diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index fc227f357e..62586598bf 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -2010,8 +2010,8 @@ static int command_line_handle_key(CommandLineState *s) case Ctrl_N: // next match case Ctrl_P: // previous match if (s->xpc.xp_numfiles > 0) { - if (nextwild(&s->xpc, (s->c == Ctrl_P) ? WILD_PREV : WILD_NEXT, - 0, s->firstc != '@') == FAIL) { + const int wild_type = (s->c == Ctrl_P) ? WILD_PREV : WILD_NEXT; + if (nextwild(&s->xpc, wild_type, 0, s->firstc != '@') == FAIL) { break; } return command_line_not_changed(s); @@ -2031,9 +2031,9 @@ static int command_line_handle_key(CommandLineState *s) || s->c == K_KPAGEUP || s->c == K_KPAGEDOWN)) { // If the popup menu is displayed, then PageUp and PageDown // are used to scroll the menu. - if (nextwild(&s->xpc, - (s->c == K_PAGEUP) ? WILD_PAGEUP : WILD_PAGEDOWN, - 0, s->firstc != '@') == FAIL) { + const int wild_type = + (s->c == K_PAGEDOWN || s->c == K_KPAGEDOWN) ? WILD_PAGEDOWN : WILD_PAGEUP; + if (nextwild(&s->xpc, wild_type, 0, s->firstc != '@') == FAIL) { break; } return command_line_not_changed(s); diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 50bdfceebd..c867639832 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -2206,7 +2206,8 @@ func Test_wildmenu_dirstack() endfunc " Test for recalling newer or older cmdline from history with , , -" , , , , , or . +" , , , , , , , or +" . func Test_recalling_cmdline() CheckFeature cmdline_hist @@ -2214,17 +2215,18 @@ func Test_recalling_cmdline() cnoremap (save-cmdline) let g:cmdlines += [getcmdline()] let histories = [ - \ {'name': 'cmd', 'enter': ':', 'exit': "\"}, - \ {'name': 'search', 'enter': '/', 'exit': "\"}, - \ {'name': 'expr', 'enter': ":\=", 'exit': "\\"}, - \ {'name': 'input', 'enter': ":call input('')\", 'exit': "\"}, + \ #{name: 'cmd', enter: ':', exit: "\"}, + \ #{name: 'search', enter: '/', exit: "\"}, + \ #{name: 'expr', enter: ":\=", exit: "\\"}, + \ #{name: 'input', enter: ":call input('')\", exit: "\"}, "\ TODO: {'name': 'debug', ...} \] let keypairs = [ - \ {'older': "\", 'newer': "\", 'prefixmatch': v:true}, - \ {'older': "\", 'newer': "\", 'prefixmatch': v:false}, - \ {'older': "\", 'newer': "\", 'prefixmatch': v:false}, - \ {'older': "\", 'newer': "\", 'prefixmatch': v:false}, + \ #{older: "\", newer: "\", prefixmatch: v:true}, + \ #{older: "\", newer: "\", prefixmatch: v:false}, + \ #{older: "\", newer: "\", prefixmatch: v:false}, + \ #{older: "\", newer: "\", prefixmatch: v:false}, + \ #{older: "\", newer: "\", prefixmatch: v:false}, \] let prefix = 'vi' for h in histories