On Wed, Jul 20, 2011 at 9:40 PM, Vitja Makarov <vitja.maka...@gmail.com> wrote: > 2011/7/21 Robert Bradshaw <rober...@math.washington.edu>: >> On Wed, Jul 20, 2011 at 9:27 PM, Vitja Makarov <vitja.maka...@gmail.com> >> wrote: >>> 2011/7/16 Lars Buitinck <l.j.buiti...@uva.nl>: >>>> 2011/7/15 Vitja Makarov <vitja.maka...@gmail.com>: >>>>> I've found strange bug. In my example cimport misses "fcntl.h" include: >>>>> >>>>> ((c2f2e12...)) vitja@vitja-laptop:~/work/cython-vitek/zzz$ cat ./fff.pyx >>>>> cimport posix.unistd >>>>> cimport posix.fcntl >>>>> >>>>> print posix.fcntl.O_RDWR >>>> >>>> Fascinating; I can reproduce the error (on Scientific Linux 5.5), but >>>> it goes away when I reverse the order of the includes. >>>> >>> >>> What's about this issue? Is that easy to fix before release or it's >>> better to create a ticket? >> >> I'm not sure what we can do here--we make sure to emit the #include >> statements in the same order as they are encountered in the Cython >> sources because C is sensitive to this kind of thing, but we can't >> really "fix" C. I suppose we could cimport posix.fcntl from within >> posix.unistd to force an ordering. >> > > That's not C bug. That's cython bug. Actualy fcntl.h isn't included at all. > That seems to be a problem with cimport and packages. > > As I said "from posix cimport unistd, fcntl" works just fine.
I thought you meant that cimport posix.fcntl cimport posix.unistd worked but cimport posix.unistd cimport posix.fcntl didn't. I'm seeing the bug now. (There are of course cases where one does care about import order.) - Robert _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel