summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-05-25 13:12:36 +0200
committerBram Moolenaar <Bram@vim.org>2012-05-25 13:12:36 +0200
commit6057b9c658d9f05286675ee417bf1de9d3ca5aff (patch)
tree5894685d1d9f1439639f74a018a2af6a63f9955a
parentbef1c36ab66a387dbcc87c424030e0cdcb728e69 (diff)
updated for version 7.3.529v7.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)
-rw-r--r--src/normal.c18
-rw-r--r--src/version.c2
2 files changed, 14 insertions, 6 deletions
diff --git a/src/normal.c b/src/normal.c
index e3a02553f9..3c66a37734 100644
--- 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 (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);
+ }
}
}
}
diff --git a/src/version.c b/src/version.c
index 7664b3600a..fa1313acde 100644
--- 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,