diff options
author | Po Lu <luangruo@yahoo.com> | 2022-06-06 11:08:19 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2022-06-06 11:08:19 +0800 |
commit | b90d2a6a63f1b7f73d2cb7e976148e8195fc5502 (patch) | |
tree | 965057d58b783e920711e05138ad56184ceec6c4 /lisp/emacs-lisp/eieio.el | |
parent | 0a36671f415bd681ddca0bad8612aca031fd407d (diff) | |
download | emacs-b90d2a6a63f1b7f73d2cb7e976148e8195fc5502.tar.gz emacs-b90d2a6a63f1b7f73d2cb7e976148e8195fc5502.tar.bz2 emacs-b90d2a6a63f1b7f73d2cb7e976148e8195fc5502.zip |
Rework X selections to make it safe to run the debugger inside converters
* src/keyboard.c (prev_kbd_event): Delete function.
(readable_events): Return 1 if
x_detect_pending_selection_requests returns true.
(kbd_buffer_unget_event): Also delete function, since nested
selection requests are really handled correctly.
(kbd_buffer_get_event): Handle events from the special X
deferred selection queue as well.
* src/keyboard.h: Update prototypes.
* src/xselect.c (struct selection_event_queue)
(selection_input_event_equal, x_queue_event)
(x_start_queuing_selection_requests)
(x_stop_queuing_selection_requests): Delete structs, since they
are no longer required.
(x_handle_selection_request, x_handle_selection_event): Allow
nested selection events.
* src/xterm.c (struct x_selection_request_event): New struct.
(x_handle_pending_selection_requests_1)
(x_handle_pending_selection_requests): Handle all events in the
new selection event queue.
(x_push_selection_request, x_detect_pending_selection_requests):
New functions.
(x_dnd_begin_drag_and_drop): Drain the selection queue here as
well.
(handle_one_xevent): When inside a nested event loop, just push
selections to that queue.
(XTread_socket): Allow reading X events if x_dnd_unwind_flag is
true, even though DND is in progress.
(x_delete_display): Delete pending selection events for the
display that is going away.
* src/xterm.h: Update prototypes.
Diffstat (limited to 'lisp/emacs-lisp/eieio.el')
0 files changed, 0 insertions, 0 deletions