# HG changeset patch # User Matthew Wild # Date 1275009780 -3600 # Node ID 89ecee2cbad18abb082d7bf44d28b573871edaf8 # Parent 5e0bdf7f234f7ef6c47150b3c0549a22576516d4 Add test __index handler to catch use of nil globals diff -r 5e0bdf7f234f -r 89ecee2cbad1 lvm.js --- 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);