;ELC   
;;; compiled by amu@tux.mit.edu on Sun Nov 15 14:43:40 1998
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.6.44/lisp/nnfolder.el
;;; emacs version 19.34.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 "`nnfolder.el' was compiled for Emacs 19.29 or later"))


(byte-code "!!!!!\"ɉF\nB\nD\fB\fɇ" [require nnheader message nnmail nnoo gnus-util nnfolder mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist "*internal-non-initialized-backend*" nnoo-state-alist] 4)
#@37 The name of the nnfolder directory.
(defvar nnfolder-directory (expand-file-name message-directory) (#$ . 727))
(nnoo-define (quote nnfolder-directory) nil)
#@30 The name of the active file.
(defvar nnfolder-active-file (nnheader-concat nnfolder-directory "active") (#$ . 890))
(nnoo-define (quote nnfolder-active-file) nil)
#@253 If non-nil, causes nnfolder to do some extra work in order to determine
the true active ranges of an mbox file.  Note that the active file is still
saved, but it's values are not used.  This costs some extra time when
scanning an mbox when opening it.
(defvar nnfolder-ignore-active-file nil (#$ . 1060))
(nnoo-define (quote nnfolder-ignore-active-file) nil)
#@322 If non-nil, causes nnfolder to not trust the user with respect to
inserting unaccounted for mail in the middle of an mbox file.  This can greatly
slow down scans, which now must scan the entire file for unmarked messages.
When nil, scans occur forward from the last marked message, a huge
time saver for large mailboxes.
(defvar nnfolder-distrust-mbox nil (#$ . 1426))
(nnoo-define (quote nnfolder-distrust-mbox) nil)
#@35 Mail newsgroups description file.
(defvar nnfolder-newsgroups-file (byte-code "	!P" [file-name-as-directory nnfolder-directory "newsgroups"] 2) (#$ . 1850))
(nnoo-define (quote nnfolder-newsgroups-file) nil)
#@76 If non-nil, nnfolder will check the incoming mail file and split the mail.
(defvar nnfolder-get-new-mail t (#$ . 2067))
(nnoo-define (quote nnfolder-get-new-mail) nil)
#@48 Hook run narrowed to an article before saving.
(defvar nnfolder-prepare-save-mail-hook nil (#$ . 2241))
(nnoo-define (quote nnfolder-prepare-save-mail-hook) nil)
#@50 Hook run before saving the nnfolder mbox buffer.
(defvar nnfolder-save-buffer-hook nil (#$ . 2409))
(nnoo-define (quote nnfolder-save-buffer-hook) nil)
#@29 If non-nil, inhibit expiry.
(defvar nnfolder-inhibit-expiry nil (#$ . 2567))
(nnoo-define (quote nnfolder-inhibit-expiry) nil)
#@19 nnfolder version.
(defconst nnfolder-version "nnfolder 1.0" (#$ . 2700))
#@68 String used to demarcate what the article number for a message is.
(defconst nnfolder-article-marker "X-Gnus-Article-Number: " (#$ . 2779))
(byte-code "! B\"! B\"!+ B\"!= B\"!O 	B\"!a \nB\"!s B\"!" [boundp nnfolder-current-group nil current-load-list nnoo-define nnfolder-current-buffer nnfolder-status-string "" nnfolder-group-alist nnfolder-buffer-alist nnfolder-scantime-alist nnfolder-active-timestamp nnoo-define-basics-1 nnfolder] 3)
(defalias 'nnfolder-retrieve-headers #[(articles &optional group server fetch-old) "q \"	l 	qeb\n@;+ ˂l \nA\n@e 	q!+ `#`Sq\"c	\f#dbc+ q ," [nntp-server-buffer erase-buffer nil stop start article nnfolder-possibly-change-group group server nnfolder-current-buffer articles headers nnfolder-goto-article search-forward "\n\n" t format "221 %d Article retrieved.\n" insert-buffer-substring ".\n" nnheader-fold-continuation-lines] 4])
(nnoo-register-function (quote nnfolder-retrieve-headers))
(defalias 'nnfolder-open-server #[(server &optional defs) "\n#\"!!!  #!!4  #!\n$Ň" [nnoo-change-server nnfolder server defs nnmail-activate t gnus-make-directory nnfolder-directory file-exists-p nnfolder-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" "Opened server %s using directory %s"] 5])
(nnoo-register-function (quote nnfolder-open-server))
(defalias 'nnfolder-request-close #[nil " 	@@#	A )!É" [nnfolder-buffer-alist alist nnfolder-close-group nil t nnoo-close-server nnfolder nnfolder-group-alist] 5])
(nnoo-register-function (quote nnfolder-request-close))
(defalias 'nnfolder-request-article #[(article &optional group server buffer) "	\n\"qeb! Ɖ`yƉ\n\ni #8 ω\n& yoK ygU)e y![ yO !)e \n)$ y\n*=y y| db` q #eb! !cy  B eb\"P!``{!B+)" [nnfolder-possibly-change-group group server nnfolder-current-buffer nnfolder-goto-article article nil stop start 1 found case-fold-search re-search-forward "^From " t no 0 -1 10 looking-at ">From \\|From " "[^ \n	:]+[ \n	]*:" yes buffer nntp-server-buffer erase-buffer insert-buffer-substring "From " delete-char 5 "X-From-Line: " nnfolder-current-group search-forward "\n" nnfolder-article-marker string-to-int] 5])
(nnoo-register-function (quote nnfolder-request-article))
(defalias 'nnfolder-request-group #[(group &optional server dont-check) "	\n#	\" 	#g 	% 	#Âg 	\"@A@\fA 	#f N 	#f 	#\fA\f@ZT\f@\fA	%+)" [nnfolder-possibly-change-group group server t assoc nnfolder-group-alist nnheader-report nnfolder "No such group: %s" dont-check "Selected group %s" active range nnfolder-current-group "Empty group: %s" nnheader-insert "211 %d %d %d %s\n"] 7])
(nnoo-register-function (quote nnfolder-request-group))
(defalias 'nnfolder-request-scan #[(&optional group server) "\n\" \f\n\"\f$" [nnfolder-possibly-change-group nil server nnfolder-get-new-mail group nnmail-get-new-mail nnfolder #[nil "	= 	@A@ \n! \n!!)( 	@\"5 	@A@q p!	A *" [nnfolder-buffer-alist bufs buffer get-buffer buffer-name delq nnfolder-save-buffer kill-buffer nil] 4] nnfolder-directory] 5])
(nnoo-register-function (quote nnfolder-request-scan))
(defalias 'nnfolder-close-group #[(group &optional server force) "	\n\" 	O 	\n\"0 $ $ D\nB\f\n\"\fA@\f@)O !O q p!	\n\"\n\")ˇ" [assoc group nnfolder-buffer-alist nnfolder-current-group inf nnfolder-current-buffer delq buffer-name nnfolder-save-buffer kill-buffer nil t] 5])
(nnoo-register-function (quote nnfolder-close-group))
(defalias 'nnfolder-request-create-group #[(group &optional server args) "\n\"!* \"* BDB\"!͇" [nnfolder-possibly-change-group nil server nnmail-activate nnfolder group assoc nnfolder-group-alist 1 0 nnmail-save-active nnfolder-active-file nnfolder-read-folder t] 3])
(nnoo-register-function (quote nnfolder-request-create-group))
(defalias 'nnfolder-request-list #[(&optional server) "\n\"! \n+ˇ" [nnfolder-possibly-change-group nil server nnmail-active-file-coding-system binary pathname-coding-system nnmail-file-coding-system nnmail-find-file nnfolder-active-file nnmail-get-active nnfolder-group-alist t] 3])
(nnoo-register-function (quote nnfolder-request-list))
(defalias 'nnfolder-request-newgroups #[(date &optional server) "\n\"\n!" [nnfolder-possibly-change-group nil server nnfolder-request-list] 3])
(nnoo-register-function (quote nnfolder-request-newgroups))
(defalias 'nnfolder-request-list-newsgroups #[(&optional server) "\n\"\f!)" [nnfolder-possibly-change-group nil server nnmail-find-file nnfolder-newsgroups-file] 3])
(nnoo-register-function (quote nnfolder-request-list-newsgroups))
(defalias 'nnfolder-request-expire-articles #[(articles newsgroup &optional server force) "	\n\"!	q\nY \fY eb\n@!P 	``{$H \n@	$ P \n@B\nA\n c \" 	!\"\n+" [nnfolder-possibly-change-group newsgroup server t is-old nil rest nnmail-activate nnfolder nnfolder-current-buffer articles nnfolder-goto-article nnmail-expired-article-p force nnfolder-inhibit-expiry nnheader-message 5 "Deleting article %d..." nnfolder-delete-mail "Deleting articles...done" nnfolder-save-buffer nnfolder-adjust-min-active nnmail-save-active nnfolder-group-alist nnfolder-active-file] 6])
(nnoo-register-function (quote nnfolder-request-expire-articles))
(defalias 'nnfolder-request-move-article #[(article group server accept-form &optional last) "!# \fqp! \f!ebP#`)#E y`y`|% !\f!) \"qeb!l    ! !\")+" [get-buffer-create " *nnfolder move*" nil result buf nnfolder-request-article article group server buffer-disable-undo erase-buffer insert-buffer-substring nntp-server-buffer re-search-forward "^" nnfolder-article-marker search-forward "\n\n" t 0 1 eval accept-form kill-buffer nnfolder-possibly-change-group nnfolder-current-buffer nnfolder-goto-article nnfolder-delete-mail last nnfolder-save-buffer nnfolder-adjust-min-active nnmail-save-active nnfolder-group-alist nnfolder-active-file] 6])
(nnoo-register-function (quote nnfolder-request-move-article))
(defalias 'nnfolder-request-accept-article #[(group &optional server last) "	\n\" pĉeb! !  qeb#yP#I `y`|4 T !!	;b 		!BCg !z !z ݉ !@)  @@ 	!   )$%\" \"," [nnfolder-possibly-change-group group server nnmail-check-syntax nil art-group result buf looking-at "X-From-Line: " replace-match "From " nnfolder-request-list search-forward "\n\n" t -1 re-search-backward "^" nnfolder-article-marker 1 nnmail-cache-accepted-message-ids nnmail-cache-insert nnmail-fetch-field "message-id" nnfolder-active-number nnmail-article-group yes-or-no-p "Moved to `junk' group; delete article? " junk nnfolder-save-mail last nnfolder-possibly-change-folder nnfolder-save-buffer nnmail-cache-close nnmail-save-active nnfolder-group-alist nnfolder-active-file nnheader-report nnfolder "Couldn't store article"] 5])
(nnoo-register-function (quote nnfolder-request-accept-article))
(defalias 'nnfolder-request-replace-article #[(article group buffer) "	!\nqeb#& !y`y`| eb\f6 \f̱D !D  ̱) qeb!a  \n! )" [nnfolder-possibly-change-group group buffer nil xfrom re-search-forward "^X-From-Line: \\(.*\\)$" t match-string 1 0 "From " "\n" looking-at message-unix-mail-delimiter "From nobody " current-time-string nnfolder-normalize-buffer nnfolder-current-buffer nnfolder-goto-article article nnfolder-delete-mail insert-buffer-substring nnfolder-save-buffer] 4])
(nnoo-register-function (quote nnfolder-request-replace-article))
(defalias 'nnfolder-request-delete-group #[(group &optional force server) "	\n#\f Ǐ	\n\"\n\"\n\f\n\"Ç" [nnfolder-close-group group server t force G99248 (byte-code "\n!!" [delete-file nnfolder-group-pathname group] 3) ((error)) delq assoc nnfolder-group-alist nil nnfolder-current-group nnfolder-current-buffer nnmail-save-active nnfolder-active-file] 4])
(nnoo-register-function (quote nnfolder-request-delete-group))
(defalias 'nnfolder-request-rename-group #[(group new-name &optional server) "	\n\"q!9 ȏ9 	\n\"' \f\n\"p!))" [nnfolder-possibly-change-group group server nnfolder-current-buffer file-writable-p buffer-file-name G99249 (byte-code "	!\"ć" [rename-file buffer-file-name nnfolder-group-pathname new-name t] 4) ((error)) assoc nnfolder-group-alist entry new-name nil nnfolder-current-group nnmail-save-active nnfolder-active-file kill-buffer t] 4])
(nnoo-register-function (quote nnfolder-request-rename-group))
(defalias 'nnfolder-request-regenerate #[(server) "\n\" ć" [nnfolder-possibly-change-group nil server nnfolder-generate-active-file t] 3])
(defalias 'nnfolder-adjust-min-active #[(group) "	\n\"A@PA	\nqeb#D #D !! @ 	^	) 	-" [assoc group nnfolder-group-alist active "\n" nnfolder-article-marker marker "[0-9]+" number activemin nnfolder-current-buffer search-forward nil t re-search-forward string-to-number match-string 0 newnum nnmail-within-headers-p] 4])
(defalias 'nnfolder-article-string #[(article) " \n!RP" [article "\n" nnfolder-article-marker int-to-string " " "\nMessage-ID: "] 4])
#@143 Place point at the start of the headers of ARTICLE.
ARTICLE can be an article number or a Message-ID.
Returns t if successful, nil otherwise.
(defalias 'nnfolder-goto-article #[(article) "	!yo u`##   9 \fb#9  * ?  +" [nnfolder-article-string article nil found start art-string 0 -1 search-forward t nnmail-within-headers-p search-backward nnmail-search-unix-mail-delim-backward] 4 (#$ . 12518)])
#@161 Delete the message that point is in.
If optional argument LEAVE-DELIM is t, then mailbox delimiter is not
deleted.  Point is left where the deleted region was.
(defalias 'nnfolder-delete-mail #[(&optional leave-delim) "y \n y` `)yÉ\f] #- ɉ yo@ ygU)Y y!P yD !)Y ) y\f*=k `l d|" [1 nnmail-search-unix-mail-delim-backward leave-delim nil found case-fold-search re-search-forward "^From " t no 0 -1 10 looking-at ">From \\|From " "[^ \n	:]+[ \n	]*:" yes] 6 (#$ . 12960)])
(defalias 'nnfolder-possibly-change-group #[(group &optional server dont-check) " ! ! \f! \f!!)( 	 	? !	\"a 	!!a 	BDB\"p 	ǉ ǉ	\"A@  \f! \f!!) \"	 !? 	!! !!҉%	! q	DB)*)" [server nnfolder-server-opened nnfolder-open-server nnfolder-current-buffer buffer get-buffer buffer-name nil nnfolder-current-group group binary pathname-coding-system nnmail-activate nnfolder assoc nnfolder-group-alist file-exists-p nnfolder-group-pathname 1 0 nnmail-save-active nnfolder-active-file dont-check file inf nnfolder-buffer-alist delq verify-visited-file-modtime gnus-make-directory file-name-directory nnmail-write-region t nomesg nnfolder-read-folder] 7])
#@32 Called narrowed to an article.
(defalias 'nnfolder-save-mail #[(group-art-list) "ebP! !!#  ʱeby#: yc) ) !!!A@ eb#yP#| `Ty`|f \n!edp \n@!\"  #-N 	*" [nil save-list group-art looking-at ">" message-unix-mail-delimiter delete-char 1 "From nobody " current-time-string "\n" case-fold-search re-search-forward "^From " t 0 "> " group-art-list nnmail-insert-lines nnmail-insert-xref run-hooks nnmail-prepare-save-mail-hook nnfolder-prepare-save-mail-hook search-forward "\n\n" -1 search-backward nnfolder-article-marker 2 nnfolder-insert-newsgroup-line obuf end beg nnfolder-possibly-change-folder buffer-read-only nnfolder-normalize-buffer insert-buffer-substring] 4 (#$ . 14288)])
#@60 Make sure there are two newlines at the end of the buffer.
(defalias 'nnfolder-normalize-buffer #[nil "dbx`d|c" ["\n" nil "\n\n"] 2 (#$ . 15074)])
(defalias 'nnfolder-insert-newsgroup-line #[(group-art) "eb# uPA #c)" [search-forward "\n\n" nil t -1 format nnfolder-article-marker "%d   %s\n" group-art current-time-string] 4])
(defalias 'nnfolder-active-number #[(group) "	\n\"A@ AT 	ĉBD\nBA)" [assoc group nnfolder-group-alist active 1] 4])
(defalias 'nnfolder-possibly-change-folder #[(group) "	\n\"' A@ \f! \f!!)' A@qE 0 \n\"< \n\"		!D\nB)" [assoc group nnfolder-buffer-alist inf buffer get-buffer buffer-name delq nnfolder-group-alist nnmail-save-active nnfolder-active-file nnfolder-read-folder] 4])
(defalias 'nnfolder-read-folder #[(group) "	!\n!q	\"A@\n!84 \n!# \fx	\fD\nB\n! x!PP	\"A@O B	\"ى\"ډ !\"#$%p!\"Aeb' W $# ## !!-  -] -^ ) \" ^]\"\"A]eb/GWGdb$# ebډ1219#1 yoygU)5y!+y!)51) y1*=Gebډ121#a1OyotygU)y!yx!)1)My1*=db dUG!b%!yډ121#1yoygU)y!y!)1)y1*=`dړb$#} ?!B!~ډ@ A\"B  !k!Cu?DBp.\f*" [nnfolder-group-pathname group file nnheader-find-file-noselect buffer assoc nnfolder-scantime-alist 5 file-attributes file-exists-p nnfolder-buffer-alist set-buffer-modified-p t save-buffer nnmail-activate nnfolder "^" message-unix-mail-delimiter "\n" nnfolder-article-marker "[0-9]+" nnfolder-group-alist 1 0 lsh -1 nil buffer-read-only newscantime end start maxid minid scantime active number marker delim buffer-disable-undo nnfolder-ignore-active-file 2 search-forward re-search-forward string-to-number match-string newnum nnmail-within-headers-p nnfolder-distrust-mbox re-search-backward found case-fold-search "^From " no 10 looking-at ">From \\|From " "[^ \n	:]+[ \n	]*:" yes point-marker marker-position nnmail-insert-lines nnfolder-insert-newsgroup-line nnfolder-active-number nnfolder-current-group nnmail-save-active nnfolder-active-file visited-file-modtime] 12])
#@76 Look for mbox folders in the nnfolder directory and make them into groups.
(defalias 'nnfolder-generate-active-file #[nil "!!A@i ! \"! \"\f: #@ #\fO \f!\"BDB!!!) \"*" [nnmail-activate nnfolder directory-files nnfolder-directory nil file files backup-file-name-p message-mail-file-mbox-p nnheader-concat assoc nnfolder-group-alist oldgroup nnheader-message 5 "Refreshing group %s..." "Adding group %s..." delq copy-sequence 1 0 nnfolder-possibly-change-folder nnfolder-possibly-change-group nnfolder-close-group ""] 5 (#$ . 17436) nil])
#@26 Make pathname for GROUP.
(defalias 'nnfolder-group-pathname #[(group) "	\n\"!! 	P!! 	P) 	#P)" [gnus-encode-coding-string group nnmail-pathname-coding-system file-name-as-directory expand-file-name nnfolder-directory dir nnmail-use-long-file-names file-exists-p nnheader-replace-chars-in-string 46 47] 5 (#$ . 18054)])
#@18 Save the buffer.
(defalias 'nnfolder-save-buffer #[nil "  ! !! " [buffer-modified-p run-hooks nnfolder-save-buffer-hook gnus-make-directory file-name-directory buffer-file-name save-buffer] 3 (#$ . 18402)])
(provide (quote nnfolder))
