do --- hook-top
local t = {}
for i=1,26 do t[i] = string.char(96+i) end
local
assert(#t1 == #t2)
for i=1,#t1 do assert(t1[i] == t2[i]) end
end
local -- VARG RETM
return ...
end
local -- VARG UCLO RETM
local end
return ...
end
local -- VARG UCLO -> RETM
do return ... end
local end
end
local -- UCLO UCLO RET
do
local x
local return x end
end
end
local called = false
debug.sethook(function() local x = "wrong"; called = true end, "", 1)
tcheck(t, {foo1(unpack(t))}) -- CALLM TSETM
assert(called)
called = false
tcheck(t, {foo2(unpack(t))})
assert(called)
called = false
tcheck(t, {foo2(unpack(t))})
assert(called)
called = false
foo4()
assert(called)
debug.sethook(function()
local name, val = debug.getlocal(2, 1)
assert(name == "a" and val == nil)
debug.setlocal(2, 1, "bar")
debug.sethook(nil)
end, "c")
local
assert(a == "bar")
end
foo5()
end