diff options
author | Guido van Rossum <guido@python.org> | 1998-06-27 18:28:59 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-06-27 18:28:59 (GMT) |
commit | 8a92c627d96b3548cf0bdcc8ff895d9d4be7b0ff (patch) | |
tree | 504a05a0faf623edfcf3c2d1fedf752952e9a9b2 | |
parent | 73d8bff44db83299d5642fc2c57b761aa9feaabf (diff) | |
download | cpython-8a92c627d96b3548cf0bdcc8ff895d9d4be7b0ff.zip cpython-8a92c627d96b3548cf0bdcc8ff895d9d4be7b0ff.tar.gz cpython-8a92c627d96b3548cf0bdcc8ff895d9d4be7b0ff.tar.bz2 |
New feature: if the object's type has a non-NULL tp_doc field, that
is returned as the object's __doc__ attribute.
(If only the list of methods would be referenced from the type...)
-rw-r--r-- | Objects/methodobject.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Objects/methodobject.c b/Objects/methodobject.c index 7b47c3f..529e2a1 100644 --- a/Objects/methodobject.c +++ b/Objects/methodobject.c @@ -250,8 +250,15 @@ Py_FindMethodInChain(chain, self, name) PyObject *self; char *name; { - if (strcmp(name, "__methods__") == 0) - return listmethodchain(chain); + if (name[0] == '_' && name[1] == '_') { + if (strcmp(name, "__methods__") == 0) + return listmethodchain(chain); + if (strcmp(name, "__doc__") == 0) { + char *doc = self->ob_type->tp_doc; + if (doc != NULL) + return PyString_FromString(doc); + } + } while (chain != NULL) { PyMethodDef *ml = chain->methods; for (; ml->ml_name != NULL; ml++) { |