From aab574f9ef78792e53bfc55aa58635ecaf8b2a90 Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Thu, 31 Dec 2009 16:48:21 +0000 Subject: Use System.IO.UTF8 only if ghc < 6.12. GHC >= 6.12 (base >= 4.2) uses iconv to convert to unicode Strings. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1748 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/Text/Pandoc.hs | 6 ++++-- src/Text/Pandoc/Shared.hs | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc.hs b/src/Text/Pandoc.hs index 88c425978..56c9bd542 100644 --- a/src/Text/Pandoc.hs +++ b/src/Text/Pandoc.hs @@ -36,14 +36,16 @@ inline links: > module Main where > import Text.Pandoc -> import qualified System.IO.UTF8 as U +> -- include the following two lines only if you're using ghc < 6.12: +> import Prelude hiding (getContents, putStrLn) +> import System.IO.UTF8 > > markdownToRST :: String -> String > markdownToRST = > (writeRST defaultWriterOptions {writerReferenceLinks = True}) . > readMarkdown defaultParserState > -> main = U.getContents >>= U.putStrLn . markdownToRST +> main = getContents >>= putStrLn . markdownToRST Note: all of the readers assume that the input text has @'\n'@ line endings. So if you get your input text from a web form, diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs index b0748be07..ea3c69c2a 100644 --- a/src/Text/Pandoc/Shared.hs +++ b/src/Text/Pandoc/Shared.hs @@ -119,8 +119,13 @@ import Data.List ( find, isPrefixOf, intercalate ) import Network.URI ( parseURI, URI (..), isAllowedInURI ) import System.Directory import System.FilePath ( FilePath, () ) -import Prelude hiding ( putStrLn, writeFile, readFile, getContents ) +-- Note: ghc >= 6.12 (base >=4.2) supports unicode through iconv +-- So we use System.IO.UTF8 only if we have an earlier version +#if MIN_VERSION_base(4,2,0) +#else +import Prelude hiding ( putStr, putStrLn, writeFile, readFile, getContents ) import System.IO.UTF8 +#endif import Data.Generics import qualified Control.Monad.State as S import Control.Monad (join) -- cgit v1.2.3