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


(byte-code "!!!!!\"ɉF\nB\nD\fB\fɇ" [require nnheader nnmail gnus-soup gnus-msg nnoo nnsoup mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist "*internal-non-initialized-backend*" nnoo-state-alist] 4)
#@25 *SOUP packet directory.
(defvar nnsoup-directory "~/SOUP/" (#$ . -718))
(nnoo-define (quote nnsoup-directory) nil)
#@43 *Where nnsoup will store temporary files.
(defvar nnsoup-tmp-directory "/tmp/" (#$ . -839))
(nnoo-define (quote nnsoup-tmp-directory) nil)
#@53 *Directory where outgoing packets will be composed.
(defvar nnsoup-replies-directory (concat nnsoup-directory "replies/") (#$ . -984))
(nnoo-define (quote nnsoup-replies-directory) nil)
#@34 *Format of the replies packages.
(defvar nnsoup-replies-format-type 110 (#$ . -1176))
(nnoo-define (quote nnsoup-replies-format-type) nil)
#@38 *Index type of the replies packages.
(defvar nnsoup-replies-index-type 110 (#$ . -1321))
(nnoo-define (quote nnsoup-replies-index-type) nil)
#@14 Active file.
(defvar nnsoup-active-file (concat nnsoup-directory "active") (#$ . 1468))
(nnoo-define (quote nnsoup-active-file) nil)
#@206 Format string command for packing a SOUP packet.
The SOUP files will be inserted where the %s is in the string.
This string MUST contain both %s and %d.  The file number will be
inserted where %d appears.
(defvar nnsoup-packer "tar cf - %s | gzip > $HOME/Soupin%d.tgz" (#$ . 1608))
(nnoo-define (quote nnsoup-packer) nil)
#@107 *Format string command for unpacking a SOUP packet.
The SOUP packet file name will be inserted at the %s.
(defvar nnsoup-unpacker "gunzip -c %s | tar xvf -" (#$ . -1937))
(nnoo-define (quote nnsoup-unpacker) nil)
#@47 *Where nnsoup will look for incoming packets.
(defvar nnsoup-packet-directory "~/" (#$ . -2156))
(nnoo-define (quote nnsoup-packet-directory) nil)
#@73 *Regular expression matching SOUP packets in `nnsoup-packet-directory'.
(defvar nnsoup-packet-regexp "Soupout" (#$ . -2309))
(nnoo-define (quote nnsoup-packet-regexp) nil)
#@17 nnsoup version.
(defconst nnsoup-version "nnsoup 0.0" (#$ . 2487))
(byte-code "! B\"! B\"!, B\"!> 	B\"!P \nB\"!b B\"!t \fB\"! B\"!" [boundp nnsoup-status-string "" current-load-list nnoo-define nil nnsoup-group-alist nnsoup-current-prefix 0 nnsoup-replies-list nnsoup-buffers nnsoup-current-group nnsoup-group-alist-touched nnsoup-article-alist nnoo-define-basics-1 nnsoup] 3)
(defalias 'nnsoup-retrieve-headers #[(sequence &optional group server fetch-old) "	!\nq \"AAɉ\n\f@;/ ЂX  S @@A@WS A> / @\fB\f@A@HHU @A@H!!  @@@AX @BA \f\f@B/ \f\f\f\fdb`\f@A@@\f@8H!!b!!ȉ#Ty +\fA\f X\fT\f@@\fA\f@\f@A#\nKdb@\"c\n!dbcA\" ." [nnsoup-possibly-change-group group nntp-server-buffer erase-buffer assoc nnsoup-current-group nnsoup-group-alist sequence t nil msg-buf this-area-seq useful-areas use-nov articles areas headers 2 1 110 file-exists-p nnsoup-file 0 nnsoup-index-buffer index-buffer number b insert-buffer-substring looking-at "[0-9]+" replace-match int-to-string nov nnsoup-narrow-to-article head format "221 %d Article retrieved.\n" ".\n" nnheader-fold-continuation-lines] 7])
(nnoo-register-function (quote nnsoup-retrieve-headers))
(defalias 'nnsoup-open-server #[(server &optional defs) "\n#! ȏ!   #!!1  # \n$ч" [nnoo-change-server nnsoup server defs file-exists-p nnsoup-directory nil (make-directory nnsoup-directory t) ((error)) nnsoup-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" nnsoup-read-active-file "Opened server %s using directory %s" t] 5])
(nnoo-register-function (quote nnsoup-open-server))
(defalias 'nnsoup-request-close #[nil "   ' A@A \f! \f! )	\n!·" [nnsoup-write-active-file nnsoup-write-replies gnus-soup-save-areas nil buffer nnsoup-buffers buffer-name kill-buffer nnsoup-group-alist nnsoup-group-alist-touched nnsoup-current-group nnsoup-replies-list nnoo-close-server nnoo t] 3])
(nnoo-register-function (quote nnsoup-request-close))
(defalias 'nnsoup-request-article #[(id &optional newsgroup server buffer) "	!\f\f q ;?& !& !*" [nnsoup-possibly-change-group newsgroup nil buf buffer nntp-server-buffer erase-buffer id nnsoup-narrow-to-article insert-buffer-substring t] 2])
(nnoo-register-function (quote nnsoup-request-article))
(defalias 'nnsoup-request-group #[(group &optional server dont-check) "	!\n\n Ç	\"A@ 	#2 A@ZT]@A	%)" [nnsoup-possibly-change-group group dont-check t assoc nnsoup-group-alist active nnheader-report nnsoup "No such group: %s" nnheader-insert "211 %d %d %d %s\n" 0] 7])
(nnoo-register-function (quote nnsoup-request-group))
(defalias 'nnsoup-request-type #[(group &optional article) "	!\n 	\f\"AA@@A\n Ň\n\"A@HH	U/ ˂; 	U: ͂; )" [nnsoup-possibly-change-group group article assoc nnsoup-group-alist unknown nnsoup-article-to-area nnsoup-current-group 2 kind 109 mail 110 news] 4])
(nnoo-register-function (quote nnsoup-request-type))
(defalias 'nnsoup-close-group #[(group &optional server) ". A@@\f \n\"\nA \nA! \nA! *ȇ" [nnsoup-buffers nil elem buffers group delq buffer-name kill-buffer t] 3])
(nnoo-register-function (quote nnsoup-close-group))
(defalias 'nnsoup-request-list #[(&optional server) "q \n  \npA@? @ȱA@A!cA@@!c ,ˇ" [nntp-server-buffer erase-buffer nnsoup-group-alist nnsoup-read-active-file nil entry standard-output alist " " princ " y\n" t] 3])
(nnoo-register-function (quote nnsoup-request-list))
(defalias 'nnsoup-request-scan #[(group &optional server) " " [nnsoup-unpack-packets] 1])
(nnoo-register-function (quote nnsoup-request-scan))
(defalias 'nnsoup-request-newgroups #[(date &optional server) " " [nnsoup-request-list] 1])
(nnoo-register-function (quote nnsoup-request-newgroups))
(defalias 'nnsoup-request-list-newsgroups #[(&optional server) "" [nil] 1])
(nnoo-register-function (quote nnsoup-request-list-newsgroups))
(defalias 'nnsoup-request-post #[(&optional server) "!" [nnsoup-store-reply "news" t] 2])
(nnoo-register-function (quote nnsoup-request-post))
(defalias 'nnsoup-request-mail #[(&optional server) "!" [nnsoup-store-reply "mail" t] 2])
(nnoo-register-function (quote nnsoup-request-mail))
(defalias 'nnsoup-request-expire-articles #[(articles group &optional server force) "	!	\"A@\fAA	\n A@@!	A@H!!8\nX \"!8\n 	\" 	\n# ؏ \fA\fAA\"	\"\n \fA\fAA\" \fAA \fAA@@@ AT!." [nnsoup-possibly-change-group group assoc nnsoup-group-alist total-infolist active infolist nil info range-list mod-time prefix gnus-uncompress-range 0 5 file-attributes nnsoup-file t gnus-sublist-p articles nnmail-expired-article-p force G77762 (byte-code "\f!$\f!! \f!!\f\"$\f\"!1 \f\"!ȇ" [nnheader-message 5 "Deleting %s in group %s..." nnsoup-file prefix group file-exists-p delete-file t] 6) ((error)) delq gnus-sorted-complement nnsoup-write-active-file] 6])
(nnoo-register-function (quote nnsoup-request-expire-articles))
(defalias 'nnsoup-possibly-change-group #[(group &optional force) " 	 ć" [group nnsoup-current-group nil nnsoup-article-alist t] 2])
(defalias 'nnsoup-read-active-file #[nil "!l Ə	k 	@A@@:k 		\nA@\nA	g 	@@@	AP 	A	C 	@@A\nB\nAB) -	" [nil nnsoup-group-alist file-exists-p nnsoup-active-file G77763 (byte-code "	$" [load nnsoup-active-file t] 5) ((error)) max min e entry alist t nnsoup-group-alist-touched] 6])
(defalias 'nnsoup-write-active-file #[(&optional force) "p 	\f \np \f!!q\f͎DE!cE!c\fB \fn =Q q n q!!d !\"ed%\f." [nnsoup-group-alist force nnsoup-group-alist-touched nil nnsoup-active-file temp-file fundamental-mode default-major-mode get-buffer-create generate-new-buffer-name " *nnheader temp*" temp-buffer temp-results ((byte-code "	!\n 	!" [buffer-name temp-buffer kill-buffer] 2)) gnus-prin1 setq quote "\n" nnsoup-current-prefix t buffer-string file-directory-p file-name-directory make-directory write-region nomesg] 6])
#@30 Return the next free prefix.
(defalias 'nnsoup-next-prefix #[nil "!!! 	\"! T T	)" [nil prefix file-exists-p nnsoup-file int-to-string nnsoup-current-prefix t] 4 (#$ . 9046)])
#@52 Return the full path of FILE (in any case) in DIR.
(defalias 'nnsoup-file-name #[(dir file) "\"!P\f\"\"@+" [t case-fold-search directory-files dir files regexp-quote file "$" regexp delq nil mapcar #[(file) "	\n\" \n" [string-match regexp file] 3]] 5 (#$ . 9249)])
(defalias 'nnsoup-read-areas #[nil "	\" \fq!Ɖ	\n\fA@\n  \"	\nHQ!S !\"	\nHQ!$ \"\"\nI\n!\nH\"\f \nHBB\nDEB$ \fA@A	T	\\B\nDC\fA@	\\$ .!!))" [nnsoup-file-name nnsoup-tmp-directory "areas" areas-file nntp-server-buffer gnus-soup-parse-areas nil file cur-prefix lnum area number entry areas nnsoup-next-prefix message "Incorporating file %s..." file-exists-p 0 ".IDX" rename-file nnsoup-file ".MSG" t nnsoup-number-of-articles assoc 1 nnsoup-group-alist nnsoup-write-active-file delete-file] 8])
(defalias 'nnsoup-number-of-articles #[(area) "H HC HHU% H!qed\"C H!qH\n\": !H\n\"AG)" [area 4 2 1 110 nnsoup-index-buffer 0 count-lines nnsoup-message-buffer assoc nnsoup-article-alist nnsoup-dissect-buffer] 3])
(defalias 'nnsoup-dissect-buffer #[(area) "	P\nHHŉ	\neb	U@ ! yT`!!u`EB 	Ut \n! yT`\n#g yj db`EBG 	U ! yT`# y db`EB{ 	U 	U m `f\"_`\\f\"_\\`\\f\"_\\`\\f\\T`\\\\!u`EB 	\"\nHB$B$-" ["^" message-unix-mail-delimiter area 2 0 nil len alist i format mbox-delim 110 looking-at "^#! *rnews \\(+[0-9]+\\) *$" 1 string-to-number match-string 109 re-search-forward t 77 "\n" search-forward "\n\n" 66 98 expt 2.0 24 16 8 3 4 floor error "Unknown format: %c" nnsoup-article-alist] 6])
(defalias 'nnsoup-index-buffer #[(prefix &optional message) "		 \n P\fQ!? \n\fP!? !qp!pBB\n\fP!p)*" [prefix message ".MSG" ".IDX" file " *nnsoup " "*" buffer-name get-buffer file-exists-p nnsoup-directory get-buffer-create buffer-disable-undo nnsoup-current-group nnsoup-buffers nnheader-insert-file-contents] 3])
(defalias 'nnsoup-file #[(prefix &optional message) "	\n Ă\f Q!" [expand-file-name nnsoup-directory prefix message ".MSG" ".IDX"] 4])
(defalias 'nnsoup-message-buffer #[(prefix) "	\"" [nnsoup-index-buffer prefix msg] 3])
#@50 Unpack all packets in `nnsoup-packet-directory'.
(defalias 'nnsoup-unpack-packets #[nil "	#A@: \"\n#, \"	 ! !	 *" [directory-files nnsoup-packet-directory t nnsoup-packet-regexp nil packet packets message "nnsoup: unpacking %s..." gnus-soup-unpack-packet nnsoup-tmp-directory nnsoup-unpacker "Couldn't unpack %s" delete-file nnsoup-read-areas "Unpacking...done"] 4 (#$ . 11618)])
(defalias 'nnsoup-narrow-to-article #[(article &optional area head) " \n\" A@H \"\n  A@HHU !! !q~eb\n@@Zyp!\ny! p!q~A@HHbU U y`) q~\n d} q~A@H\" A@!\nA@H\"A A@AA@})eb e# `S d})-" [area nnsoup-article-to-area article nnsoup-current-group 0 prefix nnsoup-index-buffer msg msg-buf nil beg end 2 1 99 file-exists-p nnsoup-file read looking-at "[0-9]+" format 110 109 -1 assoc nnsoup-article-alist nnsoup-dissect-buffer entry head search-forward "\n\n" t] 6])
#@43 Make an outbound package of SOUP replies.
(defalias 'nnsoup-pack-replies #[nil "	! 	\"   	#  !	\"" [file-exists-p nnsoup-replies-directory message "No such directory: %s" gnus-soup-save-areas nnsoup-write-active-file nnsoup-write-replies directory-files nil "\\.MSG$" error "No files to pack" gnus-soup-pack nnsoup-packer] 4 (#$ . 12648) nil])
#@25 Write the REPLIES file.
(defalias 'nnsoup-write-replies #[nil "\f \n\"É" [nnsoup-replies-list gnus-soup-write-replies nnsoup-replies-directory nil] 3 (#$ . 13021)])
#@54 Return the area that ARTICLE in GROUP is located in.
(defalias 'nnsoup-article-to-area #[(article group) "	\n\"AA @@A\fW A ! @)" [assoc group nnsoup-group-alist areas article] 4 (#$ . 13200)])
(byte-code "!\n \nD\fB" [boundp nnsoup-old-functions message-send-mail-function message-send-news-function current-load-list] 2)
#@57 Use the SOUP methods for posting news and mailing mail.
(defalias 'nnsoup-set-variables #[nil "" [nnsoup-request-post message-send-news-function nnsoup-request-mail message-send-mail-function] 2 (#$ . 13554) nil])
#@67 Revert posting and mailing methods to the standard Emacs methods.
(defalias 'nnsoup-revert-variables #[nil "@A@" [nnsoup-old-functions message-send-mail-function message-send-news-function] 2 (#$ . 13780) nil])
(defalias 'nnsoup-store-reply #[(kind) "!!ĉpĎ \n˚' !, !)q ! \")dbhUO ceb!Q!!! Tb!y  \"\n!$%%'( (! (qeb# 'T' )'\"* !." [require mail-utils generate-new-buffer " message temp" nil mailbuf delimline case-fold-search tembuf message-narrow-to-headers kind "mail" message-generate-headers message-required-mail-headers message-required-news-headers erase-buffer insert-buffer-substring message-remove-header message-ignored-mail-headers t 10 re-search-forward "^" regexp-quote mail-header-separator "\n" replace-match backward-char 1 point-marker eval message-mailer-swallows-blank-line newline gnus-soup-store nnsoup-replies-directory nnsoup-kind-to-prefix nnsoup-replies-format-type nnsoup-replies-index-type 0 num msg-buf bufferp "^#! *rnews" message "Stored %d messages" nnsoup-write-replies kill-buffer] 7])
(defalias 'nnsoup-kind-to-prefix #[(kind) "\n \nP!  \f@H  \fA \f+ \f@HJ \n!\fΘ@ ςA $#B@H)" [nnsoup-replies-list gnus-soup-parse-replies nnsoup-replies-directory "REPLIES" replies kind 1 0 vector gnus-soup-unique-prefix format "%c%c%c" nnsoup-replies-format-type nnsoup-replies-index-type "news" 110 109] 10])
#@35 (Re-)create the SOUP active file.
(defalias 'nnsoup-make-active #[nil "\n#\"Ɖ	\n\f!qp! @\" @!eb#K P !ed\"\n@\"@ݔݕO	\f\" \nB\nB	\n%DE\fB\f A@AT\n\\B	\n%DCA@\n\\A* !\f\"!." [sort directory-files nnsoup-directory t "IDX$" #[(f1 f2) "\n\"\n\"!\"\"!W" [string-match "/\\([0-9]+\\)\\." f1 string-to-int match-string 1 f2] 5] nil min elem ident lines group active files get-buffer-create " *nnsoup work*" buffer-disable-undo message "Doing %s..." erase-buffer nnheader-insert-file-contents re-search-forward "^[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	[^	]*	 *\\(Xref: \\)? *[^ ]* \\([^ ]+\\):[0-9]" "unknown" match-string 2 count-lines string-match "/\\([0-9]+\\)\\." 1 assoc vector "ncm" "" nnsoup-group-alist nnsoup-write-active-file] 10 (#$ . 15278) nil])
#@63 Delete any *.MSG and *.IDX files that aren't known by nnsoup.
(defalias 'nnsoup-delete-unreferenced-message-files #[nil "\f\"\"	#\fA@C \"ωO \fB\f \f\"\f\f#-" [apply nconc mapcar #[(ga) "\nAA\"" [mapcar #[(area) "A@H" [area 0] 2] ga] 3] nnsoup-group-alist known "\\.MSG$\\|\\.IDX$" regexp directory-files nnsoup-directory nil files non-files file string-match 0 sort string< map-y-or-n-p "Delete file %s? " #[(file) "	\nP!" [delete-file nnsoup-directory file] 3]] 5 (#$ . 16187) nil])
(provide (quote nnsoup))
