Fri, 28 May 2010 02:23:00 +0100
Add test __index handler to catch use of nil globals
lvm.js | file | annotate | diff | comparison | revisions |
--- a/lvm.js Fri May 28 02:21:54 2010 +0100 +++ b/lvm.js Fri May 28 02:23:00 2010 +0100 @@ -502,7 +502,13 @@ else print = require("sys").puts; // Nodejs -default_environment.setIndex(LValueFromString("print"), LValueFromFunction(print)); +var mt = new LValue("table", {}); +mt.setIndex( + LValueFromString("__index"), + LValueFromFunction(testvm, function (t, k) { sys.puts("Access of nil global: "+k); }) +); +default_environment.setMetatable(mt); +default_environment.setIndex(LValueFromString("print"), LValueFromFunction(testvm, print)); var f = new LFunction(testvm, c, default_environment);