git.iko.soy/typeable/pandoc
on master help sign in
Added Text.Pandoc.Compat.TagSoupEntity.

This allows pandoc to compile with tagsoup 0.13.x. Thanks to Dirk Ullrich for the patch.

commit12e7ec40707bfb716bb9add82e4320558e065492 authorJohn MacFarlane <jgm@berkeley.edu> dateThu 8 Aug 2013, 10:42 (13 years ago) parent802dc9a
6 files changed+21−5
pandoc.cabal+2−1 src/Text/Pandoc/Compat/TagSoupEntity.hs+15 src/Text/Pandoc/Parsing.hs+1−1 src/Text/Pandoc/Readers/DocBook.hs+1−1 src/Text/Pandoc/Readers/OPML.hs+1−1 src/Text/Pandoc/XML.hs+1−1
pandoc.cabal+2−1
@@ -253,7 +253,7 @@ Library
253253 citeproc-hs >= 0.3.7 && < 0.4,
254254 pandoc-types >= 1.12 && < 1.13,
255255 aeson >= 0.6 && < 0.7,
256− tagsoup >= 0.12.5 && < 0.13,
256+ tagsoup >= 0.12.5 && < 0.14,
257257 base64-bytestring >= 0.1 && < 1.1,
258258 zlib >= 0.5 && < 0.6,
259259 highlighting-kate >= 0.5.5 && < 0.6,
@@ -336,6 +336,7 @@ Library
336336 Text.Pandoc.Slides,
337337 Text.Pandoc.Highlighting,
338338 Text.Pandoc.Compat.Monoid,
339+ Text.Pandoc.Compat.TagSoupEntity,
339340 Paths_pandoc
340341
341342 Buildable: True
src/Text/Pandoc/Compat/TagSoupEntity.hsnew file+15
@@ -0,0 +1,15 @@
1+{-# LANGUAGE CPP #-}
2+module Text.Pandoc.Compat.TagSoupEntity (lookupEntity
3+ ) where
4+
5+import qualified Text.HTML.TagSoup.Entity as TE
6+
7+lookupEntity :: String -> Maybe Char
8+#if MIN_VERSION_tagsoup(0,13,0)
9+lookupEntity = str2chr . TE.lookupEntity
10+ where str2chr :: Maybe String -> Maybe Char
11+ str2chr (Just [c]) = Just c
12+ str2chr _ = Nothing
13+#else
14+lookupEntity = TE.lookupEntity
15+#endif
src/Text/Pandoc/Parsing.hs+1−1
@@ -161,7 +161,7 @@ import Data.List ( intercalate, transpose )
161161import Text.Pandoc.Shared
162162import qualified Data.Map as M
163163import Text.TeXMath.Macros (applyMacros, Macro, parseMacroDefinitions)
164−import Text.HTML.TagSoup.Entity ( lookupEntity )
164+import Text.Pandoc.Compat.TagSoupEntity ( lookupEntity )
165165import Data.Default
166166import qualified Data.Set as Set
167167import Control.Monad.Reader
src/Text/Pandoc/Readers/DocBook.hs+1−1
@@ -4,7 +4,7 @@ import Text.Pandoc.Options
44import Text.Pandoc.Definition
55import Text.Pandoc.Builder
66import Text.XML.Light
7−import Text.HTML.TagSoup.Entity (lookupEntity)
7+import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
88import Data.Generics
99import Data.Monoid
1010import Data.Char (isSpace)
src/Text/Pandoc/Readers/OPML.hs+1−1
@@ -6,7 +6,7 @@ import Text.Pandoc.Builder
66import Text.Pandoc.Readers.HTML (readHtml)
77import Text.Pandoc.Readers.Markdown (readMarkdown)
88import Text.XML.Light
9−import Text.HTML.TagSoup.Entity (lookupEntity)
9+import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
1010import Data.Generics
1111import Data.Monoid
1212import Control.Monad.State
src/Text/Pandoc/XML.hs+1−1
@@ -38,7 +38,7 @@ module Text.Pandoc.XML ( escapeCharForXML,
3838
3939import Text.Pandoc.Pretty
4040import Data.Char (ord, isAscii, isSpace)
41−import Text.HTML.TagSoup.Entity (lookupEntity)
41+import Text.Pandoc.Compat.TagSoupEntity (lookupEntity)
4242
4343-- | Escape one character as needed for XML.
4444escapeCharForXML :: Char -> String