changeset 30220:088a3715ea69 v9.0.0446

patch 9.0.0446: message window may be positioned too low Commit: https://github.com/vim/vim/commit/87e74d0e03c6c0267546b2e3a49316f3e84d9794 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 11 20:12:15 2022 +0100 patch 9.0.0446: message window may be positioned too low Problem: Message window may be positioned too low. Solution: Compute cmdline_row before computing the position.
author Bram Moolenaar <Bram@vim.org>
date Sun, 11 Sep 2022 21:15:03 +0200
parents bc8ad1c28b51
children a5dace90aec6
files src/popupwin.c src/testdir/dumps/Test_echowindow_5.dump src/version.c
diffstat 3 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -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;
new file mode 100644
--- /dev/null
+++ b/src/testdir/dumps/Test_echowindow_5.dump
@@ -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| 
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    446,
+/**/
     445,
 /**/
     444,