rcolebaugh / rpms / bash

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