Mercurial > emacs
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.