vim-patch:8.2.1580: wildmenu does not work properly

Problem:    Wildmenu does not work properly.
Solution:   Do not call may_do_incsearch_highlighting() if completion is in
            progress.
a60053b8f4
This commit is contained in:
Jan Edmund Lazo
2020-12-26 21:11:48 -05:00
parent b90ae75668
commit ed0131e3d9
2 changed files with 30 additions and 1 deletions

View File

@@ -2255,7 +2255,9 @@ static int command_line_changed(CommandLineState *s)
close_preview_windows();
update_screen(SOME_VALID); // Clear 'inccommand' preview.
} else {
may_do_incsearch_highlighting(s->firstc, s->count, &s->is_state);
if (s->xpc.xp_context == EXPAND_NOTHING) {
may_do_incsearch_highlighting(s->firstc, s->count, &s->is_state);
}
}
if (cmdmsg_rl || (p_arshape && !p_tbidi)) {

View File

@@ -75,6 +75,33 @@ func Test_complete_wildmenu()
set nowildmenu
endfunc
func Test_wildmenu_screendump()
CheckScreendump
let lines =<< trim [SCRIPT]
set wildmenu hlsearch
[SCRIPT]
call writefile(lines, 'XTest_wildmenu')
let buf = RunVimInTerminal('-S XTest_wildmenu', {'rows': 8})
call term_sendkeys(buf, ":vim\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_1', {})
call term_sendkeys(buf, "\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_2', {})
call term_sendkeys(buf, "\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_3', {})
call term_sendkeys(buf, "\<Tab>")
call VerifyScreenDump(buf, 'Test_wildmenu_4', {})
call term_sendkeys(buf, "\<Esc>")
" clean up
call StopVimInTerminal(buf)
call delete('XTest_wildmenu')
endfunc
func Test_map_completion()
if !has('cmdline_compl')
return