[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#23478: 25.0.93; Mouse region selection asymmetry
From: |
Eli Zaretskii |
Subject: |
bug#23478: 25.0.93; Mouse region selection asymmetry |
Date: |
Sun, 08 May 2016 21:54:17 +0300 |
> From: Stephen Berman <stephen.berman@gmx.net>
> Cc: 23478@debbugs.gnu.org
> Date: Sun, 08 May 2016 20:31:04 +0200
>
> > I don't think calling 'recenter' is TRT. First, the fact that you see
> > the display recentering after item 3 in your recipe is only the
> > default behavior; if you set scroll-conservatively to 101 before
> > repeating your recipe, you will see that Emacs instead scrolls the
> > display just one line, i.e. the minimum amount required to bring point
> > back into view. Users that set scroll-conservatively like that will
> > lynch us if we recenter display in this situation.
>
> Good point, I think I had that vaguely in mind when I expressed my
> doubts about `recenter', but couldn't remember just what needed to be
> taken account of. I did try an alternative to `recenter', using
> `goto-char' instead, which changes point and hence induces recentering
> by redisplay, but it also loses the region highlighting. I tried (with
> several variants involving redisplay-highlight-region-function and
> redisplay--update-region-highlight) but failed to figure out how to keep
> the highlighting, but if that's a better way to handle this, maybe
> someone more familiar with the region highlighting code will be able to
> do that.
>
> > Bottom line, I don't think we should behave like that by default. I
> > think this could be an optional feature, but it must obey
> > scroll-conservatively (and maybe also other related variables).
>
> Definitely. Thanks for the feedback.
How about momentarily exchanging mark and point, then calling sit-for
for some small time interval, then exchanging back? Shouldn't this do
what you want, or at least come close?