1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00
emacs/lisp/erc
F. Jason Park 6e4417eaa7 Consolidate status-prefix slots of erc-channel-user
* etc/ERC-NEWS: Mention change even though the API remains
undisturbed.
* lisp/erc/erc-common.el (erc-channel-user): "Encode" status prefix
slots `voice', `halfop', `op', `admin', and `owner' as single `status'
slot.  Add backward-compatible constructor.  Although the old layout
was overly sparse, since the vast majority of users have no membership
status at all, the point here is not to trade time for space but
rather to improve human readability of ERC buffer substrings
containing text props that reference `erc-channel-user' objects.
* lisp/erc/erc.el (erc--define-channel-user-status-compat-getter):
Helper macro for declaring compat-oriented "getters" for status-prefix
slots of `erc-channel-user'.
(erc-channel-user-voice, erc-channel-user-halfop, erc-channel-user-op,
erc-channel-user-admin, erc-channel-user-owner): Add compat getters.
These are not new functions.  They were previously defined by the
`erc-channel-user' `cl-defstruct' in erc-common.el.
(erc--update-cusr-status-if-changed): New helper macro to make
`erc-update-current-channel-member' more readable.
(erc-update-current-channel-member): Collapse some overly verbose
"unrolled" forms using helper macro and more compact expressions.
* test/lisp/erc/erc-tests.el (erc-channel-user): New test.
2023-12-17 20:17:55 -08:00
..
ChangeLog.1
ChangeLog.2
erc-autoaway.el
erc-backend.el Use templates for formatting chat messages in ERC 2023-12-17 20:17:55 -08:00
erc-button.el ; Prepare for ERC 5.6 release 2023-11-12 20:37:49 -08:00
erc-capab.el
erc-common.el Consolidate status-prefix slots of erc-channel-user 2023-12-17 20:17:55 -08:00
erc-compat.el Optionally allow substitution patterns in erc-prompt 2023-11-24 13:38:52 -08:00
erc-dcc.el Use templates for formatting chat messages in ERC 2023-12-17 20:17:55 -08:00
erc-desktop-notifications.el
erc-ezbounce.el
erc-fill.el Demote erc-fill-line-spacing to a normal variable 2023-12-17 20:17:55 -08:00
erc-goodies.el Double hyphenate internal ERC 5.6 text props 2023-12-17 20:17:54 -08:00
erc-ibuffer.el Fix wrong "User" column count in erc-ibuffer 2023-10-02 17:23:29 -07:00
erc-identd.el
erc-imenu.el
erc-join.el
erc-lang.el
erc-list.el
erc-log.el Rename erc-server-buffer-p 2023-10-20 15:22:56 -07:00
erc-match.el Revive erc-command-indicator as new module 2023-11-12 20:37:49 -08:00
erc-menu.el
erc-netsplit.el Define ERC message-formatting templates with defvar 2023-12-17 20:17:54 -08:00
erc-networks.el Sequester some special-variable declarations in ERC 2023-12-17 20:17:54 -08:00
erc-nicks.el ; Prepare for ERC 5.6 release 2023-11-12 20:37:49 -08:00
erc-notify.el Define ERC message-formatting templates with defvar 2023-12-17 20:17:54 -08:00
erc-page.el Define ERC message-formatting templates with defvar 2023-12-17 20:17:54 -08:00
erc-pcomplete.el
erc-replace.el
erc-ring.el
erc-sasl.el Define ERC message-formatting templates with defvar 2023-12-17 20:17:54 -08:00
erc-services.el Merge from origin/emacs-29 2023-12-09 07:25:21 -05:00
erc-sound.el Define ERC message-formatting templates with defvar 2023-12-17 20:17:54 -08:00
erc-speedbar.el Make erc-get-user-mode-prefix more flexible 2023-12-17 20:17:55 -08:00
erc-spelling.el
erc-stamp.el Use templates for formatting chat messages in ERC 2023-12-17 20:17:55 -08:00
erc-status-sidebar.el ; Fix typos 2023-12-10 13:22:04 +01:00
erc-track.el Double hyphenate internal ERC 5.6 text props 2023-12-17 20:17:54 -08:00
erc-truncate.el Manage some text props for ERC insertion-hook members 2023-10-13 07:47:01 -07:00
erc-xdcc.el
erc.el Consolidate status-prefix slots of erc-channel-user 2023-12-17 20:17:55 -08:00