summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-22 00:22:23 -0500
committerCraig Jennings <c@cjennings.net>2026-04-22 00:22:23 -0500
commita80477572b267d2fbf1684d2ef4b34bdb560cfc3 (patch)
treecdaa453d0ded2dfdf7f324a3d0d13ca4f4c3fe2b
parentb9f4d440ca7c04bc0f3b561a2e95d08e8eac49b9 (diff)
downloaddotemacs-a80477572b267d2fbf1684d2ef4b34bdb560cfc3.tar.gz
dotemacs-a80477572b267d2fbf1684d2ef4b34bdb560cfc3.zip
fix: load freshness, wttrin path, compile-time package init
Set load-prefer-newer in early-init.el. Emacs was loading the older .elc files even when the .el source was newer, warning on every load but still using the stale byte code. Point weather-config.el's wttrin :load-path at /home/cjennings/code/emacs-wttrin. The previous value was /home/cjennings/code/wttrin, which does not exist, so use-package could not load the package. Add (package-initialize) to the Makefile compile target. Without it, batch byte-compile cannot see ELPA packages like git-gutter, git-timemachine, forge, and difftastic, which produced "Cannot load" warnings on every run.
-rw-r--r--Makefile1
-rw-r--r--early-init.el8
-rw-r--r--modules/weather-config.el2
3 files changed, 10 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index d85a290b..1ee30d4a 100644
--- a/Makefile
+++ b/Makefile
@@ -263,6 +263,7 @@ compile:
@echo "Byte-compiling all modules..."
@$(EMACS_BATCH) -L $(MODULE_DIR) \
--eval "(progn \
+ (package-initialize) \
(setq byte-compile-error-on-warn nil) \
(batch-byte-compile))" $(MODULE_FILES)
@echo "✓ Compilation complete"
diff --git a/early-init.el b/early-init.el
index c1cd54c8..9f90f292 100644
--- a/early-init.el
+++ b/early-init.el
@@ -65,6 +65,14 @@
(setq native-comp-deferred-compilation nil) ;; Disable async/deferred compilation
(setq native-comp-async-report-warnings-errors nil) ;; Silence async warnings
+;; ------------------------------- Load Freshness ------------------------------
+;; Prefer newer .el source over stale .elc byte-compiled files. Without this,
+;; Emacs loads the .elc even when the .el has been modified more recently and
+;; only emits a warning. Setting this in early-init.el ensures init.el itself
+;; also benefits.
+
+(setq load-prefer-newer t)
+
;; --------------------------- Warning Notifications ---------------------------
;; skip warnings but notify me about errors
diff --git a/modules/weather-config.el b/modules/weather-config.el
index bf71ef9c..0b15021b 100644
--- a/modules/weather-config.el
+++ b/modules/weather-config.el
@@ -14,7 +14,7 @@
;; Uncomment the next line to use vc-install instead of local directory:
;; :vc (:url "https://github.com/cjennings/emacs-wttrin" :rev :newest)
:demand t ;; REQUIRED: mode-line must start at Emacs startup
- :load-path "/home/cjennings/code/wttrin"
+ :load-path "/home/cjennings/code/emacs-wttrin"
:preface
;; Change this to t to enable debug logging
;; (setq wttrin-debug t)