summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2017-11-05 20:08:05 +0100
committerMichael Albinus <michael.albinus@gmx.de>2017-11-05 20:08:05 +0100
commitca2d94ba61dee678f85bfc7299d167e7219e6d8f (patch)
tree10dd2860d7fc05945d738c8a2b26eaaa96caca7b /lisp
parent709478eaa866e10a4600f8d8829ab8c79200d45e (diff)
downloademacs-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.el13
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)