aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2025-06-30 13:56:52 +0100
committerArun Isaac2025-06-30 15:36:48 +0100
commit8f29ccb8d734b885edd542f69fe9e3ef488c752d (patch)
tree2b2149b8d9b0b58c86b4a06bb18aac2001b3d64d
parentf9a4628c94893937ea8f393b3b060acbaa888c61 (diff)
downloadennum-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.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/ennum.el b/ennum.el
index 57c2705..d32ca75 100644
--- a/ennum.el
+++ b/ennum.el
@@ -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))