@@ -198,7 +198,6 @@ where
198198
199199import Prelude
200200import Control.Monad.Identity
201−import Control.Monad.Loops (unfoldM)
202201import Control.Monad.Reader
203202import Data.Char (chr, isAlphaNum, isAscii, isAsciiUpper,
204203 isPunctuation, isSpace, ord, toLower, toUpper)
@@ -222,7 +221,6 @@ import Text.Pandoc.Shared
222221import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn)
223222import Text.Pandoc.XML (fromEntities)
224223import Text.Parsec hiding (token)
225−import qualified Text.Parsec (uncons)
226224import Text.Parsec.Pos (initialPos, newPos, updatePosString)
227225
228226import Control.Monad.Except
@@ -1056,10 +1054,10 @@ readWithM parser state input = do
10561054 case res of
10571055 Right x -> return $ Right x
10581056 Left e -> do
1059− inp <- map fst <$> unfoldM (Text.Parsec.uncons input)
1057+ inp <- either (const "") id
1058+ <$> runParserT (many1 anyChar) state "source" input
10601059 return $ Left $ PandocParsecError inp e
10611060
1062−
10631061-- | Parse a string with a given parser and state
10641062readWith :: Parser [Char] st a
10651063 -> st