;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:45:15 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/gnus/nnbabyl.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`nnbabyl.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\302\303!\210\304\305\306\217\210\302\307!\210\302\310!\210\311\312\313\304\"\304\211FB\311\314D	B\304\207" [nnoo-definition-alist nnoo-state-alist require nnheader nil (byte-code "\300\301!\207" [require rmail] 2) ((t (nnheader-message 5 "Ignore rmail errors from this file, you don't have rmail"))) nnmail nnoo nnbabyl mapcar #[(p) "C\207" [p] 1] "*internal-non-initialized-backend*"] 4)
#@61 The name of the rmail box file in the users home directory.
(defvar nnbabyl-mbox-file (expand-file-name "~/RMAIL") (#$ . 1027))
(nnoo-define 'nnbabyl-mbox-file nil)
#@48 The name of the active file for the rmail box.
(defvar nnbabyl-active-file (expand-file-name "~/.rmail-active") (#$ . 1198))
(nnoo-define 'nnbabyl-active-file nil)
#@75 If non-nil, nnbabyl will check the incoming mail file and split the mail.
(defvar nnbabyl-get-new-mail t (#$ . 1368))
(nnoo-define 'nnbabyl-get-new-mail nil)
#@48 Hook run narrowed to an article before saving.
(defvar nnbabyl-prepare-save-mail-hook nil (#$ . 1532))
(byte-code "\302\303\304\"\210\301B\305\301!\204 \306\304\207" [current-load-list nnbabyl-mail-delimiter nnoo-define nnbabyl-prepare-save-mail-hook nil boundp ""] 3)
#@18 nnbabyl version.
(defconst nnbabyl-version "nnbabyl 1.0" (#$ . 1812))
(byte-code "\301B\306\301!\204\f \307\310\301\307\"\210\302B\306\302!\204 \307\310\302\307\"\210\303B\306\303!\204. \311\310\303\307\"\210\304B\306\304!\204? \307\310\304\307\"\210\305B\306\305!\204P \307\310\305\307\"\210\312B\306\312!\204b \307\n\310\312\307\"\210\313\314\315\"\210\316\317!\207" [current-load-list nnbabyl-mbox-buffer nnbabyl-current-group nnbabyl-status-string nnbabyl-group-alist nnbabyl-active-timestamp boundp nil nnoo-define "" nnbabyl-previous-buffer-mode autoload gnus-set-text-properties "gnus-ems" nnoo-define-basics-1 nnbabyl] 3)
(defalias 'nnbabyl-retrieve-headers #[(articles &optional group server fetch-old) "\212q\210\306 \210	G\307\310\nP\311\211\211\211\"#$%\312&'\"\210	\211A@\211\"\203\264 \313\"!(q\210\311\210\314\311\315#\204J \316\311\315#\203\212 \317#\311\315#\204V eb\210\320\321!\204c \322\323y!\204V `\314\324\311\315#\210`Sq\210\325c\210\326\"p\"\210\327c\210\330(\f#\210db\210\331c\210)\247\203# %)V\203# \322$T\211$\332\246!\203# \333\334\335$\336_%\245#\210\202# )\247\203\307 %)V\203\307 \333\334\337\"\210q\210\340 \210.\341\207" [nntp-server-buffer articles nnbabyl-mail-delimiter stop start art-string erase-buffer 0 "^" nil nnbabyl-possibly-change-newsgroup nnbabyl-article-string search-forward t search-backward re-search-backward looking-at ".+:" zerop 1 "\n\n" "221 " princ " Article retrieved.\n" insert-buffer-substring ".\n" 20 nnheader-message 5 "nnbabyl: Receiving headers... %d%%" 100 "nnbabyl: Receiving headers...done" nnheader-fold-continuation-lines headers article delim count number group server nnbabyl-mbox-buffer nnmail-large-newsgroup] 7])
(nnoo-register-function 'nnbabyl-retrieve-headers)
(defalias 'nnbabyl-open-server #[(server &optional defs) "\303\304	#\210\305 \210\306\n!\204 \307 \210\310\304\311\n#\207\312\n!\203' \307 \210\310\304\313\n#\207\310\304\314\n$\210\315\207" [server defs nnbabyl-mbox-file nnoo-change-server nnbabyl nnbabyl-create-mbox file-exists-p nnbabyl-close-server nnheader-report "No such file: %s" file-directory-p "Not a regular file: %s" "Opened server %s using mbox %s" t] 5])
(nnoo-register-function 'nnbabyl-open-server)
(defalias 'nnbabyl-close-server #[(&optional server) "\304 \203  \203  \212	q\210\211@@)\211@A)}\210A \210)\305\306\"\210\307\310\207" [nnbabyl-previous-buffer-mode nnbabyl-mbox-buffer x server nnbabyl-server-opened nnoo-close-server nnbabyl nil t] 4])
(nnoo-register-function 'nnbabyl-close-server)
(defalias 'nnbabyl-server-opened #[(&optional server) "\305\306	!\n\203 \307\310\n#\202 \232*\205* \205* \311!\205* \f\205* \311\f!\207" [server backend nnoo-parent-backend nnbabyl-mbox-buffer nntp-server-buffer nnbabyl nnoo-current-server format "%s+%s" buffer-name] 5])
(nnoo-register-function 'nnbabyl-server-opened)
(defalias 'nnbabyl-request-article #[(article &optional newsgroup server buffer) "\306	\"\210\212\nq\210eb\210\307\310!\311\312#\205\245 \311\211\211\313\314P\311\312#\204. eb\210\311\210\315\316!\204; \317\320y!\204. `\321\314P\311\312#\203O \322 \210\202R db\210`\206[ \211q\210\323 \210\324\n#\210eb\210\315\325!\307\326\311\312#\203\226 \f\203\207 e\320y\210`|\210\202\226 \322 \210`\307\327\311\312#\206\224 `|\210\247\203\242 B\202\244 \330 ,)\207" [newsgroup server nnbabyl-mbox-buffer article summary-line stop nnbabyl-possibly-change-newsgroup search-forward nnbabyl-article-string nil t re-search-backward "^" looking-at ".+:" zerop 1 re-search-forward beginning-of-line erase-buffer insert-buffer-substring "Summary-line:" "\n*** EOOH ***" "\n\n" nnbabyl-article-group-number start nnbabyl-mail-delimiter buffer nntp-server-buffer nnbabyl-current-group] 6])
(nnoo-register-function 'nnbabyl-request-article)
(defalias 'nnbabyl-request-group #[(group &optional server dont-check) "\306	\"\211A@)\212\203 \307\f\"\204 \310\311\312#\202B \203. \310\311\313#\210\314\315!\202B \310\311\313#\210\314\316A@ZT@A%*\207" [group nnbabyl-group-alist x active server dont-check assoc nnbabyl-possibly-change-newsgroup nnheader-report nnbabyl "No such group: %s" "Selected group %s" nnheader-insert "" "211 %d %d %d %s\n"] 7])
(nnoo-register-function 'nnbabyl-request-group)
(defalias 'nnbabyl-request-scan #[(&optional group server) "\303	\"\210\304 \210\305\306\307\310\n!\311%\207" [group server nnbabyl-mbox-file nnbabyl-possibly-change-newsgroup nnbabyl-read-mbox nnmail-get-new-mail nnbabyl #[nil "\212q\210\301 )\207" [nnbabyl-mbox-buffer save-buffer] 1] file-name-directory #[nil "\212peb\210\304\305\306\307#\203 \310\311!\210\202 	q\210db\210\312\313\306\307#\210\314\225b\210\315!\210*\316\n\"\207" [in-buf nnbabyl-mbox-buffer nnbabyl-group-alist nnbabyl-active-file search-forward "\n\n" nil t delete-char -1 search-backward "\n" 0 insert-buffer-substring nnmail-save-active] 4]] 6])
(nnoo-register-function 'nnbabyl-request-scan)
(defalias 'nnbabyl-close-group #[(group &optional server) "\300\207" [t] 1])
(nnoo-register-function 'nnbabyl-close-group)
(defalias 'nnbabyl-request-create-group #[(group &optional server args) "\303\304!\210\305	\"\204 \306\307BD	B\310	\n\"\210\311\207" [group nnbabyl-group-alist nnbabyl-active-file nnmail-activate nnbabyl assoc 1 0 nnmail-save-active t] 3])
(nnoo-register-function 'nnbabyl-request-create-group)
(defalias 'nnbabyl-request-list #[(&optional server) "\212\302!\210\303 )\304\207" [nnbabyl-active-file nnbabyl-group-alist nnmail-find-file nnmail-get-active t] 2])
(nnoo-register-function 'nnbabyl-request-list)
(defalias 'nnbabyl-request-newgroups #[(date &optional server) "\301!\207" [server nnbabyl-request-list] 2])
(nnoo-register-function 'nnbabyl-request-newgroups)
(defalias 'nnbabyl-request-list-newsgroups #[(&optional server) "\300\301\302\"\207" [nnheader-report nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."] 3])
(nnoo-register-function 'nnbabyl-request-list-newsgroups)
(defalias 'nnbabyl-request-expire-articles #[(articles newsgroup &optional server force) "\306	\"\210\307\310\311\312!\210\212\fq\210\313ed\310#\210\203W \n\203W eb\210\314\315@!\310\307#\203P \316`\310\210`{#\211\203K \317\320\321@$\210\322 \210\202P @BA\211\204 \323 \210\324\"A@eb\210\314\315@!\310\307#\204\211 @AX\203\211 \211@T\240\210eb\210\202f )\325\"\210\244+\207" [newsgroup server is-old rest nnbabyl-mbox-buffer articles nnbabyl-possibly-change-newsgroup t nil nnmail-activate nnbabyl gnus-set-text-properties search-forward nnbabyl-article-string nnmail-expired-article-p nnheader-message 5 "Deleting article %d in %s..." nnbabyl-delete-mail save-buffer assoc nnmail-save-active force nnbabyl-group-alist active nnbabyl-active-file] 6])
(nnoo-register-function 'nnbabyl-request-expire-articles)
(defalias 'nnbabyl-request-move-article #[(article group server accept-form &optional last) "\306\307!\310\311\n\f#\203g \212	q\210\312!\210eb\210\313\314\212\315\316\310\317#\210`)\317#\2036 \320 \210`\321y\210`|\210\202 \322!\323p!\210)\203g \212\324\f\"\210q\210eb\210\315\325\n!\310\317#\203^ \326 \210\203f \327 \210)*\207" [result buf article group server nntp-server-buffer get-buffer-create " *nnbabyl move*" nil nnbabyl-request-article insert-buffer-substring re-search-forward "^X-Gnus-Newsgroup:" search-forward "\n\n" t beginning-of-line 1 eval kill-buffer nnbabyl-possibly-change-newsgroup nnbabyl-article-string nnbabyl-delete-mail save-buffer accept-form nnbabyl-mbox-buffer last] 6])
(nnoo-register-function 'nnbabyl-request-move-article)
(defalias 'nnbabyl-request-accept-article #[(group &optional server last) "\306	\"\210\307 \210p\310\211\311\312!\205\223 \212eb\210\313\314\310\315#\210\316y\210\212\317\320\n\315#\2034 `\321y\210`|\210\202\" )\203? \322\323\324!!\210;\203M \325!BC\202P \326\325!\211\204` \327\330!\203` \331\202e \332!@!q\210db\210\333\334!\210\335\225b\210\336\f!\210\"\203\221 \203\207 \322\323\324!!\210\337 \210\340#$\"\210)+\207" [group server beg result buf nnmail-cache-accepted-message-ids nnbabyl-possibly-change-newsgroup nnmail-check-syntax nil nnmail-activate nnbabyl search-forward "\n\n" t -1 re-search-backward "^X-Gnus-Newsgroup: " 1 nnmail-cache-insert nnmail-fetch-field "message-id" nnbabyl-active-number nnmail-article-group yes-or-no-p "Moved to `junk' group; delete article? " junk nnbabyl-save-mail search-backward "\n" 0 insert-buffer-substring save-buffer nnmail-save-active nnbabyl-mbox-buffer last nnbabyl-group-alist nnbabyl-active-file] 5])
(nnoo-register-function 'nnbabyl-request-accept-article)
(defalias 'nnbabyl-request-replace-article #[(article group buffer) "\304!\210\212	q\210eb\210\305\306\n!\307\310#\205\" \311\310\211\"\210\312!\210\313 \210\310)\207" [group nnbabyl-mbox-buffer article buffer nnbabyl-possibly-change-newsgroup search-forward nnbabyl-article-string nil t nnbabyl-delete-mail insert-buffer-substring save-buffer] 4])
(nnoo-register-function 'nnbabyl-request-replace-article)
(defalias 'nnbabyl-request-delete-group #[(group &optional force server) "\306	\"\210\n\2031 \212q\210eb\210\307\f\310Q\311\312\311\313#\203) \313\314 \210\202 \2030 \315 \210+\316\317\"\"\311\320\"\210\313\207" [group server force nnbabyl-mbox-buffer nnbabyl-current-group found nnbabyl-possibly-change-newsgroup "\nX-Gnus-Newsgroup: " ":" nil search-forward t nnbabyl-delete-mail save-buffer delq assoc nnmail-save-active ident nnbabyl-group-alist nnbabyl-active-file] 4])
(nnoo-register-function 'nnbabyl-request-delete-group)
(defalias 'nnbabyl-request-rename-group #[(group new-name &optional server) "\306	\"\210\212\nq\210eb\210\307\310Q\307\f\310Q\311\312\311\313#\203/ \314\313\211#\210\313\202 \2036 \315 \210,\316\"\211\203G \f\240\210\311\317\"\210)\313\207" [group server nnbabyl-mbox-buffer nnbabyl-current-group new-name found nnbabyl-possibly-change-newsgroup "\nX-Gnus-Newsgroup: " ":" nil search-forward t replace-match save-buffer assoc nnmail-save-active new-ident ident nnbabyl-group-alist entry nnbabyl-active-file] 5])
(nnoo-register-function 'nnbabyl-request-rename-group)
(defalias 'nnbabyl-delete-mail #[(&optional force leave-delim) "\204 \303 \210`\304y\210`|\210\212\214~\210\212\305\306	P\307\310#\204# eb\210\307\210\n\203. \304y\210`\2020 \311\224)\304y\210\312\306	P\307\310#\203C \311\224\206D d}\210eb\210\204V \312\313\307\310#?\205Y ed|*\207" [force nnbabyl-mail-delimiter leave-delim beginning-of-line 1 re-search-backward "^" nil t 0 re-search-forward "^X-Gnus-Newsgroup: "] 5])
(defalias 'nnbabyl-possibly-change-newsgroup #[(newsgroup &optional server) "\203 \305!\204 \306!\210	\203 \307	!\204 \212\310 \210)\n\204% \311\312!\210\2039 \313\n\"\2034 \211\207\314\312\315\"\207\316\207" [server nnbabyl-mbox-buffer nnbabyl-group-alist newsgroup nnbabyl-current-group nnbabyl-server-opened nnbabyl-open-server buffer-name nnbabyl-read-mbox nnmail-activate nnbabyl assoc nnheader-report "No such group in file" t] 3])
(defalias 'nnbabyl-article-string #[(article) "\247\203 \302	\303\304!\305\260\207\306P\207" [article nnbabyl-current-group "\nX-Gnus-Newsgroup: " ":" int-to-string " " "\nMessage-ID: "] 5])
(defalias 'nnbabyl-article-group-number #[nil "\212eb\210\300\301\302\303#\205 \304\224\304\225{\305\306\224\306\225{!B)\207" [re-search-forward "^X-Gnus-Newsgroup: +\\([^:]+\\):\\([0-9]+\\) " nil t 1 string-to-int 2] 4])
#@68 Insert how many lines and chars there are in the body of the mail.
(defalias 'nnbabyl-insert-lines #[nil "\302\211\212eb\210\303\304\302\305#\205L \306\307!\203 \303\304\302\305#\210d`Z\310`d\"S\311]eb\210\303\304\302\305#\210\312u\210\212\313\314\302\305#\203D `\315y\210`|\210)\316\317	\"c\210+\207" [chars lines nil search-forward "\n\n" t looking-at "\\*\\*\\* EOOH \\*\\*\\*" count-lines 0 -1 re-search-backward "^Lines: " 1 format "Lines: %d\n"] 4 (#$ . 13328)])
(defalias 'nnbabyl-save-mail #[(group-art) "\301 \210\302!\210\303!\210\304\305!\210\207" [group-art nnbabyl-insert-lines nnmail-insert-xref nnbabyl-insert-newsgroup-line run-hooks nnbabyl-prepare-save-mail-hook] 2])
(defalias 'nnbabyl-insert-newsgroup-line #[(group-art) "\212eb\210\302\303!\203 \304\305\306\211#\210\307y\210\202 eb\210\302\310!\204* \212\311c\210db\210\312c\210)\313\314\315\306#\203S \316u\210\203S \317\320\211@@)\211@A)\321 $c\210A\211\2049 )\306\207" [group-art x looking-at "From " replace-match "Mail-from: From " t 1 "\f" "\f\n0, unseen,,\n*** EOOH ***\n" "\n" search-forward "\n\n" nil -1 format "X-Gnus-Newsgroup: %s:%d   %s\n" current-time-string] 6])
(defalias 'nnbabyl-active-number #[(group) "\304	\"\211A@)\211\203 \211AT\241\210\202! \305\211B\211D	BA)\207" [group nnbabyl-group-alist x active assoc 1] 4])
(defalias 'nnbabyl-create-mbox #[nil "\303!?\205 \212\304!\211q\210\305c\210\306ed\307\310%)\207" [nnbabyl-mbox-file nnbabyl-mbox-buffer buffer-file-name file-exists-p create-file-buffer "BABYL OPTIONS:\n\n" nnmail-write-region t nomesg] 6])
(defalias 'nnbabyl-read-mbox #[nil "\306\307!\210\310 \210\205 \311!\205 \212q\210\312 \313	!U)?\205\356 \212\314\nP\315\211\211#$%\316	\315\317#\211q\210edB&B'\320 \210~\210\315(\321 \210$\203\222 db\210\322\323\324$\211)@@)\"\315\317#\203\211 \325\326\224\326\225{!\211$\211)@A)@AV\203\211 $\211)@A)@\f\241\210$A\211$\204Q eb\210\327\330!\203\241 `#\202\254 \331%\315\317#\210\332\225#\331%\315\317#\203\336 \332\225\333\334#\317#\204\325 b\210\212\214#b}\210\335\336\337!!\210d*\211#b\210\202\254 \340p!\203\347 \341 \210\342*\".\207" [nnbabyl-mbox-buffer nnbabyl-mbox-file nnbabyl-mail-delimiter nnbabyl-group-alist number end nnmail-activate nnbabyl nnbabyl-create-mbox buffer-name buffer-size nnheader-file-size "^" nil nnheader-find-file-noselect t buffer-disable-undo fundamental-mode re-search-backward format "^X-Gnus-Newsgroup: %s:\\([0-9]+\\) " string-to-number 1 looking-at "\f" re-search-forward 0 search-backward "\nX-Gnus-Newsgroup: " nnbabyl-save-mail nnmail-article-group nnbabyl-active-number buffer-modified-p save-buffer nnmail-save-active start alist delim major-mode nnbabyl-previous-buffer-mode buffer-read-only x nnbabyl-active-file] 6])
(defalias 'nnbabyl-remove-incoming-delims #[nil "eb\210\300\301\302\303#\205 \304\305\303\211#\210\202 \207" [search-forward "" nil t replace-match "?"] 4])
#@79 Go through the nnbabyl mbox and make sure that no article numbers are reused.
(defalias 'nnbabyl-check-mbox #[nil "\305\306\307\"\310\212\n\203 \311\n!\204 \312 \210\nq\210eb\210\313\314\310\315#\203O \316\317\320!\211	\"\203G \321 \210`\320y\210`|\210\322\323\324#\210\325\326\327!!\210\202 \330	\"\210\202 \331p!\203X \332 \210\333\f\"\210\322\334\335\"+\207" [id idents nnbabyl-mbox-buffer nnbabyl-group-alist nnbabyl-active-file make-vector 1000 0 nil buffer-name nnbabyl-read-mbox re-search-forward "^X-Gnus-Newsgroup: \\([^ ]+\\) " t intern-soft match-string 1 beginning-of-line nnheader-message 7 "Moving %s..." nnbabyl-save-mail nnmail-article-group nnbabyl-active-number intern buffer-modified-p save-buffer nnmail-save-active 5 ""] 4 (#$ . 16286) nil])
(provide 'nnbabyl)
