Synch to No Gnus 200411120157.
[elisp/gnus.git-] / lisp / nnml.el
index 38bcd58..712afa0 100644 (file)
@@ -446,10 +446,8 @@ marks file will be regenerated properly by Gnus.")
            nnml-current-directory t
            (concat nnheader-numerical-short-files
                    "\\|" (regexp-quote nnml-nov-file-name) "$"
-                   "\\|" (regexp-quote nnml-marks-file-name) "$")))
-         article)
-      (while articles
-       (setq article (pop articles))
+                   "\\|" (regexp-quote nnml-marks-file-name) "$"))))
+      (dolist (article articles)
        (when (file-writable-p article)
          (nnheader-message 5 "Deleting article %s in %s..." article group)
          (funcall nnmail-delete-file-function article))))
@@ -474,12 +472,10 @@ marks file will be regenerated properly by Gnus.")
       ;; We move the articles file by file instead of renaming
       ;; the directory -- there may be subgroups in this group.
       ;; One might be more clever, I guess.
-      (let ((files (nnheader-article-to-file-alist old-dir)))
-       (while files
-         (rename-file
-          (concat old-dir (cdar files))
-          (concat new-dir (cdar files)))
-         (pop files)))
+      (dolist (file (nnheader-article-to-file-alist old-dir))
+       (rename-file
+        (concat old-dir (cdr file))
+        (concat new-dir (cdr file))))
       ;; Move .overview file.
       (let ((overview (concat old-dir nnml-nov-file-name)))
        (when (file-exists-p overview)
@@ -771,12 +767,10 @@ marks file will be regenerated properly by Gnus.")
   (unless (member (file-truename dir) seen)
     (push (file-truename dir) seen)
     ;; We descend recursively
-    (let ((dirs (directory-files dir t nil t))
-         dir)
-      (while (setq dir (pop dirs))
-       (when (and (not (string-match "^\\." (file-name-nondirectory dir)))
-                  (file-directory-p dir))
-         (nnml-generate-nov-databases-1 dir seen))))
+    (dolist (dir (directory-files dir t nil t))
+      (when (and (not (string-match "^\\." (file-name-nondirectory dir)))
+                (file-directory-p dir))
+       (nnml-generate-nov-databases-1 dir seen)))
     ;; Do this directory.
     (let ((files (sort (nnheader-article-to-file-alist dir)
                       'car-less-than-car)))
@@ -803,9 +797,7 @@ marks file will be regenerated properly by Gnus.")
     (push (list group
                (cons (or (caar files) (1+ last))
                      (max last
-                          (or (let ((f files))
-                                (while (cdr f) (setq f (cdr f)))
-                                (caar f))
+                          (or (caar (last files))
                               0))))
          nnml-group-alist)))
 
@@ -942,16 +934,16 @@ Use the nov database for the current group if available."
     (nnheader-message 8 "Updating marks for %s..." group)
     (nnml-open-marks group server)
     ;; Update info using `nnml-marks'.
-    (mapcar (lambda (pred)
-             (unless (memq (cdr pred) gnus-article-unpropagated-mark-lists)
-               (gnus-info-set-marks
-                info
-                (gnus-update-alist-soft
-                 (cdr pred)
-                 (cdr (assq (cdr pred) nnml-marks))
-                 (gnus-info-marks info))
-                t)))
-           gnus-article-mark-lists)
+    (mapc (lambda (pred)
+           (unless (memq (cdr pred) gnus-article-unpropagated-mark-lists)
+             (gnus-info-set-marks
+              info
+              (gnus-update-alist-soft
+               (cdr pred)
+               (cdr (assq (cdr pred) nnml-marks))
+               (gnus-info-marks info))
+              t)))
+         gnus-article-mark-lists)
     (let ((seen (cdr (assq 'read nnml-marks))))
       (gnus-info-set-read info
                          (if (and (integerp (car seen))