From f5f6460b2eab9d8cdd1de3231a5770bedd7e34f9 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Fri, 26 Oct 2018 19:32:00 +0100 Subject: Many things: switch from hacky multi-arg xpcall implementations to a standard util.xpcall --- core/modulemanager.lua | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'core') diff --git a/core/modulemanager.lua b/core/modulemanager.lua index 81c28aa0..63b5e177 100644 --- a/core/modulemanager.lua +++ b/core/modulemanager.lua @@ -18,18 +18,13 @@ local api = require "core.moduleapi"; -- Module API container local prosody = prosody; local hosts = prosody.hosts; -local xpcall = xpcall; +local xpcall = require "util.xpcall".xpcall; local setmetatable, rawget = setmetatable, rawget; local ipairs, pairs, type, tostring, t_insert = ipairs, pairs, type, tostring, table.insert; local debug_traceback = debug.traceback; local select = select; local unpack = table.unpack or unpack; --luacheck: ignore 113 -local pcall = function(f, ...) - local n = select("#", ...); - local params = {...}; - return xpcall(function() return f(unpack(params, 1, n)) end, function(e) return tostring(e).."\n"..debug_traceback(); end); -end local autoload_modules = {prosody.platform, "presence", "message", "iq", "offline", "c2s", "s2s", "s2s_auth_certs"}; local component_inheritable_modules = {"tls", "saslauth", "dialback", "iq", "s2s"}; @@ -183,7 +178,7 @@ local function do_load_module(host, module_name, state) api_instance.path = err; modulemap[host][module_name] = pluginenv; - local ok, err = pcall(mod); + local ok, err = xpcall(mod, debug.traceback); if ok then -- Call module's "load" if module_has_method(pluginenv, "load") then -- cgit v1.2.3