Eli Zaretskii writes: >> The behavior differs slightly from those seen earlier because the >> timer list contains only three timers when it tries to add another >> one. Still the conjecture that we try to add a timer while checking >> timers has been proven. > > I'd love to see a C-level backtrace from that situation, because I'm > not really sure what exactly happens and how. This is reproducible from emacs -Q -L .../w3m -l w3m -f w3m where .../w3m is a checkout of https://github.com/ecbrown/emacs-w3m. Backtrace attached. Martin's patch of #143 applied and breakpoint set with: break Fsignal if (((intptr_t)Qerror) == ((intptr_t)error_symbol)) (the breakpoint needs to be set only after w3m has started up though)