From c07005a095960bc1a3e012fec5a23bf4c70185f5 Mon Sep 17 00:00:00 2001
From: Albert Krewinkel <albert@zeitkraut.de>
Date: Thu, 21 Oct 2021 11:11:27 +0200
Subject: Lua: marshal Version values as userdata

---
 src/Text/Pandoc/Lua/Module/Types.hs | 6 +++---
 src/Text/Pandoc/Lua/Module/Utils.hs | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

(limited to 'src/Text/Pandoc/Lua/Module')

diff --git a/src/Text/Pandoc/Lua/Module/Types.hs b/src/Text/Pandoc/Lua/Module/Types.hs
index a9ce14ce7..7307c6e88 100644
--- a/src/Text/Pandoc/Lua/Module/Types.hs
+++ b/src/Text/Pandoc/Lua/Module/Types.hs
@@ -13,21 +13,21 @@ module Text.Pandoc.Lua.Module.Types
   ( pushModule
   ) where
 
-import Data.Version (Version)
 import HsLua (LuaE, NumResults, Peeker, Pusher)
 import Text.Pandoc.Error (PandocError)
 import Text.Pandoc.Lua.ErrorConversion ()
 import Text.Pandoc.Lua.Marshaling.AST
-import Text.Pandoc.Lua.Marshaling.Version ()
 import Text.Pandoc.Lua.Util (addFunction)
 
 import qualified HsLua as Lua
+import qualified HsLua.Module.Version as Version
 
 -- | Push the pandoc.types module on the Lua stack.
 pushModule :: LuaE PandocError NumResults
 pushModule = do
   Lua.newtable
-  addFunction "Version" (return :: Version -> LuaE PandocError Version)
+  Lua.pushName "Version" *> Lua.pushModule Version.documentedModule
+    *> Lua.rawset (Lua.nth 3)
   pushCloneTable
   Lua.setfield (Lua.nth 2) "clone"
   return 1
diff --git a/src/Text/Pandoc/Lua/Module/Utils.hs b/src/Text/Pandoc/Lua/Module/Utils.hs
index 8b6e31b43..7ce1cd18d 100644
--- a/src/Text/Pandoc/Lua/Module/Utils.hs
+++ b/src/Text/Pandoc/Lua/Module/Utils.hs
@@ -23,6 +23,7 @@ import Data.Default (def)
 import Data.Version (Version)
 import HsLua as Lua hiding (pushModule)
 import HsLua.Class.Peekable (PeekError)
+import HsLua.Module.Version (peekVersionFuzzy, pushVersion)
 import Text.Pandoc.Definition
 import Text.Pandoc.Error (PandocError)
 import Text.Pandoc.Lua.Marshaling ()
@@ -32,7 +33,6 @@ import Text.Pandoc.Lua.Marshaling.AST
 import Text.Pandoc.Lua.Marshaling.List (pushPandocList)
 import Text.Pandoc.Lua.Marshaling.SimpleTable
   ( SimpleTable (..), peekSimpleTable, pushSimpleTable )
-import Text.Pandoc.Lua.Marshaling.Version (peekVersionFuzzy, pushVersion)
 import Text.Pandoc.Lua.PandocLua (PandocLua (unPandocLua))
 
 import qualified Data.Digest.Pure.SHA as SHA
-- 
cgit v1.2.3