summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Schaefer <barts@users.sourceforge.net>2001-08-19 04:23:46 +0000
committerBart Schaefer <barts@users.sourceforge.net>2001-08-19 04:23:46 +0000
commit87ca460fe572b748a993ef729b22dd752789030c (patch)
tree84a405e47e228122381999a3f94cf33133b1efdd
parent9906e86aee9ed1eab39ea5303425a290de6a4cb2 (diff)
downloadzsh-87ca460fe572b748a993ef729b22dd752789030c.tar.gz
zsh-87ca460fe572b748a993ef729b22dd752789030c.zip
Fix exit status of zsh -fc '! command'
-rw-r--r--ChangeLog4
-rw-r--r--Src/exec.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e66fcdd0b..52e8b7104 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-08-18 Bart Schaefer <schaefer@zsh.org>
+
+ * 15617: Src/exec.c: Fix exit status of zsh -fc '! command'.
+
2001-08-17 Adam Spiers <adam@spiers.net>
* unposted: Functions/Prompts/prompt_adam2_setup: eliminate
diff --git a/Src/exec.c b/Src/exec.c
index c428fdbba..17ba376dd 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -943,6 +943,8 @@ execpline(Estate state, wordcode slcode, int how, int last1)
if (wc_code(code) != WC_PIPE)
return lastval = (slflags & WC_SUBLIST_NOT) != 0;
+ else if (slflags & WC_SUBLIST_NOT)
+ last1 = 0;
pj = thisjob;
ipipe[0] = ipipe[1] = opipe[0] = opipe[1] = 0;