]> git.eshelyaron.com Git - emacs.git/commitdiff
Adapt Tramp to changed unload behavior (bug#53632)
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 5 Feb 2022 10:12:17 +0000 (11:12 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 5 Feb 2022 10:12:17 +0000 (11:12 +0100)
* lisp/net/tramp.el (tramp-autoload-file-name-handler)
(tramp-register-autoload-file-name-handlers)
(tramp-unload-file-name-handlers, tramp-unload-tramp):
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-regexp)
(tramp-archive-autoload-file-name-handler)
(tramp-register-archive-file-name-handler):
Add `tramp-autoload' function property.

lisp/net/tramp-archive.el
lisp/net/tramp.el

index d3f427932f383cd8b615ead0614c4f9d8e501322..c6523003b8c6949ca2181ab7be853378ba1cb8cd 100644 (file)
@@ -190,6 +190,8 @@ It must be supported by libarchive(3).")
     "\\)" ;; \1
     "\\(" "/" ".*" "\\)" "\\'"))) ;; \2
 
+(put #'tramp-archive-autoload-file-name-regexp 'tramp-autoload t)
+
 ;; In older Emacsen (prior 27.1), `tramp-archive-autoload-file-name-regexp'
 ;; is not autoloaded.  So we cannot expect it to be known in
 ;; tramp-loaddefs.el.  But it exists, when tramp-archive.el is loaded.
@@ -366,6 +368,8 @@ arguments to pass to the OPERATION."
           (tramp-archive-autoload t))
       (apply #'tramp-autoload-file-name-handler operation args)))))
 
+(put #'tramp-archive-autoload-file-name-handler 'tramp-autoload t)
+
 ;;;###autoload
 (progn (defun tramp-register-archive-file-name-handler ()
   "Add archive file name handler to `file-name-handler-alist'."
@@ -375,6 +379,8 @@ arguments to pass to the OPERATION."
                       #'tramp-archive-autoload-file-name-handler))
     (put #'tramp-archive-autoload-file-name-handler 'safe-magic t))))
 
+(put #'tramp-register-archive-file-name-handler 'tramp-autoload t)
+
 ;;;###autoload
 (progn
   (add-hook 'after-init-hook #'tramp-register-archive-file-name-handler)
index 126badca3e8c032045a33080141e3f2a1acec459..9caeffc5aa784ca62c9700d745a9accaad7853b6 100644 (file)
@@ -2742,6 +2742,8 @@ Falls back to normal file name handler if no Tramp file name handler exists."
       (load "tramp" 'noerror 'nomessage)))
   (apply operation args)))
 
+(put #'tramp-autoload-file-name-handler 'tramp-autoload t)
+
 ;; `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.
@@ -2753,6 +2755,7 @@ Falls back to normal file name handler if no Tramp file name handler exists."
                     #'tramp-autoload-file-name-handler))
   (put #'tramp-autoload-file-name-handler 'safe-magic t)))
 
+(put #'tramp-register-autoload-file-name-handlers 'tramp-autoload t)
 ;;;###autoload (tramp-register-autoload-file-name-handlers)
 
 (defun tramp-use-absolute-autoload-file-names ()
@@ -2866,6 +2869,7 @@ whether HANDLER is to be called.  Add operations defined in
               (string-prefix-p "tramp-" (symbol-name (cdr fnh))))
       (setq file-name-handler-alist (delq fnh file-name-handler-alist))))))
 
+(put #'tramp-unload-file-name-handlers 'tramp-autoload t)
 (add-hook 'tramp-unload-hook #'tramp-unload-file-name-handlers)
 
 ;;; File name handler functions for completion mode:
@@ -5966,6 +5970,8 @@ BODY is the backend specific code."
   ;; Maybe it's not loaded yet.
   (ignore-errors (unload-feature 'tramp 'force))))
 
+(put #'tramp-unload-tramp 'tramp-autoload t)
+
 (provide 'tramp)
 
 (run-hooks 'tramp--startup-hook)