- Added bash32-027 upstream official patch (#249987) - Added bash32-028 upstream official patch - Added bash32-029 upstream official patch (#286861) - Added bash32-030 upstream official patch - Added bash32-031 upstream official patch (#358231) - Added bash32-032 upstream official patch - Added bash32-033 upstream official patch - Fix insert command repeating in vi mode (#190350)
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 			     BASH PATCH REPORT
 | |
| 			     =================
 | |
| 
 | |
| Bash-Release: 3.2
 | |
| Patch-ID: bash32-027
 | |
| 
 | |
| Bug-Reported-by:	dAniel hAhler <ubuntu@thequod.de>
 | |
| Bug-Reference-ID:	<4702ED8A.5000503@thequod.de>
 | |
| Bug-Reference-URL:	https://bugs.launchpad.net/ubuntu/+source/bash/+bug/119938
 | |
| 
 | |
| Bug-Description:
 | |
| 
 | |
| When updating the display after displaying, for instance, a list of possible
 | |
| completions, readline will place the cursor at the wrong position if the
 | |
| prompt contains invisible characters and a newline.
 | |
| 
 | |
| Patch:
 | |
| 
 | |
| *** ../bash-3.2.25/lib/readline/display.c	Mon Aug  6 14:26:29 2007
 | |
| --- lib/readline/display.c	Wed Oct 10 22:43:58 2007
 | |
| ***************
 | |
| *** 1049,1053 ****
 | |
|   	      else
 | |
|   		tx = nleft;
 | |
| ! 	      if (_rl_last_c_pos > tx)
 | |
|   		{
 | |
|   	          _rl_backspace (_rl_last_c_pos - tx);	/* XXX */
 | |
| --- 1049,1053 ----
 | |
|   	      else
 | |
|   		tx = nleft;
 | |
| ! 	      if (tx >= 0 && _rl_last_c_pos > tx)
 | |
|   		{
 | |
|   	          _rl_backspace (_rl_last_c_pos - tx);	/* XXX */
 | |
| ***************
 | |
| *** 1205,1209 ****
 | |
|   {
 | |
|     register char *ofd, *ols, *oe, *nfd, *nls, *ne;
 | |
| !   int temp, lendiff, wsatend, od, nd;
 | |
|     int current_invis_chars;
 | |
|     int col_lendiff, col_temp;
 | |
| --- 1205,1209 ----
 | |
|   {
 | |
|     register char *ofd, *ols, *oe, *nfd, *nls, *ne;
 | |
| !   int temp, lendiff, wsatend, od, nd, o_cpos;
 | |
|     int current_invis_chars;
 | |
|     int col_lendiff, col_temp;
 | |
| ***************
 | |
| *** 1466,1469 ****
 | |
| --- 1466,1471 ----
 | |
|       }
 | |
|   
 | |
| +   o_cpos = _rl_last_c_pos;
 | |
| + 
 | |
|     /* When this function returns, _rl_last_c_pos is correct, and an absolute
 | |
|        cursor postion in multibyte mode, but a buffer index when not in a
 | |
| ***************
 | |
| *** 1475,1479 ****
 | |
|        invisible characters in the prompt string.  Let's see if setting this when
 | |
|        we make sure we're at the end of the drawn prompt string works. */
 | |
| !   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars)
 | |
|       cpos_adjusted = 1;
 | |
|   #endif
 | |
| --- 1477,1483 ----
 | |
|        invisible characters in the prompt string.  Let's see if setting this when
 | |
|        we make sure we're at the end of the drawn prompt string works. */
 | |
| !   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && 
 | |
| !       (_rl_last_c_pos > 0 || o_cpos > 0) &&
 | |
| !       _rl_last_c_pos == prompt_physical_chars)
 | |
|       cpos_adjusted = 1;
 | |
|   #endif
 | |
| *** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006
 | |
| --- patchlevel.h	Mon Oct 16 14:22:54 2006
 | |
| ***************
 | |
| *** 26,30 ****
 | |
|      looks for to find the patch level (for the sccs version string). */
 | |
|   
 | |
| ! #define PATCHLEVEL 26
 | |
|   
 | |
|   #endif /* _PATCHLEVEL_H_ */
 | |
| --- 26,30 ----
 | |
|      looks for to find the patch level (for the sccs version string). */
 | |
|   
 | |
| ! #define PATCHLEVEL 27
 | |
|   
 | |
|   #endif /* _PATCHLEVEL_H_ */
 |