From af9e28a5b8f888b79459393ddb26fffe613c3f3c Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 6 Feb 2023 20:58:09 +0000 Subject: patch 9.0.1290: CTRL-N and -P on cmdline don't trigger CmdlineChanged Problem: CTRL-N and -P on cmdline don't trigger CmdlineChanged. Solution: Jump to cmdline_changed instead of cmdline_not_changed. (closes #11956) --- src/ex_getln.c | 4 ++-- src/testdir/test_autocmd.vim | 35 +++++++++++++++++++++++++++++++++++ src/version.c | 2 ++ 3 files changed, 39 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ex_getln.c b/src/ex_getln.c index 2407bceb16..6d0b3c5db6 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -2293,7 +2293,7 @@ getcmdline_int( wild_type = (c == Ctrl_P) ? WILD_PREV : WILD_NEXT; if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL) break; - goto cmdline_not_changed; + goto cmdline_changed; } // FALLTHROUGH case K_UP: @@ -2315,7 +2315,7 @@ getcmdline_int( wild_type = WILD_PAGEDOWN; if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL) break; - goto cmdline_not_changed; + goto cmdline_changed; } else { diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 8931678d74..c11f6ff306 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -1918,6 +1918,41 @@ func Test_Cmdline() au! CmdlineChanged cunmap + let g:log = [] + autocmd CmdlineChanged : let g:log += [getcmdline()] + call feedkeys(":sign \\\\\\\", 'xt') + call assert_equal([ + \ 's', + \ 'si', + \ 'sig', + \ 'sign', + \ 'sign ', + \ 'sign define', + \ 'sign jump', + \ 'sign list', + \ 'sign jump', + \ 'sign define', + \ 'sign ', + \ ], g:log) + let g:log = [] + set wildmenu wildoptions+=pum + call feedkeys(":sign \\\\\\", 'xt') + call assert_equal([ + \ 's', + \ 'si', + \ 'sig', + \ 'sign', + \ 'sign ', + \ 'sign unplace', + \ 'sign jump', + \ 'sign define', + \ 'sign undefine', + \ 'sign unplace', + \ ], g:log) + set wildmenu& wildoptions& + unlet g:log + au! CmdlineChanged + au! CmdlineEnter : let g:entered = expand('') au! CmdlineLeave : let g:left = expand('') let g:entered = 0 diff --git a/src/version.c b/src/version.c index d7b12b1f1a..3523df2b91 100644 --- a/src/version.c +++ b/src/version.c @@ -695,6 +695,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1290, /**/ 1289, /**/ -- cgit v1.2.3