Patch 7.0.199
Problem:    When using multi-byte characters the combination of completion and
            formatting may result in a wrong cursor position.
Solution:   Don't decrement the cursor column, use dec_cursor(). (Yukihiro
            Nakadaira)  Also check for the column to be zero.
Files:      src/edit.c


*** ../vim-7.0.198/src/edit.c   Sun Feb  4 02:37:40 2007
--- src/edit.c  Fri Feb 16 01:15:49 2007
***************
*** 3448,3458 ****
            }
            else
            {
                /* put the cursor on the last char, for 'tw' formatting */
!               curwin->w_cursor.col--;
                if (stop_arrow() == OK)
                    insertchar(NUL, 0, -1);
!               curwin->w_cursor.col++;
            }
  
            auto_format(FALSE, TRUE);
--- 3449,3464 ----
            }
            else
            {
+               int prev_col = curwin->w_cursor.col;
+ 
                /* put the cursor on the last char, for 'tw' formatting */
!               if (prev_col > 0)
!                   dec_cursor();
                if (stop_arrow() == OK)
                    insertchar(NUL, 0, -1);
!               if (prev_col > 0
!                            && ml_get_curline()[curwin->w_cursor.col] != NUL)
!                   inc_cursor();
            }
  
            auto_format(FALSE, TRUE);
*** ../vim-7.0.198/src/version.c        Tue Feb 20 03:18:20 2007
--- src/version.c       Tue Feb 20 03:32:12 2007
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     199,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
156. You forget your friend's name but not her e-mail address.

 /// Bram Moolenaar -- [EMAIL PROTECTED] -- 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    ///

Reply via email to