#4592: fix embedding example with new C API changes.
diff --git a/Doc/extending/embedding.rst b/Doc/extending/embedding.rst
index e5c7da1..5c4fde8 100644
--- a/Doc/extending/embedding.rst
+++ b/Doc/extending/embedding.rst
@@ -223,11 +223,17 @@
        NULL, NULL, NULL, NULL
    };
 
+   static PyObject*
+   PyInit_emb(void)
+   {
+       return PyModule_Create(&EmbModule);
+   }
+
 Insert the above code just above the :cfunc:`main` function. Also, insert the
-following two statements directly after :cfunc:`Py_Initialize`::
+following two statements before the call to :cfunc:`Py_Initialize`::
 
    numargs = argc;
-   PyModule_Create(&EmbModule);
+   PyImport_AppendInittab("emb", &PyInit_emb);
 
 These two lines initialize the ``numargs`` variable, and make the
 :func:`emb.numargs` function accessible to the embedded Python interpreter.
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst
index 851e99f..c05bcfd 100644
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -342,7 +342,7 @@
 so that it then gets inserted into ``sys.modules``.
 
 When embedding Python, the :cfunc:`PyInit_spam` function is not called
-automatically unless there's an entry in the :cdata:`_PyImport_Inittab` table.
+automatically unless there's an entry in the :cdata:`PyImport_Inittab` table.
 To add the module to the initialization table, use :cfunc:`PyImport_AppendInittab`,
 optionally followed by an import of the module::