patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Problem: Character from 'showbreak' does not use 'wincolor'. (Nick Jensen)
Solution: Mix with 'wincolor'. (closes #4938)
diff --git a/src/screen.c b/src/screen.c
index 14b9465..22b26b4 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4153,6 +4153,9 @@
* required when 'linebreak' is also set. */
if (tocol == vcol)
tocol += n_extra;
+ // combine 'showbreak' with 'wincolor'
+ if (win_attr != 0)
+ char_attr = hl_combine_attr(win_attr, char_attr);
# ifdef FEAT_SYN_HL
// combine 'showbreak' with 'cursorline'
if (cul_attr != 0)
diff --git a/src/testdir/dumps/Test_popupwin_showbreak.dump b/src/testdir/dumps/Test_popupwin_showbreak.dump
index e7d03d0..8ce0a75 100644
--- a/src/testdir/dumps/Test_popupwin_showbreak.dump
+++ b/src/testdir/dumps/Test_popupwin_showbreak.dump
@@ -1,10 +1,10 @@
>1+0&#ffffff0| @73
|2| @73
-|3| @73
-|4| @25|╔+0#0000001#ffd7ff255|═@17|╗| +0#0000000#ffffff0@27
-|5| @25|║+0#0000001#ffd7ff255| |a| |l|o|n|g| |l|i|n|e| |h|e|r|e| |║| +0#0000000#ffffff0@27
-|6| @25|╚+0#0000001#ffd7ff255|═@17|╝| +0#0000000#ffffff0@27
-|7| @73
+|3| @27|╔+0#0000001#ffd7ff255|═@13|╗| +0#0000000#ffffff0@29
+|4| @27|║+0#0000001#ffd7ff255| |a| |l|o|n|g| |l|i|n|e| @1|║| +0#0000000#ffffff0@29
+|5| @27|║+0#0000001#ffd7ff255| |>+0#4040ff13&@1| |h+0#0000001&|e|r|e| |t|h|a|t| |║| +0#0000000#ffffff0@29
+|6| @27|║+0#0000001#ffd7ff255| |>+0#4040ff13&@1| | +0#0000001&|w|r|a|p|s| @3|║| +0#0000000#ffffff0@29
+|7| @27|╚+0#0000001#ffd7ff255|═@13|╝| +0#0000000#ffffff0@29
|8| @73
|9| @73
@57|1|,|1| @10|T|o|p|
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index feb8ce3..de8a23f 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -797,8 +797,9 @@
set showbreak=>>\
call setline(1, range(1, 20))
let winid = popup_dialog(
- \ 'a long line here',
- \ #{filter: 'popup_filter_yesno'})
+ \ 'a long line here that wraps',
+ \ #{filter: 'popup_filter_yesno',
+ \ maxwidth: 12})
END
call writefile(lines, 'XtestPopupShowbreak')
let buf = RunVimInTerminal('-S XtestPopupShowbreak', #{rows: 10})
diff --git a/src/version.c b/src/version.c
index 98e69d4..a2f6417 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2039,
+/**/
2038,
/**/
2037,