aboutsummaryrefslogtreecommitdiff
path: root/tests/test_calendar_sync_api.py
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-18 20:28:27 -0400
committerCraig Jennings <c@cjennings.net>2026-05-18 20:28:27 -0400
commited198a31788062fff2eeaa138a25ff1e9b014ed4 (patch)
tree7161ff8724bd5df42bfbdd86ba00d78304895747 /tests/test_calendar_sync_api.py
parentc4ce432bae65e98ea5e77106e0bab67b9e95ef75 (diff)
downloaddotemacs-ed198a31788062fff2eeaa138a25ff1e9b014ed4.tar.gz
dotemacs-ed198a31788062fff2eeaa138a25ff1e9b014ed4.zip
fix(vterm): stop wheel/escape forwarders from blocking Emacs
vterm-send-string ends with (accept-process-output ... vterm-timer-delay ...). The global vterm-timer-delay is nil in this config, so the call blocks forever when the pty's program consumes the event without producing output -- a common pattern for TUIs like Claude Code reacting to mouse wheel or Escape. The symptom is a spinning cursor until C-g. cj/vterm--send-mouse-wheel and cj/vterm-send-escape now wrap the send in a let-binding that pins vterm-timer-delay to 0, so accept-process-output returns immediately. A top-level (defvar vterm-timer-delay) declaration goes alongside so the let is dynamic. Without it, lexical-binding-t in this file makes the binding lexical, invisible to vterm-send-string across files. The backtrace from the failing case confirmed the lookup was still receiving nil before the declaration.
Diffstat (limited to 'tests/test_calendar_sync_api.py')
0 files changed, 0 insertions, 0 deletions