diff options
-rw-r--r-- | src/testdir/test_cmdline.vim | 10 | ||||
-rw-r--r-- | src/usercmd.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index ff38b69c6e..ba3af3c71e 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -3498,4 +3498,14 @@ func Test_rulerformat_position() call StopVimInTerminal(buf) endfunc +func Test_usercmd_completion() + let g:complete=[] + command! -nargs=* -complete=command TestCompletion echo <q-args> + let g:complete = getcompletion('TestCompletion ', 'cmdline') + let a = getcompletion('', 'cmdline') + + call assert_equal(a, g:complete) + delcom TestCompletion + unlet! g:complete +endfunc " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/usercmd.c b/src/usercmd.c index 57435fafbc..6f4e105821 100644 --- a/src/usercmd.c +++ b/src/usercmd.c @@ -329,7 +329,11 @@ set_context_in_user_cmdarg( return set_context_in_menu_cmd(xp, cmd, arg, forceit); #endif if (context == EXPAND_COMMANDS) + { + if (xp->xp_context == EXPAND_NOTHING) + xp->xp_context = context; return arg; + } if (context == EXPAND_MAPPINGS) return set_context_in_map_cmd(xp, (char_u *)"map", arg, forceit, FALSE, FALSE, CMD_map); diff --git a/src/version.c b/src/version.c index edc013b757..d38e9b46f7 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1708, +/**/ 1707, /**/ 1706, |