diff --git a/Doc/lib/libmailbox.tex b/Doc/lib/libmailbox.tex
index a65619e..61c16d4 100644
--- a/Doc/lib/libmailbox.tex
+++ b/Doc/lib/libmailbox.tex
@@ -94,8 +94,8 @@
   \seetitle[http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/content-length.html]{Configuring
             Netscape Mail on \UNIX: Why the Content-Length Format is
             Bad}{A description of problems with relying on the
-            Content-Length header for messages stored in mailbox
-            files.}
+            \mailheader{Content-Length} header for messages stored in
+            mailbox files.}
 \end{seealso}
 
 
diff --git a/Doc/lib/libmimetools.tex b/Doc/lib/libmimetools.tex
index f0e8e4a..ba12d53 100644
--- a/Doc/lib/libmimetools.tex
+++ b/Doc/lib/libmimetools.tex
@@ -68,8 +68,8 @@
 addition to the \class{rfc822.Message} methods:
 
 \begin{methoddesc}{getplist}{}
-Return the parameter list of the \code{content-type} header.  This is
-a list of strings.  For parameters of the form
+Return the parameter list of the \mailheader{Content-Type} header.
+This is a list of strings.  For parameters of the form
 \samp{\var{key}=\var{value}}, \var{key} is converted to lower case but
 \var{value} is not.  For example, if the message contains the header
 \samp{Content-type: text/html; spam=1; Spam=2; Spam} then
@@ -85,26 +85,27 @@
 \end{methoddesc}
 
 \begin{methoddesc}{getencoding}{}
-Return the encoding specified in the \code{content-transfer-encoding}
-message header.  If no such header exists, return \code{'7bit'}.  The
-encoding is converted to lower case.
+Return the encoding specified in the
+\mailheader{Content-Transfer-Encoding} message header.  If no such
+header exists, return \code{'7bit'}.  The encoding is converted to
+lower case.
 \end{methoddesc}
 
 \begin{methoddesc}{gettype}{}
 Return the message type (of the form \samp{\var{type}/\var{subtype}})
-as specified in the \code{content-type} header.  If no such header
-exists, return \code{'text/plain'}.  The type is converted to lower
-case.
+as specified in the \mailheader{Content-Type} header.  If no such
+header exists, return \code{'text/plain'}.  The type is converted to
+lower case.
 \end{methoddesc}
 
 \begin{methoddesc}{getmaintype}{}
-Return the main type as specified in the \code{content-type} header.
-If no such header exists, return \code{'text'}.  The main type is
-converted to lower case.
+Return the main type as specified in the \mailheader{Content-Type}
+header.  If no such header exists, return \code{'text'}.  The main
+type is converted to lower case.
 \end{methoddesc}
 
 \begin{methoddesc}{getsubtype}{}
-Return the subtype as specified in the \code{content-type} header.  If
-no such header exists, return \code{'plain'}.  The subtype is
-converted to lower case.
+Return the subtype as specified in the \mailheader{Content-Type}
+header.  If no such header exists, return \code{'plain'}.  The subtype
+is converted to lower case.
 \end{methoddesc}
diff --git a/Doc/lib/libmimetypes.tex b/Doc/lib/libmimetypes.tex
index b0c0bb8..da89238 100644
--- a/Doc/lib/libmimetypes.tex
+++ b/Doc/lib/libmimetypes.tex
@@ -20,17 +20,17 @@
 
 \begin{funcdesc}{guess_type}{filename}
 Guess the type of a file based on its filename or URL, given by
-\var{filename}.
-The return value is a tuple \code{(\var{type}, \var{encoding})} where
-\var{type} is \code{None} if the type can't be guessed (no or unknown
-suffix) or a string of the form \code{'\var{type}/\var{subtype}'},
-usable for a MIME \code{content-type} header\indexii{MIME}{headers}; and 
-encoding is \code{None} for no encoding or the name of the program used
-to encode (e.g. \program{compress} or \program{gzip}).  The encoding
-is suitable for use as a \code{content-encoding} header,
-\emph{not} as a \code{content-transfer-encoding} header.  The mappings
-are table driven.  Encoding suffixes are case sensitive; type suffixes
-are first tried case sensitive, then case insensitive.
+\var{filename}.  The return value is a tuple \code{(\var{type},
+\var{encoding})} where \var{type} is \code{None} if the type can't be
+guessed (no or unknown suffix) or a string of the form
+\code{'\var{type}/\var{subtype}'}, usable for a MIME
+\mailheader{content-type} header\indexii{MIME}{headers}; and encoding
+is \code{None} for no encoding or the name of the program used to
+encode (e.g. \program{compress} or \program{gzip}).  The encoding is
+suitable for use as a \mailheader{Content-Encoding} header, \emph{not}
+as a \mailheader{Content-Transfer-Encoding} header.  The mappings are
+table driven.  Encoding suffixes are case sensitive; type suffixes are
+first tried case sensitive, then case insensitive.
 \end{funcdesc}
 
 \begin{funcdesc}{guess_extension}{type}
@@ -52,8 +52,8 @@
 Initialize the internal data structures.  If given, \var{files} must
 be a sequence of file names which should be used to augment the
 default type map.  If omitted, the file names to use are taken from
-\code{knownfiles}.  Each file named in \var{files} or
-\code{knownfiles} takes precedence over those named before it.
+\constant{knownfiles}.  Each file named in \var{files} or
+\constant{knownfiles} takes precedence over those named before it.
 Calling \function{init()} repeatedly is allowed.
 \end{funcdesc}
 
diff --git a/Doc/lib/librfc822.tex b/Doc/lib/librfc822.tex
index 5db0bf3..2b5faff 100644
--- a/Doc/lib/librfc822.tex
+++ b/Doc/lib/librfc822.tex
@@ -72,18 +72,19 @@
 \end{funcdesc}
 
 \begin{funcdesc}{parseaddr}{address}
-Parse \var{address}, which should be the value of some address-containing
-field such as \code{To:} or \code{Cc:}, into its constituent
-``realname'' and ``email address'' parts.  Returns a tuple of that
-information, unless the parse fails, in which case a 2-tuple of
-\code{(None, None)} is returned.
+Parse \var{address}, which should be the value of some
+address-containing field such as \mailheader{To} or \mailheader{Cc},
+into its constituent ``realname'' and ``email address'' parts.
+Returns a tuple of that information, unless the parse fails, in which
+case a 2-tuple \code{(None, None)} is returned.
 \end{funcdesc}
 
 \begin{funcdesc}{dump_address_pair}{pair}
 The inverse of \method{parseaddr()}, this takes a 2-tuple of the form
-\code{(realname, email_address)} and returns the string value suitable
-for a \code{To:} or \code{Cc:} header.  If the first element of
-\var{pair} is false, then the second element is returned unmodified.
+\code{(\var{realname}, \var{email_address})} and returns the string
+value suitable for a \mailheader{To} or \mailheader{Cc} header.  If
+the first element of \var{pair} is false, then the second element is
+returned unmodified.
 \end{funcdesc}
 
 \begin{funcdesc}{parsedate}{date}
@@ -142,9 +143,9 @@
 \begin{methoddesc}{isheader}{line}
 Returns a line's canonicalized fieldname (the dictionary key that will
 be used to index it) if the line is a legal \rfc{2822} header; otherwise
-returns None (implying that parsing should stop here and the line be
-pushed back on the input stream).  It is sometimes useful to override
-this method in a subclass.
+returns \code{None} (implying that parsing should stop here and the
+line be pushed back on the input stream).  It is sometimes useful to
+override this method in a subclass.
 \end{methoddesc}
 
 \begin{methoddesc}{islast}{line}
@@ -200,8 +201,8 @@
 otherwise both the full name and the address are (possibly empty)
 strings.
 
-Example: If \var{m}'s first \code{From} header contains the string
-\code{'jack@cwi.nl (Jack Jansen)'}, then
+Example: If \var{m}'s first \mailheader{From} header contains the
+string \code{'jack@cwi.nl (Jack Jansen)'}, then
 \code{m.getaddr('From')} will yield the pair
 \code{('Jack Jansen', 'jack@cwi.nl')}.
 If the header contained
@@ -211,14 +212,14 @@
 
 \begin{methoddesc}{getaddrlist}{name}
 This is similar to \code{getaddr(\var{list})}, but parses a header
-containing a list of email addresses (e.g.\ a \code{To} header) and
+containing a list of email addresses (e.g.\ a \mailheader{To} header) and
 returns a list of \code{(\var{full name}, \var{email address})} pairs
 (even if there was only one address in the header).  If there is no
 header matching \var{name}, return an empty list.
 
 If multiple headers exist that match the named header (e.g. if there
-are several \code{Cc} headers), all are parsed for addresses.  Any
-continuation lines the named headers contain are also parsed.
+are several \mailheader{Cc} headers), all are parsed for addresses.
+Any continuation lines the named headers contain are also parsed.
 \end{methoddesc}
 
 \begin{methoddesc}{getdate}{name}
diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex
index e6a96d1..6522cf7 100644
--- a/Doc/lib/liburllib.tex
+++ b/Doc/lib/liburllib.tex
@@ -168,8 +168,8 @@
 that an instance of that class to the
 \code{urllib._urlopener} variable before calling the desired function.
 For example, applications may want to specify a different
-\code{user-agent} header than \class{URLopener} defines.  This can be
-accomplished with the following code:
+\mailheader{User-Agent} header than \class{URLopener} defines.  This
+can be accomplished with the following code:
 
 \begin{verbatim}
 class AppURLopener(urllib.FancyURLopener):
@@ -187,9 +187,9 @@
 \class{FancyURLopener}.
 
 By default, the \class{URLopener} class sends a
-\code{user-agent} header of \samp{urllib/\var{VVV}}, where
+\mailheader{User-Agent} header of \samp{urllib/\var{VVV}}, where
 \var{VVV} is the \module{urllib} version number.  Applications can
-define their own \code{user-agent} header by subclassing
+define their own \mailheader{User-Agent} header by subclassing
 \class{URLopener} or \class{FancyURLopener} and setting the instance
 attribute \member{version} to an appropriate string value before the
 \method{open()} method is called.
@@ -203,7 +203,7 @@
 \begin{classdesc}{FancyURLopener}{...}
 \class{FancyURLopener} subclasses \class{URLopener} providing default
 handling for the following HTTP response codes: 301, 302 or 401.  For
-301 and 302 response codes, the \code{location} header is used to
+301 and 302 response codes, the \mailheader{Location} header is used to
 fetch the actual URL.  For 401 response codes (authentication
 required), basic HTTP authentication is performed.  For 301 and 302 response
 codes, recursion is bounded by the value of the \var{maxtries} attribute,
@@ -257,10 +257,11 @@
 (e.g. an image), plain text or (for example) HTML\index{HTML}.  The
 HTTP\indexii{HTTP}{protocol} protocol provides type information in the
 reply header, which can be inspected by looking at the
-\code{content-type} header.  For the Gopher\indexii{Gopher}{protocol}
-protocol, type information is encoded in the URL; there is currently
-no easy way to extract it.  If the returned data is HTML, you can use
-the module \refmodule{htmllib}\refstmodindex{htmllib} to parse it.
+\mailheader{Content-Type} header.  For the
+Gopher\indexii{Gopher}{protocol} protocol, type information is encoded
+in the URL; there is currently no easy way to extract it.  If the
+returned data is HTML, you can use the module
+\refmodule{htmllib}\refstmodindex{htmllib} to parse it.
 
 \item
 This module does not support the use of proxies which require
