diff options
| author | Lars Magne Ingebrigtsen <larsi@gnus.org> | 2010-11-08 01:38:47 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka <yamaoka@jpl.org> | 2010-11-08 01:38:47 +0000 |
| commit | 1fe0787fcd0c74fa242f714d60e94543c0d8cd0c (patch) | |
| tree | 8b56b0d507174526f89fca3c300e8e0198649c09 /lisp/gnus/gnus-start.el | |
| parent | 674728d4e3b3eed39fd2c229eda4ac7754657102 (diff) | |
| download | emacs-1fe0787fcd0c74fa242f714d60e94543c0d8cd0c.tar.gz | |
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.
Diffstat (limited to 'lisp/gnus/gnus-start.el')
| -rw-r--r-- | lisp/gnus/gnus-start.el | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 2466ddd28b7..8663d67fd0a 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el @@ -1702,16 +1702,20 @@ If SCAN, request a scan of that group as well." (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 @@ If SCAN, request a scan of that group as well." (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 () |
