diff options
-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, |