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

From: Thierry Volpiatto <[email-masked]>
Date: Fri, 14 Jun 2024 20:32:31 +0000

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked]
>> From: Thierry Volpiatto <[email-masked]>
>> Date: Fri, 14 Jun 2024 18:53:07 +0000
>> 
>> Christopher Howard <[email-masked]> writes:
>> 
>> > Hello, I run a lot of async commands a lot with eshell-command,
>> > preferring it over shell-command. However, there is a difference
>> > between shell-command and eshell-command behavior which is a little
>> > bothersome and does not make sense to me. If I run an async command
>> > with shell-command, e.g. `sleep 60 &', and then run another one while
>> > the first one is still running, shell-command will ask me if I want to
>> > create a new buffer for the output, and I usually do. However, if I do
>> > the same thing with eshell-command, eshell command will give me only
>> > two options, either (1) kill the currently running command, or (2)
>> > don't create an output buffer, which also throws an error. I was
>> > wondering if it would be possible to add the "create a new buffer"
>> > option to eshell-command as well, for the upcoming 30 release.
>> 
>> Please do not add a "ask to create a new buffer" option to fix this
>> issue, just do not ask and create a new buffer
>
> What if the user is not aware that a command is already running?

The user can easily see there is already a buffer with a process running.
Eshell doesn't kill its async buffers.

> More generally, why being consistent with what shell-command does is
> not a good idea?

Because IMO what shell-command is doing is annoying, no need to duplicate
this annoyance, after all when running such a command in a terminal
already running a detached process, nothing is asked, so why doing this
in emacs?
Or at least make it optional?

-- 
Thierry