summaryrefslogtreecommitdiff
path: root/debian/patches/bash43-019.diff
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-08 11:48:42 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-08 11:48:42 +0400
commit597d7d4d9df6e688e766f1da1c7de92b191fbde9 (patch)
treee758dd00a56a9039deba2abab755033466bd0cbf /debian/patches/bash43-019.diff
downloadbash-597d7d4d9df6e688e766f1da1c7de92b191fbde9.tar.gz
Debian bash 4.3-11debian/4.3-11debian
Diffstat (limited to 'debian/patches/bash43-019.diff')
-rw-r--r--debian/patches/bash43-019.diff83
1 files changed, 83 insertions, 0 deletions
diff --git a/debian/patches/bash43-019.diff b/debian/patches/bash43-019.diff
new file mode 100644
index 0000000..333a174
--- /dev/null
+++ b/debian/patches/bash43-019.diff
@@ -0,0 +1,83 @@
+# DP: bash43-019 upstream patch
+
+ 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'):
+
+Index: b/patchlevel.h
+===================================================================
+--- 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_ */
+Index: b/builtins/read.def
+===================================================================
+--- 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;
+Index: b/lib/readline/input.c
+===================================================================
+--- 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) ();