only order comparisons are removed in py3k #6119
diff --git a/Objects/methodobject.c b/Objects/methodobject.c
index 737a3f7..69d7791 100644
--- a/Objects/methodobject.c
+++ b/Objects/methodobject.c
@@ -230,12 +230,9 @@
PyObject *res;
int eq;
- if ((op != Py_EQ && op != Py_NE) ||
- !PyCFunction_Check(self) ||
- !PyCFunction_Check(other))
- {
- /* Py3K warning if types are not equal and comparison isn't == or != */
- if (PyErr_WarnPy3k("builtin_function_or_method inequality "
+ if (op != Py_EQ && op != Py_NE) {
+ /* Py3K warning if comparison isn't == or !=. */
+ if (PyErr_WarnPy3k("builtin_function_or_method order "
"comparisons not supported in 3.x", 1) < 0) {
return NULL;
}
@@ -243,6 +240,10 @@
Py_INCREF(Py_NotImplemented);
return Py_NotImplemented;
}
+ else if (!PyCFunction_Check(self) || !PyCFunction_Check(other)) {
+ Py_INCREF(Py_NotImplemented);
+ return Py_NotImplemented;
+ }
a = (PyCFunctionObject *)self;
b = (PyCFunctionObject *)other;
eq = a->m_self == b->m_self;