From fd48534de3427de16c3077f7d112d0bcfb030b73 Mon Sep 17 00:00:00 2001 From: SoniEx2 Date: Sun, 7 Apr 2019 12:54:48 -0300 Subject: Fix Lua 5.1/Lua 5.2/LuaJIT compat --- parser.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'parser.lua') diff --git a/parser.lua b/parser.lua index 4f4e166..12397ef 100644 --- a/parser.lua +++ b/parser.lua @@ -71,9 +71,15 @@ local function get_next_common(state, in_pos, token) recheck = true end end - for i, hook in ipairs(st) do - if hook then -- allow overriding/disabling hooks - hook(state, token, rule) + do -- post-hooks CANNOT USE ipairs HERE BECAUSE Lua 5.1/5.2 + local pos = 1 + local hook = st[pos] + while hook ~= nil do + if hook then + hook(state, token, rule) + end + pos = pos + 1 + hook = st[pos] end end state[STATE] = transition -- may be nil or false -- cgit 1.4.1