# HG changeset patch # User Bram Moolenaar # Date 1337944356 -7200 # Node ID d83218a156dd8258a5f2f3ae019c56f3e8851d48 # Parent 77433df8dabb92e79d42da4093370f09ed1ba2e5 updated for version 7.3.529 Problem: Using a count before "v" and "V" does not work (Kikyous) Solution: Make the count select that many characters or lines. (Christian Brabandt) diff --git a/src/normal.c b/src/normal.c --- a/src/normal.c +++ b/src/normal.c @@ -7660,13 +7660,9 @@ nv_visual(cap) else /* start Visual mode */ { check_visual_highlight(); - if (cap->count0) /* use previously selected part */ - { - if (resel_VIsual_mode == NUL) /* there is none */ - { - beep_flush(); - return; - } + if (cap->count0 > 0 && resel_VIsual_mode != NUL) + { + /* 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); + } } } } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 529, +/**/ 528, /**/ 527,