#11565: Fix several typos. Patch by Piotr Kasprzyk.
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 4fc9d02..bb406c6 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -3427,7 +3427,7 @@
     /* XXX XXX This would allow to pass additional options.  For COM
        method *implementations*, we would probably want different
        behaviour than in 'normal' callback functions: return a HRESULT if
-       an exception occurrs in the callback, and print the traceback not
+       an exception occurs in the callback, and print the traceback not
        only on the console, but also to OutputDebugString() or something
        like that.
     */
diff --git a/Modules/_ctypes/callbacks.c b/Modules/_ctypes/callbacks.c
index 716a02f..2b54a85 100644
--- a/Modules/_ctypes/callbacks.c
+++ b/Modules/_ctypes/callbacks.c
@@ -256,7 +256,7 @@
             /* XXX XXX XX
                We have the problem that c_byte or c_short have dict->size of
                1 resp. 4, but these parameters are pushed as sizeof(int) bytes.
-               BTW, the same problem occurrs when they are pushed as parameters
+               BTW, the same problem occurs when they are pushed as parameters
             */
         } else if (dict) {
             /* Hm, shouldn't we use PyCData_AtAddress() or something like that instead? */
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index 5f62399..78c6dc0 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -34,7 +34,7 @@
 
   4. _ctypes_callproc is then called with the 'callargs' tuple.  _ctypes_callproc first
   allocates two arrays.  The first is an array of 'struct argument' items, the
-  second array has 'void *' entried.
+  second array has 'void *' entries.
 
   5. If 'converters' are present (converters is a sequence of argtypes'
   from_param methods), for each item in 'callargs' converter is called and the
diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c
index 572e7ff..aa9eaee 100644
--- a/Modules/_functoolsmodule.c
+++ b/Modules/_functoolsmodule.c
@@ -278,7 +278,7 @@
    __reduce__ by itself doesn't support getting kwargs in the unpickle
    operation so we define a __setstate__ that replaces all the information
    about the partial.  If we only replaced part of it someone would use
-   it as a hook to do stange things.
+   it as a hook to do strange things.
  */
 
 PyObject *
diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c
index 56c007c..e129ca9 100644
--- a/Modules/_io/iobase.c
+++ b/Modules/_io/iobase.c
@@ -49,7 +49,7 @@
     "stream.\n"
     "\n"
     "IOBase also supports the :keyword:`with` statement. In this example,\n"
-    "fp is closed after the suite of the with statment is complete:\n"
+    "fp is closed after the suite of the with statement is complete:\n"
     "\n"
     "with open('spam.txt', 'r') as fp:\n"
     "    fp.write('Spam and eggs!')\n");
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c
index 1761a25..cf0f8b1 100644
--- a/Modules/_io/stringio.c
+++ b/Modules/_io/stringio.c
@@ -157,7 +157,7 @@
           0   lo      string_size                           hi
           |   |<---used--->|<----------available----------->|
           |   |            <--to pad-->|<---to write--->    |
-          0   buf                   positon
+          0   buf                   position
 
         */
         memset(self->buf + self->string_size, '\0',
diff --git a/Modules/_sqlite/connection.h b/Modules/_sqlite/connection.h
index 3fc5a70..ecc8d2b 100644
--- a/Modules/_sqlite/connection.h
+++ b/Modules/_sqlite/connection.h
@@ -55,7 +55,7 @@
     /* None for autocommit, otherwise a PyString with the isolation level */
     PyObject* isolation_level;
 
-    /* NULL for autocommit, otherwise a string with the BEGIN statment; will be
+    /* NULL for autocommit, otherwise a string with the BEGIN statement; will be
      * freed in connection destructor */
     char* begin_statement;
 
diff --git a/Modules/cmathmodule.c b/Modules/cmathmodule.c
index 825f7ad..0dc6bdb 100644
--- a/Modules/cmathmodule.c
+++ b/Modules/cmathmodule.c
@@ -23,7 +23,7 @@
 /*
    CM_LARGE_DOUBLE is used to avoid spurious overflow in the sqrt, log,
    inverse trig and inverse hyperbolic trig functions.  Its log is used in the
-   evaluation of exp, cos, cosh, sin, sinh, tan, and tanh to avoid unecessary
+   evaluation of exp, cos, cosh, sin, sinh, tan, and tanh to avoid unnecessary
    overflow.
  */
 
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index e4f6e63..d14910a 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -2329,7 +2329,7 @@
  * This is the guts of the recv() and recv_into() methods, which reads into a
  * char buffer.  If you have any inc/dec ref to do to the objects that contain
  * the buffer, do it in the caller.  This function returns the number of bytes
- * succesfully read.  If there was an error, it returns -1.  Note that it is
+ * successfully read.  If there was an error, it returns -1.  Note that it is
  * also possible that we return a number of bytes smaller than the request
  * bytes.
  */
@@ -2442,9 +2442,9 @@
     }
     if (outlen != recvlen) {
         /* We did not read as many bytes as we anticipated, resize the
-           string if possible and be succesful. */
+           string if possible and be successful. */
         if (_PyString_Resize(&buf, outlen) < 0)
-            /* Oopsy, not so succesful after all. */
+            /* Oopsy, not so successful after all. */
             return NULL;
     }
 
@@ -2527,7 +2527,7 @@
  * This is the guts of the recvfrom() and recvfrom_into() methods, which reads
  * into a char buffer.  If you have any inc/def ref to do to the objects that
  * contain the buffer, do it in the caller.  This function returns the number
- * of bytes succesfully read.  If there was an error, it returns -1.  Note
+ * of bytes successfully read.  If there was an error, it returns -1.  Note
  * that it is also possible that we return a number of bytes smaller than the
  * request bytes.
  *
@@ -2620,9 +2620,9 @@
 
     if (outlen != recvlen) {
         /* We did not read as many bytes as we anticipated, resize the
-           string if possible and be succesful. */
+           string if possible and be successful. */
         if (_PyString_Resize(&buf, outlen) < 0)
-            /* Oopsy, not so succesful after all. */
+            /* Oopsy, not so successful after all. */
             goto finally;
     }
 
@@ -4413,7 +4413,7 @@
 
     return 0;  /* Failure */
 #else
-    /* No need to initialise sockets with GCC/EMX */
+    /* No need to initialize sockets with GCC/EMX */
     return 1; /* Success */
 #endif
 }
@@ -4449,7 +4449,7 @@
    as makefile(), dup() and fromfd().  The import of "_socket" may fail
    with an ImportError exception if os-specific initialization fails.
    On Windows, this does WINSOCK initialization.  When WINSOCK is
-   initialized succesfully, a call to WSACleanup() is scheduled to be
+   initialized successfully, a call to WSACleanup() is scheduled to be
    made at exit time.
 */
 
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 61c1ccc..51f472e 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -635,7 +635,7 @@
     buf.tm_wday = -1;  /* sentinel; original value ignored */
     tt = mktime(&buf);
     /* Return value of -1 does not necessarily mean an error, but tm_wday
-     * cannot remain set to -1 if mktime succedded. */
+     * cannot remain set to -1 if mktime succeeded. */
     if (tt == (time_t)(-1) && buf.tm_wday == -1) {
         PyErr_SetString(PyExc_OverflowError,
                         "mktime argument out of range");
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 0ca9788..9224a68 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -1053,7 +1053,7 @@
 }
 
 /* Given a path to a .pyc or .pyo file in the archive, return the
-   modifictaion time of the matching .py file, or 0 if no source
+   modification time of the matching .py file, or 0 if no source
    is available. */
 static time_t
 get_mtime_of_source(ZipImporter *self, char *path)
diff --git a/Modules/zlib/deflate.h b/Modules/zlib/deflate.h
index 05a5ab3..b16f7a7 100644
--- a/Modules/zlib/deflate.h
+++ b/Modules/zlib/deflate.h
@@ -188,7 +188,7 @@
     int nice_match; /* Stop searching when current match exceeds this */
 
                 /* used by trees.c: */
-    /* Didn't use ct_data typedef below to supress compiler warning */
+    /* Didn't use ct_data typedef below to suppress compiler warning */
     struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */
     struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
     struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */
diff --git a/Modules/zlib/gzio.c b/Modules/zlib/gzio.c
index 7e90f49..5cf50e0 100644
--- a/Modules/zlib/gzio.c
+++ b/Modules/zlib/gzio.c
@@ -256,7 +256,7 @@
 /* ===========================================================================
      Read a byte from a gz_stream; update next_in and avail_in. Return EOF
    for end of file.
-   IN assertion: the stream s has been sucessfully opened for reading.
+   IN assertion: the stream s has been successfully opened for reading.
 */
 local int get_byte(s)
     gz_stream *s;
@@ -281,7 +281,7 @@
     mode to transparent if the gzip magic header is not present; set s->err
     to Z_DATA_ERROR if the magic header is present but the rest of the header
     is incorrect.
-    IN assertion: the stream s has already been created sucessfully;
+    IN assertion: the stream s has already been created successfully;
        s->stream.avail_in is zero for the first time, but may be non-zero
        for concatenated .gz files.
 */