rem: endDate = aEndDate.clone(); 
add: var endDate = aEndDate.clone(); 
context: function formatInterval(aStartDate, aEndDate, aStartString, aEndString) {    endDate = aEndDate.clone();    // EndDate is exclusive. For all-day events, we ened to substract one day,    // to get into a format that's understandable.    if (aStartDate.isDate) {        endDate.day -= 1;        endDate.normalize();    }    testdate = aStartDate.clone();    testdate.isDate = true;    testdate.normalize();    var sameDay = (testdate.compare(endDate) == 0);        if (aStartDate.isDate) {        // All-day interval, so we should leave out the time part        if (sameDay) {            // Start and end on the same day: only give return the start            // date.            // "5 Jan 2006"            aStartString.value = this.formatDate(aStartDate);            aEndString.value = "";        } else {            // Spanning multiple days, return both dates            // "5 Jan 2006 - 7 Jan 2006"            aStartString.value = this.formatDate(aStartDate);            aEndString.value = this.formatDate(endDate);        }    } else {        // non-allday, so need to return date and time        if (sameDay) {            // End is on the same day as start, so we can leave out the            // end date (but still include end time)            // "5 Jan 2006 13:00 - 17:00"            aStartString.value = this.formatDate(aStartDate)+" "+this.formatTime(aStartDate);            aEndString.value = this.formatTime(endDate);        } else {            // Spanning multiple days, so need to include date and time            // for start and end            // "5 Jan 2006 13:00 - 7 Jan 2006 9:00"            aStartString.value = this.formatDateTime(aStartDate);            aEndString.value = this.formatDateTime(endDate);        }    }    return 1;};
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/cfbb16529190b0fc47b0921601fc1aeda578ebb9/calDateTimeFormatter.js/clean/calendar/base/src/calDateTimeFormatter.js