vim-patch:9.1.0990: Inconsistent behavior when changing cmdheight (#31830)

Problem:  Inconsistent behavior when changing cmdheight by resizing the
          topframe through wincmds and dragging laststatus. Changing
          cmdheight by resizing the topframe does not trigger OptionSet.
Solution: Consolidate logic for changing the cmdheight, set the option
          value to handle side-effects (Luuk van Baal)

e15cbc1af4

vim-patch:9.0.0187: command line height changes when maximizing window height

Problem:  Command line height changes when maximizing window height.
Solution: Do not change the command line height. (closes vim/vim#10885)

96bde99bf8
This commit is contained in:
luukvbaal
2025-01-05 12:09:38 +01:00
committed by GitHub
parent 5e90406487
commit 54ac406649
8 changed files with 161 additions and 136 deletions

View File

@@ -4181,4 +4181,28 @@ func Test_autocmd_BufWinLeave_with_vsp()
exe "bw! " .. dummy
endfunc
func Test_OptionSet_cmdheight()
set mouse=a laststatus=2
au OptionSet cmdheight :let &l:ch = v:option_new
resize -1
call assert_equal(2, &l:ch)
resize +1
call assert_equal(1, &l:ch)
call Ntest_setmouse(&lines - 1, 1)
call feedkeys("\<LeftMouse>", 'xt')
call Ntest_setmouse(&lines - 2, 1)
call feedkeys("\<LeftDrag>", 'xt')
call assert_equal(2, &l:ch)
tabnew | resize +1
call assert_equal(1, &l:ch)
tabfirst
call assert_equal(2, &l:ch)
tabonly
set cmdheight& mouse& laststatus&
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -291,9 +291,10 @@ func Test_changing_cmdheight()
call term_sendkeys(buf, ":resize -3\<CR>")
call VerifyScreenDump(buf, 'Test_changing_cmdheight_1', {})
" using the space available doesn't change the status line
call term_sendkeys(buf, ":set cmdheight+=3\<CR>")
" :resize now also changes 'cmdheight' accordingly
call term_sendkeys(buf, ":set cmdheight+=1\<CR>")
call VerifyScreenDump(buf, 'Test_changing_cmdheight_2', {})
call term_sendkeys(buf, ":set cmdheight-=1\<CR>")
" using more space moves the status line up
call term_sendkeys(buf, ":set cmdheight+=1\<CR>")
@@ -312,7 +313,7 @@ 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
" decreasing 'cmdheight' doesn't clear the messages that need hit-enter
call term_sendkeys(buf, ":call EchoOne()\<CR>")
call VerifyScreenDump(buf, 'Test_changing_cmdheight_7', {})

View File

@@ -56,7 +56,6 @@ func Test_window_cmd_cmdwin_with_vsp()
endfunc
func Test_cmdheight_not_changed()
throw 'Skipped: N/A'
set cmdheight=2
set winminheight=0
augroup Maximize