[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 06d05fe: Fix Bug#29163
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] emacs-26 06d05fe: Fix Bug#29163 |
Date: |
Mon, 27 Nov 2017 07:32:02 -0500 (EST) |
branch: emacs-26
commit 06d05fec84ded5d48aafc8649f861884afdec0b7
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>
Fix Bug#29163
* lisp/net/tramp.el (tramp-autoload-file-name-regexp):
Do not use "\\'" in regexp. (Bug#29163)
(top) Do not run (tramp-register-autoload-file-name-handlers)
when loading tramp.el.
* test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
(tramp-test32-environment-variables-and-port-numbers)
(tramp-test41-asynchronous-requests): Use it.
(tramp-test42-auto-load): New test.
(tramp-test43-recursive-load, tramp-test44-remote-load-path)
(tramp-test45-delay-load, tramp-test46-unload): Rename.
---
lisp/net/tramp.el | 5 ++---
test/lisp/net/tramp-tests.el | 44 +++++++++++++++++++++++++++++++++-----------
2 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index efd31b2..13277ec 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1055,7 +1055,7 @@ Also see `tramp-file-name-structure'.")
"\\(-\\|[^/|:]\\{2,\\}\\)"
;; At least one character for method.
"[^/|:]+")
- ":\\'")
+ ":")
"Regular expression matching file names handled by Tramp autoload.
It must match the initial `tramp-syntax' settings. It should not
match file names at root of the underlying local file system,
@@ -2323,8 +2323,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)))
-;;;###autoload
-(tramp-register-autoload-file-name-handlers)
+;;;###autoload (tramp-register-autoload-file-name-handlers)
(defun tramp-use-absolute-autoload-file-names ()
"Change Tramp autoload objects to use absolute file names.
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 08c58c8..2141f52 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -3627,11 +3627,8 @@ This tests also `make-symbolic-link', `file-truename'
and `add-name-to-file'."
(skip-unless (tramp--test-enabled))
;; We test it only for the mock-up connection; otherwise there might
;; be problems with the used ports.
- (skip-unless
- (and
- (eq tramp-syntax 'default)
- (string-equal
- "mock" (file-remote-p tramp-test-temporary-file-directory 'method))))
+ (skip-unless (and (eq tramp-syntax 'default)
+ (tramp--test-mock-p)))
;; We force a reconnect, in order to have a clean environment.
(dolist (dir `(,tramp-test-temporary-file-directory
@@ -4041,6 +4038,12 @@ Several special characters do not work properly there."
(file-truename tramp-test-temporary-file-directory) nil
(string-match "^HP-UX" (tramp-get-connection-property v "uname" ""))))
+(defun tramp--test-mock-p ()
+ "Check, whether the mock method is used.
+This does not support external Emacs calls."
+ (string-equal
+ "mock" (file-remote-p tramp-test-temporary-file-directory 'method)))
+
(defun tramp--test-rsync-p ()
"Check, whether the rsync method is used.
This does not support special file names."
@@ -4495,8 +4498,7 @@ process sentinels. They shall not disturb each other."
;; We must distinguish due to performance reasons.
(timer-operation
(cond
- ((string-equal "mock" (file-remote-p tmp-name 'method))
- 'vc-registered)
+ ((tramp--test-mock-p) 'vc-registered)
(t 'file-attributes)))
timer buffers kill-buffer-query-functions)
@@ -4604,7 +4606,27 @@ process sentinels. They shall not disturb each other."
(ignore-errors (cancel-timer timer))
(ignore-errors (delete-directory tmp-name 'recursive))))))
-(ert-deftest tramp-test42-recursive-load ()
+(ert-deftest tramp-test42-auto-load ()
+ "Check that Tramp autoloads properly."
+ (skip-unless (tramp--test-enabled))
+ (skip-unless (not (tramp--test-mock-p)))
+
+ (let ((default-directory (expand-file-name temporary-file-directory)))
+ (let ((code
+ (format
+ "(message \"Tramp loaded: %%s\" (consp (file-attributes \"%s\")))"
+ tramp-test-temporary-file-directory)))
+ (should
+ (string-match
+ "Tramp loaded: t[\n\r]+"
+ (shell-command-to-string
+ (format
+ "%s -batch -Q -L %s --eval %s"
+ (expand-file-name invocation-name invocation-directory)
+ (mapconcat 'shell-quote-argument load-path " -L ")
+ (shell-quote-argument code))))))))
+
+(ert-deftest tramp-test43-recursive-load ()
"Check that Tramp does not fail due to recursive load."
(skip-unless (tramp--test-enabled))
@@ -4627,7 +4649,7 @@ process sentinels. They shall not disturb each other."
(mapconcat 'shell-quote-argument load-path " -L ")
(shell-quote-argument code))))))))
-(ert-deftest tramp-test43-remote-load-path ()
+(ert-deftest tramp-test44-remote-load-path ()
"Check that Tramp autoloads its packages with remote `load-path'."
;; `tramp-cleanup-all-connections' is autoloaded from tramp-cmds.el.
;; It shall still work, when a remote file name is in the
@@ -4650,7 +4672,7 @@ process sentinels. They shall not disturb each other."
(mapconcat 'shell-quote-argument load-path " -L ")
(shell-quote-argument code)))))))
-(ert-deftest tramp-test44-delay-load ()
+(ert-deftest tramp-test45-delay-load ()
"Check that Tramp is loaded lazily, only when needed."
;; Tramp is neither loaded at Emacs startup, nor when completing a
;; non-Tramp file name like "/foo". Completing a Tramp-alike file
@@ -4677,7 +4699,7 @@ process sentinels. They shall not disturb each other."
(mapconcat 'shell-quote-argument load-path " -L ")
(shell-quote-argument (format code tm)))))))))
-(ert-deftest tramp-test45-unload ()
+(ert-deftest tramp-test46-unload ()
"Check that Tramp and its subpackages unload completely.
Since it unloads Tramp, it shall be the last test to run."
:tags '(:expensive-test)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 06d05fe: Fix Bug#29163,
Michael Albinus <=