Emacs and DBUS

Ken Brown kbrown@cornell.edu
Thu Aug 26 19:41:00 GMT 2010


On 8/26/2010 12:16 AM, Michael Albinus wrote:
> Ken Brown  writes:
>
>>> The blocking you observed when dbus.el is loaded doesn't occur with a
>>> build from the Emacs trunk (r101187).
>>
>> Correction: It occurs if and only if the system messagebus service is
>> running.
>
> I'm confused: do you mean, the problem is happening when the system bus
> is running, or when it is *not* running? I suspect the latter case.

I really meant it the way I said it: The problem occurs if the system 
bus *is* running.  I've done some further testing, and here are the 
results, all with a build of emacs from the trunk, starting in the emacs 
src directory.

1. With the system bus not running, I start Emacs via 'dbus-launch 
./emacs.exe -Q&' and load dbus.el.  In the *scratch* buffer I evaluate 
some of the expressions that you suggested in your earlier email:

(dbus-get-unique-name :session)
":1.0"
(defun my-dbus-signal-handler (&rest args)
     (message "Signal from bus %s received: %s"
              (dbus-event-bus-name last-input-event) args))
my-dbus-signal-handler
(dbus-register-signal
    :session dbus-service-dbus dbus-path-dbus dbus-interface-dbus
    "NameOwnerChanged" 'my-dbus-signal-handler)
((:session "org.freedesktop.DBus" "NameOwnerChanged") 
("org.freedesktop.DBus" "/org/freedesktop/DBus" my-dbus-signal-handler))

Now I try 'dbus-monitor --session' in the xterm window from which I 
started emacs.  This produces output in the xterm window, but I don't 
see anything in Emacs.

Back to *scratch*:

(dbus-get-unique-name :system)

This throws me into the lisp debugger with the error (dbus-error "Failed 
to connect to socket /var/run/dbus/system_bus_socket: Connection 
refused").  I guess this is to be expected, since the system bus is not 
running.  I now start the system bus via 'net start messagebus' in a 
shell, and I try again:

(dbus-get-unique-name :system)
":1.0"

Is this to be expected, that I get the same name for :system that I got 
for :session?

2. With the system bus running, I start Emacs as above and load dbus.el. 
  The cursor stops blinking, and Emacs becomes unresponsive.  I can type 
C-g and hear a bell, and I can type C-x C-c to exit, but I can't get a 
response to any other key presses.

I'm willing to try anything else you suggest.  Otherwise, I hope you're 
able to debug this when you return from your travels.  The unstripped 
emacs-X11.exe binary (Emacs 23.2) is at

   http://www.math.cornell.edu/~kbrown/emacs-X11.exe.bz2

and the binary for my build from the trunk is at

   http://www.math.cornell.edu/~kbrown/emacs.exe.bz2

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list