diff options
-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 |