]> granicus.if.org Git - python/commitdiff
bpo-20285: Improve help docs for object (GH-4759)
authorCheryl Sabella <cheryl.sabella@gmail.com>
Fri, 24 May 2019 10:43:29 +0000 (06:43 -0400)
committerGitHub <noreply@github.com>
Fri, 24 May 2019 10:43:29 +0000 (06:43 -0400)
Lib/pydoc.py
Misc/NEWS.d/next/Documentation/2017-12-08-20-30-37.bpo-20285.cfnp0J.rst [new file with mode: 0644]
Objects/typeobject.c

index 86ccfe041f6675e20af0aebd1378e406e1306941..679a596821f478ba222e2d21f82785e76f7c573e 100644 (file)
@@ -867,7 +867,7 @@ class HTMLDoc(Doc):
                 thisclass = attrs[0][2]
             attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
 
-            if thisclass is builtins.object:
+            if object is not builtins.object and thisclass is builtins.object:
                 attrs = inherited
                 continue
             elif thisclass is object:
@@ -1327,7 +1327,7 @@ location listed above.
                 thisclass = attrs[0][2]
             attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
 
-            if thisclass is builtins.object:
+            if object is not builtins.object and thisclass is builtins.object:
                 attrs = inherited
                 continue
             elif thisclass is object:
diff --git a/Misc/NEWS.d/next/Documentation/2017-12-08-20-30-37.bpo-20285.cfnp0J.rst b/Misc/NEWS.d/next/Documentation/2017-12-08-20-30-37.bpo-20285.cfnp0J.rst
new file mode 100644 (file)
index 0000000..ebe0c3f
--- /dev/null
@@ -0,0 +1,3 @@
+Expand object.__doc__ (docstring) to make it clearer.
+Modify pydoc.py so that help(object) lists object methods
+(for other classes, help omits methods of the object base class.)
index 49b45b8518cc45ec18add7da46fdc29f896aeaee..339f7285292c53ff98784f63e3d84ad4e00d09e6 100644 (file)
@@ -4750,6 +4750,11 @@ static PyMethodDef object_methods[] = {
     {0}
 };
 
+PyDoc_STRVAR(object_doc,
+"object()\n--\n\n"
+"The base class of the class hierarchy.\n\n"
+"When called, it accepts no arguments and returns a new featureless\n"
+"instance that has no instance attributes and cannot be given any.\n");
 
 PyTypeObject PyBaseObject_Type = {
     PyVarObject_HEAD_INIT(&PyType_Type, 0)
@@ -4772,7 +4777,7 @@ PyTypeObject PyBaseObject_Type = {
     PyObject_GenericSetAttr,                    /* tp_setattro */
     0,                                          /* tp_as_buffer */
     Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,   /* tp_flags */
-    PyDoc_STR("object()\n--\n\nThe most base type"),  /* tp_doc */
+    object_doc,                                 /* tp_doc */
     0,                                          /* tp_traverse */
     0,                                          /* tp_clear */
     object_richcompare,                         /* tp_richcompare */