Function: projectile-session--file
projectile-session--file is a byte-compiled function defined in
projectile.el.
Signature
(projectile-session--file ROOT)
Documentation
Return the absolute session file name for project ROOT.
The name pairs a readable, filesystem-safe project name with a hash of ROOT's canonical path, so distinct roots never collide and the same root maps to the same file across restarts.
Source Code
;; Defined in ~/.emacs.d/elpa/projectile-20260820.1509/projectile.el
(defun projectile-session--file (root)
"Return the absolute session file name for project ROOT.
The name pairs a readable, filesystem-safe project name with a hash of
ROOT's canonical path, so distinct roots never collide and the same root
maps to the same file across restarts."
(let* ((canonical (directory-file-name
;; Canonicalize with `file-truename' so a symlinked root
;; and its target map to the same file, matching M1's
;; `projectile-session--same-root-p'. Skip it for remote
;; roots to avoid a TRAMP round-trip.
(if (file-remote-p root)
(expand-file-name root)
(file-truename root))))
(name (projectile-session--project-name root))
(safe (replace-regexp-in-string "[^A-Za-z0-9_.-]" "_" (or name "project")))
(hash (md5 canonical)))
(expand-file-name (concat safe "-" hash ".eld")
projectile-session-directory)))