rem: ary = locationURL.substr(VMGR_SCHEME_LEN).match(/([^\/?]+)(?:\/([^\/?]+))?/); 
add: ary = locationURL.substr(VMGR_SCHEME_LEN).match(/([^\/?]+)(?:\/([^\/?]+))?/); 
context: function vmgr_parselocation (locationURL){    var parseResult;    var ary;        if (locationURL.indexOf(VMGR_VURL_SCHEME) != 0)        return null;        ary = locationURL.substr(VMGR_SCHEME_LEN).match(/([^\/?]+)(?:\/([^\/?]+))?/);    if (!ary)        return null;    parseResult = {        url: locationURL,        windowId: ary[1],        containerId: (2 in ary) ? ary[2] : VMGR_DEFAULT_CONTAINER    };    var rest = RegExp.rightContext.substr(1);    ary = rest.match(/([^&]+)/);    while (ary)    {        rest = RegExp.rightContext.substr(1);        var assignment = ary[1];        ary = assignment.match(/(.+)=(.*)/);        if (ASSERT(ary, "error parsing ``" + assignment + "'' from " +                   locationURL))        {            /* only set the property the first time we see it */            if (2 in ary && !(ary[1] in parseResult))                parseResult[ary[1]] = ary[2];        }        ary = rest.match(/([^&]+)/);    }        if (parseResult.windowId == VMGR_NEW)    {        var id = "floater-" + this.floaterSequence++;        while (id in this.windows)            id = "floater-" + this.floaterSequence++;        parseResult.windowId = id;    }    //dd (dumpObjectTree(parseResult));    return parseResult;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/0ce31a79343e29e27a5102a1ca9099fd6e804946/view-manager.js/clean/extensions/venkman/resources/content/view-manager.js