1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-01 03:11:09 -08:00

* net/dbus.el (dbus-hash-table=): Allow nil as wildcard in the

interface and member fields.
This commit is contained in:
Michael Albinus 2007-12-05 21:59:12 +00:00
parent 96faeb40c2
commit 7b760f0a0f
2 changed files with 19 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2007-12-05 Michael Albinus <michael.albinus@gmx.de>
* net/dbus.el (dbus-hash-table=): Allow nil as wildcard in the
interface and member fields.
2007-12-05 Glenn Morris <rgm@gnu.org>
* eshell/em-alias.el (pcomplete-stub): Define for compiler.

View file

@ -55,15 +55,24 @@ See `dbus-registered-functions-table' for a description of the hash table."
(and
(listp x) (listp y)
;; Bus symbol, either :system or :session.
(symbolp (car x)) (symbolp (car y)) (equal (car x) (car y))
(symbolp (car x)) (symbolp (car y)) (equal (car x) (car y))
;; Interface.
(stringp (cadr x)) (stringp (cadr y)) (string-equal (cadr x) (cadr y))
(or
(null (cadr x)) (null (cadr y)) ; wildcard
(and
(stringp (cadr x)) (stringp (cadr y)) (string-equal (cadr x) (cadr y))))
;; Member.
(stringp (caddr x)) (stringp (caddr y)) (string-equal (caddr x) (caddr y))))
(or
(null (caddr x)) (null (caddr y)) ; wildcard
(and
(stringp (caddr x)) (stringp (caddr y))
(string-equal (caddr x) (caddr y))))))
(define-hash-table-test 'dbus-hash-table-test
'dbus-hash-table= 'sxhash)
(define-hash-table-test 'dbus-hash-table-test 'dbus-hash-table= 'sxhash)
;; When we assume that interface and and member are always strings in
;; the key, we could use `equal' as test function. But we want to
;; have also `nil' there, being a wildcard.
(setq dbus-registered-functions-table
(make-hash-table :test 'dbus-hash-table-test))