summaryrefslogtreecommitdiff
path: root/tests/test-calendar-sync--sync-dispatch.el
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
commit016068349e0ebbd470e337440a1ef378248e0edb (patch)
treec4476dce902986a505d89aea6a73be6637435ffc /tests/test-calendar-sync--sync-dispatch.el
parent55fb9102c70dc272d4267aec30eed4860f3abdf5 (diff)
downloaddotemacs-016068349e0ebbd470e337440a1ef378248e0edb.tar.gz
dotemacs-016068349e0ebbd470e337440a1ef378248e0edb.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--sync-dispatch.el')
0 files changed, 0 insertions, 0 deletions