Subject: Re: bug#58176: 29.0.50; mouse-set-point region flicker with highlight-nonselected-windows=t and same buffer in two windows

From: <[email-masked]>
Date: Fri, 30 Sep 2022 23:15:31 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: <[email-masked]>
>> Cc: [email-masked]
>> Date: Thu, 29 Sep 2022 23:09:37 +0200
>> 
>> Well, maybe we could try a bit harder to reduce the flicker for ordinary
>> non-dragging mouse-1 clicks. One idea could be to prevent down-mouse-1
>> from activating mark until the region becomes non-zero length, so
>> something like this patch.
>
> Thanks, but this is exactly the opposite of the behavior we want.  We
> currently make a significant effort to show regions of zero length.

(I'm assuming that by "show regions of zero length", you mean that the
"Copy text" toolbar icon is enabled.)

I hope I'm not arguing semantics too much, but my patch doesn't actually
hide an (active) region of zero length, it prevents one from being
activated.

It only prevents it in the specific case of a non-dragging mouse-1
click, which makes quite a lot sense to me. The current behaviour of a
non-dragging mouse-1 click is that the zero-length region is only active
for the duration of the mouse button being held down. Once the button is
released, the zero-length region is deactivated, which makes it not very
useful, as far as I can see. For example, pressing M-w or C-w during the
mouse button being held down doesn't seem to work on the correct
zero-length region and you can't click on the "Copy text" toolbar icon
(maybe you could in a multi-pointer setup, but that's a pretty bizarre
use-case).

If you want to create a zero-length region that stays active after
releasing mouse-1, you have to drag the mouse a little first to make the
region length non-zero and then drag the mouse back to the starting
position to make the region length zero again. This use case is still
supported by my patch.

(Perhaps I missed some use-cases of a zero-length region active during a
non-dragging mouse-1 button hold. If you know any, please let me know
about them.)

This, together with the fact that it reduces the "flicker" from the
original message, makes me insist on the patch.

Best regards.