Function: timer--activate
timer--activate is a byte-compiled function defined in timer.el.gz.
Signature
(timer--activate TIMER &optional TRIGGERED-P REUSE-CELL IDLE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/timer.el.gz
(defun timer--activate (timer &optional triggered-p reuse-cell idle)
(if (and (timerp timer)
(integerp (timer--high-seconds timer))
(integerp (timer--low-seconds timer))
(integerp (timer--usecs timer))
(integerp (timer--psecs timer))
(timer--function timer))
(let ((timers (if idle timer-idle-list timer-list))
last)
;; Skip all timers to trigger before the new one.
(while (and timers (timer--time-less-p (car timers) timer))
(setq last timers
timers (cdr timers)))
(if reuse-cell
(progn
(setcar reuse-cell timer)
(setcdr reuse-cell timers))
(setq reuse-cell (cons timer timers)))
;; Insert new timer after last which possibly means in front of queue.
(setf (cond (last (cdr last))
(idle timer-idle-list)
(t timer-list))
reuse-cell)
(setf (timer--triggered timer) triggered-p)
(setf (timer--idle-delay timer) idle)
nil)
(error "Invalid or uninitialized timer")))