# HG changeset patch
# User Radomir Dopieralski <devel@sheep.art.pl>
# Date 1419554508 -3600
# Node ID 097c67f0fd2d3b433000b418def37c32b042c7ce
# Parent  c4b8828458b3764548b2cca48195a173cf2dbe7f
Fix #109, don't catch parens and quotes in the e-mail link rule

The rules for e-mail addresses allow for pretty much anything in the user name
part, but due to practical reasons we will exclude parens and quote symbols, as
they are rarely used in that place, but often used around e-mail addresses.

diff --git a/hatta/parser.py b/hatta/parser.py
--- a/hatta/parser.py
+++ b/hatta/parser.py
@@ -341,7 +341,7 @@
         return self._line_link(link_target=link_url)
 
     @markup_rules(ur"""(?P<mail_address>(mailto:)?"""
-                  ur"""\S+@\S+(\.[^\s.,:;!?()'"\*/=+<>-]+)+)""" , 90)
+                  ur"""[^\s()\[\]<>{}"']+@\S+(\.[^\s.,:;!?()'"\*/=+<>-]+)+)""" , 90)
     def _line_mail(self, mail_address):
         text = mail_address
         if mail_address.startswith(u'mailto:'):
