summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-10-27 16:04:31 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2021-10-27 16:04:31 +0200
commit5b61f2defe2e6332a242849bf63862053551a4c1 (patch)
tree4db3c230b359cf2d4bb3b44a363dc9ac7246a8dd /lisp/emacs-lisp
parent158932894b68f58a4417d2fe400dfb593e1067a0 (diff)
downloademacs-5b61f2defe2e6332a242849bf63862053551a4c1.tar.gz
emacs-5b61f2defe2e6332a242849bf63862053551a4c1.tar.bz2
emacs-5b61f2defe2e6332a242849bf63862053551a4c1.zip
Harden ert-resource-directory against errors
* lisp/emacs-lisp/ert-x.el (ert-resource-directory): Be more resilient -- don't bug out if called from a file that's not visiting a directory.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/ert-x.el22
1 files changed, 11 insertions, 11 deletions
diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el
index 3fc57d5182d..a492ef5093f 100644
--- a/lisp/emacs-lisp/ert-x.el
+++ b/lisp/emacs-lisp/ert-x.el
@@ -368,17 +368,17 @@ variable `ert-resource-directory-format'. Before formatting, the
file name will be trimmed using `string-trim' with arguments
`ert-resource-directory-trim-left-regexp' and
`ert-resource-directory-trim-right-regexp'."
- `(let* ((testfile ,(or (macroexp-file-name)
- buffer-file-name))
- (default-directory (file-name-directory testfile)))
- (file-truename
- (if (file-accessible-directory-p "resources/")
- (expand-file-name "resources/")
- (expand-file-name
- (format ert-resource-directory-format
- (string-trim testfile
- ert-resource-directory-trim-left-regexp
- ert-resource-directory-trim-right-regexp)))))))
+ `(when-let ((testfile ,(or (macroexp-file-name)
+ buffer-file-name)))
+ (let ((default-directory (file-name-directory testfile)))
+ (file-truename
+ (if (file-accessible-directory-p "resources/")
+ (expand-file-name "resources/")
+ (expand-file-name
+ (format ert-resource-directory-format
+ (string-trim testfile
+ ert-resource-directory-trim-left-regexp
+ ert-resource-directory-trim-right-regexp))))))))
(defmacro ert-resource-file (file)
"Return absolute file name of resource (test data) file named FILE.