Eli Zaretskii 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.