diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index d59f8a71a..2d3ad1199 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1332,9 +1332,6 @@ noneOfUnlessEscaped cs =  textualCite :: GenParser Char ParserState [Citation]  textualCite = try $ do    (_, key) <- citeKey -  st <- getState -  unless (key `elem` stateCitations st) $ -    fail "not a citation"    let first = Citation{ citationId      = key                        , citationPrefix  = []                        , citationSuffix  = [] @@ -1368,13 +1365,16 @@ normalCite = try $ do    char ']'    return citations -citeKey :: GenParser Char st (Bool, String) +citeKey :: GenParser Char ParserState (Bool, String)  citeKey = try $ do    suppress_author <- option False (char '-' >> return True)    char '@'    first <- letter    rest <- many $ (noneOf ",;]@ \t\n") -  return (suppress_author, first:rest) +  let key = first:rest +  st <- getState +  guard $ key `elem` stateCitations st +  return (suppress_author, key)  locator :: GenParser Char st String  locator = try $ do | 
