summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* users/23472: Add $sysparams[procsubstpid] to zsh/systemPeter Stephenson2018-06-153-0/+15
|
* 43008: Improve code to remove privileges.Peter Stephenson2018-06-151-7/+24
| | | | | | | | Remove warnings of unused values as we always check the finally result later. Put segid before setuid as the setgid could fail if UID no longer privileged.
* 42938: name argument to math_func is not unusedEitan Adler2018-06-061-1/+1
|
* 42939: pm argument to set_registers is not unusedEitan Adler2018-06-061-1/+1
|
* 42870: another improvement of 'compset -q'Jun-ichi Takimoto2018-05-311-4/+6
| | | | zlemetall need not count the 'x' added at the cursor in set_comp_sep()
* 42809: slightly improve 'compset -q'Jun-ichi Takimoto2018-05-251-3/+6
|
* 42790: make [[:blank:]] match non-ASCII blanksStephane Chazelas2018-05-171-2/+17
|
* 42793: Always define FDT_PROC_SUBST even if not needed.Peter Stephenson2018-05-172-8/+3
| | | | This avoids proliferating #ifdef's.
* 42785: Allow redefining math function to work silently.Peter Stephenson2018-05-171-9/+4
| | | | | | Previously it failed with an error message that the function was already defined. This is inconsistent with most other aspects of shell usage.
* 42297: (e) subscript flag needs extra work with scalarsdana2018-05-141-3/+17
|
* 42234: Stephane: don't kill a process if not running.Peter Stephenson2018-05-141-3/+15
| | | | This could happen when kiiling a job. The processs might be reused.
* 42488: test cases for 42369 and address some issues in the codeOliver Kiddle2018-05-133-54/+44
|
* Nelson H. F. Beebe: 19597 (rebased 42369): return Inf, NaN etc from floating ↵Oliver Kiddle2018-05-133-51/+58
| | | | point operations instead of errors to allow non-stop IEEE 754 arithmetic
* 42760: move stack variable outside while loop scope as it is accessed in the ↵Oliver Kiddle2018-05-131-1/+1
| | | | while condition
* 42185: safety when removing separators in completiondana2018-05-111-1/+2
|
* 42101 (tweaked): assigning shell status to array was brokendana2018-05-111-2/+6
|
* 42751: Protect shell status in ZLE timed function handler.Peter Stephenson2018-05-081-0/+4
| | | | | Otherwise status from sched and other asynchronous functions could escape back to the main shell.
* unposted (branch fork_early): Fork early for pipelines.Peter Stephenson2018-05-011-82/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If executing a command not at the end of a pipeline, and not optimised in the calling code, we can fork before "prefork" substitutions, at the same point as for background commands. Move fork before our preliminary scan of arguments to find a command: in the cases of early fork we don't need this information before forking. Ensure we _exit if forked in execcmd_exec(). Rationalise use of forks and pipes. Ensure we _exit instead of returning from execcmd_exec() if we have forked. Before the optimisation code after the fork always ran to the check at the end, but that code is overkill for the logic between the early fork and the existing one. Remove old workaround to fork in caller of execcmd for current shell constructs as no longer needed with early fork below. Close input of newly created pipe on fork (destined for RHS of pipe which we never execute): this replaces a workaround from zsh-workers/32171, commit 9887fc3d7b. Set last1 on early fork as needed by some instances of shell constructs on LHS of pipeline to know they are exiting.
* 47201: fix 42355 for multiple backslashesRicardo Giorni2018-04-291-6/+6
|
* unposted: Correct process substitution buffer size in the PATH_DEV_FD codepath.Daniel Shahaf2018-04-251-1/+1
|
* 42708: fix for process substitution.Peter Stephenson2018-04-243-10/+18
| | | | | | | | | Don't close associated file descriptors in the closem() tidy up function as they should remain visible to external processes. Override if about to exit. Unit test for the failing case: note this relies on the existence of /proc/self/fd or equivalent.
* 42705: Another safety fix for pgrp reclaiming.Peter Stephenson2018-04-231-1/+2
| | | | | | Only do this if killpg(dead_pid, 0) returns -1, indicating the pgprp doesn't exist any more, else there is a race if other proceses have started using it.
* Allow short loops with "while"Peter Stephenson2018-04-231-1/+3
|
* 42684 (with extra comments): Fork early if in bg.Peter Stephenson2018-04-201-95/+135
| | | | | | | In execcmd the case of running the last command in a pipeline asynchronously for the purpose of & and &! is easy to work out, and we can avoid side effects and unnecessary execution time in the parent shell by forking earlier.
* 42686: Fix previous pgrp patch.Peter Stephenson2018-04-191-1/+2
| | | | | We shouldn't do any fix ups unless the process has actually exited.
* 42630: Improve process group handling in pipelines.Peter Stephenson2018-04-172-1/+29
| | | | | | | | | If process group leader exits, allow a newly forked process to become process leader. If a foreground job, reattach the shell to the terminal until that happens. Unblock signals when reading output for command subsitution so that we can do this reattaching immediately.
* 42650: fix 42156 for zero-sized terminalsBarton E. Schaefer2018-04-151-5/+7
| | | | Also fix harmless no-op typo from hand-applying 42636 for previous commit.
* 42636: fix GLOB_DOTS for !(RM_STAR_SILENT)Barton E. Schaefer2018-04-151-4/+5
| | | | Also fix paste-o in older log entry
* 42624 (plus test): avoid freeing memory that's still neededOliver Kiddle2018-04-121-5/+9
| | | | | This was occurring in a multiple function definition where a function name is duplicated.
* 42605: properly free the vi registers hashOliver Kiddle2018-04-073-4/+16
|
* 42601: tidy up code for set -A/+A to not increment a NULL pointer and to be ↵Oliver Kiddle2018-04-071-6/+4
| | | | more efficient
* 42607, CVE-2018-1100: check bounds on buffer in mail checkingOliver Kiddle2018-04-071-3/+5
|
* 42600: error paths for _values leaked the exclusion list arrayOliver Kiddle2018-04-071-0/+4
|
* 42597: plug memory leak found by coverityOliver Kiddle2018-04-071-1/+3
|
* 42595: remove dead code flagged by coverityOliver Kiddle2018-04-071-3/+1
|
* 42575: fix to not complete options in the argument to another optionOliver Kiddle2018-04-051-1/+1
|
* 42581(?): Fix ZLE inline history expansion.Peter Stephenson2018-04-042-3/+21
| | | | | | | Seen with magic-space. If there's a parse error in command subtitution we need to complete reading history to ensure the command line buffer is finished.
* 42560: silence sign-compare compiler warningsOliver Kiddle2018-03-301-3/+3
|
* 42539: prevent overflow of PATH_MAX-sized buffer in spelling correctionOliver Kiddle2018-03-281-5/+9
|
* 42538: Temporarily set umask for here document.Martijn Dekker2018-03-271-0/+4
| | | | Done while signals are queued.
* 42480: optimize $#var for single-byte character setsBarton E. Schaefer2018-03-251-1/+1
|
* 42519, CVE-2018-1083: check bounds on PATH_MAX-sized buffer used for file ↵Oliver Kiddle2018-03-241-0/+6
| | | | completion candidates
* 42518, CVE-2018-1071: check bounds when copying path in hashcmd()Oliver Kiddle2018-03-242-4/+4
|
* unposted: add 'static' to a file-local variableJun-ichi Takimoto2018-03-241-1/+1
|
* 42501: avoid out of bound pointer (as 42487)Jun-ichi Takimoto2018-03-243-8/+7
|
* 42487: Fix pointer problems in compctl.Peter Stephenson2018-03-211-32/+32
| | | | | Pointing off the front of a string caused warnings with gcc 7.3.0 and is somewhat murky C anyway.
* 42469: necessary repairs to 42465 found by "make check"Stephane Chazelas2018-03-182-4/+3
|
* 42465: Pass up error status from readoutput().Stephane Chazelas2018-03-152-4/+15
| | | | This improves the consistency of error reporting from $(...) constructs.
* 42453: Fix race in look up of status for wait.Peter Stephenson2018-03-121-2/+5
| | | | | | Background jobs that had just exited could still be in the table when the process had already finished and the status was recorded, causing the wrong status to be reported.
* 42365: Use .zwc file if timestamp identical to source.Martijn Dekker2018-03-051-4/+4
| | | | This can happen if the files are bundled together.