diff src/ex_getln.c @ 29546:8a243ecfe2dd v9.0.0114

patch 9.0.0114: the command line takes up space even when not used Commit: https://github.com/vim/vim/commit/f39cfb72629f3e7fefaf578a3faa2619cd0654f8 Author: Shougo Matsushita <Shougo.Matsu@gmail.com> Date: Sat Jul 30 16:54:05 2022 +0100 patch 9.0.0114: the command line takes up space even when not used Problem: The command line takes up space even when not used. Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita, closes #10675, closes #940)
author Bram Moolenaar <Bram@vim.org>
date Sat, 30 Jul 2022 18:00:03 +0200
parents e988bbf50e09
children 6f9e21c30d7e
line wrap: on
line diff
--- 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);