diff --git a/CHANGELOG.md b/CHANGELOG.md index a9875bf2..4155eb16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how * Fix package `xxx` is unavailable issue from Emacs snapshots (#111) * Fix install `CRLF` EOL (#112) * fix: Also expose `bin` folder for symlink package (#115) +* Resolve infinite recursion in `exec-path` setup (#118) ## 0.7.x > Released Sep 08, 2022 diff --git a/lisp/_prepare.el b/lisp/_prepare.el index 8649a43f..0875b768 100644 --- a/lisp/_prepare.el +++ b/lisp/_prepare.el @@ -191,9 +191,10 @@ the `eask-start' execution.") (defun eask--update-exec-path () "Add all bin directory to `exec-path'." - (dolist (filename (directory-files-recursively package-user-dir directory-files-no-dot-files-regexp nil nil t)) - (when (string-suffix-p "bin/" (file-name-directory filename)) - (add-to-list 'exec-path (file-name-directory filename) t))) + (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)) (defun eask--update-load-path ()