summaryrefslogtreecommitdiff
path: root/Modules/_pickle.c
diff options
context:
space:
mode:
authorMichael Foord <michael@voidspace.org.uk>2012-03-12 13:54:03 -0700
committerMichael Foord <michael@voidspace.org.uk>2012-03-12 13:54:03 -0700
commitc1f5d8af57f2cabb2eb19f84d6fab2fbdd86293b (patch)
treef39f5fef0b05d95375303417369a4f708a139f53 /Modules/_pickle.c
parent5f99ced092b01401d9e1637c493fa61d948101fe (diff)
parent17591c1a1d0a6ba20f3b68e2c438d9b9baabc6c9 (diff)
downloadcpython-git-c1f5d8af57f2cabb2eb19f84d6fab2fbdd86293b.tar.gz
Merge
Diffstat (limited to 'Modules/_pickle.c')
-rw-r--r--Modules/_pickle.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index 2dc3a4116d..4212e7a02f 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -2812,6 +2812,19 @@ save_global(PicklerObject *self, PyObject *obj, PyObject *name)
}
static int
+save_ellipsis(PicklerObject *self, PyObject *obj)
+{
+ return save_global(self, Py_Ellipsis, PyUnicode_FromString("Ellipsis"));
+}
+
+static int
+save_notimplemented(PicklerObject *self, PyObject *obj)
+{
+ return save_global(self, Py_NotImplemented,
+ PyUnicode_FromString("NotImplemented"));
+}
+
+static int
save_pers(PicklerObject *self, PyObject *obj, PyObject *func)
{
PyObject *pid = NULL;
@@ -3114,6 +3127,14 @@ save(PicklerObject *self, PyObject *obj, int pers_save)
status = save_none(self, obj);
goto done;
}
+ else if (obj == Py_Ellipsis) {
+ status = save_ellipsis(self, obj);
+ goto done;
+ }
+ else if (obj == Py_NotImplemented) {
+ status = save_notimplemented(self, obj);
+ goto done;
+ }
else if (obj == Py_False || obj == Py_True) {
status = save_bool(self, obj);
goto done;