switched back to explicit set for assignments.  {% foo = 42 %} becomes {% set foo = 42 %} and {% foo.something() }} becomes {{ void(foo.something() }} with this commit.

--HG--
branch : trunk
diff --git a/jinja2/compiler.py b/jinja2/compiler.py
index cb0da5a..4c250b5 100644
--- a/jinja2/compiler.py
+++ b/jinja2/compiler.py
@@ -787,9 +787,9 @@
             self.indent()
             self.writeline('l_%s = environment.undefined(%r %% '
                            'included_template.name, '
-                           'name=included_template.name)' %
+                           'name=%r)' %
                            (alias, 'the template %r does not export '
-                            'the requested name ' + repr(name)))
+                            'the requested name ' + repr(name), name))
             self.outdent()
             if frame.toplevel:
                 self.writeline('context.vars[%r] = l_%s' % (alias, alias))