Adapt Tramp to changed unload behavior (bug#53632)
* 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.
This commit is contained in:
parent
224aeb2877
commit
3a8e140ad1
2 changed files with 12 additions and 0 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue