# HG changeset patch # User Bram Moolenaar # Date 1568564104 -7200 # Node ID 687d08fee911a5c731d47f747f0a7d0271eb378b # Parent 4dd656f53e67e0d0705055596c42a8fc5b8939a9 patch 8.1.2039: character from 'showbreak' does not use 'wincolor' Commit: https://github.com/vim/vim/commit/8ae54375cad51c3c05b7bb5600305062a1ebad1c Author: Bram Moolenaar Date: Sun Sep 15 18:11:16 2019 +0200 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 https://github.com/vim/vim/issues/4938) diff --git a/src/screen.c b/src/screen.c --- a/src/screen.c +++ b/src/screen.c @@ -4153,6 +4153,9 @@ win_line( * 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 --- 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 --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -797,8 +797,9 @@ func Test_popup_with_showbreak() 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 --- 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 */ /**/ + 2039, +/**/ 2038, /**/ 2037,