Barton E. Schaefer
3b6002e53d
39437: use list_pipe_pid in assignment for clarity
2016-09-27 08:48:49 -07:00
Peter Stephenson
e35dcae40f
39436: Pass on status of SIGINT better.
...
Set lastval to 128 + SIGINT on interrupt.
Don't execute builtin if already interrupted at that point.
2016-09-25 19:18:43 +01:00
Peter Stephenson
759e5912fd
39435: Further fix for pgrp of funny pipelines.
...
Don't set gleader of SUBJOB at the point of creation if the
SUPERJOB has no processes yet.
2016-09-25 17:14:24 +01:00
Barton E. Schaefer
c8de0af359
39381: handle save/restore of variable values when "typeset"-related reserved words are prefixed by an assignment
2016-09-19 00:26:10 -07:00
Peter Stephenson
c355a5f41f
39362: another race with pipeline handling.
...
When forking the shell to control the right hand side, the
forked subshell now always starts its own process group, to
avoid getting a spurious additional SIGSTOP.
2016-09-16 21:55:55 +01:00
Peter Stephenson
327f3dd3ad
39359: Fix remaining race with orphaned subjob.
...
When shell is forked to run right hand side of pipieline it should
use its own PID as process group if the left hand side of the
pipeline has already exited.
2016-09-16 17:23:12 +01:00
Peter Stephenson
01ae64c0d7
39331: Reparent subjob on fork with exited superjob.
...
Fixes case of
v() { { vim - } always { true } }
ls | v
^Z
fg
Tentative fix: still a race at exit where zsh forked by ^Z
is stopped when restarted.
2016-09-16 09:39:33 +01:00
Peter Stephenson
23c1c774b9
39305: Fix error handling after parse for here document.
...
Keep the error status the same as before, but also retain
the interrupt status if that was non-zero.
2016-09-13 09:37:49 +01:00
Stephane Chazelas
8ce98c75f5
39125: More care needed decrementing SHLVL on exec.
...
Not needed in subshell.
2016-08-31 10:21:00 +01:00
Barton E. Schaefer
b312abc93b
39104: do not hash relative paths in findcmd()
2016-08-26 15:05:15 -07:00
Daniel Shahaf
f026a4dc12
38991: Make 'whence -v autoloaded-function' shows the defining filename.
...
This may also fix a problem whereby the %x prompt escape evaluated to
a function name rather than a filename, since %x is also backed by
scriptfilename.
2016-08-05 12:37:26 +00:00
Daniel Shahaf
7badf262c1
38653 + 38657: 'functions -T' tracing: recurse into anonymous functions.
2016-06-13 08:53:18 +00:00
Barton E. Schaefer
5ee05cf935
38350 (cf. Glenn Smith: 38348): Remove-all warning should warn about the root directory as well
2016-04-26 10:40:56 -07:00
Peter Stephenson
f4dfca490c
38114: Fix hang using ^Z with command subst.
...
In subshells started to perform substitutions disable signals
that require interactive handling.
2016-03-09 09:51:14 +00:00
Jun-ichi Takimoto
a4020e10a3
37868: add 'static' to file local variables
2016-02-03 01:25:33 +09:00
Barton E. Schaefer
5c17f9ab3f
37473: check for cshnullglob in command position.
2016-01-01 13:01:16 -08:00
Barton E. Schaefer
fc344465f2
37435 (+ fix typo): allow execution of empty files as "sh" scripts
2015-12-25 00:31:32 -08:00
Barton E. Schaefer
a554c7403a
37434: POSIXBUILTINS "command" should prevent shell exit on errors from special builtins
2015-12-25 00:26:26 -08:00
Peter Stephenson
e40a14c5e4
37202: suppress WARN_CREATE_GLOBAL warnings after a fork
2015-12-04 10:44:33 +00:00
Peter Stephenson
04479a56e0
unposted: fix init_io() calls in previous change
2015-12-04 09:42:35 +00:00
Peter Stephenson
830d54e629
37092: make nested ${(P)name} properly refer to parameter on return
2015-11-11 18:04:20 +00:00
Barton E. Schaefer
827d360776
36853: replace pushheap/popheap by NEWHEAPS/OLDHEAPS in doshfunc() to optimize memory management
...
Includes re-indentation that was not done in the posted patch.
2015-10-14 21:46:26 -07:00
Barton E. Schaefer
cb26e11c70
unposted: back out 36707, add test case for 36766
2015-10-03 22:11:09 -07:00
Barton E. Schaefer
b581c3fece
36766: fix incorrect reset of noerrexit during "if" conditions
2015-10-03 19:40:14 -07:00
Barton E. Schaefer
2bf4f667fb
36707: distinguish ERR_RETURN value of retflag so that execif() can ignore it in the test sublist
2015-09-30 20:01:13 -07:00
Daniel Shahaf
2654cb43f6
36651: WARN_CREATE_GLOBAL += math expressions
...
Without this, '() { (( x=42 )) }' and '() { for (( i=0; … )) }' wouldn't warn
about $x and $i, respectively, being created global.
2015-09-27 23:52:25 +00:00
Peter Stephenson
cdbd1b2581
36378: skip directories when looking for files to autoload
2015-09-02 20:19:28 +01:00
Barton E. Schaefer
128bf385b1
36104: change order of child_block() and dont_queue_signals() to resolve yet another race condition
2015-08-11 08:55:23 -07:00
Barton E. Schaefer
9958684574
36022 fix bug that some loop constructs could not be interrupted, revise signal queueing
...
There are two underlying ideas here: (1) Keeping signals queued around
anything that's doing memory management (including push/pop of the heap)
has become crucial. (2) Anytime the shell is going to run a command, be
it buitin or external, it must be both safe and necessary to process any
queued signals, so that the apparent order of signal arrival and command
execution is preserved.
2015-08-09 16:13:52 -07:00
Peter Stephenson
28a962f557
35849: close fd's from process substitution after fork
...
Leaving these hanging in parent could cause deadlock: test added.
2015-07-23 09:34:11 +01:00
Peter Stephenson
3af55c858f
35751: Fix ERR_RETURN and ERR_EXIT in "else"
2015-07-09 14:59:20 +01:00
Peter Stephenson
7708849b21
35655: APPEND_CREATE option for POSIX copmatible NO_CLOBBER
2015-06-29 19:01:31 +01:00
Barton E. Schaefer
ef08028346
35634: handle failure of gettempname() in namedpipe()
2015-06-27 12:50:40 -07:00
Peter Stephenson
b16d754d9c
35604: create empty arrays in typeset with array=()
2015-06-25 17:01:48 +01:00
Peter Stephenson
39b28980f3
various posts: Implement assignment parsing for typeset.
...
Typeset assignments now work like raw assignments except
for no "+=" and no GLOB_ASSIGN.
Documented in typeset builtin doc and mentioned in release notes.
Tests to ensure basic sanity.
Enabled by default, can be turned off by "disable -r" with typeset
family of commands.
2015-06-24 10:21:12 +01:00
Barton E. Schaefer
2cfe892414
35493: erase $_ when the command line is an assignment
2015-06-16 17:03:39 -07:00
Mikael Magnusson
4dc4e23376
GLOB_ASSIGN should only affect scalar assignments
2015-06-02 16:09:35 +02:00
Peter Stephenson
2b08d0ed67
35318: POSIX_BUILTINS behaviour for getopts.
...
It needs to keep OPTIND, as well as the index within the
string pointed to by OPTIND, global in this case.
2015-05-28 18:32:39 +01:00
Peter Stephenson
2f6a8a6c6c
Tweak test for function level of exit.
...
Sometimes local level jumps so we need an inequality instead
of an equality.
2015-05-22 23:37:45 +01:00
Peter Stephenson
ec57c91b58
users/20203: nested functions in always blocks when exit pending
2015-05-13 16:17:04 +01:00
Peter Stephenson
c96a993d51
34989: AUTO_CD needs to call cd --.
...
Otherwise directories looking like options do the wrong thing.
2015-04-28 20:42:26 +01:00
Peter Stephenson
df5115a741
34979: Preserve job text when doing shell job fix.
...
This handles list_pipe_text in execlist() along with other
variables that are saved and restored and, in the special
case of source, cleared.
2015-04-28 09:22:37 +01:00
Peter Stephenson
e0cdf39fd9
34955: save and restore list_pipe_job with its friends
...
This is needed to stop source() messing up job control.
2015-04-24 16:34:51 +01:00
Peter Stephenson
3bf8cab82e
34900: assignment before an "exec".
...
Without POSXIBUILTIN: restore after, so we only get side effects.
With POSXIBUILTIN: keep set variable
2015-04-15 21:16:17 +01:00
Peter Stephenson
a2c579050f
34887: Fix POSIX_BUILTINS with assignment.
...
In the form
var=val command special-builtin-or-func
the var is restored after execution, unlike the case where "command"
is absent.
Clear up case in code that handles this.
Add tests.
2015-04-15 09:44:19 +01:00
Barton E. Schaefer
a4ff8e6957
34590: queue_signals() around more scopes that manipulate global state
2015-02-20 18:45:36 -08:00
Peter Stephenson
8ebe18c081
34530: PRINT_EXIT_VALUE with anonymous functions.
...
Simpler fix, avoiding structural changes.
2015-02-16 12:37:38 +00:00
Peter Stephenson
daa7d99702
34546: further $_ with anon function fix.
...
Also add tests.
2015-02-13 21:31:31 +00:00
Peter Stephenson
7e6faf7237
34519: $_ for arguments of anonymous function
2015-02-12 19:48:50 +00:00
Barton E. Schaefer
7398fea059
34514: Back out 34485, an alternate solution needs to be worked out.
...
(Tweaked to keep the unrelated hunk of the E01 test.)
2015-02-12 09:27:53 -08:00