summaryrefslogtreecommitdiff
path: root/shell/ash.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ash.c')
-rw-r--r--shell/ash.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index b707d00..f3a2c69 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -13042,6 +13042,7 @@ expandstr(const char *ps, int syntax_type)
{
union node n;
int saveprompt;
+ struct parsefile *file_stop = g_parsefile;
/* XXX Fix (char *) cast. */
setinputstring((char *)ps);
@@ -13068,7 +13069,8 @@ expandstr(const char *ps, int syntax_type)
doprompt = saveprompt;
- popfile();
+ /* Try: PS1='`xxx(`' */
+ unwindfiles(file_stop);
n.narg.type = NARG;
n.narg.next = NULL;