]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Added support for generator_stop
authorArmin Ronacher <armin.ronacher@active-4.com>
Tue, 27 Dec 2016 18:52:43 +0000 (19:52 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Tue, 27 Dec 2016 18:52:43 +0000 (19:52 +0100)
CHANGES
jinja2/compiler.py

diff --git a/CHANGES b/CHANGES
index 4e5df26c9934f6ef11d3983f176e12446b46ef5f..69ed450822c88e8b325164a564814f4578df2275 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,12 @@
 Jinja2 Changelog
 ================
 
+Version 2.9
+-----------
+
+- Added support for `generator_stop` on supported Python versions
+  (Python 3.5 and later)
+
 Version 2.8.1
 -------------
 
index fad007b596f66fc090d155bb97a8fc5967749608..dee97b9b167c520f6b567139f16c59c7afc998c1 100644 (file)
@@ -38,6 +38,15 @@ if hasattr(dict, 'iteritems'):
 else:
     dict_item_iter = 'items'
 
+code_features = ['division']
+
+# does this python version support generator stops? (PEP 0479)
+try:
+    exec('from __future__ import generator_stop')
+    code_features.append('generator_stop')
+except SyntaxError:
+    pass
+
 
 # does if 0: dummy(x) get us x into the scope?
 def unoptimize_before_dead_code():
@@ -763,7 +772,7 @@ class CodeGenerator(NodeVisitor):
         eval_ctx = EvalContext(self.environment, self.name)
 
         from jinja2.runtime import __all__ as exported
-        self.writeline('from __future__ import division')
+        self.writeline('from __future__ import %s' % ', '.join(code_features))
         self.writeline('from jinja2.runtime import ' + ', '.join(exported))
         if not unoptimize_before_dead_code:
             self.writeline('dummy = lambda *x: None')