;ELC   
;;; compiled by kwzh@nutrimat.gnu.ai.mit.edu on Wed Jul 17 16:59:34 1996
;;; from file /gd/gnu/emacs/19.0/lisp/gnus-demon.el
;;; emacs version 19.31.94.1.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`gnus-demon.el' was compiled for Emacs 19.29 or later"))


(require (quote gnus))
#@602 Alist of daemonic handlers to be run at intervals.
Each handler is a list on the form

(FUNCTION TIME IDLE)

FUNCTION is the function to be called. 
TIME is the number of `gnus-demon-timestep's between each call.  
If nil, never call.  If t, call each `gnus-demon-timestep'.
If IDLE is t, only call if Emacs has been idle for a while.  If IDLE
is a number, only call when Emacs has been idle more than this number
of `gnus-demon-timestep's.  If IDLE is nil, don't care about
idleness.  If IDLE is a number and TIME is nil, then call once each
time Emacs has been idle for IDLE `gnus-demon-timestep's.
(defvar gnus-demon-handlers nil (#$ . 508))
#@44 *Number of seconds in each demon timestep.
(defvar gnus-demon-timestep 60 (#$ . -1159))
(byte-code "ÀÁ!„ ÂÁBÀÄ!„ ÂÄBÀÅ!„  ÆÅBÀÇ!„- ÂÇBÀÈ!„: ÂÈBÀÉ!„G Â	ÉBÊËÌ\"ˆÊÍÌ\"‡" [boundp gnus-demon-timer nil current-load-list gnus-demon-idle-has-been-called gnus-demon-idle-time 0 gnus-demon-handler-state gnus-demon-is-idle gnus-demon-last-keys autoload timezone-parse-date "timezone" timezone-make-arpa-date] 3)
#@54 Add the handler FUNCTION to be run at TIME and IDLE.
(defalias 'gnus-demon-add-handler #[(function time idle) "À	!ˆ	\nE\fBÅ ‡" [gnus-demon-remove-handler function time idle gnus-demon-handlers gnus-demon-init] 3 (#$ . 1589)])
#@56 Remove the handler FUNCTION from the list of handlers.
(defalias 'gnus-demon-remove-handler #[(function &optional no-init) "À	\nž\n\"† Ä ‡" [delq function gnus-demon-handlers no-init gnus-demon-init] 3 (#$ . 1823)])
#@29 Initialize the Gnus daemon.
(defalias 'gnus-demon-init #[nil "À ˆ	… Â‰Ä#ÆÇ	\"É\nË\fÍ‰‡" [gnus-demon-cancel gnus-demon-handlers nnheader-run-at-time gnus-demon-timestep gnus-demon gnus-demon-timer mapcar #[(handler) "@ÁA@!Â8E‡" [handler gnus-demon-time-to-step 2] 4] gnus-demon-handler-state 0 gnus-demon-idle-time nil gnus-demon-idle-has-been-called t gnus-use-demon] 4 (#$ . 2048) nil])
(gnus-add-shutdown (quote gnus-demon-cancel) (quote gnus))
#@26 Cancel any Gnus daemons.
(defalias 'gnus-demon-cancel #[nil "ƒ Á!ˆÂÂ‰‡" [gnus-demon-timer nnheader-cancel-timer nil gnus-use-demon] 2 (#$ . 2513) nil])
#@31 Whether Emacs is idle or not.
(defalias 'gnus-demon-is-idle-p #[nil "À ‰\nš†\f 	Ã)‡" [recent-keys keys gnus-demon-last-keys nil] 3 (#$ . 2676)])
#@66 Find out how many seconds to TIME, which is on the form "17:43".
(defalias 'gnus-demon-time-to-step #[(time) ";„ ‡Á Ã\n!ÅÆ\fÇH!Æ\fÈH!Æ\fÉH!\fÊH†& Ë%\fÍÎ\f!Î\n!\"ÐÇWƒC Ñ\\‚E ¥!,‡" [time current-time-string date timezone-parse-date dv timezone-make-arpa-date string-to-number 0 1 2 4 "UT" tdate gnus-time-minus gnus-encode-date nseconds round 86400 gnus-demon-timestep] 7 (#$ . 2829)])
#@63 The Gnus daemon that takes care of running all Gnus handlers.
(defalias 'gnus-demon #[nil "À ƒ 	T‚ ÂÃÃ‰‰		…´ 	‰A	@‰A@‰§ƒ Ê!„E AS‰ ˆÂUƒ Ë8‰ƒh §ƒc 	W„h \fƒ @ ˆAÍ@žA@! ˆ‚ Ë8‰ƒ §„— @ ˆ‚ @\f>„ 	Wƒ @ ˆ@\fB‚ ,‡" [gnus-demon-is-idle-p gnus-demon-idle-time 0 nil gnus-demon-idle-has-been-called gnus-demon-handler-state idle time handler handlers zerop 2 gnus-demon-is-idle gnus-demon-time-to-step gnus-demon-handlers] 5 (#$ . 3237)])
#@38 Add daemonic NoCeM handling to Gnus.
(defalias 'gnus-demon-add-nocem #[nil "ÀÁÂÃ#‡" [gnus-demon-add-handler gnus-demon-scan-nocem 60 t] 4 (#$ . 3742)])
#@39 Scan NoCeM groups for NoCeM messages.
(defalias 'gnus-demon-scan-nocem #[nil "À ‡" [gnus-nocem-scan-groups] 1 (#$ . 3900)])
#@44 Add daemonic server disconnection to Gnus.
(defalias 'gnus-demon-add-disconnection #[nil "ÀÁÂÃ#‡" [gnus-demon-add-handler gnus-demon-close-connections nil 30] 4 (#$ . 4030)])
(defalias 'gnus-demon-close-connections #[nil "À ‡" [gnus-close-backends] 1])
#@55 Add daemonic scanning of mail from the mail backends.
(defalias 'gnus-demon-add-scanmail #[nil "ÀÁÂÃ#‡" [gnus-demon-add-handler gnus-demon-scan-mail 120 60] 4 (#$ . 4289)])
(defalias 'gnus-demon-scan-mail #[nil "Á‰A@@‰…+ ÄÅ\n@\"ƒ Æ\n!„# Ç\n!ƒ ÈÁ\n\"ˆ‚ *‡" [gnus-opened-servers nil server servers gnus-check-backend-function request-scan gnus-server-opened gnus-open-server gnus-request-scan] 3])
(provide (quote gnus-demon))
