aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Parsing.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2020-11-17 20:36:59 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2020-11-17 20:36:59 -0800
commitbf3fea0a8cc65d140db55fc1af88be17d4df3e8b (patch)
tree74b054cb79d0e91efa0b9b115480f740b7752bde /src/Text/Pandoc/Parsing.hs
parentd464757132c028386cbeca0e0e3591dce1766bbd (diff)
downloadpandoc-bf3fea0a8cc65d140db55fc1af88be17d4df3e8b.tar.gz
Markdown reader: fix regression with example list references.
This affects example list references followed by dashes. Introduced by commit b8d17f7. Closes #6855.
Diffstat (limited to 'src/Text/Pandoc/Parsing.hs')
-rw-r--r--src/Text/Pandoc/Parsing.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index 6c8442ce8..4bae8942b 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -798,7 +798,11 @@ exampleNum :: Stream s m Char
=> ParserT s ParserState m (ListNumberStyle, Int)
exampleNum = do
char '@'
- lab <- T.pack <$> many (alphaNum <|> satisfy (\c -> c == '_' || c == '-'))
+ lab <- mconcat . map T.pack <$>
+ many (many1 alphaNum <|>
+ try (do c <- char '_' <|> char '-'
+ cs <- many1 alphaNum
+ return (c:cs)))
st <- getState
let num = stateNextExample st
let newlabels = if T.null lab