hi! when i use lua i usually use a library that prevents me from accidentally using/setting globals that aren't already defined, in order to cut down on typos. i've collected a small whitelist of globals that need to be available for picotron. i noticed in terminal.lua there's a comment saying it's not supposed to set any globals, so i thought i'd report them in case they should be fixed.
here's what i have so far in my whitelist:
-- terminal.lua cproj_draw cproj_update _ _is_terminal_command k res -- gui.lua drag_t |
and here's the full script i'm using to protect globals in case it's helpful:
-- if you're using include(), include this after including everything else, -- since most included modules will need to assign global variables on load -- these globals are needed by picotron _init = _init or false _draw = _draw or false _update = _update or false -- these are used by the picotron terminal cproj_draw = cproj_draw or false cproj_update = cproj_update or false _ = _ or false _is_terminal_command = _is_terminal_command or false k = k or false res = res or false -- gui needs these drag_t = drag_t or false local function unknown_variable (t, k) error (debug.traceback ('unknown variable ' .. tostring (k), 2)) end setmetatable (_G, { __index = unknown_variable, __newindex = unknown_variable, }) |
it's probably a good idea not to use it in finished carts because then changes to picotron might break them
[Please log in to post a comment]