From 1d0b78e2ab7d226976c5e9b97ef120b6f6e897d7 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 26 May 2026 17:41:32 -0500 Subject: 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. --- modules/prog-general.el | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'modules') 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) -- cgit v1.2.3