patch 8.1.0047: no completion for :unlet $VAR
Problem: No completion for :unlet $VAR.
Solution: Add completion. (Jason Franklin)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 3bc86f5..5229e0e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4056,8 +4056,16 @@
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 @@
* 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;