summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2000-05-02 13:08:19 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2000-05-02 13:08:19 +0000
commit9420498acfbe4e7ef99adca7cc4eb6bf21c1d00d (patch)
tree651e66a220aa8c260e7838cb528bcd329688de1a
parentf3be526791ff209c9858883c2cf4e2ed71ed6e14 (diff)
downloadzsh-9420498acfbe4e7ef99adca7cc4eb6bf21c1d00d.tar.gz
zsh-9420498acfbe4e7ef99adca7cc4eb6bf21c1d00d.zip
11066: false || true was trigerring trap on ZERR
-rw-r--r--ChangeLog5
-rw-r--r--Src/exec.c6
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a15ea1089..07c159f7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-02 Peter Stephenson <pws@cambridgesiliconradio.com>
+
+ * 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 <opk@zsh.org>
* 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;