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

============================= KDE 3.4.0 ============================	

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


