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