diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-10-10 13:46:15 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-10-10 13:46:15 +0100 |
commit | c601d988b6b1a672f71e3d61f4aaa4f7742a3a21 (patch) | |
tree | 21863b5e9bc335c7930aaa1990fa6c188bc582b1 | |
parent | 79f234499b6692cc16970b7455bc9b002242632f (diff) |
patch 9.0.0713: <amatch> of MenuPopup event is expanded like a file namev9.0.0713
Problem: <amatch> of MenuPopup event is expanded like a file name.
Solution: Do not expand <amatch> for MenuPopup. (closes #11328)
-rw-r--r-- | src/autocmd.c | 1 | ||||
-rw-r--r-- | src/testdir/test_menu.vim | 29 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 32 insertions, 0 deletions
diff --git a/src/autocmd.c b/src/autocmd.c index 599db46c76..93da0bbbb1 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 1602e93de6..95d2b01a5c 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 <Cmd>let g:res = ["%s", "%s"]<CR>', + \ expand('<afile>'), expand('<amatch>')) + + call feedkeys("\<RightMouse>\<Down>\<CR>", 'tnix') + call assert_equal(['n', 'n'], g:res) + + call feedkeys("v\<RightMouse>\<Down>\<CR>\<Esc>", 'tnix') + call assert_equal(['v', 'v'], g:res) + + call feedkeys("gh\<RightMouse>\<Down>\<CR>\<Esc>", 'tnix') + call assert_equal(['s', 's'], g:res) + + call feedkeys("i\<RightMouse>\<Down>\<CR>\<Esc>", '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 eef7ff101b..2b57f7d1aa 100644 --- a/src/version.c +++ b/src/version.c @@ -700,6 +700,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 713, +/**/ 712, /**/ 711, |