From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ivan Shmakov Newsgroups: gmane.emacs.bugs Subject: bug#19865: tar-untar-buffer: should honor default-directory Date: Sat, 14 Feb 2015 11:31:12 +0000 Message-ID: <87a90gd91b.fsf@violet.siamics.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1423913546 21230 80.91.229.3 (14 Feb 2015 11:32:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 Feb 2015 11:32:26 +0000 (UTC) To: 19865@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Feb 14 12:32:17 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YMaxK-0007IO-TY for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Feb 2015 12:32:15 +0100 Original-Received: from localhost ([::1]:59465 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMaxK-00008J-Bt for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 Feb 2015 06:32:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51077) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMaxC-00007A-Eh for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 06:32:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMax9-0008HN-7z for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 06:32:06 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51496) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMax8-0008HB-2J for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 06:32:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YMax7-0003H0-QW for bug-gnu-emacs@gnu.org; Sat, 14 Feb 2015 06:32:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Ivan Shmakov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 Feb 2015 11:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 19865 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: submit@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.142391348312537 (code B ref -1); Sat, 14 Feb 2015 11:32:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 14 Feb 2015 11:31:23 +0000 Original-Received: from localhost ([127.0.0.1]:42736 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMawV-0003G8-9m for submit@debbugs.gnu.org; Sat, 14 Feb 2015 06:31:23 -0500 Original-Received: from fely.am-1.org ([78.47.74.50]:43729) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMawT-0003G1-QB for submit@debbugs.gnu.org; Sat, 14 Feb 2015 06:31:22 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=siamics.net; s=a2013295; h=Content-Type:MIME-Version:Message-ID:Date:Sender:Subject:To:From; bh=59TCgIvZhqPxelFmp/TSFH/Yn4Zt039eVW+V4TF5c4c=; b=QDDbAZZxjRBeJ3Jmo7SVpfZDpRcR2MxxHZVnfDHQV+eNh910HRXFQX3FjSs8wYX+y3xtH7Dq6tTCK0L60L9t7i5WzcX0munxaSqQDEPo211RBN9G8EfuldI8YUomtKnuvtpy8Px9SJtIJEvUb5E68UDSWA6Y1tmuDdVligIMMmI=; Original-Received: from [2a02:2560:6d4:26ca::1:1d] (helo=violet.siamics.net) by fely.am-1.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YMawR-0001Hc-KB for submit@debbugs.gnu.org; Sat, 14 Feb 2015 11:31:19 +0000 Original-Received: from localhost ([::1] helo=violet.siamics.net) by violet.siamics.net with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1YMawL-0001eh-0T for submit@debbugs.gnu.org; Sat, 14 Feb 2015 18:31:13 +0700 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:99369 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 =E2=80=9Cdata=E2=80=9D 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 =E2=80=98let=E2=80=99 form used to do so for tar-parse-info, along the lines of the patch MIMEd. --=20 FSF associate member #7257 np. A World Behind the World =E2=80=94 Jami Sie= ber --=-=-= Content-Type: text/diff Content-Disposition: inline --- 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)))) --=-=-=--