patch 9.0.0141: "delmenu" does not remove autocmmands
Problem: "delmenu" does not remove autocmmands. Running menu test function
alone fails.
Solution: Delete autocommands Make sure there is at least one menu.
(closes #10848)
diff --git a/runtime/delmenu.vim b/runtime/delmenu.vim
index 040cc09..ef663c7 100644
--- a/runtime/delmenu.vim
+++ b/runtime/delmenu.vim
@@ -7,6 +7,31 @@
aunmenu *
tlunmenu *
+if exists('#SetupLazyloadMenus')
+ au! SetupLazyloadMenus
+ augroup! SetupLazyloadMenus
+endif
+
+if exists('#buffer_list')
+ au! buffer_list
+ augroup! buffer_list
+endif
+
+if exists('#LoadBufferMenu')
+ au! LoadBufferMenu
+ augroup! LoadBufferMenu
+endif
+
+if exists('#spellmenu')
+ au! spellmenu
+ augroup! spellmenu
+endif
+
+if exists('#SpellPopupMenu')
+ au! SpellPopupMenu
+ augroup! SpellPopupMenu
+endif
+
unlet! g:did_install_default_menus
unlet! g:did_install_syntax_menu
diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim
index df717cc..1602e93 100644
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -160,9 +160,6 @@
" Test for menu item completion in command line
func Test_menu_expand()
- " Make sure we don't have stale menu items like Buffers menu.
- source $VIMRUNTIME/delmenu.vim
-
" Create the menu itmes for test
menu Dummy.Nothing lll
for i in range(1, 4)
@@ -369,6 +366,10 @@
\ display: 'tlnoremenu', modes: 'tl', enabled: v:true, silent: v:false,
\ rhs: ':tlnoremenu<CR>', noremenu: v:true, script: v:false},
\ menu_info('Test.tlnoremenu', 'tl'))
+
+ " Test for getting all the top-level menu names
+ call assert_notequal(menu_info('').submenus, [])
+
aunmenu Test
tlunmenu Test
call assert_equal({}, menu_info('Test'))
@@ -407,9 +408,6 @@
\ shortcut: '', modes: ' ', submenus: ['menu']},
\ menu_info(']Test'))
unmenu ]Test
-
- " Test for getting all the top-level menu names
- call assert_notequal(menu_info('').submenus, [])
endfunc
" Test for <special> keyword in a menu with 'cpo' containing '<'
diff --git a/src/version.c b/src/version.c
index 7b53bee..b6c3699 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 141,
+/**/
140,
/**/
139,