f50e14632f
Upstream email: parser: Fix parameter expansion inside inner double quotes The parsing of parameter expansion inside inner double quotes breaks because we never look for ENDVAR while innerdq is true. echo "${x#"${x+''}"''} This patch fixes it by pushing the syntax stack if innerdq is true and we enter a new parameter expansion. This patch also fixes a corner case where a bad substitution error occurs within arithmetic expansion. Reported-by: Denys Vlasenko <vda.linux@googlemail.com> Fixes: ab1cecb40478 (" parser: Add syntax stack for recursive...") Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> function old new delta readtoken1 2880 2898 +18 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> |
||
---|---|---|
.. | ||
bkslash_case1.right | ||
bkslash_case1.tests | ||
bkslash_case2.right | ||
bkslash_case2.tests | ||
bkslash_in_varexp1.right | ||
bkslash_in_varexp1.tests | ||
bkslash_in_varexp.right | ||
bkslash_in_varexp.tests | ||
dollar_repl_slash_bash1.right | ||
dollar_repl_slash_bash1.tests | ||
dollar_repl_slash_bash2.right | ||
dollar_repl_slash_bash2.tests | ||
dollar_squote_bash1.right | ||
dollar_squote_bash1.tests | ||
dollar_squote_bash2.right | ||
dollar_squote_bash2.tests | ||
mode_x.right | ||
mode_x.tests | ||
quote_in_varexp1.right | ||
quote_in_varexp1.tests | ||
quoted_punct.right | ||
quoted_punct.tests | ||
squote_in_varexp1.right | ||
squote_in_varexp1.tests | ||
squote_in_varexp2.right | ||
squote_in_varexp2.tests | ||
squote_in_varexp3.right | ||
squote_in_varexp3.tests | ||
squote_in_varexp.right | ||
squote_in_varexp.tests | ||
unicode_8x_chars.right | ||
unicode_8x_chars.tests |