@@ -322,7 +322,7 @@ bulletListStart = try $ do
322322 skipSpaces
323323
324324anyOrderedListStart = try $ do
325− optional newline -- if preceded by a Plain block in a list context
325+ optional newline -- if preceded by a Plain block in a list context
326326 nonindentSpaces
327327 state <- getState
328328 if stateStrict state
@@ -786,8 +786,6 @@ endline = try $ do
786786 then do
787787 notFollowedBy emailBlockQuoteStart
788788 notFollowedBy (char '#') -- atx header
789− notFollowedBy (manyTill anyChar newline >> oneOf setextHChars)
790− -- setext header
791789 else return ()
792790 -- parse potential list-starts differently if in a list:
793791 if stateParserContext st == ListItemState
@@ -854,9 +852,10 @@ autoLinkEmail = try $ do
854852 char '<'
855853 name <- many1Till (noneOf "/:<> \t\n") (char '@')
856854 domain <- sepBy1 (many1 (noneOf "/:.@<> \t\n")) (char '.')
857− let src = name ++ "@" ++ (joinWithSep "." domain)
858855 char '>'
859− return $ Link [Code src] (("mailto:" ++ src), "")
856+ let src = name ++ "@" ++ (joinWithSep "." domain)
857+ txt <- autoLinkText src
858+ return $ Link txt (("mailto:" ++ src), "")
860859
861860-- a link <http://like.this.com>
862861autoLinkRegular = try $ do
@@ -864,7 +863,14 @@ autoLinkRegular = try $ do
864863 prot <- oneOfStrings ["http:", "ftp:", "mailto:"]
865864 rest <- many1Till (noneOf " \t\n<>") (char '>')
866865 let src = prot ++ rest
867− return $ Link [Code src] (src, "")
866+ txt <- autoLinkText src
867+ return $ Link txt (src, "")
868+
869+autoLinkText src = do
870+ st <- getState
871+ return $ if stateStrict st
872+ then [Str src]
873+ else [Code src]
868874
869875image = try $ do
870876 char '!'