diff --git a/ChangeLog b/ChangeLog index a15ea1089..07c159f7f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2000-05-02 Peter Stephenson + + * 11066: Src/exec.c: suppress doing in and/or when at the end + of a sequence of &&/|| when another sublist follows. + 2000-05-02 Oliver Kiddle * 11065: Completion/Commands/_complete_debug: small fix to avoid diff --git a/Src/exec.c b/Src/exec.c index bc9edce2c..33f28b53b 100644 --- a/Src/exec.c +++ b/Src/exec.c @@ -842,7 +842,8 @@ execlist(Estate state, int dont_change_job, int exiting) * for this sublist. */ donetrap = 1; goto sublist_done; - } + } else if (WC_SUBLIST_TYPE(code) == WC_SUBLIST_END) + donetrap = 1; } cmdpush(CS_CMDAND); break; @@ -867,7 +868,8 @@ execlist(Estate state, int dont_change_job, int exiting) * for this sublist. */ donetrap = 1; goto sublist_done; - } + } else if (WC_SUBLIST_TYPE(code) == WC_SUBLIST_END) + donetrap = 1; } cmdpush(CS_CMDOR); break;