diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-05 12:30:42 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-05 12:30:42 -0500 |
| commit | 26fabb22edfea51e8a686c179ab91d00a2ff0bc3 (patch) | |
| tree | 7c88db65289ef51ca2109bbaf6c5c887af382829 /assets | |
| parent | 0b65f607102c12260c7cca5df3d8586c2b1a24bd (diff) | |
| download | chime-26fabb22edfea51e8a686c179ab91d00a2ff0bc3.tar.gz chime-26fabb22edfea51e8a686c179ab91d00a2ff0bc3.zip | |
refactor!: collapse three time-left format defcustoms into one alist
I merged `chime-time-left-format-at-event', `chime-time-left-format-short',
and `chime-time-left-format-long' into a single alist `chime-time-left-formats'
keyed by `at-event' / `short' / `long'. Three knobs for one feature
(countdown display) was unnecessary surface area; one alist is the same
flexibility with a third the namespace.
`chime--time-left' switched from a pcase-on-variable to a pcase-on-regime
that picks an alist key, then `alist-get's the format string. Behavior
is identical for default settings.
Test setup in the four affected files now builds the alist with `(list
(cons 'KEY VAL) ...)' instead of `'(...)'. The literal-quote form
returns the SAME cons-cell structure on every evaluation, so a previous
test mutating it via `setf' on `alist-get' poisoned later tests. `list'
+ `cons' produces fresh structure per call, which is what the tests
actually need.
Migration: `(setq chime-time-left-format-short "in %mm")' becomes
`(setf (alist-get 'short chime-time-left-formats) "in %mm")', or a
full `(setq chime-time-left-formats '((at-event . ...) (short . ...)
(long . ...)))' replacement.
Diffstat (limited to 'assets')
0 files changed, 0 insertions, 0 deletions
