emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101401: gnus-start.el (gnus-read-act


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101401: gnus-start.el (gnus-read-active-for-groups): Check only subscribed groups.
Date: Fri, 10 Sep 2010 05:33:13 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101401 [merge]
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Fri 2010-09-10 05:33:13 +0000
message:
  gnus-start.el (gnus-read-active-for-groups): Check only subscribed groups.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-start.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2010-09-10 00:08:31 +0000
+++ b/lisp/gnus/ChangeLog       2010-09-10 05:32:25 +0000
@@ -1,3 +1,11 @@
+2010-09-10  Katsumi Yamaoka  <address@hidden>
+
+       * gnus-start.el (gnus-read-active-for-groups): Check only subscribed
+       groups; replace mapcar with dolist which is a bit faster; pass groups
+       info to gnus-read-active-file-1.
+       (gnus-read-active-file-1): Scan only specified groups if the new
+       optional arg `infos' is given.
+
 2010-09-09  Lars Magne Ingebrigtsen  <address@hidden>
 
        * mail-source.el (mail-source-fetch-pop): Use pop3-movemail again.

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2010-09-09 06:15:13 +0000
+++ b/lisp/gnus/gnus-start.el   2010-09-10 05:32:25 +0000
@@ -1801,14 +1801,15 @@
     (cond
      ((gnus-check-backend-function 'retrieve-groups (car method))
       (when (gnus-check-backend-function 'request-scan (car method))
-       (gnus-request-scan nil method))
-      (gnus-read-active-file-2
-       (mapcar (lambda (info)
-                (gnus-group-real-name (gnus-info-group info)))
-              infos)
-       method))
+       (dolist (info infos)
+         (gnus-request-scan (gnus-info-group info) method)))
+      (let (groups)
+       (gnus-read-active-file-2
+        (dolist (info infos (nreverse groups))
+          (push (gnus-group-real-name (gnus-info-group info)) groups))
+        method)))
      ((gnus-check-backend-function 'request-list (car method))
-      (gnus-read-active-file-1 method nil))
+      (gnus-read-active-file-1 method nil infos))
      (t
       (dolist (info infos)
        (gnus-activate-group (gnus-info-group info) nil nil method t))))))
@@ -2037,7 +2038,7 @@
               (message "Quit reading the active file")
               nil))))))))
 
-(defun gnus-read-active-file-1 (method force)
+(defun gnus-read-active-file-1 (method force &optional infos)
   (let (where mesg)
     (setq where (nth 1 method)
          mesg (format "Reading active file%s via %s..."
@@ -2050,7 +2051,10 @@
       (when (and gnus-agent
                 (gnus-online method)
                 (gnus-check-backend-function 'request-scan (car method)))
-       (gnus-request-scan nil method))
+       (if infos
+           (dolist (info infos)
+             (gnus-request-scan (gnus-info-group info) method))
+         (gnus-request-scan nil method)))
       (cond
        ((and (eq gnus-read-active-file 'some)
             (gnus-check-backend-function 'retrieve-groups (car method))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]