(kbd_buffer_gcpro): Renamed from
kbd_buffer_frame_or_window. Now used for all Lisp objects referenced from the input queue. (kbd_buffer_store_event): Always use structure assignment for copying input events. Record all Lisp objects referenced from events in kbd_buffer_gcpro. (kbd_buffer_get_event): Construct Lisp `help-echo' events differently from input events. Test for prefix menu_bar_events and TOOL_BAR_EVENTs differently. Reset all slots used by an input event in kbd_buffer_gcpro to nil. (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose frame_or_window is equal to its arg member as prefix events. (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro used by an input event to nil. (init_keyboard): Use two times the size of the input queue for kbd_buffer_gcpro. (syms_of_keyboard): Likewise.
Showing with 75 additions and 48 deletions