GNU bug report logs - #5297
23.1; vc: fails to follow symlinks inside HOME

Previous Next

Package: emacs;

Reported by: Yuya Nishihara <yuya <at> tcha.org>

Date: Sun, 3 Jan 2010 13:06:03 UTC

Severity: normal

Tags: patch

Done: Chong Yidong <cyd <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Yuya Nishihara <yuya <at> tcha.org>
To: 5297 <at> debbugs.gnu.org
Cc: Yuya Nishihara <yuya <at> tcha.org>
Subject: bug#5297: [PATCH] vc: fixed test of symlinks on abbreviatable path
Date: Sun, 3 Jan 2010 23:05:06 +0900
commit 51431c222c24bbe2919d3d98032f73723ebfccea
Author: Yuya Nishihara <yuya <at> tcha.org>
Date:   Sun Jan 3 14:12:56 2010 +0900

    vc: fixed test of symlinks on abbreviatable path
    
    buffer-file-truename is *abbreviated* truename, but buffer-file-name seems not,
    so we need to expand it.
    
    With abbreviated file-name, at least, vc-git and vc-hg are not detected
    as backend. This means symlinks to git/hg-managed files on HOME directory
    are not handled by vc-find-file-hook.

diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index fabb35f..238fafe 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -890,8 +890,9 @@ 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 backend 'find-file-hook))
-       ((let ((link-type (and (not (equal buffer-file-name buffer-file-truename))
-			      (vc-backend buffer-file-truename))))
+       ((let* ((truename (expand-file-name buffer-file-truename))
+	       (link-type (and (not (equal buffer-file-name truename))
+			       (vc-backend truename))))
 	  (cond ((not link-type) nil)	;Nothing to do.
 		((eq vc-follow-symlinks nil)
 		 (message




This bug report was last modified 12 years and 230 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.