anchor.diff:            stop-timer
             alive-timer-p))
   
  +(defvar *is-in-idle* nil)
   (defvar *timer-list* nil)
   (defvar *idle-timer-list* nil)
  +(defvar *processed-idle-timer-list* nil)
   
   (defclass timer ()
     ((name
  
positive.code:     (not (null updating-timers))))
  
  (defun shortest-wait-timers ()
    (if (null *timer-list*)
        nil
        (- (loop :for timer :in *timer-list*
                 :minimize (timer-next-time timer))
           (get-internal-real-time))))
  
  (defun exist-running-timer-p ()
    (not (null *timer-list*)))
  
  (defun start-idle-timer (ms repeat-p function &optional handle-function name)
    (let ((timer (make-instance 'timer
  
negative.code:     timer))
  
  (defun start-idle-timers ()
    (progn
      (setf *is-in-idle* t)
      (dolist (timer *idle-timer-list*)
        (setf (timer-last-time timer) (get-internal-real-time))
        (setf (timer-alive-p timer) t))))
  
  (defun stop-idle-timers ()
    (progn
      (setf *is-in-idle* nil)
      (setf *idle-timer-list* (nconc *processed-idle-timer-list* *idle-timer-list*))
      (setf *processed-idle-timer-list* '())))
  