aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-general.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-26 17:41:32 -0500
committerCraig Jennings <c@cjennings.net>2026-05-26 17:41:32 -0500
commit1d0b78e2ab7d226976c5e9b97ef120b6f6e897d7 (patch)
tree4c9d776e0bb90536f471115acc59b781ee7f5a9a /modules/prog-general.el
parent1cca84c509f9765ea601c93648850b641da19a31 (diff)
downloaddotemacs-1d0b78e2ab7d226976c5e9b97ef120b6f6e897d7.tar.gz
dotemacs-1d0b78e2ab7d226976c5e9b97ef120b6f6e897d7.zip
fix(prog-general): require user-constants for its config constants
prog-general uses code-dir, projects-dir, and snippets-dir (all from user-constants) in its projectile and yasnippet configs, but it only declared them as compile-time defvars and leaned on init.el loading user-constants first. That load-order assumption broke when the test suite ran combined: if another test file loaded prog-general before user-constants, yasnippet's :config hit a void snippets-dir and yas-global-mode never enabled, so eight yas-activation tests failed. I replaced the three compile-time defvars with a runtime (require 'user-constants) so the module declares its real dependency and is self-contained. The combined prog-general suite is now 15/15, and the module no longer depends on init.el's load order for constants it reads at load time.
Diffstat (limited to 'modules/prog-general.el')
-rw-r--r--modules/prog-general.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/modules/prog-general.el b/modules/prog-general.el
index 369a8b08..e8d48b70 100644
--- a/modules/prog-general.el
+++ b/modules/prog-general.el
@@ -9,7 +9,8 @@
;; Eager reason: generic programming defaults, projectile, and the tree-sitter /
;; LSP policy shared across every language mode.
;; Top-level side effects: four add-hook, package configuration via use-package.
-;; Runtime requires: none (configures packages via use-package).
+;; Runtime requires: user-constants (code-dir, projects-dir, snippets-dir, used
+;; in the projectile and yasnippet configs).
;; Direct test load: yes.
;;
;; This module provides general programming functionality not related to a
@@ -37,9 +38,7 @@
;;; Code:
-(eval-when-compile (defvar code-dir))
-(eval-when-compile (defvar projects-dir))
-(eval-when-compile (defvar snippets-dir))
+(require 'user-constants) ;; code-dir, projects-dir, snippets-dir
(defvar display-line-numbers-type)
(defvar outline-minor-mode-map)