local shutil = {} function shutil.genenv() local et = os.genenv() for k,v in pairs(shutil) do if k ~= "genenv" then et[k] = v end end return et end function loadfile(fn) local f=io.open(fn,"rb") if not f then return false, "cannot read file" end local S=f:read("*a") f:close() return load(S,"=("..fn..")","bt",os.genenv()) end function run(fn,...) local lf = loadfile(fn) if not lf then return false, "cannot load file" end local r = {pcall(lf,...)} if r[1] == true then table.remove(r,1) end print(table.unpack(r)) end function srun(fn,...) local lf = loadfile(fn) if not lf then return false, "cannot load file" end spawn(fn,print(pcall(lf,...))) end