Blob Blame History Raw
To: vim-dev@vim.org
Subject: Patch 7.1.259
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------

Patch 7.1.259
Problem:    Cursor is in the wrong position when 'rightleft' is set,
	    'encoding' is "utf-8" and on an illegal byte.  (Dominique Pelle)
Solution:   Only put the cursor in the first column when actually on a
	    double-wide character.  (Yukihiro Nakadaira)
Files:	    src/screen.c


*** ../vim-7.1.258/src/screen.c	Wed Feb 13 21:48:24 2008
--- src/screen.c	Wed Feb 20 14:06:26 2008
***************
*** 8045,8053 ****
  	windgoto(W_WINROW(curwin) + curwin->w_wrow,
  		W_WINCOL(curwin) + (
  #ifdef FEAT_RIGHTLEFT
  		curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - (
  # ifdef FEAT_MBYTE
! 			has_mbyte ? (*mb_ptr2cells)(ml_get_cursor()) :
  # endif
  			1)) :
  #endif
--- 8045,8057 ----
  	windgoto(W_WINROW(curwin) + curwin->w_wrow,
  		W_WINCOL(curwin) + (
  #ifdef FEAT_RIGHTLEFT
+ 		/* With 'rightleft' set and the cursor on a double-wide
+ 		 * character, position it on the leftmost column. */
  		curwin->w_p_rl ? ((int)W_WIDTH(curwin) - curwin->w_wcol - (
  # ifdef FEAT_MBYTE
! 			(has_mbyte
! 			   && (*mb_ptr2cells)(ml_get_cursor()) == 2
! 			   && vim_isprintc(gchar_cursor())) ? 2 :
  # endif
  			1)) :
  #endif
*** ../vim-7.1.258/src/version.c	Wed Feb 20 13:41:14 2008
--- src/version.c	Wed Feb 20 14:10:23 2008
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     259,
  /**/

-- 
A day without sunshine is like, well, night.

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///