From 9c299d282f943fd4db076b09b1901309e19308bd Mon Sep 17 00:00:00 2001
From: John MacFarlane <fiddlosopher@gmail.com>
Date: Wed, 23 Jan 2013 08:14:23 -0800
Subject: [PATCH] Added Text.Pandoc.Data (non-exported) if embed_data_files
 selected.

This module just exports the association list of embedded data files,
which is used by Shared.
---
 pandoc.cabal              | 3 +++
 src/Text/Pandoc/Data.hs   | 7 +++++++
 src/Text/Pandoc/Shared.hs | 9 ++-------
 3 files changed, 12 insertions(+), 7 deletions(-)
 create mode 100644 src/Text/Pandoc/Data.hs

diff --git a/pandoc.cabal b/pandoc.cabal
index 62d2521b3..534dfafe7 100644
--- a/pandoc.cabal
+++ b/pandoc.cabal
@@ -314,6 +314,9 @@ Library
                    Text.Pandoc.Slides,
                    Paths_pandoc
 
+  if flag(embed_data_files)
+    Other-Modules: Text.Pandoc.Data
+
   Buildable:       True
 
 Executable pandoc
diff --git a/src/Text/Pandoc/Data.hs b/src/Text/Pandoc/Data.hs
new file mode 100644
index 000000000..441fa5913
--- /dev/null
+++ b/src/Text/Pandoc/Data.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Text.Pandoc.Data (dataFiles) where
+import Data.FileEmbed
+import qualified Data.ByteString as B
+
+dataFiles :: [(FilePath, B.ByteString)]
+dataFiles = $(embedDir "data")
diff --git a/src/Text/Pandoc/Shared.hs b/src/Text/Pandoc/Shared.hs
index 26b0e1b1d..e4b38acc7 100644
--- a/src/Text/Pandoc/Shared.hs
+++ b/src/Text/Pandoc/Shared.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE DeriveDataTypeable, CPP, TemplateHaskell #-}
+{-# LANGUAGE DeriveDataTypeable, CPP #-}
 {-
 Copyright (C) 2006-2010 John MacFarlane <jgm@berkeley.edu>
 
@@ -103,7 +103,7 @@ import qualified Data.ByteString as B
 import Network.HTTP (findHeader, rspBody, simpleHTTP, RequestMethod(..),
                      HeaderName(..), mkRequest)
 #ifdef EMBED_DATA_FILES
-import Data.FileEmbed
+import Text.Pandoc.Data (dataFiles)
 #else
 import Paths_pandoc (getDataFileName)
 #endif
@@ -515,11 +515,6 @@ inDirectory path action = do
   setCurrentDirectory oldDir
   return result
 
-#ifdef EMBED_DATA_FILES
-dataFiles :: [(FilePath, B.ByteString)]
-dataFiles = $(embedDir "data")
-#endif
-
 readDefaultDataFile :: FilePath -> IO B.ByteString
 readDefaultDataFile fname =
 #ifdef EMBED_DATA_FILES