+2000-07-18 Gerd Moellmann <gerd@gnu.org>
+
+ * xmenu.c (menu_help_callback): Call show_help_echo with
+ new arguments.
+
+ * keyboard.c (show_help_echo): Add parameter WINDOW.
+ (read_char): Call show_help_echo with window extracted from Lisp
+ help event.
+ (gen_help_event): Add parameter WINDOW.
+
+ * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
+
+ * xterm.c (help_echo_window): New variable.
+ (note_mouse_highlight, note_tool_bar_highlight): Set
+ help_echo_window.
+ (XTread_socket): Pass help_echo_window to gen_help_event.
+ (syms_of_xterm): Initialize and staticpro help_echo_window.
+
2000-07-18 Dave Love <fx@gnu.org>
* Makefile.in: Fix dependencies of blockinput.h on atimer.h,
(The display is done in read_char.) */
static Lisp_Object help_echo;
+static Lisp_Object help_echo_window;
static Lisp_Object help_echo_object;
static int help_echo_pos;
if (!NILP (help))
{
help_echo = help;
+ XSETWINDOW (help_echo_window, w);
help_echo_object = glyph->object;
help_echo_pos = glyph->charpos;
}
if (!NILP (help))
{
help_echo = help;
+ help_echo_window = window;
help_echo_object = w->buffer;
help_echo_pos = pos;
}
if (!NILP (help))
{
help_echo = help;
+ help_echo_window = window;
help_echo_object = glyph->object;
help_echo_pos = glyph->charpos;
}
/* Set help_echo to a help string.to display for this tool-bar item.
XTread_socket does the rest. */
- help_echo_object = Qnil;
+ help_echo_object = help_echo_window = Qnil;
help_echo_pos = -1;
help_echo = (XVECTOR (f->current_tool_bar_items)
->contents[prop_idx + TOOL_BAR_ITEM_HELP]);
int n;
XSETFRAME (frame, f);
- n = gen_help_event (bufp, Qnil, frame, Qnil, 0);
+ n = gen_help_event (bufp, Qnil, frame, Qnil, Qnil, 0);
bufp += n, count += n, numchars -= n;
}
case MotionNotify:
{
previous_help_echo = help_echo;
- help_echo = help_echo_object = Qnil;
+ help_echo = help_echo_object = help_echo_window = Qnil;
help_echo_pos = -1;
if (dpyinfo->grabbed && last_mouse_frame
any_help_event_p = 1;
n = gen_help_event (bufp, help_echo, frame,
- help_echo_object, help_echo_pos);
+ help_echo_window, help_echo_object,
+ help_echo_pos);
bufp += n, count += n, numchars -= n;
}
staticpro (&help_echo);
help_echo_object = Qnil;
staticpro (&help_echo_object);
+ help_echo_window = Qnil;
+ staticpro (&help_echo_window);
previous_help_echo = Qnil;
staticpro (&previous_help_echo);
help_echo_pos = -1;