Subject: Re: bug#71646: 29.3; pixel-scroll-precision-mode overrides paging behaviour even when pixel-scroll-precision-interpolate-page is off

From: Mike Woolley <[email-masked]>
Date: Sat, 20 Jul 2024 11:10:15 +0100

Sorry Eli,

I had replied, but forgot to CC the list :-)

What I was saying was: of course I can remove the bindings from the map myself (& indeed that’s what I've done), but my point is why should I have to?
Why is a feature that’s turned off still having an effect? I think this is unnecessary and surprising to users (at least it was to me)!

I was thinking this paging animation feature might be better as it’s own minor mode, which would do the right thing with keymaps and is how the other features in the same file are implemented?

Thanks,
Mike

> On 20 Jul 2024, at 10:40, Eli Zaretskii <[email-masked]> wrote:
> 
> Ping!  Mike, can you answer Po Lu's question, please?
> 
>> From: Po Lu <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Sat, 06 Jul 2024 16:40:01 +0800
>> 
>> Eli Zaretskii <[email-masked]> writes:
>> 
>>> Ping!
>>> 
>>>> Cc: [email-masked]
>>>> Date: Sat, 22 Jun 2024 11:57:43 +0300
>>>> From: Eli Zaretskii <[email-masked]>
>>>> 
>>>>> From: Mike Woolley <[email-masked]>
>>>>> Date: Wed, 19 Jun 2024 11:44:52 +0100
>>>>> 
>>>>> Playing with `pixel-scroll-precision-mode’ I noticed a small issue:
>>>>> 
>>>>> Setting `pixel-scroll-precision-interpolate-page’ is supposed to turn off the paging animation (which it does)
>>>>> however even when it’s off, <prior> and <next> invoke `cua-scroll-up’ & `cua-scroll-down’ rather than allowing
>>>>> another keymap to handle it.
>>>>> 
>>>>> Unfortunately this means any other mapping for these keys you might have has now been silently overridden
>>>>> (even after you’ve said you don’t want the new behaviour).
>>>>> 
>>>>> (defun pixel-scroll-interpolate-up ()
>>>>>  "Interpolate a scroll upwards by one page."
>>>>>  (interactive)
>>>>>  (if pixel-scroll-precision-interpolate-page
>>>>>      (pixel-scroll-precision-interpolate (window-text-height nil t) nil 1)
>>>>>    (cua-scroll-down)))
>>>>> 
>>>>> I think it would be better if `pixel-scroll-precision-mode’ did nothing if `pixel-scroll-precision-interpolate-page’ is
>>>>> off and allowed another keycap to handle <prior> & <next>.
>>>>> 
>>>>> I also noticed that it only maps <prior> & <next> and not C-v / M-v, so in other words behaviour could be
>>>>> different depending on exactly which Page Up & Down key sequence you invoke.
>>>> 
>>>> Po Lu, any comments or suggestions?
>> 
>> Mike, is there any reason in particular you cannot remove the bindings
>> of `prior' and `next' from `pixel-scroll-precision-mode-map'?
>>