Markdown reader: fix regression with example list references.
This affects example list references followed by dashes.
Introduced by commit b8d17f7.
Closes #6855.
commitbf3fea0a8cc65d140db55fc1af88be17d4df3e8b
authorJohn MacFarlane <jgm@berkeley.edu>
dateTue 17 Nov 2020, 20:36 (6 years ago)
parentd464757
src/Text/Pandoc/Parsing.hs+5−1
@@ -798,7 +798,11 @@ exampleNum :: Stream s m Char
798798 => ParserT s ParserState m (ListNumberStyle, Int)
799799exampleNum = do
800800 char '@'
801− lab <- T.pack <$> many (alphaNum <|> satisfy (\c -> c == '_' || c == '-'))
801+ lab <- mconcat . map T.pack <$>
802+ many (many1 alphaNum <|>
803+ try (do c <- char '_' <|> char '-'
804+ cs <- many1 alphaNum
805+ return (c:cs)))
802806 st <- getState
803807 let num = stateNextExample st
804808 let newlabels = if T.null lab
src/Text/Pandoc/Readers/Markdown.hs+5−1
@@ -1544,7 +1544,11 @@ exampleRef :: PandocMonad m => MarkdownParser m (F Inlines)
15441544exampleRef = try $ do
15451545 guardEnabled Ext_example_lists
15461546 char '@'
1547− lab <- many1Char (alphaNum <|> oneOf "-_")
1547+ lab <- mconcat . map T.pack <$>
1548+ many (many1 alphaNum <|>
1549+ try (do c <- char '_' <|> char '-'
1550+ cs <- many1 alphaNum
1551+ return (c:cs)))
15481552 return $ do
15491553 st <- askF
15501554 return $ case M.lookup lab (stateExamples st) of
test/command/6855.mdnew file+12
@@ -0,0 +1,12 @@
1+```
2+% pandoc -t markdown
3+(@a) one
4+(@b) two
5+
6+See (@a--@b)
7+^D
8+(1) one
9+(2) two
10+
11+See (1--2)
12+```