Variable: erc-tags-format

erc-tags-format is a customizable variable defined in erc-backend.el.gz.

Value

overridable

Documentation

Shape of the tags alist in erc-response objects.

When set to legacy, pre-5.5 parsing behavior takes effect for the tags portion of every message. The resulting alist contains conses of the form (STRING . LIST), in which LIST is comprised of at most one, possibly empty string. When set to nil, ERC only parses tags if an active module defines an implementation. It otherwise ignores them. In such cases, each alist element is a cons of a symbol and an optional, nonempty string.

With the default value of overridable, ERC behaves as it does with legacy except that it emits a warning whenever first encountering a message containing tags in a given Emacs session. But it only does so when a module implementing overriding, non-legacy behavior isn't already active in the current network context.

Note that future bundled modules providing IRCv3 functionality will not be compatible with the legacy format. User code should eventually transition to expecting this "5.5+ variant" and set this option to nil.

This variable was added, or its default value changed, in ERC version
5.5.

Source Code

;; Defined in /usr/src/emacs/lisp/erc/erc-backend.el.gz
;;;; Handling responses

(defcustom erc-tags-format 'overridable
  "Shape of the `tags' alist in `erc-response' objects.
When set to `legacy', pre-5.5 parsing behavior takes effect for
the tags portion of every message.  The resulting alist contains
conses of the form (STRING . LIST), in which LIST is comprised of
at most one, possibly empty string.  When set to nil, ERC only
parses tags if an active module defines an implementation.  It
otherwise ignores them.  In such cases, each alist element is a
cons of a symbol and an optional, nonempty string.

With the default value of `overridable', ERC behaves as it does
with `legacy' except that it emits a warning whenever first
encountering a message containing tags in a given Emacs session.
But it only does so when a module implementing overriding,
non-legacy behavior isn't already active in the current network
context.

Note that future bundled modules providing IRCv3 functionality
will not be compatible with the legacy format.  User code should
eventually transition to expecting this \"5.5+ variant\" and set
this option to nil."
  :package-version '(ERC . "5.5")
  :type '(choice (const nil)
                 (const legacy)
                 (const overridable)))