summaryrefslogtreecommitdiff
path: root/jinja2/compiler.py
Commit message (Collapse)AuthorAgeFilesLines
* Compile `elif` tag to `elif` instead of `else: if`2.9-maintenanceAdrian Moennich2017-08-221-0/+7
| | | | | | | | This avoids deep nesting in case of many `{% elif .. %}` blocks (which would fail during execution) and also deep recursion (which may fail during compilation) fixes #759
* Resolved extends errors in async mode (Fixes #668)Armin Ronacher2017-01-241-3/+4
|
* Correctly use buffer for else frame in loops. Fixes #669Armin Ronacher2017-01-241-0/+3
|
* Resolved bad code generation on toplevel ifsArmin Ronacher2017-01-091-2/+1
| | | | This fixes #651
* Correctly scope loop filters. Fixes #649Armin Ronacher2017-01-091-31/+28
|
* Implement with-tag with a custom nodeArmin Ronacher2017-01-081-1/+13
|
* Do not use yield from for blocks with buffers. Fixes #645Armin Ronacher2017-01-081-1/+2
|
* Add support for explicit callersArmin Ronacher2017-01-081-4/+25
| | | | | | | | | This adds support for a never intended Jinja2 feature which however worked in limited support before due to a bug with the identifier scoping. A quick github code search indicates that developers commonly did this to set the default caller to none. This fixes #642
* Correct bad scoping for for loops. This fixes #640Armin Ronacher2017-01-071-2/+2
|
* Resolved a regression in 2.9 with macro call scopingArmin Ronacher2017-01-071-1/+1
|
* Bump up the copyright to 2017Armin Ronacher2017-01-071-1/+1
|
* Generalize scoping. This fixes #603Armin Ronacher2017-01-071-3/+3
|
* Add a policy for the ascii literal behavior. Fixes #392Armin Ronacher2017-01-071-1/+1
|
* Optimize parameter lookup by defaultArmin Ronacher2017-01-071-1/+1
|
* Fix various optimizer bugs. This fixes #548bugfix/inline-optmiizeArmin Ronacher2017-01-061-9/+35
|
* Block sets are now safe. This fixes #490Armin Ronacher2017-01-061-1/+2
|
* Fixed self references in macrosArmin Ronacher2017-01-061-32/+74
|
* Write loads in order they were definedArmin Ronacher2017-01-061-1/+1
|
* Killed some whitespaceArmin Ronacher2017-01-061-2/+2
|
* Optimize the case where we know about defined variablesArmin Ronacher2017-01-061-4/+11
|
* Set macro autoescape behavior at call instead of compile time. Fixes #565Armin Ronacher2017-01-061-16/+19
|
* Optimize emitting of forced yieldsArmin Ronacher2017-01-061-4/+3
|
* Support yield from if we can use itArmin Ronacher2017-01-051-16/+42
|
* Changed behavior of macro defaults to be frame boundArmin Ronacher2017-01-031-10/+20
|
* Alias resolve and undefinedArmin Ronacher2017-01-031-4/+10
|
* Kill stray printArmin Ronacher2017-01-031-1/+0
|
* Small optimizations for escape branchesArmin Ronacher2017-01-031-5/+5
|
* Small optimization for recursive loopsArmin Ronacher2017-01-031-1/+2
|
* Use a separate scope for the loop else branchArmin Ronacher2017-01-031-6/+8
|
* Clarified for else todoArmin Ronacher2017-01-031-1/+2
|
* Small optimization for python scopesArmin Ronacher2017-01-031-1/+1
|
* Fixed a typoArmin Ronacher2017-01-031-1/+1
|
* Cleaned up some code that no longer needs to existArmin Ronacher2017-01-031-6/+3
|
* Stop assigning stuff to the frame that does not belong thereArmin Ronacher2017-01-031-13/+19
|
* Kill now unused assigned_namesArmin Ronacher2017-01-031-5/+0
|
* Kill some dead codeArmin Ronacher2017-01-031-11/+0
|
* Force missing to be a localArmin Ronacher2017-01-031-2/+4
|
* Fixed from imports with contextArmin Ronacher2017-01-031-2/+3
|
* Made all tests pass againArmin Ronacher2017-01-031-4/+4
|
* Fixed various breakage from the new id trackingArmin Ronacher2017-01-031-49/+36
|
* Reset variables for scopingArmin Ronacher2017-01-031-27/+68
|
* First pass on integrating id trackingArmin Ronacher2017-01-031-364/+88
|
* Support block-set in toplevel situations when extends is usedArmin Ronacher2016-12-311-0/+4
|
* First pass on async support for filtersArmin Ronacher2016-12-281-0/+4
|
* Made the env._async property public for filtersArmin Ronacher2016-12-281-23/+23
|
* Support the same set of loop functions for async modeArmin Ronacher2016-12-281-8/+10
|
* Fixed error messageArmin Ronacher2016-12-281-1/+1
|
* Added support for async loop contextArmin Ronacher2016-12-281-4/+11
|
* Added basic support for async iterArmin Ronacher2016-12-281-2/+14
|
* Added tests for async functionality with imports and includesArmin Ronacher2016-12-281-5/+13
|