aboutsummaryrefslogtreecommitdiffstats
path: root/doc/misc
diff options
context:
space:
mode:
authorF. Jason Park2022-12-25 21:36:53 -0800
committerF. Jason Park2022-12-28 06:51:38 -0800
commit2ddc480f4417775d6bf8ebcfc27b8cd7fa761a7d (patch)
treec37c55716af7350cd74f3cac577dc9ccd96be8d4 /doc/misc
parent19d00fab9aaf28dae6af5786f6e22b8558b10eea (diff)
downloademacs-2ddc480f4417775d6bf8ebcfc27b8cd7fa761a7d.tar.gz
emacs-2ddc480f4417775d6bf8ebcfc27b8cd7fa761a7d.zip
Warn of absent networks module in ERC
* doc/misc/erc.texi: Add linkable note in Modules chapter about some modules being required. Also tweak markup in auth-source section. * etc/ERC-NEWS: Mention the special role of `networks'. * lisp/erc/erc-backend.el (erc--server-post-connect-hook): Add internal hook for core modules to perform post-network-process, pre-protocol config validation even when they haven't been loaded. (erc--register-connection): Run `erc--server-post-connect-hook'. * lisp/erc/erc-networks.el (erc-networks--bouncer-targets, erc-networks-on-MOTD-end): Fix comments and doc strings. Also change former from constant to internal variable in case adjustment needed between releases. (erc-networks--warn-on-connect): New function to warn about the `networks' module being absent from `erc-modules'. This could probably run at any time up to and including when the logical IRC connection is established, but doing so at the process/protocol boundary seems ideal. * lisp/erc/erc-sasl.el (erc--register-connection): Defer to base method instead of calling `erc-login' explicitly. * lisp/erc/erc.el (erc-generate-new-buffer-name): Don't reconcile buffer names when networks module not in play. (erc-format-target-and/or-network): Don't assume networks module loaded. * test/lisp/erc/erc-scenarios-base-unstable.el: (erc-scenarios-networks-no-module): New test. * test/lisp/erc/resources/networks/no-module/basic.eld: New test data file. (Bug#60331.)
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/erc.texi12
1 files changed, 11 insertions, 1 deletions
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index 2ab2e908940..249b58c73d8 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -529,6 +529,16 @@ Translate morse code in messages
529 529
530@end table 530@end table
531 531
532@anchor{Required Modules}
533@subheading Required Modules
534@cindex required modules
535
536Note that some modules are essential to core IRC operations and thus
537not listed above. You can nevertheless still remove these, but doing
538so demands special precautions to avoid degrading the user experience.
539At present, the only such module is @code{networks}, whose library ERC
540always loads anyway.
541
532@subheading Local Modules 542@subheading Local Modules
533@cindex local modules 543@cindex local modules
534 544
@@ -1290,7 +1300,7 @@ When preparing entries for your backend, it may help to get a feel for
1290how ERC and its modules conduct searches, especially when exploring a 1300how ERC and its modules conduct searches, especially when exploring a
1291new context, such as channel keys. (Hint: in such situations, try 1301new context, such as channel keys. (Hint: in such situations, try
1292temporarily setting the variable @code{auth-source-debug} to @code{t} 1302temporarily setting the variable @code{auth-source-debug} to @code{t}
1293and checking @samp{*Messages*} periodically for insights into how 1303and checking @file{*Messages*} periodically for insights into how
1294auth-source is operating.) Overall, though, ERC tries to be 1304auth-source is operating.) Overall, though, ERC tries to be
1295consistent in performing queries across various authentication 1305consistent in performing queries across various authentication
1296contexts. Here's what to expect with respect to the @samp{host} 1306contexts. Here's what to expect with respect to the @samp{host}