minor cleanup

This commit is contained in:
kepler155c@gmail.com 2020-05-25 21:48:37 -06:00
parent 1cce4aad03
commit a4f4f34576
5 changed files with 14 additions and 12 deletions

View File

@ -42,5 +42,5 @@ end
-- non-standard - will raise error instead -- non-standard - will raise error instead
os.exit = function(code) os.exit = function(code)
error(code) error(code or 0)
end end

View File

@ -60,7 +60,7 @@ function Routine:resume(event, ...)
end end
if not s and event ~= 'terminate' then if not s and event ~= 'terminate' then
if m and debug and debug.traceback then if m and type(debug) == 'table' and debug.traceback then
local t = (debug.traceback(self.co, 1)) or '' local t = (debug.traceback(self.co, 1)) or ''
m = m .. '\n' .. t:match('%d\n(.+)') m = m .. '\n' .. t:match('%d\n(.+)')
end end

View File

@ -1,3 +1,5 @@
-- https://www.lua.org/manual/5.1/manual.html#pdf-require
local function split(str, pattern) local function split(str, pattern)
local t = { } local t = { }
local function helper(line) table.insert(t, line) return "" end local function helper(line) table.insert(t, line) return "" end
@ -65,14 +67,14 @@ return function(env)
local sPath = string.gsub(pattern, "%?", fname) local sPath = string.gsub(pattern, "%?", fname)
-- TODO: if there's no shell, we should not be checking relative paths below -- TODO: if there's no shell, we should not be checking relative paths below
-- as they will resolve to root directory -- as they will resolve to root directory
if env.shell and if env.shell
type(env.shell.getRunningProgram) == 'function' and and type(env.shell.getRunningProgram) == 'function'
sPath:sub(1, 1) ~= "/" then and sPath:sub(1, 1) ~= "/" then
sPath = fs.combine(fs.getDir(env.shell.getRunningProgram() or ''), sPath) sPath = fs.combine(fs.getDir(env.shell.getRunningProgram() or ''), sPath)
end end
if fs.exists(sPath) and not fs.isDir(sPath) then if fs.exists(sPath) and not fs.isDir(sPath) then
return loadfile(sPath, env) return loadfile(fs.combine(sPath, ''), env)
end end
end end
end end

View File

@ -78,8 +78,6 @@ local function trim_traceback(stack)
end end
return function (fn, ...) return function (fn, ...)
-- xpcall in Lua 5.1 does not accept parameters
-- which is not ideal
local args = { ... } local args = { ... }
local res = table.pack(xpcall(function() local res = table.pack(xpcall(function()
return fn(table.unpack(args)) return fn(table.unpack(args))
@ -88,6 +86,10 @@ return function (fn, ...)
if not res[1] and res[2] ~= nil then if not res[1] and res[2] ~= nil then
local err, trace = trim_traceback(res[2]) local err, trace = trim_traceback(res[2])
if err:match(':%d+: 0$') then
return true
end
if #trace > 0 then if #trace > 0 then
_G._syslog('\n' .. err .. '\n' .. 'stack traceback:') _G._syslog('\n' .. err .. '\n' .. 'stack traceback:')
for _, v in ipairs(trace) do for _, v in ipairs(trace) do
@ -95,10 +97,6 @@ return function (fn, ...)
end end
end end
if err:match(':%d+: 0$') then
return true
end
return res[1], err, trace return res[1], err, trace
end end

View File

@ -19,6 +19,8 @@ UI.Button.defaults = {
[ ' ' ] = 'button_activate', [ ' ' ] = 'button_activate',
enter = 'button_activate', enter = 'button_activate',
mouse_click = 'button_activate', mouse_click = 'button_activate',
mouse_doubleclick = 'button_activate',
mouse_tripleclick = 'button_activate',
} }
} }
function UI.Button:layout() function UI.Button:layout()