]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0855: setting 'cmdheight' may cause hit-enter-prompt v9.1.0855
authornwounkn <nwounkn@gmail.com>
Mon, 11 Nov 2024 20:48:30 +0000 (21:48 +0100)
committerChristian Brabandt <cb@256bit.org>
Mon, 11 Nov 2024 20:48:30 +0000 (21:48 +0100)
Problem:  setting 'cmdheight' may cause hit-enter-prompt and echo output
          to be missing
Solution: Before cleaning the cmdline, check the need_wait_return flag
          (nwounkn)

closes: #13432

Signed-off-by: nwounkn <nwounkn@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/testdir/dumps/Test_changing_cmdheight_7.dump [new file with mode: 0644]
src/testdir/test_cmdline.vim
src/version.c
src/window.c

diff --git a/src/testdir/dumps/Test_changing_cmdheight_7.dump b/src/testdir/dumps/Test_changing_cmdheight_7.dump
new file mode 100644 (file)
index 0000000..a3ba88e
--- /dev/null
@@ -0,0 +1,8 @@
+|~+0#4040ff13#ffffff0| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+|f+0&&|o@1| @71
+|b|a|r| @71
+|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35
index 30ded35b8d90f3e8d6060a049c6cdb947a3d87d7..110be65cd90c1db3e1e978dccbb0893e7074e492 100644 (file)
@@ -270,6 +270,12 @@ func Test_changing_cmdheight()
 
   let lines =<< trim END
       set cmdheight=1 laststatus=2
+      func EchoOne()
+        set laststatus=2 cmdheight=1
+        echo 'foo'
+        echo 'bar'
+        set cmdheight=2
+      endfunc
       func EchoTwo()
         set laststatus=2
         set cmdheight=5
@@ -305,6 +311,10 @@ func Test_changing_cmdheight()
   call term_sendkeys(buf, ":call EchoTwo()\<CR>")
   call VerifyScreenDump(buf, 'Test_changing_cmdheight_6', {})
 
+  " increasing 'cmdheight' doesn't clear the messages that need hit-enter
+  call term_sendkeys(buf, ":call EchoOne()\<CR>")
+  call VerifyScreenDump(buf, 'Test_changing_cmdheight_7', {})
+
   " clean up
   call StopVimInTerminal(buf)
 endfunc
index 5337b1ad2527589a601364686b90b9edc7a75b32..22473eb55b70ab6757f80870d15e7998997c938d 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    855,
 /**/
     854,
 /**/
index 7c8f4fb366849f8bd0f9546fd3f26d6e0741f5a3..f8a6907ec8182bfddaf8c199ceee41efb88e8fb6 100644 (file)
@@ -7343,11 +7343,14 @@ command_height(void)
            // Recompute window positions.
            (void)win_comp_pos();
 
-           // clear the lines added to cmdline
-           if (full_screen)
-               screen_fill(cmdline_row, (int)Rows, 0,
-                                                  (int)Columns, ' ', ' ', 0);
-           msg_row = cmdline_row;
+           if (!need_wait_return)
+           {
+               // clear the lines added to cmdline
+               if (full_screen)
+                   screen_fill(cmdline_row, (int)Rows, 0,
+                                                      (int)Columns, ' ', ' ', 0);
+               msg_row = cmdline_row;
+           }
            redraw_cmdline = TRUE;
            return;
        }