michael@0: // Setting onPop handlers from an onStep handler works. michael@0: var g = newGlobal(); michael@0: var dbg = new Debugger(g); michael@0: var log; michael@0: michael@0: dbg.onDebuggerStatement = function handleDebugger(frame) { michael@0: log += 'd'; michael@0: assertEq(frame.type, "eval"); michael@0: frame.onStep = function handleStep() { michael@0: log += 's'; michael@0: this.onStep = undefined; michael@0: this.onPop = function handlePop() { michael@0: log += ')'; michael@0: }; michael@0: }; michael@0: }; michael@0: michael@0: log = ""; michael@0: g.flag = false; michael@0: g.eval('debugger; flag = true'); michael@0: assertEq(log, 'ds)'); michael@0: assertEq(g.flag, true);