"Read new incoming mail."
(nnmail-get-new-mail-1 method exit-func temp group nil spool-func))
+(defun nnmail-get-new-mail-per-group ()
+ "Tell us whether the mail-sources specify that `nnmail-get-new-mail' should
+be called once per group or once for all groups."
+ (or (assq 'group mail-sources)
+ (assq 'directory mail-sources)))
+
(defun nnmail-get-new-mail-1 (method exit-func temp
group in-group spool-func)
(let* ((sources mail-sources)
sources)
(while (setq source (pop sources))
;; Use group's parameter
- (when (eq (car source) 'group)
+ (when (and (eq (car source) 'group)
+ group)
(let ((mail-sources
(list
(gnus-group-find-parameter
(max (1+ (- (cdr active) (car active))) 0)
(car active) (cdr active) group)))))))
+(deffoo nnml-retrieve-groups (groups &optional server)
+ (when nnml-get-new-mail
+ (if (nnmail-get-new-mail-per-group)
+ (dolist (group groups)
+ (nnml-request-scan group server))
+ (nnml-request-scan nil server)))
+ (with-current-buffer nntp-server-buffer
+ (erase-buffer)
+ (dolist (group groups)
+ (let* ((entry (assoc group nnml-group-alist))
+ (active (nth 1 entry)))
+ (if (consp active)
+ (insert (format "211 %d %d %d %s\n"
+ (max (1+ (- (cdr active) (car active))) 0)
+ (car active) (cdr active) group))))))
+ 'group)
+
(deffoo nnml-request-scan (&optional group server)
(setq nnml-article-file-alist nil)
(nnml-possibly-change-directory group server)
- (nnmail-get-new-mail 'nnml 'nnml-save-incremental-nov nnml-directory group))
+ (cond
+ (group
+ (nnmail-get-new-mail 'nnml 'nnml-save-incremental-nov nnml-directory group))
+ ((nnmail-get-new-mail-per-group)
+ (nnml-request-list)
+ (dolist (entry nnml-group-alist)
+ (nnml-request-scan (car entry) server)))
+ (t
+ (nnmail-get-new-mail 'nnml 'nnml-save-incremental-nov nnml-directory nil))))
(deffoo nnml-close-group (group &optional server)
(setq nnml-article-file-alist nil)