diff options
author | Arun Isaac | 2025-06-30 13:56:52 +0100 |
---|---|---|
committer | Arun Isaac | 2025-06-30 15:36:48 +0100 |
commit | 8f29ccb8d734b885edd542f69fe9e3ef488c752d (patch) | |
tree | 2b2149b8d9b0b58c86b4a06bb18aac2001b3d64d | |
parent | f9a4628c94893937ea8f393b3b060acbaa888c61 (diff) | |
download | ennum-8f29ccb8d734b885edd542f69fe9e3ef488c752d.tar.gz ennum-8f29ccb8d734b885edd542f69fe9e3ef488c752d.tar.lz ennum-8f29ccb8d734b885edd542f69fe9e3ef488c752d.zip |
Canonicalize file paths before interning.
* ennum.el (ennum-intern): Canonical file paths before interning.
-rw-r--r-- | ennum.el | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -182,14 +182,17 @@ value of the last form in BODY." ;; changes? Yes, since we ask for an absolute working directory, we ;; should. (defun ennum-intern (filename) - (let* ((store-item - (expand-file-name (ennum-file-hash filename) + (let* ((canonical-file-path + (expand-file-name filename + (ennum-setting :working-directory))) + (store-item + (expand-file-name (ennum-file-hash canonical-file-path) (ennum-setting :store))) - (interned-path (expand-file-name (file-name-nondirectory filename) + (interned-path (expand-file-name (file-name-nondirectory canonical-file-path) store-item))) (unless (file-exists-p store-item) - (message "Interning %s in %s" filename store-item) - (ennum-copy filename interned-path t) + (message "Interning %s in %s" canonical-file-path store-item) + (ennum-copy canonical-file-path interned-path t) (ennum--set-file-modes-recursively store-item #o555 #o444 #o555)) interned-path)) |