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

Reply via email to