Yes, that should work fine. Please make a ticket and push.
On Jun 2, 2009, at 9:51 AM, Lisandro Dalcin wrote:
> Review this. Tell me if you like it.
>
> AFAIK, this should always work (even iff an embedder plays with
> loading/unloading the Python shared library ??)
>
> diff -r 88fa346e169d Cython/Compiler/Symtab.py
> --- a/Cython/Compiler/Symtab.py Tue May 26 22:54:46 2009 +0200
> +++ b/Cython/Compiler/Symtab.py Tue Jun 02 13:45:11 2009 -0300
> @@ -1583,8 +1583,14 @@
> impl = """
> static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
> /* It appears that PyMethodDescr_Type is not anywhere exposed in
> the Python/C API */
> - /* if (!PyObject_TypeCheck(method, &PyMethodDescr_Type)) { */
> - if (__Pyx_StrEq(Py_TYPE(method)->tp_name, "method_descriptor")) {
> /* cdef classes */
> + static PyTypeObject *methoddescr_type = NULL;
> + if (methoddescr_type == NULL) {
> + PyObject *meth = __Pyx_GetAttrString((PyObject*)
> &PyList_Type, "append");
> + if (!meth) return NULL;
> + methoddescr_type = Py_TYPE(meth);
> + Py_DECREF(meth);
> + }
> + if (PyObject_TypeCheck(method, methoddescr_type)) { /* cdef
> classes */
> PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
> return PyDescr_NewClassMethod(descr->d_type, descr-
> >d_method);
> }
>
> --
> Lisandro Dalcín
> ---------------
> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev