bpo-39136: Fixed typos (GH-17720)

funtion -> function; configuraton -> configuration; defintitions -> definitions;
focusses -> focuses; necesarily -> necessarily; follwing -> following;
Excape -> Escape,
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 86bf7f9..3887937 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -1189,7 +1189,7 @@
 the main interpreter has unique process-global responsibilities like signal
 handling.  It is also responsible for execution during runtime initialization and
 is usually the active interpreter during runtime finalization.  The
-:c:func:`PyInterpreterState_Main` funtion returns a pointer to its state.
+:c:func:`PyInterpreterState_Main` function returns a pointer to its state.
 
 You can switch between sub-interpreters using the :c:func:`PyThreadState_Swap`
 function. You can create and destroy them using the following functions:
diff --git a/Doc/c-api/init_config.rst b/Doc/c-api/init_config.rst
index 6b16b5b..79a8815 100644
--- a/Doc/c-api/init_config.rst
+++ b/Doc/c-api/init_config.rst
@@ -757,7 +757,7 @@
         PyConfig config;
         PyConfig_InitPythonConfig(&config);
 
-        /* Set the program name before reading the configuraton
+        /* Set the program name before reading the configuration
            (decode byte string from the locale encoding).
 
            Implicitly preinitialize Python. */
diff --git a/Doc/c-api/structures.rst b/Doc/c-api/structures.rst
index 1bd769f..0c66138 100644
--- a/Doc/c-api/structures.rst
+++ b/Doc/c-api/structures.rst
@@ -350,7 +350,7 @@
    .. _pymemberdef-offsets:
 
    Heap allocated types (created using :c:func:`PyType_FromSpec` or similar),
-   ``PyMemberDef`` may contain defintitions for the special members
+   ``PyMemberDef`` may contain definitions for the special members
    ``__dictoffset__`` and ``__weaklistoffset__``, corresponding to
    :c:member:`~PyTypeObject.tp_dictoffset` and
    :c:member:`~PyTypeObject.tp_weaklistoffset` in type objects.
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 9d45765..70b11d6 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1019,7 +1019,7 @@
 remember before diving further:
 
 * Performance characteristics vary across Python implementations.  This FAQ
-  focusses on :term:`CPython`.
+  focuses on :term:`CPython`.
 * Behaviour can vary across operating systems, especially when talking about
   I/O or multi-threading.
 * You should always find the hot spots in your program *before* attempting to
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index baf563f..190d928 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -168,7 +168,7 @@
    back with :func:`ast.parse`.
 
    .. warning::
-      The produced code string will not necesarily be equal to the original
+      The produced code string will not necessarily be equal to the original
       code that generated the :class:`ast.AST` object.
 
    .. versionadded:: 3.9
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 73b3fe5..54ad620d 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -1577,7 +1577,7 @@
 The :mod:`test.support.bytecode_helper` module provides support for testing
 and inspecting bytecode generation.
 
-The module defines the follwing class:
+The module defines the following class:
 
 .. class:: BytecodeTestCase(unittest.TestCase)