;ELC   
;;; Compiled by amu@quiche-lorraine.mit.edu on Thu Jan  6 19:18:12 2000
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/gnus-5.8.3/lisp/nnmh.el
;;; in Emacs version 20.4.1
;;; with bytecomp version 2.56
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`nnmh.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\302\303!\210\302\304!\210\302\305!\210\302\306!\210\307\310\311\312\"\312\211FB\307\313D	B\312\207" [nnoo-definition-alist nnoo-state-alist require nnheader nnmail gnus-start nnoo nnmh mapcar #[(p) "C\207" [p] 1] nil "*internal-non-initialized-backend*"] 4)
#@24 *Mail spool directory.
(defvar nnmh-directory message-directory (#$ . -910))
(nnoo-define 'nnmh-directory nil)
#@73 *If non-nil, nnmh will check the incoming mail file and split the mail.
(defvar nnmh-get-new-mail t (#$ . -1027))
(nnoo-define 'nnmh-get-new-mail nil)
#@49 *Hook run narrowed to an article before saving.
(defvar nnmh-prepare-save-mail-hook nil (#$ . -1184))
(nnoo-define 'nnmh-prepare-save-mail-hook nil)
#@236 *If non-nil, nnmh will check all articles to make sure whether they are new or not.
Go through the .nnmh-articles file and compare with the actual
articles in this folder.  The articles that are "new" will be marked
as unread by Gnus.
(defvar nnmh-be-safe nil (#$ . -1340))
(nnoo-define 'nnmh-be-safe nil)
#@15 nnmh version.
(defconst nnmh-version "nnmh 1.0" (#$ . 1652))
#@31 Current news group directory.
(defvar nnmh-current-directory nil (#$ . 1719))
(byte-code "\304\305\306\"\210\307\300!\204 \310\300	B\304\300\306\"\210\307\302!\204 \306\302	B\304\302\306\"\210\307\303!\204/ \306\303	B\311\312!\207" [nnmh-status-string current-load-list nnmh-group-alist nnmh-allow-delete-final nnoo-define nnmh-current-directory nil boundp "" nnoo-define-basics-1 nnmh] 3)
(defalias 'nnmh-retrieve-headers #[(articles &optional newsgroup server fetch-old) "\212q\210\306 \210\307\nG\f\247\205 \fV\310\311 \307!\307\"\312#$\"\210\n@;\2032 \313\202\254 \n\203\237 \314\315%!\316\n\211A@\211\"!P\211!\203 \317	!\204 \320\321\"\"c\210`!\322	!\210!b\210\323\324\307\325#\203r \326u\210\202x db\210\324c\210\327c\210`d|\210T\2032 \330\246\310U\2032 \331\332\333\334_\245#\210\2022 \203\250 \331\332\335\"\210\336 \210\313.\207" [nntp-server-buffer file articles number nnmail-large-newsgroup large erase-buffer nil 0 binary nnmh-possibly-change-directory headers file-exists-p file-name-as-directory int-to-string file-directory-p format "221 %d Article retrieved.\n" nnheader-insert-head search-forward "\n\n" t -1 ".\n" 20 nnheader-message 5 "nnmh: Receiving headers... %d%%" 100 "nnmh: Receiving headers...done" nnheader-fold-continuation-lines count pathname-coding-system beg article newsgroup server nnmh-current-directory] 5])
(nnoo-register-function 'nnmh-retrieve-headers)
(defalias 'nnmh-open-server #[(server &optional defs) "\303\304	#\210\305\n!\204 \306\307\310\217\210\305\n!\204  \311 \210\312\304\313\n#\207\314\315\n!!\2041 \311 \210\312\304\316\n#\207\312\304\317\n$\210\320\207" [server defs nnmh-directory nnoo-change-server nnmh file-exists-p nil (make-directory nnmh-directory t) ((error)) nnmh-close-server nnheader-report "Couldn't create directory: %s" file-directory-p file-truename "Not a directory: %s" "Opened server %s using directory %s" t] 5])
(nnoo-register-function 'nnmh-open-server)
(defalias 'nnmh-request-article #[(id &optional newsgroup server buffer) "\306	\"\210\n;?\205 \307\n!P\310\f\206 \211;\205> \311!\205> \312!?\205> \212\313!)\205> \314\315!!+\207" [newsgroup server id nnmh-current-directory buffer nntp-server-buffer nnmh-possibly-change-directory int-to-string binary file-exists-p file-directory-p nnmail-find-file string-to-int file-name-nondirectory pathname-coding-system file] 4])
(nnoo-register-function 'nnmh-request-article)
(defalias 'nnmh-request-group #[(group &optional server dont-check) "\306 \210\307	\"\210\310\n\"\311\312\313!\204 \314\315\316#\202\216 !\"\2030 #\2030 \317!\210$\203? \314\315\320#\210\321\202\216 \322!\210\323\324\325\326\312\327\321$\"\330\"\211\203\202 \331\332%\"%\"%@\333!@BD%B%\314\315\320#\210\334\335G@\333!@%\202\216 \314\315\336#\210\334\337\340\"!+\207" [group server nnmh-directory dir pathname-coding-system pathname nnheader-init-server-buffer nnmh-possibly-change-directory nnmail-group-pathname binary nil file-directory-p nnheader-report nnmh "Can't select group (no such directory): %s" nnmh-update-gnus-unreads "Selected group %s" t nnheader-re-read-dir sort mapcar #[(name) "\301!\207" [name string-to-int] 2] directory-files "^[0-9]+$" < delq assoc last nnheader-insert "211 %d %d %d %s\n" "Empty group %s" format "211 0 1 0 %s\n" nnmh-current-directory nnmh-get-new-mail nnmh-be-safe dont-check nnmh-group-alist] 9])
(nnoo-register-function 'nnmh-request-group)
(defalias 'nnmh-request-scan #[(&optional group server) "\302\303\304	$\207" [nnmh-directory group nnmail-get-new-mail nnmh nil] 5])
(nnoo-register-function 'nnmh-request-scan)
(defalias 'nnmh-request-list #[(&optional server dir) "\306\307!\210\310\311\"\210\312\313	\206 \314\n!!\315!\210*\316 \317\207" [server dir nnmh-directory nnmh-toplev pathname-coding-system nnmh-group-alist nnheader-insert "" nnmh-possibly-change-directory nil binary file-truename file-name-as-directory nnmh-request-list-1 nnmail-get-active t] 4])
(byte-code "\301\302!\210\303B\301\207" [current-load-list nnoo-register-function nnmh-request-list nnmh-toplev] 2)
(defalias 'nnmh-request-list-1 #[(dir) "\306!\307!\205 \310\311!!A@\312V\205 \313\314\315\314$\315\n\211A@\211\203F \316	!\203 \307	!\203 \317	!\317!\232\204 \320	!\210\202 *\306!\230\204\215 \321\322\323\315\324\314$\"\211\203\214 \212q\210db\210\325\326\327\330\317\331\306!!!!\"\210\332\333\334\225\315O\"\"\335\336#\337\340\f\"\337\341\f\"$c\210))\314\207" [dir rdir dirs nnmh-toplev files nntp-server-buffer expand-file-name file-readable-p file-attributes file-chase-links 2 nnheader-directory-files t nil file-directory-p file-truename nnmh-request-list-1 mapcar #[(name) "\301!\207" [name string-to-int] 2] directory-files "^[0-9]+$" format "%s %d %d y\n" string-match regexp-quote file-name-as-directory nnheader-replace-chars-in-string mm-decode-coding-string 0 47 46 apply max min nnmail-pathname-coding-system] 9])
(defalias 'nnmh-request-newgroups #[(date &optional server) "\301!\207" [server nnmh-request-list] 2])
(nnoo-register-function 'nnmh-request-newgroups)
(defalias 'nnmh-request-expire-articles #[(articles newsgroup &optional server force) "\306	\"\210\307\310\310\310\311 \210\203^ \n\203^ \312@!P\313\314!8\211\203U \315@\"\203O \316#\211\203O \317\313\320$\210\310\321\322\217\210\202U @\fBA\211\204 \317\313\323\"\210\f\244,\207" [newsgroup server is-old article rest mod-time nnmh-possibly-change-directory t nil nnheader-init-server-buffer int-to-string 5 file-attributes nnmh-deletable-article-p nnmail-expired-article-p nnheader-message "Deleting article %s in %s..." (funcall nnmail-delete-file-function article) ((file-error (byte-code "\304\305\306	$\210\n@B\304\207" [article newsgroup articles rest nnheader-message 1 "Couldn't delete article %s in %s"] 5))) "" articles nnmh-current-directory force] 6])
(nnoo-register-function 'nnmh-request-expire-articles)
(defalias 'nnmh-close-group #[(group &optional server) "\300\207" [t] 1])
(nnoo-register-function 'nnmh-close-group)
(defalias 'nnmh-request-move-article #[(article group server accept-form &optional last) "\306\307!\310\311\n\"\2038 \312\n\f#\2038 \212	q\210\313 \210\314!\210\315!\316p!\210)\2038 \317\n\f\"\210\310\320\321\217\210*\207" [result buf group article server nntp-server-buffer get-buffer-create " *nnmh move*" nil nnmh-deletable-article-p nnmh-request-article erase-buffer insert-buffer-substring eval kill-buffer nnmh-possibly-change-directory (byte-code "	\303\n!P!\207" [nnmail-delete-file-function nnmh-current-directory article int-to-string] 4) ((file-error)) accept-form] 4])
(nnoo-register-function 'nnmh-request-move-article)
(defalias 'nnmh-request-accept-article #[(group &optional server last noinsert) "\306	\"\210\307 \210\n\203 \310\311\312!!\210\313 \210;\2031 \203$ \314!\202I \315\314!BC\"@\202I \316\314!\211\204C \317\320!\203C \321\202H \315\f\"@)\203T \n\203T \322 \210\207" [group server nnmail-cache-accepted-message-ids noinsert res last nnmh-possibly-change-directory nnmail-check-syntax nnmail-cache-insert nnmail-fetch-field "message-id" nnheader-init-server-buffer nnmh-active-number nnmh-save-mail nnmail-article-group yes-or-no-p "Moved to `junk' group; delete article? " junk nnmail-cache-close] 5])
(nnoo-register-function 'nnmh-request-accept-article)
(defalias 'nnmh-request-replace-article #[(article group buffer) "\302!\210\212	q\210\303!\210\304\305\306\217)\207" [group buffer nnmh-possibly-change-directory nnmh-possibly-create-directory #1=#:G82165 (byte-code "\302ed\303	!P\304\305\306!?\205 \307%\210\310\207" [nnmh-current-directory article nnmail-write-region int-to-string nil nnheader-be-verbose 5 nomesg t] 7) ((error))] 3])
(nnoo-register-function 'nnmh-request-replace-article)
(defalias 'nnmh-request-create-group #[(group &optional server args) "\306 \210\307	\"\204; \310\311\312B\211D	B\313!\210\314\"\210\315\316\317\f\310\320#\"\211\203: \n\321\322\"\240\210\n\321\323\"\241\210*\324\207" [group nnmh-group-alist active server nnmh-current-directory articles nnheader-init-server-buffer assoc nil 1 0 nnmh-possibly-create-directory nnmh-possibly-change-directory mapcar #[(file) "\301!\207" [file string-to-int] 2] directory-files "^[0-9]+$" apply min max t] 7])
(nnoo-register-function 'nnmh-request-create-group)
(defalias 'nnmh-request-delete-group #[(group &optional force server) "\306	\"\210\n\2034 \307\310\311#\211\203. \312\f@!\203' \313\314\315\f@$\210\f@!\210\fA\211\204 )\316\317\320\217\210\321\322\"\"\323\310\207" [group server force nnmh-current-directory articles nnmail-delete-file-function nnmh-possibly-change-directory directory-files t "^[0-9]+$" file-writable-p nnheader-message 5 "Deleting article %s in %s..." #1=#:G82166 (delete-directory nnmh-current-directory) ((error)) delq assoc nil nnmh-group-alist] 6])
(nnoo-register-function 'nnmh-request-delete-group)
(defalias 'nnmh-request-rename-group #[(group new-name &optional server) "\306	\"\210\307\n\"\307\"\310\311\312\217\205] \313\f!\2039 \314\f@AP@AP\"\210\211A\210\202 )\315\f!G\316X\203H \317\320\321\217\210\322\"\211\203X \n\240\210\323)\324*\207" [group server new-name nnmh-directory old-dir new-dir nnmh-possibly-change-directory nnmail-group-pathname #1=#:G82167 (byte-code "\301\302\"\210\302\207" [new-dir make-directory t] 3) ((error)) nnheader-article-to-file-alist rename-file directory-files 2 #2=#:G82168 (delete-directory old-dir) ((error)) assoc nil t files nnmh-group-alist entry nnmh-current-directory] 5])
(byte-code "\300\301!\210\302\303!\207" [nnoo-register-function nnmh-request-rename-group nnoo-define-skeleton-1 nnmh] 2)
(defalias 'nnmh-possibly-change-directory #[(newsgroup &optional server) "\203 \306!\204 \307!\210	\205* \310	\n\"\311\312\f!\203% \f\211\202) \313\314	\"*\207" [server newsgroup nnmh-directory pathname-coding-system pathname nnmh-current-directory nnmh-server-opened nnmh-open-server nnmail-group-pathname binary file-directory-p error "No such newsgroup: %s"] 3])
(defalias 'nnmh-possibly-create-directory #[(group) "\304\211\305\n\"\306	!\204 	B\307\310	!!\202	 \205> \311\310@!!\203/ \312\313@\"\210\314\315\316@#\210A\211\204  \304*\207" [dirs dir group nnmh-directory nil nnmail-group-pathname file-directory-p file-name-directory directory-file-name make-directory error "Could not create directory %s" nnheader-message 5 "Creating mail directory %s"] 5])
#@32 Called narrowed to an article.
(defalias 'nnmh-save-mail #[(group-art &optional noinsert) "\204 \306 \210\307	!\210\310\311!\210\310\312!\210eb\210\313\314!\203& \315\316!\210\317y\210\202 	\320\211\203a \321@@!\210\322@@\f\"\323@A!P\n\203O \n\324#\210\202Y \325ed\320\211%\210)A\211\204. *	\207" [noinsert group-art first ga nnmh-directory file nnmail-insert-lines nnmail-insert-xref run-hooks nnmail-prepare-save-mail-hook nnmh-prepare-save-mail-hook looking-at "From " replace-match "X-From-Line: " 1 nil nnmh-possibly-create-directory nnmail-group-pathname int-to-string t nnmail-write-region nnmail-crosspost-link-function] 7 (#$ . 12294)])
#@43 Compute the next article number in GROUP.
(defalias 'nnmh-active-number #[(group) "\306	\"A@\307\n\"\310\311\211\204D \312\313BD	B\314!\204+ \315!\210\316\317\320\321\311\322#\"\323\"\211\203C @\241\210)\211AT\241\210\314\307\n\"\324A!P\211!\204b \325!\203l \211AT\241\210\202K A,\207" [group nnmh-group-alist nnmh-directory file pathname-coding-system dir assoc nnmail-group-pathname binary nil 1 0 file-exists-p gnus-make-directory sort mapcar #[(f) "\301!\207" [f string-to-int] 2] directory-files "^[0-9]+$" > int-to-string get-file-buffer active files] 8 (#$ . 12963)])
(defalias 'nnmh-update-gnus-unreads #[(group) "\306\307\310\311\312\313\314$\"\315\"	\316P\312\312\317!\203) \312(\320\321\322\217\210()\n\211)\203G )@\236\204> )@\fB)A\211)\2040 )\211)\203h )@@\n>\204_ \323)@\")A\211)\204O )\312)**\211A*@\211)\203\235 \324\325	\326)@!P!8)A\232\204o \323)\")@\fB\202o *\307\327\f\"\244\f\203\271 \330\331+\332\333D\"\306\f\315\"\211\"\210\306\334\"\335\336\337!!,-\340\216r,q\210\341+\342\261\210\343c\210\344!\210\345c)r,q\210~\210\346ed-\312\347%\210.	\207" [nnmh-current-directory dir files nnmh-file new articles sort mapcar #[(name) "\301!\207" [name string-to-int] 2] directory-files nil "^[0-9]+$" t < ".nnmh-articles" file-exists-p #1=#:G82169 (byte-code "\301\302\303\211$\207" [nnmh-file load nil t] 5) ((error)) delq 5 file-attributes int-to-string #[(art) "\302\303	\304!P!8B\207" [art dir 5 file-attributes int-to-string] 6] gnus-make-articles-unread gnus-group-prefixed-name nnmh "" #[(art1 art2) "@	@V\207" [art1 art2] 2] get-buffer-create generate-new-buffer-name " *temp file*" ((byte-code "\301!\203\n \302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) ";; Gnus article active file for " "\n\n" "(setq nnmh-newsgroup-articles '" gnus-prin1 ")\n" write-region 0 nnmh-newsgroup-articles art arts group #2# #3=#:temp-file] 9])
#@46 Say whether ARTICLE in GROUP can be deleted.
(defalias 'nnmh-deletable-article-p #[(group article) "\306	!P\307\n!\205 \310\f\"A@A	=?\206 )\207" [nnmh-current-directory article path group nnmh-group-alist nnmh-allow-delete-final int-to-string file-writable-p assoc] 3 (#$ . 14930)])
(provide 'nnmh)
