[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#31692: Emacs sometimes drops key events
From: |
Michael Heerdegen |
Subject: |
bug#31692: Emacs sometimes drops key events |
Date: |
Fri, 06 Jul 2018 19:43:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
> I don't think you can reliably rebind C-g. For starters, it produces
> SIGINT on TTY frames, so I think rebinding will have no effect, at
> least in that use case.
I think you misunderstood. My fix was not to rebind C-g.
With our fix, hitting C-g while `sit-for' waits inside a
`while-no-input' makes the latter throw a 'quit' signal. I can use
`condition-case' to catch that quit, and call the actual binding of C-g
(or just a hardcoded `abort-recursive-edit').
> Anyway, can you show some Lisp to reproduce the issue?
Here is a template. To try it, call `read-test-input'. To see that C-g
is not always running as expected, hit C-g while a sit-for is running
(i.g. when the hint is shown).
`read-test-input' reads in input and tries to do something: in this
example counts words in the current buffer (which is interruptable) and
uses an overlay to show a message in the minibuffer, which is
automatically removed after a `sit-for' has finished.
testcase.el
Description: application/emacs-lisp
Michael.