rem: /* need to use new String here so we can decorate it later */ ary[i] = new String(ary[i].replace(/\r$/, "")); 
add: { /* We use "new String" here so we can decorate the source line * with attributes used while displaying the source, like * "current line", and "breakpoint". * The replace() strips control characters, including whatever * line endings we just split() on. */ ary[i] = new String(ary[i].replace(/[\0-\31]/g, "")); } 
context: function loadSource (url, cb){    var observer = {        onComplete: function oncomplete (data, url, status) {            var ary = data.split("\n");            for (var i = 0; i < ary.length; ++i)                /* need to use new String here so we can decorate it later */                ary[i] = new String(ary[i].replace(/\r$/, ""));            console._sources[url] = ary;            cb(data, url, status);        }    };    if (url.search (/^(chrome:|file:)/) != -1)        observer.onComplete (loadURLNow(url), url, Components.results.NS_OK);    else        loadURLAsync (url, observer);}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/7adb0389b4ac0f7098dce88d5702bd166d522191/venkman-debugger.js/clean/extensions/venkman/resources/content/venkman-debugger.js