new 4475edb243ed4627f4c5f2c470ca40b3def034d4
[tagua/yd.git] / lua / test / readonly.lua
blob85c0b4e01324d0cf5f87495d44a6da26ad4cce96
1 -- make global variables readonly
3 local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
4 local g={}
5 local G=getfenv()
6 setmetatable(g,{__index=G,__newindex=f})
7 setfenv(1,g)
9 -- an example
10 rawset(g,"x",3)
11 x=2
12 y=1 -- cannot redefine `y'