(car active) (cdr active) group))))))
(deffoo nnbabyl-request-scan (&optional group server)
+ (nnbabyl-possibly-change-newsgroup group server)
(nnbabyl-read-mbox)
(nnmail-get-new-mail
'nnbabyl
(deffoo nnbabyl-close-group (group &optional server)
t)
-(deffoo nnbabyl-request-create-group (group &optional server)
+(deffoo nnbabyl-request-create-group (group &optional server args)
(nnmail-activate 'nnbabyl)
(unless (assoc group nnbabyl-group-alist)
(setq nnbabyl-group-alist (cons (list group (cons 1 0))
(save-excursion
(while (re-search-backward "^X-Gnus-Newsgroup: " beg t)
(delete-region (point) (progn (forward-line 1) (point)))))
- (let ((nnmail-split-methods
- (if (stringp group) (list (list group ""))
- nnmail-split-methods)))
- (setq result (car (nnbabyl-save-mail))))
+ (setq result (car (nnbabyl-save-mail
+ (if (stringp group)
+ (list (cons group (nnbabyl-active-number group)))
+ (nnmail-article-group 'nnbabyl-active-number)))))
(set-buffer nnbabyl-mbox-buffer)
(goto-char (point-max))
(search-backward "\n\^_")
;;; Internal functions.
;; If FORCE, delete article no matter how many X-Gnus-Newsgroup
-;; headers there are. If LEAVE-DELIM, don't delete the Unix mbox
+;; headers there are. If LEAVE-DELIM, don't delete the Unix mbox
;; delimiter line.
(defun nnbabyl-delete-mail (&optional force leave-delim)
;; Delete the current X-Gnus-Newsgroup line.
(insert (format "Lines: %d\n" lines))
chars))))
-(defun nnbabyl-save-mail ()
+(defun nnbabyl-save-mail (group-art)
;; Called narrowed to an article.
- (let ((group-art (nreverse (nnmail-article-group 'nnbabyl-active-number))))
- (nnbabyl-insert-lines)
- (nnmail-insert-xref group-art)
- (nnbabyl-insert-newsgroup-line group-art)
- (run-hooks 'nnbabyl-prepare-save-mail-hook)
- group-art))
+ (nnbabyl-insert-lines)
+ (nnmail-insert-xref group-art)
+ (nnbabyl-insert-newsgroup-line group-art)
+ (run-hooks 'nnbabyl-prepare-save-mail-hook)
+ group-art)
(defun nnbabyl-insert-newsgroup-line (group-art)
(save-excursion
(save-excursion
(set-buffer nnbabyl-mbox-buffer)
(= (buffer-size) (nnheader-file-size nnbabyl-mbox-file))))
- () ; This buffer hasn't changed since we read it last. Possibly.
+ () ; This buffer hasn't changed since we read it last. Possibly.
(save-excursion
(let ((delim (concat "^" nnbabyl-mail-delimiter))
(alist nnbabyl-group-alist)
(save-excursion
(save-restriction
(narrow-to-region (goto-char start) end)
- (nnbabyl-save-mail)
+ (nnbabyl-save-mail
+ (nnmail-article-group 'nnbabyl-active-number))
(setq end (point-max)))))
(goto-char (setq start end)))
(when (buffer-modified-p (current-buffer))
(delete-region (progn (beginning-of-line) (point))
(progn (forward-line 1) (point)))
(nnheader-message 7 "Moving %s..." id)
- (nnbabyl-save-mail))
+ (nnbabyl-save-mail
+ (nnmail-article-group 'nnbabyl-active-number)))
(intern id idents)))
(when (buffer-modified-p (current-buffer))
(save-buffer))