diff options
author | Peter Stephenson <pws@zsh.org> | 2016-01-20 11:22:09 +0000 |
---|---|---|
committer | Peter Stephenson <pws@zsh.org> | 2016-01-20 11:22:09 +0000 |
commit | 1c41f98aabc20fce8a1eb8fd7d1b6baabfa1dea5 (patch) | |
tree | 7a5d15c093d44450910c24801141c6a8e348fb03 | |
parent | d18ce35d060163ea0d531170b65e1c38311af166 (diff) | |
download | zsh-1c41f98aabc20fce8a1eb8fd7d1b6baabfa1dea5.tar.gz zsh-1c41f98aabc20fce8a1eb8fd7d1b6baabfa1dea5.tar.xz zsh-1c41f98aabc20fce8a1eb8fd7d1b6baabfa1dea5.zip |
37705: don't turn - to Dash after start of brace parameter
-rw-r--r-- | Src/lex.c | 6 | ||||
-rw-r--r-- | Test/D04parameter.ztst | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Src/lex.c b/Src/lex.c index 3ea878c7b..23b0a1cd9 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -1026,8 +1026,10 @@ gettokstr(int c, int sub) c = Inbrace; ++bct; cmdpush(CS_BRACEPAR); - if (!in_brace_param) - in_brace_param = bct; + if (!in_brace_param) { + if ((in_brace_param = bct)) + seen_brct = 0; + } } else { hungetc(e); lexstop = 0; diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst index bcea980ad..a6817fe22 100644 --- a/Test/D04parameter.ztst +++ b/Test/D04parameter.ztst @@ -1880,3 +1880,9 @@ >'two words' >'three so-called '\''words'\' >'three so-called ''words''' + + array=(one two three) + array[1]=${nonexistent:-foo} + print $array +0:"-" works after "[" in same expression (Dash problem) +>foo two three |