#11515: Merge with 3.1.
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index 737e4c3..3be270d 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -49,7 +49,7 @@
   So, there are 4 data structures holding processed arguments:
   - the inargs tuple (in PyCFuncPtr_call)
   - the callargs tuple (in PyCFuncPtr_call)
-  - the 'struct argguments' array
+  - the 'struct arguments' array
   - the 'void *' array
 
  */
diff --git a/Modules/_ctypes/libffi/ChangeLog b/Modules/_ctypes/libffi/ChangeLog
index 00ba7ef..78853c4 100644
--- a/Modules/_ctypes/libffi/ChangeLog
+++ b/Modules/_ctypes/libffi/ChangeLog
@@ -3084,7 +3084,7 @@
 
 2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
 
-	* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
+	* src/sh/ffi.c (ffi_prep_args): Take account into the alignment
 	for the register size.
 	(ffi_closure_helper_SYSV): Handle the structure return value
 	address correctly.
@@ -3344,7 +3344,7 @@
 2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
 
 	* libffi/src/powerpc/darwin_closure.S:
-	Fix alignement bug, allocate 8 bytes for the result.
+	Fix alignment bug, allocate 8 bytes for the result.
 	* libffi/src/powerpc/aix_closure.S:
 	Likewise.
 	* libffi/src/powerpc/ffi_darwin.c:
diff --git a/Modules/_ctypes/libffi/src/dlmalloc.c b/Modules/_ctypes/libffi/src/dlmalloc.c
index 783c5c2..72673a1 100644
--- a/Modules/_ctypes/libffi/src/dlmalloc.c
+++ b/Modules/_ctypes/libffi/src/dlmalloc.c
@@ -1326,7 +1326,7 @@
   return (ptr != 0)? ptr: MFAIL;
 }
 
-/* This function supports releasing coalesed segments */
+/* This function supports releasing coalesced segments */
 static int win32munmap(void* ptr, size_t size) {
   MEMORY_BASIC_INFORMATION minfo;
   char* cptr = ptr;
@@ -1362,7 +1362,7 @@
 #define CALL_MORECORE(S)     MFAIL
 #endif /* HAVE_MORECORE */
 
-/* mstate bit set if continguous morecore disabled or failed */
+/* mstate bit set if contiguous morecore disabled or failed */
 #define USE_NONCONTIGUOUS_BIT (4U)
 
 /* segment bit set in create_mspace_with_base */
diff --git a/Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c b/Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c
index d84f1c3..5e77720 100644
--- a/Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c
+++ b/Modules/_ctypes/libffi/src/powerpc/ffi_darwin.c
@@ -592,7 +592,7 @@
 		  +---------------------------------------+ 160
 		  | result area 8                         |
 		  +---------------------------------------+ 168
-		  | alignement to the next multiple of 16 |
+		  | alignment to the next multiple of 16  |
 SP current -->    +---------------------------------------+ 176 <- parent frame
 		  | back chain to caller 4                |
 		  +---------------------------------------+ 180
diff --git a/Modules/_ctypes/libffi_osx/powerpc/ppc-ffi_darwin.c b/Modules/_ctypes/libffi_osx/powerpc/ppc-ffi_darwin.c
index 8953d5f..dba2184 100644
--- a/Modules/_ctypes/libffi_osx/powerpc/ppc-ffi_darwin.c
+++ b/Modules/_ctypes/libffi_osx/powerpc/ppc-ffi_darwin.c
@@ -650,7 +650,7 @@
 		  +---------------------------------------+ 160
 		  | result area 8                         |
 		  +---------------------------------------+ 168
-		  | alignement to the next multiple of 16 |
+		  | alignment to the next multiple of 16  |
 SP current -->    +---------------------------------------+ 176 <- parent frame
 		  | back chain to caller 4                |
 		  +---------------------------------------+ 180
diff --git a/Modules/_struct.c b/Modules/_struct.c
index b9dfe50..1604b90 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1111,7 +1111,7 @@
     case '>':
     case '!': /* Network byte order is big-endian */
         return bigendian_table;
-    case '=': { /* Host byte order -- different from native in aligment! */
+    case '=': { /* Host byte order -- different from native in alignment! */
         int n = 1;
         char *p = (char *) &n;
         if (*p == 1)
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index ffd1ec2..d91c99a 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -823,7 +823,7 @@
                                    self->args, self->kw) < 0) {
             /* we need to get rid of ldict from thread so
                we create a new one the next time we do an attr
-               acces */
+               access */
             PyDict_DelItem(tdict, self->key);
             return NULL;
         }
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index e959321..3cdf135 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -1569,7 +1569,7 @@
                    || strcmp(s, ">>=") == 0
                    || strcmp(s, "**=") == 0);
             if (!res)
-                err_string("illegal augmmented assignment operator");
+                err_string("illegal augmented assignment operator");
         }
     }
     else {
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 39beaba..89d3f2f 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -1281,7 +1281,7 @@
    win32_stat will first explicitly resolve the symlink target and then will
    call win32_lstat on that result.
 
-   The _w represent Unicode equivalents of the aformentioned ANSI functions. */
+   The _w represent Unicode equivalents of the aforementioned ANSI functions. */
 
 static int 
 win32_lstat(const char* path, struct win32_stat *result)
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index e38587f..6969fe3 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -1172,7 +1172,7 @@
     return code;
 }
 
-/* Get the code object assoiciated with the module specified by
+/* Get the code object associated with the module specified by
    'fullname'. */
 static PyObject *
 get_module_code(ZipImporter *self, char *fullname,