# HG changeset patch # User jbe # Date 1582046142 -3600 # Node ID c228db239964d4e9ad15f4cf55c68e1976c09545 # Parent 16197a40c7a94216335bee445a559794d565f2e6 Only treat tables without metatable as array diff -r 16197a40c7a9 -r c228db239964 libraries/mondelefant/mondelefant_atom_connector.lua --- a/libraries/mondelefant/mondelefant_atom_connector.lua Mon Feb 10 20:47:58 2020 +0100 +++ b/libraries/mondelefant/mondelefant_atom_connector.lua Tue Feb 18 18:15:42 2020 +0100 @@ -113,7 +113,7 @@ end end -input_converters["table"] = function(conn, value, rawtext_mode) +input_converters["rawtable"] = function(conn, value, rawtext_mode) -- treat tables as arrays local parts = { "{" } for i, v in ipairs(value) do @@ -213,6 +213,16 @@ if value == nil then return "NULL" else + local mt = getmetatable(value) + local converter = input_converters.mt + if not converter then + local t = type(value) + if t == "table" and mt == nil then + converter = input_converters.rawtable + else + converter = input.converters.t + end + end local converter = input_converters[getmetatable(value)] or input_converters[type(value)]