diff lisp/gnus/nnml.el @ 114:8619ce7e4c50 r20-1b9

Import from CVS: tag r20-1b9
author cvs
date Mon, 13 Aug 2007 09:21:54 +0200
parents 48d667d6f17f
children 9f59509498e1
line wrap: on
line diff
--- a/lisp/gnus/nnml.el	Mon Aug 13 09:20:50 2007 +0200
+++ b/lisp/gnus/nnml.el	Mon Aug 13 09:21:54 2007 +0200
@@ -313,7 +313,8 @@
   (nnml-possibly-change-directory group server)
   (nnmail-check-syntax)
   (let (result)
-    (nnmail-cache-insert (nnmail-fetch-field "message-id"))
+    (when nnmail-cache-accepted-message-ids
+      (nnmail-cache-insert (nnmail-fetch-field "message-id")))
     (if (stringp group)
 	(and
 	 (nnmail-activate 'nnml)
@@ -328,7 +329,8 @@
 			  (nnmail-article-group 'nnml-active-number))))
        (when last
 	 (nnmail-save-active nnml-group-alist nnml-active-file)
-	 (nnmail-cache-close)
+	 (when nnmail-cache-accepted-message-ids
+	   (nnmail-cache-close))
 	 (nnml-save-nov))))
     result))
 
@@ -682,11 +684,11 @@
   (nnml-open-server (or (nnoo-current-server 'nnml) ""))
   (setq nnml-directory (expand-file-name nnml-directory))
   ;; Recurse down the directories.
-  (nnml-generate-nov-databases-1 nnml-directory)
+  (nnml-generate-nov-databases-1 nnml-directory nil t)
   ;; Save the active file.
   (nnmail-save-active nnml-group-alist nnml-active-file))
 
-(defun nnml-generate-nov-databases-1 (dir &optional seen)
+(defun nnml-generate-nov-databases-1 (dir &optional seen no-active)
   "Regenerate the NOV database in DIR."
   (interactive "DRegenerate NOV in: ")
   (setq dir (file-name-as-directory dir))
@@ -706,7 +708,9 @@
       (when files
 	(funcall nnml-generate-active-function dir)
 	;; Generate the nov file.
-	(nnml-generate-nov-file dir files)))))
+	(nnml-generate-nov-file dir files)
+	(unless no-active
+	  (nnmail-save-active nnml-group-alist nnml-active-file))))))
 
 (defvar files)
 (defun nnml-generate-active-info (dir)