diff options
author | Peter Stephenson <pws@zsh.org> | 2015-06-23 17:51:36 +0100 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2015-06-23 17:51:36 +0100 |
commit | 7529c2a1585e099c15ec7ab11b14bfad2e02135f (patch) | |
tree | 78ad8ea9a6d90bef4ab0e6faff6cefc8a598bb5a /Src | |
parent | a2229ce10c41147b17ff074ae9c2b545801acb9f (diff) | |
download | zsh-7529c2a1585e099c15ec7ab11b14bfad2e02135f.tar.gz zsh-7529c2a1585e099c15ec7ab11b14bfad2e02135f.tar.xz zsh-7529c2a1585e099c15ec7ab11b14bfad2e02135f.zip |
Some more typeset tests and fix for nested asignment
Diffstat (limited to 'Src')
-rw-r--r-- | Src/parse.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Src/parse.c b/Src/parse.c index 5357851b8..477f8a0ab 100644 --- a/Src/parse.c +++ b/Src/parse.c @@ -1898,10 +1898,18 @@ par_simple(int *cmplx, int nr) parr = ecadd(0); ecstr(tokstr); cmdpush(CS_ARRAY); + /* + * Careful here: this must be the typeset case, + * but we need to tell the lexer not to look + * for assignments until we've finished the + * present one. + */ + intypeset = 0; zshlex(); n = par_nl_wordlist(); ecbuf[parr] = WCB_ASSIGN(WC_ASSIGN_ARRAY, WC_ASSIGN_NEW, n); cmdpop(); + intypeset = 1; if (tok != OUTPAR) YYERROR(oecused); zshlex(); |