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:
parent
96faeb40c2
commit
7b760f0a0f
2 changed files with 19 additions and 5 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue