diff lisp/net/tramp-vc.el @ 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 774d8922e2c3
children e3694f1cb928 7432ca837c8d
line wrap: on
line diff
--- 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.