From 48ca00863af909461d1372998bb90549f27abaaf Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Tue, 3 Apr 2018 01:04:55 +0800 Subject: 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 Fixes: ab1cecb40478 (" parser: Add syntax stack for recursive...") Signed-off-by: Herbert Xu --- src/parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/parser.c b/src/parser.c index efa8060..8e40781 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1325,10 +1325,11 @@ badsub: pungetc(); } - if (newsyn == ARISYNTAX && subtype > VSNORMAL) + if (newsyn == ARISYNTAX) newsyn = DQSYNTAX; - if (newsyn != synstack->syntax) { + if ((newsyn != synstack->syntax || synstack->innerdq) && + subtype != VSNORMAL) { synstack_push(&synstack, synstack->prev ?: alloca(sizeof(*synstack)), -- cgit 1.4.1 f='/catgirl/tree/url.c?h=1.6&id=a91f975e9b86859f3605c75e42d52e73b1511101'>tree commit diff
Commit message (Expand)Author
2020-02-10Improve color fudgingJune McEnroe
2020-02-10Support all 99 IRC colorsJune McEnroe
2020-02-10Avoid coloring mentions if there are control codesJune McEnroe
2020-02-10Recalculate unreadLines on reflowJune McEnroe
2020-02-10Only make windows hotterJune McEnroe
2020-02-10Always increase unreadLinesJune McEnroe
2020-02-10Move scroll marker on resizeJune McEnroe
2020-02-10Update line count for words longer than linesJune McEnroe
2020-02-10Simplify mark, heat, unread trackingJune McEnroe
2020-02-10Update prompt when own nick changesJune McEnroe
2020-02-10Match URLs surrounded by parenthesesJune McEnroe
2020-02-10Fix M-a so it properly cycles back to where it startedJune McEnroe
2020-02-09Add M-lJune McEnroe
2020-02-09Add /whoisJune McEnroe
2020-02-09Add /msgJune McEnroe