# HG changeset patch # User Katsumi Yamaoka # Date 1283733895 0 # Node ID 9def4c1af9b991d1dbb4b1f22c0bcccc3976c82b # Parent f0d95837f8634630278ca9d9087d227c0e5d3641 gnus-start.el (gnus-get-unread-articles): Don't bother with groups that aren't going to be activated. diff -r f0d95837f863 -r 9def4c1af9b9 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Mon Sep 06 00:41:06 2010 +0000 +++ b/lisp/gnus/ChangeLog Mon Sep 06 00:44:55 2010 +0000 @@ -1,5 +1,8 @@ 2010-09-05 Lars Magne Ingebrigtsen + * gnus-start.el (gnus-get-unread-articles): Don't bother with groups + that aren't going to be activated. + * gnus-html.el (gnus-article-html): Allow calling without specifying the handle. In that case, dissect the buffer first. diff -r f0d95837f863 -r 9def4c1af9b9 lisp/gnus/gnus-start.el --- a/lisp/gnus/gnus-start.el Mon Sep 06 00:41:06 2010 +0000 +++ b/lisp/gnus/gnus-start.el Mon Sep 06 00:44:55 2010 +0000 @@ -1734,8 +1734,13 @@ 'foreign))) (push (setq method-group-list (list method method-type nil)) type-cache)) - (setcar (nthcdr 2 method-group-list) - (cons info (nth 2 method-group-list)))) + ;; Only add groups that need updating. + (when (<= (gnus-info-level info) + (if (eq method-type 'foreign) + foreign-level + alevel)) + (setcar (nthcdr 2 method-group-list) + (cons info (nth 2 method-group-list))))) ;; Sort the methods based so that the primary and secondary ;; methods come first. This is done for legacy reasons to try to @@ -1753,19 +1758,13 @@ infos (nth 2 (car type-cache))) (pop type-cache) - (when method + (when (and method + infos) ;; See if any of the groups from this method require updating. - (when (block nil - (dolist (info infos) - (when (<= (gnus-info-level info) - (if (eq method-type 'foreign) - foreign-level - alevel)) - (return t)))) - (gnus-read-active-for-groups method infos) - (dolist (info infos) - (inline (gnus-get-unread-articles-in-group - info (gnus-active (gnus-info-group info)))))))) + (gnus-read-active-for-groups method infos) + (dolist (info infos) + (inline (gnus-get-unread-articles-in-group + info (gnus-active (gnus-info-group info))))))) (gnus-message 6 "Checking new news...done"))) (defun gnus-method-rank (type method)