diff --git a/Doc/api/intro.tex b/Doc/api/intro.tex
index d27a116..752100d 100644
--- a/Doc/api/intro.tex
+++ b/Doc/api/intro.tex
@@ -277,7 +277,7 @@
 The situation is slightly different for function return values.  
 While passing a reference to most functions does not change your 
 ownership responsibilities for that reference, many functions that 
-return a referece to an object give you ownership of the reference.
+return a reference to an object give you ownership of the reference.
 The reason is simple: in many cases, the returned object is created 
 on the fly, and the reference you get is the only reference to the 
 object.  Therefore, the generic functions that return object 
diff --git a/Doc/api/memory.tex b/Doc/api/memory.tex
index 3da6860..3dbe9a5 100644
--- a/Doc/api/memory.tex
+++ b/Doc/api/memory.tex
@@ -134,7 +134,7 @@
 In addition, the following macro sets are provided for calling the
 Python memory allocator directly, without involving the C API functions
 listed above. However, note that their use does not preserve binary
-compatibility accross Python versions and is therefore deprecated in
+compatibility across Python versions and is therefore deprecated in
 extension modules.
 
 \cfunction{PyMem_MALLOC()}, \cfunction{PyMem_REALLOC()}, \cfunction{PyMem_FREE()}.
diff --git a/Doc/dist/dist.tex b/Doc/dist/dist.tex
index d01e1fd..e06b887 100644
--- a/Doc/dist/dist.tex
+++ b/Doc/dist/dist.tex
@@ -34,7 +34,7 @@
   build/release/install mechanics.
 \end{abstract}
 
-% The ugly "%begin{latexonly}" pseudo-environment supresses the table
+% The ugly "%begin{latexonly}" pseudo-environment suppresses the table
 % of contents for HTML generation.
 %
 %begin{latexonly}
@@ -965,7 +965,7 @@
 \end{verbatim}
 
 This will affect all builds of this module distribution, whether or not
-you explcitly specify \command{build\_ext}.  If you include
+you explicitly specify \command{build\_ext}.  If you include
 \file{setup.cfg} in your source distribution, it will also affect
 end-user builds---which is probably a bad idea for this option, since
 always building extensions in-place would break installation of the
@@ -2521,7 +2521,7 @@
 \var{extra_preargs} and \var{extra_postargs} are implementation- dependent.
 On platforms that have the notion of a command-line (e.g. \UNIX,
 DOS/Windows), they are most likely lists of strings: extra
-command-line arguments to prepand/append to the compiler command
+command-line arguments to prepend/append to the compiler command
 line.  On other platforms, consult the implementation class
 documentation.  In any event, they are intended as an escape hatch
 for those occasions when the abstract compiler framework doesn't
diff --git a/Doc/doc/doc.tex b/Doc/doc/doc.tex
index 78d7d58..9a986c7 100644
--- a/Doc/doc/doc.tex
+++ b/Doc/doc/doc.tex
@@ -204,7 +204,7 @@
     For ``central processing unit.''  Many style guides say this
     should be spelled out on the first use (and if you must use it,
     do so!).  For the Python documentation, this abbreviation should
-    be avoided since there's no reasonable way to predict which occurance
+    be avoided since there's no reasonable way to predict which occurrence
     will be the first seen by the reader.  It is better to use the
     word ``processor'' instead.
 
@@ -471,7 +471,7 @@
 
     \LaTeX{} provides a variety of environments even without the
     additional markup provided by the Python-specific document classes
-    introducted in the next section.  The following environments are
+    introduced in the next section.  The following environments are
     provided as part of standard \LaTeX{} and are being used in the
     standard Python documentation; descriptions will be added here as
     time allows.
@@ -651,7 +651,7 @@
     \end{envdesc}
 
     \begin{envdesc}{excclassdesc}{\p{name}\p{constructor parameters}}
-      Descibe an exception defined by a class.  \var{constructor
+      Describe an exception defined by a class.  \var{constructor
       parameters} should not include the \var{self} parameter or
       the parentheses used in the call syntax.  To describe an
       exception class without describing the parameters to its
@@ -830,7 +830,7 @@
       with release \var{version}.  The text given as \var{what to do}
       should recommend something to use instead.  It should be
       complete sentences.  The entire deprecation notice will be
-      presented as a separate paragraph; it should either preceed or
+      presented as a separate paragraph; it should either precede or
       succeed the description of the deprecated feature.
     \end{macrodesc}
 
@@ -1122,7 +1122,7 @@
 
   \begin{envdesc}{notice}{\op{type}}
     Label some paragraphs as being worthy of additional attention from
-    the reader.  What sort of attention is warrented can be indicated
+    the reader.  What sort of attention is warranted can be indicated
     by specifying the \var{type} of the notice.  The only values
     defined for \var{type} are \code{note} and \code{warning}; these
     are equivalent in intent to the inline markup of the same name.
@@ -1660,7 +1660,7 @@
     \begin{envdesc}{productionlist}{\op{language}}
       This environment is used to enclose a group of productions.  The
       two macros are only defined within this environment.  If a
-      document descibes more than one language, the optional parameter
+      document describes more than one language, the optional parameter
       \var{language} should be used to distinguish productions between
       languages.  The value of the parameter should be a short name
       that can be used as part of a filename; colons or other
@@ -1731,7 +1731,7 @@
     a complete sequence of menu selections, including selecting
     submenus and choosing a specific operation, or any subsequence of
     such a sequence.  The names of individual selections should be
-    separated by occurances of \macro{sub}.
+    separated by occurrences of \macro{sub}.
 
     For example, to mark the selection ``\menuselection{Start \sub
     Programs}'', use this markup:
@@ -2080,7 +2080,7 @@
     fairly rough.
 
     The timeframe for the conversion is not clear since there doesn't
-    seem to be much time available to work on this, but the appearant
+    seem to be much time available to work on this, but the apparent
     benefits are growing more substantial at a moderately rapid pace.
 
 
diff --git a/Doc/ext/extending.tex b/Doc/ext/extending.tex
index 8c9769a..693af1d 100644
--- a/Doc/ext/extending.tex
+++ b/Doc/ext/extending.tex
@@ -23,7 +23,7 @@
 of Monty Python fans...) and let's say we want to create a Python
 interface to the C library function \cfunction{system()}.\footnote{An
 interface for this function already exists in the standard module
-\module{os} --- it was chosen as a simple and straightfoward example.}
+\module{os} --- it was chosen as a simple and straightforward example.}
 This function takes a null-terminated character string as argument and
 returns an integer.  We want this function to be callable from Python
 as follows:
@@ -1002,8 +1002,8 @@
 \cfunction{Py_INCREF()}.
 
 The object reference returned from a C function that is called from
-Python must be an owned reference --- ownership is tranferred from the
-function to its caller.
+Python must be an owned reference --- ownership is transferred from
+the function to its caller.
 
 
 \subsection{Thin Ice
@@ -1147,7 +1147,7 @@
 linked by the C compiler, global or static objects with constructors
 cannot be used.  This is not a problem if the main program is linked
 by the \Cpp{} compiler.  Functions that will be called by the
-Python interpreter (in particular, module initalization functions)
+Python interpreter (in particular, module initialization functions)
 have to be declared using \code{extern "C"}.
 It is unnecessary to enclose the Python header files in
 \code{extern "C" \{...\}} --- they use this form already if the symbol
diff --git a/Doc/inst/inst.tex b/Doc/inst/inst.tex
index bce6a14..a638ab6 100644
--- a/Doc/inst/inst.tex
+++ b/Doc/inst/inst.tex
@@ -44,7 +44,7 @@
 %\end{abstract}
 
 
-% The ugly "%begin{latexonly}" pseudo-environment supresses the table
+% The ugly "%begin{latexonly}" pseudo-environment suppresses the table
 % of contents for HTML generation.
 %
 %begin{latexonly}
diff --git a/Doc/lib/compiler.tex b/Doc/lib/compiler.tex
index 79f0335..e619a9a 100644
--- a/Doc/lib/compiler.tex
+++ b/Doc/lib/compiler.tex
@@ -299,7 +299,7 @@
 
 The visitor pattern is ...  The \refmodule{compiler} package uses a
 variant on the visitor pattern that takes advantage of Python's
-introspection features to elminiate the need for much of the visitor's
+introspection features to eliminate the need for much of the visitor's
 infrastructure.
 
 The classes being visited do not need to be programmed to accept
diff --git a/Doc/lib/emailheaders.tex b/Doc/lib/emailheaders.tex
index b29b941..2795644 100644
--- a/Doc/lib/emailheaders.tex
+++ b/Doc/lib/emailheaders.tex
@@ -10,7 +10,7 @@
 Of course, as email has been deployed worldwide, it has become
 internationalized, such that language specific character sets can now
 be used in email messages.  The base standard still requires email
-messages to be transfered using only 7-bit \ASCII{} characters, so a
+messages to be transferred using only 7-bit \ASCII{} characters, so a
 slew of RFCs have been written describing how to encode email
 containing non-\ASCII{} characters into \rfc{2822}-compliant format.
 These RFCs include \rfc{2045}, \rfc{2046}, \rfc{2047}, and \rfc{2231}.
diff --git a/Doc/lib/libbsddb.tex b/Doc/lib/libbsddb.tex
index b597958..f62dba6 100644
--- a/Doc/lib/libbsddb.tex
+++ b/Doc/lib/libbsddb.tex
@@ -16,7 +16,7 @@
 
 Starting with Python 2.3 the \module{bsddb} module requires the
 Berkeley DB library version 3.2 or later (it is known to work with 3.2
-thru 4.3 at the time of this writing).
+through 4.3 at the time of this writing).
 
 \begin{seealso}
   \seeurl{http://pybsddb.sourceforge.net/}{Website with documentation
diff --git a/Doc/lib/libcd.tex b/Doc/lib/libcd.tex
index 0e7f90c..83bd2ba 100644
--- a/Doc/lib/libcd.tex
+++ b/Doc/lib/libcd.tex
@@ -50,7 +50,7 @@
 methods of the player object are described below.  The device is the
 name of the SCSI device file, e.g. \code{'/dev/scsi/sc0d4l0'}, or
 \code{None}.  If omitted or \code{None}, the hardware inventory is
-consulted to locate a CD-ROM drive.  The \var{mode}, if not omited,
+consulted to locate a CD-ROM drive.  The \var{mode}, if not omitted,
 should be the string \code{'r'}.
 \end{funcdesc}
 
diff --git a/Doc/lib/libcmath.tex b/Doc/lib/libcmath.tex
index 465c8fd..54e0cdb 100644
--- a/Doc/lib/libcmath.tex
+++ b/Doc/lib/libcmath.tex
@@ -136,7 +136,7 @@
 
 \begin{seealso}
   \seetext{Kahan, W:  Branch cuts for complex elementary functions;
-           or, Much ado about nothings's sign bit.  In Iserles, A.,
+           or, Much ado about nothing's sign bit.  In Iserles, A.,
            and Powell, M. (eds.), \citetitle{The state of the art in
            numerical analysis}. Clarendon Press (1987) pp165-211.}
 \end{seealso}
diff --git a/Doc/lib/libcodecs.tex b/Doc/lib/libcodecs.tex
index 998964b..d98f474 100644
--- a/Doc/lib/libcodecs.tex
+++ b/Doc/lib/libcodecs.tex
@@ -977,7 +977,7 @@
 \lineiv{unicode_internal}
          {}
          {Unicode string}
-         {Return the internal represenation of the operand}
+         {Return the internal representation of the operand}
 
 \lineiv{uu_codec}
          {uu}
diff --git a/Doc/lib/libcodeop.tex b/Doc/lib/libcodeop.tex
index ac39d2a..7d6153e 100644
--- a/Doc/lib/libcodeop.tex
+++ b/Doc/lib/libcodeop.tex
@@ -58,7 +58,7 @@
 \end{funcdesc}
 
 \begin{classdesc}{Compile}{}
-Instances of this class have \method{__call__()} methods indentical in
+Instances of this class have \method{__call__()} methods identical in
 signature to the built-in function \function{compile()}, but with the
 difference that if the instance compiles program text containing a
 \module{__future__} statement, the instance 'remembers' and compiles
diff --git a/Doc/lib/libcookielib.tex b/Doc/lib/libcookielib.tex
index cebe373..6213260 100644
--- a/Doc/lib/libcookielib.tex
+++ b/Doc/lib/libcookielib.tex
@@ -414,7 +414,7 @@
 switched off by default.
 
 The easiest way to provide your own policy is to override this class
-and call its methods in your overriden implementations before adding
+and call its methods in your overridden implementations before adding
 your own additional checks:
 
 \begin{verbatim}
diff --git a/Doc/lib/libcurses.tex b/Doc/lib/libcurses.tex
index de80aba..ad75287 100644
--- a/Doc/lib/libcurses.tex
+++ b/Doc/lib/libcurses.tex
@@ -1173,7 +1173,7 @@
 \constant{KEY_F2}, \constant{KEY_F3}, \constant{KEY_F4}) available,
 and the arrow keys mapped to \constant{KEY_UP}, \constant{KEY_DOWN},
 \constant{KEY_LEFT} and \constant{KEY_RIGHT} in the obvious way.  If
-your machine has a PC keybboard, it is safe to expect arrow keys and
+your machine has a PC keyboard, it is safe to expect arrow keys and
 twelve function keys (older PC keyboards may have only ten function
 keys); also, the following keypad mappings are standard:
 
diff --git a/Doc/lib/libdifflib.tex b/Doc/lib/libdifflib.tex
index 666a9e3..765accc 100644
--- a/Doc/lib/libdifflib.tex
+++ b/Doc/lib/libdifflib.tex
@@ -431,7 +431,7 @@
   Each tuple is of the form \code{(\var{tag}, \var{i1}, \var{i2},
   \var{j1}, \var{j2})}.  The first tuple has \code{\var{i1} ==
   \var{j1} == 0}, and remaining tuples have \var{i1} equal to the
-  \var{i2} from the preceeding tuple, and, likewise, \var{j1} equal to
+  \var{i2} from the preceding tuple, and, likewise, \var{j1} equal to
   the previous \var{j2}.
 
   The \var{tag} values are strings, with these meanings:
diff --git a/Doc/lib/libdoctest.tex b/Doc/lib/libdoctest.tex
index 0f32f7d..0e3a017 100644
--- a/Doc/lib/libdoctest.tex
+++ b/Doc/lib/libdoctest.tex
@@ -1347,7 +1347,7 @@
 
 \begin{memberdesc}{indent}
     The example's indentation in the containing string, i.e., the
-    number of space characters that preceed the example's first
+    number of space characters that precede the example's first
     prompt.
 \end{memberdesc}
 
diff --git a/Doc/lib/libexcs.tex b/Doc/lib/libexcs.tex
index 6a17c76..acefb43 100644
--- a/Doc/lib/libexcs.tex
+++ b/Doc/lib/libexcs.tex
@@ -278,7 +278,7 @@
   when reading the initial script or standard input (also
   interactively).
 
-  Instances of this class have atttributes \member{filename},
+  Instances of this class have attributes \member{filename},
   \member{lineno}, \member{offset} and \member{text} for easier access
   to the details.  \function{str()} of the exception instance returns
   only the message.
diff --git a/Doc/lib/libfilecmp.tex b/Doc/lib/libfilecmp.tex
index edc3aad..42b4b8c 100644
--- a/Doc/lib/libfilecmp.tex
+++ b/Doc/lib/libfilecmp.tex
@@ -70,12 +70,12 @@
 
 \begin{methoddesc}[dircmp]{report_partial_closure}{}
 Print a comparison between \var{a} and \var{b} and common immediate
-subdirctories.
+subdirectories.
 \end{methoddesc}
 
 \begin{methoddesc}[dircmp]{report_full_closure}{}
 Print a comparison between \var{a} and \var{b} and common 
-subdirctories (recursively).
+subdirectories (recursively).
 \end{methoddesc}
 
 
@@ -84,7 +84,7 @@
 being compared.
 
 Note that via \method{__getattr__()} hooks, all attributes are
-computed lazilly, so there is no speed penalty if only those
+computed lazily, so there is no speed penalty if only those
 attributes which are lightweight to compute are used.
 
 \begin{memberdesc}[dircmp]{left_list}
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index efe3fd7..95ca9eb 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -169,7 +169,7 @@
   argument is it -- the future statements in effect around the call to
   compile are ignored.
 
-  Future statemants are specified by bits which can be bitwise or-ed
+  Future statements are specified by bits which can be bitwise or-ed
   together to specify multiple statements.  The bitfield required to
   specify a given feature can be found as the \member{compiler_flag}
   attribute on the \class{_Feature} instance in the
diff --git a/Doc/lib/libgdbm.tex b/Doc/lib/libgdbm.tex
index 7e26b78..0c36677 100644
--- a/Doc/lib/libgdbm.tex
+++ b/Doc/lib/libgdbm.tex
@@ -40,7 +40,7 @@
 
 \begin{itemize}
 \item \code{'f'} --- Open the database in fast mode.  Writes to the database
-                     will not be syncronized.
+                     will not be synchronized.
 \item \code{'s'} --- Synchronized mode. This will cause changes to the database
                      will be immediately written to the file.
 \item \code{'u'} --- Do not lock database. 
diff --git a/Doc/lib/libhotshot.tex b/Doc/lib/libhotshot.tex
index b701a7b..33d6a06 100644
--- a/Doc/lib/libhotshot.tex
+++ b/Doc/lib/libhotshot.tex
@@ -59,7 +59,7 @@
 Profile a single call of a callable.
 Additional positional and keyword arguments may be passed
 along; the result of the call is returned, and exceptions are
-allowed to propogate cleanly, while ensuring that profiling is
+allowed to propagate cleanly, while ensuring that profiling is
 disabled on the way out.
 \end{methoddesc}
 
diff --git a/Doc/lib/libimaplib.tex b/Doc/lib/libimaplib.tex
index fdedfcb..45ff50e 100644
--- a/Doc/lib/libimaplib.tex
+++ b/Doc/lib/libimaplib.tex
@@ -413,7 +413,7 @@
   \code{uid search} corresponds to \code{search}.  The \code{thread}
   command first searches the mailbox for messages that match the given
   searching criteria using the charset argument for the interpretation
-  of strings in the searching criteria. It thren returns the matching
+  of strings in the searching criteria. It then returns the matching
   messages threaded according to the specified threading algorithm.
 
   This is an \samp{IMAP4rev1} extension command. \versionadded{2.4}
diff --git a/Doc/lib/libimgfile.tex b/Doc/lib/libimgfile.tex
index 3587d85..1aad965 100644
--- a/Doc/lib/libimgfile.tex
+++ b/Doc/lib/libimgfile.tex
@@ -40,7 +40,7 @@
 simply dropping or duplicating pixels, so the result will be less than
 perfect, especially for computer-generated images.
 
-Alternatively, you can specify a filter to use to smoothen the image
+Alternatively, you can specify a filter to use to smooth the image
 after scaling. The filter forms supported are \code{'impulse'},
 \code{'box'}, \code{'triangle'}, \code{'quadratic'} and
 \code{'gaussian'}. If a filter is specified \var{blur} is an optional
diff --git a/Doc/lib/libmimetools.tex b/Doc/lib/libmimetools.tex
index 92679ed..5e800af 100644
--- a/Doc/lib/libmimetools.tex
+++ b/Doc/lib/libmimetools.tex
@@ -57,7 +57,7 @@
 
 
 \begin{seealso}
-  \seemodule{email}{Comprehensive email handling package; supercedes
+  \seemodule{email}{Comprehensive email handling package; supersedes
                     the \module{mimetools} module.}
   \seemodule{rfc822}{Provides the base class for
                      \class{mimetools.Message}.}
diff --git a/Doc/lib/libmultifile.tex b/Doc/lib/libmultifile.tex
index 98ccafb..4fd510c 100644
--- a/Doc/lib/libmultifile.tex
+++ b/Doc/lib/libmultifile.tex
@@ -35,7 +35,7 @@
 own pattern for section-divider and end-marker lines.
 
 \begin{seealso}
-  \seemodule{email}{Comprehensive email handling package; supercedes
+  \seemodule{email}{Comprehensive email handling package; supersedes
                     the \module{multifile} module.}
 \end{seealso}
 
diff --git a/Doc/lib/liboperator.tex b/Doc/lib/liboperator.tex
index 2d46b4d..52c0e93 100644
--- a/Doc/lib/liboperator.tex
+++ b/Doc/lib/liboperator.tex
@@ -42,7 +42,7 @@
 Note that unlike the built-in \function{cmp()}, these functions can
 return any value, which may or may not be interpretable as a Boolean
 value.  See the \citetitle[../ref/ref.html]{Python Reference Manual}
-for more informations about rich comparisons.
+for more information about rich comparisons.
 \versionadded{2.2}
 \end{funcdesc}
 
diff --git a/Doc/lib/libossaudiodev.tex b/Doc/lib/libossaudiodev.tex
index 0515978..8c8e445 100644
--- a/Doc/lib/libossaudiodev.tex
+++ b/Doc/lib/libossaudiodev.tex
@@ -261,7 +261,7 @@
 raises \exception{OSSAudioError} if not.  Returns a tuple (\var{format},
 \var{nchannels}, \var{samplerate}) indicating the parameter values that
 were actually set by the device driver (i.e., the same as the return
-valus of \method{setfmt()}, \method{channels()}, and \method{speed()}).
+values of \method{setfmt()}, \method{channels()}, and \method{speed()}).
 
 For example,
 \begin{verbatim}
diff --git a/Doc/lib/libplatform.tex b/Doc/lib/libplatform.tex
index 029c632..810e08b 100644
--- a/Doc/lib/libplatform.tex
+++ b/Doc/lib/libplatform.tex
@@ -17,7 +17,7 @@
 
 \begin{funcdesc}{architecture}{executable=sys.executable, bits='', linkage=''}
   Queries the given executable (defaults to the Python interpreter
-  binary) for various architecture informations.
+  binary) for various architecture information.
 
   Returns a tuple \code{(bits, linkage)} which contain information about
   the bit architecture and the linkage format used for the
diff --git a/Doc/lib/libpprint.tex b/Doc/lib/libpprint.tex
index b1fd9fa..cd5c184 100644
--- a/Doc/lib/libpprint.tex
+++ b/Doc/lib/libpprint.tex
@@ -196,7 +196,7 @@
 affecting the presentation) as the keys; if an object needs to be
 presented which is already represented in \var{context}, the third
 return value should be true.  Recursive calls to the \method{format()}
-method should add additionaly entries for containers to this
+method should add additional entries for containers to this
 dictionary.  The fourth argument, \var{maxlevels}, gives the requested
 limit to recursion; this will be \code{0} if there is no requested
 limit.  This argument should be passed unmodified to recursive calls.
diff --git a/Doc/lib/libpyexpat.tex b/Doc/lib/libpyexpat.tex
index dd218c6..1feb01c 100644
--- a/Doc/lib/libpyexpat.tex
+++ b/Doc/lib/libpyexpat.tex
@@ -310,7 +310,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}[xmlparser]{EndDoctypeDeclHandler}{}
-Called when Expat is done parsing the document type delaration.
+Called when Expat is done parsing the document type declaration.
 This requires Expat version 1.2 or newer.
 \end{methoddesc}
 
@@ -379,7 +379,7 @@
 of the entity; this will be \code{None} for external entities.  The
 \var{notationName} parameter will be \code{None} for parsed entities,
 and the name of the notation for unparsed entities.
-\var{is_parameter_entity} will be true if the entity is a paremeter
+\var{is_parameter_entity} will be true if the entity is a parameter
 entity or false for general entities (most applications only need to
 be concerned with general entities).
 This is only available starting with version 1.95.0 of the Expat
diff --git a/Doc/lib/libre.tex b/Doc/lib/libre.tex
index 3940dd1..c470ec9 100644
--- a/Doc/lib/libre.tex
+++ b/Doc/lib/libre.tex
@@ -845,9 +845,9 @@
 The integer index of the last matched capturing group, or \code{None}
 if no group was matched at all. For example, the expressions
 \regexp{(a)b}, \regexp{((a)(b))}, and \regexp{((ab))} will have
-\code{lastindex == 1} if applyied to the string \code{'ab'},
+\code{lastindex == 1} if applied to the string \code{'ab'},
 while the expression \regexp{(a)(b)} will have \code{lastindex == 2},
-if applyied to the same string.
+if applied to the same string.
 \end{memberdesc}
 
 \begin{memberdesc}[MatchObject]{lastgroup}
diff --git a/Doc/lib/libresource.tex b/Doc/lib/libresource.tex
index 99f8611..8e102b8 100644
--- a/Doc/lib/libresource.tex
+++ b/Doc/lib/libresource.tex
@@ -44,7 +44,7 @@
   Returns a tuple \code{(\var{soft}, \var{hard})} with the current
   soft and hard limits of \var{resource}. Raises \exception{ValueError} if
   an invalid resource is specified, or \exception{error} if the
-  underyling system call fails unexpectedly.
+  underlying system call fails unexpectedly.
 \end{funcdesc}
 
 \begin{funcdesc}{setrlimit}{resource, limits}
@@ -56,7 +56,7 @@
   Raises \exception{ValueError} if an invalid resource is specified,
   if the new soft limit exceeds the hard limit, or if a process tries
   to raise its hard limit (unless the process has an effective UID of
-  super-user).  Can also raise \exception{error} if the underyling
+  super-user).  Can also raise \exception{error} if the underlying
   system call fails.
 \end{funcdesc}
 
diff --git a/Doc/lib/librfc822.tex b/Doc/lib/librfc822.tex
index e7bbc28..4ca3734 100644
--- a/Doc/lib/librfc822.tex
+++ b/Doc/lib/librfc822.tex
@@ -129,7 +129,7 @@
 
 
 \begin{seealso}
-  \seemodule{email}{Comprehensive email handling package; supercedes
+  \seemodule{email}{Comprehensive email handling package; supersedes
                     the \module{rfc822} module.}
   \seemodule{mailbox}{Classes to read various mailbox formats produced 
                       by end-user mail programs.}
diff --git a/Doc/lib/libselect.tex b/Doc/lib/libselect.tex
index f3186c4..e93f70f 100644
--- a/Doc/lib/libselect.tex
+++ b/Doc/lib/libselect.tex
@@ -61,7 +61,7 @@
 \note{File objects on Windows are not acceptable, but sockets
 are.\index{WinSock}  On Windows, the underlying \cfunction{select()}
 function is provided by the WinSock library, and does not handle file
-desciptors that don't originate from WinSock.}
+descriptors that don't originate from WinSock.}
 \end{funcdesc}
 
 \subsection{Polling Objects
diff --git a/Doc/lib/libshelve.tex b/Doc/lib/libshelve.tex
index 47f7ef6..9e9f7fe 100644
--- a/Doc/lib/libshelve.tex
+++ b/Doc/lib/libshelve.tex
@@ -18,7 +18,7 @@
 for the underlying database.  As a side-effect, an extension may be added to
 the filename and more than one file may be created.  By default, the
 underlying database file is opened for reading and writing.  The optional
-{}\var{flag} pararameter has the same interpretation as the \var{flag}
+{}\var{flag} parameter has the same interpretation as the \var{flag}
 parameter of \function{anydbm.open}.  
 
 By default, version 0 pickles are used to serialize values. 
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index 09ef2f2..666aada 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -414,7 +414,7 @@
 \code{'xyzzy'}, \code{"frobozz"}.  See chapter 2 of the
 \citetitle[../ref/strings.html]{Python Reference Manual} for more about
 string literals.  Unicode strings are much like strings, but are
-specified in the syntax using a preceeding \character{u} character:
+specified in the syntax using a preceding \character{u} character:
 \code{u'abc'}, \code{u"def"}.  Lists are constructed with square brackets,
 separating items with commas: \code{[a, b, c]}.  Tuples are
 constructed by the comma operator (not within square brackets), with
@@ -546,7 +546,7 @@
 \code{\var{s}+=\var{t}}.  When applicable, this optimization makes
 quadratic run-time much less likely.  This optimization is both version
 and implementation dependent.  For performance sensitive code, it is
-preferrable to use the \method{str.join()} method which assures consistent
+preferable to use the \method{str.join()} method which assures consistent
 linear concatenation performance across versions and implementations.
 \versionchanged[Formerly, string concatenation never occurred in-place]{2.4}
 
@@ -932,8 +932,8 @@
   \lineiii{i}{Signed integer decimal.}{}
   \lineiii{o}{Unsigned octal.}{(1)}
   \lineiii{u}{Unsigned decimal.}{}
-  \lineiii{x}{Unsigned hexidecimal (lowercase).}{(2)}
-  \lineiii{X}{Unsigned hexidecimal (uppercase).}{(2)}
+  \lineiii{x}{Unsigned hexadecimal (lowercase).}{(2)}
+  \lineiii{X}{Unsigned hexadecimal (uppercase).}{(2)}
   \lineiii{e}{Floating point exponential format (lowercase).}{}
   \lineiii{E}{Floating point exponential format (uppercase).}{}
   \lineiii{f}{Floating point decimal format.}{}
@@ -1202,7 +1202,7 @@
 A set is greater than another set if and only if the first set is a proper
 superset of the second set (is a superset, but is not equal).
 
-Instanceas of \class{set} are compared to instances of \class{frozenset} based
+Instances of \class{set} are compared to instances of \class{frozenset} based
 on their members.  For example, \samp{set('abc') == frozenset('abc')} returns
 \code{True}.     
 
diff --git a/Doc/lib/libtime.tex b/Doc/lib/libtime.tex
index 6cc5e77..bd35ed9 100644
--- a/Doc/lib/libtime.tex
+++ b/Doc/lib/libtime.tex
@@ -375,14 +375,14 @@
 \begin{itemize}
   \item[std and dst]
     Three or more alphanumerics giving the timezone abbreviations.
-    These will be propogated into time.tzname
+    These will be propagated into time.tzname
 
   \item[offset]
     The offset has the form: \plusminus{} hh[:mm[:ss]].
     This indicates the value added the local time to arrive at UTC. 
     If preceded by a '-', the timezone is east of the Prime 
     Meridian; otherwise, it is west. If no offset follows
-    dst, summmer time is assumed to be one hour ahead of standard time.
+    dst, summer time is assumed to be one hour ahead of standard time.
 
   \item[start[/time],end[/time]]
     Indicates when to change to and back from DST. The format of the
diff --git a/Doc/lib/libunittest.tex b/Doc/lib/libunittest.tex
index 2bcda36..6c8769d 100644
--- a/Doc/lib/libunittest.tex
+++ b/Doc/lib/libunittest.tex
@@ -568,7 +568,7 @@
 
 \begin{methoddesc}[TestCase]{debug}{}
   Run the test without collecting the result.  This allows exceptions
-  raised by the test to be propogated to the caller, and can be used
+  raised by the test to be propagated to the caller, and can be used
   to support running tests under a debugger.
 \end{methoddesc}
 
diff --git a/Doc/lib/libuserdict.tex b/Doc/lib/libuserdict.tex
index 144c0b4..89d7428 100644
--- a/Doc/lib/libuserdict.tex
+++ b/Doc/lib/libuserdict.tex
@@ -51,7 +51,7 @@
 defining all but \method{__delitem__} will preclude only \method{pop}
 and \method{popitem} from the full interface.
 
-In addition to the four base methods, progessively more efficiency
+In addition to the four base methods, progressively more efficiency
 comes with defining \method{__contains__()}, \method{__iter__()}, and
 \method{iteritems()}.
 
diff --git a/Doc/lib/libuu.tex b/Doc/lib/libuu.tex
index 53354f2..adc3bbc 100644
--- a/Doc/lib/libuu.tex
+++ b/Doc/lib/libuu.tex
@@ -43,7 +43,7 @@
 \begin{excclassdesc}{Error}{}
   Subclass of \exception{Exception}, this can be raised by
   \function{uu.decode()} under various situations, such as described
-  above, but also including a badly formated header, or truncated
+  above, but also including a badly formatted header, or truncated
   input file.
 \end{excclassdesc}
 
diff --git a/Doc/lib/libwarnings.tex b/Doc/lib/libwarnings.tex
index d829b10..8655451 100644
--- a/Doc/lib/libwarnings.tex
+++ b/Doc/lib/libwarnings.tex
@@ -39,7 +39,7 @@
 \function{resetwarnings()}.
 
 The printing of warning messages is done by calling
-\function{showwarning()}, which may be overidden; the default
+\function{showwarning()}, which may be overridden; the default
 implementation of this function formats the message by calling
 \function{formatwarning()}, which is also available for use by custom
 implementations.
diff --git a/Doc/lib/libxmlrpclib.tex b/Doc/lib/libxmlrpclib.tex
index 298a03d..bc5ae10 100644
--- a/Doc/lib/libxmlrpclib.tex
+++ b/Doc/lib/libxmlrpclib.tex
@@ -97,7 +97,7 @@
             everything an XML-RPC client developer needs to know.}
   \seetitle[http://xmlrpc-c.sourceforge.net/hacks.php]
            {XML-RPC-Hacks page}{Extensions for various open-source
-            libraries to support instrospection and multicall.}
+            libraries to support introspection and multicall.}
 \end{seealso}
 
 
diff --git a/Doc/lib/libzipfile.tex b/Doc/lib/libzipfile.tex
index 30c7aaf..a0b5e63 100644
--- a/Doc/lib/libzipfile.tex
+++ b/Doc/lib/libzipfile.tex
@@ -36,7 +36,7 @@
 \end{classdesc*}
 
 \begin{classdesc}{ZipInfo}{\optional{filename\optional{, date_time}}}
-  Class used the represent infomation about a member of an archive.
+  Class used to represent information about a member of an archive.
   Instances of this class are returned by the \method{getinfo()} and
   \method{infolist()} methods of \class{ZipFile} objects.  Most users
   of the \module{zipfile} module will not need to create these, but
diff --git a/Doc/lib/mimelib.tex b/Doc/lib/mimelib.tex
index ccec948..67de597 100644
--- a/Doc/lib/mimelib.tex
+++ b/Doc/lib/mimelib.tex
@@ -26,7 +26,7 @@
   relevant email and MIME related RFCs.
 \end{abstract}
 
-% The ugly "%begin{latexonly}" pseudo-environment supresses the table
+% The ugly "%begin{latexonly}" pseudo-environment suppresses the table
 % of contents for HTML generation.
 %
 %begin{latexonly}
@@ -39,7 +39,7 @@
 relevant email and MIME related RFCs.
 
 This document describes version 3.0 of the \module{email} package, which is
-distributed with Python 2.4 and is availble as a standalone distutils-based
+distributed with Python 2.4 and is available as a standalone distutils-based
 package for use with Python 2.3.  \module{email} 3.0 is not compatible with
 Python versions earlier than 2.3.  For more information about the
 \module{email} package, including download links and mailing lists, see
diff --git a/Doc/lib/tkinter.tex b/Doc/lib/tkinter.tex
index 51020dd..d45b835 100644
--- a/Doc/lib/tkinter.tex
+++ b/Doc/lib/tkinter.tex
@@ -10,7 +10,7 @@
 Python programmers using the \refmodule{Tkinter} module, and its
 extension, the \refmodule{Tix} module.
 
-The \refmodule{Tkinter} module is a thin object--oriented layer on top of
+The \refmodule{Tkinter} module is a thin object-oriented layer on top of
 Tcl/Tk. To use \refmodule{Tkinter}, you don't need to write Tcl code,
 but you will need to consult the Tk documentation, and occasionally
 the Tcl documentation.  \refmodule{Tkinter} is a set of wrappers that
@@ -97,7 +97,7 @@
 \begin{classdesc}{Tk}{screenName=None, baseName=None, className='Tk', useTk=1}
 The \class{Tk} class is instantiated without arguments.
 This creates a toplevel widget of Tk which usually is the main window
-of an appliation. Each instance has its own associated Tcl interpreter.
+of an application. Each instance has its own associated Tcl interpreter.
 % FIXME: The following keyword arguments are currently recognized:
 \versionchanged[The \var{useTk} parameter was added]{2.4}
 \end{classdesc}
@@ -461,7 +461,7 @@
 fred["fg"] = "red"
 fred["bg"] = "blue"
 \end{verbatim}
-\item[Use the config() method to update multiple attrs subesequent to
+\item[Use the config() method to update multiple attrs subsequent to
 object creation]:
 \begin{verbatim}
 fred.config(fg = "red", bg = "blue")
@@ -812,7 +812,7 @@
     self.button.bind("<Enter>", self.turnRed)
 \end{verbatim}
 
-Notice how the widget field of the event is being accesed in the
+Notice how the widget field of the event is being accessed in the
 \method{turnRed()} callback.  This field contains the widget that
 caught the X event.  The following table lists the other event fields
 you can access, and how they are denoted in Tk, which can be useful
@@ -1218,7 +1218,7 @@
 widget can be used to display any data that have a hierarchical
 structure, for example, file system directory trees. The list entries
 are indented and connected by branch lines according to their places
-in the hierachy.
+in the hierarchy.
 \end{classdesc}
 
 % Python Demo of:
@@ -1243,7 +1243,7 @@
 \begin{classdesc}{Tree}{}
 The \ulink{Tree}
 {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm}
-widget can be used to display hierachical data in a tree form. The
+widget can be used to display hierarchical data in a tree form. The
 user can adjust the view of the tree by opening or closing parts of
 the tree.
 \end{classdesc}
@@ -1359,7 +1359,7 @@
 horizontal lines; each line is composed of a series of items (texts,
 bitmaps, images or spaces) arranged from left to right. For example, a
 compound image can be used to display a bitmap and a text string
-simutaneously in a Tk \class{Button} widget.
+simultaneously in a Tk \class{Button} widget.
 
 % Python Demo of:
 % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
@@ -1486,7 +1486,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}{tix_option_get}{name}
-Gets the options manitained by the Tix scheme mechanism.
+Gets the options maintained by the Tix scheme mechanism.
 \end{methoddesc}
 
 \begin{methoddesc}{tix_resetoptions}{newScheme, newFontSet\optional{,
@@ -1547,13 +1547,13 @@
 \section{Idle \label{idle}}
 
 %\declaremodule{standard}{idle}
-%\modulesynopsis{A Python Integrated Developement Environment}
+%\modulesynopsis{A Python Integrated Development Environment}
 \moduleauthor{Guido van Rossum}{guido@Python.org}
 
 Idle is the Python IDE built with the \refmodule{Tkinter} GUI toolkit.  
 \index{Idle}
 \index{Python Editor}
-\index{Integrated Developement Environment}
+\index{Integrated Development Environment}
 
 
 IDLE has the following features:
diff --git a/Doc/lib/xmldom.tex b/Doc/lib/xmldom.tex
index 317febb..5e9beaa 100644
--- a/Doc/lib/xmldom.tex
+++ b/Doc/lib/xmldom.tex
@@ -584,7 +584,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}[Element]{setAttributeNode}{newAttr}
-Add a new attibute node to the element, replacing an existing
+Add a new attribute node to the element, replacing an existing
 attribute if necessary if the \member{name} attribute matches.  If a
 replacement occurs, the old attribute node will be returned.  If
 \var{newAttr} is already in use, \exception{InuseAttributeErr} will be
@@ -592,7 +592,7 @@
 \end{methoddesc}
 
 \begin{methoddesc}[Element]{setAttributeNodeNS}{newAttr}
-Add a new attibute node to the element, replacing an existing
+Add a new attribute node to the element, replacing an existing
 attribute if necessary if the \member{namespaceURI} and
 \member{localName} attributes match.  If a replacement occurs, the old
 attribute node will be returned.  If \var{newAttr} is already in use,
@@ -639,7 +639,7 @@
 Return an attribute with a particular index.  The order you get the
 attributes in is arbitrary but will be consistent for the life of a
 DOM.  Each item is an attribute node.  Get its value with the
-\member{value} attribbute.
+\member{value} attribute.
 \end{methoddesc}
 
 There are also experimental methods that give this class more mapping
diff --git a/Doc/lib/xmldomminidom.tex b/Doc/lib/xmldomminidom.tex
index 2b54a14..4c9d7ab 100644
--- a/Doc/lib/xmldomminidom.tex
+++ b/Doc/lib/xmldomminidom.tex
@@ -110,7 +110,7 @@
 
 \method{unlink()} is a \module{xml.dom.minidom}-specific extension to
 the DOM API.  After calling \method{unlink()} on a node, the node and
-its descendents are essentially useless.
+its descendants are essentially useless.
 
 \begin{seealso}
   \seetitle[http://www.w3.org/TR/REC-DOM-Level-1/]{Document Object
diff --git a/Doc/mac/libframework.tex b/Doc/mac/libframework.tex
index 289bd80..dc8f99f 100644
--- a/Doc/mac/libframework.tex
+++ b/Doc/mac/libframework.tex
@@ -151,7 +151,7 @@
 are available. This will cause FrameWork window updates and the user
 interface to remain working during long computations, but will slow the
 interpreter down and may cause surprising results in non-reentrant code
-(such as FrameWork itself). By default \var{async_dispatch} will immedeately
+(such as FrameWork itself). By default \var{async_dispatch} will immediately
 call \var{our_dispatch} but you may override this to handle only certain
 events asynchronously. Events you do not handle will be passed to Sioux
 and such.
diff --git a/Doc/mac/undoc.tex b/Doc/mac/undoc.tex
index 9d3b763..cf96593 100644
--- a/Doc/mac/undoc.tex
+++ b/Doc/mac/undoc.tex
@@ -59,7 +59,7 @@
   \platform{Mac}
 \modulesynopsis{Constant definitions for many Mac OS error codes.}
 
-\module{macerrors} cotains constant definitions for many Mac OS error
+\module{macerrors} contains constant definitions for many Mac OS error
 codes.
 
 
diff --git a/Doc/mac/using.tex b/Doc/mac/using.tex
index 84dd755..79547c1 100644
--- a/Doc/mac/using.tex
+++ b/Doc/mac/using.tex
@@ -157,9 +157,9 @@
 
 \item
 When you waved the script icon over the \program{PythonInterpreter},
-the \program{PythonInterpreter} icon did not hilight.  Most likely the
-Creator code and document type is unset (or set incorrectly) -- this
-often happens when a file originates on a non-Mac computer.  See
+the \program{PythonInterpreter} icon did not highlight.  Most likely
+the Creator code and document type is unset (or set incorrectly) --
+this often happens when a file originates on a non-Mac computer.  See
 section \ref{creator-code} for more details.
 \end{itemize}
 
diff --git a/Doc/ref/ref3.tex b/Doc/ref/ref3.tex
index 973275f..f339676 100644
--- a/Doc/ref/ref3.tex
+++ b/Doc/ref/ref3.tex
@@ -1328,7 +1328,7 @@
 
 \begin{methoddesc}[object]{__get__}{self, instance, owner}
 Called to get the attribute of the owner class (class attribute access)
-or of an instance of that class (instance attribute acces).
+or of an instance of that class (instance attribute access).
 \var{owner} is always the owner class, while \var{instance} is the
 instance that the attribute was accessed through, or \code{None} when
 the attribute is accessed through the \var{owner}.  This method should
diff --git a/Doc/ref/ref5.tex b/Doc/ref/ref5.tex
index 091c91c..746615e 100644
--- a/Doc/ref/ref5.tex
+++ b/Doc/ref/ref5.tex
@@ -262,7 +262,7 @@
 dictionary to store the corresponding datum.
 
 Restrictions on the types of the key values are listed earlier in
-section \ref{types}.  (To summarize,the key type should be hashable,
+section \ref{types}.  (To summarize, the key type should be hashable,
 which excludes all mutable objects.)  Clashes between duplicate keys
 are not detected; the last datum (textually rightmost in the display)
 stored for a given key value prevails.
diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex
index 8a2a665..8eee5b8 100644
--- a/Doc/ref/ref6.tex
+++ b/Doc/ref/ref6.tex
@@ -497,7 +497,7 @@
 \begin{notice}
 In Python 2.2, the \keyword{yield} statement is only allowed
 when the \code{generators} feature has been enabled.  It will always
-be enabled in Python 2.3.  This \code{__future__} import statment can
+be enabled in Python 2.3.  This \code{__future__} import statement can
 be used to enable the feature:
 
 \begin{verbatim}
diff --git a/Doc/templates/module.tex b/Doc/templates/module.tex
index 1a0117d..69e1b12 100644
--- a/Doc/templates/module.tex
+++ b/Doc/templates/module.tex
@@ -50,7 +50,7 @@
 
 % Leave at least one blank line after this, to simplify ad-hoc tools
 % that are sometimes used to massage these files.
-\modulesynopsis{This is a one-line descrition, for the chapter header.}
+\modulesynopsis{This is a one-line description, for the chapter header.}
 
 
 % ==== 2. ====
@@ -110,7 +110,7 @@
 % Exceptions are described using a ``excdesc'' block.  This has only
 % one parameter: the exception name.  Exceptions defined as classes in
 % the source code should be documented using this environment, but
-% constructor parameters must be ommitted.
+% constructor parameters must be omitted.
 
 \begin{excdesc}{error}
 Exception raised when an operation fails for a Spam specific reason.
diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 03efeb1..6c29710 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -3553,9 +3553,10 @@
 __main__.MyError: 'oops!'
 \end{verbatim}
 
-In this example, the default \method{__init__} of \class{Exception} has
-been overriden.  The new behavior simply creates the \var{value} attribute.
-This replaces the default behavior of creating the \var{args} attribute.
+In this example, the default \method{__init__} of \class{Exception}
+has been overridden.  The new behavior simply creates the \var{value}
+attribute.  This replaces the default behavior of creating the
+\var{args} attribute.
 
 Exception classes can be defined which do anything any other class can
 do, but are usually kept simple, often only offering a number of
@@ -4636,7 +4637,7 @@
 
 >>> import smtplib
 >>> server = smtplib.SMTP('localhost')
->>> server.sendmail('soothsayer@example.org', 'jceasar@example.org',
+>>> server.sendmail('soothsayer@example.org', 'jcaesar@example.org',
 """To: jcaesar@example.org
 From: soothsayer@example.org
 
diff --git a/Doc/whatsnew/whatsnew20.tex b/Doc/whatsnew/whatsnew20.tex
index d376d9d..b89ac19 100644
--- a/Doc/whatsnew/whatsnew20.tex
+++ b/Doc/whatsnew/whatsnew20.tex
@@ -642,7 +642,7 @@
 \url{http://starship.python.net/crew/mhammond/ce/} for more
 information.
 
-Another new platform is Darwin/MacOS X; inital support for it is in
+Another new platform is Darwin/MacOS X; initial support for it is in
 Python 2.0.  Dynamic loading works, if you specify ``configure
 --with-dyld --with-suffix=.x''.  Consult the README in the Python
 source distribution for more instructions.
@@ -908,8 +908,8 @@
 configuration files, which only really work on Unix and leave Windows
 and MacOS unsupported.  Python users faced wildly differing
 installation instructions which varied between different extension
-packages, which made adminstering a Python installation something of a
-chore.
+packages, which made administering a Python installation something of 
+a chore.
 
 The SIG for distribution utilities, shepherded by Greg Ward, has
 created the Distutils, a system to make package installation much
diff --git a/Doc/whatsnew/whatsnew21.tex b/Doc/whatsnew/whatsnew21.tex
index 1f5c113..b7ea3f2 100644
--- a/Doc/whatsnew/whatsnew21.tex
+++ b/Doc/whatsnew/whatsnew21.tex
@@ -203,7 +203,7 @@
 
 (The magic methods are named after the corresponding Fortran operators
 \code{.LT.}. \code{.LE.}, \&c.  Numeric programmers are almost
-certainly quite familar with these names and will find them easy to
+certainly quite familiar with these names and will find them easy to
 remember.)
  
 Each of these magic methods is of the form \code{\var{method}(self,
diff --git a/Doc/whatsnew/whatsnew23.tex b/Doc/whatsnew/whatsnew23.tex
index b74403a..e29ecdd 100644
--- a/Doc/whatsnew/whatsnew23.tex
+++ b/Doc/whatsnew/whatsnew23.tex
@@ -2223,7 +2223,7 @@
 
 On MacOS, most toolbox modules have been weaklinked to improve
 backward compatibility.  This means that modules will no longer fail
-to load if a single routine is missing on the curent OS version.
+to load if a single routine is missing on the current OS version.
 Instead calling the missing routine will raise an exception.
 (Contributed by Jack Jansen.)
 
diff --git a/Doc/whatsnew/whatsnew24.tex b/Doc/whatsnew/whatsnew24.tex
index 5914c7d..3c83827 100644
--- a/Doc/whatsnew/whatsnew24.tex
+++ b/Doc/whatsnew/whatsnew24.tex
@@ -1493,7 +1493,7 @@
 In order to store cookies across sessions, two implementations of
 cookie jars are provided: one that stores cookies in the Netscape
 format so applications can use the Mozilla or Lynx cookie files, and
-one that stores cookies in the same format as the Perl libwww libary.
+one that stores cookies in the same format as the Perl libwww library.
 
 \module{urllib2} has been changed to interact with \module{cookielib}:
 \class{HTTPCookieProcessor} manages a cookie jar that is used when
