Function: nnbabyl-retrieve-headers

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

Signature

(nnbabyl-retrieve-headers ARTICLES &optional GROUP SERVER FETCH-OLD)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnbabyl.el.gz
(deffoo nnbabyl-retrieve-headers (articles &optional group server _fetch-old)
  (with-current-buffer nntp-server-buffer
    (erase-buffer)
    (let ((number (length articles))
	  (count 0)
	  (delim (concat "^" nnbabyl-mail-delimiter))
	  article art-string start stop)
      (nnbabyl-possibly-change-newsgroup group server)
      (while (setq article (pop articles))
	(setq art-string (nnbabyl-article-string article))
	(set-buffer nnbabyl-mbox-buffer)
	(end-of-line)
	(when (or (search-forward art-string nil t)
		  (search-backward art-string nil t))
	  (unless (re-search-backward delim nil t)
	    (goto-char (point-min)))
	  (while (and (not (looking-at ".+:"))
		      (zerop (forward-line 1))))
	  (setq start (point))
	  (search-forward "\n\n" nil t)
	  (setq stop (1- (point)))
	  (set-buffer nntp-server-buffer)
	  (insert "221 ")
	  (princ article (current-buffer))
	  (insert " Article retrieved.\n")
	  (insert-buffer-substring nnbabyl-mbox-buffer start stop)
	  (goto-char (point-max))
	  (insert ".\n"))
	(and (numberp nnmail-large-newsgroup)
	     (> number nnmail-large-newsgroup)
	     (zerop (% (cl-incf count) 20))
	     (nnheader-message 5 "nnbabyl: Receiving headers... %d%%"
			       (floor (* count 100.0) number))))

      (and (numberp nnmail-large-newsgroup)
	   (> number nnmail-large-newsgroup)
	   (nnheader-message 5 "nnbabyl: Receiving headers...done"))

      (set-buffer nntp-server-buffer)
      (nnheader-fold-continuation-lines)
      'headers)))