Subject: bug#46775: 27.1; ERC: Track: Modified channels doc and `erc-track-find-face' fixes

From: "J.P." <[email-masked]>
Date: Wed, 09 Jun 2021 06:07:17 -0700

Olivier Certner <[email-masked]> writes:

> Several small documentation changes and one minor fix.  List of (separate) 
> changes:
> 1. Fix documentation of `erc-modified-channels-alist' about its structure.
> 2. Fix documentation of `erc-modified-channels-alist' about which channels it 
> contains and when.  Add references to docstring of `erc-make-mode-line-buffer-
> name'.

The bit about the structure makes perfect sense, and the revised
language is much clearer and easier to understand, at least to me.

> 3. Rewrite `erc-track-find-face' to clarify what it does (& minor performance 
> improvement; no functional changes).

The updates to the doc string here are likewise superb and make things
crystal clear.

Although sometimes, for drooling cretins like me, a unit test is worth a
thousand words: way easier to take in the whole cause-and-effect of it
all (push lever -> get pellet). Also, as a native EngRish speaker, I'm
only 51% sure you meant s/necessary means/necessarily means/ in that
last paragraph. In general though, I feel little optimizations like this
are more than welcome because this stuff runs more or less constantly.

> 4. `erc-track-modified-channels': Fix a perceived bug in the use of `erc-
> track-find-face' (changes mode line faces selection in some cases).

For this one, something like a detailed repro would be nice. But I
suppose that's rather involved/tricky without fancier tooling. So I'll
just take your word for it because (1) it sounds plausible and (2)
you're way more familiar with this module than I.

Regarding this module generally, it's definitely another one whose
layout confuses me. For example, I guess we can't add keymaps to minor
modes defined with `define-erc-module'? IOW, why the
`erc-track-minor-mode-map' instead of a `erc-track-mode-map'? I'm also
confused by the 001 RPL_WELCOME hook, but for now, I'll just assume it's
a vestige of a simpler time when `erc-user-is-active' looked different
and maybe did more. Or (more likely) there's something I'm not seeing
just yet. Anyway, I mention this stuff because you may be the best/only
qualified person to address such concerns at present. Would you be
willing to audit this file for redundancy/cruft/obsolescence at some
point before the next release? Thanks.