Karsten Hopp d0154f
To: vim-dev@vim.org
Karsten Hopp d0154f
Subject: Patch 7.1.259
Karsten Hopp d0154f
Fcc: outbox
Karsten Hopp d0154f
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp d0154f
Mime-Version: 1.0
Karsten Hopp d0154f
Content-Type: text/plain; charset=ISO-8859-1
Karsten Hopp d0154f
Content-Transfer-Encoding: 8bit
Karsten Hopp d0154f
------------
Karsten Hopp d0154f
Karsten Hopp d0154f
Patch 7.1.259
Karsten Hopp d0154f
Problem:    Cursor is in the wrong position when 'rightleft' is set,
Karsten Hopp d0154f
	    'encoding' is "utf-8" and on an illegal byte.  (Dominique Pelle)
Karsten Hopp d0154f
Solution:   Only put the cursor in the first column when actually on a
Karsten Hopp d0154f
	    double-wide character.  (Yukihiro Nakadaira)
Karsten Hopp d0154f
Files:	    src/screen.c
Karsten Hopp d0154f
Karsten Hopp d0154f
Karsten Hopp d0154f
*** ../vim-7.1.258/src/screen.c	Wed Feb 13 21:48:24 2008
Karsten Hopp d0154f
--- src/screen.c	Wed Feb 20 14:06:26 2008
Karsten Hopp d0154f
***************
Karsten Hopp d0154f
*** 8045,8053 ****
Karsten Hopp d0154f
  	windgoto(W_WINROW(curwin) + curwin->w_wrow,
Karsten Hopp d0154f
  		W_WINCOL(curwin) + (
Karsten Hopp d0154f
  #ifdef FEAT_RIGHTLEFT
Karsten Hopp d0154f
  		curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - (
Karsten Hopp d0154f
  # ifdef FEAT_MBYTE
Karsten Hopp d0154f
! 			has_mbyte ? (*mb_ptr2cells)(ml_get_cursor()) :
Karsten Hopp d0154f
  # endif
Karsten Hopp d0154f
  			1)) :
Karsten Hopp d0154f
  #endif
Karsten Hopp d0154f
--- 8045,8057 ----
Karsten Hopp d0154f
  	windgoto(W_WINROW(curwin) + curwin->w_wrow,
Karsten Hopp d0154f
  		W_WINCOL(curwin) + (
Karsten Hopp d0154f
  #ifdef FEAT_RIGHTLEFT
Karsten Hopp d0154f
+ 		/* With 'rightleft' set and the cursor on a double-wide
Karsten Hopp d0154f
+ 		 * character, position it on the leftmost column. */
Karsten Hopp d0154f
  		curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - (
Karsten Hopp d0154f
  # ifdef FEAT_MBYTE
Karsten Hopp d0154f
! 			(has_mbyte
Karsten Hopp d0154f
! 			   && (*mb_ptr2cells)(ml_get_cursor()) == 2
Karsten Hopp d0154f
! 			   && vim_isprintc(gchar_cursor())) ? 2 :
Karsten Hopp d0154f
  # endif
Karsten Hopp d0154f
  			1)) :
Karsten Hopp d0154f
  #endif
Karsten Hopp d0154f
*** ../vim-7.1.258/src/version.c	Wed Feb 20 13:41:14 2008
Karsten Hopp d0154f
--- src/version.c	Wed Feb 20 14:10:23 2008
Karsten Hopp d0154f
***************
Karsten Hopp d0154f
*** 668,669 ****
Karsten Hopp d0154f
--- 668,671 ----
Karsten Hopp d0154f
  {   /* Add new patch number below this line */
Karsten Hopp d0154f
+ /**/
Karsten Hopp d0154f
+     259,
Karsten Hopp d0154f
  /**/
Karsten Hopp d0154f
Karsten Hopp d0154f
-- 
Karsten Hopp d0154f
A day without sunshine is like, well, night.
Karsten Hopp d0154f
Karsten Hopp d0154f
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp d0154f
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp d0154f
\\\        download, build and distribute -- http://www.A-A-P.org        ///
Karsten Hopp d0154f
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///