]> git.pld-linux.org Git - packages/bash.git/blame - bash42-008
- release 2
[packages/bash.git] / bash42-008
CommitLineData
74aff021
AM
1 BASH PATCH REPORT
2 =================
3
4Bash-Release: 4.2
5Patch-ID: bash42-008
6
7Bug-Reported-by: Doug McMahon <mc2man@optonline.net>
8Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330>
9Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html
10
11Bug-Description:
12
13Bash-4.2 does not attempt to save the shell history on receipt of a
14terminating signal that is handled synchronously. Unfortunately, the
15`close' button on most X11 terminal emulators sends SIGHUP, which
16kills the shell.
17
18This is a very small patch to save the history in the case that an
19interactive shell receives a SIGHUP or SIGTERM while in readline and
20reading a command.
21
22The next version of bash will do this differently.
23
24Patch (apply with `patch -p0'):
25
26*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010
27--- sig.c Tue Mar 8 21:28:32 2011
28***************
29*** 47,50 ****
30--- 47,51 ----
31 #if defined (READLINE)
32 # include "bashline.h"
33+ # include <readline/readline.h>
34 #endif
35
36***************
37*** 63,66 ****
38--- 64,68 ----
39 extern int history_lines_this_session;
40 #endif
41+ extern int no_line_editing;
42
43 extern void initialize_siglist ();
44***************
45*** 506,510 ****
46 #if defined (HISTORY)
47 /* XXX - will inhibit history file being written */
48! history_lines_this_session = 0;
49 #endif
50 terminate_immediately = 0;
51--- 508,515 ----
52 #if defined (HISTORY)
53 /* XXX - will inhibit history file being written */
54! # if defined (READLINE)
55! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0))
56! # endif
57! history_lines_this_session = 0;
58 #endif
59 terminate_immediately = 0;
60*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
61--- patchlevel.h Thu Feb 24 21:41:34 2011
62***************
63*** 26,30 ****
64 looks for to find the patch level (for the sccs version string). */
65
66! #define PATCHLEVEL 7
67
68 #endif /* _PATCHLEVEL_H_ */
69--- 26,30 ----
70 looks for to find the patch level (for the sccs version string). */
71
72! #define PATCHLEVEL 8
73
74 #endif /* _PATCHLEVEL_H_ */
This page took 0.071043 seconds and 4 git commands to generate.