summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-09-23 22:17:15 +0200
committerBram Moolenaar <Bram@vim.org>2019-09-23 22:17:15 +0200
commit053f712ef20d143818aa07275cf1f4fa55afbf85 (patch)
tree2c592bc982525beeb6b1eb8d89461fa8088ff955
parentb8ff5c271ee5dcef6f63436b77e228e062ff9a0e (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)
-rw-r--r--src/drawline.c8
-rw-r--r--src/testdir/dumps/Test_wincolor_01.dump6
-rw-r--r--src/testdir/test_highlight.vim7
-rw-r--r--src/version.c2
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,