Mercurial > vim
changeset 29798:e038b8dd7cd9 v9.0.0238
patch 9.0.0238: Shift-Tab shows matches on cmdline when 'wildmenu' is off
Commit: https://github.com/vim/vim/commit/300175fd7f874be78826a00f5cb60a7ec2f20655
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 21 18:38:21 2022 +0100
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 https://github.com/vim/vim/issues/10951)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 21 Aug 2022 19:45:03 +0200 |
parents | f66b7c34e291 |
children | da34550641ed |
files | src/ex_getln.c src/testdir/test_cmdline.vim src/version.c |
diffstat | 3 files changed, 26 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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()