misc changes
[bpt/emacs.git] / src / w32menu.c
index 6276c84..19eac13 100644 (file)
@@ -299,7 +299,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
 
       struct buffer *prev = current_buffer;
       Lisp_Object buffer;
-      ptrdiff_t specpdl_count = SPECPDL_INDEX ();
+      dynwind_begin ();
       int previous_menu_items_used = f->menu_bar_items_used;
       Lisp_Object *previous_items
        = (Lisp_Object *) alloca (previous_menu_items_used
@@ -408,7 +408,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
        {
          free_menubar_widget_value_tree (first_wv);
          discard_menu_items ();
-          unbind_to (specpdl_count, Qnil);
+          dynwind_end ();
          return;
        }
 
@@ -416,7 +416,7 @@ set_frame_menubar (struct frame *f, bool first_time, bool deep_p)
       f->menu_bar_items_used = menu_items_used;
 
       /* This undoes save_menu_items.  */
-      unbind_to (specpdl_count, Qnil);
+      dynwind_end ();
 
       /* Now GC cannot happen during the lifetime of the widget_value,
         so it's safe to store data from a Lisp_String, as long as
@@ -1570,14 +1570,14 @@ DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_
 void
 syms_of_w32menu (void)
 {
+#include "w32menu.x"
+
   globals_of_w32menu ();
 
   current_popup_menu = NULL;
 
   DEFSYM (Qdebug_on_next_call, "debug-on-next-call");
   DEFSYM (Qunsupported__w32_dialog, "unsupported--w32-dialog");
-
-  defsubr (&Smenu_or_popup_active_p);
 }
 
 /*