Use the new RFC macros wherever RFCs are referenced by number.  No other
changes.
diff --git a/Doc/lib/libbase64.tex b/Doc/lib/libbase64.tex
index e764737..8ad10c8 100644
--- a/Doc/lib/libbase64.tex
+++ b/Doc/lib/libbase64.tex
@@ -2,12 +2,12 @@
 \label{module-base64}
 \stmodindex{base64}
 \indexii{base-64}{encoding}
-\index{RFC!1421}
+\rfcindex{1421}
 \index{MIME!base 64 encoding}
 
 This module perform base-64 encoding and decoding of arbitrary binary
 strings into text strings that can be safely emailed or posted.  The
-encoding scheme is defined in RFC 1421 and is used for MIME email and
+encoding scheme is defined in \rfc{1421} and is used for MIME email and
 various other Internet-related applications; it is not the same as the
 output produced by the \file{uuencode} program.  For example, the
 string \code{'www.python.org'} is encoded as the string
diff --git a/Doc/lib/libftplib.tex b/Doc/lib/libftplib.tex
index c8e6ed3..10bacbf 100644
--- a/Doc/lib/libftplib.tex
+++ b/Doc/lib/libftplib.tex
@@ -2,7 +2,7 @@
 \label{module-ftplib}
 \stmodindex{ftplib}
 \indexii{FTP}{protocol}
-\index{RFC!959}
+\rfcindex{959}
 
 \renewcommand{\indexsubitem}{(in module ftplib)}
 
@@ -11,8 +11,7 @@
 can use this to write Python programs that perform a variety of
 automated FTP jobs, such as mirroring other ftp servers.  It is also
 used by the module \code{urllib} to handle URLs that use FTP.  For
-more information on FTP (File Transfer Protocol), see Internet RFC
-959.
+more information on FTP (File Transfer Protocol), see Internet \rfc{959}.
 
 Here's a sample session using the \code{ftplib} module:
 
diff --git a/Doc/lib/libhtmllib.tex b/Doc/lib/libhtmllib.tex
index 8405ad1..5fbb34d 100644
--- a/Doc/lib/libhtmllib.tex
+++ b/Doc/lib/libhtmllib.tex
@@ -1,6 +1,7 @@
 \section{Standard Module \sectcode{htmllib}}
 \label{module-htmllib}
 \stmodindex{htmllib}
+\rfcindex{1866}
 \index{HTML}
 \index{hypertext}
 
@@ -63,7 +64,7 @@
 
 \begin{funcdesc}{HTMLParser}{formatter}
 This is the basic HTML parser class.  It supports all entity names
-required by the HTML 2.0 specification (RFC 1866).  It also defines
+required by the HTML 2.0 specification (\rfc{1866}).  It also defines
 handlers for all HTML 2.0 and many HTML 3.0 and 3.2 elements.
 \end{funcdesc}
 
diff --git a/Doc/lib/libhttplib.tex b/Doc/lib/libhttplib.tex
index 5b2cf85..0bca8ad 100644
--- a/Doc/lib/libhttplib.tex
+++ b/Doc/lib/libhttplib.tex
@@ -79,7 +79,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{putheader}{header\, argument\optional{\, ...}}
-Send an RFC-822 style header to the server.  It sends a line to the
+Send an \rfc{822} style header to the server.  It sends a line to the
 server consisting of the header, a colon and a space, and the first
 argument.  If more arguments are given, continuation lines are sent,
 each consisting of a tab and an argument.
diff --git a/Doc/lib/libmailcap.tex b/Doc/lib/libmailcap.tex
index 2cbffa1..e1168ec 100644
--- a/Doc/lib/libmailcap.tex
+++ b/Doc/lib/libmailcap.tex
@@ -1,5 +1,6 @@
 \section{Standard Module \sectcode{mailcap}}
 \label{module-mailcap}
+\rfcindex{1524}
 \stmodindex{mailcap}
 \renewcommand{\indexsubitem}{(in module mailcap)}
 
@@ -12,7 +13,7 @@
 replaced by a filename (usually one belonging to a temporary file) and
 the xmpeg program can be automatically started to view the file.
 
-The mailcap format is documented in RFC 1524, ``A User Agent
+The mailcap format is documented in \rfc{1524}, ``A User Agent
 Configuration Mechanism For Multimedia Mail Format Information'', but
 is not an Internet standard.  However, mailcap files are supported on
 most \UNIX{} systems.
@@ -24,12 +25,13 @@
 the mailcap entry for a given MIME type.  If no matching MIME
 type can be found, \code{(None, None)} is returned.
 
-\var{key} is the name of the field desired, which represents the type of
-activity to be performed; the default value is 'view', since in the
+\var{key} is the name of the field desired, which represents the type
+of activity to be performed; the default value is 'view', since in the 
 most common case you simply want to view the body of the MIME-typed
 data.  Other possible values might be 'compose' and 'edit', if you
 wanted to create a new body of the given MIME type or alter the
-existing body data.  See RFC1524 for a complete list of these fields.
+existing body data.  See \rfc{1524} for a complete list of these
+fields.
 
 \var{filename} is the filename to be substituted for \%s in the
 command line; the default value is
diff --git a/Doc/lib/libmd5.tex b/Doc/lib/libmd5.tex
index d71bacd..4d76b7c 100644
--- a/Doc/lib/libmd5.tex
+++ b/Doc/lib/libmd5.tex
@@ -1,9 +1,10 @@
 \section{Built-in Module \sectcode{md5}}
 \label{module-md5}
+\rfcindex{1321}
 \bimodindex{md5}
 
 This module implements the interface to RSA's MD5 message digest
-algorithm (see also Internet RFC 1321).  Its use is quite
+algorithm (see also Internet \rfc{1321}).  Its use is quite
 straightforward:\ use the \code{md5.new()} to create an md5 object.
 You can now feed this object with arbitrary strings using the
 \code{update()} method, and at any point you can ask it for the
diff --git a/Doc/lib/libnntplib.tex b/Doc/lib/libnntplib.tex
index 4f57c9b..b721efb 100644
--- a/Doc/lib/libnntplib.tex
+++ b/Doc/lib/libnntplib.tex
@@ -2,14 +2,14 @@
 \label{module-nntplib}
 \stmodindex{nntplib}
 \indexii{NNTP}{protocol}
-\index{RFC!977}
+\rfcindex{977}
 
 \renewcommand{\indexsubitem}{(in module nntplib)}
 
 This module defines the class \code{NNTP} which implements the client
 side of the NNTP protocol.  It can be used to implement a news reader
 or poster, or automated news processors.  For more information on NNTP
-(Network News Transfer Protocol), see Internet RFC 977.
+(Network News Transfer Protocol), see Internet \rfc{977}.
 
 Here are two small examples of how it can be used.  To list some
 statistics about a newsgroup and print the subjects of the last 10
diff --git a/Doc/lib/libquopri.tex b/Doc/lib/libquopri.tex
index a7395ec..d1cb297 100644
--- a/Doc/lib/libquopri.tex
+++ b/Doc/lib/libquopri.tex
@@ -3,13 +3,12 @@
 \stmodindex{quopri}
 
 This module performs quoted-printable transport encoding and decoding,
-as defined in RFC 1521: ``MIME (Multipurpose Internet Mail Extensions)
+as defined in \rfc{1521}: ``MIME (Multipurpose Internet Mail Extensions)
 Part One''.  The quoted-printable encoding is designed for data where
 there are relatively few nonprintable characters; the base-64 encoding
 scheme available via the \code{base64} module is more compact if there
 are many such characters, as when sending a graphics file.
 \indexii{quoted printable}{encoding}
-\indexii{RFC}{1521}
 \index{MIME!quoted-printable encoding}
 
 \renewcommand{\indexsubitem}{(in module quopri)}
diff --git a/Doc/lib/librfc822.tex b/Doc/lib/librfc822.tex
index 6450113..78bbabd 100644
--- a/Doc/lib/librfc822.tex
+++ b/Doc/lib/librfc822.tex
@@ -6,9 +6,8 @@
 
 This module defines a class, \code{Message}, which represents a
 collection of ``email headers'' as defined by the Internet standard
-RFC 822.  It is used in various contexts, usually to read such headers
-from a file.
-\index{RFC!822}
+\rfc{822}.  It is used in various contexts, usually to read such
+headers from a file.
 
 Note that there's a separate module to read \UNIX{}, MH, and MMDF
 style mailbox files: \code{mailbox}.
@@ -30,10 +29,10 @@
 the same result.
 
 \begin{funcdesc}{parsedate}{date}
-Attempts to parse a date according to the rules in RFC822.  however,
+Attempts to parse a date according to the rules in \rfc{822}.  however,
 some mailers don't follow that format as specified, so
 \code{parsedate()} tries to guess correctly in such cases. 
-\var{date} is a string containing an RFC822 date, such as 
+\var{date} is a string containing an \rfc{822} date, such as 
 \code{"Mon, 20 Nov 1995 19:12:08 -0500"}.  If it succeeds in parsing
 the date, \code{parsedate()} returns a 9-tuple that can be passed
 directly to \code{time.mktime()}; otherwise \code{None} will be
diff --git a/Doc/lib/liburlparse.tex b/Doc/lib/liburlparse.tex
index 9582bbe..651db6d 100644
--- a/Doc/lib/liburlparse.tex
+++ b/Doc/lib/liburlparse.tex
@@ -16,9 +16,8 @@
 
 The module has been designed to match the Internet RFC on Relative
 Uniform Resource Locators (and discovered a bug in an earlier
-draft!).  Refer to RFC 1808\index{RFC!1808} for details on relative
-URLs and RFC 1738\index{RFC!1738} for information on basic URL
-syntax.
+draft!).  Refer to \rfc{1808} for details on relative
+URLs and \rfc{1738} for information on basic URL syntax.
 
 It defines the following functions:
 
diff --git a/Doc/lib/libwww.tex b/Doc/lib/libwww.tex
index 8cfc09d..8b85d38 100644
--- a/Doc/lib/libwww.tex
+++ b/Doc/lib/libwww.tex
@@ -49,7 +49,7 @@
 --- Generic output formatter and device interface.
 
 \item[rfc822]
---- Parse RFC-822 style mail headers.
+--- Parse \rfc{822} style mail headers.
 
 \item[mimetools]
 --- Tools for parsing MIME style message bodies.
@@ -65,11 +65,11 @@
 representation
 
 \item[xdrlib]
---- The External Data Representation Standard as described in RFC 1014,
+--- The External Data Representation Standard as described in \rfc{1014},
 written by Sun Microsystems, Inc. June 1987.
 
 \item[mailcap]
---- Mailcap file handling.  See RFC 1524.
+--- Mailcap file handling.  See \rfc{1524}.
 
 \item[base64]
 --- Encode/decode binary files using the MIME base64 encoding.
diff --git a/Doc/lib/libxdrlib.tex b/Doc/lib/libxdrlib.tex
index 9312f98..3cfa92c 100644
--- a/Doc/lib/libxdrlib.tex
+++ b/Doc/lib/libxdrlib.tex
@@ -3,13 +3,12 @@
 \stmodindex{xdrlib}
 \index{XDR}
 \index{External Data Representation}
-\index{RFC!1014}
 
 \renewcommand{\indexsubitem}{(in module xdrlib)}
 
 
 The \code{xdrlib} module supports the External Data Representation
-Standard as described in RFC 1014, written by Sun Microsystems,
+Standard as described in \rfc{1014}, written by Sun Microsystems,
 Inc. June 1987.  It supports most of the data types described in the
 RFC.
 
diff --git a/Doc/libbase64.tex b/Doc/libbase64.tex
index e764737..8ad10c8 100644
--- a/Doc/libbase64.tex
+++ b/Doc/libbase64.tex
@@ -2,12 +2,12 @@
 \label{module-base64}
 \stmodindex{base64}
 \indexii{base-64}{encoding}
-\index{RFC!1421}
+\rfcindex{1421}
 \index{MIME!base 64 encoding}
 
 This module perform base-64 encoding and decoding of arbitrary binary
 strings into text strings that can be safely emailed or posted.  The
-encoding scheme is defined in RFC 1421 and is used for MIME email and
+encoding scheme is defined in \rfc{1421} and is used for MIME email and
 various other Internet-related applications; it is not the same as the
 output produced by the \file{uuencode} program.  For example, the
 string \code{'www.python.org'} is encoded as the string
diff --git a/Doc/libftplib.tex b/Doc/libftplib.tex
index c8e6ed3..10bacbf 100644
--- a/Doc/libftplib.tex
+++ b/Doc/libftplib.tex
@@ -2,7 +2,7 @@
 \label{module-ftplib}
 \stmodindex{ftplib}
 \indexii{FTP}{protocol}
-\index{RFC!959}
+\rfcindex{959}
 
 \renewcommand{\indexsubitem}{(in module ftplib)}
 
@@ -11,8 +11,7 @@
 can use this to write Python programs that perform a variety of
 automated FTP jobs, such as mirroring other ftp servers.  It is also
 used by the module \code{urllib} to handle URLs that use FTP.  For
-more information on FTP (File Transfer Protocol), see Internet RFC
-959.
+more information on FTP (File Transfer Protocol), see Internet \rfc{959}.
 
 Here's a sample session using the \code{ftplib} module:
 
diff --git a/Doc/libhtmllib.tex b/Doc/libhtmllib.tex
index 8405ad1..5fbb34d 100644
--- a/Doc/libhtmllib.tex
+++ b/Doc/libhtmllib.tex
@@ -1,6 +1,7 @@
 \section{Standard Module \sectcode{htmllib}}
 \label{module-htmllib}
 \stmodindex{htmllib}
+\rfcindex{1866}
 \index{HTML}
 \index{hypertext}
 
@@ -63,7 +64,7 @@
 
 \begin{funcdesc}{HTMLParser}{formatter}
 This is the basic HTML parser class.  It supports all entity names
-required by the HTML 2.0 specification (RFC 1866).  It also defines
+required by the HTML 2.0 specification (\rfc{1866}).  It also defines
 handlers for all HTML 2.0 and many HTML 3.0 and 3.2 elements.
 \end{funcdesc}
 
diff --git a/Doc/libhttplib.tex b/Doc/libhttplib.tex
index 5b2cf85..0bca8ad 100644
--- a/Doc/libhttplib.tex
+++ b/Doc/libhttplib.tex
@@ -79,7 +79,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{putheader}{header\, argument\optional{\, ...}}
-Send an RFC-822 style header to the server.  It sends a line to the
+Send an \rfc{822} style header to the server.  It sends a line to the
 server consisting of the header, a colon and a space, and the first
 argument.  If more arguments are given, continuation lines are sent,
 each consisting of a tab and an argument.
diff --git a/Doc/libmailcap.tex b/Doc/libmailcap.tex
index 2cbffa1..e1168ec 100644
--- a/Doc/libmailcap.tex
+++ b/Doc/libmailcap.tex
@@ -1,5 +1,6 @@
 \section{Standard Module \sectcode{mailcap}}
 \label{module-mailcap}
+\rfcindex{1524}
 \stmodindex{mailcap}
 \renewcommand{\indexsubitem}{(in module mailcap)}
 
@@ -12,7 +13,7 @@
 replaced by a filename (usually one belonging to a temporary file) and
 the xmpeg program can be automatically started to view the file.
 
-The mailcap format is documented in RFC 1524, ``A User Agent
+The mailcap format is documented in \rfc{1524}, ``A User Agent
 Configuration Mechanism For Multimedia Mail Format Information'', but
 is not an Internet standard.  However, mailcap files are supported on
 most \UNIX{} systems.
@@ -24,12 +25,13 @@
 the mailcap entry for a given MIME type.  If no matching MIME
 type can be found, \code{(None, None)} is returned.
 
-\var{key} is the name of the field desired, which represents the type of
-activity to be performed; the default value is 'view', since in the
+\var{key} is the name of the field desired, which represents the type
+of activity to be performed; the default value is 'view', since in the 
 most common case you simply want to view the body of the MIME-typed
 data.  Other possible values might be 'compose' and 'edit', if you
 wanted to create a new body of the given MIME type or alter the
-existing body data.  See RFC1524 for a complete list of these fields.
+existing body data.  See \rfc{1524} for a complete list of these
+fields.
 
 \var{filename} is the filename to be substituted for \%s in the
 command line; the default value is
diff --git a/Doc/libmd5.tex b/Doc/libmd5.tex
index d71bacd..4d76b7c 100644
--- a/Doc/libmd5.tex
+++ b/Doc/libmd5.tex
@@ -1,9 +1,10 @@
 \section{Built-in Module \sectcode{md5}}
 \label{module-md5}
+\rfcindex{1321}
 \bimodindex{md5}
 
 This module implements the interface to RSA's MD5 message digest
-algorithm (see also Internet RFC 1321).  Its use is quite
+algorithm (see also Internet \rfc{1321}).  Its use is quite
 straightforward:\ use the \code{md5.new()} to create an md5 object.
 You can now feed this object with arbitrary strings using the
 \code{update()} method, and at any point you can ask it for the
diff --git a/Doc/libnntplib.tex b/Doc/libnntplib.tex
index 4f57c9b..b721efb 100644
--- a/Doc/libnntplib.tex
+++ b/Doc/libnntplib.tex
@@ -2,14 +2,14 @@
 \label{module-nntplib}
 \stmodindex{nntplib}
 \indexii{NNTP}{protocol}
-\index{RFC!977}
+\rfcindex{977}
 
 \renewcommand{\indexsubitem}{(in module nntplib)}
 
 This module defines the class \code{NNTP} which implements the client
 side of the NNTP protocol.  It can be used to implement a news reader
 or poster, or automated news processors.  For more information on NNTP
-(Network News Transfer Protocol), see Internet RFC 977.
+(Network News Transfer Protocol), see Internet \rfc{977}.
 
 Here are two small examples of how it can be used.  To list some
 statistics about a newsgroup and print the subjects of the last 10
diff --git a/Doc/libquopri.tex b/Doc/libquopri.tex
index a7395ec..d1cb297 100644
--- a/Doc/libquopri.tex
+++ b/Doc/libquopri.tex
@@ -3,13 +3,12 @@
 \stmodindex{quopri}
 
 This module performs quoted-printable transport encoding and decoding,
-as defined in RFC 1521: ``MIME (Multipurpose Internet Mail Extensions)
+as defined in \rfc{1521}: ``MIME (Multipurpose Internet Mail Extensions)
 Part One''.  The quoted-printable encoding is designed for data where
 there are relatively few nonprintable characters; the base-64 encoding
 scheme available via the \code{base64} module is more compact if there
 are many such characters, as when sending a graphics file.
 \indexii{quoted printable}{encoding}
-\indexii{RFC}{1521}
 \index{MIME!quoted-printable encoding}
 
 \renewcommand{\indexsubitem}{(in module quopri)}
diff --git a/Doc/librfc822.tex b/Doc/librfc822.tex
index 6450113..78bbabd 100644
--- a/Doc/librfc822.tex
+++ b/Doc/librfc822.tex
@@ -6,9 +6,8 @@
 
 This module defines a class, \code{Message}, which represents a
 collection of ``email headers'' as defined by the Internet standard
-RFC 822.  It is used in various contexts, usually to read such headers
-from a file.
-\index{RFC!822}
+\rfc{822}.  It is used in various contexts, usually to read such
+headers from a file.
 
 Note that there's a separate module to read \UNIX{}, MH, and MMDF
 style mailbox files: \code{mailbox}.
@@ -30,10 +29,10 @@
 the same result.
 
 \begin{funcdesc}{parsedate}{date}
-Attempts to parse a date according to the rules in RFC822.  however,
+Attempts to parse a date according to the rules in \rfc{822}.  however,
 some mailers don't follow that format as specified, so
 \code{parsedate()} tries to guess correctly in such cases. 
-\var{date} is a string containing an RFC822 date, such as 
+\var{date} is a string containing an \rfc{822} date, such as 
 \code{"Mon, 20 Nov 1995 19:12:08 -0500"}.  If it succeeds in parsing
 the date, \code{parsedate()} returns a 9-tuple that can be passed
 directly to \code{time.mktime()}; otherwise \code{None} will be
diff --git a/Doc/liburlparse.tex b/Doc/liburlparse.tex
index 9582bbe..651db6d 100644
--- a/Doc/liburlparse.tex
+++ b/Doc/liburlparse.tex
@@ -16,9 +16,8 @@
 
 The module has been designed to match the Internet RFC on Relative
 Uniform Resource Locators (and discovered a bug in an earlier
-draft!).  Refer to RFC 1808\index{RFC!1808} for details on relative
-URLs and RFC 1738\index{RFC!1738} for information on basic URL
-syntax.
+draft!).  Refer to \rfc{1808} for details on relative
+URLs and \rfc{1738} for information on basic URL syntax.
 
 It defines the following functions:
 
diff --git a/Doc/libwww.tex b/Doc/libwww.tex
index 8cfc09d..8b85d38 100644
--- a/Doc/libwww.tex
+++ b/Doc/libwww.tex
@@ -49,7 +49,7 @@
 --- Generic output formatter and device interface.
 
 \item[rfc822]
---- Parse RFC-822 style mail headers.
+--- Parse \rfc{822} style mail headers.
 
 \item[mimetools]
 --- Tools for parsing MIME style message bodies.
@@ -65,11 +65,11 @@
 representation
 
 \item[xdrlib]
---- The External Data Representation Standard as described in RFC 1014,
+--- The External Data Representation Standard as described in \rfc{1014},
 written by Sun Microsystems, Inc. June 1987.
 
 \item[mailcap]
---- Mailcap file handling.  See RFC 1524.
+--- Mailcap file handling.  See \rfc{1524}.
 
 \item[base64]
 --- Encode/decode binary files using the MIME base64 encoding.
diff --git a/Doc/libxdrlib.tex b/Doc/libxdrlib.tex
index 9312f98..3cfa92c 100644
--- a/Doc/libxdrlib.tex
+++ b/Doc/libxdrlib.tex
@@ -3,13 +3,12 @@
 \stmodindex{xdrlib}
 \index{XDR}
 \index{External Data Representation}
-\index{RFC!1014}
 
 \renewcommand{\indexsubitem}{(in module xdrlib)}
 
 
 The \code{xdrlib} module supports the External Data Representation
-Standard as described in RFC 1014, written by Sun Microsystems,
+Standard as described in \rfc{1014}, written by Sun Microsystems,
 Inc. June 1987.  It supports most of the data types described in the
 RFC.