* lisp/emacs-lisp/timer.el (timer-event-handler): Don't retrigger a canceled
timer. Fixes: debbugs:14156
This commit is contained in:
parent
285c8184af
commit
8acdeb7104
2 changed files with 11 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-04-08 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/timer.el (timer-event-handler): Don't retrigger a canceled
|
||||
timer (bug#14156).
|
||||
|
||||
2013-04-07 Nic Ferrier <nferrier@ferrier.me.uk>
|
||||
|
||||
* emacs-lisp/ert.el (should, should-not, should-error): Add edebug
|
||||
|
|
|
@ -314,8 +314,12 @@ This function is called, by name, directly by the C code."
|
|||
(save-current-buffer
|
||||
(apply (timer--function timer) (timer--args timer)))
|
||||
(error (message "Error in timer: %S" err)))
|
||||
(if retrigger
|
||||
(setf (timer--triggered timer) nil)))
|
||||
(when (and retrigger
|
||||
;; If the timer's been canceled, don't "retrigger" it
|
||||
;; since it might still be in the copy of timer-list kept
|
||||
;; by keyboard.c:timer_check (bug#14156).
|
||||
(memq timer timer-list))
|
||||
(setf (timer--triggered timer) nil)))
|
||||
(error "Bogus timer event"))))
|
||||
|
||||
;; This function is incompatible with the one in levents.el.
|
||||
|
|
Loading…
Add table
Reference in a new issue