]> granicus.if.org Git - vim/commitdiff
patch 8.1.2039: character from 'showbreak' does not use 'wincolor' v8.1.2039
authorBram Moolenaar <Bram@vim.org>
Sun, 15 Sep 2019 16:11:16 +0000 (18:11 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 15 Sep 2019 16:11:16 +0000 (18:11 +0200)
Problem:    Character from 'showbreak' does not use 'wincolor'. (Nick Jensen)
Solution:   Mix with 'wincolor'. (closes #4938)

src/screen.c
src/testdir/dumps/Test_popupwin_showbreak.dump
src/testdir/test_popupwin.vim
src/version.c

index 14b946538e1eecbf512f813edec35319b6f7739b..22b26b472ee67425fcdb1cd1ee030b1c07c13f0c 100644 (file)
@@ -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)
index e7d03d05cd2f0848ba04b686d78e1212ef6ed849..8ce0a7501bad977663cf9e4b349574e61d533551 100644 (file)
@@ -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| 
index feb8ce37b852e33cda3435e4cd9df51687022bb0..de8a23f7606d58e58647013fb068e7f9f60f9974 100644 (file)
@@ -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})
index 98e69d446fd0965a92108f9a97620454aa021882..a2f64177adb9d3c9e38770f5e7bff10e7428553c 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2039,
 /**/
     2038,
 /**/