Subject: Re: bug#71554: 29.3; eshell-command async buffer behavior

From: Thierry Volpiatto <[email-masked]>
Date: Sat, 06 Jul 2024 17:06:30 +0000

Christopher Howard <[email-masked]> writes:

> Regarding my workflow, I'm generally using eshell-command for one of three things:
>
> (1) To launch some long running external application, like a torified gemini browser. Always done with "&".
> (2) To run some one-off command or pipeline of commands, like
> capturing the listing of a directory, manipulating some files, or
> grepping the output of a file and saving that to a buffer. Sometimes I
> use "&" depending on how quick I think it will be to finish.
> (3) Something like the above, but the eshell-command call is inserted as elisp in some interactive function, when it is more convenient than start/call-process for some reason.
>
> Regarding automatically reusing buffers... I lean a little towards not
> automatically reusing dead buffers, so that I know for sure that some
> eshell-command call in some other random command I've made doesn't
> overwrite command output while I am looking at it.

Thanks, this is what we wanted to know.

> My main concern here though is that I might end the work day with 39
> dead eshell-command buffers, and not have a convenient way to clear
> them all out. Off hand, I'm not sure of what command to run which
> would delete all dead eshell-command buffers but not the live ones.

Should not be hard to write a command doing this.

> Regarding use case 3, I just want to mention for sure it would nice,
> however you set this up, so that I can call eshell-command from lisp,
> and not have to worry about user (me) being prompted about what to do
> with buffers. Then I could include eshell-command in timer code or
> such like and not have to worry about a prompt appearing unexpectedly
> in my work flow.

This is now already available in master branch with:

(setq eshell-command-async-buffer 'new-buffer)

Thanks.

-- 
Thierry