all calls are proxied by context.call now so that we can inject environment and context as first arguments.  This slows calls down a bit but is a lot more user friendly.  Added first draft of FAQ

--HG--
branch : trunk
diff --git a/jinja2/sandbox.py b/jinja2/sandbox.py
index c558c73..b0de8e7 100644
--- a/jinja2/sandbox.py
+++ b/jinja2/sandbox.py
@@ -190,13 +190,13 @@
                 ), name=argument, exc=SecurityError)
         return self.undefined(obj=obj, name=argument)
 
-    def call(__self, __obj, *args, **kwargs):
+    def call(__self, __context, __obj, *args, **kwargs):
         """Call an object from sandboxed code."""
         # the double prefixes are to avoid double keyword argument
         # errors when proxying the call.
         if not __self.is_safe_callable(__obj):
             raise SecurityError('%r is not safely callable' % (__obj,))
-        return __obj(*args, **kwargs)
+        return __context.call(__obj, *args, **kwargs)
 
 
 class ImmutableSandboxedEnvironment(SandboxedEnvironment):