Can someone explain when handle_alarm_signal is expected to be called? Executing keyboard macro, say, 100000 times, should enter Emacs into "busy" state. Thus hourglass cursor should be displayed, which is done with 1s delay via start_atimer. This means that SIGARLM should be (re)scheduled, and it is. But handle_alarm_signal is never called; instead, timers are processed just after the next input becomes available. So if there is no input, timers will be processed...never? If yes, this looks like a very strange (read: fundamentally broken) timers subsystem. It should be not so hard to observe this scenario under gdb or with attached tracing patch. Dmitry