mirror of https://github.com/python/cpython
Revert 53667
This commit is contained in:
parent
e6e383f498
commit
87b5d9196e
|
@ -14,6 +14,7 @@ Core and builtins
|
||||||
|
|
||||||
- Revert SF #1615701: dict.update() does *not* call __getitem__() or keys()
|
- Revert SF #1615701: dict.update() does *not* call __getitem__() or keys()
|
||||||
if subclassed. This is to remain consistent with 2.5.
|
if subclassed. This is to remain consistent with 2.5.
|
||||||
|
Also revert revision 53667 with made a similar change to set.update().
|
||||||
|
|
||||||
|
|
||||||
What's New in Python 2.5.1c1?
|
What's New in Python 2.5.1c1?
|
||||||
|
|
|
@ -912,7 +912,7 @@ set_update_internal(PySetObject *so, PyObject *other)
|
||||||
{
|
{
|
||||||
PyObject *key, *it;
|
PyObject *key, *it;
|
||||||
|
|
||||||
if (PyAnySet_CheckExact(other))
|
if (PyAnySet_Check(other))
|
||||||
return set_merge(so, other);
|
return set_merge(so, other);
|
||||||
|
|
||||||
if (PyDict_CheckExact(other)) {
|
if (PyDict_CheckExact(other)) {
|
||||||
|
@ -1207,7 +1207,7 @@ set_intersection(PySetObject *so, PyObject *other)
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (PyAnySet_CheckExact(other)) {
|
if (PyAnySet_Check(other)) {
|
||||||
Py_ssize_t pos = 0;
|
Py_ssize_t pos = 0;
|
||||||
setentry *entry;
|
setentry *entry;
|
||||||
|
|
||||||
|
@ -1331,7 +1331,7 @@ set_difference_update_internal(PySetObject *so, PyObject *other)
|
||||||
if ((PyObject *)so == other)
|
if ((PyObject *)so == other)
|
||||||
return set_clear_internal(so);
|
return set_clear_internal(so);
|
||||||
|
|
||||||
if (PyAnySet_CheckExact(other)) {
|
if (PyAnySet_Check(other)) {
|
||||||
setentry *entry;
|
setentry *entry;
|
||||||
Py_ssize_t pos = 0;
|
Py_ssize_t pos = 0;
|
||||||
|
|
||||||
|
@ -1380,7 +1380,7 @@ set_difference(PySetObject *so, PyObject *other)
|
||||||
setentry *entry;
|
setentry *entry;
|
||||||
Py_ssize_t pos = 0;
|
Py_ssize_t pos = 0;
|
||||||
|
|
||||||
if (!PyAnySet_CheckExact(other) && !PyDict_CheckExact(other)) {
|
if (!PyAnySet_Check(other) && !PyDict_CheckExact(other)) {
|
||||||
result = set_copy(so);
|
result = set_copy(so);
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1487,7 +1487,7 @@ set_symmetric_difference_update(PySetObject *so, PyObject *other)
|
||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PyAnySet_CheckExact(other)) {
|
if (PyAnySet_Check(other)) {
|
||||||
Py_INCREF(other);
|
Py_INCREF(other);
|
||||||
otherset = (PySetObject *)other;
|
otherset = (PySetObject *)other;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1570,7 +1570,7 @@ set_issubset(PySetObject *so, PyObject *other)
|
||||||
setentry *entry;
|
setentry *entry;
|
||||||
Py_ssize_t pos = 0;
|
Py_ssize_t pos = 0;
|
||||||
|
|
||||||
if (!PyAnySet_CheckExact(other)) {
|
if (!PyAnySet_Check(other)) {
|
||||||
PyObject *tmp, *result;
|
PyObject *tmp, *result;
|
||||||
tmp = make_new_set(&PySet_Type, other);
|
tmp = make_new_set(&PySet_Type, other);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
|
@ -1599,7 +1599,7 @@ set_issuperset(PySetObject *so, PyObject *other)
|
||||||
{
|
{
|
||||||
PyObject *tmp, *result;
|
PyObject *tmp, *result;
|
||||||
|
|
||||||
if (!PyAnySet_CheckExact(other)) {
|
if (!PyAnySet_Check(other)) {
|
||||||
tmp = make_new_set(&PySet_Type, other);
|
tmp = make_new_set(&PySet_Type, other);
|
||||||
if (tmp == NULL)
|
if (tmp == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue