Robert Bradshaw wrote:
Unless something is horribly broken, I will release in the next day
or two.
http://cython.org/Cython-0.11.1.rc1.tar.gz
I know it is late (sorry!), but I just remembered some changes to
directives behaviour which I'd like to get in; emitting a warning for
change of behaviour in 0.12. I think they're rather safe, but I'll
definitely take no for an answer.
Attaching a patch as I don't want to disturb the freeze (tell me and
I'll push).
--
Dag Sverre
# HG changeset patch
# User Dag Sverre Seljebotn <[email protected]>
# Date 1239804937 -7200
# Node ID c8d2f8143120ecc3efd1e20d675b26a55e5c8684
# Parent d22204d89cfdbdfa05e2f191b7a1b33d2aaa6dc2
Add warning in situations where command line directive behaviour will
change in 0.12
diff -r d22204d89cfd -r c8d2f8143120 Cython/Compiler/ParseTreeTransforms.py
--- a/Cython/Compiler/ParseTreeTransforms.py Wed Apr 15 15:53:26 2009
+0200
+++ b/Cython/Compiler/ParseTreeTransforms.py Wed Apr 15 16:15:37 2009
+0200
@@ -332,13 +332,20 @@ class InterpretCompilerDirectives(Cython
def __init__(self, context, compilation_option_overrides):
super(InterpretCompilerDirectives, self).__init__(context)
- self.compilation_option_overrides = compilation_option_overrides
+ self.compilation_option_overrides = {}
+ for key, value in compilation_option_overrides.iteritems():
+ self.compilation_option_overrides[unicode(key)] = value
self.cython_module_names = set()
self.option_names = {}
# Set up processing and handle the cython: comments.
def visit_ModuleNode(self, node):
options = copy.copy(Options.option_defaults)
+ for key, value in self.compilation_option_overrides.iteritems():
+ if key in node.option_comments and
node.option_comments[key] != value:
+ warning(node.pos, "Compiler directive differs between
environment and file header; this will change "
+ "in Cython 0.12. See
http://article.gmane.org/gmane.comp.python.cython.devel/5233", 2)
+ break
options.update(node.option_comments)
options.update(self.compilation_option_overrides)
self.options = options
# HG changeset patch
# User Dag Sverre Seljebotn <[email protected]>
# Date 1239803606 -7200
# Node ID d22204d89cfdbdfa05e2f191b7a1b33d2aaa6dc2
# Parent bbf007cb50f57bcf0c010661e66b883191958aa3
Make -X cmdline switch apply to directives, as help text says
diff -r bbf007cb50f5 -r d22204d89cfd Cython/Compiler/CmdLine.py
--- a/Cython/Compiler/CmdLine.py Wed Apr 15 00:27:57 2009 -0700
+++ b/Cython/Compiler/CmdLine.py Wed Apr 15 15:53:26 2009 +0200
@@ -79,7 +79,7 @@ def parse_command_line(args):
options.use_listing_file = 1
elif option in ("-C", "--compile"):
options.c_only = 0
- elif option in ("-X", "--link"):
+ elif option in ("--link"):
options.c_only = 0
options.obj_only = 0
elif option in ("-+", "--cplus"):
# HG changeset patch
# User Dag Sverre Seljebotn <[email protected]>
# Date 1239804937 -7200
# Node ID c8d2f8143120ecc3efd1e20d675b26a55e5c8684
# Parent d22204d89cfdbdfa05e2f191b7a1b33d2aaa6dc2
Add warning in situations where command line directive behaviour will change in 0.12
diff -r d22204d89cfd -r c8d2f8143120 Cython/Compiler/ParseTreeTransforms.py
--- a/Cython/Compiler/ParseTreeTransforms.py Wed Apr 15 15:53:26 2009 +0200
+++ b/Cython/Compiler/ParseTreeTransforms.py Wed Apr 15 16:15:37 2009 +0200
@@ -332,13 +332,20 @@ class InterpretCompilerDirectives(Cython
def __init__(self, context, compilation_option_overrides):
super(InterpretCompilerDirectives, self).__init__(context)
- self.compilation_option_overrides = compilation_option_overrides
+ self.compilation_option_overrides = {}
+ for key, value in compilation_option_overrides.iteritems():
+ self.compilation_option_overrides[unicode(key)] = value
self.cython_module_names = set()
self.option_names = {}
# Set up processing and handle the cython: comments.
def visit_ModuleNode(self, node):
options = copy.copy(Options.option_defaults)
+ for key, value in self.compilation_option_overrides.iteritems():
+ if key in node.option_comments and node.option_comments[key] != value:
+ warning(node.pos, "Compiler directive differs between environment and file header; this will change "
+ "in Cython 0.12. See http://article.gmane.org/gmane.comp.python.cython.devel/5233", 2)
+ break
options.update(node.option_comments)
options.update(self.compilation_option_overrides)
self.options = options
# HG changeset patch
# User Dag Sverre Seljebotn <[email protected]>
# Date 1239803606 -7200
# Node ID d22204d89cfdbdfa05e2f191b7a1b33d2aaa6dc2
# Parent bbf007cb50f57bcf0c010661e66b883191958aa3
Make -X cmdline switch apply to directives, as help text says
diff -r bbf007cb50f5 -r d22204d89cfd Cython/Compiler/CmdLine.py
--- a/Cython/Compiler/CmdLine.py Wed Apr 15 00:27:57 2009 -0700
+++ b/Cython/Compiler/CmdLine.py Wed Apr 15 15:53:26 2009 +0200
@@ -79,7 +79,7 @@ def parse_command_line(args):
options.use_listing_file = 1
elif option in ("-C", "--compile"):
options.c_only = 0
- elif option in ("-X", "--link"):
+ elif option in ("--link"):
options.c_only = 0
options.obj_only = 0
elif option in ("-+", "--cplus"):
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev