From f040ba8e2b722d2bbd8864ca73bb3655e0b8dfe7 Mon Sep 17 00:00:00 2001 From: Fabien Fleutot Date: Thu, 18 Dec 2008 20:40:02 +0100 Subject: [PATCH] better runtime error msg qhen running a program with metalua --- src/compiler/metalua.mlua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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) -- 2.44.0