diff --git a/src/lua-env.lua b/src/lua-env.lua index 573088d..309ea69 100644 --- a/src/lua-env.lua +++ b/src/lua-env.lua @@ -18,6 +18,8 @@ end -- Called when pcall fails on a ts->lua call, used to print detailed error info function _bllua_on_error(err) + -- Convert error to string if it's not already + err = tostring(err) err = err:match(': (.+)$') or err local tracelines = { err } local level = 2 @@ -25,7 +27,7 @@ function _bllua_on_error(err) local info = debug.getinfo(level) if not info then break end local filename = debug.getfilename(level) or info.short_src - local funcname = info.name + local funcname = info.name or '' if funcname == 'dofile' then break end table.insert(tracelines, string.format('%s:%s in function \'%s\'', filename,