diff options
| author | Richard M. Stallman | 1995-06-22 19:25:20 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-06-22 19:25:20 +0000 |
| commit | 37a985474ff7a71a651092daa24eb15f29788740 (patch) | |
| tree | 451eadcef9c2c3697d1e044c0084aaa63f65e989 /src | |
| parent | 30c7e3b3fe37c9c6c8501ecdca2168c55e2843b4 (diff) | |
| download | emacs-37a985474ff7a71a651092daa24eb15f29788740.tar.gz emacs-37a985474ff7a71a651092daa24eb15f29788740.zip | |
(menu_item_enabled_p_1): Special handling for quit.
(set_frame_menubar): Inhibit quitting.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xmenu.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/xmenu.c b/src/xmenu.c index fc7615e9fdd..f8d3b143ceb 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -435,6 +435,11 @@ static Lisp_Object | |||
| 435 | menu_item_enabled_p_1 (arg) | 435 | menu_item_enabled_p_1 (arg) |
| 436 | Lisp_Object arg; | 436 | Lisp_Object arg; |
| 437 | { | 437 | { |
| 438 | /* If we got a quit from within the menu computation, | ||
| 439 | quit all the way out of it. This takes care of C-] in the debugger. */ | ||
| 440 | if (CONSP (arg) && EQ (XCONS (arg)->car, Qquit)) | ||
| 441 | Fsignal (Qquit, Qnil); | ||
| 442 | |||
| 438 | return Qnil; | 443 | return Qnil; |
| 439 | } | 444 | } |
| 440 | 445 | ||
| @@ -1495,9 +1500,12 @@ set_frame_menubar (f, first_time) | |||
| 1495 | int i; | 1500 | int i; |
| 1496 | int id; | 1501 | int id; |
| 1497 | int count; | 1502 | int count; |
| 1503 | int specpdl_count = specpdl_ptr - specpdl; | ||
| 1498 | 1504 | ||
| 1499 | count = inhibit_garbage_collection (); | 1505 | count = inhibit_garbage_collection (); |
| 1500 | 1506 | ||
| 1507 | specbind (Qinhibit_quit, Qt); | ||
| 1508 | |||
| 1501 | id = frame_vector_add_frame (f); | 1509 | id = frame_vector_add_frame (f); |
| 1502 | 1510 | ||
| 1503 | wv = malloc_widget_value (); | 1511 | wv = malloc_widget_value (); |
| @@ -1599,6 +1607,8 @@ set_frame_menubar (f, first_time) | |||
| 1599 | 1607 | ||
| 1600 | update_frame_menubar (f); | 1608 | update_frame_menubar (f); |
| 1601 | 1609 | ||
| 1610 | unbind_to (specpdl_count, Qnil); | ||
| 1611 | |||
| 1602 | UNBLOCK_INPUT; | 1612 | UNBLOCK_INPUT; |
| 1603 | } | 1613 | } |
| 1604 | 1614 | ||