aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2019-11-14 07:58:50 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2019-11-14 07:58:50 -0800
commitcc5afbb8342458dea0eb5eb2c08b11b78220b831 (patch)
tree09e368de63dba3cb888bb8e8b6f735a77d3aa539
parentdb6e9de091d02a5d36893aa1ef9708afb85da588 (diff)
downloadpandoc-cc5afbb8342458dea0eb5eb2c08b11b78220b831.tar.gz
Markdown reader: Use take1WhileP for str.
This yields a small but measurable performance improvement.
-rw-r--r--src/Text/Pandoc/Readers/Markdown.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 847c20706..1691c9ab4 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1728,7 +1728,9 @@ nonEndline = satisfy (/='\n')
str :: PandocMonad m => MarkdownParser m (F Inlines)
str = do
- result <- many1Char (alphaNum <|> try (char '.' <* notFollowedBy (char '.')))
+ result <- mconcat <$> many1
+ ( take1WhileP isAlphaNum
+ <|> "." <$ try (char '.' <* notFollowedBy (char '.')) )
updateLastStrPos
(do guardEnabled Ext_smart
abbrevs <- getOption readerAbbreviations