emacs/lisp/erc
F. Jason Park c356f86b51 Update ISUPPORT handling in ERC
* lisp/erc/erc-backend (erc--isupport-params): Add new variable to
hold a hashmap of parsed `erc-server-parameters' in a more useful
format.  But keep `erc-server-parameters' around for public use.  We
currently lack dedicated local variables for certain discovered IRC
session properties, such as what prefix characters are supported for
channels, etc.  And the truth of this needs querying many times per
second at various points.  As such, caching here seems justified but
can be easily removed if deemed otherwise because all ingredients are
internal.
(erc--parse-isupport-value): Add helper function that parses an
ISUPPORT value and returns the component parts with backslash-x hex
escapes removed.  This can probably use some streamlining.
(erc--with-memoization): Add compat alias for use in internal ISUPPORT
getter.  Should be moved to `erc-compat.el' when that library is fully
reincorporated.
(erc--get-isupport-entry): Add internal getter to look up ISUPPORT
items.
(erc-server-005): Treat `erc-server-response' "command args" field as
read-only.  Previously, this field was set to nil after processing,
which was unhelpful to other parts of the library.  Also call above
mentioned helper to parse values.  And add some bookkeeping to handle
negation.

* lisp/erc/erc-capab.el (erc-capab-identify-send-messages): Use
internal ISUPPORT getter.

* lisp/erc/erc.el (erc-cmd-NICK, erc-parse-prefix,
erc-nickname-in-use): Use internal ISUPPORT getter.

* test/lisp/erc/erc-tests.el: Add tests for the above mentioned
changes in erc-backend.el.
2022-06-30 15:03:26 -07:00
..
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
ChangeLog.2 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
erc-autoaway.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-backend.el Update ISUPPORT handling in ERC 2022-06-30 15:03:26 -07:00
erc-button.el Make recent nicknames erc change more backwards-compatible 2022-05-11 15:02:08 +02:00
erc-capab.el Update ISUPPORT handling in ERC 2022-06-30 15:03:26 -07:00
erc-compat.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-dcc.el Recognize DCC SSEND when receiving files in erc-dcc 2022-05-22 18:04:52 -07:00
erc-desktop-notifications.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-ezbounce.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-fill.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-goodies.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-ibuffer.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-identd.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-imenu.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-join.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-lang.el Rename Oriya to Odia, and more 2022-05-19 15:23:46 +03:00
erc-list.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-log.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-match.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-menu.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-netsplit.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-networks.el Require erc-networks in erc.el 2022-06-30 15:03:26 -07:00
erc-notify.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-page.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-pcomplete.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-replace.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-ring.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-services.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-sound.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-speedbar.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-spelling.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-stamp.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-status-sidebar.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-track.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-truncate.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc-xdcc.el ERC: Add new comaintainer, F. Jason Park 2022-01-24 10:59:05 -05:00
erc.el Update ISUPPORT handling in ERC 2022-06-30 15:03:26 -07:00