git.iko.soy/typeable/pandoc
on master help sign in
Changes to Markdown reader for better conformity to the

Markdown test suite under --strict: + Removed check for a following setext header in endline. A full test is too inefficient (doubles benchmark time), and the substitute we had before is not 100% accurate. + Don't use Code elements for autolinks if --strict specified. git-svn-id: https://pandoc.googlecode.com/svn/trunk@876 788f1e2b-df1e-0410-8736-df70ead52e1b

commit84aa875bdba3215cf79f195a3f2ba6db06498257 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateMon 20 Aug 2007, 18:52 (19 years ago) parent57d52c3
1 file changed+12−6
src/Text/Pandoc/Readers/Markdown.hs+12−6
src/Text/Pandoc/Readers/Markdown.hs+12−6
@@ -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 '!'