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
							 |