about summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* Rationalise use of forks and pipes. fork_earlyPeter Stephenson2018-04-201-63/+16
| | | | | | | | | | | | | | | | | 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.
* Ensure we _exit if forked in execcmd_exec().Peter Stephenson2018-04-201-2/+28
|
* Make early fork even earlier.Peter Stephenson2018-04-201-24/+25
| | | | | | It was after our preliminary scan of arguments to find a command. Actually, in the cases of early fork we don't need this information before forking.
* 42693: Fork early for pipelines.Peter Stephenson2018-04-201-3/+4
| | | | | | | 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.
* 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.
* 42411: Assume current C librarires handle free(NULL)Taylor West2018-03-041-4/+2
|
* 23180: Fix expand-or-complete with ~[...].Peter Stephenson2018-02-261-0/+9
| | | | The square brackets shouldn't be treated as wildcards.
* 42401: workaround for gcc -foptimize-strlen oddit.Peter Stephenson2018-02-261-1/+7
| | | | Use realloc(NULL, ...) instead of malloc in zsh-mem calloc().
* 42362: protect REPORTTIME logic from bad statusPeter Stephenson2018-02-171-0/+3
|
* 42355: Fix use of backslashes on here doc input.Peter Stephenson2018-02-121-1/+10
| | | | | Handling of white space in particular was confusing and inconsistent with other shells.
* 42332: Special case unsigned printf formats.Peter Stephenson2018-01-312-1/+65
| | | | | For constants we can avoid a conversion to signed by examining the expression before passing to math eval.
* 42322 (tweaked): Fix interactive_comments history with just a coment.Peter Stephenson2018-01-242-1/+13
| | | | | Don't discard the line from the history merely because it produced no synactic words.
* 42313: avoid null-pointer deref when using ${(PA)...} on an empty array resultJoey Pabalinas2018-01-231-1/+1
|
* 42243: Free stuff properly in zsh/pcre moduleMikael Magnusson2018-01-201-1/+34
|
* 42285: off by one fix in multiple promptsWarepire2018-01-161-1/+1
|
* 42136: empty string check in %~ / %C prompt expansionsBarton E. Schaefer2018-01-141-1/+1
|
* 42043: ZSH_DEBUG_CMD should not WARN_CREATE_GLOBALBarton E. Schaefer2018-01-141-1/+3
|
* 42245: Abort last word on interactve comment.Peter Stephenson2018-01-083-1/+24
| | | | Last recorded word should be the previous one.
* 42164: fix digits in format escapes in completion listingsdana2018-01-041-3/+3
|
* Avoid crash copying empty hash table.Stephane Chazelas2018-01-041-4/+7
| | | | Visible with typeset -p.
* 42188: Close flock descriptor in failure casesSebastian Gniazdowski2018-01-041-3/+11
|
* 42156: new CHECK_RUNNING_JOBS option demanded by bash groupiesPeter Stephenson2017-12-224-3/+6
| | | | | | | Also new job options. Also suppress debug error if rows or columns are reported as zero as this is normal without a physical terminal.
* 33395: Improvments for function managment.Peter Stephenson2017-12-222-1/+7
| | | | | | | | Functions defined inside other fucntions needs file line number adding. Particularly useful for anonymous fucntions. Add flag to indicate a function is anonymous. Done up to now by comparing the name to a pointer but this is more consistent.
* dana: 42145: Fix additional completion cases with option arguments.dana2017-12-201-1/+3
|