aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus2017-11-05 20:08:05 +0100
committerMichael Albinus2017-11-05 20:08:05 +0100
commitca2d94ba61dee678f85bfc7299d167e7219e6d8f (patch)
tree10dd2860d7fc05945d738c8a2b26eaaa96caca7b /lisp
parent709478eaa866e10a4600f8d8829ab8c79200d45e (diff)
downloademacs-ca2d94ba61dee678f85bfc7299d167e7219e6d8f.tar.gz
emacs-ca2d94ba61dee678f85bfc7299d167e7219e6d8f.zip
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."
2305;;;###autoload 2305;;;###autoload
2306(progn (defun tramp-autoload-file-name-handler (operation &rest args) 2306(progn (defun tramp-autoload-file-name-handler (operation &rest args)
2307 "Load Tramp file name handler, and perform OPERATION." 2307 "Load Tramp file name handler, and perform OPERATION."
2308 (let ((default-directory temporary-file-directory)) 2308 (if tramp-mode
2309 (load "tramp" 'noerror 'nomessage)) 2309 (let ((default-directory temporary-file-directory))
2310 (load "tramp" 'noerror 'nomessage))
2311 (tramp-unload-file-name-handlers))
2310 (apply operation args))) 2312 (apply operation args)))
2311 2313
2312;; `tramp-autoload-file-name-handler' must be registered before 2314;; `tramp-autoload-file-name-handler' must be registered before
@@ -2422,12 +2424,13 @@ Add operations defined in `HANDLER-alist' to `tramp-file-name-handler'."
2422 (equal (apply operation args) operation)))) 2424 (equal (apply operation args) operation))))
2423 2425
2424;;;###autoload 2426;;;###autoload
2425(defun tramp-unload-file-name-handlers () 2427(progn (defun tramp-unload-file-name-handlers ()
2426 "Unload Tramp file name handlers from `file-name-handler-alist'." 2428 "Unload Tramp file name handlers from `file-name-handler-alist'."
2427 (dolist (fnh '(tramp-file-name-handler 2429 (dolist (fnh '(tramp-file-name-handler
2428 tramp-completion-file-name-handler)) 2430 tramp-completion-file-name-handler
2431 tramp-autoload-file-name-handler))
2429 (let ((a1 (rassq fnh file-name-handler-alist))) 2432 (let ((a1 (rassq fnh file-name-handler-alist)))
2430 (setq file-name-handler-alist (delq a1 file-name-handler-alist))))) 2433 (setq file-name-handler-alist (delq a1 file-name-handler-alist))))))
2431 2434
2432(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers) 2435(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers)
2433 2436