Added a testcase for #363.  This bug was fixed along the way.

--HG--
branch : trunk
diff --git a/tests/test_old_bugs.py b/tests/test_old_bugs.py
index 98db1b3..9ca8344 100644
--- a/tests/test_old_bugs.py
+++ b/tests/test_old_bugs.py
@@ -140,3 +140,33 @@
     assert_raises(TemplateSyntaxError, Template, '{% if %}....{% endif %}')
     assert_raises(TemplateSyntaxError, Template, '{% if foo %}...{% elif %}...{% endif %}')
     assert_raises(TemplateSyntaxError, Template, '{% for x in %}..{% endfor %}')
+
+
+def test_recursive_loop_bug():
+    tpl1 = Template("""
+    {% for p in foo recursive%}
+        {{p.bar}}
+        {% for f in p.fields recursive%}
+            {{f.baz}}
+            {{p.bar}}
+            {% if f.rec %}
+                {{ loop(f.sub) }}
+            {% endif %}
+        {% endfor %}
+    {% endfor %}
+    """)
+    tpl1.render(ctx)
+
+    tpl2 = Template("""
+    {% for p in foo%}
+        {{p.bar}}
+        {% for f in p.fields recursive%}
+            {{f.baz}}
+            {{p.bar}}
+            {% if f.rec %}
+                {{ loop(f.sub) }}
+            {% endif %}
+        {% endfor %}
+    {% endfor %}
+    """)
+    tpl2.render(ctx)