1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00

More clearly define local module behavior in ERC

* doc/misc/erc.texi (Modules): Label all local modules as being such.
Move `querypoll' to the auxiliary section.  Rework entire "Local
Modules" portion.
* lisp/erc/erc-goodies.el (erc-keep-place-indicator-mode)
(erc-command-indicator-mode): Mention what buffer types they operate in.
* lisp/erc/erc-nicks.el (erc-nicks-mode): Mention the mode is enabled in
all buffers.
* lisp/erc/erc-notify.el (erc-querypoll-mode): Mention which buffers it
operates in.
* lisp/erc/erc-sasl.el (erc-sasl-mode): Disable completely in target
buffers so its mode variable is nil.
* lisp/erc/erc-services.el (erc-services-regain-mode): Disable in target
buffers.
* lisp/erc/erc.el (erc-open): When activating local modules, skip those
that have just been enabled by a fellow module.  Do this even though
their setup code is meant to be idempotent.
* test/lisp/erc/erc-scenarios-base-local-modules.el
(erc-scenarios-base-local-modules--toggle-helpers): Revise to assert
current behavior.  (Bug#57955)
This commit is contained in:
F. Jason Park 2025-02-04 06:11:50 -08:00
parent 0e4883f18e
commit e9408918f4
8 changed files with 114 additions and 69 deletions

View file

@ -2662,7 +2662,9 @@ side effect of setting the current buffer to the one it returns. Use
(erc--initialize-markers old-point continued-session)
(erc-determine-parameters server port nick full-name user passwd)
(save-excursion (run-mode-hooks)
(dolist (mod (car delayed-modules)) (funcall mod +1))
(dolist (mod (car delayed-modules))
(unless (and (boundp mod) (symbol-value mod))
(funcall mod +1)))
(dolist (var (cdr delayed-modules)) (set var nil)))
;; Saving log file on exit