about summary refs log tree commit diff
diff options
context:
space:
mode:
-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))