diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2017-11-05 20:08:05 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2017-11-05 20:08:05 +0100 |
commit | ca2d94ba61dee678f85bfc7299d167e7219e6d8f (patch) | |
tree | 10dd2860d7fc05945d738c8a2b26eaaa96caca7b /lisp | |
parent | 709478eaa866e10a4600f8d8829ab8c79200d45e (diff) | |
download | emacs-ca2d94ba61dee678f85bfc7299d167e7219e6d8f.tar.gz |
Do not load Tramp unless `tramp-mode' is non-nil
* lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
`tramp-mode' is non-nil.
(tramp-unload-file-name-handlers): Unload also
`tramp-autoload-file-name-handler'.
* test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/net/tramp.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 67192e32401..3d5dcbdbb14 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2305,8 +2305,10 @@ Falls back to normal file name handler if no Tramp file name handler exists." ;;;###autoload (progn (defun tramp-autoload-file-name-handler (operation &rest args) "Load Tramp file name handler, and perform OPERATION." - (let ((default-directory temporary-file-directory)) - (load "tramp" 'noerror 'nomessage)) + (if tramp-mode + (let ((default-directory temporary-file-directory)) + (load "tramp" 'noerror 'nomessage)) + (tramp-unload-file-name-handlers)) (apply operation args))) ;; `tramp-autoload-file-name-handler' must be registered before @@ -2422,12 +2424,13 @@ Add operations defined in `HANDLER-alist' to `tramp-file-name-handler'." (equal (apply operation args) operation)))) ;;;###autoload -(defun tramp-unload-file-name-handlers () +(progn (defun tramp-unload-file-name-handlers () "Unload Tramp file name handlers from `file-name-handler-alist'." (dolist (fnh '(tramp-file-name-handler - tramp-completion-file-name-handler)) + tramp-completion-file-name-handler + tramp-autoload-file-name-handler)) (let ((a1 (rassq fnh file-name-handler-alist))) - (setq file-name-handler-alist (delq a1 file-name-handler-alist))))) + (setq file-name-handler-alist (delq a1 file-name-handler-alist)))))) (add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers) |