]> granicus.if.org Git - python/commitdiff
dict.copy() rises from the ashes. Revert r60687.
authorRaymond Hettinger <python@rcn.com>
Tue, 12 Feb 2008 19:05:36 +0000 (19:05 +0000)
committerRaymond Hettinger <python@rcn.com>
Tue, 12 Feb 2008 19:05:36 +0000 (19:05 +0000)
Modules/_collectionsmodule.c
Objects/dictobject.c
Objects/setobject.c

index 9cdabdf3d12d7a1f8b4980d9f050c2b271240f03..67700de72858f80225b145be00c2b76668b41d10 100644 (file)
@@ -1186,22 +1186,12 @@ defdict_copy(defdictobject *dd)
 {
        /* This calls the object's class.  That only works for subclasses
           whose class constructor has the same signature.  Subclasses that
-          define a different constructor signature must override __copy__().
+          define a different constructor signature must override copy().
        */
        return PyObject_CallFunctionObjArgs((PyObject*)Py_TYPE(dd),
                                            dd->default_factory, dd, NULL);
 }
 
-static PyObject *
-defdict_copy_method(defdictobject *dd)
-{
-       if (Py_Py3kWarningFlag &&
-           PyErr_Warn(PyExc_DeprecationWarning, 
-                      "defaultdict.copy() not supported in 3.x") < 0)
-               return NULL;
-       return defdict_copy(dd);
-}
-
 static PyObject *
 defdict_reduce(defdictobject *dd)
 {
@@ -1251,7 +1241,7 @@ defdict_reduce(defdictobject *dd)
 static PyMethodDef defdict_methods[] = {
        {"__missing__", (PyCFunction)defdict_missing, METH_O,
         defdict_missing_doc},
-       {"copy", (PyCFunction)defdict_copy_method, METH_NOARGS,
+       {"copy", (PyCFunction)defdict_copy, METH_NOARGS,
         defdict_copy_doc},
        {"__copy__", (PyCFunction)defdict_copy, METH_NOARGS,
         defdict_copy_doc},
index 165221e8d48cdda8e18fc2b75d4900c674a8b5d3..eaa490e320d41b9a270e4c9ed5afc77cf3410815 100644 (file)
@@ -1528,10 +1528,6 @@ PyDict_Merge(PyObject *a, PyObject *b, int override)
 static PyObject *
 dict_copy(register PyDictObject *mp)
 {
-       if (Py_Py3kWarningFlag &&
-           PyErr_Warn(PyExc_DeprecationWarning, 
-                      "dict.copy() not supported in 3.x") < 0)
-               return NULL;
        return PyDict_Copy((PyObject*)mp);
 }
 
index 3869b3b6be4eaa21a74cc9e713ec3369379bf1e7..cc2c2ee8681964cd4a9d5ee2485aa01746f83f98 100644 (file)
@@ -1130,23 +1130,9 @@ set_copy(PySetObject *so)
        return make_new_set(Py_TYPE(so), (PyObject *)so);
 }
 
-static PyObject *
-set_copy_method(PySetObject *so)
-{
-       if (Py_Py3kWarningFlag &&
-           PyErr_Warn(PyExc_DeprecationWarning, 
-                      "set.copy() not supported in 3.x") < 0)
-               return NULL;
-       return make_new_set(Py_TYPE(so), (PyObject *)so);
-}
-
 static PyObject *
 frozenset_copy(PySetObject *so)
 {
-       if (Py_Py3kWarningFlag &&
-           PyErr_Warn(PyExc_DeprecationWarning, 
-                      "frozenset.copy() not supported in 3.x") < 0)
-               return NULL;
        if (PyFrozenSet_CheckExact(so)) {
                Py_INCREF(so);
                return (PyObject *)so;
@@ -1925,7 +1911,7 @@ static PyMethodDef set_methods[] = {
         clear_doc},
        {"__contains__",(PyCFunction)set_direct_contains,       METH_O | METH_COEXIST,
         contains_doc},
-       {"copy",        (PyCFunction)set_copy_method,   METH_NOARGS,
+       {"copy",        (PyCFunction)set_copy,          METH_NOARGS,
         copy_doc},
        {"discard",     (PyCFunction)set_discard,       METH_O,
         discard_doc},