fix for command substitution string parsing that resulted in top-level unwind-protects being run in the wrong spot; fix for delimiter byte being part of invalid multibyte character in read builtin

This commit is contained in:
Chet Ramey
2025-05-04 17:21:25 -04:00
parent 15df599354
commit 535a8150b6
11 changed files with 142 additions and 74 deletions
+4
View File
@@ -4669,7 +4669,11 @@ execute_simple_command (SIMPLE_COM *simple_command, int pipe_in, int pipe_out, i
builtin_is_special = 1;
}
if (builtin == 0)
#if 0 /*TAG bash-5.4 rob@landley.net 5/1/2025 */
func = ((shell_compatibility_level <= 52 && posixly_correct == 0) || absolute_program (words->word->word) == 0) ? find_function (words->word->word) : 0;
#else
func = (posixly_correct == 0 || absolute_program (words->word->word) == 0) ? find_function (words->word->word) : 0;
#endif
}
/* What happens in posix mode when an assignment preceding a command name