summaryrefslogtreecommitdiff
path: root/Objects/cellobject.c
diff options
context:
space:
mode:
authorLisa Roach <lisaroach14@gmail.com>2017-06-08 04:43:26 -0700
committerSerhiy Storchaka <storchaka@gmail.com>2017-06-08 14:43:26 +0300
commit64505a1f6c0af4574e17e823b27ffe24eca44df5 (patch)
treed2b40e19b44e4ab50f92440a54facc59038da4b3 /Objects/cellobject.c
parent6cca5c8459cc439cb050010ffa762a03859d3051 (diff)
downloadcpython-git-64505a1f6c0af4574e17e823b27ffe24eca44df5.tar.gz
bpo-30486: Allow setting cell value (#1840)
The cell_contents attribute of the cell object is now writable.
Diffstat (limited to 'Objects/cellobject.c')
-rw-r--r--Objects/cellobject.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/Objects/cellobject.c b/Objects/cellobject.c
index 9f4eddb846..6af93b0030 100644
--- a/Objects/cellobject.c
+++ b/Objects/cellobject.c
@@ -140,8 +140,17 @@ cell_get_contents(PyCellObject *op, void *closure)
return op->ob_ref;
}
+int
+cell_set_contents(PyCellObject *op, PyObject *obj)
+{
+ Py_XINCREF(obj);
+ Py_XSETREF(op->ob_ref, obj);
+ return 0;
+}
+
static PyGetSetDef cell_getsetlist[] = {
- {"cell_contents", (getter)cell_get_contents, NULL},
+ {"cell_contents", (getter)cell_get_contents,
+ (setter)cell_set_contents, NULL},
{NULL} /* sentinel */
};