From: Lars Ingebrigtsen Date: Sun, 6 Feb 2011 22:27:28 +0000 (+0000) Subject: nntp.el (nntp-finish-retrieve-group-infos): Protect against the first part not return... X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~1002 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=76b8d9dd0ed6811c0fc1bbde5d9e3b0cf6c61cf1;p=emacs.git nntp.el (nntp-finish-retrieve-group-infos): Protect against the first part not returning any data. proto-stream.el (open-protocol-stream): Document the return value. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 7571016a8cb..1ff45b69c2b 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,10 @@ +2011-02-06 Lars Ingebrigtsen + + * nntp.el (nntp-finish-retrieve-group-infos): Protect against the first + part not returning any data. + + * proto-stream.el (open-protocol-stream): Document the return value. + 2011-02-06 Julien Danjou * message.el (message-setup-1): Handle message-generate-headers-first diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index cae0150dd17..0e009b2068b 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el @@ -781,7 +781,8 @@ command whose response triggered the error." ;; The first time this is run, this variable is `try'. So we ;; try. (when (eq nntp-server-list-active-group 'try) - (nntp-try-list-active (gnus-group-real-name (gnus-info-group (car infos))))) + (nntp-try-list-active + (gnus-group-real-name (gnus-info-group (car infos))))) (with-current-buffer (nntp-find-connection-buffer nntp-server-buffer) (erase-buffer) (let ((nntp-inhibit-erase t) @@ -800,7 +801,8 @@ command whose response triggered the error." (car infos))) (received 0) (last-point 1)) - (when buf + (when (and buf + count) (with-current-buffer buf (while (and (gnus-buffer-live-p buf) (progn diff --git a/lisp/gnus/proto-stream.el b/lisp/gnus/proto-stream.el index 9117ac9f4e3..fdf2abfea05 100644 --- a/lisp/gnus/proto-stream.el +++ b/lisp/gnus/proto-stream.el @@ -94,7 +94,15 @@ query server for capabilities. For instance, for IMAP this is :starttls-function -- a function that takes one parameter, which is the response to the capaibility command. It should return nil if it turns out that the server doesn't support STARTTLS, or the -command to switch on STARTTLS otherwise." +command to switch on STARTTLS otherwise. + +The return value from this function is a four-element list, where +the first element is the stream (if connection was successful); +the second element is the \"greeting\", i. e., the string the +server sent over on initial contact; the third element is the +capability string; and the fourth element is either `network' or +`tls', depending on whether the connection ended up being +encrypted or not." (let ((type (or (cadr (memq :type parameters)) 'network))) (cond ((eq type 'starttls)