callpush/pop cleanups
This commit is contained in:
parent
38c864ad6c
commit
9a3b884aff
|
@ -12,9 +12,9 @@ function cctx()
|
||||||
return stead.cctx[stead.call_top];
|
return stead.cctx[stead.call_top];
|
||||||
end
|
end
|
||||||
|
|
||||||
function callpush()
|
function callpush(v)
|
||||||
stead.call_top = stead.call_top + 1;
|
stead.call_top = stead.call_top + 1;
|
||||||
stead.cctx[stead.call_top] = { txt = nil, self = nil };
|
stead.cctx[stead.call_top] = { txt = nil, self = v };
|
||||||
end
|
end
|
||||||
|
|
||||||
function callpop()
|
function callpop()
|
||||||
|
@ -586,9 +586,7 @@ function call(v, n, ...)
|
||||||
return v[n];
|
return v[n];
|
||||||
end
|
end
|
||||||
if type(v[n]) == 'function' then
|
if type(v[n]) == 'function' then
|
||||||
callpush()
|
callpush(v)
|
||||||
pclr()
|
|
||||||
self(v)
|
|
||||||
local a,b = v[n](v, unpack(arg));
|
local a,b = v[n](v, unpack(arg));
|
||||||
if a == nil and b == nil then
|
if a == nil and b == nil then
|
||||||
a = pget()
|
a = pget()
|
||||||
|
@ -614,9 +612,7 @@ function call_bool(v, n, ...)
|
||||||
end
|
end
|
||||||
|
|
||||||
if type(v[n]) == 'function' then
|
if type(v[n]) == 'function' then
|
||||||
callpush()
|
callpush(v)
|
||||||
pclr()
|
|
||||||
self(v)
|
|
||||||
local r = v[n](v, unpack(arg));
|
local r = v[n](v, unpack(arg));
|
||||||
callpop();
|
callpop();
|
||||||
return r;
|
return r;
|
||||||
|
|
Loading…
Reference in a new issue