]> granicus.if.org Git - vim/commitdiff
patch 9.0.0015: with EXITFREE defined terminal menus are not cleared v9.0.0015
authorzeertzjq <zeertzjq@outlook.com>
Fri, 1 Jul 2022 11:13:15 +0000 (12:13 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 1 Jul 2022 11:13:15 +0000 (12:13 +0100)
Problem:    With EXITFREE defined terminal menus are not cleared.
Solution:   Also clear terminal menus. Remove condition that is always true.
            (closes #10641)

src/alloc.c
src/menu.c
src/version.c

index 6e2a30adf21bf055e7c1ed8de7753eed96936826..7ca20c718951e06220ff8cd55d257804ea17a73b 100644 (file)
@@ -402,6 +402,7 @@ free_all_mem(void)
 # ifdef FEAT_MENU
        // Clear menus.
        do_cmdline_cmd((char_u *)"aunmenu *");
+       do_cmdline_cmd((char_u *)"tlunmenu *");
 #  ifdef FEAT_MULTI_LANG
        do_cmdline_cmd((char_u *)"menutranslate clear");
 #  endif
index a5886742267736d8462fb03d4ef16a8ab4c6004d..bfad016adb457f1816a11a6c4daf25945fada576 100644 (file)
@@ -2361,11 +2361,10 @@ execute_menu(exarg_T *eap, vimmenu_T *menu, int mode_idx)
     }
 
     // For the WinBar menu always use the Normal mode menu.
-    if (idx == -1 || eap == NULL)
+    if (idx == MENU_INDEX_INVALID || eap == NULL)
        idx = MENU_INDEX_NORMAL;
 
-    if (idx != MENU_INDEX_INVALID && menu->strings[idx] != NULL
-                                                && (menu->modes & (1 << idx)))
+    if (menu->strings[idx] != NULL && (menu->modes & (1 << idx)))
     {
        // When executing a script or function execute the commands right now.
        // Also for the window toolbar.
index 38b873bcb7b58a8a4e0e19bd08c235ae6594fa2e..4e2389eb2f527272739dbd4c8920873309facb77 100644 (file)
@@ -735,6 +735,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    15,
 /**/
     14,
 /**/