Mercurial > vim
changeset 29702:c43738957bee v9.0.0191
patch 9.0.0191: messages test fails; window size incorrect
Commit: https://github.com/vim/vim/commit/d4cf9fc53e0b1d36e84d28ecd5595a6f102f325e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Aug 11 14:13:37 2022 +0100
patch 9.0.0191: messages test fails; window size incorrect
Problem: Messages test fails; window size incorrect when 'cmdheight' is
made smaller.
Solution: Properly cleanup after test with cmdheight zero. Resize windows
correctly when 'cmdheight' gets smaller.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 11 Aug 2022 15:15:03 +0200 |
parents | fb297eb5987b |
children | 0e09dde486f6 |
files | src/testdir/dumps/Test_changing_cmdheight_5.dump src/testdir/test_cmdline.vim src/testdir/test_messages.vim src/version.c src/window.c |
diffstat | 5 files changed, 26 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_5.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| +0&&@74
--- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -239,6 +239,11 @@ func Test_changing_cmdheight() call term_sendkeys(buf, ":set cmdheight-=2\<CR>") call VerifyScreenDump(buf, 'Test_changing_cmdheight_4', {}) + " reducing window size and then setting cmdheight + call term_sendkeys(buf, ":resize -1\<CR>") + call term_sendkeys(buf, ":set cmdheight=1\<CR>") + call VerifyScreenDump(buf, 'Test_changing_cmdheight_5', {}) + " clean up call StopVimInTerminal(buf) call delete('XTest_cmdheight')
--- a/src/testdir/test_messages.vim +++ b/src/testdir/test_messages.vim @@ -388,6 +388,7 @@ func Test_fileinfo_after_echo() endfunc func Test_cmdheight_zero() + enew set cmdheight=0 set showcmd redraw! @@ -437,10 +438,13 @@ func Test_cmdheight_zero() 7 call feedkeys(":\"\<C-R>=line('w0')\<CR>\<CR>", "xt") call assert_equal('"1', @:) + bwipe! - + bwipe! set cmdheight& set showcmd& + tabnew + tabonly endfunc " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 191, +/**/ 190, /**/ 189,
--- a/src/window.c +++ b/src/window.c @@ -6555,6 +6555,12 @@ command_height(void) if (p_ch > old_p_ch && cmdline_row <= Rows - p_ch) return; + // If cmdline_row is smaller than what it is supposed to be for 'cmdheight' + // then set old_p_ch to what it would be, so that the windows get resized + // properly for the new value. + if (cmdline_row < Rows - p_ch) + old_p_ch = Rows - cmdline_row; + // Find bottom frame with width of screen. frp = lastwin->w_frame; while (frp->fr_width != Columns && frp->fr_parent != NULL)