patch 9.1.0855: setting 'cmdheight' may cause hit-enter-prompt Commit: https://github.com/vim/vim/commit/2e48567007f2becd484a3c3dd0706bf3a0beeae7 Author: nwounkn <nwou...@gmail.com> Date: Mon Nov 11 21:48:30 2024 +0100
patch 9.1.0855: setting 'cmdheight' may cause hit-enter-prompt 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 <nwou...@gmail.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/testdir/dumps/Test_changing_cmdheight_7.dump b/src/testdir/dumps/Test_changing_cmdheight_7.dump new file mode 100644 index 000000000..a3ba88e48 --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_7.dump @@ -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 diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 30ded35b8..110be65cd 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -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 diff --git a/src/version.c b/src/version.c index 5337b1ad2..22473eb55 100644 --- 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 */ +/**/ + 855, /**/ 854, /**/ diff --git a/src/window.c b/src/window.c index 7c8f4fb36..f8a6907ec 100644 --- a/src/window.c +++ b/src/window.c @@ -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; } -- -- 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 vim_dev+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/vim_dev/E1tAbW1-00F4qq-1d%40256bit.org.