BASH PATCH REPORT
|
|
=================
|
|
|
|
Bash-Release: 4.3
|
|
Patch-ID: bash43-019
|
|
|
|
Bug-Reported-by: John Lenton
|
|
Bug-Reference-ID:
|
|
Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
|
|
|
|
Bug-Description:
|
|
|
|
The -t timeout option to `read' does not work when the -e option is used.
|
|
|
|
Patch (apply with `patch -p0'):
|
|
|
|
--- a/lib/readline/input.c
|
|
+++ b/lib/readline/input.c
|
|
@@ -534,8 +534,16 @@ rl_getc (stream)
|
|
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
|
|
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
|
|
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
|
|
+ /* keyboard-generated signals of interest */
|
|
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
|
|
RL_CHECK_SIGNALS ();
|
|
+ /* non-keyboard-generated signals of interest */
|
|
+ else if (_rl_caught_signal == SIGALRM
|
|
+#if defined (SIGVTALRM)
|
|
+ || _rl_caught_signal == SIGVTALRM
|
|
+#endif
|
|
+ )
|
|
+ RL_CHECK_SIGNALS ();
|
|
|
|
if (rl_signal_event_hook)
|
|
(*rl_signal_event_hook) ();
|
|
--- a/builtins/read.def
|
|
+++ b/builtins/read.def
|
|
@@ -442,7 +442,10 @@ read_builtin (list)
|
|
add_unwind_protect (reset_alarm, (char *)NULL);
|
|
#if defined (READLINE)
|
|
if (edit)
|
|
- add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
|
|
+ {
|
|
+ add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
|
|
+ add_unwind_protect (bashline_reset_event_hook, (char *)NULL);
|
|
+ }
|
|
#endif
|
|
falarm (tmsec, tmusec);
|
|
}
|
|
@@ -1021,6 +1024,7 @@ edit_line (p, itext)
|
|
|
|
old_attempted_completion_function = rl_attempted_completion_function;
|
|
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
|
|
+ bashline_set_event_hook ();
|
|
if (itext)
|
|
{
|
|
old_startup_hook = rl_startup_hook;
|
|
@@ -1032,6 +1036,7 @@ edit_line (p, itext)
|
|
|
|
rl_attempted_completion_function = old_attempted_completion_function;
|
|
old_attempted_completion_function = (rl_completion_func_t *)NULL;
|
|
+ bashline_reset_event_hook ();
|
|
|
|
if (ret == 0)
|
|
return ret;
|
|
--- a/patchlevel.h
|
|
+++ b/patchlevel.h
|
|
@@ -25,6 +25,6 @@
|
|
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
|
|
looks for to find the patch level (for the sccs version string). */
|
|
|
|
-#define PATCHLEVEL 18
|
|
+#define PATCHLEVEL 19
|
|
|
|
#endif /* _PATCHLEVEL_H_ */
|