patch 9.2.0016: popup border not redrawn correctly with wide chars

Commit: 
https://github.com/vim/vim/commit/6c203072fea831ce4ed9d45c69b32444fc9f67ff
Author: Yasuhiro Matsumoto <[email protected]>
Date:   Wed Feb 18 17:15:37 2026 +0000

    patch 9.2.0016: popup border not redrawn correctly with wide chars
    
    Problem:  When a popup window's border overwrites part of a wide
              character from another popup, the remaining half loses its
              original attribute (background color) because it is reset to 0.
    Solution: Modify screen_line(), screen_puts_len(), and screen_fill() to
              preserve the existing ScreenAttrs value when clearing wide
              character boundaries. Also ensure background data is refreshed
              for transparent popup cells (Yasuhiro Matsumoto).
    
    closes: #19299
    
    Signed-off-by: Yasuhiro Matsumoto <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/screen.c b/src/screen.c
index 3cd3ad39f..b92e2779f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -583,13 +583,36 @@ screen_line(
                redraw_this = TRUE;
        }
 #endif
-       // Do not redraw if under the popup menu.
-       if (redraw_this && skip_for_popup(row, col + coloff))
-           redraw_this = FALSE;
-       // Also skip the second cell for double-width characters.
        if (redraw_this && char_cells == 2 && skip_for_popup(row, col + coloff 
+ 1))
            redraw_this = FALSE;
+       // For transparent popup cells, update the background character
+       // so it shows through the popup.
+       if (redraw_this && skip_for_popup(row, col + coloff))
+       {
+           ScreenLines[off_to] = ScreenLines[off_from];
+           ScreenAttrs[off_to] = ScreenAttrs[off_from];
+           if (enc_utf8)
+           {
+               ScreenLinesUC[off_to] = ScreenLinesUC[off_from];
+               if (ScreenLinesUC[off_from] != 0)
+               {
+                   for (int i = 0; i < Screen_mco; ++i)
+                       ScreenLinesC[i][off_to] = ScreenLinesC[i][off_from];
+               }
+           }
+           if (char_cells == 2)
+           {
+               ScreenLines[off_to + 1] = ScreenLines[off_from + 1];
+               ScreenAttrs[off_to + 1] = ScreenAttrs[off_from];
+           }
+           if (enc_dbcs == DBCS_JPNU) // Copilot's suggestion for DBCS_JPNU
+               ScreenLines2[off_to] = ScreenLines2[off_from];
 
+           if (enc_dbcs != 0 && char_cells == 2)
+               screen_char_2(off_to, row, col + coloff);
+           else
+               screen_char(off_to, row, col + coloff);
+       }
        if (redraw_this)
        {
            /*
@@ -1339,11 +1362,14 @@ screen_puts_len(
 #endif
            && mb_fix_col(col, row) != col)
     {
+       // Keep the original attribute to preserve background color
+       // when drawing over popup windows.
        if (!skip_for_popup(row, col - 1))
        {
            ScreenLines[off - 1] = ' ';
-           ScreenAttrs[off - 1] = 0;
-           if (enc_utf8)
+           if (enc_dbcs == DBCS_JPNU)
+               ScreenAttrs[off - 1] = 0;
+           else if (enc_utf8)
            {
                ScreenLinesUC[off - 1] = 0;
                ScreenLinesC[0][off - 1] = 0;
@@ -2206,9 +2232,17 @@ screen_fill(
            // double wide-char clear out the right half.  Only needed in a
            // terminal.
            if (start_col > 0 && mb_fix_col(start_col, row) != start_col)
-               screen_puts_len((char_u *)" ", 1, row, start_col - 1, 0);
+           {
+               // start_col is the right half, clear the left half
+               int left_attr = ScreenAttrs[LineOffset[row] + start_col - 1];
+               screen_puts_len((char_u *)" ", 1, row, start_col - 1, 
left_attr);
+           }
            if (end_col < screen_Columns && mb_fix_col(end_col, row) != end_col)
-               screen_puts_len((char_u *)" ", 1, row, end_col, 0);
+           {
+               // end_col is the right half of a wide char, preserve its 
attribute
+               int right_attr = ScreenAttrs[LineOffset[row] + end_col];
+               screen_puts_len((char_u *)" ", 1, row, end_col, right_attr);
+           }
        }
        /*
         * Try to use delete-line termcap code, when no attributes or in a
diff --git a/src/testdir/dumps/Test_popupwin_mask_1.dump 
b/src/testdir/dumps/Test_popupwin_mask_1.dump
index 2fa0d7c2d..f309d20dd 100644
--- a/src/testdir/dumps/Test_popupwin_mask_1.dump
+++ b/src/testdir/dumps/Test_popupwin_mask_1.dump
@@ -1,12 +1,12 @@
 >1+0&#ffffff0|2|3|4|5|6|7|8|9|1| 
 >+0&#e0e0e08@12|1+0&#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9| +0&#e0e0e08|s|o|m|e| |1+0&#ffffff0|3|1|t+0&#e0e0e08| 
@3|1+0&#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9| 
+0&#e0e0e08|0+0&#ffffff0|1@1|t+0&#e0e0e08|h|1+0&#ffffff0|3|x+0#0000001#ffd7ff255|l+0#0000000#e0e0e08|i|n|e|
 
|x+0#0000001#ffd7ff255@2|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9| +0&#e0e0e08|s|o|m|e| |t|e|x|t| 
@3|1+0&#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9| +0&#e0e0e08|a|n|o|t|h|e|r| |l|i|n|e| 
|x+0#0000001#ffd7ff255@2|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9| 
+0&#e0e0e08@8|y+0#0000001#ffd7ff255@7|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|═+0#0000001#ffd7ff255@13|X|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| @4|1+0#0000000#ffffff0|3|1| 
+0#0000001#ffd7ff255@6|║|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| 
|j|u|s|t|1+0#0000000#ffffff0|3|1|e+0#0000001#ffd7ff255| |l|i|n|e| 
|║|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| |j|u|s|t| |o|n|e| |l|i|n|e| 
|║|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|║+0#0000001#ffd7ff255| 
@10|1+0#0000000#ffffff0|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|╚+0#0000001#ffd7ff255|═|1+0#0000000#ffffff0@2|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|5|1|6|═+0#0000001#ffd7ff255@1|╝|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
diff --git a/src/testdir/dumps/Test_popupwin_mask_2.dump 
b/src/testdir/dumps/Test_popupwin_mask_2.dump
index 173d40a6f..41a1c3dfd 100644
--- a/src/testdir/dumps/Test_popupwin_mask_2.dump
+++ b/src/testdir/dumps/Test_popupwin_mask_2.dump
@@ -1,12 +1,12 @@
 >1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|1|0| 
+0&#e0e0e08@12|7+0&#ffffff0|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08|s|o|m|e| 
|3+0&#ffffff0|x+0#0000001#ffd7ff255@1|t+0#0000000#e0e0e08| 
@3|x+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9|1| 
+0&#e0e0e08|1+0&#ffffff0@2|t+0&#e0e0e08|h|3+0&#ffffff0|y+0#0000001#ffd7ff255@1|l+0#0000000#e0e0e08|i|n|e|
 
|y+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08|s|o|m|e| |t|e|x|t| 
@3|x+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1| +0&#e0e0e08|a|n|o|t|h|e|r| |l|i|n|e| 
|y+0#0000001#ffd7ff255@1|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|1| 
+0&#e0e0e08@8|1+0&#ffffff0|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@1|═+0#0000001#ffd7ff255@13|X|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| @4|1+0#0000000#ffffff0|4|1| 
+0#0000001#ffd7ff255@6|║|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| 
|j|u|s|t|1+0#0000000#ffffff0|4|1|e+0#0000001#ffd7ff255| |l|i|n|e| 
|║|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| |j|u|s|t| |o|n|e| |l|i|n|e| 
|║|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 |1|2|3|4|5|6|7|8|9|1|0|║+0#0000001#ffd7ff255| 
@10|1+0#0000000#ffffff0|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|╚+0#0000001#ffd7ff255|═|1+0#0000000#ffffff0|2|1|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|6|1|7|═+0#0000001#ffd7ff255@1|╝|9+0#0000000#ffffff0|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
diff --git a/src/testdir/dumps/Test_popupwin_mask_3.dump 
b/src/testdir/dumps/Test_popupwin_mask_3.dump
index 40681fb4c..7d5f0604f 100644
--- a/src/testdir/dumps/Test_popupwin_mask_3.dump
+++ b/src/testdir/dumps/Test_popupwin_mask_3.dump
@@ -1,12 +1,12 @@
 >1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|
 +0&#e0e0e08@9
-|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|
 +0&#e0e0e08|s|o|m|e| |0+0&#ffffff0|4|1|t+0&#e0e0e08| 
-|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|
 +0&#e0e0e08|3+0&#ffffff0|8|3|t+0&#e0e0e08|h|0+0&#ffffff0|4|1|l+0&#e0e0e08|i
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|
 +0&#e0e0e08|s|o|m|e| |t|e|x|t| 
+|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|
 +0&#e0e0e08|a|n|o|t|h|e|r| |l|i
 
|1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|
 +0&#e0e0e08@8|4+0&#ffffff0|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|═+0#0000001#ffd7ff255@10
 
|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255|
 @4|9+0#0000000#ffffff0|4|0| +0#0000001#ffd7ff255@3
-|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255|
 |j|u|s|t|9+0#0000000#ffffff0|4|0|e+0#0000001#ffd7ff255| |l|i
+|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255|
 |j|u|s|t| |o|n|e| |l|i
 
|1+0#0000000#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|║+0#0000001#ffd7ff255|
 @10|2+0#0000000#ffffff0
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|╚+0#0000001#ffd7ff255|═|7+0#0000000#ffffff0|3|8|═+0#0000001#ffd7ff255@4|1+0#0000000#ffffff0|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
diff --git a/src/testdir/dumps/Test_popupwin_mask_4.dump 
b/src/testdir/dumps/Test_popupwin_mask_4.dump
index 0cf44d2c2..24540b036 100644
--- a/src/testdir/dumps/Test_popupwin_mask_4.dump
+++ b/src/testdir/dumps/Test_popupwin_mask_4.dump
@@ -1,12 +1,12 @@
 >1+0&#ffffff0|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 | 
+0&#e0e0e08@11|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08| 
@3|1+0&#ffffff0@1|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|1|2|t+0&#e0e0e08|h|5+0&#ffffff0|6|7|l+0&#e0e0e08|i|n|e| 
|1+0&#ffffff0@1|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|o+0&#e0e0e08|m|e| |t|e|x|t| 
@3|1+0&#ffffff0@1|2|1|3|x+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|n+0&#e0e0e08|o|t|h|e|r| |l|i|n|e| 
|1+0&#ffffff0@1|2|1|3|y+0#0000001#ffd7ff255@8|8+0#0000000#ffffff0|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 | 
+0&#e0e0e08@6|8+0&#ffffff0|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|═+0#0000001#ffd7ff255@10|X|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 | +0#0000001#ffd7ff255|2+0#0000000#ffffff0|3|4| 
+0#0000001#ffd7ff255@6|║|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|t+0#0000001#ffd7ff255|2+0#0000000#ffffff0|3|4|e+0#0000001#ffd7ff255| 
|l|i|n|e| 
|║|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|t+0#0000001#ffd7ff255| |o|n|e| |l|i|n|e| 
|║|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 | 
+0#0000001#ffd7ff255@6|8+0#0000000#ffffff0|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|═+0#0000001#ffd7ff255@4|6+0#0000000#ffffff0|7|8|9|═+0#0000001#ffd7ff255@1|╝|1+0#0000000#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
diff --git a/src/testdir/dumps/Test_popupwin_mask_5.dump 
b/src/testdir/dumps/Test_popupwin_mask_5.dump
index 78cc6f085..be2feddbf 100644
--- a/src/testdir/dumps/Test_popupwin_mask_5.dump
+++ b/src/testdir/dumps/Test_popupwin_mask_5.dump
@@ -9,5 +9,5 @@
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 
|1|2|3|4|5|6|7|8|9|1|0|1@2|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|2|7|2|8|2|9|3|0|3|1|3|2|3@2|4|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
 | 
+0&#e0e0e08@11|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|2|6|═+0#0000001#ffd7ff255@13|X|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08| 
@3|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|║+0#0000001#ffd7ff255|
 @4|2+0#0000000#ffffff0|9|3| 
+0#0000001#ffd7ff255@6|║|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
-|:| |t+0&#e0e0e08|h| +0&#ffffff0@2|l+0&#e0e0e08|i|n|e| | 
+0&#ffffff0@28|║+0#0000001#ffd7ff255| |j|u|s|t| 
+0#0000000#ffffff0@2|e+0#0000001#ffd7ff255| |l|i|n|e| |║|,+0#0000000#ffffff0|1| 
@10|T|o|p| 
+|o+0&#e0e0e08|m|e| |t|e|x|t| 
@3|1+0&#ffffff0@1|2|1|3|1|4|1|5|1|6|1|7|1|8|1|9|2|0|2|1|2@2|3|2|4|2|5|║+0#0000001#ffd7ff255|
 @4|2+0#0000000#ffffff0|9|3| 
+0#0000001#ffd7ff255@6|║|4+0#0000000#ffffff0|3|5|3|6|3|7|3|8|3|9|4|0|4|1|4|2
+|n+0&#e0e0e08|o|t|h|e|r| |l|i|n|e| | +0&#ffffff0@28|║+0#0000001#ffd7ff255| 
|j|u|s|t| |o|n|e| |l|i|n|e| |║|,+0#0000000#ffffff0|1| @10|T|o|p| 
diff --git a/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump 
b/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
index 9cf41490c..4992a11da 100644
--- a/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
+++ b/src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump
@@ -1,7 +1,7 @@
 |t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|a|w|o|r|d> 
@2|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @1|╔+0#0000001#e0e0e08|═@15|X| 
+0#0000000#ffffff0@9
-|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| |║| 
|w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@9
-|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| 
|╚+0&#e0e0e08|═@15|⇲| +0#4040ff13#ffffff0@9
-|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#0000001#ffd7ff255|W| 
|e|x|t|r|a| |t|e|x|t| | +0#ffffff16#e000002@3| +0#4040ff13#ffffff0@23
+|~+0#4040ff13&| @23| +0#0000001#e0e0e08|w|r|d| 
@4|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @1|║+0#0000001#e0e0e08| 
|w|o|r|d|s| |a|r|e| |c|o@1|l| |║| +0#4040ff13#ffffff0@9
+|~| @23| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |p+0#ffffff16#e000002|o|p|u|p| 
|b|e|l|o|w| @1|╚+0#0000001#e0e0e08|═@15|⇲| +0#4040ff13#ffffff0@9
+|~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| 
+0#0000001#ffd7ff255|p+0#ffffff16#e000002|o|p|u|p| |b|e|l|o|w| @5| 
+0#4040ff13#ffffff0@23
 |~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#0000001#ffd7ff255|W| 
|e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@27
 |~| @19|p+0#0000000#ffff4012|o|p|u|p| |o|n| |t|o|p| +0#4040ff13#ffffff0@41
 |~| @73
diff --git a/src/version.c b/src/version.c
index 82487d6f8..d6cc249c1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    16,
 /**/
     15,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1vslND-001D7e-OZ%40256bit.org.

Raspunde prin e-mail lui