summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drawline.c4
-rw-r--r--src/testdir/dumps/Test_visual_hl_with_showbreak.dump6
-rw-r--r--src/testdir/test_visual.vim18
-rw-r--r--src/version.c2
4 files changed, 29 insertions, 1 deletions
diff --git a/src/drawline.c b/src/drawline.c
index 0be071876f..88d72cedd5 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -3792,9 +3792,11 @@ win_line(
}
#endif
+ if (wlv.draw_state == WL_LINE)
+ vcol_prev = wlv.vcol;
+
// Store character to be displayed.
// Skip characters that are left of the screen for 'nowrap'.
- vcol_prev = wlv.vcol;
if (wlv.draw_state < WL_LINE || n_skip <= 0)
{
// Store the character.
diff --git a/src/testdir/dumps/Test_visual_hl_with_showbreak.dump b/src/testdir/dumps/Test_visual_hl_with_showbreak.dump
new file mode 100644
index 0000000000..fa0b2dc090
--- /dev/null
+++ b/src/testdir/dumps/Test_visual_hl_with_showbreak.dump
@@ -0,0 +1,6 @@
+|a+0&#ffffff0@48>a
+|++0#4040ff13&|a+0#0000000#e0e0e08@3|a+0&#ffffff0@5| @38
+|~+0#4040ff13&| @48
+|~| @48
+|~| @48
+|-+2#0000000&@1| |V|I|S|U|A|L| |-@1| +0&&@9|5| @8|1|,|5|0| @9|A|l@1|
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index f152e7b79b..58b7392947 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1554,5 +1554,23 @@ func Test_heap_buffer_overflow()
set updatecount&
endfunc
+" Test Visual highlight with cursor at end of screen line and 'showbreak'
+func Test_visual_hl_with_showbreak()
+ CheckScreendump
+
+ let lines =<< trim END
+ setlocal showbreak=+
+ call setline(1, repeat('a', &columns + 10))
+ normal g$v4lo
+ END
+ call writefile(lines, 'XTest_visual_sbr', 'D')
+
+ let buf = RunVimInTerminal('-S XTest_visual_sbr', {'rows': 6, 'cols': 50})
+ call VerifyScreenDump(buf, 'Test_visual_hl_with_showbreak', {})
+
+ " clean up
+ call term_sendkeys(buf, "\<Esc>")
+ call StopVimInTerminal(buf)
+endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index b858a1015d..2da6a2074e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1759,
+/**/
1758,
/**/
1757,