diff options
| author | Karoly Lorentey | 2006-12-03 15:03:30 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-12-03 15:03:30 +0000 |
| commit | 974b73e83842d63b14512aa225cc53983a9b5d14 (patch) | |
| tree | 462170d38cbb7057e98f08e8c612a9d30eeea0fd /src/macmenu.c | |
| parent | d0104e754a241cf83811fef30195d41201de533c (diff) | |
| parent | f5be22a273892218aad1db32c43ba562a08f3925 (diff) | |
| download | emacs-974b73e83842d63b14512aa225cc53983a9b5d14.tar.gz emacs-974b73e83842d63b14512aa225cc53983a9b5d14.zip | |
Merged from emacs@sv.gnu.org. Last-minute emacsclient rewrites be damned!
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-490
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-491
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-492
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-493
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-494
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-495
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-496
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-497
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-498
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-499
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-500
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-501
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-502
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-503
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-504
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-505
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-506
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-507
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-508
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-509
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-510
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-511
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-512
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-513
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-514
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-515
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-516
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-517
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-518
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-519
Update from CVS: etc/TUTORIAL.cn: Updated.
* emacs@sv.gnu.org/emacs--devo--0--patch-520
Merge from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-521
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-522
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-523
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-524
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-525
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-526
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-527
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-528
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-529
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-530
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-531
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-532
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-533
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-534
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-535
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-161
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-162
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-163
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-164
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-165
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-166
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-167
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-168
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-169
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-170
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-588
Diffstat (limited to 'src/macmenu.c')
| -rw-r--r-- | src/macmenu.c | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/macmenu.c b/src/macmenu.c index 1a1525eafb7..14bfe92cb25 100644 --- a/src/macmenu.c +++ b/src/macmenu.c | |||
| @@ -319,7 +319,7 @@ restore_menu_items (saved) | |||
| 319 | menu_items_used = XINT (XCAR (saved)); | 319 | menu_items_used = XINT (XCAR (saved)); |
| 320 | saved = XCDR (saved); | 320 | saved = XCDR (saved); |
| 321 | menu_items_n_panes = XINT (XCAR (saved)); | 321 | menu_items_n_panes = XINT (XCAR (saved)); |
| 322 | saved = XCDR (saved); | 322 | saved = XCDR (saved); |
| 323 | menu_items_submenu_depth = XINT (XCAR (saved)); | 323 | menu_items_submenu_depth = XINT (XCAR (saved)); |
| 324 | return Qnil; | 324 | return Qnil; |
| 325 | } | 325 | } |
| @@ -1453,7 +1453,7 @@ update_submenu_strings (first_wv) | |||
| 1453 | /* Event handler function that pops down a menu on C-g. We can only pop | 1453 | /* Event handler function that pops down a menu on C-g. We can only pop |
| 1454 | down menus if CancelMenuTracking is present (OSX 10.3 or later). */ | 1454 | down menus if CancelMenuTracking is present (OSX 10.3 or later). */ |
| 1455 | 1455 | ||
| 1456 | #ifdef HAVE_CANCELMENUTRACKING | 1456 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
| 1457 | static pascal OSStatus | 1457 | static pascal OSStatus |
| 1458 | menu_quit_handler (nextHandler, theEvent, userData) | 1458 | menu_quit_handler (nextHandler, theEvent, userData) |
| 1459 | EventHandlerCallRef nextHandler; | 1459 | EventHandlerCallRef nextHandler; |
| @@ -1487,7 +1487,7 @@ menu_quit_handler (nextHandler, theEvent, userData) | |||
| 1487 | 1487 | ||
| 1488 | return CallNextEventHandler (nextHandler, theEvent); | 1488 | return CallNextEventHandler (nextHandler, theEvent); |
| 1489 | } | 1489 | } |
| 1490 | #endif /* HAVE_CANCELMENUTRACKING */ | 1490 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 1491 | 1491 | ||
| 1492 | /* Add event handler to all menus that belong to KIND so we can detect C-g. | 1492 | /* Add event handler to all menus that belong to KIND so we can detect C-g. |
| 1493 | MENU_HANDLE is the root menu of the tracking session to dismiss | 1493 | MENU_HANDLE is the root menu of the tracking session to dismiss |
| @@ -1499,10 +1499,15 @@ install_menu_quit_handler (kind, menu_handle) | |||
| 1499 | enum mac_menu_kind kind; | 1499 | enum mac_menu_kind kind; |
| 1500 | MenuHandle menu_handle; | 1500 | MenuHandle menu_handle; |
| 1501 | { | 1501 | { |
| 1502 | #ifdef HAVE_CANCELMENUTRACKING | 1502 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 |
| 1503 | EventTypeSpec typesList[] = { { kEventClassKeyboard, kEventRawKeyDown } }; | 1503 | static const EventTypeSpec typesList[] = |
| 1504 | {{kEventClassKeyboard, kEventRawKeyDown}}; | ||
| 1504 | int id; | 1505 | int id; |
| 1505 | 1506 | ||
| 1507 | #if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 | ||
| 1508 | if (CancelMenuTracking == NULL) | ||
| 1509 | return; | ||
| 1510 | #endif | ||
| 1506 | for (id = min_menu_id[kind]; id < min_menu_id[kind + 1]; id++) | 1511 | for (id = min_menu_id[kind]; id < min_menu_id[kind + 1]; id++) |
| 1507 | { | 1512 | { |
| 1508 | MenuHandle menu = GetMenuHandle (id); | 1513 | MenuHandle menu = GetMenuHandle (id); |
| @@ -1511,9 +1516,9 @@ install_menu_quit_handler (kind, menu_handle) | |||
| 1511 | break; | 1516 | break; |
| 1512 | InstallMenuEventHandler (menu, menu_quit_handler, | 1517 | InstallMenuEventHandler (menu, menu_quit_handler, |
| 1513 | GetEventTypeCount (typesList), | 1518 | GetEventTypeCount (typesList), |
| 1514 | typesList, menu_handle, NULL); | 1519 | typesList, menu_handle, NULL); |
| 1515 | } | 1520 | } |
| 1516 | #endif /* HAVE_CANCELMENUTRACKING */ | 1521 | #endif /* MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 */ |
| 1517 | } | 1522 | } |
| 1518 | 1523 | ||
| 1519 | /* Set the contents of the menubar widgets of frame F. | 1524 | /* Set the contents of the menubar widgets of frame F. |
| @@ -2428,9 +2433,9 @@ mac_dialog_show (f, keymaps, title, header, error_name) | |||
| 2428 | /* Is this item a separator? */ | 2433 | /* Is this item a separator? */ |
| 2429 | static int | 2434 | static int |
| 2430 | name_is_separator (name) | 2435 | name_is_separator (name) |
| 2431 | char *name; | 2436 | const char *name; |
| 2432 | { | 2437 | { |
| 2433 | char *start = name; | 2438 | const char *start = name; |
| 2434 | 2439 | ||
| 2435 | /* Check if name string consists of only dashes ('-'). */ | 2440 | /* Check if name string consists of only dashes ('-'). */ |
| 2436 | while (*name == '-') name++; | 2441 | while (*name == '-') name++; |
| @@ -2641,6 +2646,17 @@ dispose_menus (kind, id) | |||
| 2641 | } | 2646 | } |
| 2642 | 2647 | ||
| 2643 | #endif /* HAVE_MENUS */ | 2648 | #endif /* HAVE_MENUS */ |
| 2649 | |||
| 2650 | /* The following is used by delayed window autoselection. */ | ||
| 2651 | |||
| 2652 | DEFUN ("menu-or-popup-active-p", Fmenu_or_popup_active_p, Smenu_or_popup_active_p, 0, 0, 0, | ||
| 2653 | doc: /* Return t if a menu or popup dialog is active. */) | ||
| 2654 | () | ||
| 2655 | { | ||
| 2656 | /* Always return Qnil since menu selection functions do not return | ||
| 2657 | until a selection has been made or cancelled. */ | ||
| 2658 | return Qnil; | ||
| 2659 | } | ||
| 2644 | 2660 | ||
| 2645 | void | 2661 | void |
| 2646 | syms_of_macmenu () | 2662 | syms_of_macmenu () |
| @@ -2652,6 +2668,7 @@ syms_of_macmenu () | |||
| 2652 | staticpro (&Qdebug_on_next_call); | 2668 | staticpro (&Qdebug_on_next_call); |
| 2653 | 2669 | ||
| 2654 | defsubr (&Sx_popup_menu); | 2670 | defsubr (&Sx_popup_menu); |
| 2671 | defsubr (&Smenu_or_popup_active_p); | ||
| 2655 | #ifdef HAVE_MENUS | 2672 | #ifdef HAVE_MENUS |
| 2656 | defsubr (&Sx_popup_dialog); | 2673 | defsubr (&Sx_popup_dialog); |
| 2657 | #endif | 2674 | #endif |