mirror of
https://github.com/zsh-users/zsh
synced 2024-10-02 22:24:37 +00:00
51608: Don't execute commands after "continue &&"
Also ! continue ||
This commit is contained in:
parent
6d40d9b63b
commit
12e5db145b
|
@ -1491,7 +1491,7 @@ execlist(Estate state, int dont_change_job, int exiting)
|
|||
* we find a sublist followed by ORNEXT. */
|
||||
if ((ret = ((WC_SUBLIST_FLAGS(code) & WC_SUBLIST_SIMPLE) ?
|
||||
execsimple(state) :
|
||||
execpline(state, code, Z_SYNC, 0)))) {
|
||||
execpline(state, code, Z_SYNC, 0))) || breaks) {
|
||||
state->pc = next;
|
||||
code = *state->pc++;
|
||||
next = state->pc + WC_SUBLIST_SKIP(code);
|
||||
|
@ -1524,7 +1524,7 @@ execlist(Estate state, int dont_change_job, int exiting)
|
|||
* we find a sublist followed by ANDNEXT. */
|
||||
if (!(ret = ((WC_SUBLIST_FLAGS(code) & WC_SUBLIST_SIMPLE) ?
|
||||
execsimple(state) :
|
||||
execpline(state, code, Z_SYNC, 0)))) {
|
||||
execpline(state, code, Z_SYNC, 0))) || breaks) {
|
||||
state->pc = next;
|
||||
code = *state->pc++;
|
||||
next = state->pc + WC_SUBLIST_SKIP(code);
|
||||
|
|
|
@ -982,3 +982,39 @@ F:its expectations.
|
|||
}
|
||||
fn
|
||||
1:! does not affect return status of explicit return
|
||||
|
||||
msg=unset
|
||||
for x in 1 2 3 4 5; do
|
||||
continue && msg=set && print Not executed
|
||||
print Not executed, neither.
|
||||
done
|
||||
print $msg
|
||||
0:continue causes immediate continuation
|
||||
>unset
|
||||
|
||||
msg=unset
|
||||
() {
|
||||
return && msg=set && print Not executed
|
||||
print Not executed, not nor neither.
|
||||
}
|
||||
print $msg
|
||||
0:return causes immediate return
|
||||
>unset
|
||||
|
||||
msg=unset
|
||||
for x in 1 2 3 4 5; do
|
||||
! continue || msg=set && print Not executed
|
||||
print Not executed, neither.
|
||||
done
|
||||
print $msg
|
||||
0:! continue causes immediate continuation
|
||||
>unset
|
||||
|
||||
msg=unset
|
||||
() {
|
||||
! return || msg=set && print Not executed
|
||||
print Not executed, not nor neither.
|
||||
}
|
||||
print $msg
|
||||
0:! return causes immediate return
|
||||
>unset
|
||||
|
|
Loading…
Reference in a new issue