fix for interactive shell parser reset issue; fix for nested array subscript quoting issue; fix for process substitutions being closed to early in for loops

This commit is contained in:
Chet Ramey
2022-10-24 10:09:52 -04:00
parent 5d423d8ab3
commit 6711d2dc77
8 changed files with 56 additions and 18 deletions
+6 -3
View File
@@ -393,7 +393,8 @@ top_level_cleanup ()
run_unwind_protects ();
loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
executing_list = retain_fifos = 0;
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
}
/* What to do when we've been interrupted, and it is safe to handle it. */
@@ -454,7 +455,8 @@ throw_to_top_level ()
run_unwind_protects ();
loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
executing_list = retain_fifos = 0;
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
if (interactive && print_newline)
{
@@ -617,7 +619,8 @@ termsig_handler (sig)
/* Reset execution context */
loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
executing_list = retain_fifos = 0;
comsub_ignore_return = return_catch_flag = wait_intr_flag = 0;
run_exit_trap (); /* XXX - run exit trap possibly in signal context? */