;ELC   
;;; compiled by amu@mit.edu on Sat Sep 13 16:20:20 1997
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.4.67/lisp/nnbabyl.el
;;; emacs version 19.30.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 "`nnbabyl.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÀÂ!ˆÀÃ!ˆÀÄ!ˆÅÆÇÈ\"È‰F	B	ÅÊDBÈ‡" [require nnheader rmail nnmail nnoo nnbabyl mapcar #[(p) "C‡" [p] 1] nil nnoo-definition-alist "*internal-non-initialized-backend*" nnoo-state-alist] 4)
#@61 The name of the rmail box file in the users home directory.
(defvar nnbabyl-mbox-file (expand-file-name "~/RMAIL") (#$ . 700))
(nnoo-define (quote nnbabyl-mbox-file) nil)
#@48 The name of the active file for the rmail box.
(defvar nnbabyl-active-file (expand-file-name "~/.rmail-active") (#$ . 877))
(nnoo-define (quote 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 (#$ . 1053))
(nnoo-define (quote nnbabyl-get-new-mail) nil)
#@48 Hook run narrowed to an article before saving.
(defvar nnbabyl-prepare-save-mail-hook nil (#$ . 1224))
(byte-code "ÀÁÂ\"ˆÃÄ!„ ÅÄBÂ‡" [nnoo-define nnbabyl-prepare-save-mail-hook nil boundp nnbabyl-mail-delimiter "" current-load-list] 3)
#@18 nnbabyl version.
(defconst nnbabyl-version "nnbabyl 1.0" (#$ . 1473))
(byte-code "ÀÁ!„ ÂÁBÄÁÂ\"ˆÀÅ!„ ÂÅBÄÅÂ\"ˆÀÆ!„+ ÇÆBÄÆÂ\"ˆÀÈ!„= ÂÈBÄÈÂ\"ˆÀÉ!„O Â	ÉBÄÉÂ\"ˆÀÊ!„a Â\nÊBÄÊÂ\"ˆËÌÍ\"ˆÎÏ!‡" [boundp nnbabyl-mbox-buffer nil current-load-list nnoo-define nnbabyl-current-group nnbabyl-status-string "" nnbabyl-group-alist nnbabyl-active-timestamp 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) "ŠqˆÁ ˆ\nGÃÄPÆ‰‰‰	\n\fÎ\"ˆ\n‰A@‰\nƒ¾ Ñ\n!	qˆÆˆÓ	ÆÔ#„P Õ	ÆÔ#ƒ” ÖÆÔ#„\\ ebˆ×Ø!„i ÙyÃU„\\ `ÓÚÆÔ#ˆ`SqˆÛcˆÜ\np\"ˆÝcˆÞ#ˆdbˆßcˆ §ƒ&  Vƒ& \fT‰\fá¦ÃUƒ& âãä\få_¥#ˆ‚&  §ƒÑ  VƒÑ âãæ\"ˆqˆç ˆ.è‡" [nntp-server-buffer erase-buffer articles 0 "^" nnbabyl-mail-delimiter nil stop start art-string article delim count number nnbabyl-possibly-change-newsgroup group server nnbabyl-article-string nnbabyl-mbox-buffer search-forward t search-backward re-search-backward looking-at ".+:" 1 "\n\n" "221 " princ " Article retrieved.\n" insert-buffer-substring ".\n" nnmail-large-newsgroup 20 nnheader-message 5 "nnbabyl: Receiving headers... %d%%" 100 "nnbabyl: Receiving headers...done" nnheader-fold-continuation-lines headers] 7])
(nnoo-register-function (quote nnbabyl-retrieve-headers))
(defalias 'nnbabyl-open-server #[(server &optional defs) "ÀÁ\n#ˆÄ ˆÅ!„ Ç ˆÈÁÉ#‡Ê!ƒ+ Ç ˆÈÁË#‡ÈÁÌ\n$ˆÍ‡" [nnoo-change-server nnbabyl server defs nnbabyl-create-mbox file-exists-p nnbabyl-mbox-file 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 (quote nnbabyl-open-server))
(defalias 'nnbabyl-close-server #[(&optional server) "À ƒ 	ƒ Š\nqˆ	@@	@A}ˆ	A ˆ)ÃÄ\"ˆÆÇ‡" [nnbabyl-server-opened nnbabyl-previous-buffer-mode nnbabyl-mbox-buffer nnoo-close-server nnbabyl server nil t] 3])
(nnoo-register-function (quote nnbabyl-close-server))
(defalias 'nnbabyl-server-opened #[(&optional server) "À	Ã\n!	*š…  \f…  Å\f!…  …  Å!‡" [nnbabyl server backend nnoo-current-server nnbabyl-mbox-buffer buffer-name nntp-server-buffer] 2])
(nnoo-register-function (quote nnbabyl-server-opened))
(defalias 'nnbabyl-request-article #[(article &optional newsgroup server buffer) "À	\n\"ˆŠqˆebˆÄÅ!ÇÈ#…® Ç‰‰	\nÌÍPÇÈ#„1 ebˆÇˆÏÐ!„> ÑyÒU„1 `ÓÍPÇÈ#ƒR Òyˆ‚U dbˆ`\n†_ ‰qˆÖ ˆ×\n#ˆebˆÏØ!	ÄÙÇÈ#ƒ� 	ƒŽ eÑyˆ`|ˆ‚� Òyˆ`ÄÚÇÈ#†› `|ˆ§ƒ« B‚­ Ü ,)‡" [nnbabyl-possibly-change-newsgroup newsgroup server nnbabyl-mbox-buffer search-forward nnbabyl-article-string article nil t summary-line stop start re-search-backward "^" nnbabyl-mail-delimiter looking-at ".+:" 1 0 re-search-forward buffer nntp-server-buffer erase-buffer insert-buffer-substring "Summary-line:" "\n*** EOOH ***" "\n\n" nnbabyl-current-group nnbabyl-article-group-number] 6])
(nnoo-register-function (quote nnbabyl-request-article))
(defalias 'nnbabyl-request-group #[(group &optional server dont-check) "À	\n\"A@Šƒ Ä	\"„ ÆÇÈ	#‚@ 	ƒ, ÆÇÊ	#ˆËÌ!‚@ ÆÇÊ	#ˆËÍA@ZT@A	%*‡" [assoc group nnbabyl-group-alist active nnbabyl-possibly-change-newsgroup server nnheader-report nnbabyl "No such group: %s" dont-check "Selected group %s" nnheader-insert "" "211 %d %d %d %s\n"] 6])
(nnoo-register-function (quote nnbabyl-request-group))
(defalias 'nnbabyl-request-scan #[(&optional group server) "À	\n\"ˆÃ ˆÄÅÆÇ!	É%‡" [nnbabyl-possibly-change-newsgroup group server nnbabyl-read-mbox nnmail-get-new-mail nnbabyl #[nil "ŠqˆÁ )‡" [nnbabyl-mbox-buffer save-buffer] 1] file-name-directory nnbabyl-mbox-file #[nil "ŠpebˆÁÂÃÄ#ƒ ÅÆ!ˆ‚ qˆdbˆÈÉÃÄ#ˆÊ•bˆË!ˆ*Ì\"‡" [in-buf search-forward "\n\n" nil t delete-char -1 nnbabyl-mbox-buffer search-backward "\n" 0 insert-buffer-substring nnmail-save-active nnbabyl-group-alist nnbabyl-active-file] 4]] 6])
(nnoo-register-function (quote nnbabyl-request-scan))
(defalias 'nnbabyl-close-group #[(group &optional server) "À‡" [t] 1])
(nnoo-register-function (quote nnbabyl-close-group))
(defalias 'nnbabyl-request-create-group #[(group &optional server args) "ÀÁ!ˆÂ\f\"„ ÅÆBD\fBÇ\f\"ˆÉ‡" [nnmail-activate nnbabyl assoc group nnbabyl-group-alist 1 0 nnmail-save-active nnbabyl-active-file t] 3])
(nnoo-register-function (quote nnbabyl-request-create-group))
(defalias 'nnbabyl-request-list #[(&optional server) "ŠÀ	!ˆÂ )Ä‡" [nnmail-find-file nnbabyl-active-file nnmail-get-active nnbabyl-group-alist t] 2])
(nnoo-register-function (quote nnbabyl-request-list))
(defalias 'nnbabyl-request-newgroups #[(date &optional server) "À	!‡" [nnbabyl-request-list server] 2])
(nnoo-register-function (quote nnbabyl-request-newgroups))
(defalias 'nnbabyl-request-list-newsgroups #[(&optional server) "ÀÁÂ\"‡" [nnheader-report nnbabyl "nnbabyl: LIST NEWSGROUPS is not implemented."] 3])
(nnoo-register-function (quote nnbabyl-request-list-newsgroups))
(defalias 'nnbabyl-request-expire-articles #[(articles newsgroup &optional server force) "À	\n\"ˆÃÅÇÈ!ˆŠ	qˆÊedÅ#ˆƒa \fƒa ebˆÌÍ@!ÅÃ#ƒX Î	`Åˆ`{#‰ƒP ÐÑÒ@	$ˆÓ ˆ‚X @BA‰„ Ô ˆÕ	\"A@ebˆÌÍ@!ÅÃ#„“ @AXƒ“ ‰@T ˆebˆ‚p )Ø\"ˆ¤+‡" [nnbabyl-possibly-change-newsgroup newsgroup server t is-old nil rest nnmail-activate nnbabyl nnbabyl-mbox-buffer gnus-set-text-properties articles search-forward nnbabyl-article-string nnmail-expired-article-p force nnheader-message 5 "Deleting article %d in %s..." nnbabyl-delete-mail save-buffer assoc nnbabyl-group-alist active nnmail-save-active nnbabyl-active-file] 6])
(nnoo-register-function (quote nnbabyl-request-expire-articles))
(defalias 'nnbabyl-request-move-article #[(article group server accept-form &optional last) "ÀÁ!ÂÅ#ƒn Š\fqˆÉ\n!ˆebˆËÌŠÍÎÂÏ#ˆ`)Ï#ƒ: Ðyˆ`Ñyˆ`|ˆ‚ Ò!Ôp!ˆ)ƒn ŠÕ\"ˆqˆebˆÍ×!ÂÏ#ƒe Ø ˆƒm Ú ˆ)*‡" [get-buffer-create " *nnbabyl move*" nil result buf nnbabyl-request-article article group server insert-buffer-substring nntp-server-buffer re-search-forward "^X-Gnus-Newsgroup:" search-forward "\n\n" t 0 1 eval accept-form kill-buffer nnbabyl-possibly-change-newsgroup nnbabyl-mbox-buffer nnbabyl-article-string nnbabyl-delete-mail last save-buffer] 6])
(nnoo-register-function (quote nnbabyl-request-move-article))
(defalias 'nnbabyl-request-accept-article #[(group &optional server last) "À	\n\"ˆÃ ˆpÄ‰ÈÉ!…� ŠebˆÊËÄÌ#ˆÍyˆŠÎÏÌ#ƒ6 `Ðyˆ`|ˆ‚$ )ƒB ÒÓÔ!!ˆ	;ƒP 	Õ	!BC‚S ÖÕ!‰„e ×Ø!ƒe Ù‚l Ú!@qˆdbˆÜÝ!ˆÞ•bˆß!ˆ ƒš ƒ� ÒÓÔ!!ˆá ˆâ#$\"ˆ)+‡" [nnbabyl-possibly-change-newsgroup group server nnmail-check-syntax nil beg result buf nnmail-activate nnbabyl search-forward "\n\n" t -1 re-search-backward "^X-Gnus-Newsgroup: " 1 nnmail-cache-accepted-message-ids 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 nnbabyl-mbox-buffer search-backward "\n" 0 insert-buffer-substring last save-buffer nnmail-save-active nnbabyl-group-alist nnbabyl-active-file] 5])
(nnoo-register-function (quote nnbabyl-request-accept-article))
(defalias 'nnbabyl-request-replace-article #[(article group buffer) "À	!ˆŠ\nqˆebˆÃÄ!ÆÇ#…# ÈÇ‰\"ˆÉ\n!ˆË ˆÇ)‡" [nnbabyl-possibly-change-newsgroup group nnbabyl-mbox-buffer search-forward nnbabyl-article-string article nil t nnbabyl-delete-mail insert-buffer-substring buffer save-buffer] 4])
(nnoo-register-function (quote nnbabyl-request-replace-article))
(defalias 'nnbabyl-request-delete-group #[(group &optional force server) "À	\n\"ˆƒ5 Š\fqˆebˆÅÇQÈ	\nË\nÈÌ#ƒ, Ì	Í ˆ‚ 	ƒ4 Î ˆ+ÏÐ	\"\"ÈÒ\"ˆÌ‡" [nnbabyl-possibly-change-newsgroup group server force nnbabyl-mbox-buffer "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" nil found ident search-forward t nnbabyl-delete-mail save-buffer delq assoc nnbabyl-group-alist nnmail-save-active nnbabyl-active-file] 4])
(nnoo-register-function (quote nnbabyl-request-delete-group))
(defalias 'nnbabyl-request-rename-group #[(group new-name &optional server) "À	\n\"ˆŠqˆebˆÄÆQÄÆQÈ	\nÌÈÍ#ƒ2 Î\nÍ‰#ˆÍ	‚ 	ƒ: Ï ˆ,Ð	\"‰ƒL  ˆÈÓ\"ˆ)Í‡" [nnbabyl-possibly-change-newsgroup group server nnbabyl-mbox-buffer "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" new-name nil found new-ident ident search-forward t replace-match save-buffer assoc nnbabyl-group-alist entry nnmail-save-active nnbabyl-active-file] 5])
(nnoo-register-function (quote nnbabyl-request-rename-group))
(defalias 'nnbabyl-delete-mail #[(&optional force leave-delim) "„ Áyˆ`Âyˆ`|ˆŠŒ~ˆŠÃÄPÆÇ#„# ebˆÆˆƒ/ Âyˆ`‚1 Á”)ÂyˆÉÄPÆÇ#ƒD Á”†E d}ˆebˆ„W ÉÊÆÇ#?…Z ed|*‡" [force 0 1 re-search-backward "^" nnbabyl-mail-delimiter nil t leave-delim re-search-forward "^X-Gnus-Newsgroup: "] 5])
(defalias 'nnbabyl-possibly-change-newsgroup #[(newsgroup &optional server) "ƒ Á!„ Â!ˆƒ Ä!„ ŠÅ ˆ)„& ÇÈ!ˆ	ƒ? Ê	\"ƒ: 	‰‡ÌÈÍ\"‡Î‡" [server nnbabyl-server-opened nnbabyl-open-server nnbabyl-mbox-buffer buffer-name nnbabyl-read-mbox nnbabyl-group-alist nnmail-activate nnbabyl newsgroup assoc nnbabyl-current-group nnheader-report "No such group in file" t] 3])
(defalias 'nnbabyl-article-string #[(article) "§ƒ Á\nÃÄ!Å°‡ÆP‡" [article "\nX-Gnus-Newsgroup: " nnbabyl-current-group ":" int-to-string " " "\nMessage-ID: "] 5])
(defalias 'nnbabyl-article-group-number #[nil "ŠebˆÀÁÂÃ#… Ä”Ä•{ÅÆ”Æ•{!B)‡" [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 "À‰ŠebˆÃÄÀÅ#…M ÆÇ!ƒ ÃÄÀÅ#ˆd`ZÈ`d\"ÉZÊ]ebˆÃÄÀÅ#ˆËuˆŠÌÍÀÅ#ƒE `Éyˆ`|ˆ)ÎÏ\n\"cˆ	+‡" [nil chars lines search-forward "\n\n" t looking-at "\\*\\*\\* EOOH \\*\\*\\*" count-lines 1 0 -1 re-search-backward "^Lines: " format "Lines: %d\n"] 4 (#$ . 10932)])
(defalias 'nnbabyl-save-mail #[(group-art) "À ˆÁ\n!ˆÃ\n!ˆÄÅ!ˆ\n‡" [nnbabyl-insert-lines nnmail-insert-xref group-art nnbabyl-insert-newsgroup-line run-hooks nnbabyl-prepare-save-mail-hook] 2])
(defalias 'nnbabyl-insert-newsgroup-line #[(group-art) "ŠebˆÀÁ!ƒ ÂÃÄ‰#ˆÅyˆ‚ ebˆÀÆ!„* ŠÇcˆdbˆÈcˆ)ÉÊËÄ#ƒR ÌuˆƒR ÎÏ@@@AÐ $cˆA‰„: )Ä‡" [looking-at "From " replace-match "Mail-from: From " t 1 "\f" "\f\n0, unseen,,\n*** EOOH ***\n" "\n" search-forward "\n\n" nil -1 group-art format "X-Gnus-Newsgroup: %s:%d   %s\n" current-time-string] 6])
(defalias 'nnbabyl-active-number #[(group) "À	\n\"A@‰ƒ ‰AT¡ˆ‚ 	Ä‰B‰D\nBA)‡" [assoc group nnbabyl-group-alist active 1] 4])
(defalias 'nnbabyl-create-mbox #[nil "À	!?… ŠÂ	!‰qˆ	ÅcˆÆed	ÇÈ%)‡" [file-exists-p nnbabyl-mbox-file create-file-buffer nnbabyl-mbox-buffer buffer-file-name "BABYL OPTIONS:\n\n" nnmail-write-region t nomesg] 6])
(defalias 'nnbabyl-read-mbox #[nil "ÀÁ!ˆÂ ˆ… Ä!… ŠqˆÅ Æ!U)?…ñ ŠÈ	P\nË‰‰\fÑËÒ#‰qˆedBBÕp!ˆ~ˆË× ˆƒ� dbˆØÙÚ@@\"ËÛ#ƒ† ÜÝ”Ý•{!‰\f@A@AVƒ† @A@\f¡ˆA‰„X ebˆÞß!ƒž `‚© àËÛ#ˆá•àËÛ#ƒà á•âãÛ#„Ö bˆŠŒb}ˆäåæ!!ˆd*‰bˆ‚© çp!ƒé è ˆé\n*\".‡" [nnmail-activate nnbabyl nnbabyl-create-mbox nnbabyl-mbox-buffer buffer-name buffer-size nnheader-file-size nnbabyl-mbox-file "^" nnbabyl-mail-delimiter nnbabyl-group-alist nil number end start alist delim nnheader-find-file-noselect raw major-mode nnbabyl-previous-buffer-mode buffer-disable-undo buffer-read-only fundamental-mode re-search-backward format "^X-Gnus-Newsgroup: %s:\\([0-9]+\\) " t 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 nnbabyl-active-file] 6])
(defalias 'nnbabyl-remove-incoming-delims #[nil "ebˆÀÁÂÃ#… ÄÅÃ‰#ˆ‚ ‡" [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 "ÀÁÂ\"ÃŠƒ Ç!„ È ˆqˆebˆÉÊÃË#ƒR ÌÍÎ!‰\"ƒJ Âyˆ`Îyˆ`|ˆÏÐÑ\f#ˆÒÓÔ!!ˆ‚ Õ\f\"ˆ‚ Öp!ƒ[ × ˆØ\"ˆÛÜ!+‡" [make-vector 1000 0 nil id idents nnbabyl-mbox-buffer buffer-name nnbabyl-read-mbox re-search-forward "^X-Gnus-Newsgroup: \\([^ ]+\\) " t intern-soft match-string 1 nnheader-message 7 "Moving %s..." nnbabyl-save-mail nnmail-article-group nnbabyl-active-number intern buffer-modified-p save-buffer nnmail-save-active nnbabyl-group-alist nnbabyl-active-file message ""] 4 (#$ . 13216) nil])
(provide (quote nnbabyl))
