if (get_menu_item_info)
{
- struct gcpro gcpro1;
- extern Lisp_Object Vshow_help_function;
- Lisp_Object msg;
MENUITEMINFO info;
bzero (&info, sizeof (info));
info.fMask = MIIM_DATA;
get_menu_item_info (menu, item, FALSE, &info);
- msg = info.dwItemData ? build_string ((char *) info.dwItemData) : Qnil;
- GCPRO1 (msg);
-
- if (!NILP (Vshow_help_function))
- call1 (Vshow_help_function, msg);
- else if (!MINI_WINDOW_P (XWINDOW (selected_window)))
- {
- if (STRINGP(msg))
- message3_nolog (msg, XSTRING (msg)->size, STRING_MULTIBYTE (msg));
- else
- message (0);
- }
- UNGCPRO;
+ show_help_echo (info.dwItemData ?
+ build_string ((char *) info.dwItemData) : Qnil);
}
}
menu_help_callback (help_string)
char *help_string;
{
- Lisp_Object msg;
- extern Lisp_Object Vshow_help_function;
- struct gcpro gcpro1;
-
- msg = help_string ? build_string (help_string) : Qnil;
- GCPRO1 (msg);
-
- if (!NILP (Vshow_help_function))
- call1 (Vshow_help_function, msg);
- else if (!MINI_WINDOW_P (XWINDOW (selected_window)))
- {
- if (STRINGP (msg))
- message3_nolog (msg, XSTRING (msg)->size, STRING_MULTIBYTE (msg));
- else
- message (0);
- }
-
- UNGCPRO;
+ show_help_echo (help_string ? build_string (help_string) : Qnil);
}