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 | de13477e72c5fb3aef083335022e87a7b84f4f37 (patch) | |
| tree | b2094707f460ee05dfaa2eadce72fe8c427c1854 /modules/prog-general.el | |
| parent | c924c83f92bd02ac980799865af3ef5542d64071 (diff) | |
| download | dotemacs-de13477e72c5fb3aef083335022e87a7b84f4f37.tar.gz dotemacs-de13477e72c5fb3aef083335022e87a7b84f4f37.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) |
