Subject: Re: bug#66394: 29.1; Make register-read-with-preview more useful

From: Thierry Volpiatto <[email-masked]>
Date: Sat, 02 Dec 2023 11:55:58 +0000

Hi Bastien and Eshel,

Bastien Guerry <[email-masked]> writes:

> Hi Thierry,
>
> thanks for your anwer.
>
> Thierry Volpiatto <[email-masked]> writes:
>
>>> - C-x r s would display the preview and copy the region to the "b"
>>>   register as soon as the "b" key is hit (using read-key).
>>
>> I suggest you use M-n RET instead if you want to be sure you don't
>> overwrite a register.
>
> What I am suggesting is to store the register _as soon as_ the user
> hits the "b" key.
>
> Since the recent changes, I need to hit one additional keystroke for
> zero benefit, which is a net less when you use registers a lot.
>
> I use "a", "b", "c" registers for quick copy and paste and can easily
> remember them; when I need more, I use register-list.el.

I see, you want to go fast.
Using read-key+minibuffer, as I said would be a pain to implement,
hopefully (IIUC) we can use only minibuffer and exit immediately and it
is simple to implement (3 lines):

1) Set register-use-preview to nil.
2) Apply this patch on register.el:

@@ -388,6 +388,3 @@
-                              (if (member pat strs)
-                                  (with-selected-window (minibuffer-window)
-                                    (minibuffer-message msg pat))
-                                (with-selected-window (minibuffer-window)
-                                  (minibuffer-message
-                                   "Register `%s' is empty" pat)))))))))
+                              (with-selected-window (minibuffer-window)
+                                (setq result pat)
+                                (exit-minibuffer))))))))

3) Try your "a", "b", "c" registers and also to set a new register, if
needed you can call C-h to have a preview, in this case you will have to
hit RET.

Let me know if this is acceptable for you.

Thanks.

-- 
Thierry