diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-03-01 18:49:41 -0500 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-03-01 23:40:39 -0500 |
commit | e50875b3e321428b88b5f2313246995811a82fac (patch) | |
tree | 05acad84daf80739ec987f985a65644a4f4ad497 | |
parent | c1fbc2ddf15b2f44b615f90b2511349ab974cb83 (diff) | |
download | rneovim-e50875b3e321428b88b5f2313246995811a82fac.tar.gz rneovim-e50875b3e321428b88b5f2313246995811a82fac.tar.bz2 rneovim-e50875b3e321428b88b5f2313246995811a82fac.zip |
vim-patch:8.2.2560: setting 'winminheigt' does not take tabline into account
Problem: Setting 'winminheigt' does not take tabline into account.
Solution: Subtract the tabline from the available height. (closes vim/vim#7899)
https://github.com/vim/vim/commit/39d4cab494248131b6fb07aba633aa4da7871a57
N/A patches for version.c:
vim-patch:8.1.0680: not easy to see what features are unavailable
Problem: Not easy to see what features are unavailable.
Solution: Highlight disabled features in the :version output. (Nazri Ramliy,
closes vim/vim#3756)
https://github.com/vim/vim/commit/c85ffc9daba6f66d5958ae80249d26f7f81bfced
vim-patch:8.2.2196: :version output has extra spaces in compile and link command
Problem: :version output has extra spaces in compile and link command.
Solution: Adjust QUOTESED. (closes vim/vim#7505)
https://github.com/vim/vim/commit/abcbb0e9ad43fc25077e1681528e72ddcbeed300
vim-patch:8.2.2551: MS-Windows: colors test file is not installed
Problem: MS-Windows: colors test file is not installed.
Solution: Also copy runtime/colors/tools. (Ken Takata, closes vim/vim#7902)
https://github.com/vim/vim/commit/d0bce504ec52def729fffa35c8896979af348d32
vim-patch:8.2.2559: MS-Windows: guifont test fails on Windows XP
Problem: MS-Windows: guifont test fails on Windows XP.
Solution: Check windowsversion().
https://github.com/vim/vim/commit/3650fd709807d5ac182e28d952cbd790c1ad0a6a
-rw-r--r-- | src/nvim/testdir/test_options.vim | 23 | ||||
-rw-r--r-- | src/nvim/window.c | 2 | ||||
-rw-r--r-- | test/functional/legacy/options_spec.lua | 19 |
3 files changed, 42 insertions, 2 deletions
diff --git a/src/nvim/testdir/test_options.vim b/src/nvim/testdir/test_options.vim index 5a10c9baa6..717a073937 100644 --- a/src/nvim/testdir/test_options.vim +++ b/src/nvim/testdir/test_options.vim @@ -1,5 +1,7 @@ " Test for options +source check.vim + func Test_whichwrap() set whichwrap=b,s call assert_equal('b,s', &whichwrap) @@ -604,6 +606,27 @@ func Test_opt_boolean() set number& endfunc +func Test_opt_winminheight_term() + " See test/functional/legacy/options_spec.lua + CheckRunVimInTerminal + + " The tabline should be taken into account. + let lines =<< trim END + set wmh=0 stal=2 + below sp | wincmd _ + below sp | wincmd _ + below sp | wincmd _ + below sp + END + call writefile(lines, 'Xwinminheight') + let buf = RunVimInTerminal('-S Xwinminheight', #{rows: 11}) + call term_sendkeys(buf, ":set wmh=1\n") + call WaitForAssert({-> assert_match('E36: Not enough room', term_getline(buf, 11))}) + + call StopVimInTerminal(buf) + call delete('Xwinminheight') +endfunc + " Test for setting option value containing spaces with isfname+=32 func Test_isfname_with_options() set isfname+=32 diff --git a/src/nvim/window.c b/src/nvim/window.c index 00f49724b6..7c74d43baf 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -5501,7 +5501,7 @@ void win_setminheight(void) // loop until there is a 'winminheight' that is possible while (p_wmh > 0) { - const int room = Rows - p_ch; + const int room = Rows - p_ch - tabline_height(); const int needed = frame_minheight(topframe, NULL); if (room >= needed) { break; diff --git a/test/functional/legacy/options_spec.lua b/test/functional/legacy/options_spec.lua index 1db7afc7a7..598674dbeb 100644 --- a/test/functional/legacy/options_spec.lua +++ b/test/functional/legacy/options_spec.lua @@ -1,6 +1,10 @@ +-- See also: src/nvim/testdir/test_options.vim local helpers = require('test.functional.helpers')(after_each) local command, clear = helpers.command, helpers.clear local source, expect = helpers.source, helpers.expect +local exc_exec = helpers.exc_exec; +local matches = helpers.matches; +local Screen = require('test.functional.ui.screen') describe('options', function() setup(clear) @@ -11,7 +15,7 @@ describe('options', function() end) describe('set', function() - setup(clear) + before_each(clear) it("should keep two comma when 'path' is changed", function() source([[ @@ -24,4 +28,17 @@ describe('set', function() foo,,bar]]) end) + + it('winminheight works', function() + local screen = Screen.new(20, 11) + screen:attach() + source([[ + set wmh=0 stal=2 + below sp | wincmd _ + below sp | wincmd _ + below sp | wincmd _ + below sp + ]]) + matches('E36: Not enough room', exc_exec('set wmh=1')) + end) end) |