diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2017-12-17 11:31:23 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2017-12-17 11:32:48 +0100 |
commit | b4486de0c6484a09dcd6485c19062419279ca296 (patch) | |
tree | bdfe6d2de117753a2843b27c4a3d161eb74edfe6 | |
parent | bd9e8b31a1a38a2ffa5c2ff5e805a42ffccc36ec (diff) | |
download | emacs-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.el | 10 | ||||
-rw-r--r-- | test/lisp/net/tramp-archive-tests.el | 6 | ||||
-rw-r--r-- | test/lisp/net/tramp-tests.el | 8 |
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) "/")) |