diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-28 02:45:31 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-28 02:45:31 -0500 |
| commit | a00628ac96d5f09f96be868755304f7bdfdc0d99 (patch) | |
| tree | e179087245e29f1cec66c28974cfe151185175a1 /assets/info/python.info | |
| parent | 0aa21f770f3908b4ec36ebee865498c3bd530dc7 (diff) | |
| download | dotemacs-a00628ac96d5f09f96be868755304f7bdfdc0d99.tar.gz dotemacs-a00628ac96d5f09f96be868755304f7bdfdc0d99.zip | |
fix(signal): require signel before reading its private variables
cj/signel--ensure-started in modules/signal-config.el was reading signel--process-name in the first branch of its cond before the use-package autoload of signel had fired. The forward-declared (defvar signel--process-name) at L137 silences the byte-compile warning but doesn't actually bind the variable. Its value comes from signel.el's defconst, which doesn't run until signel is loaded.
The first call to cj/signel-connect (C-; M SPC) after Emacs launch produced "Symbol's value as variable is void: signel--process-name" instead of starting the daemon. Surfaced tonight during the manual verify walk of the initiate-message workflow.
I added (require 'signel) at the top of cj/signel--ensure-started so signel loads before any of its variables get read. The require is idempotent, so callers that hit the function after signel is already loaded pay nothing.
The new ERT test test-signal-config-ensure-started-requires-signel-first asserts ordering: require must be the first call inside the function, not just called somewhere. A future refactor that moves the require below the cond would fail this test instead of passing silently.
Diffstat (limited to 'assets/info/python.info')
0 files changed, 0 insertions, 0 deletions
