Maybe this is not caused by the change of this time, but another related problem. When the nested command substitutions are incomplete, an error message of the (false) syntax error is printed before PS2. The command is still executed correctly after closing the command substitutions.
$ LANG=C ./bash --norc $ echo $(echo $(echo A bash: command substitution: line 3: unexpected EOF while looking for matching `)' > ) > echo B > ) A B $ A non-nested command substitution works as expected. $ echo $(echo A > ) A $ Actually, Bash 5.1 seems to have behaved in an even stranger way. It shows a new PS1 after the error message, but we can still continue to input the remaining part of the previous command and run it correctly: $ LANG=C bash-5.1 --norc $ echo $(echo $(echo A bash-5.1: unexpected EOF while looking for matching `)' $ ) > echo B > ) A B $ The behavior of Bash 5.0 is the expected one: $ LANG=C bash-5.0 --norc $ echo $(echo $(echo A > ) > echo B > ) A B -- Koichi 2021年6月23日(水) 5:41 Chet Ramey <chet.ra...@case.edu>: > > The latest devel branch push has a rewrite of parse_comsub() to recursively > call the parser (yyparse()). I was finally able to get all the state > working correctly, though it will probably only work with bison. > > Please run it through any tests or scripts you have so we can shake out any > bugs early. > > Chet > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/ >