1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-06-18 21:38:03 +02:00

51134: document interactive behaviour with ERR_EXIT and ERR_RETURN

This commit is contained in:
Peter Stephenson 2022-12-12 10:27:29 +00:00
parent 2028539cb1
commit 14559421e2
2 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2022-12-12 Peter Stephenson <p.stephenson@samsung.com>
* 51134: Doc/Zsh/options.yo: document interactions between
ERR_EXIT and ERR_RETURN and interactive shells.
2022-12-09 Bart Schaefer <schaefer@zsh.org>
* 51161: Src/exec.c: correct errno after closing xtrace FD

View file

@ -1744,6 +1744,9 @@ Exiting due to tt(ERR_EXIT) has certain interactions with asynchronous
jobs noted in
ifzman(the section JOBS in zmanref(zshmisc))\
ifnzman(noderef(Jobs & Signals)).
Note this behaviour is not disabled in interactive shells ---
a non-zero status on the command line causes the shell to exit.
)
pindex(ERR_RETURN)
pindex(NO_ERR_RETURN)
@ -1756,7 +1759,10 @@ If a command has a non-zero exit status, return immediately from the
enclosing function. The logic is similar to that for tt(ERR_EXIT),
except that an implicit tt(return) statement is executed instead of an
tt(exit). This will trigger an exit at the outermost level of a
non-interactive script.
non-interactive script. At the top level of an interactive shell,
it will trigger a return to the command prompt; in other
words, the sequence of commands typed by the user may be
thought of as a function for this purpose.
Normally this option inherits the behaviour of tt(ERR_EXIT) that
code followed by `tt(&&)' `tt(||)' does not trigger a return. Hence