I've managed to write a timer that reliably causes keyboard input not to be accepted until I press Ctrl-G
.
The issue is, I don't know what causes the timer to lock up, what the stack frame is when it's locked up, or how to unlock it.
(signal 'quit)
resolves the issue but this isn't a reasonable fix.- Using gdb doesn't point to a function which is blocking input.
toggle-debug-on-quit
doesn't give a useful stack trace.
In Python I can press Ctrl-C to get a stack trace of the code being executed. Why doesn't Emacs let me interrupt my timer's code with C-g
?
(signal 'quit)
? – Stefan May 29 '19 at 18:11inhibit-quit
bound to a non-nil value (so that it doesn't get accidentally aborted just because the user hitC-g
at that moment for some completely unrelated reason (e.g. to get out of a minibuffer)). – Stefan May 29 '19 at 18:13