diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-26 17:41:32 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-26 17:41:32 -0500 |
| commit | 1d0b78e2ab7d226976c5e9b97ef120b6f6e897d7 (patch) | |
| tree | 4c9d776e0bb90536f471115acc59b781ee7f5a9a /modules/prog-general.el | |
| parent | 1cca84c509f9765ea601c93648850b641da19a31 (diff) | |
| download | dotemacs-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.el | 7 |
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) |
