git.iko.soy/typeable/pandoc
on master help sign in
Correctly handle UTF-8 in custom lua scripts. Closes #1189.
036576cJohn MacFarlane
src/Text/Pandoc/Writers/Custom.hs+1−2
@@ -37,7 +37,6 @@ import Data.Char ( toLower )
37import Scripting.Lua (LuaState, StackValue, callfunc)
37import Scripting.Lua (LuaState, StackValue, callfunc)
38import qualified Scripting.Lua as Lua
38import qualified Scripting.Lua as Lua
39import Text.Pandoc.UTF8 (fromString, toString)
39import Text.Pandoc.UTF8 (fromString, toString)
40−import qualified Text.Pandoc.UTF8 as UTF8
41import Data.ByteString (ByteString)
40import Data.ByteString (ByteString)
42import qualified Data.ByteString.Char8 as C8
41import qualified Data.ByteString.Char8 as C8
43import Data.Monoid
42import Data.Monoid
@@ -132,7 +131,7 @@ instance StackValue MetaValue where
132-- | Convert Pandoc to custom markup.
131-- | Convert Pandoc to custom markup.
133writeCustom :: FilePath -> WriterOptions -> Pandoc -> IO String
132writeCustom :: FilePath -> WriterOptions -> Pandoc -> IO String
134writeCustom luaFile opts doc = do
133writeCustom luaFile opts doc = do
135− luaScript <- UTF8.readFile luaFile
134+ luaScript <- C8.unpack `fmap` C8.readFile luaFile
136 lua <- Lua.newstate
135 lua <- Lua.newstate
137 Lua.openlibs lua
136 Lua.openlibs lua
138 Lua.loadstring lua luaScript "custom"
137 Lua.loadstring lua luaScript "custom"