about summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* 47745: Fix [:IDENT:] vs posixidentifiersStephane Chazelas2021-03-231-1/+1
| | | | | wcsitype(c, IIDENT) should return false for non-ASCII characters when the POSIX_IDENTIFIERS option is on, not the other way round.
* users/26509: fix for r -LPeter Stephenson2021-02-181-2/+3
| | | | | fc with the -L option should ignore remote entires, rather than reading them and treating them as an error.
* 48073: Add fc -s as POSIX way of rerunning command without starting editorMartijn Dekker2021-02-171-2/+2
|
* Allow more scripts without #!Justine Tunney2021-02-161-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change modifies the zsh binary safety check surrounding execve() so it can run shell scripts having concatenated binary content. We're using the same safety check as FreeBSD /bin/sh [1]. POSIX was recently revised to require this behavior: "The input file may be of any type, but the initial portion of the file intended to be parsed according to the shell grammar (XREF to XSH 2.10.2 Shell Grammar Rules) shall consist of characters and shall not contain the NUL character. The shell shall not enforce any line length limits." "Earlier versions of this standard required that input files to the shell be text files except that line lengths were unlimited. However, that was overly restrictive in relation to the fact that shells can parse a script without a trailing newline, and in relation to a common practice of concatenating a shell script ending with an 'exit' or 'exec $command' with a binary data payload to form a single-file self-extracting archive." [2] [3] One example use case of such scripts, is the Cosmopolitan C Library [4] which configuse the GNU Linker to output a polyglot shell+binary format that runs on Linux / Mac / Windows / FreeBSD / OpenBSD. [1] https://github.com/freebsd/freebsd-src/commit/9a1cd363318b7e9e70ef6af27d1675b371c16b1a [2] http://austingroupbugs.net/view.php?id=1250 [3] http://austingroupbugs.net/view.php?id=1226#c4394 [4] https://justine.lol/cosmopolitan/index.html
* 47905: Add leading '-' to zparseopts option parsing errorsJoshua Krusell2021-02-131-4/+4
|
* 47997: Disable XTRACE around user-defined completion widgets.Bart Schaefer2021-02-111-0/+3
|
* 47895: Remove trailing spaces from "print -ac" output lines.Bart Schaefer2021-02-041-1/+1
|
* 47899: Improve error message from zparseopts.Joshua Krusell2021-02-031-1/+4
|
* 47744: Fix vi repeats with hooks in use.GammaFunction2021-01-271-0/+2
|
* 47840: make zpty module work on CygwinPeiyuan Song2021-01-201-0/+11
|
* 47704: fix scope for "private -p"Bart Schaefer2020-12-021-0/+4
|
* 47494, 47495: Add -n option to strftimeMikael Magnusson2020-10-251-2/+3
|
* 47301: Fix print -v metaficationJun-ichi Takimoto2020-10-251-1/+1
|
* Fix a race condition in zf_mkdir -pRoman Perepelitsa2020-10-231-9/+19
| | | | | | If ~/foo does not exist and `zf_mkdir -p zf_mkdir -p` is executed concurrently in multiple shells, it was possible prior to this patch for the command to fail with EEXIST.
* Unposted - fix commentBart Schaefer2020-09-131-1/+1
|
* 47364: Enable extendedglob in pattern with ${(*)name/pattern/replacement}Bart Schaefer2020-09-132-4/+16
| | | | Mikael Magnusson: 47382: Completion for 47364
* 47352 (+ extra test cases): fix %<n>K prompt expansionStephane Chazelas2020-09-101-1/+1
| | | | | | | | | | | Fixed a regression introduced by workers/30496 (5.0.3) whereby %2K would no longer be the equivalent of %K{2} (%K{green}) in prompt expansion. That was one missing case where the is_fg flag was not passed along to match_colour() after code factorisation. Add tests for the different syntax variants, using echoti as a reference.
* github #64: Fix a build-time error when building against ncurses that hadn't ↵Daniel Shahaf2020-08-281-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | been built with --enable-wgetch-events. The --enable-wgetch-events codepath is experimental (according to ncurses-6.2/INSTALL) and off by default (according to ncurses-6.2/configure.in). With that codepath disabled, the macro KEY_EVENT is not provided, which (before this commit) manifested as a build-time error: [ 245s] gcc -c -I. -I../../Src -I../../Src -I../../Src/Zle -I. -DHAVE_CONFIG_H -DMODULE -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fPIE -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -I/usr/include/ncursesw -fPIC -o curses..o curses.c [ 246s] In file included from curses.c:210: [ 246s] curses_keys.h:93:15: error: 'KEY_EVENT' undeclared here (not in a function); did you mean 'KEY_RESET'? [ 246s] 93 | {"EVENT", KEY_EVENT}, [ 246s] | ^~~~~~~~~ [ 246s] | KEY_RESET curses_keys.h is only used for setting the "kevent" output parameter of 'zcurses input' (and the associated $zcurses_keycodes special variable), so there's no harm in just leaving KEY_EVENT out of it. (That codepath deals gracefully with numeric values that don't correspond to any of the known compile-time values, as that can happen whenever the build- and run-time versions of ncurses don't provide the same set of KEY_* macros, with or without relation to that configure flag.) Reported by Martin Liska.
* 47296 (+ unposted additional tests and comments): 'repeat' loops: Let the ↵Daniel Shahaf2020-08-081-1/+1
| | | | | | repeat count use $?. It's an arithmetic expression.
* 47300: Document the EC_NODUP, EC_DUP, EC_DUPTOK triplet.Daniel Shahaf2020-08-082-3/+27
| | | | All uses reviewed; no functional change.
* unposted: comments explaining how hashtable must be createdRoman Perepelitsa2020-07-291-1/+4
| | | | See zsh-workers 46277, 46278, 46279.
* 46275: eliminate undefined behavior caused by redefinition of hashtableRoman Perepelitsa2020-07-292-55/+56
| | | | | struct hashtable has different set of data members in different translation units. This is undefined behavior.
* 46268: suppress a useless compiler warning around nice()Roman Perepelitsa2020-07-281-2/+1
| | | | | | | From nice(2): To detect an error, set errno to 0 before the call, and check whether it is nonzero after nice() returns -1.
* 46152: zsh/system: Re-allow '0' timeout in zsystem flockCedric Ware2020-07-111-3/+3
|
* 46175/0003: Fix the RM_STAR_SILENT bug from the parent commit.Daniel Shahaf2020-07-051-1/+1
|
* 46168: Update $PWD and call chpwd hook after normalizing pathMatthew Martin2020-07-031-18/+17
|
* users/24971: ${(-)var} sorts on signed integersPeter Stephenson2020-07-033-9/+27
|
* 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.