Function: with-existing-directory
with-existing-directory is a macro defined in subr.el.gz.
Signature
(with-existing-directory &rest BODY)
Documentation
Execute BODY with default-directory bound to an existing directory.
If default-directory is already an existing directory, it's not changed.
Probably introduced at or before Emacs version 28.1.
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defmacro with-existing-directory (&rest body)
"Execute BODY with `default-directory' bound to an existing directory.
If `default-directory' is already an existing directory, it's not changed."
(declare (indent 0) (debug t))
`(let ((default-directory (seq-find (lambda (dir)
(and dir
(file-exists-p dir)))
(list default-directory
(expand-file-name "~/")
temporary-file-directory
(getenv "TMPDIR")
"/tmp/")
"/")))
,@body))