From 6fb2973a582116cd515c6f7e68794cca22955511 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 10 Nov 2021 08:52:04 -0800 Subject: Fix parsing of `%` in bibtex fields. Closes #7678 (a bug introduced by 0a45f26). --- src/Text/Pandoc/Citeproc/BibTeX.hs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Text/Pandoc/Citeproc/BibTeX.hs b/src/Text/Pandoc/Citeproc/BibTeX.hs index 66bb9bbe3..a8e5622ed 100644 --- a/src/Text/Pandoc/Citeproc/BibTeX.hs +++ b/src/Text/Pandoc/Citeproc/BibTeX.hs @@ -844,11 +844,10 @@ inBraces :: BibParser Text inBraces = do char '{' res <- manyTill - ( take1WhileP (\c -> c /= '{' && c /= '}' && c /= '\\' && c /= '%') - <|> (char '\\' >> ( (char '{' >> return "\\{") - <|> (char '}' >> return "\\}") - <|> return "\\")) - <|> ("" <$ (char '%' >> anyLine)) + ( take1WhileP (\c -> c /= '{' && c /= '}' && c /= '\\') + <|> (char '\\' >> (do c <- oneOf "{}" + return $ T.pack ['\\',c]) + <|> return "\\") <|> (braced <$> inBraces) ) (char '}') return $ T.concat res -- cgit v1.2.3