diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-09-23 22:17:15 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-09-23 22:17:15 +0200 |
commit | 053f712ef20d143818aa07275cf1f4fa55afbf85 (patch) | |
tree | 2c592bc982525beeb6b1eb8d89461fa8088ff955 /src | |
parent | b8ff5c271ee5dcef6f63436b77e228e062ff9a0e (diff) |
patch 8.1.2071: when 'wincolor' is set text property changes highlightingv8.1.2071
Problem: When 'wincolor' is set text property changes highlighting. (Andy
Stewart)
Solution: Fix combining colors. (closes #4968)
Diffstat (limited to 'src')
-rw-r--r-- | src/drawline.c | 8 | ||||
-rw-r--r-- | src/testdir/dumps/Test_wincolor_01.dump | 6 | ||||
-rw-r--r-- | src/testdir/test_highlight.vim | 7 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 17 insertions, 6 deletions
diff --git a/src/drawline.c b/src/drawline.c index 5916458be3..43604c8262 100644 --- a/src/drawline.c +++ b/src/drawline.c @@ -1367,6 +1367,7 @@ win_line( text_prop_attr = 0; text_prop_combine = FALSE; + text_prop_type = NULL; if (text_props_active > 0) { // Sort the properties on priority and/or starting last. @@ -1406,8 +1407,11 @@ win_line( # ifdef FEAT_TEXT_PROP else if (text_prop_type != NULL) { - char_attr = hl_combine_attr( - line_attr != 0 ? line_attr : win_attr, text_prop_attr); + char_attr = hl_combine_attr(line_attr != 0 + ? line_attr + : syntax_attr != 0 + ? syntax_attr + : win_attr, text_prop_attr); } # endif else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL) diff --git a/src/testdir/dumps/Test_wincolor_01.dump b/src/testdir/dumps/Test_wincolor_01.dump index 06f45b88dd..5a5ccf506f 100644 --- a/src/testdir/dumps/Test_wincolor_01.dump +++ b/src/testdir/dumps/Test_wincolor_01.dump @@ -1,8 +1,8 @@ | +0#af5f00255#ffd7ff255@1|2| | +0#0000001&@4| +0&#e0e0e08| +0&#ffd7ff255@64 -| +0#af5f00255&@1|1| |1+0#0000001&@4|1+0#0000000#e0e0e08@4| | +0#0000001#ffd7ff255@59 -| +8#af5f00255&@1|0| |2+0#0000000#e0e0e08@4>2+0#0000001#ffd7ff255@5| +8&&@59 +| +0#af5f00255&@1|1| |1+0#0000001&@4|1+0&#e0e0e08@4| | +0&#ffd7ff255@59 +| +8#af5f00255&@1|0| |2+0#0000001#e0e0e08@4>2+0&#ffd7ff255@5| +8&&@59 | +0#af5f00255&@1|1| |3+0#0000001&| |h|e|r|e+0&#e0e0e08| +0&#ffd7ff255|3| @62 | +0#af5f00255&@1|2| | +0#0000001&@4| +0&#e0e0e08| +0&#ffd7ff255@64 +| +0#af5f00255&@1|3| |t+0#40ff4011&|h|e| |c|a+0&#e0e0e08|t+0&#ffd7ff255| |i|s| |o+1&&|u|t| +0&&|o|f| |t|h|e| |b|a|g| +0#0000001&@45 |~+0#4040ff13&| @73 -|~| @73 |-+2#0000000#ffffff0@1| |V|I|S|U|A|L| |-@1| +0&&@34|2| @8|3|,|6| @10|A|l@1| diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim index 27d7641e44..7db33bf306 100644 --- a/src/testdir/test_highlight.vim +++ b/src/testdir/test_highlight.vim @@ -595,8 +595,13 @@ func Test_wincolor() let lines =<< trim END set cursorline cursorcolumn rnu - call setline(1, ["","1111111111","22222222222","3 here 3",""]) + call setline(1, ["","1111111111","22222222222","3 here 3","","the cat is out of the bag"]) set wincolor=Pmenu + hi CatLine guifg=green ctermfg=green + hi Reverse gui=reverse cterm=reverse + syn match CatLine /^the.*/ + call prop_type_add("foo", {"highlight": "Reverse", "combine": 1}) + call prop_add(6, 12, {"type": "foo", "end_col": 15}) /here END call writefile(lines, 'Xtest_wincolor') diff --git a/src/version.c b/src/version.c index 7f34d2ac96..840c257358 100644 --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2071, +/**/ 2070, /**/ 2069, |