- Fixed lexing support for whitespace
  around '=' sign in defs. [ticket:102]
diff --git a/CHANGES b/CHANGES
index ab3eeef..4798462 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 - Added last_modified accessor to Template,
   returns the time.time() when the module
   was created. [ticket:97]
+- Fixed lexing support for whitespace
+  around '=' sign in defs. [ticket:102]
   
 0.2.4
 - Fixed compatibility with Jython 2.5b1.
diff --git a/lib/mako/lexer.py b/lib/mako/lexer.py
index c5c39df..cbaf349 100644
--- a/lib/mako/lexer.py
+++ b/lib/mako/lexer.py
@@ -185,7 +185,7 @@
             
             ([\w\.\:]+)   # keyword
             
-            ((?:\s+\w+|=|".*?"|'.*?')*)  # attrname, = sign, string expression
+            ((?:\s+\w+|\s*=\s*|".*?"|'.*?')*)  # attrname, = sign, string expression
             
             \s*     # more whitespace
             
diff --git a/test/lexer.py b/test/lexer.py
index f0062d0..39d5ac5 100644
--- a/test/lexer.py
+++ b/test/lexer.py
@@ -122,7 +122,17 @@
             assert False
         except exceptions.CompileException, e:
             assert str(e) == "Missing parenthesis in %def at line: 2 char: 9"
-    
+
+    def test_whitespace_equals(self):
+        template = """
+            <%def name = "adef()" >
+              adef
+            </%def>
+        """    
+
+        node = Lexer(template).parse()
+        assert repr(node) == r"""TemplateNode({}, [Text(u'\n            ', (1, 1)), DefTag(u'def', {u'name': u'adef()'}, (2, 13), ["Text(u'\\n              adef\\n            ', (2, 36))"]), Text(u'\n        ', (4, 20))])"""
+
     def test_ns_tag_closed(self):
         template = """