]> git.eshelyaron.com Git - emacs.git/commitdiff
Minor fixes in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 17 Dec 2017 10:31:23 +0000 (11:31 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 17 Dec 2017 10:32:48 +0000 (11:32 +0100)
* 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
test/lisp/net/tramp-archive-tests.el
test/lisp/net/tramp-tests.el

index cfd68fb8361380e3846c6a8cbcbd6a6063f55474..d3b2712fb397f3d2dcfeeca88cbd849ae9193d4d 100644 (file)
@@ -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
index 2c9f56e47c7340b7680c2055cfabd00c8454fc71..464eb6c8b82089ea7ec58cef881da8ce53d306d6 100644 (file)
@@ -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)
index 41687e41c8daa38678498f885c804ea3279a225e..5a52059158fa31650cf3e432aeee3687dedd0a29 100644 (file)
@@ -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) "/"))