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.
 */
