1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- BASH PATCH REPORT
- =================
- Bash-Release: 4.2
- Patch-ID: bash42-031
- Bug-Reported-by: Max Horn <max@quendi.de>
- Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de>
- Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html
- Bug-Description:
- A change between bash-4.1 and bash-4.2 to prevent the readline input hook
- from being called too frequently had the side effect of causing delays
- when reading pasted input on systems such as Mac OS X. This patch fixes
- those delays while retaining the bash-4.2 behavior.
- Patch (apply with `patch -p0'):
- *** ../bash-4.2-patched/lib/readline/input.c 2010-05-30 18:33:01.000000000 -0400
- --- ./lib/readline/input.c 2012-06-25 21:08:42.000000000 -0400
- ***************
- *** 410,414 ****
- rl_read_key ()
- {
- ! int c;
-
- rl_key_sequence_length++;
- --- 412,416 ----
- rl_read_key ()
- {
- ! int c, r;
-
- rl_key_sequence_length++;
- ***************
- *** 430,441 ****
- while (rl_event_hook)
- {
- ! if (rl_gather_tyi () < 0) /* XXX - EIO */
- {
- rl_done = 1;
- return ('\n');
- }
- RL_CHECK_SIGNALS ();
- - if (rl_get_char (&c) != 0)
- - break;
- if (rl_done) /* XXX - experimental */
- return ('\n');
- --- 432,447 ----
- while (rl_event_hook)
- {
- ! if (rl_get_char (&c) != 0)
- ! break;
- !
- ! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */
- {
- rl_done = 1;
- return ('\n');
- }
- + else if (r == 1) /* read something */
- + continue;
- +
- RL_CHECK_SIGNALS ();
- if (rl_done) /* XXX - experimental */
- return ('\n');
- *** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
- --- ./patchlevel.h Thu Feb 24 21:41:34 2011
- ***************
- *** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
- ! #define PATCHLEVEL 30
-
- #endif /* _PATCHLEVEL_H_ */
- --- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
- ! #define PATCHLEVEL 31
-
- #endif /* _PATCHLEVEL_H_ */
|