aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-24 07:21:55 -0400
committerCraig Jennings <c@cjennings.net>2026-06-24 07:21:55 -0400
commitb0d055460ef7d0bb6b0acec1c2d51fdedd225c56 (patch)
tree76ddec4d33e1424e6e6e5112c7992f63f0fbfb18
parentb9db0f59dd1f25affedb3bdac719e3c6ccbd8895 (diff)
downloaddotemacs-b0d055460ef7d0bb6b0acec1c2d51fdedd225c56.tar.gz
dotemacs-b0d055460ef7d0bb6b0acec1c2d51fdedd225c56.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.el6
-rw-r--r--modules/org-roam-config.el5
2 files changed, 11 insertions, 0 deletions
diff --git a/modules/music-config.el b/modules/music-config.el
index 55eb47d2..7c3af0e1 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 218f37d6..40df688d 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