Subject: Re: bug#73812: 30.0.91; ERC 5.6.0.30.1: Customizing erc-modules loads ERC when starting Emacs

From: Eli Zaretskii <[email-masked]>
Date: Fri, 18 Oct 2024 10:14:44 +0300

> From: "J.P." <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Tue, 15 Oct 2024 11:00:38 -0700
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > Are we sure this doesn't break any customization scenarios?
> 
> The worst case is probably someone unaware of the implicit loading who
> recently added code referring to symbols defined in erc.el after an
> Emacs-managed `custom-set-variables' form in their `custom-file' (or a
> `:custom' section in a `use-package' declaration). These customizations
> would necessarily have to contain an entry for `erc-modules', but this
> is perhaps the most common ERC customization. However, the user would
> have to be running the pre-release or master.
> 
> >  Why was this line added in the first place?
> 
> The line was initially added in a misguided attempt to allow new users
> unfamiliar with Emacs to run M-x customize-option RET erc-modules RET
> without first having to run M-: (require 'erc) RET.

The commit log message says:

    * lisp/erc/erc.el (erc-modules): Make good on decades old language in
    info node "(erc) Modules" by ensuring `customize-option' can find this
    option before its containing library is loaded.  Like
    `gnus-select-method', this option serves as an entry point for
    configuring the application and is presented that way in tutorials and
    library front matter.  Moreover, it can't be reasonably autoloaded in
    the traditional way because of its many dependencies and large textual
    footprint.

So there was some reasonable rationale to this change.

> >  And why is it urgent to remove it before Emacs 30 is released?
> 
> ERC has a great many symbols, which people won't want to see in
> completion tables, etc. Longtime ERC users trying Emacs 30 for the first
> time may find ERC loading whenever they start Emacs, which may not be
> desirable in all Emacs sessions. And since, as mentioned, `erc-modules'
> is likely among the most commonly customized of ERC's options, this may
> also affect non-ERC users who perhaps only tried it once many years ago
> or even folks using a shared config containing such a customization. For
> these reasons, I suspect we'll start noticing ERC-related pollution in
> the automated evidence collection for bug reports filed with M-x
> report-emacs-bug RET once Emacs 30 goes mainstream.

All in all, I'd prefer to leave this alone in Emacs 30.  We have time
to try reverting this on master and seeing whether it's a net win or a
net loss, given the past history of the issue.  (AFAIU, if you remove
this line, some change is pertinent in the manual?)

Thanks.