aboutsummaryrefslogtreecommitdiff
path: root/modules/system-defaults.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-16 02:35:38 -0500
committerCraig Jennings <c@cjennings.net>2026-05-16 02:35:38 -0500
commit1c5a2ebab7c721d795ed9331afdb305fd683e172 (patch)
treef3c1756585b8f0590a0f381adbb23aedb2be957c /modules/system-defaults.el
parent9325ca00173a03f282e74b6a86c4083fa88977d5 (diff)
downloaddotemacs-1c5a2ebab7c721d795ed9331afdb305fd683e172.tar.gz
dotemacs-1c5a2ebab7c721d795ed9331afdb305fd683e172.zip
refactor(foundation): hygiene pass across early-init, user-constants, system-defaults, chrono-tools
Six small fixes the 2026-05-15 module-by-module re-review surfaced: - Consolidate `user-home-dir` -- canonical defconst stays in early-init.el (package-archive bootstrap needs it before normal modules load); user-constants.el switches to a `defvar` with the identical `(getenv "HOME")` expression so the module still loads / byte-compiles standalone, but at runtime early-init's defconst wins. - Drop the redundant `(autoload 'env-bsd-p ...)` line in system-defaults.el. The `(eval-when-compile (require 'host-environment))` already exposes the symbol to the byte compiler, and at runtime host-environment is loaded earlier in init.el. Added a comment documenting the boundary. - Convert `cj/debug-modules` and `cj/use-online-repos` from `defvar` to `defcustom`, with `:type`, `:group 'cj`, and a top-level `(defgroup cj ...)` so both show up in M-x customize. - Name the package-archive priorities in early-init.el. Nine new defconsts replace the magic numbers (200 / 125 / 120 / 115 / 100 / 25 / 20 / 15 / 5) with one constant each, plus a header comment explaining the local-first ordering and the gnu > nongnu > melpa > melpa-stable trust ranking within each tier. - Delete the 19-line commented-out `use-package time` world-clock block in chrono-tools.el. `time-zones` immediately above is the active replacement; git history preserves the old config if anyone needs it. - Add coverage for `cj/tmr-select-sound-file`. Collapsed the prefix-arg branch into a delegation to `cj/tmr-reset-sound-to-default` (single reset source) and extracted `cj/tmr--available-sound-files` as a pure helper that tests directly. 9 ERT tests across Normal / Boundary / Error cover the available-sounds helper, the reset path, the prefix-arg delegation (no prompt), the normal selection path, and the empty-dir / missing-dir / cancel boundaries.
Diffstat (limited to 'modules/system-defaults.el')
-rw-r--r--modules/system-defaults.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/system-defaults.el b/modules/system-defaults.el
index 6fbec003..d0b9f835 100644
--- a/modules/system-defaults.el
+++ b/modules/system-defaults.el
@@ -16,13 +16,14 @@
(require 'server)
(require 'bookmark)
-;; Loaded earlier in init.el
+;; `host-environment' and `user-constants' are loaded earlier in init.el,
+;; so they are available at runtime when this module loads. The
+;; `eval-when-compile' forms here are byte-compile hints to silence
+;; free-variable / free-function warnings when this module is compiled
+;; in isolation; no runtime requires are needed.
(eval-when-compile (require 'host-environment))
(eval-when-compile (require 'user-constants))
-;; Function in system-utils.el; autoload to avoid requiring it here.
-(autoload 'env-bsd-p "host-environment" nil t)
-
;; -------------------------- Native Comp Preferences --------------------------
(with-eval-after-load 'comp-run