diff --git a/CHANGELOG.md b/CHANGELOG.md index d8185387..b0d7a0da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how * fix(lisp): Fix line containing format placeholders ([#377](../../pull/377)) * feat: Add `root` command ([`2a3872b`](../../commit/2a3872b0ac842268eb69cca403ab3ad8cda72a21)) * fix(lisp/emacs): Respect Eask file settings when possible ([`1b5aaa1`](../../commit/1b5aaa121b5d6a39e3a0664006fc10a4b22c2e84)) +* fix(lisp): Let buttercup tests handle exit code themselves ([#385](../../pull/385)) +* fix(lisp): Set up paths regardless of the working environment ([#386](../../pull/386)) ## 0.12.x > Released Dec 02, 2025 diff --git a/lisp/_prepare.el b/lisp/_prepare.el index cd133030..903ba04f 100644 --- a/lisp/_prepare.el +++ b/lisp/_prepare.el @@ -612,11 +612,14 @@ Arguments FNC and ARGS are used for advice `:around'." (defun eask--update-exec-path () "Add all bin directory to the variable `exec-path'." - (dolist (entry (directory-files package-user-dir t directory-files-no-dot-files-regexp)) - (when-let* ((bin (expand-file-name "bin" entry)) - ((file-directory-p bin))) - (add-to-list 'exec-path bin t))) - (delete-dups exec-path)) + (when-let* (((file-exists-p package-user-dir)) + (entries (directory-files package-user-dir + t directory-files-no-dot-files-regexp))) + (dolist (entry entries) + (when-let* ((bin (expand-file-name "bin" entry)) + ((file-directory-p bin))) + (add-to-list 'exec-path bin t))) + (delete-dups exec-path))) (defun eask--update-load-path () "Add all .el files to the variable `load-path'." @@ -702,7 +705,8 @@ scope of the dependencies (it's either `production' or `development')." (eask-with-progress (ansi-green "Updating environment variables... ") (eask-with-verbosity 'debug - (eask--update-exec-path) (eask--update-load-path) + (eask--update-exec-path) + (eask--update-load-path) (setenv "PATH" (string-join exec-path path-separator)) (setenv "EMACSLOADPATH" (string-join load-path path-separator))) (ansi-green "done ✓"))) @@ -1385,6 +1389,8 @@ This uses function `locate-dominating-file' to look up directory tree." (eask-msg "✗ Loading config Eask file... missing!")) (eask-msg "")) (package-activate-all) + (ignore-errors (make-directory package-user-dir t)) + (eask--silent (eask-setup-paths)) (eask--load-config) (eask--with-hooks ,@body))) ((eask-global-p) @@ -1400,6 +1406,7 @@ This uses function `locate-dominating-file' to look up directory tree." (eask-msg "")) (package-activate-all) (ignore-errors (make-directory package-user-dir t)) + (eask--silent (eask-setup-paths)) (eask-with-verbosity 'debug (eask--load-config)) (eask--with-hooks ,@body)))) ((eask-special-p) ; Commands without Eask-file needed! @@ -1419,6 +1426,7 @@ This uses function `locate-dominating-file' to look up directory tree." (eask-msg "")) (package-activate-all) (ignore-errors (make-directory package-user-dir t)) + (eask--silent (eask-setup-paths)) (eask-with-verbosity 'debug (eask--load-config)) (eask--with-hooks ,@body)))) (t diff --git a/lisp/core/exec-path.el b/lisp/core/exec-path.el index 291a6ef3..8832d3f4 100644 --- a/lisp/core/exec-path.el +++ b/lisp/core/exec-path.el @@ -30,6 +30,6 @@ (mapc #'eask-exec-path--print exec-path) (if (zerop (length exec-path)) (eask-info "(No exec-path found)") - (eask-info "(Total of %s exec-path)" (length exec-path))))) + (eask-info "(Total of %s `exec-path` printed)" (length exec-path))))) ;;; core/exec-path.el ends here diff --git a/lisp/core/load-path.el b/lisp/core/load-path.el index d6f0e526..6d906513 100644 --- a/lisp/core/load-path.el +++ b/lisp/core/load-path.el @@ -34,6 +34,6 @@ (mapc #'eask-load-path--print load-path) (if (zerop (length load-path)) (eask-info "(No load-path found)") - (eask-info "(Total of %s load-path)" (length load-path))))) + (eask-info "(Total of %s `load-path` printed)" (length load-path))))) ;;; core/load-path.el ends here