Spelling fixes (#2902)

diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 54b99e0..8b94929 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -610,7 +610,7 @@
    :class:`~collections.namedtuple` of the form `(firstiter, finalizer)`,
    where *firstiter* and *finalizer* are expected to be either ``None`` or
    functions which take an :term:`asynchronous generator iterator` as an
-   argument, and are used to schedule finalization of an asychronous
+   argument, and are used to schedule finalization of an asynchronous
    generator by an event loop.
 
    .. versionadded:: 3.6
diff --git a/Include/abstract.h b/Include/abstract.h
index fe089dc..8969019 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -170,7 +170,7 @@
    format to a Python dictionary ("kwargs" dict).
 
    The type of kwnames keys is not checked. The final function getting
-   arguments is reponsible to check if all keys are strings, for example using
+   arguments is responsible to check if all keys are strings, for example using
    PyArg_ParseTupleAndKeywords() or PyArg_ValidateKeywordArguments().
 
    Duplicate keys are merged using the last value. If duplicate keys must raise
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index bb91568..5ca1f87 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -1227,7 +1227,7 @@
 /* Encodes a Unicode object and returns the result as Python
    object.
 
-   This API is DEPRECATED.  It is superceeded by PyUnicode_AsEncodedString()
+   This API is DEPRECATED.  It is superseded by PyUnicode_AsEncodedString()
    since all standard encodings (except rot13) encode str to bytes.
    Use PyCodec_Encode() for encoding with rot13 and non-standard codecs
    that encode form str to non-bytes. */
diff --git a/Lib/enum.py b/Lib/enum.py
index 73dd613..6d90f7d 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -840,7 +840,7 @@
     not_covered = value
     negative = value < 0
     # issue29167: wrap accesses to _value2member_map_ in a list to avoid race
-    #             conditions between iterating over it and having more psuedo-
+    #             conditions between iterating over it and having more pseudo-
     #             members added to it
     if negative:
         # only check for named flags
diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py
index 6d8a03b..f7a6b73 100644
--- a/Lib/idlelib/configdialog.py
+++ b/Lib/idlelib/configdialog.py
@@ -1216,7 +1216,7 @@
         which are boolean, and can be toggled with a True/False button.
 
         Methods:
-            load_extentions:
+            load_extensions:
             extension_selected: Handle selection from list.
             create_extension_frame: Hold widgets for one extension.
             set_extension_value: Set in userCfg['extensions'].
diff --git a/Lib/test/decimaltestdata/ddDivide.decTest b/Lib/test/decimaltestdata/ddDivide.decTest
index 5531d0e..5b2651b 100644
--- a/Lib/test/decimaltestdata/ddDivide.decTest
+++ b/Lib/test/decimaltestdata/ddDivide.decTest
@@ -579,7 +579,7 @@
 dddiv1057 divide -1e-277  1e+311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped

 dddiv1058 divide -1e-277 -1e+311 ->  0E-398 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dddiv1060 divide 1e-291 1e+101 -> 1E-392 Subnormal

 dddiv1061 divide 1e-291 1e+102 -> 1E-393 Subnormal

 dddiv1062 divide 1e-291 1e+103 -> 1E-394 Subnormal

diff --git a/Lib/test/decimaltestdata/ddDivideInt.decTest b/Lib/test/decimaltestdata/ddDivideInt.decTest
index 1555b42..342d130 100644
--- a/Lib/test/decimaltestdata/ddDivideInt.decTest
+++ b/Lib/test/decimaltestdata/ddDivideInt.decTest
@@ -248,7 +248,7 @@
 dddvi1057 divideint -1e-277  1e+311 -> -0

 dddvi1058 divideint -1e-277 -1e+311 ->  0

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dddvi1060 divideint 1e-291 1e+101 -> 0

 dddvi1061 divideint 1e-291 1e+102 -> 0

 dddvi1062 divideint 1e-291 1e+103 -> 0

diff --git a/Lib/test/decimaltestdata/ddFMA.decTest b/Lib/test/decimaltestdata/ddFMA.decTest
index f0acfc7..9094fc0 100644
--- a/Lib/test/decimaltestdata/ddFMA.decTest
+++ b/Lib/test/decimaltestdata/ddFMA.decTest
@@ -26,7 +26,7 @@
 clamp:       1

 rounding:    half_even

 

--- These tests comprese three parts:

+-- These tests comprise three parts:

 --   1. Sanity checks and other three-operand tests (especially those

 --      where the fused operation makes a difference)

 --   2. Multiply tests (third operand is neutral zero [0E+emax])

@@ -458,7 +458,7 @@
 ddfma2757 fma  -1e-277  1e-311   0e+384  ->  -0E-398 Underflow Subnormal Inexact Rounded Clamped

 ddfma2758 fma  -1e-277 -1e-311   0e+384  ->   0E-398 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 ddfma2760 fma  1e-291 1e-101   0e+384  ->  1E-392 Subnormal

 ddfma2761 fma  1e-291 1e-102   0e+384  ->  1E-393 Subnormal

 ddfma2762 fma  1e-291 1e-103   0e+384  ->  1E-394 Subnormal

diff --git a/Lib/test/decimaltestdata/ddMultiply.decTest b/Lib/test/decimaltestdata/ddMultiply.decTest
index 45a381d..b7342ac 100644
--- a/Lib/test/decimaltestdata/ddMultiply.decTest
+++ b/Lib/test/decimaltestdata/ddMultiply.decTest
@@ -347,7 +347,7 @@
 ddmul757 multiply -1e-277  1e-311 -> -0E-398 Underflow Subnormal Inexact Rounded Clamped

 ddmul758 multiply -1e-277 -1e-311 ->  0E-398 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 ddmul760 multiply 1e-291 1e-101 -> 1E-392 Subnormal

 ddmul761 multiply 1e-291 1e-102 -> 1E-393 Subnormal

 ddmul762 multiply 1e-291 1e-103 -> 1E-394 Subnormal

diff --git a/Lib/test/decimaltestdata/divide.decTest b/Lib/test/decimaltestdata/divide.decTest
index efbb5ba..a51aa5d 100644
--- a/Lib/test/decimaltestdata/divide.decTest
+++ b/Lib/test/decimaltestdata/divide.decTest
@@ -759,7 +759,7 @@
 
 -- overflow and underflow (additional edge tests in multiply.decTest)
 -- 'subnormal' results now possible (all hard underflow or overflow in
--- base arithemtic)
+-- base arithmetic)
 divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal
 divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal
 divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal
diff --git a/Lib/test/decimaltestdata/dqDivide.decTest b/Lib/test/decimaltestdata/dqDivide.decTest
index 3cf60c6..1d623ff 100644
--- a/Lib/test/decimaltestdata/dqDivide.decTest
+++ b/Lib/test/decimaltestdata/dqDivide.decTest
@@ -580,7 +580,7 @@
 dqdiv1757 divide -1e-4277  1e+3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped

 dqdiv1758 divide -1e-4277 -1e+3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dqdiv1760 divide 1e-6069 1e+101 -> 1E-6170 Subnormal

 dqdiv1761 divide 1e-6069 1e+102 -> 1E-6171 Subnormal

 dqdiv1762 divide 1e-6069 1e+103 -> 1E-6172 Subnormal

diff --git a/Lib/test/decimaltestdata/dqDivideInt.decTest b/Lib/test/decimaltestdata/dqDivideInt.decTest
index 3fec6db..ed74fe6 100644
--- a/Lib/test/decimaltestdata/dqDivideInt.decTest
+++ b/Lib/test/decimaltestdata/dqDivideInt.decTest
@@ -249,7 +249,7 @@
 dqdvi1057 divideint -1e-277  1e+311 -> -0

 dqdvi1058 divideint -1e-277 -1e+311 ->  0

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dqdvi1060 divideint 1e-291 1e+101 -> 0

 dqdvi1061 divideint 1e-291 1e+102 -> 0

 dqdvi1062 divideint 1e-291 1e+103 -> 0

diff --git a/Lib/test/decimaltestdata/dqFMA.decTest b/Lib/test/decimaltestdata/dqFMA.decTest
index 2353f2f..caa2402 100644
--- a/Lib/test/decimaltestdata/dqFMA.decTest
+++ b/Lib/test/decimaltestdata/dqFMA.decTest
@@ -26,7 +26,7 @@
 minExponent: -6143

 rounding:    half_even

 

--- These tests comprese three parts:

+-- These tests comprise three parts:

 --   1. Sanity checks and other three-operand tests (especially those

 --      where the fused operation makes a difference)

 --   2. Multiply tests (third operand is neutral zero [0E+emax])

@@ -476,7 +476,7 @@
 dqfma2757 fma  -1e-4277  1e-3311   0e+6144  -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped

 dqfma2758 fma  -1e-4277 -1e-3311   0e+6144  ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dqfma2760 fma  1e-6069 1e-101   0e+6144  -> 1E-6170 Subnormal

 dqfma2761 fma  1e-6069 1e-102   0e+6144  -> 1E-6171 Subnormal

 dqfma2762 fma  1e-6069 1e-103   0e+6144  -> 1E-6172 Subnormal

diff --git a/Lib/test/decimaltestdata/dqMultiply.decTest b/Lib/test/decimaltestdata/dqMultiply.decTest
index 676c1f5..f9df480 100644
--- a/Lib/test/decimaltestdata/dqMultiply.decTest
+++ b/Lib/test/decimaltestdata/dqMultiply.decTest
@@ -355,7 +355,7 @@
 dqmul757 multiply -1e-4277  1e-3311 -> -0E-6176 Underflow Subnormal Inexact Rounded Clamped

 dqmul758 multiply -1e-4277 -1e-3311 ->  0E-6176 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 dqmul760 multiply 1e-6069 1e-101 -> 1E-6170 Subnormal

 dqmul761 multiply 1e-6069 1e-102 -> 1E-6171 Subnormal

 dqmul762 multiply 1e-6069 1e-103 -> 1E-6172 Subnormal

diff --git a/Lib/test/decimaltestdata/fma.decTest b/Lib/test/decimaltestdata/fma.decTest
index 0b188fa..46672af 100644
--- a/Lib/test/decimaltestdata/fma.decTest
+++ b/Lib/test/decimaltestdata/fma.decTest
@@ -25,7 +25,7 @@
 maxExponent: 384

 minexponent: -383

 

--- These tests comprese three parts:

+-- These tests comprise three parts:

 --   1. Sanity checks and other three-operand tests (especially those

 --      where the fused operation makes a difference)

 --   2. Multiply tests (third operand is neutral zero [0E+emax])

@@ -610,7 +610,7 @@
 fmax2757 fma -1e-777777  1e-411111  0E+999999  -> -0E-1000007 Underflow Subnormal Inexact Rounded Clamped

 fmax2758 fma -1e-777777 -1e-411111  0E+999999  ->  0E-1000007 Underflow Subnormal Inexact Rounded Clamped

 

--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)

+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)

 precision: 9

 fmax2760 fma 1e-600000 1e-400001  0E+999999  -> 1E-1000001 Subnormal

 fmax2761 fma 1e-600000 1e-400002  0E+999999  -> 1E-1000002 Subnormal

diff --git a/Lib/test/decimaltestdata/multiply.decTest b/Lib/test/decimaltestdata/multiply.decTest
index e8bd77a..f291538 100644
--- a/Lib/test/decimaltestdata/multiply.decTest
+++ b/Lib/test/decimaltestdata/multiply.decTest
@@ -533,7 +533,7 @@
 mulx757 multiply -1e-777777777  1e-411111111 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
 mulx758 multiply -1e-777777777 -1e-411111111 ->  0E-1000000007 Underflow Subnormal Inexact Rounded Clamped
 
--- 'subnormal' boundary (all hard underflow or overflow in base arithemtic)
+-- 'subnormal' boundary (all hard underflow or overflow in base arithmetic)
 precision: 9
 mulx760 multiply 1e-600000000 1e-400000001 -> 1E-1000000001 Subnormal
 mulx761 multiply 1e-600000000 1e-400000002 -> 1E-1000000002 Subnormal
diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py
index 4f5b8a8..299af09 100644
--- a/Lib/test/test_binop.py
+++ b/Lib/test/test_binop.py
@@ -22,7 +22,7 @@
     return 0
 
 def isRat(x):
-    """Test wheter an object is an instance of the Rat class."""
+    """Test whether an object is an instance of the Rat class."""
     return isinstance(x, Rat)
 
 class Rat(object):
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index 8eede7a..3acfb92 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -1253,7 +1253,7 @@
         self.assertEqual(mock_int.__hash__.call_count, 2)
         self.assertEqual(f.cache_info(), (1, 1, 1, 1))
 
-        # Cache eviction: No use as an argument gives no additonal call
+        # Cache eviction: No use as an argument gives no additional call
         self.assertEqual(f(6, 2), 20)
         self.assertEqual(mock_int.__hash__.call_count, 2)
         self.assertEqual(f.cache_info(), (1, 2, 1, 1))
diff --git a/Lib/test/test_importlib/import_/test___package__.py b/Lib/test/test_importlib/import_/test___package__.py
index b26634e..761b256 100644
--- a/Lib/test/test_importlib/import_/test___package__.py
+++ b/Lib/test/test_importlib/import_/test___package__.py
@@ -11,7 +11,7 @@
 
 class Using__package__:
 
-    """Use of __package__ supercedes the use of __name__/__path__ to calculate
+    """Use of __package__ supersedes the use of __name__/__path__ to calculate
     what package a module belongs to. The basic algorithm is [__package__]::
 
       def resolve_name(name, package, level):
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 611692f..234f701 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -1598,19 +1598,19 @@
     def test_execve_invalid_env(self):
         args = [sys.executable, '-c', 'pass']
 
-        # null character in the enviroment variable name
+        # null character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT\0VEGETABLE"] = "cabbage"
         with self.assertRaises(ValueError):
             os.execve(args[0], args, newenv)
 
-        # null character in the enviroment variable value
+        # null character in the environment variable value
         newenv = os.environ.copy()
         newenv["FRUIT"] = "orange\0VEGETABLE=cabbage"
         with self.assertRaises(ValueError):
             os.execve(args[0], args, newenv)
 
-        # equal character in the enviroment variable name
+        # equal character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT=ORANGE"] = "lemon"
         with self.assertRaises(ValueError):
@@ -2430,7 +2430,7 @@
     def _test_invalid_env(self, spawn):
         args = [sys.executable, '-c', 'pass']
 
-        # null character in the enviroment variable name
+        # null character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT\0VEGETABLE"] = "cabbage"
         try:
@@ -2440,7 +2440,7 @@
         else:
             self.assertEqual(exitcode, 127)
 
-        # null character in the enviroment variable value
+        # null character in the environment variable value
         newenv = os.environ.copy()
         newenv["FRUIT"] = "orange\0VEGETABLE=cabbage"
         try:
@@ -2450,7 +2450,7 @@
         else:
             self.assertEqual(exitcode, 127)
 
-        # equal character in the enviroment variable name
+        # equal character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT=ORANGE"] = "lemon"
         try:
@@ -2460,7 +2460,7 @@
         else:
             self.assertEqual(exitcode, 127)
 
-        # equal character in the enviroment variable value
+        # equal character in the environment variable value
         filename = support.TESTFN
         self.addCleanup(support.unlink, filename)
         with open(filename, "w") as fp:
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index a99976a..d152826 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -668,25 +668,25 @@
             subprocess.Popen([sys.executable, "-c", "pass#\0"])
 
     def test_invalid_env(self):
-        # null character in the enviroment variable name
+        # null character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT\0VEGETABLE"] = "cabbage"
         with self.assertRaises(ValueError):
             subprocess.Popen([sys.executable, "-c", "pass"], env=newenv)
 
-        # null character in the enviroment variable value
+        # null character in the environment variable value
         newenv = os.environ.copy()
         newenv["FRUIT"] = "orange\0VEGETABLE=cabbage"
         with self.assertRaises(ValueError):
             subprocess.Popen([sys.executable, "-c", "pass"], env=newenv)
 
-        # equal character in the enviroment variable name
+        # equal character in the environment variable name
         newenv = os.environ.copy()
         newenv["FRUIT=ORANGE"] = "lemon"
         with self.assertRaises(ValueError):
             subprocess.Popen([sys.executable, "-c", "pass"], env=newenv)
 
-        # equal character in the enviroment variable value
+        # equal character in the environment variable value
         newenv = os.environ.copy()
         newenv["FRUIT"] = "orange=lemon"
         with subprocess.Popen([sys.executable, "-c",
diff --git a/Lib/test/test_warnings/__init__.py b/Lib/test/test_warnings/__init__.py
index 3481e9c..69623c4 100644
--- a/Lib/test/test_warnings/__init__.py
+++ b/Lib/test/test_warnings/__init__.py
@@ -950,7 +950,7 @@
             self.assertIs(wmod.filters, orig_filters)
 
     def test_record_override_showwarning_before(self):
-        # Issue #28835: If warnings.showwarning() was overriden, make sure
+        # Issue #28835: If warnings.showwarning() was overridden, make sure
         # that catch_warnings(record=True) overrides it again.
         text = "This is a warning"
         wmod = self.module
diff --git a/Lib/unittest/test/testmock/testmagicmethods.py b/Lib/unittest/test/testmock/testmagicmethods.py
index 24569b5..7993db3 100644
--- a/Lib/unittest/test/testmock/testmagicmethods.py
+++ b/Lib/unittest/test/testmock/testmagicmethods.py
@@ -255,7 +255,7 @@
 
         for entry in _magics:
             self.assertTrue(hasattr(mock, entry))
-        self.assertFalse(hasattr(mock, '__imaginery__'))
+        self.assertFalse(hasattr(mock, '__imaginary__'))
 
 
     def test_magic_mock_equality(self):
diff --git a/Misc/HISTORY b/Misc/HISTORY
index 4ce431f..4872cfc 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -1597,7 +1597,7 @@
   negative values the same way for keyword arguments as it does for
   positional arguments.
 
-- Issue #21812: turtle.shapetransform did not tranform the turtle on the
+- Issue #21812: turtle.shapetransform did not transform the turtle on the
   first call.  (Issue identified and fixed by Lita Cho.)
 
 - Issue #21635: The difflib SequenceMatcher.get_matching_blocks() method
@@ -3245,7 +3245,7 @@
 
 - Issue #19466: Clear the frames of daemon threads earlier during the
   Python shutdown to call objects destructors. So "unclosed file" resource
-  warnings are now corretly emitted for daemon threads.
+  warnings are now correctly emitted for daemon threads.
 
 - Issue #19514: Deduplicate some _Py_IDENTIFIER declarations.
   Patch by Andrei Dorian Duma.
@@ -3386,7 +3386,7 @@
 - Issue #19448: Add private API to SSL module to lookup ASN.1 objects by OID,
   NID, short name and long name.
 
-- Issue #19282: dbm.open now supports the context management protocol. (Inital
+- Issue #19282: dbm.open now supports the context management protocol. (Initial
   patch by Claudiu Popa)
 
 - Issue #8311: Added support for writing any bytes-like objects in the aifc,
@@ -3481,7 +3481,7 @@
 - Issue #19227: Remove pthread_atfork() handler. The handler was added to
   solve #18747 but has caused issues.
 
-- Issue #19420: Fix reference leak in module initalization code of
+- Issue #19420: Fix reference leak in module initialization code of
   _hashopenssl.c
 
 - Issue #19329: Optimized compiling charsets in regular expressions.
@@ -4175,7 +4175,7 @@
 
 - Issue #18709: Fix CVE-2013-4238. The SSL module now handles NULL bytes
   inside subjectAltName correctly. Formerly the module has used OpenSSL's
-  GENERAL_NAME_print() function to get the string represention of ASN.1
+  GENERAL_NAME_print() function to get the string representation of ASN.1
   strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and
   ``uniformResourceIdentifier`` (URI).
 
@@ -4268,7 +4268,7 @@
 Documentation
 -------------
 
-- Issue #18743: Fix references to non-existant "StringIO" module.
+- Issue #18743: Fix references to non-existent "StringIO" module.
 
 - Issue #18783: Removed existing mentions of Python long type in docstrings,
   error messages and comments.
@@ -5022,7 +5022,7 @@
   Thomas Barlow.
 
 - Issue #17358: Modules loaded by imp.load_source() and load_compiled() (and by
-  extention load_module()) now have a better chance of working when reloaded.
+  extension load_module()) now have a better chance of working when reloaded.
 
 - Issue #17804: New function ``struct.iter_unpack`` allows for streaming
   struct unpacking.
@@ -5135,8 +5135,8 @@
   error message has been removed.  Patch by Ram Rachum.
 
 - Issue #18080: When building a C extension module on OS X, if the compiler
-  is overriden with the CC environment variable, use the new compiler as
-  the default for linking if LDSHARED is not also overriden.  This restores
+  is overridden with the CC environment variable, use the new compiler as
+  the default for linking if LDSHARED is not also overridden.  This restores
   Distutils behavior introduced in 3.2.3 and inadvertently dropped in 3.3.0.
 
 - Issue #18113: Fixed a refcount leak in the curses.panel module's
@@ -5207,7 +5207,7 @@
   specifically addresses a stack misalignment issue on x86 and issues on
   some more recent platforms.
 
-- Issue #8862: Fixed curses cleanup when getkey is interrputed by a signal.
+- Issue #8862: Fixed curses cleanup when getkey is interrupted by a signal.
 
 - Issue #17443: imaplib.IMAP4_stream was using the default unbuffered IO
   in subprocess, but the imap code assumes buffered IO.  In Python2 this
@@ -5382,7 +5382,7 @@
   internal XML encoding is not UTF-8 or US-ASCII.  It also now accepts bytes
   and strings larger than 2 GiB.
 
-- Issue #6083: Fix multiple segmentation faults occured when PyArg_ParseTuple
+- Issue #6083: Fix multiple segmentation faults occurred when PyArg_ParseTuple
   parses nested mutating sequence.
 
 - Issue #5289: Fix ctypes.util.find_library on Solaris.
@@ -26790,7 +26790,7 @@
 
 filecmp - supersedes the old cmp.py and dircmp.py modules.
 
-tabnanny - check Python sources for tab-width dependance.  (Moved from
+tabnanny - check Python sources for tab-width dependence.  (Moved from
 Tools/scripts/.)
 
 urllib2 - new and improved but incompatible version of urllib (still
diff --git a/Misc/NEWS b/Misc/NEWS
index 38449c0..1ef2892 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -454,7 +454,7 @@
   Rodola'.
 
 - bpo-30595: multiprocessing.Queue.get() with a timeout now polls its reader in
-  non-blocking mode if it succeeded to aquire the lock but the acquire took
+  non-blocking mode if it succeeded to acquire the lock but the acquire took
   longer than the timeout.
 
 - bpo-28556: Updates to typing module: Add generic AsyncContextManager, add
@@ -892,7 +892,7 @@
   re.sub() replacement templates regular expressions now are errors.
 
 - Issue #28835: Fix a regression introduced in warnings.catch_warnings():
-  call warnings.showwarning() if it was overriden inside the context manager.
+  call warnings.showwarning() if it was overridden inside the context manager.
 
 - Issue #27172: To assist with upgrades from 2.7, the previously documented
   deprecation of ``inspect.getfullargspec()`` has been reversed. This decision
@@ -1680,7 +1680,7 @@
   again.  But they still are deprecated and will be disabled in 3.7.
 
 - Issue #28835: Fix a regression introduced in warnings.catch_warnings():
-  call warnings.showwarning() if it was overriden inside the context manager.
+  call warnings.showwarning() if it was overridden inside the context manager.
 
 - Issue #27172: To assist with upgrades from 2.7, the previously documented
   deprecation of ``inspect.getfullargspec()`` has been reversed. This decision
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index fc953af..fe39567 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -3670,7 +3670,7 @@
             */
             if (ob == NULL)
                 goto error;
-            /* The .from_param call that will ocurr later will pass this
+            /* The .from_param call that will occur later will pass this
                as a byref parameter. */
             PyTuple_SET_ITEM(callargs, i, ob);
             *poutmask |= (1 << i); /* mark as out arg */
diff --git a/Modules/_lzmamodule.c b/Modules/_lzmamodule.c
index bb77552..26bfa0b 100644
--- a/Modules/_lzmamodule.c
+++ b/Modules/_lzmamodule.c
@@ -824,7 +824,7 @@
 "be FORMAT_XZ (default), FORMAT_ALONE, or FORMAT_RAW.\n"
 "\n"
 "check specifies the integrity check to use. For FORMAT_XZ, the default\n"
-"is CHECK_CRC64. FORMAT_ALONE and FORMAT_RAW do not suport integrity\n"
+"is CHECK_CRC64. FORMAT_ALONE and FORMAT_RAW do not support integrity\n"
 "checks; for these formats, check must be omitted, or be CHECK_NONE.\n"
 "\n"
 "The settings used by the compressor can be specified either as a\n"
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 0c6723f..2e5e79a 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -1038,7 +1038,7 @@
     }
     else if (is_buffer) {
         /* XXX Replace PyObject_CheckBuffer with PyBytes_Check in other code
-           after removing suport of non-bytes buffer objects. */
+           after removing support of non-bytes buffer objects. */
         if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
             "%s%s%s should be %s, not %.200s",
             path->function_name ? path->function_name : "",
diff --git a/Python/ceval.c b/Python/ceval.c
index dd90e18..be5cda5 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -3313,7 +3313,7 @@
                                     ^- (-oparg-1)
                              ^- (-oparg-2)
 
-                   `callable` will be POPed by call_funtion.
+                   `callable` will be POPed by call_function.
                    NULL will will be POPed manually later.
                 */
                 res = call_function(&sp, oparg, NULL);