2008-03-13  David Edelsohn  <edelsohn@gnu.org>

	Backport from mainline:
	2008-01-24  David Edelsohn  <edelsohn@gnu.org>

	* shlibpath.m4: Add AIX 6 support.
	* configure: Regenerate.

2008-02-01  Release Manager

	* GCC 4.2.3 released.

2007-10-10  Roger Sayle  <roger@eyesopen.com>

	Backport from mainline.
	* java/lang/natPosixProcess.cc: Include <sys/time.h> before
	<sys/resource.h> to restore bootstrap on powerpc-apple-darwin7.9.0.

2007-10-07  Release Manager

	* GCC 4.2.2 released.

2007-07-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.ac (mips-sgi-irix6*): Override SYSTEMSPEC.
	* configure: Regenerate.

2007-07-19  Release Manager

	* GCC 4.2.1 released.

2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR libgcj/32651
	* configure.host (mips-sgi-irix6*): Set sysdeps_dir.
	Disable interpreter.
	
2007-05-31  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Clear
	INTERPRETED access modifier.

2007-05-13  Release Manager

	* GCC 4.2.0 released.

2007-05-07  Ian Lance Taylor  <iant@google.com>

	PR java/31842
	* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
	overflow.

2007-03-25  David Daney  <ddaney@avtrex.com>

	PR libgcj/31228
	* configure.ac: Add checks for getrlimit and sys/resource.h.
	* include/posix.h (_Jv_platform_close_on_exec): Remove.
	* include/config.h.in: Regenerate.
	* configure: Regenerate.
	* gnu/java/nio/channels/natFileChannelPosix.cc (open): Remove call to
	_Jv_platform_close_on_exec;
	* gnu/java/net/natPlainSocketImplPosix.cc (create): Likewise.
	(accept): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (create):Likewise.
	* java/lang/natPosixProcess.cc: Include sys/resource.h.
	(nativeSpawn): Close all file descriptors.  Don't set FD_CLOEXEC on
	pipes.

2007-01-29  Kaloian Doganov  <kaloian@doganov.org>

	PR libgcj/30600:
	* gnu/gcj/convert/BytesToCharsetAdaptor.java (read): Fix call to
	'limit'.

2007-01-28  Michele Sandri  <gpointorama@gmail.com>

	* gnu/java/nio/channels/natFileChannelWin32.cc
	(lock): Implemented.
	(unlock): Implemented.

2007-01-24  Marco Trudel  <mtrudel@gmx.ch>

	* java/security/Security.java
	Imported the version from GNU classpath 0.92 (kept GCJ differences).
	* classpath/gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an
	unnecessary test.
	* classpath/javax/crypto/CipherOutputStream.java: Re-implemented.
	* classpath/gnu/javax/crypto/jce/cipher/CipherAdapter.java
	(engineUpdate(byte[], int, int)): Always keep data for unpadding
	in padded decryption mode and check if it is a complete block.
	(engineUpdate(byte[], int, int, byte[], int)): Likewise.
	(engineDoFinal(byte[], int, int)): In padded decryption mode, take
	partially processed data into account.

2007-01-22  Tom Tromey  <tromey@redhat.com>

	PR java/29812:
	* java/lang/natRuntime.cc (_load): Push a new system frame before
	calling JNI_OnLoad.
	* include/jvm.h (_Jv_JNI_PopSystemFrame): Declare.
	(_Jv_GetJNIEnvNewFrameWithLoader): Likewise.
	* jni.cc (struct _Jv_JNI_LocalFrame) <marker>: Now unsigned char.
	<allocated_p>: Now bool.
	<loader>: New field.
	(_Jv_JNI_EnsureLocalCapacity): Updated.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_NewLocalRef): Likewise.
	(_Jv_JNI_PopLocalFrame): Likewise.
	(_Jv_JNI_FindClass): Likewise.
	(_Jv_GetJNIEnvNewFrame): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_GetJNIEnvNewFrameWithLoader): New function.
	(_Jv_GetJNIEnvNewFrame): Use it.
	* include/jni_md.h (_CLASSPATH_JNIENV_CONTENTS): Removed 'klass'.

2007-01-16  Jack Howarth  <howarth@bromo.med.uc.edu>

	* configure.ac: Use multi.m4 from aclocal rather than custom
	code.  Use multi_basedir instead libgcj_basedir.  Test for
	/proc/self/exe when not cross-compiling.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2006-12-08  Ben Konrath  <bkonrath@redhat.com>

	PR libgcj/30110:
	* Makefile.am: Add contents of classpath/external to src.zip.
	* Makefile.in: Regenerate.

2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* configure: Regenerate.

2006-11-27  Mike Stump  <mrs@apple.com>

	* sysdep/x86-64/locks.h: Enable use of either file on either
	target to support multilibs from one to the other.
	* sysdep/i386/locks.h: Likewise.

2006-11-26  Mohan Embar  <gnustuff@thisiscool.com>

	PR libgcj/29151:
	* java/lang/natWin32Process.cc (startProcess): Unconditionally
	create a UNICODE environment for CreateProcess call.

2006-10-20  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jvmti/natevents.cc (do_callback_arg_tests):
	Correctly pass jvalues.

2006-10-18  Tom Tromey  <tromey@redhat.com>
	    Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.jni/register2.java: New file.
	* testsuite/libjava.jni/register2.out: New file.
	* testsuite/libjava.jni/register2.c: New file.
	* java/lang/natClass.cc (_Jv_GetClassNameUtf8): New function.
	* java/lang/Class.h (_Jv_GetClassNameUtf8): Declare.
	* jni.cc (struct NativeMethodCacheEntry): New struct.
	(nathash): Changed type.
	(hash): Updated.
	(nathash_find_slot): Likewise.
	(nathash_find): Likewise.
	(natrehash): Likewise.
	(nathash_add): Likewise.
	(_Jv_JNI_RegisterNatives): Likewise.
	(_Jv_LookupJNIMethod): Likewise.
	Idea from Juerg Lehni <juerg@scratchdisk.com>

2006-10-16  Geoffrey Keating  <geoffk@apple.com>

	* testsuite/libjava.jvmti/natevents.cc (env): Delete.
	(ExceptionCB): Fix types for printf arguments.
	(ExceptionCatchCB): Likewise.
	(SingleStepCB): Likewise.
	(BreakpointCB): Likewise.
	(FieldAccessCB): Likewise.
	(FieldModificationCB): Likewise.
	(CompiledMethodLoadCB): Likewise.

2006-10-14  Keith Seitz  <keiths@redhat.com>

	* include/java-insns.h (enum java_code): Add op_breakpoint.
	* include/java-interp.h (_Jv_InterpMethod): Declare breakpoint_insn.
	[INTERPRETER]: Declare _Jv_InterpMethod::bp_insn_slot.
	[!INTERPRETER]: Declare _Jv_InterpMethod::bp_insn_opcode.
	(install_break): Declare.
	* interpret.cc (breakpoint_insn): Define breakpoint insn.
	(compile): Add op_breakpoint to "can't happen" cases.
	[INTERPRETER] Initialize breakpoint insn if necessary.
	(install_break): New method.
	* interpret-run.cc: Add op_breakpoint to insn_targets.
	Add insn_breakpoint label.
	* verify.cc (branch_prepass): Add op_breakpoint to unrecognized
	opcodes section of switch statement.
	(verify_instructions_0): Likewise.

2006-10-12  Keith Seitz  <keiths@redhat.com>

	* include/jvmti-int.h (JVMTI): Declare all members "extern".
	* jvmti.cc (JVMTI): Define.

2006-10-11  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (install-data-local): Use mkinstalldirs.

2006-10-10  Tom Tromey  <tromey@redhat.com>

	* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
	Removed obsolete comment.

2006-10-10  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_InterpMethod::get_insn): Declare.
	(_Jv_InterpMethod::set_insn): Declare.
	* interpret.cc (_Jv_InterpMethod::get_insn): New method.
	(_Jv_InterpMethod::get_insn): New method.

2006-10-10  Tom Tromey  <tromey@redhat.com>

	* prims.cc (_Jv_PrependVersionedLibdir): Use
	_Jv_platform_path_separator.

2006-10-10  Tom Tromey  <tromey@redhat.com>

	PR libgcj/29205:
	* Makefile.in: Rebuilt.
	* Makefile.am (install-data-local): Install the .pc file.
	(pkgconfig_DATA): Removed.

2006-10-03  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java
	(<clinit>): Reorder the static initializers.

2006-10-02  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java
	(checkConnect): Reinstated.
	(loopbackAddress): Ensure initialized from non-null object.

2006-09-30  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (prepared): Change type to pc_t.
	(insn_index): Define for both DIRECT_THREADED and bytecode interpreters.
	* interpret.cc [!DIRECT_THREADED] (POKEI): Fix typo.
	(insn_index): Implement for bytecode interpreter.
	* interpret-run.cc [!DIRECT_THREADED] (AVAL1U): Add _Jv_Linker class
	qualifier to resolve_pool_entry.
	[!DIRECT_THREADED] (AVAL2U): Likewise.
	[!DIRECT_THREADED] bytecode() cannot be called without an object.
	Changed all typos.
	[!DIRECT_THREADED] Likewise for defining_class.

2006-09-26  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR target/26792:
	* exception.cc (PERSONALITY_FUNCTION): use _Unwind_GetIP
	if HAVE_GETIPINFO not defined.
	* stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Likewise.
	(_Jv_StackTrace::getLineNumberForFrame): Likewise.
	* configure.ac: use GCC_CHECK_UNWIND_GETIPINFO.
	* aclocal.m4, configure, include/config.h.in, Makefile.in:
	Rebuilt.

2006-09-27  Tom Tromey  <tromey@redhat.com>

	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=201712
	* java/util/Locale.java (hashcode): No longer transient.
	(writeObject): Use ObjectOutputStream.PutField and
	defaultWriteObject.
	(readObject): Use defaultReadObject.

2006-09-25  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMVirtualMachine.java
	(_jdwp_suspend_counts): New private variable.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(initialize): Initialize _jdwp_suspend_counts.
	(suspendThread): Implement.
	(resumeThread): Implement.
	(getSuspendCount): Implement.

2006-09-22  Marco Trudel  <mtrudel@gmx.ch>

	* jvmti.cc (_Jv_JVMTI_GetErrorName): Now static.  Marked JNICALL.

2006-09-21  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): Check for enabled
	events.
	(check_enabled_event): New function.
	(check_enabled_events): New function.
	(post_event): New function.
	(_Jv_JVMTI_SetEventNotificationMode): New function.
	(_Jv_JVMTI_SetEventCallbacks): New function.
	(_Jv_JVMTI_Interface): Define SetEventNotificationMode and
	SetEventCallbacks members.
	* include/jvmti-int.h: New file.
	* include/jvmti_md.h (EVENT_SLOTS) [__GCJ_JNI_IMP__]: Define.
	(_CLASSPATH_JVMTIENV_CONTENTS) [__GCJ_JNI_IMPL__]: Define.
	* testsuite/libjava.jvmti/events.java: New file.
	* testsuite/libjava.jvmti/events.out: New file.
	* testsuite/libjava.jvmti/natevents.cc: New file. 

2006-09-21  Sandro Tolaini  <tolaini@libero.it>

	* configure.ac: Don't use darwin-signal.h as signal handler for
	Darwin/i386.
	* configure.host: Enable Darwin/i386 as a supported host, with no
	signal unwinding.

2006-09-20  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_CreateRawMonitor): Use _Jv_MallocUnchked
	and return JVMTI_ERROR_OUT_OF_MEMORY if necessary.
	(_Jv_JVMTI_GetClassMethods): Likewise.
	(_Jv_JVMTI_GetClassLoaderClasses): Likewise.
	(_Jv_JVMTI_GetJNIFunctionTable): Likewise.
	(_Jv_JVMTI_GetSystemProperty): Likewise.

2006-09-20  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_GetErrorName): New function.
	(_Jv_JVMTI_Interface): Define GetErrorName member.
	* testsuite/libjava.jvmti/geterrorname.java: New file.
	* testsuite/libjava.jvmti/geterrorname.out: New file.
	* testsuite/libjava.jvmti/natgeterrorname.cc: New file.

2006-09-20  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java: Mostly merged with Classpath.
	* java/net/VMInetAddress.java: New file.
	* sources.am, Makefile.in: Rebuilt.

	* java/net/natVMNetworkInterfacePosix.cc
	(getInterfaces): Create InetAddress objects using
	InetAddress.getByAddress.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(accept, getOption): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	(peekData, receive, getLocalAddress): Likewise.

2006-09-19  Keith Seitz  <keiths@redhat.com>

	* testsuite/libjava.jvmti/jvmti.exp: New file.

2006-09-19  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Clarify parameter list.
	(THREAD_CHECK_VALID): Likewise.
	(THREAD_CHECK_ALIVE): Likewise.
	(_Jv_JVMTI_SuspendThread): Call THREAD_CHECK_VALID on a Thread not
	jthread.
	(_Jv_JVMTI_ResumeThread): Likewise.
	(_Jv_JVMTI_InterruptThread): Likewise.

	(_Jv_JVMTI_DisposeEnvironment): Probably unwise to dereference an object
	that was just freed.

2006-09-19  Mark Wielaard  <mark@klomp.org>

	Fixes bug #29137
	* java/util/logging/LogManager.java (addLogger): Always check for
	existing children of a new Logger.

2006-09-19  Tom Tromey  <tromey@redhat.com>

	* java/util/logging/LogManager.java: Re-merged with Classpath.

2006-09-18  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.

2006-09-18  Petr Salinger  <Petr.Salinger@seznam.cz>

	* configure.host: Handle kfreebsd.

2006-09-18  Petr Salinger  <Petr.Salinger@seznam.cz>

	* configure: Rebuilt.
	* shlibpath.m4: Handle GNU/kFreeBSD.

2006-09-14  Tom Tromey  <tromey@redhat.com>

	PR boehm-gc/29068:
	* boehm.cc (_Jv_GCAttachThread): Disable on Solaris.
	(_Jv_GCDetachThread): Likewise.

2006-09-14  Andreas Schwab  <schwab@suse.de>

	* posix-threads.cc: Include "posix.h".

2006-09-13  Geoffrey Keating  <geoffk@apple.com>

	* posix.cc (_Jv_platform_nanotime): Return nanoseconds, not
	microseconds; use gettimeofday when available.
	* posix-threads.cc (_Jv_CondWait): Improve accuracy and range of
	timeout calculation.
	* testsuite/libjava.lang/Thread_Sleep_2.java: New.
	* testsuite/libjava.lang/Thread_Sleep_2.out: New.
	* testsuite/libjava.lang/Thread_Sleep_2.xfail: New.

2006-09-12  Tom Tromey  <tromey@redhat.com>

	PR java/29013:
	* testsuite/libjava.lang/PR29013.out: Likewise.
	* testsuite/libjava.lang/PR29013.java: New file.

2006-09-12  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.exp (load_gcc_lib): Removed.

2006-09-07  Matthias Klose  <doko@debian.org>

	* Makefile.am (AM_CXXFLAGS): Remove duplicate define.
	* Makefile.in: Regenerate.

2006-09-06  Keith Seitz  <keiths@redhat.com>

	* java/lang/Class.h (_Jv_FindInterpreterMethod): Change return type
	to _Jv_MethodBase instead of _Jv_InterpMethod.
	* java/lang/natClass.cc (_Jv_FindInterpreterMethod): Likewise.
	Do not check access flags.
	Fix some minor style anomalies.
	
2006-09-01  Geoffrey Keating  <geoffk@apple.com>

	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
	Pass -lgcj to linker for C++ files on Darwin.

2006-09-01  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (THREAD_DEFAULT_TO_CURRENT): Encapsulate in do..while loop.
	(THREAD_CHECK_VALID): Likewise.
	(THREAD_CHECK_IS_ALIVE): Likewise.
	(NULL_CHECK): Likewise.
	(ILLEGAL_ARGUMENT): Likewise.

2006-09-01  Keith Seitz  <keiths@redhat.com>

	* include/jvm.h (_Jv_JVMTI_Init): Declare.
	* jvmti.cc (_Jv_JVMTI_Init): New function.
	* prims.cc (_Jv_CreateJavaVM): Initialize JVMTI.

	* jvmti.cc (ILLEGAL_ARGUMENT): New macro.
	(_Jv_JVMTI_Allocate): Use ILLEGAL_ARUMENT.

	* jvmti.cc (_jvmtiEnvironments): New linked list of
	JVMTI environments.
	(FOREACH_ENVIRONMENT): New macro.
	(_envListLock): New object to act as synchronization lock
	for _jvmtiEnvironments.
	(_Jv_JVMTI_DisposeEnvironment): Check for NULL environment.
	Remove the environment from the list of known environments.
	(_Jv_GetJVMTIEnv): Add the new environment to the list
	of known environments.

2006-09-01  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java (getLocalHost): Refactor to avoid
	security check if getLocalHostname() fails and to provide more
	meaningful exceptions it the security check fails.

2006-09-01  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java (getByAddress): Create Inet4Address
	objects when passed IPv4-mapped IPv6 addresses.
	(getByName, getAllByName): Defer to the above to ensure that the
	correct Inet*Address objects are returned.

2006-09-01  Gary Benson  <gbenson@redhat.com>

	* java/net/InetAddress.java (getByName, getAllByName):
	Only perform security check when DNS lookups are required.

2006-08-31  Keith Seitz  <keiths@redhat.com>

	* include/jvmti_md.h: New file.

	* jvmti.cc (_Jv_JVMTI_RawMonitorWait): Add millis parameter.
	Pass millis to _Jv_CondWait.

2006-08-31  Tom Tromey  <tromey@redhat.com>

	PR libgcj/28698:
	* libgcj_bc.c (DECLARE_PRIM_TYPE): New macro.  Declare primitive
	classes.

2006-08-24  Keith Seitz  <keiths@redhat.com>

	* prims.cc (remoteDebug): New global.
	(jdwpOptions): New global.
	(parse_x_arg): Add processing for "X" options "debug" and
	"runjdwp:"
	(_Jv_RunMain): If debugging, start up JDWP backend.
	Send VM_INIT and VM_DEATH when appropriate.

2006-08-23  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMVirtualMachine.java
	(initialize): Declare.
	* gnu/classpath/jdwp/natVMVirtualMachine.cc
	(initialize): Get and save JVMTI environment.

2006-08-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/27890
	* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
	Set gnu.classpath.home.url to TOOLEXECLIBDIR.
	* configure.ac: Do not add --with-native-libdir to
	ac_configure_args.
	* java/security/libgcj.security: Remove file.
	* java/util/logging/logging.properties: Likewise.
	* classpath/m4/acinclude.m4 (CLASSPATH_TOOLEXECLIBDIR): New macro.
	* classpath/resource/Makefile.am (loggingdir): Define to
	toolexeclibdir.
	(securitydir): Likewise.
	* classpath/configure.ac: Call CLASSPATH_TOOLEXECLIBDIR.
	Set default nativeexeclibdir using toolexeclibdir.
	* HACKING: Fix classpath aclocal arguments.
	* Makefile.am (secdir): Remove variable.
	(propdir): Likewise.
	(AM_CXXFLAGS): Replace LIBDIR definition with TOOLEXECLIBDIR
	definition.
	(all_property_files): Remove variable.
	(install-data-local): Do not install libgcj.security or
	logging.properties.
	* configure, Makefile.in, classpath/configure,
	classpath/Makefile.in, classpath/native/jni/java-lang/Makefile.in,
	classpath/native/jni/midi-alsa/Makefile.in,
	classpath/native/jni/classpath/Makefile.in,
	classpath/native/jni/midi-dssi/Makefile.in,
	classpath/native/jni/Makefile.in,
	classpath/native/jni/java-nio/Makefile.in,
	classpath/native/jni/java-net/Makefile.in,
	classpath/native/jni/gconf-peer/Makefile.in,
	classpath/native/jni/java-io/Makefile.in,
	classpath/native/jni/xmlj/Makefile.in,
	classpath/native/jni/java-util/Makefile.in,
	classpath/native/jni/qt-peer/Makefile.in,
	classpath/native/jni/gtk-peer/Makefile.in,
	classpath/native/Makefile.in, classpath/native/jawt/Makefile.in,
	classpath/native/target/Linux/Makefile.in,
	classpath/native/target/Makefile.in,
	classpath/native/target/generic/Makefile.in,
	classpath/native/fdlibm/Makefile.in,
	classpath/native/plugin/Makefile.in,
	classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
	classpath/tools/Makefile.in, classpath/doc/Makefile.in,
	classpath/doc/api/Makefile.in, classpath/lib/Makefile.in,
	classpath/external/Makefile.in,
	classpath/external/sax/Makefile.in,
	classpath/external/w3c_dom/Makefile.in,
	classpath/external/relaxngDatatype/Makefile.in,
	classpath/include/Makefile.in, classpath/aclocal.m4,
	classpath/examples/Makefile.in, aclocal.m4: Regenerate.

2006-08-21  Bryce McKinlay  <mckinlay@redhat.com>

	* java/lang/natThread.cc (_Jv_AttachCurrentThread): Attach thread
	to GC.
	(_Jv_DetachCurrentThread): Detach thread from GC.
	* include/boehm-gc.h (_Jv_GCAttachThread, _Jv_GCDetachThread):
	Declare.
	* boehm.cc (_Jv_GCAttachThread): New function.
	(_Jv_GCDetachThread): Likewise.

2006-08-19  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* sysdep/i386/backtrace.h (fallback_backtrace): Add "0x55 0x8B 0xEC"
	as another sequence that can indicate a "pushl %ebp; movl %esp, %ebp"
	function prologue.

2006-08-17  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (install-exec-hook): Support $(DESTDIR).
	* Makefile.in: Regenerated.

2006-08-16  Tom Tromey  <tromey@redhat.com>

	* libtool-version: Updated.

2006-08-16  Jakub Jelinek  <jakub@redhat.com>
	    Bryce McKinlay  <bryce@mckinlay.net.nz>

	* configure, Makefile.in: Rebuilt.
	* Makefile.am (toolexeclib_LTLIBRARIES): Add libgcj_bc.la.
	(libgcj_bc_la_SOURCES): New variable.
	(libgcj_bc_la_LDFLAGS): Likewise.
	(libgcj_bc_la_LIBADD): Likewise.
	(libgcj_bc_la_DEPENDENCIES): Likewise.
	(libgcj_bc_la_LINK): Likewise.
	(libgcj_bc_dummy_LINK): Likewise.
	(libgcj_bc.la): New target.
	(install-exec-hook): Likewise.
	* libgcj.spec.in (*lib): Use LIBGCJ_SPEC.
	* libgcj_bc.c: New file.
	* configure.ac (LIBGCJ_SPEC): New subst.
	* configure.host (use_libgcj_bc): New variable.

2006-08-15  Kyle Galloway  <kgallowa@redhat.com>

	* include/java-interp.h (_Jv_InterpMethod::run_debug): New method.
	* interpret.cc: Added placeholder for debug variable type info to STORE*
	macros.
	(_Jv_InterpMethod::run_debug): New method.
	(_Jv_InterpMethod::run_sync_object_debug): New method.
	(_Jv_InterpMethod::run_sync_class_debug): New method.
	(_Jv_InterpMethod::run_normal_debug): New method.
	(_Jv_InterpMethod::run_class_debug): New method.
	(_Jv_InterpMethod::ncode ()): Changed to select either debug or normal
	versions of these functions.
	* interpret-run.cc: New file, holds contents of old 	
	_Jv_InterpMethod::run method.
	* stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Changed to select
	appropriate function for debug or normal mode.

2006-08-14  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath 0.92
	* HACKING: Add more importing hints. Update automake version
	requirement.

	* configure.ac (gconf-peer): New enable AC argument.
	Add --disable-gconf-peer and --enable-default-preferences-peer
	to classpath configure when gconf is disabled.
	* scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
	gnu/java/awt/dnd/peer/gtk to bc. Classify
	gnu/java/security/Configuration.java as generated source file.

	* gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
	gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
	gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
	gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
	gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
	gnu/java/lang/management/VMThreadMXBeanImpl.java,
	gnu/java/lang/management/VMMemoryMXBeanImpl.java,
	gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
	classes.
	* java/lang/management/VMManagementFactory.java: Likewise.
	* java/net/VMURLConnection.java: Likewise.
	* gnu/java/nio/VMChannel.java: Likewise.

	* java/lang/Thread.java (getState): Add stub implementation.
	* java/lang/Class.java (isEnum): Likewise.
	* java/lang/Class.h (isEnum): Likewise.

	* gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.

	* javax/naming/spi/NamingManager.java: New override for StackWalker
	functionality.

	* configure, sources.am, Makefile.in, gcj/Makefile.in,
	include/Makefile.in, testsuite/Makefile.in: Regenerated.

2006-08-14  Gary Benson  <gbenson@redhat.com>

	* java/lang/Thread.java (accessControlState): New field.
	* java/security/VMAccessControlState.java: New file.
	* java/security/natVMAccessControlState.cc: Likewise.
	* java/security/VMAccessController.java
	(contexts, inGetContext): Removed.
	(pushContext, popContext, getContext): Use VMAccessControlState.
	* Makefile.am (nat_source_files): Updated.
	* sources.am, Makefile.in: Rebuilt.

2006-08-10  Gary Benson  <gbenson@redhat.com>

	* include/java-stack.h (GetAccessControlStack): Change return
	type.
	* stacktrace.cc (accesscontrol_trace_fn): Record the number of
	Java frames encountered.
	(GetAccessControlStack): Return a flag indicating whether a call to
	doPrivileged was encountered rather than an array of method names.
	* java/security/natVMAccessController.cc (getStack): Change return
	type.
	* java/security/VMAccessController.java (getStack): Likewise.
	(getContext): Change to reflect the above.

2006-08-09  Gary Benson  <gbenson@redhat.com>

	* stacktrace.cc (accesscontrol_trace_fn): Skip non-Java frames.

2006-08-09  Gary Benson  <gbenson@redhat.com>

	* java/lang/System.java (setSecurityManager): Javadoc fix.
	* java/security/VMAccessController.java (getContext): Comment fix.

2006-08-09  Gary Benson  <gbenson@redhat.com>

	* include/java-stack.h (accesscontrol_trace_fn): Declare.
	(GetAccessControlStack): Likewise.
	(GetClassMethodStack): Remove.
	* stacktrace.cc (accesscontrol_trace_fn): New method.
	(GetAccessControlStack): Likewise.
	(GetClassMethodStack): Remove.
	* java/security/natVMAccessController.cc (getStack): Use
	GetAccessControlStack.

2006-08-07  Gary Benson  <gbenson@redhat.com>

	PR libgcj/28340:
	* java/lang/ClassLoader.java (clinit): Install a default
	security manager if java.security.manager is defined.
	(getParent, getSystemClassLoader): Use the correct stack
	frame during security checks.
	* java/net/URLClassLoader.java (findClass): Avoid calling
	this.toString() during VM initialization.
	(runtimeInitialized): New method.
	* java/net/natURLClassLoader.cc: New file.
	* Makefile.am (nat_source_files): Added the above.
	* Makefile.in: Rebuilt.

2006-08-07  Gary Benson  <gbenson@redhat.com>
	    Casey Marshall <csm@gnu.org>

	* java/lang/SecurityManager.java (getSecurityContext,
	checkPermission, checkAccess, checkRead, checkConnect,
	checkPackageAccess, checkPackageDefinition, checkPackageList):
	Merge with Classpath.
	(SecurityContext): Remove.

2006-08-07  Gary Benson  <gbenson@redhat.com>

	* java/security/VMAccessController.java (pushContext, popContext,
	getContext): Use Thread.currentThread() to determine when we're
	bootstrapping.
	(runtimeInitialized): Remove.
	* java/security/natVMAccessController.cc (runtimeInitialized):
	Remove.

2006-08-06  Tom Tromey  <tromey@redhat.com>

	PR libgcj/28491:
	* configure, include/config.h.in: Rebuilt.
	* configure.ac: Look for ifaddrs.h, getifaddrs.
	* java/net/natVMNetworkInterfacePosix.cc (getInterfaces): Use
	getifaddrs if available.

2006-08-06  Tom Tromey  <tromey@redhat.com>

	PR libgcj/28576:
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (connect):
	Implemented.
	(disconnect): Likewise.
	(send): Handle already-connected case.

2006-08-04  Mark Wielaard  <mark@klomp.org>

	* jvmti.cc: Include gcj/method.h.

2006-08-04  Tom Tromey  <tromey@redhat.com>

	* jvmti.cc: Added MAYBE_UNUSED to 'env' parameters.
	(_Jv_JVMTI_GetObjectSize): Cast _Jv_GetArrayElementFromElementType
	result to _Jv_uintptr_t.

2006-08-01  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/VMFrame.java: Update to Classpath 0.91.
	* gnu/classpath/jdwp/VMIdManager.java: Likewise.
	* gnu/classpath/jdwp/VMMethod.java: Likewise.
	* gnu/classpath/jdwp/VMVirtualMachine: Likewise.
	* gnu/classpath/jdwp/natVMFrame.java: New file.
	* gnu/classpath/jdwp/natVMMethod.java: New file.
	* gnu/classpath/jdwp/natVMVirtualMachine.java: New file.
	* Makefile.am (nat_source_files): Add new filles.
	* Makefile.in: Regenerated.

2006-08-03  Tom Tromey  <tromey@redhat.com>

	* jvmti.cc (REQUIRE_PHASE): New macro.
	(_Jv_JVMTI_InterruptThread): New function.
	(_Jv_JVMTI_CreateRawMonitor): Likewise.
	(_Jv_JVMTI_DestroyRawMonitor): Likewise.
	(_Jv_JVMTI_RawMonitorEnter): Likewise.
	(_Jv_JVMTI_RawMonitorExit): Likewise.
	(_Jv_JVMTI_RawMonitorWait): Likewise.
	(_Jv_JVMTI_RawMonitorNotify): Likewise.
	(_Jv_JVMTI_RawMonitorNotifyAll): Likewise.
	(_Jv_JVMTI_Allocate): Likewise.
	(_Jv_JVMTI_Deallocate): Likewise.
	(_Jv_JVMTI_GetClassModifiers): Likewise.
	(_Jv_JVMTI_GetClassMethods): Likewise.
	(_Jv_JVMTI_IsInterface): Likewise.
	(_Jv_JVMTI_IsArrayClass): Likewise.
	(_Jv_JVMTI_GetClassLoader): Likewise.
	(_Jv_JVMTI_GetObjectHashCode): Likewise.
	(_Jv_JVMTI_GetFieldModifiers): Likewise.
	(_Jv_JVMTI_IsFieldSynthetic): Likewise.
	(_Jv_JVMTI_GetMethodModifiers): Likewise.
	(_Jv_JVMTI_IsMethodNative): Likewise.
	(_Jv_JVMTI_IsMethodSynthetic): Likewise.
	(_Jv_JVMTI_GetClassLoaderClasses): Likewise.
	(_Jv_JVMTI_ForceGarbageCollection): Likewise.
	(_Jv_JVMTI_GetSystemProperty): Likewise.
	(_Jv_JVMTI_SetSystemProperty): Likewise.
	(_Jv_JVMTI_GetTime): Likewise.
	(_Jv_JVMTI_GetAvailableProcessors): Likewise.
	(_Jv_JVMTI_AddToBootstrapClassLoaderSearch): Likewise.
	(_Jv_JVMTI_SetVerboseFlag): Likewise.
	(_Jv_JVMTI_GetObjectSize): Likewise.
	(_Jv_JVMTI_SetJNIFunctionTable): Likewise.
	(_Jv_JVMTI_GetJNIFunctionTable): Likewise.
	(_Jv_JVMTI_Interface): Updated.
	(NULL_CHECK): New macro.

2006-08-02  Andreas Tobler  <a.tobler@schweiz.ch>

	PR libgcj/28546
	* include/no-threads.h: Declare _Jv_Thread_t as empty class.

2006-08-01  Andreas Tobler  <a.tobler@schweiz.ch>

	* gnu/classpath/natSystemProperties.cc: Add additional check for
	getpwuid_r on _POSIX_PTHREAD_SEMANTICS.
	(SystemProperties::insertSystemProperties): Likewise.
	* java/io/natFilePosix.cc (File::performList): Add
	additional check for readdir_r on _POSIX_PTHREAD_SEMANTICS.
	* java/util/natVMTimeZone.cc (VMTimeZone::getSystemTimeZoneId): Add
	additional check for localtime_r on _POSIX_PTHREAD_SEMANTICS.

2006-07-31  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/28312
	* classpath/native/jni/midi-alsa/Makefile.am
	(libgjsmalsa_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/midi-alsa/Makefile.in: Regenerate.
	* classpath/native/jni/midi-dssi/Makefile.am
	(libgjsmdssi_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/midi-dssi/Makefile.in: Regenerate.
	* classpath/native/jni/qt-peer/Makefile.am: Remove GCJ LOCAL
	sections.
	(libqtpeer_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/qt-peer/Makefile.in: Regenerate.
	* classpath/native/jni/gtk-peer/Makefile.am
	(libgtkpeer_la_LDFLAGS): Add -avoid-version.
	* classpath/native/jni/gtk-peer/Makefile.in: Regenerate.
	* classpath/native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add
	-avoid-version.
	* classpath/native/jawt/Makefile.in: Regenerate.
	* Makefile.am (libjvm_la_LDFLAGS): Add -avoid-version.
	* Makefile.in: Regenerate.

2006-07-28  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/natSharedLibLoader.cc (init): Don't set
	curLoader to VMClassLoader::bootLoader.

2006-07-28  Gary Benson  <gbenson@redhat.com>
	    Casey Marshall <csm@gnu.org>

	PR libgcj/13604:
	* include/java-stack.h (GetClassMethodStack): Declare.
	* stacktrace.cc (GetClassMethodStack): New method.
	* java/security/AccessController.java: Removed.
	* java/security/VMAccessController.java: New file.
	* java/security/natVMAccessController.cc: Likewise.
	* Makefile.am (nat_source_files): Added the above.
	* sources.am, Makefile.in: Rebuilt.

2006-07-28  Gary Benson  <gbenson@redhat.com>

	* java/lang/SecurityManager.java (currentClassLoader,
	currentLoadedClass, classLoaderDepth, checkAccess, checkRead,
	checkWrite, checkTopLevelWindow, checkPrintJobAccess,
	checkSystemClipboardAccess, checkAwtEventQueueAccess,
	checkPackageList): Remerged javadoc.

2006-07-28  Gary Benson  <gbenson@redhat.com>

	* prims.cc (_Jv_CreateJavaVM): Move setting runtimeInitialized
	from the start to the end of the function.  Remove references
	to VMThrowable.trace_enabled.
	* java/lang/natVMThrowable.cc (fillInStackTrace): Use
	runtimeInitialized rather than trace_enabled to decide
	whether to inhibit stack trace generation.
	* java/lang/VMThrowable.java (trace_enabled): Removed.

2006-07-23  Mohan Embar  <gnustuff@thisiscool.com>

	* include/win32-threads.h (_Jv_Thread_t): Explicitly
	name the struct.

2006-07-23  Mohan Embar  <gnustuff@thisiscool.com>

	* jvmti.cc (_Jv_JVMTI_SuspendThread): Add missing JNICALL
	attribute.
	(_Jv_JVMTI_ResumeThread): Likewise.
	(_Jv_JVMTI_DisposeEnvironment): Likewise.

2006-07-21  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (bind): Clear
	SockAddr before using - needed for OS X/PPC.

2006-07-21  Keith Seitz  <keiths@redhat.com>

	* boehm.cc (_Jv_SuspendThread): Don't ifdef the function declaration,
	just the contents.
	(_Jv_ResumeThread): Likewise.
	* posix-threads.cc: Revert 2006-06-19 _Jv_ThreadDebugSuspend,
	_Jv_ThreadDebugResume, _Jv_ThreadDebugSuspendCount patch. Moving
	to JVMTI instead.
	* include/posix-threads.h: Likewise.
	* win32-threads.cc: Likewise.
	* include/win32-threads.h: Likewise.
	* jvmti.cc (_Jv_JVMTI_SuspentThread): New function.
	(_Jv_JVMTI_ResumeThread): New function.
	(_Jv_JVMTI_Interface): Define SuspendThread and ResumeThread.

2006-07-21  David Daney  <ddaney@avtrex.com>

	PR libgcj/28426
	* configure: Regenerated.

2006-07-21  Mark Wielaard  <mark@klomp.org>

	* java/io/OutputStreamWriter.java (flush): Create work if null.

2006-07-21  Keith Seitz  <keiths@redhat.com>

	* java/lang/natThread.cc (_Jv_ThreadGetData): New function.
	* Makefile.am (java/lang/Thread.h): Add friend function 
	_Jv_ThreadGetData.
	* Makefile.in: Regenerate.

2006-07-20  Keith Seitz  <keiths@redhat.com>

	* jvmti.cc (_Jv_JVMTI_DisposeEnvironment): New function.
	(_Jv_JVMTI_Interface): Define DisposeEnvironment method.

2006-07-20  Keith Seitz  <keiths@redhat.com>

	* include/jvm.h (_Jv_GetJVMTIEnv): Declare.
	* jni.cc (_Jv_JNI_GetEnv): Handle JVMTI requests.
	* jvmti.cc: New file.
	* Makefile.am (libgcj_la_SOURCES): Add jvmti.cc.
	* Makefile.in: Regenerate. 

2006-07-20  David Daney  <ddaney@avtrex.com>

	* configure.host: Enable the interpreter for mipsel-* and mips-*.

2006-07-20  David Daney  <ddaney@avtrex.com>

	* include/mips-signal.h: Update copyright.
	(struct kernel_sigaction): Removed.
	(SIGNAL_HANDLER): Changed prototype.
	(MAKE_THROW_FRAME): Added cast.
	(INIT_SEGV): Use sigaction instead of syscall.
	(INIT_FPE): Likewise.

2006-07-18  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

2006-07-18  Gary Benson  <gbenson@redhat.com>

	* java/io/File.java (deleteOnExit): Fix security check.

2006-07-14  Anthony Green  <green@redhat.com>

	* java/io/natFilePosix.cc (performSetLastModified): Return true on
	success, false otherwise.

2006-07-14  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* stacktrace.cc (_Jv_StackTrace::GetStackTrace): Unconditionally use
	_Unwind_Backtrace().
	(_Jv_StackTrace::GetCallerInfo): Enable even for targets using SJLJ
	EH.
	(_Jv_StackTrace::GetClassContext): Unconditionally use
	_Unwind_Backtrace().
	(_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise.
	* sysdep/i386/backtrace.h (HAVE_FALLBACK_BACKTRACE): Do not define.
	(_Unwind_GetIPInfo): Define macro if SJLJ EH is in use.
	(_Unwind_GetRegionStart): Likewise.
	(_Unwind_Backtrace): Likewise.
	(fallback_backtrace): Accept additional unwind trace function
	argument.  Call it during unwinding.  Stop when any of _Jv_RunMain(),
	_Jv_ThreadStart() or main() is seen during unwinding.
	* sysdep/generic/backtrace.h (fallback_backtrace): Accept an
	additional unwind trace function argument.

2006-07-14  Gary Benson  <gbenson@redhat.com>

	* java/io/File.java (internalExists): New method.
	(exists): Use internalExists.
	(internalIsDirectory): New method.
	(isDirectory): Use internalIsDirectory.
	(createTempFile): Use internalExists and internalIsDirectory.

2006-07-13  Bryce McKinlay  <mckinlay@redhat.com>

	* interpret.cc (_Jv_InterpMethod::run): Don't SAVE_PC for fdiv.

2006-07-13  Bryce McKinlay  <mckinlay@redhat.com>

	* interpret.cc (_Jv_InterpMethod::compile): Add FIXME comment.
	(_Jv_InterpMethod::run): SAVE_PC before executing any instruction 
	using resolve_pool_entry, as it can throw. Likewise for div/rem ops
	that can throw ArithmeticException.

2006-07-12  Gary Benson  <gbenson@redhat.com>

	* java/io/File.java (renameTo): Fix security checks.

2006-07-12  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/28352
	* stacktrace.cc (getLineNumberForFrame): Roll back PC by 1 when
	looking up line number for interpreted frame.

2006-07-07  Bryce McKinlay  <mckinlay@redhat.com>
	    Geoffrey Keating <geoffk@apple.com>

	* testsuite/libjava.lang/StackTrace2.java: Renamed from
	StackTrace.java. Changed class name.
	* testsuite/libjava.lang/StackTrace2.out: Renamed from
	StackTrace.out. Updated for new class name.

2006-07-07  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* sysdep/i386/backtrace.h (fallback_backtrace): Scan for a function's
	prologue to determine its beginning.  Stop unwinding when we reach
	JvRunMain().

2006-07-07  Gary Benson  <gbenson@redhat.com>

	* Makefile.am (BOOT_CLASS_PATH_DIR): Only contain libgcj.jar.
	* Makefile.in: Regenerate.

2006-07-06  Bryce McKinlay <mckinlay@redhat.com>

	* stacktrace.cc (ClassForFrame): Remove commented-out code.
	(UnwindTraceFn): Use _Unwind_GetIPInfo and adjust IP
	only when needed.
	(getLineNumberForFrame): Don't adjust IP here.
	* testsuite/libjava.lang/StackTrace.java: New test case.
	* testsuite/libjava.lang/StackTrace.out: Ditto.

2006-07-06  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (libgcj_tools_la_GCJFLAGS): Add
	-fno-indirect-classes.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2006-07-06  Bryce McKinlay <mckinlay@redhat.com>

	* boehm.cc (_Jv_MarkObj): Mark the next_or_version field.

2006-07-06  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* configure.ac (ac_configure_args): Add --with-native-libdir.
	* configure: Regenerate.
	* classpath/native/jni/gtk-peer/Makefile.am: Remove GCJ LOCAL
	sections.
	* classpath/native/jni/gtk-peer/Makefile.in: Regenerate.
	* classpath/native/jawt/Makefile.am: Remove GCJ LOCAL sections.
	* classpath/native/jawt/Makefile.in: Regenerate.
	* classpath/native/plugin/Makefile.am: Remove GCJ LOCAL sections.
	* classpath/native/plugin/Makefile.in: Regenerate.

2006-07-05  Ranjit Mathew  <rmathew@gcc.gnu.org>
            Danny Smith  <dannysmith@users.sourceforge.net>

	* libgcj.spec.in: Use THREADSTARTFILESPEC to affect the spec for
	startfile.
	* configure.ac: Allow targets to affect the spec for startfile
	by specifying a THREADSTARTFILESPEC variable.  Define this for
	the win32 threads package to include crtmt.o.
	* configure: Regenerate.
	* win32.cc (_CRT_MT): Remove definition.
	(__mingwthr_key_dtor): Likewise.

2006-07-04  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libjava.exp (libjava_init): Call the GCJ_UNDER_TEST with
	the -B$specdir.

	PR libgcj/28226:
	* include/posix.h (_Jv_platform_dladdr): Remove const qualifier.
	* include/win32.h (_Jv_platform_dladdr): Likewise.
	* posix.cc (_Jv_platform_dladdr): Likewise.
	* win32.cc (_Jv_platform_dladdr): Likewise.

	* testsuite/lib/libjava.exp (libjava_init): Look for libgcj-$version.jar
	instead of libgcj-*.jar.

2006-07-04  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/28244:
	* Makefile.am (libgcj_tools_la_DEPENDENCIES): Add libgcj.la and
	libgcj.spec.
	* Makefile.in: Regenerate.

2006-06-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* classpath/tools/Makefile.am: Comment out tools wrapper creation.
	(TOOLS_ZIP): Rename tools.zip tools.jar.
	(noinst_DATA): Do not install tools.jar.
	* classpath/tools/Makefile.in: Regenerate.
	* classpath/Makefile.am (SUBDIRS): Add tools.
	(DIST_SUBDIRS): Likewise.
	* classpath/Makefile.in: Regenerate.
	* Makefile.am (toolexeclib_LTLIBRARIES): Add libgcj-tools.la.
	(jar_DATA): Add libgcj-tools-$(gcc_version).jar.
	(bin_PROGRAMS): Add gappletviewer, gjarsigner and gkeytool.
	Add build logic for libgcj-tools.la,
	libgcj-tools-$(gcc_version).jar and gappletviewer, gjarsigner and
	gkeytool.
	* Makefile.in: Regenerate.

2006-06-29  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* gcj/javaprims.h (_Jv_uintptr_t): New typedef similar to uintptr_t in
	C99.
	* include/java-stack.h: Include stdlib.h.
	(_Jv_AddrInfo): New structure to hold address information.
	* include/posix.h (_Jv_platform_dladdr): Declare.
	* include/win32.h (_Jv_platform_dladdr): Declare.
	(backtrace): Remove declaration.
	* posix.cc: Include dlfcn.h if available.  Include java-stack.h.
	(_Jv_platform_dladdr): Define.
	* win32.cc: Include string.h.  Include java-stack.h.
	(backtrace): Remove.
	(_Jv_platform_dladdr): Define.
	* sysdep/i386/backtrace.h (fallback_backtrace): Check that a potential
	frame pointer value is 32-bit word-aligned.  Use operand of the CALL
	instruction calling the current function to find its starting address.
	* stacktrace.cc: Do not include dlfcn.h.  Include platform.h.
	(_Jv_StackTrace::getLineNumberForFrame): Use _Jv_platform_dladdr()
	instead of dladdr().
	(_Jv_StackTrace::GetStackTraceElements): Use nCodeMap even for Windows.
	(_Jv_StackTrace::GetClassContext): Use fallback_backtrace() for
	targets with SJLJ exceptions instead of using _Unwind_Backtrace().
	(_Jv_StackTrace::GetFirstNonSystemClassLoader): Likewise.

2006-06-27  Tom Tromey  <tromey@redhat.com>

	* java/io/OutputStreamWriter.java (writeChars): Use a 'do' loop.
	Set 'out.count' earlier.
	(close): Call setFinished on converter.
	(flush): Always write work buffer.
	* java/io/PrintStream.java (writeChars): Do 'do' loop.
	(close): Call setFinished on converter.  Write a 'flush' array.
	* java/lang/natString.cc (getBytes): Call setFinished on
	converter.
	* gnu/gcj/convert/CharsetToBytesAdaptor.java (hasBytes): New
	field.
	(write): Set hasBytes.  Changed 'finished' logic.
	(havePendingBytes): Rewrote.
	(setFinished): New method.
	* gnu/gcj/convert/UnicodeToBytes.java (setFinished): New method.
	* testsuite/libjava.lang/RH194522.java: New file.
	* testsuite/libjava.lang/RH194522.out: New file.

2006-06-27  Marco Trudel  <mtrudel@gmx.ch>

	* boehm.cc (_Jv_SuspendThread, _Jv_ResumeThread): Define
	conditionally on GC_PTHREADS, !GC_SOLARIS_THREADS,
	!GC_WIN32_THREADS and !GC_DARWIN_THREADS.

2006-06-27  Tom Tromey  <tromey@redhat.com>

	PR libgcj/28178:
	* jni.cc (_Jv_JNI_DeleteLocalRef): Ignore null argument.
	(_Jv_JNI_DeleteGlobalRef): Likewise.
	* testsuite/libjava.jni/PR28178.java: New file.
	* testsuite/libjava.jni/PR28178.c: New file.
	* testsuite/libjava.jni/PR28178.out: New file.

2006-06-26  Keith Seitz  <keiths@redhat.com>

	* include/posix-threads.h: Fix coding style aberrations from
	2006-06-19 check-in.
	* posix-threads.cc (_Jv_ThreadDebugSuspend): Ditto.
	* include/win32-threads.h (_Jv_ThreadDebugSuspend): Ditto.
	* win32-threads.cc (_Jv_ThreadDebugSuspend): Ditto.

2006-06-26  Keith Seitz  <keiths@redhat.com>

	* include/no-gc.h (_Jv_SuspendThread): Declare.
	(_Jv_ResumeThread): Likewise.
	* include/boehm-gc.h (_Jv_SuspendThread): Declare.
	(_Jv_ResumeThread): Likewise.
	* nogc.cc (_Jv_SuspendThread): New function.
	(_Jv_ResumeThread): Likewise.
	* boehm.cc (_Jv_SuspendThread): New function.
	(_Jv_ResumeThread): Likewise.

2006-06-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
	Link against -ljvm, not -lgcj.

2006-06-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (libjvm_la_LDFLAGS): Do not set -rpath to
	toolexeclibdir.
	* Makefile.in: Regenerate.

2006-06-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/natField.cc (getAddr): Allow setting of final
	field when it is accessible.

2006-06-21  Bryce McKinlay  <mckinlay@redhat.com>

	* include/win32-threads.h (_Jv_ThreadDesc_t): New typedef. 
	(_Jv_GetPlatformThreadID): New function.
	* include/posix-threads.h (_Jv_ThreadDesc_t): New typedef.
	(_Jv_GetPlatformThreadID): New function.

2006-06-20  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
	Bump "java.class.version" to 48.0.

2006-06-20  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Define GCJ_VERSIONED_LIBDIR to
	"$(dbexecdir)".
	Build libjvm.la.
	* Makefile.in: Regenerate.
	* jni.cc (the_vm): Rename and export as ...
	(_Jv_the_vm): New exported symbol.
	(_Jv_JNI_AttachCurrentThread): Export.
	(_Jv_JNI_DestroyJavaVM): Replace the_vm references with _Jv_the_vm
	references.
	(_Jv_GetJavaVM): Likewise.
	(JNI_GetDefaultJavaVMInitArgs, JNI_CreateJavaVM,
	JNI_GetCreatedJavaVMs): Move to ...
	* jni-libjvm.cc: New file.

2006-06-19  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/PR27908.out: New.
	* testsuite/libjava.lang/PR27908.java: New.

2006-06-19  Keith Seitz  <keiths@redhat.com>

	* include/posix-threads.h (_Jv_ThreadDebugSuspend): Declare.
	(_Jv_ThreadDebugResume): Declare.
	(_Jv_ThreadDebugSuspendCount): Declare.
	* posix-threads.cc (_Jv_ThreadDebugSuspend): New function.
	(_Jv_ThreadDebugSuspendCount): New function.
	(_Jv_ThreadDebugResume): New function.

	* include/win32-threads.h (_Jv_ThreadDebugSuspend): Declare.
	(_Jv_ThreadDebugResume): Declare.
	(_Jv_ThreadDebugSuspendCount): Declare.
	* win32-threads.cc (_Jv_ThreadDebugSuspend): New function.
	(_Jv_ThreadDebugSuspendCount): New function.
	(_Jv_ThreadDebugResume): New function.
	
2006-06-16  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Don't
	copy the whole Class instance from the initializer: instead, copy
	everything but the first word (the vtable pointer).
	Change prototype to (const char* class_initializer).
	(_Jv_RegisterNewClasses): Change prototype to (const char**).
	* java/lang/Class.h (_Jv_RegisterNewClasses): Change prototype to
	(const char**).

2006-06-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* classpath/Makefile.am: Do not recurse into tools directory.
	* classpath/Makefile.in: Regenerate.

2006-06-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* classpath/tools/Makefile.am (gappletviewer_CFLAGS): Add
	-I$(top_srcdir)/include.
	(gjarsigner_CFLAGS): Likewise.
	(gkeytool_CFLAGS): Likewise.
	* classpath/tools/Makefile.in: Regenerate.

2006-06-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* configure.ac (--enable-plugin): New option.
	(ac_configure_args): Add --enable-tool-wrappers.
	(ac_configure_args): Add --disable-plugin unless --enable-plugin
	was specified.
	* gcj/Makefile.in: Regenerate.
	* sources.am (gnu_java_net_source_files): Add
	classpath/gnu/java/net/IndexListParser.java.
	(property_files): Remove
	classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties,
	classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties.
	Add
	classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties,
	classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties,
	classpath/resource/gnu/classpath/tools/getopt/Messages.properties,
	classpath/resource/gnu/classpath/tools/jar/messages.properties,
	classpath/resource/gnu/classpath/tools/jarsigner/messages.properties,
	classpath/resource/gnu/classpath/tools/keytool/messages.properties,
	classpath/resource/gnu/classpath/tools/native2ascii/messages.properties,
	classpath/resource/gnu/classpath/tools/serialver/messages.properties.
	* classpath/Makefile.in: Regenerate.
	* classpath/native/jni/gtk-peer/cairographics2d.h,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c:
	Merge from GNU Classpath.
	* classpath/native/Makefile.in: Regenerate.
	* classpath/native/jawt/Makefile.in: Regenerate.
	* classpath/native/jawt/Makefile.am: Install libjawt.so in GCJ's
	versioned library directory.
	* classpath/native/Makefile.am: Add plugin directory if
	--enable-plugin was specified.
	* classpath/native/plugin/Makefile.in: Regenerate.  *
	classpath/native/plugin/Makefile.am: Install libgcjwebplugin.so in
	GCJ's versioned library directory.
	* classpath/resource/gnu/classpath/tools/native2ascii/messages.properties:
	New file.
	* classpath/resource/gnu/classpath/tools/getopt/Messages.properties:
	Likewise.
	* classpath/resource/gnu/classpath/tools/jarsigner/messages.properties:
	Likewise.
	* classpath/resource/gnu/classpath/tools/jarsigner/MessageBundle.properties:
	Remove file.
	* classpath/resource/gnu/classpath/tools/keytool/messages.properties:
	New file.
	* classpath/resource/gnu/classpath/tools/keytool/MessageBundle.properties:
	Remove file.
	* classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties:
	New file.
	* classpath/resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties:
	Likewise.
	* classpath/resource/gnu/classpath/tools/jar/messages.properties:
	Likewise.
	* classpath/resource/gnu/classpath/tools/serialver/messages.properties:
	Likewise.
	* classpath/gnu/java/net/IndexListParser.java:
	Likewise.
	* classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java,
	classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,
	classpath/gnu/java/awt/peer/gtk/CairoSurface.java,
	classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java,
	classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java,
	classpath/gnu/java/awt/peer/gtk/GdkTextLayout.java,
	classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java,
	classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java,
	classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java,
	classpath/gnu/java/awt/font/opentype/truetype/VirtualMachine.java,
	classpath/gnu/java/awt/java2d/PolyEdge.java,
	classpath/gnu/java/awt/java2d/AbstractGraphics2D.java: Merge from
	GNU Classpath.
	* classpath/tools/toolwrapper.c: Replace tools.zip reference with
	libgcj-tools-4.2.0.jar.
	* classpath/tools/Makefile.in: Regenerate.
	* classpath/tools/Makefile.am: Rename tools.zip to
	libgcj-tools-4.2.0.jar.  Install libgcj-tools-4.2.0.jar in
	$(datadir)/java.
	* classpath/javax/swing/JTabbedPane.java,
	classpath/javax/swing/text/DefaultStyledDocument.java,
	classpath/javax/swing/text/html/HTMLDocument.java,
	classpath/javax/swing/text/GapContent.java,
	classpath/javax/swing/JComponent.java,
	classpath/javax/swing/RepaintManager.java,
	classpath/javax/swing/plaf/basic/BasicComboBoxRenderer.java,
	classpath/javax/swing/plaf/basic/BasicScrollBarUI.java,
	classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicLookAndFeel.java,
	classpath/javax/swing/plaf/metal/MetalButtonUI.java,
	classpath/java/text/Bidi.java,
	classpath/java/awt/image/BufferedImage.java,
	classpath/java/awt/datatransfer/DataFlavor.java,
	classpath/java/awt/geom/AffineTransform.java,
	classpath/java/awt/dnd/DropTargetDropEvent.java,
	classpath/java/awt/dnd/DropTargetContext.java,
	classpath/java/awt/font/TextLayout.java,
	classpath/include/gnu_java_awt_peer_gtk_ComponentGraphics.h,
	classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h,
	classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h,
	classpath/include/gnu_java_awt_peer_gtk_GdkTextLayout.h,
	classpath/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h,
	classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h: Merge from
	GNU Classpath.
	* classpath/include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	classpath/include/gnu_java_awt_peer_gtk_GdkGraphics2D.h,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	classpath/native/jni/gtk-peer/gtkcairopeer.h,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:
	Remove files.
	* classpath/Makefile.am (SUBDIRS, DIST_SUBDIRS): Include tools
	directory.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2006-06-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.host (hppa*-*): Set 'enable_hash_synchronization_default'
	to no.

2006-06-12  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/PR27908.out: Delete.
	* testsuite/libjava.lang/PR27908.java: Delete.

2006-06-12  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/PR27908.out: New.
	* testsuite/libjava.lang/PR27908.java: New.

2006-06-10  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* configure.ac (ac_configure_args): Add --disable-plugin.
	(--enable-gtk-cairo): Remove option.
	* configure: Regenerate.

2006-06-09  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27730:
	* java/lang/Thread.java (threadId): New field.
	(nextThreadId): New static field.
	(Thread): Initialize new field.
	(getId): New method.

2006-06-09  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (getClassLoaderInternal): Now native.

2006-06-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
	(getDefaultScreenDevice): Remove unnecessary GCJ local hack.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemEventQueueImpl):
	Likewise.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (registerFormat):
	Likewise.

2006-06-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/lang/String.java, classpath/native/jni/classpath/jcl.h,
	classpath/native/jni/qt-peer/eventmethods.h,
	classpath/native/jni/qt-peer/qtmenupeer.cpp,
	classpath/native/jni/qt-peer/.cvsignore,
	classpath/native/jni/gtk-peer/gdkdisplay.h,
	classpath/native/jni/gtk-peer/cairographics2d.h,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c,
	classpath/native/jni/gtk-peer/.cvsignore,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	classpath/native/jni/gtk-peer/gtkpeer.h,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c,
	classpath/native/jni/gtk-peer/Makefile.am,
	classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	classpath/native/jawt/Makefile.am,
	classpath/native/jawt/.cvsignore,
	classpath/native/target/Linux/Makefile.in,
	classpath/native/plugin/gcjwebplugin.cc,
	classpath/native/plugin/Makefile.am,
	classpath/native/plugin/.cvsignore,
	classpath/resource/Makefile.in,
	classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java,
	classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java,
	classpath/gnu/java/awt/peer/gtk/CairoSurface.java,
	classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java,
	classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java,
	classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	classpath/gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java,
	classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	classpath/gnu/java/awt/peer/gtk/GdkGraphics.java,
	classpath/gnu/java/awt/peer/gtk/GtkToolkit.java,
	classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
	classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java,
	classpath/gnu/java/awt/peer/gtk/GdkTextLayout.java,
	classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java,
	classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java,
	classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java,
	classpath/gnu/java/awt/peer/gtk/GtkImage.java,
	classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java,
	classpath/gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	classpath/gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java,
	classpath/gnu/java/awt/peer/swing/SwingComponent.java,
	classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java,
	classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java,
	classpath/gnu/java/awt/peer/swing/SwingFramePeer.java,
	classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java,
	classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java,
	classpath/gnu/java/awt/print/JavaPrinterJob.java,
	classpath/gnu/java/awt/print/PostScriptGraphics2D.java,
	classpath/gnu/java/awt/print/SpooledDocument.java,
	classpath/gnu/java/awt/print/JavaPrinterGraphics.java,
	classpath/gnu/java/awt/BitwiseXORComposite.java,
	classpath/gnu/java/awt/font/GNUGlyphVector.java,
	classpath/gnu/java/awt/font/opentype/NameDecoder.java,
	classpath/gnu/java/awt/java2d/RasterGraphics.java,
	classpath/gnu/java/awt/java2d/TexturePaintContext.java,
	classpath/gnu/java/awt/java2d/PolyEdge.java,
	classpath/gnu/java/awt/java2d/AbstractGraphics2D.java,
	classpath/gnu/java/awt/java2d/AlphaCompositeContext.java,
	classpath/gnu/java/awt/java2d/ImagePaint.java,
	classpath/gnu/java/awt/Buffers.java,
	classpath/gnu/classpath/Configuration.java.in,
	classpath/gnu/javax/swing/text/html/CombinedAttributes.java,
	classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java,
	classpath/gnu/javax/swing/text/html/parser/htmlAttributeSet.java,
	classpath/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java,
	classpath/gnu/javax/swing/text/html/ImageViewIconFactory.java,
	classpath/tools/toolwrapper.c,
	classpath/tools/gnu/classpath/tools/native2ascii/Native2ASCII.java,
	classpath/tools/gnu/classpath/tools/native2ascii/Messages.java,
	classpath/tools/gnu/classpath/tools/getopt/FileArgumentCallback.java,
	classpath/tools/gnu/classpath/tools/getopt/OptionGroup.java,
	classpath/tools/gnu/classpath/tools/getopt/OptionException.java,
	classpath/tools/gnu/classpath/tools/getopt/Messages.java,
	classpath/tools/gnu/classpath/tools/getopt/Option.java,
	classpath/tools/gnu/classpath/tools/getopt/Parser.java,
	classpath/tools/gnu/classpath/tools/getopt/ClasspathToolParser.java,
	classpath/tools/gnu/classpath/tools/jarsigner/JarSigner.java,
	classpath/tools/gnu/classpath/tools/jarsigner/Main.java,
	classpath/tools/gnu/classpath/tools/jarsigner/Messages.java,
	classpath/tools/gnu/classpath/tools/jarsigner/package.html,
	classpath/tools/gnu/classpath/tools/keytool/ListCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/StorePasswdCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/ExportCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/GenKeyCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/Messages.java,
	classpath/tools/gnu/classpath/tools/keytool/package.html,
	classpath/tools/gnu/classpath/tools/keytool/Command.java,
	classpath/tools/gnu/classpath/tools/keytool/IdentityDBCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/Main.java,
	classpath/tools/gnu/classpath/tools/keytool/DeleteCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/CertReqCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/SelfCertCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/KeyCloneCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/ImportCmd.java,
	classpath/tools/gnu/classpath/tools/keytool/PrintCertCmd.java,
	classpath/tools/gnu/classpath/tools/rmi/registry/package.html,
	classpath/tools/gnu/classpath/tools/rmi/RMIC.txt,
	classpath/tools/gnu/classpath/tools/rmi/RMIC.java,
	classpath/tools/gnu/classpath/tools/appletviewer/ErrorApplet.java,
	classpath/tools/gnu/classpath/tools/appletviewer/AppletClassLoader.java,
	classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java,
	classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java,
	classpath/tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java,
	classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java,
	classpath/tools/gnu/classpath/tools/appletviewer/AppletWarning.java,
	classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java,
	classpath/tools/gnu/classpath/tools/appletviewer/AppletTag.java,
	classpath/tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java,
	classpath/tools/gnu/classpath/tools/appletviewer/Main.java,
	classpath/tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java,
	classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java,
	classpath/tools/gnu/classpath/tools/appletviewer/TagParser.java,
	classpath/tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java,
	classpath/tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java,
	classpath/tools/gnu/classpath/tools/serialver/Messages.java,
	classpath/tools/gnu/classpath/tools/serialver/SerialVer.java,
	classpath/tools/gnu/classpath/tools/jar/Creator.java,
	classpath/tools/gnu/classpath/tools/jar/Entry.java,
	classpath/tools/gnu/classpath/tools/jar/Lister.java,
	classpath/tools/gnu/classpath/tools/jar/Main.java,
	classpath/tools/gnu/classpath/tools/jar/Updater.java,
	classpath/tools/gnu/classpath/tools/jar/Messages.java,
	classpath/tools/gnu/classpath/tools/jar/Extractor.java,
	classpath/tools/gnu/classpath/tools/jar/Action.java,
	classpath/tools/gnu/classpath/tools/jar/Indexer.java,
	classpath/tools/gnu/classpath/tools/jar/WorkSet.java,
	classpath/tools/gnu/classpath/tools/giop/GRMIC.txt,
	classpath/tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java,
	classpath/tools/gnu/classpath/tools/giop/GRMIC.java,
	classpath/tools/Makefile.am, classpath/tools/jarsigner.in,
	classpath/tools/keytool.in, classpath/tools/appletviewer.in,
	classpath/tools/.cvsignore, classpath/configure.ac,
	classpath/javax/swing/JTabbedPane.java,
	classpath/javax/swing/AbstractButton.java,
	classpath/javax/swing/JViewport.java,
	classpath/javax/swing/KeyboardManager.java,
	classpath/javax/swing/JMenuItem.java,
	classpath/javax/swing/JMenuBar.java,
	classpath/javax/swing/MenuSelectionManager.java,
	classpath/javax/swing/JOptionPane.java,
	classpath/javax/swing/JSpinner.java,
	classpath/javax/swing/JCheckBoxMenuItem.java,
	classpath/javax/swing/JEditorPane.java,
	classpath/javax/swing/JFormattedTextField.java,
	classpath/javax/swing/JTree.java,
	classpath/javax/swing/CellRendererPane.java,
	classpath/javax/swing/JScrollPane.java,
	classpath/javax/swing/tree/VariableHeightLayoutCache.java,
	classpath/javax/swing/tree/TreeNode.java,
	classpath/javax/swing/tree/FixedHeightLayoutCache.java,
	classpath/javax/swing/tree/DefaultTreeCellEditor.java,
	classpath/javax/swing/tree/TreePath.java,
	classpath/javax/swing/tree/RowMapper.java,
	classpath/javax/swing/tree/DefaultMutableTreeNode.java,
	classpath/javax/swing/tree/DefaultTreeModel.java,
	classpath/javax/swing/tree/AbstractLayoutCache.java,
	classpath/javax/swing/tree/TreeSelectionModel.java,
	classpath/javax/swing/tree/DefaultTreeSelectionModel.java,
	classpath/javax/swing/tree/DefaultTreeCellRenderer.java,
	classpath/javax/swing/tree/ExpandVetoException.java,
	classpath/javax/swing/JList.java,
	classpath/javax/swing/table/JTableHeader.java,
	classpath/javax/swing/table/AbstractTableModel.java,
	classpath/javax/swing/table/DefaultTableModel.java,
	classpath/javax/swing/table/TableCellEditor.java,
	classpath/javax/swing/table/TableCellRenderer.java,
	classpath/javax/swing/ProgressMonitor.java,
	classpath/javax/swing/JToolBar.java,
	classpath/javax/swing/TransferHandler.java,
	classpath/javax/swing/DefaultCellEditor.java,
	classpath/javax/swing/DefaultButtonModel.java,
	classpath/javax/swing/JLayeredPane.java,
	classpath/javax/swing/text/DefaultEditorKit.java,
	classpath/javax/swing/text/DefaultCaret.java,
	classpath/javax/swing/text/FieldView.java,
	classpath/javax/swing/text/JTextComponent.java,
	classpath/javax/swing/text/TextAction.java,
	classpath/javax/swing/text/StyleContext.java,
	classpath/javax/swing/text/html/HTMLDocument.java,
	classpath/javax/swing/text/html/MinimalHTMLWriter.java,
	classpath/javax/swing/text/html/ImageView.java,
	classpath/javax/swing/text/html/HTMLEditorKit.java,
	classpath/javax/swing/text/AbstractWriter.java,
	classpath/javax/swing/text/GapContent.java,
	classpath/javax/swing/text/Utilities.java,
	classpath/javax/swing/text/PlainView.java,
	classpath/javax/swing/UIManager.java,
	classpath/javax/swing/JSplitPane.java,
	classpath/javax/swing/JComponent.java,
	classpath/javax/swing/SwingUtilities.java,
	classpath/javax/swing/border/AbstractBorder.java,
	classpath/javax/swing/border/CompoundBorder.java,
	classpath/javax/swing/border/TitledBorder.java,
	classpath/javax/swing/border/MatteBorder.java,
	classpath/javax/swing/border/BevelBorder.java,
	classpath/javax/swing/RepaintManager.java,
	classpath/javax/swing/JTable.java,
	classpath/javax/swing/UIDefaults.java,
	classpath/javax/swing/DefaultDesktopManager.java,
	classpath/javax/swing/JMenu.java,
	classpath/javax/swing/JLabel.java,
	classpath/javax/swing/JSlider.java,
	classpath/javax/swing/plaf/basic/BasicToolBarUI.java,
	classpath/javax/swing/plaf/basic/BasicButtonUI.java,
	classpath/javax/swing/plaf/basic/BasicOptionPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicTextAreaUI.java,
	classpath/javax/swing/plaf/basic/BasicToggleButtonUI.java,
	classpath/javax/swing/plaf/basic/BasicSpinnerUI.java,
	classpath/javax/swing/plaf/basic/BasicSliderUI.java,
	classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicComboPopup.java,
	classpath/javax/swing/plaf/basic/BasicCheckBoxUI.java,
	classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java,
	classpath/javax/swing/plaf/basic/BasicProgressBarUI.java,
	classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java,
	classpath/javax/swing/plaf/basic/BasicPanelUI.java,
	classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicTreeUI.java,
	classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java,
	classpath/javax/swing/plaf/basic/BasicFileChooserUI.java,
	classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicComboBoxUI.java,
	classpath/javax/swing/plaf/basic/BasicListUI.java,
	classpath/javax/swing/plaf/basic/BasicIconFactory.java,
	classpath/javax/swing/plaf/basic/BasicTextUI.java,
	classpath/javax/swing/plaf/basic/BasicLookAndFeel.java,
	classpath/javax/swing/plaf/basic/BasicDirectoryModel.java,
	classpath/javax/swing/plaf/basic/BasicRootPaneUI.java,
	classpath/javax/swing/plaf/basic/BasicTableUI.java,
	classpath/javax/swing/plaf/basic/SharedUIDefaults.java,
	classpath/javax/swing/plaf/multi/MultiComboBoxUI.java,
	classpath/javax/swing/plaf/multi/MultiListUI.java,
	classpath/javax/swing/plaf/multi/MultiSplitPaneUI.java,
	classpath/javax/swing/plaf/multi/MultiFileChooserUI.java,
	classpath/javax/swing/plaf/multi/MultiOptionPaneUI.java,
	classpath/javax/swing/plaf/multi/MultiTabbedPaneUI.java,
	classpath/javax/swing/plaf/multi/MultiLookAndFeel.java,
	classpath/javax/swing/plaf/metal/MetalSliderUI.java,
	classpath/javax/swing/plaf/metal/MetalIconFactory.java,
	classpath/javax/swing/plaf/metal/MetalComboBoxIcon.java,
	classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java,
	classpath/javax/swing/plaf/metal/MetalLookAndFeel.java,
	classpath/javax/swing/plaf/metal/MetalCheckBoxUI.java,
	classpath/javax/swing/plaf/metal/MetalSeparatorUI.java,
	classpath/javax/swing/plaf/metal/MetalBorders.java,
	classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java,
	classpath/javax/swing/plaf/metal/MetalScrollBarUI.java,
	classpath/javax/swing/plaf/metal/MetalRootPaneUI.java,
	classpath/javax/swing/plaf/metal/MetalInternalFrameUI.java,
	classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java,
	classpath/javax/swing/plaf/metal/MetalToolTipUI.java,
	classpath/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java,
	classpath/javax/swing/plaf/metal/MetalFileChooserUI.java,
	classpath/javax/swing/plaf/metal/MetalUtils.java,
	classpath/javax/swing/plaf/metal/MetalComboBoxButton.java,
	classpath/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java,
	classpath/javax/swing/plaf/metal/MetalButtonUI.java,
	classpath/javax/swing/JPopupMenu.java,
	classpath/javax/swing/JProgressBar.java,
	classpath/javax/swing/WindowConstants.java,
	classpath/javax/swing/JFrame.java,
	classpath/javax/swing/JFileChooser.java,
	classpath/javax/swing/JComboBox.java,
	classpath/javax/swing/event/EventListenerList.java,
	classpath/javax/swing/ListSelectionModel.java,
	classpath/javax/swing/JScrollBar.java,
	classpath/java/text/SimpleDateFormat.java,
	classpath/java/text/NumberFormat.java,
	classpath/java/text/class-dependencies.conf,
	classpath/java/awt/image/ColorModel.java,
	classpath/java/awt/image/BufferedImage.java,
	classpath/java/awt/Window.java,
	classpath/java/awt/ContainerOrderFocusTraversalPolicy.java,
	classpath/java/awt/LightweightDispatcher.java,
	classpath/java/awt/EventDispatchThread.java,
	classpath/java/awt/BasicStroke.java,
	classpath/java/awt/ColorPaintContext.java,
	classpath/java/awt/Container.java,
	classpath/java/awt/TexturePaint.java,
	classpath/java/awt/Component.java, classpath/java/awt/Font.java,
	classpath/java/awt/GraphicsConfiguration.java,
	classpath/java/awt/DefaultKeyboardFocusManager.java,
	classpath/java/awt/print/PrinterJob.java,
	classpath/java/awt/im/InputContext.java,
	classpath/java/awt/dnd/DragGestureRecognizer.java,
	classpath/java/awt/Toolkit.java,
	classpath/java/awt/font/GraphicAttribute.java,
	classpath/java/awt/font/ImageGraphicAttribute.java,
	classpath/java/awt/font/GlyphVector.java,
	classpath/java/awt/font/GlyphMetrics.java,
	classpath/java/awt/font/ShapeGraphicAttribute.java,
	classpath/java/awt/Graphics2D.java,
	classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h,
	classpath/include/gnu_java_awt_peer_gtk_ComponentGraphics.h,
	classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h,
	classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h,
	classpath/include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h,
	classpath/include/config.h.in,
	classpath/include/gnu_java_awt_peer_gtk_GdkTextLayout.h,
	classpath/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,
	classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h,
	classpath/include/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.h,
	classpath/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h,
	classpath/include/gnu_java_awt_peer_gtk_GtkImage.h,
	classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h,
	classpath/include/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.h:
	Merge from GNU Classpath HEAD.

2006-06-08  Tom Tromey  <tromey@redhat.com>

	* gnu/classpath/natSystemProperties.cc (insertSystemProperties):
	Set gnu.gcj.user.realname.

2006-06-09  Andreas Tobler  <a.tobler@schweiz.ch>

	* scripts/jar.in: Replace hardcoded /bin/sh with @SHELL@.

2006-06-07  Andrew Haley  <aph@redhat.com>

	* include/jvm.h (_Jv_Linker::maybe_adjust_signature): New.
	(_Jv_Linker::uaddr): New.
	* link.cc (resolve_pool_entry): Call search_method_in_superclasses
	instead of an open-coded loop around search_method_in_class.
	(search_method_in_class): Add a new arg, check_perms.
	(search_method_in_superclasses): New.
	(link_symbol_table): Call maybe_adjust_signature() to extract the
	least significnt bit of the signature pointer.  Do this three
	times, for instace method calls, static methods, and interfaces.
	Call search_method_in_superclasses() instead of
	_Jv_LookupDeclaredMethod.
	(typedef uaddr): Delete.
	
2006-06-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* scripts/makemake.tcl (emit_bc_rule): Do not skip
	gnu-java-awt-peer-qt.lo.
	* configure.ac (QT_AWT): Remove conditional.
	Do not add gnu/java/awt/peer/qt to standard.omit.
	* classpath/native/jni/qt-peer/Makefile.am: Install libqtpeer.so
	in GCJ's versioned library directory.
	* classpath/gnu/java/awt/peer/qt/QtToolkit.java (initToolkit):
	Load libqtpeer.so unconditionally.
	* gij.cc (main): Do not re-exec gij.
	* Makefile.am: Remove lib-gnu-java-awt-peer-qt.lo build logic.
	(gij_LDFLAGS): Point -rpath at GCJ's versioned library directory
	when linking gij.

2006-06-06  David Daney  <ddaney@avtrex.com>

	* gnu/gcj/runtime/NameFinder.java (show_raw): New field.
	(showRaw): New method.
	* stacktrace.cc : Include gnu/gcj/runtime/StringBuffer.h.
	(getLineNumberForFrame): Show IP offset in trace if line number
	not available and show_raw true.

2006-06-06  Gary Benson  <gbenson@redhat.com>

	* java/io/natFilePosix.cc (getCanonicalPath): Rewritten.
	* configure.ac: Remove realpath check and add checks for
	lstat and readlink.
	* configure: Rebuilt.
	* include/config.h.in: Likewise.
	* java/io/File.java: Javadoc fix.

2006-06-05  Andreas Schwab  <schwab@suse.de>

	PR libgcj/27860
	* link.cc: Check for closure support in libffi with FFI_CLOSURES.

2006-06-05  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27892:
	* gij.cc (main): Use putenv.

2006-06-03  Paolo Bonzini  <bonzini@gnu.org>

	* scripts/jar.in: Ensure return with argument has non-empty argument.

2006-06-01  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac (ZIP, UNZIP): New programs.
	(JAR): Fall back to bash script.  Generate it.
	(BASH_JAR): New conditional.
	* Makefile.am (bin_SCRIPTS): New.
	* scripts/jar.in: New file.

2006-06-01  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/java/lang/MainThread (run): Revert exception chaining change.

2006-05-31  Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (_Jv_RunMain): Use JvNewStringUTF for command-line class
	name, not Latin1.
	* gnu/java/lang/MainThread.java (run): Allow file separator char to
	be used in place of '.' as class-name separator. Don't chain
	ClassNotFoundException.

2006-05-31  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/lang/VMClassLoader.java (initialize): Set default library
	control to LIB_NEVER.

2006-05-31  Alan Modra  <amodra@bigpond.net.au>

	* stacktrace.cc (_Jv_StackTrace::UpdateNCodeMap): Don't add
	interpreted classes.

2006-05-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* scripts/makemake.tcl (emit_bc_rule): Do not skip
	gnu-java-awt-peer-gtk.lo.
	Include gnu/java/awt/peer/gtk Java objects in libgcj.so.  Use C++
	ABI for gnu/java/awt/peer/gtk package.
	* gnu/classpath/natSystemProperties.cc (PrependVersionedLibdir):
	New function.
	(insertSystemProperties): Only set java.ext.dirs if it is not
	already defined.  Prepend GCJ_VERSIONED_LIBDIR to module search
	path where necessary.
	* configure.ac (GTK_AWT): Remove automake conditional.
	Do not add gnu/java/awt/peer/gtk to standard.omit.
	* include/jvm.h (_Jv_PrependVersionedLibdir): New function
	declaration.
	* gij.cc (main): Prepend LD_LIBRARY_PATH with GCJ_VERSIONED_LIBDIR
	and re-exec self.
	* Makefile.am (AM_CXXFLAGS): Define GCJ_VERSIONED_LIBDIR and
	PATH_SEPARATOR macros.
	Remove lib-gnu-java-awt-peer-gtk.la and libgcjawt.la build logic.
	* prims.cc (_Jv_PrependVersionedLibdir): New function.

2006-05-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/lang/natThread.cc (countStackFrames): Do not throw
	UnsupportedOperationException.
	(resume): Likewise.
	(stop): Likewise.
	(suspend): Likewise.

2006-05-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.ac: Add sys/rw_lock.h to AC_CHECK_HEADERS.
	* configure: Rebuilt.
	* include/config.h.in: Likewise.
	* include/posix.h: If HAVE_SYS_RW_LOCK_H is defined, include
	<sys/rw_lock.h>.

2006-05-24  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27024:
	* sources.am, Makefile.in: Rebuilt.
	* gnu/java/net/DefaultContentHandlerFactory.java: Removed.
	* java/net/URLConnection.java: Removed.

2006-05-24  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.am: Add install-html target. Add install-html to .PHONY
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2006-05-24  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.lang/stacktrace.java: New file.
	* testsuite/libjava.lang/stacktrace.out: Likewise.

2006-05-24  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl: Accept -verbose command-line option.
	(is_verbose): New global.
	(verbose): Use it.
	(classify_source_file): Don't special case '.' for 'package'
	type.

2006-05-24  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27729:
	* java/lang/reflect/natField.cc (getAddr): Added parens.
	* java/lang/reflect/natConstructor.cc (getModifiersInternal):
	Renamed.  Don't mask flags.
	* java/lang/reflect/Constructor.java (CONSTRUCTOR_MODIFIERS): New
	constant.
	(getModifiersInternal): Renamed.
	(getModifiers): Rewrote.
	(isSynthetic, isVarArgs): New methods.
	(hashCode): Rewrote.
	(addTypeParameters, toGenericString): New methods.
	(getTypeParameters): Rewrote.
	(getSignature): New method.
	(getGenericParameterTypes, getGenericExceptionTypes): Likewise.
	* java/lang/reflect/natMethod.cc (getModifiersInternal):
	Renamed.  Don't mask flags.
	* java/lang/reflect/natField.cc (getModifiersInternal): Renamed.
	Don't mask flags.
	* java/lang/reflect/Modifier.java (BRIDGE, VARARGS, SYNTHETIC,
	ENUM): New constants.
	(INVISIBLE): Changed value.
	* java/lang/reflect/Method.java: Mostly merged with Classpath.
	(getModifiersInternal): Renamed.
	(getModifiers): Rewrote.
	(isBridge, isSynthetic, isVarArgs): New methods.
	(toGenericString): Likewise.
	(getTypeParameters): Likewise.
	(getSignature): Likewise.
	(getGenericExceptionTypes, getGenericParameterTypes,
	getGenericReturnType): Likewise.
	(METHOD_MODIFIERS): New constant.
	* java/lang/reflect/Field.java: Mostly merged with Classpath.
	Added javadoc everywhere.
	(getModifiersInternal): Renamed.
	(getModifiers, isSynthetic, isEnumConstant): Rewrote.
	(toGenericString): New method.
	(getGenericType, getSignature): Likewise.
	(FIELD_MODIFIERS): New constant.

2006-05-24  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27731:
	* java/lang/natMath.cc (cbrt, cosh, expm1, hypot, log1p, sinh,
	tanh): New methods.
	* java/lang/Math.java (cbrt, cosh, expm1, hypot, log1p, sinh,
	tanh): Declare.

2006-05-22  Mark Wielaard  <mark@klomp.org>

	* HACKING: Update GNU Classpath import instructions.

2006-05-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/lang/natClass.cc (_Jv_FindMethodInCache): Mark klass, name and
	signature as MAYBE_UNUSED for HAVE_TLS == 0.
	(_Jv_AddMethodToCache): Mark klass and method as MAYBE_UNUSED for
	HAVE_TLS == 0.

2006-05-20  Andreas Tobler  <a.tobler@schweiz.ch>
	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* configure.ac: Add the POSIX thread libs to the HP-UX PA
	configuration. Add signal specification for HP-UX PA.
	* configure: Rebuilt.
	* configure.host: Add defaults for the HP-UX PA architecture.
	Add descriptor files for HP-UX PA 32-bit and 64-bit.
	* include/hppa-signal.h: New file.
	* include/posix.h: Add shared library suffix for HP-UX.
	* sysdep/pa/descriptor-pa32-hpux.h: New file.
	* sysdep/pa/descriptor-pa64-hpux.h: Likewise.

2006-05-19  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* ChangeLog: Correct incorrect GNU Classpath version in the
	entry for the latest import.

2006-05-18  Tom Tromey  <tromey@redhat.com>

	* source.am, Makefile.in: Rebuilt.
	* Makefile.am (property_files): Removed.
	* scripts/makemake.tcl (properties_map): New global.
	(properties_files): Likewise.
	(emit_property_files): New proc.
	(scan_packages): Scan META-INF.
	Print property_files variable.  Scan classpath/resource.

2006-05-18  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.special/special.exp (gcj_special_pr21115):
	Renamed.
	(gcj_write_and_byte_compile): New proc.
	(gcj_special_lazy_illegal_access): Likewise.

2006-05-18  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath 0.91
	* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

	* sources.am: Regenerated.
	* gcj/javaprims.h: Regenerated.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

	* gnu/java/lang/VMInstrumentationImpl.java: New override.
	* gnu/java/net/local/LocalSocketImpl.java: Likewise.
	* gnu/classpath/jdwp/VMMethod.java: Likewise.
	* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
	interface.
	* java/lang/Thread.java: Add UncaughtExceptionHandler.
	* java/lang/reflect/Method.java: Implements GenericDeclaration and
	isSynthetic(),
	* java/lang/reflect/Field.java: Likewise.
	* java/lang/reflect/Constructor.java
	* java/lang/Class.java: Implements Type, GenericDeclaration,
	getSimpleName() and getEnclosing*() methods.
	* java/lang/Class.h: Add new public methods.
	* java/lang/Math.java: Add signum(), ulp() and log10().
	* java/lang/natMath.cc (log10): New function.
	* java/security/VMSecureRandom.java: New override.
	* java/util/logging/Logger.java: Updated to latest classpath
	version.
	* java/util/logging/LogManager.java: New override.

2006-05-15  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/27352
	* java/lang/Class.java (getClassLoaderInternal): New method.
	(forName (String, Class)): Use getClassLoaderInternal.
	(getPackage): Likewise.
	(getResource): Likewise.
	(getResourceAsStream): Likewise.
	(desiredAssertionStatus): Likewise.

2006-05-15  Andreas Tobler  <a.tobler@schweiz.ch>

	* stacktrace.cc (StackTrace::FillInFrameInfo): Use
	UNWRAP_FUNCTION_DESCRIPTOR to compare frame->start_ip against the
	klass->methods[j].ncode.

2006-05-13  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Mention natVMChannels.cc, not
	natChannels.cc.
	* java/nio/channels/natVMChannels.cc: Renamed from
	natChannels.cc.
	* java/nio/channels/Channels.java: Removed.
	* java/nio/channels/natChannels.cc: Removed.
	* java/nio/channels/VMChannels.java: New file.

2006-05-13  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* java/text/DateFormat.java: Removed.

2006-05-13  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* gnu/java/net/protocol/jar/Connection.java: Removed.
	* java/net/JarURLConnection.java: Removed.

2006-05-13  Tom Tromey  <tromey@redhat.com>

	* include/java-interp.h (_Jv_InterpMethod::dump_object): Removed
	declaration.

2006-05-12  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* java/util/logging/LogManager.java: Removed.
	* java/util/logging/Logger.java (resetLogger): New method, from
	Classpath.
	* java/io/RandomAccessFile.java: Removed.
	* gnu/java/nio/channels/FileChannelImpl.java (create): New
	method.
	(FileChannelImpl): Now private.
	* java/io/FileInputStream.java: Removed.
	* java/io/FileOutputStream.java: Removed.
	* java/security/AccessControlContext.java: Removed.
	* java/lang/ThreadLocal.java: Removed.
	* java/lang/InheritableThreadLocal.java: Removed.
	* java/lang/Thread.java (locals): New field.
	(getThreadLocals): New method.
	* java/lang/natThread.cc (finish_): Clear 'locals'.

2006-05-11  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/gcj/runtime/NameFinder.java (lookup): If exec'ing addr2line
	fails, don't try again.
	(use_addr2line): Field no longer final.

2006-05-11  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/gcj/runtime/NameFinder.java (blacklist): New static field.
	(lookup): If addr2line fails to find an address, flag the binary as
	having no debug info and avoid calling addr2line on it again.

2006-05-11  David Daney  <ddaney@avtrex.com>

	* testsuite/libjava.compile/PR20418.java: New.
	* testsuite/libjava.compile/PR20418.xfail: New.

2006-05-11  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/natSharedLibLoader.cc (init): Remove debugging
	line.

2006-05-10  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc: Add comments.

2006-05-09  Andrew Haley  <aph@redhat.com>

	* prims.cc (_Jv_soleIndirectCompiledEngine): New.
	* include/execution.h (Jv_CompiledEngine::do_allocate_static_fields):
	Remove body.
	(_Jv_CompiledEngine::allocate_field_initializers): New.
	(_Jv_CompiledEngine::_Jv_CompiledEngine): Initialize
	allocate_field_initializers.
	(class _Jv_IndirectCompiledClass): New.
	(struct _Jv_IndirectCompiledEngine): New.
	* java/lang/Class.h: (IndirectCompiledEngine): New.
	* java/lang/natClassLoader.cc (_Jv_NewClassFromInitializer): Set
	engine to _Jv_soleIndirectCompiledEngine
	* link.cc (ensure_fields_laid_out): Call
	engine->allocate_field_initializers().

2006-05-06  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Add check for
	HP-UX and add appropriate extension for shared libraries, sl.
	(gcj_jni_test_one): Likewise.

	* testsuite/lib/libjava.exp (libjava_find_lib): Add sl to the shared
	library extensions.

2006-05-05  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27294:
	* java/lang/natVMClassLoader.cc (defineClass): Throw
	VirtualMachineError if no interpreter configured.

2006-05-03  Andrew Haley  <aph@redhat.com>

	PR libgcj/27352
	* java/lang/Class.java (getClassLoader(Class)): New.
	forName(String, Class): New.
	* java/lang/natClass.cc (getClassLoader(Class)): New.

2006-05-02  Andrew Haley  <aph@redhat.com>

	* prims.cc (_Jv_NewMultiArray): Check for phantom class.

2006-05-04  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26861:
	* interpret.cc (run) <insn_getfield>: Removed 0xffff check.
	<insn_putfield>: Likewise.
	(NULLCHECK): Define unconditionally.
	* link.cc (ensure_class_linked): Removed dead code.

2006-05-04  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (JV_STATE_LOADING): Added comment.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natSystemClassLoader.cc.
	* gnu/gcj/runtime/natSystemClassLoader.cc: New file.
	* gnu/gcj/runtime/SystemClassLoader.java (nativeClasses):
	New field.
	(loadedClasses): Removed.
	(findClass): Declare.
	(addClass): Add to nativeClasses, not loadedClasses.

2006-05-04  Andrew Haley  <aph@redhat.com>

	PR java/26858
	* testsuite/libjava.lang/PR26858.xfail: Delete.

2006-05-02  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/lib/libjava.exp (test_libjava): Test bytecode->native
	-findirect-dispatch compilation.

2006-05-01  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac: Simplify the mmap check a bit more.
	* configure: Rebuilt.
	* include/config.h.in: Likewise.

2006-05-01  Roger Sayle  <roger@eyesopen.com>
	    Andrew Haley  <aph@redhat.com>

	* boehm.cc (_Jv_InitGC): Check both HAVE_DLFCN_H and HAVE_DLADDR
	before calling GC_register_has_static_roots_callback.
	(_Jv_RegisterLibForGc): Likewise, test for both HAVE_DLFCN_H and
	HAVE_DLADDR before calling dladdr.

2006-04-28  Bryce McKinlay  <mckinlay@redhat.com>

	* link.cc (_Jv_Linker::resolve_pool_entry): Don't pass vtable_index
	to resolve_method.
	* interpret.cc (insn_invokevirtual): Use method->index, not
	vtable_index. Check accflag FINAL to determine finals. Only do
	explicit null check if calling a final method. Use
	throw_null_pointer_exception.
	(invokevirtual_resolved): Likewise.
	(null_pointer_exc): Remove static field.
	(throw_null_pointer_exception): Always define. Throw a new
	NullPointerException every time.
	* include/java-interp.h (_Jv_ResolvedMethod): Remove vtable_index
	field.
	* include/execution.h (resolve_method): Remove vtable_index argument.

2006-04-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac: Add an additional checks for dladdr and dlopen on dld.
	* configure: Rebuilt.

2006-04-25  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/natSharedLibLoader.cc: Include gc.h later.
	Include platform.h.  Set GC_DEBUG before including gc.h, if
	needed.

2006-04-25  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc: Don't include link.h or dladdr.h.
	* boehm.cc: Don't include link.h.
	(_Jv_RegisterLibForGc): Cast away const when calling dladdr().

2006-04-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClass.cc (_Jv_getInterfaceMethod): Skip <clinit>.

2006-04-21  Andrew Haley  <aph@redhat.com>

	* include/execution.h (struct _Jv_CompiledEngine): Define for
	compiled classes.
	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Call
	_Jv_RegisterLibForGc.
	(_Jv_RegisterClasses_Counted): Likewise.
	(_Jv_NewClassFromInitializer): New.
	(_Jv_RegisterNewClasses): New.
	* sources.am: Regenerate.
	* boehm.cc (_Jv_GC_has_static_roots): new.
	(_Jv_InitGC): Call GC_register_has_static_roots_callback.
	(filename_node, find_file, _Jv_print_gc_store, new_node,
	_Jv_GC_has_static_roots, _Jv_RegisterLibForGc): New.
	* scripts/makemake.tcl: Add -fno-indirect-classes.
	* Makefile.in: Regenerate.
	* link.cc (resolve_pool_entry): Allocate constant pool.
	Allocate fields.
	
2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac: Weaken the check for MMAP.
	* configure: Rebuilt.
	* include/config.h.in: Likewise.

2006-04-20  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/27170
	* gnu/gcj/runtime/natSharedLibLoader.cc: Include gc.h to override
	dlopen(). From Anthony Green.

2006-04-20  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21941:
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (send): Throw
	UnknownHostException if needed.
	* gnu/java/net/natPlainSocketImplPosix.cc (connect): Throw
	UnknownHostException if needed.

2006-04-19  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (CLEANFILES): Removed all_java_filelist_files,
	all_java_deps_files.

2006-04-19  Tom Tromey  <tromey@redhat.com>

	* gnu/java/nio/channels/natFileChannelPosix.cc (write): Properly
	handle EINTR.

2006-04-17  Tom Tromey  <tromey@redhat.com>

	PR libgcj/27171:
	* testsuite/libjava.lang/pr27171.java: New file.
	* testsuite/libjava.lang/pr27171.out: New file.
	* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Return
	true if we've seen a high surrogate.
	(write): Handle high surrogates at the end of the stream.
	Properly emit isolated low surrogates.

2006-04-17  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.lang/stringconst2.java: Print a stack trace in case
	of failure.

2006-04-13  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26522:
	* Makefile.in: Rebuilt.
	* Makefile.am (libsubdir): New variable.

2006-04-12  NAKATA Maho  <maho@FreeBSD.org> 

	PR libgcj/23829
	* configure.ac: Link against -lpthread rather than -lc_r on
	FreeBSD 5 and above.
	* configure: Regenerate.

2006-04-11  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/gcj/runtime/SystemClassLoader.java (addClass): Get the value
	of package-private field "loadedClasses" using reflection.
	* java/lang/VMCompiler.java (compileClass): Remove unreachable catch
	block.

2006-04-10  Matthias Klose  <doko@debian.org>

	* testsuite/lib/libjava.exp (libjava_init): Recognize multilib
	directory names containing underscores.

2006-04-10  Andrew Haley  <aph@redhat.com>

	* include/x86_64-signal.h (HANDLE_DIVIDE_OVERFLOW): New.
	(SIGNAL_HANDLER): Mark arg as unused.
	* configure.host (x86_64-* DIVIDESPEC): Use
	fno-use-divide-subroutine.

2006-04-07  Andrew Haley  <aph@redhat.com>

	* java/net/InetAddress.java: Throw an UnknownHostException if
	lookup fails.

2006-04-05  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26625:
	* Makefile.in: Rebuilt.
	* Makefile.am (libgcj-$(gcc_version).jar): Depend on
	classpath/lib/compile-classes.

2006-04-05  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* configure.host: Add -fno-omit-frame-pointer to libgcj_flags for
	MinGW since EBP is used for backtracking through call frames on this
	platform.

2006-04-05  Archit Shah  <ashah@redhat.com>

	PR java/25414
	* gnu/java/rmi/rmic/CompilerProcess.java (computeTypicalArguments):
	Add classpath argument.
	* gnu/java/rmi/rmic/Compile_gcj.java (computeArguments): Adjust
	caller.
	* gnu/java/rmi/rmic/Compile_jikes.java (computeArguments): Likewise.
	* gnu/java/rmi/rmic/Compile_kjc.java (computeArguments): Likewise.
	* gnu/java/rmi/rmic/Compiler.java (getClasspath, setClasspath): New.
	* gnu/java/rmi/rmic/RMIC.java: Set classpath for compiler, call
	mkdirs for destination directory, correct handling of superclasses
	and interfaces of the remote class, correct handling of exceptions
	declared by remote methods.

2006-04-04  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26990:
	* prims.cc (_Jv_RunMain): Use exitNoChecksAccessor.
	* gnu/java/lang/natMainThread.cc (call_main): Use
	exitNoChecksAccessor.
	* testsuite/libjava.lang/pr26990.out: New file.
	* testsuite/libjava.lang/pr26990.java: New file.
	* java/lang/Runtime.java (exitNoChecks): New method.
	(exitNoChecksAccessor): Likewise.
	(exit): Call exitNoChecks.

2006-04-03  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ZIP): Removed.
	(libgcj-$(gcc_version).jar): Use $(JAR).
	(src.zip): Likewise.
	* configure: Rebuilt.
	* configure.ac: Check for jar.  Removed code to set ZIP.

2006-04-03  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/Float_2.java: New file.

2006-03-31  Andreas Tobler  <a.tobler@schweiz.ch>

	* posix.cc (_Jv_platform_nanotime): Declare id with clockid_t.

2006-03-30  Tom Tromey  <tromey@redhat.com>

	PR java/26042:
	* testsuite/libjava.compile/pr26042.java: New file.

2006-03-29  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl: Scan classpath/external/relaxngDatatype.

2006-03-29  Tom Tromey  <tromey@redhat.com>

	PR java/26390:
	* testsuite/libjava.lang/pr26390.out: New file.
	* testsuite/libjava.lang/pr26390.java: New file.
	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl: Compile gnu/java/awt/peer/swing.

2006-03-29  Tom Tromey  <tromey@redhat.com>

	* posix.cc (_Jv_platform_nanotime): Look for CLOCK_MONOTONIC and
	CLOCK_HIGHRES.

2006-03-28  Anthony Balkissoon  <abalkiss@redhat.com>

	* scripts/unicode-muncher.pl: Removed this file.
	* scripts/MakeCharTables.java: Likewise.
	* scripts/unicode-to-chartables.pl: New file.
	* java/lang/natCharacter.cc: 
	(UNASSIGNED_TYPE): New field.
	(UNASSIGNED_DIGIT): Likewise.
	(UNASSIGNED_DIRECTION): Likewise.
	(UNASSIGNED_NUMERIC_VALUE): Likewise.
	(PRIVATE_TYPE): Likewise.
	(PRIVATE_DIRECTION): Likewise.
	(readCodePoint): New method.
	(getType(jint)): Likewise.
	(toLowerCase(jint)): Likewise.
	(toUpperCase(jint)): Likewise.
	(toTitleCase(jint)): Likewise.
	(digit(jint, jint)): Likewise.
	(getNumericValue(jint)): Likewise.
	(getDirectionality(jint)): Likewise.
	(readChar),
	(getType(jchar)),
	(toLowerCase(jchar)),
	(toUpperCase(jchar)),
	(toTitleCase(jchar)),
	(digit(jchar, jint)),
	(getNumericValue(jchar)),
	(getDirectionality(jchar)): Changed references from data to data[0], 
	blocks to blocks[0], direction to direction[0], numValue to 
	numValue[0], upper to upper[0], lower to lower[0], and shift to 
	shift[0] to reflect the new structures in java-chartables.h.	
	* java/lang/Character.java:
	(readCodePoint): Declared new native method.
	(getType(int)): Likewise.
	(toLowerCase(int)): Likewise.
	(toUpperCase(int)): Likewise.
	(toTitleCase(int)): Likewise.
	(digit(int, int)): Likewise.
	(getNumericValue(int)): Likewise.
	(getDirectionality(int)): Likewise.
	(isLowerCase(int)): New method.
	(isUpperCase(int)): Likewise.
	(itTitleCase(int)): Likewise.
	(isDigit(int)): Likewise.
	(isDefined(int)): Likewise.
	(isLetter(int)): Likewise.
	(isLetterOrDigit(int)): Likewise.
	(isJavaIdentifierStart(int)): Likewise.
	(isJavaIdentifierPart(int)): Likewise.
	(isUnicodeIdentifierStart(int)): Likewise.
	(isUnicodeIdentifierPart(int)): Likewise.
	(isIdentifierIgnorable(int)): Likewise.
	(isSpaceChar(int)): Likewise.
	(isWhitespace(int)): Likewise.
	(isISOControl(int)): Likewise.
	(isMirrored(int)): Likewise.
	* include/java-chartables.h: Generated from 
	scripts/unicode-to-chartables.h.

2006-03-24  David Daney  <ddaney@avtrex.com)

	* testsuite/libjava.lang/PR26858.java: New test.
	* testsuite/libjava.lang/PR26858.out: Ditto.
	* testsuite/libjava.lang/PR26858.xfail: Ditto.

2006-03-16  Kaz Kojima  <kkojima@gcc.gnu.org>

	* include/sh-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
	
2006-03-15  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.xfail: Removed
	13.1-runtime-method-5.

2006-03-15  Tom Tromey  <tromey@redhat.com>

	PR java/26638:
	* link.cc (get_interfaces): Skip <clinit>.
	(append_partial_itable): Likewise.

2006-03-10  Tom Tromey  <tromey@redhat.com>

	PR libgcj/25713:
	* java/util/zip/Deflater.java (flush): New method.
	* sources.am, Makefile.in: Rebuilt.
	* java/util/zip/DeflaterOutputStream.java: Removed.
	* java/util/zip/InflaterInputStream.java: Likewise.
	* java/util/zip/GZIPInputStream.java: Likewise.
	* java/util/zip/GZIPOutputStream.java: Likewise.

2006-03-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* include/powerpc-signal.h: Fix typo in comment.

2006-03-09  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath 0.90
	* scripts/makemake.tcl: Set gnu/java/awt/peer/swing to ignore.
	* gnu/classpath/jdwp/VMFrame.java (SIZE): New constant.
	* java/lang/VMCompiler.java: Use gnu.java.security.hash.MD5.
	* java/lang/Math.java: New override file.
	* java/lang/Character.java: Merged from Classpath.
	(start, end): Now 'int's.
	(canonicalName): New field.
	(CANONICAL_NAME, NO_SPACES_NAME, CONSTANT_NAME): New constants.
	(UnicodeBlock): Added argument.
	(of): New overload.
	(forName): New method.
	Updated unicode blocks.
	(sets): Updated.
	* sources.am: Regenerated.
	* Makefile.in: Likewise.

2006-03-09  Tom Tromey  <tromey@redhat.com>

	PR libgcj/23495:
	* java/lang/natString.cc (_Jv_NewString): Use memcpy.
	(equals): Use memcmp.
	(contentEquals): Likewise.
	(getChars): Use memcpy.
	(toCharArray): Likewise.
	(regionMatches): Use memcmp.
	(regionMatches): Likewise.
	(startsWith): Likewise.
	(concat): Use memcpy.
	(valueOf): Likewise.

2006-03-09  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac (HAVE_CLOCK_GETTIME): Put -lrt in THREADLIBS as
	well.

2006-03-09  Tom Tromey  <tromey@redhat.com>

	PR libgcj/24461:
	* java/util/zip/InflaterInputStream.java (fill): Throw exception
	if stream is truncated.

2006-03-09  Tom Tromey  <tromey@redhat.com>

	* win32.cc (_Jv_platform_nanotime): New function.
	* include/win32.h (_Jv_platform_nanotime): Declare.
	* posix.cc (_Jv_platform_nanotime): New function.
	* include/posix.h (_Jv_platform_nanotime): Declare.
	* java/lang/natSystem.cc (nanoTime): New method.
	* java/lang/System.java (nanoTime): Declare.
	* include/config.h.in, configure: Rebuilt.
	* configure.ac: Check for clock_gettime.

2006-03-08  David Daney  <ddaney@avtrex.com>

	* configure.ac (LD): Add AC_CHECK_TOOL for ld.
	(LD_START_STATIC_SPEC): New AC_SUBST, set with ld check.
	(LD_FINISH_STATIC_SPEC): Ditto
	* configure: Regenerated.
	* libgcj.spec.in: Wrap -lgcj in LD_START_STATIC_SPEC and
	LD_FINISH_STATIC_SPEC.
	
2006-03-07  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26103:
	* java/lang/ClassLoader.java (loadClass): Don't throw
	StringIndexOutOfBoundsException if name is empty.
	* java/lang/natClassLoader.cc (loadClassFromSig): Throw exception
	if class not found.

2006-03-07  David Daney  <ddaney@avtrex.com>

	* include/java-interp.h: Removed extern "C" around #include <ffi.h>.

2006-03-07  David Daney  <ddaney@avtrex.com>

	* link.cc: Include ffi.h if USE_LIBFFI defined.
	
2006-03-03  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (do_allocate_static_fields): Added comment.

2006-03-01  Tom Tromey  <tromey@redhat.com>

	PR java/24321:
	* testsuite/libjava.lang/pr24321.java: New file.
	* testsuite/libjava.lang/pr24321.out: New file.
	* java/lang/natClass.cc (isInstance): Don't initialize class.
	(isAssignableFrom): Likewise.

2006-02-27  Jakub Jelinek  <jakub@redhat.com>

	PR other/26208
	* exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
	of _Unwind_GetIP.
	* include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
	(HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
	to throw.
	* include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.
	* include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
	macro.

2006-02-23  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/j2d/IntegerGraphicsState.java (getClip): Clone clip
	before returning, handle null clip.
	(getClipBounds): Handle null clip.
	* gnu/awt/j2d/Graphics2DImpl.java (clipRect): Handle null clip.
	* gnu/awt/xlib/XCanvasPeer.java (): 
	(getLocationOnScreen): Implement.
	* classpath/gnu/java/awt/peer/GLightweightPeer.java
	(repaint): Merged with Classpath.
	* classpath/java/awt/Graphics.java (hitClip): Merged with
	Classpath.

2006-02-21  Robert Schuster  <robertschuster@fsfe.org>

	* link.cc: Added variant of create_error_method that
	will not complain about unused parameter if compiled with
	USE_LIBFFI not being defined.
	(_Jv_Linker::find_field_helper): Fixed indentation.
	(_Jv_Linker::create_error_method): Fixed indentation.
	(_Jv_Linker::link_symbol_table): Fixed indentation.

2006-02-16  Andrew Haley  <aph@redhat.com>

	* stacktrace.cc (GetStackTraceElements): Call
	gnu::gcj::runtime::NameFinder::removeUnknown() to determine if
	non-Java frames should be removed from a printed stack trace.
	Pass methodName to getLineNumberForFrame().
	(getLineNumberForFrame): Set method_name from info.dli_sname.
	* gnu/gcj/runtime/NameFinder.java (removeUnknown): New method.
	(remove_unknown): New variable.
	* include/java-stack.h (_Jv_StackTrace::getLineNumberForFrame):
	Add methodName arg.

2006-02-15  Matthias Klose  <doko@debian.org>

	* gnu/java/nio/charset, gnu/java/net/protocol/file,
	gnu/regexp: Remove empty directories.

2006-02-09  Bryce McKinlay  <mckinlay@redhat.com>

	* java/lang/Class.h (_Jv_IDispatchTable): Make it a struct. Put 
	'itable' inline, instead of as a pointer.
	(java::lang::Class): Put 'idt' in anonymous union with 'ioffsets'.
	* link.cc (null_idt): Update definition.
	(_Jv_Linker::prepare_constant_time_tables): Allocate klass->idt
	as a single struct. Use _Jv_AllocBytes, not _Jv_AllocRawObj.
	(_Jv_Linker::generate_itable): Update to use 'ioffsets'.
	(_Jv_Linker::find_iindex): Likewise. Update comment.
	* java/lang/natClass.cc	(_Jv_LookupInterfaceMethodIdx): Update for
	_Jv_IDispatchTable change.
	(_Jv_IsAssignableFrom): Likewise.

2006-02-08  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/25187:
	* gnu/gcj/io/natSimpleSHSStream.cc
	(gnu::gcj::io::SimpleSHSStream::shsFinal): Remove bogus cast.
	* interpret.cc (_Jv_InterpMethod::run): Simplify arguments to
	_Jv_InterpFrame(). 
	* boehm.cc: #undef some autoconf macros before including gc-config.h.
	(_Jv_MarkObject): Don't mark the class, it is reachable via the vtable.
	(_Jv_MarkArray): Likewise.
	* java/lang/ref/natReference.cc (java::lang::ref::Reference::create):
	Simplify _Jv_GCRegisterDisappearingLink() call.
	* java/lang/Class.h (getComponentType): Use element_type.
	(element_type): New field declaration, as a union with "methods".
	* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Use "element_type".
	* java/net/natVMNetworkInterfacePosix.cc
	(java::net::VMNetworkInterface::getInterfaces): Add "int" cast to
	avoid sign comparison warning.	
	* include/java-interp.h (_Jv_InterpFrame): Take thread as second
	argument, not parent call frame.
	* include/x86_64-signal.h (MAKE_THROW_FRAME): Use "gregs" directly,
	without a cast.
	(restore_rt): Declare with hidden visibility, not "static".
	* posix.cc (_Jv_platform_initProperties): Make "tmpdir" a string
	constant.
	* jni.cc (_Jv_JNI_DestroyJavaVM): Use a union to avoid strict alias
	warning.

2006-02-08  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/26113:
	* link.cc (_Jv_Linker::print_class_loaded): Declare string constants
	as "const char *".
	* verify.cc (verify_fail): Likewise.
	* gnu/classpath/natSystemProperties.cc (file_encoding): Likewise.
	* interpret.cc (throw_internal_error, throw_class_format_error):
	Likewise.
	* gcj/javaprims.h (_Jv_hashUtf8String, _Jv_Utf8Const::space_needed, 
	_Jv_Utf8Const::init, _Jv_makeUtf8Const): Likewise.
	* java/lang/Class.h (_Jv_InitPrimClass): Likewise.
	* include/jvm.h (_Jv_strLengthUtf8, _Jv_makeUtf8Const): Likewise.
	* defineclass.cc (throw_internal_error, throw_no_class_def_found_error,
	is_attribute_name): Likewise.
	* prims.cc (_Jv_strLengthUtf8, _Jv_hashUtf8String, _Jv_Utf8Const::init,
	_Jv_makeUtf8Const, _Jv_InitPrimClass): Likewise.

2006-02-08  Tom Tromey  <tromey@redhat.com>

	PR libgcj/26063, PR libgcj/17978, PR libgcj/10598:
	* defineclass.cc (parse): Use _Jv_AllocRawObj.
	(read_constpool): Likewise.
	(read_one_code_attribute): Use internal function name.
	(handleConstantPool): Use _Jv_AllocRawObj.
	(handleInterfacesBegin): Likewise.
	(handleFieldsBegin): Likewise.
	(handleMethodsBegin): Likewise.
	(handleCodeAttribute): Likewise.
	(handleMethodsEnd): Likewise.
	* include/jvm.h (new_vtable): Use _Jv_AllocRawObj.
	* interpret.cc (do_allocate_static_fields): Use _Jv_AllocRawObj.
	Allocate reference fields separately.
	* link.cc (prepare_constant_time_tables): Use _Jv_AllocRawObj.
	(add_miranda_methods): Likewise.
	(generate_itable): Use _Jv_AllocBytes.
	(find_iindex): Likewise.
	(struct method_closure): New structure.
	(create_error_method): Use struct method_closure; allocate with
	_Jv_AllocBytes.
	(ensure_fields_laid_out): Separate reference fields from
	non-reference fields.
	* boehm.cc (_Jv_MarkObj): Mark vtable.  Only mark direct fields
	of Class.
	(_Jv_MarkArray): Mark vtable.
	(_Jv_AllocRawObj): Don't allocate objects of size 0.
	* include/execution.h
	(_Jv_ExecutionEngine::allocate_static_fields): Added 'int'
	parameter.
	(struct _Jv_CompiledEngine): Updated.
	(class _Jv_InterpreterEngine): Updated.

2006-02-08  Tom Tromey  <tromey@redhat.com>

	PR java/22578:
	* gcj/javaprims.h: Updated.
	* sources.am, Makefile.in: Rebuilt.
	* java/lang/natDouble.cc (doubleToLongBits): Moved to VMDouble.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	(toString): Likewise.
	(parseDouble): Likewise.
	* java/lang/natFloat.cc (floatToIntBits): Moved to VMFloat.
	(floatToRawIntBits): Likewise.
	(intBitsToFloat): Likewise.
	* java/lang/VMDouble.java: New file.
	* java/lang/VMFloat.java: New file.
	* java/lang/Float.java, java/lang/Double.java: Removed.

2006-02-06  Tom Tromey  <tromey@redhat.com>

	* gij.cc (version): Use 2006.
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Use 2006.
	* gnu/gcj/convert/Convert.java (version): Use 2006.
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Use 2006.

2006-02-04  Tom Tromey  <tromey@redhat.com>

	PR java/25676:
	* testsuite/libjava.lang/pr25676.out: New file.
	* testsuite/libjava.lang/pr25676.java: New file.

2006-02-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (src.zip): Update src.zip file search to look in
	classpath directory.
	* Makefile.in: Regenerate.

2006-02-03  Robert Schuster  <robertschuster@fsfe.org>

	* link.cc:
	(_Jv_Linker::create_error_method): Added missing (void *) cast.

2006-02-03  Robert Schuster  <robertschuster@fsfe.org>

	* include/jvm.h:
	(_Jv_Linker::create_error_method): New method declaration.
	* link.cc:
	(_Jv_Linker::create_error_method): New method.
	(_Jv_Linker::link_symbol_table): Use new method above.

2006-02-01  Robert Schuster  <robertschuster@fsfe.org>

	* link.cc:
	(_Jv_Linker::find_field_helper): Added checks.
	(_Jv_Linker::find_field): Use exception swallowing class resolution
	and added early return.
	(_Jv_ThrowNoClassDefFoundErrorTrampoline): New function.
	(_Jv_Linker::link_symbol_table):  Use exception swallowing class
	resolution, added ffi_closure installation routine, use
	_Jv_ThrowNoClassDefFoundError for missing static method.
	(_Jv_Linker::ensure_class_linked): Added string check which does
	not trigger class resolution.
	* java/lang/natClassLoader.cc:
	(_Jv_FindClassNoException): New method.
	* java/lang/Class.h:
	(_Jv_FindClassNoException): New method declaration.
	* include/jvm.h:
	(_Jv_FindClassNoException): New method declaration.
	(_Jv_FindClassFromSignatureNoException): New method declaration.
	* prims.cc:
	(_Jv_FindClassFromSignatureNoException): New method.
	* gcj/javaprims.h:
	(_Jv_equalsUtf8Classname): New method declaration.
	(_Jv_isPrimitiveOrDerived): Dito.
	* prims.cc:
	(_Jv_equalsUtf8Classnames): New method.
	(_Jv_isPrimitiveOrDerived): New method.
	* verify.cc:
	(ref_intersection::equals): Use new classname comparison method.
	(type::compatible): Use new classname comparison method. Added
	check whether LHS' type is java.lang.Object .
	(type::resolve): Added new optional debug message and simplified
	if-expression.
	(type::to_array): Added codepath that generates an array type
	without resolving the element type.

2006-01-31  Mark Wielaard  <mark@klomp.org>

	* NEWS: Add 4.1 updates.

2006-01-30  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (insn_index): New declaration.
	(num_insn_slots): New private variable.
	(get_line_table): New declaration.
	* interpret.cc (insn_index): New function.
	(get_line_table): New function.

2006-01-24  Archit Shah  <ashah@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* prims.cc (next_property_value): Never return NULL.
	(process_gcj_properties): Copy 'props' before using it.

2006-01-23  Keith Seitz  <keiths@redhat.com>

	* java/lang/Class.h (_Jv_FindInterpreterMethod): Add new declaration.
	* java/lang/natClass.cc (_Jv_FindInterpreterMethod): New function.

2006-01-23  David Daney  <ddaney@avtrex.com>

	* configure.host (disable_dladdr): Remove variable and its
	documentation.
	* configure.ac: Do not test for disable_dladdr.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.

2006-01-18  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_AttachCurrentThread): Return environment if it
	already exists.

2006-01-18  Keith Seitz  <keiths@redhat.com>

	* include/java-interp.h (_Jv_CompileMethod): Add declaration.
	(class _Jv_InterpMethod): Add _Jv_CompileMethod as a friend.
	* interpret.cc (_Jv_CompileMethod): New function.
	(run): 	Massage code to allow for NULL args.
	Update comments to explain NULL args.
	Return if compiling the method and args is NULL.

2006-01-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/25840
	* include/x86_64-signal.h (RESTORE2): Add ".text\n".

2006-01-17  Tom Tromey  <tromey@redhat.com>

	PR classpath/20198:
	* java/net/URLClassLoader.java (FileURLLoader): Added argument.
	(JarURLLoader): Likewise.
	(addURLImpl): Canonicalize file URLs.

2006-01-16  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath 0.20
	* Makefile.am (AM_CPPFLAGS): Add classpath/include.
	* java/nio/charset/spi/CharsetProvider.java: New override file.
	* java/security/Security.java: Likewise.
	* sources.am: Regenerated.
	* Makefile.in: Likewise.

2006-01-17  Jakub Jelinek  <jakub@redhat.com>

	* configure.ac (dbexecdir): New substituted var.
	* configure: Rebuilt.
	* Makefile.am (dbexecdir): Remove.
	* Makefile.in: Rebuilt.

2006-01-13  Tom Tromey  <tromey@redhat.com>

	* gnu/regexp/MessagesBundle_fr.properties: Removed.
	* gnu/regexp/MessagesBundle.properties: Removed.

2006-01-13  Tom Tromey  <tromey@redhat.com>

	* java/security/classpath.security: Removed.
	* Makefile.in: Rebuilt.
	* Makefile.am (install-data-local): Don't install
	classpath.security.

2006-01-08  Chris Burdess  <dog@gnu.org>

	* java/lang/Character.java (toChars,toCodePoint): Correct these
	  methods to use algorithms from Unicode specification.

2006-01-08  Tom Tromey  <tromey@redhat.com>

	* java/lang/StringBuilder.java (appendCodePoint): New method.
	(insert): New overloads.
	* java/lang/StringBuffer.java (StringBuffer): New constructor.
	(charAt): Remerged javadoc.
	(codePointAt, codePointBefore): New methods.
	(appendCodePoint): New method.
	(append): New overloads.
	(insert): Likewise.
	(trimToSize, codePointCount, offsetByCodePoints): New methods.
	* java/lang/Float.java (SIZE): New field.
	(valueOf): New method.
	* java/lang/natDouble.cc (initIDs): Removed.
	* java/lang/Double.java (static initializer): Removed.
	(SIZE): New field.
	(valueOf): New method.
	(initIDs): Removed.

2006-01-07  Jakub Jelinek  <jakub@redhat.com>

	PR libgcj/24940
	* shlibpath.m4: Replace $SED with sed.
	* configure: Rebuilt.

2006-01-06  Tom Tromey  <tromey@redhat.com>

	* java/lang/Character.java (SIZE, MAX_CACHE, charCache,
	MIN_SURROGATE, MAX_SURROGATE): New fields from Classpath.
	(MIN_HIGH_SURROGATE, MAX_HIGH_SURROGATE, MIN_LOW_SURROGATE,
	MAX_LOW_SURROGATE): Javadoc fixes.
	(valueOf, reverseBytes, isHighSurrogate, isLowSurrogate,
	isSurrogatePair, toCodePoint, codePointAt, codePointBefore): New
	methods from Classpath.
	* java/lang/String.java (codePointAt, codePointBefore,
	codePointCount, contains, replace): New methods from Classpath.
	(contentEquals): Declare.
	* java/lang/natString.cc (contentEquals): New method.

2005-12-26  Anthony Green  <green@redhat.com>

	* gnu/java/nio/SocketChannelImpl.java (read): Compute the right amount
	of data to read (dst.remaining()).
	* gnu/java/nio/DatagramChannelImpl.java (receive): Ditto.

2005-11-11  Mark Wielaard  <mark@klomp.org>

	Reported by john.zigman@anu.edu.au as bug #24608.
	* gnu/java/nio/SocketChannelImpl.java (read): Put readBytes in
	destination ByteBuffer when it doesn't have an array instead of len
	bytes.

2006-01-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/natThread.cc (finish_): Don't clear 'group'.
	* sources.am, Makefile.in: Rebuilt.
	* java/lang/Runtime.java (exit): Merged with Classpath.
	(runShutdownHooks): New method from Classpath.
	* java/io/File.java (deleteOnExit): Use DeleteFileHelper, not
	FileDeleter.
	* gnu/gcj/runtime/FileDeleter.java: Removed.
	* java/lang/natRuntime.cc (runFinalizationForExit): New method.
	(exitInternal): Don't run finalizers or delete files.

2006-01-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (reap): Ignore unknown children.

2006-01-04  Krister Walfridsson  <cato@df.lth.se>

	* posix-threads.cc (_Jv_InitThreads): #ifdef PTHREAD_STACK_MIN

2006-01-04  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Updated.
	* java/lang/natClassLoader.cc (_Jv_CopyClassesToSystemLoader):
	Changed argument type.  Use SystemClassLoader.addClass.
	* gnu/gcj/runtime/SystemClassLoader.java (addClass): New method.

2005-12-24  David Daney <ddaney@avtrex.com>
	    Tom Tromey  <tromey@redhat.com>

	PR libgcj/9715, PR libgcj/19132:
	* java/nio/charset/Charset.java (charsetForName): Try default
	provider first.
	(availableCharsets): Re-merged.
	(providers2): Likewise.
	(defaultCharset): Likewise.
	* sources.am, Makefile.in: Rebuilt.
	* gnu/java/nio/charset/Provider.java: Removed.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter(OutputStream,Charset)): New constructor.
	(OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise.
	* java/io/InputStreamReader.java
	(InputStreamReader(InputStream,CharsetDecoder)): New constructor.
	(InputStreamReader(InputStream,Charset)): Likewise.
	* gnu/gcj/convert/BytesToUnicode.java (getDecoder): Try a
	BytesToCharsetAdaptor.
	* gnu/gcj/convert/UnicodeToBytes.java (getEncoder): Try a
	CharsetToBytesAdaptor.
	* gnu/gcj/convert/CharsetToBytesAdaptor.java: New file.
	* gnu/gcj/convert/BytesToCharsetAdaptor.java: New file.
	* mauve-libgcj: Remove getEncoding exclusion.

2005-12-28  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainSocketImplWin32.cc (connect): Same 
	as previous patch, but for win32.

2005-12-28  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (connect): Record
	address and port before attempting anything.

2005-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* sysdep/pa/locks.h (compare_and_swap): Add ldcw semaphore to make
	operation atomic.

2005-12-22  Andrew Haley  <aph@redhat.com>

	PR java/25535
	* testsuite/libjava.lang/PR25535.java: New test.

2005-12-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Don't
	reference NUM_OBJECT_METHODS.
	* include/jvm.h (NUM_OBJECT_METHODS): Removed.

2005-12-18  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (getLocalAddress): 
	New helper function.
	(setOption): Use getLocalAddress.  Don't downcast value to
	InetAddress.
	(getOption): Use getLocalAddress.

2005-12-16  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (getPackage): Get package from
	VMClassLoader if needed.

2005-12-16  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.xfail
	(8.5.2-accessible-static-member-usage-3): Removed.

2005-12-15  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.compile/rh175833.java: New file.
	* testsuite/libjava.compile/pr25429.java: New file.

2005-12-15  Alan Modra  <amodra@bigpond.net.au>

	* testsuite/lib/libjava.exp: Revert 2005-12-01.
	* testsuite/libjava.lang/Array_3.xfail: Delete.

2005-12-14  Andrew Haley  <aph@redhat.com>

	* gnu/java/rmi/rmic/CompilerProcess.java: Use a new thread to
	handle stdout from the child process.

2005-12-14  Tom Tromey  <tromey@redhat.com>

	PR classpath/25389:
	* java/io/File.java (File): Throw IllegalArgumentException if URI is
	non-hierarchical.

2005-12-12  Andrew Haley  <aph@redhat.com>

	* java/lang/VMCompiler.java: Directly generate a new instance of
	gnu.java.security.provider.MD5.

2005-12-08  Andrew Haley  <aph@redhat.com>

	PR libgcj/25265
	* java/lang/Object.h (throwNoSuchMethodError): New method.
	* java/lang/Object.java (throwNoSuchMethodError): New method.
	* include/jvm.h (_Jv_ThrowNoSuchFieldError): Declare.
	* link.cc (_Jv_ThrowNoSuchFieldError): New.
	(link_symbol_table): Don't throw a NoSuchFieldError if a field is
	missing.  Instead, set the otable entry to zero.
	(link_symbol_table): If we don't find a nonstatic method, insert
	the vtable offset of Object.throwNoSuchMethodError() into the
	otable.

2005-12-05  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.compile/rh174912.java: New file.

2005-12-01  Geoffrey Keating  <geoffk@apple.com>

	* testsuite/lib/libjava.exp (test_libjava_from_javac): Support
	xfail-byte-exec.
	* testsuite/libjava.lang/Array_3.xfail: New file.

2005-12-01  Alan Modra  <amodra@bigpond.net.au>

	* stacktrace.cc (UnwindTraceFn): Use UNWRAP_FUNCTION_DESCRIPTOR
	to compare _Jv_InterpMethod::run against current func.

2005-11-30  Andrew Haley  <aph@redhat.com>

	* classpath/lib/Makefile.am (resources): Use `cp -p'.
	Remove `@' from start of line.

2005-11-28  Tom Tromey  <tromey@redhat.com>

	PR java/18278:
	* testsuite/libjava.jni/pr18278.out: New file.
	* testsuite/libjava.jni/pr18278.c: New file.
	* testsuite/libjava.jni/pr18278.java: New file.
	* include/jvm.h (_Jv_UnwrapJNIweakReference): Declare.
	* jni.cc (_Jv_UnwrapJNIweakReference): New function.
	(call): Unwrap return value if needed.

2005-11-25  Mark Wielaard  <mark@klomp.org>

	* standard.omit.in: Remove javax/rmi, org/omg, gnu/CORBA and
	gnu/javax/rmi.
	* scripts/makemake.tcl: Set javax/rmi, org/omg, gnu/CORBA and
	gnu/javax/rmi to bc.
	* gnu/CORBA/ObjectCreator.java: New override file for missing
	VMStackWalker issue.
	* gnu/CORBA/DynAn/gnuDynValue.java: New override file for bug #24938
	* gnu/CORBA/DynAn/RecordAny.java: Likewise
	* sources.am: Regenerated.
	* Makefile.in: Regenerated

2005-11-25  Andrew Haley  <aph@redhat.com>

	PR libgcj/25016
	* posix-threads.cc (_Jv_CondWait): Rewrite calculation of the
	struct timespec we pass to pthread_cond_timedwait.

2005-11-25  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* testsuite/libjava.jacks/jacks.xfail: Remove
	non-jls-argument-expansion-13 and add
	non-jls-argument-expansion-error-1 in response to the @file support
	patch in the main GCC driver.

2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>

	* sysdep/ia64-frame.h: Removed.
	* sysdep/ia64.c: Removed.
	* sysdep/dwarf2-backtrace.cc: Removed.
	* configure.ac: Remove references to HAVE_BACKTRACE and
	SUPPLY_BACKTRACE.
	* Makefile.am: Remove SUPPLY_BACKTRACE support.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.

2005-11-24  Bryce McKinlay  <mckinlay@redhat.com>

	* gij.cc (nonstandard_opts_help): Add entry for -Xss.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath gcj-import-20051117.
	* gnu/java/net/protocol/file/Connection.java: Removed, fully merged.
	* sources.am: Regenerated.
	* Makefile.in: Likewise.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* gnu/java/net/protocol/file/Handler.java: Removed, fully merged now.
	* java/net/ServerSocket.java: Likewise.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	Fixes bug #24006
	* java/net/ServerSocket.java (implAccept): Set Socket.bound to true.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/net/ServerSocket.java (accept): Use correct security manager
	call.

2005-11-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/ServerSocket.java
	(bound): Removed.
	(local): New field.
	(bind): Cache local socket address.
	(getInetAddress, getLocalPort, getLocalSocketAddress, isBound):
	Use cached local socket address.
	(close): bound field was removed.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/net/URLConnection.java (setDoInput): Javadoc fix.
	(setDoOutput): Likewise.
	(setContentHandlerFactory): Likewise.
	(setFileNameMap): Likewise.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassloader.java (addURLs): Add comment about jboss.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java (addURLs): Don't call addURL(), but
	call urls.add() and addURLImpl() directly on each URL.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (definePackage): Javadoc fixes.

2005-11-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URLClassLoader.java
	(Resource.name): Removed field.
	(JarURLResource.name): Added field.
	(FileResource.getURL): Use File.toURL() instead of doing it in
	a way that breaks on Windows.

2005-11-17  Roman Kennke  <roman@kennke.org>

	Reported by: Ingo Proetel  <proetel@aicas.com>
	* java/net/URLClassLoader.java
	(findClass): Added null check to avoid NullPointerException.

2005-11-17  David Gilbert  <david.gilbert@object-refinery.com>

	* java/net/URLClassLoader.java: reordered some API doc comments to
	suppress Eclipse warnings, and fixed API doc link.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (URLClassLoader): Removed
	unused constructor.

2005-11-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URLClassLoader (findClass): Close InputStream after we're
	done with it.

2005-11-17  Bryce McKinlay  <mckinlay@redhat.com>

	Implement -Xss.
	* include/jvm.h (gcj::stack_size): Declare.
	(_Jv_StackSize): Declare.
	* posix-threads.cc (_Jv_InitThreads): Validate gcj::stack_size.
	(_Jv_ThreadStart): Set stack size if specified.
	* prims.cc (gcj::stack_size): Define.
	(parse_memory_size): Renamed from parse_heap_size.
	(_Jv_SetStackSize): Parse stack size argument and set 
	gcj::stack_size.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* java/text/SimpleDateFormat.java: Removed, fully merged now.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2005-11-17  Sven de Marothy  <sven@physto.se>

	* java/text/SimpleDateFormat.java
	(computeOffset): Allow timezone to be first in the parsed String.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* java/text/SimpleDateFormat.java (field, size): Make package private.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (compileFormat): Correctly
	handle quoted single quotes.  PR classspath/23183.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (compileFormat): Reformatted.

2005-11-17  Tom Tromey  <tromey@redhat.com>

	* java/text/DateFormat.java (serialVersionUID): New field.

2005-11-17  Mark Wielaard  <mark@klomp.org>

	* java/text/DateFormat.java (equals): Reimplement.

2005-11-17  David Gilbert  <david.gilbert@object-refinery.com>

	* java/text/Collator.java: API doc fixes,
	* java/text/DateFormat.java: likewise,
	* java/text/DecimalFormatSymbols.java: likewise,
	* java/text/DateFormatSymbols.java: likewise,
	* java/text/SimpleDateFormat.java: likewise.

2005-11-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/text/Collator.java (getInstance(Locale)):
	Added default collation pattern to handle case when resource
	is missing and throw InternalError instead of returning null
	should parsing fail.

2005-11-15  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java: Removed, fully merged now.
	* java/util/zip/ZipFile.java: Likewise.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2005-11-15  Tom Tromey  <tromey@redhat.com>

	classpath/23890:
	* java/util/Calendar.java (equals): Include other calendar
	attributes.
	(hashCode): Updated.
	* java/util/GregorianCalendar.java (hashCode): New method.
	(equals): Use super.equals().

2005-11-15  Sven de Marothy  <sven@physto.se>

	* java/util/Calendar (setTimeInMillis): Recompute time fields.

2005-11-15  Mark Wielaard  <mark@klomp.org>

	* java/util/SimpleTimeZone.java: Removed, fully merged now.
	* java/util/Date.java: Likewise.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2005-11-15  David Gilbert  <david.gilbert@object-refinery.com>

	* java/util/Calendar.java: fixed minor problems in API docs,
	* java/util/Date.java: likewise,
	* java/util/ResourceBundle.java: likewise,
	* java/util/SimpleTimeZone.java: likewise,

2005-11-15  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(parseContent): Removed bogus println and fixed bug #24422.
		
2005-11-15  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectStreamClass.java: Removed, fully merged now.
	* sources.am: Regenerated.
	* Makefile.in: Regenerated.

2005-11-15  Wolfgang Baer  <WBaer@gmx.de>

	* java/io/ObjectInputStream.java
	(processResolution): Pass Error, RuntimeException and
	ObjectStreamException through to the caller.
	(readObject): Documentation update.

2005-11-15  Mark Wielaard  <mark@klomp.org>

	Imported GNU Classpath 0.19 + gcj-import-20051115.
	* sources.am: Regenerated.
	* Makefile.in: Likewise.
	* scripts/makemake.tcl: Use glob -nocomplain.

2005-11-15  Scott Gilbertson  <scottg@mantatest.com>

	* Makefile.in: Re-generated.
	* gnu/awt/xlib/XGraphicsDevice.java: New file.
	* gnu/awt/xlib/XToolkit.java
	(getLocalGraphicsEnvironment): Implemented. 
	* gnu/awt/xlib/XGraphicsEnvironment.java: New file.
	* sources.am: Re-generated.

2005-15-09  David Daney <ddaney@avtrex.com>

	PR libgcj/15430
	* gnu/java/net/natPlainSocketImplPosix.cc (throw_on_sock_closed): New
	function.
	(accept): Call it.
	(close): Call shutdown before closing.
	(read()): Call read_helper with proper parameters.
	(read(buffer, int, int)): Likewise.
	(read_helper):  Pass pointer to the PlainSocketImpl, remove native_fd
	and timeout parameters.  Make prototype to match. Use 
	pointer to PlainSocketImpl to access members. Call throw_on_sock_closed
	in two places.

2005-11-15  Andrew Haley  <aph@redhat.com>

	* Merge from Classpath head:

   2005-09-16  Andrew Haley  <aph@redhat.com>
   
           * java/io/ObjectStreamClass.java (findAccessibleMethod): Allow
           protected readResolve().  Rewrite accessibility check.
   
   2005-07-07  Jeroen Frijters  <jeroen@frijters.net>
   
           * java/io/ObjectStreamClass.java
           (findAccessibleMethod): Added code to make method accessible.
   
   2005-07-03  Daniel Bonniot  <bonniot@users.sf.net>
   
           * java/io/ObjectStreamClass.java (inSamePackage): New private method.
           (findAccessibleMethod): Likewise.
           (cacheMethods): Lookup readResolve and writeReplace using the new
           findAccessibleMethod().
   
2005-11-14  Mohan Embar  <gnustuff@thisiscool.com>

	* java/net/natVMNetworkInterfaceWin32.cc: Include
	java/net/VMNetworkInterface.h.

2005-11-14  Mohan Embar  <gnustuff@thisiscool.com>
	    David Daney  <ddaney@avtrex.com>

	* gnu/java/net/natPlainSocketImplWin32.cc: Updated copyright.
	(read): Handle count == 0 case.

2005-11-09  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.xfail (non-jls-zip-2): Now
	passes.

2005-11-08  Tom Tromey  <tromey@redhat.com>

	PR libgcj/24587:
	* gnu/classpath/SystemProperties.java: Set gnu.classpath.version.

2005-11-08  Tom Tromey  <tromey@redhat.com>

	PR libgcj/23763.  From aeby@graeff.com.
	* java/lang/natPosixProcess.cc (nativeSpawn): Unblock SIGCHLD
	before exec.

2005-11-08  Mark Wielaard  <mark@klomp.org>

	* scripts/makemake.tcl: Set package gnu/javax/sound/midi to bc.

2005-11-07  David Daney  <ddaney@avtrex.com>

	* mauve-libgcj: Disable javax.rmi.* and
	java.io.InputStreamReader.getEncoding.

2005-11-04  Tom Tromey  <tromey@redhat.com>

	PR libgcj/14358, libgcj/24552:
	* gnu/gcj/convert/IOConverter.java: Regenerate aliases.  Add
	aliases for 'euc_jp' and 'eucjp'.
	* scripts/encodings.pl: Recognize 'none', not 'NONE'.  Include
	canonical names in output.
	(%map): Added UnicodeLittle and UnicodeBig.

2005-11-04  Kaz Kojima  <kkojima@gcc.gnu.org>

	* include/sh-signal.h (MAKE_THROW_FRAME): Remove trailing whitespace.

2005-11-02  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libjava.exp (libjava_find_lib): Add dylib to the shared
	library extensions.

2005-10-12  Andrew Haley  <aph@redhat.com>

	PR java/24251
	* link.cc (ensure_method_table_complete): Install Miranda methods
	for interfaces too.

2005-10-10  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.lang/ExtraClassLoader.out: New file.
	* testsuite/libjava.lang/TestProxy.java (MyInvocationHandler):
	Now static.

2005-10-05  Richard Henderson  <rth@redhat.com>

	PR target/23602
	* configure.host (i?86-*): Set -fomit-frame-pointer in libgcj_flags,
	but not BACKTRACESPEC.
	(x86_64-*): Similarly.  Don't set -ffloat-store in 64-bit mode.

2005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>

	* testsuite/lib/jni.exp (gcj_jni_test_one): For
	darwin, use -shared-libgcc not -lgcc_s, and explain why.
	(gcj_jni_invocation_test_one): Likewise.

2005-09-30  Tom Tromey  <tromey@redhat.com>

	PR libgcj/24051:
	* Makefile.in: Rebuilt.
	* Makefile.am (toolexeclib_LTLIBRARIES): Add Qt library if
	requested.
	(lib_gnu_java_awt_peer_qt_la_SOURCES): New variable.
	(lib_gnu_java_awt_peer_qt_la_LIBADD): Likewise.
	(lib_gnu_java_awt_peer_qt_la_DEPENDENCIES): Likewise.
	(lib_gnu_java_awt_peer_qt_la_LDFLAGS): Likewise.
	(lib_gnu_java_awt_peer_qt_la_LINK): Likewise.
	* configure: Rebuilt.
	* configure.ac: Pass --enable-qt-peers when qt is requested.

2005-09-29  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac: Fix typo.
	* configure: Regenerate.

2005-09-28  Geoffrey Keating  <geoffk@apple.com>

	* sysdep/powerpc/locks.h: Use 64-bit versions of primitives when
	__LP64__ is defined rather than __powerpc64__.
	(compare_and_swap): 'ret' is an obj_addr_t not just an int.
	(compare_and_swap_release): Likewise.

2005-09-28  David Daney  <ddaney@avtrex.com>

	* HACKING: Update instructions for classpath import.

2005-09-27  Tom Tromey  <tromey@redhat.com>

	PR libgcj/23367:
	* include/jvm.h (_Jv_FreeMethodCache): Declare.
	* java/lang/natClass.cc (MCACHE_SIZE): Conditional on HAVE_TLS.
	(struct _Jv_mcache): Likewise.
	(method_cache): Likewise.
	(_Jv_FindMethodInCache): Do nothing unless TLS is available.
	(_Jv_AddMethodToCache): Likewise.
	(_Jv_FreeMethodCache): New function.
	* java/lang/natThread.cc (finish_): Call _Jv_FreeMethodCache.
	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* configure.ac: Invoke GCC_CHECK_TLS.

2005-09-27  Tom Tromey  <tromey@redhat.com>

	* configure, Makefile.in: Rebuilt.
	* sources.am: Rebuilt.
	* scripts/makemake.tcl (emit_bc_rule): Special-case qt.
	* configure.ac (TOOLKIT): Handle Qt peers properly.

2005-09-23  Tom Tromey  <tromey@redhat.com>

	Imported Classpath 0.18.
	* sources.am, Makefile.in: Updated.
	* Makefile.am (nat_source_files): Removed natProxy.cc.
	* java/lang/reflect/natProxy.cc: Removed.
	* gnu/classpath/jdwp/VMFrame.java,
	gnu/classpath/jdwp/VMIdManager.java,
	gnu/classpath/jdwp/VMVirtualMachine.java,
	java/lang/reflect/VMProxy.java: New files.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* scripts/makemake.tcl (verbose): Add gnu/java/awt/peer/qt to BC
	list.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/net/DefaultContentHandlerFactory.java (getContent):
	Remove ClasspathToolkit references.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/awt/xlib/XCanvasPeer.java: Add new peer methods.
	* gnu/awt/xlib/XFramePeer.java: Likewise.
	* gnu/awt/xlib/XGraphicsConfiguration.java: Likewise.

2005-09-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (libgcjawt_la_SOURCES): Remove jawt.c.  Add
	classpath/native/jawt/jawt.c.
	* Makefile.in: Regenerate.
	* jawt.c: Remove file.
	* include/Makefile.am (tool_include__HEADERS): Remove jawt.h and
	jawt_md.h.  Add ../classpath/include/jawt.h and
	../classpath/include/jawt_md.h.
	* include/Makefile.in: Regenerate.
	* include/jawt.h: Regenerate.
	* include/jawt_md.h: Regenerate.

2005-09-21  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Pass
	`null' parent ClassLoader to parent constructor.
	* gnu/gcj/runtime/HelperClassLoader.java (HelperClassLoader): New
	constructor.

2005-09-21  Ranjit Mathew  <rmathew@gcc.gnu.org>

	* testsuite/libjava.jacks/jacks.xfail: Updated for PR java/23891.

2005-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one):
	Use libjava_find_lib to find the proper libgcj.

2005-09-16  Anthony Green  <green@redhat.com>

	PR libgcj/20198
	* java/net/URLClassLoader.java (FileURLLoader.getResource): File
	resources should all have canonicalized names.

2005-09-15  Tom Tromey  <tromey@redhat.com>

	PR libgcj/16032:
	* interpret.cc (AVAL1U): Resolve pool entry when not direct
	threaded.
	(AVAL2U): Likewise.
	(compile): Handle 'ldc class' specially.
	(_Jv_InterpMethod::run): Added special 'ldc class' instruction.
	* verify.cc (check_constant): Handle 'ldc class' for 1.5 classes.
	* defineclass.cc (handleCodeAttribute): Set new field.
	(MAJOR_1_1, MINOR_1_1, MAJOR_1_2, MINOR_1_2, MAJOR_1_3, MINOR_1_3,
	MAJOR_1_4, MINOR_1_4, MAJOR_1_5, MINOR_1_5): New defines.
	(parse): Check version numbers.
	(_Jv_ClassReader::is_15): New field.
	(_Jv_ClassReader): Initialize it.
	* include/java-interp.h (_Jv_InterpMethod::is_15): New field.

2005-09-15  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/23288:
	* java/net/URLClassLoader.java (definePackage): Correctly order
	arguments to definePackage.  Look up per-entry Attributes.
	(getAttributeValue): New method.

2005-09-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/23762
	* shlibpath.m4: New file.
	* configure.ac: If libltdl is being used call AC_LTDL_SHLIBPATH
	macro.
	* gnu/classpath/natSystemProperties.cc (insertSystemProperties)
	[USE_LTDL]: If it was not defined with -D set java.library.path to
	the value of LTDL_SHLIBPATH_VAR.

2005-09-08  Andrew Haley  <aph@redhat.com>

	* java/net/URLClassLoader.java (addURLImpl): Synchronize on the
	loader.
	(toString): Likewise.

2005-09-08  Andrew Haley  <aph@redhat.com>

	PR java/22084
	* include/i386-signal.h (HANDLE_DIVIDE_OVERFLOW): Bump IP by 1 if
	R/M field in instruction is 100.

2005-09-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/23761
	* include/java-props.h (_Jv_Module_Load_Path): Declare variable.
	* java/lang/natRuntime.cc (init): Call lt_dlsetsearchpath after
	lt_dlinit.
	* gnu/classpath/natSystemProperties.cc (_Jv_Module_Load_Path):
	Define variable.
	(_Jv_SetDLLSearchPath): Do not call lt_dlsetsearchpath.  Set
	_Jv_Module_Load_Path.

2005-09-06  Tom Tromey  <tromey@redhat.com>

	PR libgcj/23739:
	* testsuite/libjava.jni/pr23739.c: New file.
	* testsuite/libjava.jni/pr23739.java: New file.
	* testsuite/libjava.jni/pr23739.out: New file.
	* jni.cc (_Jv_JNI_IsAssignableFrom): Reversed arguments.
	* java/lang/reflect/natMethod.cc (invoke): Updated.
	* java/lang/natClass.cc (isAssignableFrom): Updated.
	(isInstance): Likewise.
	(_Jv_IsAssignableFrom): Reversed arguments.
	(_Jv_IsInstanceOf): Updated.
	(_Jv_CheckCast): Likewise.
	(_Jv_CheckArrayStore): Likewise.
	(_Jv_IsAssignableFromSlow): Reversed arguments.
	(_Jv_InterfaceAssignableFrom): Likewise.
	* link.cc (verify_type_assertions): Updated.
	* prims.cc (_Jv_CheckAccess): Updated.

2005-09-05  Ranjit Mathew  <rmathew@hotmail.com>

	Testsuite changes for PR java/23431.
	* testsuite/libjava.jacks/jacks.xfail: Remove 8.1.1.1-12 and
	8.4.6.2-hiding-5.
	* testsuite/libjava.compile/PR23431_1.java: New testcase.
	* testsuite/libjava.compile/PR23431_2.java: Likewise.
	* testsuite/libjava.compile/PR23431_1.xfail: New file.
	* testsuite/libjava.compile/PR23431_2.xfail: Likewise.

2005-08-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/23549
	* gij.cc (main): Don't expect arguments to -enableassertions, -ea,
	-disableassertions and -da.

2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>

	* configure.ac: Replace "*-*-darwin[0-7].*" with
	"*-*-darwin[[0-7]].*"
	* configure: Regenerate.

2005-08-24  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.ac (extra_ldflags_libjava): Enable -single_module only for
	darwin < 8.
	* configure: Regenerate.

2005-08-23  Roman Kennke  <roman@kennke.org>

	* java/lang/Character.java
	(toChars(int)): New JDK1.5 method.
	(toChars(int, char[], int)): New JDK1.5 method.
	(charCount): New JDK1.5 method.
	(isSupplementaryCodePoint): New JDK1.5 method.
	(isValidCodePoint): New JDK1.5 method.

2005-08-23  Tom Tromey  <tromey@redhat.com>

	* aclocal.m4, Makefile.in: Rebuilt.
	* Makefile.am (property_files): Added META-INF files.
	(propertyo_files): Changed definition.
	($(propertyo_files)): Updated patterns.

2005-08-22  Tom Tromey  <tromey@redhat.com>

	PR libgcj/22622:
	* configure: Rebuilt.
	* configure.ac: Correctly create Configuration.java (for
	temporary use).

2005-08-22  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am (ACLOCAL_AMFLAGS): Also include "..".
	* acinclude.m4: Delete.  Extract CHECK_FOR_BROKEN_MINGW_LD to ...
	* mingwld.m4: ... this new file.
	* aclocal.m4, Makefile.in, gcj/Makefile.in: Regenerate. 
	* include/Makefile.in, testsuite/Makfile.in: Regenerate.

2005-08-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR libgcj/23507
	* stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Fix typo in newLength
	assignment.  Cast operands of compare to function pointer type.

2005-08-21  Tom Tromey  <tromey@redhat.com>

	* HACKING: Updated for hacking classpath in libgcj.

2005-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR libgcj/21692
	* sysdep/pa/descriptor.h: New file.
	* configure.host: Use sysdep/pa/descriptor.h on hppa*-*.

2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>

	* Makefile.am (extra_ldflags_libjava): New variable to
	substitute in.
	(LIBLINK): Add extra_ldflags_libjava to it.
	* configure.ac (extra_ldflags_libjava): Set for *-darwin* to
	"-Wl,-single_module".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2005-08-17  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_Jv_IsBinaryCompatibilityABI): Declare as
	friend.
	* include/jvm.h (_Jv_IsBinaryCompatibilityABI): New function.
	* testsuite/libjava.lang/bclink.java: New file.
	* testsuite/libjava.lang/bclink.out: New file.
	* link.cc (print_class_loaded): Changed ABI test to look at
	various _syms fields.

2005-08-17  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.jacks/jacks.xfail: Remove 15.21-assoc-7,
	15.21-assoc-8, 15.21-equal-3, 15.28-string-11.

2005-08-16  Ranjit Mathew  <rmathew@hotmail.com>

	More testsuite adjustments for PR java/19870.
	* testsuite/libjava.lang/PR19870_2.java: New testcase.
	* testsuite/libjava.lang/PR19870_2.out: Expected output for the
	new testcase.
	* testsuite/libjava.jacks/jacks.xfail: Remove
	8.5.2-non-static-member-usage-2 and add 15.12.3-explicit-constructor-9.

2005-08-16  Tom Tromey  <tromey@redhat.com>

	* gnu/xml/xpath/XPathParser.y: Removed.

2005-08-12  Morgan Deters  <mdeters@morgandeters.com>

	PR libgcj/23353:
	* java/lang/natObject.cc (clone): Clear sync_info.

2005-07-26  Tom Tromey  <tromey@redhat.com>

	* gnu/java/net/protocol/ftp/package.html,
	gnu/javax/swing/text/html/package.html,
	gnu/javax/swing/text/html/parser/package.html,
	gnu/javax/swing/text/html/parser/models/package.html,
	gnu/javax/swing/text/html/parser/support/package.html,
	gnu/javax/swing/text/html/parser/support/low/package.html,
	gnu/xml/aelfred2/package.html, gnu/xml/dom/package.html,
	gnu/xml/pipeline/package.html, gnu/xml/transform/package.html,
	gnu/xml/util/package.html, java/awt/geom/doc-files/Area-1.png,
	java/awt/geom/doc-files/CubicCurve2D-1.png,
	java/awt/geom/doc-files/CubicCurve2D-2.png,
	java/awt/geom/doc-files/CubicCurve2D-3.png,
	java/awt/geom/doc-files/CubicCurve2D-4.png,
	java/awt/geom/doc-files/CubicCurve2D-5.png,
	java/awt/geom/doc-files/Ellipse-1.png,
	java/awt/geom/doc-files/FlatteningPathIterator-1.html,
	java/awt/geom/doc-files/GeneralPath-1.png,
	java/awt/geom/doc-files/QuadCurve2D-1.png,
	java/awt/geom/doc-files/QuadCurve2D-2.png,
	java/awt/geom/doc-files/QuadCurve2D-3.png,
	java/awt/geom/doc-files/QuadCurve2D-4.png,
	java/awt/geom/doc-files/QuadCurve2D-5.png,
	javax/imageio/package.html, javax/imageio/event/package.html,
	javax/imageio/metadata/package.html,
	javax/imageio/spi/package.html, javax/imageio/stream/package.html,
	javax/swing/border/doc-files/BevelBorder-1.png,
	javax/swing/border/doc-files/BevelBorder-2.png,
	javax/swing/border/doc-files/BevelBorder-3.png,
	javax/swing/border/doc-files/EmptyBorder-1.png,
	javax/swing/border/doc-files/EtchedBorder-1.png,
	javax/swing/border/doc-files/EtchedBorder-2.png,
	javax/swing/border/doc-files/LineBorder-1.png,
	javax/swing/border/doc-files/MatteBorder-1.png,
	javax/swing/border/doc-files/MatteBorder-2.png,
	javax/swing/border/doc-files/MatteBorder-3.png,
	javax/swing/border/doc-files/MatteBorder-4.png,
	javax/swing/border/doc-files/MatteBorder-5.png,
	javax/swing/border/doc-files/MatteBorder-6.png,
	javax/swing/border/doc-files/SoftBevelBorder-1.png,
	javax/swing/border/doc-files/SoftBevelBorder-2.png,
	javax/swing/border/doc-files/SoftBevelBorder-3.png,
	javax/swing/plaf/basic/doc-files/BasicBorders-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders-2.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.FieldBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.MarginBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.MenuBarBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.RadioButtonBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-2.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneDividerBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.ToggleButtonBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-1.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-2.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-3.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-4.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-5.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-6.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-7.png,
	javax/swing/plaf/doc-files/ComponentUI-1.dia,
	javax/swing/plaf/doc-files/ComponentUI-1.png,
	javax/swing/plaf/doc-files/TreeUI-1.png,
	javax/xml/datatype/package.html, javax/xml/namespace/package.html,
	javax/xml/parsers/package.html, javax/xml/transform/package.html,
	javax/xml/transform/dom/package.html,
	javax/xml/transform/sax/package.html,
	javax/xml/transform/stream/package.html,
	javax/xml/validation/package.html, javax/xml/xpath/package.html:
	Removed.

2005-07-22  Tom Tromey  <tromey@redhat.com>

	* include/Makefile.in: Rebuilt.
	* include/Makefile.am (tool_include__HEADERS): Include
	classpath's jni.h.

2005-07-20  Tom Tromey  <tromey@redhat.com>

	* sources.am, Makefile.in: Rebuilt.
	* Makefile.am (all_xlib_lo_files): Removed.
	(all_libgcj_lo_files): Likewise.
	(lib_gnu_awt_xlib_la_LIBADD): List correct .lo files.
	(xlib_java_source_files): Removed.
	(xlib_nat_headers): Updated.
	* configure: Rebuilt.
	* configure.ac: Create standard.omit.
	* standard.omit.in: New file.
	* standard.omit: Removed.
	* scripts/makemake.tcl (gnu/gcj/xlib, gnu/awt/xlib): Now
	'package'.
	(emit_package_rule): Special case xlib peers.
	(emit_source_var): Likewise.
	Read standard.omit.in.
	* gnu/awt/xlib/XToolkit.java (createEmbeddedWindow): New method.

2005-07-18  Tom Tromey  <tromey@redhat.com>

	* HACKING: Updated.

2005-07-19  Matthias Klose  <doko@debian.org>

	* classpath/java/awt/im/InputContext.java (clinit): Initialize
	  line, im.

2005-07-18  Tom Tromey  <tromey@redhat.com>

	PR libgj/21058:
	* sources.am, Makefile.in: Rebuilt.
	* scripts/makemake.tcl (emit_bc_rule): Create a temporary list
	file.
	(emit_source_var): Don't emit patsubst with './'.

2005-07-18  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am ($(libgij_la_OBJECTS)): Depend on headers.stamp.

2005-07-17  Andreas Jaeger  <aj@suse.de>

	* defineclass.cc (handleClassBegin): Remove unused variable.

2005-07-16  Andreas Schwab  <schwab@suse.de>

	* scripts/makemake.tcl (emit_package_rule): Emit command to create
	target directory.
	* Makefile.am (%.lo): Don't create it here.
	* sources.am, Makefile.in: Regenerated.

2005-07-15  Tom Tromey  <tromey@redhat.com>

	Major merge with Classpath.
	Removed many duplicate files.
	* HACKING: Updated.x
	* classpath: Imported new directory.
	* standard.omit: New file.
	* Makefile.in, aclocal.m4, configure: Rebuilt.
	* sources.am: New file.
	* configure.ac: Run Classpath configure script.  Moved code around
	to support.  Disable xlib AWT peers (temporarily).
	* Makefile.am (SUBDIRS): Added 'classpath'
	(JAVAC): Removed.
	(AM_CPPFLAGS): Added more -I options.
	(BOOTCLASSPATH): Simplified.
	Completely redid how sources are built.
	Include sources.am.
	* include/Makefile.am (tool_include__HEADERS): Removed jni.h.
	* include/jni.h: Removed (in Classpath).
	* scripts/classes.pl: Updated to look at built classes.
	* scripts/makemake.tcl: New file.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added
	-I options.
	(gcj_jni_invocation_compile_c_to_binary): Likewise.

2005-07-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XCanvasPeer.java (attributes): New field.
	(eventMask): New field.
	(XCanvasPeer(Component)): Use attributes field.
	(setBackground): Implemented.
	(setEventMask): Process mask only if changed.
	* gnu/awt/xlib/XEventLoop.java (class): Iplement Runnable.
	(eventLoopThread): New field.
	(XEventLoop(Display,EventQueue)): Start eventLoopThread.
	(interrupt): Removed.
	(run): New method.
	* gnu/awt/xlib/XEventQueue.java (getNextEvent): Process Container
	and Component events.
	* gnu/awt/xlib/XFramePeer.java (processingConfigureNotify): New
	field.
	(configureNotify): Set and clear processingConfigureNotify.
	(setBounds): Process only if processingConfigureNotify is false.
	(toBack): Implemented.
	(toFront): Implemented.
	* gnu/awt/xlib/XGraphics.java (setColor): Ignore null color.
	* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Ignore null
	color.
	* gnu/awt/xlib/XToolkit.java (nativeQueueEmpty): Always return true.
	(wakeNativeQueue): Do nothing.
	(iterateNativeQueue): Do queue.wait if blocking.
	* gnu/gcj/xlib/Font.java (loadFont): New method.
	(loadFontImpl): Renamed native method, was loadFont. 
	* gnu/gcj/xlib/Window.java (toFront): New method.
	(toBack): New method.
	* gnu/gcj/xlib/natFont.cc (loadFontImpl): Renamed method, was 
	loadFont.
	* gnu/gcj/xlib/natWindow.cc (toBack): New method.
	(toFront): New method. 
	* gnu/gcj/xlib/natXAnyEvent.cc (loadNext): Removed timeout.

2005-07-14  Andrew Haley  <aph@redhat.com>

	* gnu/java/net/protocol/file/Connection.java (unquote): New
	method.
	(connect): Unquote filename.
	gnu/java/net/protocol/jar/Connection.java (getInputStream):
	Likewise.  
	(getJarFile): Likewise.

	* java/net/URLConnection.java (getContentHandler): Guard cast with
	instaceof.

	* java/net/URL.java (URL): If the file part of a spec is absolute,
	ignore the file part of its context.

2005-07-14  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java:
	Implemented VirtualMachine Command Set.

2005-07-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (getProtectionDomain): Merged javadoc from
	Classpath.

2005-07-12  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/FieldCommandSet.java:
	Implemented the Field CommandSet.
	* gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java:
	Implemented the InterfaceType CommandSet.

2005-07-12  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/PacketProcessor.java (run): Send
	shutdown to jdwp instead of connection.

2005-07-12  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java:
	New file.

2005-07-08  Colin Walters  <walters@verbum.org>

	* verify.cc (class _Jv_BytecodeVerifier) <op_new>: Don't
	check for abstract classes or interfaces here; JVM spec
	says it should throw an exception, so we'll do so later.
	* interpret.cc (run): Throw an InstantiationException for
	abstract classes and interfaces.

2005-07-08  Andrew Haley  <aph@redhat.com>

	* posix-threads.cc (_Jv_ThreadSetPriority): Use SCHED_OTHER
	(regular, non-realtime scheduling), not SCHED_RR (realtime,
	round-robin).

2005-07-07  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/util/Signature.java
	(computeFieldSignature): New Method.

2005-07-07  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java:New
	file.

2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.jacks/jacks.xfail: Remove 6.5.5.1-nested-4,
	6.5.5.1-nested-7, 6.5.5.1-nested-16, 6.5.5.1-nested-17.

2005-07-07  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.compile/PR21045.java: New test.
	* testsuite/libjava.jacks/jacks.xfail: Remove 15.9.5.1-exception-1,
	15.9.5.1-exception-3, 8.3.2-abrupt-6, 8.3.2-abrupt-7.

2005-07-06  Tom Tromey  <tromey@redhat.com>

	* java/io/InputStreamReader.java (refill): Handle no-progress
	case correctly.
	* gnu/gcj/convert/IOConverter.java: Add 'utf8' alias.

2005-07-06  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.jacks/jacks.xfail: Removed 9.1.3-body-5.

2005-07-05  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.compile/PR19674.java: New test.

2005-07-05  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/StringReferenceCommandSet.java:
	New file.

2005-07-04  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/processor/CommandSet.java: New file.
	* gnu/classpath/jdwp/processor/PacketProcessor.java: Use
	CommandSets to handle JdwpCommandPackets.
	* gnu/classpath/jdwp/transport/JdwpReplyPacket.java: New
	Constructor.

2005-07-01  Tom Tromey  <tromey@redhat.com>

	* libtool-version: Updated.

2005-06-30  Aaron Luchko  <aluchko@redhat.com>

	* gnu/classpath/jdwp/util/JdwpString.java: New file.

2005-06-30  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/transport/JdwpPacket.java (write): New method.
	(myWrite): New abstract method.
	(toBytes): Remove.
	(myToBytes): Remove.
	* gnu/classpath/jdwp/transport/JdwpReplyPacket.java (myWrite): New
	method.
	* gnu/classpath/jdwp/transport/JdwpCommandPacket.java (myWrite): New
	method.
	* gnu/classpath/jdwp/transport/JdwpConnection.java (sendPacket): Use
	JdwpPacket.write instead of JdwpPacket.toBytes.

2005-06-30  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/transport/JdwpConnection.java (sendEvent): New
	method.
	(_bytes): New member.
	(_doStream): New member.
	(JdwpConnection): Initialize new members.

2005-06-29  Kelley Cook  <kcook@gcc.gnu.org>

	* all files: Update for new FSF address.

2005-06-29  Tom Tromey  <tromey@redhat.com>

	PR libgcj/22211:
	* testsuite/libjava.lang/pr22211.java: New file.
	* java/lang/natThread.cc (finish_): Synchronize when updating
	alive_flag.
	(_Jv_AttachCurrentThread): Likewise.
	(interrupt): Only call _Jv_ThreadInterrupt if thread is alive.
	* java/lang/Thread.java (isAlive): Now synchronized.

2005-06-29  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (run) <insn_checkcast, checkcast_resolved>: Use
	_Jv_CheckCast.

2005-06-28  Robin Green  <greenrd@greenrd.org>

	PR java/22189
	* gnu/gcj/runtime/PersistentByteMap.java (init): Fix rounding
	error.

2005-06-27  Tom Tromey  <tromey@redhat.com>

	PR java/21540, PR java/13788:
	* testsuite/libjava.compile/pr21540.java: New file.
	* testsuite/libjava.compile/pr13788.java: New file.
	* testsuite/libjava.jacks/jacks.xfail: Updated.

2005-06-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.mauve/xfails: Updated to reflect current state
	of mauve and libjava. 

2005-06-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_UnregisterClass): Handle case
	where class' name is NULL.
	(_Jv_FindClass): Don't wait for class state.
	* java/lang/natVMClassLoader.cc (defineClass): Only unregister if
	name found.
	* include/java-interp.h (_Jv_DefineClass): Updated.
	* defineclass.cc (_Jv_DefineClass): Added 'name_result' argument.
	(struct _Jv_ClassReader): Likewise.
	(found_name): New field.
	(handleClassBegin): Set *found_name.
	(_Jv_VerifyMethodSignature): Handle case where ptr==NULL.
	(handleClassBegin): Throw error if super class not set.
	(read_methods): Correctly call check_tag and prepare_pool_entry.

2005-06-24  Tom Tromey  <tromey@redhat.com>

	* boehm.cc (_Jv_MarkObj): Handle case where field's type is NULL.

2005-06-24  Tom Tromey  <tromey@redhat.com>

	* verify.cc (verify_instructions_0): Correctly handle situation
	where PC falls off end.

2005-06-24  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (compile): Handle case where table entry is
	outside of PC range.

2005-06-23  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.compile/PR20697.java: New test-case.

2005-06-22  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am (SUBDIRS): Use append for conditional.
	(toolexeclib_LTLIBRARIES): Likewise.
	(lib_gnu_java_awt_peer_gtk_la_SOURCES): Directly define with
	a conditional append.
	* Makefile.in: Regenerate.

2005-06-17  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/exception/VmDeadException.java: New file.
	* gnu/classpath/jdwp/exception/NotImplementedException.java: New file.
	* gnu/classpath/jdwp/exception/JdwpInternalErrorException.java: New
	file.
	* gnu/classpath/jdwp/exception/JdwpException.java: New file.
	* gnu/classpath/jdwp/exception/InvalidThreadGroupException.java: New
	file.
	* gnu/classpath/jdwp/exception/InvalidThreadException.java: New file.
	* gnu/classpath/jdwp/exception/InvalidStringException.java: New file
	* gnu/classpath/jdwp/exception/InvalidObjectException.java: New file.
	* gnu/classpath/jdwp/exception/InvalidEventTypeException.java: New
	file.
	* gnu/classpath/jdwp/exception/InvalidCountException.java: New file.
	* gnu/classpath/jdwp/exception/InvalidClassException.java: New file.

2005-06-16  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am (libgcj_la_SOURCES): Define without conditional sources.
	(if USING_BOEHMGC): Directly append libgcj_la_SOURCES.
	(if USING_NOGC, SUPPLY_BACKTRACE, USING_POSIX_PLATFORM,
	USING_WIN32_PLATFORM, USING_DARWIN_CRT, USING_POSIX_THREADS,
	USING_WIN32_THREADS, USING_NO_THREADS): Likewise.
	* Makefile.in: Regenerate.

2005-06-15  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac (USING_ECOS_PLATFORM): Remove and merge into...
	(USING_POSIX_PLATFORM): ... here.
	* Makefile.am: Delete USING_ECOS_PLATFORM.
	* configure, Makefile.in, include/Makefile.in, testsuite/Makefile.in,
	external/Makefile.in, external/sax/Makefile.in,
	external/w3c_dom/Makefile.in, gcj/Makefile.in: Regenerate.

2005-06-15  Tom Tromey  <tromey@redhat.com>

	PR libgcj/17536:
	* testsuite/libjava.lang/pr17536.java: New file.
	* testsuite/libjava.lang/pr17536.out: New file.

2005-06-15  Goffredo Baroncelli  <kreijack@inwind.it>

	PR libgcj/21074:
	* gnu/java/net/protocol/http/HTTPURLConnection.java
	(getHeaderFieldKey): Check index.

2005-06-15  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21906:
	* defineclass.cc (handleMethodsEnd): Set ncode for abstract
	methods.
	* include/jvm.h (_Jv_ThrowAbstractMethodError): Declare.
	* link.cc (_Jv_ThrowAbstractMethodError): Renamed.  No longer
	static.
	(append_partial_itable): Use it.
	(set_vtable_entries): Likewise.

2005-06-15  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/SystemClassLoader.java (init): Clear
	last_was_sep in loop.

2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.host: Handle Solaris 10/x86.

2005-06-14  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/id/JdwpIdFactory.java: New file.
	* gnu/classpath/jdwp/processor/PacketProcessor.java: New file.

2005-06-14  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/id/ArrayId.java: New file.
	* gnu/classpath/jdwp/id/ArrayReferenceTypeId.java: New file.
	* gnu/classpath/jdwp/id/ClassLoaderId.java: New file.
	* gnu/classpath/jdwp/id/ClassObjectId.java: New file.
	* gnu/classpath/jdwp/id/ClassReferenceTypeId.java: New file.
	* gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java: New file.
	* gnu/classpath/jdwp/id/JdwpId.java: New file.
	* gnu/classpath/jdwp/id/ObjectId.java: New file.
	* gnu/classpath/jdwp/id/ReferenceTypeId.java: New file.
	* gnu/classpath/jdwp/id/StringId.java: New file.
	* gnu/classpath/jdwp/id/ThreadGroupId.java: New file.
	* gnu/classpath/jdwp/id/ThreadId.java: New file.

2005-06-14  Tom Tromey  <tromey@redhat.com>

	PR libgcj/19877:
	* configure, aclocal.m4, Makefile.in: Rebuilt.

2005-06-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (getClasses): New method.
	(internalGetClasses): Likewise.
	(getClassLoader): Updated documentation.
	(getDeclaredClasses): New overload; old overload no longer
	native.
	(_getConstructors): Removed.
	(resourcePath): Updated.
	* java/lang/natClass.cc (getClasses): Removed.
	* java/lang/Class.h (getDeclaredClasses, getDeclaredConstructors):
	Updated.
	(_getConstructors): Removed.

2005-06-13  Jim Huang  <jserv@kaffe.org>

	PR libgcj/22036:
	* jni.cc (_Jv_JNI_NewObjectV): Use chars() method.
	(_Jv_JNI_NewObject): Likewise.

2005-06-13  Tom Tromey  <tromey@redhat.com>

	PR java/21844:
	* testsuite/libjava.lang/pr21844.java: New file.
	* testsuite/libjava.lang/pr21844.out: New file.

2005-06-08  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/21949
	* java/rmi/server/RMIClassLoader.java (getClassLoader): Make public.
	From Gary Benson.

2005-06-08  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	* java/text/MessageFormat.java (parse): When parsing strings, check
	for an empty pattern trailer.

2005-06-06  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/util/Signature.java: New file.
	* gnu/classpath/jdwp/transport/JdwpConnection.java: New file.

2005-06-05  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (setOption): Fix case
	fall-through bug.

2005-06-04  Anthony Green  <green@redhat.com>

	* java/net/URLClassLoader.java: import gnu.gcj.Core,
	and gnu.java.net.protocol.core.CoreInputStream.
	(CureURLLoader): New class.
	(CoreResource): New class.
	(addURLImpl): Add special treatment for the "core" protocol.
	* gnu/gcj/natCore.cc (find): New method.
	* gnu/gcj/Core.java (find): New method.

2005-06-03  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/transport/ITransport.java: New file.
	* gnu/classpath/jdwp/transport/SocketTransport.java: New file.
	* gnu/classpath/jdwp/transport/TransportFactory.java: New file.

2005-06-03  Andreas Tobler  <a.tobler@schweiz.ch>

	* jawt.c: Remove malloc.h, covered by stdlib.h.

	* testsuite/libjava.jni/jni.exp
	(gcj_jni_invocation_compile_c_to_binary): Add -bind_at_load to silence
	the build process.

2005-06-02  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/transport/TransportException.java: New file.

2005-06-02  Andreas Tobler  <a.tobler@schweiz.ch>

	* mauve-libgcj: Remove implemented classes from the fail section.
	Add two new not implemented to it.

2005-06-01  Bryce McKinlay  <mckinlay@redhat.com>

	* configure.ac (BACKTRACESPEC): Remove definition, but continue to
	AC_SUBST definition from configure.host.
	* configure.host: Don't use -fno-omit-frame-pointer. Set BACKTRACESPEC
	to -fomit-frame-pointer on 32-bit x86 targets.

2005-06-01  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (currentLoader): Fixed typo.

2005-06-01  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	PR libgcj/20435:
	* gnu/regexp/RESyntax.java (RE_POSSESSIVE_OPS): New field.
	(static): Add possessive matching to JAVA_1_4 syntax.
	* gnu/regexp/RETokenRepeated.java (possessive): New field.
	(makePossessive, isPossessive): New methods.
	(match): Don't back off during possessive matching.
	* gnu/regexp/RE.java (initalize): Accept possessive quantifier.
	* java/util/regex/Pattern.java (constructor): Switch syntax from PERL5
	to JAVA_1_4.

2005-06-01  Keith Seitz  <keiths@redhat.com>

	* gnu/classpath/jdwp/transport/JdwpPacket.java: New file.
	* gnu/classpath/jdwp/transport/JdwpCommandPacket.java: New file.
	* gnu/classpath/jdwp/transport/JdwpReplyPacket.java: New file.

2005-06-01  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21785:
	* java/io/natObjectInputStream.cc (currentClassLoader): Removed.
	(currentLoader): New method.
	* java/io/ObjectInputStream.java (resolveProxyClass): Use
	currentLoader.
	(currentLoader): Now native.
	(currentClassLoader): Removed.
	* testsuite/libjava.lang/pr21785.java: New file.
	* testsuite/libjava.lang/pr21785.out: New file.

2005-06-01  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21753:
	* java/lang/natString.cc (substring): Changed sharing heuristic.

2005-05-30  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/21821
	* gnu/java/nio/channels/natFileChannelPosix.cc (open): Don't use
	MAXPATHLEN. Format exception message using a StringBuffer instead.

2005-05-29  Michael Koch  <konqueror@gmx.de>

	PR libgcj/20273:
	* java/util/LinkedHashMap.java (access): Set 'root.pred'.

2005-05-27  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	* ChangeLog: Fix typo.

2005-05-26  Ranjit Mathew  <rmathew@hotmail.com>

	Testsuite adjustments for PR java/19870.
	* testsuite/libjava.lang/PR19870.java: New testcase.
	* testsuite/libjava.lang/PR19870.out: Expected output for the
	testcase.
	* testsuite/libjava.jacks/jacks.xfail: Add
	8.5.2-accessible-static-member-usage-3 and 15.8.4-static-2


2005-05-26  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (FLAG_BINARYCOMPAT_ABI, FLAG_BOOTSTRAP_LOADER): New.
	(GCJ_BINARYCOMPAT_ADDITION, GCJ_BOOTSTRAP_LOADER_ADDITION): Removed.
	(OLD_GCJ_40_BC_ABI_VERSION): Renamed. Old-style version ID for BC-ABI
	classes.
	(GCJ_CXX_ABI_VERSION): Renamed from GCJ_ABI_VERSION.
	(GCJ_40_BC_ABI_VERSION): New. Calculate version	IDs using new method.
	(_Jv_CheckABIVersion): Check for both old and new style version IDs.
	(_Jv_ClassForBootstrapLoader): Use FLAG_BOOTSTRAP_LOADER. 

2005-05-25  Richard Henderson  <rth@redhat.com>

	PR libgcj/21692
	* sysdep/descriptor-n.h: New file.
	* sysdep/descriptor-y.h: New file.
	* sysdep/powerpc/descriptor.h: New file.
	* configure.host: Set $descriptor_h appropriate for the host.
	* configure.ac: Link it.
	* configure: Regenerate.
	* stacktrace.cc: Include sysdep/descriptor.h.
	(_Jv_StackTrace::UpdateNCodeMap): Use UNWRAP_FUNCTION_DESCRIPTOR.

2005-05-25  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/ls/SAXEventSink.java: Ignore XML entities in start/
	end entity callbacks.

2005-05-24  Gary Benson  <gbenson@redhat.com>

	PR libgcj/21736:
	* java/text/MessageFormat.java (MessageFormatElement.setLocale):
	Handle DateFormat.DEFAULT case correctly.

2005-05-21  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21703:
	* java/lang/ref/natReference.cc (find_slot): Handle case where
	table has no NULL entries.
	* java/lang/natString.cc (_Jv_StringFindSlot): Handle case where
	table has no NULL entries.

2005-05-22  Andreas Jaeger  <aj@suse.de>

	* java/lang/mprec.c (mult, lshift, b2d, d2b): Add parenthesis to
	avoid warnings.

2005-05-21  Ranjit Mathew  <rmathew@hotmail.com>

	* testsuite/libjava.jacks/jacks.xfail: Remove 3.10.2-round-6.

2005-05-19  Richard Henderson  <rth@redhat.com>

	* exception.cc: Revert 05-17 gcc_unreachable change.

2005-05-19  Bryce McKinlay  <mckinlay@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_NewClass): Use
	_Jv_RegisterInitiatingLoader to register array classes, not
	_Jv_RegisterClass.
	(_Jv_RegisterInitiatingLoader): Give up if called very early during
	bootstrapping. Add a FIXME to handle this case better.

2005-05-19  Bryce McKinlay  <mckinlay@redhat.com>

	* Makefile.am (libgcj0_convenience_la): Removed. Don't build a libgcj
	convenience library.
	(libgcj_la_SOURCES): New. Move sources here.
	(libgcj.la): Remove rule.

2005-05-18  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/19729
	* gnu/java/security/provider/DSASignature.java: Import updates
	from GNU Crypto.

2005-05-18  Anthony Green  <green@redhat.com>

	* jni/gtk-peer/gtk_jawt.c (classpath_jawt_object_lock,
	classpath_jawt_object_unlock, classpath_jawt_create_lock,
	classpath_jawt_destroy_lock): New functions.
	* jni/classpath/classpath_jawt.h (classpath_jawt_object_lock,
	classpath_jawt_object_unlock, classpath_jawt_create_lock,
	classpath_jawt_destroy_lock): New functions.
	* include/jawt.h (struct _JAWT_DrawingSurface): Add lock
	field.
	* jawt.c: #include malloc.h.
	(_Jv_Lock): Use lock.
	(_Jv_Unlock): Ditto.
	(_Jv_GetDrawingSurface): Initialize lock.
	(_Jv_FreeDrawingSurface): Destroy lock.
	(_Jv_FreeDrawingSurfaceInfo): Free platformInfo.

2005-05-18  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.am (Makefile.deps): Do not use \0, it is unportable.
	* Makefile.in: Regenerate.

2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
	* aclocal.m4, configure, config.h.in, include/config.h.in,
	Makefile.in, include/Makefile.in, testsuite/Makefile.in,
	external/Makefile.in, external/sax/Makefile.in,
	external/w3c_dom/Makefile.in, gcj/Makefile.in: Regenerate.

2005-05-17  David Daney  <ddaney@avtrex.com>

	PR libgcj/18220
	* testsuite/libjava.lang/Process_3.java (run):  Exit on error.

2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>

	* exception.cc (abort): Remove std::abort hack.
	(gcc_unreacheable): Define.

2005-05-17  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.am (Makefile.deps): Do not create native.list and
	bytecodes.list.
	(all_native_compiled_dirs, all_java_dirs): Compute dir list here.
	* Makefile.in: Regenerate.

2005-05-17  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac (--enable-libgcj-multifile): Remove.

	* Makefile.am (all_native_compiled_source_files,
	(all_native_compiled_dirs, all_java_dirs, all_java_lo_files,
	all_libgcj_lo_files, all_xlib_lo_files,
	all_java_deps_files, all_java_stamp_files,
	all_java_filelist_files): New variables.
	(EXTRA_DIST): New Automake variable.
	(CLEANFILES): Add .stamp, .list and .lo files.
	(%.list, %.lo, %.stamp, Makefile.deps): New rules.
	(classes.stamp): Depend on $(all_java_stamp_files).
	(libgcj.la): Pass $(libgcj_la_LIBADD) to the linker without
	going through write_entries_to_file.

	(all_java_source_files, all_property_files): Move earlier.
	(libgcj_la_OBJECTS, javao_files, xlib_javao_files,
	all_java_class_files): Remove.
	(gtk_awt_peer_sources): Rename to...
	(gtk_awt_peer_source_files): ... this.  Adjust throughout.

	(ONESTEP): Remove.
	(libgcj0_convenience_la_SOURCES): Remove Java source files.
	(libgcj0_convenience_la_LIBADD): Add $(all_libgcj_lo_files).
	(libgcj0_convenience_la_DEPENDENCIES): Likewise.
	(libgcj_la_SOURCES): Remove.
	(lib_gnu_awt_xlib_la_SOURCES): Remove Java source files.
	(lib_gnu_awt_xlib_la_LIBADD): Add $(all_xlib_lo_files).
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Likewise.

	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libltdl/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2005-05-16  Tom Tromey  <tromey@redhat.com>

	* java/nio/charset/Charset.java (encode, decode): Synchronize on
	'this', not the class.

2005-05-16  Tom Tromey  <tromey@redhat.com>

	* gnu/java/net/protocol/http/Headers.java (parse): Include final
	character of line.

2005-05-16  Tom Tromey  <tromey@redhat.com>

	PR libgcj/21606:
	* java/net/URI.java (unquote): Handle lower-case letters as well.

2005-05-16  Ziga Mahkovec  <ziga.mahkovec@klika.si>

	PR libgcj/20504
	* gnu/regexp/RE.java: Add support for quoting constructs.

2005-05-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/String.java (startsWith): Fixed javadoc.

2005-05-15  Tom Tromey  <tromey@redhat.com>

	PR java/21519:
	* testsuite/libjava.compile/pr21519.java: New file.
	* testsuite/libjava.compile/pr21519.no-link: New file.

2005-05-15  Tom Tromey  <tromey@redhat.com>

	* stacktrace.cc (getLineNumberForFrame): Use _Jv_GetSafeArg.

2005-05-13  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/21557
	* java/lang/natObject.cc (_Jv_MonitorEnter): Save and clear thread
	interrupt status flag if _Jv_CondWait is interrupted.

2005-05-13  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/SystemClassLoader.java (init): Handle empty
	element in path.

2005-05-12  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (gcj::verifyClasses): Declare.
	* link.cc (gcj::verbose_class_flag): Moved.
	* prims.cc (gcj::verifyClasses): Define here.
	(gcj::verbose_class_flag): Move definition here.
	(_Jv_Linker::wait_for_state): Don't call verify_class
	if gcj::verifyClasses is not set.
	* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.

2005-05-12  Aaron Luchko  <aluchko@redhat.com>

	* gij.cc (main): Recognize '-verify', '-noverify', and
	'-verifyremote'

2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>

	* configure.host: Set IEEESPEC to -mieee for sh*-*-*.

2005-05-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (cond_gtk_gcjawt_ltlibrary): Rename libjawt.la
	libgcjawt.la.

2005-05-11  Tom Tromey  <tromey@redhat.com>

	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
	-fbootstrap-classes.
	* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
	friend.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Call _Jv_CopyClassesToSystemLoader.
	* java/lang/natClassLoader.cc (system_class_list): New global.
	(_Jv_RegisterClassHookDefault): Handle bootstrap and system
	classes differently.
	(_Jv_CopyClassesToSystemLoader): New function.
	(SYSTEM_LOADER_INITIALIZED): New define.
	* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
	(_Jv_CheckABIVersion): Use it.
	(_Jv_ClassForBootstrapLoader): New function.
	* Makefile.in: Rebuilt.
	* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.

2005-05-10  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated.
	* java/lang/String.java (String(StringBuilder)): New constructor.
	* java/lang/natStringBuilder.cc: New file.
	* java/lang/StringBuilder.java: New file.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added StringBuilder.java.
	(nat_source_files): Added natStringBuilder.cc.

2005-05-10  Paolo Bonzini  <bonzini@gnu.org>

	PR java/21436
	* testsuite/libjava.jacks/jacks.xfail: Adjust.

2005-05-09  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-05-09  David Daney  <ddaney@avtrex.com>

	* java/util/BitSet.java (get(int, int)): Fix breakage when
	requested set doesn't start on a multiple of 64.

2005-05-07  Matthias Klose  <doko@debian.org>

	* gnu/java/awt/peer/gtk/GtkVolatileImage.java: Add imports.

2005-05-06  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (gtk_awt_peer_sources): Add GtkVolatileImage.java.
	* Makefile.in: Regenerate.
	* gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java
	(createCompatibleVolatileImage(int,int)): Implement.
	(createCompatibleVolatileImage(int,int,ImageCapabilities)):
	Likewise.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (backBuffer, caps):
	New fields.
	(createVolatileImage): Implement.
	(createBuffers): Likewise.
	(getBackBuffer): Likewise.
	(flip): Likewise.
	(destroyBuffers): Likewise.
	* gnu/java/awt/peer/gtk/GtkVolatileImage.java: New file.
	* java/awt/Canvas.java (CanvasBltBufferStrategy): New class.
	(CanvasFlipBufferStrategy): Likewise.
	(createBufferStrategy(int)): New method.
	(createBufferStrategy(int,BufferCapabilities)): Likewise.
	* java/awt/Component.java (BltBufferStrategy): Implement and
	document class.
	(FlipBufferStrategy): Likewise.
	* java/awt/Window.java (WindowBltBufferStrategy): New class.
	(WindowFlipBufferStrategy): Likewise.
	(createBufferStrategy(int)): New method.
	(createBufferStrategy(int,BufferCapabilities)): Likewise.
	(getBufferStrategy): Likewise.
	* java/awt/BufferCapabilities.java (BufferCapabilities): Rename
	front to frontCaps and back to backCaps.

2005-05-06  Michael Koch  <konqueror@gmx.de>

	* java/awt/BufferCapabilities.java
	(BufferCapabilities): Merged javadoc.

2005-05-06  Michael Koch  <konqueror@gmx.de>

	* java/util/Locale.java
	(defaultLocale): Use gnu.classpath.SystemProperties to get properties.
	(getLocale): New methods. Use it everywhere where instances of Locales
	are needed.
	(getDisplayLanguage): Merged javadoc.
	(getDisplayCountry): Likewise.
	(getDisplayVariant): Likewise.

2005-05-06  Archie Cobbs  <archie@dellroad.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:
	use DeleteLocalRef() to avoid exhausting local native references.

2005-05-06  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	(window_delete_cb): Don't use C++ style comments.

2005-05-06  Robert Schuster  <thebohemian@gmx.net>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: Fixed
	copyright header.

2005-05-06  Robert Schuster  <thebohemian@gmx.net>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	(window_delete_cb): Made the function return TRUE.

2005-05-06  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/PlainView.java
	(drawUnselectedText): Call Utilities.drawTabbedText() with correct
	offset parameter.
	* javax/swing/text/Utilities.java
	(drawTabbedText): Initilialize local variable pos correctly.

2005-05-06  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/AbstractDocument.java
	(LeafElement): Made start and end package private fields for
	effective reindexing.
	* javax/swing/text/PlainDocument.java
	(constructor): The field rootElement is always BranchElement,
	so we handle it as such.
	(removeUpdate): Rewritten reindexing for removeUpdate so that
	the actual removal is taken into account.

2005-05-06  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/GapContent.java:
	Removed debugging output stuff, which I accidentally left in.

2005-05-06  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/GapContent.java:
	Implemented a real GapContent. Only the public methods have
	been implemented so far and still no UndoableEdit support.

2005-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* java/awt/BufferCapabilities.java (BufferCapabilities): Fix
	the typo.

2005-05-04  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/image/BufferStrategy.java: Document.

	* java/awt/BufferCapabilities.java: Document.

2005-05-04  Tom Tromey  <tromey@redhat.com>

	* java/nio/channels/FileLock.java (toString): Entirely avoid
	String "+".

2005-05-04  Andrew Overholt  <overholt@redhat.com>

	* java/nio/channels/FileLock.java (toString): Re-implement using
	StringBuffer.

2005-05-04  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/ImageCapabilities.java: Document.

	* java/awt/image/VolatileImage.java: Unindent copyright header.

2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/image/VolatileImage.java: Document.

2005-05-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
	(init_glib_threads): Check if threading system is already
	initialized.

2005-05-03  Andrew Overholt  <overholt@redhat.com>

	PR libgcj/21372:
	* gnu/java/nio/channels/FileChannelImpl.java: Return null if lock
	could not be acquired.
	* java/nio/channels/FileLock.java (toString): Re-implement to be
	in line with other implementations.

2005-05-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMSecurityManager.java (currentClassLoader): Use
	'systemClasssLoader' directly.

2005-05-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMSecurityManager.java (currentClassLoader): Don't
	call VMClassLoader.getSystemClassLoader.

2005-04-29  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java
	(static): Removed.
	(NetworkInterface(String,InetAddress)): Made package-private.
	(NetworkInterface(String,InetAddress[])): New constructor.
	(getRealNetworkInterfaces): Removed.
	(getByName): Use VMNetworkInterface.getInterfaces().
	(getByInetAddress): Likewise.
	(getNetworkInterfaces): Likewise.
	* java/net/VMNetworkInterface.java,
	java/net/natVMNetworkInterfaceNoNet.cc,
	java/net/natVMNetworkInterfacePosix.c,c
	java/net/natVMNetworkInterfaceWin32.cc: New files.
	* java/net/natNetworkInterfaceNoNet.cc,
	java/net/natNetworkInterfacePosix.cc,
	 java/net/natNetworkInterfaceWin32.cc: Removed.
	* configure.ac
	* Makefile.am
	* configure, Makefile.in: Regenerated.

2005-04-29  Andrew Haley  <aph@redhat.com>

	* java/lang/Class.h (_Jv_ResolvePoolEntry): Declare as friend.

2005-04-29  Dalibor Topic  <robilad@kaffe.org>

	* java/nio/channels/FileChannelImpl.java
	(FileChannelImpl(String, int)): Removed.
	(FileChannelImpl(File, int)): Added. Check if opened file is a
	directory.
	* java/io/FileInputStream.java(FileInputStream): Fixed javadocs.
	Call FileChannelImpl(File, int).
	* java/io/FileOutputStream.java (FileInputStream): Call
	FileChannelImpl(File, int).
	* java/io/RandomAccessFile.java (RandomAccessFile):
	Call FileChannelImpl(File, int). Switched constructors around.

2005-04-27  Andrew Haley  <aph@redhat.com>

	PR java/19285
	* prims.cc (_Jv_ResolvePoolEntry): New function.
	* include/jvm.h (_Jv_Linker::find_field): New arg: found_class.
	* link.cc (_Jv_Linker::find_field): New arg: found_class.
	(resolve_pool_entry): Initialize the class in which a field is
	found.
	(link_symbol_table): Pass new arg to found_class.

2005-04-29  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/Charset.java
	(provider): Reformatted.

2005-04-29  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/HTTPConnection.java:
	(userAgent): Initialize from system properties.
	(initUserAgent): Removed.

2005-04-29  Mark Wielaard  <mark@klomp.org>

	* java/util/ResourceBundle.java (getObject): Clarify
	MissingResourceException detailed message.
	(tryBundle(String,ClassLoader)): Likewise.

2005-04-29  Robert Schuster  <thebohemian@gmx.net>

	* java/beans/FeatureDescriptor.java:
	(getShortDescription): Implemented fallback mechanism and fixed
	documentation (fixes bug #12637).
	(getDisplayName): Dito.

2005-04-29  Robert Schuster  <thebohemian@gmx.net>

	* java/beans/Introspector.java: Fixed bug #12624, BeanDescriptors
	will now be set correctly.
	(flushCaches): Now flushes all cached intermediate data.

2005-04-28  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(aton): Fixed javadoc.
	(lookup): Likewise.

2005-04-28  Tom Tromey  <tromey@redhat.com>

	* javax/swing/Timer.java
	(drainEvents, queueEvent): Now package-private.

2005-04-28  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/Timer.java
	(constructor): Assigning initialDelay.

2005-04-28  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/Timer.java
	(Waker.run): firing the first action event.

2005-04-28  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Timer.java: Reordered all fields and methods,
	Added more javadocs.

2005-04-28  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Timer.java: Javadocs merged
	from GNU classpath.

2005-04-28  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/net/protocol/file/Connection.java
	(StaticData): New inner class to contain statics.
	(connect, getHeaderField): Modified to use StaticData.

2005-04-28  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java
	(lineSeparator): Initialize with SystemProperties.getProperty().

2005-04-27  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/file/Connection.java: Return correct content
	length for directory listing.
	* java/net/URLClassLoader.java: Correction for URLClassLoader, bug
	#11285: return valid URLs for directories.i

2005-04-27  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (ordinary_java_source_files): Add
	gnu/java/net/protocol/https/Handler.java.
	* Makefile.in: Regenerate.
	* java/net/URL.java: Remove org.metastatic.jessie from default
	protocol search path.

2005-04-27  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/https/Handler.java: New file.

2005-04-27  Jeroen Frijters  <jeroen@frijters.net>

	* javax/imageio/spi/IIORegistry.java (IIORegistry):
	Don't assume that awt Toolkit is always ClasspathToolkit.

2005-04-27  Chris Burdess  <dog@gnu.org>

	* java/net/protocol/http/HTTPURLConnection.java (connect): Accept
	absolute and relative paths in Location header.

2005-04-27  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPURLConnection.java: Throw
	FileNotFoundException and implement getErrorStream on 404.

2005-04-27  Sven de Marothy <sven@physto.se>

	* java/util/TimeZone.java,
	(getDefaultDisplayName): Fix previous fix.

2005-04-27  Sven de Marothy <sven@physto.se>

	* java/util/TimeZone.java,
	(getDefaultDisplayName): Don't print zero offsets.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollBarUI
	(getThumbBounds): Do not make thumb smaller than
	minimumThumbSize.
	* javax/swing/plaf/metal/MetalLookAndFeel
	(initComponentDefaults): Added color defaults for ScrollBar.
	* javax/swing/plaf/metal/MetalScrollBarUI
	(paintThumb): Added.
	(getMinimumThumbSize): Added.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel
	(initComponentDefaults): Added some default colors.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(configureScrollBarColors: Changed key 'ScrollBar.thumbLightShadow'
	to 'ScrollBar.thumbShadow'. The formes does not exist.
	(paintThumb): Use BasicGraphicsUtils for painting the thumb.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java: Added 2005 to copyright statement.
	* javax/swing/BoxLayout.java: Likewise.
	* javax/swing/UIManager.java: Likewise.
	* javax/swing/plaf/basic/BasicButtonListener.java: Likewise.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java: Likewise.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise.
	* javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise.
	* javax/swing/text/Document.java: Likewise.
	* javax/swing/text/GapContent.java: Likewise.
	* javax/swing/text/SimpleAttributeSet.java: Likewise.
	* javax/swing/tree/DefaultTreeSelectionModel.java: Likewise.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicToggleButtonUI.java:
	(getPropertyPrefix): Added.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicButtonUI.java
	(getPropertyPrefix): Added.
	(installDefaults): Use getPropertyPrefix instead of hard-coded
	prefix.

2005-04-27  Roman Kennke  <roman@kennke.org>

	* javax/swing/JToggleButton.java
	(JToggleButton): Removed horizontalAlignment setting, this
	was wrong. Added setting of an actionCommand, ToggleButtons
	have "" as default actionCommand.

2005-04-27  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/Charset.java (providers2): Renamed from 'providers'
	to work around CNI limitation.

2005-04-27  Sven de Marothy  <sven@physto.se>

	* java/nio/charset/Charset.java:
	(defaultCharset()): New method.
	Status updated to 1.5

2005-04-27  Sven de Marothy  <sven@physto.se>

	* java/nio/charset/Charset.java: Cached encoders shouldn't be static.

2005-04-27  Sven de Marothy  <sven@physto.se>

	* java/nio/charset/Charset.java: Reset cached de/encoders.

2005-04-27  Robert Schuster <thebohemian@gmx.net>

	* java/nio/charset/Charset.java (forName): Throws
	IllegalArgumentException when argument is null
	and added documentation.

2005-04-27  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/nio/charset/Charset.java (providers):
	New method to make an array of CharsetProviders defined in
	META-INF/services/java.nio.charset.spi.CharsetProvider.
	(charsetForName, availableCharsets): Use the
	new method providers().

2005-04-26  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java: Made all hexadecimal numbers lowercase.
	Fixed typos in javadocs.
	(isSiteLocalAddress): Fixed handling of byte values.
	(isMCLinkLocal): Likewise.
	* java/net/Inet4Address.java
	(isMulticastAddress): Call super method.
	(isLoopbackAddress): Likewise.
	(isAnyLocalAddress): Likewise.
	(isLinkLocalAddress): Likewise.
	(isSiteLocalAddress): Likewise.
	(isMCGlobal): Likewise.
	(isMCNodeLocal): Likewise.
	(isMCLinkLocal): Likewise.
	(isMCSiteLocal): Likewise.
	(isMCOrgLocal): Likewise.
	(getHostAddress): Likewise.

2005-04-26  Sven de Marothy  <sven@physto.se>

	* java/net/InetAddress.java
	(toString): Don't print empty hostnames.

2005-04-26  Luca Barbieri  <luca.barbieri@gmail.com>

	PR libgcj/21136:
	* gnu/java/nio/channels/FileChannelImpl.java (tryLock): Pass
	'false' to native lock().
	(lock): Pass 'true' to native lock().

2005-04-26  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Fixed typos in javadocs.

2005-04-26  Andrew Haley  <aph@redhat.com>

	PR libgcj/21020:
	* jni.cc (_Jv_JNI_GetAnyFieldID): Use class' loader to find
	field's type.

2005-04-26  Tom Tromey  <tromey@redhat.com>

	* javax/swing/text/html/parser/ParserDelegator.java (callBack,
	gnu): Now package-private.
	* javax/swing/text/html/parser/DocumentParser.java (parser,
	callBack, gnu): Now package-private.
	* javax/swing/text/StringContent.java (content, setOffset,
	checkLocation): Now package-private.
	* javax/swing/text/JTextComponent.java (doc): Now
	package-private.
	* javax/swing/plaf/basic/BasicToolBarUI.java (owner,
	lastGoodOrientation, origParent, borders, cachedBounds,
	cachedOrientation, DragWindow): Now package-private.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java (incrButton,
	decrButton, viewport, panel, currentScrollLocation, layoutManager,
	tabAreaRect, contentRect, createIncreaseButton,
	createDecreaseButton, findPointForIndex): Now package-private.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java
	(currentDividerLocation, moveDividerTo): Now package-private.
	* javax/swing/plaf/basic/BasicSliderUI.java (findClosestTick): Now
	package-private.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(calculatePreferredSize, valueForYPosition, valueForXPosition):
	Now package-private.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java
	(topWindowListener): Now package-private.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java (iconSize,
	OK_STRING, YES_STRING, NO_STRING, CANCEL_STRING): Now constants.
	(messageAreaContainer, buttonContainer, resetSelectedValue): Now
	package-private.
	* javax/swing/plaf/basic/BasicListUI.java (damageLayout): Now
	package-private.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java (title):
	Now package-private.
	* javax/swing/plaf/basic/BasicDesktopIconUI.java (button): Now
	package-private.
	* javax/swing/plaf/basic/BasicComboBoxUI.java (largestItemSize,
	borderInsets): Now package-private.
	(arrowButtonWidth): Likewise.  Now a constant.
	* javax/swing/plaf/basic/BasicColorChooserUI.java (chooser, pane,
	makeTabs, updatePreviewPanel): Now package-private.
	* javax/swing/plaf/basic/BasicArrowButton.java (shadow,
	darkShadow, highlight): Now package-private.
	* javax/swing/colorchooser/DefaultSwatchChooserPanel.java
	(addColorToQueue): Now package-private.
	* javax/swing/colorchooser/DefaultRGBChooserPanel.java
	(spinnerChange, sliderChange, updateChange, R, G, B, RSpinner,
	GSpinner, BSpinner): Now package-private.
	* javax/swing/colorchooser/DefaultHSBChooserPanel.java
	(gradientImage, trackImage, slider, hRadio, sRadio, bRadio,
	hSpinner, sSpinner, bSpinner, gradientPoint, internalChange,
	spinnerTrigger, locked, handlingMouse, updateImage, updateSlider,
	updateTrack): Now package-private.
	* javax/swing/TransferHandler.java (clipboard): Now
	package-private.
	* javax/swing/ToolTipManager.java (showTip, hideTip): Now
	package-private.
	* javax/swing/Timer.java (drainEvents, queueEvent): Now
	package-private.
	* javax/swing/RepaintManager.java (globalManager): Now
	package-private.
	* javax/swing/JFormattedTextField.java (editValid): Now
	package-private.
	* javax/swing/JColorChooser.java (makeModal): Now
	package-private.
	* java/awt/geom/GeneralPath.java (rule, types, xpoints, ypoints,
	index, path): Now package-private.
	* java/awt/geom/Area.java (solids, holes, cubicCubicIntersect,
	lineQuadIntersect, lineCubicIntersect, linesIntersect,
	pointEquals): Now package-private.
	* java/awt/geom/Arc2D.java (type): Now package-private.
	* java/awt/Window.java (windowFocusOwner): Now package-private.
	* java/awt/TextComponent.java (editable, selectionStart,
	selectionEnd, text, getIndexAtPoint, getCharacterBounds): Now
	package-private.
	* java/awt/MenuItem.java (actionCommand, enabled, label): Now
	package-private.
	* java/awt/MenuComponent.java (focusListener): Now
	package-private.
	* java/awt/Frame.java (state): Now package-private.
	* java/awt/Choice.java (pItems): Now package-private.
	* java/awt/Checkbox.java (state): Now package-private.
	* java/awt/Button.java (actionCommand, label): Now
	package-private.
	* gnu/javax/swing/text/html/parser/support/Parser.java
	(attributes, _handleEndTag_remaining, _handleStartTag): Now
	package-private.
	* gnu/java/beans/decoder/PersistenceParser.java (javaHandler): Now
	package-private.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java (paint, stroke, fg, bg,
	clip, transform, font, comp): Now package-private.

2005-04-26  Tom Tromey  <tromey@redhat.com>

	* java/awt/Robot.java (waitForIdle): Call invokeAndWait in a
	static way.

2005-04-26  Mark Wielaard  <mark@klomp.org>

	* java/net/URL.java (URL(URL,String,URLStreamHandler)): Add spec
	to MalformedURLException.

2005-04-26  Michael Koch  <konqueror@gmx.de>

	* java/security/AccessControlContext.java:
	Reformated.
	(protectedDomains): Renamed from 'protectionDomain'.
	* java/security/AccessController.java:
	Reformatted.

2005-04-26  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/security/action/GetSecurityPropertyAction.java
	(GetSecurityPropertyAction): Implement PrivilegedAction instead
	of extending GetPropertyAction.
	(name): New field.
	(value): Likewise.
	(setParamters): New methods.
	(GetSecurityPropertyAction): Use new setParameters methods.

2005-04-26  Jeroen Frijters  <jeroen@frijters.net>

	* java/security/Security.java,
	java/security/cert/X509CRLSelector.java,
	java/security/cert/X509CertSelector.java:
	Modified to use SystemProperties.

2005-04-26  Michael Koch  <konqueror@gmx.de>

	* java/lang/System.java
	(setSecurityManager): Fixed comment.
	(getSecurityManager): Removed obsolete comment.

2005-04-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/AWTKeyStroke.java (vktable): Now package-private.

2005-04-25  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(connectSignals): Realize the window widget after connecting
	signals.

2005-04-25  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/GraphicsEnvironment.java
	(localGraphicsEnvironment): New field.
	(getLocalGraphicsEnvironment): Added support for java.awt.graphicsenv
	property.
	(isHeadless): Added support for java.awt.headless property.
	(isHeadlessInstance): Call headless().

2005-04-25  Roman Kennke  <roman@kennke.org>

	* gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java
	(getDisplayMode): Added. Returns the current display mode.
	(isFullScreenSupported): Added.
	* java/awt/GraphicsDevice.java
	(setFullScreenWindow): Implemented a primitive fullscreen mode.
	This resizes and relocates the fullscreen window so that it uses
	the whole screen. This is not a fully accelerated fullscreen
	exclusive mode.

2005-04-25  Michael Koch  <konqueror@gmx.de>

	* java/lang/Runtime.java,
	java/lang/SecurityManager.java,
	java/lang/System.java,
	java/lang/ThreadGroup.java:
	Replaced java.lang.Runtime.securityManager by
	java.lang.SecurityManager.current (as used in GNU classpath).

2005-04-25  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/Transparency.java
	(getTransparency): fixed API docs.

2005-04-25  Archie Cobbs  <archie@dellroad.org>

	* java/lang/Throwable.java: simplify initializing cause in constructor

2005-04-25  Michael Koch  <konqueror@gmx.de>

	* gnu/classpath/SystemProperties.java: New file.
	* gnu/classpath/natSystemProperties.cc: New file.
	* java/lang/Runtime.java
	(defaultProperties): Removed.
	(static): Likewise.
	(): Made thrown exceptions more verbose.
	(insertSystemProperties): Removed.
	* java/lang/System.java
	(static): Likewise.
	(properties): Likewise.
	(setSecurityManager): Reordered modifiers.
	(getenv): Improved javadoc.
	(): Likewise.
	(isWordsBigEndian): Removed.
	* java/lang/natRuntime.cc
	(_Jv_SetDLLSearchPath): Likewise.
	(file_encoding): Likewise.
	(default_file_encoding): Likewise.
	(getpwuid_adaptor): Likewise.
	(insertSystemProperties): Likewise.
	* java/lang/natSystem.cc
	(isWordsBigEndian): Likewise.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/classpath/SystemProperties.java.
	(nat_source_files): Added gnu/classpath/natSystemProperties.cc.
	* Makefile.in: Regenerated.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(initDefaults): Initialize thumb*Color fields correctly.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/GapContent.java:
	Added API comments.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalBorders.java:
	Added inner class ScrollPaneBorder.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initComponentDefaults): Added default for "ScrollPane.border"
	to use the new ScrollPaneBorder.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/AbstractDocument.java:
	Added FIXME comments. This class still has to be
	implemented thread-safe.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/tree/DefaultTreeSelectionModel.java
	(DefaultTreeSelectionModel): Initialize listenerList here.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalTextFieldUI.java
	(createUI): Return one instance per Component instead of a
	shared instance.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/Document.java:
	Added API documentation comments.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/AbstractDocument.java
	(getDocumentProperties): Implemented.
	(setDocumentProperties): Implemented.
	(getProperty): Implemented.
	(putProperty): Implemented.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/BoxLayout
	(preferredLayoutSize): Fixed computation so that it correctly
	adds the top and bottom insets of the container.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicMenuItemUI.java
	(paintText): Make use of the 'selectionForeground' UI default
	for text painting.

2005-04-25  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initSystemColorDefaults): Modified colors to match the
	BasicLookAndFeel in the reference implementation.
	(initComponentDefaults): Likewise.

2005-04-25  Tom Tromey  <tromey@redhat.com>

	* include/jni.h (_Jv_va_list): Removed.
	Moved configuration code...
	* include/jni_md.h: ... here.  New file.
	* include/Makefile.in: Rebuilt.
	* include/Makefile.am (tool_include__HEADERS): Added jni_md.h.

2005-04-23  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/FileInputStream.java (FileInputStream(File)),
	java/io/FileOutputStream.java (FileOutputStream(File)):
	Removed unnecessary File.isDirectory() check.

2005-04-22  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/lib/libjava.exp (libjava_find_gij): Use $objdir/.. to find
	gij if get_multilibs fails.

2005-04-22  Anthony Green  <green@redhat.com>

	* jni.cc (natrehash): Don't bother clearing memory again.
	* interpret.cc (do_allocate_static_fields): Ditto.
	* java/lang/natString.cc (rehash): Ditto.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initComponentDefaults): Changed Button.border to be
	BasicBorders.getButtonBorder as it should be.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(getMaximumSize): Return (Short.MAX_VALUE, Short.MAX_VALUE) as it
	should according to a mauve testcase, instead of the preferred
	size.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/JMenu.java
	(add): add(Component) now calls PopupMenu.insert(..) instead of
	PopupMenu.add(..). add(..) is not implemented for Component,
	so JComponent.add(..) is called instead, adding the component
	in the wrong place.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicButtonListener.java
	(mousePressed): replaced query to getModifiersEx with getModifiers.
	This method relied on faulty behaviour in getModifierEx.
	(mouseReleased): replaced query to getModifiersEx with getModifiers.
	This method relied on faulty behaviour in getModifierEx.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(getDefaults): Call addCustomEntriesToTable on the theme.

2005-04-22  Roman Kennke  <roman@kennke.org>

	* javax/swing/tree/DefaultTreeSelectionModel.java
	(constructor): Added implementation.
	(getRowMapper): Added implementation.
	(setSelectionMode): Added implementation.
	(getSelectionMode): Added implementation.
	(getSelectionPath): Added implementation.
	(getSelectionPaths): Added implementation.
	(getSelectionCount): Added implementation.
	(isSelectionEmpty): Added implementation.
	(getSelectionRows): Added implementation.
	(getMinSelectionRow): Added implementation.
	(getMaxSelectionRow): Added implementation.
	(getLeadSelectionRow): Added implementation.
	(getLeadSelectionPath): Added implementation.

2005-04-22  Casey Marshall <csm@gnu.org>

	* gnu/java/security/der/DERValue.java
	(getValueAs): new method.
	* gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java
	(<init>): read both dates with 'DERValue.getValueAs', with
	'GENERALIZED_TIME' as the argument.

2005-04-22  Andrew Pinski  <pinskia@physics.uc.edu>

	* gnu/gcj/runtime/NameFinder.java (close): IN, OUT, and PROC can all
	be null, check for that case and don't deference it.

2005-04-22  Sven de Marothy  <sven@physto.se>

	* java/util/logging/LogManager.java: Reformatted.
	(readConfiguration): If a logger for a key is not found, create one.

2005-04-22  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/rmi/Naming.java:
	Added class documentation.
	(lookup(String)): Call parseURL and getName.
	(bind(String,java.rmi.Remote)): Likewise.
	(unbind(String)): Likewise.
	(rebind(String, java.rmi.Remote)): Likewise.
	(list(String)): Call parseURL.
	(parseURL(String)): New method to handle parsing and defaults.
	(getName(java.net.URL)): New method to handle finding the service name.

2005-04-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClass.cc (initializeClass): Link class.

2005-04-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/AssertionError.java: Typo fix.

2005-04-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMClassLoader.java (transformException): Removed.
	(resolveClass): No longer native.  Now does nothing.
	* java/lang/natVMClassLoader.cc (resolveClass): Removed.

2005-04-21  Anthony Green  <green@redhat.com>

	PR libgcj/21115
	* testsuite/libjava.special/special.exp,
	testsuite/libjava.special/pr21115I.java,
	testsuite/libjava.special/pr21115.java,
	testsuite/libjava.special/pr21115.out: New files.

2005-04-21  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/CRLFInputStream.java: Rewrite to return
	CRLF-delimited chunks.

2005-04-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/net/URI.java:
	Added class documentation.
	(parseURI(String)): Only handle scheme-specific parts
	if URI is not opaque.  Allow for parts that can't be null.
	(toString()): Output the scheme-specific part whole, rather
	than as its possibly non-existent components.

2005-04-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URI.java (AUTHORITY_REGEXP): Corrected regexp.
	(AUTHORITY_USERINFO_GROUP,AUTHORITY_HOST_GROUP,AUTHORITY_PORT_GROUP):
	Adjusted to match new regexp.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java,
	gnu/java/net/protocol/jar/Connection.java:
	Reorganized import statements. Fixed @author tags.

2005-04-20  Chris Burdess  <dog@gnu.org>

	* java/io/DataOutputStream.java (writeUTF): Use block write for
	output.

2005-04-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/DataInputStream.java (ignoreInitialNewline): Removed
	(readLine): Changed newline handling.

2005-04-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/image/PixelGrabber.java (setPixels(int,int,int,int,
	ColorModel,byte[],int,int): Fixed byte to int conversion.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* java/io/FilePermission.java
	(serialVersionUID): Made private.
	(ALL_FILES): New constant.
	(implies): Handle '<<ALL FILES>>' case.

2005-04-20  Sven de Marothy  <sven@physto.se>

	* gnu/java/awt/peer/gtk/GdkGraphics.java:
	(drawImage): Don't notify the image observer for offscreen images.
	* gnu/java/awt/peer/gtk/GtkImagePainter.java:
	(setPixels): Don't notify the image observer.

2005-04-20  Sven de Marothy  <sven@physto.se>

	* java/nio/ByteBufferImpl.java:
	(putChar): Inlined for speed.
	(put, get): Bulk methods can use arraycopy.
	* java/nio/CharBufferImpl.java:
	(put, get): Bulk methods can use arraycopy.

2005-04-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/nio/ByteBufferImpl.java (get(), put(byte)): Inlined checks
	and field updates.
	* java/nio/CharBufferImpl.java
	(CharBufferImpl(CharBufferImpl)): Copy array_offset field.
	(get(), put(char)): Inlined checks and field updates. Fixed to
	take array_offset into account.
	(get(int), put(int, char)): Fixed to take array_offset into account.

2005-04-20  Sven de Marothy  <sven@physto.se>

	* java/text/SimpleDateFormat.java:
	(formatWithAttribute): Pad year before truncating digits.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainDatagramSocketImpl.java:
	Merged copyright header.
	* gnu/java/net/PlainSocketImpl.java:
	Reorganized import statements. Fixed @author tags.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ClassHelper.java,
	gnu/java/lang/reflect/TypeSignature.java:
	Fixed @author tag.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/beans/IntrospectionIncubator.java:
	Fixed HTML tags in javadocs.

2005-04-20  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/beans/IntrospectionIncubator.java
	(addToPropertyHash, addToListenerHash): Don't confuse get(),
	set(), is(), add() and remove() with properties or events.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/image/XBMDecoder.java:
	Fixed modifier order.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicButtonUI.java
	(paint): This should not care about margin and insets
	at the same time, as insets already include the margin
	through the border.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java
	(getPreferredButtonSize): Likewise.
	* javax/swing/plaf/metal/MetalBorders.java
	(getBorderInsets): Likewise.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicOptionPaneUI.java
	(createMessageArea): The JPanel that holds the message area
	doesn't need to override getPreferredSize. This prevents some
	message components from rendering nicely.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalInternalFrameUI.java
	(createUI): Do not share instances between components.
	* javax/swing/plaf/metal/MetalSliderUI.java
	(createUI): Do not share instances between components.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalBorders:
	(PopupMenuBorder): Added.
	* javax/swing/plaf/metal/MetalLookAndFeel
	(initComponentDefaults): Added PopupMenuBorder.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/tree/DefaultTreeSelectionModel.java:
	Added API documentation all over the class.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollPaneUI.java
	(installDefaults): Link managed JScrollPane in instance field.
	(uninstallDefaults): Unlink managed JScrollPane in instance field.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(PropertyChangeHandler.propertyChange): Add default
	to switch statement to avoid errors with unusual values
	for orientation.
	(installComponents): Likewise.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalScrollBarUI.java:
	(createUI): Instances cannot be shared among JScrollPanes.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initComponentDefaults): Added defaults for Menu, MenuBar
	MenuEntry fonts.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(installUI): Install listeners after everything all, otherwise
	we get strange NPEs in some situations, especially with
	custom L&Fs.
	(createIncreaseButton): Orientation is expected to be
	SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
	HORIZONTAL or VERTICAL.
	(createDecreaseButton): Orientation is expected to be
	SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
	HORIZONTAL or VERTICAL.
	(installComponents): Orientation for buttons is expected to be
	SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
	HORIZONTAL or VERTICAL.

2005-04-20  Roman Kennke  <roman@kennke.org>

	* javax/swing/JToolBar.java
	(addImpl): Adjust added AbstractButtons to look and feel like
	toolbar buttons.
	* javax/swing/plaf/metal/MetalBorders.java:
	Adjusted insets of ButtonBorder.
	(RolloverMarginBorder): Added class for toolbar buttons.
	(getButtonBorder): Adjusted factory method to return a shared
	instance of button border.
	(getToolbarButtonBorder): Added factory method to return a shared
	instance of toolbar button border.
	(getMarginBorder): Added factory method to return a shared
	instance of margin border.
	* javax/swing/plaf/metal/MetalButtonUI.java
	(installDefauls): If button is child of a JToolBar then set
	special border on this button.

2005-04-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(getContent): Fixed javadoc comment.

2005-04-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/net/URL.java:
	(toURI()): Implemented.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(InetAddress): Fixed javadoc comment.
	(aton): Likewise.
	(lookup): Added javadoc.
	(getFamily): Likewise.
	* java/net/ServerSocket.java
	(getChannel): Improved javadoc comment.

2005-04-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/xml/dom/html2/DomHTMLParser.java:
	Changed 'enum' references to become 'enumeration'.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* gnu/xml/dom/html2/DomHTMLParser.java: New file.

2005-04-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/javax/swing/text/html/parser/htmlAttributeSet.java:
	(getAttributeNames()): Replaced 'enum' with 'enumeration'.
	* gnu/javax/swing/text/html/parser/htmlValidator.java:
	(validateParameters(TagElement,htmlAttributeSet)):
	Replaced 'enum' with 'enumeration'.
	(validateAttribute(TagElement,htmlAttributeSet,Enumeration,Enumeration)):
	Likewise.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/text/html/parser/Entity.java (getType): New method.
	* javax/swing/text/html/parser/DocumentParser.java:
	Inherit from javax.swing.text.html.parser.Parser.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/html2/DomHTMLDocument.java: Fixed element creation and
	check for HTML/XHTML namespace.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/text/html/parser/Parser.java,
	javax/swing/text/html/parser/Entity.java:
	Inheriting from DTDConstants.
	* javax/swing/text/html/parser/AttributeList.java
	(getValues): Changed return type.
	* javax/swing/text/html/parser/DocumentParser
	(parse): Adding the callback parameter that receives
	the parsing events.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/DomImpl.java,
	gnu/xml/dom/html2/DomHTMLAnchorElement.java,
	gnu/xml/dom/html2/DomHTMLDocument.java,
	gnu/xml/dom/html2/DomHTMLElement.java,
	gnu/xml/dom/html2/DomHTMLFormElement.java,
	gnu/xml/dom/html2/DomHTMLFrameElement.java,
	gnu/xml/dom/html2/DomHTMLIFrameElement.java,
	gnu/xml/dom/html2/DomHTMLImpl.java,
	gnu/xml/dom/html2/DomHTMLInputElement.java,
	gnu/xml/dom/html2/DomHTMLObjectElement.java,
	gnu/xml/dom/html2/DomHTMLOptionElement.java,
	gnu/xml/dom/html2/DomHTMLSelectElement.java,
	gnu/xml/dom/html2/DomHTMLTableCellElement.java,
	gnu/xml/dom/html2/DomHTMLTableElement.java,
	gnu/xml/dom/html2/DomHTMLTableRowElement.java,
	gnu/xml/dom/html2/DomHTMLTableSectionElement.java,
	gnu/xml/dom/html2/DomHTMLTextAreaElement.java: JAXP integration,
	UI events, and tree utility functions.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* gnu/javax/swing/text/html/parser/HTML_401F.java,
	gnu/javax/swing/text/html/parser/gnuDTD.java,
	gnu/javax/swing/text/html/parser/models/node.java:
	Reworked import statements.

2005-04-19  Audrius Meskauskas, Lithuania  <AudriusA@Bioinformatics.org>

	* javax/swing/text/html/HTMLDocument.java: New file.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/html/HTMLFrameHyperlinkEvent.java:
	Reformatted.
	* javax/swing/text/html/parser/AttributeList.java:
	Fixed order of modifiers.
	(AttributeList): Made final.
	* javax/swing/text/html/parser/ContentModel.java:
	Fixed html characters in javadocs.
	* javax/swing/text/html/parser/DTD.java
	(DTD): Don't implement java.io.Serializable directly.
	(getElement): Simplified.
	* javax/swing/text/html/parser/DTDConstants.java:
	Reformatted file.
	* javax/swing/text/html/parser/Element.java:
	Fixed order of modifiers.
	* javax/swing/text/html/parser/Parser.java:
	Reformatted. Don't use fully-qualified class names.
	* javax/swing/text/html/parser/ParserDelegator.java:
	Fixed order of modifiers.
	* javax/swing/text/rtf/RTFParser.java:
	Re-ordered import statements.
	* javax/swing/text/rtf/RTFScanner.java:
	Removed unused import statement.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/html2/DomHTMLButtonElement.java,
	gnu/xml/dom/html2/DomHTMLCollection.java,
	gnu/xml/dom/html2/DomHTMLDocument.java,
	gnu/xml/dom/html2/DomHTMLElement.java: Extensions for new element
	types.
	* gnu/xml/dom/html2/DomHTMLDListElement.java,
	gnu/xml/dom/html2/DomHTMLDirectoryElement.java,
	gnu/xml/dom/html2/DomHTMLDivElement.java,
	gnu/xml/dom/html2/DomHTMLFieldSetElement.java,
	gnu/xml/dom/html2/DomHTMLFontElement.java,
	gnu/xml/dom/html2/DomHTMLFormElement.java,
	gnu/xml/dom/html2/DomHTMLFrameElement.java,
	gnu/xml/dom/html2/DomHTMLFrameSetElement.java,
	gnu/xml/dom/html2/DomHTMLHRElement.java,
	gnu/xml/dom/html2/DomHTMLHeadElement.java,
	gnu/xml/dom/html2/DomHTMLHeadingElement.java,
	gnu/xml/dom/html2/DomHTMLHtmlElement.java,
	gnu/xml/dom/html2/DomHTMLIFrameElement.java,
	gnu/xml/dom/html2/DomHTMLImageElement.java,
	gnu/xml/dom/html2/DomHTMLInputElement.java,
	gnu/xml/dom/html2/DomHTMLIsIndexElement.java,
	gnu/xml/dom/html2/DomHTMLLIElement.java,
	gnu/xml/dom/html2/DomHTMLLabelElement.java,
	gnu/xml/dom/html2/DomHTMLLegendElement.java,
	gnu/xml/dom/html2/DomHTMLLinkElement.java,
	gnu/xml/dom/html2/DomHTMLMapElement.java,
	gnu/xml/dom/html2/DomHTMLMenuElement.java,
	gnu/xml/dom/html2/DomHTMLMetaElement.java,
	gnu/xml/dom/html2/DomHTMLModElement.java,
	gnu/xml/dom/html2/DomHTMLOListElement.java,
	gnu/xml/dom/html2/DomHTMLObjectElement.java,
	gnu/xml/dom/html2/DomHTMLOptGroupElement.java,
	gnu/xml/dom/html2/DomHTMLOptionElement.java,
	gnu/xml/dom/html2/DomHTMLParagraphElement.java,
	gnu/xml/dom/html2/DomHTMLParamElement.java,
	gnu/xml/dom/html2/DomHTMLPreElement.java,
	gnu/xml/dom/html2/DomHTMLQuoteElement.java,
	gnu/xml/dom/html2/DomHTMLScriptElement.java,
	gnu/xml/dom/html2/DomHTMLSelectElement.java,
	gnu/xml/dom/html2/DomHTMLStyleElement.java,
	gnu/xml/dom/html2/DomHTMLTableCaptionElement.java,
	gnu/xml/dom/html2/DomHTMLTableCellElement.java,
	gnu/xml/dom/html2/DomHTMLTableColElement.java,
	gnu/xml/dom/html2/DomHTMLTableElement.java,
	gnu/xml/dom/html2/DomHTMLTableRowElement.java,
	gnu/xml/dom/html2/DomHTMLTableSectionElement.java,
	gnu/xml/dom/html2/DomHTMLTextAreaElement.java,
	gnu/xml/dom/html2/DomHTMLTitleElement.java,
	gnu/xml/dom/html2/DomHTMLUListElement.java: New files.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/text/ChangedCharSetException.java,
	javax/swing/text/html/HTMLEditorKit.java,
	javax/swing/text/html/HTMLFrameHyperlinkEvent.java,
	javax/swing/text/html/parser/AttributeList.java,
	javax/swing/text/html/parser/ContentModel.java,
	javax/swing/text/html/parser/DocumentParser.java,
	javax/swing/text/html/parser/DTD.java,
	javax/swing/text/html/parser/DTDConstants.java,
	javax/swing/text/html/parser/Element.java,
	javax/swing/text/html/parser/Entity.java,
	javax/swing/text/html/parser/Parser.java,
	javax/swing/text/html/parser/TagElement.java,
	gnu/javax/swing/text/html/package.html,
	gnu/javax/swing/text/html/parser/gnuDTD.java,
	gnu/javax/swing/text/html/parser/HTML_401F.java,
	gnu/javax/swing/text/html/parser/htmlAttributeSet.java,
	gnu/javax/swing/text/html/parser/htmlValidator.java,
	gnu/javax/swing/text/html/parser/package.html,
	gnu/javax/swing/text/html/parser/models/list.java,
	gnu/javax/swing/text/html/parser/models/node.java,
	gnu/javax/swing/text/html/parser/models/noTagModel.java,
	gnu/javax/swing/text/html/parser/models/package.html,
	gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java,
	gnu/javax/swing/text/html/parser/models/TableRowContentModel.java,
	gnu/javax/swing/text/html/parser/models/transformer.java,
	gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java,
	gnu/javax/swing/text/html/parser/support/package.html,
	gnu/javax/swing/text/html/parser/support/parameterDefaulter.java,
	gnu/javax/swing/text/html/parser/support/Parser.java,
	gnu/javax/swing/text/html/parser/support/textPreProcessor.java,
	gnu/javax/swing/text/html/parser/support/low/Buffer.java,
	gnu/javax/swing/text/html/parser/support/low/Constants.java,
	gnu/javax/swing/text/html/parser/support/low/Location.java,
	gnu/javax/swing/text/html/parser/support/low/node.java,
	gnu/javax/swing/text/html/parser/support/low/package.html,
	gnu/javax/swing/text/html/parser/support/low/ParseException.java,
	gnu/javax/swing/text/html/parser/support/low/pattern.java,
	gnu/javax/swing/text/html/parser/support/low/Queue.java,
	gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java:
	New files.
	* javax/swing/text/html/HTML.java,
	javax/swing/text/html/parser/ParserDelegator.java:
	New files (replacing).
	* javax/swing/text/html/package.html,
	javax/swing/text/html/parser/package.html: Documenting the
	packages.

2005-04-19  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/html2/DomHTMLAnchorElement.java,
	gnu/xml/dom/html2/DomHTMLAppletElement.java,
	gnu/xml/dom/html2/DomHTMLAreaElement.java,
	gnu/xml/dom/html2/DomHTMLBaseElement.java,
	gnu/xml/dom/html2/DomHTMLBaseFontElement.java,
	gnu/xml/dom/html2/DomHTMLBodyElement.java,
	gnu/xml/dom/html2/DomHTMLBRElement.java,
	gnu/xml/dom/html2/DomHTMLButtonElement.java,
	gnu/xml/dom/html2/DomHTMLCollection.java,
	gnu/xml/dom/html2/DomHTMLDocument.java,
	gnu/xml/dom/html2/DomHTMLElement.java: New files.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/JTextComponent.java
	(JTextComponent): Added repaintListener which issues repaint
	requests when the underlying document changes.
	(setDocument): Adds repaintListener to document when the
	document is changed.
	* javax/swing/text/DefaultEditorKit.java:
	Removed repaint calls on JTextComponent. This is now handled
	through a DocumentListener in JTextComponent that repaints
	the component when needed.

2005-04-19  Roman Kennke  <roman@kennke.org>

	PR libgcj/21064
	* javax/swing/text/StyleContext.java
	(NamedStyle.setResolveParent): Added null
	pointer check.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/RemoteObject.java:
	Removed unused import statement.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java: Formatting cleanups.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/FontMetrics.java: Reformatted.
	(getFontRenderContext): Handle case when java.awt.Graphics context is
	given.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/FontMetrics.java
	(getStringBounds): New methods.


2005-04-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java
	(parse): Handle val == null case.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initComponentDefaults): Added defaults for Menu, MenuBar
	MenuEntry fonts.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initComponentDefaults): Added Label.font.
	(initSystemColorDefaults): Added this method and adjusted the
	general control color.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalBorders.java:
	Added.
	* javax/swing/plaf/metal/MetalButtonUI.java:
	(installDefaults): Install button font.
	* javax/swing/plaf/metal/MetalLookAndFeel.java:
	(initComponentDefaults): Added button border, font and margin.
	Changed components background color to the Metal current themes
	standard color.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initComponentDefaults): Added to set Metal specific component
	defaults.

2005-04-19  Mark Wielaard  <mark@klomp.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initClassDefaults): Call super.initClassDefaults().

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(initClassDefaults): Added to include the *UI classes.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalComboBoxUI.java:
	Added.
	* javax/swing/plaf/metal/MetalDesktopIconUI.java:
	Added.
	* javax/swing/plaf/metal/MetalInternalFrameUI.java:
	Added.
	* javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java:
	Added.
	* javax/swing/plaf/metal/MetalProgressBarUI.java:
	Added.
	* javax/swing/plaf/metal/MetalRootPaneUI.java:
	Added.
	* javax/swing/plaf/metal/MetalScrollBarUI.java:
	Added.
	* javax/swing/plaf/metal/MetalSeparatorUI.java:
	Added.
	* javax/swing/plaf/metal/MetalSliderUI.java:
	Added.
	* javax/swing/plaf/metal/MetalSplitPaneUI.java:
	Added.
	* javax/swing/plaf/metal/MetalTextFieldUI.java:
	Added.
	* javax/swing/plaf/metal/MetalToggleButtonUI.java:

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/metal/MetalButtonUI.java:
	Added skeleton class.
	* javax/swing/plaf/metal/MetalCheckBoxUI.java:
	Added skeleton class.
	* javax/swing/plaf/metal/MetalLabelUI.java:
	Added skeleton class.
	* javax/swing/plaf/metal/MetalRadioButtonUI.java:
	Added skeleton class.
	* javax/swing/plaf/metal/MetalScrollPaneUI.java:
	Added skeleton class.
	* javax/swing/plaf/metal/MetalTabbedPaneUI.java:
	Added skeleton class.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/UIDefaults.java:
	Added API documentation for all methods.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/UIDefaults.java
	(put): Now uses new checkAndPut method instead of checking
	directly.
	(putDefaults): Fixed so that it accepts null-values and
	treats them like remove(key).
	(checkAndPut): Added. This checks for null-values and calls
	put or remove.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-04-19  Mark Wielaard  <mark@klomp.org>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.class.path to CLASSPATH only when not empty. Fall back to
	default path "." when java.class.path is empty.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/rtf/ControlWordToken.java,
	javax/swing/text/rtf/RTFEditorKit.java,
	javax/swing/text/rtf/RTFParseException.java,
	javax/swing/text/rtf/RTFParser.java,
	javax/swing/text/rtf/RTFScanner.java,
	javax/swing/text/rtf/TextToken.java,
	javax/swing/text/rtf/Token.java: New files.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/geom/QuadCurve2D.java:
	Fixed Brian Gough's name for real.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/UIManager.java:
	Make the UIManager respect the swing.defaultlaf system
	property.

2005-04-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/natVMClassLoader.cc (loadClass): Call resolveClass,
	not _Jv_InitClass.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	Fixed tabs to spaces.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/plaf/basic/BasicMenuUI.java
	(getMaximumSize): Now returns preferredSize because JMenu should
	never be bigger than that.
	* javax/swing/JRootPane
	(RootLayout.layoutContainer): Make JMenuBars take the whole width.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/JRootPane.java:
	Fixed various tabs to be spaces.
	(RootLayout.layoutContainer): Made menubar left aligned.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/JList.java
	(getPreferredScrollableViewportSize):
	The previous implementation was merely guessing the size,
	now it respects layoutOrientation, visibleRowCount
	and preferredSize.
	(getScrollableTracksViewportHeight):
	Reimplemented so that layoutOrientation, visibleRowCount
	and preferred size are respected.
	(getScrollableTracksViewportWidth):
	Reimplemented so that layoutOrientation, visibleRowCount
	and preferred size are respected.
	* javax/swing/plaf/basic/BasicListUI.java
	(getPreferredSize):
	Improved calculation of preferredSize when JList is
	set to HORIZONTAL_WRAP or VERTICAL_WRAP.
	(getCellBounds):
	The previous implementation assumed a layoutOrientation of
	JList.VERTICAL, now also ok with JList.HORIZONTAL_WRAP and
	JList.VERTICAL_WRAP.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/plaf/basic/BasicListUI.java
	(paintCell): use CellRendererPane for painting the cells.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/plaf/basic/BasicListUI:
	fixed modifiers of several fields, methods and inner
	classes to match the 'spec'.
	(getMaximumSize): removed. It's not in the spec and the
	implementations was superfluous.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/plaf/basic/BasicListUI:
	make BasicListUI capable of wrapping lists
	(layoutOrientation property of javax.swing.JList)

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/plaf/basic/BasicListUI
	(updateLayoutState,paint): make BasicListUI aware of the
	width of the rendered JList.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/ImageIcon.java
	Added API documentation.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/text/ImageIcon.java
	(ImageIcon): Use setImage instead of direct assignment.
	(setImage): Call loadImage to make sure that the image is loaded.
	(loadImage): Waits for the image to complete loading.
	(getImageLoadStatus): Added. Returns the load status of the
	image.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/JTextArea.java (replaceRange):
	Fixing doc.remove(start, length) misinterpretation.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/CellRendererPane.java:
	implemented all methods of this class.
	reformatted all wrong formatted code.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/BoxLayout.java:
	(layoutContainer): Made this layout manager respect the
	minimum, maximum and preferred size more correctly.

2005-04-19  Roman Kennke  <roman@ontographics.com>

	* javax/swing/BoxLayout.java:
	(preferredLayoutSize,minimumLayoutSize,maximumLayoutSize,
	layoutContainer): Make these methods and thereby the
	BoxLayout respect the insets (like borders) of the
	component that is laid out.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* javax/swing/JComponent.java:
	Modified alignmentX and alignmentY to be 0.5 instead of 0.0.
	Untabified the file.

2005-04-19  Audrius Meskauskas  <audriusa@bluewin.ch>

	* javax/swing/JComboBox.java (constructors): selecting the
	first item if the box was constructed from the provided
	non - empty array or vector.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(getClipBounds): Handle clip being null.
	(setClip): Likewise.
	* java/beans/beancontext/BeanContextSupport.java
	(add): Implemented.
	(addAll): Likewise.
	(clear): Likewise.
	(removeAll): Likewise.
	(retainAll): Likewise.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextServicesSupport.java
	(BeanContextServicesSupport): Reimplemented.
	(addBeanContextServicesListener): Implemented.
	(initialize): Likewise.
	(removeBeanContextServicesListener): Likewise.
	* java/beans/beancontext/BeanContextSupport.java
	(add): Likewise.
	(addBeanContextMembershipListener): Likewise.
	(getLocale): Likewise.
	(initialize): Likewise.
	(iterator): Likewise.
	(remove): Likewise.
	(toArray): Likewise.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java:
	Reindented tabs to spaces.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java
	(MediaEntry.imageUpdate): Removed check for SOMEBITS, this
	confused the media tracker and lead to lockups. The LOADING
	bit is handled on other places.
	(addImage): Removed the 'start image tracking' stuff. This
	is not necessary and could confuse the media tracker.
	(checkAll): Improved the check for image status so that
	images that already complete images are detected. Also now
	are really all images checked and if necessary loaded. Before
	the method bailed out after the first incomplete image.
	(statusAll): Detect images that are complete after the
	call to Component.prepareImage(..).
	(checkID): The same as in checkAll.
	(statusID): The same as in statusAll.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java
	(addImage): Synchronized list access.
	(waitForAll): Fixed comparison of time (changed < to >).
	(waitForID): Fixed comparison of time (changed < to >).
	(removeImage): Synchronized list access.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java
	Added API documentation.

2005-04-19  Roman Kennke  <roman@kennke.org>

	* java/awt/MediaTracker.java
	(MediaEntry.imageUpdate): Fixed flags. The different flags
	must not be ORed together.
	(checkAll): Modified to handle different meaning of the flags.
	(waitForAll): Fixed so that it waits maximum the
	specified amount of milliseconds.
	(statusAll): Modified to handle different meaning of the flags.
	(waitForID): Fixed so that it waits maximum the
	specified amount of milliseconds.

2005-04-19  vid Gilbert <david.gilbert@object-refinery.com>

	* java/awt/Font.java (decode): Handle null argument and allow
	space as delimiter.

2005-04-19  Robert Schuster <thebohemian@gmx.net>

	* java/beans/EventHandler.java: Reworked documentation.
	(invoke): Fixed behavior to match spec.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/PrinterJob.java
	(pageDialog): New method.
	(printDialog): Implemented.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/ConvolveOp.java:
	Removed comment added by eclipse.

2005-04-19  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/awt/image/IndexColorModel.java
	(getRGB): Check if pixel is negative.

2005-04-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/RasterOp.java:
	Fixed wrong formatting.

2005-04-18  Roman Kennke  <roman@kennke.org>

	* java/awt/Compmonent.java
	(setComponentOrientation): Made this property firing a
	PropertyChangeEvent.

2005-04-18  Roman Kennke  <roman@kennke.org>

	* java/awt/BorderLayout.java
	(calcSize): Check for overflow when component sizes are added.

2005-04-18  Robert Schuster <thebohemian@gmx.net>

	* java/awt/AWTEvent.java (toString): Added case
	for source not being an AWT component.

2005-04-18  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/BASE64.java: Truncate encoded byte array.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	gnu/java/awt/EmbeddedWindowSupport.java,
	gnu/java/net/HeaderFieldHelper.java,
	gnu/java/net/URLParseError.java,
	gnu/java/net/protocol/file/Handler.java,
	gnu/java/net/protocol/jar/Handler.java:
	Fixed usage of @author tag.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/xml/aelfred2/XmlParser.java:
	Reverted my typo fix.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* java/awt/geom/CubicCurve2D.java,
	java/awt/geom/QuadCurve2D.java:
	Fixed mentioning of Brian Gouph.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/Buffers.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/image/XBMDecoder.java,
	gnu/java/awt/peer/ClasspathFontPeer.java,
	gnu/java/net/CRLFInputStream.java,
	gnu/java/net/EmptyX509TrustManager.java,
	gnu/java/net/LineInputStream.java,
	gnu/java/net/protocol/ftp/ActiveModeDTP.java,
	gnu/java/net/protocol/ftp/BlockInputStream.java,
	gnu/java/net/protocol/ftp/CompressedInputStream.java,
	gnu/java/net/protocol/ftp/DTP.java,
	gnu/java/net/protocol/ftp/DTPInputStream.java,
	gnu/java/net/protocol/ftp/FTPConnection.java,
	gnu/java/net/protocol/ftp/FTPURLConnection.java,
	gnu/java/net/protocol/ftp/PassiveModeDTP.java,
	gnu/java/net/protocol/ftp/StreamInputStream.java,
	gnu/java/net/protocol/http/ChunkedInputStream.java,
	gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPURLConnection.java,
	gnu/java/net/protocol/http/Headers.java,
	gnu/java/net/protocol/http/Request.java,
	gnu/java/nio/ChannelInputStream.java,
	gnu/java/nio/ChannelOutputStream.java,
	gnu/java/nio/InputStreamChannel.java,
	gnu/java/nio/OutputStreamChannel.java,
	gnu/java/nio/SelectorProviderImpl.java,
	gnu/java/rmi/RMIMarshalledObjectInputStream.java,
	gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/registry/RegistryImpl.java,
	gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/rmi/server/RMIDefaultSocketFactory.java,
	gnu/java/rmi/server/RMIIncomingThread.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/RMIObjectOutputStream.java,
	gnu/java/rmi/server/RMIVoidValue.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRef.java,
	gnu/java/rmi/server/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastRemoteStub.java,
	gnu/java/rmi/server/UnicastServerRef.java,
	gnu/java/security/OID.java,
	gnu/java/security/der/DERReader.java,
	gnu/java/security/provider/CollectionCertStoreImpl.java,
	gnu/java/security/provider/DSAParameterGenerator.java,
	gnu/java/security/provider/DefaultPolicy.java,
	gnu/java/security/provider/EncodedKeyFactory.java,
	gnu/java/security/provider/GnuDHPublicKey.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/GnuRSAPrivateKey.java,
	gnu/java/security/provider/GnuRSAPublicKey.java,
	gnu/java/security/provider/PKIXCertPathValidatorImpl.java,
	gnu/java/security/provider/RSA.java,
	gnu/java/security/provider/SHA1PRNG.java,
	gnu/java/security/provider/SHA1withRSA.java,
	gnu/java/security/provider/X509CertificateFactory.java,
	gnu/java/security/x509/GnuPKIExtension.java,
	gnu/java/security/x509/X500DistinguishedName.java,
	gnu/java/security/x509/X509CRL.java,
	gnu/java/security/x509/X509CRLEntry.java,
	gnu/java/security/x509/X509CertPath.java,
	gnu/java/security/x509/X509CertSelectorImpl.java,
	gnu/java/security/x509/X509Certificate.java,
	gnu/java/security/x509/ext/AuthorityKeyIdentifier.java,
	gnu/java/security/x509/ext/BasicConstraints.java,
	gnu/java/security/x509/ext/CRLNumber.java,
	gnu/java/security/x509/ext/CertificatePolicies.java,
	gnu/java/security/x509/ext/ExtendedKeyUsage.java,
	gnu/java/security/x509/ext/Extension.java,
	gnu/java/security/x509/ext/GeneralNames.java,
	gnu/java/security/x509/ext/IssuerAlternativeNames.java,
	gnu/java/security/x509/ext/KeyUsage.java,
	gnu/java/security/x509/ext/PolicyConstraint.java,
	gnu/java/security/x509/ext/PolicyMappings.java,
	gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java,
	gnu/java/security/x509/ext/ReasonCode.java,
	gnu/java/security/x509/ext/SubjectAlternativeNames.java,
	gnu/java/security/x509/ext/SubjectKeyIdentifier.java:
	Reorganized import statements.

2005-04-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/color/CieXyzConverter.java,
	gnu/java/awt/color/ClutProfileConverter.java,
	gnu/java/awt/color/ColorLookUpTable.java,
	gnu/java/awt/color/ColorSpaceConverter.java,
	gnu/java/awt/color/GrayProfileConverter.java,
	gnu/java/awt/color/GrayScaleConverter.java,
	gnu/java/awt/color/LinearRGBConverter.java,
	gnu/java/awt/color/ProfileHeader.java,
	gnu/java/awt/color/PyccConverter.java,
	gnu/java/awt/color/RgbProfileConverter.java,
	gnu/java/awt/color/SrgbConverter.java,
	gnu/java/awt/color/TagEntry.java,
	gnu/java/awt/color/ToneReproductionCurve.java:
	Standardized file headers.

2005-04-16  Tom Tromey  <tromey@redhat.com>

	* gnu/xml/pipeline/ValidationConsumer.java (Recognizer): Make
	'ANY' package-private.

2005-04-15  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (libgij_la_LIBADD): Moved SAX and DOM...
	(libgcj0_convenience_la_LIBADD): ... here.

2005-04-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gij.cc (version): Properly quote java version.
	(main): Fix typo in comment.

2005-04-13  Mark Wielaard  <mark@klomp.org>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.class.path to CLASSPATH if not already set.

2005-04-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* prims.cc (parse_verbose_args): Fix verbose argument parsing.

2005-04-12  Mike Stump  <mrs@apple.com>

	* configure: Regenerate.

2005-04-12  Aaron Luchko  <aluchko@redhat.com>

	PR libgcj/20958
	* gnu/gcj/runtime/PersistentByteMap.java (close): Throw IOException.
	* gnu/gcj/tools/gcj_dbtool/Main.java (addJar): Make 'length' an int.

2005-04-12  Aaron Luchko  <aluchko@redhat.com>

	PR libgcj/20975
	* scripts/TexinfoDoclet.java: Removed.
	* Makefile.am (texinfo): Removed.
	* Makefile.in: Regenerated.

2005-04-11  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/ImageIO.java (ReaderFormatFilter.filter):
	Fixed wrong casting.

2005-04-06  Andrew Haley  <aph@redhat.com>

	* testsuite/libjava.lang/bytearray.java: New file.
	* testsuite/libjava.lang/bytearray.out: New file.
	* java/lang/ClassLoader.java (loadClassFromSig): Declare
	(loadClass): Use it.
	* java/lang/natClassLoader.cc (loadClassFromSig): New method.

2005-04-06  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.am ($(db_name)): Add $(EXEEXT) suffix to
	gcj-dbtool dependency
	* Makefile.in: Regenerated

2005-04-06  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/logging/natLogger.cc (getCallerStackFrame): Don't crash on
	NULL klass and meth values from _Jv_StackTrace::GetCallerInfo().

2005-04-05  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java (Fileset): New class.
	(Tokenizer): New class.
	(getFiles): New method.
	(main): Add "-" argument.
	Add "-0" argument.
	Read list of files from stdin when merging map databases.
	(usage):  Add "-" argument.
	Add "-0" argument.
	Minor corrections.

2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20750
	* Makefile.am (AM_CXXFLAGS): Define JAVA_HOME.
	* Makefile.in: Regenerate.
	* configure.ac: Add --with-java-home option.
	* configure: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* java/lang/natRuntime.cc (insertSystemProperties): Set java.home
	to JAVA_HOME macro.

2005-04-05  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_GetAnyFieldID): Throw ClassNotFoundException.
	* java/lang/reflect/natMethod.cc (_Jv_GetTypesFromSignature):
	Rewrote to use _Jv_FindClassFromSignature.
	* verify.cc (resolve): throw NoClassDefFoundError.
	* link.cc (resolve_field): Throw NoClassDefFoundError.
	(find_field): Likewise.
	* prims.cc (_Jv_FindClassFromSignature): Removed recursion.
	Handle error cases.  Added 'endp' argument.
	* include/jvm.h (_Jv_FindClassFromSignature): Updated prototype.

2005-04-05  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): Removed
	gtk_awt_peer_sources.
	(lib_gnu_java_awt_peer_gtk_la_LIBADD): Added gtk-awt-peer.lo.
	(lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES): Likewise.
	($(gtk_awt_peer_sources:.java=.lo)): Removed.
	(gtk-awt-peer.lo): New target.

2005-04-04  Steve Pribyl <steve@netfuel.com>

	PR libgcj/20761
	* configure.ac: Fix fastjar definition for cross builds.
	* configure: Rebuilt.

2005-04-04  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (loadClass): Resolve class even if
	it was already found.

2005-04-04  Tom Tromey  <tromey@redhat.com>

	* java/net/URL.java (DEFAULT_SEARCH_PATH): Added
	org.metastatic.jessie.

2005-04-02  Anthony Green  <green@redhat.com>

	PR libgcj/20727
	* java/nio/DirectByteBufferImpl.java: Fix buffer ownership bug.

2005-04-02  Mark Wielaard  <mark@klomp.org>

	* javax/naming/directory/BasicAttributes.java (equals): Compare to any
	Attributes and attribute order doesn't matter.
	(BasicAttributesEnumeration.where): Initialize to zero.
	(BasicAttributesEnumeration.nextElement): Update and compare where
	appropriately (zero based).

2005-04-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20090, PR libgcj/20526
	* gij.cc (nonstandard_opts_help): New function.
	(add_option): New function.
	(main): Support java options.  Set java.class.path.  Don't set
	_Jv_Jar_Class_Path.
	* prims.cc (parse_x_arg): New function.
	(parse_init_args): Call parse_x_arg for -X and _ options, when
	ignoreUnrecognized is true.
	(new _Jv_RunMain): New vm_args variant.
	(old _Jv_RunMain): Call new vm_args _Jv_RunMain.
	(_Jv_Jar_Class_Path): Remove variable.
	* include/java-props.h: Likewise.
	* include/cni.h (JvRealloc): New function.
	* include/jvm.h (_Jv_RunMain): Declare vm_args variant.
	* java/lang/natRuntime.cc (insertSystemProperties): Remove
	_Jv_Jar_Class_Path logic.  Use JV_VERSION and JV_API_VERSION
	macros.
	* configure.ac (JV_VERSION): Define.
	(JV_API_VERSION): Likewise.
	* configure: Regenerate.
	* include/config.h.in: Regenerate.

2005-04-01 Mark Anderson <mark@panonet.net>

	* java/lang/natDouble.cc (parseDouble): Handle NaN, Infinity and
	-Infinity as parameters.

2005-04-01  Michael Koch  <konqueror@gmx.de>

	* java/io/PipedInputStream.java
	(read): Make sure a positive byte value is returned. Revised javadoc.
	Thanks to Olafur Bragason for reporting these bugs.

2005-04-01  Tom Tromey  <tromey@redhat.com>

	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Updated for name change.
	(nativeFindClass): New method.
	(loadClass): Use nativeFindClass.
	* java/lang/natClassLoader.cc (_Jv_FindClass): Use single-argument
	form of loadClass.
	* java/lang/VMClassLoader.java (tried_libraries, lib_control,
	LIB_FULL, LIB_CACHE, LIB_NEVER): New fields from old
	VMClassLoader.
	(initialize): New method.
	(nativeFindClass): Declare.
	* gnu/gcj/runtime/natVMClassLoader.cc: Removed.
	* gnu/gcj/runtime/VMClassLoader.java: Removed.
	* gnu/gcj/runtime/ExtensionClassLoader.java: Renamed from
	VMClassLoader.java.
	(definePackageForNative): Removed.
	(tried_libraries, LIB_CACHE, LIB_FULL, LIB_NEVER, lib_control):
	Moved to VMClassLoader.java.
	* prims.cc (_Jv_CreateJavaVM): Updated for renaming.
	* Makefile.am (gnu/gcj/runtime/ExtensionClassLoader.h): Renamed.
	(ordinary_java_source_files): Added ExtensionClassLoader.java,
	removed VMClassLoader.java.
	(nat_source_files): Removed natVMClassLoader.cc.

2005-04-01  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (db_pathtail): Use $(gcc_version), not
	@gcc_version@.

2005-04-01  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/Timer.java
	(run): Stop the queue if a task throws an exception.

2005-03-31  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* javax/swing/text/JTextComponent.java (viewToModel): New method.

2005-03-29  Ian Lance Taylor  <ian@airs.com>

	* external/sax/Makefile.am (GCJ_WITH_FLAGS): Add "-fclasspath=".
	* external/sax/Makefile.in: Rebuild.
	* external/w3c_dom/Makefile.am (GCJ_WITH_FLAGS): Add
	"-fclasspath=".
	* external/w3c_dom/Makefile.in: Rebuild.

2005-03-29  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.gcj.runtime.endorsed.dirs.
	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added
	HelperClassLoader.java.
	(AM_CXXFLAGS): Define GCJ_ENDORSED_DIRS.
	* gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Extends
	HelperClassLoader.
	(init): Use addDirectoriesFromProperty.
	* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Extends
	HelperClassLoader.  Use addDirectoriesFromProperty.  Handle
	gnu.gcj.runtime.endorsed.dirs.
	* gnu/gcj/runtime/HelperClassLoader.java: New file.

2005-03-26  Chris Burdess  <dog@gnu.org>

	* gnu/xml/dom/DomNode.java (notifyNode): grow listener array as
	required.

2005-03-13  Michael Koch  <konqueror@gmx.de>

	* gnu/xml/aelfred2/XmlParser.java: Fixed typo.

2005-03-11  Chris Burdess  <dog@gnu.org>

	* gnu/xml/aelfred2/SAXDriver.java: Corrected bug handling URI
	warnings.

2005-02-27  Chris Burdess  <dog@gnu.org>

	* gnu/xml/aelfred2/JAXPFactory.java,
	gnu/xml/aelfred2/SAXDriver.java,
	gnu/xml/aelfred2/XmlParser.java,
	gnu/xml/aelfred2/XmlReader.java: Applied GNU Classpath source code
	formatting conventions. Replaced arrays of Object with struct-like
	classes for easier maintainability. Made SAXDriver.stringInterning
	package private to allow access from XmlParser inside the loop without
	a method call overhead.

2005-03-11  Chris Burdess  <dog@gnu.org>

	* gnu/xml/aelfred2/SAXDriver.java: Corrected bug handling URI
	warnings.

2005-03-28  Alexandre Oliva  <aoliva@redhat.com>

	* configure.ac: Revert 2005-03-25's patch.  Propagate MULTIlib
	settings to sub Makefiles.
	(GCJH, ZIP): Prefix with top_builddir.
	* configure: Rebuild.
	* external/w3c_dom/Makefile.am (MULTIBUILDTOP): Don't override.
	* external/w3c_dom/Makefile.in: Rebuild.
	* external/sax/Makefile.am (MULTIBUILDTOP): Don't override.
	* external/sax/Makefile.in: Rebuild.

2005-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one): Add
	libsocket to the libraries to link for Solaris.

2005-03-28  Per Bothner  <per@bothner.com>

	* boehm.cc (_Jv_MarkObj): Don't follow null pointer to static field,
	which can happen if class is JV_STATE_LOADED but not JV_STATE_PREPARED.

2005-03-27  Andreas Tobler  <a.tobler@schweiz.ch>

	* Makefile.am (classes.stamp): Add gnu/gcj/tools/gcj_dbtool/Main.java
	to fix a ONESTEP fallout.
	* Makefile.in: Regenerate.

2005-03-25  Mike Stump  <mrs@apple.com>

	* configure.ac: Fix ZIP and GCJH at configure time to absolute
	paths like we do for the compiler, as we use it in external/sax
	and it doesn't get MULTIBUILDTOP right when multilibing.

2005-03-24  Anthony Green  <green@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java: Accept libdir argument with
	-p option.
	(usage): Add [LIBDIR] to help output.
	* gnu/gcj/tools/gcj_dbtool/natMain.cc: New file.
	* Makefile.am (AM_CXXFLAGS): Define
	LIBGCJ_DEFAULT_DATABASE_PATH_TAIL.
	(db_pathtail): New macro.

2005-03-24  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Don't
	add sax and w3c libraries.
	* Makefile.am (libgij_la_LIBADD): Added libsax-gcj.la and
	libw3c-gcj.la.
	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Include
	AM_GCJFLAGS.
	(libw3c_gcj_la_LDFLAGS): New variable.
	(noinst_LTLIBRARIES): Renamed.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Include
	AM_GCJFLAGS.
	(libsax_gcj_la_LDFLAGS): New variable.
	(noinst_LTLIBRARIES): Renamed.

2005-03-23  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_CXXFLAGS): Define TOOLEXECLIBDIR.
	(libgcj0_convenience_la_SOURCES): Don't include
	gnu_xml_source_files.
	(libgcj0_convenience_la_LIBADD): New variable.
	(libgcj_la_LIBADD): Don't include sax or w3c_dom.
	(all_java_source_files): javax_imageio_source_files,
	javax_xml_source_files, and gnu_java_beans_source_files.
	($(gnu_xml_source_files:.java=.lo)): Removed target.
	(gnu-xml.lo): New target.
	(javax-imageio.lo): Likewise.
	(javax-xml.lo): Likewise.
	(gnu-java-beans.lo): Likewise.
	(gnu_java_beans_source_files): New variable.
	(javax_imageio_source_files): Likewise.
	(javax_xml_source_files): Likewise.
	(javax_source_files): Moved files to other variable.
	(awt_java_source_files): Likewise.
	(ordinary_java_source_files): Added BootClassLoader.java.
	* java/lang/natVMClassLoader.cc (defineClass): Use boot loader,
	not system class loader.
	(initBootLoader): New method.
	(loadClass): Search bootLoader.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader): Use
	boot loader, not system class loader.
	(_Jv_UnregisterInitiatingLoader): Likewise.
	(_Jv_FindClass): Likewise.  Ensure entries in
	bootstrap_class_list are unique.
	* java/lang/natClass.cc (getClassLoader): Don't special case
	system class loader.
	* java/lang/VMClassLoader.java (bootLoader): New field.
	(getResource): Use bootLoader.
	(getResources): Likewise.
	(initBootLoader): Declare.
	* gnu/gcj/runtime/BootClassLoader.java: New file.
	* external/sax/org/xml/sax/helpers/NamespaceSupport.java
	(EMPTY_ENUMERATION): Now package-private.
	* external/w3c_com/Makefile.in: Rebuilt.
	* external/w3c_com/Makefile.am (MULTIBUILDTOP): New variable.
	(w3c.jar): New target.
	(classes.stamp): Updated.
	(toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES.
	Changed name of library.
	(libw3c_gcj_la_SOURCES): New variable.
	(libw3c_gcj_la_GCJFLAGS): Likewise.
	(source_files): Renamed from lib3c_convenience_la_SOURCES.
	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (MULTIBUILDTOP): New variable.
	(sax.jar): New target.
	(classes.stamp): Updated.
	(toolexeclib_LTLIBRARIES): Renamed from noinst_LTLIBRARIES.
	Changed name of library.
	(libsax_gcj_la_SOURCES): New variable.
	(libsax_gcj_la_GCJFLAGS): Likewise.
	(source_files): Renamed from libsax_convenience_la_SOURCES.
	* stacktrace.cc (non_system_trace_fn): Don't look at system class
	loader.
	* prims.cc (_Jv_CreateJavaVM): Initialize the bootstrap class
	loader.
	(_Jv_RunMain): Handle case where 'runtime' is NULL at exit.

2005-03-23  Sven de Marothy  <sven@physto.se>

	PR libgcj/2641, PR libgcj/9854, PR libgcj/14892, PR libgcj/18083,
	PR libgcj/11085:
	* java/util/Calendar.java
	(set): Use starting day of week when one is needed if none is given.
	* java/text/SimpleDateFormat.java
	(parse): Handle 1-12 and 1-24 timestamps correctly.
	* java/util/GregorianCalendar.java
	(computeTime, computeFields): HOUR should be in 0-11 format.
	(nonLeniencyCheck): Adjust leniency checking to that fact.
	(getLinearDay): Should be private.

2005-03-23  Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (GCJ_40_BC_ABI_VERSION): New define.
	(_Jv_CheckABIVersion): Use it.

2005-03-22  Mike Stump  <mrs@apple.com>

	* stacktrace.cc: Delete unused _Jv_FindCallingClassState.

	* include/posix.h: .dylib is used on all Apple MACH platforms.
	* java/lang/ieeefp.h: ppc64 is also __IEEE_BIG_ENDIAN.

2005-03-22  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java (usage): Fixed output.

2005-03-21  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMCompiler.java (static block): Also catch
	BufferUnderflowException.

2005-03-21  Zack Weinberg  <zack@codesourcery.com>

	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Do not
	set tool_include_dir.  In all substitutions, leave $(gcc_version)
	to be expanded by the Makefile.
	* aclocal.m4, configure: Regenerate.
	* Makefile.am: Set gcc_version.  Replace all uses of
	@gcc_version@ with $(gcc_version).
	* external/Makefile.am, external/sax/Makefile.am
	* external/w3c_dom/Makefile.am, gcj/Makefile.am
	* testsuite/Makefile.am: Set gcc_version.
	* include/Makefile.am: Set gcc_version and tool_include_dir.
	* Makefile.in, external/Makefile.in, external/sax/Makefile.in
	* external/w3c_dom/Makefile.in, gcj/Makefile.in, include/Makefile.in
	* testsuite/Makefile.in: Regenerate.

2005-03-17  Andrew Haley  <aph@redhat.com>

	* java/lang/natVMSecurityManager.cc (getClassContext): Add new
	arg: klass.
	Pass klass to _Jv_StackTrace::GetClassContext().
	* java/lang/ClassLoader.java (getParent): Pass class to
	VMSecurityManager.getClassContext()
	(getSystemClassLoader): Likewise.
	* java/lang/Package.java (getPackage): Likewise.
	(getPackages): Likewise.
	* java/lang/SecurityManager.java (getClassContext): Likewise.
	(currentClassLoader): Likewise.
	* java/lang/VMSecurityManager.java: (getClassContext): Likewise.
	(currentClassLoader) Add new arg: caller.
	Pass caller to VMSecurityManager.getClassContext.

	* stacktrace.cc (GetClassContext): Correct calculation of
	jframe_count.

	* boehm.cc (_Jv_MarkObj): (_Jv_MarkObj): Mark
	im->source_file_name.

2005-03-16  Andrew Haley  <aph@redhat.com>

	* boehm.cc (_Jv_MarkObj): Mark the interpreted method line_table.

2005-03-16  Tom Tromey  <tromey@redhat.com>

	* link.cc (ensure_class_linked): Removed #ifdef.
	(print_class_loaded): Likewise.
	(wait_for_state): Likewise.
	* java/lang/Class.h (_Jv_IsInterpretedClass): Always declare.
	* include/jvm.h (_Jv_IsInterpretedClass): Moved from...
	* include/java-interp.h: ... here.

2005-03-16  Tom Tromey  <tromey@redhat.com>

	* gnu/java/lang/MainThread.java (run): Load main class using
	system class loader.

2005-03-16  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/libjava.jni/jni.exp (gcj_jni_invocation_test_one): Add
	lgcc_s to the libraries to link for Darwin.

2005-03-15  Andreas Tobler  <a.tobler@schweiz.ch>

	* stacktrace.cc (_Jv_StackTrace::UnwindTraceFn): Protect
	interpreter-specific code with #ifdef INTERPRETER.
	(_Jv_StackTrace::getLineNumberForFrame): Likewise.
	(_Jv_StackTrace::FillInFrameInfo): Likewise.
	(_Jv_StackTrace::non_system_trace_fn): Likewise.
	* include/java-stack.h (struct _Jv_InterpFrameInfo): Protect with
	#ifdef INTERPRETER. Also protect declarations that use it.
	* java/lang/Class.h: Move _Jv_StackTrace friend declaration outside
	#ifdef INTERPRETER block.

2005-03-15  Jakub Jelinek  <jakub@redhat.com>

	PR libgcj/20251
	* Makefile.am (libjawt_la_LIBADD): Add -L$(here)/.libs.
	* Makefile.in: Rebuilt.

2005-03-15  David Daney  <ddaney@avtrex.com>

	* gnu/java/net/natPlainSocketImplPosix.cc (read_helper): Handle
	count == 0 case.

2005-03-15  David Daney  <ddaney@avtrex.com>

	* java/io/BufferedInputStream.java (available): Use 'in' instead
	of 'super' for underlying stream access.
	(close): Ditto.
	(read(byte[], int, int)): Ditto.
	(refill): Ditto.
	(skip): Call skip on underlying stream when possible.

2005-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

	* stacktrace.cc (GetCallerInfo): Return nothing in case of
	SJLJ_EXCEPTIONS is defined.

2005-03-12  Ranjit Mathew  <rmathew@hotmail.com>

	* testsuite/libjava.jacks/jacks.xfail: Add XFAILs for new JSR-201
	tests.

2005-03-11  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libjava.exp (libjava_init): Use the same target
	check for Darwin.
	(libjava_arguments): Likewise.

	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Likewise.
	(gcj_jni_test_one): Likewise.
	(gcj_jni_invocation_compile_c_to_binary): Likewise.
	Add flags to keep the Darwin linker quiet.
	(gcj_jni_invocation_test_one): Use the same target check for Darwin.
	Add -liconv for Darwin.

2005-03-11  Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (GCJ_40_BC_ABI_VERSION): New define.
	(_Jv_CheckABIVersion): Use it.

2005-03-11  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Handle '-p'.
	(usage): Document '-p'.
	* Makefile.in: Rebuilt.
	* Makefile.am (dbexecdir): New variable.
	(db_name): Likewise.
	(dbexec_DATA): Likewise.
	($(db_name)): New target.
	(AM_CXXFLAGS): Define LIBGCJ_DEFAULT_DATABASE.
	* java/lang/natRuntime.cc (insertSystemProperties): Set default
	system database.

2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

	* exception.cc: Remove stray MethodRef.h include.
	* java/lang/natClass.cc: Likewise.
	* gnu/gcj/runtime/MethodRef.java: Removed.
	* gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
	gnu/gcj/runtime/natStackTrace.cc: Really removed.
	* java/lang/natRuntime.cc (_load): Remove unsed variable.
	* Makefile.am (ordinary_java_source_files): Remove MethodRef.java.
	* Makefile.in: Rebuilt.

2005-03-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added MethodRef.java.

2005-03-10  Chris Burdess  <dog@bluezoo.org>

	* gnu/xml/dom/ls/SAXEventSink.java: Ignore element declarations if
	not currently parsing the DTD.

2005-03-10  Bryce McKinlay  <mckinlay@redhat.com>

	New Stack Trace infrastructure.
	* Makefile.am (libgcj0_convenience_la_SOURCES): Add stacktrace.cc.
	(gnu/gcj/runtime/StackTrace.java): Removed.
	(ordinary_java_source_files): Remove obsolete files.
	(nat_source_files): Remove obsolete files. Add natVMThrowable.cc.
	* configure.host (fallback_backtrace_h): Set backtrace header
	for mingw and cygwin targets.
	* configure.ac: Make symlink for fallback backtrace headers.
	* Makefile.in, configure: Rebuilt.
	* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
	Read 'LineNumberTable' attribute.
	(_Jv_ClassReader::read_one_class_attribute): Read 'SourceFile'
	attribute.
	(_Jv_ClassReader::handleCodeAttribute): Initialize method line
	table fields.
	* exception.cc: Remove unused include.
	* interpret.cc (DIRECT_THREADED, insn_slot): Moved to java-interp.h.
	(SAVE_PC): New macro. Save current PC in the interpreter frame.
	(NULLCHECK, NULLARRAYCHECK): Use SAVE_PC.
	(_Jv_InterpMethod::compile): Translate bytecode PC values in the line
	table to direct threaded instruction values.
	(_Jv_StartOfInterpreter, _Jv_EndOfInterpreter): Removed.
	(_Jv_InterpMethod::run): No longer member function. All
	callers updated. Remove _Unwind calls. Call SAVE_PC whenever a call
	is made or where an instruction could throw.
	(_Jv_InterpMethod::get_source_line): New. Look up source line numbers
	in line_table.
	* prims.cc (catch_segv): Construct exception after MAKE_THROW_FRAME.
	(catch_fpe): Likewise.
	* stacktrace.cc: New file. Stack trace code now here.
	* gnu/gcj/runtime/MethodRef.java:
	* gnu/gcj/runtime/NameFinder.java: Mostly reimplemented. Now simply
	calls addr2line to look up PC addresses in a given binary or shared
	library.
	* gnu/gcj/runtime/StackTrace.java, gnu/gcj/runtime/natNameFinder.cc,
	gnu/gcj/runtime/natStackTrace.cc: Removed.
	* gnu/java/lang/MainThread.java (call_main): Add comment warning that
	this function name is specially recognised by the stack trace code
	and shouldn't be changed.
	* include/java-interp.h (DIRECT_THREADED, insn_slot): Moved here.
	(struct  _Jv_LineTableEntry, line_table, line_table_len): New.
	(_Jv_InterpMethod::run): Update declaration.
	(_Jv_StackTrace_): New friend. NameFinder and StackTrace no longer
	friends.
	(_Jv_InterpFrame): Renamed from _Jv_MethodChain. Add PC field.
	* include/java-stack.h: New file. Declarations for stack tracing.
	* include/jvm.h (_Jv_Frame_info): Removed.
	* java/lang/Class.h: Update friend declarations.
	* java/lang/VMClassLoader.java (getSystemClassLoader): Simplify
	exception message.
	* java/lang/VMThrowable.java (fillInStackTrace): Now native.
	(getStackTrace): Now native.
	(data): New RawDataManaged field.
	* java/lang/natClass.cc: Update includes.
	(forName): Use _Jv_StackTrace::GetCallingClass for
	calling-classloader check.
	(getClassLoader): Likewise.
	* java/lang/natRuntime.cc: Update includes.
	(_load): Use _Jv_StackTrace::GetFirstNonSystemClassLoader.
	* java/lang/natVMSecurityManager.cc: Update includes.
	(getClassContext): Use _Jv_StackTrace::GetClassContext.
	* java/lang/natVMThrowable.cc: New file. Native methods for
	VMThrowable.
	* java/lang/reflect/natArray.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natConstructor.cc: Update includes.
	(newInstance): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natField.cc: Update includes.
	(getAddr): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/lang/reflect/natMethod.cc: Update includes.
	(invoke): Use _Jv_StackTrace::GetCallingClass to implement
	accessibility check.
	* java/util/natResourceBundle.cc: Update includes.
	(getCallingClassLoader): Use _Jv_StackTrace::GetCallingClass.
	* java/util/logging/natLogger.cc: Update includes. Use
	_Jv_StackTrace::GetCallerInfo to get call-site info.
	* sysdep/generic/backtrace.h: Fallback backtrace code. Stub
	implementation.
	* sysdep/i386/backtrace.h: New. Fallback backtrace code. i386
	implementation.

2005-03-10  Ranjit Mathew  <rmathew@hotmail.com>

	* testsuite/libjava.compile/PR20312.java: New file.
	* testsuite/libjava.compile/PR20312.xfail: Likewise.
	* testsuite/libjava.jacks/jacks.xfail: Remove 9.2-implicit-15.

2005-03-09  Andrew Haley  <aph@redhat.com>

	* gnu/java/nio/channels/FileChannelImpl.java (smallTransferFrom):
	New.
	(smallTransferTo): New.
	(transferFrom): Loop around smallTransferFrom, copying pageSize
	bytes each time.
	(transferTo): Likewise.

2005-03-09  David Daney  <ddaney@avtrex.com>

	PR libgcj/20389
	Merge BufferedInputStream from GNU Classpath.
	* java/io/BufferedInputStream.java (marktarget): Field removed.
	(CHUNKSIZE): Field removed.
	(bufferSize): New field.
	(BufferedInputStream): Initialize fields.
	(close): Invalidate mark and buffer indexes.
	(mark):  Rewritten.
	(read()): Move mark handling code to refill.
	(read(byte[], int, int)): Ditto.
	(skip): Ditto and simplify EOF testing.
	(refill): Rewritten.
	* java/io/InputStreamReader.java (refill): Removed mark and reset
	of internal BufferedInputStream.

2005-03-09  Tom Tromey  <tromey@redhat.com>

	* java/lang/natVMClassLoader.cc (defineClass): Reference
	'systemClassLoader' field directly.
	* java/lang/natRuntime.cc (_load): Reference 'systemClassLoader'
	field directly.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
	Reference 'systemClassLoader' field directly.
	(_Jv_UnregisterInitiatingLoader): Likewise.
	(_Jv_FindClass): Likewise.

2005-03-09  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/lang/fdlibm.h: Merge an AIX define from GNU Classpath.

	* java/lang/mprec.h: Remove commented headers. Fix comment to match
	the file in GNU Classpath style.

2005-03-09  Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (addURLImpl): Reset 'thisString'.
	(toString): Synchronize.

2005-03-08  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.lang/pr13107_2.xfail: Remove xfail.
	* testsuite/libjava.lang/pr13107_3.xfail: Likewise.

2005-03-07  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Recognize '-f'.
	(usage): Document '-f'.

2005-03-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMCompiler.java (md5Digest): New field.
	(compileClass): Clone md5Digest instead of looking up a new one.

2005-03-07  Tom Tromey  <tromey@redhat.com>

	PR java/20215:
	* include/jvm.h (_Jv_Linker::find_field_helper): Updated.
	* link.cc (find_field_helper): Added 'type' argument.
	(find_field): Updated.

2005-04-07  Scott Gilbertson  <scottg@mantatest.com>
	* gnu/gcj/xlib/natXAnyEvent.cc (loadNext): Added timeout.
	* gnu/awt/xlib/XCanvasPeer.java (setBackground): Removed
	throw UnsupportedOperationException, fixed comments.
	(setFont, setForeground): Fixed comments.
	* gnu/awt/xlib/XEventLoop.java (postNextEvent): Changed
	return type to boolean.
	(getNextEvent): Fixed javadocs.
	* gnu/awt/xlib/XToolkit.java (interrupted): Removed field.
	(nativeQueueEmpty): Removed unused code.
	(iterateNativeQueue): Removed outer loop.

2005-03-06  Roger Sayle  <roger@eyesopen.com>

	PR libgcj/20155
	* Makefile.am (libgcj0_convenience.la): Revert last change.
	* Makefile.in: Regenerate.

2005-03-05  Anthony Green  <green@redhat.com>

	* jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_drawable,
	classpath_jawt_lock, classpath_jawt_unlock): New functions.
	* jawt.c (_Jv_AWTLock, _Jv_AWTUnlock): New functions.
	(_Jv_GetDrawingSurface): Set visualID.
	(_Jv_FreeDrawingSurfaceInfo): Clear visualID.
	(JAWT_GetAWT): Set Lock and Unlock.
	* include/jawt_md.h (struct _JAWT_X11DrawingSurfaceInfo): Add
	visualID.
	* include/jawt.h (JAWT_VERSION_1_4, JAWT_LOCK_ERROR,
	JAWT_LOCK_CLIP_CHANGED, JAWT_LOCK_BOUNDS_CHANGED,
	JAWT_LOCK_SURFACE_CHANGED): New macros.
	(struct _JAWT): Add Lock and Unlock.

2005-03-05  Roger Sayle  <roger@eyesopen.com>
	    Alexandre Oliva  <aoliva@redhat.com>
	    Kelley Cook  <kcook@gcc.gnu.org>

	PR libgcj/20155
	* Makefile.am (libgcj0_convenience.la): New rule to create a file
	of the object files to link to avoid exceeding the command line
	length limits on some platforms.
	(clean-local): Clean up objectlist files.
	* Makefile.in: Regenerate.

2005-03-05  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/lang/dtoa.c (_dtoa_r): Initialize variables ilim, ilim1 and
	spec_case. Initialize pointer mlo.

	* java/lang/strtod.c (_strtod_r): Initialize pointers bb, bd, ds and
	delta.

	* java/lang/e_asin.c (__ieee754_asin): Initialize variable t.

	* java/lang/e_exp.c (__ieee754_exp): Initialize variables hi, lo
	and k.

	* java/lang/e_rem_pio2.c (__ieee754_rem_pio2): Initialize
	uninitialized variable z.

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (mcastGrp): Ifdef
	possible unused variables.

	* gnu/java/nio/natPipeImplPosix.cc (init): Remove self.

	* jawt.c: Include <stdlib.h> to fix implict declaration of malloc.

2005-03-03  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20292
	* testsuite/libjava.jni/jni.exp
	(gcj_jni_invocation_compile_c_to_binary): Add -I. -I.. to compile
	flags.
	(gcj_jni_invocation_test_one): Add -L../.libs to cxx flags.

2005-02-23  David Daney  <ddaney@avtrex.com>

	* configure.host: Don't use -mxgot for MIPS builds.

2005-02-28  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/17383
	* configure.ac: Call GCC_TOPLEV_SUBDIRS.
	(COMPPATH): Removed.
	(ZIP, GCJH): Replace it with ../$(host_subdir).
	(built_gcc_dir): Add $(host_subdir).
	* configure: Regenerate.
	* Makefile.in, include/Makefile.in, testsuite/Makefile.in,
	gcj/Makefile.in, external/Makefile.in, external/sax/Makefile.in,
	external/w3c_dom/Makefile.in: Regenerate.

2005-02-24  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/font/TextAttribute.java: changed names to lower case;
	(readResolve): implemented.
	Added doc comments all over.

2005-02-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/16923
	* jni.cc (JNI_CreateJavaVM): Check JNI version.  Cast args to
	JvVMInitArgs.  Pass args to _Jv_CreateJavaVM and check return
	value.  Move argument parsing code to prims.cc.
	* prims.cc (no_properties): Remove.
	(_Jv_Compiler_Properties): Initialize to NULL.
	(_Jv_Properties_Count): Initialize to 0.
	(parse_verbose_args): New function.
	(parse_init_args): New function.
	(_Jv_CreateJavaVM): Call parse_init_args.
	(_Jv_RunMain): Check return value of _Jv_CreateJavaVM.
	* gcj/cni.h (JvVMOption): New struct.
	(JvVMInitArgs): Likewise.
	(JvCreateJavaVM): Declare vm_args as JvVMInitArgs* rather than
	void*.
	* libjava/gcj/javaprims.h (_Jv_VMOption): New struct.
	(_Jv_VMInitArgs): Likewise.
	* include/java-props.h (_Jv_Properties_Count): Declare.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_Properties_Count in for loop exit condition.
	* testsuite/libjava.jni/jni.exp
	(gcj_invocation_compile_c_to_binary): New procedure.
	(gcj_invocation_test_one): Likewise.
	(gcj_jni_run): Run JNI invocation API tests.
	* testsuite/libjava.jni/invocation/PR16923.c,
	testsuite/libjava.jni/invocation/PR16923.java,
	testsuite/libjava.jni/invocation/PR16923.out: New test.

2005-02-23  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added new file gnu/java/nio/ChannelReader.java.
	* Makefile.in: Regenerated.

2005-02-23  Robert Schuster  <thebohemian@gmx.net>

	* gnu/java/nio/ChannelReader: Fixed comments.

2005-02-23  Robert Schuster  <thebohemian@gmx.net>

	* java/nio/channels/Channels: Added FIXMEs about
	stub method implementation.
	(newReader): Implemented.
	* gnu/java/nio/ChannelReader: New class.

2005-02-23  Michael Koch  <konqueror@gmx.de>

	* java/text/SimpleDateFormat.java:
	Removed unused import.

2005-02-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/20029:
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_CFLAGS): Add X_CFLAGS.
	(lib_gnu_java_awt_peer_gtk_la_LDFLAGS): Add X_LIBS and -lXtst.
	* Makefile.in: Regenerate.
	* configure.ac: Check for libXtst.
	* configure: Regenerate.

2005-02-22  Mark Wielaard  <address@bogus.example.com>

	* java/security/AlgorithmParameterGenerator.java (getInstance):
	Mention provider when throwing NoSuchProviderException.
	* java/security/AlgorithmParameters.java (getInstance): Likewise.
	* java/security/KeyFactory.java (getInstance): Likewise.
	* java/security/KeyStore.java (getInstance): Likewise.
	* java/security/SecureRandom.java (getInstance): Likewise.
	* java/security/cert/CertificateFactory.java (getInstance): Likewise.

2005-02-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/reflect/Proxy.java,
	java/net/URL.java,
	java/security/SecureRandom.java,
	java/util/Timer.java,
	java/util/prefs/AbstractPreferences.java:
	Don't catch java.lang.ThreadDeath.

2005-02-22  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/font/TransformAttribute.java,
	(TransformAttribute(AffineTransform)): throw
	IllegalArgumentException for null transform.
	(getTransform): return a copy of transform.
	Added doc comments to all.

2005-02-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/Externalizable.java,
	java/io/Serializable.java
	(serialVersionUID): Removed.
	* java/rmi/server/RemoteObject.java,
	java/rmi/server/UID.java
	(serialVersionUID): Made private.
	* java/rmi/server/RemoteRef.java,
	java/rmi/server/ServerRef.java
	(serialVersionUID): Set proper value.
	* java/security/interfaces/DSAPrivateKey.java,
	java/security/interfaces/DSAPublicKey.java,
	java/security/interfaces/RSAMultiPrimePrivateCrtKey.java,
	java/security/interfaces/RSAPrivateCrtKey.java,
	java/security/interfaces/RSAPrivateKey.java,
	java/security/interfaces/RSAPublicKey.java,
	javax/crypto/SecretKey.java
	(serialVersionUID): Added.

2005-02-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/Object.h (_JvObjectPrefix): Declare as extern "Java".

2005-02-22  Tom Tromey  <tromey@redhat.com>

	PR java/20056:
	* verify.cc (type::EITHER): New constant.
	(check_field_constant): Use it.
	(type::compatible): Handle it.

2005-02-22  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/PolicyFile.java,
	gnu/java/security/pkcs/PKCS7SignedData.java,
	gnu/java/security/pkcs/SignerInfo.java:
	Fixed copyright header.

2005-02-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/beans/PropertyDescriptor.java
	(PropertyDescriptor,setReadMethod): Set propertyType.

2005-02-22  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java
	(owner): Fixed formatting of javadoc.
	* java/text/DateFormat.java
	(getAvailableLocales): Fixed formatting.
	* java/text/SimpleDateFormat.java:
	Fixed formatting and import statement order.
	* java/util/Calendar.java
	(Calendar): Fixed javadoc to be HTML compliant.
	* java/util/SimpleTimeZone.java:
	Fixed javadocs.

2005-02-22  Roman Kennke <roman@ontographics.com>

	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initComponentDefaults): Fixed Button left and right margin.

2005-02-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/Robot.java (waitForIdle): Call invokeAndWait on an
	empty Runnable.

	PR libgcj/17952:
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(getWidth): New method.
	(getHeight): Likewise.
	(create): Remove width, height and insets parameters.  Move size
	setup ...
	(realize_cb): ... here.  New function.
	(connectSignals): Connect realize_cb.
	(request_frame_extents): Remove FIXME.  Move
	postInsetsChangedEvent lookup ...
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c (gtkInit):
	... here.  Look up GtkWindowPeer getWidth and getHeight methods.
	* jni/gtk-peer/gtkpeer.h (postInsetsChangedEventID): Declare
	jmethodID.
	(windowGetWidthID): Likewise.
	(windowGetHeightID): Likewise.

2005-02-21  Thomas Fitzsimmons  <fitzsim@redhat.com>

	PR libgcj/19842
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(button_to_awt_mods): Return BUTTON masks, not BUTTON_DOWN masks.

2005-02-21  Bryce McKinlay  <mckinlay@redhat.com>

	Merge serialization from GNU Classpath.
	* gcj/method.h: Add missing #includes.
	* java/io/ObjectInputStream.java (readClassDescriptor): Check for
	primitive class IDs on the stream here...
	(resolveClass): ...not here.
	* java/io/ObjectStreamField.java: Use VMObjectStream class calls to set
	fields.
	* java/io/VMObjectStreamClass.java (setDoubleNative, setFloatNative,
	setLongNative, setIntNative, setShortNative, setCharNative,
	setByteNative, setBooleanNative, setObjectNative): New native methods.
	* java/io/natVMObjectStreamClass.java (setDoubleNative, setFloatNative,
	setLongNative, setIntNative, setShortNative, setCharNative,
	setByteNative, setBooleanNative, setObjectNative): Implement them.
	* java/io/natObjectInputStream.cc (allocateObject): Add new parameters
	from Classpath's version. Use _Jv_FromReflectedConstructor(). Call
	the constructor here.
	(callConstructor): Removed.
	(getCallersClassLoader): Removed.
	* java/lang/reflect/Field.java (setByte, setShort, setInt, setLong,
	setFloat, setDouble, setChar, setBoolean): Add 'checkFinal' parameter
	to control whether setting final field values is permitted. Call
	getAddr() with checkFinal parameter instead of setAddr().
	* java/lang/reflect/natField.cc (getType): Lookup and resolve field
	only if not done already.
	(getAddr): Add checkFinal parameter. Do the final field check only if
	checkFinal is set.
	(setAddr): Removed.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	# Fixes bug #11957
	* java/io/ObjectInputStream.java (resolveClass): Don't check "void"
	twice.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	Fixes bug #11618.
	* java/io/ObjectInputStream.java (readClassDescriptor): Handle classes
	without a super class and us ObjectStreamClass.lookupForClassObject().
	(resolveClass): Check for primitive types.
	(lookupClass): Return null when argument is null.

2005-02-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(readObject): Fix to consume TC_ENDBLOCKDATA after readExternal.

2005-02-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectOutputStream.java
	(writeObject, callWriteMethod): Replaced reflection with accessing
	cached info in ObjectStreamClass.
	(getMethod): Removed.
	* java/io/ObjectStreamClass.java
	(findMethod): Added check to make sure the method found has the
	right modifiers.
	(cacheMethods): Added writeReplace and writeObject methods.
	(setFlags): Look at new writeObjectMethod field instead of doing
	reflection again.
	(writeReplaceMethod): New field.
	(writeObjectMethod): New field.

2005-02-21  Guilhem Lavaux  <guilhem@kaffe.org>
	Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(newObject): Changed prototype. Get a constructor reflect object
	directly.
	(callConstructor): Removed.
	(allocateObject): Changed prototype.
	(readClassDescriptor): Build the constructor reflection directly.
	(readObject): Invoke newObject using the new prototype.

	* java/io/ObjectStreamClass.java
	(firstNonSerializableParent): Removed.
	(firstNonSerializableParentConstructor): Added.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* gnu/java/locale/LocaleInformation_en.java: Extend
	localPatternChars to "GyMdkHmsSEDFwWahKzYeugAZ".

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/text/SimpleDateFormat.java
	(SimpleDateFormat(String, DateFormatSymbols)): Throw
	NullPointerException when formatData is null.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/SimpleTimeZone.java (getOffset): Calculate beforeEnd by
	taking dstSavings into account.

2005-02-21  Sven de Marothy <sven@physto.se>

	* java/text/SimpleDateFormat.java,
	(parse): Set correct DST_OFFSET to the correct value.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/SimpleTimeZone.java (checkRule): Throw
	IllegalArgumentException when month out of range.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/GregorianCalendar.java,
	(add): Don't set fields directly anymore. Use set()

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/text/SimpleDateFormat.java (CompiledField.toString):
	Use StringBuffer, not StringBuilder.
	(toString): Likewise.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/Calendar.java
	(clear): Dates should clear to local time.
	* java/util/GregorianCalendar.java
	(computeTime): Fix priority problem with DAY_OF_WEEK,
	Handle non-sunday-startig weeks and minimumDaysInFirstWeek.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/Calendar.java
	(Calendar): Constructor should clear fields.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/text/SimpleDateFormat.java
	(parse): Tweak handling of 2-year dates
	* java/util/Calendar.java
	(clear): Clear fields to correct value.
	* java/util/GregorianCalendar.java
	(computeTime): Correct handling of time zones.
	Correct field minimum values.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/Calendar.java
	(set) Invalidate all fields on first call to set().

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/GregorianCalendar.java
	(computeTime): Fixed handling of time zones.

2005-02-21  Sven de Marothy  <sven@physto.se>

	* java/util/Calendar.java
	(clear): Set values to Epoch instead of zero.
	(set): Set isSet to the relevant field pattern instead of just
	the field.
	* java/util/GregorianCalendar.java
	(getBundle): Removed.
	(getDayOfYear): Removed.
	(getFirstDayOfMonth): New private method.
	(nonLeniencyCheck): New private method.
	(computeTime): Correct handling of insufficient data.

2005-02-21  Sven de Marothy <sven@physto.se>

	* java/util/Calendar.java: Invalidate ERA field on setting
	the YEAR.
	* java/util/SimpleTimeZone.java:
	(getDaysInMonth): Reimplemented.
	* java/util/GregorianCalendar.java:
	(getLinearTime): Removed.
	(isLeapYear(int,boolean)): Removed.
	(before(), after()): Removed.
	(computeTime): Reimplemented.

2005-02-21  Sven de Marothy <sven@physto.se>

	* java/util/Calendar.java: Reformatted.
	* java/util/GregorianCalendar.java: Reformatted.
	* java/util/SimpleTimeZone.java: Reformatted.

2005-02-21  Sven de Marothy <sven@physto.se>

	* java/util/GregorianCalendar.java
	(GregorianCalendar): Update fields in the constructor

2005-02-21  Noa Resare  <noa@resare.com>

	* java/util/Calendar.java (explicitDSTOffset): New instance field.
	(set(int,int)): Set and use new field.
	(set(int,int,int)): Check new field.

2005-02-21  Noa Resare  <address@hidden>

	* java/util/Calendar.java(set):
	Fix for DST related regression.

2005-02-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/Calendar.java
	(setTimeInMillis): Added call to clear, removed computeFields call.
	* java/util/Date.java
	(Date(int,int,int,int,int,int)): Removed workaround for
	GregorianCalendar bug.
	* java/util/GregorianCalendar.java
	(GregorianCalendar): Chained all constructors to a (new)
	common constructor.
	(computeTime): Fixed support for lenient month treatment.
	(getLinearDay): Return long instead of int.
	(calculateDay): Added fields argument and changed day argument
	to long.

2005-02-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/SimpleDateFormat.java
	Lots of documentation updates.
	(readObject(java.io.ObjectInputStream)): Wraps
	IllegalArgumentException as specified.
	(compileFormat(String)): Uses standardChars
	rather than the local pattern characters.
	Throws IllegalArgumentException rather than
	storing a -1 field.
	(toString()): Extended to include all variables
	in a better format.
	(translateLocalizedPattern(String, String, String)):
	Renamed to better define the use of this method.

2005-02-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/DateFormat.java:
	Documented pattern character offset constants and
	added new ones.
	(Field): Added new static fields for new pattern chars.
	* java/text/SimpleDateFormat.java:
	(CompiledField): Changed name of FieldSizePair class
	to CompiledField after adding the character as an
	attribute.  Changed fields to private and added
	accessors to give encapsulation.
	(CompiledField.CompiledField(int,int,char)): Extended
	with character field.
	(CompiledField.getField()): New accessor method.
	(CompiledField.getSize()): New acceessor method.
	(CompiledField.getCharacter()): New accessor method.
	(CompiledField.toString()): Added primarily for debugging.
	(standardChars): Now uses extended 24 character sequence.
	(compileFormat(String)): Changed to use CompiledField.
	(formatWithAttribute(java.util.Date, gnu.java.text.FormatBuffer,
	java.text.FieldPosition)): Changed to use CompiledField.
	New handler for RFC 822 timezones added.

2005-02-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/SimpleDateFormat.java:
	(parse(String, java.text.ParsePosition)):
	Changed 'E' and 'M' cases to use both
	short and long names.  Extended 'z'
	case to also handle 'Z', and deal
	with simple GMT offsets such as +0100.
	(computeOffset(String)): New private method,
	which converts a GMT offset specification,
	such as GMT-0500 to a numeric offset in
	milliseconds.
	* java/util/TimeZone.java:
	(timezones()): Added "CEST", the daylight
	savings time version of "CET", or Central
	European Time.

2005-02-21  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/text/SimpleDateFormat.java:
	(parse): Set the DST offset to 0 when parsing
	GMT offset timezones.

2005-02-21  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/text/SimpleDateFormat.java:
	(parse): Use offset to set ZONE_OFFSET
	rather than the DST_OFFSET, so that
	GMT offset timezones change the right
	one.

2005-02-21  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/SimpleDateFormat.java:
	(getDateFormatSymbols()): return a copy
	(setDateFormatSymbols(java.text.DateFormatSymbols)):
	throw exception on null input
	(clone()): implemented to clone
	internal fields

2005-02-21  Sven de Marothy <sven@physto.se>

	* java/text/SimpleDateFormat.java
	(parse): comparison should be case-insensitive, ignore null
	strings.

2005-02-21  Robert Schuster  <theBohemian@gmx.net>

	* gnu/java/beans/IntrospectionIncubator.java
	(addMethod) Reverts the patch that ntroduced a regression (see bug
	https://savannah.gnu.org/bugs/?func=detailitem&item_id=10938).

2005-02-21  Michael Koch  <konqueror@gmx.de>

	* java/awt/Checkbox.java
	(next_checkbox_number): New static variable.
	(generateName): New method.
	(getUniqueLong): Likewise.
	* java/awt/Window.java
	(next_window_number): New static variable.
	(generateName): New method.
	(getUniqueLong): Likewise.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (verifyHashes): Check whether ZipEntry
	exists.

2005-02-21  Andrew Haley  <aph@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natLogger.cc.
	* java/util/logging/natLogger.cc: New file.
	* java/util/logging/Logger.java (getCallerStackFrame): Now
	native.

2005-02-21  Andreas Tobler  <a.tobler@schweiz.ch>

	* Makefile.am (all_property_files): Remove left over.
	(classes.stamp): Add stamp for the ONESTEP build, also known as
	--enable-libgcj-multifile.
	* Makefile.in: Regenerated.

2005-02-21  Michael Koch  <konqueror@gmx.de>

	* java/awt/Button.java,
	java/awt/Container.java,
	java/awt/Font.java,
	java/awt/Frame.java,
	java/text/CollationElementIterator.java,
	java/text/RuleBasedCollator.java,
	java/util/PropertyPermission.java:
	Fixed formatting issues all over.

2005-02-21  Mark Wielaard  <mark@klomp.org>

	* java/io/FileDescriptor.java (sync): Add real exception to
	SyncFailedException.

2005-02-21  Michael Koch  <konqueror@gmx.de>

	* java/io/InputStreamReader.java:
	Fixed @author tag.

2005-02-20  Rutger Ovidius  <ovidr@users.sourceforge.net>

	PR libgcj/19728:
	* gnu/java/security/provider/Gnu.java (Gnu): Add SHA-160 alias.

2005-02-20  Dalibor Topic  <robilad@kaffe.org>

	* libraries/javalib/gnu/regexp/RE.java,
	libraries/javalib/java/io/ObjectInputStream.java,
	libraries/javalib/java/security/AllPermission.java,
	libraries/javalib/java/security/BasicPermission.java,
	libraries/javalib/java/security/Permissions.java,
	libraries/javalib/java/text/MessageFormat.java:
	Made 'inner' classes real public static inner classes,
	and made them final where possible, or removed them
	where unused.

2005-02-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/text/FormatCharacterIterator.java:
	Removed redundant modifiers.

2005-02-19  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gthread-jni.c (throw): Call g_snprintf instead of
	snprintf.

2005-02-19  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added new files in gnu/java/beans and
	java/beans/XMLDecoder.java.
	* Makefile.in: Regenerated.

2005-02-19  Robert Schuster  <thebohemian@gmx.net>

	* gnu/java/beans/decoder/GrowableArrayContext.java: Fixed
	assignment behavior by using java.lang.reflect.Array.set()
	directly.

2005-02-19  Dalibor Topic  <robilad@kaffe.org>

	* gnu/java/beans/EmptyBeanInfo.java,
	gnu/java/beans/info/ComponentBeanInfo.java:
	Removed unused files.

2005-02-19  Robert Schuster <thebohemian@gmx.net>

	* gnu/java/beans/DummyAppletStub.java: Add dummy implementation
	of AppletStub for java.beans.Beans.instantiate.
	* gnu/java/beans/DummyAppletContext.java: Add dummy implementation
	of AppletContext.
	* java/beans/Beans: Added 1.4 functionality, fixed user documentation
	to be conformant with Javadoc guidelines.
	(instantiate): Added two more overloaded variants, reworked user
	documentation, fixed exception behavior, fixed behavior when
	deserializing null.

2005-02-19  Mark Wielaard  <mark@klomp.org>

	* gnu/java/beans/decoder/DummyHandler.java: Add return statements for
	failing methods.
	* gnu/java/beans/decoder/DummyContext.java: Likewise.

2005-02-19  Robert Schuster  <theBohemian@gmx.net>

	* gnu/java/beans/decoder/AbstractContext.java,
	gnu/java/beans/decoder/AbstractCreatableContext.java,
	gnu/java/beans/decoder/AbstractElementHandler.java,
	gnu/java/beans/decoder/AbstractObjectContext.java,
	gnu/java/beans/decoder/ArrayContext.java,
	gnu/java/beans/decoder/ArrayHandler.java,
	gnu/java/beans/decoder/AssemblyException.java,
	gnu/java/beans/decoder/BooleanHandler.java,
	gnu/java/beans/decoder/ByteHandler.java,
	gnu/java/beans/decoder/CharHandler.java,
	gnu/java/beans/decoder/ClassHandler.java,
	gnu/java/beans/decoder/ConstructorContext.java,
	gnu/java/beans/decoder/Context.java,
	gnu/java/beans/decoder/DecoderContext.java,
	gnu/java/beans/decoder/DefaultExceptionListener.java,
	gnu/java/beans/decoder/DoubleHandler.java,
	gnu/java/beans/decoder/DummyContext.java,
	gnu/java/beans/decoder/DummyHandler.java,
	gnu/java/beans/decoder/ElementHandler.java,
	gnu/java/beans/decoder/FloatHandler.java,
	gnu/java/beans/decoder/GrowableArrayContext.java,
	gnu/java/beans/decoder/IndexContext.java,
	gnu/java/beans/decoder/IntHandler.java,
	gnu/java/beans/decoder/JavaHandler.java,
	gnu/java/beans/decoder/LongHandler.java,
	gnu/java/beans/decoder/MethodContext.java,
	gnu/java/beans/decoder/MethodFinder.java,
	gnu/java/beans/decoder/NullHandler.java,
	gnu/java/beans/decoder/ObjectContext.java,
	gnu/java/beans/decoder/ObjectHandler.java,
	gnu/java/beans/decoder/PersistenceParser.java,
	gnu/java/beans/decoder/PropertyContext.java,
	gnu/java/beans/decoder/ShortHandler.java,
	gnu/java/beans/decoder/SimpleHandler.java,
	gnu/java/beans/decoder/StaticMethodContext.java,
	gnu/java/beans/decoder/StringHandler.java,
	gnu/java/beans/decoder/VoidHandler.java: New class
	implementing java.beans.XMLDecoder decoding functionality.
	* java/beans/XMLDecoder.java: New class.

2005-02-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTextField.java
	(notfiyAction): Added javadoc.

2005-02-19  Sven de Marothy  <sven@physto.se>

	* javax/swing/SpinnerDateModel.java: Implemented.

2005-02-19  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added javax/swing/SpinnerDateModel.java.
	* Makefile.in: Regenerated.

2005-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java:
	Reworked import statements.
	(register): Removed unused code.
	* java/nio/channels/Channels.java: Reformatted.
	* java/nio/charset/Charset.java: Likewise.
	* java/rmi/server/RemoteObject.java
	(serialVersionUID): Made private.
	* java/rmi/server/UID.java
	(serialVersionUID): Likewise.

2005-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/ftp/ActiveModeDTP.java,
	gnu/java/net/protocol/ftp/BlockInputStream.java,
	gnu/java/net/protocol/ftp/BlockOutputStream.java,
	gnu/java/net/protocol/ftp/CompressedInputStream.java,
	gnu/java/net/protocol/ftp/CompressedOutputStream.java,
	gnu/java/net/protocol/ftp/DTPInputStream.java,
	gnu/java/net/protocol/ftp/DTP.java,
	gnu/java/net/protocol/ftp/DTPOutputStream.java,
	gnu/java/net/protocol/ftp/FTPConnection.java,
	gnu/java/net/protocol/ftp/FTPException.java,
	gnu/java/net/protocol/ftp/FTPResponse.java,
	gnu/java/net/protocol/ftp/FTPURLConnection.java,
	gnu/java/net/protocol/ftp/Handler.java,
	gnu/java/net/protocol/ftp/PassiveModeDTP.java,
	gnu/java/net/protocol/ftp/StreamInputStream.java,
	gnu/java/net/protocol/ftp/StreamOutputStream.java,
	gnu/java/net/CRLFInputStream.java,
	gnu/java/net/CRLFOutputStream.java,
	gnu/java/net/GetLocalHostAction.java,
	gnu/java/net/protocol/ftp/package.html: New files.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-02-18  Tom Tromey  <tromey@redhat.com>

	* link.cc (make_vtable): Remove abstract method check.
	(append_partial_itable): Likewise.

	PR java/20056:
	* verify.cc (type::equals): Fixed test.
	* testsuite/libjava.lang/PR20056.out: New file.
	* testsuite/libjava.lang/PR20056.java: New file.

2005-02-18  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/LinkedHashMap (addEntry): Call remove() with key argument,
	not the HashEntry. Reported by Jean-Marie White.

2005-02-18  Tom Tromey  <tromey@redhat.com>

	PR java/20056:
	* include/jvm.h (_Jv_Linker::has_field_p): Declare.
	* link.cc (has_field_p): New function.
	* verify.cc (check_field_constant): Added 'putfield' argument.
	(verify_instructions_0): Updated.
	(type::equals): New method.

2005-02-18  Anthony Green  <green@redhat.com>

	* NEWS: Draft of libgcj NEWS for 4.0.

2005-02-18  Anthony Green  <green@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Normalize x86
	architecture names to "i386" for compatibility reasons.  Win32
	still uses "x86".

2005-02-18  Anthony Green  <green@redhat.com>

	* gij.cc (version): Change year for '--version' to 2005.
	* gnu/gcj/convert/Convert.java: Ditto.
	* gnu/java/rmi/rmic/RMIC.java: Ditto.
	* gnu/java/rmi/registry/RegistryImpl.java: Ditto.

	* gnu/gcj/tools/gcj_dbtool/Main.java: Only show the most
	recent copyright year in `--version' output.

2005-02-18  Robert Schuster <thebohemian@gmx.net>

	* java/nio/charset/Charset.java (forName): Throws
	IllegalArgumentException when argument is null
	and added documentation.

2005-02-17  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* gnu/java/nio/channels/FileChannelImpl.java (write(ByteBuffer)):
	Move the position of the source buffer forward.

2005-02-17  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_Jv_GetMethodString): Updated declaration.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Updated.
	* java/lang/natClass.cc (_Jv_LookupInterfaceMethod): Updated.
	* link.cc (_Jv_GetMethodString): Added 'derived' argument.
	Changed type of second argument.  Rewrote.
	(make_vtable): Use it.
	(append_partial_itable): Updated.
	(layout_vtable_methods): Updated.

2005-02-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainSocketImpl.java
	(shutdownInput): Added javadoc.
	(shutdownOutput): Likewise.

2005-02-17  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/Chromaticity.java,
	javax/print/attribute/standard/Destination.java,
	javax/print/attribute/standard/MediaPrintableArea.java,
	javax/print/attribute/standard/MediaSize.java: New files.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-02-17  Andrew John Hughes  <gnu_andrew@member.fsf.org>
	    Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Cookie.java,
	gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPDateFormat.java,
	gnu/java/net/protocol/http/Request.java,
	gnu/java/nio/PipeImpl.java,
	gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/server/ConnectionRunnerPool.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/security/der/DERWriter.java,
	gnu/java/security/pkcs/SignerInfo.java,
	gnu/java/security/provider/EncodedKeyFactory.java,
	gnu/java/security/provider/GnuDHPublicKey.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/PKIXCertPathValidatorImpl.java,
	gnu/java/security/x509/X500DistinguishedName.java,
	gnu/java/security/x509/X509CRL.java,
	gnu/java/security/x509/X509CRLEntry.java,
	gnu/java/security/x509/X509Certificate.java,
	gnu/java/security/x509/ext/AuthorityKeyIdentifier.java,
	gnu/java/security/x509/ext/CertificatePolicies.java,
	gnu/java/security/x509/ext/PolicyConstraint.java,
	gnu/xml/dom/Consumer.java,
	gnu/xml/dom/DomCharacterData.java,
	gnu/xml/dom/DomDocument.java,
	gnu/xml/dom/DomDocumentBuilder.java,
	gnu/xml/dom/DomIterator.java,
	gnu/xml/dom/DomNode.java,
	gnu/xml/dom/DomXPathExpression.java,
	gnu/xml/dom/DomXPathResult.java,
	gnu/xml/dom/JAXPFactory.java,
	gnu/xml/pipeline/CallFilter.java,
	gnu/xml/pipeline/DomConsumer.java,
	gnu/xml/pipeline/LinkFilter.java,
	gnu/xml/pipeline/NSFilter.java,
	gnu/xml/pipeline/TeeConsumer.java,
	gnu/xml/pipeline/ValidationConsumer.java,
	gnu/xml/pipeline/WellFormednessFilter.java,
	gnu/xml/pipeline/XIncludeFilter.java,
	gnu/xml/pipeline/XsltFilter.java,
	gnu/xml/transform/ApplyImportsNode.java,
	gnu/xml/transform/Bindings.java,
	gnu/xml/transform/DocumentFunction.java,
	gnu/xml/transform/FormatNumberFunction.java,
	gnu/xml/transform/NodeNumberNode.java,
	gnu/xml/transform/NumberNode.java,
	gnu/xml/transform/Stylesheet.java,
	gnu/xml/transform/SystemPropertyFunction.java,
	gnu/xml/transform/Template.java,
	gnu/xml/transform/TemplatesImpl.java,
	gnu/xml/transform/TransformerImpl.java,
	gnu/xml/transform/ValueOfNode.java,
	gnu/xml/transform/XSLURIResolver.java,
	gnu/xml/util/DoParse.java,
	gnu/xml/util/Resolver.java,
	gnu/xml/xpath/Expr.java,
	gnu/xml/xpath/FunctionCall.java,
	gnu/xml/xpath/RelationalExpr.java,
	gnu/xml/xpath/Selector.java,
	gnu/xml/xpath/XPathParser.java:
	Reworked import statements, fixed modifier order and some little
	formatting issues.

2005-02-17  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/nio/ByteBufferImpl.java (compact):
	Set position and limit even if no bytes were moved.

2005-02-17  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharViewBufferImpl.java (compact): Likewise.
	* java/nio/DirectByteBufferImpl.java (compact): Likewise.
	* java/nio/DoubleViewBufferImpl.java (compact): Likewise.
	* java/nio/FloatViewBufferImpl.java (compact): Likewise.
	* java/nio/IntViewBufferImpl.java (compact): Likewise.
	* java/nio/LongViewBufferImpl.java (compact): Likewise.
	* java/nio/MappedByteBufferImpl.java (compact): Likewise.
	* java/nio/ShortViewBufferImpl.java (compact): Likewise.
	* java/nio/FloatBufferImpl.java (compact): Set position.
	* java/nio/CharBufferImpl.java (compact): Likewise.
	* java/nio/DoubleBufferImpl.java (compact): Likewise.
	* java/nio/IntBufferImpl.java (compact): Likewise.
	* java/nio/LongBufferImpl.java (compact): Likewise.
	* java/nio/ShortBufferImpl.java (compact): Likewise.

2005-02-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/MappedByteBufferImpl.java,
	java/nio/ShortBufferImpl.java
	(compact): Added explicit read-only check and invalidate mark.

2005-02-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
	gnu/java/awt/peer/gtk/GdkFontPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	gnu/java/awt/peer/gtk/GdkRobotPeer.java,
	gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java,
	gnu/java/awt/peer/gtk/GdkTextLayout.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	java/applet/Applet.java,
	java/awt/AWTError.java,
	java/awt/AWTEvent.java,
	java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java,
	java/awt/AWTKeyStroke.java,
	java/awt/AWTPermission.java,
	java/awt/ActiveEvent.java,
	java/awt/Adjustable.java,
	java/awt/AlphaComposite.java,
	java/awt/AttributeValue.java,
	java/awt/BorderLayout.java,
	java/awt/BufferCapabilities.java,
	java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/CheckboxGroup.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Color.java,
	java/awt/ColorPaintContext.java,
	java/awt/Component.java,
	java/awt/ComponentOrientation.java,
	java/awt/Composite.java,
	java/awt/CompositeContext.java,
	java/awt/Container.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/DefaultFocusTraversalPolicy.java,
	java/awt/Dialog.java,
	java/awt/Dimension.java,
	java/awt/DisplayMode.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/FontFormatException.java,
	java/awt/Graphics.java,
	java/awt/Graphics2D.java,
	java/awt/GraphicsConfigTemplate.java,
	java/awt/GraphicsConfiguration.java,
	java/awt/GraphicsDevice.java,
	java/awt/GridBagLayout.java,
	java/awt/GridBagLayoutInfo.java,
	java/awt/GridLayout.java,
	java/awt/HeadlessException.java,
	java/awt/IllegalComponentStateException.java,
	java/awt/Image.java,
	java/awt/Insets.java,
	java/awt/ItemSelectable.java,
	java/awt/JobAttributes.java,
	java/awt/KeyEventDispatcher.java,
	java/awt/KeyEventPostProcessor.java,
	java/awt/KeyboardFocusManager.java,
	java/awt/Label.java,
	java/awt/LayoutManager.java,
	java/awt/MenuBar.java,
	java/awt/MenuComponent.java,
	java/awt/MenuContainer.java,
	java/awt/PageAttributes.java,
	java/awt/Paint.java,
	java/awt/PaintContext.java,
	java/awt/Panel.java,
	java/awt/Point.java,
	java/awt/Polygon.java,
	java/awt/PrintGraphics.java,
	java/awt/PrintJob.java,
	java/awt/Rectangle.java,
	java/awt/RenderingHints.java,
	java/awt/Shape.java,
	java/awt/Stroke.java,
	java/awt/SystemColor.java,
	java/awt/Toolkit.java,
	java/awt/Transparency.java,
	java/awt/Window.java,
	java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java,
	java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.java,
	java/awt/dnd/Autoscroll.java,
	java/awt/dnd/DnDConstants.java,
	java/awt/dnd/DragGestureListener.java,
	java/awt/dnd/DragSourceAdapter.java,
	java/awt/dnd/DragSourceDropEvent.java,
	java/awt/dnd/DragSourceListener.java,
	java/awt/dnd/DragSourceMotionListener.java,
	java/awt/dnd/DropTargetAdapter.java,
	java/awt/dnd/DropTargetContext.java,
	java/awt/dnd/DropTargetListener.java,
	java/awt/dnd/InvalidDnDOperationException.java,
	java/awt/dnd/MouseDragGestureRecognizer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/event/AWTEventListener.java,
	java/awt/event/AWTEventListenerProxy.java,
	java/awt/event/ActionEvent.java,
	java/awt/event/AdjustmentEvent.java,
	java/awt/event/AdjustmentListener.java,
	java/awt/event/ComponentAdapter.java,
	java/awt/event/ComponentEvent.java,
	java/awt/event/ComponentListener.java,
	java/awt/event/ContainerAdapter.java,
	java/awt/event/ContainerEvent.java,
	java/awt/event/ContainerListener.java,
	java/awt/event/FocusAdapter.java,
	java/awt/event/FocusEvent.java,
	java/awt/event/FocusListener.java,
	java/awt/event/InputEvent.java,
	java/awt/event/InputMethodEvent.java,
	java/awt/event/InputMethodListener.java,
	java/awt/event/InvocationEvent.java,
	java/awt/event/ItemEvent.java,
	java/awt/event/ItemListener.java,
	java/awt/event/KeyAdapter.java,
	java/awt/event/KeyEvent.java,
	java/awt/event/KeyListener.java,
	java/awt/event/MouseAdapter.java,
	java/awt/event/MouseEvent.java,
	java/awt/event/MouseListener.java,
	java/awt/event/MouseMotionAdapter.java,
	java/awt/event/MouseMotionListener.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/event/MouseWheelListener.java,
	java/awt/event/PaintEvent.java,
	java/awt/event/TextEvent.java,
	java/awt/event/TextListener.java,
	java/awt/event/WindowAdapter.java,
	java/awt/event/WindowEvent.java,
	java/awt/event/WindowFocusListener.java,
	java/awt/event/WindowListener.java,
	java/awt/event/WindowStateListener.java,
	java/awt/font/TextHitInfo.java,
	java/awt/geom/CubicCurve2D.java,
	java/awt/geom/Dimension2D.java,
	java/awt/geom/Ellipse2D.java,
	java/awt/geom/IllegalPathStateException.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/NoninvertibleTransformException.java,
	java/awt/geom/PathIterator.java,
	java/awt/geom/Point2D.java,
	java/awt/geom/QuadCurve2D.java,
	java/awt/geom/RectangularShape.java,
	java/awt/geom/RoundRectangle2D.java,
	java/awt/im/InputContext.java,
	java/awt/im/InputMethodHighlight.java,
	java/awt/im/InputMethodRequests.java,
	java/awt/im/InputSubset.java,
	java/awt/im/spi/InputMethod.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/BandCombineOp.java,
	java/awt/image/BandedSampleModel.java,
	java/awt/image/ByteLookupTable.java,
	java/awt/image/ComponentSampleModel.java,
	java/awt/image/DataBuffer.java,
	java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferDouble.java,
	java/awt/image/DataBufferFloat.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferShort.java,
	java/awt/image/DataBufferUShort.java,
	java/awt/image/ImagingOpException.java,
	java/awt/image/Kernel.java,
	java/awt/image/LookupTable.java,
	java/awt/image/MultiPixelPackedSampleModel.java,
	java/awt/image/PackedColorModel.java,
	java/awt/image/PixelInterleavedSampleModel.java,
	java/awt/image/RGBImageFilter.java,
	java/awt/image/Raster.java,
	java/awt/image/RasterFormatException.java,
	java/awt/image/SampleModel.java,
	java/awt/image/ShortLookupTable.java,
	java/awt/image/SinglePixelPackedSampleModel.java,
	java/awt/image/WritableRaster.java,
	java/awt/print/PrinterAbortException.java,
	java/awt/print/PrinterException.java,
	java/awt/print/PrinterIOException.java,
	java/beans/AppletInitializer.java,
	java/beans/ExceptionListener.java,
	java/beans/PropertyChangeEvent.java,
	java/beans/PropertyChangeListenerProxy.java,
	java/beans/PropertyChangeSupport.java,
	java/beans/PropertyDescriptor.java,
	java/beans/VetoableChangeListenerProxy.java,
	java/beans/VetoableChangeSupport.java,
	java/io/BufferedReader.java,
	java/io/ByteArrayInputStream.java,
	java/io/ByteArrayOutputStream.java,
	java/io/CharArrayReader.java,
	java/io/CharArrayWriter.java,
	java/io/CharConversionException.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/DataOutput.java,
	java/io/DataOutputStream.java,
	java/io/EOFException.java,
	java/io/FileInputStream.java,
	java/io/FileNotFoundException.java,
	java/io/FileOutputStream.java,
	java/io/FilenameFilter.java,
	java/io/FilterInputStream.java,
	java/io/FilterOutputStream.java,
	java/io/FilterReader.java,
	java/io/FilterWriter.java,
	java/io/IOException.java,
	java/io/InputStream.java,
	java/io/InterruptedIOException.java,
	java/io/LineNumberInputStream.java,
	java/io/LineNumberReader.java,
	java/io/ObjectInputStream.java,
	java/io/ObjectStreamException.java,
	java/io/OptionalDataException.java,
	java/io/OutputStream.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/PrintWriter.java,
	java/io/PushbackInputStream.java,
	java/io/PushbackReader.java,
	java/io/RandomAccessFile.java,
	java/io/Reader.java,
	java/io/SequenceInputStream.java,
	java/io/Serializable.java,
	java/io/StreamCorruptedException.java,
	java/io/StreamTokenizer.java,
	java/io/StringBufferInputStream.java,
	java/io/StringWriter.java,
	java/io/SyncFailedException.java,
	java/io/UTFDataFormatException.java,
	java/io/UnsupportedEncodingException.java,
	java/io/WriteAbortedException.java,
	java/io/Writer.java,
	java/lang/AbstractMethodError.java,
	java/lang/ArithmeticException.java,
	java/lang/ArrayIndexOutOfBoundsException.java,
	java/lang/ArrayStoreException.java,
	java/lang/AssertionError.java,
	java/lang/Boolean.java,
	java/lang/Byte.java,
	java/lang/Class.java,
	java/lang/ClassCastException.java,
	java/lang/ClassCircularityError.java,
	java/lang/ClassLoader.java,
	java/lang/ClassNotFoundException.java,
	java/lang/CloneNotSupportedException.java,
	java/lang/Cloneable.java,
	java/lang/Comparable.java,
	java/lang/Compiler.java,
	java/lang/Double.java,
	java/lang/Error.java,
	java/lang/Exception.java,
	java/lang/ExceptionInInitializerError.java,
	java/lang/Float.java,
	java/lang/IllegalAccessError.java,
	java/lang/IllegalAccessException.java,
	java/lang/IllegalArgumentException.java,
	java/lang/IllegalMonitorStateException.java,
	java/lang/IllegalStateException.java,
	java/lang/IllegalThreadStateException.java,
	java/lang/IncompatibleClassChangeError.java,
	java/lang/IndexOutOfBoundsException.java,
	java/lang/InheritableThreadLocal.java,
	java/lang/InstantiationError.java,
	java/lang/InstantiationException.java,
	java/lang/Integer.java,
	java/lang/InternalError.java,
	java/lang/InterruptedException.java,
	java/lang/LinkageError.java,
	java/lang/Long.java,
	java/lang/NegativeArraySizeException.java,
	java/lang/NoClassDefFoundError.java,
	java/lang/NoSuchFieldError.java,
	java/lang/NoSuchFieldException.java,
	java/lang/NoSuchMethodError.java,
	java/lang/NoSuchMethodException.java,
	java/lang/NullPointerException.java,
	java/lang/Number.java,
	java/lang/NumberFormatException.java,
	java/lang/OutOfMemoryError.java,
	java/lang/Process.java,
	java/lang/Runnable.java,
	java/lang/Runtime.java,
	java/lang/RuntimeException.java,
	java/lang/RuntimePermission.java,
	java/lang/SecurityException.java,
	java/lang/SecurityManager.java,
	java/lang/Short.java,
	java/lang/StackOverflowError.java,
	java/lang/StackTraceElement.java,
	java/lang/StringBuffer.java,
	java/lang/StringIndexOutOfBoundsException.java,
	java/lang/ThreadDeath.java,
	java/lang/ThreadGroup.java,
	java/lang/Throwable.java,
	java/lang/UnsatisfiedLinkError.java,
	java/lang/UnsupportedOperationException.java,
	java/lang/VerifyError.java,
	java/lang/VirtualMachineError.java,
	java/lang/reflect/AccessibleObject.java,
	java/lang/reflect/Array.java,
	java/lang/reflect/InvocationTargetException.java,
	java/lang/reflect/Member.java,
	java/lang/reflect/Modifier.java,
	java/lang/reflect/Proxy.java,
	java/lang/reflect/ReflectPermission.java,
	java/lang/reflect/UndeclaredThrowableException.java,
	java/math/BigInteger.java,
	java/net/NetworkInterface.java,
	java/nio/ByteBufferHelper.java,
	java/nio/ByteBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/ShortBufferImpl.java,
	java/nio/channels/Channel.java,
	java/nio/channels/IllegalBlockingModeException.java,
	java/nio/charset/spi/CharsetProvider.java,
	java/security/AccessControlException.java,
	java/security/BasicPermission.java,
	java/security/DigestException.java,
	java/security/DigestInputStream.java,
	java/security/DigestOutputStream.java,
	java/security/GeneralSecurityException.java,
	java/security/Guard.java,
	java/security/GuardedObject.java,
	java/security/InvalidAlgorithmParameterException.java,
	java/security/InvalidKeyException.java,
	java/security/InvalidParameterException.java,
	java/security/Key.java,
	java/security/KeyException.java,
	java/security/KeyManagementException.java,
	java/security/KeyStoreException.java,
	java/security/MessageDigestSpi.java,
	java/security/NoSuchAlgorithmException.java,
	java/security/NoSuchProviderException.java,
	java/security/Permission.java,
	java/security/PermissionCollection.java,
	java/security/Permissions.java,
	java/security/Principal.java,
	java/security/PrivateKey.java,
	java/security/PrivilegedActionException.java,
	java/security/ProviderException.java,
	java/security/PublicKey.java,
	java/security/SecureRandom.java,
	java/security/SecureRandomSpi.java,
	java/security/SignatureException.java,
	java/security/SignatureSpi.java,
	java/security/SignedObject.java,
	java/security/Signer.java,
	java/security/UnrecoverableKeyException.java,
	java/security/UnresolvedPermission.java,
	java/security/acl/AclNotFoundException.java,
	java/security/acl/LastOwnerException.java,
	java/security/acl/NotOwnerException.java,
	java/security/cert/CertPath.java,
	java/security/cert/CertPathBuilderException.java,
	java/security/cert/CertPathValidatorException.java,
	java/security/cert/CertStoreException.java,
	java/text/BreakIterator.java,
	java/text/ChoiceFormat.java,
	java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/Collator.java,
	java/text/DateFormat.java,
	java/text/DateFormatSymbols.java,
	java/text/DecimalFormat.java,
	java/text/DecimalFormatSymbols.java,
	java/text/FieldPosition.java,
	java/text/Format.java,
	java/text/NumberFormat.java,
	java/text/ParseException.java,
	java/text/ParsePosition.java,
	java/text/StringCharacterIterator.java,
	java/util/AbstractCollection.java,
	java/util/AbstractList.java,
	java/util/AbstractMap.java,
	java/util/AbstractSequentialList.java,
	java/util/AbstractSet.java,
	java/util/ArrayList.java,
	java/util/Arrays.java,
	java/util/BitSet.java,
	java/util/Collection.java,
	java/util/Collections.java,
	java/util/Comparator.java,
	java/util/ConcurrentModificationException.java,
	java/util/Currency.java,
	java/util/Date.java,
	java/util/EmptyStackException.java,
	java/util/Enumeration.java,
	java/util/EventListener.java,
	java/util/EventListenerProxy.java,
	java/util/EventObject.java,
	java/util/HashMap.java,
	java/util/HashSet.java,
	java/util/Hashtable.java,
	java/util/IdentityHashMap.java,
	java/util/Iterator.java,
	java/util/LinkedHashSet.java,
	java/util/LinkedList.java,
	java/util/List.java,
	java/util/ListIterator.java,
	java/util/ListResourceBundle.java,
	java/util/Map.java,
	java/util/MissingResourceException.java,
	java/util/NoSuchElementException.java,
	java/util/Observable.java,
	java/util/Observer.java,
	java/util/Properties.java,
	java/util/PropertyPermissionCollection.java,
	java/util/RandomAccess.java,
	java/util/Set.java,
	java/util/SortedMap.java,
	java/util/SortedSet.java,
	java/util/Stack.java,
	java/util/StringTokenizer.java,
	java/util/TooManyListenersException.java,
	java/util/TreeMap.java,
	java/util/TreeSet.java,
	java/util/Vector.java,
	java/util/logging/FileHandler.java,
	java/util/logging/Level.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/Preferences.java,
	javax/accessibility/Accessible.java,
	javax/accessibility/AccessibleAction.java,
	javax/accessibility/AccessibleBundle.java,
	javax/accessibility/AccessibleComponent.java,
	javax/accessibility/AccessibleContext.java,
	javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleExtendedComponent.java,
	javax/accessibility/AccessibleExtendedTable.java,
	javax/accessibility/AccessibleHyperlink.java,
	javax/accessibility/AccessibleHypertext.java,
	javax/accessibility/AccessibleIcon.java,
	javax/accessibility/AccessibleKeyBinding.java,
	javax/accessibility/AccessibleRelation.java,
	javax/accessibility/AccessibleRelationSet.java,
	javax/accessibility/AccessibleResourceBundle.java,
	javax/accessibility/AccessibleRole.java,
	javax/accessibility/AccessibleSelection.java,
	javax/accessibility/AccessibleState.java,
	javax/accessibility/AccessibleStateSet.java,
	javax/accessibility/AccessibleTable.java,
	javax/accessibility/AccessibleTableModelChange.java,
	javax/accessibility/AccessibleText.java,
	javax/accessibility/AccessibleValue.java,
	javax/imageio/IIOException.java,
	javax/imageio/ImageIO.java,
	javax/imageio/spi/IIOServiceProvider.java,
	javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java,
	javax/imageio/spi/ImageReaderWriterSpi.java,
	javax/imageio/spi/ImageTranscoderSpi.java,
	javax/imageio/spi/RegisterableService.java,
	javax/imageio/spi/ServiceRegistry.java,
	javax/imageio/stream/IIOByteBuffer.java,
	javax/imageio/stream/ImageInputStream.java,
	javax/imageio/stream/ImageOutputStream.java,
	javax/naming/Binding.java,
	javax/naming/CannotProceedException.java,
	javax/naming/CompositeName.java,
	javax/naming/CompoundName.java,
	javax/naming/LinkException.java,
	javax/naming/LinkRef.java,
	javax/naming/NameClassPair.java,
	javax/naming/Reference.java,
	javax/naming/ReferralException.java,
	javax/naming/directory/Attribute.java,
	javax/naming/directory/AttributeModificationException.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/DirContext.java,
	javax/naming/directory/ModificationItem.java,
	javax/naming/directory/SearchControls.java,
	javax/naming/directory/SearchResult.java,
	javax/naming/event/EventContext.java,
	javax/naming/event/EventDirContext.java,
	javax/naming/event/NamespaceChangeListener.java,
	javax/naming/event/NamingExceptionEvent.java,
	javax/naming/event/NamingListener.java,
	javax/naming/event/ObjectChangeListener.java,
	javax/naming/ldap/Control.java,
	javax/naming/ldap/ExtendedResponse.java,
	javax/naming/ldap/HasControls.java,
	javax/naming/ldap/LdapContext.java,
	javax/naming/ldap/UnsolicitedNotification.java,
	javax/naming/ldap/UnsolicitedNotificationEvent.java,
	javax/naming/ldap/UnsolicitedNotificationListener.java,
	javax/naming/spi/DirectoryManager.java,
	javax/naming/spi/ResolveResult.java,
	javax/naming/spi/Resolver.java,
	javax/security/auth/callback/Callback.java,
	javax/security/auth/callback/CallbackHandler.java,
	javax/security/auth/callback/ChoiceCallback.java,
	javax/security/auth/callback/ConfirmationCallback.java,
	javax/security/auth/callback/LanguageCallback.java,
	javax/security/auth/callback/NameCallback.java,
	javax/security/auth/callback/PasswordCallback.java,
	javax/security/auth/callback/TextInputCallback.java,
	javax/security/auth/callback/TextOutputCallback.java,
	javax/security/auth/callback/UnsupportedCallbackException.java,
	javax/security/sasl/Sasl.java,
	javax/security/sasl/SaslServerFactory.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/JComponent.java,
	javax/swing/JList.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java,
	javax/swing/JTextArea.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JTree.java,
	javax/swing/SpinnerListModel.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/StringContent.java,
	javax/swing/text/Utilities.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/undo/UndoableEditSupport.java,
	javax/transaction/HeuristicCommitException.java,
	javax/transaction/HeuristicMixedException.java,
	javax/transaction/HeuristicRollbackException.java,
	javax/transaction/InvalidTransactionException.java,
	javax/transaction/NotSupportedException.java,
	javax/transaction/RollbackException.java,
	javax/transaction/Status.java,
	javax/transaction/Synchronization.java,
	javax/transaction/SystemException.java,
	javax/transaction/Transaction.java,
	javax/transaction/TransactionManager.java,
	javax/transaction/TransactionRequiredException.java,
	javax/transaction/TransactionRolledbackException.java,
	javax/transaction/UserTransaction.java,
	javax/transaction/xa/XAException.java,
	javax/transaction/xa/XAResource.java,
	javax/transaction/xa/Xid.java,
	javax/xml/XMLConstants.java,
	javax/xml/datatype/DatatypeConfigurationException.java,
	javax/xml/datatype/DatatypeConstants.java,
	javax/xml/datatype/DatatypeFactory.java,
	javax/xml/datatype/Duration.java,
	javax/xml/datatype/XMLGregorianCalendar.java,
	javax/xml/namespace/NamespaceContext.java,
	javax/xml/namespace/QName.java,
	javax/xml/parsers/DocumentBuilder.java,
	javax/xml/parsers/DocumentBuilderFactory.java,
	javax/xml/parsers/FactoryConfigurationError.java,
	javax/xml/parsers/ParserConfigurationException.java,
	javax/xml/parsers/SAXParser.java,
	javax/xml/parsers/SAXParserFactory.java,
	javax/xml/transform/ErrorListener.java,
	javax/xml/transform/OutputKeys.java,
	javax/xml/transform/Result.java,
	javax/xml/transform/Source.java,
	javax/xml/transform/SourceLocator.java,
	javax/xml/transform/Templates.java,
	javax/xml/transform/Transformer.java,
	javax/xml/transform/TransformerConfigurationException.java,
	javax/xml/transform/TransformerException.java,
	javax/xml/transform/TransformerFactory.java,
	javax/xml/transform/TransformerFactoryConfigurationError.java,
	javax/xml/transform/URIResolver.java,
	javax/xml/transform/dom/DOMLocator.java,
	javax/xml/transform/dom/DOMResult.java,
	javax/xml/transform/dom/DOMSource.java,
	javax/xml/transform/sax/SAXResult.java,
	javax/xml/transform/sax/SAXSource.java,
	javax/xml/transform/sax/SAXTransformerFactory.java,
	javax/xml/transform/sax/TemplatesHandler.java,
	javax/xml/transform/sax/TransformerHandler.java,
	javax/xml/transform/stream/StreamResult.java,
	javax/xml/transform/stream/StreamSource.java,
	javax/xml/validation/Schema.java,
	javax/xml/validation/SchemaFactory.java,
	javax/xml/validation/TypeInfoProvider.java,
	javax/xml/validation/Validator.java,
	javax/xml/validation/ValidatorHandler.java,
	javax/xml/xpath/XPathConstants.java,
	javax/xml/xpath/XPathException.java,
	javax/xml/xpath/XPathExpression.java,
	javax/xml/xpath/XPathExpressionException.java,
	javax/xml/xpath/XPathFactory.java,
	javax/xml/xpath/XPathFactoryConfigurationException.java,
	javax/xml/xpath/XPathFunction.java,
	javax/xml/xpath/XPathFunctionException.java,
	javax/xml/xpath/XPathFunctionResolver.java:
	Fixed usage of @author tag, reworked import statements,
	removed CVS tags, changed the modifier order and fixed
	HTML usage in javadocs.

2005-02-16  Julian Scheid  <julian@sektor37.de>

	* gnu/java/nio/charset/UTF_8.java (decodeLoop): Set inPos to
	in.position().
	(encodeLoop): Likewise.

2005-02-16  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (ordinary_java_source_files): Add new files
	gnu/java/security/ber/BER.java,
	gnu/java/security/ber/BEREncodingException.java,
	gnu/java/security/ber/BERReader.java,
	gnu/java/security/ber/BERValue.java,
	gnu/java/security/pkcs/PKCS7SignedData.java and
	gnu/java/security/pkcs/SignerInfo.java.
	* Makefile.in: Regenerated.

2005-02-16  Casey Marshall  <csm@gnu.org>

	* gnu/java/security/provider/GnuDSAPrivateKey.java
	(encodedKey): new field.
	(getFormat): return "PKCS#8".
	(getEncoded): implemented.
	(toString): check for 'null' values.
	* gnu/java/security/provider/GnuDSAPublicKey.java
	(encodedKey): new field.
	(getFormat): return "X.509".
	(getEncoded): implemented.
	(toString): check for 'null' values.

2005-02-16  Michael Koch  <konqueror@gmx.de>

	* java/util/jar/JarFile.java: Imports reworked.

2005-02-16  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (verify): Make package private.
	(signaturesRead): Likewise.
	(verified): Likewise.
	(entryCerts): Likewise.
	(DEBUG): Likewise.
	(debug): Likewise.
	(entries): Construct new JarEnumeration with reference to this.
	(JarEnumeration): Make static.
	(JarEnumeration.jarfile): New field.
	(JarEnumeration.nextElement): Use and synchronize on jarfile.
	Compare verified value to Boolean.TRUE or Boolean.False only
	when verify is true.
	(getEntry): Make synchronized. Compare value of verified to
	Boolean.TRUE.
	(getInputStream): Construct EntryInputStream with reference to this.
	(getManifest): Make synchronized.
	(EntryInputStream): Make static.
	(EntryInputStream.jarfile): New field.
	(EntryInputStream.EntryInputStream): Check if manifest exists,
	before getting attributes.
	(eof): Synchronize on jarfile.

2005-02-16  Casey Marshall  <csm@gnu.org>

	* java/util/jar/JarFile.java (verify): return if the jar is signed
	with an unsupported algorithm.

2005-02-16  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (EntryInputStream): Add actual
	InputStream as argument.
	(getInputStream): Construct a new EntryInputStream with the result of
	super.getInputStream(entry).

2005-02-16  Casey Marshall  <csm@gnu.org>

	Signed JAR file support.
	* java/net/URLClassLoader.java
	(JarURLResource.getCertificates): re-read jar entry to ensure
	certificates are picked up.
	(findClass): fill in class `signers' field, too.
	* java/util/jar/JarFile.java (META_INF): new constant.
	(PKCS7_DSA_SUFFIX): new constant.
	(PKCS7_RSA_SUFFIX): new constant.
	(DIGEST_KEY_SUFFIX): new constant.
	(SF_SUFFIX): new constant.
	(MD2_OID): new constant.
	(MD4_OID): new constant.
	(MD5_OID): new constant.
	(SHA1_OID): new constant.
	(DSA_ENCRYPTION_OID): new constant.
	(RSA_ENCRYPTION_OID): new constant.
	(signaturesRead): new field.
	(verified): new field.
	(entryCerts): new field.
	(DEBUG): new constant.
	(debug): new method.
	(JarEnumeration.nextElement): fill in entry certificates, read
	signatures if they haven't been read.
	(getEntry): likewise.
	(getInputStream): verify stream if it hasn't been verified yet.
	(readSignatures): new method.
	(verify): new method.
	(verifyHashes): new method.
	(readManifestEntry): new method.
	(EntryInputStream): new class.
	* gnu/java/io/Base64InputStream.java (decode): new class
	method.
	* gnu/java/security/der/DERReader.java don't make class
	final.
	(in): made protected.
	(encBuf): likewise.
	(readLength): likewise.
	* gnu/java/security/ber/BER.java,
	* gnu/java/security/ber/BEREncodingException.java,
	* gnu/java/security/ber/BERReader.java,
	* gnu/java/security/ber/BERValue.java,
	* gnu/java/security/pkcs/PKCS7SignedData.java,
	* gnu/java/security/pkcs/SignerInfo.java:
	new files.

2005-02-16  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/SharedLibHelper.java (findHelper): Delete
	copied file on exit.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/awt/BasicStroke.java (hashCode): Check for null dash.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkArg.java,
	gnu/java/awt/peer/gtk/GtkArgList.java:
	Removed.

2005-02-15  Craig Black  <craig.black@aonix.com>

	* gnu/java/awt/peer/gtk/GtkCheckboxMenuItem.java
	(postMenuActionEvent): Implement to notify ItemListeners.
	* java/awt/CheckboxMenuItem.java
	(dispatchEventImpl): Update state on ItemEvent.
	* java/awt/MenuItem.java
	(processActionEvent): Retarget event source.

2005-02-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/java/awt/color/ClutProfileConverter.java,
	gnu/java/awt/peer/ClasspathTextLayoutPeer.java,
	gnu/java/awt/peer/gtk/GdkFontPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	gnu/java/awt/peer/gtk/GdkRobotPeer.java,
	gnu/java/awt/peer/gtk/GdkTextLayout.java,
	gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JSpinner.java,
	javax/swing/SortingFocusTraversalPolicy.java,
	javax/swing/SwingUtilities.java,
	javax/swing/plaf/basic/BasicComboBoxEditor.java,
	javax/swing/plaf/basic/BasicComboBoxRenderer.java,
	javax/swing/tree/DefaultMutableTreeNode.java:
	Removed unused imports and expanded starred
	imports.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/awt/AWTKeyStroke.java (getAWTKeyStroke(String)): Throw
	IllegalArgumentException when the given String is null.

	* javax/swing/KeyStroke.java (getKeyStroke(String)): Return null
	when given keystoke sequence cannot be parsed.

	* javax/swing/JRootPane.java (setJMenuBar): Remove current menubar
	if one is installed. Only install the given menubar is not null.

	* javax/swing/JViewport.java (getViewSize): Return an empty
	Dimension when the view isn't set or preferred component size when
	no viewSize is set.

	* javax/swing/ViewportLayout.java (preferredLayoutSize): Return an
	empty Dimension when there is no view set.
	(minimumLayoutSize): Likewise.
	(layoutContainer): Don't try to layout when there is no view.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jawt.c: New file.
	* include/jawt.h: Likewise.
	* include/jawt_md.h: Likewise.
	* include/Makefile.am (tool_include__HEADERS): Add jawt.h and
	jawt_md.h files.
	* jni/classpath/classpath_jawt.h: Likewise.
	* jni/gtk-peer/gtk_jawt.c: Likewise.
	* Makefile.am: Build libjawt.so.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	Merged file header with classpath CVS head.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
	Merged code formatting with classpath CVS head.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:
	Removed debug code.
	(Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector):
	Handle special JNI strings with 2 '\0' at the end.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Merged file header with classpath CVS head.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:
	Merged code formatting with classpath CVS head.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c (create):
	Use GTK's built-in file system backend.  Use GTK_RESPONSE_ACCEPT.
	(handle_response): Use GTK_RESPONSE_ACCEPT.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* Makefile.am: Fix library build breakage.
	* Makefile.in: Regenerate.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTabbedPane.java
	(Page.setDisplayedMnemonicIndex): Handle empty menmonic.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/tree/DefaultMutableTreeNode.java:
	Reworked Javadocs all over.
	(getPathToRoot): Fixed direction of result array initialization.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	 Fix includes for cairo 0.3.0 snappshot.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:
	Merged file header from classpath CVS HEAD.

2005-02-15  Craig Black  <craig.black@aonix.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(copyState): Pass a JNI global reference to signal handler.
	(realize_cb): Use and free JNI global reference.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(create): Pass a JNI global reference to signal handler.
	(selection_changed): Match declaration.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c
	(dispose): Do not remove entries from state tables until after widget is
	destroyed.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/Container.javai (paramString):
	If layoutMgr is null just return result of super.paramString().
	* java/awt/Scrollbar.java: Reformatted.
	* java/awt/im/InputContext.java (static):
	Removed redundant initializations.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/ImageIcon.java,
	javax/swing/UIManager.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/Segment.java:
	More whitespace cleanups.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/EmbeddedWindow.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	java/awt/DefaultKeyboardFocusManager.java,
	java/awt/Frame.java,
	java/awt/image/RGBImageFilter.java,
	javax/swing/AbstractButton.java,
	javax/swing/ActionMap.java,
	javax/swing/ComponentInputMap.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/ImageIcon.java,
	javax/swing/InputMap.java,
	javax/swing/JButton.java,
	javax/swing/JCheckBox.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JEditorPane.java,
	javax/swing/JMenu.java,
	javax/swing/JMenuItem.java,
	javax/swing/JOptionPane.java,
	javax/swing/JRootPane.java,
	javax/swing/JTable.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/RepaintManager.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SortingFocusTraversalPolicy.java,
	javax/swing/UIManager.java,
	javax/swing/ViewportLayout.java,
	javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java,
	javax/swing/plaf/basic/BasicInternalFrameUI.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicMenuItemUI.java,
	javax/swing/plaf/basic/BasicMenuUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java,
	javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java,
	javax/swing/plaf/basic/BasicRootPaneUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/Position.java,
	javax/swing/text/Segment.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/text/ViewFactory.java:
	Cleanup whitespace differences to classpath CVS HEAD.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
	(finalize): Call finish from here.
	(produce): Not from here.
	* Makefile.am (gtk_c_source_files):
	Remove jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c.
	* Makefile.in: Regenerate.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(cairoSetFont):
	(cairoDrawGdkTextLayout):
	(cairoDrawString):
	(getPeerTextMetrics):
	(getPeerFontMetrics): Remove.
	(setFont): Don't call cairoSetFont.
	(cairoDrawGlyphVector): Accept font peer argument.
	(drawGlyphVector): Pass font peer to cairoDrawGlyphVector.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(ensure_metrics_cairo):
	(gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetFont):
	(gnu_java_awt_peer_gtk_GdkGraphics2D_cairoDrawString):
	(gnu_java_awt_peer_gtk_GdkGraphics2D_getPeerFontMetrics):
	(gnu_java_awt_peer_gtk_GdkGraphics2D_getPeerTextMetrics):
	(metrics_cairo):
	(metrics_surface): Remove.
	(gnu_java_awt_peer_gtk_GdkGraphics2D_cairoDrawGlyphVector):
	Pass and install font peer.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* Makefile.am: Create "split library" structure.
	* Makefile.in: Regenerate.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	Release GDK lock during upcalls.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c: Remove.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
	(Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector):
	(Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics):
	(Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTextMetrics): New methods.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c: Remove.
	* gnu/java/awt/peer/gtk/GdkFontPeer.java
	(getGlyphVector):
	(getFontMetrics):
	(getTextMetrics): New native methods.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java: Remove native parts.
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java: Likewise.
	* Makefile.am: Remove native entries for GdkFontMetrics, GdkGlyphVector.
	* Makefile.in: Regenerate.

2005-02-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/swing/SwingUtilities.java:
	(getAccessibleAt(java.awt.Component, java.awt.Point)):
	Implemented and documented.
	(getAccessibleChild(java.awt.Component, int)): Likewise.
	(getAccessibleChildrenCount(java.awt.Component)): Likewise.
	(getAccessibleIndexInParent(java.awt.Component)): Likewise.
	(getAccessibleStateSet(java.awt.Component)): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/SwingUtilities.java
	(getFontMetrics): Removed.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/Container.java
	(paramString): Implemented.
	* javax/swing/AbstractButton.java
	(paramString): Implemented.
	* javax/swing/JComponent.java
	(paramString): Implemented.
	* javax/swing/JMenu.java
	(paramString): Implemented.
	* javax/swing/JMenuBar.java
	(paramString): Implemented.
	* javax/swing/JMenuItem.java
	(paramString): Implemented.
	* javax/swing/JPopupMenu.java
	(paramString): Implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JMenu.java
	(uiClassID): Removed.
	(JMenu): Set invoker on popup menu.
	(getUIClassID): Return id directly.
	(getItemCount): Simply return getMenuComponentCount().
	Fixed javadoc.
	(isTopLevelMenu): Simplified.
	* javax/swing/JMenuItem.java
	(uiClassID): Removed.
	(getUIClassID): Return id directly.
	* javax/swing/JPopupMenu.java
	(uiClassID): Removed.
	(JPopupMenu): Always initialize correctly.
	(getSubElements): Only return components implementing MenuElement
	interface.
	(HeavyWeightPopup.hide): Removed.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/ReplicateScaleFilter.java
	(replicatePixels): Made private.
	* javax/swing/colorchooser/DefaultRGBChooserPanel.java
	(DefaultRGBChooserPanel): Made package private.
	* javax/swing/colorchooser/DefaultSwatchChooserPanel.java
	(RecentSwatchPanel): Likewise.
	* javax/swing/event/MouseInputAdapter.java: Reformatted.
	(MouseInputAdapter): Made abstract.
	* javax/swing/tree/DefaultMutableTreeNode.java
	(random): Removed.
	(growTree): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DropTarget.java (addDropTargetListener):
	Clarified comments.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java (getComponentGraphics):
	Removed accidently commited code.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* java/awt/dnd/DropTarget.java
	(addDropTargetListener): Despite documentation, do not throw.
	* javax/swing/JComponent.java: Set a default DropTarget.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java
	(ENABLED_PROPERTY): Removed.
	(setEnabled): Replaced constant with real string.
	* javax/swing/AbstractButton.java
	(createActionPropertyChangeListener.propertyChange): Likewise.
	* javax/swing/JComboBox.java
	(DEFAULT_MAXIMUM_ROW_COUNT): Made private.
	(EDITABLE_CHANGED_PROPERTY): Removed.
	(MAXIMUM_ROW_COUNT_CHANGED_PROPERTY):Likewise.
	(ENABLED_CHANGED_PROPERTY):Likewise.
	(RENDERER_CHANGED_PROPERTY):Likewise.
	(EDITOR_CHANGED_PROPERTY):Likewise.
	(MODEL_CHANGED_PROPERTY):Likewise.
	(uiClassID):Likewise.
	(getUIClassID): Replaced constant with real string.
	(setModel):Likewise.
	(setEditable):Likewise.
	(setMaximumRowCount):Likewise.
	(setRenderer):Likewise.
	(setEditor):Likewise.
	(setEnabled):Likewise.
	* javax/swing/JLabel.java
	(DISABLED_ICON_CHANGED_PROPERTY): Removed.
	(DISPLAYED_MNEMONIC_CHANGED_PROPERTY): Likewise.
	(DISPLAYED_MNEMONIC_INDEX_CHANGED_PROPERTY): Likewise.
	(HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY): Likewise.
	(HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY): Likewise.
	(ICON_CHANGED_PROPERTY): Likewise.
	(ICON_TEXT_GAP_CHANGED_PROPERTY): Likewise.
	(LABEL_FOR_CHANGED_PROPERTY): Likewise.
	(TEXT_CHANGED_PROPERTY): Likewise.
	(VERTICAL_ALIGNMENT_CHANGED_PROPERTY): Likewise.
	(VERTICAL_TEXT_POSITION_CHANGED_PROPERTY): Likewise.
	(setText): Replaced constant with real string.
	(setIcon): Likewise.
	(setDisabledIcon): Likewise.
	(setDisplayedMnemonic): Likewise.
	(setIconTextGap): Likewise.
	(setVerticalAlignment): Likewise.
	(setHorizontalAlignment): Likewise.
	(setVerticalTextPosition): Likewise.
	(setHorizontalTextPosition): Likewise.
	(setLabelFor): Replaced constant with real string.
	Fire property change event after property got changed.
	* javax/swing/JList.java
	(CELL_RENDERER_PROPERTY_CHANGED): Likewise.
	(FIXED_CELL_HEIGHT_PROPERTY_CHANGED): Likewise.
	(FIXED_CELL_WIDTH_PROPERTY_CHANGED): Likewise.
	(LAYOUT_ORIENTATION_PROPERTY_CHANGED): Likewise.
	(MODEL_PROPERTY_CHANGED): Likewise.
	(PROTOTYPE_CELL_VALUE_PROPERTY_CHANGED): Likewise.
	(SELECTION_BACKGROUND_PROPERTY_CHANGED): Likewise.
	(SELECTION_FOREGROUND_PROPERTY_CHANGED): Likewise.
	(SELECTION_MODEL_PROPERTY_CHANGED): Likewise.
	(setFixedCellWidth): Reimplemented.
	(setFixedCellHeight): Exit if new value is identical.
	Replaced constant with real string.
	(setSelectionBackground): Likewise.
	(setSelectionForeground): Likewise.
	(setPrototypeCellValue): Likewise.
	(setCellRenderer): Replaced constant with real string.
	(setModel): Likewise.
	(setSelectionModel): Likewise.
	* javax/swing/JMenuBar.java
	(BORDER_PAINTED_CHANGED_PROPERTY): Removed.
	(MODEL_CHANGED_PROPERTY): Likewise.
	(MARGIN_CHANGED_PROPERTY): Likewise.
	(setBorderPainted): Reimplemented.
	(setMargin): Likewise.
	(setSelectionModel): Replaced constant with real string.
	* javax/swing/JPopupMenu.java
	(LABEL_CHANGED_PROPERTY): Removed.
	(VISIBLE_CHANGED_PROPERTY): Likewise.
	(borderPainted): Likewise.
	(setLabel): Replaced constant with real string.
	(setVisible): Exit if new value is identical.
	Replaced constant with real string.
	* javax/swing/JProgressBar.java
	(BORDER_PAINTED_CHANGED_PROPERTY): Removed.
	(ORIENTATION_CHANGED_PROPERTY): Likewise.
	(STRING_CHANGED_PROPERTY): Likewise.
	(STRING_PAINTED_CHANGED_PROPERTY): Likewise.
	(INDETERMINATE_CHANGED_PROPERTY): Likewise.
	(setOrientation): Replaced constant with real string.
	(setStringPainted): Likewise.
	(setString): Likewise.
	(setBorderPainted): Likewise.
	(setIndeterminate): Likewise.
	* javax/swing/JScrollBar.java
	(BLOCK_INCREMENT_CHANGED_PROPERTY): Removed.
	(MODEL_CHANGED_PROPERTY): Likewise.
	(ORIENTATION_CHANGED_PROPERTY): Likewise.
	(setOrientation): Replaced constant with real string.
	(setModel): Likewise.
	(setUnitIncrement): Likewise.
	(setBlockIncrement): Likewise.
	* javax/swing/JScrollPane.java
	(COLUMN_HEADER_CHANGED_PROPERTY): Removed.
	(COMPONENT_ORIENTATION_CHANGED_PROPERTY): Likewise.
	(HORIZONTAL_SCROLLBAR_CHANGED_PROPERTY): Likewise.
	(HORIZONTAL_SCROLLBAR_POLICY_CHANGED_PROPERTY): Likewise.
	(LAYOUT_CHANGED_PROPERTY): Likewise.
	(ROW_HEADER_CHANGED_PROPERTY): Likewise.
	(VERTICAL_SCROLLBAR_CHANGED_PROPERTY): Likewise.
	(VERTICAL_SCROLLBAR_POLICY_CHANGED_PROPERTY): Likewise.
	(VIEWPORT_CHANGED_PROPERTY): Likewise.
	(VIEWPORT_BORDER_CHANGED_PROPERTY): Likewise.
	(WHEEL_SCROLLING_ENABLED_CHANGED_PROPERTY): Likewise.
	(setComponentOrientation): Replaced constant with real string.
	(setColumnHeader): Likewise.
	(setHorizontalScrollBar): Likewise.
	(setHorizontalScrollBarPolicy): Likewise.
	(setRowHeader): Likewise.
	(setVerticalScrollBar): Likewise.
	(setVerticalScrollBarPolicy): Likewise.
	(setWheelScrollingEnabled): Likewise.
	(setViewport): Likewise.
	(setViewportBorder): Likewise.
	* javax/swing/JSlider.java
	(INVERTED_CHANGED_PROPERTY): Removed.
	(LABEL_TABLE_CHANGED_PROPERTY): Likewise.
	(MAJOR_TICK_SPACING_CHANGED_PROPERTY): Likewise.
	(MINOR_TICK_SPACING_CHANGED_PROPERTY): Likewise.
	(MODEL_CHANGED_PROPERTY): Likewise.
	(ORIENTATION_CHANGED_PROPERTY): Likewise.
	(PAINT_LABELS_CHANGED_PROPERTY): Likewise.
	(PAINT_TICKS_CHANGED_PROPERTY): Likewise.
	(setModel): Replaced constant with real string.
	(setOrientation): Likewise.
	(setLabelTable): Likewise.
	(setInverted): Likewise.
	(setMajorTickSpacing): Likewise.
	(setMinorTickSpacing): Likewise.
	(setPaintTicks): Likewise.
	(setPaintLabels): Likewise.
	* javax/swing/JTabbedPane.java
	(MODEL_CHANGED_PROPERTY): Removed.
	(TAB_PLACEMENT_CHANGED_PROPERTY): Likewise.
	(TAB_LAYOUT_POLICY_CHANGED_PROPERTY): Likewise.
	(setModel): Replaced constant with real string.
	(setTabPlacement): Likewise.
	(setTabLayoutPolicy): Likewise.
	* javax/swing/JToolBar.java
	(ORIENTATION_CHANGED_PROPERTY): Removed.
	(FLOATABLE_CHANGED_PROPERTY): Likewise.
	(BORDER_PAINTED_CHANGED_PROPERTY): Likewise.
	(MARGIN_CHANGED_PROPERTY): Likewise.
	(ROLLOVER_CHANGED_PROPERTY): Likewise.
	(setRollover): Replaced constant with real string.
	(setMargin): Likewise.
	(setBorderPainted): Likewise.
	(setFloatable): Likewise.
	(setOrientation): Likewise.
	* javax/swing/plaf/basic/BasicComboBoxUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicComboPopup.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicMenuBarUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicProgressBarUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(PropertyChangeHandler.propertyChange): Likewise.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(PropertyChangeHandler.propertyChange): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultButtonModel.java
	(changeState): Made private.
	* javax/swing/DefaultDesktopManager.java
	(setWasIcon): Fixed second argument to be java.lang.Boolean.
	* javax/swing/JLayeredPane.java
	(layerToRange): Made private.
	(incrLayer): Likewise.
	(decrLayer): Likewise.
	* javax/swing/JTable.java
	(dragEnabled): Likewise.
	(preferredViewportSize): Renamed from preferredScrollableViewportSize.
	* javax/swing/KeyStroke.java
	(Keystroke): Made private.
	* javax/swing/TransferHandler.java
	(COMMAND_COPY): Likewise.
	(COMMAND_CUT): Likewise.
	(COMMAND_PASTE): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTextField.java
	(postActionEvent): Use text in field when actionCommand is null.
	(getActionCommand): Removed.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractSet.java: Removed.
	* Makefile.am: Removed javax/swing/AbstractSet.java.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java
	(AccessibleWindow.getAccessibleStateSet): Fixed method name.
	* java/awt/dnd/DnDConstants.java
	(DnDConstants): New private constructor.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultCellRenderer.java: Removed.
	* Makefile.am: Removed javax/swing/DefaultCellRenderer.java.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractButton.java
	(fireItemStateChanged): Made protected.
	(fireActionPerformed): Likewise.
	(fireStateChanged): Likewise.
	* javax/swing/DefaultButtonModel.java
	(fireItemStateChanged): Likewise.
	(fireActionPerformed): Likewise.
	(fireStateChanged): Likewise.
	* javax/swing/JApplet.java
	(JApplet): Removed.
	(frameInit): Likewise.
	(setRootPane): Made protected.
	(createRootPane): Likewise.
	* javax/swing/JComponent.java
	(getClientProperty): Likewise.
	(putClientProperty): Likewise.
	* javax/swing/JEditorPane.java
	(getContentType): Likewise.
	(setContentType): Likewise.
	* javax/swing/JFrame.java
	(setRootPane): Likewise.
	(createRootPane): Likewise.
	* javax/swing/JInternalFrame.java
	(getFocusCycleRootAncestor): Made final. Added @since tag.
	(isFocusCycleRoot): Likewise.
	(getWarningString): Made final.
	* javax/swing/JScrollBar.java
	(changeListener): Removed.
	(changeEvent): Likewise.
	(createChangeListener): Likewise.
	(fireStateChanged): Likewise.
	(addChangeListener): Likewise.
	(removeChangeListener): Likewise.
	(getChangeListeners): Likewise.
	* javax/swing/JScrollPane.java
	(createViewport): Made protected.
	* javax/swing/JViewport.java
	(addImpl): Likewise.
	(setBorder): New method.
	* javax/swing/JWindow.java
	(setRootPane): Made protected.
	(createRootPane): Likewise.
	* javax/swing/plaf/basic/BasicButtonUI.java
	(installListeners): Likewise.
	(uninstallListeners): Likewise.
	* javax/swing/plaf/basic/BasicProgressBarUI.java
	(incrementAnimationIndex): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(createLayoutManager): Likewise.
	* javax/swing/table/DefaultTableCellRenderer.java
	(firePropertyChange): Likewise.
	* javax/swing/table/JTableHeader.java
	(AccessibleJTableHeaderEntry.AccessibleJTableHeaderEntry):
	New constructor.
	* javax/swing/text/PlainDocument.java
	(reindex): Made private.
	* javax/swing/text/PlainView.java
	(drawLine): Made protected.
	(getTabSize): Likewise.
	* javax/swing/text/View.java
	(setSize): Removed.
	(preferenceChanged): New method.
	(getBreakWeight): Likewise.
	(breakView): Likewise.
	(getViewIndex): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JScrollPane.java
	(ScrollBar): Made class protected.
	* javax/swing/JSpinner.java
	(JSpinner): Added @since tag.
	(listenerList): Removed.
	* javax/swing/JTable.java
	(setValueAt): New method.
	(getColumn): Likewise.
	* javax/swing/JWindow.java
	(rootPaneCheckingEnabled): Renamed from checking.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicTextUI.java
	(RootView.modelToView): Made it public and return a java.awt.Shape.
	Handle null subview.
	(uninstall): Set textComponent to null when its not possible used
	anymore.
	* javax/swing/text/View.java
	(setParent): Use better argument name.
	(getContainer): Get parent via getParent().
	(getViewFactory): Likewise.
	(getAttributes): Get element via getElement().
	(getStartOffset): Likewise.
	(getEndOffset): Likewise.
	(getResizeWeight): New method.
	(getMaximumSpan): Likewise.
	(getMinimumSpan): Likewise.
	(setSize): Likewise.
	(getGraphics): Likewise.

2005-02-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/Checkbox.java:
	(AccessibleAWTCheckbox()): Added public constructor
	to call superclass.
	* java/awt/Choice.java:
	(AccessibleAWTChoice): Added class documentation.
	(AccessibleAWTChoice()): Added public constructor
	to call superclass.
	(AccessibleAWTChoice.getAccessibleAction()): Documented.
	(AccessibleAWTChoice.getAccessibleRole()): Documented,
	and changed role to COMBO_BOX.
	(AccessibleAWTChoice.getAccessibleActionCount()): Documented.
	(AccessibleAWTChoice.getAccessibleActionDescription(int)): Documented.
	(AccessibleAWTChoice.doAccessibleAction(int)): Documented.

2005-02-15  Graydon Hoare  <graydon@redhat.com>
	    Michael Koch  <konqueror@gmx.de>

	* javax/swing/LayoutFocusTraversalPolicy.java,
	javax/swing/SortingFocusTraversalPolicy.java:
	New classes.
	* Makefile.am: Added new classes.
	* Makefike.in: Regenerated.


2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DebugGraphics.java: Mostly implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/SwingUtilities.java
	(findFocusOwner): New method.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/DefaultEditorKit.java
	(read): Added '\n' after each line.
	* javax/swing/text/PlainView.java
	(modelToView): Update metrics.
	(drawLine): Use offsets from element.
	(paint): Update metrics. Draw all lines.

2005-02-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/Checkbox.java:
	(AccessibleAWTCheckbox): Added class documentation
	* java/awt/Scrollbar.java:
	(AccessibleAWTScrollBar): typo corrected and docs added
	(AccessibleAWTScrollBar.getAccessibleRole()): documented
	(AccessibleAWTScrollBar.getAccessibleStateSet()): likewise
	(AccessibleAWTScrollBar.getAccessibleValue()): likewise
	(AccessibleAWTScrollBar.getCurrentAccessibleValue()): likewise
	(AccessibleAWTScrollBar.setCurrentAccessibleValue(int)): likewise
	(AccessibleAWTScrollBar.getMinimumAccessibleValue()): likewise
	(AccessibleAWTScrollBar.getMaximumAccessibleValue()): likewise
	(getAccessibleContext()): name of accessible class corrected

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/awt/BasicStroke.java (hashCode): Implement.
	(equals): Document.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/PrinterJob.java
	(pageDialog): Throws java.awt.HeadlessException.
	(printDialog): Likewise.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* jni/gtk-peer/gtkpeer.h (gdk_env): Fix prototype.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java
	(getValueAt): New method.
	* javax/swing/table/JTableHeader.java
	(columnAtPoint): New method.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTextField.java
	(actions): New field.
	(static): Initalize actions field.
	(getActions): New method.

2005-02-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/Checkbox.java:
	(AccessibleAWTCheckbox): name capitalization corrected
	and serialization UID added.
	(AccessibleAWTCheckbox.itemStateChanged(java.awt.event.ItemEvent)):
	documented.
	(AccessibleAWTCheckbox.getAccessibleAction()): likewise
	(AccessibleAWTCheckbox.getAccessibleValue()): likewise
	(AccessibleAWTCheckbox.getAccessibleActionCount()): likewise
	(AccessibleAWTCheckbox.getAccessibleActionDescription(int)): likewise
	(AccessibleAWTCheckbox.doAccessibleAction(int)): likewise
	(AccessibleAWTCheckbox.getCurrentAccessibleValue()): likewise
	(AccessibleAWTCheckbox.setCurrentAccessibleValue(int)): likewise
	(AccessibleAWTCheckbox.getMinimumAccessibleValue()): likewise
	(AccessibleAWTCheckbox.getMaximumAccessibleValue()): likewise
	(AccessibleAWTCheckbox.getAccessibleRole()): likewise
	(AccessibleAWTCheckbox.getAccessibleStateSet()): implemented and
	documented
	(getAccessibleContext()): name of accessible class corrected

2005-02-15  Sven de Marothy  <sven@physto.se>

	* java/awt/geom/doc-files/Area-1.png,
	java/awt/geom/doc-files/Ellipse-1.png,
	java/awt/geom/doc-files/GeneralPath-1.png:
	New files.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c (env_union):
	Use union to avoid type-punning warning.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultListSelectionModel.java
	(clone): New method.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	Reported by Martin Platter <motse@complang.tuwien.ac.at>
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFile):
	Correct method signature of gtkSetFilename.

2005-02-15  Arnaud Vandyck  <avdyk@gnu.org>

	* javax/swing/text/StringContent.java: New file.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added javax/swing/text/StringContent.java.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/ClasspathToolkit.java:
	Import statements reworked.
	(imageCache): Made it of type java.util.HashMap.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/stream/MemoryCacheImageInputStream.java:
	Reworked import statements.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	Rewrite uses of extern variable to be function calls.
	* jni/gtk-peer/gtkpeer.h (gdk_env): Change declaration to
	function, from extern variable.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
	(gdk_env): Remove variable, add new function.
	(java_vm): Add new variable.
	(Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Initialize
	java_vm rather than old gdk_env variable.

2005-02-15 David Gilbert <david.gilbert@object-refinery.com>

	* javax/swing/DefaultListModel.java
	(add): fire correct event,
	(addElement): corrected interval indices in event,
	(clear): corrected upper bound for interval, only fire event if
	list is not empty,
	(setSize): fire appropriate event.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* gnu/awt/xlib/XEventLoop.java: Add non-blocking event mode.
	* gnu/awt/xlib/XToolkit.java: Likewise.
	* gnu/gcj/xlib/XAnyEvent.java: Likewise.
	* gnu/gcj/xlib/natXAnyEvent.cc: Likewise.
	* gnu/java/awt/ClasspathToolkit.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise.
	* java/awt/EventQueue.java (getNextEvent):
	Adjust event loop to switch to native mode after 100ms.
	* javax/swing/Timer.java (drainEvents): Reuse Runnable.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose):
	Wake up event thread.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
	(Java_gnu_java_awt_peer_gtk_GtkToolkit_iterateNativeQueue):
	Adjust event loop to switch to java mode after 100ms.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* jni.cc (_Jv_JNI_RegisterNatives): Re-add sync, which was
	accidentally removed in last change.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	gnu/java/awt/peer/gtk/GtkMainThread.java: Removed.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* include/jni.h (_Jv_JNIEnv::bottom_locals): New field.
	* include/jvm.h (_Jv_FreeJNIEnv): Declare.
	* java/lang/natThread.cc (finalize_native): Call _Jv_FreeJNIEnv.
	* jni.cc: Reuse bottom frame between calls, avoid clearing
	frame when no local references are made.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/UIDefaults.java (UIDefaults):
	Fixed typo in javadoc (Thanks to Thomas Zander for reporting)
	Fixed HTML entity and removed a redundant comma.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/DefaultEditorKit.java
	(deinstall): Removed.
	(install): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/UIDefaults.java (put): Handle value of null.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/Robot.java,
	java/awt/Scrollbar.java,
	java/awt/print/PrinterJob.java,
	javax/swing/JTable.java,
	javax/swing/text/AbstractDocument.java:
	Reworked import statements.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JEditorPane.java
	(read): Implemented.
	(write): Likewise.
	* javax/swing/text/DefaultEditorKit.java
	(page): Renamed from page_url. Made private.
	(editorKit): Renamed from kit. Made private.
	(ctype): Removed.
	(JEditorPane): All constructors reimplemented.
	(getContentType): Use content type from editor kit.
	(getEditorKit): Return editorKit.
	(getEditorKitForContentType):Likewise.
	(getPage): Return page.
	(setContentType): Reimplemented.
	(setEditorKit): Likewise.
	(setEditorKitForContentType): Removed wrong implementation.
	(setPage): Implemented.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
	(nativeSetIconImageFromData): Re-add native implementation.

2005-02-15  David Gilbert  <david.gilbert@object-refinery.com>

	* javax/swing/table/DefaultTableModel.java
	(DefaultTableModel()): Added Javadocs.
	(DefaultTableModel(int, int)): Fixed implementation.
	(DefaultTableModel(Vector, int)): Throw IllegalArgumentException
	for negative rowCount.
	(DefaultTableModel(Object[], int)): Added Javadocs.
	(DefaultTableModel(Vector, Vector)): Likewise.
	(DefaultTableModel(Object[][], Object[])): Likewise.
	(getDataVector): Likewise.
	(setDataVector(Vector, Vector)): Likewise.
	(setDataVector(Object[][], Object[])): Likewise.
	(newDataAvailable): Likewise.
	(newRowsAdded): Likewise.
	(rowsRemoved): Likewise.
	(setColumnIdentifiers(Vector)): Allow for null argument.
	(setColumnIdentifiers(Object[])): Added Javadocs.
	(setNumRows): Likewise.
	(setRowCount): Adds new rows if necessary, and sends more specific
	TableModelEvent.
	(setColumnCount): Allow for null columnIdentifiers.
	(addColumn(Object)): Added Javadocs.
	(addColumn(Object, Vector)): Handle null columnData.
	(addColumn(Object, Object[])): Handle columnData with more or less
	entries than rows in the table.
	(addRow(Vector)): Fire appropriate event.
	(addRow(Object[])): Added Javadocs.
	(insertRow(int, Vector)): Fire appropriate event.
	(insertRow(int, Object[])): Added Javadocs.
	(moveRow): Reimplemented.
	(removeRow(int)): Fire appropriate event.
	(getColumnCount): Allow for null columnIdentifiers.
	(getColumnName): Now returns empty string when column index is too
	large.
	(isCellEditable): Added Javadocs.
	(getValueAt): Likewise.
	(setValueAt): Fire more specific event.
	(convertToVector): Added Javadocs.
	* javax/swing/table/TableModel.java
	Added Javadocs.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* libgcj.spec.in (lib): Add -l-javax-imageio.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Replace direct
	references to event queue q with method call q().
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java: Likewise.
	(q): New method.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/ClasspathToolkit.java
	(registerImageIOSpis): New method.
	* gnu/java/awt/image/ImageDecoder.java
	(imageDecoder): New constructor using InputStream
	(startProduction): Handle existing InputStream.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(findSimpleIntegerArray): Make public and static.
	(updateBufferedImage): Set each pixel, in a loop.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
	Implement ImageIO SPI classes.
	(createBufferedImage): Rewrite in terms of SPI classes.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(registerImageIOSpis): New method.
	* java/lang/reflect/natMethod.cc
	(_Jv_CallAnyMethodA): Borrow a patch from aph, applied to trunk,
	which lets JNI call interface methods properly.
	* javax/imageio/ImageIO.java
	(WriterFormatFilter.filter): Fix copy-and-paste typos.
	(WriterMIMETypeFilter.filter): Likewise.
	(ImageReaderIterator): Pass extension argument through to SPI.
	(getReadersByFilter): Likewise.
	(getWritersByFilter): Likewise.
	(getImageReadersByFormatName): Likewise.
	(getImageReadersByMIMEType): Likewise.
	(getImageReadersBySuffix): Likewise.
	(getImageWritersByFormatName): Likewise.
	(getImageWritersByMIMEType): Likewise.
	(getImageWritersBySuffix): Likewise.
	(read): Implement.
	(write): Implement.
	* javax/imageio/ImageReader.java
	(progressListeners): Initialize.
	(setInput): Implement.
	* javax/imageio/ImageWriter.java
	(progressListeners): Initialize.
	(warningListeners): Likewise.
	(warningLocales): Likewise.
	(setOutput): Test "isInstance" rather than class equality.
	* javax/imageio/spi/IIORegistry.java
	(static): Add reader and writer SPIs.
	(IIORegistry): Call ClasspathToolkit.registerImageIOSpis.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	(query_formats): New function.
	(save_to_stream): Likewise.
	(Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): Likewise.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c (mouseWheel):
	Call XFlush.
	(keyPress): Likewise.
	(keyRelease): Likewise.

2005-02-15  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JTable.java
	(columnAtPoint): New Method. Implemented.
	(rowAtPoint): Likewise.
	(countSelections): Fixed few small count errors.
	(getSelections): Likewise.
	(setSelectionMode): Set selection mode for column
	selection model in addition to row selection model.
	* javax/swing/plaf/basic/BasicTableUI.java:
	(getRowForPoint): Removed. Replaced by
	JTable.rowAtPoint().
	(getColForPoint): Removed. Replaced by
	JTable.columnAtPoint().
	(updateSelection): Updated to call JTable.columnAtPoint
	and JTable.rowAtPoint.
	* javax/swing/table/DefaultTableColumnModel.java:
	(getSelectedColumns): Implemented.
	(getSelectedColumnCount): Implemented.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* Makefile.am
	(jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c)
	(gnu/java/awt/peer/gtk/GtkMainThread.java) : Remove.
	* Makefile.in: Regenerate.
	* gnu/awt/xlib/XEventLoop.java: Fix to match thread model.
	* gnu/awt/xlib/XFramePeer.java: Likewise.
	* gnu/awt/xlib/XToolkit.java: Likewise.
	* gnu/gcj/xlib/XAnyEvent.java: Likewise.
	* gnu/gcj/xlib/natXAnyEvent.cc: Likewise.
	* gnu/java/awt/ClasspathToolkit.java
	(nativeQueueEmpty)
	(wakeNativeQueue)
	(iterateNativeQueue): New methods.
	* gnu/java/awt/peer/gtk/GtkMainThread.java: Remove.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(gtkInit): Absorb from defunct GtkMainThread class.
	(static): Run gtkInit in static startup block.
	(GtkToolkit): Remove construction of GtkMainThread and queue.
	(getSystemEventQueueImpl): Construct queue when requested.
	(nativeQueueEmpty)
	(wakeNativeQueue)
	(iterateNativeQueue): New methods.
	* java/awt/Component.java (removeNotify): Remove race.
	* java/awt/EventDispatchThread.java
	(EventDispatchThread): Don't start on construction.
	(run): Remove isInterrupted check.
	* java/awt/EventQueue.java (shutdown): New flag.
	(isShutdown): New method checking J2SE shutdown condition.
	(setShutdown): New method.
	(getNextEvent): Restructure to use ClasspathToolkit.
	(postEvent): Activate new thread on posting, wake thread on
	post of possible shutdown condition event.
	* java/awt/Frame.java
	(Frame): Call noteFrame in all constructors.
	(fireDummyEvent): New helper method.
	(addNotify): Fire a dummy event to wake up queue.
	(removeNotify): Fire a dummy event to wake up queue.
	(noteFrame): New method.
	(weakFrames): New static field.
	(getFrames): Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c:
	Remove.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c:
	Move everything from GtkMainThread into this file
	(Java_gnu_java_awt_peer_gtk_GtkToolkit_iterateNativeQueue)
	(Java_gnu_java_awt_peer_gtk_GtkToolkit_wakeNativeQueue)
	(Java_gnu_java_awt_peer_gtk_GtkToolkit_nativeQueueEmpty):
	New functions to implement single-threaded queue semantics.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(getControlTextFont): New method.
	(getMenuTextFont): Likewise.
	(getSubTextFont): Likewise.
	(getSystemTextFont): Likewise.
	(getUserTextFont): Likewise.
	(getWindowTitleFont): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/AbstractDocument.java
	(documentFilter): New field.
	(getDocumentFilter): New method.
	(setDocumentFilter): Likewise.
	(dump): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTree.java
	(DynamicUtilTreeNode.hasChildren): Clarify javadoc.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/AbstractDocument.java
	(AbstractElement.getLength): Fixed off-by-one error.
	(AbstractElement.children): Made abstract.
	(AbstractElement.getAllowsChildren): Likewise.
	(AbstractElement.getElement): Likewise.
	(AbstractElement.dumpElement): New private method.
	(AbstractElement.dump): New method.
	(BranchElememt.getName): Fixed implementation.
	(BranchElememt.toString): Likewise.
	(BranchElememt.getElement): Fixed arguments.
	(LeafElement.getName): Fixed implementation.
	(LeafElement.toString): Likewise.
	* javax/swing/text/GapContent.java
	(GapContent): Put default content into buffer.
	* javax/swing/text/PlainDocument.java
	(reindex): Use empty attribute sets instead of null.
	(createDefaultRoot): Reimplemented.
	(insertUpdate): Call super method.
	(removeUpdate): Likewise.
	(getParagraphElement): Implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/ClasspathToolkit.java
	(createRobot): Throws java.awt.AWTException.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:
	Added '__attribute__((unused))' to all unused method arguments.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultBoundedRangeModel.java
	(fireValueChanged): Fixed off-by-one error.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (gtk_c_source_files): Add GdkRobotPeer.c.
	(gtk_awt_peer_sources): Add GdkScreenGraphicsDevice.java and
	GdkRobotPeer.java.
	(lib_gnu_java_awt_peer_gtk_la_CFLAGS): Add X flags.
	(lib_gnu_java_awt_peer_gtk_la_LDFLAGS): Add XTest flags.
	* gnu/awt/xlib/XToolkit.java (createRobot): New method.
	* gnu/java/awt/ClasspathToolkit.java (createRobot): New method.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
	(getDefaultScreenDevice): Implement.
	* gnu/java/awt/peer/gtk/GdkRobotPeer.java: New file.
	* gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (createRobot): New method.
	* java/awt/Robot.java: Implement.
	* java/awt/peer/RobotPeer.java: Rename parameters.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c: New file.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(awt_keycode_to_keysym): Make non-static.
	* jni/gtk-peer/gtkpeer.h (AWT_BUTTON1_MASK, AWT_BUTTON2_MASK,
	AWT_BUTTON3_MASK): Declare constants.
	(awt_keycode_to_keysym): Declare.

	* Makefile.am (AM_MAKEFLAGS): Set KEYS variable.
	* testsuite/libjava.mauve/mauve.exp (test_mauve): If KEYS exists
	and is non-empty pass its value to "make check".
	(test_mauve_sim): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/IIOParam.java
	(setSourceBands): New method.
	(setSourceSubsampling): Likewise.
	* javax/imageio/ImageReadParam.java
	(setDestination): Likewise.
	(setDestinationBands): Likewise.
	(setSourceProgressivePasses): Likewise.
	* javax/imageio/metadata/IIOInvalidTreeException.java
	(serialVersionUID): New static field.
	* javax/imageio/metadata/IIOMetadataNode.java
	(IIOMetadataNode): Don't explicitely implement org.w3c.dom.Node.
	(parent): Dont initailize with default value explicitely.
	(Object): Likewise.
	(removeAttribute): Doesn't throws org.w3c.dom.DOMException.
	(removeAttributeNode): Likewise.
	(removeAttributeNS): Likewise.
	(setAttribute): Likewise.
	(setAttributeNode): Likewise.
	(setAttributeNodeNS): Likewise.
	(setAttributeNS): Likewise.
	(appendChild): Likewise.
	(getNodeValue): Likewise.
	(insertBefore): Likewise.
	(removeChild): Likewise.
	(replaceChild): Likewise.
	(setPrefix): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/LookAndFeel.java
	(getDesktopPropertyValue): New method.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTree.java
	(hasChildren): New instance field.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java
	(getToolTipText): New method.
	(getTitledBorderText): Likewise.
	(getAccessibleKeyBinding): Likewise.
	(getVerifyInputWhenFocusTarget): Likewise.
	(setVerifyInputWhenFocusTarget): Likewise.
	(verifyInputWhenFocusTarget): New instance field.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultListSelectionModel.java
	(fireValueChanged): New method.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultBoundedRangeModel.java:
	Fixed javadocs all over.
	(fireStateChanged): Simplified.
	* javax/swing/BoundedRangeModel.java:
	Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JRootPane.java
	(setMenuBar): Added @deprecated tag.
	(getMenuBar): Likewise.
	* javax/swing/JTable.java
	(sizeColumnsToFit): Likewise.

2005-02-15  Paul Jenner  <psj.home@ntlworld.com>

	* javax/swing/ImageIcon.java (setImage): Implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java:
	Removed unused imports.

2005-02-15  Olga Rodimina  <rodimina@redhat.com>

	(prepareRenderer): Get column's index in dataModel instead
	of column's view index.
	(getColumnCount): return count of the columns in ColumnModel,
	not in dataModel.
	(removeColumn): Implemented.
	(moveColumm): Likewise.
	(setRowHeight): throw IllegalArgumentException if height is
	less then 1.
	* javax/swing/table/DefaultTableColumnModel.java: Add javadocs.
	(DefaultTableColumnModel):Add call to createSelectionModel().
	(addColumn): Fire columnAdded event to registered listeners.
	(removeColumn): Fire columnRemoved event to registered listeners.
	(moveColumn): Fire columnMoved event to registered listeners.
	(setColumnMargin): Fire ColumnMarginChanged event to registered listeners.
	(getColumnIndex): Changed parameter name.
	(setColumnSelectionAllowed): Likewise.
	(fireColumnAdded): Implemented.
	(fireColumnRemoved): Likewise.
	(fireColumnMoved): Likewise.
	(fireColumnMarginChanged): Likewise.
	(getListeners): Changed parameter name.
	(propertyChange): Implemented.
	(valueChanged): Changed parameter name.
	(createSelectionModel): Implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Explicitely import used classes.
	(getLocalGraphicsEnvironment): Simplify.
	* java/awt/Window.java (Window):
	Enable code to get the default GraphicsConfiguration.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/metal/DefaultMetalTheme.java
	(CONTROL_TEXT_FONT): New static field.
	(MENU_TEXT_FONT): Likewise.
	(SUB_TEXT_FONT): Likewise.
	(SYSTEM_TEXT_FONT): Likewise.
	(USER_TEXT_FONT): Likewise.
	(WINDOW_TITLE_FONT): Likewise.
	(getControlTextFont): New method.
	(getMenuTextFont): Likewise.
	(getSubTextFont): Likewise.
	(getSystemTextFont): Likewise.
	(getUserTextFont): Likewise.
	(getWindowTitleFont): Likewise.
	* javax/swing/plaf/metal/MetalTheme.java
	(BLACK): Initialize with Color.BLACK.
	(WHITE): Initialize with Color.WHITE.
	(getInactiveControlTextColor): Return getControlDisabled().
	(getMenuDisabledForeground): Return getSecondary3().
	(getControlTextFont): New abstract method.
	(getMenuTextFont): Likewise.
	(getSubTextFont): Likewise.
	(getSystemTextFont): Likewise.
	(getUserTextFont): Likewise.
	(getWindowTitleFont): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JFormattedTextField.java
	(getFocusLostBehavior): Fixed typo in method name.
	(setFocusLostBehavior): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/TransferHandler.java:
	Reworked import statements.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/Checkbox.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Choice.java,
	java/awt/Dialog.java,
	java/awt/Frame.java,
	java/awt/Label.java,
	java/awt/List.java,
	java/awt/Menu.java,
	java/awt/MenuBar.java,
	java/awt/MenuItem.java,
	java/awt/PopupMenu.java,
	java/awt/ScrollPane.java,
	java/awt/Scrollbar.java,
	java/awt/TextArea.java,
	java/awt/Window.java (getAccessibleContext): Clean up comments.
	Reformat.
	* java/awt/Button.java,
	java/awt/Checkbox.java,
	java/awt/Choice.java,
	java/awt/Menu.java,
	java/awt/PopupMenu.java,
	java/awt/TextArea.java (getAccessibleContext): Only create new
	accessible once.
	* java/awt/TextComponent.java (getAccessibleContext): Implement.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/Button.java,
	javax/swing/JApplet.java,
	javax/swing/JFormattedTextField.java,
	javax/swing/JWindow.java,
	javax/swing/JTree.java,
	javax/swing/plaf/basic/BasicEditorPaneUI.java,
	javax/swing/plaf/basic/BasicTextPaneUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	Reworked import statements.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Put javax.imageio into its own library and link it
	against lib-org-w3c-dom.la to fix bootstrapping.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/TextAction.java
	(getTextComponent): Simplified. Added Javadoc.
	(augmentList): Implemented. Added Javadoc.
	(getFocusedComponent): Added javadoc.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Scrollbar.java (AccessibleAWTScrollbar,
	getAccessibleContext): Implement.
	* java/awt/ScrollPane.java (AccessibleAWTScrollPane,
	getAccessibleContext): Implement.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Dialog.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/Frame.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/Window.java (getAccessibleContext): Fix comment.
	Remove extra import.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Window.java (AccessibleAWTWindow): Implement.
	(isActive, isFocused, getAccessibleContext): Implement.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/MenuItem.java (getAccessibleContext): Implement.
	* java/awt/MenuComponent.java (accessibleContext): Make package
	visible.
	* java/awt/CheckboxMenuItem.java (getAccessibleContext,
	AccessibleAWTCheckboxMenuItem): Implement.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/List.java: Implement AccessibleAWTList,
	AccessibleAWTListChild.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Choice.java: Add implements declaration for
	Accessible.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* javax/imageio/metadata/IIOInvalidTreeException.java: Use Node
	instead of Object.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* javax/imageio/metadata/IIOMetadataNode.java: Add Node to
	implemented interface list.

2005-02-15  Jerry Quinn  <jlquinn@optonline.net>

	* javax/imageio/metadata/IIOMetadataNode.java: Implement.
	* javax/imageio/metadata/IIOAttr.java: New class.
	* javax/imageio/metadata/IIONamedNodeMap.java: New class.
	* javax/imageio/metadata/IIONodeList.java: New class.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/JMenu.java,
	javax/swing/JSlider.java,
	javax/swing/KeyStroke.java,
	javax/swing/OverlayLayout.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SizeRequirements.java,
	javax/swing/ViewportLayout.java:
	Made serialVersionUID private.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java:
	Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: More reformatting.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Reformatted.

2005-02-15  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/EventDispatchThread.java,
	java/awt/Toolkit.java:
	Don't catch java.lang.ThreadDeath.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/PasswordView.java
	(drawEchoCharacter): Added javadoc.
	(drawSelectedText): Likewise.
	(drawUnselectedText): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JRootPane.java
	(windowDecorationStyle): New field.
	(setMenuBar): New method.
	(getMenuBar): Likewise.
	(getWindowDecorationStyle): Likewise.
	(setWindowDecorationStyle): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultListSelectionModel.java
	(leadAnchorNotificationEnabled): Made protected.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/InternalFrameFocusTraversalPolicy.java: New file.
	* Makefile.am: Added InternalFrameFocusTraversalPolicy.java.
	* Makefile.in: Regenerated.


2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JFormattedTextField.java: Implemented.
	* javax/swing/JWindow.java
	(JWindow): New constructors.
	(initWindow): Renamed from initFrame.
	* javax/swing/UIDefaults.java
	(ActiveValue): Made interface static.
	(LazyValue): Likewise.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
	(TitlePaneLayout.TitlePaneLayout): New constructor.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(ChangeHandler): Made public.
	(FocusHandler): Likewise.
	(PropertyChangeHandler): Likewise.
	(ScrollListener): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(FocusHandler): Likewise.
	(MouseHandler): Likewise.
	* javax/swing/plaf/basic/BasicTextPaneUI.java
	(BasicTextPaneUI): Extend BasicEditorPaneUI.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(BasicToolBarUI): Simplified. Reworked javadoc.
	(canDock): Simplified. Make public.
	(DockingListener): Made public.
	* javax/swing/text/JTextComponent.java
	(navigationFilter): New field.
	(getNavigationFilter): New method.
	(setNavigationFilter): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/metal/MetalTheme.java
	(getControlTextColor): Return getControlInfo().
	(getHighlightedTextColor): Return getControlTextColor().

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicButtonListener.java
	(BasicButtonListener): New constructor.
	* javax/swing/plaf/basic/BasicButtonUI.java
	(createButtonListener): Usw new BasicButtonListener constructor.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/event/package.html,
	javax/imageio/metadata/package.html: New files.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/MemoryImageSource.java: Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/tree/TreeCellEditor.java: Refomatted.

2005-02-15  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/color/ICC_Profile.java
	(finalize): Removed pointless field assignments.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicEditorPaneUI.java: New file.
	* Makefile.am: Added javax/swing/plaf/basic/BasicEditorPaneUI.java.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/DefaultStyledDocument.java: New file.
	* Makefile.am: Added javax/swing/text/DefaultStyledDocument.java.
	* Makefile.in: Regenerated.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JFileChooser.java
	(showDialog): Return CANCEL_OPTION for now.
	(showOpenDialog): Likewise.
	(showSaveDialog): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JApplet.java
	(HIDE_ON_CLOSE): Removed.
	(EXIT_ON_CLOSE): Likewise.
	(DISPOSE_ON_CLOSE): Likewise.
	(DO_NOTHING_ON_CLOSE): Likewise.
	(close_action): Likewise.
	(getDefaultCloseOperation): Likewise.
	(setDefaultCloseOperation): Likewise.
	(processWindowEvent): Likewise.
	(getPreferredSize): Simplified.
	* javax/swing/JInternalFrame.java
	(setDefaultCloseOperation): Fixed throwing exception on wrong argument
	value.
	* javax/swing/JWindow.java
	(HIDE_ON_CLOSE): Removed.
	(EXIT_ON_CLOSE): Likewise.
	(DISPOSE_ON_CLOSE): Likewise.
	(DO_NOTHING_ON_CLOSE): Likewise.
	(close_action): Likewise.
	(processKeyEvent): Likewise.
	(setDefaultCloseOperation): Likewise.
	(getPreferredSize): Simplified.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTextField.java
	(getPreferredSize): Re-implemented.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLabel.java
	(setDisplayedMnemonic): Use only upper case characters.
	(setDisplayedMnemonicIndex): Handle index == -1 and fire
	PropertyChangeEvent after property got set to the new index.

2005-02-15  Robert Schuster <thebohemian@gmx.net>

	* javax/swing/JComboBox.java:
	(JComboBox): Removed selection of the
	first item in the model.

2005-02-15  Robert Schuster <thebohemian@gmx.net>

	* javax/swing/JComboBox.java
	added support for no item being selected
	(JComboBox): select first or nothing depending on element count
	(setModel): cleaned up unneeded "this." usage, added more
	docs, made exception behavior match that of the JDK
	(setLighWeightPopupEnabled): removed unneeded "this." usage
	(setEditable): dito
	(setMaximumRowCount): dito
	(setRenderer): dito
	(setPrototypeDisplayValue): dito
	(getSelectedItem): simplified, added more user doc
	(setSelectedIndex): corrected exception behavior, added more user doc
	(getSelectedIndex): fixed hardcoded dependency on DefaultComboBoxModel,
	added performance warning to user doc
	(addItem): fixed exception behavior, added user doc
	(insertItemAt): dito
	(removeItem): dito
	(removeItemAt): dito
	(removeAll): fixed exception behavior, added user doc, added support
	for model not being instance of DefaultComboBoxModel
	(getSelectedItemObjects): simplified
	(getItemCount): fixed dependency on DefaultComboBoxModel
	(getItemAt): fixed dependency on MutableComboBoxModel
	* javax/swing/DefaultComboBoxModel.java:
	(setSelectedItem): updates selected item only if new
	value is null or known (match JDK behavior)
	* javax/swing/plaf/basic/BasicComboBoxUI.java:
	(paintCurrentValue): renders "" if no item is selected

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/metal/MetalTheme.java,
	javax/swing/plaf/metal/DefaultMetalTheme.java:
	New files.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	* Makefile.am: Added the new files.
	* Makefile.in: Regenerated.

2005-02-15  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JTable.java
	(editorComp): New field.
	(JTable): Initialize local variables and call updateUI
	(selectionBackground): Make protected.
	(selectionForeground): Likewise.
	(initializeLocalVars): Create default editors and renderers,
	initialize editingColumn, editingRow variables.
	(createDefaultEditors): New Method.
	(createDefaultRenderers): Likewise.
	(createDefaultListSelectionModel): Removed
	(createDefaultSelectionModel): New Method.
	(createDefaultTableHeader): Likewise
	(removeColumn): Likewise.
	(getEditingColumn): Likewise.
	(setEditingColumn): Likewise.
	(getEditingRow): Likewise.
	(setEditingRow): Likewise.
	(getEditorComponent): Likewise.
	(isEditing): Likewise.
	(setDefaultEditor): Likewise.
	(addColumnSelectionInterval): Likewise.
	(addRowSelectionInterval): Likewise.
	(setColumnSelectionInterval): Likewise.
	(setRowSelectionInterval): Likewise.
	(removeColumnSelectionInterval): Likewise.
	(removeRowSelectionInterval): Likewise.
	(isColumnSelected): Likewise.
	(isRowSelected): Likewise.
	(isCellSelected): Likewise.
	(selectAll): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java
	(addColumn): New method.
	(getColumnClass): Likewise.
	(getColumnName): Likewise.

2005-02-15  Paul Jenner  <psj.home@ntlworld.com>

	* javax/swing/TransferHandler.java
	(createTransferable): Made protected.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java,
	javax/swing/plaf/basic/BasicTableHeaderUI.java,
	javax/swing/plaf/basic/BasicTableUI.java:
	Use fixed get/setIntercellSpacing() methods.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java
	(getIntercellSpacing): Fixed typo in method name.
	(setIntercellSpacing): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/JTextComponent.java
	(focusAccelerator): New variable.
	(getFocusAccelerator): New method.
	(setFocusAccelerator): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java
	(setTransferHandler): Made public. Fire property change event.
	* javax/swing/TransferHandler.java: Implemented.
	* javax/swing/text/JTextComponent.java
	(DefaultTransferHandler): New inner class.
	(defaultTransferHandler): New variable.
	(copy): New method.
	(cut): Likewise.
	(paste): Likewise.
	(doTransferAction): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTree.java
	(collapsePath): New method.
	(collapseRow): Likewise.
	(expandPath): Likewise.
	(expandRow): Likewise.
	(checkExpandParents): Likewise.
	(doExpandParents): Likewise.
	(setExpandedState): Likewise.
	(makeVisible): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JPasswordField.java: Updated javadocs.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLayeredPane.java
	(getLayer): Fixed return type, made public.
	(getPosition): Use new getLayer().
	(SetPosition): Likewise.
	(getIndexOf): Likewise.
	(remove): Likewise.
	* javax/swing/JInternalFrame.java
	(getLayer): Use new JLayeredPane.getLayer().


2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/TableColumn.java: Added/fixed javadocs over all.
	(setHeaderValue): Simplified. Do nothing when old value == new value.

2005-02-15  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java (setClip): Protect
	against null clip region.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (create): Call
	gtkWindowSetResizable.
	(postConfigureEvent): Only revalidate if frame size has changed.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postConfigureEvent):
	Only revalidate if frame size has changed.
	* java/awt/Component.java (reshape): Only repaint and post
	component events if component is showing.
	* java/awt/Container.java (addImpl): Only post container event if
	container is showing.
	(remove): Likewise.
	* java/awt/Window.java (setLocationRelativeTo): Implement.
	(setBoundsCallback): Only post component events if component is
	showing.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (clearRect):
	Protect against null graphics structure.  Flush gdk event queue.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/ImageReader.java,
	javax/imageio/ImageTranscoder.java,
	javax/imageio/ImageWriter.java,
	javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java,
	javax/imageio/spi/ServiceRegistry.java,
	javax/imageio/stream/ImageInputStream.java,
	javax/imageio/stream/ImageOutputStream.java: Updated.
	* javax/imageio/IIOException.java,
	javax/imageio/IIOImage.java,
	javax/imageio/IIOParam.java,
	javax/imageio/IIOParamController.java,
	javax/imageio/ImageIO.java,
	javax/imageio/ImageReadParam.java,
	javax/imageio/ImageTypeSpecifier.java,
	javax/imageio/ImageWriteParam.java,
	javax/imageio/spi/IIORegistry.java,
	javax/imageio/spi/ImageReaderSpi.java,
	javax/imageio/spi/ImageWriterSpi.java,
	javax/imageio/stream/FileCacheImageInputStream.java,
	javax/imageio/stream/FileCacheImageOutputStream.java,
	javax/imageio/stream/FileImageInputStream.java,
	javax/imageio/stream/FileImageOutputStream.java,
	javax/imageio/stream/ImageInputStreamImpl.java,
	javax/imageio/stream/ImageOutputStreamImpl.java,
	javax/imageio/stream/MemoryCacheImageInputStream.java,
	javax/imageio/stream/MemoryCacheImageOutputStream.java,
	javax/imageio/event/IIOReadProgressListener.java,
	javax/imageio/event/IIOReadUpdateListener.java,
	javax/imageio/event/IIOReadWarningListener.java,
	javax/imageio/event/IIOWriteProgressListener.java,
	javax/imageio/event/IIOWriteWarningListener.java,
	javax/imageio/metadata/IIOMetadata.java,
	javax/imageio/metadata/IIOMetadataController.java,
	javax/imageio/metadata/IIOMetadataFormat.java,
	javax/imageio/metadata/IIOInvalidTreeException.java,
	javax/imageio/metadata/IIOMetadataFormatImpl.java,
	javax/imageio/metadata/IIOMetadataNode.java: New files.
	* Makefile.am (javax_source_files): Added new files
	* Makefile.in: Regenerated.

2005-02-15  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	Rework painting into BufferedImages
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
	Construct BufferedImage with alpha only when alpha is
	present in colormodel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Rework painting into client-side jint arrays.
	* jni/gtk-peer/gtkcairopeer.h:
	Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultListCellRenderer.java
	(serialVersionUID): Made private.
	(getListCellRendererComponent): Set horizontal alignment.
	* javax/swing/JLabel.java
	(setVerticalAlignment): Re-implemented.
	(setHorizontalAlignment): Do nothing if old value = new value.
	* javax/swing/JList.java
	(setCellRenderer): Likewise.
	(setModel): Re-implemented.
	(setSelectionModel): Likewise.

2005-02-15  David Gilbert <david.gilbert@object-refinery.com>

	* java/awt/Component.java,
	java/awt/geom/Rectangle2D.java:
	Javadoc fixes.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractListModel.java
	(fireContentsChanged): Simplified.
	(fireIntervalAdded): Likewise.
	(fireIntervalRemoved): Likewise.
	* javax/swing/DefaultSingleSelectionModel.java:
	Reformatted.
	(fireStateChanged): Simplified.
	* javax/swing/JPopupMenu.java
	(setSelectionModel): Set property.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/Book.java: Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/geom/Area.java
	(QuadSegment.curveArea): Remove unused variables.
	(CubicSegment.curveArea): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTree.java
	(ANCHOR_SELECTION_PATH_PROPERTY): Added @since tag.
	(LEAD_SELECTION_PATH_PROPERTY): Likewise.
	(EXPANDS_SELECTED_PATHS_PROPERTY): Likewise.
	(EXPANDED): New constant.
	(COLLAPSED): Likewise.
	(nodeStates): New field.
	(cellEditor): New method.
	(cellRenderer): Likewise.
	(selectionModel): Likewise.
	(treeModel): Likewise.
	(scrollPathToVisible): Likewise.
	(scrollRowToVisible): Likewise.
	(isCollapsed): Likewise.
	(isExpanded): Likewise.
	(clearToggledPaths): Likewise.
	(getDescendantToggledPaths): Likewise.
	(hasBeenExpanded): Likewise.
	(isVisible): Likewise.
	(isPathEditable): Likewise.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLayeredPane.java: Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/tree/DefaultMutableTreeNode.java:
	Completely Revised.
	* javax/swing/tree/MutableTreeNode.java:
	Reformatted.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JFormattedTextField.java
	(setDocument): Call setDocument of super class. Don't fire property
	change event.

2005-02-15  Sven de Marothy  <sven@physto.se>

	* java/awt/image/IndexColorModel.java:
	Add FIXME with respect to alpha handling.
	(getAlpha): Default to returning opaque pixels.
	* java/awt/image/MultiPixelPackedSampleModel.java
	(MultiPixelPackedSampleModel): Corrected parameters, order of
	bit shifts and masks, stride length off by one.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JList.java, javax/swing/JTree.java:
	Added much new methods and fixed much methods setting bound properties.

2005-02-16  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (gnu_xml_source_files): Removed
	gnu/xml/dom/DomCDATA.java, gnu/xml/dom/DomEx.java,
	gnu/xml/dom/DomFragment.java, gnu/xml/dom/DomPI.java and
	gnu/xml/dom/ls/DomLSEx.java. Replaced by adding
	gnu/xml/dom/DomCDATASection.java, gnu/xml/dom/DomDOMException.java,
	gnu/xml/dom/DomDocumentFragment.java,
	gnu/xml/dom/DomProcessingInstruction.java and
	gnu/xml/dom/ls/DomLSException.java.
	* Makefile.in: Regenerated.

2005-02-16  Tom Tromey  <tromey@redhat.com>

	* gnu/xml/aelfred2/SAXDriver.java: Ensure that null is returned when
	attribute index is out of bounds.

2005-02-16  Chris Burdess  <dog@gnu.org>

	* gnu/xml/aelfred2/SAXDriver.java: Corrected implementation of
	isDeclared methods. Improved performance of isSpecified methods.

2005-02-16  Chris Burdess  <dog@gnu.org>

	Fixes bug libgcj/19864
	* gnu/xml/dom/DomAttr.java,
	gnu/xml/dom/DomCDATA.java,
	gnu/xml/dom/DomCDATASection.java,
	gnu/xml/dom/DomCharacterData.java,
	gnu/xml/dom/DomDOMException.java,
	gnu/xml/dom/DomDoctype.java,
	gnu/xml/dom/DomDocument.java,
	gnu/xml/dom/DomDocumentConfiguration.java,
	gnu/xml/dom/DomDocumentFragment.java,
	gnu/xml/dom/DomElement.java,
	gnu/xml/dom/DomEx.java,
	gnu/xml/dom/DomFragment.java,
	gnu/xml/dom/DomImpl.java,
	gnu/xml/dom/DomIterator.java,
	gnu/xml/dom/DomNamedNodeMap.java,
	gnu/xml/dom/DomNode.java,
	gnu/xml/dom/DomNsNode.java,
	gnu/xml/dom/DomPI.java,
	gnu/xml/dom/DomProcessingInstruction.java,
	gnu/xml/dom/DomText.java,
	gnu/xml/dom/DomLSEx.java,
	gnu/xml/dom/DomLSException.java,
	gnu/xml/dom/DomLSParser.java,
	gnu/xml/dom/DomLSSerializer.java: Refactoring of exception and DOM
	implementation class names to conform to Classpath guidelines.  Make
	DomLSException use JDK 1.4+ exception chaining.
	* gnu/xml/util/SAXNullTransformerFactory.java,
	gnu/xml/xpath/Predicate.java: Use constants relative to
	declaring class or interface.

2005-02-16  Andrew Haley  <aph@redhat.com>

	* javax/security/auth/Subject.java (doAsPrivileged): If acc is
	null, create a new AccessControlContext.
	* java/security/SecureClassLoader.java (protectionDomainCache):
	new field.
	(defineClass): Create a new protection domain and add it to our
	cache.

	* java/rmi/server/UnicastRemoteObject.java (exportObject): Call
	addStub() to keep track of the stub we've exported.
	(unexportObject): Call deleteStub().
	* java/rmi/server/RemoteObject.java (stubs): New field.
	(addStub): New method.
	(deleteStub): New method.
	(toStub): Rewrite.

	* java/lang/VMCompiler.java (loadSharedLibrary): Pass
	true to findHelper (tryParents).
	* gnu/gcj/runtime/SharedLibLoader.java (SharedLibLoader):
	Likewise.
	* java/net/URLClassLoader.java (SoURLLoader): Likewise.
	* gnu/gcj/runtime/SharedLibHelper.java (SharedLibHelper): Pass
	ProtectionDomain.
	If tryParents is false, don't scan parent class loaders.

	* java/security/Permissions.java (PermissionsHash.implies):
	Iterate over the collection and invoke implies() on each
	element.

2005-02-16  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/PersistentByteMap.java (name, values, fc): new
	fields.
	(PersistentByteMap): Set name
	Magic number changed to 0x67636a64 ("gcjd").
	(init): Force the map to be prime.
	(emptyPersistentByteMap): File name was a string, now a File.
	(addBytes): Share srings between entries.
	(stringTableSize): New method.
	(capacity): Scale by load factor.
	(force): New method.
	(getFile): New method.
	(close): New method.
	(putAll): New method.
	(ByteWrapper): New class.
	* gnu/gcj/tools/gcj_dbtool/Main.java (verbose): New field.
	(main): Guess the average string size as 32, not 64.
	Copy a database before modifying it, so that we can update a
	database in a running system.
	If a database isn't big enough, resize it.
	"-m": new option: merges databases.
	"-a": Create a new detabase if it doesn't exist.
	(usage): Correct, add new option.
	(addJar): Copy a database before modifying it.
	(resizeMap): New method.

2005-02-15  David Daney <ddaney@avtrex.com>
	    Bryce McKinlay  <mckinlay@redhat.com>

	* prims.cc (_Jv_CreateJavaVM): Add comment about initialization order.
	* posix-threads.cc (_Jv_InitThreads): Call block_sigchld() here to
	ensure that GC threads inherit the new signal mask.
	(block_sigchld): Call JvFail rather than throwing exception if
	pthread_sigmask() fails.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/Attributes.java (Name.CLASS_PATH): Document that
	file path elements are separated by spaces.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/Attributes.java (Attributes.Name): Add documentation
	to describe attributes without a constant field value in this class.

2005-02-15  Michael Koch  <konqueror@gmx.de>

	* java/util/jar/Attributes.java
	(CREATED_BY, JAVA_BEAN, MAGIC): Removed.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java (JarURLLoader.JarURLLoader): Just use
	space for parsing CLASS_PATH attribute.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java (JarURLLoader.JarURLLoader): Don't look
	aside for "GCJLIBS" in directory where jarfiles are loaded.
	(JarURLLoader.getClass): Removed method.
	(JarURLLoader.toString): Removed method.
	(FileResource.toString): Removed method.

2005-02-15  Mark Wielaard  <mark@klomp.org>

	* javax/net/ssl/SSLContext.java (getInstance): Add exception message
	and/or cause before throwing.

2005-02-15  Richard Henderson  <rth@redhat.com>

	* Makefile.am (libgcj_la_SOURCES): Move all sources ...
	(libgcj0_convenience_la_SOURCES): ... here.
	(libgcj_la_LIBADD): Add libgcj0_convenience.la.
	(libgcj_la_DEPENDENCIES): Include libgcj_la_LIBADD.
	* Makefile.in: Regenerate.

2005-02-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jawt.c: New file.
	* include/jawt.h: Likewise.
	* include/jawt_md.h: Likewise.
	* include/Makefile.am (tool_include__HEADERS): Add jawt.h and
	jawt_md.h files.
	* include/Makefile.in: Regenerate.
	* jni/classpath/classpath_jawt.h: Likewise.
	* jni/gtk-peer/gtk_jawt.c: Likewise.
	* Makefile.am: Build libjawt.so.
	* Makefile.in: Regenerate.

2005-02-14  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.lang/PR19921.java: Use correct class name.

2005-02-14  Tom Tromey  <tromey@redhat.com>

	* testsuite/libjava.lang/PR19921.out: Renamed from PR19929.out.
	* testsuite/libjava.lang/PR19921.java: Renamed from PR19929.java.

2005-02-14  Tom Tromey  <tromey@redhat.com>

	For PR java/19929:
	* testsuite/libjava.lang/PR19929.out: New file.
	* testsuite/libjava.lang/PR19929.java: New file.

2005-02-14  Anthony Green  <green@redhat.com>

	PR libgcj/18116
	* testsuite/libjava.jni/PR18116.c: New file.
	* testsuite/libjava.jni/PR18116.java: New file.
	* testsuite/libjava.jni/PR18116.out: New file.

2005-02-13  Anthony Green  <green@redhat.com>

	PR libgcj/18116
	* jni.cc (nathash_add): Don't strdup the method signature.
	(_Jv_JNI_RegisterNatives): Convert the slashes to dots in the
	method signature.
	Update copyright.

2005-02-12  Mark Wielaard  <mark@klomp.org>

	Fixes bug libgcj/8170
	* java/lang/ClassLoader.java (loadClass): Don't rewrap
	ClassNotFoundException.
	* gnu/java/lang/MainThread.java (run): Chain NoClassDefFoundError.
	* gnu/gcj/runtime/NameFinder.java (remove_interpreter): Removed.
	(remove_internal): New field superceding remove_interpreter.
	(sanitizeStack): Remove all no-package classes starting with "_Jv_".
	Remove no-class methods starting with "_Jv_". And Replace null
	class or method names with the empty string. Stop at either the
	MainThread or a real Thread run() method.
	(newElement): Made static.
	* java/net/URLClassLoader.java (findClass): Throw
	ClassNotFoundExceptions including urls, plus parent using toString().
	(thisString): New field.
	(toString): New method.

2005-02-10  Tom Tromey  <tromey@redhat.com>

	* external/sax/Makefile.in: Rebuilt.
	* external/sax/Makefile.am (all-local): Removed.
	(BUILT_SOURCES): New variable.
	(mostlyclean-local): No error if no classes to delete.
	* external/w3c_dom/Makefile.in: Rebuilt.
	* external/w3c_dom/Makefile.am (all-local): Removed.
	(BUILT_SOURCES): New variable.
	(mostlyclean-local): No error if no classes to delete.

2005-02-10  Bryce McKinlay  <mckinlay@redhat.com>

	* testsuite/libjava.mauve/xfails: Updated to reflect current state
	of mauve and libjava.

2005-02-09  Tom Tromey  <tromey@redhat.com>

	* gnu/java/net/protocol/jar/Connection.java (getJarFile): Open
	jar file with OPEN_DELETE.
	* java/util/zip/ZipFile.java (ZipFile): Call deleteOnExit when
	OPEN_DELETE is used.

2005-02-09  Tom Tromey  <tromey@redhat.com>

	* java/util/zip/InflaterInputStream.java (markSupported):
	Override.
	(mark, reset): Likewise.

2005-02-08  Tom Tromey  <tromey@redhat.com>

	* java/net/URI.java (AUTHORITY_REGEXP): Handle case where user
	name or port is missing.
	(AUTHORITY_USERINFO_GROUP, AUTHORITY_HOST_GROUP,
	AUTHORITY_PORT_GROUP): Updated.

2005-02-08  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.ac: Reduce number of calls to AC_CHECK_FUNCS and
	AC_CHECK_HEADERS.

2005-02-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	sun.boot.class.path earlier.

2005-02-07  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (handleClassBegin): Use
	_Jv_RegisterInitiatingLoader.
	* java/lang/Class.h (_Jv_UnregisterInitiatingLoader): Declare.
	* java/lang/natVMClassLoader.cc (resolveClass): Don't register
	class.  Use _Jv_UnregisterInitiatingLoader.
	* java/lang/natClassLoader.cc (_Jv_UnregisterInitiatingLoader):
	New function.

2005-02-07  Mark Wielaard  <mark@klomp.org>

	Reported by Timo Lindfors <timo.lindfors@iki.fi>
	java/util/regex/Matcher.java (lookingAt): Set position when match
	found.
	(matches): Implemented through lookingAt().

2005-02-07  Mark Wielaard  <mark@klomp.org>

	Fix suggested by Timo Lindfors <timo.lindfors@iki.fi>
	* java/util/regex/Pattern.java (split(CharSequence,int)):
	Fix while empties > 0 loops.

2005-02-07  Robert Schuster  <thebohemian@gmx.net>

	* gnu/java/nio/charset/ISO_8859_1.java,
	gnu/java/nio/charset/US_ASCII.java,
	gnu/java/nio/charset/UTF_16.java,
	gnu/java/nio/charset/UTF_16_LE.java,
	gnu/java/nio/charset/UTF_16_BE.java,
	gnu/java/nio/charset/UTF_8.java: Fixed canonical names
	 and aliases according to
	 "http://www.iana.org/assignments/character-sets",
	 "http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html"
	 and "http://oss.software.ibm.com/cgi-bin/icu/convexp?s=ALL".
	* gnu/java/nio/charset/Provider.java: Made charset lookup
	 case-insensitive which fixes bug #11740.

2005-02-07  Tom Tromey  <tromey@redhat.com>

	PR libgcj/19611:
	* Makefile.in: Rebuilt.
	* Makefile.am (src.zip): New target.
	(install-src.zip): Likewise.
	(sourcesdir): New variable.

2005-02-06  Jerry Quinn  <jlquinn@optonline.net>

	* javax/imageio/metadata/IIOMetadataNode.java:
	Implemented.
	* javax/imageio/metadata/IIOAttr.java,
	javax/imageio/metadata/IIONamedNodeMap.java,
	javax/imageio/metadata/IIONodeList.java:
	New files

2005-02-06  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/ClasspathToolkit.java
	(registerImageIOSpis): New method.
	* javax/imageio/ImageIO.java
	(WriterFormatFilter.filter): Fix copy-and-paste typos.
	(WriterMIMETypeFilter.filter): Likewise.
	(ImageReaderIterator): Pass extension argument through to SPI.
	(getReadersByFilter): Likewise.
	(getWritersByFilter): Likewise.
	(getImageReadersByFormatName): Likewise.
	(getImageReadersByMIMEType): Likewise.
	(getImageReadersBySuffix): Likewise.
	(getImageWritersByFormatName): Likewise.
	(getImageWritersByMIMEType): Likewise.
	(getImageWritersBySuffix): Likewise.
	(read): Implement.
	(write): Implement.
	* javax/imageio/ImageReader.java
	(progressListeners): Initialize.
	(setInput): Implement.
	* javax/imageio/ImageWriter.java
	(progressListeners): Initialize.
	(warningListeners): Likewise.
	(warningLocales): Likewise.
	(setOutput): Test "isInstance" rather than class equality.
	* javax/imageio/spi/IIORegistry.java
	(static): Add reader and writer SPIs.
	(IIORegistry): Call ClasspathToolkit.registerImageIOSpis.

2005-02-06  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/metadata/IIOInvalidTreeException.java
	(IIOInvalidTreeException): Reformatted.
	* javax/imageio/spi/IIORegistry.java
	(static): Register ImageReaderSpi.class and ImageWriterSpi.class.
	* javax/imageio/stream/MemoryCacheImageInputStream.java:
	Reworked import statements.

2005-02-06  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/stream/FileImageOutputStream.java:
	Implemented.

2005-02-06  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/stream/FileCacheImageInputStream.java,
	javax/imageio/stream/FileCacheImageOutputStream.java,
	javax/imageio/stream/FileImageInputStream.java,
	javax/imageio/stream/ImageInputStreamImpl.java,
	javax/imageio/stream/ImageOutputStreamImpl.java,
	javax/imageio/stream/MemoryCacheImageInputStream.java,
	javax/imageio/stream/MemoryCacheImageOutputStream.java:
	Added all missing methods in javax.imageio.stream.

2005-02-02  David Daney  <ddaney@avtrex.com>

	* java/net/InetAddress.java (InetAddress): Make a private copy of
	the address.
	* java/net/Inet4Address.java (getAddress): Return a copy of the
	address.
	* java/net/Inet6Address.java (Inet6Address): Use private copy of
	the address
	(getAddress): Return a copy of the address.
	(equals): Rewrote.

2005-02-02  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (classes.stamp): New target, broken out from
	libgcj.jar target.
	($(all_java_class_files)): Depend on it.
	(libgcj-@gcc_version@.jar): Likewise.
	(all-recursive): Likewise.
	(CLEANFILES): Include classes.stamp.

2005-02-02  Hans Boehm  <Hans.Boehm@hp.com>

	* link.cc: Include <stdio.h>

2005-02-02  Tom Tromey  <tromey@redhat.com>

	PR libgcj/19681:
	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new class.
	* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
	Use system_instance, not instance.
	* gnu/gcj/runtime/SystemClassLoader.java: New file.
	* gnu/gcj/runtime/VMClassLoader.java (init): Don't search
	java.class.path.
	(system_instance): New field.
	(initialize): Initialize the system loader as well.
	(VMClassLoader): Default to LIB_CACHE.

2005-02-02  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/PersistentByteMap.java: Fixed typo.
	* prims.cc: Fixed comment.

2005-02-01  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (BOOTCLASSPATH): Added sax and w3c_dom.
	(.java.class): Use BOOTCLASSPATH.

2005-02-01  Tom Tromey  <tromey@redhat.com>

	* external/w3c_dom/Makefile.am: New file.
	* external/w3c_dom/Makefile.in: New file.
	* external/sax/Makefile.am: New file.
	* external/sax/Makefile.in: New file.
	* external/Makefile.in: New file.
	* external/Makefile.am: New file.
	* external/README: New file from Classpath.
	* configure, aclocal.m4, Makefile.in: Rebuilt.
	* configure.ac (AC_CONFIG_FILES): Create new Makefiles.
	* Makefile.am (SUBDIRS): Added external.
	(toolexeclib_LTLIBRARIES): Removed lib-org-xml-sax.la,
	lib-org-w3c-dom.la, lib-org-ietf-gss.la.
	(BOOTCLASSPATH): New variable.
	(AM_GCJFLAGS): Use it.
	(gnu_xml_source_files): New variable.
	(libgcj_la_SOURCES): Use it.
	(libgcj_la_LDADD): Include new convenience libraries.
	(lib_org_ietf_jgss_la_SOURCES): Removed.
	(lib_org_ietf_jgss_la_DEPENDENCIES): Likewise.
	(lib_org_ietf_jgss_la_LIBADD): Likewise.
	(lib_org_w3c_dom_la_SOURCES): Removed.
	(lib_org_w3c_dom_la_DEPENDENCIES): Likewise.
	(lib_org_w3c_dom_la_LIBADD): Likewise.
	(lib_org_xml_sax_la_SOURCES): Removed.
	(lib_org_xml_sax_la_DEPENDENCIES): Likewise.
	(lib_org_xml_sax_la_LIBADD): Likewise.
	(all_java_source_files): Updated.
	(property_files): Likewise.
	(libgcj-@gcc_version@.jar): Include classes from external/.
	(javax_source_files): Updated.
	(ordinary_java_source_files): Updated.
	* javax/xml/XMLConstants.java,
	javax/xml/datatype/DatatypeConfigurationException.java,
	javax/xml/datatype/DatatypeConstants.java,
	javax/xml/datatype/DatatypeFactory.java,
	javax/xml/datatype/Duration.java,
	javax/xml/datatype/XMLGregorianCalendar.java,
	javax/xml/datatype/package.html,
	javax/xml/namespace/NamespaceContext.java,
	javax/xml/namespace/QName.java, javax/xml/namespace/package.html,
	javax/xml/parsers/DocumentBuilder.java,
	javax/xml/parsers/DocumentBuilderFactory.java,
	javax/xml/parsers/FactoryConfigurationError.java,
	javax/xml/parsers/ParserConfigurationException.java,
	javax/xml/parsers/SAXParser.java,
	javax/xml/parsers/SAXParserFactory.java,
	javax/xml/parsers/package.html,
	javax/xml/transform/ErrorListener.java,
	javax/xml/transform/OutputKeys.java,
	javax/xml/transform/Result.java, javax/xml/transform/Source.java,
	javax/xml/transform/SourceLocator.java,
	javax/xml/transform/Templates.java,
	javax/xml/transform/Transformer.java,
	javax/xml/transform/TransformerConfigurationException.java,
	javax/xml/transform/TransformerException.java,
	javax/xml/transform/TransformerFactory.java,
	javax/xml/transform/TransformerFactoryConfigurationError.java,
	javax/xml/transform/URIResolver.java,
	javax/xml/transform/package.html,
	javax/xml/transform/dom/DOMLocator.java,
	javax/xml/transform/dom/DOMResult.java,
	javax/xml/transform/dom/DOMSource.java,
	javax/xml/transform/dom/package.html,
	javax/xml/transform/sax/SAXResult.java,
	javax/xml/transform/sax/SAXSource.java,
	javax/xml/transform/sax/SAXTransformerFactory.java,
	javax/xml/transform/sax/TemplatesHandler.java,
	javax/xml/transform/sax/TransformerHandler.java,
	javax/xml/transform/sax/package.html,
	javax/xml/transform/stream/StreamResult.java,
	javax/xml/transform/stream/StreamSource.java,
	javax/xml/transform/stream/package.html,
	javax/xml/validation/Schema.java,
	javax/xml/validation/SchemaFactory.java,
	javax/xml/validation/TypeInfoProvider.java,
	javax/xml/validation/Validator.java,
	javax/xml/validation/ValidatorHandler.java,
	javax/xml/validation/package.html, javax/xml/xpath/XPath.java,
	javax/xml/xpath/XPathConstants.java,
	javax/xml/xpath/XPathException.java,
	javax/xml/xpath/XPathExpression.java,
	javax/xml/xpath/XPathExpressionException.java,
	javax/xml/xpath/XPathFactory.java,
	javax/xml/xpath/XPathFactoryConfigurationException.java,
	javax/xml/xpath/XPathFunction.java,
	javax/xml/xpath/XPathFunctionException.java,
	javax/xml/xpath/XPathFunctionResolver.java,
	javax/xml/xpath/XPathVariableResolver.java,
	javax/xml/xpath/package.html: New files, from GNU JAXP.
	* org/w3c/dom/Attr.java, org/w3c/dom/CDATASection.java,
	org/w3c/dom/CharacterData.java, org/w3c/dom/Comment.java,
	org/w3c/dom/DOMException.java, org/w3c/dom/DOMImplementation.java,
	org/w3c/dom/Document.java, org/w3c/dom/DocumentFragment.java,
	org/w3c/dom/DocumentType.java, org/w3c/dom/Element.java,
	org/w3c/dom/Entity.java, org/w3c/dom/EntityReference.java,
	org/w3c/dom/NamedNodeMap.java, org/w3c/dom/Node.java,
	org/w3c/dom/NodeList.java, org/w3c/dom/Notation.java,
	org/w3c/dom/ProcessingInstruction.java, org/w3c/dom/Text.java,
	org/w3c/dom/ranges/DocumentRange.java,
	org/w3c/dom/ranges/Range.java,
	org/w3c/dom/ranges/RangeException.java,
	org/w3c/dom/traversal/DocumentTraversal.java,
	org/w3c/dom/traversal/NodeFilter.java,
	org/w3c/dom/traversal/NodeIterator.java,
	org/w3c/dom/traversal/TreeWalker.java,
	org/xml/sax/AttributeList.java, org/xml/sax/Attributes.java,
	org/xml/sax/ContentHandler.java, org/xml/sax/DTDHandler.java,
	org/xml/sax/DocumentHandler.java, org/xml/sax/EntityResolver.java,
	org/xml/sax/ErrorHandler.java, org/xml/sax/HandlerBase.java,
	org/xml/sax/InputSource.java, org/xml/sax/Locator.java,
	org/xml/sax/Parser.java, org/xml/sax/SAXException.java,
	org/xml/sax/SAXNotRecognizedException.java,
	org/xml/sax/SAXNotSupportedException.java,
	org/xml/sax/SAXParseException.java, org/xml/sax/XMLFilter.java,
	org/xml/sax/XMLReader.java, org/xml/sax/package.html,
	org/xml/sax/ext/DeclHandler.java,
	org/xml/sax/ext/LexicalHandler.java, org/xml/sax/ext/package.html,
	org/xml/sax/helpers/AttributeListImpl.java,
	org/xml/sax/helpers/AttributesImpl.java,
	org/xml/sax/helpers/DefaultHandler.java,
	org/xml/sax/helpers/LocatorImpl.java,
	org/xml/sax/helpers/NamespaceSupport.java,
	org/xml/sax/helpers/NewInstance.java,
	org/xml/sax/helpers/ParserAdapter.java,
	org/xml/sax/helpers/ParserFactory.java,
	org/xml/sax/helpers/XMLFilterImpl.java,
	org/xml/sax/helpers/XMLReaderAdapter.java,
	org/xml/sax/helpers/XMLReaderFactory.java,
	org/xml/sax/helpers/package.html: Moved to external/.
	* external/sax/README,
	external/sax/org/xml/sax/AttributeList.java,
	external/sax/org/xml/sax/Attributes.java,
	external/sax/org/xml/sax/ContentHandler.java,
	external/sax/org/xml/sax/DTDHandler.java,
	external/sax/org/xml/sax/DocumentHandler.java,
	external/sax/org/xml/sax/EntityResolver.java,
	external/sax/org/xml/sax/ErrorHandler.java,
	external/sax/org/xml/sax/HandlerBase.java,
	external/sax/org/xml/sax/InputSource.java,
	external/sax/org/xml/sax/Locator.java,
	external/sax/org/xml/sax/Parser.java,
	external/sax/org/xml/sax/SAXException.java,
	external/sax/org/xml/sax/SAXNotRecognizedException.java,
	external/sax/org/xml/sax/SAXNotSupportedException.java,
	external/sax/org/xml/sax/SAXParseException.java,
	external/sax/org/xml/sax/XMLFilter.java,
	external/sax/org/xml/sax/XMLReader.java,
	external/sax/org/xml/sax/package.html,
	external/sax/org/xml/sax/ext/Attributes2.java,
	external/sax/org/xml/sax/ext/Attributes2Impl.java,
	external/sax/org/xml/sax/ext/DeclHandler.java,
	external/sax/org/xml/sax/ext/DefaultHandler2.java,
	external/sax/org/xml/sax/ext/EntityResolver2.java,
	external/sax/org/xml/sax/ext/LexicalHandler.java,
	external/sax/org/xml/sax/ext/Locator2.java,
	external/sax/org/xml/sax/ext/Locator2Impl.java,
	external/sax/org/xml/sax/ext/package.html,
	external/sax/org/xml/sax/helpers/AttributeListImpl.java,
	external/sax/org/xml/sax/helpers/AttributesImpl.java,
	external/sax/org/xml/sax/helpers/DefaultHandler.java,
	external/sax/org/xml/sax/helpers/LocatorImpl.java,
	external/sax/org/xml/sax/helpers/NamespaceSupport.java,
	external/sax/org/xml/sax/helpers/NewInstance.java,
	external/sax/org/xml/sax/helpers/ParserAdapter.java,
	external/sax/org/xml/sax/helpers/ParserFactory.java,
	external/sax/org/xml/sax/helpers/XMLFilterImpl.java,
	external/sax/org/xml/sax/helpers/XMLReaderAdapter.java,
	external/sax/org/xml/sax/helpers/XMLReaderFactory.java,
	external/sax/org/xml/sax/helpers/package.html,
	external/w3c_dom/COPYRIGHT.html, external/w3c_dom/README,
	external/w3c_dom/org/w3c/dom/Attr.java,
	external/w3c_dom/org/w3c/dom/CDATASection.java,
	external/w3c_dom/org/w3c/dom/CharacterData.java,
	external/w3c_dom/org/w3c/dom/Comment.java,
	external/w3c_dom/org/w3c/dom/DOMConfiguration.java,
	external/w3c_dom/org/w3c/dom/DOMError.java,
	external/w3c_dom/org/w3c/dom/DOMErrorHandler.java,
	external/w3c_dom/org/w3c/dom/DOMException.java,
	external/w3c_dom/org/w3c/dom/DOMImplementation.java,
	external/w3c_dom/org/w3c/dom/DOMImplementationList.java,
	external/w3c_dom/org/w3c/dom/DOMImplementationSource.java,
	external/w3c_dom/org/w3c/dom/DOMLocator.java,
	external/w3c_dom/org/w3c/dom/DOMStringList.java,
	external/w3c_dom/org/w3c/dom/Document.java,
	external/w3c_dom/org/w3c/dom/DocumentFragment.java,
	external/w3c_dom/org/w3c/dom/DocumentType.java,
	external/w3c_dom/org/w3c/dom/Element.java,
	external/w3c_dom/org/w3c/dom/Entity.java,
	external/w3c_dom/org/w3c/dom/EntityReference.java,
	external/w3c_dom/org/w3c/dom/NameList.java,
	external/w3c_dom/org/w3c/dom/NamedNodeMap.java,
	external/w3c_dom/org/w3c/dom/Node.java,
	external/w3c_dom/org/w3c/dom/NodeList.java,
	external/w3c_dom/org/w3c/dom/Notation.java,
	external/w3c_dom/org/w3c/dom/ProcessingInstruction.java,
	external/w3c_dom/org/w3c/dom/Text.java,
	external/w3c_dom/org/w3c/dom/TypeInfo.java,
	external/w3c_dom/org/w3c/dom/UserDataHandler.java,
	external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java,
	external/w3c_dom/org/w3c/dom/css/CSS2Properties.java,
	external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSImportRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSPageRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java,
	external/w3c_dom/org/w3c/dom/css/CSSRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSRuleList.java,
	external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java,
	external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java,
	external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java,
	external/w3c_dom/org/w3c/dom/css/CSSValue.java,
	external/w3c_dom/org/w3c/dom/css/CSSValueList.java,
	external/w3c_dom/org/w3c/dom/css/Counter.java,
	external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java,
	external/w3c_dom/org/w3c/dom/css/DocumentCSS.java,
	external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java,
	external/w3c_dom/org/w3c/dom/css/RGBColor.java,
	external/w3c_dom/org/w3c/dom/css/Rect.java,
	external/w3c_dom/org/w3c/dom/css/ViewCSS.java,
	external/w3c_dom/org/w3c/dom/events/DocumentEvent.java,
	external/w3c_dom/org/w3c/dom/events/Event.java,
	external/w3c_dom/org/w3c/dom/events/EventException.java,
	external/w3c_dom/org/w3c/dom/events/EventListener.java,
	external/w3c_dom/org/w3c/dom/events/EventTarget.java,
	external/w3c_dom/org/w3c/dom/events/MouseEvent.java,
	external/w3c_dom/org/w3c/dom/events/MutationEvent.java,
	external/w3c_dom/org/w3c/dom/events/UIEvent.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java,
	external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java,
	external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java,
	external/w3c_dom/org/w3c/dom/ls/LSException.java,
	external/w3c_dom/org/w3c/dom/ls/LSInput.java,
	external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java,
	external/w3c_dom/org/w3c/dom/ls/LSOutput.java,
	external/w3c_dom/org/w3c/dom/ls/LSParser.java,
	external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java,
	external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java,
	external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java,
	external/w3c_dom/org/w3c/dom/ls/LSSerializer.java,
	external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java,
	external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java,
	external/w3c_dom/org/w3c/dom/ranges/Range.java,
	external/w3c_dom/org/w3c/dom/ranges/RangeException.java,
	external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java,
	external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java,
	external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java,
	external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java,
	external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java,
	external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java,
	external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java,
	external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java,
	external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java,
	external/w3c_dom/org/w3c/dom/views/AbstractView.java,
	external/w3c_dom/org/w3c/dom/views/DocumentView.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathException.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java,
	external/w3c_dom/org/w3c/dom/xpath/XPathResult.java: New files
	from Classpath.

2005-01-31  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (getOption):
	Support IP_MULTICAST_LOOP.
	(setOption): Support IP_MULTICAST_LOOP.

	* gnu/java/net/natPlainSocketImplPosix.cc (setOption): Add
	SO_REUSEADDR support.
	(getOption): Support SO_REUSEADDR.

2005-01-28  Jeroen Frijters  <jeroen@frijters.net>

	PR libgcj/19649
	* java/util/Date.java
	(Date(int,int,int), Date(int,int,int,int,int)): Delegate to other
	constructor.
	(Date(int,int,int,int,int,int)): Fixed to handle out-of-range
	arguments.
	(getTimezoneOffset): Inverted sign.

2005-01-26  Ranjit Mathew  <rmathew@hotmail.com>

	* testsuite/libjava.jacks/jacks.xfail: Update for PR java/19070,
	remove other passing tests and add new XFAILs.

2005-01-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (next): Updated documentation.  Renamed to
	'next_or_version'.
	* java/lang/natClassLoader.cc (_Jv_RegisterClasses): Use
	_Jv_CheckABIVersion.
	(_Jv_RegisterClasses_Counted): Likewise.
	(_Jv_RegisterClassHookDefault): Fix starting condition of
	duplicate-checking loop.
	* include/jvm.h (GCJ_VERSION): New define.
	(GCJ_BINARYCOMPAT_ADDITION): Likewise.
	(_Jv_CheckABIVersion): New function.

2005-01-24  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (libgij_la_LIBADD): Add -L$(here)/.libs.
	(libgij_la_LDFLAGS): Add.
	* Makefile.in: Rebuilt.

2005-01-24  Roger Sayle  <roger@eyesopen.com>

	PR java/19295
	* testsuite/libjava.compile/PR19295.java: New test case.

2005-01-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMCompiler.java (compileClass): Ignore UnknownError.
	* gnu/gcj/runtime/natSharedLibLoader.cc (finalize): Only dlclose
	if 'handler' is valid.

2005-01-17  Tom Tromey  <tromey@redhat.com>

	* java/text/MessageFormat.java (scanString): Changed how quoting
	is handled.
	(scanFormatElement): Likewise.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* java/text/MessageFormat.java (scanFormat): Chain thrown exception.

2005-01-15  Michael Koch  <konqueror@gmx.de>

	PR libgcj/19444
	* java/net/URI.java
	(AUTHORITY_REGEXP): New regexp constant.
	(AUTHORITY_USERINFO_GROUP): New constant.
	(AUTHORITY_HOST_GROUP): Likewise.
	(AUTHORITY_PORT_GROUP): Likewise.
	(port): Changed default value to -1.
	(parseURI): Parse authority part and initialize host,
	port and userInfo.

2005-01-14  Robin Green  <greenrd@greenrd.org>

	* java/io/File.java (toURI): Generate a URI which we understand.

2005-01-13  Graydon Hoare  <graydon@redhat.com>

	* include/jni.h (_Jv_JNIEnv::bottom_locals): New field.
	* include/jvm.h (_Jv_FreeJNIEnv): Declare.
	* java/lang/natThread.cc (finalize_native): Call _Jv_FreeJNIEnv.
	* jni.cc: Reuse bottom frame between calls, avoid clearing
	frame when no local references are made.

2005-01-13  Michael Koch  <konqueror@gmx.de>

	PR libgcj/17784
	* java/lang/Thread.java
	(Thread): Call checkAccess().
	(stop): Fixed argument name to match javadoc.
	* java/lang/natThread.cc
	(interrupt): Call checkAccess().
	(stop): Likewise.

2005-01-11  Michael Koch  <konqueror@gmx.de>

	PR libgcj/13972
	* java/net/URL.java (URL): Handle specs like
	"/redir?http://domain2.com/index.html" which start with a slash.

2005-01-11  Michael Koch  <konqueror@gmx.de>

	PR libgcj/14012, PR libgcj/14013, PR libgcj/15157, PR libgcj/15509
	* gnu/java/net/BASE64.java,
	gnu/java/net/EmptyX509TrustManager.java,
	gnu/java/net/LineInputStream.java,
	gnu/java/net/protocol/http/Authenticator.java,
	gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java,
	gnu/java/net/protocol/http/ByteArrayResponseBodyReader.java,
	gnu/java/net/protocol/http/ChunkedInputStream.java,
	gnu/java/net/protocol/http/Cookie.java,
	gnu/java/net/protocol/http/CookieManager.java,
	gnu/java/net/protocol/http/Credentials.java,
	gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPDateFormat.java,
	gnu/java/net/protocol/http/HTTPURLConnection.java,
	gnu/java/net/protocol/http/Headers.java,
	gnu/java/net/protocol/http/Request.java,
	gnu/java/net/protocol/http/RequestBodyWriter.java,
	gnu/java/net/protocol/http/Response.java,
	gnu/java/net/protocol/http/ResponseBodyReader.java,
	gnu/java/net/protocol/http/ResponseHeaderHandler.java,
	gnu/java/net/protocol/http/SimpleCookieManager.java,
	gnu/java/net/protocol/http/event/ConnectionEvent.java,
	gnu/java/net/protocol/http/event/ConnectionListener.java,
	gnu/java/net/protocol/http/event/RequestEvent.java,
	gnu/java/net/protocol/http/event/RequestListener.java: New files.
	* gnu/java/net/protocol/http/Connection.java: Removed.
	* gnu/java/net/protocol/http/Handler.java,
	javax/net/ssl/HttpsURLConnection.java: Updated.
	* Makefile.am: Added new files and remove old ones.
	* Makefile.in: Regenerated.

2005-01-11  Tom Tromey  <tromey@redhat.com>

	PR libgcj/18840:
	* java/io/BufferedInputStream.java (read): Repeatedly read to
	fill buffer.
	(refill): Change test to see if buffer must be grown.

2005-01-10  Tom Tromey  <tromey@redhat.com>

	* mauve-libgcj: Exclude some swing tests.

2005-01-10  Tom Tromey  <tromey@redhat.com>

	PR libgcj/12016, PR libgcj/18405, PR libgcj/17738:
	* java/lang/Package.java (getPackages): Use VMClassLoader when
	appropriate.
	(getPackage): Likewise.
	* prims.cc (_Jv_CreateJavaVM): Call
	_Jv_RegisterBootstrapPackages.
	* include/jvm.h (_Jv_RegisterBootstrapPackages): Declare.
	* java/lang/VMClassLoader.java (getPackage): Rewrote.
	(getPackages): Likewise.
	(definedPackages): New field.
	(definePackageForNative): New method.
	* java/lang/Class.h (_Jv_FindClassInCache): Updated.
	* java/lang/natVMClassLoader.cc (loadClass): Updated.
	* defineclass.cc (handleClassBegin): Use
	ClassLoader.findLoadedClass.
	* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
	Rewrote.
	(struct _Jv_LoaderInfo): Removed.
	(initiated_classes): Likewise.
	(_Jv_UnregisterClass): Don't use initiated_classes.
	(_Jv_FindClassInCache): Likewise.  Removed 'loader' argument.
	(_Jv_FindClass): Register classes found during boostrap.
	(BOOTSTRAP_CLASS_LIST_SIZE): New define.
	(bootstrap_class_list): New global.
	(bootstrap_index): Likewise.
	(_Jv_RegisterBootstrapPackages): New function.
	* gnu/gcj/runtime/natVMClassLoader.cc (findClass): Call
	definePackageForNative.
	(findClass): Updated.
	* gnu/gcj/runtime/VMClassLoader.java (definePackageForNative):
	New method.

2005-01-10  Tom Tromey  <tromey@redhat.com>

	PR libgcj/18868:
	* include/jvm.h (_Jv_Linker::find_field): Declare.
	(_Jv_Linker::find_field_helper): Likewise.
	* link.cc (find_field_helper): New method.
	(find_field): Likewise.
	(resolve_pool_entry): Use it.  Throw NoSuchFieldError when field
	not found.
	(link_symbol_table): Use find_field.

2005-01-10  Michael Koch  <konqueror@gmx.de>

	PR libgcj/18014
	* java/util/Locale.java (Locale): Don't uppercase variant.
	(getISOCountries): Fixed typo in javadoc.

2005-01-10  Michael Koch  <konqueror@gmx.de>

	* java/util/SimpleTimeZone.java (checkRule):
	Throw IllegalArgumentException on invalid month values.
	* java/util/TimeZone.java (setID):
	Throw NullPointerException if needed.

2005-01-10  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/SimpleTimeZone.java (getOffset):
	offset end date with daylight savings

2005-01-10  Ranjit Mathew  <rmathew@hotmail.com>

	* testsuite/libjava.compile/PR19277.java: New file for PR java/19277.
	* testsuite/libjava.compile/PR19277.xfail: Likewise.

2005-01-09  Michael Koch  <konqueror@gmx.de>

	PR libgcj/17069
	* java/net/InetAddress.java (getLocalHost):
	Throw UnknownHostException if local hostname cannot be determined.

2005-01-06  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findClass): Fixed documentation.

2005-01-07  Michael Koch  <konqueror@gmx.de>

	PR libgcj/18115
	* java/nio/Buffer.java (address): New field.
	* java/nio/DirectByteBufferImpl.java (address): Removed.
	* java/nio/MappedByteBufferImpl.java (address): Likewise.
	* java/nio/CharViewBufferImpl.java (CharViewBufferImpl):
	Explicitly initialize Buffer.address if needed.
	* java/nio/DoubleViewBufferImpl.java (DoubleViewBufferImpl): Likewise.
	* java/nio/FloatViewBufferImpl.java (FloatViewBufferImpl): Likewise.
	* java/nio/IntViewBufferImpl.java (IntViewBufferImpl): Likewise.
	* java/nio/LongViewBufferImpl.java (LongViewBufferImpl): Likewise.
	* java/nio/ShortViewBufferImpl.java (ShortViewBufferImpl): Likewise.
	* jni.cc (_Jv_JNI_GetDirectBufferAddress): Don't assume buffer is a
	DirectByteBufferImpl object.
	(_Jv_JNI_GetDirectBufferCapacity): Likewise.
	* testsuite/libjava.jni/directbuffer.c,
	testsuite/libjava.jni/directbuffer.java,
	testsuite/libjava.jni/directbuffer.out,
	testsuite/libjava.jni/bytebuffer.c,
	testsuite/libjava.jni/bytebuffer.java,
	testsuite/libjava.jni/bytebuffer.out: New files.

2005-01-05  Tom Tromey  <tromey@redhat.com>

	* java/util/zip/ZipEntry.java (setCompressedSize): Allow any
	argument.
	(compressedSize): Now 'long'.  Default to -1.
	(getCompressedSize): Rewrote.
	* java/util/zip/DeflaterOutputStream.java (deflate): Don't
	deflate at all if we need input.

2005-01-05  Tom Tromey  <tromey@redhat.com>

	PR libgcj/15719:
	* interpret.cc (run) <insn_dcmpl, insn_dcmpg>: Set tmpval
	correctly.

2005-01-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	java.ext.dirs earlier.

2005-01-05  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): Initialize the
	sync_info element of the object if needed.

2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* testsuite/libjava.lang/Process_4.java (Process_4): Expect only
	a non-zero exit status from 'false'.

2005-01-01  Bryce McKinlay  <mckinlay@redhat.com>

	* include/boehm-gc.h: Include gc_ext_config.h, not gc_config.h.
