1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 19:10:37 -08:00
emacs/test/lisp/erc/resources
F. Jason Park aedc8b55bf Actually derive channel membership from PREFIX in ERC
* lisp/erc/erc-backend.el (erc--with-isupport-data): Add comment for
possibly superior alternate implementation.
* lisp/erc/erc-common.el (erc--get-isupport-entry): Use helper to
initialize traditional prefix slots in overridden well-known
constructor.
(erc--parsed-prefix): Reverse order of characters in the `letters'
and `statuses' slots, in their defaults and also their definitions.
(erc--strpos): New function, a utility for finding a single character
in a string.
* lisp/erc/erc.el (erc--define-channel-user-status-compat-getter):
Modify to query advertised value for associated mode letter at runtime
instead of baking it in.
(erc-channel-user-voice, erc-channel-user-halfop, erc-channel-user-op,
erc-channel-user-admin, erc-channel-user-owner): Supply second
argument for fallback mode letter.
(erc--cusr-status-p, erc--cusr-change-status): New functions for
querying and modifying `erc-channel-user' statuses.
(erc-send-input-line): Update speaker time in own nick's
`erc-channel-member' entry.
(erc-get-channel-membership-prefix): Adapt code to prefer advertised
prefix for mode letter.
(erc--parsed-prefix): Save "reversed" `letters' and `statuses' so that
they're ordered from lowest to highest semantically.
(erc--get-prefix-flag, erc--init-cusr-fallback-status,
erc--compute-cusr-fallback-status): New functions for retrieving
internal prefix values and massaging hard-coded traditional prefixes
so they're compatible with existing `erc-channel-member' update code.
(erc--partition-prefixed-names): New function, separated for testing
and for conversion to a generic in the future when ERC supports
extensions that list member rolls in a different format.
(erc-channel-receive-names): Refactor to use new status-aware update
and init workhorse functions for updating and initializing a
`erc-channel-members' entry.
(erc--create-current-channel-member): New "status-aware" function
comprising the `addp' path of `erc-update-current-channel-member'.
(erc--update-current-channel-member): New "status-aware" function
comprising the "update" path of `erc-update-current-channel-member',
which ran when an existing `erc-channel-members' entry for the queried
nick was found.
(erc-update-current-channel-member): Split code body into two
constituent functions, both for readability and for usability, so
callers can more explicitly request the desired operation in a
"status-aware" manner.
(erc--update-membership-prefix): Remove unused function, originally
meant to be new in ERC 5.6.
(erc--process-channel-modes): Call `erc--cusr-change-status' instead
of `erc--update-membership-prefix'.
(erc--shuffle-nuh-nickward): New utility function to ensure code like
`erc--partition-prefixed-names' can use `erc--parse-nuh' in a
practical and relatively convenient way in the near future.
* test/lisp/erc/erc-scenarios-base-chan-modes.el
(erc-scenarios-base-chan-modes--speaker-status): New test.
* test/lisp/erc/erc-tests.el (erc--parsed-prefix): Reverse expected
order of various slot values in `erc--parsed-prefix' objects.
(erc--get-prefix-flag, erc--init-cusr-fallback-status,
erc--compute-cusr-fallback-status, erc--cusr-status-p,
erc--cusr-change-status): New tests.
(erc--update-channel-modes, erc-process-input-line): Use newly
available utilities imported from common library.
* test/lisp/erc/resources/base/modes/speaker-status.eld: New file.
(Bug#67220)
2024-01-24 20:58:32 -08:00
..
base Actually derive channel membership from PREFIX in ERC 2024-01-24 20:58:32 -08:00
commands Add erc-server-396 response handler 2023-12-17 20:17:54 -08:00
dcc/chat ; Attempt to fix race in erc-buffer-display test 2023-11-01 16:14:10 -07:00
erc-d Add test for erc-extract-command-from-line 2024-01-18 17:01:22 -08:00
fill/snapshots Use templates for formatting chat messages in ERC 2023-12-17 20:17:55 -08:00
join Allow selecting graphical ERC tests manually 2023-12-27 21:32:25 -08:00
keep-place Fix regression in erc-keep-place-indicator-mode 2023-12-31 06:56:32 -08:00
match/fools Manage some text props for ERC insertion-hook members 2023-10-13 07:47:01 -07:00
networks ; Fix typos 2023-01-15 02:14:19 +01:00
sasl Replace some uses of erc-error 2023-12-23 06:46:33 -08:00
scrolltobottom Consider all windows in erc-scrolltobottom-mode 2023-09-10 17:58:20 -07:00
services ; Relax timeouts on some ERC tests 2023-08-15 16:47:20 -07:00
erc-scenarios-common.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
erc-tests-common.el Make ERC's format catalogs more extensible 2024-01-07 15:11:26 -08:00