this in module initialization before calling PyType_Ready. (Sorry
Tim.) This is necessary to compile on cygwin. AFAIK, we support
cygwin. If so, then we need to write extentions this way.
Fixed bug in implementation of tp_init function. It should be an int
function, not a PyObject *.
Changed the example to show how to create types the new way:
- Use a class new method rather than a new function.
- Use self->ob_type->tp_free in deallocators
- Use attribute descriptors rather than set/getattr methods.
- Make the type usable as a base type.
I split the example into 3 parts:
1. The minimal new type
2. Adding attributes and methods.
3. Finer control over attributes.
It's much simpler to define builtin types. These updates hopefully
show this.
I also made minor wording changes in two other places.
I still need to update xxobject.c
document to the C API reference. Move some instructional text from the API
reference to the Extending & Embedding manual.
Fix the descriptions of the es and es# formats for PyArg_Parse*().
This closes SF bug #536516.
include them using \verbatiminput. This has the advantage that pages
can still break at reasonable places, and examples that go longer than
a page won't get cut off.
Make a few small markup adjustments for consistency.
Explain that PyObject_New() is not a C function but a polymorphic
beast that returns a pointer to the type that's passed as the first
arg.
Explain why type objects use the PyObject_VAR_HEAD.