[Cython] Sage broken

2010-12-13 Thread Robert Bradshaw
It appears that something broke circular cimports in Cython, and now
Sage won't start up (as of
https://sage.math.washington.edu:8091/hudson/job/sage-tests/388/ )
Unfortunately, the tests reported 0 failures for not starting up
(fixed now), so it looked like all was well.

It looks like the offending patch is
http://hg.cython.org/cython-devel/rev/6c79b26286ce (or somewhere close
by). Any ideas? I'm looking into this now.

- Robert
___
Cython-dev mailing list
Cython-dev@codespeak.net
http://codespeak.net/mailman/listinfo/cython-dev


Re: [Cython] Sage broken

2010-12-13 Thread Robert Bradshaw
On Mon, Dec 13, 2010 at 9:41 PM, Robert Bradshaw
rober...@math.washington.edu wrote:
 It appears that something broke circular cimports in Cython, and now
 Sage won't start up (as of
 https://sage.math.washington.edu:8091/hudson/job/sage-tests/388/ )
 Unfortunately, the tests reported 0 failures for not starting up
 (fixed now), so it looked like all was well.

 It looks like the offending patch is
 http://hg.cython.org/cython-devel/rev/6c79b26286ce (or somewhere close
 by). Any ideas? I'm looking into this now.

Specifically, it's somewhere between
http://hg.cython.org/cython-devel/rev/06a35b532a49 and
http://hg.cython.org/cython-devel/rev/c48f814a8481

- Robert
___
Cython-dev mailing list
Cython-dev@codespeak.net
http://codespeak.net/mailman/listinfo/cython-dev


Re: [Cython] Sage broken

2010-12-13 Thread Robert Bradshaw
On Mon, Dec 13, 2010 at 9:45 PM, Robert Bradshaw
rober...@math.washington.edu wrote:
 On Mon, Dec 13, 2010 at 9:41 PM, Robert Bradshaw
 rober...@math.washington.edu wrote:
 It appears that something broke circular cimports in Cython, and now
 Sage won't start up (as of
 https://sage.math.washington.edu:8091/hudson/job/sage-tests/388/ )
 Unfortunately, the tests reported 0 failures for not starting up
 (fixed now), so it looked like all was well.

 It looks like the offending patch is
 http://hg.cython.org/cython-devel/rev/6c79b26286ce (or somewhere close
 by). Any ideas? I'm looking into this now.

 Specifically, it's somewhere between
 http://hg.cython.org/cython-devel/rev/06a35b532a49 and
 http://hg.cython.org/cython-devel/rev/c48f814a8481

FYI, I've figured out what the problem was. With the new function
re-declaration code, def functions are created and added to the module
as it is executed, rather than initialized as part of the module
creation from the method_def struct. While this is arguably the more
correct behavior, it broke Sage which was depending on the fact that
functions were defined before type imports, and manifested itself
because the import was circular.

I've added a --disable-function-redefinition option for legacy code
like this (which should in the long run get cleaned up, but I don't
think we should break outright break it now). Of course, if set, this
disables module-level lambdas, etc., but none of those are in use for
old code. I'm not sure exactly what to do about this in the long term,
but I'm wondering (but not sure) if we should have import, cimport,
cdef class, etc. all happen as if they were executed in sequence too,
especially in the face of circular imports.

- Robert
___
Cython-dev mailing list
Cython-dev@codespeak.net
http://codespeak.net/mailman/listinfo/cython-dev