Function: nnmh-retrieve-headers

nnmh-retrieve-headers is a byte-compiled function defined in nnmh.el.gz.

Signature

(nnmh-retrieve-headers ARTICLES &optional NEWSGROUP SERVER FETCH-OLD)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnmh.el.gz
(deffoo nnmh-retrieve-headers (articles &optional newsgroup server _fetch-old)
  (with-current-buffer nntp-server-buffer
    (erase-buffer)
    (let* ((file nil)
	   (number (length articles))
	   (large (and (numberp nnmail-large-newsgroup)
		       (> number nnmail-large-newsgroup)))
	   (count 0)
	   (file-name-coding-system nnmail-pathname-coding-system)
	   beg article)
      (nnmh-possibly-change-directory newsgroup server)
      ;; We don't support fetching by Message-ID.
      (if (stringp (car articles))
	  'headers
	(while articles
	  (when (and (file-exists-p
		      (setq file (concat (file-name-as-directory
					  nnmh-current-directory)
					 (int-to-string
					  (setq article (pop articles))))))
		     (not (file-directory-p file)))
	    (insert (format "221 %d Article retrieved.\n" article))
	    (setq beg (point))
	    (nnheader-insert-head file)
	    (goto-char beg)
	    (if (search-forward "\n\n" nil t)
		(forward-char -1)
	      (goto-char (point-max))
	      (insert "\n\n"))
	    (insert ".\n")
	    (delete-region (point) (point-max)))
	  (setq count (1+ count))

	  (and large
	       (zerop (% count 20))
	       (nnheader-message 5 "nnmh: Receiving headers... %d%%"
				 (floor (* count 100.0) number))))

	(when large
	  (nnheader-message 5 "nnmh: Receiving headers...done"))

	(nnheader-fold-continuation-lines)
	'headers))))