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