]> git.eshelyaron.com Git - emacs.git/commitdiff
Set `default-directory' of Tramp archive connection buffer
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 23 Jul 2022 17:45:24 +0000 (19:45 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 23 Jul 2022 17:45:24 +0000 (19:45 +0200)
* lisp/net/tramp-archive.el (tramp-archive-file-name-handler):
Set `default-directory' of Tramp connection buffer.  (Bug#56628)

lisp/net/tramp-archive.el

index 4b649edaabd5cebff4263ca06844a36764268258..33348ca21efda0878c7930e415d632e803f081d8 100644 (file)
@@ -339,6 +339,13 @@ arguments to pass to the OPERATION."
                (tramp-archive-run-real-handler
                  #'file-directory-p (list archive)))
             (tramp-archive-run-real-handler operation args)
+         ;; The default directory of the Tramp connection buffer
+         ;; cannot be accessed.  (Bug#56628)
+         ;; FIXME: It is superfluous to set it every single loop.
+         ;; But there is no place to set it when creating the buffer.
+         (with-current-buffer
+             (tramp-get-buffer (tramp-archive-dissect-file-name filename))
+           (setq default-directory (file-name-as-directory archive)))
           ;; Now run the handler.
           (let ((tramp-methods (cons `(,tramp-archive-method) tramp-methods))
                (tramp-gvfs-methods tramp-archive-all-gvfs-methods)