(original) (raw)

changeset: 105569:5d51ac0be72a branch: 3.5 parent: 105565:8e36c04d0e3e user: Martin Panter vadmium+py@gmail.com date: Sat Dec 10 05:56:13 2016 +0000 files: Doc/c-api/typeobj.rst description: Issue #28771: Update tp_get/setattr signature documentation diff -r 8e36c04d0e3e -r 5d51ac0be72a Doc/c-api/typeobj.rst --- a/Doc/c-api/typeobj.rst Sat Dec 10 05:12:56 2016 +0000 +++ b/Doc/c-api/typeobj.rst Sat Dec 10 05:56:13 2016 +0000 @@ -199,8 +199,9 @@ This field is deprecated. When it is defined, it should point to a function that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, but taking a C string - instead of a Python string object to give the attribute name. The signature is - the same as for :c:func:`PyObject_GetAttrString`. + instead of a Python string object to give the attribute name. The signature is :: + + PyObject * tp_getattr(PyObject *o, char *attr_name); This field is inherited by subtypes together with :c:member:`~PyTypeObject.tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject.tp_getattro` from its base type when @@ -213,10 +214,11 @@ This field is deprecated. When it is defined, it should point to a function that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, but taking a C string - instead of a Python string object to give the attribute name. The signature is - the same as for :c:func:`PyObject_SetAttrString`, but setting - *v* to *NULL* to delete an attribute must be supported. + instead of a Python string object to give the attribute name. The signature is :: + PyObject * tp_setattr(PyObject *o, char *attr_name, PyObject *v); + + The *v* argument is set to *NULL* to delete the attribute. This field is inherited by subtypes together with :c:member:`~PyTypeObject.tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject.tp_setattro` from its base type when the subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject.tp_setattro` are both *NULL*. /vadmium+py@gmail.com