util.format: Tweak serialization of %q formatted entries
authorKim Alvefur <zash@zash.se>
Sun, 26 Mar 2023 00:18:05 +0100
changeset 12987 4533c9b906b0
parent 12986 fc0109c59807
child 12988 f08125a8be34
util.format: Tweak serialization of %q formatted entries Improves serialization of function references especially, the built-in default handling of that in util.serialization is not the most informative. Now, along with the function metatable from util.startup, the actual function can be found by filename and line number.
util/format.lua
--- a/util/format.lua	Sun Mar 26 00:11:42 2023 +0100
+++ b/util/format.lua	Sun Mar 26 00:18:05 2023 +0100
@@ -10,7 +10,14 @@
 local pack = table.pack;
 local valid_utf8 = require "prosody.util.encodings".utf8.valid;
 local type = type;
-local dump = require "prosody.util.serialization".new("debug");
+local dump = require"prosody.util.serialization".new({
+	preset = "compact";
+	fallback = function(v, why)
+		return "_[[" .. (why or tostring(v)) .. "]] ";
+	end;
+	fatal = false;
+	maxdepth = 5;
+});
 local num_type = math.type;
 
 -- In Lua 5.3+ these formats throw an error if given a float