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

From: Dmitry Gutov <[email-masked]>
Date: Thu, 14 Dec 2023 04:10:31 +0200

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.

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