Function: gnus-cache-braid-heads

gnus-cache-braid-heads is a byte-compiled function defined in gnus-cache.el.gz.

Signature

(gnus-cache-braid-heads GROUP CACHED)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-cache.el.gz
(defun gnus-cache-braid-heads (group cached)
  (let ((cache-buf (gnus-get-buffer-create " *gnus-cache*")))
    (with-current-buffer cache-buf
      (erase-buffer))
    (set-buffer nntp-server-buffer)
    (goto-char (point-min))
    (dolist (entry cached)
      (while (and (not (eobp))
		  (looking-at "2.. +\\([0-9]+\\) ")
		  (< (progn (goto-char (match-beginning 1))
			    (read (current-buffer)))
		     entry))
	(search-forward "\n.\n" nil 'move))
      (beginning-of-line)
      (set-buffer cache-buf)
      (erase-buffer)
      (let ((coding-system-for-read gnus-cache-coding-system)
	    (file-name-coding-system nnmail-pathname-coding-system))
	(insert-file-contents (gnus-cache-file-name group entry)))
      (goto-char (point-min))
      (insert "220 ")
      (princ (pop cached) (current-buffer))
      (insert " Article retrieved.\n")
      (search-forward "\n\n" nil 'move)
      (delete-region (point) (point-max))
      (forward-char -1)
      (insert ".")
      (set-buffer nntp-server-buffer)
      (insert-buffer-substring cache-buf))
    (kill-buffer cache-buf)))