[3.10] Fix typos in the Objects directory (GH-28766) (GH-28797)



(cherry picked from commit 5f401f10400123afa9171548c432ea3fc37c0736)

Automerge-Triggered-By: GH:JulienPalard
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 92faa7c..e4ce7e7 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -2350,7 +2350,7 @@ _PyFloat_Pack8(double x, unsigned char *p, int le)
             flo = 0;
             ++fhi;
             if (fhi >> 28) {
-                /* And it also progagated out of the next 28 bits. */
+                /* And it also propagated out of the next 28 bits. */
                 fhi = 0;
                 ++e;
                 if (e >= 2047)
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 898cbc2..533ee74 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -2024,7 +2024,7 @@ safe_object_compare(PyObject *v, PyObject *w, MergeState *ms)
     return PyObject_RichCompareBool(v, w, Py_LT);
 }
 
-/* Homogeneous compare: safe for any two compareable objects of the same type.
+/* Homogeneous compare: safe for any two comparable objects of the same type.
  * (ms->key_richcompare is set to ob_type->tp_richcompare in the
  *  pre-sort check.)
  */
diff --git a/Objects/listsort.txt b/Objects/listsort.txt
index 174777a..42809d7 100644
--- a/Objects/listsort.txt
+++ b/Objects/listsort.txt
@@ -758,6 +758,6 @@
 As noted above, even the simplest Python comparison triggers a large pile of
 C-level pointer dereferences, conditionals, and function calls.  This can be
 partially mitigated by pre-scanning the data to determine whether the data is
-homogenous with respect to type.  If so, it is sometimes possible to
+homogeneous with respect to type.  If so, it is sometimes possible to
 substitute faster type-specific comparisons for the slower, generic
 PyObject_RichCompareBool.
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
index 1e06bee..15c442b 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -836,7 +836,7 @@ static int running_on_valgrind = -1;
 
 /*
  * Alignment of addresses returned to the user. 8-bytes alignment works
- * on most current architectures (with 32-bit or 64-bit address busses).
+ * on most current architectures (with 32-bit or 64-bit address buses).
  * The alignment value is also used for grouping small requests in size
  * classes spaced ALIGNMENT bytes apart.
  *
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 9d4cfd3..6524963 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -1407,7 +1407,7 @@ set_difference_update_internal(PySetObject *so, PyObject *other)
 
         /* Optimization:  When the other set is more than 8 times
            larger than the base set, replace the other set with
-           interesection of the two sets.
+           intersection of the two sets.
         */
         if ((PySet_GET_SIZE(other) >> 3) > PySet_GET_SIZE(so)) {
             other = set_intersection(so, other);
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 849dd5c..11a3a6d 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -7473,7 +7473,7 @@ PyUnicode_AsASCIIString(PyObject *unicode)
 #endif
 
 /* INT_MAX is the theoretical largest chunk (or INT_MAX / 2 when
-   transcoding from UTF-16), but INT_MAX / 4 perfoms better in
+   transcoding from UTF-16), but INT_MAX / 4 performs better in
    both cases also and avoids partial characters overrunning the
    length limit in MultiByteToWideChar on Windows */
 #define DECODING_CHUNK_SIZE (INT_MAX/4)
@@ -16149,7 +16149,7 @@ init_fs_codec(PyInterpreterState *interp)
     _Py_error_handler error_handler;
     error_handler = get_error_handler_wide(config->filesystem_errors);
     if (error_handler == _Py_ERROR_UNKNOWN) {
-        PyErr_SetString(PyExc_RuntimeError, "unknow filesystem error handler");
+        PyErr_SetString(PyExc_RuntimeError, "unknown filesystem error handler");
         return -1;
     }