str and unicode objects now have a __mod__ slot so don't special case them in
PyNumber_Remainder(). This fixes SF bug #615506 and allows string and unicode
subclasses to override __mod__.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 4f8dd3e..2df934d 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -639,12 +639,6 @@
PyObject *
PyNumber_Remainder(PyObject *v, PyObject *w)
{
- if (PyString_Check(v))
- return PyString_Format(v, w);
-#ifdef Py_USING_UNICODE
- else if (PyUnicode_Check(v))
- return PyUnicode_Format(v, w);
-#endif
return binary_op(v, w, NB_SLOT(nb_remainder), "%");
}