diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-11-23 20:37:01 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-11-23 20:37:01 +0100 |
commit | 40ed6711bd385051021691980e8ce16375b4b510 (patch) | |
tree | 602781b462eaf48c9e638e231ec8fb744df002a6 /src | |
parent | 2b0882fa6555b4d0197afbdfc32a4533cf6aacf4 (diff) |
patch 9.0.2125: File info disappears when 'cmdheight' has decreasedv9.0.2125
Problem: File info disappears immediately when 'cmdheight' has just
decreased due to switching tabpage and 'shortmess' doesn't
contain 'o' or 'O'.
Solution: Make sure msg_row isn't smaller than cmdline_row.
fixes: #13560
closes: #13561
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/message.c | 3 | ||||
-rw-r--r-- | src/testdir/test_messages.vim | 23 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/message.c b/src/message.c index 83c8b4f4a0..80d6a18b51 100644 --- a/src/message.c +++ b/src/message.c @@ -1446,6 +1446,9 @@ msg_start(void) { int did_return = FALSE; + if (msg_row < cmdline_row) + msg_row = cmdline_row; + if (!msg_silent) { VIM_CLEAR(keep_msg); diff --git a/src/testdir/test_messages.vim b/src/testdir/test_messages.vim index 6db17460b6..48f1bab45b 100644 --- a/src/testdir/test_messages.vim +++ b/src/testdir/test_messages.vim @@ -478,6 +478,29 @@ func Test_echo_string_partial() call assert_equal("function('CountSpaces', [{'ccccccccccc': ['ab', 'cd'], 'aaaaaaaaaaa': v:false, 'bbbbbbbbbbbb': ''}])", string(function('CountSpaces', [#{aaaaaaaaaaa: v:false, bbbbbbbbbbbb: '', ccccccccccc: ['ab', 'cd']}]))) endfunc +" Test that fileinfo is shown properly when 'cmdheight' has just decreased +" due to switching tabpage and 'shortmess' doesn't contain 'o' or 'O'. +func Test_fileinfo_tabpage_cmdheight() + CheckRunVimInTerminal + + let content =<< trim END + set shortmess-=o + set shortmess-=O + set shortmess-=F + tabnew + set cmdheight=2 + tabprev + edit Xfileinfo.txt + END + + call writefile(content, 'Xtest_fileinfo_tabpage_cmdheight', 'D') + let buf = RunVimInTerminal('-S Xtest_fileinfo_tabpage_cmdheight', #{rows: 6}) + call WaitForAssert({-> assert_match('^"Xfileinfo.txt" \[New\]', term_getline(buf, 6))}) + + " clean up + call StopVimInTerminal(buf) +endfunc + " Message output was previously overwritten by the fileinfo display, shown " when switching buffers. If a buffer is switched to, then a message if " echoed, we should show the message, rather than overwriting it with diff --git a/src/version.c b/src/version.c index fc3389888e..801ca36d13 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2125, +/**/ 2124, /**/ 2123, |