SOURCES: bash32-016 (NEW), bash32-017 (NEW) - from upstream

glen glen at pld-linux.org
Mon May 14 20:02:14 CEST 2007


Author: glen                         Date: Mon May 14 18:02:14 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from upstream

---- Files affected:
SOURCES:
   bash32-016 (NONE -> 1.1)  (NEW), bash32-017 (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/bash32-016
diff -u /dev/null SOURCES/bash32-016:1.1
--- /dev/null	Mon May 14 20:02:14 2007
+++ SOURCES/bash32-016	Mon May 14 20:02:09 2007
@@ -0,0 +1,52 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-016
+
+Bug-Reported-by: Peter Volkov <torre_cremata at mail.ru>
+Bug-Reference-ID: <1171795523.8021.18.camel at localhost>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-02/msg00054.html
+
+Bug-Description:
+
+When moving the cursor, bash sometimes misplaces the cursor when the prompt
+contains two or more multibyte characters.  The particular circumstance that
+uncovered the problem was having the (multibyte) current directory name in
+the prompt string.
+
+Patch:
+
+*** ../bash-3.2/lib/readline/display.c	Fri Jan 19 13:34:50 2007
+--- lib/readline/display.c	Sat Mar 10 17:25:44 2007
+***************
+*** 1745,1749 ****
+      {
+        dpos = _rl_col_width (data, 0, new);
+!       if (dpos > prompt_last_invisible)		/* XXX - don't use woff here */
+  	{
+  	  dpos -= woff;
+--- 1745,1752 ----
+      {
+        dpos = _rl_col_width (data, 0, new);
+!       /* Use NEW when comparing against the last invisible character in the
+! 	 prompt string, since they're both buffer indices and DPOS is a
+! 	 desired display position. */
+!       if (new > prompt_last_invisible)		/* XXX - don't use woff here */
+  	{
+  	  dpos -= woff;
+*** ../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 15
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 16
+  
+  #endif /* _PATCHLEVEL_H_ */

================================================================
Index: SOURCES/bash32-017
diff -u /dev/null SOURCES/bash32-017:1.1
--- /dev/null	Mon May 14 20:02:14 2007
+++ SOURCES/bash32-017	Mon May 14 20:02:09 2007
@@ -0,0 +1,85 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-017
+
+Bug-Reported-by: Peter Volkov <torre_cremata at mail.ru>
+Bug-Reference-ID: <1173636022.7039.36.camel at localhost>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html
+
+Bug-Description:
+
+When restoring the original prompt after finishing an incremental search,
+bash sometimes places the cursor incorrectly if the primary prompt contains
+invisible characters.
+
+Patch:
+
+*** ../bash-3.2.16/lib/readline/display.c	Fri Apr 20 13:30:16 2007
+--- lib/readline/display.c	Fri Apr 20 15:17:01 2007
+***************
+*** 1599,1604 ****
+  	  if (temp > 0)
+  	    {
+  	      _rl_output_some_chars (nfd, temp);
+! 	      _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
+  	    }
+  	}
+--- 1599,1618 ----
+  	  if (temp > 0)
+  	    {
++ 	      /* If nfd begins at the prompt, or before the invisible
++ 		 characters in the prompt, we need to adjust _rl_last_c_pos
++ 		 in a multibyte locale to account for the wrap offset and
++ 		 set cpos_adjusted accordingly. */
+  	      _rl_output_some_chars (nfd, temp);
+! 	      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
+! 		{
+!                   _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
+!                   if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible))
+! 		    {
+! 		      _rl_last_c_pos -= wrap_offset;
+! 		      cpos_adjusted = 1;
+! 		    }
+! 		}
+!               else
+!                 _rl_last_c_pos += temp;
+  	    }
+  	}
+***************
+*** 1608,1613 ****
+--- 1622,1639 ----
+  	  if (temp > 0)
+  	    {
++ 	      /* If nfd begins at the prompt, or before the invisible
++ 		 characters in the prompt, we need to adjust _rl_last_c_pos
++ 		 in a multibyte locale to account for the wrap offset and
++ 		 set cpos_adjusted accordingly. */
+  	      _rl_output_some_chars (nfd, temp);
+  	      _rl_last_c_pos += col_temp;		/* XXX */
++ 	      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
++ 		{
++ 		  if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible))
++ 		    {
++ 		      _rl_last_c_pos -= wrap_offset;
++ 		      cpos_adjusted = 1;
++ 		    }
++ 		}
+  	    }
+  	  lendiff = (oe - old) - (ne - new);
+*** ../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 16
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 17
+  
+  #endif /* _PATCHLEVEL_H_ */
================================================================


More information about the pld-cvs-commit mailing list