rem: else { throw e; } 
add: else { _handlingEvent = false; _current_pid = active_pid; throw e; } 
context: function _wrapEventHandler(handler) {  return function(event) {    // set process id here    var active_pid = _current_pid;    _current_pid = _mainPid;    _handlingEvent = true;    var _cont = function () { handler(event) }    // a trampoline, of sorts.    // since we don't yield in event handlers we quickly run    // out of stack.  To avoid that we throw away the stack    // periodically by throwing an exception containing the    // current continuation, which we invoke when the exception    // is caught.    for (;;) {      try {        var rv = _cont();                // restore process id here.        _handlingEvent = false;        _current_pid = active_pid;        return rv;      }      catch (e) {        if (e instanceof ContinuationNonException) {           _cont = e.v;           continue;        }        else { throw e; }      }    }  }}
meta: 3248	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3248/2a65bdc0b5b0097acba520c7aa9be205f214cf49/jslib.js/buggy/lib/js/jslib.js