Re: bug#64855: 30.0.50; ERC 5.6: Make scrolltobottom less erratic
"J.P." <[email protected]>
| Newsgroups | gmane.emacs.erc.general |
|---|---|
| Message-ID | <[email protected]> |
"J.P." <[email protected]> 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.