Function: majutsu--safe-default-directory
majutsu--safe-default-directory is a natively compiled function
defined in majutsu-jj.el.
Signature
(majutsu--safe-default-directory &optional FILE)
Documentation
Return a safe default-directory based on FILE or default-directory.
If the expanded directory is not accessible, walk up parent directories until an accessible directory is found. Return nil if none is found.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-jj.el
;;; Safe default-directory
(defun majutsu--safe-default-directory (&optional file)
"Return a safe `default-directory' based on FILE or `default-directory'.
If the expanded directory is not accessible, walk up parent directories
until an accessible directory is found. Return nil if none is found."
(catch 'unsafe-default-dir
(let ((dir (file-name-as-directory
(expand-file-name (or file default-directory))))
(previous nil))
(while (not (file-accessible-directory-p dir))
(setq dir (file-name-directory (directory-file-name dir)))
(when (equal dir previous)
(throw 'unsafe-default-dir nil))
(setq previous dir))
dir)))