summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* 43409: Fix process group setting in main shell.Peter Stephenson2018-09-072-21/+37
| | | | | | | | | A newly forked subshell now reports back the process group it will be using for the main shell to record. This prevents an error where the shell incorrectly thought an exiting process owned the terminal and so grabbed it back, putting the foreground process into the background.
* CVE-2018-0502, CVE-2018-13259: Fix two security issues in shebang line parsing.Anthony Sottile2018-09-031-16/+20
| | | | | | See NEWS for more information. Patch by Anthony Sottile and Buck Evan.
* Don't handle ZLE functions for single key.Peter Stephenson2018-09-034-16/+16
| | | | | | For read -k and read -q where we use ZLE, we just want a single key and not full ZLE processing. So don't handle timed ZLE functions when preforming the read.
* 43358: enforce consistent patchlevel formOliver Kiddle2018-08-311-2/+2
|
* 43294: Add ZLE_RECURSIVE parameter.Peter Stephenson2018-08-172-0/+19
|
* 43275: Add log2 to match funcdana2018-08-131-0/+10
|
* 43264: fix ${+assoc[nonexistent]} with KSH_ARRAYSPeter Stephenson2018-08-091-1/+1
|
* 43261: Fix unary minus with base.Peter Stephenson2018-08-081-2/+13
| | | | | Apply unary minus to a complete lexical constant rather than the first component that comes along.
* 43227: fix memory leaks in term{cap,info}.cJun-ichi Takimoto2018-08-013-20/+45
|
* 43219 (except term{cap,info}.c): fix several memory leaksJun-ichi Takimoto2018-07-316-4/+11
|
* 43225: Recalculate ZLE timeout.Peter Stephenson2018-07-301-0/+2
| | | | Needed when looping owing to having handled a special fd.
* 43156, 43157: Need to allow for extra space in gethere().Peter Stephenson2018-07-101-3/+5
| | | | The point can now increment twice per iteration.
* users/23531: Error exit/return fixes.Peter Stephenson2018-07-091-0/+17
| | | | | | | | | | Fix regression with trap on left hand side of pipe. Fix forced return from shell structure within nested function. Fix tests exiting too early. Add new test case.
* 43091: In the (u) glob qualifier, expand and correct "unknown user" error ↵Daniel Shahaf2018-06-251-2/+4
| | | | messages.
* 43084: Variable warning suppression enhancements.Peter Stephenson2018-06-251-3/+5
| | | | | | Add vared -g option along the lines of typeset -g. Set reply safely in zsh_directory_name_cdr.
* 43075: Support nanosecond-precision time formattingdana2018-06-206-59/+81
| | | | | | | | * Teach ztrftime() %9. and %N for nanoseconds * Update prompt expansion to pass sub-second times for time formatting * Update zsh/stat to pass sub-second times for atime/mtime/ctime Patch heavily based on Oliver's earlier work @ workers/24059
* 43077: Fix shift builtin status.Peter Stephenson2018-06-201-1/+6
| | | | | If the math evaulation to get the shift count failed the status wasn't passed back from the builtin.
* 433029: Testing signal return type is no longer neededEitan Adler2018-06-183-3/+3
|
* 43039: Mark functions_source (et al.) for auto-loadingdana2018-06-172-1/+2
|
* 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