* nntp.el (nntp-send-string): The process-send-string call can,
because it performs I/O on the process, change the process' state
from open to closed. If this happens, call nntp-report
immediately to report the broken connection.
(nntp-report): Rewritten to avoid needing a global variable to
determine the appropriate course of action. Instead, two function
implementations are provided and the nntp-report function value is
bound to the appropriate implementation.
(nntp-retrieve-data): Moved nntp-report call to end of implementation.
(nntp-with-open-group): Now binds nntp-report's function cell
rather than binding gnus-with-open-group-first-pass. Added a
condition-case to detect a quit during a nntp command. When the
quit occurs, the current connection is closed as a fetch articles
request could have several megabytes queued up for reading.
(nntp-retrieve-headers): Bind articles to itself. If
nntp-with-open-group repeats this command, I must have access to
the original list of articles.
(nntp-retrieve-groups): Ditto for groups.
(nntp-retrieve-articles): Ditto for articles.
(*): Replaced nntp-possibly-change-group calls to
nntp-with-open-group forms in all, but the close connection, occurrance.
(nntp-accept-process-output): Bug fix. Detect when called with
null process.