]> git.eshelyaron.com Git - emacs.git/commitdiff
Adapt tramp-archive-autoload-file-name-handler
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 23 May 2021 10:34:36 +0000 (12:34 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 23 May 2021 10:34:36 +0000 (12:34 +0200)
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
Bind `default-directory' to safe value.

lisp/net/tramp-archive.el

index a37009402cf3c344dfceadf3da6384d7373d9fa2..d2ee7299bee1db9bf512f502b9b82faaeb2b43e7 100644 (file)
@@ -347,10 +347,15 @@ arguments to pass to the OPERATION."
 ;;;###autoload
 (progn (defun tramp-archive-autoload-file-name-handler (operation &rest args)
   "Load Tramp archive file name handler, and perform OPERATION."
-  (if tramp-archive-enabled
-      (let ((tramp-archive-autoload t))
-        tramp-archive-autoload ; Silence byte compiler.
-        (apply #'tramp-autoload-file-name-handler operation args)))))
+  (when tramp-archive-enabled
+    ;; We cannot use `tramp-compat-temporary-file-directory' here due
+    ;; 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)
+          (tramp-archive-autoload t))
+      tramp-archive-autoload ; Silence byte compiler.
+      (apply #'tramp-autoload-file-name-handler operation args)))))
 
 ;;;###autoload
 (progn (defun tramp-register-archive-file-name-handler ()