vim-patch:9.0.0015: with EXITFREE defined terminal menus are not cleared (#19187)

Problem:    With EXITFREE defined terminal menus are not cleared.
Solution:   Also clear terminal menus. Remove condition that is always true.
            (closes vim/vim#10641)
79ae152697
This commit is contained in:
zeertzjq
2022-07-01 21:02:59 +08:00
committed by GitHub
parent 6486b0345a
commit 2b1abe3c9d
2 changed files with 2 additions and 2 deletions

View File

@@ -687,6 +687,7 @@ void free_all_mem(void)
// Clear menus. // Clear menus.
do_cmdline_cmd("aunmenu *"); do_cmdline_cmd("aunmenu *");
do_cmdline_cmd("tlunmenu *");
do_cmdline_cmd("menutranslate clear"); do_cmdline_cmd("menutranslate clear");
// Clear mappings, abbreviations, breakpoints. // Clear mappings, abbreviations, breakpoints.

View File

@@ -1496,11 +1496,10 @@ void execute_menu(const exarg_T *eap, vimmenu_T *menu, int mode_idx)
} }
} }
if (idx == -1 || eap == NULL) { if (idx == MENU_INDEX_INVALID || eap == NULL) {
idx = MENU_INDEX_NORMAL; idx = MENU_INDEX_NORMAL;
} }
assert(idx != MENU_INDEX_INVALID);
if (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. // When executing a script or function execute the commands right now.
// Also for the window toolbar // Also for the window toolbar