diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-24 07:21:55 -0400 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-24 07:21:55 -0400 |
| commit | a0cb6135f9513817f74a02a53985a1850e11f0ca (patch) | |
| tree | 04749b202feb5e4477e26a1f3efaeb9bf4fd2fc7 | |
| parent | 1756a55927491585eeaf131228ee96a980d99fdc (diff) | |
| download | dotemacs-a0cb6135f9513817f74a02a53985a1850e11f0ca.tar.gz dotemacs-a0cb6135f9513817f74a02a53985a1850e11f0ca.zip | |
fix(elisp): make dead let-bindings of foreign special vars take effect
Byte-compile flagged three let-bindings of package vars as unused lexical variables — under lexical-binding they compiled to dead locals the package never saw, so the intended behavior silently never happened. Declare each var special so the binding is dynamic: music-config now actually suppresses the emms overwrite prompt on playlist save (emms-source-playlist-ask-before-overwrite) and turns off orderless smart-case for the music picker; org-roam copy-todo-to-today now actually applies its custom dailies capture template. Same class as the coverage-core json fix.
Claude-Session: https://claude.ai/code/session_01BqrdWUo9GcznYX2pZr76gZ
| -rw-r--r-- | modules/music-config.el | 6 | ||||
| -rw-r--r-- | modules/org-roam-config.el | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/modules/music-config.el b/modules/music-config.el index 55eb47d25..7c3af0e13 100644 --- a/modules/music-config.el +++ b/modules/music-config.el @@ -98,6 +98,12 @@ (require 'cj-window-toggle-lib) ;; side-window size memory (F10 toggle) (require 'system-lib) ;; cj/confirm-strong (overwrite confirms) +;; Declare these foreign package vars special so `let'-binding them below +;; compiles as a dynamic bind, not a dead lexical local -- otherwise emms / +;; orderless never see the binding (the lexical-binding foreign-special-var trap). +(defvar orderless-smart-case) +(defvar emms-source-playlist-ask-before-overwrite) + ;;; Settings (no Customize) (defvar cj/music-root music-dir diff --git a/modules/org-roam-config.el b/modules/org-roam-config.el index 218f37d68..40df688d9 100644 --- a/modules/org-roam-config.el +++ b/modules/org-roam-config.el @@ -27,6 +27,11 @@ (require 'user-constants) +;; Declared special so the `let'-binding in `cj/org-roam-copy-todo-to-today' +;; compiles as a dynamic bind, not a dead lexical local -- otherwise the custom +;; capture template never reaches org-roam-dailies (the foreign-special-var trap). +(defvar org-roam-dailies-capture-templates) + ;; ---------------------------------- Org Roam --------------------------------- (defconst cj/--org-roam-dailies-head |
