commit bash-20090806 snapshot

This commit is contained in:
Chet Ramey
2011-12-08 20:13:46 -05:00
parent 9dd88db757
commit 3eb2d94ad7
47 changed files with 8193 additions and 6281 deletions
+20 -1
View File
@@ -891,11 +891,30 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
#if defined (COND_COMMAND)
case cm_cond:
was_error_trap = signal_is_trapped (ERROR_TRAP) && signal_is_ignored (ERROR_TRAP) == 0;
if (ignore_return)
command->value.Cond->flags |= CMD_IGNORE_RETURN;
save_line_number = line_number;
line_number_for_err_trap = save_line_number = line_number;
exec_result = execute_cond_command (command->value.Cond);
line_number = save_line_number;
if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
{
last_command_exit_value = exec_result;
save_line_number = line_number;
line_number = line_number_for_err_trap;
run_error_trap ();
line_number = save_line_number;
}
if (ignore_return == 0 && invert == 0 && exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)
{
last_command_exit_value = exec_result;
run_pending_traps ();
jump_to_top_level (ERREXIT);
}
break;
#endif