summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-04-1047794: exec: run final pipeline command in a subshell in sh modebrian m. carlson4-4/+36
zsh typically runs the final command in a pipeline in the main shell instead of a subshell. However, POSIX specifies that all commands in a pipeline run in a subshell, but permits zsh's behavior as an extension. The default /bin/sh implementations on various Linux distros and the BSDs always use a subshell for all components of a pipeline. Since zsh may be used as /bin/sh in some cases (such as macOS Catalina), it makes sense to have the common sh behavior when emulating sh, so do that by checking for being the final item of a multi-item pipeline and creating a subshell in that case. From the comment above execpline(), we know the following: last1 is a flag that this command is the last command in a shell that is about to exit, so we can exec instead of forking. It gets passed all the way down to execcmd() which actually makes the decision. A 0 is always passed if the command is not the last in the pipeline. […] If last1 is zero but the command is at the end of a pipeline, we pass 2 down to execcmd(). So there are three cases to consider in this code: • last1 is 0, which means we are not at the end of a pipeline, in which case we should not change behavior. • last1 is 1, which means we are effectively running in a subshell, because nothing that happens due to the exec is going to affect the actual shell, since it will have been replaced. So there is nothing to do here. • last1 is 2, which means our command is at the end of the pipeline, so in sh mode we should create a subshell by forking. input is nonzero if the input to this process is a pipe that we've opened. At the end of a multi-stage pipeline, it will necessarily be nonzero. Note that several of the tests may appear bizarre, since most developers do not place useless variable assignments directly at the end of a pipeline. However, as the function tests demonstrate, there are cases where assignments may occur when a shell function is used at the end of a command. The remaining assignment tests simply test additional cases, such as the use of local, that would otherwise be untested.
2021-04-1047913: implement CASE_PATHS option to make NO_CASE_GLOB more sensibleBart Schaefer5-1/+31
2021-04-10unposted: README: Document incompatibility caused by workers/43928dana2-0/+7
2021-04-1048338: _git: Support case-insensitive path matchingdana2-3/+13
2021-04-0948432 and enable test: fix quotiing of zstyle -L for zstyle -ePeter Stephenson3-2/+9
2021-04-0948378: complete compadd options for other completion functionsOliver Kiddle2-37/+87
2021-04-0948437: fix pid completion when cursor is in the middle of the lineOliver Kiddle2-2/+5
2021-04-0947786: prepare for autoconf 2.70Felipe Contreras3-56/+59
2021-04-0947785: remove deprecated autoconf functionsFelipe Contreras5-40/+12
STDC_HEADERS and TIME_WITH_SYS_TIME are deprecated.
2021-04-0848416: update _gcore for macOS and GNUJun-ichi Takimoto2-3/+18
2021-04-0848410: FAQ, METAFAQ: Mention zsh-security@.Daniel Shahaf3-1/+15
2021-04-0848379: Make the parameter expansion subscript flags parse error message, ↵Daniel Shahaf3-3/+34
"error in flags", identify the location of the parse error.
2021-04-0848321 (tweaked per thread): _perl_modules: Don't assume ${words[1]} to be ↵Daniel Shahaf2-5/+11
either "perl" or "perldoc" Also, correct an always-true condition guarding the fallback @INC codepath.
2021-04-0748425: Add an XFail test for a 'zstyle -L' escaping bug (workers/48424).Daniel Shahaf2-0/+14
2021-04-0648391: fix display problem in menu-completeJun-ichi Takimoto2-1/+4
Take account of the trailing file type character even when '-d disp' is given to compadd.
2021-04-0648389: getkeystring() should not return ptr to local varJun-ichi Takimoto3-9/+36
Now it returns NULL if called with GETKEY_SINGLE_CHAR and next character is not found. Caller must check the return value.
2021-04-06users/26579: changes from review including parameter expansion to replace awkMarc Chantreux2-13/+20
2021-04-0648414: quote closing bracket to adapt for change in 43928Oliver Kiddle2-1/+4
2021-04-0648413: Fix _expand completion testMarlon Richert3-7/+10
2021-04-06unposted: add several references to bugs in old list postsOliver Kiddle2-1/+11
2021-04-05unposted: FAQ: Move the 'The mailing lists have moved' notice to a more ↵Daniel Shahaf2-3/+8
appropriate place.
2021-04-0447784: silence a compiler waring from pattern.cFelipe Contreras2-1/+4
2021-04-0448218 (+ 48354): various improvements for _gccJacob Gelbman2-989/+2057
2021-04-0347510: drop code that avoided termcap for named coloursOliver Kiddle3-44/+16
The inconsistency caused test failures where TERM is e.g. rxvt-unicode. This also makes a couple of bits available in zattr by removing flags indicating whether to use termcap which is not an attribute as such.
2021-04-0348356: clarify (the intended) behaviour for the two anchor forms of matching ↵Oliver Kiddle2-2/+12
control
2021-04-01unposted: BUGS: Add 39319, a named-file process substitution cleanup bug.Daniel Shahaf2-0/+7
2021-04-0148202 + 48366: Fix handling of NUL bytes in zexpandtabs multibyte versionMikael Magnusson3-5/+15
2021-03-31github #74: Drop vcsh completions, maintained upstreamCaleb Maclennan2-89/+3
See discussion on upstream project here: https://github.com/RichiH/vcsh/issues/270
2021-03-3148214: add file types to _expand completions, so they can be colored through ↵Marlon Richert3-4/+28
complist
2021-03-3148192: Fix _openstack completion for new style clientsSyphdias2-53/+67
2021-03-31users/26557: add bookmarks support and remove the header from the final list ↵Marc Chantreux2-2/+21
in surfraw completion
2021-03-2947561 (the git and cvs parts) (compare 44919 + 44920): vcs_info internals: ↵Aleksandr Mezin5-13/+28
cvs, git: Set ${vcs_comm[basedir]} like all other backends do. That doesn't affect anything, not even other vcs_info internals; it's just for consistency across backends.
2021-03-2947737: _zstyle: Fix option completion when positional arguments are already ↵dana2-2/+8
present (regression from workers/39659 (commit ae3b675ce6e4ac62451ea08169c2b4dc45cf533b)) The following case: LBUFFER='zstyle -' RBUFFER=' foo bar' Before this patch, completed 'context pattern' (from the first positional argument). With this patch, completes options, which is correct.
2021-03-29unposted: ChangeLog: Fix X-Seq numbers for the 39657, 39658, 39659 patch series.Daniel Shahaf1-2/+5
2021-03-29unposted: docs: _arguments: Fix a typo in the example.Daniel Shahaf2-1/+6
2021-03-2948166: add completion for ctags language optionsJacob Gelbman2-199/+249
2021-03-2848210: Introduce new completion for setpriv(1) on LinuxArseny Maslennikov2-0/+110
2021-03-2848212: Introduce new completion for Linux task capabilitiesArseny Maslennikov2-0/+68
2021-03-2848231: add missing git --pretty formats and improve descriptionsŠtěpán Němec2-7/+12
2021-03-2848230, 48233 (Jun T): completion of dtrace probes and runtime optionsOliver Kiddle2-38/+154
2021-03-2848216: Fix broken Y01 test from workers/48180dana2-0/+8
2021-03-2648131/0004: FAQ: 3.31: RearrangeDaniel Shahaf2-14/+21
2021-03-2648131/0003: FAQ: 3.31: Move two paragraphs unchanged, reordering themDaniel Shahaf2-14/+20
Factored out from the next patch for readability of the diff. The answer, as it stands in this commit, doesn't flow correctly. In order to keep the diffs small and easy to follow, this commit simply adds a TODO to record this issue, a TODO which is fixed by the next commit in this series (the child of this commit). Thus, a request: DEAR PEOPLE FROM THE FUTURE: Please don't create new branches off this commit; create them off the parent commit or off the child commit instead. Thank you.
2021-03-2648131/0002: FAQ: 3.31: Tweak summary paragraphDaniel Shahaf2-2/+5
2021-03-2648131/0001: FAQ: 3.31: Add a one-sentence summaryDaniel Shahaf2-0/+7
2021-03-23unposted: Improve documentation and add regression test for workers/47745dana3-1/+12
2021-03-2347745: Fix [:IDENT:] vs posixidentifiersStephane Chazelas2-1/+6
wcsitype(c, IIDENT) should return false for non-ASCII characters when the POSIX_IDENTIFIERS option is on, not the other way round.
2021-03-1748180: Start menu selection with select=long-list in menu styleMarlon Richert3-1/+41
2021-03-0748147/0002: zmathfunc: Fix bug where the exit code would be non-zero if the ↵Daniel Shahaf3-3/+13
expression evaluted to zero.
2021-03-0748147/0001: tests: Add a unit test for zmathfunc and a regression test for ↵Daniel Shahaf2-0/+28
workers/48146 affecting it.