Subject: bug#39824: 26.2; timers sometimes stop working when coming back from sleep

From: ndame <[email-masked]>
Date: Sun, 19 Apr 2020 13:59:23 +0000

I proably found the problem.

debug-on-error has to be on

If you run a timer with an error:

(run-with-timer 0 1 (lambda ()
                      (print garbage)))

then the backtrace window comes up. If you press q there then you'll have a negative timer
in the list.

This probably is because function timer-event-handler uses condition-case-unless-debug,
so if you  press q then you go back to top level and the rest of the code doesn't run.

I understand condition-case-unless-debug is used, so one can debug a timer, but on the
other hand if debug is on for some other reason and the user press q  automatically
to get rid of the backtrace window then the timer list will have some garbage in it.