From f797e309caff48f7a56c73b16e62ff67c4dcbdd6 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 11 Aug 2022 13:17:30 +0100 Subject: patch 9.0.0190: the way 'cmdheight' can be made zero is inconsistent Problem: The way 'cmdheight' can be made zero is inconsistent. Solution: Only make 'cmdheight' zero when setting it explicitly, not when resizing windows. (closes #10890) --- src/testdir/dumps/Test_changing_cmdheight_1.dump | 8 +++++++ src/testdir/dumps/Test_changing_cmdheight_2.dump | 8 +++++++ src/testdir/dumps/Test_changing_cmdheight_3.dump | 8 +++++++ src/testdir/dumps/Test_changing_cmdheight_4.dump | 8 +++++++ src/testdir/test_cmdline.vim | 29 ++++++++++++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 src/testdir/dumps/Test_changing_cmdheight_1.dump create mode 100644 src/testdir/dumps/Test_changing_cmdheight_2.dump create mode 100644 src/testdir/dumps/Test_changing_cmdheight_3.dump create mode 100644 src/testdir/dumps/Test_changing_cmdheight_4.dump (limited to 'src/testdir') diff --git a/src/testdir/dumps/Test_changing_cmdheight_1.dump b/src/testdir/dumps/Test_changing_cmdheight_1.dump new file mode 100644 index 0000000000..db6d41110f --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_1.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| +0&&@74 +@75 +@75 +|:|r|e|s|i|z|e| |-|3| @64 diff --git a/src/testdir/dumps/Test_changing_cmdheight_2.dump b/src/testdir/dumps/Test_changing_cmdheight_2.dump new file mode 100644 index 0000000000..76d944040d --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_2.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +|:+0&&|s|e|t| |c|m|d|h|e|i|g|h|t|+|=|3| @57 +@75 +@75 +@75 diff --git a/src/testdir/dumps/Test_changing_cmdheight_3.dump b/src/testdir/dumps/Test_changing_cmdheight_3.dump new file mode 100644 index 0000000000..d652cc6310 --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_3.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| +0&&@74 +@75 +@75 +@75 +@75 diff --git a/src/testdir/dumps/Test_changing_cmdheight_4.dump b/src/testdir/dumps/Test_changing_cmdheight_4.dump new file mode 100644 index 0000000000..c4d6fc9bc2 --- /dev/null +++ b/src/testdir/dumps/Test_changing_cmdheight_4.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|[+3#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| +0&&@74 +@75 +@75 diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index 912f3a5d11..92adbd10b6 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -215,6 +215,35 @@ func Test_redraw_in_autocmd() call delete('XTest_redraw') endfunc +func Test_changing_cmdheight() + CheckScreendump + + let lines =<< trim END + set cmdheight=1 laststatus=2 + END + call writefile(lines, 'XTest_cmdheight') + + let buf = RunVimInTerminal('-S XTest_cmdheight', {'rows': 8}) + call term_sendkeys(buf, ":resize -3\") + call VerifyScreenDump(buf, 'Test_changing_cmdheight_1', {}) + + " using the space available doesn't change the status line + call term_sendkeys(buf, ":set cmdheight+=3\") + call VerifyScreenDump(buf, 'Test_changing_cmdheight_2', {}) + + " using more space moves the status line up + call term_sendkeys(buf, ":set cmdheight+=1\") + call VerifyScreenDump(buf, 'Test_changing_cmdheight_3', {}) + + " reducing cmdheight moves status line down + call term_sendkeys(buf, ":set cmdheight-=2\") + call VerifyScreenDump(buf, 'Test_changing_cmdheight_4', {}) + + " clean up + call StopVimInTerminal(buf) + call delete('XTest_cmdheight') +endfunc + func Test_map_completion() call feedkeys(":map \\"\", 'xt') call assert_equal('"map ', getreg(':')) -- cgit v1.2.3