rem: console.onDebugContinue(); 
add: dispatch ("hook-debug-continue"); 
context: function debugTrap (frame, type, rv){    var tn = "";    var retcode = jsdIExecutionHook.RETURN_CONTINUE;    $ = new Array();        switch (type)    {        case jsdIExecutionHook.TYPE_BREAKPOINT:            tn = MSG_WORD_BREAKPOINT;            break;        case jsdIExecutionHook.TYPE_DEBUG_REQUESTED:            tn = MSG_WORD_DEBUG;            break;        case jsdIExecutionHook.TYPE_DEBUGGER_KEYWORD:            tn = MSG_WORD_DEBUGGER;            break;        case jsdIExecutionHook.TYPE_THROW:            display (getMsg(MSN_EXCP_TRACE, [formatValue(rv.value),                                             formatFrame(frame)]), MT_ETRACE);            if (rv.value.jsClassName == "Error")                display (formatProperty(rv.value.getProperty("message")));            if (console.throwMode != TMODE_BREAK)                return jsdIExecutionHook.RETURN_CONTINUE_THROW;            $[0] = rv.value;            retcode = jsdIExecutionHook.RETURN_CONTINUE_THROW;            tn = MSG_WORD_THROW;            break;        case jsdIExecutionHook.TYPE_INTERRUPTED:            var line;            if (console.sourceView.prettyPrint)                line = frame.script.pcToLine (frame.pc, PCMAP_PRETTYPRINT);            else                line = frame.line;            if (console._stepPast == frame.script.fileName + line)                return jsdIExecutionHook.RETURN_CONTINUE;            delete console._stepPast;            setStopState(false);            break;        default:            /* don't print stop/cont messages for other types */    }    console.jsds.functionHook = null;    /* set our default return value */    console._continueCodeStack.push (retcode);    if (tn)        display (getMsg(MSN_STOP, tn), MT_STOP);    if (0 in $)        display (getMsg(MSN_FMT_TMP_ASSIGN, [0, formatValue ($[0])]),                 MT_FEVAL_OUT);        /* build an array of frames */    console.frames = new Array(frame);    console.stackView.stack.unHide();    console.stackView.stack.open();    var frameRec = new FrameRecord(frame);    console.stackView.stack.appendChild (frameRec);        while ((frame = frame.callingFrame))    {        console.stackView.stack.appendChild (new FrameRecord(frame));        console.frames.push(frame);    }    console.trapType = type;    window.focus();    window.getAttention();    console.jsds.enterNestedEventLoop({onNest: console.onDebugTrap});     /* execution pauses here until someone calls      * console.dbg.exitNestedEventLoop()      */    clearCurrentFrame();    delete console.frames;    delete console.trapType;    rv.value = (0 in $) ? $[0] : null;    $ = new Array();        console.onDebugContinue();    if (tn)        display (getMsg(MSN_CONT, tn), MT_CONT);    return console._continueCodeStack.pop();}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/c253059afafb09ee6b27e3767bb1e487e050ba0f/venkman-debugger.js/buggy/extensions/venkman/resources/content/venkman-debugger.js