aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-07-21 14:35:53 +0000
committerGerd Moellmann2000-07-21 14:35:53 +0000
commit6214507352b68ebae83a29589fdb66311fbe691d (patch)
treeec8831e4bc4af81dc5adf560ec873a4b0d206fd9 /src
parentf95464e4700cd32aa4cf1de188f3951b7a006451 (diff)
downloademacs-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/ChangeLog22
-rw-r--r--src/xmenu.c36
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 @@
12000-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
182000-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
12000-07-21 Kenichi Handa <handa@etl.go.jp> 232000-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)
2482static struct frame *menu_help_frame; 2482static 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
2489static void 2494static void
2490menu_help_callback (help_string) 2495menu_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
2498static Lisp_Object 2522static Lisp_Object
2499xmenu_show (f, x, y, for_click, keymaps, title, error) 2523xmenu_show (f, x, y, for_click, keymaps, title, error)