mirror of
https://github.com/vim/vim.git
synced 2025-11-06 10:07:45 -05:00
patch 8.2.2851: using <Cmd> mapping on the command line triggers CmdlineChanged
Problem: Using <Cmd> mapping on the command line triggers CmdlineChanged.
(Naohiro Ono)
Solution: Jump to cmdline_not_changed if the command line didn't change.
(closes #8208)
This commit is contained in:
@@ -1757,9 +1757,17 @@ getcmdline_int(
|
|||||||
c = safe_vgetc();
|
c = safe_vgetc();
|
||||||
} while (c == K_IGNORE || c == K_NOP);
|
} while (c == K_IGNORE || c == K_NOP);
|
||||||
|
|
||||||
if (c == K_COMMAND
|
if (c == K_COMMAND)
|
||||||
&& do_cmdline(NULL, getcmdkeycmd, NULL, DOCMD_NOWAIT) == OK)
|
{
|
||||||
|
int clen = ccline.cmdlen;
|
||||||
|
|
||||||
|
if (do_cmdline(NULL, getcmdkeycmd, NULL, DOCMD_NOWAIT) == OK)
|
||||||
|
{
|
||||||
|
if (clen == ccline.cmdlen)
|
||||||
|
goto cmdline_not_changed;
|
||||||
goto cmdline_changed;
|
goto cmdline_changed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (KeyTyped)
|
if (KeyTyped)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1799,4 +1799,23 @@ func Test_recalling_cmdline()
|
|||||||
cunmap <Plug>(save-cmdline)
|
cunmap <Plug>(save-cmdline)
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_cmd_map_cmdlineChanged()
|
||||||
|
let g:log = []
|
||||||
|
cnoremap <F1> l<Cmd><CR>s
|
||||||
|
augroup test
|
||||||
|
autocmd!
|
||||||
|
autocmd CmdlineChanged : let g:log += [getcmdline()]
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
call feedkeys(":\<F1>\<CR>", 'xt')
|
||||||
|
call assert_equal(['l', 'ls'], g:log)
|
||||||
|
|
||||||
|
unlet g:log
|
||||||
|
cunmap <F1>
|
||||||
|
augroup test
|
||||||
|
autocmd!
|
||||||
|
augroup END
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2851,
|
||||||
/**/
|
/**/
|
||||||
2850,
|
2850,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user