aboutsummaryrefslogtreecommitdiff
path: root/libs/lua/test/readonly.lua
diff options
context:
space:
mode:
Diffstat (limited to 'libs/lua/test/readonly.lua')
-rw-r--r--libs/lua/test/readonly.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/lua/test/readonly.lua b/libs/lua/test/readonly.lua
new file mode 100644
index 0000000..85c0b4e
--- /dev/null
+++ b/libs/lua/test/readonly.lua
@@ -0,0 +1,12 @@
1-- make global variables readonly
2
3local f=function (t,i) error("cannot redefine global variable `"..i.."'",2) end
4local g={}
5local G=getfenv()
6setmetatable(g,{__index=G,__newindex=f})
7setfenv(1,g)
8
9-- an example
10rawset(g,"x",3)
11x=2
12y=1 -- cannot redefine `y'