emacs-devel
[Top][All Lists]
Advanced

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

DBus events processing (was: read-event and unexpected buffer changes)


From: Stefan Monnier
Subject: DBus events processing (was: read-event and unexpected buffer changes)
Date: Fri, 24 May 2013 11:48:05 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

>>> (let ((event (let (unread-command-events) (read-event nil nil 0.1))))
>>> (when (and event (not (ignore-errors (dbus-check-event event))))
>>> (setq unread-command-events
>>> (append unread-command-events (list event)))))))
>> Why not use sit-for?
> <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11447#26>

Ah, right!
Thinking about this problem some more, I think the problem is that dbus
events should be processed during sit-for, just like process filters are
run there.

DBus events come concurrently with keyboard&mouse events and then we
forcefully linearize them into the event queue, which is not right in
your case where you want to process the dbus events before the user's
key presses.

So we should change the C code for our dbus interface.  It could either
be shoehorned into the way process filters/sentinels are handled, or we
could add a secondary event queue for "asynchronous events".


        Stefan



reply via email to

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