[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64855: 30.0.50; ERC 5.6: Make scrolltobottom less erratic
From: |
J.P. |
Subject: |
bug#64855: 30.0.50; ERC 5.6: Make scrolltobottom less erratic |
Date: |
Tue, 19 Sep 2023 06:38:52 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
"J.P." <jp@neverwas.me> writes:
> But it comes with a few known problems.
>
> The first can be observed during the rapid insertion of newly arriving
> messages, like you get with history playback or large swaths of help
> text. Basically, when point is away from the prompt and you issue a
> command that changes `window-start' significantly (e.g., M-<), point
> hardly moves at all, maybe half a screenful at most.
>
> Another issue is only noticeable if you have code running that
> suppresses message insertion after prompt submissions (see bug#49860's
> `echo-message' for one example). Basically, if you've got
> `erc-scrolltobottom-relaxed' enabled and you stare long enough, you'll
> notice that the prompt drifts downward with every submitted round of
> multi-line input.
>
> Attached is a patch that attempts to address both of these issues, along
> with a couple more to get at some unrelated odds and ends. I'm also sort
> of thinking we ought to temporarily change the default of the new option
> `erc-scrolltobottom-all' to t for a few weeks to help flush out any
> other glaring bugs introduced by this feature. If anyone thinks that's a
> bad idea, please say so. Thanks.
I've installed this as
69a1546 Run erc--scrolltobottom-on-pre-insert unconditionally
along with two others from that set. However, I left out
[3/4] [5.6] Skip erc-ignored-user-p when erc-ignore-list is empty
because even a minor change like this to such a widely used feature
should probably be accompanied by tests and extra scrutiny, especially
since I myself am not really familiar with it. The optimization itself
seems simple enough, but one of those options is buffer-local and set
via the /IGNORE command, which complicates matters.
I'm thinking we may end up folding that patch into a larger initiative
aimed at moving everything related to message skipping and hiding to
another module. Indeed, there seems to be a good deal of overlap in
functionality among the lurker, hide-list, and /IGNORE features (and
also the fools stuff in erc-match). It'd be nice to get all that out of
erc.el because it can mostly be implemented using hooks, which should
help with maintenance and maybe save uninterested users some cycles.