diff --git a/libs/green_t.lua b/libs/green_t.lua index 24b67ca..a56abd1 100644 --- a/libs/green_t.lua +++ b/libs/green_t.lua @@ -67,11 +67,11 @@ public.auto = setmetatable({}, { }) public.temp = setmetatable({}, { __metatable = false, - __sub = function(_, v) set_auto_release(v, false); return v end, + __sub = function(_, v) set_auto_release(v, true); return v end, }) public.perm = setmetatable({}, { __metatable = false, - __sub = function(_, v) set_auto_release(v, true); return v end, + __sub = function(_, v) set_auto_release(v, false); return v end, }) public.init = setmetatable({}, { diff --git a/util/core.lua b/util/core.lua index 7ce5a73..ffd9691 100644 --- a/util/core.lua +++ b/util/core.lua @@ -92,8 +92,7 @@ do end function public.vararg.partial(arg) - local f = tremove(arg, 1) - local arg1 = copy(arg) + local f, arg1 = tremove(arg, 1), perm-arg return vararg(function(arg) for i = 1, getn(arg) do tinsert(arg1, arg[i])