gnus: Headers

 
 11.7.4 Headers
 --------------
 
 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 1036
 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 (SeeTo From Newsgroups).