diff options
| author | Craig Jennings <c@cjennings.net> | 2026-08-03 09:59:58 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-08-03 09:59:58 -0500 |
| commit | fa1e63e4b3e4dbe3841247c8efd2096d2d75390c (patch) | |
| tree | aa05e87097caaa426355d553110dc56541b9c7d5 /tests/test-calibredb-epub-config.el | |
| parent | eb0c2191b77e795cca7884e0690ea51c515527fd (diff) | |
| download | dotemacs-fa1e63e4b3e4dbe3841247c8efd2096d2d75390c.tar.gz dotemacs-fa1e63e4b3e4dbe3841247c8efd2096d2d75390c.zip | |
The two toggles were only on C-; r v and C-; r a. F9 has been free since
ai-term moved its family to M-SPC, so it goes to what I reach for mid-work.
Both keep their prefix argument, so C-u F9 still prompts for a location.
Reaching them from inside a terminal buffer turns on which key categories
each EAT input mode claims. My first read of that was backwards.
Semi-char mode is the default and where agent buffers sit. It's built from
:ascii, :arrow and :navigation, so it never claims function keys and F9
already reached Emacs there. That entry is redundant.
Char mode is the one that mattered. It adds :function, binding f1 through
f63 to eat-self-input. It's also a minor mode, so its map outranks
eat-mode-map.
Worse, :function claims only the unmodified keys. Leaving char mode alone
would have split the pair rather than broken it: Shift-F9 toggling audio
while F9 went to the program under the cursor. That is a recording I believe
I started and didn't. Both chords are claimed in eat-char-mode-map and
eat-eshell-char-mode-map, which costs a char-mode program the use of F9. I'd
rather pay that than ship a toggle that half works.
The tests resolve the char-mode cases through key-binding in a fixture that
reproduces minor-mode precedence, not by reading the binding back out of the
map the module just wrote. A positive control asserts F8 still reaches
eat-self-input, since F8 sits in the same category and nothing here touches
it. Without that control the fixture could be inert and every assertion
would still pass, because F9 resolves through the global map either way.
Diffstat (limited to 'tests/test-calibredb-epub-config.el')
0 files changed, 0 insertions, 0 deletions
