;ELC   
;;; compiled by gsstark@lola-granola.MIT.EDU on Tue Jul 23 13:36:40 1996
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.2.37/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\nÉ‡" [require nnheader nnmail gnus-soup gnus-msg nnoo nnsoup mapcar #[(p) "C‡" [p] 1] nil nnoo-definition-alist] 4)
#@25 *SOUP packet directory.
(defvar nnsoup-directory "~/SOUP/" (#$ . -671))
(nnoo-define (quote nnsoup-directory) nil)
#@43 *Where nnsoup will store temporary files.
(defvar nnsoup-tmp-directory "/tmp/" (#$ . -792))
(nnoo-define (quote nnsoup-tmp-directory) nil)
#@53 *Directory where outgoing packets will be composed.
(defvar nnsoup-replies-directory (concat nnsoup-directory "replies/") (#$ . -937))
(nnoo-define (quote nnsoup-replies-directory) nil)
#@34 *Format of the replies packages.
(defvar nnsoup-replies-format-type 110 (#$ . -1129))
(nnoo-define (quote nnsoup-replies-format-type) nil)
#@38 *Index type of the replies packages.
(defvar nnsoup-replies-index-type 110 (#$ . -1274))
(nnoo-define (quote nnsoup-replies-index-type) nil)
#@14 Active file.
(defvar nnsoup-active-file (concat nnsoup-directory "active") (#$ . 1421))
(nnoo-define (quote nnsoup-active-file) nil)
#@205 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" (#$ . 1561))
(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 -" (#$ . -1889))
(nnoo-define (quote nnsoup-unpacker) nil)
#@47 *Where nnsoup will look for incoming packets.
(defvar nnsoup-packet-directory "~/" (#$ . -2108))
(nnoo-define (quote nnsoup-packet-directory) nil)
#@73 *Regular expression matching SOUP packets in `nnsoup-packet-directory'.
(defvar nnsoup-packet-regexp "Soupout" (#$ . -2261))
(nnoo-define (quote nnsoup-packet-regexp) nil)
#@17 nnsoup version.
(defconst nnsoup-version "nnsoup 0.0" (#$ . 2439))
(byte-code "ÀÁ!„ ÂÁBÄÁÅ\"ˆÀÆ!„ ÅÆBÄÆÅ\"ˆÀÇ!„, ÈÇBÄÇÅ\"ˆÀÉ!„> Å	ÉBÄÉÅ\"ˆÀÊ!„P Å\nÊBÄÊÅ\"ˆÀË!„b ÅËBÄËÅ\"ˆÀÌ!„t Å\fÌ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 nnoo-define-basics-1 nnsoup] 3)
(defalias 'nnsoup-retrieve-headers #[(sequence &optional group server fetch-old) "À	!ˆŠ\nqˆÃ ˆÄ\"AAÈÉ‰‰\n\f@;ƒ/ Ð‚Xƒ² ƒ² ƒS @@A@WƒS A‰„> ƒ/ @\fB\fÉ@A@ÑHÒHÓU„ ÔÕ@A@ÖH!!„‚ Éƒ¤ @@@AXƒ¤ @BA‰„‡ \fŸ\f@B ˆ‚/ \fŸ\fƒ\fƒ\fdbˆ`\f@A@@×Ñ\f@8ÖH!ƒÛ!ˆbˆÜÝ!ƒÞß!È‰#ˆTÒyˆ‚è +\fA‰\f„Á à‚X\fƒT\f@@\fA\fƒá@\f@Aâ#‰\nƒKdbˆãä@\"cˆÛ\n!ˆdbˆåcˆ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„\n Ã‡Ä\n\"A@ÆHÆH‰ÈUƒ  É‚, ÊUƒ+ Ë‚, Ã)‡" [nnsoup-possibly-change-group group article 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‰\n„X ÎÏÐÑ\"!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 (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 t] 2])
(defalias 'nnsoup-read-active-file #[nil "ÀÂ!…l ÀÄÅ�ˆ	ƒk 	@A@@:ƒk 	À‰‰‰	\n\n‰A\n@‰	A‰ƒg @@@AƒP A‰‚C @@A	B	AB¡ˆ‚) -Ë\f	‡" [nil nnsoup-group-alist file-exists-p nnsoup-active-file (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) "…] 	„\f \n…] ÃŠ\fÅÆÇ!!‰	ƒ. ÊË	!!„. ÌË	!Í\"ˆÎŽpÐÑÀÒDE!ˆÓcˆÐÑÔE!ˆÓc)	ƒ\\ qˆÕed	ÃÖ%ˆ,‡" [nnsoup-group-alist force nnsoup-group-alist-touched nil nnsoup-active-file nnheader-set-temp-buffer generate-new-buffer-name " *nnheader temp*" nnheader-temp-cur-buffer nnheader-temp-file file-directory-p file-name-directory make-directory t ((byte-code "À	!ƒ\n Â	!ˆÀ‡" [buffer-name nnheader-temp-cur-buffer kill-buffer] 2)) standard-output prin1 setq quote "\n" nnsoup-current-prefix write-region nomesg] 8])
#@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 (#$ . 8839)])
(defalias 'nnsoup-read-areas #[nil "ŠqˆÁ\nÃP!Ä‰‰‰‰‰	\n‰A@‰ƒ· Ì ÍÎ\"ˆÏ\nÐHÑQ‰!ƒI ÒÓ!\"ˆÏ\nÐHÔQ‰!ƒ ÒÓÕ\"\"ˆÐIˆÖ!	×ØH\"‰\n„“ ØHØ	BØ	BDEB‚ \n‰A@A‰T	\\BDC¤ˆ\nA@	\\¡ˆ‚ .ÚÕ!ˆÛ\nÃP!)‡" [nntp-server-buffer gnus-soup-parse-areas nnsoup-tmp-directory "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] 7])
(defalias 'nnsoup-number-of-articles #[(area) "ŠÁHƒ ÁH‚O ÂHÃHÄU„% ÅÆH!qˆÇed\"‚O ÈÆH!qˆebˆÉÂHÆH!Æ\nÌÍÎ#ƒL \nT\n‚; \n*)‡" [area 4 2 1 110 nnsoup-index-buffer 0 count-lines nnsoup-message-buffer nnsoup-header num regexp re-search-forward nil t] 4])
(defalias 'nnsoup-index-buffer #[(prefix &optional message) "	ƒ	 Â‚\n ÃPÅ\fÆQÈ!†? É\n\fP!…? ŠË!qˆÌp!ˆ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 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@‰…< ÇÈÉ\"!ˆÊ\f#„. ÇÍ\"ˆ‚	 Î!ˆÏ ˆÇÐ!ˆ‚	 *‡" [directory-files nnsoup-packet-directory t nnsoup-packet-regexp nil packet packets message format "nnsoup: unpacking %s..." gnus-soup-unpack-packet nnsoup-tmp-directory nnsoup-unpacker "Couldn't unpack %s" delete-file nnsoup-read-areas "Unpacking...done"] 4 (#$ . 10447)])
(defalias 'nnsoup-narrow-to-article #[(article &optional area head) "† Á\n\"‰… A@ÄH‰… ÆÇ\"É\nÉ…ó Šƒ× A@ÌHÍHÎUƒ£ ÏÐ!!ƒ£ Æ!qˆ~ˆebˆ\n@@ZyˆÑp!\nÍyˆÒÓ!ƒ� Ñp!qˆ~ˆA@ÌHÄHbˆÕU„† ÖUƒŒ ×yˆ`)‚” qˆ~ˆ\n†ž d}ˆ‚× qˆ~ˆebˆØA@ÌHÄH!ÚÉÛ\n@@Z$ˆÄ”ÚÉÛ#ƒÓ Ä”‚Ô d}ˆ)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 nnsoup-header header re-search-forward t head search-forward "\n\n"] 7])
(defalias 'nnsoup-header #[(format) "ÁUƒ Â‡ÃUƒ ÄP‡ÆUƒ Ç‡ÈÉ\"‡" [format 110 "^#! *rnews +[0-9]+ *$" 109 "^" message-unix-mail-delimiter 77 "^\n" error "Unknown format: %c"] 3])
#@43 Make an outbound package of SOUP replies.
(defalias 'nnsoup-pack-replies #[nil "À ˆÁ ˆÂ ˆÃ\f\"‡" [gnus-soup-save-areas nnsoup-write-active-file nnsoup-write-replies gnus-soup-pack nnsoup-replies-directory nnsoup-packer] 3 (#$ . 11654) 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 (#$ . 11902)])
#@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 (#$ . 12081)])
(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 (#$ . 12435) 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 (#$ . 12661) nil])
(defalias 'nnsoup-store-reply #[(kind) "ÀÁ!ˆÂÃ!ÄÅ ÆÇ!Äp	\n\fÄŽŠŒÎ ˆÐšƒ1 Ñ!ˆ‚6 Ñ!ˆ)qˆÔ ˆÕ!ˆŒÎ ˆÖØ\"ˆ)dbˆhÙU„Z Ùcˆƒu Ðšƒu ÆÚ!„r ÆÛ!ƒu Ü ˆØ\febˆÝÞß !áQ!ˆâá!ˆãä!ˆå ‰	Tbˆæ'!ƒŸ è ˆé*ë!Ä,-%î/‰0ƒÛ ñ0!ƒÛ Š0qˆebˆÝòÄØ#ƒÔ /T/‚Ä )óô/\"ˆ*õ ˆö!.	‡" [require mail-utils generate-new-buffer " message temp" nil message-news-p mail-fetch-field "resent-to" mailbuf delimline resend-to-addresses news 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 "cc" "to" message-insert-courtesy-copy 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 Á\nÃP!‰ƒ  \f@ÆH˜„  \fA‰„ \fƒ+ \f@ÇH‚J ÈÉ\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ÎÏ!qˆÐp!ˆƒÃ ÑÒ@\"ˆÓ ˆÔ@!ˆ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 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 (#$ . 14305) 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 (#$ . 15205) nil])
(provide (quote nnsoup))
