Per the documentation in for dbus-register-signal in dbus.el:
SERVICE, PATH, INTERFACE and SIGNAL can be nil. This is
interpreted as a wildcard for the respective argument.
I wrote a little test, cribbed from dbus-test05-register-signal in dbus-test.el. Where dbus-test-wildcards.el is the attached file:
$ emacs -Q -batch -l ert -l ~/dbus-test-wildcards.el -f ert-run-tests-batch-and-exit
Running 1 tests (2024-03-20 18:11:55-0700, selector ‘t’)
Test dbus-test05b-register-signal-with-nils backtrace:
ert-fail("`dbus-test05b-register-signal-with-nils' timed out")
dbus--test-timeout-handler()
(progn (dbus--test-timeout-handler))
(if (eq -with-timeout-value- 'timeout) (progn (dbus--test-timeout-ha
(let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-ti
(let ((member "Member") (handler #'dbus--test-signal-handler) regist
(unwind-protect (let ((member "Member") (handler #'dbus--test-signal
(lambda nil (let ((value-0 (gensym "ert-form-evaluation-aborted-")))
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name dbus-test05b-register-signal-with-nil
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "ert" "-l" "/home/rc/dbus-test-wildcards.el" "-
command-line()
normal-top-level()
Test dbus-test05b-register-signal-with-nils condition:
(ert-test-failed "`dbus-test05b-register-signal-with-nils' timed out")
FAILED 1/1 dbus-test05b-register-signal-with-nils (1.004025 sec) at ../../../home/rc/dbus-test-wildcards.el:32
Ran 1 tests, 0 results as expected, 1 unexpected (2024-03-20 18:11:56-0700, 1.064641 sec)
1 unexpected results:
FAILED dbus-test05b-register-signal-with-nils
Build info:
In GNU Emacs 29.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,
cairo version 1.18.0) of 2024-02-26, modified by Debian built on
x86-ubc-02
Windowing system distributor 'The X.Org Foundation', version 11.0.12101011
System Description: Debian GNU/Linux trixie/sid
Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/libexec
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.2/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --without-gconf --with-mailutils
--with-native-compilation --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/libexec
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/29.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/29.2/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --without-gconf --with-mailutils
--with-native-compilation --with-cairo --with-x=yes
--with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
-ffile-prefix-map=/build/reproducible-path/emacs-29.2+1=. -fstack-protector-strong
-fstack-clash-protection -Wformat -Werror=format-security
-fcf-protection -Wall' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
LDFLAGS=-Wl,-z,relro'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2
XPM GTK3 ZLIB