mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
patch 9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A
Problem: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A
(after 9.1.1714) (fizz-is-on-the-way).
Solution: Check if there are matches before applying one (zeertzjq).
closes: #19210
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
9168a04e0c
commit
311b98d942
+1
-1
@@ -1994,7 +1994,7 @@ getcmdline_int(
|
||||
|
||||
int key_is_wc = (c == p_wc && KeyTyped) || c == p_wcm;
|
||||
if ((cmdline_pum_active() || wild_menu_showing || did_wild_list)
|
||||
&& !key_is_wc)
|
||||
&& !key_is_wc && xpc.xp_numfiles > 0)
|
||||
{
|
||||
// Ctrl-Y: Accept the current selection and close the popup menu.
|
||||
// Ctrl-E: cancel the cmdline popup menu and return the original
|
||||
|
||||
@@ -162,6 +162,16 @@ func Test_complete_wildmenu()
|
||||
call feedkeys(":sign un zz\<Left>\<Left>\<Left>\<Tab>\<Tab>\<C-Y> yy\<C-B>\"\<CR>", 'tx')
|
||||
call assert_equal('"sign unplace yy zz', @:)
|
||||
|
||||
" This used to crash
|
||||
call feedkeys(":sign un\<Tab>\<S-Tab>\<C-A>\<C-Y>\<C-B>\"\<CR>", 'tx')
|
||||
" Ctrl-Y is inserted literally like before 9.1.1714
|
||||
call assert_equal("\"sign undefine unplace\<C-Y>", @:)
|
||||
" Also test Ctrl-Y after Ctrl-A with selected item (the result is the same)
|
||||
call feedkeys(":sign un\<Tab>\<C-A>\<C-Y>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_equal("\"sign undefine unplace\<C-Y>", @:)
|
||||
call feedkeys(":sign un\<Tab>\<Tab>\<C-A>\<C-Y>\<C-B>\"\<CR>", 'tx')
|
||||
call assert_equal("\"sign undefine unplace\<C-Y>", @:)
|
||||
|
||||
" cleanup
|
||||
%bwipe
|
||||
set nowildmenu
|
||||
|
||||
@@ -734,6 +734,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2098,
|
||||
/**/
|
||||
2097,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user