]> git.eshelyaron.com Git - emacs.git/commitdiff
Enable Tramp reloading
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 17 Mar 2022 14:32:01 +0000 (15:32 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 17 Mar 2022 14:32:01 +0000 (15:32 +0100)
* lisp/net/tramp.el (tramp-file-name): Add ;;;###tramp-autoload
cookie.  (Bug#50869)

* test/lisp/net/tramp-tests.el (tramp-test47-unload): Do not skip.
Test reload.

lisp/net/tramp.el
test/lisp/net/tramp-tests.el

index 49778cbfeee969dc608e82b3095563a8f814e54f..38bdfab1929756ebf5f062c353c57d43b9a662eb 100644 (file)
@@ -1421,7 +1421,10 @@ calling HANDLER.")
 ;; internal data structure.  Convenience functions for internal
 ;; data structure.
 
-;; The basic structure for remote file names.
+;; The basic structure for remote file names.  We must autoload it in
+;; tramp-loaddefs.el, because some functions, which need it, wouldn't
+;; work otherwise when unloading / reloading Tramp.  (Bug#50869)
+;;;###tramp-autoload
 (cl-defstruct (tramp-file-name (:type list) :named)
   method user domain host port localname hop)
 
index afe7a7406389750783f9d10b4256ac92145f5876..f34fdbdaf7924c3dd30f9aee7691d8d47733d6b1 100644 (file)
@@ -7265,7 +7265,6 @@ process sentinels.  They shall not disturb each other."
   "Check that Tramp and its subpackages unload completely.
 Since it unloads Tramp, it shall be the last test to run."
   :tags '(:expensive-test)
-  (skip-unless noninteractive)
   ;; We have autoloaded objects from tramp.el and tramp-archive.el.
   ;; In order to remove them, we first need to load both packages.
   (require 'tramp)
@@ -7331,7 +7330,13 @@ Since it unloads Tramp, it shall be the last test to run."
             (and (string-match-p "^tramp" (symbol-name fun))
                  (ert-fail
                   (format "Function `%s' still contains Tramp advice" x))))
-          x)))))
+          x))))
+
+  ;; Reload.
+  (require 'tramp)
+  (require 'tramp-archive)
+  (should (featurep 'tramp))
+  (should (featurep 'tramp-archive)))
 
 (defun tramp-test-all (&optional interactive)
   "Run all tests for \\[tramp].