(lib<all sorts of stuff>.tex):
	Merged in many typo corrections and fixes to support GNU info
	processing; submitted by Tamito Kajiyama.
diff --git a/Doc/lib/liballos.tex b/Doc/lib/liballos.tex
index b5a207e..c167109 100644
--- a/Doc/lib/liballos.tex
+++ b/Doc/lib/liballos.tex
@@ -20,4 +20,7 @@
 \item[tempfile]
 --- Generate temporary file names.
 
+\item[errno]
+--- Standard errno system symbols.
+
 \end{description}
diff --git a/Doc/lib/libcgi.tex b/Doc/lib/libcgi.tex
index 34c510e..d736f39 100644
--- a/Doc/lib/libcgi.tex
+++ b/Doc/lib/libcgi.tex
@@ -168,6 +168,7 @@
 
 
 \subsection{Functions}
+\nodename{Functions in cgi module}
 
 These are useful if you want more control, or if you want to employ
 some of the algorithms implemented in this module in other
diff --git a/Doc/lib/libcrypt.tex b/Doc/lib/libcrypt.tex
index e44f7b2..132ae51 100644
--- a/Doc/lib/libcrypt.tex
+++ b/Doc/lib/libcrypt.tex
@@ -8,6 +8,7 @@
 attempting to crack Unix passwords with a dictionary.
 \index{crypt(3)}
 
+\renewcommand{\indexsubitem}{(in module crypt)}
 \begin{funcdesc}{crypt}{word\, salt} 
 \var{word} will usually be a user's password.  \var{salt} is a
 2-character string which will be used to select one of 4096 variations
diff --git a/Doc/lib/libdbm.tex b/Doc/lib/libdbm.tex
index ee2d39f..bae388b 100644
--- a/Doc/lib/libdbm.tex
+++ b/Doc/lib/libdbm.tex
@@ -1,7 +1,7 @@
 \section{Built-in Module \sectcode{dbm}}
 \bimodindex{dbm}
 
-The \code{dbm} module provides an interface to the {\UNIX}
+The \code{dbm} module provides an interface to the \UNIX{}
 \code{(n)dbm} library.  Dbm objects behave like mappings
 (dictionaries), except that keys and values are always strings.
 Printing a dbm object doesn't print the keys and values, and the
diff --git a/Doc/lib/libftplib.tex b/Doc/lib/libftplib.tex
index 3fda77a..ba18119 100644
--- a/Doc/lib/libftplib.tex
+++ b/Doc/lib/libftplib.tex
@@ -136,7 +136,7 @@
 
 \begin{funcdesc}{retrlines}{command\optional{\, callback}}
 Retrieve a file or directory listing in \ASCII{} transfer mode.
-var{command} should be an appropriate \samp{RETR} command (see
+\var{command} should be an appropriate \samp{RETR} command (see
 \code{retrbinary()} or a \samp{LIST} command (usually just the string
 \code{"LIST"}).  The \var{callback} function is called for each line,
 with the trailing CRLF stripped.  The default \var{callback} prints
@@ -160,14 +160,14 @@
 
 \begin{funcdesc}{nlst}{argument\optional{\, \ldots}}
 Return a list of files as returned by the \samp{NLST} command.  The
-optional var{argument} is a directory to list (default is the current
+optional \var{argument} is a directory to list (default is the current
 server directory).  Multiple arguments can be used to pass
 non-standard options to the \samp{NLST} command.
 \end{funcdesc}
 
 \begin{funcdesc}{dir}{argument\optional{\, \ldots}}
 Return a directory listing as returned by the \samp{LIST} command, as
-a list of lines.  The optional var{argument} is a directory to list
+a list of lines.  The optional \var{argument} is a directory to list
 (default is the current server directory).  Multiple arguments can be
 used to pass non-standard options to the \samp{LIST} command.  If the
 last argument is a function, it is used as a \var{callback} function
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 39cb02b..9e7d4c1 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -397,7 +397,7 @@
 arbitrary ways when reloaded.
 
 If a module imports objects from another module using \code{from}
-{\ldots} \code{import} {\ldots}, calling \code{reload()} for the other
+\ldots{} \code{import} \ldots{}, calling \code{reload()} for the other
 module does not redefine the objects imported from it --- one way
 around this is to re-execute the \code{from} statement, another is to
 use \code{import} and qualified names (\var{module}.\var{name})
diff --git a/Doc/lib/libmimetools.tex b/Doc/lib/libmimetools.tex
index decb890..ecf50dc 100644
--- a/Doc/lib/libmimetools.tex
+++ b/Doc/lib/libmimetools.tex
@@ -77,7 +77,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{gettype}{}
-Return the message type (of the form \samp{\var{type}/var{subtype}})
+Return the message type (of the form \samp{\var{type}/\var{subtype}})
 as specified in the \samp{Content-type} header.  If no such header
 exists, return \code{"text/plain"}.  The type is converted to lower
 case.
diff --git a/Doc/lib/libmm.tex b/Doc/lib/libmm.tex
index d5abc6f..a36915f 100644
--- a/Doc/lib/libmm.tex
+++ b/Doc/lib/libmm.tex
@@ -22,4 +22,7 @@
 --- Read and write image files in ``SGI RGB'' format (the module is
 \emph{not} SGI specific though)!
 
+\item[imghdr]
+--- Determine the type of image contained in a file or byte stream.
+
 \end{description}
diff --git a/Doc/lib/libnntplib.tex b/Doc/lib/libnntplib.tex
index e17ea8b..feec27a 100644
--- a/Doc/lib/libnntplib.tex
+++ b/Doc/lib/libnntplib.tex
@@ -143,7 +143,7 @@
 \begin{funcdesc}{stat}{id}
 Send a \samp{STAT} command, where \var{id} is the message id (enclosed
 in \samp{<} and \samp{>}) or an article number (as a string).
-Return a triple \code{(var{response}, \var{number}, \var{id})} where
+Return a triple \code{(\var{response}, \var{number}, \var{id})} where
 \var{number} is the article number (as a string) and \var{id} is the
 article id  (enclosed in \samp{<} and \samp{>}).
 \end{funcdesc}
diff --git a/Doc/lib/libparser.tex b/Doc/lib/libparser.tex
index 5de9328..e85ca72 100644
--- a/Doc/lib/libparser.tex
+++ b/Doc/lib/libparser.tex
@@ -272,6 +272,7 @@
 
 
 \subsection{Examples}
+\nodename{AST Examples}
 
 The parser modules allows operations to be performed on the parse tree
 of Python source code before the bytecode is generated, and provides
diff --git a/Doc/lib/libposix.tex b/Doc/lib/libposix.tex
index a87f5c0..7cc4c0a 100644
--- a/Doc/lib/libposix.tex
+++ b/Doc/lib/libposix.tex
@@ -293,19 +293,19 @@
 
 \begin{funcdesc}{setpgrp}{}
 Calls the system call \code{setpgrp()} or \code{setpgrp(0, 0)}
-depending on which version is implemented (if any).  See the {\UNIX}
+depending on which version is implemented (if any).  See the \UNIX{}
 manual for the semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
 
 \begin{funcdesc}{setpgid}{pid\, pgrp}
-Calls the system call \code{setpgid()}.  See the {\UNIX} manual for
+Calls the system call \code{setpgid()}.  See the \UNIX{} manual for
 the semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
 
 \begin{funcdesc}{setsid}{}
-Calls the system call \code{setsid()}.  See the {\UNIX} manual for the
+Calls the system call \code{setsid()}.  See the \UNIX{} manual for the
 semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
diff --git a/Doc/lib/libprofile.tex b/Doc/lib/libprofile.tex
index 4ba4cf9..da0c294 100644
--- a/Doc/lib/libprofile.tex
+++ b/Doc/lib/libprofile.tex
@@ -2,7 +2,7 @@
 \stmodindex{profile}
 \stmodindex{pstats}
 
-Copyright \copyright\ 1994, by InfoSeek Corporation, all rights reserved.
+Copyright \copyright{} 1994, by InfoSeek Corporation, all rights reserved.
 
 Written by James Roskind%
 \footnote{
diff --git a/Doc/lib/libregex.tex b/Doc/lib/libregex.tex
index f2e094a..91f3a03 100644
--- a/Doc/lib/libregex.tex
+++ b/Doc/lib/libregex.tex
@@ -67,11 +67,11 @@
 
 The special characters are:
 \begin{itemize}
-\item[\code{.}]{(Dot.)  Matches any character except a newline.}
-\item[\code{\^}]{(Caret.)  Matches the start of the string.}
-\item[\code{\$}]{Matches the end of the string.  
+\item[\code{.}] (Dot.)  Matches any character except a newline.
+\item[\code{\^}] (Caret.)  Matches the start of the string.
+\item[\code{\$}] Matches the end of the string.  
 \code{foo} matches both 'foo' and 'foobar', while the regular
-expression '\code{foo\$}' matches only 'foo'.}
+expression '\code{foo\$}' matches only 'foo'.
 \item[\code{*}] Causes the resulting RE to
 match 0 or more repetitions of the preceding RE.  \code{ab*} will
 match 'a', 'ab', or 'a' followed by any number of 'b's.
@@ -119,48 +119,48 @@
 creates a regular expression that will match either A or B.  This can
 be used inside groups (see below) as well.
 %
-\item[\code{\e( \e)}]{Indicates the start and end of a group; the
+\item[\code{\e( \e)}] Indicates the start and end of a group; the
 contents of a group can be matched later in the string with the
-\code{\e \[1-9]} special sequence, described next.}
+\code{\e [1-9]} special sequence, described next.
 %
 {\fulllineitems\item[\code{\e \e 1, ... \e \e 7, \e 8, \e 9}]
-{Matches the contents of the group of the same
+Matches the contents of the group of the same
 number.  For example, \code{\e (.+\e ) \e \e 1} matches 'the the' or
 '55 55', but not 'the end' (note the space after the group).  This
 special sequence can only be used to match one of the first 9 groups;
 groups with higher numbers can be matched using the \code{\e v}
 sequence.  (\code{\e 8} and \code{\e 9} don't need a double backslash
-because they are not octal digits.)}}
+because they are not octal digits.)}
 %
-\item[\code{\e \e b}]{Matches the empty string, but only at the
+\item[\code{\e \e b}] Matches the empty string, but only at the
 beginning or end of a word.  A word is defined as a sequence of
 alphanumeric characters, so the end of a word is indicated by
-whitespace or a non-alphanumeric character.}
+whitespace or a non-alphanumeric character.
 %
-\item[\code{\e B}]{Matches the empty string, but when it is \emph{not} at the
-beginning or end of a word.} 
+\item[\code{\e B}] Matches the empty string, but when it is \emph{not} at the
+beginning or end of a word.
 %
-\item[\code{\e v}]{Must be followed by a two digit decimal number, and
-matches the contents of the group of the same number.  The group number must be between 1 and 99, inclusive.}
+\item[\code{\e v}] Must be followed by a two digit decimal number, and
+matches the contents of the group of the same number.  The group number must be between 1 and 99, inclusive.
 %
 \item[\code{\e w}]Matches any alphanumeric character; this is
 equivalent to the set \code{[a-zA-Z0-9]}.
 %
-\item[\code{\e W}]{Matches any non-alphanumeric character; this is
-equivalent to the set \code{[\^a-zA-Z0-9]}.} 
-\item[\code{\e <}]{Matches the empty string, but only at the beginning of a
+\item[\code{\e W}] Matches any non-alphanumeric character; this is
+equivalent to the set \code{[\^a-zA-Z0-9]}.
+\item[\code{\e <}] Matches the empty string, but only at the beginning of a
 word.  A word is defined as a sequence of alphanumeric characters, so
 the end of a word is indicated by whitespace or a non-alphanumeric 
-character.}
-\item[\code{\e >}]{Matches the empty string, but only at the end of a
-word.}
+character.
+\item[\code{\e >}] Matches the empty string, but only at the end of a
+word.
 
-\item[\code{\e \e \e \e}]{Matches a literal backslash.}
+\item[\code{\e \e \e \e}] Matches a literal backslash.
 
 % In Emacs, the following two are start of buffer/end of buffer.  In
 % Python they seem to be synonyms for ^$.
-\item[\code{\e `}]{Like \code{\^}, this only matches at the start of the
-string.}
+\item[\code{\e `}] Like \code{\^}, this only matches at the start of the
+string.
 \item[\code{\e \e '}] Like \code{\$}, this only matches at the end of the
 string.
 % end of buffer
diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex
index e009e3f..2f2bd42 100644
--- a/Doc/lib/libstdwin.tex
+++ b/Doc/lib/libstdwin.tex
@@ -310,6 +310,7 @@
 \end{funcdesc}
 
 \subsection{Window Objects}
+\nodename{STDWIN Window Objects}
 
 Window objects are created by \code{stdwin.open()}.  They are closed
 by their \code{close()} method or when they are garbage-collected.
diff --git a/Doc/lib/libtemplate.tex b/Doc/lib/libtemplate.tex
index 4afb56b..cd49a8f 100644
--- a/Doc/lib/libtemplate.tex
+++ b/Doc/lib/libtemplate.tex
@@ -24,8 +24,8 @@
 It knows the four generally available Spam varieties and understands
 both can sizes.
 
-Because spamification requires UNIX process management, the module is
-only available on genuine UNIX systems.
+Because spamification requires \UNIX{} process management, the module
+is only available on genuine \UNIX{} systems.
 
 
 % ==== 3. ====
diff --git a/Doc/lib/libtermios.tex b/Doc/lib/libtermios.tex
index e55aab4..3d007c3 100644
--- a/Doc/lib/libtermios.tex
+++ b/Doc/lib/libtermios.tex
@@ -73,7 +73,7 @@
 
 Here's a function that prompts for a password with echoing turned off.
 Note the technique using a separate \code{termios.tcgetattr()} call
-and a \code{try {\ldots} finally} statement to ensure that the old tty
+and a \code{try \ldots{} finally} statement to ensure that the old tty
 attributes are restored exactly no matter what happens:
 
 \begin{verbatim}
diff --git a/Doc/lib/libunix.tex b/Doc/lib/libunix.tex
index 895c6e5..47ed029 100644
--- a/Doc/lib/libunix.tex
+++ b/Doc/lib/libunix.tex
@@ -19,7 +19,7 @@
 --- The group database (\code{getgrnam()} and friends).
 
 \item[crypt]
---- The (\code{crypt()} function used to check Unix passwords).
+--- The \code{crypt()} function used to check Unix passwords.
 
 \item[dbm]
 --- The standard ``database'' interface, based on \code{ndbm}.
@@ -30,10 +30,16 @@
 \item[termios]
 --- Posix style tty control.
 
+\item[TERMIOS]
+--- The symbolic constants required to use the \code{termios} module.
+
 \item[fcntl]
 --- The \code{fcntl()} and \code{ioctl()} system calls.
 
 \item[posixfile]
 --- A file-like object with support for locking.
 
+\item[syslog]
+--- An interface to the Unix \code{syslog} library routines.
+
 \end{description}
diff --git a/Doc/lib/libwww.tex b/Doc/lib/libwww.tex
index c42494e..aebe931 100644
--- a/Doc/lib/libwww.tex
+++ b/Doc/lib/libwww.tex
@@ -51,4 +51,18 @@
 \item[mimetools]
 --- Tools for parsing MIME style message bodies.
 
+\item[binhex]
+--- Encode and decode files in binhex4 format.
+
+\item[uu]
+--- Encode and decode files in uuencode format.
+
+\item[binascii]
+--- Tools for converting between binary and various ascii-encoded binary 
+representation
+
+\item[xdrlib]
+--- The External Data Representation Standard as described in RFC 1014,
+written by Sun Microsystems, Inc. June 1987.
+
 \end{description}
diff --git a/Doc/lib/libxdrlib.tex b/Doc/lib/libxdrlib.tex
index e0ed029..1221fff 100644
--- a/Doc/lib/libxdrlib.tex
+++ b/Doc/lib/libxdrlib.tex
@@ -205,6 +205,7 @@
 \end{funcdesc}
 
 \subsection{Exceptions}
+\nodename{Exceptions in xdrlib module}
 
 Exceptions in this module are coded as class instances:
 
diff --git a/Doc/liballos.tex b/Doc/liballos.tex
index b5a207e..c167109 100644
--- a/Doc/liballos.tex
+++ b/Doc/liballos.tex
@@ -20,4 +20,7 @@
 \item[tempfile]
 --- Generate temporary file names.
 
+\item[errno]
+--- Standard errno system symbols.
+
 \end{description}
diff --git a/Doc/libcgi.tex b/Doc/libcgi.tex
index 34c510e..d736f39 100644
--- a/Doc/libcgi.tex
+++ b/Doc/libcgi.tex
@@ -168,6 +168,7 @@
 
 
 \subsection{Functions}
+\nodename{Functions in cgi module}
 
 These are useful if you want more control, or if you want to employ
 some of the algorithms implemented in this module in other
diff --git a/Doc/libcrypt.tex b/Doc/libcrypt.tex
index e44f7b2..132ae51 100644
--- a/Doc/libcrypt.tex
+++ b/Doc/libcrypt.tex
@@ -8,6 +8,7 @@
 attempting to crack Unix passwords with a dictionary.
 \index{crypt(3)}
 
+\renewcommand{\indexsubitem}{(in module crypt)}
 \begin{funcdesc}{crypt}{word\, salt} 
 \var{word} will usually be a user's password.  \var{salt} is a
 2-character string which will be used to select one of 4096 variations
diff --git a/Doc/libdbm.tex b/Doc/libdbm.tex
index ee2d39f..bae388b 100644
--- a/Doc/libdbm.tex
+++ b/Doc/libdbm.tex
@@ -1,7 +1,7 @@
 \section{Built-in Module \sectcode{dbm}}
 \bimodindex{dbm}
 
-The \code{dbm} module provides an interface to the {\UNIX}
+The \code{dbm} module provides an interface to the \UNIX{}
 \code{(n)dbm} library.  Dbm objects behave like mappings
 (dictionaries), except that keys and values are always strings.
 Printing a dbm object doesn't print the keys and values, and the
diff --git a/Doc/libftplib.tex b/Doc/libftplib.tex
index 3fda77a..ba18119 100644
--- a/Doc/libftplib.tex
+++ b/Doc/libftplib.tex
@@ -136,7 +136,7 @@
 
 \begin{funcdesc}{retrlines}{command\optional{\, callback}}
 Retrieve a file or directory listing in \ASCII{} transfer mode.
-var{command} should be an appropriate \samp{RETR} command (see
+\var{command} should be an appropriate \samp{RETR} command (see
 \code{retrbinary()} or a \samp{LIST} command (usually just the string
 \code{"LIST"}).  The \var{callback} function is called for each line,
 with the trailing CRLF stripped.  The default \var{callback} prints
@@ -160,14 +160,14 @@
 
 \begin{funcdesc}{nlst}{argument\optional{\, \ldots}}
 Return a list of files as returned by the \samp{NLST} command.  The
-optional var{argument} is a directory to list (default is the current
+optional \var{argument} is a directory to list (default is the current
 server directory).  Multiple arguments can be used to pass
 non-standard options to the \samp{NLST} command.
 \end{funcdesc}
 
 \begin{funcdesc}{dir}{argument\optional{\, \ldots}}
 Return a directory listing as returned by the \samp{LIST} command, as
-a list of lines.  The optional var{argument} is a directory to list
+a list of lines.  The optional \var{argument} is a directory to list
 (default is the current server directory).  Multiple arguments can be
 used to pass non-standard options to the \samp{LIST} command.  If the
 last argument is a function, it is used as a \var{callback} function
diff --git a/Doc/libfuncs.tex b/Doc/libfuncs.tex
index 39cb02b..9e7d4c1 100644
--- a/Doc/libfuncs.tex
+++ b/Doc/libfuncs.tex
@@ -397,7 +397,7 @@
 arbitrary ways when reloaded.
 
 If a module imports objects from another module using \code{from}
-{\ldots} \code{import} {\ldots}, calling \code{reload()} for the other
+\ldots{} \code{import} \ldots{}, calling \code{reload()} for the other
 module does not redefine the objects imported from it --- one way
 around this is to re-execute the \code{from} statement, another is to
 use \code{import} and qualified names (\var{module}.\var{name})
diff --git a/Doc/libmimetools.tex b/Doc/libmimetools.tex
index decb890..ecf50dc 100644
--- a/Doc/libmimetools.tex
+++ b/Doc/libmimetools.tex
@@ -77,7 +77,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{gettype}{}
-Return the message type (of the form \samp{\var{type}/var{subtype}})
+Return the message type (of the form \samp{\var{type}/\var{subtype}})
 as specified in the \samp{Content-type} header.  If no such header
 exists, return \code{"text/plain"}.  The type is converted to lower
 case.
diff --git a/Doc/libmm.tex b/Doc/libmm.tex
index d5abc6f..a36915f 100644
--- a/Doc/libmm.tex
+++ b/Doc/libmm.tex
@@ -22,4 +22,7 @@
 --- Read and write image files in ``SGI RGB'' format (the module is
 \emph{not} SGI specific though)!
 
+\item[imghdr]
+--- Determine the type of image contained in a file or byte stream.
+
 \end{description}
diff --git a/Doc/libnntplib.tex b/Doc/libnntplib.tex
index e17ea8b..feec27a 100644
--- a/Doc/libnntplib.tex
+++ b/Doc/libnntplib.tex
@@ -143,7 +143,7 @@
 \begin{funcdesc}{stat}{id}
 Send a \samp{STAT} command, where \var{id} is the message id (enclosed
 in \samp{<} and \samp{>}) or an article number (as a string).
-Return a triple \code{(var{response}, \var{number}, \var{id})} where
+Return a triple \code{(\var{response}, \var{number}, \var{id})} where
 \var{number} is the article number (as a string) and \var{id} is the
 article id  (enclosed in \samp{<} and \samp{>}).
 \end{funcdesc}
diff --git a/Doc/libparser.tex b/Doc/libparser.tex
index 5de9328..e85ca72 100644
--- a/Doc/libparser.tex
+++ b/Doc/libparser.tex
@@ -272,6 +272,7 @@
 
 
 \subsection{Examples}
+\nodename{AST Examples}
 
 The parser modules allows operations to be performed on the parse tree
 of Python source code before the bytecode is generated, and provides
diff --git a/Doc/libposix.tex b/Doc/libposix.tex
index a87f5c0..7cc4c0a 100644
--- a/Doc/libposix.tex
+++ b/Doc/libposix.tex
@@ -293,19 +293,19 @@
 
 \begin{funcdesc}{setpgrp}{}
 Calls the system call \code{setpgrp()} or \code{setpgrp(0, 0)}
-depending on which version is implemented (if any).  See the {\UNIX}
+depending on which version is implemented (if any).  See the \UNIX{}
 manual for the semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
 
 \begin{funcdesc}{setpgid}{pid\, pgrp}
-Calls the system call \code{setpgid()}.  See the {\UNIX} manual for
+Calls the system call \code{setpgid()}.  See the \UNIX{} manual for
 the semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
 
 \begin{funcdesc}{setsid}{}
-Calls the system call \code{setsid()}.  See the {\UNIX} manual for the
+Calls the system call \code{setsid()}.  See the \UNIX{} manual for the
 semantics.
 (Not on MS-DOS.)
 \end{funcdesc}
diff --git a/Doc/libprofile.tex b/Doc/libprofile.tex
index 4ba4cf9..da0c294 100644
--- a/Doc/libprofile.tex
+++ b/Doc/libprofile.tex
@@ -2,7 +2,7 @@
 \stmodindex{profile}
 \stmodindex{pstats}
 
-Copyright \copyright\ 1994, by InfoSeek Corporation, all rights reserved.
+Copyright \copyright{} 1994, by InfoSeek Corporation, all rights reserved.
 
 Written by James Roskind%
 \footnote{
diff --git a/Doc/libregex.tex b/Doc/libregex.tex
index f2e094a..91f3a03 100644
--- a/Doc/libregex.tex
+++ b/Doc/libregex.tex
@@ -67,11 +67,11 @@
 
 The special characters are:
 \begin{itemize}
-\item[\code{.}]{(Dot.)  Matches any character except a newline.}
-\item[\code{\^}]{(Caret.)  Matches the start of the string.}
-\item[\code{\$}]{Matches the end of the string.  
+\item[\code{.}] (Dot.)  Matches any character except a newline.
+\item[\code{\^}] (Caret.)  Matches the start of the string.
+\item[\code{\$}] Matches the end of the string.  
 \code{foo} matches both 'foo' and 'foobar', while the regular
-expression '\code{foo\$}' matches only 'foo'.}
+expression '\code{foo\$}' matches only 'foo'.
 \item[\code{*}] Causes the resulting RE to
 match 0 or more repetitions of the preceding RE.  \code{ab*} will
 match 'a', 'ab', or 'a' followed by any number of 'b's.
@@ -119,48 +119,48 @@
 creates a regular expression that will match either A or B.  This can
 be used inside groups (see below) as well.
 %
-\item[\code{\e( \e)}]{Indicates the start and end of a group; the
+\item[\code{\e( \e)}] Indicates the start and end of a group; the
 contents of a group can be matched later in the string with the
-\code{\e \[1-9]} special sequence, described next.}
+\code{\e [1-9]} special sequence, described next.
 %
 {\fulllineitems\item[\code{\e \e 1, ... \e \e 7, \e 8, \e 9}]
-{Matches the contents of the group of the same
+Matches the contents of the group of the same
 number.  For example, \code{\e (.+\e ) \e \e 1} matches 'the the' or
 '55 55', but not 'the end' (note the space after the group).  This
 special sequence can only be used to match one of the first 9 groups;
 groups with higher numbers can be matched using the \code{\e v}
 sequence.  (\code{\e 8} and \code{\e 9} don't need a double backslash
-because they are not octal digits.)}}
+because they are not octal digits.)}
 %
-\item[\code{\e \e b}]{Matches the empty string, but only at the
+\item[\code{\e \e b}] Matches the empty string, but only at the
 beginning or end of a word.  A word is defined as a sequence of
 alphanumeric characters, so the end of a word is indicated by
-whitespace or a non-alphanumeric character.}
+whitespace or a non-alphanumeric character.
 %
-\item[\code{\e B}]{Matches the empty string, but when it is \emph{not} at the
-beginning or end of a word.} 
+\item[\code{\e B}] Matches the empty string, but when it is \emph{not} at the
+beginning or end of a word.
 %
-\item[\code{\e v}]{Must be followed by a two digit decimal number, and
-matches the contents of the group of the same number.  The group number must be between 1 and 99, inclusive.}
+\item[\code{\e v}] Must be followed by a two digit decimal number, and
+matches the contents of the group of the same number.  The group number must be between 1 and 99, inclusive.
 %
 \item[\code{\e w}]Matches any alphanumeric character; this is
 equivalent to the set \code{[a-zA-Z0-9]}.
 %
-\item[\code{\e W}]{Matches any non-alphanumeric character; this is
-equivalent to the set \code{[\^a-zA-Z0-9]}.} 
-\item[\code{\e <}]{Matches the empty string, but only at the beginning of a
+\item[\code{\e W}] Matches any non-alphanumeric character; this is
+equivalent to the set \code{[\^a-zA-Z0-9]}.
+\item[\code{\e <}] Matches the empty string, but only at the beginning of a
 word.  A word is defined as a sequence of alphanumeric characters, so
 the end of a word is indicated by whitespace or a non-alphanumeric 
-character.}
-\item[\code{\e >}]{Matches the empty string, but only at the end of a
-word.}
+character.
+\item[\code{\e >}] Matches the empty string, but only at the end of a
+word.
 
-\item[\code{\e \e \e \e}]{Matches a literal backslash.}
+\item[\code{\e \e \e \e}] Matches a literal backslash.
 
 % In Emacs, the following two are start of buffer/end of buffer.  In
 % Python they seem to be synonyms for ^$.
-\item[\code{\e `}]{Like \code{\^}, this only matches at the start of the
-string.}
+\item[\code{\e `}] Like \code{\^}, this only matches at the start of the
+string.
 \item[\code{\e \e '}] Like \code{\$}, this only matches at the end of the
 string.
 % end of buffer
diff --git a/Doc/libstdwin.tex b/Doc/libstdwin.tex
index e009e3f..2f2bd42 100644
--- a/Doc/libstdwin.tex
+++ b/Doc/libstdwin.tex
@@ -310,6 +310,7 @@
 \end{funcdesc}
 
 \subsection{Window Objects}
+\nodename{STDWIN Window Objects}
 
 Window objects are created by \code{stdwin.open()}.  They are closed
 by their \code{close()} method or when they are garbage-collected.
diff --git a/Doc/libtemplate.tex b/Doc/libtemplate.tex
index 4afb56b..cd49a8f 100644
--- a/Doc/libtemplate.tex
+++ b/Doc/libtemplate.tex
@@ -24,8 +24,8 @@
 It knows the four generally available Spam varieties and understands
 both can sizes.
 
-Because spamification requires UNIX process management, the module is
-only available on genuine UNIX systems.
+Because spamification requires \UNIX{} process management, the module
+is only available on genuine \UNIX{} systems.
 
 
 % ==== 3. ====
diff --git a/Doc/libtermios.tex b/Doc/libtermios.tex
index e55aab4..3d007c3 100644
--- a/Doc/libtermios.tex
+++ b/Doc/libtermios.tex
@@ -73,7 +73,7 @@
 
 Here's a function that prompts for a password with echoing turned off.
 Note the technique using a separate \code{termios.tcgetattr()} call
-and a \code{try {\ldots} finally} statement to ensure that the old tty
+and a \code{try \ldots{} finally} statement to ensure that the old tty
 attributes are restored exactly no matter what happens:
 
 \begin{verbatim}
diff --git a/Doc/libunix.tex b/Doc/libunix.tex
index 895c6e5..47ed029 100644
--- a/Doc/libunix.tex
+++ b/Doc/libunix.tex
@@ -19,7 +19,7 @@
 --- The group database (\code{getgrnam()} and friends).
 
 \item[crypt]
---- The (\code{crypt()} function used to check Unix passwords).
+--- The \code{crypt()} function used to check Unix passwords.
 
 \item[dbm]
 --- The standard ``database'' interface, based on \code{ndbm}.
@@ -30,10 +30,16 @@
 \item[termios]
 --- Posix style tty control.
 
+\item[TERMIOS]
+--- The symbolic constants required to use the \code{termios} module.
+
 \item[fcntl]
 --- The \code{fcntl()} and \code{ioctl()} system calls.
 
 \item[posixfile]
 --- A file-like object with support for locking.
 
+\item[syslog]
+--- An interface to the Unix \code{syslog} library routines.
+
 \end{description}
diff --git a/Doc/libwww.tex b/Doc/libwww.tex
index c42494e..aebe931 100644
--- a/Doc/libwww.tex
+++ b/Doc/libwww.tex
@@ -51,4 +51,18 @@
 \item[mimetools]
 --- Tools for parsing MIME style message bodies.
 
+\item[binhex]
+--- Encode and decode files in binhex4 format.
+
+\item[uu]
+--- Encode and decode files in uuencode format.
+
+\item[binascii]
+--- Tools for converting between binary and various ascii-encoded binary 
+representation
+
+\item[xdrlib]
+--- The External Data Representation Standard as described in RFC 1014,
+written by Sun Microsystems, Inc. June 1987.
+
 \end{description}
diff --git a/Doc/libxdrlib.tex b/Doc/libxdrlib.tex
index e0ed029..1221fff 100644
--- a/Doc/libxdrlib.tex
+++ b/Doc/libxdrlib.tex
@@ -205,6 +205,7 @@
 \end{funcdesc}
 
 \subsection{Exceptions}
+\nodename{Exceptions in xdrlib module}
 
 Exceptions in this module are coded as class instances:
 
diff --git a/Doc/partparse.py b/Doc/partparse.py
index b83ad83..4a836f2 100644
--- a/Doc/partparse.py
+++ b/Doc/partparse.py
@@ -827,7 +827,7 @@
 	self.data = self.data + data
 
 # ignore these commands
-ignoredcommands = ('bcode', 'ecode')
+ignoredcommands = ('bcode', 'ecode', 'hline', 'fulllineitems', 'small')
 # map commands like these to themselves as plaintext
 wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF', 'LaTeX')
 # \{ --> {,  \} --> }, etc
@@ -1978,6 +1978,12 @@
 
 	if ch.chtype == chunk_type[CSNAME]:
 	    s_buf_data = s(buf, ch.data)
+            if s_buf_data == 'e':
+                wm('\\')
+                continue
+            if s_buf_data == '$':
+                wm('$')
+                continue
 	    wm('@' + s_buf_data)
 	    if s_buf_data == 'node' and \
 		      pp[i].chtype == chunk_type[PLAIN] and \
diff --git a/Doc/templates/module.tex b/Doc/templates/module.tex
index 4afb56b..cd49a8f 100644
--- a/Doc/templates/module.tex
+++ b/Doc/templates/module.tex
@@ -24,8 +24,8 @@
 It knows the four generally available Spam varieties and understands
 both can sizes.
 
-Because spamification requires UNIX process management, the module is
-only available on genuine UNIX systems.
+Because spamification requires \UNIX{} process management, the module
+is only available on genuine \UNIX{} systems.
 
 
 % ==== 3. ====
diff --git a/Doc/tools/partparse.py b/Doc/tools/partparse.py
index b83ad83..4a836f2 100644
--- a/Doc/tools/partparse.py
+++ b/Doc/tools/partparse.py
@@ -827,7 +827,7 @@
 	self.data = self.data + data
 
 # ignore these commands
-ignoredcommands = ('bcode', 'ecode')
+ignoredcommands = ('bcode', 'ecode', 'hline', 'fulllineitems', 'small')
 # map commands like these to themselves as plaintext
 wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF', 'LaTeX')
 # \{ --> {,  \} --> }, etc
@@ -1978,6 +1978,12 @@
 
 	if ch.chtype == chunk_type[CSNAME]:
 	    s_buf_data = s(buf, ch.data)
+            if s_buf_data == 'e':
+                wm('\\')
+                continue
+            if s_buf_data == '$':
+                wm('$')
+                continue
 	    wm('@' + s_buf_data)
 	    if s_buf_data == 'node' and \
 		      pp[i].chtype == chunk_type[PLAIN] and \