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
index 6e2a30a..7ca20c7 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -402,6 +402,7 @@
 # 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
index a588674..bfad016 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -2361,11 +2361,10 @@
     }
 
     // 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
index 38b873b..4e2389e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    15,
+/**/
     14,
 /**/
     13,