[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: |
Tue, 17 Feb 2015 05:25:47 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
>>>>> 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
- bug#19865: tar-untar-buffer: should honor default-directory, (continued)
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/14
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/15
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/17
- bug#19865: tar-untar-buffer: should honor default-directory, Wolfgang Jenkner, 2015/02/17
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/17
- bug#19865: tar-untar-buffer: should honor default-directory,
Ivan Shmakov <=
- bug#19865: tar-untar-buffer: should honor default-directory, Eli Zaretskii, 2015/02/17
- bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/17
bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/14
- bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/14
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/15
- bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/16
- bug#19865: tar-untar-buffer: should honor default-directory, Stefan Monnier, 2015/02/16
bug#19865: tar-untar-buffer: should honor default-directory, Ivan Shmakov, 2015/02/14