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

From: Thierry Volpiatto <[email-masked]>
Date: Thu, 14 Dec 2023 05:30:54 +0000

Dmitry Gutov <[email-masked]> writes:

> On 12/12/2023 11:31, Thierry Volpiatto wrote:
>> Thierry Volpiatto<[email-masked]>  writes:
>> 
>>> Dmitry Gutov<[email-masked]>  writes:
>>>
>>>> On 11/12/2023 19:32, Thierry Volpiatto wrote:
>>>>> I made a little error in one of the patch when merging from a working
>>>>> file for emacs-29.1, attaching here the two patches again with error
>>>>> corrected (read `register-use-preview` instead of
>>>>> `register-preview-use-preview`), sorry for this.
>>>> JFYI, the second patch doesn't apply cleanly, which may make testing
>>>> them a bit more difficult.
>>>>
>>>> It's because of commit 598ab9ca10d35d6 by Eli with documentation
>>>> updates. When reverted, the second patch applies without problem.
>>> Dmitry thanks, here the patches again after rebasing.
>> I found another (merge) error in patch 0001 with defmethod names (read
>> register-command-info instead of register-preview-command-info), here
>> the patches corrected.  Without this changes, and with
>> register-use-preview == nil, confirmation is needed for copy-to-register
>> and friends, now fixed.
>
> I did some testing.
>
> Something I'm seeing with my custom config, but not with 'emacs -Q':
> the register preview is eating my windows. :-) No matter if I choose
> something, or C-g out of it.
>
> To reproduce:
>
> (defun split-window-prefer-side-by-side (&optional window)
>   (let ((split-height-threshold (and (< (window-width window)
>                                         split-width-threshold)
>                                      split-height-threshold)))
>     (split-window-sensibly window)))
>
> (setq split-window-preferred-function 'split-window-prefer-side-by-side)
>
> Then split the frame horizontally or vertically, create a register and
> jump to it.
>
> The problem is that with this setup the preview is not creating a new
> window but reuses an existing one. And then deletes it at the end.

I think I can fix this, will look at it as soon as possible.

Thanks.

> Again, I'm not a heavy user of registers, so if this is easy enough to
> fix, great. If not, never mind.

-- 
Thierry