a few fixes for Py2.3 set support
authorLisandro Dalcin <dalcinl@gmail.com>
Sat, 25 Oct 2008 23:33:26 +0000 (20:33 -0300)
committerLisandro Dalcin <dalcinl@gmail.com>
Sat, 25 Oct 2008 23:33:26 +0000 (20:33 -0300)
Cython/Compiler/Builtin.py

index c00c49fd5bec7e6ba50d16d39ecbe6401a2a93d6..391003f5985ce6214589a68b56b289e9ed363eec 100644 (file)
@@ -178,13 +178,19 @@ proto = """
      (ob)->ob_type == &PyFrozenSet_Type)
 
 #define PySet_New(iterable) \\
-    PyObject_CallFunctionObjArgs((PyObject *)PySet_Type, iterable, NULL)
+    PyObject_CallFunctionObjArgs((PyObject *)&PySet_Type, (iterable), NULL)
+
 #define Pyx_PyFrozenSet_New(iterable) \\
-    PyObject_CallFunctionObjArgs((PyObject *)PyFrozenSet_Type, iterable, NULL)
+    PyObject_CallFunctionObjArgs((PyObject *)&PyFrozenSet_Type, (iterable), NULL)
+
+#define PySet_Size(anyset) \\
+    PyObject_Size((anyset))
+
+#define PySet_Contains(anyset, key) \\
+    PySequence_Contains((anyset), (key))
 
-#define PySet_Size(anyset)          PyObject_Size(anyset)
-#define PySet_Contains(anyset, key) PySequence_Contains(anyset, key)
-#define PySet_Pop(set)              PyObject_CallMethod(set, "pop", NULL)
+#define PySet_Pop(set) \\
+    PyObject_CallMethod(set, "pop", NULL)
 
 static INLINE int PySet_Clear(PyObject *set) {
     PyObject *ret = PyObject_CallMethod(set, "clear", NULL);
@@ -218,13 +224,11 @@ static PyTypeObject *__Pyx_PyFrozenSet_Type = NULL;
 
 #define PyAnySet_Check(ob) \\
     (PyAnySet_CheckExact(ob) || \\
-      PyType_IsSubtype((ob)->ob_type, &PySet_Type) || \\
-      PyType_IsSubtype((ob)->ob_type, &PyFrozenSet_Type))
+     PyType_IsSubtype((ob)->ob_type, &PySet_Type) || \\
+     PyType_IsSubtype((ob)->ob_type, &PyFrozenSet_Type))
 
 #define PyFrozenSet_CheckExact(ob) ((ob)->ob_type == &PyFrozenSet_Type)
 
-/* ---------------------------------------------------------------- */
-
 static int __Pyx_Py23SetsImport(void) {
     PyObject *sets=0, *Set=0, *ImmutableSet=0;
 
@@ -254,10 +258,8 @@ static int __Pyx_Py23SetsImport(void) {
     return -1;
 }
 
-/* ---------------------------------------------------------------- */
-
 #else
-static int py23sets_import(void) { return 0; }
+static int __Pyx_Py23SetsImport(void) { return 0; }
 #endif /* !Py_SETOBJECT_H */
 #endif /* < Py2.4  */
 #endif /* < Py2.5  */