about summary refs log tree commit diff
path: root/Src/prompt.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/prompt.c')
-rw-r--r--Src/prompt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Src/prompt.c b/Src/prompt.c
index b05bbf110..c0e73fb5f 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -163,13 +163,15 @@ promptexpand(char *s, int ns, char *rs, char *Rs)
 
     if (isset(PROMPTSUBST)) {
 	int olderr = errflag;
+	int oldval = lastval;
 
 	s = dupstring(s);
 	if (!parsestr(s))
 	    singsub(&s);
 
-	/* Ignore errors in prompt substitution */
+	/* Ignore errors and status change in prompt substitution */
 	errflag = olderr;
+	lastval = oldval;
     }
 
     rstring = rs;