BASH PATCH REPORT
                            =================

Bash-Release:   4.4
Patch-ID:       bash44-023

Bug-Reported-by:        Martijn Dekker <[email protected]>
Bug-Reference-ID:       <[email protected]>
Bug-Reference-URL:      http://lists.gnu.org/archive/html/bug-bash/2016-11/msg00041.html

Bug-Description:

When sourcing a file from an interactive shell, setting the SIGINT handler
to the default and typing ^C will cause the shell to exit.

Patch (apply with `patch -p0'):

*** ../bash-4.4-patched/builtins/trap.def       2016-01-25 13:32:38.000000000 -0500
--- builtins/trap.def   2016-11-06 12:04:35.000000000 -0500
***************
*** 99,102 ****
--- 99,103 ----

 extern int posixly_correct, subshell_environment;
+ extern int sourcelevel, running_trap;

 int
***************
*** 213,216 ****
--- 214,220 ----
                       if (interactive)
                         set_signal_handler (SIGINT, sigint_sighandler);
+                       /* special cases for interactive == 0 */
+                       else if (interactive_shell && (sourcelevel||running_trap))
+                         set_signal_handler (SIGINT, sigint_sighandler);
                       else
                         set_signal_handler (SIGINT, termsig_sighandler);
*** ../bash-4.4/patchlevel.h    2016-06-22 14:51:03.000000000 -0400
--- patchlevel.h        2016-10-01 11:01:28.000000000 -0400
***************
*** 26,30 ****
    looks for to find the patch level (for the sccs version string). */

! #define PATCHLEVEL 22

 #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
    looks for to find the patch level (for the sccs version string). */

! #define PATCHLEVEL 23

 #endif /* _PATCHLEVEL_H_ */