diff options
author | Guido van Rossum <guido@python.org> | 2003-01-29 17:58:45 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2003-01-29 17:58:45 (GMT) |
commit | 5d9113d8be81596bc93f2b1a37f57e5110d39a77 (patch) | |
tree | f7bdf7fc9aa5afbf967e9e110baea0e4cdd9ffec /Objects/longobject.c | |
parent | d3590f937f4493445beeb253e5048771d1663ab7 (diff) | |
download | cpython-5d9113d8be81596bc93f2b1a37f57e5110d39a77.zip cpython-5d9113d8be81596bc93f2b1a37f57e5110d39a77.tar.gz cpython-5d9113d8be81596bc93f2b1a37f57e5110d39a77.tar.bz2 |
Implement appropriate __getnewargs__ for all immutable subclassable builtin
types. The special handling for these can now be removed from save_newobj().
Add some testing for this.
Also add support for setting the 'fast' flag on the Python Pickler class,
which suppresses use of the memo.
Diffstat (limited to 'Objects/longobject.c')
-rw-r--r-- | Objects/longobject.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Objects/longobject.c b/Objects/longobject.c index 1180ec2..7a04f1e 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -2646,6 +2646,17 @@ long_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds) return (PyObject *)new; } +static PyObject * +long_getnewargs(PyLongObject *v) +{ + return Py_BuildValue("(N)", _PyLong_Copy(v)); +} + +static PyMethodDef long_methods[] = { + {"__getnewargs__", (PyCFunction)long_getnewargs, METH_NOARGS}, + {NULL, NULL} /* sentinel */ +}; + PyDoc_STRVAR(long_doc, "long(x[, base]) -> integer\n\ \n\ @@ -2726,7 +2737,7 @@ PyTypeObject PyLong_Type = { 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - 0, /* tp_methods */ + long_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ |