Fix readWithM with Stream.

This commit is contained in:
John MacFarlane 2018-11-02 20:26:36 -07:00
parent 9a0333e489
commit 6b7a7adcbf
3 changed files with 4 additions and 7 deletions

View file

@ -394,8 +394,7 @@ library
http-types >= 0.8 && < 0.13,
case-insensitive >= 1.2 && < 1.3,
unicode-transforms >= 0.3 && < 0.4,
HsYAML >= 0.1.1.1 && < 0.2,
monad-loops >= 0.4 && < 0.5
HsYAML >= 0.1.1.1 && < 0.2
if impl(ghc < 8.0)
build-depends: semigroups == 0.18.*,
-- basement 0.0.8 and foundation 0.0.21, transitive

View file

@ -198,7 +198,6 @@ where
import Prelude
import Control.Monad.Identity
import Control.Monad.Loops (unfoldM)
import Control.Monad.Reader
import Data.Char (chr, isAlphaNum, isAscii, isAsciiUpper,
isPunctuation, isSpace, ord, toLower, toUpper)
@ -222,7 +221,6 @@ import Text.Pandoc.Shared
import qualified Text.Pandoc.UTF8 as UTF8 (putStrLn)
import Text.Pandoc.XML (fromEntities)
import Text.Parsec hiding (token)
import qualified Text.Parsec (uncons)
import Text.Parsec.Pos (initialPos, newPos, updatePosString)
import Control.Monad.Except
@ -1056,10 +1054,10 @@ readWithM parser state input = do
case res of
Right x -> return $ Right x
Left e -> do
inp <- map fst <$> unfoldM (Text.Parsec.uncons input)
inp <- either (const "") id
<$> runParserT (many1 anyChar) state "source" input
return $ Left $ PandocParsecError inp e
-- | Parse a string with a given parser and state
readWith :: Parser [Char] st a
-> st

View file

@ -53,7 +53,7 @@ import Prelude
import Safe (lastDef)
import Control.Monad (void, mzero, mplus, guard)
import Control.Monad.Except (throwError)
import Control.Monad.State.Strict (StateT(..), evalStateT, get, modify, put)
import Control.Monad.State (StateT(..), evalStateT, get, modify, put)
import Text.Pandoc.Class
(getResourcePath, readFileFromDirs, PandocMonad(..), report)
import Data.Char (isLower, toLower, toUpper, chr,