unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Ivan Shmakov <ivan@siamics.net>
To: 19865@debbugs.gnu.org
Subject: bug#19865: tar-untar-buffer: should honor default-directory
Date: Tue, 17 Feb 2015 05:25:47 +0000	[thread overview]
Message-ID: <87sie585yc.fsf@violet.siamics.net> (raw)
In-Reply-To: <83twyltz5x.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 16 Feb 2015 21:49:14 +0200")

>>>>> Eli Zaretskii <eliz@gnu.org> writes:
>>>>> From: Stefan Monnier  Date: Mon, 16 Feb 2015 14:34:02 -0500

[…]

 >> I agree that having to be careful in which buffer we are when we
 >> read a given variable because it might be buffer-local is a source
 >> of maintenance headaches, but we have that all over the place in
 >> Elisp, and we don't really have any "better solution".

 > I don't really see a problem here that needs a solution.

	Yet at least two other Emacs users do.

 > A year from now no one will remember or understand why we use
 > with-current-buffer in that place.  Doing so for such a weak reason
 > is unwise, and no amount of cruft we have elsewhere can justify
 > adding to that.

	We’re using with-current-buffer there for the sole reason that
	write-region operates strictly on the current buffer.  It is so
	without this change, and it remains so with it; the change
	maintains this status quo just perfectly.  And as long as such
	use /is/ acceptable in the current code, I fail to see why it
	wouldn’t be in the replacement being discussed.

	What /is/ changed is that with-current-buffer will now go
	immediately before write-region:

   (with-current-buffer data-buffer
     (write-region …))

	Cf. the former:

   (with-current-buffer data-buffer
     … lots of code to make sure the reader’s lost…
             (write-region …))

	And at the same time:

   (let ((name (expand-file-name (the-name-of-the-archive-member))))
     …)

	Versus the current:

   (let ((name (the-name-of-the-archive-member)))
     …)

	Please also note that the use of expand-file-name will still be
	necessary if we decide to add an extra optional target-directory
	argument to the function later, – and the /new/ code could
	easily be changed to that effect, like:

   (unless target-directory
     (setq target-directory default-directory))
   (let ((name (expand-file-name (the-name-of-the-archive-member)
                                 target-directory)))
     …)

-- 
FSF associate member #7257  http://boycottsystemd.org/  … 3013 B6A0 230E 334A





  parent reply	other threads:[~2015-02-17  5:25 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-14 11:31 bug#19865: tar-untar-buffer: should honor default-directory Ivan Shmakov
2015-02-14 12:16 ` Eli Zaretskii
2015-02-14 12:27   ` Ivan Shmakov
2015-02-14 12:40     ` Eli Zaretskii
2015-02-14 12:47       ` Ivan Shmakov
2015-02-14 13:22         ` Eli Zaretskii
2015-02-14 13:34           ` Ivan Shmakov
2015-02-14 14:56             ` Eli Zaretskii
2015-02-14 15:16               ` Ivan Shmakov
2015-02-14 14:49 ` Stefan Monnier
2015-02-14 15:01   ` Eli Zaretskii
2015-02-16  1:43     ` Stefan Monnier
2015-02-16 15:43       ` Eli Zaretskii
2015-02-16 19:34         ` Stefan Monnier
2015-02-16 19:49           ` Eli Zaretskii
2015-02-16 23:40             ` Stefan Monnier
2015-02-17  3:37               ` Eli Zaretskii
2015-02-18  3:38                 ` Stefan Monnier
2015-02-17 17:03               ` Wolfgang Jenkner
2015-02-17 18:02                 ` Eli Zaretskii
2015-02-17  5:25             ` Ivan Shmakov [this message]
2015-02-17 15:46               ` Eli Zaretskii
2015-02-17 18:05                 ` Ivan Shmakov
2015-02-14 15:07   ` Ivan Shmakov
2015-02-14 16:27     ` Ivan Shmakov
2015-02-16  1:48       ` Stefan Monnier
2015-02-16  5:24         ` Ivan Shmakov
2015-02-16  7:45           ` Stefan Monnier
2015-02-16  8:55             ` Ivan Shmakov
2015-02-16 14:58               ` Stefan Monnier
2016-02-23 11:04           ` Lars Ingebrigtsen
2019-06-25 17:55             ` Lars Ingebrigtsen
2015-02-14 15:57 ` Ivan Shmakov
2015-02-14 16:56   ` Eli Zaretskii
2015-02-14 17:32     ` Ivan Shmakov
2015-02-14 17:44       ` Eli Zaretskii
2015-02-14 18:12         ` Ivan Shmakov
2015-02-14 18:37           ` Eli Zaretskii
2015-02-14 19:12             ` Ivan Shmakov
2015-02-14 19:28               ` Eli Zaretskii
2015-02-14 19:42                 ` Ivan Shmakov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sie585yc.fsf@violet.siamics.net \
    --to=ivan@siamics.net \
    --cc=19865@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).