mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
(vc-follow-link, vc-find-file-hook):
Use file-chase-links instead of file-truename. (vc-find-file-hook): Follow a link without asking if the target is already visited.
This commit is contained in:
parent
d63a6ae0d0
commit
566f2169f2
@ -924,7 +924,7 @@ control system name."
|
||||
;; 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 (abbreviate-file-name (file-truename buffer-file-name)))
|
||||
(let* ((truename (abbreviate-file-name (file-chase-links buffer-file-name)))
|
||||
(true-buffer (find-buffer-visiting truename))
|
||||
(this-buffer (current-buffer)))
|
||||
(if (eq true-buffer this-buffer)
|
||||
@ -958,7 +958,18 @@ control system name."
|
||||
(cond ((eq vc-follow-symlinks nil)
|
||||
(message
|
||||
"Warning: symbolic link to %s-controlled source file" link-type))
|
||||
((eq vc-follow-symlinks 'ask)
|
||||
((or (not (eq vc-follow-symlinks 'ask))
|
||||
;; If we already visited this file by following
|
||||
;; the link, don't ask again if we try to visit
|
||||
;; it again. GUD does that, and repeated questions
|
||||
;; are painful.
|
||||
(get-file-buffer
|
||||
(abbreviate-file-name (file-chase-links buffer-file-name))))
|
||||
|
||||
(vc-follow-link)
|
||||
(message "Followed link to %s" buffer-file-name)
|
||||
(vc-find-file-hook))
|
||||
(t
|
||||
(if (yes-or-no-p (format
|
||||
"Symbolic link to %s-controlled source file; follow link? " link-type))
|
||||
(progn (vc-follow-link)
|
||||
@ -966,10 +977,7 @@ control system name."
|
||||
(vc-find-file-hook))
|
||||
(message
|
||||
"Warning: editing through the link bypasses version control")
|
||||
))
|
||||
(t (vc-follow-link)
|
||||
(message "Followed link to %s" buffer-file-name)
|
||||
(vc-find-file-hook))))))))))
|
||||
))))))))))
|
||||
|
||||
(add-hook 'find-file-hooks 'vc-find-file-hook)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user