;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))
