From: Guido van Rossum Date: Tue, 18 Mar 2008 03:15:05 +0000 (+0000) Subject: Clean up the Py3k warnings for non-BaseException-subclasses a bit. We X-Git-Tag: v2.6a2~291 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=20bda581e3f95a8fa9057a7d63f09d00b4e425cc;p=thirdparty%2FPython%2Fcpython.git Clean up the Py3k warnings for non-BaseException-subclasses a bit. We now don't warn for some corner cases that deserve a warning, rather than warning double or incorrectly for some other corner cases. --- diff --git a/Python/ceval.c b/Python/ceval.c index 72da26399207..d66d97e56bca 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4086,8 +4086,9 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w) if (ret_val == -1) return NULL; } - if (Py_Py3kWarningFlag && - !Py3kExceptionClass_Check(exc)) + else if (Py_Py3kWarningFlag && + !PyTuple_Check(exc) && + !Py3kExceptionClass_Check(exc)) { int ret_val; ret_val = PyErr_WarnEx( @@ -4108,8 +4109,9 @@ cmp_outcome(int op, register PyObject *v, register PyObject *w) if (ret_val == -1) return NULL; } - if (Py_Py3kWarningFlag && - !Py3kExceptionClass_Check(w)) + else if (Py_Py3kWarningFlag && + !PyTuple_Check(w) && + !Py3kExceptionClass_Check(w)) { int ret_val; ret_val = PyErr_WarnEx(