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

From: "J.P." <[email-masked]>
Date: Tue, 15 Oct 2024 11:00:38 -0700

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked], Eli Zaretskii <[email-masked]>
>> From: "J.P." <[email-masked]>
>> Date: Mon, 14 Oct 2024 19:57:00 -0700
>> 
>> >From emacs -Q
>> 
>> 1. $ mkdir /tmp/fake-home
>> 2. $ echo "(custom-set-variables '(erc-modules ()))" > /tmp/fake-home/.emacs
>> 3. $ HOME=/tmp/fake-home ./src/emacs
>> 4. M-: (featurep 'erc) RET
>> 
>> Eli, can we add this patch to the release branch? It removes a single
>> line containing an autoload cookie that's new in Emacs 30. (I'm running
>> the check-expensive suite with the patch now.) Thanks.
>
> 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.

>  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.