changeset 68423:927f1c4f43d8

* net/tramp-vc.el (vc-user-login-name): Wrap defadvice with a test for `process-file', in order to let it work for older Emacsen too.
author Michael Albinus <michael.albinus@gmx.de>
date Fri, 27 Jan 2006 19:38:02 +0000
parents 9f18f2e003c8
children 6c8eee5f9e6e
files lisp/ChangeLog lisp/net/tramp-vc.el
diffstat 2 files changed, 26 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jan 27 19:34:08 2006 +0000
+++ b/lisp/ChangeLog	Fri Jan 27 19:38:02 2006 +0000
@@ -1,3 +1,8 @@
+2006-01-27  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp-vc.el (vc-user-login-name): Wrap defadvice with a test
+	for `process-file', in order to let it work for older Emacsen too.
+
 2006-01-27  Eli Zaretskii  <eliz@gnu.org>
 
 	* international/latexenc.el: Add a suitable `coding:' tag.
@@ -58,7 +63,7 @@
 
 	* tramp-vc.el (vc-user-login-name): Comment out defadvice, it is
 	no longer necessary.
-	
+
 2006-01-25  Kenichi Handa  <handa@m17n.org>
 
 	* international/mule.el (decode-char): Avoid the overhead of
--- a/lisp/net/tramp-vc.el	Fri Jan 27 19:34:08 2006 +0000
+++ b/lisp/net/tramp-vc.el	Fri Jan 27 19:38:02 2006 +0000
@@ -439,26 +439,27 @@
 ;; The following defadvice is no longer necessary after changes in VC
 ;; on 2006-01-25, Andre.
 
-;; (defadvice vc-user-login-name
-;;   (around tramp-vc-user-login-name activate)
-;;   "Support for files on remote machines accessed by TRAMP."
-;;   ;; We rely on the fact that `file' is bound when this is called.
-;;   ;; This appears to be the case everywhere in vc.el and vc-hooks.el
-;;   ;; as of Emacs 20.5.
-;;   ;;
-;;   ;; CCC TODO there should be a real solution!  Talk to Andre Spiegel
-;;   ;; about this.
-;;   (let ((file (when (boundp 'file)
-;;                 (symbol-value 'file))))    ;pacify byte-compiler
-;;     (or (and (stringp file)
-;;              (tramp-tramp-file-p file)	; tramp file
-;;              (setq ad-return-value
-;; 		   (save-match-data
-;; 		     (tramp-handle-vc-user-login-name uid)))) ; get the owner name
-;;         ad-do-it)))                     ; else call the original
+(unless (fboundp 'process-file)
+  (defadvice vc-user-login-name
+    (around tramp-vc-user-login-name activate)
+    "Support for files on remote machines accessed by TRAMP."
+    ;; We rely on the fact that `file' is bound when this is called.
+    ;; This appears to be the case everywhere in vc.el and vc-hooks.el
+    ;; as of Emacs 20.5.
+    ;;
+    ;; With Emacs 22, the definition of `vc-user-login-name' has been
+    ;; changed.  It doesn't need to be adviced any longer.
+    (let ((file (when (boundp 'file)
+		  (symbol-value 'file))))    ;pacify byte-compiler
+      (or (and (stringp file)
+	       (tramp-tramp-file-p file)	; tramp file
+	       (setq ad-return-value
+		     (save-match-data
+		       (tramp-handle-vc-user-login-name uid)))) ; get the owner name
+	  ad-do-it)))                     ; else call the original
 
-(add-hook 'tramp-unload-hook
-	  '(lambda () (ad-unadvise 'vc-user-login-name)))
+  (add-hook 'tramp-unload-hook
+	    '(lambda () (ad-unadvise 'vc-user-login-name))))
 
 
 ;; Determine the name of the user owning a file.