Mercurial > emacs
diff lisp/gnus/gnus-start.el @ 111441:b527d5f89f7f
gnus-group.el (gnus-group-read-ephemeral-group, gnus-group-make-group): Remove superfluous ": " from the prompt.
gnus-start.el (gnus-get-unread-articles, gnus-read-active-file): Ignore totally non-existent methods.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Mon, 08 Nov 2010 01:38:47 +0000 |
parents | 0c7c9736f766 |
children | db63bc492d85 |
line wrap: on
line diff
--- a/lisp/gnus/gnus-start.el Sun Nov 07 10:45:45 2010 -0500 +++ b/lisp/gnus/gnus-start.el Mon Nov 08 01:38:47 2010 +0000 @@ -1702,16 +1702,20 @@ (destructuring-bind (method method-type infos dummy) elem (when (and method infos (not (gnus-method-denied-p method))) - (unless (gnus-server-opened method) - (gnus-open-server method)) - (when (and - (gnus-server-opened method) - (gnus-check-backend-function - 'retrieve-group-data-early (car method))) - (when (gnus-check-backend-function 'request-scan (car method)) - (gnus-request-scan nil method)) - (setcar (nthcdr 3 elem) - (gnus-retrieve-group-data-early method infos)))))) + ;; If the open-server method doesn't exist, then the method + ;; itself doesn't exist, so we ignore it. + (if (not (ignore-errors (gnus-get-function method 'open-server))) + (setq type-cache (delq elem type-cache)) + (unless (gnus-server-opened method) + (gnus-open-server method)) + (when (and + (gnus-server-opened method) + (gnus-check-backend-function + 'retrieve-group-data-early (car method))) + (when (gnus-check-backend-function 'request-scan (car method)) + (gnus-request-scan nil method)) + (setcar (nthcdr 3 elem) + (gnus-retrieve-group-data-early method infos))))))) ;; Do the rest of the retrieval. (dolist (elem type-cache) @@ -1982,7 +1986,9 @@ (while (setq method (pop methods)) ;; Only do each method once, in case the methods appear more ;; than once in this list. - (unless (member method methods) + (when (and (not (member method methods)) + ;; Check whether the backend exists. + (ignore-errors (gnus-get-function method 'open-server))) (if (or debug-on-error debug-on-quit) (gnus-read-active-file-1 method force) (condition-case ()