aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Readers/Roff.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/Readers/Roff.hs')
-rw-r--r--src/Text/Pandoc/Readers/Roff.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Readers/Roff.hs b/src/Text/Pandoc/Readers/Roff.hs
index 18535353e..078413674 100644
--- a/src/Text/Pandoc/Readers/Roff.hs
+++ b/src/Text/Pandoc/Readers/Roff.hs
@@ -32,8 +32,7 @@ import Control.Monad (void, mzero, mplus, guard)
import Control.Monad.Except (throwError)
import Text.Pandoc.Class
(getResourcePath, readFileFromDirs, PandocMonad(..), report)
-import Data.Char (isLower, toLower, toUpper, chr,
- isAscii, isAlphaNum)
+import Data.Char (isLower, toLower, toUpper, chr, isAscii, isAlphaNum)
import Data.Default (Default)
import qualified Data.Map as M
import Data.List (intercalate)
@@ -488,7 +487,9 @@ lexConditional mname = do
else expression
skipMany spacetab
st <- getState -- save state, so we can reset it
- ifPart <- lexGroup <|> ((try (char '\\' >> newline)) >> manToken)
+ ifPart <- do
+ optional $ try $ char '\\' >> newline
+ lexGroup
<|> do modifyState $ \s -> s{ afterConditional = True }
t <- manToken
modifyState $ \s -> s{ afterConditional = False }