Subject: Re: bug#46151: 28.0.50; Set revert-buffer-function in shell command output buffers

From: Dmitry Gutov <[email-masked]>
Date: Mon, 1 Feb 2021 22:04:54 +0200

On 01.02.2021 07:44, Sean Whitton wrote:

> Sorry, I don't follow -- my point is that SPC and g are usually
> self-inserting, so without having any intention of doing anything other
> than typing text, you could trigger a reexecution of the command.  C-x g
> and C-c C-r do not have that property.

My point is that we could make them all, normally, not self-inserting.

>> It could still be possible for command output buffers, if we switch
>> them to a special-mode derivative. Just how important is the ability
>> to freely edit those buffers? Compared to being able to easily re-run
>> the command.
> 
> Well, they need to be editable while the command is running as you can
> send text to process' STDIN that way.

I see. I hadn't considered that scenario...

> Having them suddenly stop being editable when the command dies has the
> same problem as above if the user happens to be typing 'g' a moment
> after the command dies.

...though, come to think of it, I routinely use a Compilation-based mode 
(rspec-compilation-mode), where I need to switch to a different major 
mode temporarily for debugging and shell-like interaction, and then back 
to rspec-compilation-mode when I'm finished. That works okay.

So it wouldn't be too terrible if the major mode is switched to 
something else when the process finishes. The user will likely learn 
than quickly, and managing to type 'g' before learning it is fairly 
improbable.