diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2011-09-15 14:04:51 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2011-09-15 14:04:51 +0000 |
commit | 3dba9a8614e15292ef27cf81c202a39a37e4fff7 (patch) | |
tree | cf2a137cfcbe6cbfb20e3c0ef37477820a563c37 | |
parent | a0700c54400fdfbed7244354f2c207414558745b (diff) | |
download | zsh-3dba9a8614e15292ef27cf81c202a39a37e4fff7.tar.gz zsh-3dba9a8614e15292ef27cf81c202a39a37e4fff7.tar.xz zsh-3dba9a8614e15292ef27cf81c202a39a37e4fff7.zip |
29776: fix case of double quotes in double-quote-style
parsing where end character is something else
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Src/lex.c | 2 | ||||
-rw-r--r-- | Test/D08cmdsubst.ztst | 8 |
3 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index e05d71c6d..b52361aa6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-09-15 Peter Stephenson <pws@csr.com> + * 29776 (modified as noted): Src/lex.c, Test/D08cmdsubst.ztst: + double quotes are not special in double-quote-style parsing + if the end character is something else. + * 29773: Marco Hinz: Completion/Unix/Type/_perl_modules: complete some missed modules. @@ -15413,5 +15417,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5466 $ +* $Revision: 1.5467 $ ***************************************************** diff --git a/Src/lex.c b/Src/lex.c index 51aaa76ef..90c4effd9 100644 --- a/Src/lex.c +++ b/Src/lex.c @@ -1567,7 +1567,7 @@ dquote_parse(char endchar, int sub) err = (!brct-- && math); break; case '"': - if (intick || ((endchar == ']' || !endchar) && !bct)) + if (intick || (endchar != '"' && !bct)) break; if (bct) { add(Dnull); diff --git a/Test/D08cmdsubst.ztst b/Test/D08cmdsubst.ztst index 9962c6cad..5661b0aaa 100644 --- a/Test/D08cmdsubst.ztst +++ b/Test/D08cmdsubst.ztst @@ -98,3 +98,11 @@ echo `echo $?` 0:Non-empty command substitution inherits status >1 + + echo $(( ##\" )) + echo $(echo \") + echo $((echo \"); echo OK) +0:Handling of backslash double quote in parenthesised substitutions +>34 +>" +>" OK |