diff options
| author | Peter Stephenson <pws@zsh.org> | 2016-12-05 11:21:01 +0000 |
|---|---|---|
| committer | Peter Stephenson <pws@zsh.org> | 2016-12-05 11:21:01 +0000 |
| commit | c03228f9ed28dfaa9ded49eabb93c04def5ac547 (patch) | |
| tree | 7ea3ee905bf9531dce1e4e46b206ac9eb438d566 /Src/loop.c | |
| parent | unposted: vcs_info git: Handle rebase-apply sequences with >=10000 patches. (diff) | |
| download | zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar.gz zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar.bz2 zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar.lz zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar.xz zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.tar.zst zsh-c03228f9ed28dfaa9ded49eabb93c04def5ac547.zip | |
Extra case for ERR_RETURN and ERR_EXIT.
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.
Diffstat (limited to 'Src/loop.c')
| -rw-r--r-- | Src/loop.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/loop.c b/Src/loop.c index 367c0df5c..ae87b2f5f 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -208,6 +208,7 @@ execfor(Estate state, int do_exec) loops--; simple_pline = old_simple_pline; state->pc = end; + this_noerrexit = 1; return lastval; } @@ -335,6 +336,7 @@ execselect(Estate state, UNUSED(int do_exec)) loops--; simple_pline = old_simple_pline; state->pc = end; + this_noerrexit = 1; return lastval; } @@ -472,6 +474,7 @@ execwhile(Estate state, UNUSED(int do_exec)) popheap(); loops--; state->pc = end; + this_noerrexit = 1; return lastval; } @@ -523,6 +526,7 @@ execrepeat(Estate state, UNUSED(int do_exec)) loops--; simple_pline = old_simple_pline; state->pc = end; + this_noerrexit = 1; return lastval; } @@ -573,6 +577,7 @@ execif(Estate state, int do_exec) lastval = 0; } state->pc = end; + this_noerrexit = 1; return lastval; } @@ -682,6 +687,7 @@ execcase(Estate state, int do_exec) if (!anypatok) lastval = 0; + this_noerrexit = 1; return lastval; } |
