]> git.eshelyaron.com Git - emacs.git/commitdiff
(menu_item_enabled_p_1): Special handling for quit.
authorRichard M. Stallman <rms@gnu.org>
Thu, 22 Jun 1995 19:25:20 +0000 (19:25 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 22 Jun 1995 19:25:20 +0000 (19:25 +0000)
(set_frame_menubar): Inhibit quitting.

src/xmenu.c

index fc7615e9fdd0c4f0584c6e1bf8f8753801e2aba6..f8d3b143cebb8ae1dbe5ea563b4ece957312668e 100644 (file)
@@ -435,6 +435,11 @@ static Lisp_Object
 menu_item_enabled_p_1 (arg)
      Lisp_Object arg;
 {
+  /* If we got a quit from within the menu computation,
+     quit all the way out of it.  This takes care of C-] in the debugger.  */
+  if (CONSP (arg) && EQ (XCONS (arg)->car, Qquit))
+    Fsignal (Qquit, Qnil);
+
   return Qnil;
 }
 
@@ -1495,9 +1500,12 @@ set_frame_menubar (f, first_time)
   int i;
   int id;
   int count;
+  int specpdl_count = specpdl_ptr - specpdl;
 
   count = inhibit_garbage_collection ();
 
+  specbind (Qinhibit_quit, Qt);
+
   id = frame_vector_add_frame (f);
 
   wv = malloc_widget_value ();
@@ -1599,6 +1607,8 @@ set_frame_menubar (f, first_time)
 
   update_frame_menubar (f);
 
+  unbind_to (specpdl_count, Qnil);
+
   UNBLOCK_INPUT;
 }