Subject: bug#69056: 30.0.50; history-add-new-input and recursive minibuffers

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Feb 2024 09:08:52 +0200

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Thu, 15 Feb 2024 14:54:07 -0500
> 
> > for very little gain.  The more general issue with let-binding
> > variables around APIs that enter the minibuffer stays, so I see little
> 
> I agree that it would be good to tackle this more general problem.
> 
> Basically, should we treat recursive-edits as if they were run in a sort
> of separate thread (with the original thread blocked until the new
> thread exits)?

I don't think we can do that by default.  We need some evidence that
this is the intent.

> I think we can't do that in general, since I think we sometimes do want
> let-bindings performed around `read-from-minibuffer` to affect the
> command executed inside the minibuffer.

Exactly.  And doing so is a very wide-spread paradigm in Emacs.  Which
is one reason why enable-recursive-minibuffers is not turned on by
default, and should be considered an advanced feature for users who
"know what they are doing" and are ready to sustain the consequences.

> But we should maybe experiment with it to get a clearer idea of
> where we do want/need it and where we don't.

Perhaps.  But I'd like to hear concrete ideas for such experiments
before I have an opinion on their value.