* doc/misc/erc.texi (Sample Configuration): Remove `erc-modules' from
the `:custom' section of the `use-package' declaration for feature `erc'
because its presence there depends on `:defer' being non-nil, and this
configuration is supposed to be `:defer' agnostic. This reverts part of
3f1ce47f "; Add face customization to ERC's sample config".
* etc/ERC-NEWS: Mention `erc-modules' no longer being autoloaded.
* lisp/erc/erc-match.el (erc-text-matched-hooks): Explain expected
format of non-NUH matches.
* test/lisp/erc/erc-match-tests.el (test/lisp/erc/erc-match-tests.el):
Inhibit messages when running non-interactively.
(cherry picked from commit
b00f400d1d3f954e460ea979f07f38f6bb31630e)
;;; My ERC configuration -*- lexical-binding: t -*-
(use-package erc
- :custom
+ :config
;; Prefer SASL to NickServ, colorize nicknames, and show side panels
- ;; with joined channels and members.
- (erc-modules (append '(sasl nicks bufbar nickbar scrolltobottom)
- erc-modules))
+ ;; with joined channels and members
+ (setopt erc-modules
+ (seq-union '(sasl nicks bufbar nickbar scrolltobottom)
+ erc-modules))
+
+ :custom
;; Protect me from accidentally sending excess lines.
(erc-inhibit-multiline-input t)
(erc-send-whitespace-lines t)
on account of a rather stingy buffering threshold of 512 characters.
Now configurable, its default has been relaxed eightfold to 4096.
+** Option 'erc-modules' no longer autoloaded.
+This cornerstone of ERC's configuration system was autoloaded globally
+in 5.6 to allow users the freedom of running 'customize-option' without
+first having to load the package. Unfortunately, this also had the side
+effect of arranging for ERC to load on startup whenever someone
+customized the variable.
+
** Stray key binding removed from 'erc-fill-wrap-mode-map'.
The command 'erc-fill-wrap-cycle-visual-movement' was mistakenly given
the key binding "C-c a" in an inadvertent holdover from development. It
(defcustom erc-text-matched-hook '(erc-log-matches)
"Abnormal hook for visiting text matching a predefined \"type\".
-ERC calls members with the arguments (MATCH-TYPE NUH MESSAGE),
-where MATCH-TYPE is one of the symbols `current-nick', `keyword',
-`pal', `dangerous-host', `fool', and NUH is an `erc-response'
-sender, like bob!~bob@example.org."
+ERC calls members with the arguments (MATCH-TYPE NUH MESSAGE), where
+MATCH-TYPE is a symbol among `current-nick', `keyword', `pal',
+`dangerous-host', and `fool'; and NUH is an `erc-response' sender, like
+\"bob!~bob@example.org\" or an IRC command prefixed with the string
+\"Server:\", as in \"Server:353\". MESSAGE is the current incarnation
+of the just-inserted message minus a leading speaker, like \"<bob> \".
+For traditional reasons, MESSAGE always includes a leading
+`erc-notice-prefix' and a trailing newline."
:options '(erc-log-matches erc-hide-fools erc-beep-on-match)
:type 'hook)
(defun erc-match-tests--log-matches ()
(let ((erc-log-matches-flag t)
- (erc-timestamp-format "[@@TS@@]"))
+ (erc-timestamp-format "[@@TS@@]")
+ (inhibit-message noninteractive))
(erc-match-tests--hl-type-keyword)
(with-current-buffer "*scratch*"
(ert-simulate-keys "\t\r"