Permalink
Browse files

patch 8.1.0047: no completion for :unlet $VAR

Problem:    No completion for :unlet $VAR.
Solution:   Add completion. (Jason Franklin)
  • Loading branch information...
brammool committed Jun 12, 2018
1 parent 1c3c104 commit 19834010889fc5bfa0f88b3ba83133dae6c0a35d
Showing with 24 additions and 1 deletion.
  1. +12 −1 src/ex_docmd.c
  2. +10 −0 src/testdir/test_unlet.vim
  3. +2 −0 src/version.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;
@@ -45,3 +45,13 @@ func Test_unlet_env()
unlet $MUST_NOT_BE_AN_ERROR
endfunc
func Test_unlet_complete()
let g:FOOBAR = 1
call feedkeys(":unlet g:FOO\t\n", 'tx')
call assert_true(!exists('g:FOOBAR'))
let $FOOBAR = 1
call feedkeys(":unlet $FOO\t\n", 'tx')
call assert_true(!exists('$FOOBAR') || empty($FOOBAR))
endfunc
@@ -761,6 +761,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
47,
/**/
46,
/**/

0 comments on commit 1983401

Please sign in to comment.