diff options
| author | Gerd Moellmann | 2000-07-21 14:35:53 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-07-21 14:35:53 +0000 |
| commit | 6214507352b68ebae83a29589fdb66311fbe691d (patch) | |
| tree | ec8831e4bc4af81dc5adf560ec873a4b0d206fd9 /src | |
| parent | f95464e4700cd32aa4cf1de188f3951b7a006451 (diff) | |
| download | emacs-6214507352b68ebae83a29589fdb66311fbe691d.tar.gz emacs-6214507352b68ebae83a29589fdb66311fbe691d.zip | |
(menu_help_callback): Call show_help_echo with
additional arguments OBJECT and POS.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 22 | ||||
| -rw-r--r-- | src/xmenu.c | 36 |
2 files changed, 52 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index d28a76cdc2f..f6a18b1622d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,25 @@ | |||
| 1 | 2000-07-21 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * window.c (foreach_window): Instead of a fake variable argument | ||
| 4 | list, take one USER_DATA argument. | ||
| 5 | (foreach_window_1): Likewise, and call callback functions with two | ||
| 6 | args, the window and USER_DATA. | ||
| 7 | (struct check_window_data): New struct. | ||
| 8 | (check_window_containing): Use it. | ||
| 9 | (window_from_coordinates): Set up a struct check_window_data for | ||
| 10 | foreach_window. | ||
| 11 | (add_window_to_list, freeze_window_start): Change parameters | ||
| 12 | according to new calling convention. | ||
| 13 | |||
| 14 | * window.h (foreach_window): Change prototype. | ||
| 15 | |||
| 16 | * buffer.c (Fprevious_overlay_change): Avoid memory leak. | ||
| 17 | |||
| 18 | 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il> | ||
| 19 | |||
| 20 | * xmenu.c (menu_help_callback): Call show_help_echo with | ||
| 21 | additional arguments OBJECT and POS. | ||
| 22 | |||
| 1 | 2000-07-21 Kenichi Handa <handa@etl.go.jp> | 23 | 2000-07-21 Kenichi Handa <handa@etl.go.jp> |
| 2 | 24 | ||
| 3 | * data.c (Faset): Allow storing any multibyte character in a | 25 | * data.c (Faset): Allow storing any multibyte character in a |
diff --git a/src/xmenu.c b/src/xmenu.c index f18250ca256..e341336214a 100644 --- a/src/xmenu.c +++ b/src/xmenu.c | |||
| @@ -2482,18 +2482,42 @@ xdialog_show (f, keymaps, title, error) | |||
| 2482 | static struct frame *menu_help_frame; | 2482 | static struct frame *menu_help_frame; |
| 2483 | 2483 | ||
| 2484 | 2484 | ||
| 2485 | /* Show help HELP_STRING, or clear help if HELP_STRING is null. This | 2485 | /* Show help HELP_STRING, or clear help if HELP_STRING is null. |
| 2486 | cannot be done with generating a HELP_EVENT because XMenuActivate | 2486 | |
| 2487 | contains a loop that doesn't let Emacs process keyboard events. */ | 2487 | PANE is the pane number, and ITEM is the menu item number in |
| 2488 | the menu (currently not used). | ||
| 2489 | |||
| 2490 | This cannot be done with generating a HELP_EVENT because | ||
| 2491 | XMenuActivate contains a loop that doesn't let Emacs process | ||
| 2492 | keyboard events. */ | ||
| 2488 | 2493 | ||
| 2489 | static void | 2494 | static void |
| 2490 | menu_help_callback (help_string) | 2495 | menu_help_callback (help_string, pane, item) |
| 2491 | char *help_string; | 2496 | char *help_string; |
| 2497 | int pane, item; | ||
| 2492 | { | 2498 | { |
| 2499 | extern Lisp_Object Qmenu_item; | ||
| 2500 | Lisp_Object *first_item; | ||
| 2501 | Lisp_Object pane_name; | ||
| 2502 | Lisp_Object menu_object; | ||
| 2503 | |||
| 2504 | first_item = XVECTOR (menu_items)->contents; | ||
| 2505 | if (EQ (first_item[0], Qt)) | ||
| 2506 | pane_name = first_item[MENU_ITEMS_PANE_NAME]; | ||
| 2507 | else if (EQ (first_item[0], Qquote)) | ||
| 2508 | /* This shouldn't happen, see xmenu_show. */ | ||
| 2509 | pane_name = build_string (""); | ||
| 2510 | else | ||
| 2511 | pane_name = first_item[MENU_ITEMS_ITEM_NAME]; | ||
| 2512 | |||
| 2513 | /* (menu-item MENU-NAME PANE-NUMBER) */ | ||
| 2514 | menu_object = Fcons (Qmenu_item, | ||
| 2515 | Fcons (pane_name, | ||
| 2516 | Fcons (make_number (pane), Qnil))); | ||
| 2493 | show_help_echo (help_string ? build_string (help_string) : Qnil, | 2517 | show_help_echo (help_string ? build_string (help_string) : Qnil, |
| 2494 | Qnil, Qnil, 0, 1); | 2518 | Qnil, menu_object, make_number (item), 1); |
| 2495 | } | 2519 | } |
| 2496 | 2520 | ||
| 2497 | 2521 | ||
| 2498 | static Lisp_Object | 2522 | static Lisp_Object |
| 2499 | xmenu_show (f, x, y, for_click, keymaps, title, error) | 2523 | xmenu_show (f, x, y, for_click, keymaps, title, error) |