Function: nnheader-parse-nov

nnheader-parse-nov is a byte-compiled function defined in nnheader.el.gz.

Signature

(nnheader-parse-nov &optional NUMBER)

Aliases

nnheader-nov-make-header

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nnheader.el.gz
(defun nnheader-parse-nov (&optional number)
  (let ((eol (point-at-eol))
	references in-reply-to x header)
      (setq header
	    (make-full-mail-header
	     (or number (nnheader-nov-read-integer))      ; number
	     (condition-case ()	; subject
		 (gnus-remove-odd-characters
		  (funcall gnus-decode-encoded-word-function
			   (setq x (nnheader-nov-field))))
	       (error x))
	     (condition-case ()	; from
		 (gnus-remove-odd-characters
		  (funcall gnus-decode-encoded-address-function
			   (setq x (nnheader-nov-field))))
	       (error x))
	     (nnheader-nov-field)	; date
	     (nnheader-nov-read-message-id number)	; id
	     (setq references (nnheader-nov-field))	; refs
	     (nnheader-nov-read-integer) ; chars
	     (nnheader-nov-read-integer) ; lines
	     (unless (eobp)
	       (if (looking-at "Xref: ")
		   (goto-char (match-end 0)))
	       (nnheader-nov-field)) ; Xref
	     (nnheader-nov-parse-extra))) ; extra

      (when (and (string= references "")
		 (setq in-reply-to (mail-header-extra header))
		 (setq in-reply-to (cdr (assq 'In-Reply-To in-reply-to))))
	(setf (mail-header-references header)
              (gnus-extract-message-id-from-in-reply-to in-reply-to)))
      header))