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:
extra. There are macros for accessing and
setting these slots—they all have predictable names beginning with
All these slots contain strings, except the
extra slot, which
contains an alist of header/value pairs (see To From Newsgroups).