about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Src/input.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e06c2f1b4..83b90c0cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2015-01-10  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
+	* 34220: Src/input.c: new $(...) parsing didn't back up over
+	alias expansions.
+
 	* unposted: Src/context.c: update copyright.
 
 	* 34195: Thomas Mitterfellner: Completion/Linux/Command/_qdbus:
diff --git a/Src/input.c b/Src/input.c
index 04dda5acd..2ecac7bdc 100644
--- a/Src/input.c
+++ b/Src/input.c
@@ -537,6 +537,12 @@ inpush(char *str, int flags, Alias inalias)
 static void
 inpoptop(void)
 {
+    if (!lexstop) {
+	inbufflags &= ~INP_ALCONT;
+	while (inbufptr > inbuf)
+	    inungetc(inbufptr[-1]);
+    }
+
     if (inbuf && (inbufflags & INP_FREE))
 	free(inbuf);