Internally Gnus uses a format for storing article headers that corresponds to the NOV format in a mysterious fashion. One could almost suspect that the author looked at the NOV specification and just shamelessly stole the entire thing, and one would be right.
Header is a severely overloaded term. “Header” is used in
RFC 5536 to talk about lines in the head of an article (e.g.,
From
). It is used by many people as a synonym for
“head”—“the header and the body”. (That should be avoided, in my
opinion.) And Gnus uses a format internally that it calls “header”,
which is what I’m talking about here. This is a 9-element vector,
basically, with each header (ouch) having one slot.
These slots are, in order: number
, subject
, from
,
date
, id
, references
, chars
, lines
,
xref
, and extra
. There are macros for accessing and
setting these slots—they all have predictable names beginning with
mail-header-
and mail-header-set-
, respectively.
All these slots contain strings, except the extra
slot, which
contains an alist of header/value pairs (see To From Newsgroups).