;ELC   
;;; compiled by amu@tux.mit.edu on Sun Nov 15 14:41:44 1998
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.6.44/lisp/gnus-demon.el
;;; emacs version 19.34.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"))


(byte-code "ﾀﾁ!安ﾂ!安ﾃ!安ﾄ!安ﾅ!安ﾆ!杏ﾈﾉ \"' ﾀﾊ!+ ﾀﾋ!偉ﾍﾎﾏﾁ%尉ﾒﾎﾓﾍﾕ&尉ﾖﾗﾘﾍﾙ&移ﾛ!Ц ﾎﾛBﾚﾝ!f ﾎﾝBﾚﾞ!е ﾟﾞBﾚ!т ﾎ Bﾚ! ﾎ!Bﾎ" [require gnus gnus-int nnheader nntp nnmail gnus-util string-match "XEmacs" emacs-version itimer timer custom-declare-group gnus-demon nil "Demonic behaviour." :group custom-declare-variable gnus-demon-handlers "Alist of daemonic handlers to be run at intervals.\nEach handler is a list on the form\n\n(FUNCTION TIME IDLE)\n\nFUNCTION is the function to be called.\nTIME is the number of `gnus-demon-timestep's between each call.\nIf nil, never call.  If t, call each `gnus-demon-timestep'.\nIf IDLE is t, only call if Emacs has been idle for a while.  If IDLE\nis a number, only call when Emacs has been idle more than this number\nof `gnus-demon-timestep's.  If IDLE is nil, don't care about\nidleness.  If IDLE is a number and TIME is nil, then call once each\ntime Emacs has been idle for IDLE `gnus-demon-timestep's." :type (repeat (list function (choice :tag "Time" (const :tag "never" nil) (const :tag "one" t) (integer :tag "steps" 1)) (choice :tag "Idle" (const :tag "don't care" nil) (const :tag "for a while" t) (integer :tag "steps" 1)))) gnus-demon-timestep 60 "*Number of seconds in each demon timestep." integer boundp gnus-demon-timer current-load-list gnus-demon-idle-has-been-called gnus-demon-idle-time 0 gnus-demon-handler-state gnus-demon-last-keys] 8)
#@48 *If non-nil, no daemonic function will be run.
(defvar gnus-inhibit-demon nil (#$ . -1946))
(byte-code "ﾀﾁﾂ\"安ﾃﾂ\"" [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 (#$ . 2139)])
#@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 (#$ . 2373)])
#@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 (#$ . 2599) 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 gnus-demon-idle-has-been-called (byte-code "ﾀﾁ!" [nnheader-cancel-function-timers gnus-demon] 2) ((error t))] 3 (#$ . 3064) 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 (#$ . 3342)])
#@66 Find out how many seconds to TIME, which is on the form "17:43".
(defalias 'gnus-demon-time-to-step #[(time) "; ﾁ ﾃﾄﾅ\n!\"ﾇ!ﾉﾊ!ﾉﾌ!ﾎﾊﾏﾐ弩О ﾐ弑ゴ ﾌ弭ゴ ﾌ５ ﾊ\\ﾑﾒﾓﾔﾕ&	@\n@Zﾗ_A@\nA@Z\\ﾙ･!." [time current-time now apply vector decode-time nowParts timezone-parse-time thenParts string-to-int 0 thenHour 1 thenMin encode-time 3 2 4 5 6 7 8 then 65536 diff round gnus-demon-timestep] 12 (#$ . 3495)])
#@63 The Gnus daemon that takes care of running all Gnus handlers.
(defalias 'gnus-demon #[nil "ﾀ  	T ﾂﾃﾅﾆ !?ﾒ ?ﾒ ﾉﾃ演\n\fﾑ 陰@\fA@ｧヲ ﾂUЦ \fASﾂU- ﾎ\f8\nボ \nｧブ \n	WＹ ﾂ	W- ﾏﾐﾑ処\fAﾒ\f@暸@!- ﾎ\f8\n- \nｧ┗ ﾀ Ρ ﾔﾕﾖ処- \f@\f>- \n	W- ﾀ - ﾗﾘﾙ処\f@\fB- -" [gnus-demon-is-idle-p gnus-demon-idle-time 0 nil gnus-demon-idle-has-been-called window-minibuffer-p selected-window gnus-inhibit-demon gnus-demon-handler-state t idle time handler handlers 2 G99131 (byte-code "@ " [handler] 1) ((error)) gnus-demon-time-to-step gnus-demon-handlers G99132 (byte-code "@ " [handler] 1) ((error)) G99133 (byte-code "@ " [handler] 1) ((error))] 6 (#$ . 3964)])
#@38 Add daemonic NoCeM handling to Gnus.
(defalias 'gnus-demon-add-nocem #[nil "ﾀﾁﾂﾃ#" [gnus-demon-add-handler gnus-demon-scan-nocem 60 30] 4 (#$ . 4689)])
#@39 Scan NoCeM groups for NoCeM messages.
(defalias 'gnus-demon-scan-nocem #[nil "ﾀ窮" [((gnus-nocem-scan-groups))] 1 (#$ . 4848)])
#@44 Add daemonic server disconnection to Gnus.
(defalias 'gnus-demon-add-disconnection #[nil "ﾀﾁﾂﾃ#" [gnus-demon-add-handler gnus-demon-close-connections nil 30] 4 (#$ . 4982)])
(defalias 'gnus-demon-close-connections #[nil "ﾀ窮" [((gnus-close-backends))] 1])
#@143 Add daemonic nntp server disconnection to Gnus.
If no commands have gone out via nntp during the last five
minutes, the connection is closed.
(defalias 'gnus-demon-add-nntp-close-connection #[nil "ﾀﾁﾂﾃ#" [gnus-demon-add-handler gnus-demon-close-connections 5 nil] 4 (#$ . 5246)])
(defalias 'gnus-demon-nntp-close-connection #[nil "ﾀ窮" [((byte-code "ﾀﾁﾂ!\" ﾄ " [nnmail-time-less (0 300) nnmail-time-since nntp-last-command-time nntp-close-server] 4))] 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 (#$ . 5713)])
(defalias 'gnus-demon-scan-mail #[nil "ﾀ窮" [((byte-code "ﾁﾄ 陰@@5 ﾅ\n@ﾈﾉﾊ* ﾋ\n!- ﾌ\n! ﾍﾁ\n\" *" [gnus-opened-servers nil server servers gnus-clear-inboxes-moved request-scan group func G99134 (byte-code ";ソf ﾁ!@ ﾃ\n! ﾄ\n!闇ﾆﾇﾈ\n	#!!)" [group gnus-find-method-for-group method featurep require fboundp intern format "%s-%s" func] 6) ((error)) gnus-server-opened gnus-open-server gnus-request-scan] 3))] 1])
#@58 Add daemonic scanning of new articles from all backends.
(defalias 'gnus-demon-add-rescan #[nil "ﾀﾁﾂﾃ#" [gnus-demon-add-handler gnus-demon-scan-news 120 60] 4 (#$ . 6333)])
(defalias 'gnus-demon-scan-news #[nil "ﾀ ﾂ偲*" [current-window-configuration win ((set-window-configuration win)) ((byte-code "澗  	q按 ))" [gnus-alive-p gnus-group-buffer gnus-group-get-new-news] 1))] 1])
#@57 Add daemonic updating of timestamps in empty newgroups.
(defalias 'gnus-demon-add-scan-timestamps #[nil "ﾀﾁﾂﾃ#" [gnus-demon-add-handler gnus-demon-scan-timestamps nil 30] 4 (#$ . 6726)])
#@76 Set the timestamp on all newsgroups with no unread and no ticked articles.
(defalias 'gnus-demon-scan-timestamps #[nil "ﾀ V ﾁ \nAﾃ演	陰@T @ﾊ\"J@ﾌﾍ8暸ｧ ﾎU \f ﾏﾐ	# ." [gnus-alive-p current-time gnus-newsrc-alist nil has-ticked unread group info newsrc cur-time intern-soft gnus-newsrc-hashtb tick 3 0 gnus-group-set-parameter timestamp] 6 (#$ . 6920)])
(provide (quote gnus-demon))
