<feed xmlns='http://www.w3.org/2005/Atom'>
<title>zsh/Src/exec.c, branch 5.4</title>
<subtitle>[no description]</subtitle>
<id>http://git.sudomsg.com/mirror/zsh/atom/Src/exec.c?h=5.4</id>
<link rel='self' href='http://git.sudomsg.com/mirror/zsh/atom/Src/exec.c?h=5.4'/>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/'/>
<updated>2017-07-27T08:22:04Z</updated>
<entry>
<title>41464, 41466: With POSIX_BUILTINS, exec only executes sexternal commands.</title>
<updated>2017-07-27T08:22:04Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-07-26T15:56:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d4b94b5e8388c744a1d879fecb5af957b170c4c1'/>
<id>urn:sha1:d4b94b5e8388c744a1d879fecb5af957b170c4c1</id>
<content type='text'>
Document the default behaviour and add a test.
</content>
</entry>
<entry>
<title>41317: use heap allocation in getoutputfile() to plug memory leak</title>
<updated>2017-06-19T23:06:38Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2017-06-19T23:06:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a5ed661f256b424a2db60b9dbacadc94fe78d843'/>
<id>urn:sha1:a5ed661f256b424a2db60b9dbacadc94fe78d843</id>
<content type='text'>
Heap is usable ever since addfilelist() of workers/31528 (commit 3c573222).
</content>
</entry>
<entry>
<title>41043: Close pipes in shell when disowning background job.</title>
<updated>2017-05-03T10:30:15Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-05-03T10:30:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=21b195562a54005b4341a037d2c02078787b7f2a'/>
<id>urn:sha1:21b195562a54005b4341a037d2c02078787b7f2a</id>
<content type='text'>
This was missing in the case of &amp;,, causing a file descriptor leak.
</content>
</entry>
<entry>
<title>41020: Fix "command -p"; "-p" was incorrectly left in command arguments</title>
<updated>2017-04-28T09:22:43Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-04-28T09:20:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ed4e37e45c2f5761981cdc6027a5d6abc753176a'/>
<id>urn:sha1:ed4e37e45c2f5761981cdc6027a5d6abc753176a</id>
<content type='text'>
Also add tests for known precommand modifier issues.
</content>
</entry>
<entry>
<title>41012: Fix premature exit from nested function in EXIT trap.</title>
<updated>2017-04-27T17:56:18Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2017-04-27T17:56:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d7110d8f01cae8c8d51c7abd0255f533cd8b8623'/>
<id>urn:sha1:d7110d8f01cae8c8d51c7abd0255f533cd8b8623</id>
<content type='text'>
Also add check so we don't delay an exit if we were already in
an EXIT trap for the main shell, as we should in that case leave
immediately.
</content>
</entry>
<entry>
<title>41008: Handle expansions for precommand modifiers</title>
<updated>2017-04-26T08:44:38Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-04-26T08:44:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=408b92b168078a338f5fc2c2f95f39f8aa8e5f67'/>
<id>urn:sha1:408b92b168078a338f5fc2c2f95f39f8aa8e5f67</id>
<content type='text'>
</content>
</entry>
<entry>
<title>40933: Ensure we get job text in sourced files.</title>
<updated>2017-04-04T17:54:10Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2017-04-04T17:54:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8b5102ccf5f5b240ab35646c2d72a22c32c4b916'/>
<id>urn:sha1:8b5102ccf5f5b240ab35646c2d72a22c32c4b916</id>
<content type='text'>
This was turned off explicitly as it was assumed not to be needed,
but it is when code in a sourced file is suspended.

We'll need to see if this makes start up inefficient.
</content>
</entry>
<entry>
<title>40796: MAGIC_EQUAL_SUBST not needed with parsed assignment.</title>
<updated>2017-03-09T09:52:23Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-03-09T09:52:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=64559abc1fdd375e5672a03c29c20a7a49259e29'/>
<id>urn:sha1:64559abc1fdd375e5672a03c29c20a7a49259e29</id>
<content type='text'>
If typeset family builtins are recognised as keywords then the value
is handled as a separate expansion and we don't need the old
magic behaviour, even if the option is set.
</content>
</entry>
<entry>
<title>40760: Always tokenize unquoted - to Dash.</title>
<updated>2017-03-07T10:43:58Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-03-07T10:43:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f3f8537cfa05414ad14494e809d9ebfeef86ebbc'/>
<id>urn:sha1:f3f8537cfa05414ad14494e809d9ebfeef86ebbc</id>
<content type='text'>
This fixes use of pattern match character ranges in unusual contexts.

Attempt to detect a tokenized - in cases where we don't care.
</content>
</entry>
<entry>
<title>40654: exit cleanly from special POSIXBUILTINS in subshells</title>
<updated>2017-03-04T23:25:17Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2017-03-04T23:25:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5e61eaf855dc4bc94c35e9e950fb2e1d7f88d5af'/>
<id>urn:sha1:5e61eaf855dc4bc94c35e9e950fb2e1d7f88d5af</id>
<content type='text'>
This patch overloads the zsh_subshell counter which is meant for $ZSH_SUBSHELL, but no one has suggested a working alternate test.
</content>
</entry>
<entry>
<title>40576 (tweaked): entersubsh():  unblock any signals that were blocked for trap handling</title>
<updated>2017-02-20T21:26:49Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2017-02-20T00:45:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9f447578f03b4c5040045a15808511e1d3c9919e'/>
<id>urn:sha1:9f447578f03b4c5040045a15808511e1d3c9919e</id>
<content type='text'>
Also small improvement to loop that resets trap handlers
</content>
</entry>
<entry>
<title>40391: Add WARN_NESTED_VAR option and functions -W.</title>
<updated>2017-01-23T09:50:57Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-01-23T09:50:57Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c861b17bbf002129f29e22ab625fd3516ba792a2'/>
<id>urn:sha1:c861b17bbf002129f29e22ab625fd3516ba792a2</id>
<content type='text'>
These are companions to WARN_CREATED_GLOBAL, warning when a variable
from an enclosing scope is altered.
</content>
</entry>
<entry>
<title>40353 with tweaks to whence -v: extend directory cache use.</title>
<updated>2017-01-16T10:31:56Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-01-16T10:31:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f90a0447aada3ad2fa114210c62b855a3e60cb1d'/>
<id>urn:sha1:f90a0447aada3ad2fa114210c62b855a3e60cb1d</id>
<content type='text'>
Now used for all autoloaded functions after load, including those
where the file was found along fpath, reducing duplication of
directory names.
</content>
</entry>
<entry>
<title>40342: Add directory name cache for autoload file paths.</title>
<updated>2017-01-12T20:56:20Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2017-01-12T20:56:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=178e62dbfe464b56e3f12b01a159781d39b7bd85'/>
<id>urn:sha1:178e62dbfe464b56e3f12b01a159781d39b7bd85</id>
<content type='text'>
This renders "autoload /blah/blah/*" as efficient as use of
fpath.
</content>
</entry>
<entry>
<title>40335: More care with autoload function path.</title>
<updated>2017-01-12T13:54:29Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-01-12T13:54:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=33799ae2b00c09445e2e47720bc740ec434416e4'/>
<id>urn:sha1:33799ae2b00c09445e2e47720bc740ec434416e4</id>
<content type='text'>
If doing "autoload -X", the path present might actually be location
of file containing the function with the autoload -X.  Add
an explicit flag to say it's a directory for autoload.
</content>
</entry>
<entry>
<title>unposted: more care with shell function filename.</title>
<updated>2017-01-11T12:11:22Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-01-11T12:11:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=47b7f2adef9d7e399af9d06a67b4db1ad55d4f32'/>
<id>urn:sha1:47b7f2adef9d7e399af9d06a67b4db1ad55d4f32</id>
<content type='text'>
When updating shfunc structure to change filename we should be
careful to free whatever's there already, we may now be the
directory in which to find the function definition.  After loading
the field contains the full name of the file.
</content>
</entry>
<entry>
<title>Add features associated with autoloading a function using an absolute</title>
<updated>2017-01-11T11:26:13Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2017-01-11T11:26:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f26d1ba6b01a358c83f28219c7a01e546e84d2ee'/>
<id>urn:sha1:f26d1ba6b01a358c83f28219c7a01e546e84d2ee</id>
<content type='text'>
path.

-d defaults to normal fpath

-r remembers the path without actually loading.  May be combined with -d.

-R does the same but it's an error if not found

-X can now take a directory path: this is used to output not yet loaded
functions that have an associated path.
</content>
</entry>
<entry>
<title>Additional case for ERR_RETURN and ERR_EXIT.</title>
<updated>2016-12-05T12:29:23Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-12-05T12:29:23Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0e4aa6f2f64fb276537adecfe755a752a3fcccb1'/>
<id>urn:sha1:0e4aa6f2f64fb276537adecfe755a752a3fcccb1</id>
<content type='text'>
Don't trigger just because status is non-zero at end of
current shell group.
</content>
</entry>
<entry>
<title>Extra case for ERR_RETURN and ERR_EXIT.</title>
<updated>2016-12-05T11:21:01Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-12-05T11:21:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c03228f9ed28dfaa9ded49eabb93c04def5ac547'/>
<id>urn:sha1:c03228f9ed28dfaa9ded49eabb93c04def5ac547</id>
<content type='text'>
Don't trigger just because status is non-zero at end of
complex shell construct as this may be a case we've already
suppressed.
</content>
</entry>
<entry>
<title>39958: Add extra byte to PATH_MAX allocations.</title>
<updated>2016-11-17T19:49:17Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2016-11-17T19:49:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a62e1640bcafbb82d86ea8d8ce057a83c4683d60'/>
<id>urn:sha1:a62e1640bcafbb82d86ea8d8ce057a83c4683d60</id>
<content type='text'>
This ensures we've got enough space for a null, although this
isn't always needed.
</content>
</entry>
<entry>
<title>39915: whence: Honor PATH_DIRS option for arguments that start with './' or '../'.</title>
<updated>2016-11-17T15:28:42Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-11-11T02:25:21Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c392e6c620163b84798e705dfd6608d6429b9677'/>
<id>urn:sha1:c392e6c620163b84798e705dfd6608d6429b9677</id>
<content type='text'>
While here, add some docstrings.
</content>
</entry>
<entry>
<title>39901: No EXIT trap on LHS of pipeline.</title>
<updated>2016-11-10T10:37:27Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-11-10T10:37:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5f1700755f12677b608adef88c39e08df99c41f2'/>
<id>urn:sha1:5f1700755f12677b608adef88c39e08df99c41f2</id>
<content type='text'>
There is a special case if the LHS is a shell construct.
Add unit tests for both cases.
</content>
</entry>
<entry>
<title>39571: Fix ERR_EXIT bug with &amp;&amp; and function.</title>
<updated>2016-10-05T16:46:42Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-10-05T16:46:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bcb52460f3069e2e4e3b05f966a2efd40471e366'/>
<id>urn:sha1:bcb52460f3069e2e4e3b05f966a2efd40471e366</id>
<content type='text'>
"foo &amp;&amp; bar" inside a function could cause the code outside
the function not to perform ERR_EXIT or ERR_RETURN when needed.
</content>
</entry>
<entry>
<title>39568: "! &lt;complex-command&gt;" suppresses ERR_EXIT</title>
<updated>2016-10-05T12:52:31Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-10-05T12:52:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0854ee56bc559d7fd614eb7d59b61da84a9ce51f'/>
<id>urn:sha1:0854ee56bc559d7fd614eb7d59b61da84a9ce51f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>39566: Improve usefulness of command_not_found_handler.</title>
<updated>2016-10-05T11:14:43Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-10-05T11:14:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=dc517212caf3a8263cea9587bc6e96f7ff129b59'/>
<id>urn:sha1:dc517212caf3a8263cea9587bc6e96f7ff129b59</id>
<content type='text'>
Don't behave as if command not found if return status is non-zero

as this may simply be the return status of the replacement command.
Let the function report a command not found instead.
</content>
</entry>
<entry>
<title>39545: Add some missing unqueue_signals().</title>
<updated>2016-10-03T12:43:20Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-10-03T12:43:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4ab3fcc90d928d200f9e70c81189079c3316b42d'/>
<id>urn:sha1:4ab3fcc90d928d200f9e70c81189079c3316b42d</id>
<content type='text'>
All of these are added simply to fit existing logic in other branches.
</content>
</entry>
<entry>
<title>39521: Refactor start of execcmd().</title>
<updated>2016-10-03T08:59:01Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-10-03T08:59:01Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=36a11804b467d7553f8fdaed9320869d8d984f77'/>
<id>urn:sha1:36a11804b467d7553f8fdaed9320869d8d984f77</id>
<content type='text'>
By splitting into _analyse and _exec execpline2() has easier
access to the state at the start of execution.  Use this
to ensure we fork if this is a builtin with no arguments.
</content>
</entry>
<entry>
<title>39540: "! command" should suppress ERR_EXIT and ERR_RETURN</title>
<updated>2016-10-02T18:17:19Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2016-10-02T18:16:03Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=6b2585147b842c69faecb136c17dbdda79b3e4b4'/>
<id>urn:sha1:6b2585147b842c69faecb136c17dbdda79b3e4b4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>39517: back off 39502 (WC_ASSIGN causes fork in pipe).</title>
<updated>2016-09-30T10:34:15Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-30T10:34:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bb2bbcc944e5b2a089f27e9b988e1740a517cedd'/>
<id>urn:sha1:bb2bbcc944e5b2a089f27e9b988e1740a517cedd</id>
<content type='text'>
This isn't a robust fix as WC_ASSIGNs simply precede the main wordcode.
</content>
</entry>
<entry>
<title>39507: TMPSUFFIX for =(...)</title>
<updated>2016-09-29T21:55:49Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-09-29T21:55:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=736eb433bae71a162f8b5adbd42710bb718a3c91'/>
<id>urn:sha1:736eb433bae71a162f8b5adbd42710bb718a3c91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>39470: failure to open a supposedly unique temp file name should result in an error</title>
<updated>2016-09-29T18:16:24Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-09-29T18:16:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e61ed2b80d60ca095006d7512f90c07e6c572ee0'/>
<id>urn:sha1:e61ed2b80d60ca095006d7512f90c07e6c572ee0</id>
<content type='text'>
Also band-aid for signal-related race conditions in temp file name generation
</content>
</entry>
<entry>
<title>39502: Fork for assignment in LHS of pipeline.</title>
<updated>2016-09-29T16:29:58Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-29T16:29:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=6ce696f35236dc4c1b6249c6f1e7f64cc95a6046'/>
<id>urn:sha1:6ce696f35236dc4c1b6249c6f1e7f64cc95a6046</id>
<content type='text'>
  foo=bar | stuff

left the value of foo set to bar as we didn't realise we needed to
fork.
</content>
</entry>
<entry>
<title>34943: Fixes for "command" with multiple options.</title>
<updated>2016-09-29T10:01:00Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-29T10:00:44Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=07c8fbe59632be71e4ad5bfafbf6aa4884cd04c4'/>
<id>urn:sha1:07c8fbe59632be71e4ad5bfafbf6aa4884cd04c4</id>
<content type='text'>
These need to combine properly, and alos "command -p" with either
-v or -V needs to search for builtins and then using the default
system path.
</content>
</entry>
<entry>
<title>39437: use list_pipe_pid in assignment for clarity</title>
<updated>2016-09-27T15:48:49Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-09-27T15:47:18Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=3b6002e53d82746634536cd2fda8a9dd354aaf7e'/>
<id>urn:sha1:3b6002e53d82746634536cd2fda8a9dd354aaf7e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>39436: Pass on status of SIGINT better.</title>
<updated>2016-09-25T18:18:43Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2016-09-25T18:18:43Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e35dcae40fca1baebc202561040f5c6eec421613'/>
<id>urn:sha1:e35dcae40fca1baebc202561040f5c6eec421613</id>
<content type='text'>
Set lastval to 128 + SIGINT on interrupt.

Don't execute builtin if already interrupted at that point.
</content>
</entry>
<entry>
<title>39435: Further fix for pgrp of funny pipelines.</title>
<updated>2016-09-25T16:14:24Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2016-09-25T16:14:24Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=759e5912fdb783e70b3e0d50fa0bc63e441a848b'/>
<id>urn:sha1:759e5912fdb783e70b3e0d50fa0bc63e441a848b</id>
<content type='text'>
Don't set gleader of SUBJOB at the point of creation if the
SUPERJOB has no processes yet.
</content>
</entry>
<entry>
<title>39381: handle save/restore of variable values when "typeset"-related reserved words are prefixed by an assignment</title>
<updated>2016-09-19T07:26:10Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-09-19T07:25:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c8de0af35935602370cc79193d0e0d53971250d4'/>
<id>urn:sha1:c8de0af35935602370cc79193d0e0d53971250d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>39362: another race with pipeline handling.</title>
<updated>2016-09-16T20:55:55Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2016-09-16T20:55:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c355a5f41f4cd0fd3892aa8815aab08ac0a2f921'/>
<id>urn:sha1:c355a5f41f4cd0fd3892aa8815aab08ac0a2f921</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>39359: Fix remaining race with orphaned subjob.</title>
<updated>2016-09-16T16:23:12Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-16T08:34:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=327f3dd3adfc8fdd6c356722d093a340b81190a7'/>
<id>urn:sha1:327f3dd3adfc8fdd6c356722d093a340b81190a7</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>39331: Reparent subjob on fork with exited superjob.</title>
<updated>2016-09-16T08:39:33Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-15T10:42:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=01ae64c0d74c17e36bfe6f52394a59754b8e8c92'/>
<id>urn:sha1:01ae64c0d74c17e36bfe6f52394a59754b8e8c92</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>39305: Fix error handling after parse for here document.</title>
<updated>2016-09-13T08:37:49Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-09-13T08:37:49Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=23c1c774b95861209fe97d1436b6563d5946f939'/>
<id>urn:sha1:23c1c774b95861209fe97d1436b6563d5946f939</id>
<content type='text'>
Keep the error status the same as before, but also retain
the interrupt status if that was non-zero.
</content>
</entry>
<entry>
<title>39125: More care needed decrementing SHLVL on exec.</title>
<updated>2016-08-31T09:21:00Z</updated>
<author>
<name>Stephane Chazelas</name>
<email>stephane.chazelas@gmail.com</email>
</author>
<published>2016-08-30T12:44:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8ce98c75f5330eecfa474e342146b8d057abcefc'/>
<id>urn:sha1:8ce98c75f5330eecfa474e342146b8d057abcefc</id>
<content type='text'>
Not needed in subshell.
</content>
</entry>
<entry>
<title>39104: do not hash relative paths in findcmd()</title>
<updated>2016-08-26T22:05:15Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-08-26T22:05:15Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b312abc93b3b8eae8feb4a9884b22f519a137c7f'/>
<id>urn:sha1:b312abc93b3b8eae8feb4a9884b22f519a137c7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>38991: Make 'whence -v autoloaded-function' shows the defining filename.</title>
<updated>2016-08-05T12:37:26Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-08-04T15:53:27Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f026a4dc12d93518fded8df4f14fb3161ab1db98'/>
<id>urn:sha1:f026a4dc12d93518fded8df4f14fb3161ab1db98</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>38653 + 38657: 'functions -T' tracing: recurse into anonymous functions.</title>
<updated>2016-06-13T08:53:18Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2016-06-10T17:37:02Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7badf262c1a33c8c5f7ee8ccc152733fcb5a05f7'/>
<id>urn:sha1:7badf262c1a33c8c5f7ee8ccc152733fcb5a05f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>38350 (cf. Glenn Smith: 38348): Remove-all warning should warn about the root directory as well</title>
<updated>2016-04-26T17:40:56Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-04-26T17:40:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5ee05cf9353b36e2dbe4149717ec239d074d1f21'/>
<id>urn:sha1:5ee05cf9353b36e2dbe4149717ec239d074d1f21</id>
<content type='text'>
</content>
</entry>
<entry>
<title>38114: Fix hang using ^Z with command subst.</title>
<updated>2016-03-09T09:51:14Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2016-03-08T18:18:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f4dfca490cb6d4b4fc7c6b977db56ab0d718de21'/>
<id>urn:sha1:f4dfca490cb6d4b4fc7c6b977db56ab0d718de21</id>
<content type='text'>
In subshells started to perform substitutions disable signals
that require interactive handling.
</content>
</entry>
<entry>
<title>37868: add 'static' to file local variables</title>
<updated>2016-02-02T16:25:33Z</updated>
<author>
<name>Jun-ichi Takimoto</name>
<email>takimoto-j@kba.biglobe.ne.jp</email>
</author>
<published>2016-02-02T16:24:56Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a4020e10a33f3f78681a2e18fb7add56338d4e81'/>
<id>urn:sha1:a4020e10a33f3f78681a2e18fb7add56338d4e81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37473: check for cshnullglob in command position.</title>
<updated>2016-01-01T21:01:16Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2016-01-01T21:01:16Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=5c17f9ab3f7c873f8a04498af8d77d5f3ca8e3e0'/>
<id>urn:sha1:5c17f9ab3f7c873f8a04498af8d77d5f3ca8e3e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37435 (+ fix typo): allow execution of empty files as "sh" scripts</title>
<updated>2015-12-25T08:31:32Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-12-25T08:31:32Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=fc344465f27cdf89664a64fb157b7606c9eb837f'/>
<id>urn:sha1:fc344465f27cdf89664a64fb157b7606c9eb837f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37434: POSIXBUILTINS "command" should prevent shell exit on errors from special builtins</title>
<updated>2015-12-25T08:26:26Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-12-25T08:26:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a554c7403a0f1b6c29e07410a03599272aeaeaee'/>
<id>urn:sha1:a554c7403a0f1b6c29e07410a03599272aeaeaee</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37202: suppress WARN_CREATE_GLOBAL warnings after a fork</title>
<updated>2015-12-04T10:44:33Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-12-04T10:44:33Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e40a14c5e4f24f45446e47176c699c586c46d624'/>
<id>urn:sha1:e40a14c5e4f24f45446e47176c699c586c46d624</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unposted: fix init_io() calls in previous change</title>
<updated>2015-12-04T09:42:35Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-12-04T09:42:35Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=04479a56e09b92b893230c715e434f95e77c09b5'/>
<id>urn:sha1:04479a56e09b92b893230c715e434f95e77c09b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>37092: make nested ${(P)name} properly refer to parameter on return</title>
<updated>2015-11-11T18:04:20Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-11-11T18:04:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=830d54e629e8e12eb5a219a65a013876662e7b3e'/>
<id>urn:sha1:830d54e629e8e12eb5a219a65a013876662e7b3e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36853: replace pushheap/popheap by NEWHEAPS/OLDHEAPS in doshfunc() to optimize memory management</title>
<updated>2015-10-15T04:46:26Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-10-15T04:46:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=827d36077641ca87d1796b9c5cb05e7c44b01919'/>
<id>urn:sha1:827d36077641ca87d1796b9c5cb05e7c44b01919</id>
<content type='text'>
Includes re-indentation that was not done in the posted patch.
</content>
</entry>
<entry>
<title>unposted: back out 36707, add test case for 36766</title>
<updated>2015-10-04T05:11:09Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-10-04T05:11:09Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cb26e11c70f95c72e300e1f4f16b33e4e5f54d21'/>
<id>urn:sha1:cb26e11c70f95c72e300e1f4f16b33e4e5f54d21</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36766: fix incorrect reset of noerrexit during "if" conditions</title>
<updated>2015-10-04T02:40:14Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-10-04T02:40:14Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b581c3fece76c87ed86ae9fc704d0fcf208a79d3'/>
<id>urn:sha1:b581c3fece76c87ed86ae9fc704d0fcf208a79d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36707: distinguish ERR_RETURN value of retflag so that execif() can ignore it in the test sublist</title>
<updated>2015-10-01T03:01:13Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-10-01T03:01:13Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d'/>
<id>urn:sha1:2bf4f667fb41a8aba139e3ef93b1ebcd9f3e016d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36651: WARN_CREATE_GLOBAL += math expressions</title>
<updated>2015-09-27T23:52:25Z</updated>
<author>
<name>Daniel Shahaf</name>
<email>d.s@daniel.shahaf.name</email>
</author>
<published>2015-09-26T01:59:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2654cb43f63349cff06b3dd26932dd76f53aed4c'/>
<id>urn:sha1:2654cb43f63349cff06b3dd26932dd76f53aed4c</id>
<content type='text'>
Without this, '() { (( x=42 )) }' and '() { for (( i=0; … )) }' wouldn't warn
about $x and $i, respectively, being created global.
</content>
</entry>
<entry>
<title>36378: skip directories when looking for files to autoload</title>
<updated>2015-09-02T19:19:28Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-09-02T19:19:28Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cdbd1b258192fa27c17241877f460c5543827759'/>
<id>urn:sha1:cdbd1b258192fa27c17241877f460c5543827759</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36104: change order of child_block() and dont_queue_signals() to resolve yet another race condition</title>
<updated>2015-08-11T15:55:23Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-08-11T15:53:12Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=128bf385b1e8256e412d732fa9b80ecd7c5e2c73'/>
<id>urn:sha1:128bf385b1e8256e412d732fa9b80ecd7c5e2c73</id>
<content type='text'>
</content>
</entry>
<entry>
<title>36022 fix bug that some loop constructs could not be interrupted, revise signal queueing</title>
<updated>2015-08-09T23:13:52Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-08-09T07:50:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=9958684574bf8b0ecec6983cca57f3fa3dd7cd63'/>
<id>urn:sha1:9958684574bf8b0ecec6983cca57f3fa3dd7cd63</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>35849: close fd's from process substitution after fork</title>
<updated>2015-07-23T08:34:11Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-07-23T08:34:11Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=28a962f557952a6001d37f4f4f7034361d11bf89'/>
<id>urn:sha1:28a962f557952a6001d37f4f4f7034361d11bf89</id>
<content type='text'>
Leaving these hanging in parent could cause deadlock: test added.
</content>
</entry>
<entry>
<title>35751: Fix ERR_RETURN and ERR_EXIT in "else"</title>
<updated>2015-07-09T13:59:20Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-07-09T13:58:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=3af55c858f12fe72eebd6addca89bf6395cae826'/>
<id>urn:sha1:3af55c858f12fe72eebd6addca89bf6395cae826</id>
<content type='text'>
</content>
</entry>
<entry>
<title>35655: APPEND_CREATE option for POSIX copmatible NO_CLOBBER</title>
<updated>2015-06-29T18:01:31Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-06-29T18:01:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7708849b2186ce60e80e0dbc9ade89ad7404499e'/>
<id>urn:sha1:7708849b2186ce60e80e0dbc9ade89ad7404499e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>35634: handle failure of gettempname() in namedpipe()</title>
<updated>2015-06-27T19:50:40Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-06-27T19:50:40Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ef080283468cbd7b46ceb19c148cd0b9c4d52356'/>
<id>urn:sha1:ef080283468cbd7b46ceb19c148cd0b9c4d52356</id>
<content type='text'>
</content>
</entry>
<entry>
<title>35604: create empty arrays in typeset with array=()</title>
<updated>2015-06-25T16:01:48Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-06-25T16:01:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b16d754d9cc36b5bcf506d95621ad3bd69238ab7'/>
<id>urn:sha1:b16d754d9cc36b5bcf506d95621ad3bd69238ab7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>various posts: Implement assignment parsing for typeset.</title>
<updated>2015-06-24T09:21:12Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-06-18T13:54:41Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=39b28980f38e83e15cdeb19a489b5659af97fe93'/>
<id>urn:sha1:39b28980f38e83e15cdeb19a489b5659af97fe93</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>35493: erase $_ when the command line is an assignment</title>
<updated>2015-06-17T00:03:39Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-06-17T00:03:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2cfe892414a2c6af6fd7b569c18cffeff1e39310'/>
<id>urn:sha1:2cfe892414a2c6af6fd7b569c18cffeff1e39310</id>
<content type='text'>
</content>
</entry>
<entry>
<title>GLOB_ASSIGN should only affect scalar assignments</title>
<updated>2015-06-02T14:09:35Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2015-06-02T13:33:07Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=4dc4e23376888697234e00e0c34184bb308886e1'/>
<id>urn:sha1:4dc4e23376888697234e00e0c34184bb308886e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>35318: POSIX_BUILTINS behaviour for getopts.</title>
<updated>2015-05-28T17:32:39Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-05-28T17:32:39Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2b08d0ed6747a4acf44b73068bfafc54ca1d0acf'/>
<id>urn:sha1:2b08d0ed6747a4acf44b73068bfafc54ca1d0acf</id>
<content type='text'>
It needs to keep OPTIND, as well as the index within the
string pointed to by OPTIND, global in this case.
</content>
</entry>
<entry>
<title>Tweak test for function level of exit.</title>
<updated>2015-05-22T22:37:45Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-05-22T22:37:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2f6a8a6c6c3774ac6f9317288adf03e2a065cb42'/>
<id>urn:sha1:2f6a8a6c6c3774ac6f9317288adf03e2a065cb42</id>
<content type='text'>
Sometimes local level jumps so we need an inequality instead
of an equality.
</content>
</entry>
<entry>
<title>users/20203: nested functions in always blocks when exit pending</title>
<updated>2015-05-13T15:17:04Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-05-13T15:17:04Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=ec57c91b586a7682fcdb08c3704c9214cddfa5e7'/>
<id>urn:sha1:ec57c91b586a7682fcdb08c3704c9214cddfa5e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>34989: AUTO_CD needs to call cd --.</title>
<updated>2015-04-28T19:42:26Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-04-28T19:42:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c96a993d51e3e5958c8161d0dbe86cb43bcc52c1'/>
<id>urn:sha1:c96a993d51e3e5958c8161d0dbe86cb43bcc52c1</id>
<content type='text'>
Otherwise directories looking like options do the wrong thing.
</content>
</entry>
<entry>
<title>34979: Preserve job text when doing shell job fix.</title>
<updated>2015-04-28T08:22:37Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-04-28T08:22:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=df5115a741561d251b30926ce09486737da1e8da'/>
<id>urn:sha1:df5115a741561d251b30926ce09486737da1e8da</id>
<content type='text'>
This handles list_pipe_text in execlist() along with other
variables that are saved and restored and, in the special
case of source, cleared.
</content>
</entry>
<entry>
<title>34955: save and restore list_pipe_job with its friends</title>
<updated>2015-04-24T15:34:51Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-04-24T15:34:51Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e0cdf39fd9cbf056bd95eb08590addf8d40c155b'/>
<id>urn:sha1:e0cdf39fd9cbf056bd95eb08590addf8d40c155b</id>
<content type='text'>
This is needed to stop source() messing up job control.
</content>
</entry>
<entry>
<title>34900: assignment before an "exec".</title>
<updated>2015-04-15T20:16:17Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-04-15T20:16:17Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=3bf8cab82e32fc6903be995a5b6d7276307b22fe'/>
<id>urn:sha1:3bf8cab82e32fc6903be995a5b6d7276307b22fe</id>
<content type='text'>
Without POSXIBUILTIN: restore after, so we only get side effects.

With POSXIBUILTIN: keep set variable
</content>
</entry>
<entry>
<title>34887: Fix POSIX_BUILTINS with assignment.</title>
<updated>2015-04-15T08:44:19Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-04-15T08:44:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a2c579050fbf40eb9192f043e901e6b2eff3ab50'/>
<id>urn:sha1:a2c579050fbf40eb9192f043e901e6b2eff3ab50</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>34590: queue_signals() around more scopes that manipulate global state</title>
<updated>2015-02-21T02:45:36Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-02-21T02:45:36Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=a4ff8e69570cbdb8e7d5bf1d5cc4000ffe63e15e'/>
<id>urn:sha1:a4ff8e69570cbdb8e7d5bf1d5cc4000ffe63e15e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>34530: PRINT_EXIT_VALUE with anonymous functions.</title>
<updated>2015-02-16T12:37:38Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-02-16T12:37:38Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=8ebe18c081a0bd2f134f5fcbf1650d5d59920c96'/>
<id>urn:sha1:8ebe18c081a0bd2f134f5fcbf1650d5d59920c96</id>
<content type='text'>
Simpler fix, avoiding structural changes.
</content>
</entry>
<entry>
<title>34546: further $_ with anon function fix.</title>
<updated>2015-02-13T21:31:31Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-02-13T21:31:31Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=daa7d99702b8a3580b71ee74f962719ad1d052c8'/>
<id>urn:sha1:daa7d99702b8a3580b71ee74f962719ad1d052c8</id>
<content type='text'>
Also add tests.
</content>
</entry>
<entry>
<title>34519: $_ for arguments of anonymous function</title>
<updated>2015-02-12T19:48:50Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-02-12T19:48:50Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7e6faf7237b1862fce3ebc34f09ee9ac07940638'/>
<id>urn:sha1:7e6faf7237b1862fce3ebc34f09ee9ac07940638</id>
<content type='text'>
</content>
</entry>
<entry>
<title>34514: Back out 34485, an alternate solution needs to be worked out.</title>
<updated>2015-02-12T17:27:53Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2015-02-12T17:27:53Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7398fea05980df98a29eac6f504397ea0cb3be7a'/>
<id>urn:sha1:7398fea05980df98a29eac6f504397ea0cb3be7a</id>
<content type='text'>
(Tweaked to keep the unrelated hunk of the E01 test.)
</content>
</entry>
<entry>
<title>34485: More rationalisation for anonymous functions.</title>
<updated>2015-02-09T16:39:29Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-02-09T16:39:29Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=da86d6b4f2c3eef5b1f0860c9dae433f3a540951'/>
<id>urn:sha1:da86d6b4f2c3eef5b1f0860c9dae433f3a540951</id>
<content type='text'>
Don't attempt to treat as "simple" case as there are too many
hidden problems.

Pull out some post-execution functions to a common case in
execcmd().
</content>
</entry>
<entry>
<title>users/19751: remove error on failure to close file descriptor by number.</title>
<updated>2015-01-20T09:29:22Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2015-01-20T09:29:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=e6d964246700581fe22ea834b2ea12dd301e8c3d'/>
<id>urn:sha1:e6d964246700581fe22ea834b2ea12dd301e8c3d</id>
<content type='text'>
Keep it when closing file descriptor stored in a variable, i.e.
explicitly opened by the user.
</content>
</entry>
<entry>
<title>34322: bug with interface to parsestr() etc.</title>
<updated>2015-01-18T22:38:57Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-01-18T22:38:57Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c'/>
<id>urn:sha1:c6c9f5daf2e196e6ab7346dfbf5f5166a1d87f0c</id>
<content type='text'>
Was showing up in places like ${(e)...} where command substitution
could reallocate the token string, but actually there was never any
guarantee that the lexer wouldn't do that, so this was always
a bit iffy.
</content>
</entry>
<entry>
<title>Rearrange context saving.</title>
<updated>2015-01-09T21:33:39Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2015-01-08T21:39:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=cfd91eac0732da8ece012ca4ab051d928a85c9dd'/>
<id>urn:sha1:cfd91eac0732da8ece012ca4ab051d928a85c9dd</id>
<content type='text'>
Variables are now associated with the module that declares them, being
initialised and saved/restored there.  However, as many variables are
used for communication between modules, many of them are set in multiple
places, so the assignment is ambiguous.
</content>
</entry>
<entry>
<title>34134: anon funcs: don't leak shf and related data</title>
<updated>2015-01-06T22:50:37Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2015-01-05T15:46:26Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=bd2175fe7dad87575ae838fa116226aff4c18191'/>
<id>urn:sha1:bd2175fe7dad87575ae838fa116226aff4c18191</id>
<content type='text'>
Found by Coverity (Issue 439076).
</content>
</entry>
<entry>
<title>34064: assignment before command replaces array with export even when KSH_ARRAYS</title>
<updated>2014-12-28T06:05:05Z</updated>
<author>
<name>Takeshi Banse</name>
<email>takebi@laafc.net</email>
</author>
<published>2014-12-28T06:05:05Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=1cd802357096b60561b1a50c0c23ab357bbc0de3'/>
<id>urn:sha1:1cd802357096b60561b1a50c0c23ab357bbc0de3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>34065: following an "if" condition, do not test lastval for ERR_EXIT until a new command is run</title>
<updated>2014-12-28T05:55:58Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2014-12-28T05:55:58Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d6a32ddeed914434f5b56b013c9d03b28781d065'/>
<id>urn:sha1:d6a32ddeed914434f5b56b013c9d03b28781d065</id>
<content type='text'>
Includes unposted regression tests.
</content>
</entry>
<entry>
<title>33876: etc.: Separate errors and keyboards interrupts</title>
<updated>2014-12-11T09:41:17Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2014-12-07T16:24:19Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=d067ebcacd55472f720b2765ec686a69b25c9a90'/>
<id>urn:sha1:d067ebcacd55472f720b2765ec686a69b25c9a90</id>
<content type='text'>
Combination of 12 commits from interrupt_abort branch.

Basic strategy is to introduce bits to errflag and to set and
reset them separately.

Remove interrupt status on return to main keymap.

Turn off ERRFLAG_INT for always block.

Restore bit thereafter: we probably need a new variable in order
to allow user interrupts to be reset in the always block.

Add TRY_BLOCK_INTERRUPT

This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too.

Ensure propagation of SIGINT from exited job.

If received by foreground job, shell uses ERRFLAG_INT, not
ERRFLAG_ERROR, to set the new state.

Reset errflag before precmd()

Add always block in _main_completion to fix ZLS_COLORS

Ensures we get the right state of $ZLS_COLORS at the end of _main_complete
even if there's an interrupt.  However, the "right state" is a bit messy
as it depends on styles.
</content>
</entry>
<entry>
<title>33818: fix types passed to sizeof detected by coverity as being wrong</title>
<updated>2014-11-30T22:19:55Z</updated>
<author>
<name>Oliver Kiddle</name>
<email>opk@zsh.org</email>
</author>
<published>2014-11-30T22:19:55Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=0d4b548d1e4a08105597791fd6308d7fd70d3ddf'/>
<id>urn:sha1:0d4b548d1e4a08105597791fd6308d7fd70d3ddf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>33816, 33819: GLOB_ASSIGN changes integer and floating type variables to string scalars</title>
<updated>2014-11-28T21:30:22Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2014-11-28T21:30:22Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=49d6aace41f5fe47abfaa87d25c42dbdb84dfb88'/>
<id>urn:sha1:49d6aace41f5fe47abfaa87d25c42dbdb84dfb88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>33775: error opening file in $(&lt;...) is not fatal</title>
<updated>2014-11-24T00:02:48Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2014-11-24T00:02:48Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2b615bedaff1d64a1521972717a91058c74b579f'/>
<id>urn:sha1:2b615bedaff1d64a1521972717a91058c74b579f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>33614 (based on RedHat BZ-978613): signal safety when updating global state in execshfunc()</title>
<updated>2014-11-06T18:50:20Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2014-11-06T18:50:20Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=7abd611a2396bad9d93d18681a2c59cb1ea0e158'/>
<id>urn:sha1:7abd611a2396bad9d93d18681a2c59cb1ea0e158</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Treat exec from subshell as if forked</title>
<updated>2014-11-02T15:29:06Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2014-11-02T15:29:06Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=023c2236e1280ad1539a2885c6479d0b89d6dc46'/>
<id>urn:sha1:023c2236e1280ad1539a2885c6479d0b89d6dc46</id>
<content type='text'>
This removes weird behaviour when optimising the last command.
In particular SHLVL is correct from a subshell executed as the last
command.</content>
</entry>
<entry>
<title>33531 with additions: retain status of exited background jobs.</title>
<updated>2014-10-26T17:47:42Z</updated>
<author>
<name>Peter Stephenson</name>
<email>p.w.stephenson@ntlworld.com</email>
</author>
<published>2014-10-26T17:47:42Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=b4f7ccecd93ca9e64c3c3c774fdaefae83d7204a'/>
<id>urn:sha1:b4f7ccecd93ca9e64c3c3c774fdaefae83d7204a</id>
<content type='text'>
Add linked list of unwaited-for background jobs.
Truncate at value of _SC_CHILD_MAX discarding oldest.
Remove old lastpid_status mechanism for latest exited process only.
Slightly tighten safety of permanently allocated linked lists so
that this doesn't compromise signal handling.
</content>
</entry>
<entry>
<title>33493: use correct command name in error messages about "ulimit" failure; restore internal copy of limits if setrlimit() fails, so the error won't repeat</title>
<updated>2014-10-22T15:42:37Z</updated>
<author>
<name>Barton E. Schaefer</name>
<email>schaefer@zsh.org</email>
</author>
<published>2014-10-22T15:42:37Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=2d4743ce50ba0ae50c0cfa1404a163dbd61ad446'/>
<id>urn:sha1:2d4743ce50ba0ae50c0cfa1404a163dbd61ad446</id>
<content type='text'>
</content>
</entry>
<entry>
<title>33365: avoid buffer overflow for very long fds in &gt;&amp; fd syntax</title>
<updated>2014-10-06T18:34:28Z</updated>
<author>
<name>Mikael Magnusson</name>
<email>mikachu@gmail.com</email>
</author>
<published>2014-10-06T18:33:47Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=49a3086bb67575435251c70ee598e2fd406ef055'/>
<id>urn:sha1:49a3086bb67575435251c70ee598e2fd406ef055</id>
<content type='text'>
</content>
</entry>
<entry>
<title>33325: fix ksh autoloads with redirections on function definitions</title>
<updated>2014-10-02T15:15:10Z</updated>
<author>
<name>Peter Stephenson</name>
<email>pws@zsh.org</email>
</author>
<published>2014-10-02T15:15:10Z</published>
<link rel='alternate' type='text/html' href='http://git.sudomsg.com/mirror/zsh/commit/?id=f16813792ecefce25f0cd19ad2806eb229b0799f'/>
<id>urn:sha1:f16813792ecefce25f0cd19ad2806eb229b0799f</id>
<content type='text'>
</content>
</entry>
</feed>
