From 7b971517b031e2df2edee0a39d7dc6737bcf9a38 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Mon, 5 Dec 2011 20:22:27 -0800 Subject: Parsing: Changed type of escaped to return Char --- src/Text/Pandoc/Parsing.hs | 7 ++----- src/Text/Pandoc/Readers/LaTeX.hs | 2 +- src/Text/Pandoc/Readers/RST.hs | 3 ++- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs index eaf0c0f67..acfdda2c4 100644 --- a/src/Text/Pandoc/Parsing.hs +++ b/src/Text/Pandoc/Parsing.hs @@ -325,11 +325,8 @@ failUnlessLHS = do -- | Parses backslash, then applies character parser. escaped :: GenParser Char st Char -- ^ Parser for character to escape - -> GenParser Char st Inline -escaped parser = try $ do - char '\\' - result <- parser - return (Str [result]) + -> GenParser Char st Char +escaped parser = try $ char '\\' >> parser -- | Parses an uppercase roman numeral and returns (UpperRoman, number). upperRoman :: GenParser Char st (ListNumberStyle, Int) diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs index a6b7cc19a..9610b75a5 100644 --- a/src/Text/Pandoc/Readers/LaTeX.hs +++ b/src/Text/Pandoc/Readers/LaTeX.hs @@ -677,7 +677,7 @@ sect = try (string "\\S") >> return (Str [chr 167]) escapedChar :: GenParser Char st Inline escapedChar = do result <- escaped (oneOf specialChars) - return $ if result == Str "\n" then Str " " else result + return $ if result == '\n' then Str " " else Str [result] emptyGroup :: GenParser Char st Inline emptyGroup = try $ do diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs index 49ddb90fc..3dcfe47d0 100644 --- a/src/Text/Pandoc/Readers/RST.hs +++ b/src/Text/Pandoc/Readers/RST.hs @@ -750,7 +750,8 @@ hyphens = do return $ Str result escapedChar :: GenParser Char st Inline -escapedChar = escaped anyChar +escapedChar = do c <- escaped anyChar + return $ Str [c] symbol :: GenParser Char ParserState Inline symbol = do -- cgit v1.2.3