;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:51:16 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/gnus/nnspool.el
;;; in Emacs version 23.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

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


(byte-code "\302\303!\210\302\304!\210\302\305!\210\306\236\203 \306\236A\307\310\311\"\240\210\202* \306\307\310\311\"\311\211FB\306	\236\2046 \306\312D	B\311\207" [nnoo-definition-alist nnoo-state-alist require nnheader nntp nnoo nnspool mapcar list nil "*internal-non-initialized-backend*"] 4)
#@139 Program to post news.
This is most commonly `inews' or `injnews'.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-inews-program news-inews-program (#$ . 846))
(nnoo-define 'nnspool-inews-program nil)
#@214 Switches for nnspool-request-post to pass to `inews' for posting news.
If you are using Cnews, you probably should set this variable to nil.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-inews-switches '("-h" "-S") (#$ . 1093))
(nnoo-define 'nnspool-inews-switches nil)
#@101 Local news spool directory.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-spool-directory (byte-code "\301\302\303!\203\f \303J\202 !\207" [news-path file-name-as-directory boundp news-directory] 3) (#$ . 1412))
(nnoo-define 'nnspool-spool-directory nil)
#@99 Local news nov directory.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-nov-directory (concat nnspool-spool-directory "over.view/") (#$ . 1717))
(nnoo-define 'nnspool-nov-directory nil)
#@120 Where the local news library files are stored.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-lib-dir (byte-code "\300\301!\203 \302\207\303\207" [file-exists-p "/usr/lib/news/active" "/usr/lib/news/" "/var/lib/news/"] 2) (#$ . 1952))
(nnoo-define 'nnspool-lib-dir nil)
#@97 Local news active file.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-active-file (concat nnspool-lib-dir "active") (#$ . 2270))
(nnoo-define 'nnspool-active-file nil)
#@101 Local news newsgroups file.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-newsgroups-file (concat nnspool-lib-dir "newsgroups") (#$ . 2487))
(nnoo-define 'nnspool-newsgroups-file nil)
#@104 Local news distributions file.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-distributions-file (concat nnspool-lib-dir "distribs.pat") (#$ . 2720))
(nnoo-define 'nnspool-distributions-file nil)
#@98 Local news history file.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-history-file (concat nnspool-lib-dir "history") (#$ . 2963))
(nnoo-define 'nnspool-history-file nil)
#@102 Local news active date file.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-active-times-file (concat nnspool-lib-dir "active.times") (#$ . 3184))
(nnoo-define 'nnspool-active-times-file nil)
#@247 The number of articles which indicates a large newsgroup.
If the number of articles is greater than the value, verbose
messages will be shown to indicate the current status.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-large-newsgroup 50 (#$ . 3424))
(nnoo-define 'nnspool-large-newsgroup nil)
#@148 Non-nil means that nnspool will never return NOV lines instead of headers.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-nov-is-evil nil (#$ . 3768))
(nnoo-define 'nnspool-nov-is-evil nil)
#@151 If non-nil, use sed to get the relevant portion from the overview file.
If nil, nnspool will load the entire file into a buffer and process it
there.
(defconst nnspool-sift-nov-with-sed nil (#$ . 4006))
#@147 *A hook that will be run when an article has been rejected by the server.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-rejected-article-hook nil (#$ . -4216))
(nnoo-define 'nnspool-rejected-article-hook nil)
#@100 Coding system for nnspool.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-file-coding-system nnheader-file-coding-system (#$ . 4474))
(nnoo-define 'nnspool-file-coding-system nil)
#@45 Version numbers of this version of NNSPOOL.
(defconst nnspool-version "nnspool 2.0" (#$ . 4701))
#@103 Current news group directory.

This is a Gnus server variable.  See Info node `(gnus)Select Methods'.
(defvar nnspool-current-directory nil (#$ . 4805))
(byte-code "\301\302\303\"\210\304B\305\304!\204 \306\304\303\"\210\301\304\303\"\210\307B\305\307!\204( \306\307\310\"\210\301\307\303\"\210\311\312!\207" [current-load-list nnoo-define nnspool-current-directory nil nnspool-current-group default-boundp set-default nnspool-status-string "" nnoo-define-basics-1 nnspool] 3)
#@35 Retrieve the headers of ARTICLES.
(defalias 'nnspool-retrieve-headers #[(articles &optional group server fetch-old) "\212q\210\306 \210\307	!\205J\nG\310)*\247\205 *V+,-\311\211./\311\21101\n@\247\203C \312\n2\"\203C \313\202H\n\211A@\2110\203:0;\203p \3140!\2111\205f \3151@1A\".1A0\202v \3160!..\203\317.!\203\320c\210\3210p\"\210\322c\210`/..\317.!\203\363 3\323=\203\253 \324.!\210\202\363 \310`\32545/6\326.\311/\2116\\\211/$A@=\203\343 \327\330\311\323#?db\210\203\343 3\203\264 /3W\204\264 \331-!\203\362 \3325d-#\210+)/b\210\333\334\311\323#\203	\335u\210\336c\210\202db\210n\203\336c\210\202\337c\210`d|\210+\203C \340\fT\211\341\246!\203C \342\343\344\f\345_\245#\210\202C +\203D\342\343\346\"\210\347 \210\350.	)\207" [nntp-server-buffer group articles number count nnspool-current-directory erase-buffer nnspool-possibly-change-directory 0 nil nnspool-retrieve-headers-with-nov nov nnspool-find-id nnspool-article-pathname int-to-string file-exists-p "221 " princ " Article retrieved.\n" t nnheader-insert-file-contents binary mm-insert-file-contents re-search-forward "\n?\n\\|" mm-coding-system-p mm-decode-coding-region search-forward "\n\n" -1 ".\n" "\n.\n" zerop 20 nnheader-message 5 "nnspool: Receiving headers... %d%%" 100 "nnspool: Receiving headers...done" nnheader-fold-continuation-lines headers default-directory nnspool-large-newsgroup do-message nnspool-file-coding-system nnheader-file-coding-system file beg article ag fetch-old nnheader-max-head-length coding-system-for-read start nnheader-head-chop-length] 8 (#$ . 5293)])
(nnoo-register-function 'nnspool-retrieve-headers)
(defalias 'nnspool-open-server #[(server &optional defs) "\304\305	#\210\306\n!\204 \307 \210\310\305\311\n#\207\312\313\314\n!!!\204( \307 \210\310\305\315\n#\207\306!\2044 \310\305\316#\207\310\305\317\n$\210\320\207" [server defs nnspool-spool-directory nnspool-active-file nnoo-change-server nnspool file-exists-p nnspool-close-server nnheader-report "Spool directory doesn't exist: %s" file-directory-p directory-file-name file-truename "Not a directory: %s" "The active file doesn't exist: %s" "Opened server %s using directory %s" t] 5])
(nnoo-register-function 'nnspool-open-server)
#@43 Select article by message ID (or number).
(defalias 'nnspool-request-article #[(id &optional group server buffer) "\306!\210	\206	 \n\307\211;\203% \310!\211\203+ \311@A\"\202+ \311\"\f\205Q \312\f!\205Q \313\f!?\205Q \212\314\f!)\205Q \247\203P B\202Q +\207" [group buffer nntp-server-buffer ag file id nnspool-possibly-change-directory nil nnspool-find-id nnspool-article-pathname file-exists-p file-directory-p nnspool-find-file nnspool-current-group] 3 (#$ . 7576)])
(nnoo-register-function 'nnspool-request-article)
#@48 Select article body by message ID (or number).
(defalias 'nnspool-request-body #[(id &optional group server) "\304!\210\305	!\211\205! \212q\210eb\210\306\307\310\311#\203 e`|\210\n))\207" [group id res nntp-server-buffer nnspool-possibly-change-directory nnspool-request-article search-forward "\n\n" nil t] 5 (#$ . 8122)])
(nnoo-register-function 'nnspool-request-body)
#@48 Select article head by message ID (or number).
(defalias 'nnspool-request-head #[(id &optional group server) "\304!\210\305	!\211\203$ \212q\210eb\210\306\307\310\311#\203  `Sd|\210\312 \210)\n)\207" [group id res nntp-server-buffer nnspool-possibly-change-directory nnspool-request-article search-forward "\n\n" nil t nnheader-fold-continuation-lines] 5 (#$ . 8504)])
(nnoo-register-function 'nnspool-request-head)
#@20 Select news GROUP.
(defalias 'nnspool-request-group #[(group &optional server dont-check) "\305!\306\307\n!\204 \310\311\312#\202Z \n\310\311\313#\210\f\203* \310\311\313#\210\314\202Z \315\n\306\316\314$\211\203= \317\320\321	\"\322\"	\203P \323\324	G	@\325	!@%\202Z \310\311\326#\210\323\327\"*\207" [group dir pathname nnspool-current-directory dont-check nnspool-article-pathname nil file-directory-p nnheader-report nnspool "Invalid group name (no such directory): %s" "Selected group %s" t directory-files "^[0-9]+$" sort mapcar string-to-number < nnheader-insert "211 %d %d %d %s\n" last "Empty group %s" "211 0 0 0 %s\n"] 6 (#$ . 8929)])
(nnoo-register-function 'nnspool-request-group)
(defalias 'nnspool-request-type #[(group &optional article) "\300\207" [news] 1])
(nnoo-register-function 'nnspool-request-type)
(defalias 'nnspool-close-group #[(group &optional server) "\300\207" [t] 1])
(nnoo-register-function 'nnspool-close-group)
#@25 List active newsgroups.
(defalias 'nnspool-request-list #[(&optional server) "\212\301!\206 \302\303\304!\")\207" [nnspool-active-file nnspool-find-file nnheader-report nnspool nnheader-file-error] 4 (#$ . 9894)])
(nnoo-register-function 'nnspool-request-list)
#@37 List newsgroups (defined in NNTP2).
(defalias 'nnspool-request-list-newsgroups #[(&optional server) "\212\301!\206 \302\303\304!\")\207" [nnspool-newsgroups-file nnspool-find-file nnheader-report nnspool nnheader-file-error] 4 (#$ . 10164)])
(nnoo-register-function 'nnspool-request-list-newsgroups)
#@40 List distributions (defined in NNTP2).
(defalias 'nnspool-request-list-distributions #[(&optional server) "\212\301!\206 \302\303\304!\")\207" [nnspool-distributions-file nnspool-find-file nnheader-report nnspool nnheader-file-error] 4 (#$ . 10473)])
(nnoo-register-function 'nnspool-request-list-distributions)
#@33 List groups created after DATE.
(defalias 'nnspool-request-newgroups #[(date &optional server) "\306!\205h \212db\210\307\310!\204 \311\312y!\204\n \313\314	!!\315\307\316!\203L \317\225Sb\210\320c\210\321\225b\210\322p!V\203L \321\224\321\225{\nB\211\203L \311\312y!\204 \323 \210\n\315\211\203f @\211\324\261\210A\211\204W -\325\207" [nnspool-active-times-file date groups seconds group #1=#:--cl-dolist-temp-- nnspool-find-file looking-at "\\([^ ]+\\) +\\([0-9]+\\)[0-9][0-9][0-9] " zerop -1 gnus-float-time date-to-time nil "\\([^ ]+\\) +[0-9]+ " 0 ".0" 1 read erase-buffer " 0 0 y\n" t] 3 (#$ . 10794)])
(nnoo-register-function 'nnspool-request-newgroups)
#@36 Post a new news in current buffer.
(defalias 'nnspool-request-post #[(&optional server) "\212\306\307\310!\311\312\313\217\211\205X \314\315\316\"\210\317\n\320\"\210\203? \fp\321\216\322\304!\323\216\324\304\306\"\210\325\306!\210\326\ned#\210-\202R \322\304!\327\216\324\304\306\"\210\326\ned#\210*\306\330\331\217\210\332,\207" [process-connection-type inews-buffer proc mm-emacs-mule enable-multibyte-characters #1=#:buffer nil generate-new-buffer " *nnspool post*" err (byte-code "\303\304\305	\n%\207" [inews-buffer nnspool-inews-program nnspool-inews-switches apply start-process "*nnspool inews*"] 6) ((error (byte-code "\301\302\303#\207" [err nnheader-report nnspool "inews error: %S"] 4))) nnheader-report nnspool "" set-process-sentinel nnspool-inews-sentinel ((byte-code "q\210\302	!\207" [#1# #2=#:multibyte set-buffer-multibyte] 2)) default-value ((byte-code "\301\302\"\207" [#3=#:--cl-letf-save-- set-default enable-multibyte-characters] 3)) set-default set-buffer-multibyte process-send-region ((byte-code "\301\302\"\207" [#4=#:--cl-letf-save-- set-default enable-multibyte-characters] 3)) (process-send-eof proc) ((error)) t #2# #3# #4#] 5 (#$ . 11475)])
(nnoo-register-function 'nnspool-request-post)
(defalias 'nnspool-inews-sentinel #[(proc status) "\212\302!q\210eb\210\303\304 !\204 \305\306\307\310#\203 \311p!\202B \312\313\307\310#\203/ \314\315\310\211#\210\202 \316\317\320\321 #\210\322\323\324	#\210\325 \210\326\327!)\207" [proc nnspool-status-string process-buffer zerop buffer-size search-forward "spooled" nil t kill-buffer re-search-forward "[ 	\n]+" replace-match " " nnheader-report nnspool "%s" buffer-string nnheader-message 5 "nnspool: %s" ding run-hooks nnspool-rejected-article-hook] 4])
(defalias 'nnspool-retrieve-headers-with-nov #[(articles &optional fetch-old) "\206 	?\205O \306\n\307#\f\310\311!\205N \212q\210\312 \210\2035 \313\f\"\202M \314!\210\203I \247\204I \315\202M \310\316\317\217),\207" [gnus-nov-is-evil nnspool-nov-is-evil nnspool-current-group nnspool-nov-directory articles nnspool-file-coding-system nnheader-group-pathname ".overview" nil file-exists-p erase-buffer nnspool-sift-nov-with-sed nnheader-insert-file-contents t (byte-code "\304\203 \305	@Z]\202 	@\302	!@\"\210\306\307 !?\205H \310y\210\311p!\211	@U\203. \312\207\203B \n@X\203B \211A@\210\202. \313\314\"\210\312\207" [fetch-old articles last arts nnheader-nov-delete-outside-range 1 zerop buffer-size -1 read t mapc nnspool-insert-nov-head] 5) ((error)) last nnheader-file-coding-system arts nov nntp-server-buffer fetch-old] 4])
#@63 Read the head of ARTICLE, convert to NOV headers, and insert.
(defalias 'nnspool-insert-nov-head #[(article) "\212p\305\306\307!\310\311\n\"!\203$ \312!\210\313 	q\210db\210\314\f!\210)\315!+\207" [buf cur nnspool-current-group article headers nil nnheader-set-temp-buffer " *nnspool head*" nnheader-insert-head nnspool-article-pathname nnheader-insert-article-line nnheader-parse-head nnheader-insert-nov kill-buffer] 4 (#$ . 14100)])
(defalias 'nnspool-sift-nov-with-sed #[(articles file) "@\301!@\304\305\306\307\306\310\311\nS	T#&*\207" [articles last first file call-process "awk" nil t format "BEGIN {firstmsg=%d; lastmsg=%d;}\n $1 >= firstmsg && $1 <= lastmsg {print;}"] 9])
(defalias 'nnspool-find-id #[(id) "\301\302!rq\210\303\216\304\305\306\217\210eb\210\307\310!\205! \311\312!\313\311\314!!B+\207" [#1=#:temp-buffer generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) nil (byte-code "\302\303\304\305\304\306!	&\207" [id nnspool-history-file call-process "grep" nil t regexp-quote] 7) ((error)) looking-at "<[^>]+>[ 	]+[-0-9~]+[ 	]+\\([^ /	\n]+\\)/\\([0-9]+\\)[ 	\n]" match-string 1 string-to-number 2] 4])
#@38 Insert FILE in server buffer safely.
(defalias 'nnspool-find-file #[(file) "q\210\301 \210\302\303\304\217\207" [nntp-server-buffer erase-buffer nil (byte-code "\303\n!\210)\304\207" [nnspool-file-coding-system coding-system-for-read file mm-insert-file-contents t] 2) ((file-error))] 3 (#$ . 15302)])
(defalias 'nnspool-possibly-change-directory #[(group) "\204 \304\207\305!\306	!\203 	\211\202 \307\310\311#)\207" [group pathname nnspool-current-directory nnspool-current-group t nnspool-article-pathname file-directory-p nnheader-report nnspool "No such newsgroup: %s"] 4])
#@31 Find the file name for GROUP.
(defalias 'nnspool-article-pathname #[(group &optional article) "\303	\n#\207" [group nnspool-spool-directory article nnheader-group-pathname] 4 (#$ . 15899)])
(provide 'nnspool)
