Function: nntp-with-open-group
nntp-with-open-group is a macro defined in nntp.el.gz.
Signature
(nntp-with-open-group GROUP SERVER &optional CONNECTIONLESS &rest FORMS)
Documentation
Protect against servers that don't like clients that keep idle connections open.
The problem being that these servers may either close a connection or
simply ignore any further requests on a connection. Closed
connections are not detected until accept-process-output has updated
the process-status. Dropped connections are not detected until the
connection timeouts (which may be several minutes) or
nntp-connection-timeout has expired. When these occur
nntp-with-open-group, opens a new connection then re-issues the NNTP
command whose response triggered the error.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nntp.el.gz
(defmacro nntp-with-open-group (group server &optional connectionless &rest forms)
"Protect against servers that don't like clients that keep idle connections open.
The problem being that these servers may either close a connection or
simply ignore any further requests on a connection. Closed
connections are not detected until `accept-process-output' has updated
the `process-status'. Dropped connections are not detected until the
connection timeouts (which may be several minutes) or
`nntp-connection-timeout' has expired. When these occur
`nntp-with-open-group', opens a new connection then re-issues the NNTP
command whose response triggered the error."
(declare (indent 2) (debug (form form [&optional symbolp] def-body)))
(when (and (listp connectionless)
(not (eq connectionless nil)))
(setq forms (cons connectionless forms)
connectionless nil))
`(nntp-with-open-group-function ,group ,server ,connectionless
(lambda () ,@forms)))