[3.10] Fix typos in the Python directory (GH-28767) (GH-28799)

(cherry picked from commit db693df3e112c5a61f2cbef63eedce3a36520ded)
diff --git a/Python/compile.c b/Python/compile.c
index 97aa224..9086103 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -6157,7 +6157,7 @@ compiler_pattern_or(struct compiler *c, pattern_ty p, pattern_context *pc)
                     // cases, though.
                     assert(istores < icontrol);
                     Py_ssize_t rotations = istores + 1;
-                    // Perfom the same rotation on pc->stores:
+                    // Perform the same rotation on pc->stores:
                     PyObject *rotated = PyList_GetSlice(pc->stores, 0,
                                                         rotations);
                     if (rotated == NULL ||
@@ -6785,7 +6785,7 @@ consts_dict_keys_inorder(PyObject *dict)
         return NULL;
     while (PyDict_Next(dict, &pos, &k, &v)) {
         i = PyLong_AS_LONG(v);
-        /* The keys of the dictionary can be tuples wrapping a contant.
+        /* The keys of the dictionary can be tuples wrapping a constant.
          * (see compiler_add_o and _PyCode_ConstantKey). In that case
          * the object we want is always second. */
         if (PyTuple_CheckExact(k)) {
diff --git a/Python/fileutils.c b/Python/fileutils.c
index 9e732dd..c3144ee 100644
--- a/Python/fileutils.c
+++ b/Python/fileutils.c
@@ -220,7 +220,7 @@ check_force_ascii(void)
         ch = (unsigned char)0xA7;
         res = _Py_mbstowcs(&wch, (char*)&ch, 1);
         if (res != DECODE_ERROR && wch == L'\xA7') {
-            /* On HP-UX withe C locale or the POSIX locale,
+            /* On HP-UX with C locale or the POSIX locale,
                nl_langinfo(CODESET) announces "roman8", whereas mbstowcs() uses
                Latin1 encoding in practice. Force ASCII in this case.
 
diff --git a/Python/import.c b/Python/import.c
index 50f4956..acfe969 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2195,7 +2195,7 @@ _PyImport_BootstrapImp(PyThreadState *tstate)
     // Mock a ModuleSpec object just good enough for PyModule_FromDefAndSpec():
     // an object with just a name attribute.
     //
-    // _imp.__spec__ is overriden by importlib._bootstrap._instal() anyway.
+    // _imp.__spec__ is overridden by importlib._bootstrap._instal() anyway.
     PyObject *attrs = Py_BuildValue("{sO}", "name", name);
     if (attrs == NULL) {
         goto error;
diff --git a/Python/initconfig.c b/Python/initconfig.c
index 27ae48d..b298611 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -2464,7 +2464,7 @@ warnoptions_append(PyConfig *config, PyWideStringList *options,
 {
     /* config_init_warnoptions() add existing config warnoptions at the end:
        ensure that the new option is not already present in this list to
-       prevent change the options order whne config_init_warnoptions() is
+       prevent change the options order when config_init_warnoptions() is
        called twice. */
     if (_PyWideStringList_Find(&config->warnoptions, option)) {
         /* Already present: do nothing */
diff --git a/Python/pathconfig.c b/Python/pathconfig.c
index 470aba7..1017a57 100644
--- a/Python/pathconfig.c
+++ b/Python/pathconfig.c
@@ -405,7 +405,7 @@ config_init_pathconfig(PyConfig *config, int compute_path_config)
 #undef COPY_ATTR
 
 #ifdef MS_WINDOWS
-    /* If a ._pth file is found: isolated and site_import are overriden */
+    /* If a ._pth file is found: isolated and site_import are overridden */
     if (pathconfig.isolated != -1) {
         config->isolated = pathconfig.isolated;
     }
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 8d9f640..5704bcc 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -2,7 +2,7 @@
 /* Top level execution of Python code (including in __main__) */
 
 /* To help control the interfaces between the startup, execution and
- * shutdown code, the phases are split across separate modules (boostrap,
+ * shutdown code, the phases are split across separate modules (bootstrap,
  * pythonrun, shutdown)
  */
 
@@ -943,7 +943,7 @@ print_exception(PyObject *f, PyObject *value)
                 if (end_lineno > lineno) {
                     end_offset = (error_line != NULL) ? line_size : -1;
                 }
-                // Limit the ammount of '^' that we can display to
+                // Limit the amount of '^' that we can display to
                 // the size of the text in the source line.
                 if (error_line != NULL && end_offset > line_size + 1) {
                     end_offset = line_size + 1;