summaryrefslogtreecommitdiff
path: root/test/undefined.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/undefined.lua')
-rw-r--r--test/undefined.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/undefined.lua b/test/undefined.lua
new file mode 100644
index 00000000..bbecffe3
--- /dev/null
+++ b/test/undefined.lua
@@ -0,0 +1,20 @@
+-- catch "undefined" global variables. see FAQ.
+
+do
+ local f=function(name)
+ local v=rawget(globals(),name)
+ if v then
+ return v
+ else
+ error("undefined global variable `"..name.."'")
+ end
+ end
+
+ settagmethod(tag(nil),"getglobal",f)
+end
+
+-- an example
+
+a=1
+c=3
+print(a,b,c) -- 'b' is undefined