From 2ba198d2fbd8d4dd33d2c40af012d622eb03c18f Mon Sep 17 00:00:00 2001 From: Amaury Forgeot d'Arc Date: Tue, 17 Jun 2008 21:25:35 +0000 Subject: Remove 2.6 compatibility code: now heapqueue items must implement the "<" operator. The compatibility code could not work: all 3.0 objects have a __lt__ method (which returns NotImplemented) Twisted will have to adapt its DelayedCall class. --- Modules/_heapqmodule.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'Modules/_heapqmodule.c') diff --git a/Modules/_heapqmodule.c b/Modules/_heapqmodule.c index 4cf6c95bb8..7921823696 100644 --- a/Modules/_heapqmodule.c +++ b/Modules/_heapqmodule.c @@ -8,28 +8,10 @@ annotated by Fran #include "Python.h" -/* Older implementations of heapq used Py_LE for comparisons. Now, it uses - Py_LT so it will match min(), sorted(), and bisect(). Unfortunately, some - client code (Twisted for example) relied on Py_LE, so this little function - restores compatability by trying both. -*/ static int cmp_lt(PyObject *x, PyObject *y) { - int cmp; - static PyObject *lt = NULL; - - if (lt == NULL) { - lt = PyUnicode_FromString("__lt__"); - if (lt == NULL) - return -1; - } - if (PyObject_HasAttr(x, lt)) - return PyObject_RichCompareBool(x, y, Py_LT); - cmp = PyObject_RichCompareBool(y, x, Py_LE); - if (cmp != -1) - cmp = 1 - cmp; - return cmp; + return PyObject_RichCompareBool(x, y, Py_LT); } static int -- cgit v1.2.1