This fixes a bug where the targets of a `{% with %}` block would not
be marked as a parameter. This is because they were not being marked
at all as a variable which results in an invalid AST. For reference
counting purposes, this must also be marked specifically as a parameter
variable instead of as a stored variable to ensure it does not leak
out of the block.
if 'key' not in parameter:\r
raise\r
\r
- targets.append(parameter['key'])\r
+ targets.append(nodes.Name(parameter['key'], 'param'))\r
values.append(parse_variable(parameter['value']))\r
\r
with_node.targets = targets\r
{% from 'forms.html' import input as input_field, textarea %}\r
{{ dict_var['single']["double"].dot |test("first" ,2_000, named=3.14)|filter | lastFilter}}\r
-{%with key=val %}\r
-test {{var}}\r
-{%endwith%}\r
+{% with a='', b=a.attribute %}...{% endwith %}\r
{% for item in dict_var.values() %}\r
<li>{% block loop_item %}{{ item }}{% endblock %}</li>\r
{% endfor %}\r