Hi Michael, thanks for the helpful reply. An updated patch is attached. There seems to be some oddities concerning the ChangeLog, I don't know where these come from. > In general, I agree with your proposal. I have some few comments: > > - The optional parameter in `dbus-register-method' and > `dbus-register-property' shall be called `dont-register-service'. This > would fit the dbus terminology we use so far. Done. > - We might introduce a new function `dbus-register-service' (in dbusbind.c). > It could offer optional argument flags, a list of the supported flags > of "org.freedesktop.DBus.RequestName" > (DBUS_NAME_FLAG_ALLOW_REPLACEMENT, DBUS_NAME_FLAG_REPLACE_EXISTING, > DBUS_NAME_FLAG_DO_NOT_QUEUE). This function shall be called in > `dbus-register-method' and `dbus-register-property' when > `dont-register-service' is nil. Btw, the function > `dbus-unregister-service' exists already ... I would rather tackle this change in a separate patch later. > - It would be great, if you could add also changed doc strings, changed > dbus.texi, ChangeLog and etc/NEWS entries. Done. > > === modified file 'src/dbusbind.c' > > --- src/dbusbind.c 2010-10-01 13:56:33 +0000 > > +++ src/dbusbind.c 2010-10-03 02:17:34 +0000 > > @@ -1983,10 +1983,16 @@ > > > > /* Request the known name from the bus. We can ignore the result, > > it is set to -1 if there is an error - kind of redundancy. */ > > - dbus_error_init (&derror); > > - result = dbus_bus_request_name (connection, SDATA (service), 0, &derror); > > - if (dbus_error_is_set (&derror)) > > - XD_ERROR (derror); > > + if (!dont_request_name || NILP (dont_request_name)) > > dont_request_name is a Lisp object, it is nil when not used in the > call. You shall use > > if (NILP (dont_request_name)) Done. Kind regards, Jan