mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
This fixes erroneous syntax errors in parameter expansions such as
${var:-wor)d} or ${var+w(ord}. The parentheses now correctly lose
their normal grammatical meaning within the braces. Fix by Eric
Scrivner (@etscrivner) from July 2018 backported from ksh2020.
This fix complies with POSIX:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02
src/cmd/ksh93/sh/lex.c: sh_lex():
- Set the ST_QUOTE state when analysing a modifier with parameter
expansions using operators ':', '-', '+', '='. This state causes
subsequent characters (including parentheses) to be considered
quoted, suppressing their normal grammatical meaning.
src/cmd/ksh93/sh/macro.c: varsub():
- Same for skipping the expansion.
Fixes: https://github.com/ksh93/ksh/issues/126
Prior discussion: https://github.com/att/ast/issues/475
This commit is contained in:
parent
b3d37b00b0
commit
5ed9ffd6c4
5 changed files with 48 additions and 2 deletions
6
NEWS
6
NEWS
|
|
@ -3,6 +3,12 @@ For full details, see the git log at: https://github.com/ksh93/ksh
|
|||
|
||||
Any uppercase BUG_* names are modernish shell bug IDs.
|
||||
|
||||
2020-09-05:
|
||||
|
||||
- Fixed erroneous syntax errors in parameter expansions such as ${var:-wor)d}
|
||||
or ${var+w(ord}. The parentheses now correctly lose their normal grammatical
|
||||
meaning within the braces. Fix by Eric Scrivner backported from ksh2020.
|
||||
|
||||
2020-09-04:
|
||||
|
||||
- Fixed a bug that caused a syntax error to be thrown if the special parameter
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue