aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-07-18 18:23:29 +0000
committerGerd Moellmann2000-07-18 18:23:29 +0000
commit7cea38bcc881d454fd99094df4458af6d80f492f (patch)
tree965c090337a845028330dd607d010d07fdb6ce37 /src
parent8d7268b43e0751c002f1db661e364ed7d94578d1 (diff)
downloademacs-7cea38bcc881d454fd99094df4458af6d80f492f.tar.gz
emacs-7cea38bcc881d454fd99094df4458af6d80f492f.zip
(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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog18
-rw-r--r--src/xterm.c15
2 files changed, 29 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 84bea05108c..2ecdc87e7c8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
12000-07-18 Gerd Moellmann <gerd@gnu.org>
2
3 * xmenu.c (menu_help_callback): Call show_help_echo with
4 new arguments.
5
6 * keyboard.c (show_help_echo): Add parameter WINDOW.
7 (read_char): Call show_help_echo with window extracted from Lisp
8 help event.
9 (gen_help_event): Add parameter WINDOW.
10
11 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
12
13 * xterm.c (help_echo_window): New variable.
14 (note_mouse_highlight, note_tool_bar_highlight): Set
15 help_echo_window.
16 (XTread_socket): Pass help_echo_window to gen_help_event.
17 (syms_of_xterm): Initialize and staticpro help_echo_window.
18
12000-07-18 Dave Love <fx@gnu.org> 192000-07-18 Dave Love <fx@gnu.org>
2 20
3 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, 21 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
diff --git a/src/xterm.c b/src/xterm.c
index 58dc0143fa7..48caa78bffc 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -243,6 +243,7 @@ int x_toolkit_scroll_bars_p;
243 (The display is done in read_char.) */ 243 (The display is done in read_char.) */
244 244
245static Lisp_Object help_echo; 245static Lisp_Object help_echo;
246static Lisp_Object help_echo_window;
246static Lisp_Object help_echo_object; 247static Lisp_Object help_echo_object;
247static int help_echo_pos; 248static int help_echo_pos;
248 249
@@ -6356,6 +6357,7 @@ note_mode_line_highlight (w, x, mode_line_p)
6356 if (!NILP (help)) 6357 if (!NILP (help))
6357 { 6358 {
6358 help_echo = help; 6359 help_echo = help;
6360 XSETWINDOW (help_echo_window, w);
6359 help_echo_object = glyph->object; 6361 help_echo_object = glyph->object;
6360 help_echo_pos = glyph->charpos; 6362 help_echo_pos = glyph->charpos;
6361 } 6363 }
@@ -6627,6 +6629,7 @@ note_mouse_highlight (f, x, y)
6627 if (!NILP (help)) 6629 if (!NILP (help))
6628 { 6630 {
6629 help_echo = help; 6631 help_echo = help;
6632 help_echo_window = window;
6630 help_echo_object = w->buffer; 6633 help_echo_object = w->buffer;
6631 help_echo_pos = pos; 6634 help_echo_pos = pos;
6632 } 6635 }
@@ -6645,6 +6648,7 @@ note_mouse_highlight (f, x, y)
6645 if (!NILP (help)) 6648 if (!NILP (help))
6646 { 6649 {
6647 help_echo = help; 6650 help_echo = help;
6651 help_echo_window = window;
6648 help_echo_object = glyph->object; 6652 help_echo_object = glyph->object;
6649 help_echo_pos = glyph->charpos; 6653 help_echo_pos = glyph->charpos;
6650 } 6654 }
@@ -6880,7 +6884,7 @@ note_tool_bar_highlight (f, x, y)
6880 6884
6881 /* Set help_echo to a help string.to display for this tool-bar item. 6885 /* Set help_echo to a help string.to display for this tool-bar item.
6882 XTread_socket does the rest. */ 6886 XTread_socket does the rest. */
6883 help_echo_object = Qnil; 6887 help_echo_object = help_echo_window = Qnil;
6884 help_echo_pos = -1; 6888 help_echo_pos = -1;
6885 help_echo = (XVECTOR (f->current_tool_bar_items) 6889 help_echo = (XVECTOR (f->current_tool_bar_items)
6886 ->contents[prop_idx + TOOL_BAR_ITEM_HELP]); 6890 ->contents[prop_idx + TOOL_BAR_ITEM_HELP]);
@@ -9800,7 +9804,7 @@ XTread_socket (sd, bufp, numchars, expected)
9800 int n; 9804 int n;
9801 9805
9802 XSETFRAME (frame, f); 9806 XSETFRAME (frame, f);
9803 n = gen_help_event (bufp, Qnil, frame, Qnil, 0); 9807 n = gen_help_event (bufp, Qnil, frame, Qnil, Qnil, 0);
9804 bufp += n, count += n, numchars -= n; 9808 bufp += n, count += n, numchars -= n;
9805 } 9809 }
9806 9810
@@ -9848,7 +9852,7 @@ XTread_socket (sd, bufp, numchars, expected)
9848 case MotionNotify: 9852 case MotionNotify:
9849 { 9853 {
9850 previous_help_echo = help_echo; 9854 previous_help_echo = help_echo;
9851 help_echo = help_echo_object = Qnil; 9855 help_echo = help_echo_object = help_echo_window = Qnil;
9852 help_echo_pos = -1; 9856 help_echo_pos = -1;
9853 9857
9854 if (dpyinfo->grabbed && last_mouse_frame 9858 if (dpyinfo->grabbed && last_mouse_frame
@@ -9889,7 +9893,8 @@ XTread_socket (sd, bufp, numchars, expected)
9889 9893
9890 any_help_event_p = 1; 9894 any_help_event_p = 1;
9891 n = gen_help_event (bufp, help_echo, frame, 9895 n = gen_help_event (bufp, help_echo, frame,
9892 help_echo_object, help_echo_pos); 9896 help_echo_window, help_echo_object,
9897 help_echo_pos);
9893 bufp += n, count += n, numchars -= n; 9898 bufp += n, count += n, numchars -= n;
9894 } 9899 }
9895 9900
@@ -13597,6 +13602,8 @@ syms_of_xterm ()
13597 staticpro (&help_echo); 13602 staticpro (&help_echo);
13598 help_echo_object = Qnil; 13603 help_echo_object = Qnil;
13599 staticpro (&help_echo_object); 13604 staticpro (&help_echo_object);
13605 help_echo_window = Qnil;
13606 staticpro (&help_echo_window);
13600 previous_help_echo = Qnil; 13607 previous_help_echo = Qnil;
13601 staticpro (&previous_help_echo); 13608 staticpro (&previous_help_echo);
13602 help_echo_pos = -1; 13609 help_echo_pos = -1;