emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r101342: gnus-agent.el (gnus-agent-lo


From: Katsumi Yamaoka
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101342: gnus-agent.el (gnus-agent-load-local): Only read the agent.lib/local file once per `g' run.
Date: Sun, 05 Sep 2010 00:44:53 +0000
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101342
author: Lars Magne Ingebrigtsen <address@hidden>
committer: Katsumi Yamaoka <address@hidden>
branch nick: trunk
timestamp: Sun 2010-09-05 00:44:53 +0000
message:
  gnus-agent.el (gnus-agent-load-local): Only read the agent.lib/local file 
once per `g' run.
modified:
  lisp/gnus/ChangeLog
  lisp/gnus/gnus-agent.el
  lisp/gnus/gnus-start.el
  lisp/gnus/nnmh.el
=== modified file 'lisp/gnus/ChangeLog'
--- a/lisp/gnus/ChangeLog       2010-09-05 00:38:39 +0000
+++ b/lisp/gnus/ChangeLog       2010-09-05 00:44:53 +0000
@@ -1,5 +1,8 @@
 2010-09-04  Lars Magne Ingebrigtsen  <address@hidden>
 
+       * gnus-agent.el (gnus-agent-load-local): Only read the agent.lib/local
+       file once per `g' run.
+
        * nnmh.el (nnmh-request-list-1): Output active lines also for empty
        directories.  This makes the draft queue directory work.
 

=== modified file 'lisp/gnus/gnus-agent.el'
--- a/lisp/gnus/gnus-agent.el   2010-09-04 15:24:35 +0000
+++ b/lisp/gnus/gnus-agent.el   2010-09-05 00:44:53 +0000
@@ -2232,23 +2232,28 @@
     (gnus-agent-update-view-total-fetched-for group nil)))
 
 (defvar gnus-agent-article-local nil)
+(defvar gnus-agent-article-local-times nil)
 (defvar gnus-agent-file-loading-local nil)
 
 (defun gnus-agent-load-local (&optional method)
   "Load the METHOD'S local file.  The local file contains min/max
 article counts for each of the method's subscribed groups."
   (let ((gnus-command-method (or method gnus-command-method)))
-    (setq gnus-agent-article-local
-          (gnus-cache-file-contents
-           (gnus-agent-lib-file "local")
-           'gnus-agent-file-loading-local
-           'gnus-agent-read-and-cache-local))))
+    (when (or (null gnus-agent-article-local-times)
+             (zerop gnus-agent-article-local-times))
+      (setq gnus-agent-article-local
+           (gnus-cache-file-contents
+            (gnus-agent-lib-file "local")
+            'gnus-agent-file-loading-local
+            'gnus-agent-read-and-cache-local))
+      (when gnus-agent-article-local-times
+       (incf gnus-agent-article-local-times)))
+    gnus-agent-article-local))
 
 (defun gnus-agent-read-and-cache-local (file)
   "Load and read FILE then bind its contents to
 gnus-agent-article-local.  If that variable had `dirty' (also known as
 modified) original contents, they are first saved to their own file."
-
   (if (and gnus-agent-article-local
            (symbol-value (intern "+dirty" gnus-agent-article-local)))
       (gnus-agent-save-local))

=== modified file 'lisp/gnus/gnus-start.el'
--- a/lisp/gnus/gnus-start.el   2010-09-05 00:34:16 +0000
+++ b/lisp/gnus/gnus-start.el   2010-09-05 00:44:53 +0000
@@ -1684,6 +1684,7 @@
           alevel))
         (methods-cache nil)
         (type-cache nil)
+        (gnus-agent-article-local-times 0)
         infos info group active method cmethod
         method-type method-group-list)
     (gnus-message 6 "Checking new news...")

=== modified file 'lisp/gnus/nnmh.el'
--- a/lisp/gnus/nnmh.el 2010-09-05 00:38:39 +0000
+++ b/lisp/gnus/nnmh.el 2010-09-05 00:44:53 +0000
@@ -248,7 +248,7 @@
               ?/ ?.)
              nnmail-pathname-coding-system)))
          (or max 0)
-         (or min 0))))))
+         (or min 1))))))
   t)
 
 (deffoo nnmh-request-newgroups (date &optional server)


reply via email to

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