diff src/ex_docmd.c @ 14059:a94bc6a7b29e v8.1.0047

patch 8.1.0047: no completion for :unlet $VAR commit https://github.com/vim/vim/commit/19834010889fc5bfa0f88b3ba83133dae6c0a35d Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 12 17:03:39 2018 +0200 patch 8.1.0047: no completion for :unlet $VAR Problem: No completion for :unlet $VAR. Solution: Add completion. (Jason Franklin)
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Jun 2018 17:15:06 +0200
parents c1ead25ed819
children da09e29e59d9
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4056,8 +4056,16 @@ set_one_cmd_context(
 	case CMD_unlet:
 	    while ((xp->xp_pattern = vim_strchr(arg, ' ')) != NULL)
 		arg = xp->xp_pattern + 1;
+
 	    xp->xp_context = EXPAND_USER_VARS;
 	    xp->xp_pattern = arg;
+
+	    if (*xp->xp_pattern == '$')
+	    {
+		xp->xp_context = EXPAND_ENV_VARS;
+		++xp->xp_pattern;
+	    }
+
 	    break;
 
 	case CMD_function:
@@ -11277,7 +11285,10 @@ makeopens(
 	 * winminheight and winminwidth need to be set to avoid an error if the
 	 * user has set winheight or winwidth.
 	 */
-	if (put_line(fd, "set winminheight=1 winheight=1 winminwidth=1 winwidth=1") == FAIL)
+	if (put_line(fd, "set winminheight=0") == FAIL
+		|| put_line(fd, "set winheight=1") == FAIL
+		|| put_line(fd, "set winminwidth=0") == FAIL
+		|| put_line(fd, "set winwidth=1") == FAIL)
 	    return FAIL;
 	if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL)
 	    return FAIL;