From b4486de0c6484a09dcd6485c19062419279ca296 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 17 Dec 2017 11:31:23 +0100 Subject: [PATCH] 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. --- lisp/net/tramp-archive.el | 10 +++++++++- test/lisp/net/tramp-archive-tests.el | 6 +++++- 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) "/")) -- 2.39.2