+2014-06-13 Eli Zaretskii <eliz@gnu.org>
+
+ * menu.c (Fx_popup_menu): Don't call the frame's menu_show_hook if
+ the frame is the initial frame, because the hook is not set up
+ then, and Emacs crashes.
+ Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
+
2014-06-12 Stefan Monnier <monnier@iro.umontreal.ca>
* keymap.c (silly_event_symbol_error): Don't recommend the use
record_unwind_protect_void (discard_menu_items);
#endif
- /* Display them in a menu. */
- selection = FRAME_TERMINAL (f)->menu_show_hook (f, xpos, ypos, menuflags,
- title, &error_name);
+ /* Display them in a menu, but not if F is the initial frame that
+ doesn't have its hooks set (e.g., in a batch session), because
+ such a frame cannot display menus. */
+ if (!FRAME_INITIAL_P (f))
+ selection = FRAME_TERMINAL (f)->menu_show_hook (f, xpos, ypos, menuflags,
+ title, &error_name);
#ifdef HAVE_NS
unbind_to (specpdl_count, Qnil);