From c601d988b6b1a672f71e3d61f4aaa4f7742a3a21 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 10 Oct 2022 13:46:15 +0100 Subject: patch 9.0.0713: of MenuPopup event is expanded like a file name Problem: of MenuPopup event is expanded like a file name. Solution: Do not expand for MenuPopup. (closes #11328) --- src/autocmd.c | 1 + src/testdir/test_menu.vim | 29 +++++++++++++++++++++++++++++ src/version.c | 2 ++ 3 files changed, 32 insertions(+) diff --git a/src/autocmd.c b/src/autocmd.c index 599db46c7..93da0bbbb 100644 --- a/src/autocmd.c +++ b/src/autocmd.c @@ -2095,6 +2095,7 @@ apply_autocmds_group( || event == EVENT_DIRCHANGED || event == EVENT_DIRCHANGEDPRE || event == EVENT_MODECHANGED + || event == EVENT_MENUPOPUP || event == EVENT_USER || event == EVENT_WINCLOSED || event == EVENT_WINSCROLLED) diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim index 1602e93de..95d2b01a5 100644 --- a/src/testdir/test_menu.vim +++ b/src/testdir/test_menu.vim @@ -479,6 +479,35 @@ func Test_popup_menu() unmenu PopUp endfunc +" Test for MenuPopup autocommand +func Test_autocmd_MenuPopup() + CheckNotGui + + set mouse=a + set mousemodel=popup + aunmenu * + autocmd MenuPopup * exe printf( + \ 'anoremenu PopUp.Foo let g:res = ["%s", "%s"]', + \ expand(''), expand('')) + + call feedkeys("\\\", 'tnix') + call assert_equal(['n', 'n'], g:res) + + call feedkeys("v\\\\", 'tnix') + call assert_equal(['v', 'v'], g:res) + + call feedkeys("gh\\\\", 'tnix') + call assert_equal(['s', 's'], g:res) + + call feedkeys("i\\\\", 'tnix') + call assert_equal(['i', 'i'], g:res) + + autocmd! MenuPopup + aunmenu PopUp.Foo + unlet g:res + set mouse& mousemodel& +endfunc + " Test for listing the menus using the :menu command func Test_show_menus() " In the GUI, tear-off menu items are present in the output below diff --git a/src/version.c b/src/version.c index eef7ff101..2b57f7d1a 100644 --- a/src/version.c +++ b/src/version.c @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 713, /**/ 712, /**/ -- cgit v1.2.1