summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-13 20:17:34 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-13 20:17:34 +0100
commit9113c2cd19c72c0973ee5dc095a0a7f03f2af344 (patch)
tree60f81d11aabff26ee162252f6d08ae7354a61f9e
parent8f369fb1ab7debeeda0fec69c379c528d162d9c5 (diff)
patch 9.0.0201: CursorLine highlight overrules virtual text highlightv9.0.0201
Problem: CursorLine highlight overrules virtual text highlight. Solution: Let extra attribute overrule line attribute. (closes #10909)
-rw-r--r--src/drawline.c5
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump4
-rw-r--r--src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump4
-rw-r--r--src/testdir/test_textprop.vim3
-rw-r--r--src/version.c2
5 files changed, 11 insertions, 7 deletions
diff --git a/src/drawline.c b/src/drawline.c
index 247ed29d84..a129bae420 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1638,7 +1638,8 @@ win_line(
& TP_FLAG_ALIGN_BELOW)))
: bcol >= text_props[text_prop_next].tp_col - 1))
{
- if (bcol <= text_props[text_prop_next].tp_col - 1
+ if (text_props[text_prop_next].tp_col == MAXCOL
+ || bcol <= text_props[text_prop_next].tp_col - 1
+ text_props[text_prop_next].tp_len)
text_prop_idxs[text_props_active++] = text_prop_next;
++text_prop_next;
@@ -2989,7 +2990,7 @@ win_line(
{
#ifdef LINE_ATTR
if (line_attr)
- wlv.char_attr = hl_combine_attr(extra_attr, line_attr);
+ wlv.char_attr = hl_combine_attr(line_attr, extra_attr);
else
#endif
wlv.char_attr = extra_attr;
diff --git a/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump b/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump
index 48da426910..1d5c534834 100644
--- a/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump
+++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_2.dump
@@ -3,8 +3,8 @@
| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|w|o| @51
| +0#0000e05#a8a8a8255@4|a+0#0000000#ffff4012|n|o|t|h|e|r| +0&#ffffff0@47
| +0#0000e05#a8a8a8255@4|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@41
-| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|h|r|e>e| @36|r+0&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
-| +0#0000e05#a8a8a8255@4| +0#0000000#ffffff0@36|a+0&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4|t+8#0000000#e0e0e08|h|r|e>e| @36|r+8&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
+| +0#0000e05#a8a8a8255@4| +8#0000000#e0e0e08@36|a+8&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
| +0#0000e05#a8a8a8255@4|f+0#0000000#ffffff0|o|u|r| @50
|~+0#4040ff13&| @58
|~| @58
diff --git a/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump b/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump
index d96f1ece65..ca849123a5 100644
--- a/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump
+++ b/src/testdir/dumps/Test_prop_with_text_after_nowrap_3.dump
@@ -5,8 +5,8 @@
| +0#0000e05#a8a8a8255@4|O+0#ffffff16#e000002|n|e| |M|o|r|e| |H|e|r|e| +0#0000000#ffffff0@41
| +0#0000e05#a8a8a8255@4|t+0#0000000#ffffff0|h|r|e@1| @36|r+0&#ffff4012|i|g|h|t| |a|l|i|g|n|e|d
| +0#0000e05#a8a8a8255@4| +0#0000000#ffffff0@36|a+0&#ffff4012|l|s|o| |r|i|g|h|t| |a|l|i|g|n|e|d
-| +0#0000e05#a8a8a8255@4|f+0#0000000#ffffff0|o|u>r| @50
-|~+0#4040ff13&| @58
+| +0#0000e05#a8a8a8255@4|f+8#0000000#e0e0e08|o|u>r| @50
+|~+0#4040ff13#ffffff0| @58
|~| @58
|~| @58
| +0#0000000&@41|4|,|4| @10|A|l@1|
diff --git a/src/testdir/test_textprop.vim b/src/testdir/test_textprop.vim
index 5e9dd20388..b702340a3e 100644
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -2756,12 +2756,13 @@ func Test_props_with_text_after_nowrap()
call prop_add(3, 0, #{type: 'anotherprop', text: 'right aligned', text_align: 'right'})
call prop_add(3, 0, #{type: 'anotherprop', text: 'also right aligned', text_align: 'right'})
+ hi CursorLine ctermbg=lightgrey
END
call writefile(lines, 'XscriptPropsAfterNowrap')
let buf = RunVimInTerminal('-S XscriptPropsAfterNowrap', #{rows: 12, cols: 60})
call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_1', {})
- call term_sendkeys(buf, ":set signcolumn=yes foldcolumn=3\<CR>")
+ call term_sendkeys(buf, ":set signcolumn=yes foldcolumn=3 cursorline\<CR>")
call VerifyScreenDump(buf, 'Test_prop_with_text_after_nowrap_2', {})
call term_sendkeys(buf, "j")
diff --git a/src/version.c b/src/version.c
index 0c7a1023f7..1a41dd28a4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 201,
+/**/
200,
/**/
199,