branch: externals/tramp
commit fa1743d8962537cd78ada04578cacfcaa0486678
Author: Michael Albinus <[email protected]>
Commit: Michael Albinus <[email protected]>
Load also tramp-compat in autoloader
---
tramp.el | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tramp.el b/tramp.el
index d578cb4..143d433 100644
--- a/tramp.el
+++ b/tramp.el
@@ -2577,21 +2577,25 @@ Falls back to normal file name handler if no Tramp file
name handler exists."
(tramp-unload-file-name-handlers)
(when tramp-mode
;; We cannot use `tramp-compat-temporary-file-directory' here due
- ;; to autoload.
+ ;; to autoload. When installing Tramp's GNU ELPA package, there
+ ;; might be an older, incompatible version active. We try to
+ ;; overload this.
(let ((default-directory temporary-file-directory))
+ (load "tramp-compat" 'noerror 'nomessage)))
(load "tramp" 'noerror 'nomessage)))
(apply operation args)))
;; `tramp-autoload-file-name-handler' must be registered before
;; evaluation of site-start and init files, because there might exist
-;; remote files already, f.e. files kept via recentf-mode.
+;; remote files already, f.e. files kept via recentf-mode. We must
+;; also handle the case that autoloads are revaluated, for example
+;; when installing Tramp as GNU ELPA package.
;;;###autoload
(progn (defun tramp-register-autoload-file-name-handlers ()
"Add Tramp file name handlers to `file-name-handler-alist' during autoload."
- (unless (rassq 'tramp-file-name-handler file-name-handler-alist)
- (add-to-list 'file-name-handler-alist
- (cons tramp-autoload-file-name-regexp
- 'tramp-autoload-file-name-handler)))
+ (add-to-list 'file-name-handler-alist
+ (cons tramp-autoload-file-name-regexp
+ 'tramp-autoload-file-name-handler))
(put #'tramp-autoload-file-name-handler 'safe-magic t)))
;;;###autoload (tramp-register-autoload-file-name-handlers)