summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2017-12-17 11:31:23 +0100
committerMichael Albinus <michael.albinus@gmx.de>2017-12-17 11:32:48 +0100
commitb4486de0c6484a09dcd6485c19062419279ca296 (patch)
treebdfe6d2de117753a2843b27c4a3d161eb74edfe6
parentbd9e8b31a1a38a2ffa5c2ff5e805a42ffccc36ec (diff)
downloademacs-b4486de0c6484a09dcd6485c19062419279ca296.tar.gz
Minor fixes in Tramp
* lisp/net/tramp-archive.el (tramp-archive-handle-temporary-file-directory): New defun. (tramp-archive-file-name-handler-alist): Use it. * test/lisp/net/tramp-archive-tests.el (tramp-archive-test99-libarchive-tests): Rename it. * test/lisp/net/tramp-tests.el (tramp-test34-vc-registered): Skip for older Emacsen.
-rw-r--r--lisp/net/tramp-archive.el10
-rw-r--r--test/lisp/net/tramp-archive-tests.el6
-rw-r--r--test/lisp/net/tramp-tests.el8
3 files changed, 17 insertions, 7 deletions
diff --git a/lisp/net/tramp-archive.el b/lisp/net/tramp-archive.el
index cfd68fb8361..d3b2712fb39 100644
--- a/lisp/net/tramp-archive.el
+++ b/lisp/net/tramp-archive.el
@@ -245,7 +245,7 @@ It must be supported by libarchive(3).")
(shell-command . tramp-archive-handle-not-implemented)
(start-file-process . tramp-archive-handle-not-implemented)
;; `substitute-in-file-name' performed by default handler.
- ;; `temporary-file-directory' performed by default handler.
+ (temporary-file-directory . tramp-archive-handle-temporary-file-directory)
(unhandled-file-name-directory . ignore)
(vc-registered . ignore)
(verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime)
@@ -530,6 +530,14 @@ offered."
(load
(tramp-archive-gvfs-file-name file) noerror nomessage nosuffix must-suffix))
+(defun tramp-archive-handle-temporary-file-directory ()
+ "Like `temporary-file-directory' for Tramp files."
+ ;; If the default directory, the file archive, is located on a
+ ;; mounted directory, it is returned as it. Not what we want.
+ (with-parsed-tramp-archive-file-name default-directory nil
+ (let ((default-directory (file-name-directory archive)))
+ (temporary-file-directory))))
+
(defun tramp-archive-handle-not-implemented (operation &rest args)
"Generic handler for operations not implemented for file archives."
(let ((v (ignore-errors
diff --git a/test/lisp/net/tramp-archive-tests.el b/test/lisp/net/tramp-archive-tests.el
index 2c9f56e47c7..464eb6c8b82 100644
--- a/test/lisp/net/tramp-archive-tests.el
+++ b/test/lisp/net/tramp-archive-tests.el
@@ -19,6 +19,9 @@
;;; Code:
+;; The `tramp-archive-testnn-*' tests correspond to the respective
+;; tests in tramp-tests.el.
+
(require 'ert)
(require 'tramp-archive)
@@ -206,6 +209,7 @@ variables, so we check the Emacs version directly."
This checks also `file-name-as-directory', `file-name-directory',
`file-name-nondirectory' and `unhandled-file-name-directory'."
(skip-unless tramp-gvfs-enabled)
+
(should
(string-equal
(directory-file-name "/foo.tar/path/to/file") "/foo.tar/path/to/file"))
@@ -734,7 +738,7 @@ This tests also `file-executable-p', `file-writable-p' and `set-file-modes'."
(zerop (nth 1 fsi))
(zerop (nth 2 fsi))))))
-(ert-deftest tramp-archive-test41-libarchive-tests ()
+(ert-deftest tramp-archive-test99-libarchive-tests ()
"Run tests of libarchive test files."
:tags '(:expensive-test)
(skip-unless tramp-gvfs-enabled)
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 41687e41c8d..5a52059158f 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -3783,11 +3783,9 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(vc-register
(list (car vc-handled-backends)
(list (file-name-nondirectory tmp-name2))))
- ;; `vc-register' has changed its arguments in Emacs 25.1.
- (error
- (vc-register
- nil (list (car vc-handled-backends)
- (list (file-name-nondirectory tmp-name2))))))
+ ;; `vc-register' has changed its arguments in Emacs
+ ;; 25.1. Let's skip it for older Emacsen.
+ (error (skip-unless (>= emacs-major-version 25))))
;; vc-git uses an own process sentinel, Tramp's sentinel
;; for flushing the cache isn't used.
(dired-uncache (concat (file-remote-p default-directory) "/"))