bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19865: tar-untar-buffer: should honor default-directory


From: Ivan Shmakov
Subject: bug#19865: tar-untar-buffer: should honor default-directory
Date: Sat, 14 Feb 2015 11:31:12 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Package:  emacs
Severity: minor
Tags: patch

        As currently implemented (tested on 7eb2077f9dd1, 2015-02-06
        15:01:12 UTC), tar-untar-buffer uses the default-directory value
        for the “data” buffer (see tar-data-buffer), instead of the
        (arguably much less obscure) one for the tar-mode buffer itself
        (which could easily be changed by the user via M-x cd.)

        A possible fix is to remember the default-directory value in the
        same ‘let’ form used to do so for tar-parse-info, along the
        lines of the patch MIMEd.

-- 
FSF associate member #7257  np. A World Behind the World — Jami Sieber
--- a/lisp/tar-mode.el
+++ b/lisp/tar-mode.el
@@ -531,6 +542,7 @@ defun tar-untar-buffer ()
   (interactive)
   ;; FIXME: make it work even if we're not in tar-mode.
-  (let ((descriptors tar-parse-info))   ;Read the var in its buffer.
+  (let ((descriptors tar-parse-info)    ; Read the var in its buffer.
+        (dest-dir default-directory))
     (with-current-buffer
         (if (tar-data-swapped-p) tar-data-buffer (current-buffer))
       (set-buffer-multibyte nil)          ;Hopefully, a no-op.
@@ -544,5 +564,6 @@ defun tar-untar-buffer ()
                (dir (if (eq (tar-header-link-type descriptor) 5)
                         name
                       (file-name-directory name)))
+               (default-directory dest-dir)
                (start (tar-header-data-start descriptor))
                (end (+ start (tar-header-size descriptor))))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]