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