diff options
-rw-r--r-- | src/Text/Pandoc/Parsing.hs | 7 | ||||
-rw-r--r-- | src/Text/Pandoc/Readers/LaTeX.hs | 2 | ||||
-rw-r--r-- | 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 |