about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2010-07-31 22:03:41 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2010-07-31 22:03:41 +0000
commitfc7ad5cc1caca79c160530d69521319a2136f8ef (patch)
treef84fb8bbdb4681e9d55a6afa11b53a536e8c451c
parent5659426c2a4d6465f915a86257d01ea6b8c7a984 (diff)
downloadzsh-fc7ad5cc1caca79c160530d69521319a2136f8ef.tar.gz
zsh-fc7ad5cc1caca79c160530d69521319a2136f8ef.tar.xz
zsh-fc7ad5cc1caca79c160530d69521319a2136f8ef.zip
users/15219: PRINTEXITVALUE if terminated by signal
-rw-r--r--ChangeLog5
-rw-r--r--Src/jobs.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5da5b81f3..e688ce31a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2010-07-31  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
+	* users/15219: Src/jobs.c: print exit status if PRINTEXITVALUE
+	and terminated by signal.
+
 	* 28111: Src/jobs.c: always print exit status if PRINTEXITVALUE
 	is set.
 
@@ -13460,5 +13463,5 @@
 
 *****************************************************
 * This is used by the shell to define $ZSH_PATCHLEVEL
-* $Revision: 1.5042 $
+* $Revision: 1.5043 $
 *****************************************************
diff --git a/Src/jobs.c b/Src/jobs.c
index 4560bf4e2..6c080de0c 100644
--- a/Src/jobs.c
+++ b/Src/jobs.c
@@ -873,6 +873,10 @@ printjob(Job jn, int lng, int synch)
 		    sflag = 1;
 		if (job == thisjob && sig == SIGINT)
 		    doputnl = 1;
+		if (isset(PRINTEXITVALUE) && isset(SHINSTDIN)) {
+		    sflag = 1;
+		    skip_print = 0;
+		}
 	    } else if (WIFSTOPPED(pn->status)) {
 		sig = WSTOPSIG(pn->status);
 		if ((int)strlen(sigmsg(sig)) > len)