Function: denote--get-common-root-directory
denote--get-common-root-directory is a byte-compiled function defined
in denote.el.
Signature
(denote--get-common-root-directory DIRECTORIES)
Documentation
Return common root directory among DIRECTORIES.
DIRECTORIES are absolute file system paths.
Source Code
;; Defined in ~/.emacs.d/elpa/denote-4.2.3/denote.el
(defun denote--get-common-root-directory (directories)
"Return common root directory among DIRECTORIES.
DIRECTORIES are absolute file system paths."
(cond
((or (null directories)
(not (seq-every-p
(lambda (d)
(and (file-name-absolute-p d)
(not (string-prefix-p "~" d))))
directories)))
(error "DIRECTORIES must be a list of absolute filesystem paths, not `%S'" directories))
((null (cdr directories))
(car directories))
((let* ((parts (mapcar
(lambda (dir)
(split-string dir "/" :omit-nulls))
directories))
(common-prefix (car parts)))
(dolist (part (cdr parts))
(let ((new-common-prefix nil))
(while (and common-prefix
part
(string= (car common-prefix) (car part)))
(push (car common-prefix) new-common-prefix)
(setq common-prefix (cdr common-prefix))
(setq part (cdr part)))
(setq common-prefix (nreverse new-common-prefix))))
(if common-prefix
(format "/%s/" (mapconcat #'identity common-prefix "/"))
"/")))))