// frame.eval works in the enterFrame hook. // It triggers the enterFrame hook again, recursively. (!) var g = newGlobal({newCompartment: true}); g.a = "."; var dbg = Debugger(g); var nestCount = 0, N = 9; var log = ""; dbg.onEnterFrame = function (frame) { assertEq(frame.type, "eval"); if (nestCount < N) { log += '('; nestCount++; var a = frame.eval("a").return; log += a; nestCount--; log += ')'; } }; assertEq(g.eval("a"), "."); assertEq(log, Array(N + 1).join("(") + Array(N + 1).join(".)"));