|
|
|
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 tqalignment 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
|
|
|
|
|
|
|
|
|