]> granicus.if.org Git - vim/commitdiff
patch 8.1.1620: no test for popup window with border and mask v8.1.1620
authorBram Moolenaar <Bram@vim.org>
Wed, 3 Jul 2019 20:50:41 +0000 (22:50 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 3 Jul 2019 20:50:41 +0000 (22:50 +0200)
Problem:    No test for popup window with border and mask.
Solution:   Add this popup window, fix problems.

src/popupwin.c
src/testdir/dumps/Test_popupwin_mask_1.dump
src/testdir/dumps/Test_popupwin_mask_2.dump
src/testdir/dumps/Test_popupwin_mask_3.dump
src/testdir/dumps/Test_popupwin_mask_4.dump
src/testdir/test_popupwin.vim
src/version.c

index 5f882fbd9dd676b3a893d4caa9ca3c175fc37394..df0cda83c0224e2219923655a6237bc289744c1b 100644 (file)
@@ -2337,6 +2337,7 @@ update_popups(void (*win_update)(win_T *wp))
     int            border_char[8];
     char_u  buf[MB_MAXBYTES];
     int            row;
+    int            wincol;
     int            padcol = 0;
     int            padwidth = 0;
     int            i;
@@ -2409,21 +2410,21 @@ update_popups(void (*win_update)(win_T *wp))
                border_attr[i] = syn_name2attr(wp->w_border_highlight[i]);
        }
 
+       wincol = wp->w_wincol - wp->w_popup_leftoff;
        top_padding = wp->w_popup_padding[0];
        if (wp->w_popup_border[0] > 0)
        {
            // top border
            screen_fill(wp->w_winrow, wp->w_winrow + 1,
-                   wp->w_wincol,
-                   wp->w_wincol + total_width,
-                   wp->w_popup_border[3] != 0
+                   wincol < 0 ? 0 : wincol, wincol + total_width,
+                   wp->w_popup_border[3] != 0 && wp->w_popup_leftoff == 0
                                             ? border_char[4] : border_char[0],
                    border_char[0], border_attr[0]);
-           if (wp->w_popup_border[1] > 0)
+           if (wp->w_popup_border[1] > 0 && wp->w_popup_rightoff == 0)
            {
                buf[mb_char2bytes(border_char[5], buf)] = NUL;
                screen_puts(buf, wp->w_winrow,
-                              wp->w_wincol + total_width - 1, border_attr[1]);
+                              wincol + total_width - 1, border_attr[1]);
            }
        }
        else if (wp->w_popup_padding[0] == 0 && popup_top_extra(wp) > 0)
@@ -2431,7 +2432,7 @@ update_popups(void (*win_update)(win_T *wp))
 
        if (top_padding > 0 || wp->w_popup_padding[2] > 0)
        {
-           padcol = wp->w_wincol - wp->w_popup_leftoff + wp->w_popup_border[3];
+           padcol = wincol + wp->w_popup_border[3];
            padwidth = wp->w_wincol + total_width - wp->w_popup_border[1]
                                                         - wp->w_has_scrollbar;
            if (padcol < 0)
@@ -2479,7 +2480,6 @@ update_popups(void (*win_update)(win_T *wp))
                                 i < total_height - wp->w_popup_border[2]; ++i)
        {
            int pad_left;
-           int col = wp->w_wincol - wp->w_popup_leftoff;
            // left and right padding only needed next to the body
            int do_padding =
                    i >= wp->w_popup_border[0] + wp->w_popup_padding[0]
@@ -2489,15 +2489,16 @@ update_popups(void (*win_update)(win_T *wp))
            row = wp->w_winrow + i;
 
            // left border
-           if (wp->w_popup_border[3] > 0 && col >= 0)
+           if (wp->w_popup_border[3] > 0 && wincol >= 0)
            {
                buf[mb_char2bytes(border_char[3], buf)] = NUL;
-               screen_puts(buf, row, col, border_attr[3]);
+               screen_puts(buf, row, wincol, border_attr[3]);
            }
            if (do_padding && wp->w_popup_padding[3] > 0)
            {
+               int col = wincol + wp->w_popup_border[3];
+
                // left padding
-               col += wp->w_popup_border[3];
                pad_left = wp->w_popup_padding[3];
                if (col < 0)
                {
@@ -2526,14 +2527,12 @@ update_popups(void (*win_update)(win_T *wp))
            if (wp->w_popup_border[1] > 0)
            {
                buf[mb_char2bytes(border_char[1], buf)] = NUL;
-               screen_puts(buf, row,
-                              wp->w_wincol + total_width - 1, border_attr[1]);
+               screen_puts(buf, row, wincol + total_width - 1, border_attr[1]);
            }
            // right padding
            if (do_padding && wp->w_popup_padding[1] > 0)
                screen_puts(get_spaces(wp->w_popup_padding[1]), row,
-                       wp->w_wincol - wp->w_popup_leftoff
-                       + wp->w_popup_border[3]
+                       wincol + wp->w_popup_border[3]
                        + wp->w_popup_padding[3] + wp->w_width + wp->w_leftcol,
                        popup_attr);
        }
@@ -2552,16 +2551,15 @@ update_popups(void (*win_update)(win_T *wp))
            // bottom border
            row = wp->w_winrow + total_height - 1;
            screen_fill(row , row + 1,
-                   wp->w_wincol,
-                   wp->w_wincol + total_width,
-                   wp->w_popup_border[3] != 0
+                   wincol < 0 ? 0 : wincol,
+                   wincol + total_width,
+                   wp->w_popup_border[3] != 0 && wp->w_popup_leftoff == 0
                                             ? border_char[7] : border_char[2],
                    border_char[2], border_attr[2]);
            if (wp->w_popup_border[1] > 0)
            {
                buf[mb_char2bytes(border_char[6], buf)] = NUL;
-               screen_puts(buf, row,
-                              wp->w_wincol + total_width - 1, border_attr[2]);
+               screen_puts(buf, row, wincol + total_width - 1, border_attr[2]);
            }
        }
 
@@ -2569,7 +2567,7 @@ update_popups(void (*win_update)(win_T *wp))
        {
            // close button goes on top of anything at the top-right corner
            buf[mb_char2bytes('X', buf)] = NUL;
-           screen_puts(buf, wp->w_winrow, wp->w_wincol + total_width - 1,
+           screen_puts(buf, wp->w_winrow, wincol + total_width - 1,
                      wp->w_popup_border[0] > 0 ? border_attr[0] : popup_attr);
        }
 
index 6c9b1e49084db56b0ad2a4accfb781423a3734b4..2fa0d7c2d97c97d67bb032380b3904de435025e1 100644 (file)
@@ -1,10 +1,13 @@
->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&#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|x+0#0000001#ffd7ff255|t+0#0000000#e0e0e08| @3|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|0+0&#ffffff0|1@1|t+0&#e0e0e08|h|1+0&#ffffff0|3|y+0#0000001#ffd7ff255|l+0#0000000#e0e0e08|i|n|e| |y+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|4+0&#ffffff0|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+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@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| @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
 | @56|1|,|1| @10|T|o|p| 
index 56ddf51ffcb9b80407b2bc3334415016307409a1..ac1c834633c7c14333bf52688b7df5abc120ebee 100644 (file)
@@ -1,10 +1,13 @@
 >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|3|8|3|9|4|0|4|1|4|2
-|1|2|3|4|5|6|7|8|9|1|0| +0&#e0e0e08@12|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|s|o|m|e| |3+0&#ffffff0|y+0#0000001#ffd7ff255@1|t+0#0000000#e0e0e08| @3|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|1+0&#ffffff0@2|t+0&#e0e0e08|h|3+0&#ffffff0|1|4|l+0&#e0e0e08|i|n|e| |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| +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@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| @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
-|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
-|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|,| |{|'|c|o|l|'|:| |1@1|,| |'|l|i|n|e|'|:| |3|}|)| @9|1|,|1| @10|T|o|p| 
+|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|b|,| |{|'|c|o|l|'|:| |1|2|}|)| @19|1|,|1| @10|T|o|p| 
index 74ffdbad1899df2c2c4cc1659de3744e9271d285..b7913743c5e4db093a3e530eda9d789522e38766 100644 (file)
@@ -1,10 +1,13 @@
 >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|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|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| +0&#e0e0e08@9
-|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|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|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|3+0&#ffffff0|8|3|t+0&#e0e0e08|h|0+0&#ffffff0|4|1|l+0&#e0e0e08|i
+|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|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| @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
-|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
-|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|,| |{|'|c|o|l|'|:| |6|5|,| |'|l|i|n|e|'|:| |3|}|)| @9|1|,|1| @10|T|o|p| 
+|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|b|,| |{|'|c|o|l|'|:| |6|3|}|)| @19|1|,|1| @10|T|o|p| 
index ce3f4cb14cc468d4a80eda926e05c383c8490311..de0a841fa66cc56ef5c7cf7244f9d94e293a50cb 100644 (file)
@@ -1,10 +1,13 @@
 >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|3|8|3|9|4|0|4|1|4|2
-| +0&#e0e0e08@11|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
-|o+0&#e0e0e08|m|e| |5+0&#ffffff0|6|7|t+0&#e0e0e08| @3|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
-|1|2|t+0&#e0e0e08|h|5+0&#ffffff0|6|7|l+0&#e0e0e08|i|n|e| |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
+| +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
 | +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
+| +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
-|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
-|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|,| |{|'|p|o|s|'|:| |'|t|o|p|r|i|g|h|t|'|,| |'|c|o|l|'|:| |1|2|,| |'|l|1|,|1| @10|T|o|p| 
+|:|c|a|l@1| |p|o|p|u|p|_|m|o|v|e|(|w|i|n|i|d|b|,| |{|'|p|o|s|'|:| |'|t|o|p|r|i|g|h|t|'|,| |'|c|o|l|'|:| |1|2|}|)| |1|,|1| @10|T|o|p| 
index 13b0f1cc55023078ed64da1180b5d41cbf7f7511..cc259762c2052df39bc0453489adad3650df2665 100644 (file)
@@ -427,13 +427,13 @@ func Test_popup_with_mask()
     throw 'Skipped: cannot make screendumps'
   endif
   let lines =<< trim END
-       call setline(1, repeat([join(range(1, 42), '')], 10))
+       call setline(1, repeat([join(range(1, 42), '')], 13))
        hi PopupColor ctermbg=lightgrey
        let winid = popup_create([
            \ 'some text',
            \ 'another line',
            \], {
-           \ 'line': 2,
+           \ 'line': 1,
            \ 'col': 10,
            \ 'wrap': 0,
            \ 'fixed': 1,
@@ -448,18 +448,33 @@ func Test_popup_with_mask()
            \ 'line': 3,
            \ 'col': 18,
            \ 'zindex': 20})
+       let winidb = popup_create([
+           \ 'just one line',
+           \], {
+           \ 'line': 7,
+           \ 'col': 10,
+           \ 'wrap': 0,
+           \ 'fixed': 1,
+           \ 'close': 'button',
+           \ 'zindex': 90,
+           \ 'padding': [],
+           \ 'border': [],
+           \ 'mask': [[1,2,1,1], [-5,-1,4,4], [7,9,2,3], [3,5,5,5],[-7,-4,5,5]]})
   END
   call writefile(lines, 'XtestPopupMask')
-  let buf = RunVimInTerminal('-S XtestPopupMask', {'rows': 10})
+  let buf = RunVimInTerminal('-S XtestPopupMask', {'rows': 13})
   call VerifyScreenDump(buf, 'Test_popupwin_mask_1', {})
 
-  call term_sendkeys(buf, ":call popup_move(winid, {'col': 11, 'line': 3})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winid, {'col': 11, 'line': 2})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winidb, {'col': 12})\<CR>")
   call VerifyScreenDump(buf, 'Test_popupwin_mask_2', {})
 
-  call term_sendkeys(buf, ":call popup_move(winid, {'col': 65, 'line': 3})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winid, {'col': 65, 'line': 2})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winidb, {'col': 63})\<CR>")
   call VerifyScreenDump(buf, 'Test_popupwin_mask_3', {})
 
-  call term_sendkeys(buf, ":call popup_move(winid, {'pos': 'topright', 'col': 12, 'line': 3})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winid, {'pos': 'topright', 'col': 12, 'line': 2})\<CR>")
+  call term_sendkeys(buf, ":call popup_move(winidb, {'pos': 'topright', 'col': 12})\<CR>")
   call VerifyScreenDump(buf, 'Test_popupwin_mask_4', {})
 
   " clean up
index e86b5bf2c87c3c3ebd962f48bbb55494ef9fe453..9af898854dbbc1880fd0b8a982c0337772cf4077 100644 (file)
@@ -777,6 +777,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1620,
 /**/
     1619,
 /**/