about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <p.w.stephenson@ntlworld.com>2014-12-07 17:23:27 +0000
committerPeter Stephenson <p.w.stephenson@ntlworld.com>2014-12-07 17:23:27 +0000
commite385312e0937aecd40ca9eac43d88ad4ec0542e7 (patch)
tree8b0cc06cd2bfdfa329f781fd64507ae3b2c0cf6c
parent470255c8513774db6b56e1569c950bbde4cf3af4 (diff)
downloadzsh-e385312e0937aecd40ca9eac43d88ad4ec0542e7.tar.gz
zsh-e385312e0937aecd40ca9eac43d88ad4ec0542e7.tar.xz
zsh-e385312e0937aecd40ca9eac43d88ad4ec0542e7.zip
Put back commenting out of obscure error clearing.
It's done us no harm for a long time now, let sleeping dogs lie.
-rw-r--r--Src/jobs.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/Src/jobs.c b/Src/jobs.c
index 6e47e5e54..3c2a21a72 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -1444,7 +1444,19 @@ zwaitjob(int job, int wait_cmd)
 		restore_queue_signals(q);
 		return 128 + last_signal;
 	    }
-	    errflag &= ~ERRFLAG_ERROR;
+           /* Commenting this out makes ^C-ing a job started by a function
+              stop the whole function again.  But I guess it will stop
+              something else from working properly, we have to find out
+              what this might be.  --oberon
+
+	      When attempting to separate errors and interrupts, we
+	      assumed because of the previous comment it would be OK
+	      to remove ERRFLAG_ERROR and leave ERRFLAG_INT set, since
+	      that's the one related to ^C.  But that doesn't work.
+	      There's something more here we don't understand.  --pws
+
+           errflag = 0; */
+
 	    if (subsh) {
 		killjb(jn, SIGCONT);
 		jn->stat &= ~STAT_STOPPED;