]> git.eshelyaron.com Git - emacs.git/commitdiff
gnus-group.el (gnus-group-read-ephemeral-group, gnus-group-make-group): Remove superf...
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Mon, 8 Nov 2010 01:38:47 +0000 (01:38 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 8 Nov 2010 01:38:47 +0000 (01:38 +0000)
gnus-start.el (gnus-get-unread-articles, gnus-read-active-file): Ignore totally non-existent methods.

lisp/gnus/ChangeLog
lisp/gnus/gnus-group.el
lisp/gnus/gnus-start.el

index 04f9f71594d237fff744603337a3bb1f48fb95c1..4855dc195ea2959a092a76e8a283bfb07a363162 100644 (file)
@@ -1,3 +1,13 @@
+2010-11-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-start.el (gnus-get-unread-articles): Ignore totally non-existent
+       methods.
+       (gnus-read-active-file): Ditto.
+
+       * gnus-group.el (gnus-group-read-ephemeral-group): Remove superfluous
+       ": " from the prompt.
+       (gnus-group-make-group): Ditto.
+
 2010-11-07  Glenn Morris  <rgm@gnu.org>
 
        * gnus-bookmark.el (gnus-bookmark-bmenu-show-infos)
index 5a65d30ec1cbc2b9058233eedb42305131805f2f..5ece14571637e73937302c5bcd4b32ce37936091 100644 (file)
@@ -2267,7 +2267,7 @@ Return the name of the group if selection was successful."
    (list
     ;; (gnus-read-group "Group name: ")
     (gnus-group-completing-read)
-    (gnus-read-method "From method")))
+    (gnus-read-method "From method")))
   ;; Transform the select method into a unique server.
   (when (stringp method)
     (setq method (gnus-server-to-method method)))
@@ -2674,7 +2674,7 @@ server."
   (interactive
    (list
     (gnus-read-group "Group name: ")
-    (gnus-read-method "From method")))
+    (gnus-read-method "From method")))
 
   (when (stringp method)
     (setq method (or (gnus-server-to-method method) method)))
index 2466ddd28b7348d8d0217d05c89dc5ce53ecc6f1..8663d67fd0a80280af2399d3a900ad441f1ee91b 100644 (file)
@@ -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 ()