nodes have access to environment now

--HG--
branch : trunk
diff --git a/jinja2/parser.py b/jinja2/parser.py
index 426e554..a7f0e98 100644
--- a/jinja2/parser.py
+++ b/jinja2/parser.py
@@ -23,8 +23,7 @@
 
 
 class Parser(object):
-    """
-    The template parser class.
+    """The template parser class.
 
     Transforms sourcecode into an abstract syntax tree.
     """
@@ -572,7 +571,6 @@
 
     def parse_filter(self, node):
         lineno = self.stream.current.type
-        filters = []
         while self.stream.current.type == 'pipe':
             self.stream.next()
             token = self.stream.expect('name')
@@ -582,10 +580,9 @@
                 args = []
                 kwargs = []
                 dyn_args = dyn_kwargs = None
-            filters.append(nodes.FilterCall(token.value, args, kwargs,
-                                            dyn_args, dyn_kwargs,
-                                            lineno=token.lineno))
-        return nodes.Filter(node, filters)
+            node = nodes.Filter(node, token.value, args, kwargs, dyn_args,
+                                dyn_kwargs, lineno=token.lineno)
+        return node
 
     def parse_test(self, node):
         token = self.stream.expect('is')
@@ -653,4 +650,6 @@
 
     def parse(self):
         """Parse the whole template into a `Template` node."""
-        return nodes.Template(self.subparse(), lineno=1)
+        result = nodes.Template(self.subparse(), lineno=1)
+        result.set_environment(self.environment)
+        return result