diff --git a/Doc/lib/liballos.tex b/Doc/lib/liballos.tex
index 4d926c4..dd046c9 100644
--- a/Doc/lib/liballos.tex
+++ b/Doc/lib/liballos.tex
@@ -2,7 +2,7 @@
 
 The modules described in this chapter provide interfaces to operating
 system features that are available on (almost) all operating systems,
-such as files and a clock.  The interfaces are generally modelled
+such as files and a clock.  The interfaces are generally modeled
 after the \UNIX{} or C interfaces, but they are available on most
 other systems as well.  Here's an overview:
 
diff --git a/Doc/lib/libascii.tex b/Doc/lib/libascii.tex
index d71aa2e..af40c2b 100644
--- a/Doc/lib/libascii.tex
+++ b/Doc/lib/libascii.tex
@@ -18,7 +18,7 @@
   \lineii{NUL}{}
   \lineii{SOH}{Start of heading, console interrupt}
   \lineii{STX}{Start of text}
-  \lineii{ETX}{Ennd of text}
+  \lineii{ETX}{End of text}
   \lineii{EOT}{End of transmission}
   \lineii{ENQ}{Enquiry, goes with \constant{ACK} flow control}
   \lineii{ACK}{Acknowledgement}
diff --git a/Doc/lib/libasyncore.tex b/Doc/lib/libasyncore.tex
index 4bcd496..5b39090 100644
--- a/Doc/lib/libasyncore.tex
+++ b/Doc/lib/libasyncore.tex
@@ -107,7 +107,7 @@
   Each time through the \method{select()} loop, the set of sockets 
   is scanned, and this method is called to see if there is any 
   interest in writing.  The default method simply returns \code{1}, 
-  indiciating that by default, all channels will be interested.
+  indicating that by default, all channels will be interested.
 \end{methoddesc}
 
 In addition, there are the basic methods needed to construct and
diff --git a/Doc/lib/libaudioop.tex b/Doc/lib/libaudioop.tex
index 88bf046..00a91d1 100644
--- a/Doc/lib/libaudioop.tex
+++ b/Doc/lib/libaudioop.tex
@@ -151,7 +151,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{mul}{fragment, width, factor}
-Return a fragment that has all samples in the original framgent
+Return a fragment that has all samples in the original fragment
 multiplied by the floating-point value \var{factor}.  Overflow is
 silently ignored.
 \end{funcdesc}
@@ -161,7 +161,7 @@
 Convert the frame rate of the input fragment.
 
 \var{state} is a tuple containing the state of the converter.  The
-converter returns a tupl \code{(\var{newfragment}, \var{newstate})},
+converter returns a tuple \code{(\var{newfragment}, \var{newstate})},
 and \var{newstate} should be passed to the next call of
 \function{ratecv()}.
 
diff --git a/Doc/lib/libbasehttp.tex b/Doc/lib/libbasehttp.tex
index 82714b1..0c9f705 100644
--- a/Doc/lib/libbasehttp.tex
+++ b/Doc/lib/libbasehttp.tex
@@ -90,7 +90,7 @@
 
 \begin{memberdesc}{wfile}
 Contains the output stream for writing a response back to the client.
-Proper adherance to the HTTP protocol must be used when writing
+Proper adherence to the HTTP protocol must be used when writing
 to this stream.
 \end{memberdesc}
 
@@ -115,7 +115,7 @@
 Specifies a format string for building an error response to the
 client. It uses parenthesized, keyed format specifiers, so the
 format operand must be a dictionary. The \var{code} key should
-be an integer, specifing the numeric HTTP error code value.
+be an integer, specifying the numeric HTTP error code value.
 \var{message} should be a string containing a (detailed) error
 message of what occurred, and \var{explain} should be an
 explanation of the error code number. Default \var{message}
diff --git a/Doc/lib/libbinascii.tex b/Doc/lib/libbinascii.tex
index bbc7f44..8694ca9 100644
--- a/Doc/lib/libbinascii.tex
+++ b/Doc/lib/libbinascii.tex
@@ -11,7 +11,7 @@
 representations. Normally, you will not use these functions directly
 but use wrapper modules like \refmodule{uu}\refstmodindex{uu} or
 \refmodule{binhex}\refstmodindex{binhex} instead, this module solely
-exists because bit-manipuation of large amounts of data is slow in
+exists because bit-manipulation of large amounts of data is slow in
 Python.
 
 The \module{binascii} module defines the following functions:
diff --git a/Doc/lib/libcd.tex b/Doc/lib/libcd.tex
index 6f48fcf..0e7f90c 100644
--- a/Doc/lib/libcd.tex
+++ b/Doc/lib/libcd.tex
@@ -86,7 +86,7 @@
 \end{datadesc}
 
 \begin{datadesc}{ERROR}
-An error aoocurred while trying to read the disc or its table of
+An error occurred while trying to read the disc or its table of
 contents.
 \end{datadesc}
 
@@ -194,7 +194,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}[CD player]{playtrackabs}{track, minutes, seconds, frames, play}
-Like \method{play()}, except that playing begins at the spcified
+Like \method{play()}, except that playing begins at the specified
 absolute time and ends at the end of the specified track.
 \end{methoddesc}
 
diff --git a/Doc/lib/libcfgparser.tex b/Doc/lib/libcfgparser.tex
index 805767d..1905e62 100644
--- a/Doc/lib/libcfgparser.tex
+++ b/Doc/lib/libcfgparser.tex
@@ -56,7 +56,7 @@
 \end{excdesc}
 
 \begin{excdesc}{DuplicateSectionError}
-Exception raised when mutliple sections with the same name are found,
+Exception raised when multiple sections with the same name are found,
 or if \method{add_section()} is called with the name of a section that 
 is already present.
 \end{excdesc}
diff --git a/Doc/lib/libcgi.tex b/Doc/lib/libcgi.tex
index 3b755a0..e90bf1c 100644
--- a/Doc/lib/libcgi.tex
+++ b/Doc/lib/libcgi.tex
@@ -104,7 +104,7 @@
 name, the object retrieved by \samp{form[\var{key}]} is not a
 \class{FieldStorage} or \class{MiniFieldStorage}
 instance but a list of such instances.  If you expect this possibility
-(i.e., when your HTML form comtains multiple fields with the same
+(i.e., when your HTML form contains multiple fields with the same
 name), use the \function{type()} function to determine whether you
 have a single instance or a list of instances.  For example, here's
 code that concatenates any number of username fields, separated by
@@ -131,7 +131,7 @@
 entire file in memory as a string.  This may not be what you want.
 You can test for an uploaded file by testing either the filename
 attribute or the file attribute.  You can then read the data at
-leasure from the file attribute:
+leisure from the file attribute:
 
 \begin{verbatim}
 fileitem = form["userfile"]
diff --git a/Doc/lib/libcgihttp.tex b/Doc/lib/libcgihttp.tex
index a2f453a..3343314 100644
--- a/Doc/lib/libcgihttp.tex
+++ b/Doc/lib/libcgihttp.tex
@@ -11,7 +11,7 @@
 
 The \module{CGIHTTPServer} module defines a request-handler class,
 interface compatible with
-\class{BaseHTTPServer.BaseHTTPRequestHandler} and inherits behaviour
+\class{BaseHTTPServer.BaseHTTPRequestHandler} and inherits behavior
 from \class{SimpleHTTPServer.SimpleHTTPRequestHandler} but can also
 run CGI scripts.
 
diff --git a/Doc/lib/libchunk.tex b/Doc/lib/libchunk.tex
index 0825a25..c580c77 100644
--- a/Doc/lib/libchunk.tex
+++ b/Doc/lib/libchunk.tex
@@ -24,7 +24,7 @@
   \lineiii{4}{4}{Size of chunk in big-endian byte order, not including the 
                  header}
   \lineiii{8}{\var{n}}{Data bytes, where \var{n} is the size given in
-                       the preceeding field}
+                       the preceding field}
   \lineiii{8 + \var{n}}{0 or 1}{Pad byte needed if \var{n} is odd and
                                 chunk alignment is used}
 \end{tableiii}
diff --git a/Doc/lib/libcode.tex b/Doc/lib/libcode.tex
index 4b66394..0566768 100644
--- a/Doc/lib/libcode.tex
+++ b/Doc/lib/libcode.tex
@@ -103,7 +103,7 @@
 Execute a code object.
 When an exception occurs, \method{showtraceback()} is called to
 display a traceback.  All exceptions are caught except
-\exception{SystemExit}, which is allowed to propogate.
+\exception{SystemExit}, which is allowed to propagate.
 
 A note about \exception{KeyboardInterrupt}: this exception may occur
 elsewhere in this code, and may not always be caught.  The caller
diff --git a/Doc/lib/libcurses.tex b/Doc/lib/libcurses.tex
index c46cbe5..bb2109d 100644
--- a/Doc/lib/libcurses.tex
+++ b/Doc/lib/libcurses.tex
@@ -1,5 +1,5 @@
 \section{\module{curses} ---
-         Terminal independant console handling}
+         Terminal independent console handling}
 
 \declaremodule{extension}{curses}
 \sectionauthor{Moshe Zadka}{mzadka@geocities.com}
@@ -243,7 +243,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{mouseinterval}{interval}
-Sets the maximum time in millisecondsthat can elapse between press and
+Sets the maximum time in milliseconds that can elapse between press and
 release events in order for them to be recognized as a click, and
 returns the previous interval value.  The default value is 200 msec,
 or one fifth of a second.
@@ -846,7 +846,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}{timeout}{delay}
-Sets blocking or non-blocking read behaviour for the window.  If
+Sets blocking or non-blocking read behavior for the window.  If
 \var{delay} is negative, blocking read is used, which will wait
 indefinitely for input).  If \var{delay} is zero, then non-blocking
 read is used, and -1 will be returned by \method{getch()} if no input
diff --git a/Doc/lib/libdircache.tex b/Doc/lib/libdircache.tex
index f75bb53..45ac01a 100644
--- a/Doc/lib/libdircache.tex
+++ b/Doc/lib/libdircache.tex
@@ -22,7 +22,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{opendir}{path}
-Same as \function{listdir()}. Defined for backwards compatability.
+Same as \function{listdir()}. Defined for backwards compatibility.
 \end{funcdesc}
 
 \begin{funcdesc}{annotate}{head, list}
diff --git a/Doc/lib/libdl.tex b/Doc/lib/libdl.tex
index 31a3793..00c8ee5 100644
--- a/Doc/lib/libdl.tex
+++ b/Doc/lib/libdl.tex
@@ -8,7 +8,7 @@
 The \module{dl} module defines an interface to the
 \cfunction{dlopen()} function, which is the most common interface on
 \UNIX{} platforms for handling dynamically linked libraries. It allows
-the program to call arbitary functions in such a library.
+the program to call arbitrary functions in such a library.
 
 \strong{Note:} This module will not work unless
 \begin{verbatim}
@@ -23,7 +23,7 @@
 Open a shared object file, and return a handle. Mode
 signifies late binding (\constant{RTLD_LAZY}) or immediate binding
 (\constant{RTLD_NOW}). Default is \constant{RTLD_LAZY}. Note that some
-sytems do not support \constant{RTLD_NOW}.
+systems do not support \constant{RTLD_NOW}.
 
 Return value is a \pytype{dlobject}.
 \end{funcdesc}
@@ -44,7 +44,7 @@
 The \module{dl} module defines the following exception:
 
 \begin{excdesc}{error}
-Exception raised when an error has occured inside the dynamic loading
+Exception raised when an error has occurred inside the dynamic loading
 and linking routines.
 \end{excdesc}
 
diff --git a/Doc/lib/libformatter.tex b/Doc/lib/libformatter.tex
index fcda71d..7271982 100644
--- a/Doc/lib/libformatter.tex
+++ b/Doc/lib/libformatter.tex
@@ -6,7 +6,7 @@
 
 
 
-This module supports two interface definitions, each with mulitple
+This module supports two interface definitions, each with multiple
 implementations.  The \emph{formatter} interface is used by the
 \class{HTMLParser} class of the \refmodule{htmllib} module, and the
 \emph{writer} interface is required by the formatter interface.
@@ -75,8 +75,8 @@
 \end{methoddesc}
 
 \begin{methoddesc}[formatter]{add_flowing_data}{data}
-Provide data which should be formatted with collapsed whitespaces.
-Whitespace from preceeding and successive calls to
+Provide data which should be formatted with collapsed whitespace.
+Whitespace from preceding and successive calls to
 \method{add_flowing_data()} is considered as well when the whitespace
 collapse is performed.  The data which is passed to this method is
 expected to be word-wrapped by the output device.  Note that any
@@ -106,7 +106,7 @@
 string is copied to the label value, with some characters recognized
 to indicate a transform on the counter value.  Specifically, the
 character \character{1} represents the counter value formatter as an
-arabic number, the characters \character{A} and \character{a}
+Arabic number, the characters \character{A} and \character{a}
 represent alphabetic representations of the counter value in upper and
 lower case, respectively, and \character{I} and \character{i}
 represent the counter value in Roman numerals, in upper and lower
@@ -264,7 +264,7 @@
 
 \begin{methoddesc}[writer]{send_paragraph}{blankline}
 Produce a paragraph separation of at least \var{blankline} blank
-lines, or the equivelent.  The \var{blankline} value will be an
+lines, or the equivalent.  The \var{blankline} value will be an
 integer.  Note that the implementation will receive a call to
 \method{send_line_break()} before this call if a line break is needed; 
 this method should not include ending the last line of the paragraph.
diff --git a/Doc/lib/libftplib.tex b/Doc/lib/libftplib.tex
index d4813a5..3a9e636 100644
--- a/Doc/lib/libftplib.tex
+++ b/Doc/lib/libftplib.tex
@@ -265,6 +265,6 @@
 already closed connection (e.g.\ after a successful call to
 \method{quit()}.  After this call the \class{FTP} instance should not
 be used any more (i.e., after a call to \method{close()} or
-\method{quit()} you cannot reopen the connection by issueing another
+\method{quit()} you cannot reopen the connection by issuing another
 \method{login()} method).
 \end{methoddesc}
diff --git a/Doc/lib/libhtmllib.tex b/Doc/lib/libhtmllib.tex
index ec2b89a..508d004 100644
--- a/Doc/lib/libhtmllib.tex
+++ b/Doc/lib/libhtmllib.tex
@@ -124,9 +124,9 @@
 
 \begin{methoddesc}{save_end}{}
 Ends buffering character data and returns all data saved since the
-preceeding call to \method{save_bgn()}.  If the \member{nofill} flag is
+preceding call to \method{save_bgn()}.  If the \member{nofill} flag is
 false, whitespace is collapsed to single spaces.  A call to this
-method without a preceeding call to \method{save_bgn()} will raise a
+method without a preceding call to \method{save_bgn()} will raise a
 \exception{TypeError} exception.
 \end{methoddesc}
 
diff --git a/Doc/lib/libimageop.tex b/Doc/lib/libimageop.tex
index b364387..0f611e7 100644
--- a/Doc/lib/libimageop.tex
+++ b/Doc/lib/libimageop.tex
@@ -46,7 +46,7 @@
 
 \begin{funcdesc}{grey2mono}{image, width, height, threshold}
 Convert a 8-bit deep greyscale image to a 1-bit deep image by
-tresholding all the pixels.  The resulting image is tightly packed and
+thresholding all the pixels.  The resulting image is tightly packed and
 is probably only useful as an argument to \function{mono2grey()}.
 \end{funcdesc}
 
diff --git a/Doc/lib/libimaplib.tex b/Doc/lib/libimaplib.tex
index 9e57818..8fdc359 100644
--- a/Doc/lib/libimaplib.tex
+++ b/Doc/lib/libimaplib.tex
@@ -42,7 +42,7 @@
 \end{excdesc}
 
 \begin{excdesc}{IMAP4.readonly}
-This exception is raised when a writeable mailbox has its status changed by the server.  This is a
+This exception is raised when a writable mailbox has its status changed by the server.  This is a
 sub-class of \exception{IMAP4.error}.  Some other client now has write permission,
 and the mailbox will need to be re-opened to re-obtain write permission.
 \end{excdesc}
diff --git a/Doc/lib/libimp.tex b/Doc/lib/libimp.tex
index 9279591..4c66736 100644
--- a/Doc/lib/libimp.tex
+++ b/Doc/lib/libimp.tex
@@ -52,7 +52,7 @@
 If the module does not live in a file, the returned \var{file} is
 \code{None}, \var{filename} is the empty string, and the
 \var{description} tuple contains empty strings for its suffix and
-mode; the module type is as indicate in parentheses dabove.  If the
+mode; the module type is as indicate in parentheses above.  If the
 search is unsuccessful, \exception{ImportError} is raised.  Other
 exceptions indicate problems with the arguments or environment.
 
@@ -187,7 +187,7 @@
 argument must point to the shared library.  The \var{name} argument is
 used to construct the name of the initialization function: an external
 C function called \samp{init\var{name}()} in the shared library is
-called.  The optional \var{file} argment is ignored.  (Note: using
+called.  The optional \var{file} argument is ignored.  (Note: using
 shared libraries is highly system dependent, and not all systems
 support it.)
 \end{funcdesc}
diff --git a/Doc/lib/libintro.tex b/Doc/lib/libintro.tex
index 70c7c70..c17484f 100644
--- a/Doc/lib/libintro.tex
+++ b/Doc/lib/libintro.tex
@@ -25,7 +25,7 @@
 operating systems, such as access to specific hardware; others provide
 interfaces that are
 specific to a particular application domain, like the World-Wide Web.
-Some modules are avaiable in all versions and ports of Python; others
+Some modules are available in all versions and ports of Python; others
 are only available when the underlying system supports or requires
 them; yet others are available only when a particular configuration
 option was chosen at the time when Python was compiled and installed.
diff --git a/Doc/lib/liblocale.tex b/Doc/lib/liblocale.tex
index bb84343..ee7665b 100644
--- a/Doc/lib/liblocale.tex
+++ b/Doc/lib/liblocale.tex
@@ -258,7 +258,7 @@
 \samp{C}.
 
 The \function{setlocale()} function in the \module{locale} module
-gives the Python progammer the impression that you can manipulate the
+gives the Python programmer the impression that you can manipulate the
 \constant{LC_NUMERIC} locale setting, but this not the case at the C
 level: C code will always find that the \constant{LC_NUMERIC} locale
 setting is \samp{C}.  This is because too much would break when the
diff --git a/Doc/lib/libmarshal.tex b/Doc/lib/libmarshal.tex
index 4b0589f..5686451 100644
--- a/Doc/lib/libmarshal.tex
+++ b/Doc/lib/libmarshal.tex
@@ -19,7 +19,7 @@
   convert some data from internal to external form (in an RPC buffer for
   instance) and ``unmarshalling'' for the reverse process.}
 
-This is not a general ``persistency'' module.  For general persistency
+This is not a general ``persistence'' module.  For general persistence
 and transfer of Python objects through RPC calls, see the modules
 \refmodule{pickle} and \refmodule{shelve}.  The \module{marshal} module exists
 mainly to support reading and writing the ``pseudo-compiled'' code for
diff --git a/Doc/lib/libmd5.tex b/Doc/lib/libmd5.tex
index eac1a61..8800e50 100644
--- a/Doc/lib/libmd5.tex
+++ b/Doc/lib/libmd5.tex
@@ -12,7 +12,7 @@
 You can now feed this object with arbitrary strings using the
 \method{update()} method, and at any point you can ask it for the
 \dfn{digest} (a strong kind of 128-bit checksum,
-a.k.a. ``fingerprint'') of the contatenation of the strings fed to it
+a.k.a. ``fingerprint'') of the concatenation of the strings fed to it
 so far using the \method{digest()} method.
 \index{checksum!MD5}
 
diff --git a/Doc/lib/libmutex.tex b/Doc/lib/libmutex.tex
index d6e3707..773f9eb 100644
--- a/Doc/lib/libmutex.tex
+++ b/Doc/lib/libmutex.tex
@@ -7,7 +7,7 @@
 \modulesynopsis{Lock and queue for mutual exclusion.}
 
 The \module{mutex} defines a class that allows mutual-exclusion
-via aquiring and releasing locks. It does not require (or imply)
+via acquiring and releasing locks. It does not require (or imply)
 threading or multi-tasking, though it could be useful for
 those purposes.
 
@@ -27,7 +27,7 @@
 implying it now has the lock.
 
 Of course, no multi-threading is implied -- hence the funny interface
-for lock, where a function is called once the lock is aquired.
+for lock, where a function is called once the lock is acquired.
 \end{classdesc}
 
 
diff --git a/Doc/lib/libnetrc.tex b/Doc/lib/libnetrc.tex
index 9ad8d70..d11ed01 100644
--- a/Doc/lib/libnetrc.tex
+++ b/Doc/lib/libnetrc.tex
@@ -14,7 +14,7 @@
 used by the \UNIX{} \program{ftp} program and other FTP clients.
 
 \begin{classdesc}{netrc}{\optional{file}}
-A \class{netrc} instance or subclass instance enapsulates data from 
+A \class{netrc} instance or subclass instance encapsulates data from 
 a netrc file.  The initialization argument, if present, specifies the
 file to parse.  If no argument is given, the file \file{.netrc} in the
 user's home directory will be read.  Parse errors will raise
diff --git a/Doc/lib/libnis.tex b/Doc/lib/libnis.tex
index d7060fa..34ca329 100644
--- a/Doc/lib/libnis.tex
+++ b/Doc/lib/libnis.tex
@@ -19,7 +19,7 @@
 Return the match for \var{key} in map \var{mapname}, or raise an
 error (\exception{nis.error}) if there is none.
 Both should be strings, \var{key} is 8-bit clean.
-Return value is an arbitary array of bytes (i.e., may contain \code{NULL}
+Return value is an arbitrary array of bytes (i.e., may contain \code{NULL}
 and other joys).
 
 Note that \var{mapname} is first checked if it is an alias to another name.
@@ -28,7 +28,7 @@
 \begin{funcdesc}{cat}{mapname}
 Return a dictionary mapping \var{key} to \var{value} such that
 \code{match(\var{key}, \var{mapname})==\var{value}}.
-Note that both keys and values of the dictionary are arbitary
+Note that both keys and values of the dictionary are arbitrary
 arrays of bytes.
 
 Note that \var{mapname} is first checked if it is an alias to another name.
diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex
index 803d90b..cb55eb5 100644
--- a/Doc/lib/libos.tex
+++ b/Doc/lib/libos.tex
@@ -325,7 +325,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{fpathconf}{fd, name}
-Return system configration information relevant to an open file.
+Return system configuration information relevant to an open file.
 \var{name} specifies the configuration value to retrieve; it may be a
 string which is the name of a defined system value; these names are
 specified in a number of standards (\POSIX.1, Unix95, Unix98, and
@@ -575,7 +575,7 @@
 \end{funcdesc}
 
 \begin{funcdesc}{pathconf}{path, name}
-Return system configration information relevant to a named file.
+Return system configuration information relevant to a named file.
 \var{name} specifies the configuration value to retrieve; it may be a
 string which is the name of a defined system value; these names are
 specified in a number of standards (\POSIX.1, Unix95, Unix98, and
@@ -983,7 +983,7 @@
 \end{funcdesc}
 
 
-\subsection{Miscellanenous System Information \label{os-path}}
+\subsection{Miscellaneous System Information \label{os-path}}
 
 
 \begin{funcdesc}{confstr}{name}
diff --git a/Doc/lib/libpanel.tex b/Doc/lib/libpanel.tex
index cc56dad..dc201fc 100644
--- a/Doc/lib/libpanel.tex
+++ b/Doc/lib/libpanel.tex
@@ -64,7 +64,7 @@
 \code{panel-request@nas.nasa.gov}).
 All access to it should be done through the standard module
 \code{panel}\refstmodindex{panel},
-which transparantly exports most functions from
+which transparently exports most functions from
 \code{pnl}
 but redefines
 \code{pnl.dopanel()}.
diff --git a/Doc/lib/libparser.tex b/Doc/lib/libparser.tex
index c478b93..96256ad 100644
--- a/Doc/lib/libparser.tex
+++ b/Doc/lib/libparser.tex
@@ -593,7 +593,7 @@
 define both types of elements.
 
 Most of the accessor functions are declared in \class{SuiteInfoBase}
-and do not need to be overriden by subclasses.  More importantly, the
+and do not need to be overridden by subclasses.  More importantly, the
 extraction of most information from a parse tree is handled through a
 method called by the \class{SuiteInfoBase} constructor.  The example
 code for most of the classes is clear when read alongside the formal
@@ -684,7 +684,7 @@
 something else.  For the definition statements, the name of the
 element defined is extracted and a representation object
 appropriate to the definition is created with the defining subtree
-passed as an argument to the constructor.  The repesentation objects
+passed as an argument to the constructor.  The representation objects
 are stored in instance variables and may be retrieved by name using
 the appropriate accessor methods.
 
diff --git a/Doc/lib/libpdb.tex b/Doc/lib/libpdb.tex
index 13514f5..40fcdad 100644
--- a/Doc/lib/libpdb.tex
+++ b/Doc/lib/libpdb.tex
@@ -153,7 +153,7 @@
 read in and executed as if it had been typed at the debugger prompt.
 This is particularly useful for aliases.  If both files exist, the one
 in the home directory is read first and aliases defined there can be
-overriden by the local file.
+overridden by the local file.
 
 \begin{description}
 
diff --git a/Doc/lib/libpickle.tex b/Doc/lib/libpickle.tex
index ebc8975..2c59c82 100644
--- a/Doc/lib/libpickle.tex
+++ b/Doc/lib/libpickle.tex
@@ -5,7 +5,7 @@
 \modulesynopsis{Convert Python objects to streams of bytes and back.}
 % Substantial improvements by Jim Kerr <jbkerr@sr.hp.com>.
 
-\index{persistency}
+\index{persistence}
 \indexii{persistent}{objects}
 \indexii{serializing}{objects}
 \indexii{marshalling}{objects}
@@ -17,7 +17,7 @@
 for ``pickling'' (a.k.a.\ serializing, marshalling or flattening)
 nearly arbitrary Python objects.  This is the act of converting
 objects to a stream of bytes (and back: ``unpickling'').  This is a
-more primitive notion than persistency --- although \module{pickle}
+more primitive notion than persistence --- although \module{pickle}
 reads and writes file objects, it does not handle the issue of naming
 persistent objects, nor the (even more complicated) area of concurrent
 access to persistent objects.  The \module{pickle} module can
@@ -92,7 +92,7 @@
 to be used for reading and writing code objects), and at least this
 avoids the possibility of smuggling Trojan horses into a program.
 
-For the benefit of persistency modules written using \module{pickle}, it
+For the benefit of persistence modules written using \module{pickle}, it
 supports the notion of a reference to an object outside the pickled
 data stream.  Such objects are referenced by a name, which is an
 arbitrary string of printable \ASCII{} characters.  The resolution of
@@ -250,7 +250,7 @@
 module defines the following functions, and an exception:
 
 \begin{funcdesc}{dump}{object, file\optional{, bin}}
-Write a pickled representation of \var{obect} to the open file object
+Write a pickled representation of \var{object} to the open file object
 \var{file}.  This is equivalent to
 \samp{Pickler(\var{file}, \var{bin}).dump(\var{object})}.
 If the optional \var{bin} argument is present and nonzero, the binary
@@ -380,7 +380,7 @@
 
 The format of the pickle data is identical to that produced using the
 \refmodule{pickle} module, so it is possible to use \refmodule{pickle} and
-\module{cPickle} interchangably with existing pickles.
+\module{cPickle} interchangeably with existing pickles.
 
 (Since the pickle data format is actually a tiny stack-oriented
 programming language, and there are some freedoms in the encodings of
diff --git a/Doc/lib/libpipes.tex b/Doc/lib/libpipes.tex
index e91f05b..6d389d8 100644
--- a/Doc/lib/libpipes.tex
+++ b/Doc/lib/libpipes.tex
@@ -62,7 +62,7 @@
 a given file on the command line) or \code{'.'} (which means the commands
 reads no input, and hence must be first.)
 
-Similarily, the second letter can be either of \code{'-'} (which means 
+Similarly, the second letter can be either of \code{'-'} (which means 
 the command writes to standard output), \code{'f'} (which means the 
 command writes a file on the command line) or \code{'.'} (which means
 the command does not write anything, and hence must be last.)
diff --git a/Doc/lib/libpoplib.tex b/Doc/lib/libpoplib.tex
index 4408ef3..d75e6da 100644
--- a/Doc/lib/libpoplib.tex
+++ b/Doc/lib/libpoplib.tex
@@ -13,7 +13,7 @@
 
 This module defines a class, \class{POP3}, which encapsulates a
 connection to an POP3 server and implements protocol as defined in
-\rfc{1725}.  The \class{POP3} class supports both the minmal and
+\rfc{1725}.  The \class{POP3} class supports both the minimal and
 optional command sets.
 
 A single class is provided by the \module{poplib} module:
@@ -46,7 +46,7 @@
 
 
 \begin{methoddesc}{user}{username}
-Send user commad, response should indicate that a password is required.
+Send user command, response should indicate that a password is required.
 \end{methoddesc}
 
 \begin{methoddesc}{pass_}{password}
diff --git a/Doc/lib/librotor.tex b/Doc/lib/librotor.tex
index 5cfe2b7..799df83 100644
--- a/Doc/lib/librotor.tex
+++ b/Doc/lib/librotor.tex
@@ -98,7 +98,7 @@
 The original Enigma cipher was broken in 1944. % XXX: Is this right?
 The version implemented here is probably a good deal more difficult to crack
 (especially if you use many rotors), but it won't be impossible for
-a truly skilful and determined attacker to break the cipher.  So if you want
+a truly skillful and determined attacker to break the cipher.  So if you want
 to keep the NSA out of your files, this rotor cipher may well be unsafe, but
 for discouraging casual snooping through your files, it will probably be
 just fine, and may be somewhat safer than using the \UNIX{} \program{crypt}
diff --git a/Doc/lib/libsched.tex b/Doc/lib/libsched.tex
index 21366f5..42d2481 100644
--- a/Doc/lib/libsched.tex
+++ b/Doc/lib/libsched.tex
@@ -92,6 +92,6 @@
 
 If a sequence of events takes longer to run than the time available
 before the next event, the scheduler will simply fall behind.  No
-events will be dropped; the calling code is responsible for cancelling 
+events will be dropped; the calling code is responsible for canceling 
 events which are no longer pertinent.
 \end{methoddesc}
diff --git a/Doc/lib/libsgmllib.tex b/Doc/lib/libsgmllib.tex
index 5a644b6..9907caa 100644
--- a/Doc/lib/libsgmllib.tex
+++ b/Doc/lib/libsgmllib.tex
@@ -34,7 +34,7 @@
 \item
 SGML comments of the form \samp{<!--\var{text}-->}.  Note that
 spaces, tabs, and newlines are allowed between the trailing
-\samp{>} and the immediately preceeding \samp{--}.
+\samp{>} and the immediately preceding \samp{--}.
 
 \end{itemize}
 \end{classdesc}
diff --git a/Doc/lib/libsha.tex b/Doc/lib/libsha.tex
index 1b1ce50..17ed3e9 100644
--- a/Doc/lib/libsha.tex
+++ b/Doc/lib/libsha.tex
@@ -11,7 +11,7 @@
 the same way as the \refmodule{md5} module:\ use the \function{new()}
 to create an sha object, then feed this object with arbitrary strings
 using the \method{update()} method, and at any point you can ask it
-for the \dfn{digest} of the contatenation of the strings fed to it
+for the \dfn{digest} of the concatenation of the strings fed to it
 so far.\index{checksum!SHA}  SHA digests are 160 bits instead of 128
 bits.
 
diff --git a/Doc/lib/libshelve.tex b/Doc/lib/libshelve.tex
index 171daee..76eaaf4 100644
--- a/Doc/lib/libshelve.tex
+++ b/Doc/lib/libshelve.tex
@@ -1,8 +1,8 @@
 \section{\module{shelve} ---
-         Python object persistency}
+         Python object persistence}
 
 \declaremodule{standard}{shelve}
-\modulesynopsis{Python object persistency.}
+\modulesynopsis{Python object persistence.}
 
 
 A ``shelf'' is a persistent, dictionary-like object.  The difference
diff --git a/Doc/lib/libshlex.tex b/Doc/lib/libshlex.tex
index f1eea3a..85cbbcd 100644
--- a/Doc/lib/libshlex.tex
+++ b/Doc/lib/libshlex.tex
@@ -21,7 +21,7 @@
 input will be taken from \code{sys.stdin}.  The second optional 
 argument is a filename string, which sets the initial value of the
 \member{infile} member.  If the stream argument is omitted or
-equal to \code{sys.stdin}, this second argument defauilts to ``stdin''.
+equal to \code{sys.stdin}, this second argument defaults to ``stdin''.
 \end{classdesc}
 
 
diff --git a/Doc/lib/libsignal.tex b/Doc/lib/libsignal.tex
index f2624e6..ce23da1 100644
--- a/Doc/lib/libsignal.tex
+++ b/Doc/lib/libsignal.tex
@@ -56,7 +56,7 @@
 will be the only one to receive signals (this is enforced by the
 Python \module{signal} module, even if the underlying thread
 implementation supports sending signals to individual threads).  This
-means that signals can't be used as a means of interthread
+means that signals can't be used as a means of inter-thread
 communication.  Use locks instead.
 
 \end{itemize}
diff --git a/Doc/lib/libsmtplib.tex b/Doc/lib/libsmtplib.tex
index 9638425..13bf340 100644
--- a/Doc/lib/libsmtplib.tex
+++ b/Doc/lib/libsmtplib.tex
@@ -56,7 +56,7 @@
 
 \begin{excdesc}{SMTPRecipientsRefused}
   All recipient addresses refused.  The errors for each recipient are
-  accessable through the attribute \member{recipients}, which is a
+  accessible through the attribute \member{recipients}, which is a
   dictionary of exactly the same sort as \method{SMTP.sendmail()}
   returns.
 \end{excdesc}
diff --git a/Doc/lib/libsomeos.tex b/Doc/lib/libsomeos.tex
index eea2321..680c590 100644
--- a/Doc/lib/libsomeos.tex
+++ b/Doc/lib/libsomeos.tex
@@ -3,7 +3,7 @@
 
 The modules described in this chapter provide interfaces to operating
 system features that are available on selected operating systems only.
-The interfaces are generally modelled after the \UNIX{} or \C{}
+The interfaces are generally modeled after the \UNIX{} or \C{}
 interfaces but they are available on some other systems as well
 (e.g. Windows or NT).  Here's an overview:
 
diff --git a/Doc/lib/libstatvfs.tex b/Doc/lib/libstatvfs.tex
index ca96212..6b38d7a 100644
--- a/Doc/lib/libstatvfs.tex
+++ b/Doc/lib/libstatvfs.tex
@@ -47,7 +47,7 @@
 \end{datadesc}
 
 \begin{datadesc}{F_FLAG}
-Flags. System dependant: see \cfunction{statvfs()} man page.
+Flags. System dependent: see \cfunction{statvfs()} man page.
 \end{datadesc}
 
 \begin{datadesc}{F_NAMEMAX}
diff --git a/Doc/lib/libstdwin.tex b/Doc/lib/libstdwin.tex
index a4fa557..df12299 100644
--- a/Doc/lib/libstdwin.tex
+++ b/Doc/lib/libstdwin.tex
@@ -259,7 +259,7 @@
 \begin{funcdesc}{textbreak}{str, width}
 Return the number of characters of the string that fit into a space of
 \var{width}
-bits wide when drawn in the curent font.
+bits wide when drawn in the current font.
 \end{funcdesc}
 
 \begin{funcdesc}{textwidth}{str}
diff --git a/Doc/lib/libsunau.tex b/Doc/lib/libsunau.tex
index 3850ce9..82c66c6 100644
--- a/Doc/lib/libsunau.tex
+++ b/Doc/lib/libsunau.tex
@@ -95,7 +95,7 @@
 \end{methoddesc}
 
 The following two methods define a term ``position'' which is compatible
-between them, and is otherwise implementation dependant.
+between them, and is otherwise implementation dependent.
 
 \begin{methoddesc}[AU_read]{setpos}{pos}
 Set the file pointer to the specified position.
diff --git a/Doc/lib/libsymbol.tex b/Doc/lib/libsymbol.tex
index 9b27277..f963b53 100644
--- a/Doc/lib/libsymbol.tex
+++ b/Doc/lib/libsymbol.tex
@@ -9,7 +9,7 @@
 This module provides constants which represent the numeric values of
 internal nodes of the parse tree.  Unlike most Python constants, these
 use lower-case names.  Refer to the file \file{Grammar/Grammar} in the
-Python distribution for the defintions of the names in the context of
+Python distribution for the definitions of the names in the context of
 the language grammar.  The specific numeric values which the names map
 to may change between Python versions.
 
diff --git a/Doc/lib/libtelnetlib.tex b/Doc/lib/libtelnetlib.tex
index 64c5099..50d0c53 100644
--- a/Doc/lib/libtelnetlib.tex
+++ b/Doc/lib/libtelnetlib.tex
@@ -140,7 +140,7 @@
 The first argument is a list of regular expressions, either
 compiled (\class{re.RegexObject} instances) or uncompiled (strings).
 The optional second argument is a timeout, in seconds; the default
-is to block indefinately.
+is to block indefinitely.
 
 Return a tuple of three items: the index in the list of the
 first regular expression that matches; the match object
@@ -153,7 +153,7 @@
 
 If a regular expression ends with a greedy match (e.g. \regexp{.*})
 or if more than one expression can match the same input, the
-results are undeterministic, and may depend on the I/O timing.
+results are indeterministic, and may depend on the I/O timing.
 \end{methoddesc}
 
 
diff --git a/Doc/lib/libtempfile.tex b/Doc/lib/libtempfile.tex
index b3e528b..e752ba4 100644
--- a/Doc/lib/libtempfile.tex
+++ b/Doc/lib/libtempfile.tex
@@ -26,7 +26,7 @@
                                 bufsize\optional{, suffix}}}}
 Return a file (or file-like) object that can be used as a temporary
 storage area.  The file is created in the most secure manner available
-in the appporpriate temporary directory for the host platform.  Under
+in the appropriate temporary directory for the host platform.  Under
 \UNIX, the directory entry to the file is removed so that it is secure
 against attacks which involve creating symbolic links to the file or
 replacing the file with a symbolic link to some other file.  For other
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index 7226b6c..b343c95 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -86,7 +86,7 @@
   \lineiii{3}{hour}{range [0,23]}
   \lineiii{4}{minute}{range [0,59]}
   \lineiii{5}{second}{range [0,61]; see \strong{(1)} in \function{strftime()} description}
-  \lineiii{6}{weekday}{range [0,6], monday is 0}
+  \lineiii{6}{weekday}{range [0,6], Monday is 0}
   \lineiii{7}{Julian day}{range [1,366]}
   \lineiii{8}{daylight savings flag}{0, 1 or -1; see below}
 \end{tableiii}
@@ -125,7 +125,7 @@
 
 \begin{funcdesc}{clock}{}
 Return the current CPU time as a floating point number expressed in
-seconds.  The precision, and in fact the very definiton of the meaning
+seconds.  The precision, and in fact the very definition of the meaning
 of ``CPU time''\index{CPU time}, depends on that of the C function
 of the same name, but in any case, this is the function to use for
 benchmarking\index{benchmarking} Python or timing algorithms.
diff --git a/Doc/lib/libtoken.tex b/Doc/lib/libtoken.tex
index 4215106..a15a78c 100644
--- a/Doc/lib/libtoken.tex
+++ b/Doc/lib/libtoken.tex
@@ -8,7 +8,7 @@
 
 This module provides constants which represent the numeric values of
 leaf nodes of the parse tree (terminal tokens).  Refer to the file
-\file{Grammar/Grammar} in the Python distribution for the defintions
+\file{Grammar/Grammar} in the Python distribution for the definitions
 of the names in the context of the language grammar.  The specific
 numeric values which the names map to may change between Python
 versions.
diff --git a/Doc/lib/libtraceback.tex b/Doc/lib/libtraceback.tex
index 20dc019..a9a3ffe 100644
--- a/Doc/lib/libtraceback.tex
+++ b/Doc/lib/libtraceback.tex
@@ -104,7 +104,7 @@
 have the same meaning as the corresponding arguments to
 \function{print_exception()}.  The return value is a list of strings,
 each ending in a newline and some containing internal newlines.  When
-these lines are contatenated and printed, exactly the same text is
+these lines are concatenated and printed, exactly the same text is
 printed as does \function{print_exception()}.
 \end{funcdesc}
 
diff --git a/Doc/lib/libundoc.tex b/Doc/lib/libundoc.tex
index 28be620..79977bd 100644
--- a/Doc/lib/libundoc.tex
+++ b/Doc/lib/libundoc.tex
@@ -134,7 +134,7 @@
 
 \item[\module{lockfile}]
 --- wrapper around FCNTL file locking (use
-\function{fcntl.lockf()}/\function{flock()} intead; see \refmodule{fcntl})
+\function{fcntl.lockf()}/\function{flock()} instead; see \refmodule{fcntl})
 
 \item[\module{newdir}]
 --- New \function{dir()} function (the standard \function{dir()} is
diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex
index c781ebc..1056431 100644
--- a/Doc/lib/liburllib.tex
+++ b/Doc/lib/liburllib.tex
@@ -261,7 +261,7 @@
 \sectionauthor{Skip Montanaro}{skip@mojam.com}
 
 \class{URLopener} and \class{FancyURLopener} objects have the
-following methodsL
+following methods.
 
 \begin{methoddesc}{open}{fullurl\optional{, data}}
 Open \var{fullurl} using the appropriate protocol.  This method sets 
diff --git a/Doc/lib/liburlparse.tex b/Doc/lib/liburlparse.tex
index 60c83cc..05a7460 100644
--- a/Doc/lib/liburlparse.tex
+++ b/Doc/lib/liburlparse.tex
@@ -12,7 +12,7 @@
 
 
 This module defines a standard interface to break URL strings up in
-components (addessing scheme, network location, path etc.), to combine
+components (addressing scheme, network location, path etc.), to combine
 the components back into a URL string, and to convert a ``relative
 URL'' to an absolute URL given a ``base URL.''
 
diff --git a/Doc/lib/libuser.tex b/Doc/lib/libuser.tex
index cd460ea..4a79a54 100644
--- a/Doc/lib/libuser.tex
+++ b/Doc/lib/libuser.tex
@@ -23,7 +23,7 @@
 \end{verbatim}
 
 The \module{user} module looks for a file \file{.pythonrc.py} in the user's
-home directory and if it can be opened, exececutes it (using
+home directory and if it can be opened, executes it (using
 \function{execfile()}\bifuncindex{execfile}) in its own (i.e. the
 module \module{user}'s) global namespace.  Errors during this phase
 are not caught; that's up to the program that imports the
diff --git a/Doc/lib/libuserdict.tex b/Doc/lib/libuserdict.tex
index f859a27..51b7f55 100644
--- a/Doc/lib/libuserdict.tex
+++ b/Doc/lib/libuserdict.tex
@@ -8,11 +8,11 @@
 dictionary objects.  It is a useful base class for
 your own dictionary-like classes, which can inherit from
 them and override existing methods or add new ones.  In this way one
-can add new behaviours to dictionaries.
+can add new behaviors to dictionaries.
 
 The \module{UserDict} module defines the \class{UserDict} class:
 
-\begin{classdesc}{UserDict}{\optional{intialdata}}
+\begin{classdesc}{UserDict}{\optional{initialdata}}
 Return a class instance that simulates a dictionary.  The instance's
 contents are kept in a regular dictionary, which is accessible via the
 \member{data} attribute of \class{UserDict} instances.  If
@@ -42,7 +42,7 @@
 list objects.  It is a useful base class for
 your own list-like classes, which can inherit from
 them and override existing methods or add new ones.  In this way one
-can add new behaviours to lists.
+can add new behaviors to lists.
 
 The \module{UserList} module defines the \class{UserList} class:
 
@@ -77,7 +77,7 @@
 string objects.  It is a useful base class for
 your own string-like classes, which can inherit from
 them and override existing methods or add new ones.  In this way one
-can add new behaviours to strings.
+can add new behaviors to strings.
 
 The \module{UserString} module defines the \class{UserString} class:
 
@@ -109,5 +109,5 @@
 example for inheritance and necessity to remove (override) the
 \function{__hash__} method in order to trap attempts to use a
 mutable object as dictionary key, which would be otherwise very
-errorprone and hard to track down.
+error prone and hard to track down.
 \end{classdesc}
diff --git a/Doc/lib/libwave.tex b/Doc/lib/libwave.tex
index cac09d3..7c3c464 100644
--- a/Doc/lib/libwave.tex
+++ b/Doc/lib/libwave.tex
@@ -102,7 +102,7 @@
 \end{methoddesc}
 
 The following two methods define a term ``position'' which is compatible
-between them, and is otherwise implementation dependant.
+between them, and is otherwise implementation dependent.
 
 \begin{methoddesc}[Wave_read]{setpos}{pos}
 Set the file pointer to the specified position.
diff --git a/Doc/lib/libwinsound.tex b/Doc/lib/libwinsound.tex
index 153088d..e87c2c3 100644
--- a/Doc/lib/libwinsound.tex
+++ b/Doc/lib/libwinsound.tex
@@ -53,7 +53,7 @@
   image of a WAV file.
 
   \strong{Note:}  This module does not support playing from a memory
-  image asynchonously, so a combination of this flag and
+  image asynchronously, so a combination of this flag and
   \constant{SND_ASYNC} will raise a \exception{RuntimeError}.
 \end{datadesc}
 
diff --git a/Doc/lib/libxmllib.tex b/Doc/lib/libxmllib.tex
index 5d67fad..378a3cf8 100644
--- a/Doc/lib/libxmllib.tex
+++ b/Doc/lib/libxmllib.tex
@@ -197,7 +197,7 @@
 This method is called when a syntax error is encountered.  The
 \var{message} is a description of what was wrong.  The default method 
 raises a \exception{RuntimeError} exception.  If this method is
-overridden, it is permissable for it to return.  This method is only
+overridden, it is permissible for it to return.  This method is only
 called when the error can be recovered from.  Unrecoverable errors
 raise a \exception{RuntimeError} without first calling
 \method{syntax_error()}.
