git.iko.soy/typeable/pandoc
on master help sign in
Markdown reader: use htmlInBalanced for rawVerbatimBlock.

This should give better performance. See #2730.

commit04d1e40f374cf95e79308ca8cca75100602353b6 authorJohn MacFarlane <jgm@berkeley.edu> dateSun 21 Feb 2016, 07:55 (11 years ago) parentf1c59b2
1 file changed+5−7
src/Text/Pandoc/Readers/Markdown.hs+5−7
src/Text/Pandoc/Readers/Markdown.hs+5−7
@@ -61,7 +61,6 @@ import Text.Pandoc.Readers.HTML ( htmlTag, htmlInBalanced, isInlineTag, isBlockT
6161import Control.Monad
6262import System.FilePath (takeExtension, addExtension)
6363import Text.HTML.TagSoup
64−import Text.HTML.TagSoup.Match (tagOpen)
6564import qualified Data.Set as Set
6665import Text.Printf (printf)
6766import Debug.Trace (trace)
@@ -1052,12 +1051,11 @@ strictHtmlBlock :: MarkdownParser String
10521051strictHtmlBlock = htmlInBalanced (not . isInlineTag)
10531052
10541053rawVerbatimBlock :: MarkdownParser String
1055−rawVerbatimBlock = try $ do
1056− (TagOpen tag _, open) <- htmlTag (tagOpen (flip elem
1057− ["pre", "style", "script"])
1058− (const True))
1059− contents <- manyTill anyChar (htmlTag (~== TagClose tag))
1060− return $ open ++ contents ++ renderTags' [TagClose tag]
1054+rawVerbatimBlock = htmlInBalanced isVerbTag
1055+ where isVerbTag (TagOpen "pre" _) = True
1056+ isVerbTag (TagOpen "style" _) = True
1057+ isVerbTag (TagOpen "script" _) = True
1058+ isVerbTag _ = False
10611059
10621060rawTeXBlock :: MarkdownParser (F Blocks)
10631061rawTeXBlock = do