*** empty log message ***
[gnus] / lisp / nnfolder.el
index 90c1396..ea72817 100644 (file)
@@ -388,7 +388,11 @@ time saver for large mailboxes.")
        (forward-line -1)
        (while (re-search-backward (concat "^" nnfolder-article-marker) nil t)
         (delete-region (point) (progn (forward-line 1) (point))))
-       (setq result (car (nnfolder-save-mail (and (stringp group) group)))))
+       (setq result
+            (car (nnfolder-save-mail
+                  (if (stringp group)
+                      (list (cons group (nnfolder-active-number group)))
+                    (nnmail-article-group 'nnfolder-active-number))))))
      (save-excursion
        (set-buffer nnfolder-current-buffer)
        (and last (nnfolder-save-buffer))))
@@ -521,36 +525,32 @@ time saver for large mailboxes.")
              (setq nnfolder-buffer-alist (delq inf nnfolder-buffer-alist))
              (setq inf nil)))
       
-       (if inf
-           ()
+       (unless inf
          (save-excursion
            (setq file (nnfolder-group-pathname group))
-           (if (file-directory-p (file-truename file))
-               ()
+           (unless (file-directory-p (file-truename file))
              (unless (file-exists-p file)
                (unless (file-exists-p (file-name-directory file))
                  (make-directory (file-name-directory file) t))
-               (write-region 1 1 file t 'nomesg))
+               (nnmail-write-region 1 1 file t 'nomesg))
              (setq nnfolder-current-buffer
                    (nnfolder-read-folder file scanning))
-             (if nnfolder-current-buffer 
-                 (progn
-                   (set-buffer nnfolder-current-buffer)
-                   (setq nnfolder-buffer-alist 
-                         (cons (list group nnfolder-current-buffer)
-                               nnfolder-buffer-alist)))))))))
+             (when nnfolder-current-buffer 
+               (set-buffer nnfolder-current-buffer)
+               (setq nnfolder-buffer-alist 
+                     (cons (list group nnfolder-current-buffer)
+                           nnfolder-buffer-alist))))))))
     (setq nnfolder-current-group group)))
 
-(defun nnfolder-save-mail (&optional group)
+(defun nnfolder-save-mail (group-art-list)
   "Called narrowed to an article."
-  (let* ((nnmail-split-methods 
-         (if group (list (list group "")) nnmail-split-methods))
-        (group-art-list
-         (nreverse (nnmail-article-group 'nnfolder-active-number)))
-        (delim (concat "^" message-unix-mail-delimiter))
+  (let* ((delim (concat "^" message-unix-mail-delimiter))
         save-list group-art)
     (goto-char (point-min))
-    ;; This might come from somewhere else.
+    ;; The From line may have been quoted by movemail.
+    (when (looking-at (concat ">" message-unix-mail-delimiter))
+      (delete-char 1))
+    ;; This might come from somewhere else.    
     (unless (looking-at delim)
       (insert "From nobody " (current-time-string) "\n")
       (goto-char (point-min)))
@@ -670,8 +670,9 @@ time saver for large mailboxes.")
        (let ((delim (concat "^" message-unix-mail-delimiter))
              (marker (concat "\n" nnfolder-article-marker))
              (number "[0-9]+")
-             (active (cadr (assoc nnfolder-current-group 
-                                  nnfolder-group-alist)))
+             (active (or (cadr (assoc nnfolder-current-group 
+                                      nnfolder-group-alist))
+                         (cons 1 0)))
              (scantime (assoc nnfolder-current-group nnfolder-scantime-alist))
              (minid (lsh -1 -1))
              maxid start end newscantime)
@@ -751,15 +752,15 @@ time saver for large mailboxes.")
   (interactive)
   (nnmail-activate 'nnfolder)
   (let ((files (directory-files nnfolder-directory))
-       file)
+        file)
     (while (setq file (pop files))
       (when (and (not (backup-file-name-p file))
-                (nnheader-mail-file-mbox-p file))
-       (nnheader-message 5 "Adding group %s..." file)
-       (push (list file (cons 1 0)) nnfolder-group-alist)
-       (nnfolder-possibly-change-group file)
-;;     (nnfolder-read-folder file)
-       (nnfolder-close-group file))
+                 (nnheader-mail-file-mbox-p
+                 (concat nnfolder-directory file)))
+        (nnheader-message 5 "Adding group %s..." file)
+        (push (list file (cons 1 0)) nnfolder-group-alist)
+        (nnfolder-possibly-change-group file)
+        (nnfolder-close-group file))
       (message ""))))
 
 (defun nnfolder-group-pathname (group)