Previously, Python code had no easy way to access the contents of a

cell object. Now, a ``cell_contents`` attribute has been added
(closes patch #1170323).
This commit is contained in:
Georg Brandl 2006-03-18 07:59:59 +00:00
parent 237037beb5
commit abd1ff8f1f
2 changed files with 23 additions and 0 deletions

View File

@ -12,6 +12,10 @@ What's New in Python 2.5 alpha 1?
Core and builtins
-----------------
- Previously, Python code had no easy way to access the contents of a
cell object. Now, a ``cell_contents`` attribute has been added
(closes patch #1170323).
- Patch #1123430: Python's small-object allocator now returns an arena to
the system ``free()`` when all memory within an arena becomes unused
again. Prior to Python 2.5, arenas (256KB chunks of memory) were never

View File

@ -86,6 +86,18 @@ cell_clear(PyCellObject *op)
return 0;
}
static PyObject *
cell_get_contents(PyCellObject *op, void *closure)
{
Py_XINCREF(op->ob_ref);
return op->ob_ref;
}
static PyGetSetDef cell_getsetlist[] = {
{"cell_contents", (getter)cell_get_contents, NULL},
{NULL} /* sentinel */
};
PyTypeObject PyCell_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@ -111,4 +123,11 @@ PyTypeObject PyCell_Type = {
0, /* tp_doc */
(traverseproc)cell_traverse, /* tp_traverse */
(inquiry)cell_clear, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
0, /* tp_iter */
0, /* tp_iternext */
0, /* tp_methods */
0, /* tp_members */
cell_getsetlist, /* tp_getset */
};