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
index e3a0255..3c66a37 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7660,13 +7660,9 @@
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 @@
/* 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
index 7664b36..fa1313a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 529,
+/**/
528,
/**/
527,