patch 8.2.3700: text property highlighting continues over breakindent
Problem: Text property highlighting continues over breakindent.
Solution: Stop before the end column. (closes #9242)
diff --git a/src/testdir/dumps/Test_prop_linebreak.dump b/src/testdir/dumps/Test_prop_linebreak.dump
new file mode 100644
index 0000000..33be5b3
--- /dev/null
+++ b/src/testdir/dumps/Test_prop_linebreak.dump
@@ -0,0 +1,10 @@
+>x+0&#ffffff0@49|]+0#ffffff16#e000002| +0#0000000#ffffff0@23
+|x@69| @4
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+| +0#0000000&@56|1|,|1| @10|A|l@1|
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 4a12b63..546e2d6 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -1615,6 +1615,24 @@
bwipe!
enddef
+func Test_prop_in_linebreak()
+ CheckRunVimInTerminal
+
+ let lines =<< trim END
+ set breakindent linebreak breakat+=]
+ call printf('%s]%s', repeat('x', 50), repeat('x', 70))->setline(1)
+ call prop_type_add('test', #{highlight: 'ErrorMsg'})
+ call prop_add(1, 51, #{length: 1, type: 'test'})
+ END
+ call writefile(lines, 'XscriptPropLinebreak')
+ let buf = RunVimInTerminal('-S XscriptPropLinebreak', #{rows: 10})
+ call TermWait(buf)
+ call VerifyScreenDump(buf, 'Test_prop_linebreak', {})
+
+ call StopVimInTerminal(buf)
+ call delete('XscriptPropLinebreak')
+endfunc
+
" Buffer number of 0 should be ignored, as if the parameter wasn't passed.
def Test_prop_bufnr_zero()
new