moved caching from loaders to environment and added environment overlays
--HG--
branch : trunk
diff --git a/jinja2/utils.py b/jinja2/utils.py
index 5d8ca48..6a5c9a0 100644
--- a/jinja2/utils.py
+++ b/jinja2/utils.py
@@ -25,6 +25,10 @@
_simple_email_re = re.compile(r'^\S+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$')
+# special singleton representing missing values for the runtime
+missing = type('MissingType', (), {'__repr__': lambda x: 'missing'})()
+
+
def contextfunction(f):
"""This decorator can be used to mark a callable as context callable. A
context callable is passed the active context as first argument if it