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


(byte-code "!!\"ƉFB! !\"$$\"" [require nnheader nnoo nntp mapcar #[(p) "C" [p] 1] nil nnoo-definition-alist fboundp open-network-stream tcp autoload cancel-timer "timer" telnet "telnet" t telnet-send-input timezone-parse-date "timezone"] 5)
#@491 *Hooks for the NNTP server.
If the kanji code of the NNTP server is different from the local kanji
code, the correct kanji code of the buffer associated with the NNTP
server must be specified as follows:

(setq nntp-server-hook
      (function
       (lambda ()
	 ;; Server's Kanji code is EUC (NEmacs hack).
	 (make-local-variable 'kanji-fileio-code)
	 (setq kanji-fileio-code 0))))

If you'd like to change something depending on the server in this
hook, use the variable `nntp-address'.
(defvar nntp-server-hook nil (#$ . -789))
(nnoo-define (quote nntp-server-hook) nil)
#@383 *Hook used for sending commands to the server at startup.  
The default value is `nntp-send-mode-reader', which makes an innd
server spawn an nnrpd server.  Another useful function to put in this
hook might be `nntp-send-authinfo', which will prompt for a password
to allow posting from the server.  Note that this is only necessary to
do on servers that use strict access control.
(defvar nntp-server-opened-hook (quote (nntp-send-mode-reader)) (#$ . -1371))
(byte-code "\"\"" [nnoo-define nntp-server-opened-hook nil add-hook nntp-send-mode-reader] 3)
#@273 Alist of regexps to match on server types and actions to be taken.
For instance, if you want Gnus to beep every time you connect
to innd, you could say something like:

(setq nntp-server-action-alist
       '(("innd" (ding))))

You probably don't want to do that, though.
(defvar nntp-server-action-alist (quote (("nntpd 1\\.5\\.11t" (remove-hook (quote nntp-server-opened-hook) (quote nntp-send-mode-reader))))) (#$ . 1940))
(nnoo-define (quote nntp-server-action-alist) nil)
#@438 *Function used for connecting to a remote system.
It will be called with the address of the remote system.

Two pre-made functions are `nntp-open-network-stream', which is the
default, and simply connects to some port or other on the remote
system (see nntp-port-number).  The other is `nntp-open-rlogin', which
does an rlogin on the remote system, and then does a telnet to the
NNTP server available there (see nntp-rlogin-parameters).
(defvar nntp-open-server-function (quote nntp-open-network-stream) (#$ . -2424))
(nnoo-define (quote nntp-open-server-function) nil)
#@168 *Parameters to `nntp-open-rlogin'.
That function may be used as `nntp-open-server-function'.  In that
case, this list will be used as the parameter list given to rsh.
(defvar nntp-rlogin-parameters (quote ("telnet" "${NNTPSERVER:=localhost}" "nntp")) (#$ . -3001))
(nnoo-define (quote nntp-rlogin-parameters) nil)
#@67 *User name on remote system when using the rlogin connect method.
(defvar nntp-rlogin-user-name nil (#$ . -3321))
(nnoo-define (quote nntp-rlogin-user-name) nil)
#@178 *Parameters to `nntp-open-telnet'.
That function may be used as `nntp-open-server-function'.  In that
case, this list will be executed as a command after logging in
via telnet.
(defvar nntp-telnet-parameters (quote ("exec" "telnet" "-8" "${NNTPSERVER:=localhost}" "nntp")) (#$ . -3490))
(nnoo-define (quote nntp-telnet-parameters) nil)
#@38 User name to log in via telnet with.
(defvar nntp-telnet-user-name nil (#$ . 3832))
(nnoo-define (quote nntp-telnet-user-name) nil)
#@44 Password to use to log in via telnet with.
(defvar nntp-telnet-passwd nil (#$ . 3970))
(nnoo-define (quote nntp-telnet-passwd) nil)
#@31 *The name of the NNTP server.
(defvar nntp-address nil (#$ . -4108))
(nnoo-define (quote nntp-address) nil)
#@29 *Port number to connect to.
(defvar nntp-port-number "nntp" (#$ . -4222))
(nnoo-define (quote nntp-port-number) nil)
#@174 String to use on the end of lines when talking to the NNTP server.
This is "\r\n" by default, but should be "\n" when
using rlogin or telnet to communicate with the server.
(defvar nntp-end-of-line "\n" (#$ . 4346))
(nnoo-define (quote nntp-end-of-line) nil)
#@184 *The number of the articles which indicates a large newsgroup.
If the number of the articles is greater than the value, verbose
messages will be shown to indicate the current status.
(defvar nntp-large-newsgroup 50 (#$ . -4613))
(nnoo-define (quote nntp-large-newsgroup) nil)
#@263 *t if your select routine is buggy.
If the select routine signals error or fall into infinite loop while
waiting for the server response, the variable must be set to t.  In
case of Fujitsu UTS, it is set to T since `accept-process-output'
doesn't work properly.
(defvar nntp-buggy-select (memq system-type (quote (fujitsu-uts))) (#$ . -4896))
(nnoo-define (quote nntp-buggy-select) nil)
#@153 *The maximum number of the requests sent to the NNTP server at one time.
If Emacs hangs up while retrieving headers, set the variable to a
lower value.
(defvar nntp-maximum-request 400 (#$ . -5290))
(nnoo-define (quote nntp-maximum-request) nil)
#@131 *Display '...' every 10Kbytes of a message being received if it is non-nil.
If it is a number, dots are displayed per the number.
(defvar nntp-debug-read 10000 (#$ . -5543))
(nnoo-define (quote nntp-debug-read) nil)
#@79 *If non-nil, nntp will never attempt to use XOVER when talking to the server.
(defvar nntp-nov-is-evil nil (#$ . -5765))
(nnoo-define (quote nntp-nov-is-evil) nil)
#@225 *List of strings that are used as commands to fetch NOV lines from a server.
The strings are tried in turn until a positive response is gotten. If
none of the commands are successful, nntp will just grab headers one
by one.
(defvar nntp-xover-commands (quote ("XOVER" "XOVERVIEW")) (#$ . -5936))
(nnoo-define (quote nntp-xover-commands) nil)
#@161 *Maximum allowed gap between two articles.
If the gap between two consecutive articles is bigger than this
variable, split the XOVER request into two requests.
(defvar nntp-nov-gap 20 (#$ . -6285))
(nnoo-define (quote nntp-nov-gap) nil)
#@131 *Number of seconds to wait before an nntp connection times out.
If this variable is nil, which is the default, no timers are set.
(defvar nntp-connection-timeout nil (#$ . -6529))
(nnoo-define (quote nntp-connection-timeout) nil)
#@133 *Number of seconds to wait for a response when sending a command.
If this variable is nil, which is the default, no timers are set.
(defvar nntp-command-timeout nil (#$ . -6766))
(nnoo-define (quote nntp-command-timeout) nil)
#@61 *If non-nil, re-send the command when the user types `C-g'.
(defvar nntp-retry-on-break nil (#$ . -6998))
(nnoo-define (quote nntp-retry-on-break) nil)
#@65 *If non-nil, override `mail-default-headers' when posting news.
(defvar nntp-news-default-headers nil (#$ . -7156))
(nnoo-define (quote nntp-news-default-headers) nil)
#@347 *Hook run before a server is opened.
If can be used to set up a server remotely, for instance.  Say you
have an account at the machine "other.machine".  This machine has
access to an NNTP server that you can't access locally.  You could
then use this hook to rsh to the remote machine and start a proxy NNTP
server there that you can connect to.
(defvar nntp-prepare-server-hook nil (#$ . -7331))
(nnoo-define (quote nntp-prepare-server-hook) nil)
#@68 *How many articles should be prefetched when in asynchronous mode.
(defvar nntp-async-number 5 (#$ . -7785))
(nnoo-define (quote nntp-async-number) nil)
#@52 *If non-nil, beep when a server closes connection.
(defvar nntp-warn-about-losing-connection t (#$ . -7944))
(nnoo-define (quote nntp-warn-about-losing-connection) nil)
#@42 Version numbers of this version of NNTP.
(defconst nntp-version "nntp 4.0" (#$ . 8119))
#@49 Buffer associated with the NNTP server process.
(defvar nntp-server-buffer nil (#$ . 8213))
#@126 The NNTP server process.
You'd better not use this variable in NNTP front-end program, but
instead use `nntp-server-buffer'.
(defvar nntp-server-process nil (#$ . 8312))
(nnoo-define (quote nntp-server-process) nil)
#@35 Save the server response message.
(defvar nntp-status-string nil (#$ . 8534))
(nnoo-define (quote nntp-status-string) nil)
#@36 All (possibly) opened connections.
(defvar nntp-opened-connections nil (#$ . 8663))
(byte-code "! B\"! B\"!, B\"!> 	B\"!P \nB\"!b B\"!t \fB\"! B\"! B\"!" [boundp nntp-server-xover try current-load-list nnoo-define nil nntp-server-list-active-group nntp-current-group "" nntp-server-type nntp-async-process nntp-async-buffer nntp-async-articles nntp-async-fetched nntp-async-group-alist nnoo-define-basics-1 nntp] 3)
#@35 Retrieve the headers of ARTICLES.
(defalias 'nntp-retrieve-headers #[(articles &optional group server fetch-old) "	\n\"q \" \" 	\"\" ʂ Gˉe @I @!L @\"ATg U3  b#~ Tn `W3  V ۦU _# j db#! dZb!    V \" eb# ى# -)" [nntp-possibly-change-server group server nntp-server-buffer erase-buffer gnus-nov-is-evil nntp-nov-is-evil nntp-retrieve-headers-with-xover articles fetch-old nov 0 nil last-point message-log-max received count number nntp-send-strings-to-server "HEAD" int-to-string nntp-maximum-request nntp-accept-response re-search-forward "^[0-9]" t nntp-large-newsgroup 20 nnheader-message 7 "NNTP: Receiving headers... %d%%" 100 re-search-backward looking-at "^[23]" 3 "^\\.?\n" "NNTP: Receiving headers...done" nnheader-fold-continuation-lines search-forward "" replace-match "" headers] 5 (#$ . 9205)])
(nnoo-register-function (quote nntp-retrieve-headers))
#@32 Retrieve group info on GROUPS.
(defalias 'nntp-retrieve-groups #[(groups &optional server) "\n\"q\f= @! ɉe\f# ʂ$ \fz \f@\"ATR U,  b#i TY `W,  U \f db#! dZb!   eb# Չ# \f ߂ eb# ɔy`| -" [nntp-possibly-change-server nil server nntp-server-buffer nntp-server-list-active-group try nntp-try-list-active groups erase-buffer 0 "LIST ACTIVE" "GROUP" command last-point received count nntp-send-strings-to-server nntp-maximum-request nntp-accept-response re-search-forward "^[0-9]" t re-search-backward looking-at "^[23]" 3 "^\\.?\n" search-forward "" replace-match "" group "^[.2-5]" 1 active] 4 (#$ . 10244)])
(nnoo-register-function (quote nntp-retrieve-groups))
#@113 Open the virtual server SERVER.
If CONNECTIONLESS is non-nil, don't attempt to connect to any physical
servers.
(defalias 'nntp-open-server #[(server &optional defs connectionless) "@;\f @ @DC  \fDC\"\f#\f!. ȇ\f!E 	E !\n	\"!" [defs nntp-port-number nntp-address append server nnoo-change-server nntp nntp-server-opened t connectionless run-hooks nntp-prepare-server-hook nntp-open-server-semi-internal nnheader-insert ""] 4 (#$ . 11040)])
(nnoo-register-function (quote nntp-open-server))
#@29 Close connection to SERVER.
(defalias 'nntp-close-server #[(&optional server) "\n#Ď != \"\n!' \"!)" [nntp-possibly-change-server nil server t ((nntp-close-server-internal server)) nntp-server-process nntp-default-sentinel process-sentinel set-process-sentinel nntp-server-opened nntp-send-command "QUIT" sleep-for 1] 4 (#$ . 11571)])
(nnoo-register-function (quote nntp-close-server))
#@31 Close all server connections.
(defalias 'nntp-request-close #[nil "\n- \nA@ 	!= 	\"Ǐ!	! > !> !AAA@m AI 	!I 	!I *!)" [nil proc nntp-opened-connections process-sentinel nntp-default-sentinel set-process-sentinel (byte-code "	P\"" [process-send-string proc "QUIT" nntp-end-of-line] 4) ((error)) sleep-for 1 delete-process nntp-async-buffer buffer-name kill-buffer nntp nnoo-state-alist entry alist nnoo-close-server nntp-async-group-alist nntp-async-articles] 3 (#$ . 11988)])
(nnoo-register-function (quote nntp-request-close))
#@53 Say whether a connection to SERVER has been opened.
(defalias 'nntp-server-opened #[(&optional server) "\n\"  !  !>" [nnoo-current-server-p nntp server nntp-server-buffer buffer-name nntp-server-process process-status (open run)] 3 (#$ . 12603)])
(nnoo-register-function (quote nntp-server-opened))
#@35 Return server status as a string.
(defalias 'nntp-status-message #[(&optional server) " \" ÔÕO ć" [nntp-status-string string-match "[0-9][0-9][0-9][ 	]+\\([^]*\\).*$" 1 ""] 3 (#$ . 12926)])
(nnoo-register-function (quote nntp-status-message))
#@44 Request article ID (Message-ID or number).
(defalias 'nntp-request-article #[(id &optional group server buffer) "	\n\"  > q`) !* É\n\f\fP#N eb\fP# y`#\n i q \n#p *\n| !-\f  َ \"  ! \f\f#  B    !+)" [nntp-possibly-change-server group server nil found id nntp-async-articles nntp-async-fetched nntp-async-buffer int-to-string end beg art opoint re-search-forward "^2.. +" t 0 "^\\.?\n" buffer nntp-server-buffer erase-buffer insert-buffer-substring nntp-decode-text nntp-async-fetch-articles ((byte-code "	 \n\"" [buffer set-process-buffer nntp-server-process nntp-server-buffer] 3)) set-process-buffer nntp-server-process nntp-send-command "ARTICLE" nntp-current-group nntp-find-group-and-number] 4 (#$ . 13192)])
(nnoo-register-function (quote nntp-request-article))
#@52 Request body of article ID (Message-ID or number).
(defalias 'nntp-request-body #[(id &optional group server) "	\n\" ! # " [nntp-possibly-change-server group server nntp-send-command "^\\.?\n" "BODY" id int-to-string nntp-decode-text] 5 (#$ . 14128)])
(nnoo-register-function (quote nntp-request-body))
#@52 Request head of article ID (Message-ID or number).
(defalias 'nntp-request-head #[(id &optional group server) "	\n\" ! #( & (   \nq )" [nntp-possibly-change-server group server nntp-send-command "^\\.?\n" "HEAD" id int-to-string nntp-find-group-and-number nntp-decode-text nntp-server-buffer nnheader-fold-continuation-lines] 5 (#$ . 14458)])
(nnoo-register-function (quote nntp-request-head))
#@52 Request STAT of article ID (Message-ID or number).
(defalias 'nntp-request-stat #[(id &optional group server) "	\n\" ! #" [nntp-possibly-change-server group server nntp-send-command "^[23].*?\n" "STAT" id int-to-string] 5 (#$ . 14893)])
(nnoo-register-function (quote nntp-request-stat))
(defalias 'nntp-request-type #[(group &optional article) "" [news] 1])
(nnoo-register-function (quote nntp-request-type))
#@15 Select GROUP.
(defalias 'nntp-request-group #[(group &optional server dont-check) "\n\"# " [nntp-possibly-change-server nil server nntp-send-command "^2.*?\n" "GROUP" group nntp-current-group] 4 (#$ . 15330)])
(nnoo-register-function (quote nntp-request-group))
#@28 Enable pre-fetch in GROUP.
(defalias 'nntp-request-asynchronous #[(group &optional server articles) " \n!:  %  % \" !q )\n\"Ӈ" [nntp-async-articles nntp-async-request-group group nntp-async-number nntp-async-server-opened nntp-async-open-server message "Can't open second connection to %s" nntp-address ding nil sit-for 2 articles nntp-async-fetched nntp-async-buffer erase-buffer nntp-async-send-strings "GROUP" t] 3 (#$ . 15615)])
(nnoo-register-function (quote nntp-request-asynchronous))
#@57 Return the active info on GROUP (which can be a regexp.
(defalias 'nntp-list-active-group #[(group &optional server) "	\n\"	#" [nntp-possibly-change-server group server nntp-send-command "^.*?\n" "LIST ACTIVE"] 4 (#$ . 16152)])
(nnoo-register-function (quote nntp-list-active-group))
#@31 Get the description of GROUP.
(defalias 'nntp-request-group-description #[(group &optional server) "\n\"# " [nntp-possibly-change-server nil server nntp-send-command "^.*?\n" "XGTITLE" group nntp-decode-text] 4 (#$ . 16449)])
(nnoo-register-function (quote nntp-request-group-description))
#@14 Close GROUP.
(defalias 'nntp-close-group #[(group &optional server) "" [nil nntp-current-group t] 1 (#$ . 16757)])
(nnoo-register-function (quote nntp-close-group))
#@25 List all active groups.
(defalias 'nntp-request-list #[(&optional server) "\n\"\" " [nntp-possibly-change-server nil server nntp-send-command "^\\.?\n" "LIST" nntp-decode-text] 3 (#$ . 16932)])
(nnoo-register-function (quote nntp-request-list))
#@43 Get descriptions on all groups on SERVER.
(defalias 'nntp-request-list-newsgroups #[(&optional server) "\n\"\" " [nntp-possibly-change-server nil server nntp-send-command "^\\.?\n" "LIST NEWSGROUPS" nntp-decode-text] 3 (#$ . 17193)])
(nnoo-register-function (quote nntp-request-list-newsgroups))
#@43 List groups that have arrived since DATE.
(defalias 'nntp-request-newgroups #[(date &optional server) "\n\"\f!\fHO\fH!\fH!\fHO\fHO\fHO&# *" [nntp-possibly-change-server nil server timezone-parse-date date format "%s%02d%02d %s%s%s" 0 2 string-to-int 1 3 5 6 8 time-string nntp-send-command "^\\.?\n" "NEWGROUPS" nntp-decode-text] 10 (#$ . 17505)])
(nnoo-register-function (quote nntp-request-newgroups))
#@21 List distributions.
(defalias 'nntp-request-list-distributions #[(&optional server) "\n\"\" " [nntp-possibly-change-server nil server nntp-send-command "^\\.?\n" "LIST DISTRIBUTIONS" nntp-decode-text] 3 (#$ . 17950)])
(nnoo-register-function (quote nntp-request-list-distributions))
#@39 Decrease the current article pointer.
(defalias 'nntp-request-last #[(&optional group server) "	\n\"\"" [nntp-possibly-change-server group server nntp-send-command "^[23].*?\n" "LAST"] 3 (#$ . 18249)])
(nnoo-register-function (quote nntp-request-last))
#@38 Advance the current article pointer.
(defalias 'nntp-request-next #[(&optional group server) "	\n\"\"" [nntp-possibly-change-server group server nntp-send-command "^[23].*?\n" "NEXT"] 3 (#$ . 18515)])
(nnoo-register-function (quote nntp-request-next))
#@26 Post the current buffer.
(defalias 'nntp-request-post #[(&optional server) "\n\"\" ! ed\"!" [nntp-possibly-change-server nil server nntp-send-command "^[23].*?\n" "POST" nnheader-insert "" nntp-encode-text nntp-send-region-to-server nntp-wait-for-response "^[23].*\n"] 3 (#$ . 18780)])
(nnoo-register-function (quote nntp-request-post))
#@203 Send the MODE READER command to the nntp server.
This function is supposed to be called from `nntp-server-opened-hook'.
It will make innd servers spawn an nnrpd process to allow actual article
reading.
(defalias 'nntp-send-mode-reader #[nil "\"" [nntp-send-command "^.*?\n" "MODE READER"] 3 (#$ . 19143)])
#@141 Send the AUTHINFO to the nntp server.
This function is supposed to be called from `nntp-server-opened-hook'.
It will prompt for a password.
(defalias 'nntp-send-nosy-authinfo #[nil "!#!#" [nntp-send-command "^.*?\n" "AUTHINFO USER" read-string "NNTP user name: " "AUTHINFO PASS" "NNTP password: "] 5 (#$ . 19461)])
#@141 Send the AUTHINFO to the nntp server.
This function is supposed to be called from `nntp-server-opened-hook'.
It will prompt for a password.
(defalias 'nntp-send-authinfo #[nil " #!#" [nntp-send-command "^.*?\n" "AUTHINFO USER" user-login-name "AUTHINFO PASS" read-string "NNTP password: "] 5 (#$ . 19796)])
#@141 Send the AUTHINFO to the nntp server.
This function is supposed to be called from `nntp-server-opened-hook'.
It will prompt for a password.
(defalias 'nntp-send-authinfo-from-file #[nil "!0 !qp! !eb #``{#p!)" [file-exists-p "~/.nntp-authinfo" get-buffer-create " *authinfo*" buffer-disable-undo erase-buffer insert-file-contents nntp-send-command "^.*?\n" "AUTHINFO USER" user-login-name "AUTHINFO PASS" nil kill-buffer] 5 (#$ . 20122)])
#@52 Default sentinel function for NNTP server process.
(defalias 'nntp-default-sentinel #[(proc status) "	AA . \f* \f@A* \fA \f@@B B # *" [nntp nnoo-state-alist nil server servers proc nntp-server-process nntp-address nntp-warn-about-losing-connection nnheader-message 3 "nntp: Connection closed to server %s" "" nntp-current-group ding] 5 (#$ . 20596)])
#@33 Choke the connection to SERVER.
(defalias 'nntp-kill-connection #[(server) "\n\fAA\"A !!\n!\n\"\" !)" [nntp-server-process assoc server nntp nnoo-state-alist proc delete-process process-name nntp-close-server nnheader-report message "Connection timed out to server %s" ding sit-for 1] 6 (#$ . 20994)])
#@175 Decode text transmitted by NNTP.
0. Delete status line.
1. Delete `^M' at end of line.
2. Delete `.' at end of buffer (end of text mark).
3. Delete `.' at beginning of line.
(defalias 'nntp-decode-text #[nil "qdbn ceby`|#' Ɖ# dby!: `y`|eb#L != )" [nntp-server-buffer "\n" 1 search-forward "" nil t replace-match "" -1 looking-at "^\\.\n" "\n.." delete-char] 4 (#$ . 21328)])
#@141 Encode text in current buffer for NNTP transmission.
1. Insert `.' at beginning of line.
2. Insert `.' at end of buffer (end of text mark).
(defalias 'nntp-encode-text #[nil "eb# c dbn cdb)" [re-search-forward "^\\." nil t "." "\n" nntp-end-of-line] 4 (#$ . 21753)])
(byte-code "	B" [nntp-retry-command current-load-list] 2)
#@73 Wait for server RESPONSE after sending CMD and optional ARGS to server.
(defalias 'nntp-send-command #[(response cmd &rest args) "\f !$	ʎO q~ 5 Ϗ #I !J  -" [nntp-command-timeout nnheader-run-at-time nil nntp-kill-command nnoo-current-server nntp t result nntp-retry-command timer ((byte-code " !" [timer nnheader-cancel-timer] 2)) nntp-server-buffer erase-buffer nntp-retry-on-break (byte-code "\n#\f \f! " [apply nntp-send-strings-to-server cmd args response nntp-wait-for-response t result] 4) ((quit (byte-code "" [t nntp-retry-command] 1))) apply nntp-send-strings-to-server cmd args response nntp-wait-for-response] 6 (#$ . 22112)])
#@44 Kill and restart the connection to SERVER.
(defalias 'nntp-kill-command #[(server) "\n\fAA\"A !!\n!\n!\n( \n!̉)" [nntp-server-process assoc server nntp nnoo-state-alist proc delete-process process-name nntp-close-server nntp-open-server nntp-current-group nntp-request-group t nntp-retry-command] 6 (#$ . 22842)])
#@73 Wait for server RESPONSE after sending CMD and optional ARGS to server.
(defalias 'nntp-send-command-old #[(response cmd &rest args) "q \f# ! )" [nntp-server-buffer erase-buffer apply nntp-send-strings-to-server cmd args response nntp-wait-for-response t] 4 (#$ . 23188)])
#@48 Wait for server response which matches REGEXP.
(defalias 'nntp-wait-for-response #[(regexp &optional slow) "\n \n q | eb\nY #6 J #G J   ey`| !f ͉ !v ͉   e`{#  dbn y y! ͉ \n  \fU \"#*  \n V !-" [t 0 nntp-debug-read 10000 dotsize dotnum wait status nntp-server-buffer nntp-accept-response slow re-search-forward "^[23][0-9][0-9]" nil "^[45][0-9][0-9]" looking-at "[23]" "[45]" nnheader-replace-chars-in-string 13 32 nntp-status-string -1 regexp buffer-size message-log-max newnum nnheader-message 7 "NNTP: Reading %s" make-string 46 message ""] 7 (#$ . 23487)])
(defalias 'nntp-find-group-and-number #[nil "qeb# d}eb!\" Ȕȕ{!É	\n\f; \f!; \f!\nQ \n\"Q \nv !	u \fu \f\"	\"u 	ȔȕOv \" ׉O\f.B" [nntp-server-buffer search-forward "\n\n" nil t looking-at "2[0-9][0-9] +\\([0-9]+\\) " string-to-int 1 xref newsgroups group number zerop mail-fetch-field "newsgroups" string-match "," "xref" format "\\([^ :]+\\):%d" "" "" 0] 6])
(defalias 'nntp-retrieve-headers-with-xover #[(articles &optional fetch-old) " 	=\n h ' # @Z]* ł* @!#eb!A `y`|#R Ή#A dby!=`y`|=\n=Ӊep	  @A A@@Z\nW A @\"| AT U| \"qb# T `W| !q 	<db#!#dby!# eb#5!&eb!-	" [erase-buffer nntp-server-xover nntp-nov-gap fetch-old nntp-send-xover-command 1 articles nntp-last-element wait looking-at "[1-5][0-9][0-9] " search-forward "" nil t replace-match "" -1 "\\." 0 first buf last-point received count nntp-maximum-request accept-process-output nntp-server-process re-search-forward "^[0-9][0-9][0-9] " re-search-backward "^[23]" "^\\.?\n" nntp-accept-response delete-char delete-matching-lines "^\\.$\\|^[1-5][0-9][0-9] "] 6])
#@39 Send the XOVER command to the server.
(defalias 'nntp-send-xover-command #[(beg end &optional wait-for-reply) "\n \f \n #;. & # \" \fk =k \f@#qeb!a y!a \f@)\fA\f6 =~ q )))" [format "%d-%d" beg 1 end range nntp-server-xover wait-for-reply nntp-send-command "^\\.?\n" nntp-send-strings-to-server nntp-xover-commands commands try nntp-server-buffer looking-at "[23]" "[0-9]+	..." erase-buffer nil] 5 (#$ . 25513)])
#@29 Send STRINGS to the server.
(defalias 'nntp-send-strings-to-server #[(&rest strings) "\n#\fP!! !!  !\")·" [mapconcat identity strings " " nntp-end-of-line cmd nntp-server-opened nnoo-current-server nntp nntp-open-server error nntp-status-message process-send-string nntp-server-process t] 4 (#$ . 26012)])
#@67 Send the current buffer region (from BEGIN to END) to the server.
(defalias 'nntp-send-region-to-server #[(begin end) "p!\f#q )e		dUA !>A 	\\d^	#  *p!*" [cur nnheader-set-temp-buffer " *nntp send*" insert-buffer-substring begin end erase-buffer 100 size last process-status nntp-server-process (open run) process-send-region accept-process-output kill-buffer] 5 (#$ . 26347)])
#@121 Open SERVER.
If SERVER is nil, use value of environment variable `NNTPSERVER'.
If SERVICE, use this as the port number.
(defalias 'nntp-open-server-semi-internal #[(server &optional service) "!\n ! \n$	\nq\f#\nr \n\"r \nԏ\n` \n!] ] ^ \n# \"! \n~ \"  \"	 	!!\n \n\"#\n," [nnheader-insert "" server getenv "NNTPSERVER" nil nntp-connection-timeout nnheader-run-at-time nntp-kill-connection timer status nntp-server-buffer nntp-status-string nnheader-message 5 "nntp: Connecting to server on %s..." nntp-address nntp-open-server-internal service (byte-code "\"" [nntp-wait-for-response "^[23].*?\n" slow] 3) ((error)) nntp-close-server-internal nnheader-report nntp "Couldn't open connection to %s" nntp-server-process set-process-sentinel nntp-default-sentinel run-hooks nntp-server-opened-hook "NNTP server is not specified." buffer-string nnheader-cancel-timer message nnoo-close-server nntp-async-number] 8 (#$ . 26772)])
#@64 Directories to as current directory in the nntp server buffer.
(defvar nntp-default-directories (quote ("~" "/tmp" "/")) (#$ . 27811))
#@72 Open connection to news server on SERVER by SERVICE (default is nntp).
(defalias 'nntp-open-server-internal #[(server &optional service) "\nq\f!, + @!\" @A )ȏ\\ 	!>\\ 	\f	!!	Bӏb \f#*" [nil proc nntp-server-buffer file-exists-p default-directory nntp-default-directories dirs (funcall nntp-open-server-function server) ((error)) process-status (open run) nntp-server-process server nntp-address process-kill-without-query run-hooks nntp-server-hook nntp-opened-connections (nntp-read-server-type) ((error (byte-code "# " [nnheader-report nntp "Couldn't open server %s" server nntp-close-server] 4))) nnheader-report nntp "Couldn't open server %s"] 5 (#$ . 27952)])
#@63 Find out what the name of the server we have connected to is.
(defalias 'nntp-read-server-type #[nil "\" J A@@\f\" A@<A A@@=A A@! A@  *" [nntp-wait-for-response "^.*\n" t buffer-string nntp-server-type nntp-server-action-alist nil entry alist string-match lambda eval] 3 (#$ . 28692)])
(defalias 'nntp-open-network-stream #[(server) "\n\f$" [open-network-stream "nntpd" nntp-server-buffer server nntp-port-number] 5])
(defalias 'nntp-open-rlogin #[(server) " 	#&	#%" [nntp-rlogin-user-name start-process "nntpd" nntp-server-buffer "rsh" "-l" server mapconcat identity nntp-rlogin-parameters " "] 12])
#@42 Wait until string arrives in the buffer.
(defalias 'nntp-wait-for-string #[(regexp) "peb\n#? !qeb )" [buf re-search-forward regexp nil t accept-process-output nntp-server-process] 4 (#$ . 29377)])
(defalias 'nntp-open-telnet #[(server) "q $!> \"Q\"!= !P\"!S !P\" !#P\"!ye`|\"!\"\"!eby`d|+" [nntp-server-buffer erase-buffer start-process "nntpd" "telnet" "-8" t case-fold-search proc process-status (open run) process-send-string "set escape \n" "open " server "\n" nntp-wait-for-string "^*.?login:" nntp-telnet-user-name read-string "login: " "^*.?password:" nntp-telnet-passwd nnmail-read-passwd "Password: " "bash\\|$ *?$\\|> *?" mapconcat identity nntp-telnet-parameters " " "^*200" 0 "" "^telnet" "mode character\n" accept-process-output 1 sit-for] 6])
#@34 Close connection to news server.
(defalias 'nntp-close-server-internal #[(&optional server) "\n\" !" [nntp-possibly-change-server nil server nntp-server-process delete-process] 3 (#$ . 30279)])
#@130 Read response of server.
It is well-known that the communication speed will be much improved by
defining this function as macro.
(defalias 'nntp-accept-response #[nil "p	 	!>  \"/ + \"!\"/ Џq)" [buf nntp-server-process process-status (open run) error "nntp: Process connection closed; %s" nntp-status-message nntp-buggy-select nnheader-message 5 "NNTP: Reading..." sleep-for 1 "" errorcode (accept-process-output nntp-server-process 1) ((error (byte-code "A@\n @A\"" [errorcode "select error: Invalid argument" nil signal] 3)))] 3 (#$ . 30493)])
#@30 Return last element of LIST.
(defalias 'nntp-last-element #[(list) "A\f A @" [list] 2 (#$ . 31086)])
#@50 Check whether the virtual server needs changing.
(defalias 'nntp-possibly-change-server #[(newsgroup server &optional connectionless) " ! #  ?  \"" [server nntp-server-opened nntp-open-server nil t newsgroup nntp-current-group nntp-request-group] 4 (#$ . 31202)])
(defalias 'nntp-try-list-active #[(group) "	!\nqeb! ŉ ǉ)" [nntp-list-active-group group nntp-server-buffer looking-at "5[0-9]+" nil nntp-server-list-active-group t] 2])
(defalias 'nntp-async-server-opened #[nil "	 !>" [nntp-async-process process-status (open run)] 2])
(defalias 'nntp-async-open-server #[nil "!qpp!)\n	\"\n( ĉ- \n\n\"*" [generate-new-buffer " *async-nntp*" nntp-async-buffer buffer-disable-undo nil nntp-server-buffer nntp-server-process nntp-open-server-semi-internal nntp-address nntp-port-number nntp-async-process nntp-async-number set-process-buffer] 3])
(defalias 'nntp-async-fetch-articles #[(article) ";?] 		>A\n \n! \n=  	G! SY\\ \\ @@	>T !\"	B	A( +" [article nntp-async-articles nntp-async-number t 0 nil nart max articles nntp-async-fetched nntp-async-send-strings "ARTICLE " int-to-string] 4])
(defalias 'nntp-async-send-strings #[(&rest strings) "\n#\fP     !\")" [mapconcat identity strings " " nntp-end-of-line cmd nntp-async-server-opened nntp-async-open-server error nntp-status-message process-send-string nntp-async-process] 4])
(defalias 'nntp-async-request-group #[(group) "	?- \"	F\f\"B\f, \fA@\f8\f8)" [group nntp-current-group assoc nntp-async-group-alist asyncs nntp-async-articles nntp-async-fetched nntp-async-process delq 2 3] 4])
(provide (quote nntp))
