unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Aaron Jensen <aaronjensen@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Po Lu <luangruo@yahoo.com>, 66769@debbugs.gnu.org
Subject: bug#66769: 30.0.50; pixel-scroll-precision-mode and scroll-margin regression
Date: Sat, 28 Oct 2023 05:33:06 -0700	[thread overview]
Message-ID: <CAHyO48xfzuwTZEsHOezwZXzFqoz16WNoXTMhJr6td+QKk6xRvg@mail.gmail.com> (raw)
In-Reply-To: <83r0lfcf4o.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2320 bytes --]

Depending on what "slow down to a crawl" means exactly in practice, I think
the reason is that it would cripple a feature. I don't know how many people
use scroll-margin, but I've used it for years. I suppose I just would have
to choose between precision scrolling and scroll margin, but I would have
to choose between them to support something that doesn't matter to me:
scrolling with images.

It also introduces additional complexity and variation in the scrolling
code, which in general, means higher overall maintenance costs (not that
it's my role to police this in Emacs).

I gather that it is redisplay that attempts to reconcile scroll-margin, is
that correct? If so, is there a way to flip scroll-margin on its head such
that it is only intentional point movement operations that cause
scroll-margin to trigger scrolling? i.e., when doing pixel scrolling, you
either temporarily disable the scroll margin (which has the negative impact
of once a user does move the point, it will cause a jump), or, after a
pixel scroll is done, you move the point to be outside of the bounds of the
scroll margin, rather than allowing the redisplay to change the scroll
position. Perhaps that is what you are describing and is what would require
posn-at-point.


Aaron


On Sat, Oct 28, 2023 at 4:42 AM, Eli Zaretskii <eliz@gnu.org> wrote:

> From: Po Lu <luangruo@yahoo.com>
> Cc: aaronjensen@gmail.com, 66769@debbugs.gnu.org
> Date: Sat, 28 Oct 2023 16:34:17 +0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> And what are the problems in computing this target point in the particular
> case described here?
>
> It should be outside the scroll margin, so additional layout computations
> must be performed after scrolling, compounding those performed beforehand
> to establish the new window start.
>
> Even if it's done "only in this case"? It should slow down only this case,
> no?
>
> And what exactly is the crucial difference between "this case" and the
> other cases, where scrolling works correctly?
>
> The distinction is that scroll-margin is set.
>
> That's what I thought, and which is why I asked whether calling the slow
> posn-at-point only when scroll-margin is non-zero wouldn't be the proper
> solution, as it should only slow down scrolling for those users who set
> scroll-margin. Or what am I missing?
>

[-- Attachment #2: Type: text/html, Size: 4119 bytes --]

  reply	other threads:[~2023-10-28 12:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-27  5:00 bug#66769: 30.0.50; pixel-scroll-precision-mode and scroll-margin regression Aaron Jensen
2023-10-28  2:17 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-28  6:43   ` Eli Zaretskii
2023-10-28  7:35     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-28  8:29       ` Eli Zaretskii
2023-10-28  8:34         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-10-28  8:42           ` Eli Zaretskii
2023-10-28 12:33             ` Aaron Jensen [this message]
2023-10-28 12:54               ` Eli Zaretskii
2023-11-02  5:49   ` Aaron Jensen
2023-11-02  6:16     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-11-02  6:28     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHyO48xfzuwTZEsHOezwZXzFqoz16WNoXTMhJr6td+QKk6xRvg@mail.gmail.com \
    --to=aaronjensen@gmail.com \
    --cc=66769@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).