]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.3.529 v7.3.529
authorBram Moolenaar <Bram@vim.org>
Fri, 25 May 2012 11:12:36 +0000 (13:12 +0200)
committerBram Moolenaar <Bram@vim.org>
Fri, 25 May 2012 11:12:36 +0000 (13:12 +0200)
Problem:    Using a count before "v" and "V" does not work (Kikyous)
Solution:   Make the count select that many characters or lines. (Christian
            Brabandt)

src/normal.c
src/version.c

index e3a02553f9d31320d7862c44ae48ca3583f069c1..3c66a37734f6d47f60baae62a41a05a788f37f7b 100644 (file)
@@ -7660,13 +7660,9 @@ nv_visual(cap)
     else                   /* start Visual mode */
     {
        check_visual_highlight();
-       if (cap->count0)                    /* use previously selected part */
+       if (cap->count0 > 0 && resel_VIsual_mode != NUL)
        {
-           if (resel_VIsual_mode == NUL)   /* there is none */
-           {
-               beep_flush();
-               return;
-           }
+           /* use previously selected part */
            VIsual = curwin->w_cursor;
 
            VIsual_active = TRUE;
@@ -7725,6 +7721,16 @@ nv_visual(cap)
                /* start Select mode when 'selectmode' contains "cmd" */
                may_start_select('c');
            n_start_visual_mode(cap->cmdchar);
+           if (VIsual_mode != 'V' && *p_sel == 'e')
+               ++cap->count1;  /* include one more char */
+           if (cap->count0 > 0 && --cap->count1 > 0)
+           {
+               /* With a count select that many characters or lines. */
+               if (VIsual_mode == 'v' || VIsual_mode == Ctrl_V)
+                   nv_right(cap);
+               else if (VIsual_mode == 'V')
+                   nv_down(cap);
+           }
        }
     }
 }
index 7664b3600a99b15638fabf93b81430992923c8f4..fa1313acde56993fb1804bc4f16519e33d0e3133 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    529,
 /**/
     528,
 /**/