It's now possible to use ``{{ foo.0.0 }}``
--HG--
branch : trunk
diff --git a/CHANGES b/CHANGES
index 23ad978..c1eb733 100644
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,8 @@
- fixed a bug with the i18n extension that caused the explicit pluralization
block to look up the wrong variable.
+- fixed a limitation in the lexer that made ``{{ foo.0.0 }}`` impossible.
+
Version 2.0
-----------
(codename jinjavitus, released on July 17th 2008)
diff --git a/jinja2/lexer.py b/jinja2/lexer.py
index 9702205..14b7110 100644
--- a/jinja2/lexer.py
+++ b/jinja2/lexer.py
@@ -31,7 +31,7 @@
r'|"([^"\\]*(?:\\.[^"\\]*)*)")', re.S)
integer_re = re.compile(r'\d+')
name_re = re.compile(r'\b[a-zA-Z_][a-zA-Z0-9_]*\b')
-float_re = re.compile(r'\d+\.\d+')
+float_re = re.compile(r'(?<!\.)\d+\.\d+')
newline_re = re.compile(r'(\r\n|\r|\n)')
# bind operators to token types
diff --git a/tests/test_syntax.py b/tests/test_syntax.py
index 29b3974..157720f 100644
--- a/tests/test_syntax.py
+++ b/tests/test_syntax.py
@@ -26,7 +26,7 @@
BOOL = '''{{ true and false }}|{{ false or true }}|{{ not false }}'''
GROUPING = '''{{ (true and false) or (false and true) and not false }}'''
CONDEXPR = '''{{ 0 if true else 1 }}'''
-DJANGOATTR = '''{{ [1, 2, 3].0 }}'''
+DJANGOATTR = '''{{ [1, 2, 3].0 }}|{{ [[1]].0.0 }}'''
FILTERPRIORITY = '''{{ "foo"|upper + "bar"|upper }}'''
TUPLETEMPLATES = [
'{{ () }}',
@@ -116,7 +116,7 @@
def test_django_attr(env):
tmpl = env.from_string(DJANGOATTR)
- assert tmpl.render() == '1'
+ assert tmpl.render() == '1|1'
def test_conditional_expression(env):