diff options
-rw-r--r-- | src/ex_getln.c | 7 | ||||
-rw-r--r-- | src/testdir/test_cmdline.vim | 18 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 26 insertions, 1 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index 04273379b3..6b62d84cf1 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -2033,7 +2033,12 @@ getcmdline_int( { if (nextwild(&xpc, WILD_EXPAND_KEEP, 0, firstc != '@') == OK) { - if (xpc.xp_numfiles > 1) + if (xpc.xp_numfiles > 1 + && ((!did_wild_list && (wim_flags[wim_index] & WIM_LIST)) +#ifdef FEAT_WILDMENU + || p_wmnu) +#endif + ) { #ifdef FEAT_WILDMENU // Trigger the popup menu when wildoptions=pum diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index be688e3969..3372e8dd31 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -874,6 +874,24 @@ func Test_cmdline_complete_user_cmd() call feedkeys(":Foo b\\x\<Tab>\<Home>\"\<cr>", 'tx') call assert_equal('"Foo b\x', @:) delcommand Foo + + redraw + call assert_equal('~', Screenline(&lines - 1)) + command! FooOne : + command! FooTwo : + + set nowildmenu + call feedkeys(":Foo\<Tab>\<Home>\"\<cr>", 'tx') + call assert_equal('"FooOne', @:) + call assert_equal('~', Screenline(&lines - 1)) + + call feedkeys(":Foo\<S-Tab>\<Home>\"\<cr>", 'tx') + call assert_equal('"FooTwo', @:) + call assert_equal('~', Screenline(&lines - 1)) + + delcommand FooOne + delcommand FooTwo + set wildmenu& endfunc func Test_complete_user_cmd() diff --git a/src/version.c b/src/version.c index 3788596440..289d0e6854 100644 --- a/src/version.c +++ b/src/version.c @@ -732,6 +732,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 238, +/**/ 237, /**/ 236, |