Fixed a bug with template syntax errors not handled properly.

--HG--
branch : trunk
diff --git a/jinja2/environment.py b/jinja2/environment.py
index c2fee16..09705c1 100644
--- a/jinja2/environment.py
+++ b/jinja2/environment.py
@@ -368,7 +368,7 @@
             filename = filename.encode('utf-8')
         try:
             return Parser(self, source, name, filename).parse()
-        except TemplateSyntaxError, e:
+        except TemplateSyntaxError:
             self.handle_exception(sys.exc_info(), source_hint=source)
 
     def lex(self, source, name=None, filename=None):
@@ -384,7 +384,7 @@
         source = unicode(source)
         try:
             return self.lexer.tokeniter(source, name, filename)
-        except TemplateSyntaxError, e:
+        except TemplateSyntaxError:
             self.handle_exception(sys.exc_info(), source_hint=source)
 
     def preprocess(self, source, name=None, filename=None):
@@ -469,9 +469,8 @@
                 raise TemplateSyntaxError('chunk after expression',
                                           parser.stream.current.lineno,
                                           None, None)
-        except TemplateSyntaxError, e:
-            e.source = source
-            raise e
+        except TemplateSyntaxError:
+            self.handle_exception(sys.exc_info(), source_hint=source)
         body = [nodes.Assign(nodes.Name('result', 'store'), expr, lineno=1)]
         template = self.from_string(nodes.Template(body, lineno=1))
         return TemplateExpression(template, undefined_to_none)