@@ -206,6 +206,7 @@ import Data.List (intercalate, isSuffixOf, transpose)
206import qualified Data.Map as M
206import qualified Data.Map as M
207import Data.Maybe (mapMaybe, fromMaybe)
207import Data.Maybe (mapMaybe, fromMaybe)
208import qualified Data.Set as Set
208import qualified Data.Set as Set
209import Data.Text (Text)
210import Data.Text (Text)
210import Text.HTML.TagSoup.Entity (lookupEntity)
211import Text.HTML.TagSoup.Entity (lookupEntity)
211import Text.Pandoc.Asciify (toAsciiChar)
212import Text.Pandoc.Asciify (toAsciiChar)
@@ -458,15 +459,15 @@ stringAnyCase (x:xs) = do
458 return (firstChar:rest)
459 return (firstChar:rest)
460-- | Parse contents of 'str' using 'parser' and return result.
461-- | Parse contents of 'str' using 'parser' and return result.
461−parseFromString :: Monad m
462+parseFromString :: (Monad m, Stream s m Char, IsString s)
462− => ParserT [Char] st m a
463+ => ParserT s st m r
463 -> String
464 -> String
464− -> ParserT [Char] st m a
465+ -> ParserT s st m r
465parseFromString parser str = do
466parseFromString parser str = do
466 oldPos <- getPosition
467 oldPos <- getPosition
467 setPosition $ initialPos "chunk"
468 setPosition $ initialPos "chunk"
468 oldInput <- getInput
469 oldInput <- getInput
469− setInput str
470+ setInput $ fromString str
470 result <- parser
471 result <- parser