]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-follow-link, vc-find-file-hook):
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 22 Nov 2008 05:23:42 +0000 (05:23 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 22 Nov 2008 05:23:42 +0000 (05:23 +0000)
Use buffer-file-truename to handle symlinks in any part of the filename.

lisp/ChangeLog
lisp/vc-hooks.el

index ded553a01f410feac62b31ba17e19fb106d62db4..f4457b02305cf5812bac68d0d9806f16888b44d0 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * vc-hooks.el (vc-follow-link, vc-find-file-hook):
+       Use buffer-file-truename to handle symlinks in any part of the filename.
+
 2008-11-22  Glenn Morris  <rgm@gnu.org>
 
        * vc-mtn.el (vc-mtn-diff-switches): New option.
index fdee4c4680ef58ef895132f9defde77c941e7181..85f665bc9def28bc05bc689ba90ea5a5d33b7380 100644 (file)
@@ -850,8 +850,7 @@ This function assumes that the file is registered."
   "If current buffer visits a symbolic link, visit the real file.
 If the real file is already visited in another buffer, make that buffer
 current, and kill the buffer that visits the link."
-  (let* ((truename (abbreviate-file-name (file-chase-links buffer-file-name)))
-         (true-buffer (find-buffer-visiting truename))
+  (let* ((true-buffer (find-buffer-visiting buffer-file-truename))
         (this-buffer (current-buffer)))
     (if (eq true-buffer this-buffer)
        (progn
@@ -885,8 +884,8 @@ current, and kill the buffer that visits the link."
        (set (make-local-variable 'backup-inhibited) t))
       ;; Let the backend setup any buffer-local things he needs.
       (vc-call-backend (vc-backend buffer-file-name) 'find-file-hook))
-     ((let ((link-type (and (file-symlink-p buffer-file-name)
-                           (vc-backend (file-chase-links buffer-file-name)))))
+     ((let ((link-type (and (not (equal buffer-file-name buffer-file-truename))
+                            (vc-backend buffer-file-truename))))
        (cond ((not link-type) nil)     ;Nothing to do.
              ((eq vc-follow-symlinks nil)
               (message