diff options
-rw-r--r-- | shell/ash.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index b707d00d0..f3a2c6952 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; |