diff options
| author | Craig Jennings <c@cjennings.net> | 2026-07-20 15:52:24 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-07-20 15:52:24 -0500 |
| commit | db9353837def65e627cc1dac5c343789d660aa2d (patch) | |
| tree | 3337856b5e4ab1f5072bb4ca89d9fffd034fe720 /tests/test-custom-datetime-all-methods.el | |
| parent | 1ccd7bddf55c41202afe316e70fa01059e1bcbbb (diff) | |
| download | dotemacs-db9353837def65e627cc1dac5c343789d660aa2d.tar.gz dotemacs-db9353837def65e627cc1dac5c343789d660aa2d.zip | |
fix(agenda): stop the frame's catch-all from swallowing input machinery
The default-deny [t] binding intercepted far more than Org commands. switch-frame events hit the deny handler, so every focus change into or out of the frame spammed the read-only message and broke frame switching. Mouse wheel, mouse-1 clicks, and the help prefix were dead. And S-<f8>/C-M-<f8> were never bound in the mode map, so the frame's own toggle couldn't close it from inside.
I punched the machinery through the catch-all (an explicit nil shadows the [t] default in the same map, so those events fall through to their global bindings) and bound the two frame controls per the spec's allowlist.
Two redo-lifecycle bugs rode along, both from org-agenda-mode's kill-all-local-variables: the buffer-local kill-buffer-hook was stripped on the first refresh tick (killing the buffer would orphan the frame), and the failure banner was held in a buffer-local var while its overlay survives erase-buffer, so a banner could never be removed after a later success. The finalize re-enable now re-adds the hook, and the banner is tagged with an overlay property and found by scanning.
Diffstat (limited to 'tests/test-custom-datetime-all-methods.el')
0 files changed, 0 insertions, 0 deletions
