1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00
emacs/test/lisp/erc
F. Jason Park 054602533c Improve inconsistent handling of ban lists in ERC
* etc/ERC-NEWS: Mention new function `erc-sync-banlist' in new section
for ERC 5.6.1.
* lisp/erc/erc-backend.el (erc-server-MODE): Don't call
`erc-banlist-update'.
* lisp/erc/erc-fill.el (erc--determine-fill-column-function): New
method for `fill' and `fill-wrap' modules.
* lisp/erc/erc-pcomplete.el (pcomplete/erc-mode/BANLIST)
(pcomplete/erc-mode/BL)
(pcomplete/erc-mode/MASSUNBAN, pcomplete/erc-mode/MUB):
New functions.
* lisp/erc/erc.el: Map ERC 5.6.1 to Emacs 31.1 in
`customize-package-emacs-version-alist'.
(erc-channel-banlist): Deprecate practice of using the symbol property
`received-from-server' of as a state flag because it's error-prone and
bleeds into other connections.
(erc--channel-banlist-synchronized-p): New variable to indicate
whether the ban list has been initialized.  The presence of a local
binding for `erc-channel-banlist' could probably be used for the same
purpose but would surely require rewriting `erc-cmd-BANLIST' and
`erc-cmd-MASSUNBAN'.
(erc-sync-banlist): New function, announced in ERC-NEWS.
(erc--wrap-banlist-cmd): New function.
(erc-banlist-fill-padding): New variable.
(erc--determine-fill-column-function): New generic function.
(erc-cmd-BANLIST): Move forward declaration of `erc-fill-column' from
top level into function body.  Always reset `received-from-server' to
nil.  Improve column calculations.
(erc-cmd-MASSUNBAN): Always reset `received-from-server' to nil.
(erc-banlist-finished): Deprecate function unused since 2003.
(erc--banlist-update): New function.
(erc-banlist-update): Deprecate function because its logic is faulty
and it doesn't handle mixed mode letters, like "MODE #foobar
+mb *@127.0.0.1".  See https://modern.ircdocs.horse/#mode-message.  It
also depends on an obsolete convention regarding the symbol property
`received-from-server' of `erc-channel-banlist'.  Basically, this
function used to run upon receipt of any "MODE" command from the
server.  However, actual updates to the variable `erc-channel-banlist'
only happened if `received-from-server' was t, which could only be the
case after the user issued a /MASSUNBAN.  And that behavior was
determined to be a bug.  This mode framework stuff was introduced as
part of bug#67220 for ERC 5.6.
(erc--handle-channel-mode): New function, a method for standard
channel-mode letter "b".
* test/lisp/erc/erc-tests.el (erc--channel-modes)
(erc--channel-modes/graphic-p): Assert contents of
`erc-channel-banlist' updated on "MODE".  (Bug#72736)
2024-09-29 16:43:30 -07:00
..
resources Store one string per user in erc--spkr msg prop 2024-09-29 16:13:01 -07:00
erc-button-tests.el Don't nest date stamp insertions in erc-stamp 2024-04-19 13:54:52 -07:00
erc-dcc-tests.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
erc-fill-tests.el ; Rename internal variable in erc-fill 2024-09-29 16:13:01 -07:00
erc-goodies-tests.el Spelling fixes 2024-06-04 22:16:28 -07:00
erc-join-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-match-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-networks-tests.el Fix test failure in erc-networks-tests 2024-09-05 10:19:45 +02:00
erc-nicks-tests.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-sasl-tests.el Return nil from more ERC response handlers 2024-05-27 16:39:18 -07:00
erc-scenarios-auth-source.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-association-nick.el ; Set explicit hook depth for erc-once-with-server-event 2024-05-02 19:21:48 -07:00
erc-scenarios-base-association-query.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-association-samenet.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-association.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-attach.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-auto-recon.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-buffer-display.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-chan-modes.el Actually derive channel membership from PREFIX in ERC 2024-01-24 20:58:32 -08:00
erc-scenarios-base-compat-rename-bouncer.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-kill-on-part.el Don't kill server buffer with erc-kill-buffer-on-part 2024-05-18 15:48:05 -07:00
erc-scenarios-base-local-module-modes.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-local-modules.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-misc-regressions.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-netid-bouncer-id.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-netid-bouncer-recon-base.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-netid-bouncer-recon-both.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-netid-bouncer-recon-id.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-netid-bouncer.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-netid-samenet.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-query-participants.el Tether query rolls to channel membership in ERC 2024-05-27 16:39:18 -07:00
erc-scenarios-base-reconnect.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-renick.el Retain client's own user in erc-server-users 2024-05-27 16:39:18 -07:00
erc-scenarios-base-reuse-buffers.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-base-send-message.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-split-line.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-statusmsg.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-base-unstable.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-upstream-recon-soju.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-base-upstream-recon-znc.el Reassociate erc-networks--id for orphaned queries 2024-02-02 17:08:21 -08:00
erc-scenarios-display-message.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-fill-wrap.el Fix date-stamp regression in erc-fill-wrap 2024-05-27 16:47:24 -07:00
erc-scenarios-ignore.el Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-scenarios-internal.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-join-auth-source.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-join-display-context.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-join-netid-newcmd-id.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-join-netid-newcmd.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-join-netid-recon-id.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-join-netid-recon.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
erc-scenarios-keep-place-indicator.el ; Fix typos 2024-01-28 17:11:51 +01:00
erc-scenarios-log.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-match.el Don't nest date stamp insertions in erc-stamp 2024-04-19 13:54:52 -07:00
erc-scenarios-misc-commands.el Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME 2024-02-23 18:45:44 -08:00
erc-scenarios-misc.el Add format-catalog entry for unknown chan mode in ERC 2024-05-08 17:11:26 -07:00
erc-scenarios-prompt-format.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-sasl.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-scenarios-scrolltobottom-relaxed.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-scrolltobottom.el ; Add 2024 to copyright years 2024-01-02 10:30:05 +08:00
erc-scenarios-services-misc.el ; Simplify (with-current-buffer (get-buffer ...) ...) 2024-03-14 12:40:26 +02:00
erc-scenarios-stamp.el Restore deferred date-stamp insertions in ERC 2024-06-08 12:21:14 -07:00
erc-scenarios-status-sidebar.el Delete original speedbar frame in erc-nickbar-mode 2024-05-27 16:39:18 -07:00
erc-services-tests.el Return nil from more ERC response handlers 2024-05-27 16:39:18 -07:00
erc-stamp-tests.el Reconcile erc-stamp--date-stamps when merging buffers 2024-05-18 15:48:05 -07:00
erc-tests.el Improve inconsistent handling of ban lists in ERC 2024-09-29 16:43:30 -07:00
erc-track-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00