emacs/lisp/erc
F. Jason Park 2f5fe1a48e Cancel ERC autojoin timer in the server buffer
* lisp/erc/erc-join.el (erc-autojoin-channels-delayed): Only cancel
`erc--autojoin-timer' in the server buffer in which it's local.  After
Emacs 28 brought commit fc66ec3322 "Prefer
defvar-local in erc", customizing `erc-autojoin-timing' to `ident' led
to ERC emitting redundant JOINs before `erc-autojoin--join' was factored
out.  Additionally, don't bother binding options around the call to
`erc-autojoin-channels' to shape its behavior, preferring instead to
call the internal workhorse function directly.  Ever since bug#5521
introduced those options, the logic in `erc-autojoin-channels' has
ignored `erc-autojoin-delay' anyway, so long as `erc-autojoin-timing'
isn't `ident'.  This change may break third party advice.
(erc-autojoin-after-ident): Restore code to cancel timer.  It was
erroneously deleted in 959fbcf34b "favor
network identities in erc-join".
* test/lisp/erc/erc-join-tests.el: Require erc-tests-common atop file so
tests can take advantage of common utilities.
(erc-autojoin-channels--connect): Replace with a function and three
separate tests.
(erc-join-tests--autojoin-channels-connect): New function.
(erc-autojoin-channels/server, erc-autojoin-channels/network)
(erc-autojoin-channels/nomatch): New tests.
(erc-autojoin-channels--delay): Replace with a function and three
separate tests.  Remove guard to skip test on Solaris.
(erc-join-tests--autojoin-channels-ident): New function.
(erc-autojoin-channels-delayed/server)
(erc-autojoin-channels-delayed/network)
(erc-autojoin-channels-delayed/nomatch): New tests.
(erc-autojoin-channels--ident): Replace with function and two separate
tests.
(erc-join-tests--autojoin-after-ident): New function.
(erc-autojoin-after-ident/server)
(erc-autojoin-after-ident/network): New tests.
(erc-join-tests--autojoin-add--common)
(erc-join-tests--autojoin-add): Rename former to latter.
(erc-autojoin-add--network)
(erc-autojoin-add--network-extended-syntax)
(erc-autojoin-add--network-id): Adjust arguments to fixture.
(erc-autojoin-add--server): Use common utils.
(erc-join-tests--autojoin-remove--common)
(erc-join-tests--autojoin-remove): Rename former to latter.
(erc-autojoin-remove--network)
(erc-autojoin-remove--network-id): Adjust args for fixture.
(erc-autojoin-remove--server): Use common utils.
* test/lisp/erc/erc-scenarios-join-timing.el: New file.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--run-in-term): In subprocess, don't use failure
tally as exit status unless body form succeeds.
* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-init-server-proc): Use `make-process' instead of
`start-process'.
(erc-tests-common-make-server-buf): Use `erc-server-current-nick' to
create the `erc-networks--id' as a `erc-networks--id-qualifying'
instance, which is more realistic than a "fixed" variant.
* test/lisp/erc/resources/join/timing/connect-both.eld: New file.
* test/lisp/erc/resources/join/timing/ident-both.eld: New file.
(Bug#79017)
2025-07-27 19:57:28 -07:00
..
ChangeLog.1 Update copyright year to 2025 2025-01-01 07:39:17 +00:00
ChangeLog.2 Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-autoaway.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-backend.el Don't round-trip auto-reconnect probe in ERC 2025-04-16 17:30:13 -07:00
erc-button.el Fix capitalization ELisp -> Elisp 2025-03-12 09:38:33 +08:00
erc-capab.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-common.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-compat.el Add erc-compat adapter for xml-escape-string 2025-03-11 18:28:38 -07:00
erc-dcc.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-desktop-notifications.el Add erc-compat adapter for xml-escape-string 2025-03-11 18:28:38 -07:00
erc-ezbounce.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-fill.el ; Don't quote localp argument to define-erc-module 2025-01-22 16:07:55 -08:00
erc-goodies.el More clearly define local module behavior in ERC 2025-02-07 20:21:36 -08:00
erc-ibuffer.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-identd.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-imenu.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-join.el Cancel ERC autojoin timer in the server buffer 2025-07-27 19:57:28 -07:00
erc-lang.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-list.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-log.el Suppress log module when inserting date stamps in ERC 2025-03-11 18:28:38 -07:00
erc-match.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-menu.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-netsplit.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-networks.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-nicks.el More clearly define local module behavior in ERC 2025-02-07 20:21:36 -08:00
erc-notify.el More clearly define local module behavior in ERC 2025-02-07 20:21:36 -08:00
erc-page.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-pcomplete.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-replace.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-ring.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-sasl.el More clearly define local module behavior in ERC 2025-02-07 20:21:36 -08:00
erc-services.el More clearly define local module behavior in ERC 2025-02-07 20:21:36 -08:00
erc-sound.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-speedbar.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-spelling.el Improve use of Flyspell's API in erc-spelling 2025-01-07 17:31:18 -08:00
erc-stamp.el Suppress log module when inserting date stamps in ERC 2025-03-11 18:28:38 -07:00
erc-status-sidebar.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-track.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-truncate.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc-xdcc.el Update copyright year to 2025 2025-01-01 07:39:17 +00:00
erc.el Use .pem extension for client certs in ERC docs 2025-02-21 18:40:06 -08:00