Added Text.Pandoc.Compat.TagSoupEntity.

This allows pandoc to compile with tagsoup 0.13.x.
Thanks to Dirk Ullrich for the patch.
This commit is contained in:
John MacFarlane 2013-08-08 10:42:52 -07:00
parent 802dc9a8b9
commit 12e7ec4070
6 changed files with 21 additions and 5 deletions

View file

@ -253,7 +253,7 @@ Library
citeproc-hs >= 0.3.7 && < 0.4,
pandoc-types >= 1.12 && < 1.13,
aeson >= 0.6 && < 0.7,
tagsoup >= 0.12.5 && < 0.13,
tagsoup >= 0.12.5 && < 0.14,
base64-bytestring >= 0.1 && < 1.1,
zlib >= 0.5 && < 0.6,
highlighting-kate >= 0.5.5 && < 0.6,
@ -336,6 +336,7 @@ Library
Text.Pandoc.Slides,
Text.Pandoc.Highlighting,
Text.Pandoc.Compat.Monoid,
Text.Pandoc.Compat.TagSoupEntity,
Paths_pandoc
Buildable: True

View file

@ -0,0 +1,15 @@
{-# LANGUAGE CPP #-}
module Text.Pandoc.Compat.TagSoupEntity (lookupEntity
) where
import qualified Text.HTML.TagSoup.Entity as TE
lookupEntity :: String -> Maybe Char
#if MIN_VERSION_tagsoup(0,13,0)
lookupEntity = str2chr . TE.lookupEntity
where str2chr :: Maybe String -> Maybe Char
str2chr (Just [c]) = Just c
str2chr _ = Nothing
#else
lookupEntity = TE.lookupEntity
#endif

View file

@ -161,7 +161,7 @@ import Data.List ( intercalate, transpose )
import Text.Pandoc.Shared
import qualified Data.Map as M
import Text.TeXMath.Macros (applyMacros, Macro, parseMacroDefinitions)
import Text.HTML.TagSoup.Entity ( lookupEntity )
import Text.Pandoc.Compat.TagSoupEntity ( lookupEntity )
import Data.Default
import qualified Data.Set as Set
import Control.Monad.Reader

View file

@ -4,7 +4,7 @@ import Text.Pandoc.Options
import Text.Pandoc.Definition
import Text.Pandoc.Builder
import Text.XML.Light
import Text.HTML.TagSoup.Entity (lookupEntity)
import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
import Data.Generics
import Data.Monoid
import Data.Char (isSpace)

View file

@ -6,7 +6,7 @@ import Text.Pandoc.Builder
import Text.Pandoc.Readers.HTML (readHtml)
import Text.Pandoc.Readers.Markdown (readMarkdown)
import Text.XML.Light
import Text.HTML.TagSoup.Entity (lookupEntity)
import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
import Data.Generics
import Data.Monoid
import Control.Monad.State

View file

@ -38,7 +38,7 @@ module Text.Pandoc.XML ( escapeCharForXML,
import Text.Pandoc.Pretty
import Data.Char (ord, isAscii, isSpace)
import Text.HTML.TagSoup.Entity (lookupEntity)
import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
-- | Escape one character as needed for XML.
escapeCharForXML :: Char -> String