1
0
forked from aniani/vim

patch 9.0.0238: Shift-Tab shows matches on cmdline when 'wildmenu' is off

Problem:    Shift-Tab shows matches on cmdline when 'wildmenu' is off.
Solution:   Only show matches when 'wildmode' contains "list". (closes #10951)
This commit is contained in:
Bram Moolenaar 2022-08-21 18:38:21 +01:00
parent e24a14118c
commit 300175fd7f
3 changed files with 26 additions and 1 deletions

View File

@ -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

View File

@ -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()

View File

@ -731,6 +731,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
238,
/**/
237,
/**/