- (progn
- (setq file (nnspool-find-article-by-message-id article))
- (setq article 0))
- (setq file (concat nnspool-current-directory
- (int-to-string article))))
- (and file (file-exists-p file)
- (progn
- (insert (format "221 %d Article retrieved.\n" article))
- (setq beg (point))
- (nnheader-insert-head file)
- (goto-char beg)
- (search-forward "\n\n" nil t)
- (forward-char -1)
- (insert ".\n")
- (delete-region (point) (point-max))))
- (setq sequence (cdr sequence))
-
- (and do-message
- (zerop (% (setq count (1+ count)) 20))
- (message "NNSPOOL: Receiving headers... %d%%"
- (/ (* count 100) number))))
-
- (and do-message (message "NNSPOOL: Receiving headers...done"))
-
- ;; Fold continuation lines.
- (goto-char (point-min))
- (while (re-search-forward "\\(\r?\n[ \t]+\\)+" nil t)
- (replace-match " " t t))
- 'headers)))))
-
-(defun nnspool-open-server (server &optional defs)
- (nnheader-init-server-buffer)
- (if (equal server nnspool-current-server)
- t
- (if nnspool-current-server
- (setq nnspool-server-alist
- (cons (list nnspool-current-server
- (nnheader-save-variables nnspool-server-variables))
- nnspool-server-alist)))
- (let ((state (assoc server nnspool-server-alist)))
- (if state
- (progn
- (nnheader-restore-variables (nth 1 state))
- (setq nnspool-server-alist (delq state nnspool-server-alist)))
- (nnheader-set-init-variables nnspool-server-variables defs)))
- (setq nnspool-current-server server)))
+ ;; This is a Message-ID.
+ (setq ag (nnspool-find-id article)
+ file (and ag (nnspool-article-pathname
+ (car ag) (cdr ag)))
+ article (cdr ag))
+ ;; This is an article in the current group.
+ (setq file (int-to-string article)))
+ ;; Insert the head of the article.
+ (when (and file
+ (file-exists-p file))
+ (insert "221 ")
+ (princ article (current-buffer))
+ (insert " Article retrieved.\n")
+ (setq beg (point))
+ (inline (nnheader-insert-head file))
+ (goto-char beg)
+ (if (search-forward "\n\n" nil t)
+ (progn
+ (forward-char -1)
+ (insert ".\n"))
+ (goto-char (point-max))
+ (if (bolp)
+ (insert ".\n")
+ (insert "\n.\n")))
+ (delete-region (point) (point-max)))