Subject: Re: bug#23478: 25.0.93; Mouse region selection asymmetry

From: Eli Zaretskii <[email-masked]>
Date: Wed, 06 Jul 2016 21:44:44 +0300

> From: Stephen Berman <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Wed, 06 Jul 2016 18:40:53 +0200
> 
> I want to be clear about exactly what the new behavior should be.  Since
> the patch referred to by "the above adjustment" was faulty and I
> followed it with an improvement, I assume "the new behavior that moves
> point" refers to the latter patch.

Yes.

> So the user option would specify the behavior when selecting a
> region which extends backward from point, providing a choice between
> (i) the current behavior (as default), which leaves point at the
> position of the click and does not scroll backward if the region
> extends above window-start; and (ii) the new behavior, which moves
> point to region-beginning, scrolling if the region extends above
> window-start (the new behavior is thus the mirror image of the
> current behavior when selecting a region which extends forward from
> point).

Yes, that's what I had in mind.

> Here is a patch implementing this:
> 
> diff --git a/lisp/mouse.el b/lisp/mouse.el
> index 8d72753..2f9ff6b 100644
> --- a/lisp/mouse.el
> +++ b/lisp/mouse.el
> @@ -540,15 +540,31 @@ mouse-drag-vertical-line
>    (interactive "e")
>    (mouse-drag-line start-event 'vertical))
>  
> +(defcustom mouse-select-region-backward nil

I'd name it mouse-select-region-scroll-backward.

> But note that, prior to the patch in my previous post, what was under
> discussion as the new behavior was different: namely, scrolling if the
> region extends above window-start but leaving point at the position of
> the click.  This is a sort of compromise between the current behavior
> and that in (ii), and it could be a third choice for the user option.

I have no opinion about this.  Please do what you feel is better.

This will also need a NEWS entry, and also please see if the
description of mouse-set-point in the Emacs manual needs an update.