diff options
author | Barton E. Schaefer <schaefer@zsh.org> | 2015-09-27 23:56:38 -0700 |
---|---|---|
committer | Barton E. Schaefer <schaefer@zsh.org> | 2015-09-27 23:56:38 -0700 |
commit | 4bed2cf256cf79f8e17093d54a67f75dfa54794a (patch) | |
tree | f5063f9d4ec33038b89b7fa885850d2ccb724512 | |
parent | 6d6b63c884a7484334a22671d2bd6ca138bb8751 (diff) | |
download | zsh-4bed2cf256cf79f8e17093d54a67f75dfa54794a.tar.gz zsh-4bed2cf256cf79f8e17093d54a67f75dfa54794a.tar.xz zsh-4bed2cf256cf79f8e17093d54a67f75dfa54794a.zip |
36669: fix ${(z)...} of an an incomplete math expression by restoring "((" at the front of the token
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/lex.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index f5b1a073f..bebc97b53 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-09-28 Barton E. Schaefer <schaefer@zsh.org> + + * 36669: Src/lex.c: fix ${(z)...} of an an incomplete math + expression by restoring "((" at the front of the token + 2015-09-28 Daniel Shahaf <d.s@daniel.shahaf.name> * unposted: Etc/zsh-development-guide: Update link to my diff --git a/Src/lex.c b/Src/lex.c index 70f3d142a..89af96123 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -783,6 +783,15 @@ gettok(void) */ tokstr = NULL; return INPAR; + + case CMD_OR_MATH_ERR: + /* + * LEXFLAGS_ACTIVE means we came from bufferwords(), + * so we treat as an incomplete math expression + */ + if (lexflags & LEXFLAGS_ACTIVE) + tokstr = dyncat("((", tokstr ? tokstr : ""); + /* fall through */ default: return LEXERR; |