mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 10:31:37 -08:00
* 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) |
||
|---|---|---|
| .. | ||
| resources | ||
| erc-button-tests.el | ||
| erc-dcc-tests.el | ||
| erc-fill-tests.el | ||
| erc-goodies-tests.el | ||
| erc-join-tests.el | ||
| erc-match-tests.el | ||
| erc-networks-tests.el | ||
| erc-nicks-tests.el | ||
| erc-sasl-tests.el | ||
| erc-scenarios-auth-source.el | ||
| erc-scenarios-base-association-nick.el | ||
| erc-scenarios-base-association-query.el | ||
| erc-scenarios-base-association-samenet.el | ||
| erc-scenarios-base-association.el | ||
| erc-scenarios-base-attach.el | ||
| erc-scenarios-base-auto-recon.el | ||
| erc-scenarios-base-buffer-display.el | ||
| erc-scenarios-base-chan-modes.el | ||
| erc-scenarios-base-compat-rename-bouncer.el | ||
| erc-scenarios-base-kill-on-part.el | ||
| erc-scenarios-base-local-module-modes.el | ||
| erc-scenarios-base-local-modules.el | ||
| erc-scenarios-base-misc-regressions.el | ||
| erc-scenarios-base-netid-bouncer-id.el | ||
| erc-scenarios-base-netid-bouncer-recon-base.el | ||
| erc-scenarios-base-netid-bouncer-recon-both.el | ||
| erc-scenarios-base-netid-bouncer-recon-id.el | ||
| erc-scenarios-base-netid-bouncer.el | ||
| erc-scenarios-base-netid-samenet.el | ||
| erc-scenarios-base-query-participants.el | ||
| erc-scenarios-base-reconnect.el | ||
| erc-scenarios-base-renick.el | ||
| erc-scenarios-base-reuse-buffers.el | ||
| erc-scenarios-base-send-message.el | ||
| erc-scenarios-base-split-line.el | ||
| erc-scenarios-base-statusmsg.el | ||
| erc-scenarios-base-unstable.el | ||
| erc-scenarios-base-upstream-recon-soju.el | ||
| erc-scenarios-base-upstream-recon-znc.el | ||
| erc-scenarios-display-message.el | ||
| erc-scenarios-fill-wrap.el | ||
| erc-scenarios-ignore.el | ||
| erc-scenarios-internal.el | ||
| erc-scenarios-join-auth-source.el | ||
| erc-scenarios-join-display-context.el | ||
| erc-scenarios-join-netid-newcmd-id.el | ||
| erc-scenarios-join-netid-newcmd.el | ||
| erc-scenarios-join-netid-recon-id.el | ||
| erc-scenarios-join-netid-recon.el | ||
| erc-scenarios-keep-place-indicator.el | ||
| erc-scenarios-log.el | ||
| erc-scenarios-match.el | ||
| erc-scenarios-misc-commands.el | ||
| erc-scenarios-misc.el | ||
| erc-scenarios-prompt-format.el | ||
| erc-scenarios-sasl.el | ||
| erc-scenarios-scrolltobottom-relaxed.el | ||
| erc-scenarios-scrolltobottom.el | ||
| erc-scenarios-services-misc.el | ||
| erc-scenarios-stamp.el | ||
| erc-scenarios-status-sidebar.el | ||
| erc-services-tests.el | ||
| erc-stamp-tests.el | ||
| erc-tests.el | ||
| erc-track-tests.el | ||