-include MANIFEST.in Makefile CHANGES LICENSE AUTHORS TODO ez_setup.py
+include MANIFEST.in Makefile CHANGES LICENSE AUTHORS
recursive-include docs *
+recursive-include custom_fixers *
recursive-include tests *
recursive-include ext *
recursive-include artwork *
+++ /dev/null
-Todo Before Release
-===================
-
-This has to be implemented before the release:
-
-Pull Attributes Onces
----------------------
-
-Imagine the following template::
-
- {% if foo.bar %}
- {{ baz(foo.bar) }}
- {% endif %}
-
-Problem with that is that it compiles to this::
-
- if environment.subscribe(l_foo, 'bar'):
- if 0: yield None
- yield u'\n %s\n' % (
- l_baz(environment.subscribe(l_foo, 'bar')),
- )
-
-As `environment.subscribe` is more expensive then regular attribute lookups
-(it tries getitem/getattr and in sandbox mode also permissions) multiple
-lookups with the same parameters in the same scope should get local aliases.
-The result we have is that one::
-
- t1 = environment.subscribe(l_foo, 'bar')
- if t1:
- if 0: yield None
- yield u'\n %s\n' % (
- l_baz(t1),
- )
-
-However that should only happen if the attribute is accessed multiple times
-unlike locals and filters/tests which are always pulled. We're not doing that
-for filters/tests/locals as nested scopes may access it and testing is too
-complicated for the tiny performance improvement but easy for attribute
-lookups, keeping the complexity of the whole thing in mind.
# be fixed though.
self.assert_traceback_matches(lambda: env.get_template('syntaxerror.html'), r'''(?sm)
File ".*?syntaxerror.html", line 4, in (template|<module>)
- \{% endif %\}
- .*?
+ \{% endif %\}.*?
(jinja2\.exceptions\.)?TemplateSyntaxError: Encountered unknown tag 'endif'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.
''')