Added proper super() support for scoped blocks.

--HG--
branch : trunk
diff --git a/jinja2/runtime.py b/jinja2/runtime.py
index 013d987..c2e0aa3 100644
--- a/jinja2/runtime.py
+++ b/jinja2/runtime.py
@@ -173,8 +173,10 @@
 
     def derived(self, locals=None):
         """Internal helper function to create a derived context."""
-        return new_context(self.environment, self.name, self.blocks,
-                           self.parent, True, None, locals)
+        context = new_context(self.environment, self.name, {},
+                              self.parent, True, None, locals)
+        context.blocks.update((k, list(v)) for k, v in self.blocks.iteritems())
+        return context
 
     def _all(meth):
         proxy = lambda self: getattr(self.get_all(), meth)()