New syntax for to-be-closed variables

The new syntax is <local *toclose x = f()>. The mark '*' allows other
attributes to be added later without the need of new keywords; it
also allows better error messages.  The API function was also renamed
('lua_tobeclosed' -> 'lua_toclose').
This commit is contained in:
Roberto Ierusalimschy
2018-11-07 10:03:05 -02:00
parent 5e76a4fd31
commit b8fed93215
8 changed files with 48 additions and 47 deletions

View File

@@ -258,7 +258,7 @@ do
::L2:: goto L3
::L1:: do
local scoped a = function () X = true end
local *toclose a = function () X = true end
assert(X == nil)
if a then goto L2 end -- jumping back out of scope of 'a'
end