Backed out changeset 6afb554797b6, which added unicode identifier support.  This doesn't work in reality under Python 2.6 properly.

--HG--
branch : trunk
diff --git a/docs/api.rst b/docs/api.rst
index 7d07af7..5a131ed 100644
--- a/docs/api.rst
+++ b/docs/api.rst
@@ -68,17 +68,15 @@
 
         A dict of filters for this environment.  As long as no template was
         loaded it's safe to add new filters or remove old.  For custom filters
-        see :ref:`writing-filters`.  Unlike regular identifiers filters and
-        tests may contain dots to group functions with similar functionality.
-        For example `to.unicode` is a valid name for a filter.
+        see :ref:`writing-filters`.  For valid filter names have a look at
+        :ref:`identifier-naming`.
 
     .. attribute:: tests
 
         A dict of test functions for this environment.  As long as no
         template was loaded it's safe to modify this dict.  For custom tests
-        see :ref:`writing-tests`. Unlike regular identifiers filters and
-        tests may contain dots to group functions with similar functionality.
-        For example `check.positive` is a valid name for a test.
+        see :ref:`writing-tests`.  For valid test names have a look at
+        :ref:`identifier-naming`.
 
     .. attribute:: globals
 
@@ -86,6 +84,7 @@
         in a template and (if the optimizer is enabled) may not be
         overridden by templates.  As long as no template was loaded it's safe
         to modify this dict.  For more details see :ref:`global-namespace`.
+        For valid object names have a look at :ref:`identifier-naming`.
 
     .. automethod:: overlay([options])
 
@@ -115,6 +114,24 @@
     :members: disable_buffering, enable_buffering
 
 
+.. _identifier-naming:
+
+Notes on Identifiers
+~~~~~~~~~~~~~~~~~~~~
+
+Jinja2 uses the regular Python 2.x naming rules.  Valid identifiers have to
+match ``[a-zA-Z_][a-zA-Z0-9_]*``.  As a matter of fact non ASCII characters
+are currently not allowed.  This limitation will probably go away as soon as
+unicode identifiers are fully specified for Python 3.
+
+Filters and tests are looked up in separate namespaces and have slightly
+modified identifier syntax.  Filters and tests may contain dots to group
+filters and tests by topic.  For example it's perfectly valid to add a
+function into the filter dict and call it `to.unicode`.  The regular
+expression for filter and test identifiers is
+``[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*```.
+
+
 Undefined Types
 ---------------