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\\\"\", '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\\\"\", 'tx') + call assert_equal('"FooOne', @:) + call assert_equal('~', Screenline(&lines - 1)) + + call feedkeys(":Foo\\\"\", '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 @@ -731,6 +731,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 238, /**/ 237, /**/