summaryrefslogtreecommitdiff
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;