From 77eb8e2a40d97d49df24793736a8d9feef485322 Mon Sep 17 00:00:00 2001 From: Jeroen Demeyer Date: Tue, 13 Sep 2016 14:47:46 +0200 Subject: [PATCH 1/2] Move old_style_globals to individual modules --- src/sage/calculus/var.pyx | 2 ++ src/sage/ext/interactive_constructors_c.pyx | 1 + src/sage/misc/citation.pyx | 5 ++++- src/sage/misc/fpickle.pyx | 1 + src/sage/misc/reset.pyx | 5 ++++- src/sage/misc/sage_timeit_class.pyx | 4 ++-- src/sage/structure/category_object.pyx | 1 + src/sage/structure/sage_object.pyx | 1 + src/setup.py | 4 ---- 9 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/sage/calculus/var.pyx b/src/sage/calculus/var.pyx index b11b111..0a18f68 100644 --- a/src/sage/calculus/var.pyx +++ b/src/sage/calculus/var.pyx @@ -1,6 +1,8 @@ +# cython: old_style_globals=True """ Symbolic variables """ + from sage.symbolic.function_factory import function as new_function from sage.symbolic.ring import SR diff --git a/src/sage/ext/interactive_constructors_c.pyx b/src/sage/ext/interactive_constructors_c.pyx index 321e368..a9b9bea 100644 --- a/src/sage/ext/interactive_constructors_c.pyx +++ b/src/sage/ext/interactive_constructors_c.pyx @@ -1,3 +1,4 @@ +# cython: old_style_globals=True r""" Constructors that automatically inject variables into the global module scope """ diff --git a/src/sage/misc/citation.pyx b/src/sage/misc/citation.pyx index 77454aa..2053074 100644 --- a/src/sage/misc/citation.pyx +++ b/src/sage/misc/citation.pyx @@ -1,4 +1,7 @@ -"Dependency usage tracking for citations" +# cython: old_style_globals=True +""" +Dependency usage tracking for citations +""" from sage.misc.all import tmp_filename from sage.env import SAGE_ROOT diff --git a/src/sage/misc/fpickle.pyx b/src/sage/misc/fpickle.pyx index 79520b1..c6d0d74 100644 --- a/src/sage/misc/fpickle.pyx +++ b/src/sage/misc/fpickle.pyx @@ -1,3 +1,4 @@ +# cython: old_style_globals=True """ Function pickling diff --git a/src/sage/misc/reset.pyx b/src/sage/misc/reset.pyx index bd6bc78..bd7c94b 100644 --- a/src/sage/misc/reset.pyx +++ b/src/sage/misc/reset.pyx @@ -1,4 +1,7 @@ -"Interpreter reset" +# cython: old_style_globals=True +""" +Interpreter reset +""" import sys diff --git a/src/sage/misc/sage_timeit_class.pyx b/src/sage/misc/sage_timeit_class.pyx index 4c369f8..82f421f 100644 --- a/src/sage/misc/sage_timeit_class.pyx +++ b/src/sage/misc/sage_timeit_class.pyx @@ -1,3 +1,5 @@ +# This is here in Cython so we can access the interpreter globals +# cython: old_style_globals=True """ The ``timeit`` command @@ -5,8 +7,6 @@ This uses the function :func:`~sage.misc.sage_timeit.sage_timeit`. """ from __future__ import absolute_import -# This is here in Cython so we can get the interpreter globals - from . import sage_timeit diff --git a/src/sage/structure/category_object.pyx b/src/sage/structure/category_object.pyx index d9ef9c5..97930d3 100644 --- a/src/sage/structure/category_object.pyx +++ b/src/sage/structure/category_object.pyx @@ -1,3 +1,4 @@ +# cython: old_style_globals=True r""" Base class for objects of a category diff --git a/src/sage/structure/sage_object.pyx b/src/sage/structure/sage_object.pyx index c931a64..4caf4ae 100644 --- a/src/sage/structure/sage_object.pyx +++ b/src/sage/structure/sage_object.pyx @@ -1,4 +1,5 @@ # -*- encoding: utf-8 -*- +# cython: old_style_globals=True r""" Abstract base class for Sage objects """ diff --git a/src/setup.py b/src/setup.py index c26639d..f094700 100755 --- a/src/setup.py 2016-11-05 19:34:44.701025334 +0000 +++ b/src/setup.py 2016-11-05 19:46:00.706210289 +0000 @@ -562,16 +562,6 @@ import Cython.Compiler.Options import Cython.Compiler.Main - # Sage uses these directives (mostly for historical reasons). - Cython.Compiler.Options.embed_pos_in_docstring = True - Cython.Compiler.Options.directive_defaults['autotestdict'] = False - Cython.Compiler.Options.directive_defaults['cdivision'] = True - Cython.Compiler.Options.directive_defaults['fast_getattr'] = True - # The globals() builtin in Cython was fixed to return to the current scope, - # but Sage relies on the broken behavior of returning to the nearest - # enclosing Python scope (e.g. to perform variable injection). - Cython.Compiler.Options.old_style_globals = True - debug = False if os.environ.get('SAGE_DEBUG', None) != 'no': print('Enabling Cython debugging support') @@ -608,7 +598,10 @@ force=force, aliases=aliases, compiler_directives={ + 'autotestdict': False, + 'cdivision': True, 'embedsignature': True, + 'fast_getattr': True, 'profile': profile, })