aboutsummaryrefslogtreecommitdiffstats
path: root/core/modulemanager.lua
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2010-05-04 23:36:50 +0100
committerMatthew Wild <mwild1@gmail.com>2010-05-04 23:36:50 +0100
commitbb00df3f5e95d57c7dff489c5a3da1b292251f85 (patch)
treef77f1673a20e30d53488924ed31f2e8d286a78f1 /core/modulemanager.lua
parentf050b618466ad7d6008fc96d3860c0ad868af7e8 (diff)
parent3376282d8aacc5814519e16c8b04809f24b9f248 (diff)
downloadprosody-bb00df3f5e95d57c7dff489c5a3da1b292251f85.tar.gz
prosody-bb00df3f5e95d57c7dff489c5a3da1b292251f85.zip
Merge 0.7->trunk (with MUC needing checking, waqas)
Diffstat (limited to 'core/modulemanager.lua')
-rw-r--r--core/modulemanager.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/modulemanager.lua b/core/modulemanager.lua
index 5e9eaedd..8e62aecb 100644
--- a/core/modulemanager.lua
+++ b/core/modulemanager.lua
@@ -19,7 +19,7 @@ local pluginloader = require "util.pluginloader";
local hosts = hosts;
local prosody = prosody;
-local loadfile, pcall = loadfile, pcall;
+local loadfile, pcall, xpcall = loadfile, pcall, xpcall;
local setmetatable, setfenv, getfenv = setmetatable, setfenv, getfenv;
local pairs, ipairs = pairs, ipairs;
local t_insert, t_concat = table.insert, table.concat;
@@ -29,6 +29,14 @@ local rawget = rawget;
local error = error;
local tostring, tonumber = tostring, tonumber;
+local debug_traceback = debug.traceback;
+local unpack, select = unpack, select;
+pcall = function(f, ...)
+ local n = select("#", ...);
+ local params = {...};
+ return xpcall(function() f(unpack(params, 1, n)) end, function(e) return tostring(e).."\n"..debug_traceback(); end);
+end
+
local array, set = require "util.array", require "util.set";
local autoload_modules = {"presence", "message", "iq"};