summary refs log tree commit diff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-11-18 11:11:37 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2015-11-18 11:11:37 -0800
commit59235205c6c8b189b7227f206754aaf485010136 (patch)
tree8cdc0cb204cb920a4d7a49d58186f30e53274e35
parentf39ae235a261df353d85578c7bc760f91c4b763b (diff)
downloadzsh-59235205c6c8b189b7227f206754aaf485010136.tar.gz
zsh-59235205c6c8b189b7227f206754aaf485010136.tar.xz
zsh-59235205c6c8b189b7227f206754aaf485010136.zip
37145: suppress alias expansion in skipcomm()
Thus defer parsing aliases in $(...) et al. into the subshell
-rw-r--r--ChangeLog5
-rw-r--r--Src/lex.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 86de73a25..59b3cc6d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-18  Barton E. Schaefer  <schaefer@zsh.org>
+
+	* 37145: Src/lex.c: suppress alias expansion in skipcomm() to
+	defer parsing aliases in $(...) et al. into the subshell
+
 2015-11-18  Peter Stephenson  <p.stephenson@samsung.com>
 
 	* 37140: Doc/Zsh/expn.yo: note that <<(...) is < <(...).
diff --git a/Src/lex.c b/Src/lex.c
index 81904c171..0f260d08f 100644
--- a/Src/lex.c
+++ b/Src/lex.c
@@ -2022,7 +2022,9 @@ skipcomm(void)
     int new_lexstop, new_lex_add_raw;
     int save_infor = infor;
     struct lexbufstate new_lexbuf;
+    int noalias = noaliases;
 
+    noaliases = 1;
     infor = 0;
     cmdpush(CS_CMDSUBST);
     SETPARBEGIN
@@ -2140,6 +2142,7 @@ skipcomm(void)
 	SETPAREND
     cmdpop();
     infor = save_infor;
+    noaliases = noalias;
 
     return lexstop;
 #endif