]> granicus.if.org Git - vim/commitdiff
patch 9.0.0446: message window may be positioned too low v9.0.0446
authorBram Moolenaar <Bram@vim.org>
Sun, 11 Sep 2022 19:12:15 +0000 (20:12 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 11 Sep 2022 19:12:15 +0000 (20:12 +0100)
Problem:    Message window may be positioned too low.
Solution:   Compute cmdline_row before computing the position.

src/popupwin.c
src/testdir/dumps/Test_echowindow_5.dump [new file with mode: 0644]
src/version.c

index a33fa5f8b75b095466014397091d187d7bb83926..d02196ef50be447dd92e1cf68de732b29ded2b75 100644 (file)
@@ -1301,9 +1301,14 @@ popup_adjust_position(win_T *wp)
                wp->w_winrow = Rows - 1;
        }
        if (wp->w_popup_pos == POPPOS_BOTTOM)
-           // assume that each buffer line takes one screen line
+       {
+           // Assume that each buffer line takes one screen line, and one line
+           // for the top border.  First make sure cmdline_row is valid,
+           // calling update_screen() will set it only later.
+           compute_cmdrow();
            wp->w_winrow = MAX(cmdline_row
                                    - wp->w_buffer->b_ml.ml_line_count - 1, 0);
+       }
 
        if (!use_wantcol)
            center_hor = TRUE;
diff --git a/src/testdir/dumps/Test_echowindow_5.dump b/src/testdir/dumps/Test_echowindow_5.dump
new file mode 100644 (file)
index 0000000..a87640c
--- /dev/null
@@ -0,0 +1,8 @@
+>s+0&#ffffff0|o|m|e| |t|e|x|t| @65
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|═+0#e000002&@74
+|m|e|s@1|a|g|e| @67
+|o+0#0000000&|n|e| @71
+|t|w|o| @53|1|,|1| @10|A|l@1| 
index ec0f00b182acc2909cb1f40dbeea2594d881ddf4..8da83dbc80c0d8a74dd696608b689985cb6f7711 100644 (file)
@@ -703,6 +703,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    446,
 /**/
     445,
 /**/