summaryrefslogtreecommitdiffstats
path: root/src/ex_getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r--src/ex_getln.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 2a1fe3dc6f..58c83a85c7 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1611,6 +1611,15 @@ getcmdline_int(
int did_save_ccline = FALSE;
int cmdline_type;
int wild_type;
+ int cmdheight0 = p_ch == 0;
+
+ if (cmdheight0)
+ {
+ // If cmdheight is 0, cmdheight must be set to 1 when we enter command
+ // line.
+ set_option_value((char_u *)"ch", 1L, NULL, 0);
+ update_screen(VALID); // redraw the screen NOW
+ }
// one recursion level deeper
++depth;
@@ -2595,6 +2604,13 @@ theend:
{
char_u *p = ccline.cmdbuff;
+ if (cmdheight0)
+ {
+ set_option_value((char_u *)"ch", 0L, NULL, 0);
+ // Redraw is needed for command line completion
+ redraw_all_later(CLEAR);
+ }
+
--depth;
if (did_save_ccline)
restore_cmdline(&save_ccline);