(menu_item_enabled_p_1): Special handling for quit.
(set_frame_menubar): Inhibit quitting.
This commit is contained in:
parent
30c7e3b3fe
commit
37a985474f
1 changed files with 10 additions and 0 deletions
10
src/xmenu.c
10
src/xmenu.c
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue