# HG changeset patch # User Bram Moolenaar # Date 1656674104 -7200 # Node ID 5f003938334086c07cf6c6acb4f88da70195635d # Parent a56121c09252b1ff4a7aaa359d232a9794188c9d patch 9.0.0015: with EXITFREE defined terminal menus are not cleared Commit: https://github.com/vim/vim/commit/79ae152697ed0dfa578cfac305d05021dec2a6bc Author: zeertzjq Date: Fri Jul 1 12:13:15 2022 +0100 patch 9.0.0015: with EXITFREE defined terminal menus are not cleared Problem: With EXITFREE defined terminal menus are not cleared. Solution: Also clear terminal menus. Remove condition that is always true. (closes #10641) diff --git a/src/alloc.c b/src/alloc.c --- a/src/alloc.c +++ b/src/alloc.c @@ -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 diff --git a/src/menu.c b/src/menu.c --- a/src/menu.c +++ b/src/menu.c @@ -2361,11 +2361,10 @@ execute_menu(exarg_T *eap, vimmenu_T *me } // 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. diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 15, +/**/ 14, /**/ 13,