bug#81561: 31.0.91; speedbar-window-mode creates stale idle timers
"J.P." <[email protected]>
| Newsgroups | gmane.emacs.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hello people, Vincenzo Pupillo <[email protected]> writes: > Ciao, I wasn’t able to reproduce the problem reported by Daniel. The only way > was to kill the 'speedbar-buffer' process. So I added a 'kill-buffer-hook' to > handle this event. I also eliminated a few other causes of stale idle timers. > > @Daniel, could you please try this patch? Perhaps I'm hallucinating, but I seem to recall stale dframe timers hanging around long before `speedbar-window-mode' came about and it having something to do with `dframe-timer' becoming buffer-local back in Emacs 29. If that's correct, shouldn't any functions that rely on that variable, like `dframe-set-timer' and `dframe-set-timer-internal', be made to run in whatever BUFFER-VAR is given to `dframe-frame-mode' on init? If so, instead of wrapping all these `speedbar-timer-fn' call sites in `with-current-buffer', what about doing so around `dframe-set-timer' in `speedbar-set-timer'? Thanks, J.P. P.S. If it's determined that this bug is not in fact directly related to the introduction of `speedbar-window-mode', perhaps it's better to revert a56e964941f "Speedbar: no more stale idle timers (bug#81561)" on Emacs 31 and instead apply any future attempted fixes to master?