Patch 9.0.1290
Problem: CTRL-N and -P on cmdline don't trigger CmdlineChanged.
Solution: Jump to cmdline_changed instead of cmdline_not_changed.
(closes #11956)
Files: src/ex_getln.c, src/testdir/test_autocmd.vim
*** ../vim-9.0.1289/src/ex_getln.c 2023-01-09 19:04:19.304528371 +0000
--- src/ex_getln.c 2023-02-06 20:54:33.368583804 +0000
***************
*** 2293,2299 ****
wild_type = (c == Ctrl_P) ? WILD_PREV : WILD_NEXT;
if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL)
break;
! goto cmdline_not_changed;
}
// FALLTHROUGH
case K_UP:
--- 2293,2299 ----
wild_type = (c == Ctrl_P) ? WILD_PREV : WILD_NEXT;
if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL)
break;
! goto cmdline_changed;
}
// FALLTHROUGH
case K_UP:
***************
*** 2315,2321 ****
wild_type = WILD_PAGEDOWN;
if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL)
break;
! goto cmdline_not_changed;
}
else
{
--- 2315,2321 ----
wild_type = WILD_PAGEDOWN;
if (nextwild(&xpc, wild_type, 0, firstc != '@') == FAIL)
break;
! goto cmdline_changed;
}
else
{
*** ../vim-9.0.1289/src/testdir/test_autocmd.vim 2023-01-28 19:18:56.725720605 +0000
--- src/testdir/test_autocmd.vim 2023-02-06 20:54:33.372583800 +0000
***************
*** 1918,1923 ****
--- 1918,1958 ----
au! CmdlineChanged
cunmap <F1>
+ let g:log = []
+ autocmd CmdlineChanged : let g:log += [getcmdline()]
+ call feedkeys(":sign \<Tab>\<Tab>\<C-N>\<C-P>\<S-Tab>\<S-Tab>\<Esc>", '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 \<S-Tab>\<PageUp>\<kPageUp>\<kPageDown>\<PageDown>\<Esc>", '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('<afile>')
au! CmdlineLeave : let g:left = expand('<afile>')
let g:entered = 0
*** ../vim-9.0.1289/src/version.c 2023-02-06 20:22:44.461678819 +0000
--- src/version.c 2023-02-06 20:56:16.404529611 +0000
***************
*** 697,698 ****
--- 697,700 ----
{ /* Add new patch number below this line */
+ /**/
+ 1290,
/**/
--
From "know your smileys":
:-| :-| Deja' vu!
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///