aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ops.c12
-rw-r--r--src/nvim/testdir/test39.in9
-rw-r--r--src/nvim/testdir/test39.okbin514 -> 584 bytes
-rw-r--r--src/nvim/version.c2
4 files changed, 13 insertions, 10 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index 9b33b6732c..3cefc9f623 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -515,17 +515,17 @@ static void block_insert(oparg_T *oap, char_u *s, int b_insert, struct block_def
}
if (has_mbyte && spaces > 0) {
+ int off;
+
// Avoid starting halfway a multi-byte character.
if (b_insert) {
- int off = (*mb_head_off)(oldp, oldp + offset + spaces);
- spaces -= off;
- count -= off;
+ off = (*mb_head_off)(oldp, oldp + offset + spaces);
} else {
- int off = (*mb_off_next)(oldp, oldp + offset);
+ off = (*mb_off_next)(oldp, oldp + offset);
offset += off;
- spaces = 0;
- count = 0;
}
+ spaces -= off;
+ count -= off;
}
newp = (char_u *) xmalloc((size_t)(STRLEN(oldp) + s_len + count + 1));
diff --git a/src/nvim/testdir/test39.in b/src/nvim/testdir/test39.in
index 7d1c672522..18da1b245a 100644
--- a/src/nvim/testdir/test39.in
+++ b/src/nvim/testdir/test39.in
@@ -38,11 +38,14 @@ G$khhhhhkkcmno
/^C23$/
:exe ":norm! l\<C-V>j$hhAab\<Esc>"
:.,/^$/w >> test.out
-:" Test for Visual block insert when virtualedit=all
-:set ve=all
+:" Test for Visual block insert when virtualedit=all and utf-8 encoding
+:set ve=all enc=utf-8
:/\t\tline
:exe ":norm! 07l\<C-V>jjIx\<Esc>"
-:set ve=
+:.,/^$/w >> test.out
+:" Test for Visual block append when virtualedit=all
+:exe ":norm! 012l\<C-v>jjAx\<Esc>"
+:set ve= enc=latin1
:.,/^$/w >> test.out
:" gUe must uppercase a whole word, also when ß changes to SS
Gothe youtußeuu endYpk0wgUe
diff --git a/src/nvim/testdir/test39.ok b/src/nvim/testdir/test39.ok
index d8e901563a..5c517e2223 100644
--- a/src/nvim/testdir/test39.ok
+++ b/src/nvim/testdir/test39.ok
Binary files differ
diff --git a/src/nvim/version.c b/src/nvim/version.c
index c1fe19bb9c..561ba008e1 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -179,7 +179,7 @@ static char *(features[]) = {
static int included_patches[] = {
//560 NA
- //559,
+ 559,
//558 NA
//557 NA
//556 NA