aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen2010-09-05 23:20:25 +0000
committerKatsumi Yamaoka2010-09-05 23:20:25 +0000
commit0c6dfaf849773197aa8299e2b576f79317d747d1 (patch)
treed6f3b658a92b8aad8d393e6fc7bdcfa197e153c6
parentd65835d93bc0edc28e30e6cbd16c93bb239d9573 (diff)
downloademacs-0c6dfaf849773197aa8299e2b576f79317d747d1.tar.gz
emacs-0c6dfaf849773197aa8299e2b576f79317d747d1.zip
nnvirtual.el (nnvirtual-create-mapping): Use the active info we already have if we're in a main Gnus `g' run.
-rw-r--r--lisp/gnus/ChangeLog3
-rw-r--r--lisp/gnus/gnus-start.el2
-rw-r--r--lisp/gnus/nnvirtual.el18
3 files changed, 13 insertions, 10 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 792a043ba62..cc489021f64 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,5 +1,8 @@
12010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org> 12010-09-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
2 2
3 * nnvirtual.el (nnvirtual-create-mapping): Use the active info we
4 already have if we're in a main Gnus `g' run.
5
3 * gnus-start.el (gnus-method-rank): Get info for virtual groups last. 6 * gnus-start.el (gnus-method-rank): Get info for virtual groups last.
4 7
52010-09-05 Katsumi Yamaoka <yamaoka@jpl.org> 82010-09-05 Katsumi Yamaoka <yamaoka@jpl.org>
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 9a923ff4d32..c3c7241b3c3 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -1796,7 +1796,7 @@ If SCAN, request a scan of that group as well."
1796 (gnus-read-active-file-1 method nil)) 1796 (gnus-read-active-file-1 method nil))
1797 (t 1797 (t
1798 (dolist (info infos) 1798 (dolist (info infos)
1799 (gnus-activate-group (gnus-info-group info) nil nil method)))))) 1799 (gnus-activate-group (gnus-info-group info) nil t method))))))
1800 1800
1801;; Create a hash table out of the newsrc alist. The `car's of the 1801;; Create a hash table out of the newsrc alist. The `car's of the
1802;; alist elements are used as keys. 1802;; alist elements are used as keys.
diff --git a/lisp/gnus/nnvirtual.el b/lisp/gnus/nnvirtual.el
index 94f43216b38..c94d1837fa9 100644
--- a/lisp/gnus/nnvirtual.el
+++ b/lisp/gnus/nnvirtual.el
@@ -260,13 +260,11 @@ component group will show up when you enter the virtual group.")
260 (nnheader-report 'nnvirtual "No component groups in %s" group)) 260 (nnheader-report 'nnvirtual "No component groups in %s" group))
261 (t 261 (t
262 (setq nnvirtual-current-group group) 262 (setq nnvirtual-current-group group)
263 (when (or (not dont-check) 263 (nnvirtual-create-mapping dont-check)
264 nnvirtual-always-rescan) 264 (when nnvirtual-always-rescan
265 (nnvirtual-create-mapping) 265 (nnvirtual-request-update-info
266 (when nnvirtual-always-rescan 266 (nnvirtual-current-group)
267 (nnvirtual-request-update-info 267 (gnus-get-info (nnvirtual-current-group))))
268 (nnvirtual-current-group)
269 (gnus-get-info (nnvirtual-current-group)))))
270 (nnheader-insert "211 %d 1 %d %s\n" 268 (nnheader-insert "211 %d 1 %d %s\n"
271 nnvirtual-mapping-len nnvirtual-mapping-len group)))) 269 nnvirtual-mapping-len nnvirtual-mapping-len group))))
272 270
@@ -670,7 +668,7 @@ the result."
670 carticles)) 668 carticles))
671 669
672 670
673(defun nnvirtual-create-mapping () 671(defun nnvirtual-create-mapping (dont-check)
674 "Build the tables necessary to map between component (group, article) to virtual article. 672 "Build the tables necessary to map between component (group, article) to virtual article.
675Generate the set of read messages and marks for the virtual group 673Generate the set of read messages and marks for the virtual group
676based on the marks on the component groups." 674based on the marks on the component groups."
@@ -689,7 +687,9 @@ based on the marks on the component groups."
689 ;; Into all-marks we put (g marks). 687 ;; Into all-marks we put (g marks).
690 ;; We also increment cnt and tot here, and compute M (max of sizes). 688 ;; We also increment cnt and tot here, and compute M (max of sizes).
691 (mapc (lambda (g) 689 (mapc (lambda (g)
692 (setq active (gnus-activate-group g) 690 (setq active (or (and dont-check
691 (gnus-active g))
692 (gnus-activate-group g))
693 min (car active) 693 min (car active)
694 max (cdr active)) 694 max (cdr active))
695 (when (and active (>= max min) (not (zerop max))) 695 (when (and active (>= max min) (not (zerop max)))