77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 			   READLINE PATCH REPORT
 | |
| 			   =====================
 | |
| 
 | |
| Readline-Release: 6.2
 | |
| Patch-ID: readline62-003
 | |
| 
 | |
| 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 readline-6.1 and readline-6.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 readline-6.2 behavior.
 | |
| 
 | |
| Patch (apply with `patch -p0'):
 | |
| 
 | |
| *** ../readline-6.2-patched/input.c	2010-05-30 18:33:01.000000000 -0400
 | |
| --- 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');
 | |
| *** ../readline-6.2-patched/patchlevel	2010-01-14 10:15:52.000000000 -0500
 | |
| --- patchlevel	2011-11-17 11:09:35.000000000 -0500
 | |
| ***************
 | |
| *** 1,3 ****
 | |
|   # Do not edit -- exists only for use by patch
 | |
|   
 | |
| ! 2
 | |
| --- 1,3 ----
 | |
|   # Do not edit -- exists only for use by patch
 | |
|   
 | |
| ! 3
 |