From: Fabien Fleutot Date: Thu, 18 Dec 2008 19:40:02 +0000 (+0100) Subject: better runtime error msg qhen running a program with metalua X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=f040ba8e2b722d2bbd8864ca73bb3655e0b8dfe7;p=metalua.git better runtime error msg qhen running a program with metalua --- diff --git a/src/compiler/metalua.mlua b/src/compiler/metalua.mlua index 265f06b..9e1fdc3 100644 --- a/src/compiler/metalua.mlua +++ b/src/compiler/metalua.mlua @@ -233,7 +233,10 @@ local function main (...) -- FIXME: check for failures runargs = table.icat(cfg.params or { }, runargs) - local st, msg = pcall(f, unpack (runargs)) + local function print_traceback (errmsg) + return errmsg .. '\n' .. debug.traceback ('',2) .. '\n' + end + local st, msg = xpcall(|| f(unpack (runargs)), print_traceback) if not st then io.stderr:write(msg) os.exit(RUNTIME_ERROR_NUMBER)