;ELC   
;;; compiled by gsstark@lola-granola.MIT.EDU on Tue Jul 23 13:36:19 1996
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.2.37/lisp/nndoc.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 "`nndoc.el' was compiled for Emacs 19.29 or later"))


(byte-code "ÀÁ!ˆÀÂ!ˆÀÃ!ˆÀÄ!ˆÅÆÇÈ\"È‰F	B	È‡" [require nnheader message nnmail nnoo nndoc mapcar #[(p) "C‡" [p] 1] nil nnoo-definition-alist] 4)
#@167 *Type of the file.
One of `mbox', `babyl', `digest', `news', `rnews', `mmdf', `forward',
`mime-digest', `standard-digest', `slack-digest', `clari-briefs' or
`guess'.
(defvar nndoc-article-type (quote guess) (#$ . -652))
(nnoo-define (quote nndoc-article-type) nil)
#@47 *Whether the nndoc group is `mail' or `post'.
(defvar nndoc-post-type (quote mail) (#$ . -923))
(byte-code "ÀÁÂ\"ˆÃÄ!„V ÅÆÇÈÉÊP\fÍÎ\f\"ƒ' \fÏ‰”O‚) \f)BÐBBÑÒÓÔÕÖ×ÊØÙÚ\"ÛQBÉÜØÝÚ\"ÛQBÞBBBßBBBBBBBBBBÄ B Ãá!„e Â!á B ÀáÂ\"ˆÃâ!„y Â\"â B ÀâÂ\"ˆÃã!„� Â#ã B ÀãÂ\"ˆÃä!„¡ Â$ä B ÀäÂ\"ˆÃå!„µ Â%å B ÀåÂ\"ˆÃæ!„É Â&æ B ÀæÂ\"ˆÃç!„Ý Â'ç B ÀçÂ\"ˆÃè!„ñ Â(è B ÀèÂ\"ˆÃé!„Â)é B ÀéÂ\"ˆÃê!„Â*ê B ÀêÂ\"ˆÃë!„-Â+ë B ÀëÂ\"ˆÃì!„AÂ,ì B ÀìÂ\"ˆÃí!„UÂ-í B ÀíÂ\"ˆÃî!„iÂ.î B ÀîÂ\"ˆÃï!„}Â/ï B ÀïÂ\"ˆÃð!„‘Â0ð B ÀðÂ\"ˆÃñ!„¥ò1ñ B ÀñÂ\"ˆÃó!„¹Â3ó B ÀóÂ\"‡" [nnoo-define nndoc-post-type nil boundp nndoc-type-alist (mmdf (article-begin . "^\n") (body-end . "^\n")) (news (article-begin . "^Path:")) (rnews (article-begin . "^#! *rnews +\\([0-9]+\\) *\n") (body-end-function . nndoc-rnews-body-end)) mbox article-begin "^" message-unix-mail-delimiter delim string-match "\n\\'" 0 ((body-end-function . nndoc-mbox-body-end)) (babyl (article-begin . "\f *\n") (body-end . "") (body-begin-function . nndoc-babyl-body-begin) (head-begin-function . nndoc-babyl-head-begin)) (forward (article-begin . "^-+ Start of forwarded message -+\n+") (body-end . "^-+ End of forwarded message -+$") (prepare-body . nndoc-unquote-dashes)) (clari-briefs (article-begin . "^ \\*") (body-end . "^	------*[ 	]^*\n^ \\*") (body-begin . "^	") (head-end . "^	") (generate-head . nndoc-generate-clari-briefs-head) (article-transform . nndoc-transform-clari-briefs)) (slack-digest (article-begin . "^------------------------------*[\n 	]+") (head-end . "^ ?$") (body-end-function . nndoc-digest-body-end) (body-begin . "^ ?$") (file-end . "^End of") (prepare-body . nndoc-unquote-dashes)) (mime-digest (article-begin . "") (head-end . "^ ?$") (body-end . "") (file-end . "")) standard-digest first-article make-string 70 45 "\n\n+" "\n\n" 30 ((prepare-body . nndoc-unquote-dashes) (body-end-function . nndoc-digest-body-end) (head-end . "^ ?$") (body-begin . "^ ?\n") (file-end . "^End of .*digest.*[0-9].*\n\\*\\*\\|^End of.*Digest *$")) ((guess (guess . nndoc-guess-type)) (digest (guess . nndoc-guess-digest-type))) current-load-list nndoc-file-begin nndoc-first-article nndoc-article-end nndoc-article-begin nndoc-head-begin nndoc-head-end nndoc-file-end nndoc-body-begin nndoc-body-end-function nndoc-body-begin-function nndoc-head-begin-function nndoc-body-end nndoc-dissection-alist nndoc-prepare-body nndoc-generate-head nndoc-article-transform nndoc-status-string "" nndoc-group-alist] 16)
#@28 Current nndoc news buffer.
(defvar nndoc-current-buffer nil (#$ . 3442))
(byte-code "ÀÁÂ\"ˆÃÄ!„ ÂÄBÀÄÂ\"‡" [nnoo-define nndoc-current-buffer nil boundp nndoc-address current-load-list] 3)
#@16 nndoc version.
(defconst nndoc-version "nndoc 1.0" (#$ . 3640))
(nnoo-define-basics-1 (quote nndoc))
(defalias 'nndoc-retrieve-headers #[(articles &optional newsgroup server fetch-old) "À	\n\"…{ ŠqˆÄ ˆÅ‰@;ƒ É‚z ƒv ‰A@‰\nžA‰ƒ ËÌ\"cˆƒM !ˆ‚Y Î@A@#ˆdbˆ`SfÐU„g ÑcˆËÒÓ8\"cˆÔcˆ‚ Õ ˆÉ+‡" [nndoc-possibly-change-buffer newsgroup server nntp-server-buffer erase-buffer nil entry article articles headers nndoc-dissection-alist format "221 %d Article retrieved.\n" nndoc-generate-head insert-buffer-substring nndoc-current-buffer 10 "\n" "Lines: %d\n" 4 ".\n" nnheader-fold-continuation-lines] 4])
(nnoo-register-function (quote nndoc-retrieve-headers))
(defalias 'nndoc-request-article #[(article &optional newsgroup server buffer) "À	\n\"ˆŠ† \fžAÇ	‰qˆÊ ˆ;?…Y Ë\f	@	A@#ˆÍcˆ`Ë\fÎ	8Ï	8#ˆbˆƒN  ˆƒX !ˆÒ,‡" [nndoc-possibly-change-buffer newsgroup server buffer nntp-server-buffer article nndoc-dissection-alist nil beg entry erase-buffer insert-buffer-substring nndoc-current-buffer "\n" 2 3 nndoc-prepare-body nndoc-article-transform t] 6])
(nnoo-register-function (quote nndoc-request-article))
#@20 Select news GROUP.
(defalias 'nndoc-request-group #[(group &optional server dont-check) "ÀÂ\f\"„ ÅÆÇ#‚> 	ƒ! ÅÆÊ#ˆË‚> \fG‰ÍUƒ7 Î!ˆÅÆÏ#‚> ÐÑ	Ò	%)‡" [nil number nndoc-possibly-change-buffer group server nnheader-report nndoc "No such file or buffer: %s" nndoc-address dont-check "Selected group %s" t nndoc-dissection-alist 0 nndoc-close-group "No articles in group %s" nnheader-insert "211 %d %d %d %s\n" 1] 6 (#$ . 4794)])
(nnoo-register-function (quote nndoc-request-group))
(defalias 'nndoc-request-type #[(group &optional article) "„ Á‡\nƒ\f \n‡Á‡" [article unknown nndoc-post-type] 1])
(nnoo-register-function (quote nndoc-request-type))
(defalias 'nndoc-close-group #[(group &optional server) "À	\n\"ˆƒ Ä!ƒ Å!ˆÆÇ	\"\"ÉÊË\n\"ˆÉ\fÍ‡" [nndoc-possibly-change-buffer group server nndoc-current-buffer buffer-name kill-buffer delq assoc nndoc-group-alist nil nnoo-close-server nndoc nndoc-dissection-alist t] 4])
(nnoo-register-function (quote nndoc-close-group))
(defalias 'nndoc-request-list #[(&optional server) "À‡" [nil] 1])
(nnoo-register-function (quote nndoc-request-list))
(defalias 'nndoc-request-newgroups #[(date &optional server) "À‡" [nil] 1])
(nnoo-register-function (quote nndoc-request-newgroups))
(defalias 'nndoc-request-list-newsgroups #[(&optional server) "À‡" [nil] 1])
(nnoo-register-function (quote nndoc-request-list-newsgroups))
(defalias 'nndoc-possibly-change-buffer #[(group source) "À\nƒ Ã\n!ƒ \nÄ\"A‰=„u 	ƒ\" 	‚u Ç!ƒ0 Ã!„D ;ƒu É!ƒu Ê!„u ËÌÍQ!‰BBÀŠ\nqˆÏp!ˆÐ ˆ;ƒo Ñ!ˆ‚t Ò!ˆ)\nƒ‰ „‰ Š\nqˆÓ ˆÔ ˆ)\n„� Õ ˆ\n)‡" [nil buf nndoc-current-buffer buffer-name assoc group nndoc-group-alist bufferp nndoc-address file-exists-p file-directory-p get-buffer-create " *nndoc " "*" nndoc-dissection-alist buffer-disable-undo erase-buffer insert-file-contents insert-buffer-substring nndoc-set-delims nndoc-dissect-buffer nndoc-close-server] 5])
#@49 Guess what digest type the current document is.
(defalias 'nndoc-guess-digest-type #[nil "ÀÁ‰‰ebˆÆÇÈPÁÀ#ƒC É”ƒC ÊÉ!Ë\fÌQÍž‰ÏÐBÑÒBÓBÔÕBÖË\f×QB¯¡ˆÍ‚d ÆØÙÚÛ\"ÜQÁÀ#ƒc ÆÜÙÝÛ\"ÜQÁÀ#ƒc Þ‚d ß,‡" [t nil entry b-delimiter boundary-id case-fold-search re-search-forward "^Content-Type: *multipart/digest;[ 	\n]*[ 	]" "boundary=\"\\([^\"\n]*[^\" 	\n]\\)\"" 1 match-string "\n--" "[\n 	]+" mime-digest nndoc-type-alist head-end "^ ?$" body-begin "^ ?\n" article-begin body-end-function nndoc-digest-body-end file-end "--[ 	]*$" "^" make-string 70 45 "\n\n" 30 standard-digest slack-digest] 10 (#$ . 6718)])
#@52 Guess what document type is in the current buffer.
(defalias 'nndoc-guess-type #[nil "ebˆÀ	!ƒ Â‡ÀÃ!ƒ Ä‡ÀÅ!ƒ Æ‡ÀÇ!ƒ# È‡ÉÊËÌ#ƒ- Í‡ŠÉÎËÌ#…< ÉÏËÌ#?)ƒB Ð‡ËÉÒËÌ#)ƒP Ó‡Ô‡" [looking-at message-unix-mail-delimiter mbox "$" mmdf "^Path:.*\n" news "#! *rnews" rnews re-search-forward "\f *\n" nil t babyl "^-+ Start of forwarded message -+\n+" "^Subject:.*digest" forward case-fold-search "^	[^a-z]+ ([^a-z]+) --" clari-briefs digest] 4 (#$ . 7329)])
#@74 Set the nndoc delimiter variables according to the type of the document.
(defalias 'nndoc-set-delims #[nil "À	ƒ 	‰A@ÂLˆ‚ )ÂÂžAÄž‰ƒ, \fA ‰‚ …C ÇÈÉ@@\"!‰A@ALˆ‚, *‡" [(nndoc-file-begin nndoc-first-article nndoc-article-end nndoc-head-begin nndoc-head-end nndoc-file-end nndoc-article-begin nndoc-body-begin nndoc-body-end-function nndoc-body-end nndoc-prepare-body nndoc-article-transform nndoc-generate-head nndoc-body-begin-function nndoc-head-begin-function) vars nil defs guess nndoc-article-type nndoc-type-alist intern format "nndoc-%s"] 5 (#$ . 7785)])
(defalias 'nndoc-search #[(regexp) "À	ÂÃ#Äyˆ‡" [re-search-forward regexp nil t 0] 4])
#@70 Go through the document and partition it into heads/bodies/articles.
(defalias 'nndoc-dissect-buffer #[nil "ÀÁÂ‰‰‰Â	Š\nqˆebˆƒ$ Ì!ˆƒ5 ƒ5 Ì!‚9 Ì!…Ù ÂƒK  ˆ‚U ƒU Ì!ˆƒg Ò!ƒg dbˆ‚$ `Ì†q Ô!ˆ`ƒ�  ˆ‚Š Ì†ˆ ×!ˆ`ƒ—  „¾ ƒ£ Ì!„¾ Ì!„¾ dbˆƒ¾ ÚÂÁ#ƒ¾ Àyˆ`T‰\fÛ\f\"¯	B	‚$ .‡" [0 t nil body-end body-begin head-end head-begin first i nndoc-dissection-alist nndoc-current-buffer nndoc-file-begin nndoc-search nndoc-first-article nndoc-article-begin nndoc-head-begin-function nndoc-head-begin nndoc-file-end looking-at nndoc-head-end "^$" nndoc-body-begin-function nndoc-body-begin "^\n" nndoc-body-end-function nndoc-body-end re-search-backward count-lines] 8 (#$ . 8452)])
#@43 Unquote quoted non-separators in digests.
(defalias 'nndoc-unquote-dashes #[nil "ÀÁÂÃ#… ÄÅÃ‰#ˆ‚  ‡" [re-search-forward "^- -" nil t replace-match "-"] 4 (#$ . 9188)])
(defalias 'nndoc-digest-body-end #[nil "À	ÂÃ#… Ä”b‡" [re-search-forward nndoc-article-begin nil t 0] 4])
(defalias 'nndoc-mbox-body-end #[nil "`À‰ŠÄÀÆ#…O `‰…O ÇÈÆ#…O ÄÉ	Æ#…O ÊËÌ!!‰…O ÇÈÆ#…O `\n\\‰dU†O \ndW…O \nb…O Í!)…U \nb+‡" [nil end len beg re-search-backward nndoc-article-begin t search-forward "\n\n" "^Content-Length:[ 	]*\\([0-9]+\\) *$" string-to-int match-string 1 looking-at] 4])
(defalias 'nndoc-rnews-body-end #[nil "À	ÂÃ#… Äy… `ÅÆÄ!!\\b‡" [re-search-backward nndoc-article-begin nil t 1 string-to-int match-string] 4])
(defalias 'nndoc-transform-clari-briefs #[(article) "ebˆÀÁ!ƒ ÂÃÄ‰#ˆÅ!‡" [looking-at " *\\*\\(.*\\)\n" replace-match "" t nndoc-generate-clari-briefs-head article] 4])
(defalias 'nndoc-generate-clari-briefs-head #[(article) "	žAÂ‰ŠqˆŒ@Ç8}ˆebˆÈÉ!ƒ0 ÊË!ÌÍ\f\"ƒ0 \fÎ‰”OÂÐÑÂÒ#)ƒ@ ÊË!*ÓÔ†H ÕÖ×\f†O ØÙ±+‡" [article nndoc-dissection-alist nil from subject entry nndoc-current-buffer 3 looking-at " *\\*\\(.*\\)$" match-string 1 string-match "[ 	]+$" 0 case-fold-search re-search-forward "^	\\([^a-z]+\\(,[^(]+\\)? ([^a-z]+)\\) --" t "From: " "clari@clari.net (" "unknown" ")" "\nSubject: " "(no subject)" "\n"] 7])
(defalias 'nndoc-babyl-body-begin #[nil "ÀÁÂÃ#ˆÄÅ!… ÀÁÂÃ#‡" [re-search-forward "^\n" nil t looking-at "*** EOOH ***"] 4])
(defalias 'nndoc-babyl-head-begin #[nil "ÀÁÂÃ#… ÄÅ!ƒ ÆyˆÃ‡" [re-search-forward "^[0-9].*\n" nil t looking-at "*** EOOH ***" 1] 4])
(provide (quote nndoc))
