summaryrefslogtreecommitdiff
path: root/tw/home
diff options
context:
space:
mode:
authorTimo Wilken2023-12-01 20:14:55 +0100
committerTimo Wilken2023-12-01 20:14:55 +0100
commitb02a98a0df668fbcf6e93cf7f73ab225970199fa (patch)
treeab86c851bfa18225a3467ba4402d9ecd5dcb3bc0 /tw/home
parent3289c2f3bfb3228d181f8a3ba09b9d812add4dcb (diff)
Fix .asd finding function
Diffstat (limited to 'tw/home')
-rw-r--r--tw/home/files/emacs-init.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/tw/home/files/emacs-init.el b/tw/home/files/emacs-init.el
index 72c75799..a924db56 100644
--- a/tw/home/files/emacs-init.el
+++ b/tw/home/files/emacs-init.el
@@ -873,9 +873,13 @@ For use in `org-latex-classes'."
(defun tw/find-asd-systems (directory)
"Return a list of Common Lisp .asd systems found in DIRECTORY."
(let ((asd-rx (rx ".asd" eos)))
- (mapcar (lambda (file)
- (string-trim-right file asd-rx))
- (directory-files directory nil asd-rx))))
+ ;; `locate-dominating-file' will call this function once with the original
+ ;; file name as DIRECTORY, but `directory-files' fails if its argument is
+ ;; a regular file, so protect against this.
+ (and (directory-name-p directory)
+ (mapcar (lambda (file)
+ (string-trim-right file asd-rx))
+ (directory-files directory nil asd-rx)))))
(defun tw/lisp-project-setup ()
"Set up a Lisp REPL for the current project."