Spelling fixes (#2902)

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):