about summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* unposted (after 46068): Fix a compiler warning.Daniel Shahaf2020-06-271-1/+1
| | | | | | | The warning was: . warning: passing 'const char *' to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
* 46072 + 46136: Add the 'zle $widget -f nolast' syntax, to improve ↵Daniel Shahaf2020-06-271-2/+17
| | | | | | add-zle-hook-widget support for multiple hook functions. See workers/46004 for the use-case.
* 46100: Fix =subst before =(subst)Peter Stephenson2020-06-261-1/+1
| | | | | | This occurs with SH file expansion ordering. Add test.
* 46068 (tweaked) (was: github #57): region_highlight: Add memo= support.Daniel Shahaf2020-06-254-9/+87
| | | | | | | | | | | | | | | | This is useful when multiple plugins add region_highlight entries and subsequently want to remove only their own entries. Without this functionality, recognizing one's region_highlight entries is not trivial because the 'start' and 'end' offsets are modified by editing of $BUFFER and the highlight specification may not be unique or distinctive. The tweaks are as follows: - Change zfree() to zsfree() per workers/46070. - Remove the mem.c hunk, as it changed the signature of only one out of two alternative definitions of zsfree(). (The definition that hunk touched is the one that's not used by default.)
* 46079: Ignore double quotes in math expressions.Peter Stephenson2020-06-231-0/+2
| | | | | | | Treat as white space. This is required for compatibility and previously had no use in zsh as it generated an error.
* 46060: Fix spurious actions on exit status 130 or 131.Peter Stephenson2020-06-181-4/+7
| | | | Ensure process has taken a signal before looking for SIGINT or SIGQUIT.
* 46026: Add CLOBBER_EMPTY option.Peter Stephenson2020-06-093-5/+24
|
* users/24909: Don't clean up special file list too early.Peter Stephenson2020-06-081-1/+1
| | | | | When running a function, remove special files used for substitution after the function has run rather than before.
* typeset: Fix leaving corrupted entries in paramtabMikael Magnusson2020-06-051-3/+9
|
* 45915: fix handling of hyphens in spckword()Bart Schaefer2020-05-301-5/+11
|
* 45923 (with memory leak fixed, cf. 45924): zprof: Don't tally all anonymous ↵Daniel Shahaf2020-05-282-5/+46
| | | | | | | | | | | | | | | | | | | | | | | | | functions as though they were a single function named "(anon)". Before: % zmodload zsh/zprof % () : % () : % zprof num calls time self name ----------------------------------------------------------------------------------- 1) 2 0.08 0.04 100.00% 0.08 0.04 100.00% (anon) After: % zmodload zsh/zprof % () : % () : % zprof num calls time self name ----------------------------------------------------------------------------------- 1) 1 0.04 0.04 50.45% 0.04 0.04 50.45% (anon) [:3] 2) 1 0.04 0.04 49.55% 0.04 0.04 49.55% (anon) [:2]
* 45900: Fix issues with escaped newline in $-substitution.Peter Stephenson2020-05-231-0/+21
|
* Support ${name:offset:length} with an empty offsetMikael Magnusson2020-05-121-5/+15
|
* 45772: Restore locale on parameter scope end.Peter Stephenson2020-05-051-0/+34
| | | | Check if relevant parameters changes and if so restore system settings.
* unposted: add a comment about how to add a new resourceJun-ichi Takimoto2020-05-031-0/+7
|
* 45730: _arguments: Add the -0 flag, which makes $opt_args be populated sanely.Daniel Shahaf2020-05-032-6/+49
| | | | Also, write/extend docstrings for sepjoin() and zjoin().
* 45729: internal: Add a second parameter to zlinklist2array(), analogously to ↵Daniel Shahaf2020-05-035-15/+20
| | | | | | hlinklist2array(). Will be used in the next commit.
* 45737 (+ docs, and update the test from 45722): zstyle: When determining the ↵Daniel Shahaf2020-05-021-2/+11
| | | | weight (specificity) of a pattern, consider the number of components before anything else, as documented.
* 45708: zsh/system: Enable sub-second timeout in zsystem flockCedric Ware2020-04-203-5/+136
|
* 45660: Fix crash setting vi or emacs mode on command line.Peter Stephenson2020-04-092-8/+24
| | | | Delay setting the option until the module system is set up.
* Add SHORT_REPEAT optionMikael Magnusson2020-04-024-2/+4
|
* 45616: Remove token from count argument to repeatPeter Stephenson2020-03-261-1/+3
|
* 45583/0008: Extend tests to prove that what remains of xsymlinks() handles ↵Daniel Shahaf2020-03-251-2/+0
| | | | symlink loops gracefully.
* 45583/0007: Remove code that is now unreachable.Daniel Shahaf2020-03-251-17/+4
|
* 45583/0006: Don't use xsymlinks() in 'whence -s'.Daniel Shahaf2020-03-251-4/+14
|
* 45583/0004: Fix segfault on resolving symlink loopsDaniel Shahaf2020-03-251-3/+3
|
* 45583/0003: chrealpath: Let caller decide how the return value should be ↵Daniel Shahaf2020-03-252-6/+9
| | | | allocated.
* 45583/0002: chrealpath: Make symlink resolution optional.Daniel Shahaf2020-03-252-7/+18
|
* 45563: %z can be used for zlong in warnings and errorsPeter Stephenson2020-03-221-0/+9
|
* 45583/0009: Add end-of-options guard support to 'function -T'.Daniel Shahaf2020-03-221-4/+12
|
* 45583/0008: Add the 'function -T' syntax.Daniel Shahaf2020-03-222-5/+14
| | | | Config/version.mk was bumped in the previous commit.
* 45583/0007: WC_FUNCDEF: Add a placeholder element.Daniel Shahaf2020-03-223-2/+8
|
* 45583/0006: internal: Add some comments for orientation. No functional change.Daniel Shahaf2020-03-221-8/+8
|
* 45583/0005: internal: Document the WC_FUNCDEF data layout for anonymous ↵Daniel Shahaf2020-03-221-2/+8
| | | | functions with arguments (follow-up to 29492)
* 45583/0004: internal: Add some comments around wordcodes. No functional change.Daniel Shahaf2020-03-222-2/+13
|
* 45583/0003: internal: Add some comments around Eccstr. No functional change.Daniel Shahaf2020-03-222-6/+49
|
* 45583/0002: internal: Reduce some variables' visibility. No functional change.Daniel Shahaf2020-03-221-8/+7
|
* 45583/0001: internal: Remove a redundant assignment.Daniel Shahaf2020-03-221-1/+0
| | | | The value is overwritten five lines below, without being read in the interim.
* unposted: Deconfuse $EDITOR's balanced braces mode. No functional change.Daniel Shahaf2020-03-201-2/+3
|
* 45536: fix handling of 8bit character under C-localeJun-ichi Takimoto2020-03-171-2/+2
| | | | correctly escape unprintable 8bit character by using \M-
* Merge remote-tracking branch 'origin/master' into 5.9Daniel Shahaf2020-03-0721-638/+634
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Test/D02glob.ztst: On the "unreadable directories can be globbed (users/24619, users/24626)" test, resolve conflicts by removing the Cygwin-only skip that has been added in master, since the test is passing on this branch. This effectively reverts workers/45492. See discussion starting in workers/45504. * origin/master: unposted: Remove 'sgi', as that OpenBSD port has been discontinued. 45509: fix typos in B01cd.ztst 45490 (+45495 and a test): refactor rlimits.c github #49: Fix typo: longson should be loongson users/24710: Fix job control problem with sudo. 45492: skip test added by users/24633 on Cygwin 45488: COMP_WORDS for bash need "$@"-style quoting 45487: Missing mod_export declarations for AIX 45447: Complete vcs_info_hookadd and vcs_info_hookdel. Expose _vcs_info_hooks as a top-level helper function. 45463: test: kill: Document why we use SIGURG 45453: builtins: kill: Do not signal current process group when pid is empty 45452: builtins: kill: Add `kill ''` regression test with explicit sigspec 45451: builtins: kill: Add basic test suite github #48/0002: vcs_info git: properly detect bare repositories github #48/0001: vcs_info git: avoid warnings in bare repositories unposted: Post-release version bump unposted: Release 5.8 CVE-2019-20044: Update change log for preceding commits Update NEWS/README Add unsetopt/PRIVILEGED tests Clean up error-message white space Improve PRIVILEGED fixes (again) Improve PRIVILEGED fixes Drop privileges securely unposted: V01zmodload: Fix failing test from workers/45385 45423: _su: Improve arg handling, shell look-ups unposted: _zip: Recognise '--' 45385: Add a test for 'zmodload -Fa' preemptively disabling ("blacklisting"?) features. unposted: Test release: 5.7.1-test-3 zsh/system: Fix infinite loop in sysread _diff_options: Restore -w completion lost in workers/43351 unposted: Fix ChangeLog typo. 45368: Add tests for workers/45367's issue about double slashes in 'cd -P' and /home/daniel/in/zsh. 45373: Fix ERR_EXIT bug in else branch of if. 45372: Record a symlink loop bug involving :P 45365: _git: Fix __git_recent_branches for the case when a commit has an empty message 45343: Queue signals around arithmetic evaluations 45344: Document where third-party completion functions should be installed. 45345: internal: ztst.vim: Fix highlighting of zsh comments in test payload unposted: internal: Add some comments and fix indentation. No functional change. 45340: internal: Document the difference between paramtab and realparamtab. 45332: _git: add completion for git-version _brace_parameter: add missing \ Conflicts: ChangeLog Test/D02glob.ztst Test/V01zmodload.ztst
| * 45490 (+45495 and a test): refactor rlimits.cJun-ichi Takimoto2020-03-063-560/+263
| | | | | | | | | | Use a table of known resouces instead of generating rlimits.h by rlimits.awk.
| * users/24710: Fix job control problem with sudo.Peter Stephenson2020-02-273-6/+14
| | | | | | | | | | | | | | If we use kill to test for continued existence of a process group, we should check on failure that the error is ESRCH, as EPERM indicates the group still has memebers but running privileged so should be left alone.
| * 45487: Missing mod_export declarations for AIXPeter Stephenson2020-02-246-6/+6
| |
| * 45453: builtins: kill: Do not signal current process group when pid is emptyChris Down2020-02-181-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following case was encountered in the wild: % zsh; echo "$?" % trap 'exit 5' TERM % kill '' 5 This behaviour seems more likely to be the result of bugs in programs (e.g. `kill -9 "$unsetvar") rather than being desirable behaviour to me. It also seems unintentional judging by the code and documentation, since it comes about as a result of the fact that: - `isanum` returns true for empty strings (since an empty string technically only consists of digits and minuses...); - `atoi`, when passed a pointer to an invalid number, returns 0; - `kill(0, signal)` sends the signal in question to all processes in the current process group. There are (at least) two ways to solve this issue: 1. Add special handling to `kill` to avoid this case. See this patch[0] for a version that does that. 2. Change how isanum behaves. Since the only two call sites that use it both seem like they should handle the case where the input char array is empty, that seems like a reasonable overall change to me.[1] After this patch: % trap 'exit 5' TERM % kill '' kill: illegal pid: The regression test for `kill` without a sigspec is also included in this commit, as previously it's not possible to test it trivially as it would still kill the test runner in expected-to-fail mode; see discussion in workers/45449. 0: workers/45426: https://www.zsh.org/mla/workers/2020/msg00251.html 1: The other call site using isanum() is the fg builtin, but in that case we just fail later since we can't find any job named '', so no big deal either way. It's the kill case which is more concerning.
| * Clean up error-message white spacedana2020-02-141-9/+21
| |
| * Improve PRIVILEGED fixes (again)dana2020-02-141-49/+43
| | | | | | | | | | | | | | | | * Pass RGID instead of passwd GID to initgroups() * Clean up #ifdefs, avoid unnecessary checks * Flatten conditions
| * Improve PRIVILEGED fixesDaniel Shahaf2020-02-144-99/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix retval handling in bin_setopt() - Don't skip_setuid / skip_setgid. It's not our place to optimize away noops (that might not even _be_ noops; they might change the saved uid…). - Remove HAVE_* guard checks around functions that are used unguarded elsewhere. - Use bsd-setres_id.c from OpenSSH to provide setresuid() / setresgid() everywhere, and thus simplify the ifdef soup. Fix some preëxisting bugs in the macro definitions of setuid() (do we still need that one?). - Fix zwarning() format codes for variadic arguments type safety - Restored a comment from HEAD - Fix failure modes around initgroups() - Compared privilege restoration code with OpenSSH's permanently_drop_uid() and updated as needed - Add E01 PRIVILEGED sanity checks
| * Drop privileges securelySam Foxman2020-02-141-40/+121
| |
| * zsh/system: Fix infinite loop in sysreadRoman Perepelitsa2020-02-061-1/+1
| |