aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/globals.h5
-rw-r--r--src/nvim/search.c12
-rw-r--r--src/nvim/testdir/test_visual.vim7
-rw-r--r--src/nvim/version.c4
4 files changed, 20 insertions, 8 deletions
diff --git a/src/nvim/globals.h b/src/nvim/globals.h
index 2ee72cdb6a..300e506854 100644
--- a/src/nvim/globals.h
+++ b/src/nvim/globals.h
@@ -1146,8 +1146,9 @@ EXTERN char_u e_winheight[] INIT(= N_(
EXTERN char_u e_winwidth[] INIT(= N_(
"E592: 'winwidth' cannot be smaller than 'winminwidth'"));
EXTERN char_u e_write[] INIT(= N_("E80: Error while writing"));
-EXTERN char_u e_zerocount[] INIT(= N_("Zero count"));
-EXTERN char_u e_usingsid[] INIT(= N_("E81: Using <SID> not in a script context"));
+EXTERN char_u e_zerocount[] INIT(= N_("E939: Positive count required"));
+EXTERN char_u e_usingsid[] INIT(= N_(
+ "E81: Using <SID> not in a script context"));
EXTERN char_u e_intern2[] INIT(= N_("E685: Internal error: %s"));
EXTERN char_u e_maxmempat[] INIT(= N_(
"E363: pattern uses more memory than 'maxmempattern'"));
diff --git a/src/nvim/search.c b/src/nvim/search.c
index 1bf2317d2a..387614fd09 100644
--- a/src/nvim/search.c
+++ b/src/nvim/search.c
@@ -3557,11 +3557,15 @@ extend:
--start_lnum;
if (VIsual_active) {
- /* Problem: when doing "Vipipip" nothing happens in a single white
- * line, we get stuck there. Trap this here. */
- if (VIsual_mode == 'V' && start_lnum == curwin->w_cursor.lnum)
+ // Problem: when doing "Vipipip" nothing happens in a single white
+ // line, we get stuck there. Trap this here.
+ if (VIsual_mode == 'V' && start_lnum == curwin->w_cursor.lnum) {
goto extend;
- VIsual.lnum = start_lnum;
+ }
+ if (VIsual.lnum != start_lnum) {
+ VIsual.lnum = start_lnum;
+ VIsual.col = 0;
+ }
VIsual_mode = 'V';
redraw_curbuf_later(INVERTED); /* update the inversion */
showmode();
diff --git a/src/nvim/testdir/test_visual.vim b/src/nvim/testdir/test_visual.vim
index 74c26e3d66..8cb59ca32a 100644
--- a/src/nvim/testdir/test_visual.vim
+++ b/src/nvim/testdir/test_visual.vim
@@ -28,3 +28,10 @@ func Test_Visual_ctrl_o()
set tw&
bw!
endfu
+
+func Test_Visual_vapo()
+ new
+ normal oxx
+ normal vapo
+ bwipe!
+endfunc
diff --git a/src/nvim/version.c b/src/nvim/version.c
index fa8b495703..b0d4e194fa 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -773,9 +773,9 @@ static const int included_patches[] = {
333,
// 332,
331,
- // 330,
+ 330,
// 329,
- // 328,
+ 328,
327,
326,
325,