emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 18ec3fcce9: Restore pending_signals at a point in the DND eve


From: Po Lu
Subject: Re: master 18ec3fcce9: Restore pending_signals at a point in the DND event loop
Date: Thu, 21 Apr 2022 08:29:50 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> Changing `process_pending_signals' to take into account a small
>> technicality in the X11 drag-and-drop code seems much less clean to me
>> than three lines of code accompanied by an explaining comment.
>
> To me, those 3 lines are impenetrable.
>
> So, if you could explain (or show) what it would take to do it more like
> what I suggest, maybe I can at least improve the comment.

That unblock_input might call XTread_socket, which returns in this
specific case since data is passed from the nested event loop to its
caller via the hold_quit parameter to handle_one_xevent, and the
hold_quit given to the read socket hook is not correct.

So XTread_socket always returns without reading input whenever the
nested event loop is active.  This is fine, but pending input might not
be read if the nested event loop stops after that, since
process_pending_input clears pending_signals, even if nothing was
actually read.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]