From a3de0cbd6de04250fb1a55d27bb1a1b7e61f31f1 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sat, 24 Sep 2011 13:36:53 +0200 Subject: [PATCH] * dbusbind.c (Fdbus_register_signal): Add match rule to Vdbus_registered_objects_table. (Bug#9581) (Fdbus_register_method, Vdbus_registered_objects_table): Fix docstring. --- src/ChangeLog | 7 +++++++ src/dbusbind.c | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 7435254b490..be80149139f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2011-09-24 Michael Albinus + + * dbusbind.c (Fdbus_register_signal): Add match rule to + Vdbus_registered_objects_table. (Bug#9581) + (Fdbus_register_method, Vdbus_registered_objects_table): Fix + docstring. + 2011-09-24 Jim Meyering do not ignore write error for any output size diff --git a/src/dbusbind.c b/src/dbusbind.c index 227d4e647e9..14c1621e0ee 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c @@ -2145,7 +2145,7 @@ usage: (dbus-register-signal BUS SERVICE PATH INTERFACE SIGNAL HANDLER &rest ARG /* Create a hash table entry. */ key = list3 (bus, interface, signal); - key1 = list4 (uname, service, path, handler); + key1 = list5 (uname, service, path, handler, build_string (rule)); value = Fgethash (key, Vdbus_registered_objects_table, Qnil); if (NILP (Fmember (key1, value))) @@ -2177,7 +2177,7 @@ When DONT-REGISTER-SERVICE is non-nil, the known name SERVICE is not registered. This means that other D-Bus clients have no way of noticing the newly registered method. When interfaces are constructed incrementally by adding single methods or properties at a time, -DONT-REGISTER-SERVICE can be use to prevent other clients from +DONT-REGISTER-SERVICE can be used to prevent other clients from discovering the still incomplete interface.*/) (Lisp_Object bus, Lisp_Object service, Lisp_Object path, Lisp_Object interface, Lisp_Object method, Lisp_Object handler, @@ -2319,6 +2319,9 @@ be called when a D-Bus message, which matches the key criteria, arrives (methods and signals), or a cons cell containing the value of the property. +For signals, there is also a fifth element RULE, which keeps the match +string the signal is registered with. + In the second case, the key in the hash table is the list (BUS SERIAL). BUS is either a Lisp symbol, `:system' or `:session', or a string denoting the bus address. SERIAL is the serial number of the -- 2.39.5