changeset 14673:8f8a4224147b

(vc-follow-link): Simplify by taking advantage of Feb 21 change in find-file-noselect.
author Richard M. Stallman <rms@gnu.org>
date Mon, 26 Feb 1996 00:17:43 +0000
parents 9556c7cfabe4
children f585d3bf3a73
files lisp/vc-hooks.el
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc-hooks.el	Mon Feb 26 00:15:09 1996 +0000
+++ b/lisp/vc-hooks.el	Mon Feb 26 00:17:43 1996 +0000
@@ -924,12 +924,18 @@
   ;; visit the real file instead.  If the real file is already visited in 
   ;; another buffer, make that buffer current, and kill the buffer 
   ;; that visits the link.
-  (let* ((truename (file-truename buffer-file-name))
-         (true-buffer (get-file-buffer truename)))
-    (if true-buffer 
-        (set-buffer true-buffer)
-      (kill-buffer (current-buffer))
-      (set-buffer (find-file-noselect truename)))))
+  (let* ((truename (abbreviate-file-name (file-truename buffer-file-name)))
+         (true-buffer (find-buffer-visiting truename))
+	 (this-buffer (current-buffer)))
+    (if (eq true-buffer this-buffer)
+	(progn
+	  ;; In principle, we could do something like set-visited-file-name.
+	  ;; However, it can't be exactly the same as set-visited-file-name.
+	  ;; I'm not going to work out the details right now. -- rms.
+	  (set-buffer (find-file-noselect truename))
+	  (kill-buffer this-buffer))
+      (set-buffer true-buffer)
+      (kill-buffer this-buffer))))
 
 ;;; install a call to the above as a find-file hook
 (defun vc-find-file-hook ()