Lisp_Object x, y, window;
int menuflags = 0;
ptrdiff_t specpdl_count = SPECPDL_INDEX ();
+ ptrdiff_t specpdl_count2;
struct gcpro gcpro1;
if (NILP (position))
}
#endif
+ specpdl_count2 = SPECPDL_INDEX ();
+
#ifdef HAVE_NS /* FIXME: ns-specific, why? --Stef */
record_unwind_protect_void (discard_menu_items);
#endif
selection = FRAME_TERMINAL (f)->menu_show_hook (f, xpos, ypos, menuflags,
title, &error_name);
-#ifdef HAVE_NS
- unbind_to (specpdl_count, Qnil);
-#else
+#ifndef HAVE_NS
discard_menu_items ();
#endif
+ unbind_to (specpdl_count2, Qnil);
+
#ifdef HAVE_NTGUI /* FIXME: Is it really w32-specific? --Stef */
if (FRAME_W32_P (f))
FRAME_DISPLAY_INFO (f)->grabbed = 0;