about summary refs log tree commit diff
diff options
context:
space:
mode:
-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;