Function: spinner--start-timer
spinner--start-timer is a byte-compiled function defined in
spinner.el.
Signature
(spinner--start-timer SPINNER)
Documentation
Start a SPINNER's timer.
Source Code
;; Defined in ~/.emacs.d/elpa/spinner-1.7.4/spinner.el
(defun spinner--start-timer (spinner)
"Start a SPINNER's timer."
(let ((old-timer (spinner--timer spinner)))
(when (timerp old-timer)
(cancel-timer old-timer))
(setf (spinner--active-p spinner) t)
(unless (ignore-errors (> (spinner--fps spinner) 0))
(error "A spinner's FPS must be a positive number"))
(setf (spinner--counter spinner)
(round (- (* (or (spinner--delay spinner) 0)
(spinner--fps spinner)))))
;; Create timer.
(let* ((repeat (/ 1.0 (spinner--fps spinner)))
(time (timer-next-integral-multiple-of-time (current-time) repeat))
;; Create the timer as a lex variable so it can cancel itself.
(timer (spinner--timer spinner)))
(timer-set-time timer time repeat)
(timer-set-function timer #'spinner--timer-function (list spinner))
(timer-activate timer)
;; Return a stopping function.
(lambda () (spinner-stop spinner)))))