Commit Graph

44 Commits

Author SHA1 Message Date
Georg Brandl 1d56c2ff6a Patch #1671450: add a section about subclassing builtin types to the
"extending and embedding" tutorial.
 (backport from rev. 54150)
2007-03-06 10:02:59 +00:00
Fred Drake 45540b0922 SF bug #1193966: Weakref types documentation misplaced
The information about supporting weakrefs with types defined in C extensions
is moved to the Extending & Embedding manual.  Py_TPFLAGS_HAVE_WEAKREFS is
no longer mentioned since it is part of Py_TPFLAGS_DEFAULT.
2006-07-29 20:04:42 +00:00
Fred Drake 4a847888a7 document the footnote usage pattern 2006-07-29 19:09:01 +00:00
Fred Drake 84608f0c67 make the reference to older versions of the documentation a link
to the right page on python.org
2006-07-29 18:33:29 +00:00
Raymond Hettinger 2a216794f0 SF bug #1066036: Typo about PyErr_WriteUnraisable() 2004-11-18 06:50:19 +00:00
Tim Peters 5960d80e11 s/it's/its/, s/NULL/NULL{}/, where appropriate. 2004-07-15 04:23:13 +00:00
Tim Peters eda29306b3 Formalize that the Py_VISIT macro requires that the tp_traverse
implementation it's used in must give its arguments specific names.
2004-07-15 04:05:59 +00:00
Jim Fulton 7a0e8bc283 Updated documentation to:
- point out the importance of reassigning data members before
  assigning thier values

- correct my missconception about return values from visitprocs. Sigh.

- mention the labor saving Py_VISIT and Py_CLEAR macros.
2004-07-14 19:07:24 +00:00
Phillip J. Eby de48307f76 Added documentation to address SF bug #963246: limitations on multiple
inheritance in Python when a C type is one of the bases.
2004-06-06 15:59:18 +00:00
Raymond Hettinger 2619c9ec89 SF patch #838938: Typos in the docs (Extending/Embedding + Python/C API)
(Contributed by Florent Rougon.)
2003-12-07 11:40:17 +00:00
Walter Dörwald f0dfc7ac5c Fix a bunch of typos in documentation, docstrings and comments.
(From SF patch #810751)
2003-10-20 14:01:56 +00:00
Fred Drake a26c16c821 fix \NULL with following space and no {} (two instances) 2003-09-07 02:33:37 +00:00
Raymond Hettinger f17d65da3a SF patch#786531 'the the' typo. Contributed by George Yoshida 2003-08-12 00:01:16 +00:00
Fred Drake 901a41e757 normalize markup for consistency 2003-07-01 16:17:50 +00:00
Barry Warsaw 6891cd3aa3 A few minor improvements 2003-06-28 15:22:16 +00:00
Jim Fulton 6c71091fbe Rewrote the docs for supporting cyclic garbage collection to reflect
the new way that once writes types.

Deleted the old section and sample code and added a new section
building on the Noddy example.
2003-06-28 13:29:16 +00:00
Jim Fulton db6a569de7 Changed the assignment of PyType_GenericNew to tp_new slot. Now do
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 *.
2003-06-28 11:53:12 +00:00
Raymond Hettinger 047c54bb24 Missing parenthesis. 2003-05-16 14:36:26 +00:00
Jim Fulton a24d73ddb1 Added a missing PyObject* cast to the dealloc examples.
Added a note that the mechanism for defining new tyoes documented here
only works for Python 2.2 and higher.
2003-05-16 13:51:58 +00:00
Jim Fulton aea763bde7 Removed reference to the out-of-date (and not very useful)
Objects/xxobject.c example.

Updated the discussion of type checking to refer to
PyObject_TypeCheck.
2003-05-16 13:32:59 +00:00
Jim Fulton 3ff5bb20b7 Fixed small typo Pointed out by Michael Hudson. 2003-05-08 10:35:07 +00:00
Jim Fulton 83cedcf660 Fixed a typo in an example dealloc routine that calls it's "self"
argument "obj" rather than "self".
2003-05-08 10:32:10 +00:00
Jim Fulton aed0a4a138 Rewrote the basic section of the chapter on defining new types.
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
2003-05-07 19:48:13 +00:00
Greg Ward d4fee28717 Rewrite awkward/ungrammatical sentence.
Typo fix.
2003-01-08 03:02:26 +00:00
Greg Ward fdf65d9106 Grammatical fix: change possessive "it's" to "its". 2003-01-03 21:09:57 +00:00
Greg Ward 3ebf56c60f Two more typo fixes. 2002-12-17 23:27:41 +00:00
Greg Ward 1d5d8cf61f Typo fix. 2002-12-17 18:14:21 +00:00
Fred Drake a3cd9bbaa3 Remove now-obsolete staticforward/statichere discussion. 2002-07-17 16:40:39 +00:00
Fred Drake 9aa97e835d Minor wording changes, plus correct a typo. 2002-05-14 22:02:07 +00:00
Fred Drake 292da58a5c Change the type of the tp_dealloc back to what it really is.
Change a section title to fit in better.
2002-04-12 18:28:08 +00:00
Fred Drake 0babc44ab2 Update the type of tp_dealloc. 2002-04-12 15:37:43 +00:00
Fred Drake 68304ccce3 Move reference material on PyArg_Parse*() out of the Extending & Embedding
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.
2002-04-05 23:01:14 +00:00
Fred Drake 103b548a76 Add a note warning against semicolons following PyObject_HEAD.
Minor cleanups.
2002-04-02 15:42:46 +00:00
Fred Drake 0ffd14c9ea Started updating information about defining attributes on types.
There's still a long way to go, but we're starting to see some real
content in the docs.
2002-03-29 22:45:28 +00:00
Fred Drake 0f9a34da2c Added comments for more entries of the type structure in the example
type implementation.
2002-03-28 23:45:22 +00:00
Fred Drake 81b750d467 Move some of the longer example code to external fragments, and
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.
2002-03-28 23:12:09 +00:00
Fred Drake 5d117472b4 Describe how to support the iterator protocol in extension types.
This closes SF bug #420851.
2002-03-13 03:55:11 +00:00
Michael W. Hudson 8fbd4a3e78 That hasn't been my email address for a while! 2002-01-16 14:55:05 +00:00
Fred Drake 145b479508 Added discussion of protecting against screwing up the exception state in
an object's deallocator, including an example of how to do this.
2001-12-11 19:28:22 +00:00
Fred Drake ef6373a4f6 Exhibit good form in C code: always provide docstrings in method tables, and
always fill in all slots of table entries.
Fixed a few minor markup errors.
2001-11-17 06:50:42 +00:00
Guido van Rossum 7a59445e37 Document required return values -1, 0, 1 for tp_compare handler, as
suggested in SF patch #424475.  Also document exception return.
2001-10-16 20:32:05 +00:00
Fred Drake 3ab0ac7cd4 Remove comment that no longer applies. 2001-09-26 22:26:45 +00:00
Barry Warsaw da21ce3e31 On Fred's suggestion, convert sprintf() examples to use
PyString_FromFormat().  Also fixed one grammar problem, and a few
other mark-up issues.  Sample code not checked.
2001-08-29 01:41:58 +00:00
Fred Drake cc8f44b884 Split "Extending & Embedding" into separate files, one per chapter. 2001-08-20 19:30:29 +00:00