# HG changeset patch # User Michael Albinus # Date 1145828728 0 # Node ID 3a3093f77da80b800f2aab0b3c377fad9ab52e24 # Parent 17e94146a139dbba5cac5c99f8224f321a1b2e53 * net/tramp.el (tramp-register-file-name-handlers): New defun. Added with autoload cookie. (tramp-unload-file-name-handlers): Renamed from `tramp-unload-file-name-handler-alist'. diff -r 17e94146a139 -r 3a3093f77da8 lisp/ChangeLog --- a/lisp/ChangeLog Sun Apr 23 08:29:09 2006 +0000 +++ b/lisp/ChangeLog Sun Apr 23 21:45:28 2006 +0000 @@ -1,3 +1,10 @@ +2006-04-23 Michael Albinus + + * net/tramp.el (tramp-register-file-name-handlers): New defun. + Added with autoload cookie. + (tramp-unload-file-name-handlers): Renamed from + `tramp-unload-file-name-handler-alist'. + 2006-04-23 Romain Francoise * comint.el (comint-match-partial-filename): Doc fix. diff -r 17e94146a139 -r 3a3093f77da8 lisp/net/tramp.el --- a/lisp/net/tramp.el Sun Apr 23 08:29:09 2006 +0000 +++ b/lisp/net/tramp.el Sun Apr 23 21:45:28 2006 +0000 @@ -4337,19 +4337,34 @@ (save-match-data (apply (cdr fn) args)) (tramp-completion-run-real-handler operation args)))) -;;;###autoload -(put 'tramp-completion-file-name-handler 'safe-magic t) - -;; Register in file name handler alist +;; Register in `file-name-handler-alist'. +;; `tramp-completion-file-name-handler' must not be active when temacs +;; dumps. And it makes no sense in batch mode anyway. ;;;###autoload -(add-to-list 'file-name-handler-alist - (cons tramp-file-name-regexp 'tramp-file-name-handler)) -(add-to-list 'file-name-handler-alist - (cons tramp-completion-file-name-regexp - 'tramp-completion-file-name-handler)) +(defun tramp-register-file-name-handlers () + "Add tramp file name handlers to `file-name-handler-alist'." + (unless noninteractive + (add-to-list 'file-name-handler-alist + (cons tramp-file-name-regexp 'tramp-file-name-handler)) + (add-to-list 'file-name-handler-alist + (cons tramp-completion-file-name-regexp + 'tramp-completion-file-name-handler)) + (put 'tramp-completion-file-name-handler 'safe-magic t))) + +;; LAMBDA function used temporarily, because older/other versions of +;; Tramp don't know of `tramp-register-file-name-handlers'. Can be +;; replaced once that DEFUN is established. Relevant for Emacs 22 only. +;;;###;autoload(add-hook 'emacs-startup-hook 'tramp-register-file-name-handlers) +;;;###autoload(add-hook +;;;###autoload 'emacs-startup-hook +;;;###autoload '(lambda () +;;;###autoload (condition-case nil +;;;###autoload (funcall 'tramp-register-file-name-handlers) +;;;###autoload (error nil)))) +(tramp-register-file-name-handlers) ;;;###autoload -(defun tramp-unload-file-name-handler-alist () +(defun tramp-unload-file-name-handlers () (setq file-name-handler-alist (delete (rassoc 'tramp-file-name-handler file-name-handler-alist) @@ -4357,7 +4372,7 @@ file-name-handler-alist) file-name-handler-alist)))) -(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handler-alist) +(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers) (defun tramp-repair-jka-compr () "If jka-compr is already loaded, move it to the front of @@ -7629,7 +7644,7 @@ (defun tramp-unload-tramp () (interactive) ;; When Tramp is not loaded yet, its autoloads are still active. - (tramp-unload-file-name-handler-alist) + (tramp-unload-file-name-handlers) ;; ange-ftp settings must be enabled. (when (functionp 'tramp-ftp-enable-ange-ftp) (funcall (symbol-function 'tramp-ftp-enable-ange-ftp)))