@@ -928,9 +928,7 @@ referenceLinkSingle = try (do
928928 else fail "no corresponding key"
929929 return (Link label (Ref label)))
930930
931−autoLink = do
932− notFollowedBy' (anyHtmlTag <|> anyHtmlEndTag)
933− autoLinkEmail <|> autoLinkRegular
931+autoLink = autoLinkEmail <|> autoLinkRegular
934932
935933-- a link <like@this.com>
936934autoLinkEmail = try $ do
@@ -941,10 +939,12 @@ autoLinkEmail = try $ do
941939 char autoLinkEnd
942940 return $ Link [Str src] (Src ("mailto:" ++ src) "")
943941
944−-- a link <like.this.com>
942+-- a link <http://like.this.com>
945943autoLinkRegular = try $ do
946− src <- between (char autoLinkStart) (char autoLinkEnd)
947− (many (noneOf (spaceChars ++ endLineChars ++ [autoLinkEnd])))
944+ char autoLinkStart
945+ prot <- oneOfStrings ["http:", "ftp:", "mailto:"]
946+ rest <- many1Till (noneOf " \t\n<>") (char autoLinkEnd)
947+ let src = prot ++ rest
948948 return $ Link [Str src] (Src src "")
949949
950950image = try (do