--- nnfolder.el Sat Jul 1 13:10:51 2000 +++ nnfolder-new.el Sat Dec 30 13:42:16 2000 @@ -118,18 +118,20 @@ (goto-char (point-min)) (if (stringp (car articles)) 'headers - (while (setq article (pop articles)) - (set-buffer nnfolder-current-buffer) - (when (nnfolder-goto-article article) - (setq start (point)) - (setq stop (if (search-forward "\n\n" nil t) - (1- (point)) - (point-max))) - (set-buffer nntp-server-buffer) - (insert (format "221 %d Article retrieved.\n" article)) - (insert-buffer-substring nnfolder-current-buffer start stop) - (goto-char (point-max)) - (insert ".\n"))) + (let ((existing-articles (nnfolder-existing-articles))) + (while (setq article (pop articles)) + (when (member article existing-articles) + (set-buffer nnfolder-current-buffer) + (when (nnfolder-goto-article article) + (setq start (point)) + (setq stop (if (search-forward "\n\n" nil t) + (1- (point)) + (point-max))) + (set-buffer nntp-server-buffer) + (insert (format "221 %d Article retrieved.\n" article)) + (insert-buffer-substring nnfolder-current-buffer start stop) + (goto-char (point-max)) + (insert ".\n"))))) (set-buffer nntp-server-buffer) (nnheader-fold-continuation-lines)