mirror of https://github.com/python/cpython
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:
parent
237037beb5
commit
abd1ff8f1f
|
@ -12,6 +12,10 @@ What's New in Python 2.5 alpha 1?
|
||||||
Core and builtins
|
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
|
- Patch #1123430: Python's small-object allocator now returns an arena to
|
||||||
the system ``free()`` when all memory within an arena becomes unused
|
the system ``free()`` when all memory within an arena becomes unused
|
||||||
again. Prior to Python 2.5, arenas (256KB chunks of memory) were never
|
again. Prior to Python 2.5, arenas (256KB chunks of memory) were never
|
||||||
|
|
|
@ -86,6 +86,18 @@ cell_clear(PyCellObject *op)
|
||||||
return 0;
|
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 = {
|
PyTypeObject PyCell_Type = {
|
||||||
PyObject_HEAD_INIT(&PyType_Type)
|
PyObject_HEAD_INIT(&PyType_Type)
|
||||||
0,
|
0,
|
||||||
|
@ -111,4 +123,11 @@ PyTypeObject PyCell_Type = {
|
||||||
0, /* tp_doc */
|
0, /* tp_doc */
|
||||||
(traverseproc)cell_traverse, /* tp_traverse */
|
(traverseproc)cell_traverse, /* tp_traverse */
|
||||||
(inquiry)cell_clear, /* tp_clear */
|
(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 */
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue