diff options
Diffstat (limited to 'kjs/ChangeLog')
-rw-r--r-- | kjs/ChangeLog | 432 |
1 files changed, 432 insertions, 0 deletions
diff --git a/kjs/ChangeLog b/kjs/ChangeLog new file mode 100644 index 000000000..c5f42ace2 --- /dev/null +++ b/kjs/ChangeLog @@ -0,0 +1,432 @@ +2007-04-20 Harri Porten <porten@kde.org> + + * number_object.cpp: fixed leading-zero loss on toFixed() call by + following the spec algorithm properly. Nikolay Pavlov's bug + report: http://bugs.kde.org/144115. + +2007-03-13 Harri Porten <porten@kde.org> + + * function.cpp (decodeURI): don't drop last character of unescaped + (reserved) sequences. + +2007-02-24 Harri Porten <porten@kde.org> + + * regexp.cpp: gracefully handle incomplete \u sequences in regular + expressions the IE way. Fixes the syntax error reported in bug + #141731 although the page might be relying on the equally + undefined FF way. + +2007-02-23 Harri Porten <porten@kde.org> + + * number_object.cpp: applied patch by Justin that fixes + toExponential() calls on negative numbers. Bug #141979. + + * function.cpp: implemented caller property as requested by + bug report #132039 from Edward Rudd. + +2007-02-22 Harri Porten <porten@kde.org> + + * keywords.table: unreserve "class" keyword as it is for FF >= + 1.5. Frequent source of errors. + +2007-02-20 Harri Porten <porten@kde.org> + + * string_object.cpp: basic String localeCompare() function + +2007-02-17 Harri Porten <porten@kde.org> + + * lexer.cpp: parse code with null characters in them + +2007-02-10 Harri Porten <porten@kde.org> + + * lexer.cpp: support named function expressions + +2006-11-04 Harri Porten <porten@kde.org> + + * number_object.cpp: Fixed toFixed(n) calls on negative zero. + + * number_object.cpp: Fixed toPrecision(n) calls on 1.0. + +2005-09-17 Harri Porten <porten@kde.org> + + * date_object.cpp: MSVC equivalent for strncasecmp(). + +2005-07-26 Harri Porten <porten@kde.org> + + * array_object.cpp: the to*String() logic was more involved + that I originally thought. Fixes bugs of our and the JSC + implementation. + +2005-07-24 Harri Porten <porten@kde.org> + + * array_object.cpp: harmonized toLocaleString implementation + with JSC. + + * date_object.cpp: applied prototype inheritance fixed from JSC. + Makes Mozilla's ecma/Date/15.9.5.js test pass. + + * nodes.cpp: the return-outside-of-function check got duplicated + in JSC. Harmonize them. + +2005-06-22 Harri Porten <porten@kde.org> + + * function.cpp: pre-process var declaration in eval() + + * nodes.cpp: picked up "const" support improvment from JSC + + * regexp_object.cpp (construct): don't misinterpret an undefined + flags parameter. + +2005-06-21 Harri Porten <porten@kde.org> + + * string_object.cpp: fixed length properties of indexOf() and + lastIndexOf(). + +2005-06-20 Harri Porten <porten@kde.org> + + * nodes.cpp: JSC patch that helps setting exception details (line + number) where they had been missing before. + +2005-06-18 Harri Porten <porten@kde.org> + + * regexp_object.cpp: some regexp property fixes from JSC + + * regexp_object.cpp: fixed RegExp.prototype name + + * regexp_object.cpp: allow RegExp.prototype.toString() on the + prototype itself (patch from JSC). + + * array_object.cpp: also do Array length check in constructor like + JSC does. + + * math_object.cpp: fix for Math.max() handling of negative zero + from JSC. + +2005-06-16 Harri Porten <porten@kde.org> + + * nodes.cpp: fixed side effect of const declarations on for(;;) + variable declarations. + +2005-06-11 Harri Porten <porten@kde.org> + + * date_object.cpp (KRFCDate_parseDate): parse AM and PM. Fixed + version of JavaScriptCore patch. + (KRFCDate_parseDate): fix time zone parsing + that broke due to a compiler warning fix in 2003 (r275385). + (KRFCDate_parseDate): case insensitive parsing of GMT and UTC + +2005-05-28 Harri Porten <porten@kde.org> + + * nodes.cpp: fixed override of properties on variable + declarations. See bug report #104181. + +2005-05-16 Harri Porten <porten@kde.org> + + * removed remaining use of deprecated Value::isNull(). + +2005-04-24 Harri Porten <porten@kde.org> + + * lexer.cpp (isIdentLetter): allow umlauts, accents as well as + greek, cyrillic, thai etc. letters in identifier names. + + * date_object.cpp (KRFCDate_parseDate): correctly handle large + year numbers in "MM/DD/YYYY" formats + + * date_object.cpp (KRFCDate_parseDate): parse date strings that + have no time but a timezone. Like "3/31/2005 GMT". + +2005-04-17 Harri Porten <porten@kde.org> + + * date_object.cpp: parse date strings like "Apr17,2005" + + * function.cpp: don't produce a null string result on unescape("") + (spotted in the JSC ChangeLog) + + * string_object.cpp: faking toLocalLowerCase and toLocalUpperCase + by using their non-localized counter parts + +2005-04-16 Harri Porten <porten@kde.org> + + * function.cpp: escape() u0000 properly (found in JSC) + + * nodes.cpp: save some cpu cycles on variable declarations + + * error_object.cpp: made prototype read-only (JSC patch) + + * string_object.cpp: adopted tag casing and code formatting to JSC-style + +2005-02-27 Harri Porten <porten@kde.org> + + * regexp_object.cpp: fixed RegExp(/regexp/) constructor + + * regexp_object.cpp: throw exception on invalid regexps + +2004-11-07 Harri Porten <porten@kde.org> + + * date_object.cpp: fix conversion of Date(value) argument, fixed + getDay() for out-of-normal-range dates + +2004-10-13 Harri Porten <porten@kde.org> + + * regexp.cpp: support \u escape sequences in regular expressions + +2004-10-11 Harri Porten <porten@kde.org> + + * date_object.cpp: make the Date object work outside of the + typical Unix range (1900-2038) by shifting other dates into this + range. Might still have some bugs with e.g. leap days but this is + a big step forward to ECMA compliancy. + + * date_object.cpp: fixed cut-off date in Date.setYear() + +2004-10-02 Harri Porten <porten@kde.org> + + * lexer.cpp: parse function expressions with identifier as + function argument + + * date_object.cpp: parse YYYY/MM/DD-style dates + +2004-09-30 Harri Porten <porten@kde.org> + + * math_object.cpp: fixed Math.round() for very large numbers (bug + discovered by Pascal) and negative numbers with a .5 decimal. + +2004-09-29 Harri Porten <porten@kde.org> + + * date_object.cpp: don't preset DST when changing parts of the + date (most notably the month). Patch by Pascal Letourneau. + +2004-06-08 Harri Porten <porten@kde.org> + + * regexp.cpp (RegExp): check regcomp's return value in non-PCRE + builds. Invalid regexps are otherwise reported to cause crashes by + Luciano Montanaro. + +2004-05-11 Harri Porten <porten@kde.org> + + * nodes.cpp (processVarDecls): corrected 03-20 change. Non-eval + variable declarations always have the DontDelete attribute set. + +2004-04-25 Ian Reinhart Geiser <geiseri@kde.org> + + * Make Math.random() more random by seeding the generator + with the system time. + +2004-03-20 Harri Porten <porten@kde.org> + + * proper support for JavaScript 1.5 "const" keyword + +2004-02-23 Harri Porten <porten@kde.org> + + * keywords.table: for now, make "const" a synonym for "var". Not + standardized as of Edition 3 but already supported by other + browsers. + +2004-02-22 Harri Porten <porten@kde.org> + + * number_object.cpp: fixed crash if toString() is called on NaN + or Inf with a radix != 10. + + * error_object.cpp: Error constructors are of [[Class]] Function + while Error instances are of [[Class]] Error. + +2004-02-21 Harri Porten <porten@kde.org> + + * date_object.cpp: introduced invalidDate constant. Stricter + verification of month names. Both coming from JavaScriptCore. + +2004-01-25 Harri Porten <porten@kde.org> + + * nodes.cpp: better error messages when property access fails + because of null or undefined reference. In debug builds only + to not cause a speed impact. + +2003-12-29 Dirk Mueller <mueller@kde.org> + + * create_hash_table: implement string table to reduce amount + of relocations and memory usage. + * lookup.cpp/.h: adjust. + +2003-12-10 Stephan Kulow <coolo@kde.org> + + * kjs/ustring.cpp (UString::toDouble): Separate the "tolerant" + parameter into two separate ones: tolerateTrailingJunk and + tolerateEmptyString (patch by Apple) + +2003-11-25 David Faure <faure@kde.org> + + * regexp_object.cpp (construct): Add check for (regexp,flags) case + and throw TypeError exception in that case, as specified in 15.10.4.1. + +2003-11-21 Harri Porten <porten@kde.org> + + * date_object.cpp: return "Invalid Date" on string conversions of + NaN dates (patch by Apple) + +2003-11-20 Harri Porten <porten@kde.org> + + * date_object.cpp: return NaN in getter functions if the time + value is NaN itself. + +2003-11-18 Harri Porten <porten@kde.org> + + * reference_list.cpp: patch by Maciej that initializes + ReferenceListHeadNode's length field + +2003-11-17 Harri Porten <porten@kde.org> + + * string_object.cpp: handle negative slice() arguments correctly + + * function_object.cpp: fixed bracketing to ensure null check is done + +2003-11-17 Harri Porten <harri@froglogic.com> + + * internal.cpp (evaluate): lexical error means parse error + + * lexer.cpp: removed stderr debug output + + * object.h: renamed virtual get(), put(), hasProperty() and + deleteProperty() overloads accepting an int property to + getPropertyByIndex() etc. Not only cleaner C++ that makes + compilers happier but also helps to make the code more + understandable and safer. + +2003-11-16 Harri Porten <harri@froglogic.com> + + * array_object.cpp: fixed range error in Array.slice() + +2003-11-11 Harri Porten <porten@kde.org> + + * array_object.cpp: patch from Darin that adds checks for + undefined type in compare functions + +2003-11-07 Harri Porten <porten@kde.org> + + * grammar.y: do automatic semicolon insertion after throw statements + +2003-11-06 Harri Porten <porten@kde.org> + + * adapted patch from Maciej that plugs string leaks on parse errors + +2003-11-05 Zack Rusin <zack@kde.org> + + * value.cpp: (operator=): increment reference count on the copying + object before dereferencing the currently held value + +2003-11-04 David Faure <faure@kde.org> + + * string_object.cpp: (StringProtoFuncImp::call): Don't do an early return, since that + could leak a temporary regexp. Patch from Maciej. + +2003-11-02 Harri Porten <harri@froglogic.com> + + * nodes.h: list handling fix for CaseClausNode by Darin Adler + + * grammar.y: added CatchNode and FinallyNode types for greater type safety + +2003-10-29 Harri Porten <porten@kde.org> + + * object.cpp (call): patch from Maciej that makes us back away + from the recursion limit once we have hit it + + * nodes.*: got rid of remaining reverse*() functions + +2003-10-26 Harri Porten <porten@kde.org> + + * date_object.cpp (call): respect optional arguments in set* + functions. + + * ustring.cpp: more and correct use of memcpy() + + * ustring.*: store length within CString to be able to have + null bytes in the string (JavaScriptCore) + + * added Apple's Identifier::toArrayIndex() and use it in + ArrayInstanceImp instead of our range validity checks + + * do without ArgumentsNode::reverseList() + +2003-10-20 Harri Porten <harri@froglogic.com> + + * number_object.cpp: rewrote Number.toString(radix) to work with + negative numbers, floating point and very large numbers. + +2003-10-19 Harri Porten <porten@froglogic.com> + + * grammar.y: fixed bitwise XOR and OR expressions + +2003-09-30 Harri Porten <harri@froglogic.com> + + * lexer.cpp (isWhiteSpace): allow no-break space + * date_object.cpp: only use IE getYear() style if explicitly + chosen + +================= long break again ================================ + +2003-02-02 Harri Porten <porten@kde.org> + + * internal.h: added NumberImp::staticNaN + * gave PropertyNode and PropertyValueNode their own types in the + parser, ref and deref them as list rather then recursively + * turned recursive object literal evaluation into a simple loop + +2003-02-01 Harri Porten <porten@kde.org> + + * internal.cpp (putValue): throw error if reference is invalid + * nodes.cpp (evaluateReference): added to allow (i) = 0; + +================= long unlogged time span ================================ + +2002-06-15 Harri Porten <porten@kde.org> + + * regexp_object.cpp: made RegExp.prototype visible + * adjusted length property of slit and split to what the spec says + * some conversions and new calls less + +2002-06-08 Harri Porten <porten@kde.org> + + * string_object.cpp: fixed the leaks introduced by the previous + fixes of match() and split(). One has to clean up after each + call to RegExp::match(). + * added some KJS_DEBUG_MEM ifdef'ed globalClear() functions + that clear up static allocations. Makes debugging memory + leaks easier as we're down to 0 "still reachable" leaks (apart + from STL related issue in the node leak check list). + +2002-06-02 Harri Porten <porten@kde.org> + + * math_object.cpp: fixed handling of NaN in Math.round() + +2002-06-01 Harri Porten <porten@kde.org> + + * string_object.cpp: correct global flag use in match(). Fixed + some split() cases. Fixed unlikely leak. + * regexp_object.cpp: set 'index' and 'input' properties of + RegExp.prototype.exec() and String.prototype.match() result. + Made new RegExp() really produce an empty regexp. + * array_object.cpp: correct sorting for 'undefined' properties + +2001-01-04 Harri Porten <harri@trolltech.com> + + * ustring.h: pack bytes to avoid alignment problems (ARM) reported + by Stefan Hanske <sh990154@mail.uni-greifswald.de> + * nodes.cpp: typeof fix by Emmeran Seehuber <the_emmy@gmx.de> + * nodes.cpp: fixed order of function declaration proccessing + +2000-12-18 Harri Porten <harri@trolltech.com> + + * string_object.cpp: fixed out-of-bounds error in fromCharCode() + +2000-12-11 Harri Porten <harri@trolltech.com> + + * regexp.h: compile fix for buggy libc + * ustring.cpp: format string conversion of numbers with %g + +2000-12-10 Harri Porten <harri@trolltech.com> + + * lexer.cpp: parsing != was broken, added \v escape in strings, + fixed "\u" and "\x" and \x with non hex chars following. + * nodes.cpp: implemented <<=, >>=, >>>=, &=, ^=, |= and %= + * internal.cpp: create error message including line no on parse errors + + |