cmdheight=0: fix bugs #18961

Continue of #16251

Fix #18953
Fix #18960
Fix #18958
Fix #18955
Fix #18970
Fix #18983
Fix #18995
Fix #19112
This commit is contained in:
Shougo
2022-07-01 10:59:50 +09:00
committed by GitHub
parent 3b1423bfa7
commit 5a490d838e
7 changed files with 106 additions and 12 deletions

View File

@@ -688,12 +688,12 @@ static void finish_incsearch_highlighting(int gotesc, incsearch_state_T *s, bool
/// @param init_ccline clear ccline first
static uint8_t *command_line_enter(int firstc, long count, int indent, bool init_ccline)
{
bool cmdheight0 = p_ch < 1 && !ui_has(kUIMessages) && vpeekc() == NUL;
bool cmdheight0 = p_ch < 1 && !ui_has(kUIMessages);
if (cmdheight0) {
// If cmdheight is 0, cmdheight must be set to 1 when we enter command line.
set_option_value("ch", 1L, NULL, 0);
redraw_statuslines();
update_screen(VALID); // redraw the screen NOW
}
// can be invoked recursively, identify each level
@@ -985,6 +985,9 @@ theend:
if (cmdheight0) {
// Restore cmdheight
set_option_value("ch", 0L, NULL, 0);
// Redraw is needed for command line completion
redraw_all_later(CLEAR);
}
return p;