X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=lisp%2Fgnus-demon.el;h=9d2cf197ee9a151a4c43ff46c7d8398a112fabba;hp=c742e1f4ed28f01cea845bf6cc50b60d06770c1a;hb=b4bc300f0dcddc2b17bb50a3501ed6e6db1ef12c;hpb=23d20f6e231ff0940f0f65f74b9f9666b2989ebe diff --git a/lisp/gnus-demon.el b/lisp/gnus-demon.el index c742e1f4e..9d2cf197e 100644 --- a/lisp/gnus-demon.el +++ b/lisp/gnus-demon.el @@ -1,6 +1,6 @@ ;;; gnus-demon.el --- daemonic Gnus behavior -;; Copyright (C) 1995-2012 Free Software Foundation, Inc. +;; Copyright (C) 1995-2014 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -133,7 +133,6 @@ marked with SPECIAL." ;; Set up the timer. (let* ((func (nth 0 handler)) (time (nth 1 handler)) - (time-type (type-of time)) (idle (nth 2 handler)) ;; Compute time according with timestep. ;; If t, replace by 1 @@ -145,9 +144,12 @@ marked with SPECIAL." (* (gnus-demon-time-to-step time) gnus-demon-timestep)) (t (* time gnus-demon-timestep)))) - (idle (if (numberp idle) - (* idle gnus-demon-timestep) - idle)) + (idle (cond ((numberp idle) + (* idle gnus-demon-timestep)) + ((and (eq idle t) (numberp time)) + time) + (t + idle))) (timer (cond @@ -157,11 +159,11 @@ marked with SPECIAL." (run-with-idle-timer idle t 'gnus-demon-run-callback func)) ;; (func number any) ;; Call every `time' - ((eq time-type 'integer) + ((integerp time) (run-with-timer time time 'gnus-demon-run-callback func idle time)) ;; (func string any) - ((eq time-type 'string) + ((stringp time) (run-with-timer time (* 24 60 60) 'gnus-demon-run-callback func idle))))) (when timer