diff options
| author | Gerd Moellmann | 2000-07-13 14:09:50 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-07-13 14:09:50 +0000 |
| commit | 0f1a9b2356e3eb8ddfea1f26f3d8812e568f7d03 (patch) | |
| tree | 31823c7568ad849b92ea5db5c4c4d12b0236c9a1 /src | |
| parent | 9979315d68c82de6233ab815a92336b209b2646f (diff) | |
| download | emacs-0f1a9b2356e3eb8ddfea1f26f3d8812e568f7d03.tar.gz emacs-0f1a9b2356e3eb8ddfea1f26f3d8812e568f7d03.zip | |
(x_handle_tool_bar_click): Store the frame in the
frame_or_window slot of TOOL_BAR_EVENT input events instead of
consing. For prefix events, store the frame in the `arg' slot of
the event, otherwise store the key there.
(XTread_socket): Instead of consing, use the frame_or_window slot
of HELP_EVENTs for the frame, and the `arg' slot for the help
string.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 59 | ||||
| -rw-r--r-- | src/xterm.c | 12 |
2 files changed, 67 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 99c6bce5c87..aa18ee166ff 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,62 @@ | |||
| 1 | 2000-07-13 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * xterm.c (x_handle_tool_bar_click): Store the frame in the | ||
| 4 | frame_or_window slot of TOOL_BAR_EVENT input events instead of | ||
| 5 | consing. For prefix events, store the frame in the `arg' slot of | ||
| 6 | the event, otherwise store the key there. | ||
| 7 | (XTread_socket): Instead of consing, use the frame_or_window slot | ||
| 8 | of HELP_EVENTs for the frame, and the `arg' slot for the help | ||
| 9 | string. | ||
| 10 | |||
| 11 | * xmenu.c (menu_highlight_callback): Store help string in the | ||
| 12 | `arg' member of the input event; don't cons. | ||
| 13 | (menubar_selection_callback): Use the `arg' slot of input events | ||
| 14 | to queue additional information, instead of consing. | ||
| 15 | |||
| 16 | * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs. | ||
| 17 | |||
| 18 | * w32term.c (w32_handle_tool_bar_click): Adapt to changes in | ||
| 19 | TOOL_BAR_EVENTs. | ||
| 20 | (w32_read_socket): Adapt to changes in HELP_EVENTs. | ||
| 21 | |||
| 22 | * w32menu.c (menubar_selection_callback): Use the `arg' slot of | ||
| 23 | input events to queue additional information, instead of consing. | ||
| 24 | |||
| 25 | * keyboard.c (kbd_buffer_gcpro): Renamed from | ||
| 26 | kbd_buffer_frame_or_window. Now used for all Lisp objects | ||
| 27 | referenced from the input queue. | ||
| 28 | (kbd_buffer_store_event): Always use structure assignment for | ||
| 29 | copying input events. Record all Lisp objects referenced from | ||
| 30 | events in kbd_buffer_gcpro. | ||
| 31 | (kbd_buffer_get_event): Construct Lisp `help-echo' events | ||
| 32 | differently from input events. Test for prefix menu_bar_events | ||
| 33 | and TOOL_BAR_EVENTs differently. Reset all slots used by an input | ||
| 34 | event in kbd_buffer_gcpro to nil. | ||
| 35 | (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose | ||
| 36 | frame_or_window is equal to its arg member as prefix events. | ||
| 37 | (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro | ||
| 38 | used by an input event to nil. | ||
| 39 | (init_keyboard): Use two times the size of the input queue | ||
| 40 | for kbd_buffer_gcpro. | ||
| 41 | (syms_of_keyboard): Likewise. | ||
| 42 | |||
| 43 | * emacs.c (handle_USR2_signal, handle_USR1_signal): Use | ||
| 44 | USER_SIGNAL_EVENT. | ||
| 45 | |||
| 46 | * termhooks.h (struct input_event): Add member `arg'. | ||
| 47 | (MENU_BAR_EVENT): Renamed from menu_bar_event. | ||
| 48 | (USER_SIGNAL_EVENT): Renamed from user_signal. | ||
| 49 | |||
| 50 | * xfaces.c (ASET): Remove definition. | ||
| 51 | |||
| 52 | * lisp.h (AREF, ASET, ASIZE): New macros. | ||
| 53 | |||
| 54 | * fontset.c (AREF, ASIZE): Remove definitions. | ||
| 55 | |||
| 56 | * fns.c (AREF): Remove definition. | ||
| 57 | |||
| 58 | * composite.c (AREF): Remove definition. | ||
| 59 | |||
| 1 | 2000-07-12 Gerd Moellmann <gerd@gnu.org> | 60 | 2000-07-12 Gerd Moellmann <gerd@gnu.org> |
| 2 | 61 | ||
| 3 | * dispnew.c (redraw_overlapped_rows): Add missing local. | 62 | * dispnew.c (redraw_overlapped_rows): Add missing local. |
diff --git a/src/xterm.c b/src/xterm.c index 2a804dbc830..f2068c48043 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -6780,11 +6780,13 @@ x_handle_tool_bar_click (f, button_event) | |||
| 6780 | 6780 | ||
| 6781 | XSETFRAME (frame, f); | 6781 | XSETFRAME (frame, f); |
| 6782 | event.kind = TOOL_BAR_EVENT; | 6782 | event.kind = TOOL_BAR_EVENT; |
| 6783 | event.frame_or_window = Fcons (frame, Fcons (Qtool_bar, Qnil)); | 6783 | event.frame_or_window = frame; |
| 6784 | event.arg = frame; | ||
| 6784 | kbd_buffer_store_event (&event); | 6785 | kbd_buffer_store_event (&event); |
| 6785 | 6786 | ||
| 6786 | event.kind = TOOL_BAR_EVENT; | 6787 | event.kind = TOOL_BAR_EVENT; |
| 6787 | event.frame_or_window = Fcons (frame, key); | 6788 | event.frame_or_window = frame; |
| 6789 | event.arg = key; | ||
| 6788 | event.modifiers = x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), | 6790 | event.modifiers = x_x_to_emacs_modifiers (FRAME_X_DISPLAY_INFO (f), |
| 6789 | button_event->state); | 6791 | button_event->state); |
| 6790 | kbd_buffer_store_event (&event); | 6792 | kbd_buffer_store_event (&event); |
| @@ -9785,7 +9787,8 @@ XTread_socket (sd, bufp, numchars, expected) | |||
| 9785 | { | 9787 | { |
| 9786 | XSETFRAME (frame, f); | 9788 | XSETFRAME (frame, f); |
| 9787 | bufp->kind = HELP_EVENT; | 9789 | bufp->kind = HELP_EVENT; |
| 9788 | bufp->frame_or_window = Fcons (frame, Qnil); | 9790 | bufp->frame_or_window = frame; |
| 9791 | bufp->arg = Qnil; | ||
| 9789 | ++bufp, ++count, --numchars; | 9792 | ++bufp, ++count, --numchars; |
| 9790 | } | 9793 | } |
| 9791 | 9794 | ||
| @@ -9872,7 +9875,8 @@ XTread_socket (sd, bufp, numchars, expected) | |||
| 9872 | 9875 | ||
| 9873 | any_help_event_p = 1; | 9876 | any_help_event_p = 1; |
| 9874 | bufp->kind = HELP_EVENT; | 9877 | bufp->kind = HELP_EVENT; |
| 9875 | bufp->frame_or_window = Fcons (frame, help_echo); | 9878 | bufp->frame_or_window = frame; |
| 9879 | bufp->arg = help_echo; | ||
| 9876 | ++bufp, ++count, --numchars; | 9880 | ++bufp, ++count, --numchars; |
| 9877 | } | 9881 | } |
| 9878 | 9882 | ||