Subject: bug#67702: 30.0.50; insert-register can no longer be used in minibuffer

From: Thierry Volpiatto <[email-masked]>
Date: Fri, 08 Dec 2023 10:16:37 +0000

Eshel Yaron <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Eshel Yaron <[email-masked]>
>>>
>>> >> > I guess register-read-with-preview should temporarily bind
>>> >> > enable-recursive-minibuffers to a non-nil value?
>>> >>
>>> >> Yes, do you want me to install this change?
>>> >
>>> > If you think that's the correct solution, sure.
>>>
>>> FWIW, I think it's not the right solution.  As I wrote in bug#66394, I
>>> think it's wrong to involve the minibuffer in reading registers in any
>>> way.  `enable-recursive-minibuffers` would make this less broken, but
>>> only slightly.
>>
>> I'm not sure I understand: if we put aside the fundamental opposition
>> to using read-from-minibuffer, what problems will be left if we
>> temporarily enable recursive-minibuffers while prompting for the
>> register?
>
> Concretely this is still worse because starting a recursive minibuffer
> hides the previous minibuffer.  So you no longer see what you're
> operating on.  There are other problems that I mentioned in bug#66394,
> and there's also the disadvantage that `read-from-minibuffer` switches
> windows, which is redundant in this case.
>
>>> It's up to you maintainers to decide, I think.  Following your request,
>>> I've proposed a patch that reverts Thierry's changes, and implements the
>>> parts I find useful in a clean and backward compatible way.
>>
>> Thierry said your patch was incomplete.
>
> Well, I requested some elaboration on that comment.  Still waiting.

I gave you twice the explanations, now please read the code to understand
what's going on, thanks.

>> And I wonder why we need to completely revert his changes.  My
>> suggestion was to allow both, controlled by user option.
>
> That's basically what my patch does, it even makes Thierry's preferred
> behavior (confirmation before overwriting registers) the default, it
> just doesn't use the minibuffer for that.

No, you didn't understand what the recent changes provide, "confirmation
before overwriting registers" is only one of the features provided.
Please read the code and try all the features provided, my guess is that
you even didn't try it. 

> AFAIU the goal of Thierry's patch wasn't to use the minibuffer, that's
> an implementation detail, one with problematic consequences.

There is no consequence apart one, as I already said, the usage of C-d.

-- 
Thierry