diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2019-03-14 17:57:30 -0700 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2019-03-14 17:57:48 -0700 |
| commit | c2397620a92c0d73cdedeff1912cbd9f13ff090a (patch) | |
| tree | 92078acf9f46922e45337fea818d33d2b7e48016 /error_handling.lua | |
| parent | ddb839bfd4ba8dbdd214f3e885629fc8fe57e68c (diff) | |
Fix for luajit error handling (old Lua 5.1 API uses getfenv)
Diffstat (limited to 'error_handling.lua')
| -rw-r--r-- | error_handling.lua | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/error_handling.lua b/error_handling.lua index 4799ce2..6774e55 100644 --- a/error_handling.lua +++ b/error_handling.lua @@ -96,10 +96,16 @@ enhance_error = function(error_message) local action_name = fn_name:from_lua_id() error_message = "The action '" .. tostring(action_name) .. "' is not defined." local func = debug.getinfo(2, 'f').func - local ename, env = debug.getupvalue(func, 1) - if not (ename == "_ENV" or ename == "_G") then - func = debug.getinfo(3, 'f').func + local env + if _VERSION == "Lua 5.1" then + env = getfenv(func) + else + local ename ename, env = debug.getupvalue(func, 1) + if not (ename == "_ENV" or ename == "_G") then + func = debug.getinfo(3, 'f').func + ename, env = debug.getupvalue(func, 1) + end end local THRESHOLD = math.min(4.5, .9 * #action_name) local candidates = { } |
