mirror of https://github.com/python/cpython
Merged revisions 81740 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r81740 | mark.dickinson | 2010-06-05 13:14:43 +0100 (Sat, 05 Jun 2010) | 5 lines Issue #8627: Fix "XXX undetected error" from unchecked PyErr_WarnPy3k return. This is just a quick fix: if the warning is turned into an exception, the exception simply gets ignored. ........
This commit is contained in:
parent
80068da395
commit
b671c29336
|
@ -13,7 +13,10 @@ Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
|
- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
|
||||||
__hash__ in 3.x" warning.
|
__hash__ in 3.x" warning. Also fix "XXX undetected error" that
|
||||||
|
arises from the "Overriding __eq__ blocks inheritance ..." warning
|
||||||
|
when turned into an exception: in this case the exception simply
|
||||||
|
gets ignored.
|
||||||
|
|
||||||
- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding
|
- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding
|
||||||
and error handler, instead of writing to the C stderr file in utf-8
|
and error handler, instead of writing to the C stderr file in utf-8
|
||||||
|
|
|
@ -3853,10 +3853,16 @@ inherit_slots(PyTypeObject *type, PyTypeObject *base)
|
||||||
(base->tp_hash != PyObject_HashNotImplemented) &&
|
(base->tp_hash != PyObject_HashNotImplemented) &&
|
||||||
!OVERRIDES_HASH(type)) {
|
!OVERRIDES_HASH(type)) {
|
||||||
if (OVERRIDES_EQ(type)) {
|
if (OVERRIDES_EQ(type)) {
|
||||||
PyErr_WarnPy3k("Overriding "
|
if (PyErr_WarnPy3k("Overriding "
|
||||||
"__eq__ blocks inheritance "
|
"__eq__ blocks inheritance "
|
||||||
"of __hash__ in 3.x",
|
"of __hash__ in 3.x",
|
||||||
1);
|
1) < 0)
|
||||||
|
/* XXX This isn't right. If the warning is turned
|
||||||
|
into an exception, we should be communicating
|
||||||
|
the error back to the caller, but figuring out
|
||||||
|
how to clean-up in that case is tricky. See
|
||||||
|
issue 8627 for more. */
|
||||||
|
PyErr_Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue