Issue #8983: Corrected docstrings.
diff --git a/Lib/doctest.py b/Lib/doctest.py
index d1b96d4..0a0dafd 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -1786,7 +1786,7 @@
 
     Return (#failures, #tests).
 
-    See doctest.__doc__ for an overview.
+    See help(doctest) for an overview.
 
     Optional keyword arg "name" gives the name of the module; by default
     use m.__name__.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index 3bc220b..61c2502 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -159,7 +159,7 @@
 
     Generator function objects provides same attributes as functions.
 
-    See isfunction.__doc__ for attributes listing."""
+    See help(isfunction) for attributes listing."""
     return bool((isfunction(object) or ismethod(object)) and
                 object.__code__.co_flags & CO_GENERATOR)
 
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index 3037967..a7fb017 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -1078,7 +1078,7 @@
 "allocate_lock() -> lock object\n\
 (allocate() is an obsolete synonym)\n\
 \n\
-Create a new lock object.  See LockType.__doc__ for information about locks.");
+Create a new lock object.  See help(LockType) for information about locks.");
 
 static PyObject *
 thread_get_ident(PyObject *self)
diff --git a/Modules/pwdmodule.c b/Modules/pwdmodule.c
index b303f95..4e6bd2f 100644
--- a/Modules/pwdmodule.c
+++ b/Modules/pwdmodule.c
@@ -100,7 +100,7 @@
 "getpwuid(uid) -> (pw_name,pw_passwd,pw_uid,\n\
                   pw_gid,pw_gecos,pw_dir,pw_shell)\n\
 Return the password database entry for the given numeric user ID.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwuid(PyObject *self, PyObject *args)
@@ -121,7 +121,7 @@
 "getpwnam(name) -> (pw_name,pw_passwd,pw_uid,\n\
                     pw_gid,pw_gecos,pw_dir,pw_shell)\n\
 Return the password database entry for the given user name.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwnam(PyObject *self, PyObject *args)
@@ -152,7 +152,7 @@
 "getpwall() -> list_of_entries\n\
 Return a list of all available password database entries, \
 in arbitrary order.\n\
-See pwd.__doc__ for more on password database entries.");
+See help(pwd) for more on password database entries.");
 
 static PyObject *
 pwd_getpwall(PyObject *self)
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 7bb6864..1babcb6 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2515,7 +2515,7 @@
     {"__instancecheck__", type___instancecheck__, METH_O,
      PyDoc_STR("__instancecheck__() -> check if an object is an instance")},
     {"__subclasscheck__", type___subclasscheck__, METH_O,
-     PyDoc_STR("__subclasschck__ -> check if an class is a subclass")},
+     PyDoc_STR("__subclasscheck__() -> check if a class is a subclass")},
     {0}
 };
 
@@ -5521,7 +5521,7 @@
            wrap_descr_delete, "descr.__delete__(obj)"),
     FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
            "x.__init__(...) initializes x; "
-           "see x.__class__.__doc__ for signature",
+           "see help(type(x)) for signature",
            PyWrapperFlag_KEYWORDS),
     TPSLOT("__new__", tp_new, slot_tp_new, NULL, ""),
     TPSLOT("__del__", tp_del, slot_tp_del, NULL, ""),