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

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

bug#57129: 29.0.50; Improve behavior of conditionals in Eshell


From: Jim Porter
Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell
Date: Sat, 20 Aug 2022 11:03:27 -0700

On 8/15/2022 11:58 AM, Eli Zaretskii wrote:
Cc: larsi@gnus.org, 57129@debbugs.gnu.org
From: Jim Porter <jporterbugs@gmail.com>
Date: Mon, 15 Aug 2022 11:30:07 -0700

The temp files are created by Eshell in lisp/eshell/esh-var.el in the
function 'eshell-parse-variable-ref', specifically in the part starting
with:

    (eq (char-after) ?\<)

Ah, okay.  It's a (mis)feature of Gnulib's gen_tempname function
(which is the guts of make-temp-file) in its implementation for
MS-Windows (and maybe other platforms?): it always begins from the
same "random" characters in the file name, and only generates other
random characters if there's already a file by that name.  So if you
are careful and delete the temporary file each time after usage, and
never need more than one temporary file at the same time, you will get
the same name every call.

In addition to the changes to temporary file name generation, I think it would be useful for Eshell to kill the temporary buffer too. If you use this feature in Eshell a lot, the temporary buffers could pile up, consuming memory for no real benefit. (A user who wanted the buffer to stick around would probably redirect to a non-temporary file, or even just to a buffer.) Attached is a patch to do this.

Attachment: 0001-Kill-the-buffer-associated-with-a-temp-file-when-usi.patch
Description: Text document


reply via email to

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