2003-12-31  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(sendRequest): Dont encode output in default character encoding,
	add correct version number to HTTP user agent string.

2003-12-31  Graydon Hoare  <graydon@redhat.com>

	* configure.in: Add --enable-gtk-cairo check.
	* configure: Regenerate.
	* Makefile.am: Conditionally link against cairo.
	* Makefile.in: Regenerate.
	* acinclude.m4: Include PKG_CHECK_MODULES.
	* aclocal.m4: Regenerate.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (useGraphics2D): New method.
	(getFontMetrics, getClasspathFontPeer):
	* gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics):
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (createImage):
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (getGraphics):
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics):
	Switch behavior depending on GtkToolkit.useGraphics2D().   
	* gnu/java/awt/peer/gtk/GtkFontPeer.java: Extend ClasspathFontPeer.
	* java/awt/Font.java: Switch to peer model.
	* jni/gtk-peer/gtkcairopeer.h: Definitions of cairo stuff.
	* jni/gtk-peer/gdkfont.h: Include gtkcairopeer.h.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Include gtkcairopeer.h.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: Un-include gtkpeer.h. 

2003-12-31  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/io/ObjectOutputStream.java
	(putFields): Reindented. Fixed behaviour: currentPutField should be
	null
	before calling this method.
	(writeFields): Likewise.
	(markFieldsWritten): Fixed the exception message.
	(callWriteMethod): Ensure currentPutField is null.
	(getBooleanField): Translate IllegalArgumentException into
	InvalidClassException.
	(getByteField): Likewise.
	(getCharField): Likewise.
	(getDoubleField): Likewise.
	(getFloatField): Likewise.
	(getIntField): Likewise.
	(getLongField): Likewise.
	(getShortField): Likewise.
	(getObjectField): Check the type code before returning the object.
	(getField): Translate NoSuchFieldException into InvalidClassException
	directly.

2003-12-31 Guilhem Lavaux <guilhem@kaffe.org>

	* java/net/URL.java
	(URL): Change context path to "/" if it is empty.

2003-12-31  Michael Koch  <konqueror@gmx.de>

	* testsuite/libjava.mauve/xfails: Removed tests that pass now:
	XPASS: gnu.testlet.java.net.URL.URLTest: new URL(string) (number 16)
	XPASS: gnu.testlet.java.net.URL.URLTest: new URL(string) (number 18)
	XPASS: gnu.testlet.java.net.URL.URLTest: new URL(protocol, host, file)
	(number 26)
	XPASS: gnu.testlet.java.net.URL.URLTest: new URL(protocol, host, file)
	(number 54)
	

2003-12-30 Guilhem Lavaux <guilhem@kaffe.org>

	* java/util/GregorianCalendar.java
	(computeFields): Reported by Ito Kazumitsu <kaz@maczuka.gcd.org>.
	Fixed the computation of DAY_OF_WEEK_IN_MONTH.
	(computeTime): 12:00 midnight is AM and 12:00 noon is PM.

2003-12-30  Michael Koch  <konqueror@gmx.de>

	* testsuite/libjava.mauve/xfails: Removed the following testcase
	because it passes now:
	FAIL: gnu.testlet.java.text.SimpleDateFormat.Test: parse() strict
	(number 1)

2003-12-30  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectInputStream.java,
	java/io/ObjectOutputStream.java,
	java/io/ObjectStreamClass.java:
	Reformated, no functional code changes.

2003-12-30  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(outputStream): New field.
	(bufferedOutputStream): New field.
	(connect): Initialize outputStream and bufferedOutputStream.
	(sendRequest): Create PrintWriter object from outputStream,
	support HTTP 1.1, send missing HTTP headers and buffered output data
	for POST method.
	(getOutputStream): Set request method to POST if output stream is
	used, return bufferedOutputStream.
	(setRequestMethod): Allow HEAD and POST methods.
	This fixes libgcj PR/6302 and libgcj PR/7752.

2003-12-30  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/LineNumberReader.java
	(countLines): Removed.
	(fill): New private method.
	(mark): Changed logic to use and matchedNewLine.
	(reset): Likewise.
	(read): Likewise.
	(skipRedundantLF): Likewise.

2003-12-30  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(requestProperties): New field.
	(addRequestProperty): New method.
	(getRequestProperty): New method.
	(setRequestProperty): New method.
	(getRequestProperties): New method.

2003-12-28  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(inputStream): Made it a DataInputStream.
	(requestProperties): Removed.
	(hdrHash): Removed.
	(hdrVec): Removed.
	(headers): New field to store headers.
	(connect): Initialize inputStream.
	(receiveReply): Merged from classpath. The new algorithm is line based
	instead of character based.
	(getHeaderField): Use headers.
	(getHeaderFields): Use headers.
	(getKey): Removed.
	(getField): Removed.
	* gnu/java/net/HeaderFieldHelper.java: New file.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/net/HeaderFieldHelper.java.
	* Makefile.in: Regenerated.

2003-12-28  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/LineNumberReader.java
	(mark): Improved error checking.
	(read): Likewise.
	(skip): Likewise. Skip is now really eating the specified number of
	characters.
	* java/io/CharArrayReader.java (read): It should throw
	IndexOutOfBoundsException and not ArrayIndexOutOfBoundsException (see
	mauve).
	* java/io/BufferedReader.java (readLine): Make readLine() really block
	until either EOF is reached or a true error happens.

2003-12-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(getRequestProperty): Removed.
	(setRequestProperty): Removed.

2003-12-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(connect): Call receiveReply().
	(receiveReply): Renamed from getHttpHeaders().
	(getOutputStream): Moved check on doOutput before check for connection
	state.

2003-12-27  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/ResolutionSyntax.java,
	javax/print/attribute/SetOfIntegerSyntax.java,
	javax/print/attribute/Size2DSyntax.java,
	javax/print/attribute/standard/Copies.java,
	javax/print/attribute/standard/JobImpressions.java,
	javax/print/attribute/standard/JobMediaSheets.java,
	javax/print/attribute/standard/NumberOfDocuments.java,
	javax/print/attribute/standard/NumberOfInterveningJobs.java,
	javax/print/attribute/standard/PagesPerMinute.java,
	javax/print/attribute/standard/PagesPerMinuteColor.java,
	javax/print/attribute/standard/QueuedJobCount.java:
	Fixed typo (s/then/than/).

2003-12-27  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/rmi/Naming.java (lookup): Check if the first character of the
	filename returned by URL.getFile() is a '/', only if it is the case
	we cut this first character and call the registry with the good name.
	(bind): Likewise.
	(rebind): Likewise.

2003-12-26  Guilhem Lavaux  <guilhem@kaffe.org>
	    Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedReader.java (BufferedReader):
	Throw IllegalArgumentException when size <= 0.
	(mark): Document and better exception message for negative
	readLimit IllegalArgumentException.
	(read(char[],int,int)): Throw IndexOutOfBoundsException
	if offset and count are not valid regarding buf.
	(skip): Throw IllegalArgumentException when count is negative.

2003-12-26  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/io/FileInputStream.java
	(FileInputStream(String)): Call FileInputStream(File).
	(FileInputStream(File)): Check whether the argument is a directory.

2003-12-26  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (rmi_java_source_files):
	Added gnu/java/rmi/server/RMIVoidValue.java.
	* Makefile.in: Regenerated.

2003-12-26  Guilhem Lavaux  <guilhem@kaffe.org>
            Mark Wielaard  <mark@klomp.org>

	* gnu/java/rmi/server/UnicastConnectionManager.java
	(startScavenger): Set the client connection manager to daemon
	state because it may block clients until TIMEOUT is reached
	when they are exiting.

	* gnu/java/rmi/RMIVoidValue.java: New file for a class representing
	a void return.

	* gnu/java/rmi/server/UnicastRemoteCall.java
	(DummyOutputStream): Add a boolean before each written field to
	know whether it is a primitive.
	(releaseOutputStream): Flush parameters at write time.

	* gnu/java/rmi/server/UnicastServerRef.java
	(incomingMessageCall): Return a RMIVoidValue if no value is to be
	returned.

	* gnu/java/rmi/server/UnicastServer.java
	(incomingMessageCall): Do not write a returned object if it is
	a RMIVoidValue.

2003-12-25  Andreas Tobler  <a.tobler@schweiz.ch>

	* libltdl/ltdl.c (HAVE_DYLD): Remove ifdef conditional for 
	darwin. Fixed by fixinclude now.

2003-12-25  Michael Koch  <konqueror@gmx.de>

	* java/net/ServerSocket.java bind():
	If InetSocketAddress.getAddress() returns "null" use "0.0.0.0" as
	address to bind to.

2003-12-23  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/ObjectInputStream.java
	(getField): Handle transient and non persistent fields.
	(readClassDescriptor): Better error handling, use the right
	class loader.
	(readFields): Fields marked as not present in the stream
	or not to be set are not read and set.
	* java/io/ObjectInputStream.java
	(readFields): Changed implementation of GetField.
	(readClassDescriptor): Documented.
	* java/io/ObjectOutputStream.java
	(writeClassDescriptor): Added condition when to write class super
	class information.

2003-12-22  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/GtkChoicePeer.java (postItemEvent): Rename to...
	(choicePostItemEvent): Change signature to more specific String object.
	* java/awt/Choice.java (add): Generate ItemEvent for the first item
	added.
	(insert): Generate ItemEvent if insertion caused
	selection to change.
	(remove): Generate ItemEvent if removal cause selection to change.
	(removeAll): Change algorithm to prevent generation of ItemEvents.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(connect_choice_item_selectable_hook): Change argument type.
	Fix argument value.
	Make sure resources are feed by registering callback.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Adjust call to the
	above function.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Ditto.
	(item_activate): Ditto.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Destroy removed
	menuitem.
	(item_removed): New function.  Free resources.
	* jni/gtk-peer/gtkpeer.h (item_event_hook_info): Change member type and
	name.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): Obtain MethodID for
	choicePostItemEvent.

2003-12-23  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/Copies.java,
	javax/print/attribute/standard/JobImpressions.java,
	javax/print/attribute/standard/JobMediaSheets.java,
	javax/print/attribute/standard/JobPriority.java,
	javax/print/attribute/standard/NumberOfDocuments.java,
	javax/print/attribute/standard/NumberOfInterveningJobs.java,
	javax/print/attribute/standard/NumberUp.java,
	javax/print/attribute/standard/PagesPerMinuteColor.java,
	javax/print/attribute/standard/PagesPerMinute.java,
	javax/print/attribute/standard/QueuedJobCount.java: New files.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-12-23  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/AttributeSetUtilities.java
	(verifyCategoryForValue): Renamed from verifyCategoryForAttribute.
	* javax/print/attribute/HashAttributeSet.java
	(HashAttributeSet): Call internal add methods, added missing
	exceptions.
	(add): Call addInternal, added exceptions to documentation.
	(addInternal): New method.
	(addAll): Call addAllInternal, added exception to documentation.
	(addAllInternal): New method.
	(clear): Added exception to documentation.
	(remove): Likewise.
	* javax/print/attribute/URISyntax.java
	(serialVersionUID): Fixed value.

2003-12-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Don't dereference NULL focus_obj_ptr.

2003-12-21  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/AttributeSetUtilities.java,
	javax/print/attribute/HashAttributeSet.java,
	javax/print/attribute/HashDocAttributeSet.java,
	javax/print/attribute/HashPrintJobAttributeSet.java,
	javax/print/attribute/HashPrintRequestAttributeSet.java,
	javax/print/attribute/HashPrintServiceAttributeSet.java: New files.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-12-21  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/EnumSyntax.java,
	javax/print/attribute/SetOfIntegerSyntax.java: New files.
	* Makefile.am (ordinary_java_source_files):
	Added javax/print/attribute/EnumSyntax.java
	and javax/print/attribute/SetOfIntegerSyntax.java.
	* Makefile.in: Regenerated.

2003-12-21  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/PrintJobAttribute.java,
	javax/print/attribute/PrintJobAttributeSet.java,
	javax/print/attribute/PrintRequestAttribute.java,
	javax/print/attribute/PrintServiceAttribute.java,
	javax/print/attribute/PrintServiceAttributeSet.java,
	javax/print/attribute/SupportedValuesAttribute.java: New files.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-12-21  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/DateTimeSyntax.java,
	javax/print/attribute/DocAttribute.java,
	javax/print/attribute/DocAttributeSet.java,
	javax/print/attribute/IntegerSyntax.java,
	javax/print/attribute/ResolutionSyntax.java,
	javax/print/attribute/Size2DSyntax.java,
	javax/print/attribute/TextSyntax.java,
	javax/print/attribute/URISyntax.java,
	javax/print/attribute/UnmodifiableSetException.java: New files.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-12-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainDatagramSocketImpl.java
	(mcastGrp): Added documentation.

2003-12-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/jar/Connection.java
	(connectionCache): New field.
	(connect): New method.
	(getInputStream): New method.
	(hdrHash): New field.
	(hdrVec): New field.
	(gotHeaders): New field.
	(getHeaderField): New method.
	(getHeaderFields): New method.
	(getHeaderFieldKey): New method.
	(getKey): New method.
	(getField): New method.
	(getHeaders): New method.
	* java/net/JarURLConnection.java
	(connectionCache): Removed.
	(connect): Removed.
	(getInputStream): Removed.
	(hdrHash): Removed.
	(hdrVec): Removed.
	(gotHeaders): Removed.
	(getHeaderField): Removed.
	(getHeaderFields): Removed.
	(getHeaderFieldKey): Removed.
	(getKey): Removed.
	(getField): Removed.
	(getHeaders): Removed.

2003-12-20  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectStreamField.java (isUnshared): Added documentation.

2003-12-20  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/nio/SelectorImpl.java
	(selectThreadMutex): New field.
	(selectThread): New field.
	(unhandledWakeup): New field.
	(implCloseSelector): Added skeleton code which
	synchronizes as per Sun JRE JavaDoc.
	(keys): Throw ClosedSelectorException if selector
	is closed.
	(selectNow): Added comment that we're faking out
	an immediate select with a one-microsecond-timeout one.
	(select): Use 0 instead of -1 for infinite timeout.
	(implSelect): Changed comment in declaration.
	(select): Added synchronized to method declaration.
	Added synchronization and wakeup support as per Sun
	JRE JavaDoc.
	(selectedKeys): Throw ClosedSelectorException if selector
	is closed.
	(wakeup): Implemented.
	(deregisterCancelledKeys): Synchronize on cancelled key
	set before deregistering.
	(register): Synchronize on key set before registering.
	* java/nio/channels/spi/AbstractSelector.java
	Added import for java.nio.channels.ClosedSelectorException.
	(close): Added synchronized to method declaration.
	(cancelledKeys): Throw ClosedSelectorException if selector
	is closed.
	(cancelKey): Synchronize on cancelled key set before key.

2003-12-20  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added gnu.java.net.URLParseError.java.
	* Makefile.in: Regenerated.

2003-12-20  Guilhem Lavaux <guilhem@kaffe.org>

	* gnu/java/net/URLParseError.java: New file.
	* gnu/java/net/protocol/jar/Handler.java
	(parseURL): Throw URLParseError if needed, fix '/' handling.
	* java/net/URL.java (URL): Catch URLParseError and
	transform it into a MalformedURLException.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ChannelOutputStream.java: New file.
	* java/nio/channels/Channels.java
	(newOutputStream): Implemented.
	* Makefile.am (ordinary_java_source_files)
	Added gnu/java/nio/ChannelOutputStream.java.
	* Makefile.in: Regenerated.

2003-12-19  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/FlowLayout.java (layoutContainer): Let components
	assume their preferred height.  Centre components vertically.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ChannelInputStream.java: New file.
	* java/nio/channels/Channels.java (newInputStream): Implemented.
	* java/nio/channels/FileChannelImpl.java
	(readImpl): Only put data into buffer if something was read.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/ChannelInputStream.java.
	* Makefile.in: Regenerated.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/OutputStreamChannel.java: New file.
	* java/nio/channels/Channels.java (newChannel): Implemented.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/OutputStreamChannel.java.
	* Makefile.in: Regenerated.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added gnu.java.nio.InputStreamChannel. 
	* Makefile.in: Regenerated.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/InputStreamChannel.java: New file.
	* java/nio/channels/Channels.java (newChannel): Implemented.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* java/util/SimpleTimeZone.java
	(setStartRule): Reformated documentation.
	(setEndRule): Reworked documentation.
	(getDSTSavings): Fixed @since tag.
	(setDSTSavings): New method.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* java/text/NumberFormat.java: Sorted imports.
	(getCurrency): New method.
	(setCurrency): New method.
	

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* java/text/MessageFormat.java
	(MessageFormat): New constructor.

2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/jar/Handler.java
	(parseURL): New method.
	(toExternalForm): New method.

2003-12-18  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/List.java (replaceItem): Prevent selection to move with
	replace and minimize flickering.
 
2003-12-18  Michael Koch  <konqueror@gmx.de>

	* libltdl/ltdl.c: Define __private_extern__ if needed.

2003-12-18  Michael Koch  <konqueror@gmx.de>

	* libltdl/.cvsignore: Ignore autom4te.cache
	* libltdl/Makefile.in: Regenerated.
	* libltdl/aclocal.m4: Regenerated.
	* libltdl/acconfig.h: Removed (obsolete).
	* libltdl/config-h.in: Regenerated.
	* libltdl/configure.ac: Added AM_MAINTAINER_MODE.
	* libltdl/configure: Regenerated.

2003-12-18  Michael Koch  <konqueror@gmx.de>

	* mauve-libgcj: Removed the disabling of java.text.ACIAttribute and
	java.text.CollationElementIterator tests as they compile again.
	* testsuite/libjava.mauve/xfails: Added failing
	java.text.CollationElementIterator tests.

2003-12-18  Michael Koch  <konqueror@gmx.de>

	* java/util/prefs/AbstractPreferences.java
	(cachedChildren): New method.

2003-12-18  Michael Koch  <konqueror@gmx.de>

	* java/util/TimeZone.java (getOffset): New method.

2003-12-17  Fernando Nasser  <fnasser@redhat.com>
 
	* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
	of ActionEvents for mouse double-clicks.

2003-12-17  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (handleEvent): Check for
	null Graphics pointer returned by FileDialogPeer.

2003-12-17  Michael Koch  <konqueror@gmx.de>

	* libltdl/stamp-h.in: Removed, not used anymore.

2003-12-16  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/natPlainDatagramSocketImplWin32.cc:
	Removed unused InterruptedIOException.h include.
	* gnu/java/net/natPlainSocketImplWin32.cc
	(connect): Reset and ignore our thread's interrupted
	flag instead of testing and throwing an InterruptedIOException
	if set.
	(accept): Likewise + changed case of SocketTimeoutException
	text.
	(write): Likewise (for both overloads).
	(doRead): Likewise.

2003-12-16  Mohan Embar  <gnustuff@thisiscool.com>

	* win32.cc (WSAEventWrapper): Implemented default
	constructor and init() methods.
	(_Jv_select): Removed.
	* gnu/java/nio/natSelectorImplWin32.cc
	(helper_put_filedescriptors): Removed.
	(helper_get_filedescriptors): Removed.
	(implSelect): Implemented in terms of WSAEventWrapper
	and WSAWaitForMultipleEvents instead of _Jv_select().
	Added support for thread interruption.
	* include/win32.h (WSAEventWrapper): Minor formatting
	changes; added default constructor declaration, init(),
	getFD() and getEventHandle() methods.
	(_Jv_select): Removed.

2003-12-16  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	(peekData): Throw SocketTimeoutException instead of
	InterruptedIOException on timeout.
	(receive): Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(read): Made a minor exception text case change.

2003-12-16  Michael Koch  <konqueror@gmx.de>

	Fix for PR libgcj/13056.
	* libltdl/configure.in,
	libltdl/config.h.in: Removed.
	* libltdl/configure.ac,
	libltdl/config-h.in,
	libltdl/install-sh,
	libltdl/config.guess,
	libltdl/config.sub,
	libltdl/missing,
	libltdl/mkinstalldirs,
	libltdl/ltmain.sh: New files.
	* libltdl/Makefile.am,
	libltdl/acinclude.m4,
	libltdl/aclocal.m4,
	libltdl/ltdl.c,
	libltdl/ltdl.h,
	libltdl/README: Update to versions from libtool 1.5.
	libltdl/configure,
	* libltdl/Makefile.in: Regenerated.
	* java/lang/natRuntime.cc (find_symbol):
	Use type 'lt_ptr' instead of 'lt_ptr_t'.

2003-12-16  Michael Koch  <konqueror@gmx.de>

	* java/awt/MenuComponent.java
	(serialVersionUID): Fixed value.

2003-12-16  Fernando Nasser  <fnasser@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Handle GtkButton widgets differently as events
	go to its event_window.
	(connect_awt_hook): Remove compiler warning.

i2003-12-16  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/ObjectInputStream.java
	(lookupClass): New method.
	(currentLoader): New method.
	(inputGetObjectStreamClasses): New method.
	(assignNewHandle): Documented.
	(currentClassLoader): Documented.
	* java/io/ObjectStreamClass.java
	(setClass): Changed API. Better handling of the imported/exported
	fields.
	(getSerialPersistentFields): Make it throw previously caught exceptions
	so they can handled in setClass.

2003-12-16 Guilhem Lavaux <guilhem@kaffe.org>
 
	* java/io/ObjectStreamField.java: A few methods were added in prevision
	of the upcoming upgrade of the serialization code. This also adds
	some missing documentation.
	(ObjectStreamField): We should throw a NullPointerException when 'name'
	is null.

 2003-12-16 Guilhem Lavaux <guilhem@kaffe.org>
  
	* java/io/ObjectInputStream.java (setBooleanField):
	Throw an InvalidClassException if the field hasn't the required type,
	documentation added.
	(setByteField) Likewise.
	(setCharField) Likewise.
	(setDoubleField) Likewise.
	(setFloatField) Likewise.
	(setIntField) Likewise.
	(setShortField) Likewise.
	(setLongField) Likewise.
	(setObjectField) Likewise.

2003-12-16 Guilhem Lavaux <guilhem@kaffe.org>
           Helmer Kraemer <hkraemer@freenet.de>
 
	* gnu/java/lang/reflect/TypeSignature.java (getClassForEncoding):
	Splitted the method so we can specify an explicit boot loader.

2003-12-15  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gdkfont.h: New file.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove
	include of cairo-xlib.h, add extra gdk_flush().

2003-12-12  Fernando Nasser  <fnasser@redhat.com>

	* jni/gtk-peer/gtkpeer.h: Extend NSA set of macros to handle a second
	native state table -- native_global_ref_table.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Define
	native_global_ref_table pointer.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose): Make sure JNI
	global reference is deleted and memory allocated for pointer freed.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Remove compilation warning.
	(connect_awt_hook): Use saved JNI global reference instead of creating
	a new one.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_connectSignals): Remove
	unused variable declaration and add comment.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCanvasPeer_create): Save JNI global
	reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeCreate): Ditto.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	(item_toggled): Add debug statement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create): Save JNI global
	reference to the Java object.
	(connect_choice_item_selectable_hook): Use saved JNI global references
	instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): Save JNI
	global reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_create): Save JNI global
	reference to the Java object.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkLabelPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollPanePeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_create): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_create): Ditto.
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	(item_selected): Add debug statement.
	(item_unselected): Add debug statement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_create): Save JNI global
	reference to the Java object.
	Connect "activate" signal handler using global JNI reference.
	(connect_activate_hook): Removed in favor of inline code.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.  Add FIXME comment.
	(Java_gnu_java_awt_peer_gtk_GtkPanelPeer_gtkPanelNew): Save JNI global
	reference to the Java object.  Add FIXME comment.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextComponentPeer_connectSignals): Use
	saved JNI global reference instead of JNI local reference.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_create): Save JNI global
	reference to the Java object.
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals): Use saved
	JNI global reference instead of JNI local reference.

2003-12-11  Michael Koch  <konqueror@gmx.de>

	* java/text/Format.java (serialVersionUID): Fixed value.

2003-12-11  Michael Koch  <konqueror@gmx.de>

	* javax/naming/event/EventDirContext.java: Jalopied.
	(addNamingListener): Fixed typo in method name.
	

2003-12-11  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/nio/SocketChannelImpl.java
	(write): Removed diagnostic trace.
	* gnu/java/nio/natSelectorImplPosix.cc: Added
	includes for java.lang.Thread and java.io.InterruptedIOException.
	(helper_put_filedescriptors): Don't put invalid file descriptors
	in select set.
	(helper_get_filedescriptors): Clear invalid file descriptors
	from select set.
	(helper_reset): New method for clearing our file descriptor
	array.
	(implSelect): Correctly calculate timeout if specified and
	legal.
	Intercept and deal with any java.io.InterruptedIOException
	thrown by _Jv_select().

2003-12-08  Fernando Nasser  <fnasser@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
	Most coded moved to pre_event_handler, with the modifications
	mentioned below.
	(pre_event_handler): New function.  Called on the Gtk "event" signal.
	Do not retrieve the jobject from the window property as it is already
	available as user data in the signal.
	Do not try and find the grab widget as it is already done by Gtk at
	this point.
	Do not search for Window ancestor as Gtk already sends the signal to it.
	Do not meddle with the activation state of peer widgets on each
	key press or release.
	Add CList to the special handling when looking for the focused widget.
	* jni/gtk-peer/gtkpeer.h: Add declaration for pre_event_handler.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c (connectJObject):
	New function.
	(connectSignals): New function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c (connectHooks):
	Rename to...
	(connectSignals): New name.  Get rid of NewGlobalRef call.
	Use g_signal_connect instead of deprecated gtk_signal_connect.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(connect_choice_item_selectable_hook): Use g_signal_connect instead of
	deprecated gtk_signal_connect.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkClipboard_initNativeState): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
	function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
	function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_old_create): Remove dead
	code.
	(item_select): Remove indirection.
	(item_unselect): Ditto.
	(connect_selectable_hook): Folded into connectSignals.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectJObject): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
	function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectHooks): Remove
	function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_connectSignals): New
	function.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Declare  and call
	connectJObject and connectSignals instead of connectHooks.
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Declare connectJObject and
	connectSignals.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: Declare connectSignals
	and not connectHooks.
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java: Ditto.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java: Declare connectJObject
	and not connectHooks.
	* gnu/java/awt/peer/gtk/GtkListPeer.java: Declare connectJObject and
	connectSignals instead of connectHooks.
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java: Ditto.
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Ditto.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Ditto. 

2003-12-09  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (nat_headers_install): New variable with header files to
	install automatically.
	(install-data-local): Install all headers listed in
	nat_headers_install. Install innert nat headers explicitely.
	* Makefile.in: Regenerated.

2003-12-09  Michael Koch  <konqueror@gmx.de>

	* java/util/Calendar.java,
	java/util/IdentityHashMap.java,
	java/util/prefs/Preferences.java:
	Import used classes explicitely.

2003-12-09  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(close): Directly return if socket is closed.
	* java/net/ServerSocket.java
	(close): Directly return if socket is closed.
	* java/net/Socket.java
	(close): Directly return if socket is closed.

2003-12-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(implSelect): Throws IOException.
	(select): Likewise.

2003-12-08  Kim Ho  <kho@redhat.com>

	Fix for Checkbox states.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java:
	(currentState): New field.
	(nativeCreate): Add initial state parameter.
	(create): Changed to reflect new parameter.
	(setState): Fire only on changed states.
	(postItemEvent): Fire only on changed states. Also change the 
	Java Checkbox to reflect new state.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	(nativeCreate): Add parameter and set active state.

2003-12-08  Fernando Nasser  <fnasser@redhat.com>
 
	* java/awt/datatransfer/StringSelection.java (getTransferData): Return
	object of type expected by specified DataFlavor.

2003-12-08  Fernando Nasser  <fnasser@redhat.com>
 
	* java/awt/datatransfer/DataFlavor.java (getParameter): Fix off-by-one
	error which was clipping off the first character of a parameter value.

2003-12-08  Olga Rodimina <rodimina@redhat.com>

	* java/awt/Polygon.java
	(translate): Fixed error that caused polygon 
	to move right/left when up/down translation was required.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	(getSelectionStart): Initialized start position to 0. 
	(getSelectionEnd): Initialized end position to 0.
	(getCaretPosition): Initialized caret position to 0.
	(getText): Initialized selected text to NULL 

2003-12-08  Michael Koch  <konqueror@gmx.de>

	Fix for PR libgcj/13176.
	* java/io/PrintStream.java: Partly revert my previous patches to get
	(line_separator): New field.
	(converter): New field.
	(work): New field.
	(work_bytes): New field.
	(pw): Removed.
	(closed): Removed.
	(PrintStrean): Initialize converter and not pw.
	(checkError): Flush always, pw doesn't exist anymore.
	(close): Close underlying out stream.
	(print): New method.
	(writeChars): New method.
	(print): Use new internal print method.
	(println): Likewise.

2002-12-08  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/util/Hashtable.java (Hashtable(Map)): Use putAll, not
	putAllInternal.
	(putAllInternal): Correct comment.
	* java/util/HashMap.java (HashMap(Map)): As above.
	(putAllInternal): As above.

2002-12-08  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/util/Hashtable.java (internalContainsValue): Removed.
	(containsValue): Don't delegate to internalContainsValue.

2003-12-06  Michael Koch  <konqueror@gmx.de>

	* javax/naming/directory/Attribute.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/DirContext.java,
	javax/naming/directory/InitialDirContext.java,
	javax/naming/directory/SearchResult.java,
	javax/naming/event/EventContext.java,
	javax/naming/event/NamingEvent.java,
	javax/naming/event/NamingExceptionEvent.java,
	javax/naming/ldap/ControlFactory.java,
	javax/naming/ldap/ExtendedRequest.java,
	javax/naming/ldap/HasControls.java,
	javax/naming/ldap/InitialLdapContext.java,
	javax/naming/ldap/LdapContext.java,
	javax/naming/ldap/LdapReferralException.java,
	javax/naming/ldap/UnsolicitedNotification.java,
	javax/naming/ldap/UnsolicitedNotificationListener.java,
	javax/naming/spi/DirObjectFactory.java,
	javax/naming/spi/DirStateFactory.java,
	javax/naming/spi/DirectoryManager.java,
	javax/naming/spi/NamingManager.java,
	javax/naming/spi/ObjectFactoryBuilder.java,
	javax/naming/spi/ResolveResult.java,
	javax/naming/spi/Resolver.java,
	javax/naming/spi/StateFactory.java:
	Import used classes explicitely.

2003-12-05  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/GC.java (updateClip): Added rectangles argument.
	(clip): Removed field
	(clipRectangles): New field.
	(clone): Use new updateClip.
	(setClipRectangles): Use new updateClip.
	* gnu/gcj/xlib/natGC.cc (updateClip): Prepare passed rectangles.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* java/io/FilePermission.java:
	Import used classes explicitely.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* java/beans/BeanDescriptor.java,
	java/beans/EventSetDescriptor.java,
	java/beans/FeatureDescriptor.java,
	java/beans/IndexedPropertyDescriptor.java,
	java/beans/Introspector.java,
	java/beans/MethodDescriptor.java,
	java/beans/PropertyDescriptor.java,
	java/beans/SimpleBeanInfo.java: Explicitely import used classes.
	* java/beans/beancontext/BeanContextServicesSupport.java
	(serialVersionUID): New field.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* java/awt/MenuComponent.java: Import java.io.Serialization.
	* java/awt/MenuItem.java: Likewise.
	* java/awt/TextComponent.java: Likewise.
	* java/awt/image/ImagingOpException.java
	(serialVersionUID): Fixed.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(sendRequest): Merged writing http headers with classpath.
	(getInputStream): Merged documentation from classpath.
	(getHeaderField): Likewise.
	(getHeaderFieldKey): Likewise.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* boehm.cc (_Jv_MarkObj): Access hack_signers field.

2003-12-04  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java
	(length): Made packge-private to make it accessible via CNI.
	(maxlen): New field.
	(DatagramPacket): Cleaned up.
	(setSocketAddress): Add message to exception.
	(setData): Call other setData().
	(setData): Call setLength().
	(setLength): Initialize maxlen too.
	* gnu/java/net/natPlainDatagramSocketImplPosix.cc (peekData):
	Get maximal length from maxlen field, set length field directly.
	(receive): Likewise.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (peekData):
	Get maximal length from maxlen field, set length field directly.
	(receive): Likewise.

2003-12-03  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/nio/natSelectorImplPosix.cc
	(implSelect): A timeout of 0 means an infinite
	timeout.

2003-12-02  Fernando Nasser  <fnasser@redhat.com>
 
	* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
	of ActionEvents.

2003-12-03  Michael Koch  <konqueror@gmx.de>

	* java/lang/Class.h (hack_signers): Renamed signers to hack_signers.
	* java/lang/natClass.cc (getSigners): Likewise.
	(setSigners): Likewise.

2003-12-02  Mohan Embar  <gnustuff@thisiscool.com>

	* configure.in: Added new MinGW-specific configure flag
	--with-win32-nlsapi.
	Added new AC_DEFINE MINGW_LIBGCJ_UNICODE.
	Add -lunicows to MinGW SYSTEMSPEC if --with-win32-nlsapi
	is set to unicows.
	* configure: Rebuilt.
	* include/config.h.in: Rebuilt.
	* win32.cc (_Jv_Win32NewString): Implemented.
	(nativeToUnicode): New helper function defined only for
	non-UNICODE builds.
	(unicodeToNative): Likewise.
	(_Jv_Win32TempString): Implemented.
	(lots): Refactored using tchar.h macros.
	(WSAEventWrapper): Use _Jv_Win32NewString.
	(_Jv_platform_initialize): Use GetModuleFileNameA instead
	of GetModuleFileName.
	(_Jv_platform_initProperties): Use _Jv_Win32NewString.
	Use temporary stack buffer instead of a heap buffer.
	* include/win32.h
	Added defines for UNICODE and _UNICODE if MINGW_LIBGCJ_UNICODE is
	defined; added tchar.h include.
	(_Jv_Win32TempString): Declared new helper class.
	(JV_TEMP_STRING_WIN32): New helper macro.
	(_Jv_Win32NewString): Declared new helper method.
	* java/io/natFileDescriptorWin32.cc (open): Use
	JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
	(write): Reformatted slightly.
	* java/io/natFileWin32.cc (lots): Use tchar.h macros;
	use JV_TEMP_STRING_WIN32 instead of JV_TEMP_UTF_STRING.
	(getCanonicalPath): Use _Jv_Win32NewString instead of
	JvNewStringUTF.
	(performList): Likewise.
	* java/lang/natWin32Process.cc (ChildProcessPipe):
	Use tchar.h macros.
	(startProcess): Use tchar.h macros, JV_TEMP_STRING_WIN32,
	and UNICODE environment flag for CreateProcess.
	* java/net/natNetworkInterfaceWin32.cc
	(winsock2GetRealNetworkInterfaces): Use tchar.h macros and
	_Jv_Win32NewString.

2003-12-02  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(initState): Mark obj parameter as unused.
	(stringWidth): Mark obj parameter as unused.  Initialize
	font_name properly.

	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Make
	BufferedImageBuilder class static.

2003-12-02  Mark Wielaard  <mark@klomp.org>

	* java/security/Security.java: Don't use &nbsp; in the api doc.

2003-12-02  Dalibor Topic <robilad@kaffe.org>

	Reported by: Jim Pick <jim@kaffe.org>
	* libraries/javalib/java/util/Hashtable.java
	(internalcontainsValue): New method.
	(contains): Delegate to internalContainsValue.
	
	Reported by: Mark Wielaard  <mark@klomp.org>
	* libraries/javalib/java/util/Hashtable.java
	(contains): Improved comment.
	
	Reported by: Jeroen Frijters  <jeroen@frijters.net>
	* libraries/javalib/java/util/Hashtable.java
	(containsValue): Delegate to contains(Object) to make sure older
	code overwriting it continues to work.

2003-12-02  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New
	method. Handle mouse and key events that must generate
	ActionEvents.
	* java/awt/List.java (getSelectedIndex): Return -1
	if no list element is selected.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler):
	Correct handling of mouse and key events so that List receives them.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_delItems): Fix removal of
	multiple list elements. 

2003-12-02  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/text/SimpleDateFormat.java (compileFormat):
	isLowerCase() and isUpperCase() allow too many characters.
	Just use >= 'A' && <= 'Z' || >= 'a' && <= 'z'.

2003-12-02  Dalibor Topic <robilad@kaffe.org>

	* java/text/FieldPosition.java (equals): Fixed comment.

2003-12-02  Mark Wielaard  <mark@klomp.org>

	Reported by Archie Cobbs:
	* java/security/DigestInputStream.java (read(byte[], int, int): Call
	digest.update() with temp, not len as lenght.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(close): Close associated DatagramChannel object.
	* java/net/ServerSocket.java
	* java/net/Socket.java
	(close): Reset impl and bound before calling getChannel().close() to
	prevent from loops.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(opened): Removed.
	(closed): New field.
	(close): Check of channel is closed already.
	(isOpen): Return !closed.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(blocking): Initialize with true by default.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(serverSocket): Made private.
	(blocking): Likewise.
	(connected): Likewise.
	* gnu/java/nio/SocketChannelImpl.java
	(connectionPending): Made private.
	* gnu/java/nio/FileLockImpl.java
	(static): Load native library (needed for classpath).
	* gnu/java/nio/SelectorImpl.java
	(static): Load native library (needed for classpath).

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java
	(getLastModified): Implement for file connections.
	(getContentLength): Likewise.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java:
	Some reformating.
	(file): Renamed from fileIn.
	(getPermission): Moved around.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/jar/Connection.java
	(Connection): Made class final, merged documentation with classpath.
	(file_cache): Made private.
	(jar_file): Renamed from jarfile.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(Connection): Initialize doOutput to false;
	(connect): Initialize inputStream, moved "send request" code to new
	method.
	(sendRequest): New method.
	(getHttpHeaders): Don't reinitialize inputStream.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol//http/Connection.java
	(defRequestProperties): Removed. This dont gets used since JDK 1.3.
	(requestProperties): Initialize, documentation added.
	(inputStream): Renamed from bufferedIn.
	(Connection): Dont initialize requestProperties.
	(setDefaultRequestProperty): Removed.
	(getDefaultRequestProperty): Removed.
	(usingProxy): Documentation added.
	(getHttpHeaders): Likewise.

2003-12-02  Michael Koch  <konqueror@gmx.de>

	* java/text/DateFormat.java:
	Explicitely import used classes.

2003-12-01  Jeff Sturm  <jsturm@one-point.com>

	* verify.cc (state::clean_subrs): Clear seen_subrs.
	(state::copy): Walk seen_subrs from copy, not `this'.
	Don't clear seen_subrs.

2003-12-01  Kim Ho <kho@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create):
	Disable wrapping if TextArea has horizontal scroll bars.

2003-12-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Hard-code inset values.

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java (GdkFontMetrics):
	Pass font name, not XLFD, to initState.
	(stringWidth(String, int, String)): New method.
	(stringWidth(String)): Call new stringWidth.
	(getLeading): Always return 0.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(initState): New Pango implementation.
	(stringWidth): Likewise.

2003-12-01  Olga Rodimina <rodimina@redhat.com>

	* java/awt/TextComponent.java:
	(getSelectionStart): Updated javadocs.
	(getSelectionEnd): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer:
	(getSelectionStart): Changed to return caret position if no
	text is selected
	(getSelectionEnd): Ditto.

2003-12-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/awt/gtk/GtkButtonPeer.java, gnu/awt/gtk/gtkcommon.cc,
	gnu/awt/gtk/gtkcommon.h, gnu/awt/gtk/GtkComponentPeer.java,
	gnu/awt/gtk/GtkContainerPeer.java,
	gnu/awt/gtk/GtkFramePeer.java, gnu/awt/gtk/GtkLabelPeer.java,
	gnu/awt/gtk/GtkMainThread.java, gnu/awt/gtk/GtkToolkit.java,
	gnu/awt/gtk/GtkWindowPeer.java, gnu/awt/gtk/natGtkButtonPeer.cc,
	gnu/awt/gtk/natGtkComponentPeer.cc,
	gnu/awt/gtk/natGtkContainerPeer.cc,
	gnu/awt/gtk/natGtkFramePeer.cc, gnu/awt/gtk/natGtkLabelPeer.cc,
	gnu/awt/gtk/natGtkMainThread.cc, gnu/awt/gtk/natGtkToolkit.cc,
	gnu/awt/gtk/natGtkWindowPeer.cc: Remove files.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	(closed): Mark loader parameter as unused.

2003-12-01  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(Connection): Merged class documentation.
	(socket): Renamed from sock.
	(Connection): Made protected, documentation added.
	(connect): Give URL'S host instead of InetAddress to Socket
	constructor.
	(disconnect): Documentation added.
	(getOutputStream): Rewrapped.

2003-12-01  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java
	(fileIn): Documentation added.
	(inputStream): Likewise.
	(outputStream): Likewise.
	(Connection): Likewise.
	(connect): Simplified.

2003-12-01  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImage.java (setDimensions,
	setProperties): Check that io is not null before calling
	io.imageUpdate.
	* java/awt/image/ImageConsumer.java (setPixels, imageComplete):
	Update javadocs.
	* java/awt/image/PixelGrabber.java: Fix implementation and
	update javadocs.

2003-12-01  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/natPlainSocketImplPosix.cc
	bind(): Dont set SockedImpl.address field on succesful bind.
	* gnu/java/net/natPlainSocketImplWin32.cc
	bind(): Likewise.

2003-11-30  Jeff Sturm <jsturm@one-point.com>

	* java/net/InetAddress.java:
	(static): Don'f force DNS request for ANY_IF address.

2003-11-30  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java,
	java/net/natInetAddressNoNet.cc,
	java/net/natInetAddressPosix.cc,
	java/net/natInetAddressWin32.cc:
	Reverted my last patch.

2003-11-28  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(lookup): New method that doesnt lookup "0.0.0.0".
	(ImplLookup): Renamed from lookup.
	* java/net/natInetAddressNoNet.cc
	(ImplLookup): Renamed from lookup.
	* java/net/natInetAddressPosix.cc
	(ImplLookup): Renamed from lookup.
	* java/net/natInetAddressWin32.cc
	(ImplLookup): Renamed from lookup.

2003-11-28  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* configure: Rebuilt.
	* configure.in: Require gtk and glib 2.2.0.

2003-11-27  Dalibor Topic <robilad@kaffe.org>

	* java/text/FieldPosition.java (equals): Adapted to handle
	field_attribute. Added fast-circuit check for comparison to self.
	Replaced use of instanceof by getClass to fix symmetry for derived
	types.
	(toString): Adapted to handle field_attribute. Improved readability.
	(hashCode): New method.

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/FieldPosition.java (field_attribute): New field.
	(FieldPosition (Format.Field), FieldPosition(Format.Field, int),
	getFieldAttribute): New methods.

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/DecimalFormatSymbols.java (locale): New field.
	(DecimalFormatSymbols (Locale)): Set locale.
	(serialVersionOnStream): Upgraded to number 2.
	(readObject): Assign locale if it wasn't by the serializer.

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/FormatCharacterIterator.java: Documented the class and

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/FormatCharacterIterator.java: Fixed some typos.

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/NumberFormat.java:
	(getIntegerInstance) Added the java version in the comments.

2003-11-27  Mark Wielaard  <mark@klomp.org>

	* java/text/NumberFormat.java: Import java.io.InvalidObjectException.
	(readResolve): Reformat.

2003-11-27  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/NumberFormat.java
	(NumberFormat.Field): New implemented class to match Java 1.4. 
	(getIntegerInstance): Two new Java 1.4 methods.o

2003-11-27  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/util/GregorianCalendar.java (getLinearTime): Avoid counting
	the leap day of the leap year twice.
	(computeFields): First week of month is 1 not 0.

2003-11-27  Mark Wielaard  <mark@klomp.org>

	* javax/swing/plaf/basic/BasicDefaults.java (BasicDefaults): Put
	AbstractUndoableEdit.undoText and AbstractUndoableEdit.redoText.

2003-11-27  Michael Koch  <konqueror@gmx.de>

	* javax/swing/UIDefaults.java:
	Reformated to match classpath's version.

2003-11-27  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/UIManager.java (getDefaults, getDimension,
	getIcon, getInsets, getInstalledLookAndFeels, getInt,
	getLookAndFeel, getString, getSystemLookAndFeelClassName):
	Declare as public.

2003-11-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/StateEdit.java (getPresentationName): Docfix.
	* javax/swing/undo/AbstractUndoableEdit.java (canUndo, canRedo,
	isSignificant): Likewise.

2003-11-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/CompoundEdit.java: Re-format, document.
	(inProgress): Set initial value to true.
	(undo, redo, die, canUndo, canRedo): Also call inherited
	implementation; simplify code structure.
	(getPresentationName, getUndoPresentationName,
	getRedoPresentationName): Make behavior dependent on lastEdit.
	(addEdit, isSignificant): Completely re-written.

2003-11-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/StateEdit.java: Re-format, document.
	(undo, redo): Also call inherited implementation.

2003-11-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/StateEditable.java: Re-format, document.

2003-11-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/AbstractUndoableEdit.java: Re-format, document.
	(AbstractUndoableEdit): Initialize hasBeenDone to true.
	(canUndo, canRedo): Simplify.
	(getUndoPresentationName, getRedoPresentationName): Support
	localized message; call getPresentationName() only once.

2003-11-26  David Belanger  <dbelan2@cs.mcgill.ca>

	* java/util/zip/ZipFile (Zipfile(File)): Set file path as name.
	(ZipFile(File,int)): Likewise.

2003-11-26  Stuart Ballard <stuart.ballard@corp.fast.net>

	* java/util/HashMap.java (putAll): Use Iterator hasNext() method.
	(putAllInternal): Likewise.
	* java/util/Hashtable.java (putAll): Use Iterator hasNext() method.
	(putAllInternal): Likewise.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/URLStreamHandler.java
	(parseURL): Added comment in catch statement.
	(canonicalizeFilename): Add documentation.
	(sameURL): Completed documentation.
	(equals): Likewise.
	(hostsEqual): Likewise.
	(getDefaulPort): Likewise.
	(hashCode): Likewise.
	(toExternalForm): Likewise.
	(getHostName): Fix empty hostname check, completed documentation.

2003-11-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natDouble.cc (parseDouble): Reverted patch of
	2003-11-13.

2003-11-26  Guilhem Lavaux  <guilhem@kaffe.org>
	    Mark Wielaard  <mark@klomp.org>

	* java/net/URLStreamHandler (parseUrl): Fixed URL parsing
	('@' should be checked to distinguish port from userinfo).
	(toExternalForm): Add @ userInfo if necessary.


2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DategramSocket, bind): Moved binding code from DatagramSocket
	constructor to bind method.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(impl): Made private.
	(bound): New private member variable.
	(DatagramSocket): Fixed documentation, use getImpl().
	(getImpl): New package-private method.
	(isClosed): Use getImpl().
	(getLocalAddress): Completed documentation, use getImpl().
	(getLocalPort): Use getImpl().
	(getSoTimeout): Likewise.
	(setSoTimeout): Likewise.
	(getSendBufferSize): Likewise.
	(setSendBufferSize): Likewise.
	(getReceiveBufferSize): Likewise.
	(setReceiveBufferSize): Likewise.
	(connect): Likewise.
	(disconnect): Likewise.
	(receive): Likewise.
	(send): Likewise.
	(setReuseAddress): Likewise.
	(setTrafficClass): Likewise.
	(bind): Added message to exception.
	(isClosed): Completed documentation.
	(getChannel): Likewise.
	(connect): Added missing exception, refined exception message.
	(isBound): Completed documentation, just return bound.
	(isConnected): Completed documentation.
	(getRemoteSocketAddress): Likewise.
	(getReuseAddress): Completed documentation, use getImpl().
	(setSoBroadcast): Likewise.
	(getSoBroadcast): Likewise.
	(getTrafficClass): Likewise.
	(getLocalSocketAddress): Simplified.
	* java/net/MulticastSocket.java
	(MulticastSocket): Removed comment not applying anymore.
	(getInterface): Use getImpl().
	(getTTL): Likewise.
	(getTimeToLive): Likewise.
	(setInterface): Likewise.
	(setNetworkInterface): Likewise.
	(getNetworkInterface): Likewise.
	(setLoopback): Likewise.
	(getLoopback): Likewise.
	(setTTL): Likewise.
	(setTimeToLive): Likewise.
	(joinGroup): Likewise.
	(leaveGroup): Likewise.
	(send): Likewise.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(implCreated): Dont set default value explicitely, added
	documentation.
	(inputShutdown): Likewise.
	(outputShutdown): Likewise.
	(bound): New private member variable.
	(bind): Set bound to true.
	(close): Set bound to false.
	(isBound): Return bound.
	* java/net/ServerSocket.java
	(bound): New private member variable.
	(bind): Set bound to true.
	(close): Set bound to false.
	(isBound): Return bound.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Fixed documentation to be HTML compliant.
	(getContent): Completed documentation.
	(getFile): Likewise.
	(getPath): Likewise.
	(getAuthority): Likewise.
	(getHost): Likewise.
	(getDefaultPort): Likewise.
	(getProtocol): Likewise.
	(hashCode): Likewise.
	(openConnection): Likewise.
	(openStream): Likewise.
	(set): Likewise.
	(getURLStreamHandler): Wrapped lines to fit into our 79 chars rule.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(hostname): Made private, added documentation.
	(addr): Likewise.
	(port): Likewise.
	(equals): Completed documentation.
	(getAddress): Likewise.
	(getHostName): Likewise.
	(getPort): Likewise.
	(hashCode): Likewise.
	(isUnresolved): Likewise.
	(toString): Likewise.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Handler.java
	(Handler): New explicit constructor.
	(openConnection): Added documentation.
	* gnu/java/net/protocol/jar/Handler.java
	(Handler): New explicit constructor.
	(openConnection): Added documentation.

2003-11-26  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java
	(DatagramPacket): Fixed documentation to become legal HTML.

2003-11-25  Michael Koch  <konqueror@gmx.de>

	* gcj/javaprims.h: Added missing java.util.Currency.

2003-11-25  Michael Koch  <konqueror@gmx.de>

	* testsuite/libjava.mauve/xfails:
	Removed these two tests, they mystically pass now:
	-FAIL: gnu.testlet.java.net.ServerSocket.ServerSocketTest: Error :
	test_params failed - 5getInetAddress did not return proper values
	(number 1)
	-FAIL: gnu.testlet.java.net.Socket.SocketTest: Error :
	test_BasicServer failed - 11 exception was thrown :Illegal seek
	(number 1)

2003-11-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(factory): Made private.
	(closed): Removed.
	(DatagramSocket): Check impl argument, use constructor with
	SocketAddress argument.
	(close): Set impl to null, use isClosed().
	(isClosed): Check for impl == null.
	(getLocalAddress): Use isClosed().
	(getLocalPort): Check if socket is closed.
	(getSoTimeout): Likewise.
	(setSoTimeout): Likewise.
	(getSendBufferSize): Likewise.
	(setSendBufferSize): Likewise.
	(getReceiveBufferSize): Likewise.
	(setReceiveBufferSize): Likewise.
	(receive): Likewise.
	(send): Likewise.
	(bind): Likewise.
	(connect): Likewise.
	(setReuseAddress): Likewise.
	(getReuseAddress): Likewise.
	(setBroadcast): Likewise.
	(getBroadcast): Likewise.
	(setTrafficClass): Likewise.
	(getTrafficClass): Likewise.
	* java/net/MulticastSocket.java
	(getInterface): Check if socket is closed.
	(getTTL): Likewise.
	(getTimeToLive): Likewise.
	(setInterface): Likewise.
	(setNetworkInterface): Likewise.
	(getNetworkInterface): Likewise.
	(setLoopbackMode): Likewise.
	(setTTL): Likewise.
	(setTimeToLive): Likewise.
	(joinGroup): Likewise.
	(leaveGroup): Likewise.
	(send): Likewise.
	* java/net/ServerSocket.java
	(closed): Removed.
	(close): Check if socket is closed, set impl to null.
	(isClosed): Check impl == null;
	(ServerSocket): Check impl argument.
	(getInetAddress): Check if socket is bound.
	(getLocalPort): Likewise.
	(getLocalSocketAddress): Likewise.
	(bind): Check if socket is closed.
	(implAccept): Likewise.
	(setSoTimeout): Likewise.
	(getSoTimeout): Likewise.
	(setReuseAddress): Likewise.
	(getReuseAddress): Likewise.
	(setReceiveBufferSize): Likewise.
	(getReceiveBufferSize): Likewise.
	(toString): Make output compliant to JDK 1.4.2.
	* java/net/Socket.java
	(closed): Removed.
	(Socket): Fixed documentation.
	(connect): Check if socket is closed, changed exception text,
	fixed documentation.
	(getInputStream): Check of socket is closed  and connected.
	(getOutputStream): Likewise.
	(bind): Check if socket is closed.
	(setTcpNoDelay): Likewise.
	(getTcpNoDelay): Likewise.
	(setSoLinger): Likewise.
	(getSoLinger): Likewise.
	(sendUrgentData): Likewise.
	(setOOBInline): Likewise.
	(getOOBInline): Likewise.
	(setSoTimeout): Likewise.
	(getSoTimeout): Likewise.
	(setSendBufferSize): Likewise.
	(getSendBufferSize): Likewise.
	(setReceiveBufferSize): Likewise.
	(getReceiveBufferSize): Likewise.
	(setKeepAlive): Likewise.
	(getKeepAlive): Likewise.
	(close): Likewise.
	(shutdownInput): Likewise.
	(shutdownOutput): Likewise.
	(getReuseAddress): Likewise.
	(getTrafficClass): Likewise.
	(setTrafficClass): Likewise.
	(isClosed): Check impl == null.
	(toString): Added missing ']'.

2003-11-24  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (propdir): New macro.
	(install-data-local): Install logging.properties.
	(core_java_source_files): Added java.util.logging.*.
	* java/util/logging/logging.properties: New file.

2003-11-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Move binding code to bind(), simplify constructors.
	* java/net/MulticastSocket.java
	(MulticastSocket): Call parent constructor with null argument,
	bind socket after setReuseAddress is called, simplify constructors.

2003-11-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/BoxLayout.java
	(serialVersionUIR): New member variable.
	(X_AXIS, Y_AXIS): Documentation added.
	(LINE_AXIS, PAGE_AXIS): New constants.
	(grid): Renamed from gridbag.
	(BoxLayout): Use new constants, throw exception if invalid value for
	way, added documentation.
	(BoxLayout): Removed.
	(addLayoutComponent): Use new constants, added documentation.
	(removeLayoutComponent): Likewise.
	(addLayoutContainer): Added documentation.
	(preferredLayoutSize): Added documentation, check given argument.
	(minimumLayoutSize): Likewise.
	(layoutContainer): Likewise.
	(getLayoutAlignmentX): Likewise.
	(getLayoutAlignmentY): Likewise.
	(invalidateLayout): Likewise.
	(maximumLayoutSize): Likewise.

2003-11-22  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/natPlainDatagramSocketImplWin32.cc
	(peekData): Use offset and maximal free space in datagram packet.
	(receive): Likewise.
	(send): Use offset in datagram packet.

2003-11-22  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	(peekData): Use offset and maximal free space in datagram packet.
	(receive): Likewise.
	(send): Use offset in datagram packet.

2003-11-22  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(getNativeFD): Use getPlainDatagramSocketImpl().
	* gnu/java/nio/NIODatagramSocket.java
	(getPlainDatagramSocketImpl): Renamed from getImpl().
	* gnu/java/nio/NIOSocket.java
	(getPlainSocketImpl): Renamed from getImpl().
	(setChannel): Use getPlainSocketImpl().
	* gnu/java/nio/SocketChannelImpl.java
	(SocketChannelImpl): Use getPlainSocketImpl().
	(getPlainSocketImpl): Renamed from getImpl().
	(getNativeFD): Use getPlainSocketImpl().

2003-11-18  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JLayeredPane.java: Implement.
	* javax/swing/JFrame.java (getContentPane): Make public
	* javax/swing/javax/swing/JRootPane.java (setContentPane): 
	Use JLayeredPane.FRAME_CONTENT_LAYER.

2003-11-21  Mark Wielaard  <mark@klomp.org>

	* java/lang/Float.java (static): Removed.

2003-11-18  Graydon Hoare  <graydon@redhat.com>

	* java/awt/font/TextLayout.java: Implement simple layouts
	using attributed strings and glyph vectors.

2003-11-17  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.java: New file.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java 
	(GdkFontLineMetrics): New inner class.
	(getLineMetrics): Return new GdkFontLineMetrics.
	(getFontMetrics): Return new GdkClasspathFontPeerMetrics.
	(layoutGlyphVector): Create GdkGlyphVector.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java (stateStack): New member.
	(GdkGraphics2D): Initialize state via mathod calls.
	(cairoSetMatrix, cairoShowGlyphs): Simplify native calls.
	(cairoTranslate, cairoScale, cairoRotate): Remove.
	(various methods): use setTransform for special transform cases.
	(DrawState): New inner class.
	(stateSave): New method.
	(stateRestore): New method.
	(various methods): use stateSave, stateRestore.
	(getClipInDevSpace): New method.
	(clip, clipRect, setClip, getClip, getClipBounds): 
	Follow spec more closely.
	(getTransform): Return clone of transform.
	(setStroke): Set linewidth to passed width / 2.0.
	(setPaintMode): Set SrcOver rather than Xor.
	(setColor): Set paint to passed color.
	(drawRaster, drawImage, PainterThread, drawPixels): Take affine
	transform from image to user space.
	(drawRenderedImage, drawRenderableImage): Implement.
	(getFontRenderContext, getFontMetrics, drawString, getFont): 
	Implement
	(drawArc, drawOval, drawRoundRect, fillArc, fillOval, fillRoundRect): 
	Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: 
	Match changes to java side.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c: 
	Release resources.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c: 
	Don't use pango for metrics.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: 
	New file.

2003-11-19  Guilhem Lavaux <guilhem@kaffe.org>
	    Jim Pick  <jim@kaffe.org>

	* java/text/DecimalFormat.java (getCurrency, setCurrency): New
	methods.

2003-11-19  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/text/DecimalFormatSymbols.java (getCurrency,
	setCurrency): New methods.

2003-11-19  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/FlatteningPathIterator.java: Entirely re-written.
	* java/awt/geom/doc-files/FlatteningPathIterator-1.html:
	Describe how the implementation works.

2003-11-19  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(implCreated): New variable that indicates created impl.
	(getImpl): New method.
	(toString): Return more SUN compliant string representation.
	(various): Use getImpl() instead of impl.

2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* lib/libjava.exp: Add DYLD_LIBRARY_PATH for darwin. Look for
	the right libgcc. Add -multiply_defined suppress and -bind_at_load
	flags.

2003-11-18  Tom Tromey  <tromey@redhat.com>

	PR libgcj/13026:
	* verify.cc (state::copy): Only set local_changed if we're in a
	subroutine.  Correctly copy local variables which were modified
	by the subroutine.
	(push_jump_merge): Added more debugging output.

	* jni.cc (_Jv_JNI_GetStringUTFChars): Fail gracefully if string
	is null.

2003-11-17  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/plaf/basic/BasicDefaults.java: Rewrite to spec.
	* javax/swing/UIDefaults.java: Modify to reflect rewrite.

2003-11-16  Tom Tromey  <tromey@redhat.com>

	PR libgcj/13062:
	* java/io/StreamTokenizer.java (commentChar): Clear other
	attributes for character.
	(quoteChar): Likewise.

2003-11-14  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/GridBagLayout.java (getLayoutDimensions): Return array of two
	zero-length int arrays when layoutInfo is null.
	(getLayoutWeights): Return array of two zero-length double arrays when
	layoutInfo is null.

2003-11-13  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to
	JvGetStringUTFRegion.
	* java/lang/natPosixProcess.cc (new_string): Pass length of string
	to JvGetStringUTFRegion.
	* java/lang/natDouble.cc (parseDouble): Pass length of string to
	JvGetStringUTFRegion.
	* java/lang/natWin32Process.cc (startProcess): Pass length of
	string to JvGetStringUTFRegion.
	* java/lang/natClass.cc (forName): Pass length of string to
	JvGetStringUTFRegion.
	* gnu/gcj/runtime/natNameFinder.cc (getExternalLabel): Pass length
	of string to JvGetStringUTFRegion.
	* gnu/gcj/convert/natIconv.cc (init): Pass length of string to
	JvGetStringUTFRegion.
	* gnu/awt/gtk/natGtkLabelPeer.cc (setText): Pass length of string
	to JvGetStringUTFRegion.
	* gnu/awt/gtk/natGtkButtonPeer.cc (setLabel): Pass length of
	string to JvGetStringUTFRegion.

2003-11-13  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/nio/natSelectorImplPosix.cc
	(helper_put_filedescriptors): Change to static linkage.
	(helper_get_filedescriptors): Likewise.

2003-11-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (prepareImage): Remove
	null check.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (prepareImage): Likewise.
	* java/awt/Component.java (prepareImage): Likewise.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (setAlignment):
	Rename to nativeSetAlignment.

2003-11-11  Danny Smith  <dannysmith@users.sourceforge.net>

	* jni.cc (JNI_CreateJavaVM): Remove JNIEXPORT.
	(JNI_GetCreatedJavaVMs): Likewise.
	(JNI_GetDefaultJavaVMInitArgs): Likewise.
	* include/jni.h (JNIIMPEXP): Remove definition
	and replace with...
	(__GCJ_JNIIMPEXP__): New macro, applicable only to libgcj
	symbols,
	(__GCJ_DLL__): New macro, controlling __GCJ_JNIIMPEXP__.

2003-11-11  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am: Add GdkPixbufDecoder.java and
	gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	* Makefile.in: Regenerate.
	* gnu/java/awt/image/ImageDecoder.java (ImageDecoder(byte[],int,int)):
	New constructor.
	(startProduction): Create ByteArrayInputStream when url and filename are
	null.
	(produce): Declare stream parameter as InputStream.
	* gnu/java/awt/image/XBMDecoder.java (produce): Declare stream parameter
	as InputStream.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
	(GdkPixbufDecoder(byte[],int,int)): New constructor.
	(produce): Declare stream parameter as InputStream.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (prepareImage): Throw NPE
	if image is null.  Set image's observer before running PrepareImage
	thread.  Pass image to startProduction.
	* gnu/java/awt/peer/gtk/GtkImage.java: Add null checks before calls to
	source's member functions.
	(observer): New field.
	(setObserver): New method.
	(setDimensions, setPixels, imageComplete): Call observer's imageUpdate.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (checkImage, getImage): Return
	new GtkImage.
	(prepareImage): Implement.
	* java/awt/Component.java: Add static fields incrementalDraw and
	redrawRate.
	(imageUpdate): Implement.
	(createImage): Call Toolkit's createImage if peer is null.
	(prepareImage): Throw NPE if image is null.
	* java/awt/MediaTracker.java: Fix return value.

2003-11-11  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkLabelPeer.java (create()): Call new create.
	(create(String, float)): New method.
	(setText): Make native.
	(nativeSetAlignment): New method.
	(setAlignment): Call nativeSetAlignment.
	(getArgs): Remove method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(find_fg_color_widget, find_bg_color_widget): New functions.
	(gtkWidgetSetForeground): Call find_fg_color_widget.
	(gtkWidgetSetBackground): Call find_bg_color_widget.  Modify active and
	prelight colors.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (create): Wrap label
	widget in event box.
	(setText, setAlignment): Implement new native methods.

2003-11-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java,
	java/awt/datatransfer/DataFlavor.java,
	java/math/BigInteger.java,
	java/net/Inet4Address.java,
	java/net/Inet6Address.java,
	java/rmi/MarshalledObject.java,
	java/rmi/server/RMIClassLoader.java,
	java/security/cert/CertStore.java,
	java/sql/Timestamp.java,
	java/text/SimpleDateFormat.java,
	javax/naming/CompoundName.java:
	Removed some redundant obj == null checks.

2003-11-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(equals): Remove redundant obj == null check.

2003-11-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natPipeImpl.cc,
	gnu/java/nio/natSelectorImpl.cc: Removed
	* gnu/java/nio/natPipeImplEcos.cc,
	gnu/java/nio/natPipeImplPosix.cc,
	gnu/java/nio/natPipeImplWin32.cc,
	gnu/java/nio/natSelectorImplEcos.cc,
	gnu/java/nio/natSelectorImplPosix.cc,
	gnu/java/nio/natSelectorImplWin32.cc: New files
	* configure.in: Create links for gnu/java/nio/natPipeImpl.cc and
	gnu/java/nio/natSelectorImpl.cc
	* configure: Regenerated.

2003-11-11  Micheal Koch  <konqueror@gmx.de>

	* java/net/URLStreamHandler.java (toExternalForm): Print port only
	if host is printed too and port was really given to URL.

2003-11-10  Gary Benson  <gbenson@redhat.com>

	* java/sql/Timestamp.java (valueOf): Correctly handle
	nanoseconds.

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

	* java/net/Inet4Address.java (serialVersionUID): Updated.

2003-11-08  Jeff Sturm  <jsturm@one-point.com>

	* gnu/gcj/runtime/FirstThread.java (Klocale, Kcalendar):
	New fields.

2003-11-08  Jeff Sturm  <jsturm@one-point.com>

	* java/io/ByteArrayOutputStream.java (resize):
	Fix off-by-one error.

2003-11-08  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* gnu/gcj/xlib/XAnyEvent.java (XAnyEvent): Make constructor
	public.

2003-11-06  Mohan Embar  <gnustuff@thisiscool.com>

	PR libgcj/12231
	* java/lang/Win32Process.java (hasExited) Changed from
	public to private.
	(startProcess): Likewise.
	(cleanup): Likewise.
	* java/lang/natWin32Process.cc (cleanup) Don't close
	input, output and error streams.
	(ChildProcessPipe): New helper class.
	(startProcess): Refactored to use ChildProcessPipe.
	Use CREATE_NO_WINDOW when launching child process.

2003-11-06  Mohan Embar  <gnustuff@thisiscool.com>

	* include/win32.h (_Jv_platform_close_on_exec): Changed
	signature and declared extern.
	* win32.cc (_Jv_platform_close_on_exec): Implemented.
	* gnu/java/net/natPlainDatagramSocketImplWin32.cc
	(create): Use new signature of _Jv_platform_close_on_exec.
	* gnu/java/net/natPlainSocketImplWin32.cc 
	(create): Eliminated a few typecasts
	Use new signature of _Jv_platform_close_on_exec.
	(accept): Eliminated a few typecasts
	Use new signature of _Jv_platform_close_on_exec.
	* java/io/natFileDescriptorWin32.cc (open): Use
	_Jv_platform_close_on_exec.

2003-11-04  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/natClass.cc (newInstance): Throw InstantiationException
	if class has no null-argument constructor.

2003-10-30  Mohan Embar  <gnustuff@thisiscool.com>

	PR libgcj/12647:
	* win32-threads.cc (_Jv_CondWait): Respect mutex's
	refcount when releasing and reacquiring it.

2003-10-30  Mohan Embar  <gnustuff@thisiscool.com>

	* win32.cc: (dirExists) Internal helper function to
	test for directory existence.
	(getUserHome) New helper function refactored out
	of _Jv_platform_initProperties. Uses USERPROFILE
	instead of HOMEDIR and attempts to support Win9X and NT.
	(_Jv_platform_initProperties) Use getUserHome.

2003-10-30  Mohan Embar  <gnustuff@thisiscool.com>

	PR libgcj/11521:
	* gnu/java/net/natPlainSocketImplWin32.cc
	(bind): Don't use SO_REUSEADDR

2003-10-30  Mohan Embar  <gnustuff@thisiscool.com>

	PR libgcj/6652:
	* java/io/natFileWin32.cc (getCanonicalPath): Treat "" like ".".

2003-10-30  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Don't use vtable
	dispatch for final methods.

2003-10-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create): Turn on
	word wrapping.

2003-10-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c (getSize): Return
	scrolled window's size request.

2003-10-29  Sascha Brawer  <brawer@dandelis.ch>

        * java/awt/geom/CubicCurve2D.java (contains): Docfix for URL of embedded drawing.
        * java/awt/geom/QuadCurve2D.java: Likewise.

2003-10-29  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/CubicCurve2D.java: Added documentation.
	* java/awt/geom/QuadCurve2D.java: Likewise.

	* java/awt/geom/doc-files/QuadCurve2D-4.png,
	java/awt/geom/doc-files/QuadCurve2D-5.png,
	java/awt/geom/doc-files/CubicCurve2D-4.png,
	java/awt/geom/doc-files/Cubicurve2D-5.png: New illustrations.

2003-10-29  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/CubicCurve2D.java (getFlatnessSq): Implement.
	(subdivide(CubicCurve2D, CubicCurve2D)): Avoid useless object allocation.
	(subdivide(double[],int,double[],int,double[],int)): Implement.

2003-10-29  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/doc-files/CubicCurve2D-1.png,
	java/awt/geom/doc-files/CubicCurve2D-2.png,
	java/awt/geom/doc-files/CubicCurve2D-3.png: New illustrations.

2003-10-29  Ito Kazumitsu <kaz@maczuka.gcd.org>

	* java/text/DecimalFormat.java
	(scanFormat) corrected so that '%' may appear in a pattern.

2003-10-29  Mark Wielaard  <mark@klomp.org>

	From Guilhem Lavaux  <guilhem.lavaux@free.fr>
	* java/text/DateFormat.java (Field): New public static inner class.
	* java/text/Format.java (Field): Likewise.
	(formatToCharacterIterator): New method.
	* java/text/FormatCharacterIterator.java: New file.

2003-10-29  Mark Wielaard  <mark@klomp.org>

	From Guilhem Lavaux  <guilhem.lavaux@free.fr>
	* java/util/Currency.java: New file.

2003-10-29  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files): Added
	java/text/FormatCharacterIterator.java and java/util/Currency.java.
	* Makefile.in: Regenerated.

2003-10-29  Dalibor Topic  <robilad@kaffe.org>

	* gnu/java/beans/IntrospectionIncubator.java (addMethod): Add public
	static methods.

2003-10-29  Julian Dolby  <dolby@us.ibm.com>

	* javax/naming/spi/NamingManager.java (getContinuationContext): Call
	getObjectInstance() with Object, Name, Context and environment
	Hashtable from exception. Call fillInStackTrace() on exception when
	rethrown.
	* javax/naming/InitialContext.java (lookup(Name)): When a
	CannotProceedException is thrown use the ContinuationContext.
	(lookup(String)): Likewise.
	(close): Clear myProps and defaultInitCtx.

2003-10-29  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(equals): Remove redundant obj == null check.
	* java/net/SocketPermission.java
	(equals): Likewise.
	* java/net/URL.java
	(equals): Likewise.
	(getURLStreamHandler): Likewise.

2003-10-29  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/natPlainDatagramSocketImplPosix.cc
	(setOption): Directly return if no error occured.
	* gnu/java/net/natPlainSocketImplPosix.cc
	(setOption): Likewise.

2003-10-28  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Always assign a
	vtable slot for final methods. Add FIXME comment.

2003-10-28  David S. Miller  <davem@redhat.com>

	* sysdep/sparc/locks.h (__cas_start_atomic): %g0 --> %%g0.

2003-10-26  Mark Wielaard  <mark@klomp.org>

	Reported by Helmer Kraemer <hkraemer@freenet.de>
	* java/util/jar/JarInputStream.java (readManifest): Don't call
	closeEntry().

	* java/util/zip/DeflaterOutputStream.java (inbufWrite): New method.
	(finish): Use inbufWrite().
	(write(int)): Likewise.
	(write(byte[],int,int)): Likewise.

2003-10-26  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/reflect/AccessibleObject.java (secureSetAccessible):
	Don't check for AccessibleObject. Update javadocs.
	
	* java/util/TreeMap.java: Doc fixes. HashMap -> TreeMap.

2003-10-26  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/reflect/Constructor.java (toString): Avoid extra 
	whitespace on constructor with no modifiers.
	* java/lang/reflect/natConstructor.java (newInstance): Look up
	caller and perform accessibility check only if constructor is
	non-public and accessible flag is not set.

2003-10-26  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* jni.cc (_Jv_JNI_CallAnyMethodV, _Jv_JNI_CallAnyMethodA,
	_Jv_JNI_CallAnyVoidMethodV, _Jv_JNI_CallAnyVoidMethodA): Don't
	use _Jv_LookupDeclaredMethod(). Call _Jv_CallAnyMethodA with 
	is_virtual_call argument.
	* include/jvm.h (_Jv_isVirtualMethod): Moved and renamed from 
	natClass.cc.
	* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Use 
	_Jv_isVirtualMethod.
	* java/lang/reflect/natMethod.cc (invoke): Don't use 
	_Jv_LookupDeclaredMethod.
	(_Jv_CallAnyMethodA): New is_virtual_call argument. If specified,
	look up method in target object's vtable.

2003-10-25  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/ClasspathToolkit.java: New abstract class.
	* gnu/java/awt/peer/ClasspathFontPeer.java: New abstract class.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
	New concrete implementation of ClasspathFontPeer, with native part.
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	New class, with native part.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	implement setFont, cairoSetFont, drawGlyphVector, cairoShowGlyphs.

2003-10-25  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/reflect/Method.java (toString): Avoid extra whitespace
	on method with no modifiers.

2003-10-25  Bryce McKinlay  <bryce@mckinlay.net.nz>

	PR libgcj/11780:
	* java/lang/reflect/natMethod.cc (invoke): Look up caller and perform
	accessibility check only if target is non-public and accessible flag
	is not set.
	* java/lang/reflect/natField.cc (getAddr): Likewise.

2003-10-24  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (handleEvent):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postWindowEvent):
	New method.
	* java/awt/Window.java (Window(Window,GraphicsConfiguration),
	show, hide, dispose, getOwnedWindows): Synchronize on tree lock.
	(dispose): Post WINDOW_CLOSED event.
	(addWindowFocusListener, addWindowStateListener): Assign result
	of multicaster add back to window listener.
	(removeWindowFocusListener, removeWindowStateListener): Assign
	result of multicaster remove back to window listener.
	(dispatchEventImpl): Add null checks for focus and state
	listeners.
	(processWindowEvent): Handle case where windowListener is null
	but state or focus listeners exist.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
	glue for postWindowEvent.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_delete_cb, window_destroy_cb, window_show_cb,
	window_focus_in_cb, window_focus_out_cb, window_window_state_cb,
	window_get_new_state): New functions.
	* jni/gtk-peer/gtkpeer.h: Define window event and frame state
	macros.  Declare postWindowEventID.

2003-10-24  Anthony Green  <green@redhat.com>

	* java/lang/natClass.cc (_Jv_LinkSymbolTable): Fix case where
	we have no interpreter.

2003-10-22  Andrew Haley  <aph@redhat.com>

	* java/lang/natClass.cc (initializeClass): Call
	_Jv_linkExceptionClassTable.
	(_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError.  Call
	_Jv_Defer_Resolution on a method whose ncode is NULL.
	(_Jv_linkExceptionClassTable): New function.
	(_Jv_LayoutVTableMethods): If superclass looks like a constant pool
	entry, look it up.
	* java/lang/Class.h (struct _Jv_CatchClass): New.
	(_Jv_linkExceptionClassTable): New friend.
	(_Jv_Defer_Resolution): New friend.
	(class Class.catch_classes): New field.
	* include/java-interp.h (Jv_Defer_Resolution): New method.
	(_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
	(_Jv_MethodBase.deferred): New field.
	(_Jv_Defer_Resolution): New function.
	* resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
	* exception.cc (get_ttype_entry): Change return type to void**.
	(PERSONALITY_FUNCTION): Remove all code related to using a
	Utf8Const* for a match type.  Change match type to be a pointer to
	a pointer, rather than a pointer to a Class.
	* defineclass.cc (handleCodeAttribute): Initialize
	method->deferred.
	(handleMethodsEnd): Likewise.

2003-10-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): Use
	_Jv_MutexCheckMonitor instead of accessing mutex.owner directly.

2003-10-22  Tom Tromey  <tromey@redhat.com>

	PR libgcj/12416:
	* java/lang/Class.h: Updated.
	* java/lang/natClass.cc (_getFields): Removed.
	(getFields): Likewise.
	(getDeclaredFields): Added `public_only' parameter.
	* java/lang/Class.java (getFields): Now implemented in java; from
	Classpath.
	(getDeclaredFields): Likewise.
	(getDeclaredFields(boolean)): Declare.
	(_getFields): Removed.
	(internalGetFields): New method, from Classpath.

	PR libgcj/12656:
	* gnu/gcj/runtime/natFirstThread.cc (call_main): Use
	_Jv_LookupDeclaredMethod, not _Jv_GetMethodLocal.

2003-10-22  David Daney  <ddaney@avtrex.com)

	* include/mips-signal.h: New file.
	* sysdep/dwarf2-backtrace.cc: New file.
	* sysdep/mips: New directory.
	* sysdep/mips/locks.h: New file.
	* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
	added to libgcj.
	(extra_cc_source_files): Ditto.
	* configure.host(disable_dladdr):  New shell variable passed to
	configure.
	(mips*-*-linux*): sysdeps_dir=mips,
	can_unwind_signal=yes, disable_dladdr=yes, use -mxgot.
	(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
	* configure.in:(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to
	generate backtrace, and include/mips-signal.h as SIGNAL_HANDLER
	(HAVE_DLADDR): Make it depend on setting of disable_dladdr.
	(EXTRA_CC_FILES): New, to support conditional addition of
	sysdep/dwarf2-backtrace.cc.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/config.h.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	
2003-10-22  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/QuadCurve2D.java (subdivide): Added documentation.
	java/awt/geom/doc-files/QuadCurve2D-3.png: New illustration.

2003-10-22  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/QuadCurve2D.java: Reformatted, wrote Javadoc.
	* java/awt/geom/doc-files: New directory.
	* java/awt/geom/doc-files/QuadCurve2D-1.png,
	java/awt/geom/doc-files/QuadCurve2D-2.png: New illustrations.
	
2003-10-22  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/QuadCurve2D.java (subdivide): Implement.

2003-10-22  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/QuadCurve2D.java (getFlatness, getFlatnessSq): Implement.

2003-10-22  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(equals): Removed redundant obj == null check.
	(createTempFile): Merged comments from classpath.

2003-10-21  Sascha Brawer  <brawer@dandelis.ch>

	Fix for bug #2944, reported by David Holmes <dholmes@dltech.com.au>
        * java/util/logging/ErrorManager.java (everUsed): Made volatile.
        (error): Synchronize on instance, not class.

2003-10-21  Mark Wielaard  <mark@klomp.org>

	Reported by M.Negovanovic
	* java/beans/Introspector.java (getBeanInfo(ClassLoader, String)): New
	method.
	(reallyFindExplicitBeanInfo): Use new getBeanInfo() method.

2003-10-21  Sascha Brawer  <brawer@dandelis.ch>

	Fix for Classpath bug #6076.
	* java/awt/geom/GeneralPath.java (append): Re-written.

2003-10-21  Sascha Brawer  <brawer@dandelis.ch>

	Fix for Classpath bug #6089.
	* java/awt/geom/GeneralPath.java (curveTo): Set correct segment type.
	(getPathIterator, GeneralPathIterator): Re-written from scratch.

2003-10-21  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/geom/GeneralPath.java (getCurrentPoint): Return last
	point, not start of subpath.  Fixes Classpath bug #6075.

2003-10-21  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteOrder.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/channels/FileChannelImpl.java:
	Add code to load library with code for native methods if needed.

2003-10-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/PlainSocketImpl.java,
	gnu/java/net/natPlainDatagramSocketImplPosix.cc,
	gnu/java/net/natPlainDatagramSocketImplWin32.cc,
	gnu/java/net/natPlainSocketImplPosix.cc,
	gnu/java/net/natPlainSocketImplWin32.cc:
	Renamed fnum to native_fd to match classpath more.

2003-10-21  Jerry Quinn  <jlquinn@optonline.net>

        * posix-threads.cc (_Jv_CondNotify,_Jv_CondNotifyAll): Rename
        _Jv_PthreadCheckMonitor to _Jv_MutexCheckMonitor.
	* include/no-threads.h (_Jv_MutexCheckMonitor): New.
	* include/posix-threads.h (_Jv_MutexCheckMonitor): Rename from
        _Jv_PthreadCheckMonitor.  Simplify code.
	(_Jv_MutexUnlock): Use _Jv_MutexCheckMonitor.
	* include/win32-threads.h (_Jv_MutexCheckMonitor): New.
	* java/lang/Object.h (_Jv_ObjectCheckMonitor): Declare.
	* java/lang/Thread.java (holdsLock): New.
	* java/lang/natObject.cc (_Jv_ObjectCheckMonitor): New, with and
        without JV_HASH_SYNCHRONIZATION.
	* java/lang/natThread.cc (java::lang::Thread::holdsLock): New.

2003-10-20  Michael Koch  <konqueror@gmx.de>

	* java/text/RuleBasedCollator.java
	(RuleBasedCollator): Check rules not empty, fixed search in already
	existing collation elements.
	(is_special): Removed common whitespace characters.
	(text_argument): Dont return on whitespaces, add characters between
	two ' to string buffer.

2003-10-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java,
	gnu/java/net/protocol/file/Handler.java,
	gnu/java/net/protocol/http/Connection.java,
	gnu/java/net/protocol/http/Handler.java,
	gnu/java/net/protocol/jar/Connection.java,
	gnu/java/net/protocol/jar/Handler.java:
	Merged copyright text from classpath to make
	it possible to merge the classes.

2003-10-18  Mark Wielaard  <mark@klomp.org>

	Reported by M.Negovanovic
	* java/beans/IndexedPropertyDescriptor.java
	(IndexedPropertyDescriptor): this.setIndex = setIndex, not getIndex.

2003-10-17  Mohan Embar  <gnustuff@thisiscool.com>

	* win32.cc (_Jv_pipe): Implemented.
	* gnu/java/nio/natPipeImpl.cc (nativeInit): Use
	_Jv_pipe instead of ::pipe.
	* include/posix.h (_Jv_pipe): New inline.
	* include/win32.h (_Jv_pipe): New declaration.
	
2003-10-17  Ralph Loader  <rcl@ihug.co.nz>

	* java/lang/StringBuffer.java (getChars): Fix array index checks.
	(append, substring, insert): Likewise.
	* testsuite/libjava.lang/StringBuffer_overflow.java: New file.
	* testsuite/libjava.lang/StringBuffer_overflow.out: New file.
	
2003-10-17  Ralph Loader  <rcl@ihug.co.nz>

	* java/lang/natString.cc (getChars):
	Fix validation of array indexes.
	(getBytes, regionMatches, startsWith, valueOf): Likewise.
	* testsuite/libjava.lang/String_overflow.java: New file.
	* testsuite/libjava.lang/String_overflow.out: New file.

2003-10-17  Ralph Loader  <rcl@ihug.co.nz>

	* prims.cc (_Jv_NewObjectArray): Make sure byte size doesn't
	overflow a jint.
	(_Jv_NewPrimArray): Check for overflowing a jint, replacing a
	check for overflowing size_t, since the lower level functions
	take a jint.
	* testsuite/libjava.lang/newarray_overflow.java:  New file.
	* testsuite/libjava.lang/newarray_overflow.out:  New file.
	
2003-10-15  Michael Koch  <konqueror@gmx.de>

	* java/text/RuleBasedCollator.java
	(RuleBasedCollator): Moved around, documentation added.
	(compare): Documentation added.
	(equals): Likewise.
	(getCollationElementIterator): Likewise.
	(getCollationKey): Likewise.
	(getRules): Likewise.
	(hashCode): Likewise.

2003-10-15  Michael Koch  <konqueror@gmx.de>

	* java/text/RuleBasedCollator.java
	(CollationElement): Renamed from RBCElement and moved into
	RuledBasedCollator as inner class.

2003-10-15  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java
	(CollationElementIterator): Moved, documenatation added, call setText.
	(next): Reformated.
	(reset): Reformated.
	(setText): New method.
	(getOffset): New method.
	* java/text/CollationKey.java
	(getSourceString): Reformated.
	(hashCode): Reformated.
	(toByteArray): Reformated.

2003-10-15  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/InflaterInputStream.java
	(InflaterInputStream): Renamed infl to inf and bufsize to size,
	added description to exception, check for inf == null and size < 0.

2003-10-15  Michael Koch  <konqueror@gmx.de>

	* java/text/AttributedCharacterIterator.java,
	java/text/CharacterIterator.java: Reformated.

2003-10-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/UIDefaults.java (putDefaults):
	Readded accidently removed "public" modifier.

2003-10-14  Paolo Bonzini  <bonzini@gnu.org>

	* interpret.cc (_Jv_InterpMethod::run): Don't
	use libffi types, they were meant to be internal.
	* gcj/javaprims.h (_Jv_ulong): New typedef.

2003-10-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_InitNewClassFields): Removed.
	(defineClass): Updated.
	(_Jv_NewClass): Likewise.
	* prims.cc (_Jv_InitPrimClass): Don't call
	_Jv_InitNewClassFields.

2003-10-13  Taras Glek  <taras.judge@shaw.ca>

	PR libgcj/12592
	* gnu/java/net/protocol/http/Connection.java (connect): Use \r\n,
	not just \n.

2003-10-13  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java: Reformated.
	(equals): Check for obj == null.

2003-10-13  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(jarFileURL): Added dcoumentation.
	(jarFileURLConnection): Reformated documentation.
	(entryName): Renamed from "element", documentation rewritten.
	(connectionCache): Renamed from "conn_cache", documentation
	reformated.
	(JarURLConnection): Check URL protocol.
	(getEntryName): Use entryName.
	(connect): Use connectionCache.
	(getInputStream): Use entryName, fixed comment.
	(getJarEntry): Use entryName.
	(getHeaders): Use entryName.
	* java/net/URLConnection.java
	(addRequestProperty): Fixed documentation.
	(setDefaultRequestProptery): Added comment that it does nothing since
	JDK 1.3.
	(getDefaultRequestProperty): Likewise.

2003-10-13  Michael Koch  <konqueror@gmx.de>

	* java/net/java/net/URLStreamHandlerFactory.java
	(createURLStreamHandler): Removed redundant "public" modifier.
	* java/sql/DatabaseMetaData.java:
	(DatabaseMetaData):  Readded accidently removed "public" modifier.
	* java/sql/ParameterMetaData.java:
	(ParameterMetaData): Readded accidently removed "public" modifier.
	* java/sql/PreparedStatement.java:
	(PreparedStatement): Readded accidently removed "public" modifier.
	* java/sql/Ref.java:
	(Ref): Readded accidently removed "public" modifier.

2003-10-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java
	(hasRemaining): Made implementation more clear.
	* java/nio/MappedByteBuffer.java
	(loaded): New member variable.
	(force): Added comment.
	(isLoaded): Return value of loaded.
	(load): Set loaded to true, added comment.

2003-10-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/PipeImpl.java
	(SourceChannelImpl): New inner class.
	(SinkChannelImpl): New inner class.
	(sink): New member variable.
	(source): New member variable.
	(PipeImpl): Add SelectorProvider argument, implemented.
	(nativeInit): New method.
	(sink): Return sink channel.
	(source): Return source channel.
	* gnu/java/nio/SelectorProviderImpl.java
	(openPipe): Give provider as argument to PipeImpl constructor.
	* java/nio/channels/spi/SelectorProvider.java
	(pr): Removed.
	(systemDefaultProvider): New member variable.
	(provider): Made it synchronized, use property
	java.nio.channels.spi.SelectorProvider.
	* gnu/java/nio/natPipeImpl.cc: New file.
	* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
	* Makefile.in: Regenerated.

2003-10-12  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableCellEditor.java,
	javax/swing/table/TableCellRenderer.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/table/TableModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/Document.java,
	javax/swing/text/MutableAttributeSet.java,
	javax/swing/text/StyledDocument.java,
	javax/swing/text/ViewFactory.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/MutableTreeNode.java,
	javax/swing/tree/RowMapper.java,
	javax/swing/tree/TreeCellEditor.java,
	javax/swing/tree/TreeCellRenderer.java,
	javax/swing/tree/TreeModel.java,
	javax/swing/tree/TreeNode.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/UndoableEdit.java:
	Removed redundant modifiers.

2003-10-12  Michael Koch  <konqueror@gmx.de>

	* javax/swing/event/AncestorListener.java,
	javax/swing/event/CaretListener.java,
	javax/swing/event/CellEditorListener.java,
	javax/swing/event/ChangeListener.java,
	javax/swing/event/DocumentEvent.java,
	javax/swing/event/DocumentListener.java,
	javax/swing/event/HyperlinkListener.java,
	javax/swing/event/InternalFrameListener.java,
	javax/swing/event/ListDataListener.java,
	javax/swing/event/ListSelectionListener.java,
	javax/swing/event/MenuDragMouseListener.java,
	javax/swing/event/MenuKeyListener.java,
	javax/swing/event/MenuListener.java,
	javax/swing/event/MouseInputListener.java,
	javax/swing/event/PopupMenuListener.java,
	javax/swing/event/TableColumnModelListener.java,
	javax/swing/event/TableModelListener.java,
	javax/swing/event/TreeExpansionListener.java,
	javax/swing/event/TreeModelListener.java,
	javax/swing/event/TreeSelectionListener.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditListener.java,
	javax/swing/plaf/UIResource.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java:
	Removed redundant modifiers.

2003-10-12  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Action.java,
	javax/swing/BoundedRangeModel.java,
	javax/swing/CellEditor.java,
	javax/swing/ComboBoxEditor.java,
	javax/swing/ComboBoxModel.java,
	javax/swing/DesktopManager.java,
	javax/swing/JComboBox.java,
	javax/swing/ListCellRenderer.java,
	javax/swing/ListSelectionModel.java,
	javax/swing/MenuElement.java,
	javax/swing/MutableComboBoxModel.java,
	javax/swing/Renderer.java,
	javax/swing/RootPaneContainer.java,
	javax/swing/ScrollPaneConstants.java,
	javax/swing/SingleSelectionModel.java,
	javax/swing/SpinnerModel.java,
	javax/swing/SwingConstants.java,
	javax/swing/UIDefaults.java,
	javax/swing/WindowConstants.java,
	javax/swing/border/Border.java,
	javax/swing/colorchooser/ColorSelectionModel.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* javax/transaction/Status.java,
	javax/transaction/Synchronization.java,
	javax/transaction/Transaction.java,
	javax/transaction/TransactionManager.java,
	javax/transaction/UserTransaction.java,
	javax/transaction/xa/XAResource.java,
	javax/transaction/xa/Xid.java:
	Removing redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	Removing redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* javax/sql/ConnectionEventListener.java,
	javax/sql/ConnectionPoolDataSource.java,
	javax/sql/DataSource.java,
	javax/sql/PooledConnection.java,
	javax/sql/RowSet.java,
	javax/sql/RowSetInternal.java,
	javax/sql/RowSetListener.java,
	javax/sql/RowSetMetaData.java,
	javax/sql/RowSetReader.java,
	javax/sql/RowSetWriter.java,
	javax/sql/XAConnection.java,
	javax/sql/XADataSource.java:
	Removing redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* javax/naming/Context.java,
	javax/naming/Name.java,
	javax/naming/NameParser.java,
	javax/naming/NamingEnumeration.java,
	javax/naming/Referenceable.java,
	javax/naming/directory/Attribute.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/DirContext.java,
	javax/naming/event/EventContext.java,
	javax/naming/event/EventDirContext.java,
	javax/naming/event/NamespaceChangeListener.java,
	javax/naming/event/NamingListener.java,
	javax/naming/event/ObjectChangeListener.java,
	javax/naming/ldap/Control.java,
	javax/naming/ldap/ExtendedRequest.java,
	javax/naming/ldap/ExtendedResponse.java,
	javax/naming/ldap/HasControls.java,
	javax/naming/ldap/LdapContext.java,
	javax/naming/ldap/UnsolicitedNotification.java,
	javax/naming/ldap/UnsolicitedNotificationListener.java,
	javax/naming/spi/DirObjectFactory.java,
	javax/naming/spi/DirStateFactory.java,
	javax/naming/spi/InitialContextFactory.java,
	javax/naming/spi/InitialContextFactoryBuilder.java,
	javax/naming/spi/ObjectFactory.java,
	javax/naming/spi/ObjectFactoryBuilder.java,
	javax/naming/spi/Resolver.java,
	javax/naming/spi/StateFactory.java:
	Removing redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/security/Key.java,
	* java/security/PrivateKey.java,
	* java/security/PublicKey.java,
	* java/security/acl/Acl.java,
	* java/security/acl/AclEntry.java,
	* java/security/acl/Group.java,
	* java/security/acl/Owner.java,
	* java/security/acl/Permission.java,
	* java/security/cert/X509Extension.java,
	* java/security/interfaces/DSAKey.java,
	* java/security/interfaces/DSAKeyPairGenerator.java,
	* java/security/interfaces/DSAParams.java,
	* java/security/interfaces/DSAPrivateKey.java,
	* java/security/interfaces/DSAPublicKey.java,
	* java/security/interfaces/RSAKey.java,
	* java/security/interfaces/RSAPrivateCrtKey.java,
	* java/security/interfaces/RSAPrivateKey.java,
	* java/security/interfaces/RSAPublicKey.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/security/der/DER.java:
	Removing redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/util/Map.java,
	java/util/Observer.java,
	java/util/zip/Checksum.java,
	java/util/zip/ZipConstants.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/text/AttributedCharacterIterator.java,
	java/text/CharacterIterator.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/sql/Array.java,
	java/sql/Blob.java,
	java/sql/CallableStatement.java,
	java/sql/Clob.java,
	java/sql/Connection.java,
	java/sql/DatabaseMetaData.java,
	java/sql/Driver.java,
	java/sql/ParameterMetaData.java,
	java/sql/PreparedStatement.java,
	java/sql/Ref.java,
	java/sql/ResultSet.java,
	java/sql/ResultSetMetaData.java,
	java/sql/SQLData.java,
	java/sql/SQLInput.java,
	java/sql/SQLOutput.java,
	java/sql/Savepoint.java,
	java/sql/Statement.java,
	java/sql/Struct.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/Channel.java,
	java/nio/channels/GatheringByteChannel.java,
	java/nio/channels/ReadableByteChannel.java,
	java/nio/channels/ScatteringByteChannel.java,
	java/nio/channels/WritableByteChannel.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/rmi/activation/ActivationInstantiator.java,
	java/rmi/activation/ActivationMonitor.java,
	java/rmi/activation/ActivationSystem.java,
	java/rmi/activation/Activator.java,
	java/rmi/dgc/DGC.java,
	java/rmi/registry/Registry.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/LoaderHandler.java,
	java/rmi/server/RMIClientSocketFactory.java,
	java/rmi/server/RMIFailureHandler.java,
	java/rmi/server/RMIServerSocketFactory.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteRef.java,
	java/rmi/server/ServerRef.java,
	java/rmi/server/Skeleton.java,
	java/rmi/server/Unreferenced.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/net/ContentHandlerFactory.java,
	java/net/DatagramSocketImplFactory.java,
	java/net/FileNameMap.java,
	java/net/SocketImplFactory.java,
	java/net/SocketOptions.java,
	java/net/URLStreamHandlerFactory.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/io/Externalizable.java,
	java/io/FileFilter.java,
	java/io/FilePermission.java,
	java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java,
	java/io/ObjectOutput.java,
	java/io/ObjectStreamClass.java,
	java/io/ObjectStreamConstants.java,
	java/io/Serializable.java:
	Removed redundant modifiers.

2003-10-11  Ingo Proetel  <proetel@aicas.com>

	* java/rmi/server/RMIClassLoader.java: Identify cached classloaders by 
	codebase and context classloader.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContext.java,
	java/beans/beancontext/BeanContextChild.java,
	java/beans/beancontext/BeanContextChildComponentProxy.java,
	java/beans/beancontext/BeanContextChildSupport.java,
	java/beans/beancontext/BeanContextContainerProxy.java,
	java/beans/beancontext/BeanContextMembershipListener.java,
	java/beans/beancontext/BeanContextProxy.java,
	java/beans/beancontext/BeanContextServiceProvider.java,
	java/beans/beancontext/BeanContextServiceProviderBeanInfo.java,
	java/beans/beancontext/BeanContextServiceRevokedListener.java,
	java/beans/beancontext/BeanContextServices.java,
	java/beans/beancontext/BeanContextServicesListener.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/beans/AppletInitializer.java,
	java/beans/BeanInfo.java,
	java/beans/Customizer.java,
	java/beans/DesignMode.java,
	java/beans/PropertyEditor.java,
	java/beans/Visibility.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/Pageable.java,
	* java/awt/print/Printable.java,
	java/awt/print/PrinterGraphics.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/peer/ButtonPeer.java,
	java/awt/peer/CheckboxMenuItemPeer.java,
	java/awt/peer/CheckboxPeer.java,
	java/awt/peer/ChoicePeer.java,
	java/awt/peer/ComponentPeer.java,
	java/awt/peer/ContainerPeer.java,
	java/awt/peer/DialogPeer.java,
	java/awt/peer/FileDialogPeer.java,
	java/awt/peer/FramePeer.java,
	java/awt/peer/LabelPeer.java,
	java/awt/peer/ListPeer.java,
	java/awt/peer/MenuBarPeer.java,
	java/awt/peer/MenuComponentPeer.java,
	java/awt/peer/MenuItemPeer.java,
	java/awt/peer/MenuPeer.java,
	java/awt/peer/PopupMenuPeer.java,
	java/awt/peer/RobotPeer.java,
	java/awt/peer/ScrollPanePeer.java,
	java/awt/peer/ScrollbarPeer.java,
	java/awt/peer/TextAreaPeer.java,
	java/awt/peer/TextComponentPeer.java,
	java/awt/peer/TextFieldPeer.java,
	java/awt/peer/WindowPeer.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/NIOSocket.java (setChannel): Initialize impl.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(serverSocket): Made it a NIOServerSocket.
	(impl): Removed.
	(ServerSocketChannelImpl): Initialize only serverSocket.
	(initServerSocket): Removed.
	(getNativeFD): Rewritten.
	(implConfigureBlocking): Set socket timeout and removed comment.
	(accept): Rewritten.
	* gnu/java/nio/SocketChannelImpl.java
	(impl): New variable.
	(connected): Removed.
	(SocketChannelImpl): Initialize impl too.
	(getImpl): New method.
	(isConnected): Rewritten.
	(read): Rewritten, set position in buffer correctly.
	(write): Set position in buffer correctly.
	* java/net/ServerSocket.java (getImpl): New method.
	* gnu/java/nio/NIOServerSocket.java,
	gnu/java/nio/natNIOServerSocket.cc: New files.
	* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/NIOServerSocket.java.
	(nat_source_files):
	Removed gnu/java/nio/natServerSocketChannelImpl.cc
	and added gnu/java/nio/natNIOServerSocket.cc.
	* Makefile.in: Regenerated.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/ActiveEvent.java,
	java/awt/datatransfer/ClipboardOwner.java,
	java/awt/datatransfer/FlavorMap.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/dnd/Autoscroll.java,
	java/awt/dnd/peer/DragSourceContextPeer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/dnd/peer/DropTargetPeer.java,
	java/awt/font/MultipleMaster.java,
	java/awt/font/OpenType.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/ImageObserver.java,
	java/awt/image/ImageConsumer.java,
	java/awt/image/ImageProducer.java,
	java/awt/image/RGBImageFilter.java,
	java/awt/image/RasterOp.java,
	java/awt/image/renderable/RenderableImage.java:
	Removed redundant modifiers.

2003-10-11  Michael Koch  <konqueror@gmx.de>

	* gnu/awt/j2d/DirectRasterGraphics.java,
	gnu/java/awt/EmbeddedWindowSupport.java:
	Removed redundant modifiers.

2003-10-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java (register):
	Use ServerSocketChannelSelectionKey for server socket channels,
	removed unneeded comments.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Made class public final.
	(impl): New member variable.
	(ServerSocketChannelImpl): Initialize member variables correctly.
	(initServerSocket): New method.
	(getNativeFD): Likewise.
	* gnu/java/nio/ServerSocketChannelSelectionKey.java,
	gnu/java/nio/natServerSocketChannelImpl.cc: New files.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/ServerSocketChannelSelectionKey.java.
	(nat_source_files): Added gnu/java/nio/natServerSocketChannelImpl.cc.
	* Makefile.in: Regenrated.

2003-10-09  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractSelectableChannel.java
	(registered): Made private.
	(blocking): Likewise.
	(LOCK): Likewise.
	(provider): Likewise.
	(keys): Made it a private LinkedList.
	(AbstractSelectableChannel): Initialize keys.
	(isRegistered): New implementation.
	(locate): Rewritten.
	(register): Rewritten.
	* java/nio/channels/spi/AbstractSelectionKey.java
	(ok): Removed.
	(cancelled): New member variable.
	(cancel): Rewritten.
	(isValid): Rewritten.
	* java/nio/channels/spi/AbstractSelector.java:
	Some methods moved.
	(closed): Make private.
	(provider): Likewise.
	(cancelledKeys): New member variable.
	(AbstractSelector): Initialize cancelledKeys.
	(cancelKey): New method.

2003-10-09  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (setSigners): Implemented.
	* boehm.cc (_Jv_MarkObj): Mark `signers' field.
	* java/lang/natClassLoader.cc (_Jv_InitNewClassFields):
	Initialize new fields.
	* java/lang/Class.java (getSigners): Now native.
	(setSigners): Declare.
	* java/lang/natClass.cc (getSigners): New method.
	(getSigners): Likewise.
	* java/lang/Class.h (Class::signers): New field.
	(Class::setSigners): New method.

2003-10-09  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/RMIClassLoader.java:
	Removed unused imports, little reformatings.
	(getClassLoader): New method, implementation was part of old loadCLass
	method.
	(loadClass): Simplified by moving functionality to new method and
	reworking the code a bit.
	(getClassAnnotation): Merged documentation from classpath.

2003-10-09  Michael Koch  <konqueror@gmx.de>

	* java/math/BigInteger.java
	(add): Removed unused local variable len.

2003-10-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java (handleEvent): Remove
	modality check.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
	Initialize insets to use latest insets.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (latestInsets): New
	field.
	(postConfigureEvent): Update latestInsets field when insets
	change.  Remove call to setSize.  Move validate call outside of
	if blocks.
	(setVisible): Call setBounds before showing window.
	(nativeSetVisible): New native method.
	* java/awt/Window.java (show): Show visible owned windows.
	(hide): Hide visible owned windows.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Implement modality using GTK grabs.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(global_gtk_window_group): New global variable.
	(gtkInit): Initialize global_gtk_window_group.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Clamp width and height values to at least 1.  Add this window to
	the global GTK window group.
	(setVisible): Rename to nativeSetVisible.
	(setup_window): Remove function.
	(setSize): Clamp width and height values to at least 1.
	(nativeSetBounds): Likewise.
	(gdk_window_get_root_geometry): Remove function.
	* jni/gtk-peer/gtkpeer.h: Remove gdk_window_get_root_geometry
	and setup_window declarations.  Declare global_gtk_window_group.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetFont): Handle BOLD and ITALIC style specifiers.
	(gtkWidgetSetForeground): New method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetBackground, gtkWidgetSetForeground): New methods.
	(setBackground, setForeground): Implement.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkSetFont): Handle BOLD and ITALIC style specifiers.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Position PangoLayout relative to text's baseline.
	* jni/gtk-peer/gtkpeer.h: Define AWT font style constants.

	* java/awt/FlowLayout.java (layoutContainer): Fix offset problem
	for CENTER and RIGHT alignments.

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* java/security/Security.java: Reformated.

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* java/text/SimpleDateFormat.java
	(compileFormat): Replace Character.isLetter() test with
	Character.isLowerCase() || Character.isUpperCase().

2003-10-08  Tom Tromey  <tromey@redhat.com>

	* java/lang/StrictMath.java (toDegrees): Multiply before
	dividing.
	(toRadians): Likewise.

2003-10-08  C. Brian Jones  <cbj@gnu.org>

	* java/lang/Math.java
	(toRadians): multiply before dividing to reduce decimal error
	(toDegrees): ditto

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* gnu/gcj/protocol/core/Connection.java,
	gnu/gcj/protocol/core/CoreInputStream.java,
	gnu/gcj/protocol/core/Handler.java,
	gnu/gcj/protocol/core/natCoreInputStream.cc,
	gnu/gcj/protocol/file/Connection.java,
	gnu/gcj/protocol/file/Handler.java,
	gnu/gcj/protocol/gcjlib/Connection.java,
	gnu/gcj/protocol/gcjlib/Handler.java,
	gnu/gcj/protocol/http/Connection.java,
	gnu/gcj/protocol/http/Handler.java,
	gnu/gcj/protocol/jar/Connection.java,
	gnu/gcj/protocol/jar/Handler.java: Moved to gnu/java/net/protocol.
	* gnu/java/net/protocol/core/Connection.java,
	gnu/java/net/protocol/core/CoreInputStream.java,
	gnu/java/net/protocol/core/Handler.java,
	gnu/java/net/protocol/core/natCoreInputStream.cc,
	gnu/java/net/protocol/file/Connection.java,
	gnu/java/net/protocol/file/Handler.java,
	gnu/java/net/protocol/gcjlib/Connection.java,
	gnu/java/net/protocol/gcjlib/Handler.java,
	gnu/java/net/protocol/http/Connection.java,
	gnu/java/net/protocol/http/Handler.java,
	gnu/java/net/protocol/jar/Connection.java,
	gnu/java/net/protocol/jar/Handler.java: Moved from gnu/gcj/protocol.
	* gnu/gcj/runtime/FirstThread.java,
	java/net/URL.java: Use moved protocol handlers.
	* Makefile.am
	(ordinary_java_source_files): Moved files.
	(nat_source_files): Likewise.
	* Makefile.in: Regenerated.

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SocketChannelImpl.java
	(read): Write only read data to buffer.

2003-10-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (setEnabled): Stub
	out.
	* jni/classpath/jcl.c [!__GNUC__]: Elide __attribute__.
	(JCL_free): Attach "unused" attribute to env parameter.
	* 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_GtkImagePainter.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c: Attach "unused" attribute to unused
	parameters.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c:
	(initNativeState): Pass 0 as info argument to
	gtk_selection_add_target.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	(setVisible, gtkFixedNew, gtkFixedPut, gtkFixedMove): Remove
	unused method implementations.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Add break statement after default label.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c
	(drawPixels): Remove unused variable i.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(setEnabled): Remove method implementation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(accel_attach): Call _gtk_accel_group_attach with G_OBJECT
	argument.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c (sr): Remove
	unused function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(menu_pos): Assign TRUE to push_in.
	(setupAccelGroup): Call _gtk_accel_group_attach with G_OBJECT
	argument.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(create): Remove unused variable layout.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Pass window_widget, rather than window, to
	gtk_widget_set_size_request.
	* jni/gtk-peer/gthread-jni.c (g_thread_jni_functions): Fill out
	structure initialization with NULL values.
	* jni/gtk-peer/gtkpeer.h [!__GNUC__]: Elide __attribute__.

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* java/util/LinkedList.java:
	Removed whitespace to match classpath's version again.

2003-10-08  Michael Koch  <konqueror@gmx.de>

	* java/util/prefs/Preferences.java
	(defaultFactoryClass): Fixed class name.
	(getFactory): Create instance of class returned by Class.forName(),
	reformated code.

2003-10-08  Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>

	* javax/swing/table/AbstractTableModel.java
	(getColumnName): Simplified code much. Thanks to Yannick Boogaerts who
	helped stop pulling my hair on this +1 then -1 tricky thing!

2003-10-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (gtkTextGetSize):
	Remove unused parameters.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkEntryGetSize):
	Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(keyevent_state_to_awt_mods): Export function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(getCaretPosition): Fix TextArea case.
	(textcomponent_commit_cb): Get exact event time and modifier
	state.
	* jni/gtk-peer/gtkpeer.h: Declare keyevent_state_to_awt_mods.

2003-10-02  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/net/InetSocketAddress.java
	(InetSocketAddress): Made exception more clear.
	(equals): Handle case when addr is null.
	(toString): Likewise.
	* java/net/NetworkInterface.java
	(static): Load native library.
	(getNetworkInterfaces): Rewritten.

2003-10-02  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (insets): New
	field.
	(initializeInsets): New method.
	(GtkComponentPeer): Call initializeInsets.  Call setCursor and
	setBounds unconditionally.
	(setBounds): Convert coordinates if parent is a Window.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (insets): Move
	field to GtkComponentPeer.
	(GtkContainerPeer): Don't initialize insets.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
	New method.
	(create): Call new GtkWindowPeer create method.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets):
	New method.
	(create): Call new GtkWindowPeer create method.
	(setBounds): Remove method.
	(postConfigureEvent): Likewise.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Replace GTK window
	type constants with GDK window type constants.
	(create(int,boolean,int,int,GtkWindowPeer)): New method.
	(create(int,boolean)): Likewise.
	(create()): Call create(int,boolean).
	(nativeSetBounds): New native method declaration.
	(setBounds): Call native method declaration.
	(setSize): New native method declaration.
	(setBoundsCallback): Likewise.
	(postConfigureEvent): Handle change in insets.  Call setSize and
	setBoundsCallback methods.
	* java/awt/Window.java (Window): Set visible to false.
	(setBoundsCallback): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetGetLocationOnScreen): If this component is not a
	container, adjust the location returned based on the peer's
	allocation.
	(set(String,boolean)): Revert change from 2003-09-19.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Fix inset calculation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
	glue for Window.setBoundsCallback.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Set up stacking order, window decorations and window manager
	hints.
	(setBoundsCallback): New method.
	(setSize): New method.
	(nativeSetBounds): New method.
	* jni/gtk-peer/gtkpeer.h: Declare setBoundsCallbackID.

2003-10-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/VMClassLoader.java (loadClass): Now native.
	* java/lang/natClassLoader.cc (loadClass): Implement.
	* prims.cc (_Jv_RunMain): Initialize ClassLoader.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(zeros): Removed.
	(ANY_IF): Initalizie in static block.
	(static): Load library with native methods here and initialize ANY_IF.
	(isAnyLocalAddress): Check if equal to ANY_IF.
	(equals): Use addr directly instead of addr1. Simplify for loop.
	(toString): Rename "result" to "host" and add IP address allways.
	(getLocalHost): Merged documentation from classpath.
	* java/net/ServerSocket.java
	(ServerSocket): New package-private constructor used by java.nio.
	* java/net/URLConnection.java
	(getRequestProperties): Check if already connected.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferHelper.java:
	Rewrote all methods by suggestions from Eric Blake.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(DEFAULT_SEARCH_PATH): New static variable.
	(ph_cache): Made it a HashMap.
	(getURLStreamHandler): Rename propVal to ph_search_path and use
	DEFAULT_SEARCH_PATH.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/AbstractTableModel.java
	(findColumnName): Prevent from NullPointerException if argument
	columnName is null.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/AbstractTableModel.java:
	This patch is based on a patch done by Arnaud Vandyck
	<arnaud.vandyck@ulg.ac.be>.
	(getColumnName): Fixed method documentation.
	(findColumn): Likewise.
	(getColumnClass): Likewise.
	(isCellEditable): Likewise.
	(setValueAt): Likewise.
	(addTableModelListener): Likewise.
	(removeTableModelListener): Likewise.
	(getTableModelListeners): New method.

2003-10-02  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/AbstractTableModel.java:
	Reformated.

2003-10-01  Bryce McKinlay  <bryce@mckinlay.net.nz>

	Fix PR libgcj/12475
	* gnu/gcj/runtime/StackTrace.java (finalize): Declare.
	* gnu/gcj/runtime/natStackTrace.cc (finalize): New. Free "addrs".

2003-10-01  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/runtime/FirstThread.java (getMain): Fixed indentation.

2003-10-01  Andrew Haley  <aph@redhat.com>

	* java/lang/natClass.cc (initializeClass): Check for otable and
	atable.
	(_Jv_LinkOffsetTable): Check for existence of atable.  Rewrite
	loops using for().  Search superinterfaces.  Check for fields as
	well as methods.  Initialize atable as well as otable: check for
	static methods as well as virtual methods.
	* java/lang/Class.h (struct _Jv_AddressTable): New.
	(atable): New.
	(atable_syms): New.
	* include/jvm.h (_Jv_equalUtf8Consts): constify.
	* prims.cc (_Jv_equalUtf8Consts): constify.

2003-09-29  Tom Tromey  <tromey@redhat.com>

	PR libgcj/10596:
	* include/jvm.h (_Jv_FinalizeString,
	_Jv_RegisterStringFinalizer): Declare.
	* java/lang/natString.cc (_Jv_FinalizeString): Renamed from
	unintern.
	(intern): Updated.
	(_Jv_NewStringUtf8Const): Likewise.
	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Add special case when finalizing a String.
	(in_hash): New function.
	(_Jv_RegisterStringFinalizer): Likewise.
	(maybe_add_finalize): Likewise.

2003-09-29  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	(isMulticastAddress): Dont use local variable to store address length.
	Let the compiler optimize this.
	(getHostName): Merged dcoumentation from classpath.
	(getAddress): Likewise.
	(getHostAddress): Likewise.
	(hashCode): Likewise.
	(equals): Likewise.
	(toString): Likewise.
	(getByName): Likewise.
	(getAllByName): Likewise.

2003-09-29  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/IndexColorModel.java: Reformated.

2003-09-29  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java,
	java/net/URL.java: Reformated.

2003-09-29  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* boehm.cc (_Jv_BuildGCDescr): Put first word of object in most 
	significant bit of descriptor. Include the vtable and sync_info 
	fields.

2003-09-28  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/text/DateFormat.java (format): Throw IllegalArgumentException
	if `obj' is not a Number or Date instance.
	* java/text/SimpleDateFormat.java (tokens): Make it an ArrayList
	instead of Vector.

2003-09-28  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/text/SimpleDateFormat.java (parse): Revert patch of 2003-09-25.
	Don't call setTimeZone on calendar.

2003-09-27  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java (getURLStreamHandler): Compile fixes.

2003-09-27  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java (getURLStreamHandler):
	Check if we have to use cache before trying to retrieve handler from
	cache. Rename facName to clsName to match classpath more. Reformated
	some little pieces.

2003-09-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectionKeyImpl.java
	(ch): Make package-private again. Jikes found this bug.
	Jeff Sturm submitted PR12426 for this to bugzilla
	to fix this bug in gcj.

2003-09-26  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/RMIClassLoader.java:
	Reformatted file, no functional code changes.

2003-09-26  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/SinglePixelPackedSampleModel.java (createDataBuffer): 
	Save space for some pixels at the buffer end.  Added Javadoc.

2003-09-26  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectOutputStream.java (writeFields): Fixed
	indentation.
	(putFields): Likewise.

2003-09-26  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferHelper.java:
	Totally reworked with help from Eric Blake.

2003-09-26  Tom Tromey  <tromey@redhat.com>

	* java/awt/geom/RoundRectangle2D.java (getPathIterator): Wrote.
	* java/awt/geom/PathIterator.java: Documentation fixes.

2003-09-25  Jeff Sturm  <jsturm@one-point.com>

	* gnu/java/nio/SelectorImpl.java (getFDsAsArray): Use getNativeFD().
	(select): Likewise.
	(register): Use DatagramChannelSelectionKey, SocketChannelSelectionKey.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(getNativeFD): New method.
	* gnu/java/nio/SelectionKeyImpl.java
	(SelectionKeyImpl): Class made abstract.
	(fd): Removed.
	(SelectionKeyImpl): Remove fd argument.
	(getNativeFD): New method.
	* gnu/java/nio/SocketChannelImpl.java
	(getNativeFD): New method.
	gnu/java/nio/DatagramChannelSelectionKey.java,
	* gnu/java/nio/SocketChannelSelectionKey.java:
	New files.
	* Makefile.am (ordinary_java_source_files):
	Added new files gnu/java/nio/DatagramChannelSelectionKey.java and
	gnu/java/nio/SocketChannelSelectionKey.java.
	* Makefile.in: Regenerated.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* java/lang/reflect/Proxy.java
	(getProxyClass): Remove workaround for gcj 3.0.x.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainDatagramSocketImpl.java
	(finalize): Moved to directly after constructor.
	(getNativeFD): New method.
	* gnu/java/net/PlainSocketImpl.java
	(getNativeFD): New method.

2003-09-25  Ingo Proetel  <proetel@aicas.com>

	* java/io/ObjectOutputStream.java:
	Allow putFields be called more than once.

2003-09-25  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/Raster.java(Raster): Interpret null origin as (0,0).
	* java/awt/image/WritableRaster.java(WritableRaster): Likewise.
	* java/awt/image/BufferedImage.java (toString): Implement.

2003-09-25  Jeff Sturm  <jsturm@one-point.com>

	* aclocal.m4: Rebuilt.
	* configure: Rebuilt.

2003-09-25  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/text/SimpleDateFormat.java (parse): Don't use class calendar
	field.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(implSelect): Renamed from java_do_select.
	(select): Call native implSelect() and add support for Thread
	interruption.
	* gnu/java/nio/natSelectorImpl.cc
	(implSelect): Renamed from java_do_select.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(selectNow): Made final, throws IOException.
	(select): Likewise.
	(getFDsAsArray): Made final.
	(selectedKeys): Likewise.
	(wakeup): Likewise.
	(deregisterCancelledKeys): Likewise.
	(register): Likewise.
	(ass): Removed.
	(add_selected): Removed.
	* gnu/java/nio/natSelectorImpl.cc:
	No need to include bstring.h or gcj/cni.h.
	(helper_put_filedescriptors): Rewritten.
	(helper_get_filedescriptors): Rewritten.

2003-09-25  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/font/FontRenderContext.java (getTransform): Return
	copy of internal transform object. Add Javadoc.
	* java/awt/geom/Rectangle2D.java (getPathIterator): Use the same
	winding rule as Sun J2SE.
	* javax/swing/border/MatteBorder.java (MatteBorder(Icon)): Docfix.

2003-09-25  Ingo Proetel  <proetel@aicas.com>

	* java/rmi/Naming.java:
	Added comments, now accepts pseudo protocol "rmi".

2003-09-25  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/text/DecimalFormat.java (format): Don't immediatly round
	baseNumber to long.
	(setMinimumIntegerDigits): Call super.
	(setMinimumFractionDigits): Likewise.
	(setMaximumIntegerDigits): Likewise.
	(setMaximumFractionDigits): Likewise.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(DatagramChannelImpl): Made class final.
	(blocking): Made private.
	(socket): Made it a NIODatagramSocket and private.
	(DatagramChannelImpl): create NIODatagramSocket instead of
	DatagramSocket.
	(implConfigureBlocking): Set socket timeout.
	(connect): Check that channel is not closed.
	(write): Implemented.
	(write): Rewritten.
	(read): Implemented.
	(read): Rewritten.
	(receive): Implemented.
	(send): Implemented.
	* gnu/java/nio/SelectionKeyImpl.java
	(readyOps): Made private.
	(interestOps): Made private.
	(impl): Made private.
	(ch): Made private.
	(readyOps): Check if selection key is valid.
	(interestOps): Likewise.
	* gnu/java/nio/SelectorImpl.java
	(closed): Removed.
	(keys): Made private.
	(selected): Made private.
	(finalize): New method.
	(implCloseSelector): Rewritten.
	(keys): Return unmodifiable Set.
	(deregisterCancelledKeys): Fixed typo in method name.
	* gnu/java/nio/SocketChannelImpl.java
	(SocketChannelImpl): Made class final.
	(socket): Made it a NIOSocket and private.
	(blocking): Made private.
	(connected): Made private.
	(connectionPending): New member variable.
	(SocketChannelImpl): New implementation.
	(finalizer): Use isConnected().
	(connect): Rewritten.
	(finishConnect): Throws IOException, implemented.
	(isConnectionPending): Return connectionPending.
	(read): Rewritten.
	(write): Rewritten.
	* gnu/java/nio/NIOConstants.java: New file.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/NIOConstants.java.
	* Makefile.in: Regenerated.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Reorder imports, remove implementation comment.
	(isMulticastAddress): Merged documentation from classpath.
	* java/net/URLConnection.java
	(setRequestProperty): Check key for null, fix documentation.
	(adREquestProperty): Check key for null, remove wrong implementation
	and replace it with comment to overwrite this method in subclasses,
	fix documentation.

2003-09-25  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/Proxy.java (generate): Uncomment protection
	domain code.
	* java/lang/natClassLoader.cc (defineClass): Added `loader'
	argument.
	(linkClass0): Now in VMClassLoader.
	(markClassErrorState0): Likewise.
	(getSystemClassLoaderInternal): New method.
	* java/lang/natClass.cc (initializeClass): Use
	VMClassLoader::resolveClass.
	* java/lang/ClassLoader.java: New version, from Classpath.
	* java/lang/Class.java (getProtectionDomain):
	protectionDomainPermission and unknownProtectionDomain now in
	VMClassLoader.
	* java/lang/Class.h: VMClassLoader now a friend class.
	* gnu/gcj/runtime/VMClassLoader.java (instance): Now
	package-private.
	* gcj/javaprims.h: Regenerated class list.
	* resolve.cc (_Jv_PrepareClass): Use VMClassLoader::resolveClass.
	* java/lang/VMClassLoader.java: New version from Classpath;
	modified for libgcj use.

2003-09-25  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferHelper.java:
	New file.
	* java/nio/ByteBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/MappedByteBufferImpl.java
	(getType,putType): Use new helper class ByteBufferHelper.
	* Makefile.am (ordinary_java_source_files):
	Added java/nio/ByteBufferHelper.java.
	* Makefile.in: Regenerated.

2003-09-25  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* gnu/java/net/natPlainSocketImplWin32.cc: Add missing #includes.
	PR libgcj/12388.

2003-09-24  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/StringBuffer.java (substring): Don't set `shared' on small
	Strings, even if buffer is already shared.

2003-09-24  Michael Koch  <konqueror@gmx.de>

	* acinclude.m4 (AM_LC_LOCALES): Added check for locale.h.

2003-09-24  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* gnu/java/net/PlainSocketImpl.java (read): Remove declaration.
	(write): Likewise.
	(SocketInputStream): Declare `read' and `write' methods native.
	Remove implementations which called back into PlainSocketImpl.
	Remove unneccessary overridden methods.
	* gnu/java/net/natPlainSocketImplNoNet.cc (read): Move implementation 
	to inner class PlainSocketImpl.SocketInputStream.
	(write): Likewise.
	* gnu/java/net/natPlainSocketImplPosix.cc: As above.
	* gnu/java/net/natPlainSocketImplWin32.cc: As above.
	* gnu/java/net/SocketInputStream.java: Remove unused file.
	* gnu/java/net/SocketOutputStream.java: Likewise.
	* Makefile.am: Build CNI headers for PlainSocketImpl.SocketInputStream
	and SocketOutputStream.
	* Makefile.in: Rebuilt.

2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>

	* java/lang/System.java: Add GCJ LOCAL note about encoding aliases.

	* java/lang/Float.java, java/lang/Double.java: Add GCJ LOCAL
	markers.

2003-09-22  Anthony Green  <green@redhat.com>

	* configure.in (HAVE_USLEEP_DECL): Define for newlib build.
	* configure: Rebuilt.

2003-09-21  Ralph Loader  <suckfish@ihug.co.nz>

	PR java/12350:
	* java/lang/StringBuffer.java (substring): Fix handling of shared flag.

2003-09-22  Michael Koch  <konqueror@gmx.de>

	* jni.cc (_Jv_LookupJNIMethod): Remove workaround that should hide a
	compiler warning but produces a different one now.

2003-09-22  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Moves around some code, reformats and adds documentation.
	No functional changes.

2003-09-22  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(JarURLConnection): Modifed code to match classpath more, fixed comment.
	(getCertificates): Made it more error prone.
	(getMainAttributes): Likewise.
	(getAttributes): Implemented.
	(getManifest): Reformatted code.

2003-09-20  Tom Tromey  <tromey@redhat.com>

	* java/awt/Component.java: Indentation cleanup from Classpath.

2003-09-20  Dalibor Topic  <robilad@kaffe.org>

       * java/awt/BasicStroke.java (BasicStroke): Fixed illegal argument
       checking to follow 1.4.2 spec.

2003-08-11  Ingo Proetel  <proetel@aicas.com>

        * gnu/java/rmi/server/UnicastRef.java: make constructor public and check if serverobject  
        is compatible in case client and server are running in the same VM
	(remerged from Classpath on 2003-09-20)

2003-09-19  David Daney <ddaney@avtrex.com>

	* java/lang/ref/Reference.java (clear): Set referent to null and
	synchronize.

2003-09-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/NIODatagramSocket.java,
	gnu/java/nio/NIOSocket.java: New files.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/NIODatagramSocket.java and
	gnu/java/nio/NIOSocket.java.
	* Makefile.in: Regenerated.

2003-09-19  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create()): Create a
	top-level GTK window.
	(getArgs): Add "title" property.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (setResizable): Use
	"allow_shrink" and "allow_grow" properties.
	* java/awt/Dialog.java: Initialize resizable to true and change
	comments accordingly.  Initialize visible to false in
	constructors.
	* java/awt/Frame.java (dispose): Remove method.
	* java/awt/Window.java (ownedWindows): New field.
	(Window(Window,GraphicsConfiguration)): Add a weak reference to
	owner's ownedWindows vector.
	(finalize): Remove method.
	(hide): Hide owned windows.
	(dispose): Dispose of owned windows.
	(getOwnedWindows): Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Remove
	unused GtkArg code.
	(set(String,boolean)): Clamp gboolean parameter to g_object_set
	to TRUE or FALSE.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(create): Set window's size requisition.
	(connectHooks): Fix indentation.
	(setResizable): Remove function.
	(static setBounds): Likewise.
	(setBounds): Replace call to setBounds with GTK size requisition
	and resize calls.

2003-09-19  Mohan Embar  <gnustuff@thisiscool.com>

	* win32-threads.cc: (ensure_interrupt_event_initialized) New
	function for lazy initialization of an auto-reset event.
	(_Jv_CondWait) Added thread interrupt support.
	(_Jv_ThreadInitData) Added initialization of interrupt support
	members.
	(_Jv_ThreadDestroyData) Added cleanup of interrupt support members.
	(_Jv_ThreadStart) Removed unused code.
	(_Jv_Win32GetInterruptEvent) New method for returning interrupt event
	to an external caller.
	(_Jv_ThreadInterrupt) Implemented.
	* include/win32-threads.h: (_Jv_Thread_t) Added a Win32 auto-reset
	event for interrupt support as well as a mutex which regulates
	access to this.
	(_Jv_Win32GetInterruptEvent) Declared new method for returning interrupt
	event to an external caller.
	* java/lang/natWin32Process.cc: (cleanup) Close handle to spawned
	process.
	(waitFor) Added interrupt support.

2003-09-19  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java (getLocalAddress):
	Renamed result variable to localAddr.
	* java/net/MulticastSocket.java:
	No need to import gnu.java.net.PlainDatagramSocketImpl.

2003-09-18  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/Toolkit.java (getSystemEventQueue, getSystemEventQueueImpl):
	Replace UTF-8 characters in Javadoc by XML/HTML escape sequence.

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

	* javax/naming/InitialContext.java: Reindented.

2003-09-18  Dalibor Topic <robilad@kaffe.org>,
	    Helmer Kraemer <hkraemer@freenet.de>

	* javax/naming/spi/NamingManager.java (getURLContext,
	getObjectInstance, getStateToBind): Always use current thread's
	context class loader when calling Class.forName.

2003-09-18  Michael Koch  <konqueror@gmx.de>

	* java/util/Timer.java (finalize): Added "throws Throwable".

2003-09-18  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(ch): Removed.
	(receive): Use getChannel() instead of ch.
	(send): Likewise.
	(getChannel): Return null.
	* java/net/ServerSocket.java
	(ch): Removed.
	(setChannel): Removed.
	(implAccept): Use getChannel() instead of ch.
	(close): Likewise.
	(getChannel): Return null.
	* java/net/Socket.java
	(ch): Removed.
	(connect): Use getChannel() instead of ch.
	(setChannel): Removed.
	(getChannel): Return null.

2003-09-18  Mark Wielaard  <mark@klomp.org>

	Reported by Guilhem Lavaux and Julian Dolby
	* java/io/ObjectStreamClass.java (getSerialPersistentFields): Get the
	field "serialPersistentFields", not "getSerialPersistentFields".

2003-09-18  Ingo Proetel  <proetel@aicas.com>

	* java/util/TimeZone.java: Initialize lazily.
	* java/util/Locale.java (readManifest): Fix check for country.
	* java/util/GregorianCalendar.java: Make use of ResourceBundle better
	traceable 
	* java/util/Calendar.java: Make use of ResourceBundle better
	traceable.

2003-09-18  Jeroen Frijters  <jeroen@frijters.net>

	* java/sql/Timestamp.java
	(valueOf): Fixed confusion of java.sql.Date and java.util.Date

2003-09-18  David P Grove  <groved@us.ibm.com>

	* java/io/LineNumberReader (read): Don't reset pos & limit when
	markPos is 0.

2003-09-18  Dalibor Topic  <robilad@kaffe.org>

	* gnu/java/rmi/rmic/Compile_gcj.java (COMPILER_ARGS): New private
	constant.
	(computeArguments): use computeTypicalArguments.

	* gnu/java/rmi/rmic/Makefile.am (EXTRA_DIST): Add Compile_kjc.java,
	Compile_jikes.java and RMICException.java.
	* gnu/java/rmi/rmic/Compile_kjc.java: New file.
	* gnu/java/rmi/rmic/Compile_jikes.java: Likewise.
	* gnu/java/rmi/rmic/RMICException.java: Likewise.
 
	* gnu/java/rmi/rmic/Compiler.java (getDestination): New method.
 
	* gnu/java/rmi/rmic/CompilerProcess.java: Import java.io.InputStream.
	(computeTypicalArguments): New method.
	(compile): Print compiler output to System.out. Collect compiler
	error output and use it in exception message.
 
	* gnu/java/rmi/rmic/RMIC.java: Import java.util.Set.
	(destination): Initialize to null.
	(run): Replace file separator with '.' when processing class.
	(processClass): Replace '.' with file separator when compiling
	classes.
	(findClass): Use SystemClassLoader to load class.
	(generateStub): Use full class name for generated stub, that puts
	it in right path.  Replace '.' with file separator when generating
	stub file name. Write just the stub class name without package
	information as class name, and constructor name. Write only
	interface names for interfaces extending java.rmi.Remote as
	implemented.
	(generateSkel): Use full class name for generated skel, that puts
	it in right path.  Replace '.' with file separator when generating
	stub file name. Write just the stub class name without package
	information as class name.

2003-09-18  Michael Koch  <konqueror@gmx.de>

	* Makefile.am (rmi_java_source_files):
	Added gnu/java/rmi/rmic/Compile_kjc.java,
	gnu/java/rmi/rmic/Compile_jikes.java and
	gnu/java/rmi/rmic/RMICException.java
	* Makefile.in: Regenerated.

2003-09-17  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: 
	New files.

2003-09-16  Graydon Hoare  <graydon@redhat.com>

	* java/awt/BufferedImage.java (setData): Support non-component
	sample models.
	(getData): Same.

2003-09-10  Graydon Hoare  <graydon@redhat.com>

	* java/awt/geom/AffineTransform.java(transform): Fix airthmetic bugs.
	* java/awt/geom/Arc2D.java: Approximate arc segments with cubics.

2003-09-17  Mohan Embar  <gnustuff@thisiscool.com>

	* configure.in: Standardized help text case of
	--enable-hash-synchronization
	New configure switch --enable-libgcj-multifile and corresponding
	automake conditional ONESTEP.
	* configure: Rebuilt.
	* Makefile.am: Use automake conditional ONESTEP to determine
	whether classfiles should be compiled individually or all
	at once.
	* Makefile.in: Rebuilt.

2003-09-16  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java (construct):
	Remove method declaration.
	(create()): Call native create.
	(create(int)): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	(create): Add window_id parameter.  Call gtk_plug_new with
	window_id parameter.
	(construct): Remove method implementation.

2003-09-16  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.am: (MOSTLYCLEANFILES) Removed libtool objects.
	(mostlyclean-local): New target patterned after clean-local
	which recursively deletes all libtool objects using 'libtool rm'.
	(clean-local): Slightly modified comment to alleviate monotony.
	(distclean-local): New target patterned after clean-local
	which recursively deletes all .d files.
	* Makefile.in: Rebuilt.

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

	* java/net/URLStreamHandler.java (parseURL): If original file
	ends with "/", so must canonical result.
	* java/io/natFilePosix.cc (getCanonicalPath): Clean up snafus
	with nul-termination and finding previous "/".

2003-09-11  Michael Koch  <konqueror@gmx.de>

	* acconfig.h: Removed most items.
	* configure.in: Added descriptions to AC_DEFINE macros that where in
	acconfig.h before.
	* include/config.h.in: Regenerated.

2003-09-11  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/Toolkit.java (getSystemEventQueue): Call SecurityManager
	if one is installed. Improve Javadoc.
	(getSystemEventQueueImpl): Improve Javadoc.

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

	* java/io/natFilePosix.cc (getCanonicalPath): Handle case where
	file does not exist.

2003-09-10  Anthony Green  <green@redhat.com>

	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (peekData):
	Specify full name when referencing ::java::net::InetAddress.
	* gnu/java/net/natPlainSocketImplWin32.cc (accept): Ditto.
	Fix argument type.

2003-09-10  Michael Koch  <konqueror@gmx.de>

	* acconfig.h (__NO_MATH_INLINES): Removed.
	* configure.in: Removed check for g++ math inlining bug from 2000.
	* configure.host: Removed -D__NO_MATH_INLINES in libgcj_cflags and
	libgcj_cxxflags.
	* configure: Regenerated.

2003-09-10  David Daney <ddaney@avtrex.com>

	* java/util/Arrays.java (equals(all variants)): Quit using
	NullPointerException catching to detect null valued parameters.

2003-09-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java,
	java/net/MulticastSocket.java,
	java/net/ServerSocket.java,
	java/net/Socket.java:
	Use gnu.java.net.Plain*SocketImpl instead of
	java.net.PlainSocketImpl.
	* java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java,
	java/net/SocketInputStream.java,
	java/net/SocketOutputStream.java,
	java/net/natPlainDatagramSocketImplNoNet.cc,
	java/net/natPlainDatagramSocketImplPosix.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplNoNet.cc,
	java/net/natPlainSocketImplPosix.cc,
	java/net/natPlainSocketImplWin32.cc:
	Removed.
	* gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/PlainSocketImpl.java,
	gnu/java/net/SocketInputStream.java,
	gnu/java/net/SocketOutputStream.java,
	gnu/java/net/natPlainDatagramSocketImplNoNet.cc,
	gnu/java/net/natPlainDatagramSocketImplPosix.cc,
	gnu/java/net/natPlainDatagramSocketImplWin32.cc,
	gnu/java/net/natPlainSocketImplNoNet.cc,
	gnu/java/net/natPlainSocketImplPosix.cc,
	gnu/java/net/natPlainSocketImplWin32.cc:
	New files (moved from java/net).
	* configure.in: Create links for gnu/java/net/natPlain*SocketImpl.cc
	instead of java/net/natPlain*SocketImpl.cc.
	* configure: Regenerated.
	* Makefile.am: Moved files from java/net to gnu/java/net.
	* Makefile.in: Regenerated.

2003-09-09  Alan Modra  <amodra@bigpond.net.au>

	* configure: Regenerate.

2003-09-04  Tom Tromey  <tromey@redhat.com>

	* configure.host: Removed erroneous comment.

	* gnu/java/awt/natEmbeddedWindow.cc (setWindowPeer): Removed
	lvalue cast; use correct rvalue cast.

2003-09-02  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Add width
	and height arguments to GtkWindowPeer.create method call.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java
	(create(int,int,int)): New method.
	(create(int)): Add call to new create method.
	(create()): Add width and height arguments to create method
	call.
	(GtkWindowPeer): Remove call to setBounds.
	* java/awt/Frame.java (Frame(String)): Initialize visible field
	to false.
	(Frame(GraphicsConfiguration)): Likewise.
	(Frame(String,GraphicsConfiguration)): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
	Add width and height parameters.  Call
	gtk_window_set_default_size.
	(connectHooks): Remove unused name variable.
	(static setBounds): Call gtk_window_resize not
	gtk_widget_set_usize.
	(setBounds): Remove unused nchildren variable.

2003-08-31  Ingo Proetel  <proetel@aicas.com>

	* java/util/logging/Logger.java: provide class and method information
	* java/util/logging/LogManager.java: create handlers
	* java/util/logging/SimpleFormatter.java: print souceClassName and
	sourceMethodName

2003-08-28  Mohan Embar  <gnustuff@thisiscool.com>

	* win32.cc: fixed tab, indentation and whitespace
	inconsistencies
	removed jvm.h include
	added includes java/lang/UnsupportedOperationException.h,
	java/io/IOException.h, java/net/SocketException.h
	(WSAEventWrapper): class implementation
	(_Jv_WinStrError): implemented both overloads
	(_Jv_ThrowIOException): implemented both overloads
	(_Jv_ThrowSocketException): implemented both overloads
	(_Jv_select): implemented
	* include/win32.h: fixed tab, indentation and whitespace
	inconsistencies
	wrapped <windows.h> include with  #define WIN32_LEAN_AND_MEAN
	added jvm.h include
	(WSAEventWrapper): added class declaration
	(_Jv_WinStrError): added both overload declarations
	(_Jv_ThrowIOException): added both overload declarations
	(_Jv_ThrowSocketException): added both overload declarations
	removed ENOTCONN, ECONNRESET and ENOPROTOOPT defines
	(_Jv_select): added declaration
	(_Jv_socket): removed
	(_Jv_connect): removed
	(_Jv_close): removed
	(_Jv_bind): removed
	(_Jv_accept): removed
	(_Jv_listen): removed
	(_Jv_write): removed
	(_Jv_read): removed
	* java/io/natFileDescriptorWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	replaced <windows.h> #include with <platform.h>
	removed jvm.h include
	(testCanUseGetHandleInfo): new function which tests whether Win32
	GetHandleInformation() call can be used with console buffer handles
	(only supported on >=WinNT 5.0)
	(winerr): removed (superseded by _Jv_WinStrError in include/win32.h)
	(valid): rewrote implementation using GetHandleInformation()
	(sync): 	changed exception throwing to use error string and exception
	helper methods declared in include/win32.h
	(open): likewise
	(write): likewise
	(setLength): likewise
	(close): likewise
	(seek): likewise
	(getFilePointer): likewise
	(read): likewise
	* java/io/natFileWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	replaced <windows.h> #include with <platform.h>
	removed jvm.h include
	(_access): use JV_TEMP_UTF_STRING
	(_stat): likewise
	(performMkDir): use JV_TEMP_UTF_STRING
	(performRenameTo): likewise
	(performDelete): likewise
	(performCreate): likewise
	(performSetReadOnly): likewise
	(performSetLastModified): likewise
	* java/lang/natWin32Process.cc: fixed tab, indentation and
	whitespace inconsistencies
	replaced <windows.h> #include with <platform.h>
	removed includes gcj/cni.h, jvm.h
	(new_string): removed
	(startProcess): use JV_TEMP_UTF_STRING,
	changed exception throwing to use error string and exception
	helper methods declared in include/win32.h
	* java/net/natInetAddressWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	replaced <windows.h> #include with <platform.h>
	removed jvm.h include
	removed DISABLE_JAVA_NET conditional code
	removed POSIX conditional code not relevant to Win32
	(aton): use JV_TEMP_UTF_STRING
	removed POSIX conditional code not relevant to Win32
	(lookup): likewise
	(getLocalHostName): likewise
	* java/net/natNetworkInterfaceWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	removed unnecessary windows.h, winsock.h and gcj/cni.h includes
	removed DISABLE_JAVA_NET conditional code
	removed POSIX conditional code not relevant to Win32
	(winsock2GetRealNetworkInterfaces): new function to compute network
	interfaces via Winsock2 API
	(determineGetRealNetworkInterfacesFN): new function for returning
	a function pointer to the function used to compute network interfaces.
	(getRealNetworkInterfaces): implemented
	* java/net/natPlainDatagramSocketImplWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	removed gcj/cni.h include
	removed DISABLE_JAVA_NET conditional code
	removed POSIX conditional code not relevant to Win32
	changed net POSIXisms to Win32isms
	replaced _Jv socket-related calls with their real Win32 equivalents
	changed exception throwing to use error string and exception
	helper methods declared in include/win32.h
	(peekData): implemented timeout support
	(receive): likewise
	* java/net/natPlainSocketImplWin32.cc: fixed tab, indentation and
	whitespace inconsistencies
	removed gcj/cni.h and gcj/javaprims.h includes
	removed DISABLE_JAVA_NET conditional code
	removed POSIX conditional code not relevant to Win32
	changed net POSIXisms to Win32isms
	replaced _Jv socket-related calls with their real Win32
	equivalents
	changed exception throwing to use error string and exception
	helper methods declared in include/win32.h
	(throwConnectException): helper function for connect()
	(connect): implemented timeout support
	(accept): likewise
	(doRead): new helper function common to both read() method overloads,
	includes timeout support
	(read): implemented both overloads in terms of doRead()
	(available): implemented using ioctlsocket()

2003-08-28  Mohan Embar  <gnustuff@thisiscool.com>

	* java/net/natInetAddressWin32.cc,
	java/net/natNetworkInterfaceWin32.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplWin32.cc:
	Readded code enclosed in DISABLE_JAVA_NET defines
	in preparation for MinGW cleanup / networking
	patch

2003-08-28  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.am: Fixed problems with parallel makes.
	(all_java_class_files): Readded definition.
	(all_java_class_files): New target which depends on
	libgcj-@gcc_version@.jar
	* Makefile.in: Rebuilt

2003-08-28  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* java/lang/Class.h (_Jv_sharedlib_register_hook): Declare as
	friend.
	* java/net/URLClassLoader.java (findClass): Don't use
	findURLResource.  Use loader's getClass method.
	(URLLoader.getClass): New method.
	(addURL): Handle `gcjlib' URLs.
	(SoURLLoader): New class.
	(SoResource): Likewise.
	* gnu/gcj/protocol/gcjlib/Connection.java: New file.
	* gnu/gcj/protocol/gcjlib/Handler.java: New file.
	* include/jvm.h (struct _Jv_core_chain): Moved from natCore.cc.
	(_Jv_RegisterCoreHook): Declare.
	(_Jv_FindCore): Declare.
	* gnu/gcj/runtime/SharedLibHelper.java: New file.
	* gnu/gcj/runtime/natSharedLibLoader.cc (CoreHookFunc): New
	typedef.
	(core_hook): New function.
	(struct SharedLibDummy) [saved_core]: New field.
	(init): Set _Jv_RegisterCoreHook.  Throw exception on failure.
	(register_hook): Set protection domain and class loader on new
	class.
	(finalize): Free core chain.
	* gnu/gcj/Core.java (Core): New constructor.
	* gnu/gcj/runtime/SharedLibLoader.java: Rewrote to use
	SharedLibHelper.
	* gnu/gcj/natCore.cc (_Jv_RegisterResource): Indentation fixlet.
	(_Jv_create_core): New function.
	(create): Use it.
	(default_register_resource): New function.
	(_Jv_RegisterCoreHook): New global.
	(_Jv_RegisterResource): Use it.
	(core_chain_struct): Removed.
	(_Jv_FindCore): New function.
	(_Jv_FreeCoreChain): New function.

2003-08-29  Michael Koch  <konqueror@gmx.de>

	* java/net/natInetAddressWin32.cc,
	java/net/natNetworkInterfaceWin32.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplWin32.cc:
	Removed code enclosed in DISABLE_JAVA_NET defines.

2003-08-26  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.am: (write_entries_to_file) New parameterized
	function for writing entries to a file one line at a time.
	(all_java_class_files): Removed definition.
	(.java.class) Removed.target.
	(libgcj-@gcc_version@.jar): Changed dependency to
	$(all_java_source_files); added compilation step which compiles
	all changed source files in one pass.
	(libgcj.la) Refactored to use write_entries_to_file.
	(lib-gnu-awt-xlib.la) Likewise.
	(install-data-local) Likewise.
	(write-entries-to-file-check) New target which tests write_entries_to_file.
	(all-recursive): Changed dependency from $(all_java_class_files)
	to libgcj-@gcc_version@.jar
	* Makefile.in: Rebuilt.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/StrictMath.java: Typo fix.
	* java/lang/Math.java: Typo fix.

2003-08-26  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/ThreadGroup.java (removeThread): null the 'group' field
	of the removed Thread.

2003-08-26  Mark Wielaard  <mark@klomp.org>

	Reported by David Holmes <dholmes@dltech.com.au>.
	* java/lang/InheritableThreadLocal.java (threadMap): Wrap inside
	Collections.synchronizedMap.
	* java/lang/ThreadLocal.java (valueMap): Likewise.

2003-08-26  Mark Wielaard  <mark@klomp.org>

	* java/security/acl/Acl.java: Fix broken p tag.
	* java/text/DateFormatSymbols.java: Correctly open and close li tags.
	* javax/swing/border/LineBorder.java: Close img tag alt attributes.
	* javax/swing/plaf/TreeUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTreeUI.java: Likewise.
	* java/util/Properties.java: Use the word umlaut, not &auml; in api
	documentation.
	* java/util/PropertyResourceBundle.java: Likewise and add closing code
	tag.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am: Removed all GNU-make-specific FIXME comments.

	* java/lang/ref/Reference.java (get): Indentation fix.
	(clear): Comment fix.
	(enqueue): Likewise.
	(lock): Likewise.
	(referent): Likewise.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	PR java/12058:
	* java/lang/reflect/natArray.cc (set): Allow null as argument.

	* java/lang/reflect/Proxy.java (ProxyData): `pack' now a String.
	(ProxyData.getPackage): New method.
	(ProxyData.getProxyData): Use package name, not Package.
	(ClassFactory.ClassFactory): Updated.

2003-08-25  Scott Gilbertson  <scottg@mantatest.com>
	* Makefile.am: added gnu/awt/xlib/XOffScreenImage.java.
	* Makefile.in: re-generated.
	* gnu/awt/j2d/IntegerGraphicsState.java
	(ScreenCoupledImage): new interface.
	(drawImage): detect ScreenCoupledImage instances.
	* gnu/awt/xlib/XCanvasPeer.java (createImage) implemented.
	* gnu/awt/xlib/XEventLoop.java
	(createEvent): re-formatted, and rearranged to avoid null pointer.
	* gnu/awt/xlib/XGraphics.java
	(drawImage): added XOffScreenImage handling.
	* gnu/awt/xlib/XOffScreenImage.java: new file.
	* gnu/gcj/xlib/Drawable.java (getDepth): new native method.
	* gnu/gcj/xlib/GC.java (copyArea): new native method.
	* gnu/gcj/xlib/XAnyEvent.java
	(TYPE_KEY_PRESS): new constant.
	(TYPE_KEY_RELEASE): new constant.
	(TYPE_MOTION_NOTIFY): new constant.
	(TYPE_ENTER_NOTIFY): new constant.
	(TYPE_LEAVE_NOTIFY): new constant.
	(TYPE_FOCUS_IN): new constant.
	(TYPE_FOCUS_OUT): new constant.
	(TYPE_KEYMAP_NOTIFY): new constant.
	(TYPE_GRAPHICS_EXPOSE): new constant.
	(TYPE_NO_EXPOSE): new constant.
	(TYPE_VISIBILITY_NOTIFY): new constant.
	(TYPE_CREATE_NOTIFY): new constant.
	(TYPE_DESTROY_NOTIFY): new constant.
	(TYPE_MAP_REQUEST): new constant.
	(TYPE_CONFIGURE_REQUEST): new constant.
	(TYPE_GRAVITY_NOTIFY): new constant.
	(TYPE_RESIZE_REQUEST): new constant.
	(TYPE_CIRCULATE_NOTIFY): new constant.
	(TYPE_CIRCULATE_REQUEST): new constant.
	(TYPE_PROPERTY_NOTIFY): new constant.
	(TYPE_SELECTION_CLEAR): new constant.
	(TYPE_SELECTION_REQUEST): new constant.
	(TYPE_SELECTION_NOTIFY): new constant.
	(TYPE_COLORMAP_NOTIFY): new constant.
	(TYPE_MAPPING_NOTIFY): new constant.
	* gnu/gcj/xlib/natDrawable.cc (getDepth): new method.
	* gnu/gcj/xlib/natGC.cc (copyArea): new method
	* java/awt/Component.java (createImage): changed to use peer method.

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

	* gnu/java/awt/peer/gtk/GdkGraphics.java (drawString): Pass font
	name, not XLFD, to native drawString.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Replace XLFD-based implementation with Pango-based
	implementation.

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

	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Remove
	GTK_WINDOW_DIALOG.  Set GTK_WINDOW_POPUP to 1.

2003-08-21  David Daney  <ddaney@avtrex.com>

	Fix for PR libgcj/12013:
	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Check `cleared' field.
	* java/lang/ref/Reference.java (copy): Updated comments.
	(cleared): New field.
	(clear): Rewrote.

2003-08-21  Scott Gilbertson  <scottg@mantatest.com>
            Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (gtk_awt_peer_sources): Add
	gnu/java/awt/peer/GLightweightPeer.java.  Remove
	gnu/java/awt/GLightweightPeer.java.
	* gnu/java/awt/GLightweightPeer.java: Remove file.
	* gnu/java/awt/peer/GLightweightPeer.java: New file.
	* java/awt/Component.java (getToolkit): Add comment about
	lightweight components.
	* java/awt/Toolkit.java (createComponent): Return
	gnu.java.awt.peer.GLightweightPeer.

2003-08-21  Richard Earnshaw  <rearnsha@arm.com>

	* configure.in: Fix detection of gcj when building with newlib.
	* configure: Regenerated.

2003-08-20  Graydon Hoare  <graydon@redhat.com>

	* jni.cc: Replace "cheating" pointer-casting code with
	extract_from_jvalue<> template.

2003-08-20  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/StackTrace.java (getClass): New method.
	* gnu/gcj/runtime/natStackTrace.cc (getClass): New method.
	(classAt): Break out class lookup function into getClass().
	* exception.cc (PERSONALITY_FUNCTION): Use new encoding for exception
	handlers when using -fno-assume-compiled.

2003-08-20  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/9125:
	* gnu/gcj/runtime/natVMClassLoader.cc (findClass): Find Runtime
	object outside of loop.  Respect lib_control setting.
	* gnu/gcj/runtime/VMClassLoader.java (tried_libraries): New
	field.
	(lib_control): New field.
	(LIB_FULL, LIB_CACHE, LIB_NEVER): New constants.
	(VMClassLoader): Initialize new field.

	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Set `list->reference' to DELETED_REFERENCE when removing dead
	object.
	(find_slot): Added an assert.
	(DELETED_REFERENCE): New define.
	(add_to_hash): Check for DELETED_REFERENCE.
	(remove_from_hash): Just return if found slot isn't ours.

2003-08-19  Andrew Haley  <aph@redhat.com>

	* prims.cc (unblock_signal): New function.
	(catch_segv): Use it.
	(catch_fpe): Likewise.

2003-08-19  Danny Smith  <dannysmith@users.sourceforge.net>

	PR libgcj/11575
	* java/io/natFileDescriptorWin32.cc (open): Set create
	flag to OPEN_AWAYS when READ & WRITE regardless of APPEND flag.
	Honor EXCL when openning with WRITE flag. 

2003-08-19  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: New class _Jv_TempUTFString (helper class for
	getting a temporary C string from a jstring)
	New macro JV_TEMP_UTF_STRING, which leverages _Jv_TempUTFString
	but uses a stack buffer if the string length is less than 256
	bytes.

2003-08-18  Tom Tromey  <tromey@redhat.com>

	PR libgcj/11951:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
	void.  Throw VirtualMachineError if ffi fails.  Initialize return
	value.  Added is_jni_call argument; only wrap exception if not a
	JNI call.  Use descriptive message if operation not supported.
	(_Jv_GetTypesFromSignature): Use declaring class' loader to find
	array class.
	* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
	* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
	_Jv_CallAnyMethodA.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.

2003-08-13  Tom Tromey  <tromey@redhat.com>

	* gij.cc (help): Document -? and -X.

2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Font.java: 
	Stub out more recent API. 

2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Color.java (getAlpha): 
	Prevent sign-extended alpha values.

2003-08-12  Tom Tromey  <tromey@redhat.com>

	* gij.cc (main): Handle -? and -X.

2003-08-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/Container.java
	(getPreferredSize): Call preferredSize.
	(preferredSize): Moved body of getPreferredSize here.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Moved body of getMinimumSize here.

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

	* java/awt/EventQueue.java (currentEvent, lastWhen): New fields.
	(postEvent): Removed FIXME comment.
	(isDispatchThread): Documented.
	(getCurrentEvent): New method.
	(dispatchEvent): Set currentEvent and lastWhen.
	(getMostRecentEventTime): Rewrote.
	(invokeLater): Documented.

2003-08-10  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/io/PrintStream.java (print): Always flush if auto_flush is
	set. Don't check for newline characters.
	(write (int)): Implement without using a temporary array.
	(write (byte[], int, int): Always flush if auto_flush is set. Don't
	check for newline characters.
	Fixes PR libgcj/11778.

2003-08-08  Andrew Haley  <aph@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Define BOOT_CLASS_PATH.
	* Makefile.in: Rebuild.
	* java/lang/natRuntime.cc (insertSystemProperties): Add
	"sun.boot.class.path".

2003-08-07  Andrew Haley  <aph@redhat.com>

	* java/io/PrintStream.java: Don't crash on a null string.
	
2003-08-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Don't initialize GCINCS to boehm-gc/include.
	* configure: Regenerate.

2003-08-07  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/net/Socket.java (Socket (SocketImpl)): Don't allow null
	SocketImpl. Update Javadoc.
	(bind): Call close() not impl.close() in event of exception.
	(connect): Likewise.
	Remove superfluous null checks throughout.
	* java/net/ServerSocket.java (ServerSocket (int, int, InetAddress)):
	Don't create an extra socket. Fix for PR libgcj/10868.
	(bind): Clean up exception handling.
	Remove superfluous null checks throughout.

2003-08-07  Jacob Gladish <gladish@spinnakernet.com>
            Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/net/natPlainSocketImplPosix.cc (connect): Pass the FD as a
	ready-to-write argument to _Jv_Select. Reset the socket back to 
	non-blocking state after connecting.
	(accept): Pass the FD as a ready-to-write argument to _Jv_Select.
	Throw SocketTimeoutException not InterruptedIOException.
	(read): Throw SocketTimeoutException not InterruptedIOException.

2003-08-07  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/Thread.java (Thread): Check for null "name" from
	start of private constructor, not after calling the private
	constructor.

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

	* java/io/FilePermission.java (equals): Use correct index for
	last character of path.

2003-08-06  Alan Modra  <amodra@bigpond.net.au>

	* acinclude.m4 (LIBGCJ_CONFIGURE): Remove AC_CANONICAL_BUILD.
	* configure.in: Compare with_cross_host to build_alias, not build.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-08-05  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/11779:
	* java/lang/reflect/natField.cc (getAddr): Skip frames in Field
	class.

	* java/lang/reflect/Method.java: Updated status comment.
	Imported javadoc from Classpath and re-ordered methods.
	* java/lang/reflect/Constructor.java: Reindented.  Updated
	status comment.  Imported javadoc from Classpath and re-ordered
	methods.

2003-08-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent):
	Add keyLocation parameter.
	* java/awt/event/KeyEvent.java (getKeyText): Fix "NumPad-"
	string.
	(paramString): Generate keyChar string according to keyChar, not
	keyCode.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(state_to_awt_mods): Handle ALT key.
	(keyevent_state_to_awt_mods): New function.
	(get_first_keyval_from_keymap): New function.
	(keysym_to_awt_keycode): Get virtual key code from keymap.
	Handle missing VK_ values.
	(keysym_to_awt_keylocation): New function.
	(keyevent_to_awt_keychar): New function.
	(generates_key_typed_event): Handle non-text-component case.
	Handle GDK_KP_Delete and GDK_KP_Enter.
	(awt_event_handler): Call new functions to get postKeyEvent
	parameters.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (gtkInit):
	Update postKeyEvent method signature.
	* jni/gtk-peer/gtkpeer.h: Add KEY_LOCATION defines.  Add missing
	VK_ defines.

2003-08-05  Matthias Klose  <doko@debian.org>

	* aclocal.m4: check for libart-config binary
	  under the name libart2-config as well.
	* configure: regenerated.

2003-08-04  David P Grove  <groved@us.ibm.com>

	* java/text/DecimalFormat.java (format): avoid ArithmeticException
	when groupingSize is 0.
	(parse): Likewise.

2003-08-04  Matthias Klose  <doko@debian.org>

	* libart.m4: check for libart-config binary
	  under the name libart2-config as well.
	* configure, aclocal.m4: regenerated.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferImpl.java
	(getChar): Check remaining bytes, fixed comment about endianess.
	(putChar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Check remaining bytes, fixed conversion, fixed comment about
	endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/DirectByteBufferImpl.java
	(getChar): Wrapped code, fixed comment about endianess.
	(putchar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Fixed conversion, fixed comment about endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/MappedByteBufferImpl.java
	(compact): Implemented.
	(getChar): Implemented.
	(putChar): Implemented.
	(getDouble): Implemented.
	(putdouble): Implemented.
	(getFloat): Implemented.
	(putFloat): Implemented.
	(getInt): Implemented.
	(putInt): Implemented.
	(getLong): Implemented.
	(putLong): Implemented.
	(getShort): Implemented.
	(putShort): Implemented.
	* java/nio/channels/FileChannelImpl.java
	(read): Set position where to access file.
	(write): Likewise.
	(transferTo): Flip buffer after read and before write.
	(transferFrom): Likewise.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ArrayHelper.java
	(equalsArray): Reformated, added method documentation.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Added paragraph about the
	gnu.java.net.nocache_protocol_handlers property.
	(ph_cache): Renamed from handlers to match classpath's implementation.
	Reordered it with factory and serialVersionUID member variables.
	(cache_handlers): New member variable.
	(static): New static initializer to initialize cache_handlers from
	gnu.java.net.nocache_protocol_handlers property.
	(URL): Use ph_cache instead of handlers, reformatted some code to
	match classpath's implementation.

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

	Fix for PR libgcj/11241:
	* java/util/WeakHashMap.java (WeakHashMap(int,float)): If
	initialCapacity is 0, set it to 1.

2003-08-01  Stephen Crawley <crawley@dstc.edu.au>

	* java/net/SocketImpl.java (toString): Display the remote address
	of an unconnected server socket as "0.0.0.0/0.0.0.0".

2003-08-01  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/BevelBorder.java,
	javax/swing/border/EtchedBorder.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/SoftBevelBorder.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	Prepend "doc-files" to all paths to embedded Javadoc images, so
	that the generated documentation contains the correct URL.

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

	* configure: Rebuilt.
	* configure.in (tool_include_dir): Redefine to match gcc.

2003-08-01  Jerry Quinn  <jlquinn@optonline.net>
            Mark Wielaard  <mark@klomp.org>
	    
	* java/math/BigDecimal (divide): Correctly handle
	ROUND_HALF_EVEN when amount is greater than 0.5.
	Simplify and optimize code.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	More for PR libgcj/11737:
	* java/io/ObjectInputStream.java (processResolution): Use
	getMethod.
	(getMethod): Make method accessible.
	(getField): Make field accessible.
	(setBooleanField): Don't call setAccessible here.
	(setByteField, setCharField, setDoubleField, setFloatField,
	setIntField, setLongField, setShortField, setObjectField):
	Likewise.
	(callReadMethod): Don't check whether method is null.  Catch
	NoSuchMethodException.
	* java/io/ObjectOutputStream.java (callWriteMethod): Initialize
	cause on thrown exceptions.

2003-07-31  Stepan Koltsov  <yozh@mx1.ru>

	Fix for PR libgcj/11728:
	* java/util/HashMap.java (readObject): Set size.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/11737:
	* java/io/ObjectOutputStream.java (getMethod): Make method
	accessible.
	(getField): Likewise.
	(writeObject): Use getMethod.
	Import PrivilegedAction and AccessController.
	(callWriteMethod): Don't check whether m is null.  Catch
	NoSuchMethodException.

	* java/awt/geom/Arc2D.java (getBounds2D): Implement.
	(containsAngle): Likewise.
	(getStartPoint): Rewrote.
	(getEndPoint): Likewise.
	(setAngleStart(Point2D)): Likewise.

2003-07-31  Roger Sayle  <roger@eyesopen.com>
	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Add new THREADCXXFLAGS variable.
  	Handle POSIX threads on alpha*-dec-osf*.
	* configure: Regenerate.
	* Makefile.am: Add THREADCXXFLAGS to AM_CXXFLAGS.
	* Makefile.in: Regenerate.

2003-07-08  Andrew Haley  <aph@redhat.com>

        * include/i386-signal.h (RESTORE): New.
        (INIT_SEGV): Set restorer.
        (INIT_FPE): Likewise.

2003-07-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Call getName rather
	than getXLFD.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetFont): Scale size parameter by PANGO_SCALE.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c:
	Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c:
	Likewise.

2003-07-29  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (handleField): Throw exception if field name is
	duplicated.
	(handleMethod): Throw exception for duplicate method.

2003-07-29  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/convert/natIconv.cc (write): Handle case where
	output buffer is too small.

2003-07-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
	New method.
	Include gnu/gcj/runtime/StringBuffer.h.
	* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
	native method.
	(String(gnu.gcj.runtime.StringBuffer)): Use it.

2003-07-27  Anthony Green  <green@redhat.com>

	* configure.in: Fix newlib check.
	* configure: Rebuilt.

2003-07-27  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	Create vbox and layout for GtkPlug.

2003-07-27  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java
	(Window): Removed now unused constructor. It became oboslete with the
	new embedded window patch.

2003-07-27  Thomas Fitzsimmons <fitzsim@redhat.com.h> 
	    Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/EmbeddedWindow.java
	(EmbeddedWindow): Extends Frame instead of Window.
	(window_id): New member variable to store the native window handle.
	(create): Removed.
	(EmbeddedWindow): New constructor.
	(addNotify): New method.
	(getHandler): Likewise.
	(setWindowPeer): New native method.
	* gnu/java/awt/EmbeddedWindowSupport.java
	(EmbeddedWindowSupport): Fixed documentation.
	(createEmbeddedWindow): Return EmbeddedWindowPeer instead of
	WindowPeer, give it an EmbeddedWindow instance instead of the raw
	window data.
	* gnu/java/awt/natEmbeddedWindow.cc
	(create): Removed.
	(setWindowPeer): New method.
	* gnu/java/awt/peer/EmbeddedWindowPeer.java,
	gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	New files
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(GtkToolkit): Implements EmbeddedWindowSupport.
	(createEmbeddedWindow): New method.
	* java/awt/Window.java
	(Window): Removed.
	* Makefile.am
	(java_source_files): Added EmbeddedWindowPeer.java.
	(gtk_awt_peer_sources): Added GtkEmbeddedWindowPeer.java.
	(gtk_c_source_files): Added gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.
	* Makefile.in: Regenerated.

2003-07-26  Ranjit Mathew  <rmathew@hotmail.com>

	* java/lang/Win32Process.java (ConcreteProcess): Surround
	a command line element with quotes if it contains an
	embedded space or tab.
	* java/lang/natWin32Process.cc (startProcess): Do not
	surround command line elements with quotes here.

	* configure.host: Use -fcheck-references and 
	-fuse-divide-subroutine for MinGW until we fix
	win32_exception_handler( ) in win32.cc w.r.t. Win32 
	Structured Exception Handling (SEH).

	* win32.cc (_Jv_platform_initProperties): Use generic names
	like "x86" for the "os.arch" property to be consistent with
	what Sun's JDK produces. Use the wProcessorArchitecture
	member of the Win32 SYSTEM_INFO structure, filled in a call 
	to GetSystemInfo( ), instead of dwProcessorType.

2003-07-26  Mohan Embar  <gnustuff@thisiscool.com>
	    Ranjit Mathew  <rmathew@hotmail.com>

	* Makefile.am: Use cross-compiling gcjh from the path for
	a crossed-native build.
	* Makefile.in: Rebuilt.
	* configure.in: Include libltdl in non-newlib builds.
	Moved determination of gcj used to build libraries to
	its own section. Fixed cross-compilation issues for
	non-newlib builds.
	* configure: Rebuilt.

2003-07-25  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc (write): Try again on EINTR.
	(write): Likewise.
	(read): Likewise.
	(read): Likewise.

2003-07-25  Mark Wielaard  <mark@klomp.org>

	* java/lang/natRuntime.cc (_load): Add library name to
	UnsatisfiedLinkError when thrown.

2003-07-25  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (awt_java_source_files): java/awt/GridBagLayoutInfo.java
	added.
	* Makefile.in: Likewise.

2003-07-25  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/Component.java
	(getPreferredSize): Call preferredSize.
	(preferredSize): Moved body of getPreferredSize here.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Moved body of getMinimumSize here.
	(prepareImage): Fall back on Toolkit.prepareImage if there is no peer
	(checkImage(Image,ImageObserver)): Don't call getWidth/getHeight, but
	pass -1
	* java/awt/Container.java
	(validate): Don't validate if there is no peer.
	(update): Clear background before calling paint.
	* java/awt/GridBagLayout.java
	Completed the implementation and fixed several bugs.
	* java/awt/MediaTracker.java
	(MediaEntry.imageUpdate): Fixed typo. & instead of | was used to
	combine flags.
	* java/awt/Window.java
	(Window): Don't call setVisible(false). Windows are invisible by
	default and calling virtual methods from constructor causes
	compatibility problems (e.g. subclasses may assume that the peer
	already exists).

2003-07-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/GridBagLayout.java:
	Totally reworked and partly implemented.
	* java/awt/GridBagLayoutInfo.java:
	New file.

2003-07-24  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (create):
	Don't pack label in an event box.

2003-07-24  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/7482:
	* verify.cc (ref_intersection): New class.
	(type_val): Removed unresolved_reference_type,
	uninitialized_unresolved_reference_type.
	(is_assignable_from_slow): Rewrote.
	(type::data): Removed.
	(type::klass): New field.
	(type::type): Added verifier argument.
	(type::resolve): Removed.
	(type::set_uninitialized): Updated for change to type_val.
	(type::set_initialized): Likewise.
	(type::isinitialized): Likewise.
	(type::print): Likewise.
	(construct_primitive_array_type): Likewise.
	(type::compatible): Updated for change to type_val and to use
	ref_intersection.
	(type::isarray): Updated to use ref_intersection.
	(type::isinterface): Likewise.
	(type::element_type): Likewise.
	(type::to_array): Likewise.
	(type::verify_dimensions): Rewrote.
	(type::merge): Likewise.
	(check_class_constant): Updated for type constructor change.
	(check_constant): Likewise.
	(check_field_constant): Likewise.
	(get_one_type): Likewise.
	(initialize_stack): Likewise.
	(verify_instructions_0): Likewise.
	(verify_instructions_0) [op_invokeinterface]: Removed special
	case.
	(isect_list): New field.
	(_Jv_BytecodeVerifier): Initialize it.
	(~_Jv_BytecodeVerifier): Destroy ref_intersection objects. 

2003-07-24  H. Väisänen  <hvaisane@joyx.joensuu.fi>

	* java/text/SimpleDateFormat.java (format) [YEAR_FIELD]: Zero pad
	unless field size is 2.

2003-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(connectHooks): New method.
	(handleEvent): Remove.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
	(createHooks): Remove declaration.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(generates_key_typed_event): Change to handle only certain
	keyvals.
	(awt_event_handler): Add special handling for GtkTextView.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(textcomponent_commit_cb): New function.
	(textcomponent_changed_cb): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(connectHooks): Remove.

2003-07-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (arraycopy): Check for overflow.

	* boehm.cc (_Jv_BuildGCDescr): Use `1ULL'.

2003-07-22  Tom Tromey  <tromey@redhat.com>

	* boehm.cc (_Jv_BuildGCDescr): Wrote.
	Include limits.h.

2003-07-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/Window.java (getWarningString): Just return the
	string.
	(Window): Set warningString; check with security manager.

2003-07-22  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphicsConfiguration.java
	(FontMetricsCache): Made static.
 
2003-07-22  Tom Tromey  <tromey@redhat.com>

	* java/net/URLEncoder.java (encode(String)): Use platform default
	encoding.
	(encode(String,String)): Convert to 2-digit upper-case hex
	number.
	(hex): New field.

2003-07-21  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(create): Remove unused method implementation.
	(connectHooks): Remove debug messages.

2003-07-20  Anthony Green  <green@redhat.com>

	* gnu/awt/j2d/AbstractGraphicsState.java (clone): Handle
	CloneNotSupportedException.
	* gnu/gcj/xlib/WindowAttributes.java (clone): Ditto.
	* gnu/gcj/xlib/WMSizeHints.java (clone): Ditto.
	* gnu/gcj/xlib/GC.java (clone): Ditto.
	* gnu/awt/xlib/XGraphics.java (clone): Ditto.
	* gnu/awt/j2d/Graphics2DImpl.java (clone): Ditto.

	* gnu/awt/xlib/XEventLoop.java (postNextEvent): Remove unreachable
	handler.
	* gnu/gcj/runtime/NameFinder.java (NameFinder): Ditto.

2003-07-20  Steve Pribyl <steve@netfuel.com.>

	* gnu/gcj/runtime/natSharedLibLoader.cc (init): `libname' now a
	String.  Put dlerror() message into exception.
	Include UnsatisfiedLinkError.
	* gnu/gcj/runtime/SharedLibLoader.java (init): `libname' now a
	String.  Now native.

2003-07-20  Tom Tromey  <tromey@redhat.com>

	* java/lang/Runtime.java: Comment fix.
	* java/lang/ClassLoader.java (isAncestorOf): New method.
	(getParent): Uncommented security check.  Use isAncestorOf.
	* include/jvm.h (_Jv_CheckAccess): Declare.
	* java/lang/reflect/natConstructor.cc (newInstance): Perform
	access check.
	Include IllegalAccessException.h, ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natArray.cc (newInstance): Pass caller's
	class loader to _Jv_GetArrayClass.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/Field.java: Update comment to reflect status.
	(equals): Fixed indentation.
	* java/lang/Class.h (Class): Declare memberAccessCheck, not
	checkMemberAccess.  Make _Jv_CheckAccess a friend.
	* java/lang/Class.java (memberAccessCheck): New method from
	Classpath.
	(checkMemberAccess): Removed.
	(getDeclaredMethod): Use memberAccessCheck.
	(getField): Likewise.
	(getMethod): Likewise.
	* resolve.cc (_Jv_ResolvePoolEntry): Use _Jv_CheckAccess.
	(_Jv_SearchMethodInClass): Likewise.
	* prims.cc (_Jv_CheckAccess): New function.
	* jni.cc (_Jv_JNI_FindClass): Use getClassLoaderInternal.
	(_Jv_JNI_GetAnyFieldID): Likewise.
	* java/lang/natClass.cc (forName): Use getClassLoaderInternal.
	(getClassLoader): Added security check.
	(getConstructor): Call memberAccessCheck.
	(getDeclaredClasses): Likewise.
	(getDeclaredField): Likewise.
	(getDeclaredFields): Likewise.
	(_getConstructors): Likewise.
	(getDeclaredConstructor): Likewise.
	(getDeclaredMethods): Likewise.
	(getFields): Likewise.
	(getMethods): Likewise.
	(newInstance): Likewise.
	(_Jv_MakeVTable): Put method name in exception.
	* java/lang/reflect/natMethod.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_GetTypesFromSignature): Likewise.
	(invoke): Perform access check.
	(_Jv_CallAnyMethodA): Removed old FIXME comments.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natField.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_CheckFieldAccessibility): Removed.
	(getAddr): Use _Jv_CheckAccess; find caller.
	Include ArrayIndexOutOfBoundsException.h.

2003-07-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Fixed documentation to name an argument correcty, Reformatted
	one method declaration.
	(getURLStreamHandler): Added documentation from classpath.

2003-07-19  Tom Tromey  <tromey@redhat.com>

	* mauve-libgcj: Don't run CollationElementIterator tests.

2003-07-19  Jeroen Frijters <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (addURL): Moved implementation to
	private addURLImpl() to avoid calling addURL from the constructor.
	(addURLImpl): Contains the code that was previously in addURL.
	(addURLs): Call addURLImpl(), not addURL().

2003-07-18  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: 
	Handle missing event cases, connect to "value-changed" signal.

2003-07-18  Graydon Hoare  <graydon@redhat.com>

	* java/awt/geom/CubicCurve2D.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/QuadCurve2D.java,
	java/awt/geom/Rectangle2D.java: 
	Fix path some calculations, make path iterators follow
	a consistent style.

2003-07-18  Mark Wielaard  <mark@klomp.org>

	* java/util/logging/Handler.java (isLoggable): Check record level
	smaller or equal.

2003-07-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reworked imports.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/rmi/server/UnicastServerRef.java:
	New version from classpath.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/MemoryImageSource.java,
	java/beans/PropertyEditorManager.java,
	javax/naming/CompoundName.java,
	javax/naming/spi/NamingManager.java,
	javax/swing/AbstractButton.java,
	javax/swing/ButtonModel.java,
	javax/swing/SwingUtilities.java,
	javax/swing/UIManager.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	java/util/zip/ZipFile.java:
	New versions from classpath.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/natFileChannelImpl.cc: Removed.
	* java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/RandomAccessFile.java,
	java/nio/MappedByteBufferImpl.java:
	Import java.nio.channels.FileChannelImpl instead of
	gnu.java.nio.FileChannelImpl.
	* java/nio/channels/FileChannelImpl.java,
	java/nio/channels/natFileChannelImpl.cc:
	New files.
	* Makefile.am
	(ordinary_java_source_files):
	Removed gnu/java/nio/FileChannelImpl.java and added
	java/nio/channels/FileChannelImpl.java.
	(nat source_files):
	Removed gnu/java/nio/natFileChannelImpl.cc and added
	java/nio/channels/natFileChannelImpl.cc.
	* Makefile.in: Regenerated.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicLookAndFeel.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java:
	New versions from classpath.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	* gnu/java/awt/peer/gtk/GtkCanvasPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java
	* gnu/java/awt/peer/gtk/GtkClipboard.java
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java
	* gnu/java/awt/peer/gtk/GtkImage.java
	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java
	* gnu/java/awt/peer/gtk/GtkListPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkOffScreenImage.java
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/locale/LocaleInformation_de.java
	* gnu/java/locale/LocaleInformation_en.java
	* gnu/java/locale/LocaleInformation_nl.java

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/EmbeddedWindow.java,
	gnu/java/awt/EmbeddedWindowSupport.java,
	gnu/java/awt/natEmbeddedWindow.cc:
	New files.
	* java/awt/Window.java
	(Window): New constructor to support embedded windows.
	* Makefile.am
	(awt_java_source_files): Added gnu/java/awt/EmbeddedWindow.java and
	gnu/java/awt/EmbeddedWindowSupport.java.
	(nat_source_files): Added gnu/java/awt/natEmbeddedWindow.cc.
	* Makefile.in: Regenerated.

2003-07-11  Matt Kraai  <kraii@alumni.cmu.edu>

	* gnu/gcj/runtime/SharedLibLoader.java: Fix misspelling.
	* gnu/gcj/runtime/natSharedLibLoader.cc: Likewise.
	* java/awt/im/InputContext.java: Remove a redundant
	partial line.

2003-07-09  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_MAKEFLAGS): Added CPPFLAGS.

2003-07-09  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectOutputStream.java (writeObject): break after
	calling writeClassDescriptor().

2003-07-09  Mark Mitchell  <mark@codesourcery.com>

	* gcj/array.h (JvPrimClass): Don't parenthesize the output.

2003-07-09  Michael Koch  <konqueror@gmx.de>

	* 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/GtkWindowPeer.java:
	Explicitly import used classes.
	* java/awt/Container.java: New version from classpath.

2003-07-09  Michael Koch  <konqueror@gmx.de>

	* libgcj.pc.in: New file.
	* Makefile.am: Install libgcj.pc in $libdir/pkgconfig.
	* Makefile.in: Regenerated.
	* configure: Regenrated.
	* configure.in: Create libgcj.pc from libgcj.pc.in.

2003-07-08  Mark Wielaard <mark@klomp.org>

	* gcj/cni.h: CNI now expands to Compiled Native Interface.

	* java/lang/e_pow.c: CYGNUS LOCAL should be GCJ LOCAL.
	* java/lang/fdlibm.h: Likewise.

2003-07-07  Adam Megacz <adam@xwt.org>

        * posix.cc: added #include<stdio.h>
		
2003-07-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Fix
	formatting.

	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(setCaretPosition, setEditable): Rely entirely on native
	implementation.
	(getArgs): Remove.
	(postTextEvent): New method.
	(handleEvent): New method.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (handleEvent): New
	method.
	* java/awt/event/ActionEvent.java (paramString): Fix formatting.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(keysym_to_awt_keycode): Fix range checks.
	(generates_key_typed_event): New function.
	(awt_event_handler): Post AWT_KEY_RELEASED events to event
	queue.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(gtkInit): Store TextComponent's postTextEvent method ID.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(setText): Post TEXT_VALUE_CHANGED event to event queue.

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

	* configure.in: Check for usleep declaration.
	* acconfig.h (HAVE_USLEEP_DECL): Provide template.
	* configure: Regenerate.
	* include/config.h.in: Likewise.
	* include/posix.h [!HAVE_USLEEP_DECL]: Declare usleep.

2003-07-01  Michael Koch  <konqueror@gmx.de>

	* gnu/gcj/convert/natIconv.cc
	(iconv_init): Fixed possible memory leak by releasing allocated iconv
	handle.

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

	* glib-2.0.m4: New file.
	* gtk-2.0.m4: New file.
	* glib.m4: Remove.
	* gtk.m4: Remove.
	* configure.in: Update AM_PATH_GTK macro call to
	AM_PATH_GTK_2_0.  Likewise for AM_PATH_GLIB.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.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_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c,
	jni/gtk-peer/gthread-jni.h:
	New versions from classpath.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2003-06-30  Gary Benson  <gbenson@redhat.com>

	For PR libgcj/11349:
	* javax/naming/spi/NamingManager.java (getURLContext): Use
	correct name for factory class.

2003-06-28  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java
	(checkError): Call flush() instead of direct flushing of the Writer
	object.
	(print): Call print(String) instead of direct print method of the
	Writer Object.
	(println): Call println(String) instead of direct println method of the
	Writer Object.
	(write): Simplified.

2003-06-28  Michael Koch  <konqueror@gmx.de>

	* java/net/ServerSocket.java
	(setChannel): New method.
	* java/net/Socket.java
	(setChannel): New method.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextSupport.java:
	New version from classpath.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java,
	java/awt/font/GraphicAttribute.java,
	java/awt/font/ImageGraphicAttribute.java,
	java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferUShort.java,
	java/awt/image/DirectColorModel.java,
	java/awt/image/PixelGrabber.java:
	New versions from classpath.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/security/Certificate.java
	(getGuarantor): Removed wrong @deprecated tag.
	(getPrincipal): Likewise.
	(getPublicKey): Likewise.
	(encode): Likewise.
	(decode): Likewise.
	(getFormat): Likewise.
	(toString): Likewise.
	* java/security/cert/PolicyQualifierInfo.java
	(PolicyQualifierInfo): Made final.
	* javax/security/auth/x500/X500Principal.java
	(serialVersionUID): New member variable.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/text/Format.java
	(serialVersionUID): Fixed value.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/net/Inet4Address.java
	(Inet4Address): Made package-private.
	* java/net/Inet6Address.java
	(Inet4Address): Made package-private.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/io/RandomAccessFile.java
	(readLine): Removed wrong @deprecated tag.
	(getChannel): Made final.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(write): Removed.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Made it a package-private class
	* java/nio/CharBufferImpl.java
	(CharBufferImpl): Made it a package-private class
	* java/nio/DirectByteBufferImpl.java
	(DirectByteBufferImpl): Made it a package-private class
	* java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Made it a package-private class
	* java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Made it a package-private class
	* java/nio/IntBufferImpl.java
	(IntBufferImpl): Made it a package-private class
	* java/nio/LongBufferImpl.java
	(LongBufferImpl): Made it a package-private class
	* java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Made it a package-private class
	* java/nio/channels/FileChannel.java
	(write): Made final.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChanne): Made protected.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* javax/naming/CompositeName.java
	(serialVersionUID): New member variable.
	* javax/naming/CompoundName.java
	(serialVersionUID): New member variable.
	* javax/naming/InitialContext.java
	(InitialContext): Throws NamingException.
	(init): Likewise.
	* javax/naming/LinkRef.java
	(serialVersionUID): New member variable.
	(gteLinkName): Throws NamingException.
	* javax/naming/NamingException.java
	(serialVersionUID): New member variable.
	* javax/naming/NamingSecurityException.java
	(NamingSecurityException): Made abstract.
	(serialVersionUID): New member variable.
	* javax/naming/ReferralException.java
	(serialVersionUID): New member variable.
	* javax/naming/StringRefAddr.java
	(serialVersionUID): New member variable.
	* javax/naming/directory/BasicAttribute.java:
	Reworked imports.
	(serialVersionUID): New member variable.
	(get): Throws NamingException.
	(getAll): Throws NamingException.
	* javax/naming/directory/BasicAttributes.java:
	Reworked imports.
	(serialVersionUID): New member variable.
	* javax/naming/ldap/UnsolicitedNotificationEvent.java
	(serialVersionUID): New member variable.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/swing/Popup.java,
	javax/swing/PopupFactory.java
	* Makefile.in: Regenerated.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JWindow.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/plaf/PopupMenuUI.java,
	javax/swing/plaf/SplitPaneUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	New versions from classpath.
	* javax/swing/Popup.java,
	javax/swing/PopupFactory.jav:
	New source files from classpath.
	* javax/swing/plaf/doc-files/TreeUI-1.png:
	New binary files from classpath.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added javax/swing/plaf/SpinnerUI.java.
	* Makefile.in: Regenerated.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/ActionMapUIResource.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorChooserUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComboBoxUI.java,
	javax/swing/plaf/ComponentInputMapUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DesktopIconUI.java,
	javax/swing/plaf/DesktopPaneUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InputMapUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/InternalFrameUI.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/MenuBarUI.java,
	javax/swing/plaf/MenuItemUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/RootPaneUI.java,
	javax/swing/plaf/ScrollBarUI.java,
	javax/swing/plaf/ScrollPaneUI.java,
	javax/swing/plaf/SeparatorUI.java,
	javax/swing/plaf/SliderUI.java,
	javax/swing/plaf/TableHeaderUI.java,
	javax/swing/plaf/TableUI.java,
	javax/swing/plaf/ToolBarUI.java,
	javax/swing/plaf/ToolTipUI.java,
	javax/swing/plaf/ViewportUI.java:
	New versions from classpath.
	* javax/swing/plaf/SpinnerUI.java: 
	New file from classpath

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/ColorModel.java:
	New version from classpath.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainDatagramSocketImpl.java:
	Partly merged with classpath, this mainly adds documentation.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectInputStream.java
	(readClassDescriptor): New method.
	(readObject): Moved functionality to readClassDescriptor().
	* java/io/ObjectOutputStream.java
	(writeClassDescriptor): New method.
	(writeObject): Moved functionality to writeClassDescriptor().

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Added missing methods.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/event/AncestorEvent.java
	javax/swing/event/HyperlinkEvent.java
	javax/swing/event/InternalFrameEvent.java
	javax/swing/event/ListDataEvent.java
	javax/swing/event/TableModelEvent.java:
	Compile fixes.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java:
	Renamed "handler" to "ph" in the whole file to match classpaths
	version.
	* java/net/URLStreamHandler.java:
	(equals): Renamed "handler" to "ph".

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DesktopIconUI.java,
	javax/swing/plaf/DesktopPaneUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InputMapUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/InternalFrameUI.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/MenuBarUI.java,
	javax/swing/plaf/MenuItemUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/doc-files/ComponentUI-1.dia,
	javax/swing/plaf/doc-files/ComponentUI-1.png:
	New versions from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java
	(cap): Made package-private.
	(pos): Likewise.
	(limit): Likewise.
	(mark): Likewise.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketImpl.java
	(shutdownInput): Made it non-abstract method throwing an exception
	like in SUNs JRE.
	(shutdownOutput): Likewise.
	* java/net/SocketInputStream.java,
	java/net/SocketOutputStream.java:
	New files from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java,
	java/awt/Window.java,
	java/awt/color/ColorSpace.java,
	java/awt/datatransfer/StringSelection.java,
	java/awt/image/ColorModel.java:
	New versions from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	javax/swing/plaf/basic/BasicSplitPaneUI.java
	* Makefile.in: Regenerated.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/JTextComponent.java:
	New version from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Timer.java,
	javax/swing/plaf/ActionMapUIResource.java,
	javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorChooserUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComboBoxUI.java,
	javax/swing/plaf/ComponentInputMapUIResource.java,
	javax/swing/plaf/basic/BasicBorders.java:
	New versions from classpath.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java.
	javax/swing/plaf/basic/BasicSplitPaneUI.java:
	New file from classpath.
	* 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.FieldBorder-1.png,
	javax/swing/plaf/doc-files/ComponentUI-1.dia,
	javax/swing/plaf/doc-files/ComponentUI-1.png:
	New binary files from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/io/LineNumberReader.java
	(skip): Dont do line number accounting here as this is already done in
	read(), simplified.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(static): Load javaio lib if existing (only in classpath).
	(File): Revised documentation to show the correct argument name.
	(createTempFile): Partly merged with classpath.
	(compareTo): Simplified.
	(lastModified): Throw exception if time < 0.
	(deleteOnExit): Revised documentation.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java:
	Reformatted.
	(PlainSocketImpl): Merged class documentaion with classpath.
	(in): Moved.
	(out): Moved.
	(PlainSocketImpl): New empty constructor.
	(finalize): Moved.
	(setOption): Merged documentation from classpath.
	(getOption): Likewise.
	(create): Likewise.
	(connect): Likewise.
	(bind): Likewise.
	(listen): Likewise.
	(accept): Likewise.
	(available): Likewise.
	(close): Likewise.
	(read): Likewise.
	(write): Likewise.
	(getInputStream): Made synchronozed to get sure that only one stream
	object can be created for this socket, merged documentation from
	classpath.
	(getOutputStream): Likewise.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java:
	Reformatting.
	(static): New implicit method.
	(read): Made package private.
	(write): Likewise.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/util/SimpleTimeZone.java:
	Removed unneeded import, reformatting.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/text/DateFormat.java,
	java/text/SimpleDateFormat.java,
	java/util/Locale.java:
	New versions from classpath.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/SpinnerModel.java:
	New file from classpath.
	* javax/swing/border/LineBorder.java,
	javax/swing/border/SoftBevelBorder.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicBorders.java:
	New versions from classpath.
	* 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:
	New binary files from classpath.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/util/logging/LogRecord.java,
	java/util/logging/Logger.java,
	java/util/logging/SocketHandler.java,
	java/util/logging/SimpleFormatter.java,
	java/util/logging/Formatter.java,
	java/util/logging/ErrorManager.java,
	java/util/logging/Handler.java,
	java/util/logging/FileHandler.java,
	java/util/logging/LogManager.java,
	java/util/logging/Level.java,
	java/util/logging/ConsoleHandler.java,
	java/util/logging/StreamHandler.java,
	java/util/logging/LoggingPermission.java,
	java/util/logging/Filter.java,
	java/util/logging/MemoryHandler.java,
	java/util/logging/XMLFormatter.java:
	New files from classpath.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectStreamField.java
	(unshared): new member variable.
	(ObjectStreamField): New constructor.
	(isUnshared): New method.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URLStreamHandler.java
	(hostsEqual): Rewritten.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	Removed
	* java/nio/MappedByteBufferImpl.java:
	New file.
	* gnu/java/nio/FileChannelImpl.java:
	Use MappedByteBufferImpl instead of MappedByteFileBuffer.
	* Makefile.am
	(ordinary_java_source_files): Removed
	gnu/java/nio/MappedByteFileBuffer.java and added
	java/nio/MappedByteBufferImpl.java.
	(nat_source_files): Removed gnu/java/nio/natMappedByteFileBuffer.cc
	* Makefile.in: Regenerated.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(fd): Removed.
	(blocking): New member variable.
	(socket): Likewise.
	(DatagramChannelImpl): Throws IOException, initialize socket.
	(socket):Implemented.
	(implCloseSelectableChannel): Throws IOException, implemented.
	(implConfigureBlocking): Likewise.
	(connect): Likewise.
	(disconnect): Likewise.
	(isConnected): Likewise.
	(write): Likewise.
	(read): Likewise.
	(receive): Throws IOException.
	(send): Likewise.
	* gnu/java/nio/SocketChannelImpl.java
	(read): Implemented.
	(write): Implemented.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java,
	javax/swing/JInternalFrame.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/SwingUtilities.java,
	javax/swing/ToggleButtonModel.java:
	New versions from classpath.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java
	(NULLORDER): Initialize with -1 as JDK documentation says.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java,
	java/net/Inet4Address.java,
	java/net/Inet6Address.java,
	java/net/SocketImpl.java,
	java/net/URLClassLoader.java:
	Reworked import statements.
	* java/net/InetAddress.java
	(getByAddress): Simplified.
	* java/net/ServerSocket.java
	(ServerSocket): Moved special handling during bind operation to
	bind().
	(bind): Handle different cases when trying to bind a socket.
	* java/net/URLConnection.java
	(getHeaderFieldDate): Merged with classpath.
	(getHeaderFieldInt): Likewise.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/InflaterInputStream.java
	(InflaterInputStream): Throw NullPointerException if in is null (as
	JDK does).

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java
	javax/swing/UIManager.java
	javax/swing/border/AbstractBorder.java
	javax/swing/border/BevelBorder.java
	javax/swing/border/Border.java
	javax/swing/border/CompoundBorder.java
	javax/swing/border/EmptyBorder.java
	javax/swing/border/EtchedBorder.java
	javax/swing/border/LineBorder.java
	javax/swing/border/MatteBorder.java
	javax/swing/border/TitledBorder.java
	javax/swing/plaf/BorderUIResource.java
	javax/swing/plaf/basic/BasicBorders.java
	javax/swing/plaf/basic/BasicButtonUI.java
	javax/swing/plaf/basic/BasicCheckBoxUI.java
	javax/swing/plaf/basic/BasicGraphicsUtils.java
	javax/swing/plaf/basic/BasicLabelUI.java
	javax/swing/plaf/basic/BasicRadioButtonUI.java
	javax/swing/plaf/basic/BasicToggleButtonUI.java:
	New versions from classpath.
	* javax/swing/border/SoftBevelBorder.java:
	New file from classpath.
	* javax/swing/border/doc-files/LineBorder-1.png,
	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/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.MarginBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-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:
	New binary files from classpath.
	* Makefile.am
	(awt_java_source_files): Added
	javax/swing/border/SoftBevelBorder.java.
	* Makefile.in: Regenerated.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java
	(writeReplace): Merged from classpath.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(map_address): Made public.
	(FileChannelImpl): Merged with classpath.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Commented out unused arguments.
	(nio_unmmap_file): Likewise.
	(niu_msync): Likewise.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/IndexColorModel.java:
	New version from classpath.

2003-06-18  Tom Tromey  <tromey@redhat.com>

	* java/net/Inet6Address.java (isAnyLocalAddress): Don't use "=="
	on arrays.
	(isLoopbackAddress): Likewise.
	* java/net/Inet4Address.java (isAnyLocalAddress): Don't use "=="
	on arrays.

2003-06-18  Matt Kraai  <kraai@alumni.cmu.edu>

	* java/lang/natVMSecurityManager.cc (getClassContext):
	Use maxlen instead of len for loop bound.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(register): Use fd with value 0 for now, will be fixed later.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(ServerSocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Added comment.
	(accept): Use jaba.net stuff to accept socket.
	* gnu/java/nio/SocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(SocketCreate): Removed.
	(SocketConnect): Removed.
	(SocketBind): Removed.
	(SocketListen): Removed.
	(SocketAvailable): Removed.
	(SocketClose): Removed.
	(SocketRead): Removed.
	(SocketWrite): Removed.
	(SocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Fixed implementation, added comment.
	(connect): Use internal socket object to connect.
	(socket): No need for sanity checks.
	(read): Comment out some stuff, this will be reimplemented in the next
	commit.
	(write): Likewise.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Line wrapped.
	* gnu/java/nio/natSocketChannelImpl.cc: Removed.
	* Makefile.am
	(nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc.
	* Makefile.in: Regenerated.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* java/util/Locale.java
	(equals): Merged from classpath.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Reformatted to better match classpath's version.
	* java/net/URL.java
	(equals): Simplified.
	* java/net/URLConnection.java
	(setDoInput): Revised documentation.
	(getDefaultUseCaches): Likewise.
	(setRequestProperty): Added @since tag.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(InetSocketAddress): Use wildcard address if addr is null.
	(InetSocketAddress): Dont duplicate implementation.
	(InetSocketAddress): Throw exception when hostname is null.
	* java/net/Socket.java:
	Reworked imports.
	(Socket): Throw exception when raddr is null, handle case when laddr
	is null.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java
	(address): Made package private.
	(DirectByteBufferImpl): New constructor.
	* java/nio/natDirectByteBufferImpl.cc
	(allocateImpl): Moved to java.nio namespace, implemented.
	(freeImpl): Likewise.
	(getImpl): Likewise.
	(putImpl): Likewise.
	* jni.cc
	(_Jv_JNI_NewDirectByteBuffer): Implemented.
	(_Jv_JNI_GetDirectBufferAddress): Implemented.
	(_Jv_JNI_GetDirectBufferCapacity): Implemented.

2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* include/powerpc-signal.h: New File.
	* configure.in: Use it.
	* configure: Regenerated.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/Locale.java
	(getDisplayLanguage): Made it final.
	(getDisplayCountry): Likewise.
	(getDisplayVariant): Likewise.
	(getDisplayName): Likewise.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/PropertyResourceBundle.java:
	Removed unneeded import.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/prefs/AbstractPreferences.java,
	java/util/prefs/PreferencesFactory.java:
	Reworked imports, removed unused imports.
	* java/util/prefs/Preferences.java
	(systemNodeForPackage): Method takes a Class not an Object.
	(userNodeForPackage): Likewise.
	(nodeForPackage): Likewise.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java:
	Explicitely import used classes.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/ZipEntry.java,
	java/util/zip/ZipFile.java,
	java/util/zip/ZipInputStream.java,
	java/util/zip/ZipOutputStream.java:
	Reworked imports, only import used classes.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ArrayHelper.java,
	gnu/java/lang/ClassHelper.java:
	Reformatted to match classpath's versions.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
        (map_address): Removed incorrect comment.        
	* gnu/java/nio/SelectorImpl.java
        (register): Remove code duplication and code for file channel handling.        
	* gnu/java/nio/ServerSocketChannelImpl.java
        (serverSocket): Renamed from sock_object.
        (ServerSocketChannel): Initialize serverSocket.
        (socket): Return serverSocket.
	* gnu/java/nio/SocketChannelImpl.java
        (socket): Renamed from sock_object.
        (isConnectionPenging): Simplified.
        (socket): Return socket.
2003-06-14  Michael Koch  <konqueror@gmx.de>

	* java/security/BasicPermission.java:
	New version from classpath.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* javax/naming/directory/Attribute.java:
	New version from classpath.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedReader.java,
	java/io/FileOutputStream.java:
	New versions from classpath.

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

	* prims.cc (catch_segv): Create exception in handler.
	(catch_fpe): Likewise.	
	(_Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ): Likewise.
	(_Jv_ThrowSignal): Remove.

	* include/x86_64-signal.h (INIT_SEGV): Delete reference to nullp.
	* include/default-signal.h (INIT_SEGV, INIT_FPE): Delete reference
	to nullp and arithexception.
	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/i386-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/s390-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/sparc-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/win32-signal.h (INIT_SEGV, INIT_FPE): Likewise.

2003-06-11  Andrew Haley  <aph@redhat.com>

	* jni.cc (_Jv_JNI_check_types): New.
	(_Jv_JNI_SetPrimgitiveArrayRegion): Check array type.
	(_Jv_JNI_GetPrimitiveArrayRegion): Ditto.
	(_Jv_JNI_GetPrimitiveArrayElements): Ditto.
	(_Jv_JNI_ReleasePrimitiveArrayElements): Ditto.
	
	* java/lang/natVMSecurityManager.cc (getClassContext): Fix
	infinite loop.

2003-06-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (loadClass): Not deprecated.
	* java/io/PrintStream.java: Not deprecated.

2003-06-11  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/j2d/IntegerGraphicsState.java (drawOval): implemented.
	(fillOval): implemented
	* gnu/awt/xlib/XGraphics.java (drawArc): implemented.
	(fillArc): implemented.
	* gnu/gcj/xlib/GC.java (drawArc): added native method.
	(fillArc): added native method.
	* gnu/gcj/xlib/natGC.cc (drawArc): added native method.
	(fillArc): added native method.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/im/InputSubset.java:
	New version from classpath.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/BorderFactory.java,
	javax/swing/Box.java,
	javax/swing/BoxLayout.java,
	javax/swing/ButtonGroup.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultListModel.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/FocusManager.java,
	javax/swing/ImageIcon.java,
	javax/swing/InputMap.java,
	javax/swing/JApplet.java,
	javax/swing/JButton.java,
	javax/swing/JCheckBox.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JColorChooser.java,
	javax/swing/JComboBox.java,
	javax/swing/JComponent.java,
	javax/swing/JDesktopPane.java,
	javax/swing/JDialog.java,
	javax/swing/JEditorPane.java,
	javax/swing/JFileChooser.java,
	javax/swing/JFormattedTextField.java,
	javax/swing/JFrame.java,
	javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java,
	javax/swing/JList.java,
	javax/swing/JMenuBar.java,
	javax/swing/JMenuItem.java,
	javax/swing/JOptionPane.java,
	javax/swing/JPanel.java,
	javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java,
	javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JRootPane.java,
	javax/swing/JScrollBar.java,
	javax/swing/JScrollPane.java,
	javax/swing/JSeparator.java,
	javax/swing/JSlider.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JTable.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JToolBar.java,
	javax/swing/JToolTip.java,
	javax/swing/JTree.java,
	javax/swing/JViewport.java,
	javax/swing/JWindow.java,
	javax/swing/KeyStroke.java,
	javax/swing/ListSelectionModel.java,
	javax/swing/LookAndFeel.java,
	javax/swing/RepaintManager.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SizeRequirements.java,
	javax/swing/SwingConstants.java,
	javax/swing/Timer.java,
	javax/swing/UIDefaults.java,
	javax/swing/UIManager.java,
	javax/swing/border/AbstractBorder.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/colorchooser/AbstractColorChooserPanel.java,
	javax/swing/colorchooser/ColorChooserComponentFactory.java,
	javax/swing/colorchooser/ColorSelectionModel.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameAdapter.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/MouseInputAdapter.java,
	javax/swing/event/SwingPropertyChangeSupport.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/filechooser/FileFilter.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/filechooser/FileView.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/tree/AbstractLayoutCache.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/DefaultTreeCellEditor.java,
	javax/swing/tree/DefaultTreeCellRenderer.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/FixedHeightLayoutCache.java,
	javax/swing/tree/TreeCellEditor.java,
	javax/swing/tree/TreeModel.java,
	javax/swing/tree/TreeNode.java,
	javax/swing/tree/TreePath.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/tree/VariableHeightLayoutCache.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/CompoundEdit.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/undo/UndoableEditSupport.java:
	New versions from classpath.
	* javax/swing/table/JTableHeader.java:
	New file from classpath.
	* Makefile.am
	(java_awt_sources): Added javax/swing/table/JTableHeader.java.
	* Makefile.in: Regenerated.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/MappedByteBuffer.java,
	java/nio/channels/Channels.java,
	java/nio/channels/ServerSocketChannel.java,
	java/nio/channels/spi/AbstractSelector.java:
	Removed unneeded imports.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java:
	Partly merged with classpath.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/Frame.java,
	java/awt/Graphics.java,
	java/awt/Menu.java,
	java/awt/Robot.java,
	java/awt/image/ColorModel.java:
	New versions from classpath.

2003-06-10  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java:
	Merged version from classpath.
	(close): Removed sychronized keyword. This class is not garantied to
	be thread-safe.
	(write): Likewise.

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

	* gnu/gcj/xlib/natFont.cc (getAscent): Correctly access "ascent"
	field.
	(getDescent): Likewise, for "descent".

2003-06-09  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natFont.cc (getMaxAscent): adjusted return value.
	(getMaxDescent): adjusted return value.
	(getAscent): modified to use metrics for 'O'.
	(getDescent): modified to use metrics for 'y'.

2003-06-08  Anthony Green  <green@redhat.com>

	* java/net/URLStreamHandler.java (sameFile): Fix port value
	comparison.
	* java/net/URL.java (handler): Make package private.
	* gnu/gcj/protocol/http/Handler.java (getDefaultPort): New method.

2003-06-07  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/11085:
	* java/text/SimpleDateFormat.java (parse(String,ParsePosition)):
	Limit number of characters in numeric field when required.
	* java/text/DecimalFormat.java (parse(String,ParsePosition)):
	Respect maximumIntegerDigits.

2003-06-08  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(Socket): Dont initialize inputShutdown and outputShutdown twice,
	call bind() and connect() to actually do the bind and connect tasks.
	(bind): Connect to canonical address if bindpoint is null, create
	socket and bind it to bindpoint.
	(connect): Check for exceptions.

2003-06-08  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): No need to set SO_REUSEADDRESS here. This belongs
	into the Multicast constructors.
	* java/net/DatagramSocketImpl.java
	(getOption): Removed.
	(setOption): Removed.
	* java/net/MulticastSocket.java
	(MulticastSocket): Call setReuseAddress (true).
	* java/net/SocketImpl.java
	(getOption): Removed.
	(setOption): Removed.

2003-06-07	Jeff Sturm	<jsturm@one-point.com>

	PR libgcj/10886:
	* gnu/java/rmi/server/UnicastRemoteCall.java (returnValue):
	Test for empty vector.

2003-06-06  Mark Wielaard  <mark@klomp.org>

	* java/security/Security.java (secprops): Initialize.
	(loadProviders): Return boolean.
	(static): Check result of loadProvider calls. If necessary
	display WARNING and fallback to Gnu provider.

2002-06-06  James Clark  <jjc@jclark.com>

	Fix for PR libgcj/8738:
	* gnu/gcj/convert/UnicodeToBytes.java (havePendingBytes): New method.
	* gnu/gcj/convert/Output_SJIS.java (havePendingBytes): Likewise.
	* gnu/gcj/convert/Output_EUCJIS.java (havePendingBytes): Likewise.
	* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Likewise.
	(write): Always decrease avail when count is increased.
	* java/lang/natString.cc (getBytes): Check converter havePendingBytes()
	and whether output buffer is full before increasing size.

2002-06-06  Mark Wielaard  <mark@klomp dot org>

	* java/io/PrintStream.java (writeChars(char[],int, int)):
	Check converter.havePendingBytes().
	(writeChars(String,int,int)): Likewise.
	* java/io/OutputStreamWriter.java (writeChars(char[], int, int)):
	Check converter.havePendingBytes() and flush buffer when stalled.

2003-06-07  Michael Koch  <konqueror@gmx.de>

	* include/posix.h
	(O_DSYNC): Define O_DSYNC on platforms not
	supporting O_FSYNC (newlib).

2003-06-06  Mark Wielaard  <mark@klomp.org>

	* java/awt/Toolkit.java (getDefaultToolkit): Add exception cause to
	AWTError.

2003-06-06  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicOptionPaneUI.java:
	More compile fixes from my stupid work yesterday.

2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>

	* java/lang/w_exp.c (o_threshold, u_threshold): Define only
	if _IEEE_LIBM is undefined.

2002-06-05  Loren J. Rittle  <ljrittle@acm.org>

	* libjava/include/posix.h (O_SYNC): Define if not available
	and a reasonable, perhaps more conservative, replacement exists.
	(O_DSYNC): Likewise.
	* java/io/natFileDescriptorPosix.cc (open): Revert last patch.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	More compile fixes for latest Border commit. I should not commit
	something in this heat here ...

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/BevelBorder.java
	(BevelBorder): Removed.
	* javax/swing/border/EmptyBorder.java:
	Reformatted.
	(EmptyBorder): Removed.
	(getBorderInsets): Dont use l, r, t and b.
	* javax/swing/border/EtchedBorder.java
	(EtchedBorder): Removed.
	* javax/swing/border/LineBorder.java
	(LineBorder): Removed.
	* javax/swing/border/MatteBorder.java
	(MatteBorder): Removed.
	* javax/swing/border/TitledBorder.java
	(defaultBorder): Use other default for now.
	(defaultFont): Likewise.
	(defaultColor): Likewise.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/Border.java:
	New version from classpath.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/AbstractBorder.java,
	javax/swing/border/BevelBorder.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/border/EmptyBorder.java,
	javax/swing/border/EtchedBorder.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/TitledBorder.java:
	New versions from Classpath.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* java/awt/Button.java,
	java/awt/Checkbox.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Choice.java,
	java/awt/Container.java,
	java/awt/Dialog.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/Frame.java,
	java/awt/Label.java,
	java/awt/List.java,
	java/awt/Menu.java,
	java/awt/MenuItem.java,
	java/awt/Panel.java,
	java/awt/PopupMenu.java,
	java/awt/Rectangle.java,
	java/awt/ScrollPane.java,
	java/awt/Scrollbar.java,
	java/awt/TextArea.java,
	java/awt/TextField.java,
	java/awt/Window.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/dnd/DragSource.java,
	java/awt/dnd/DragSourceContext.java,
	java/awt/event/HierarchyEvent.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/im/InputContext.java,
	java/awt/image/BufferedImage.java,
	java/awt/image/ComponentColorModel.java,
	java/awt/image/Raster.java,
	java/awt/image/WritableRaster.java,
	java/awt/peer/ComponentPeer.java,
	java/awt/print/PageFormat.java,
	java/awt/print/PrinterJob.java:
	New versions from Classpath.

2003-06-05  Scott Gilbertson  <scottg@mantatest.com>

	* java/text/SimpleDateFormat.java (SimpleDateFormat): Added
	numberFormat.setParseIntegerOnly(true).

2003-06-05  Bert Deknuydt  <Bert.Deknuydt@esat.kuleuven.ac.be>

	* include/posix-threads.h: Include <machine/pal.h> on OSF.

2003-06-03  Andrew Haley  <aph@redhat.com>

        * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on
        stack volatile to prevent optimization from removing it.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/Deflater.java
	(FILTERED): Merged documentation from classpath.
	* java/util/zip/DeflaterOutputStream.java
	(DeflaterOutputStream): Merged documentation and argument validity
	check from classpath.
	(deflate): Merged documentation from classpath.
	(finish): Likewise.
	* java/util/zip/Inflater.java
	(Inflater): Merged class documentation from classpath.
	(zstream): Reordered.
	(is_finished): Reordered.
	(dict_needed): Reordered.
	(Inflater): Reordered, merged documentation from classpath.
	(end): Likewise.
	(finalize): Merged documentation from classpath.
	(finished): Likewise.
	(getAdler): Likewise.
	(getRemaining): Likewise.
	(getTotalIn): Likewise.
	(getTotalOut): Likewise.
	(inflate): Likewise.
	(needsDictionary): Likewise.
	(needsInput): Likewise.
	(reset): Likewise.
	(setDictionary): Likewise.
	(setInput): Likewise.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(getHeaderFieldInt): Merged with classpath.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java
	(PrintStream): Reformatted.
	(PrintStream): New method, merged from classpath.
	(write): Reformatted.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/lang/System.java:
	Explicitely import needed classes.

2003-05-26  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java,
	java/net/NetworkInterface.java,
	java/net/PasswordAuthentication.java,
	java/net/SocketPermission.java:
	New versions from classpath.

2003-05-25  Michael Koch  <konqueror@gmx.de>

	* java/io/PushbackInputStream.java,
	java/net/Authenticator.java,
	java/net/ContentHandler.java,
	java/net/ContentHandlerFactory.java,
	java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java,
	java/net/DatagramSocketImplFactory.java,
	java/net/FileNameMap.java,
	java/net/SocketImplFactory.java,
	java/net/SocketOptions.java,
	java/net/URLStreamHandlerFactory.java:
	Merged new versions from classpath.

2003-05-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/Checkbox.java,
	java/awt/Dialog.java,
	java/awt/Font.java,
	java/awt/Frame.java,
	java/awt/ScrollPaneAdjustable.java,
	java/awt/Scrollbar.java,
	java/awt/Window.java:
	New versions from classpath.

2003-05-22	Jeff Sturm	<jsturm@one-point.com>

	PR libgcj/10838:
	* java/io/ObjectInputStream (enableResolveObject):
	Fixed spelling of permission name.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java
	(convertFromUTF): Merged comment from classpath.
	* java/io/PrintStream.java
	(error_occured): Renamed from error, merged comment from classpath.
	(PrintStream): No need to initialized error.
	(checkError): Replace error with error_occurred.
	(setError): Likewise.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java:
	Reformatted, Replaced < and & with html entitites in documentation.
	* java/io/File.java:
	Reformatted.
	* java/io/PrintWriter.java:
	Moved class documentation.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc,
	gnu/java/nio/ShortBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java:
	Moved files to java/nio.
	* gnu/java/nio/SocketChannelImpl.java
	
	* java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java:
	Dont import anything.
	* java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/CharViewBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/DoubleViewBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/FloatViewBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/IntViewBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/LongViewBufferImpl.java,
	java/nio/natDirectByteBufferImpl.cc,
	java/nio/ShortBufferImpl.java,
	java/nio/ShortViewBufferImpl.java:
	Moved from gnu/java/nio.
	* Makefile.am
	(ordinary_java_source_files): Moved files from gnu/java/nio to
	java/nio.
	(nat_source_files): Moved natDirectByteBufferImpl.cc from gnu/java/nio
	to java/nio.
	* Makefile.in: Regenerated.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/util/Calendar.java
	(get): Not final anymore since JDK 1.4
	(set): Likewise.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationKey.java:
	Merged copyright and dat from classpath.
	* java/text/RuleBasedCollator.java:
	Merged class documentation from classpath.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(toString): Compile fix.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/DirectByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/FileLockImpl.java
	(isValid): Reformatted.
	* java/nio/Buffer.java
	(Buffer): Fixed off-by-one bug in handling mark.
	* java/nio/ByteBuffer.java:
	Added newline.
	* java/nio/CharBuffer.java
	(toString): Don't use relative get to get string data.

2003-05-16  Michael Koch  <konqueror@gmx.de>

	* java/io/natFileDescriptorPosix.cc
	(open): Commented out the O_SYNC and O_DSYNC usage until its better
	tested.

2003-05-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileLockImpl.java
	(released): New member variable.
	(FileLockImpl): Initialize released.
	(releaseImpl): New native method.
	(release): Implemented.
	* gnu/java/nio/SelectorImpl.java: Reformatted.
	* gnu/java/nio/SelectionKeyImpl.java: Reformatted.
	* gnu/java/nio/ServerSocketChannelImpl.java: Reformatted.
	(accept): Throws IOException.
	* gnu/java/nio/SocketChannelImpl.java: Reformatted.
	(implConfigureBlocking): Throws IOException.
	(connect): Likewise.
	(read): Likewise.
	(write): Likewise.
	* gnu/java/nio/natFileLockImpl.cc: New file.
	* java/nio/channels/FileLock.java: Reformatted.
	* Makefile.am:
	(ordinary_java_source_files): Added gnu/java/nio/FileLockImpl.java.
	(nat_source_files): Added gnu/java/nio/natFileLockImpl.cc.
	* Makefile.in: Regenerated.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/CharViewBufferImpl.java
	(CharViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/DoubleViewBufferImpl.java
	(DoubleViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/FloatViewBufferImpl.java
	(FloatViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/IntViewBufferImpl.java
	(IntViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/LongViewBufferImpl.java
	(LongViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/ShortViewBufferImpl.java
	(ShortViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natDirectByteBufferImpl.cc
	(allocateImpl): jlong -> RawData*.
	(freeImpl): Likewise.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannel.java
	(MapMode.m): Made it package-private to match JDK 1.4.
	* java/nio/charset/Charset.java
	(decode): Made it final to match JDK 1.4.

2003-05-13  Michael Koch  <konqueror@gmx.de>

       * java/io/FileDescriptor.java
       (SYNC): New constant.
       (DSYNC): Likewise.
       (getLength): Renamed from lenght() to match classpath's
       FileDescriptor.java.
       * java/io/RandomAccessFile.java
       (RandomAccessFile): Removed unneeded mode check, implemented mode
       "rws" and "rwd", merged documentation from classpath.
       (setLength): Reformatted.
       (length): Use new getLength() of FileDescriptor.
       * java/io/natFileDescriptorEcos.cc
       (getLength): Renamed from length().
       * java/io/natFileDescriptorPosix.cc
       (open): Implemented support for SYNC and DSYNC.
       (seek): Use getLength() instead of length().
       (getLength): Renamed from length().
       * java/io/natFileDescriptorWin32.cc
       (getLength): Renamed from length().
       (seek): Use getLength() instead of length().
       (available): Likewise.
       * gnu/java/nio/natFileChannelImpl.cc
       (size): Use getLength() instead of length().

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): All constructors revised.
	(slice): Reimplemented.
	(duplicate): Reimplemented.
	(asReadOnlyBuffer): Reimplemented.
	* java/nio/ByteBuffer.java:
	Reformatted.
	(array_offset): Renamed from "offset" to match all other buffer
	classes.
	(ByteBuffer): All constructors revised.
	(allocateDirect): Implemented.
	(allocate): New implementation, documentation reworked.
	(wrap): Likewise.
	(get): Documentation reworked.
	(put): New implementation, documentation reworked.
	(hasArray): Documentation reworked.
	(arrayOffset): Likewise.
	(hashCode): Likewise.
	(equals): Likewise.
	(compareTo): Likewise.
	(order): Likewise.
	(compact): Likewise.
	(isDirect): Likewise.
	(slice): Likewise.
	(duplicate): Likewise.
	(asReadOnlyBuffer): Likewise.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/DirectByteBufferImpl.java.
	(nat_source_files):
	Added gnu/java/nio/natDirectByteBufferImpl.cc.
	* Makefile.in: Regenerated.

2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java: Reformatted.
	(nio_get_*): Removed.
	(nio_put_*): Removed.
	(as*Buffer): Implemented.
	(compact): Implemented.
	(get): Documentation added.
	(put): Documentation added.
	(get*): Newly implemented.
	(put*): Newly implemented.
	* gnu/java/nio/CharBufferImpl.java: Reformatted.
	(CharBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/DirectByteBufferImpl.java
	(allocateDirect): objects can be null not 0.
	* gnu/java/nio/DoubleBufferImpl.java: Reformatted.
	(DoubleBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/FloatBufferImpl.java: Reformatted.
	(FloatBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/IntBufferImpl.java: Reformatted.
	(IntBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/LongBufferImpl.java: Reformatted.
	(LongBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/ShortBufferImpl.java: Reformatted.
	(ShortBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* java/nio/CharBuffer.java: Reformatted, much documentation rewritten.
	(CharBuffer): Revised.
	(order): Removed.
	* java/nio/DoubleBuffer.java: Reformatted, much documentation rewritten.
	(DoubleBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/FloatBuffer.java: Reformatted, much documentation rewritten.
	(FloatBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/IntBuffer.java: Reformatted, much documentation rewritten.
	(IntBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/LongBuffer.java: Reformatted, much documentation rewritten.
	(LongBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/ShortBuffer.java: Reformatted, much documentation rewritten.
	(ShortBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* gnu/java/nio/natByteBufferImpl.cc: Removed.
	* gnu/java/nio/natCharBufferImpl.cc: Removed.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java
	(nat_source_files): Removed the following files:
	gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc
	* Makefile.in: Regenerated.

2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc:
	New files, not yet to be compiled.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/ViewportUI.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxUI.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicIconFactory.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java,
	javax/swing/plaf/basic/BasicPanelUI.java,
	javax/swing/plaf/basic/BasicRadioButtonUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicToggleButtonUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java,
	javax/swing/plaf/basic/BasicViewportUI.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java:
	New versions from classpath. This adds copyrights to all files and
	some serialVersionUIDs.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/DoubleBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	(put): Reformatted.
	* java/nio/FloatBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/IntBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/LongBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/ShortBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(put): Fixed precondtion check.
	(toString): Make it work without backing array.
	(put): Skip one level of method calling.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/security/Identity.java,
	java/security/IdentityScope.java,
	java/security/Key.java,
	java/security/KeyPair.java,
	java/security/PrivateKey.java,
	java/security/Provider.java,
	java/security/PublicKey.java,
	java/security/SecureRandom.java,
	java/security/SecureRandomSpi.java,
	java/security/SignedObject.java,
	java/security/Signer.java,
	java/security/cert/Certificate.java,
	java/security/cert/PKIXCertPathBuilderResult.java,
	java/security/cert/X509Certificate.java:
	New versions from classpath.

2003-05-09  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Removed old files.
	* gnu/java/nio/natDoubleBufferImpl.cc: Removed.
	* gnu/java/nio/natFloatBufferImpl.cc: Removed.
	* gnu/java/nio/natIntBufferImpl.cc: Removed.
	* gnu/java/nio/natLongBufferImpl.cc: Removed.
	* gnu/java/nio/natShortBufferImpl.cc: Removed.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(nio_cast): Removed.
	(ByteBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	(asCharBuffer): Removed implementation and throw exception.
	(asShortBuffer): Likewise.
	(asIntBuffer): Likewise.
	(asLongBuffer): Likewise.
	(asFloatBuffer): Likewise.
	(asDoubleBuffer): Likewise.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/natByteBufferImpl.cc
	(nio_cast): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	* gnu/java/nio/natCharBufferImpl.cc
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(getJarEntry): Merged documentation from classpath.
	(getJarFile): Likewise.
	(getMainAttributes): Likewise.
	(getAttributes): Likewise.
	(getManifest): Likewise.
	(getCertificates): Reformatted.
	* java/net/URLConnection.java:
	Little classpath merge.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(writeShort): Made it synchronized.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Liekwise.
	(writeUTF): Made it synchronized, renamed argument to match classpath.
	* java/io/InputStreamReader.java
	(converter): Added documentation.
	(read): Merged documentation from classpath.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Merged documentation from classpath.
	(close): Reformatted.
	(getEncoding): Likewise.
	(flush): Likewise.
	(write): Merged documentation from classpath, reformatted.

2003-05-08  Tom Tromey  <tromey@redhat.com>

	* configure.host <powerpc64*-*>: Set with_libffi_default and
	libgcj_interpreter to "yes".

2003-05-08  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natGC.cc (drawString): Removed obsolete code.
	
2003-05-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc: Reverted previous patch.

2003-05-06  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(write): Renamed argument to "value", merged documentation from
	classpath.
	(writeBoolean): Likewise.
	(writeByte): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(writeChars): Likewise.
	(writeUTF): Likewise.
	* java/io/File.java
	(performDelete): Added documentation.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(delete): Made it sychronized.
	(renameTo): Made it sychronized.
	(equals): Reformatted.
	(isHidden): Likewise.
	(listFiles): Likewise.
	(setReadOnly): Likewise.
	(listRoots): Likewise.
	(setLastModified): Likewise.
	(checkRead): Likewise.
	(checkWrite): Likewise.
	* java/io/FileInputStream.java
	(skip): Made it sychronized, merged from classpath.
	* java/io/FileOutputStream.java
	(write): Merged from classpath.
	* java/io/InputStreamReader.java:
	(InputStreamReader): Merged documentation from classpath.

2003-05-05  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java
	(networkInterfaces): Removed.
	(getByName): Use getRealNetworkInterfaces() instead of
	networkInterfaces.
	(getByInetAddress): Likewise.
	(getNetworkInterfaces): Likewise.
	(toString): Fix output of addresses of an interface.

2003-05-05  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java:
	Merged new documentation from classpath.

2003-05-03  Matt Kraai  <kraai@alumni.cmu.edu>

	* gnu/awt/gtk/GtkButtonPeer.java: Fix misspelling of
	"version".
	* gnu/awt/gtk/GtkComponentPeer.java: Likewise.
	* gnu/awt/gtk/GtkContainerPeer.java: Likewise.
	* gnu/awt/gtk/GtkFramePeer.java: Likewise.
	* gnu/awt/gtk/GtkLabelPeer.java: Likewise.
	* gnu/awt/gtk/GtkMainThread.java: Likewise.
	* gnu/awt/gtk/GtkToolkit.java: Likewise.
	* gnu/awt/gtk/GtkWindowPeer.java: Likewise.
	* java/security/Key.java: Likewise.
	* java/security/PrivateKey.java: Likewise.
	* java/security/Provider.java: Likewise.
	* java/security/PublicKey.java: Likewise.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/URI.java
	(create): Doesnt throws any exceptions.
	* java/net/URLConnection.java
	(URLConnection): Commend added.
	(getExpiration): The header field is called "expires" not
	"expiration".
	(getHeaderField): Merged documentation with classpath.
	(getHeaderFieldInt): Likewise.
	(getHeaderFieldDate): Likewise.
	(getHeaderFieldKey): Likewise.
	(getPermission): Likewise.
	(setDefaultUseCaches): Likewise.
	(setRequestProperty): Likewise.
	(addRequestProperty): Likewise.
	(getRequestProperty): Likewise.
	(getRequestProperties): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.
	(guessContentTypeFromStream): Likewise.
	(getFileNameMap): Likewise.
	(setFileNameMap): Likewise.
	(setDoInput): Merged implementation and documentation with classpath.
	(setDoOutput): Likewise.
	(setAllowUserInteraction): Likewise.
	(setDefaultAllowUserInteraction): Likewise.
	(setContentHandlerFactory): Made it synchronized, merged documentation
	with classpath.
	(guessContentTypeFromName): Renamed argument fname to filename to
	match classpath, merged documentation with classpath.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(JarURLConnection): Class documentation merged with classpath.
	(getJarFileURL): Moved and documentation merged with classpath.
	(getEntryName): Likewise.
	(JarURLConnection): Documentation merged with classpath.
	(getJarEntry): Likewise.
	(getJarFile): Likewise.
	* java/net/PlainDatagramSocketImpl.java:
	Class documentation moved.
	* java/net/URLConnection.java
	(fileNameMap): Moved and documentation merged with classpath.
	(factory): Likewise.
	(defaultAllowUserInteraction): Likewis.
	(defaultUseCaches): Likewise.
	(allowUserInteraction): Likewise.
	(connected): Likewise.
	(url): Likewise.
	(connect): Documentation merged with classpath.
	(getURL): Likewise.
	(getContentLength): Likewise.
	(getContentType): Likewise.
	(getContentEncoding): Likewise.
	(getExpiration): Likewise.
	(getDate): Likewise.
	(getLastModified): Likewise.
	(getHeaderField): Likewise.
	(getContent): Likewise.
	(getPermission): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(toString): Likewise.
	(getDoInput): Likewise.
	(getDoOutput): Likewise.
	(setAllowUserInteraction): Likewise.
	(getAllowUserInteraction): Likewise.
	(setDefaultAllowUserInteraction): Likewise.
	(getDefaultAllowUserInteraction): Likewise.
	(setUseCaches): Likewise.
	(getUseCaches): Likewise.
	(setIfModifiedSince): Likewise.
	(getIfModifiedSince): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.
	(setContentHandlerFactory): Likewise.
	(setFileNameMap): Likewise.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Merged class documentation with classpath.
	* java/net/JarURLConnection.java:
	Explicitely import all used classes.
	* java/net/URL.java:
	Reformatting.
	* java/net/ServerSocket.java,
	java/net/Socket.java:
	New versions from classpath.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(read): New implementation.
	(implRead): New methods.
	(write): New implementation, call other write insteal of read method.
	(implWrite): New methods.
	(map): Added comment.
	(transferFrom): Implemented.
	(transferTo): Implemented.
	(lock): Added checks to throw exceptions.
	(truncate): Added check to throw exception.
	* gnu/java/nio/natFileChannelImpl.cc
	(implRead): New method.
	(implWrite): New method.
	* java/nio/ByteBuffer.java
	(hashCode): Fixed comment.
	(get): Fixed exception documentation.
	(put): Fixed exception documentation.
	* java/nio/CharBuffer.java:
	Added comment for later optimizations.

2003-04-30  Tom Tromey  <tromey@redhat.com>

	PR libgcj/10582:
	* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
	Removed.
	(type::compatible): Use _Jv_IsAssignableFrom.
	* java/lang/natClass.cc (iindex_mutex_initialized): Now static.
	(_Jv_IsAssignableFrom): Work even when source or target class is
	not prepared.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/text/BreakIterator.java
	(clone): New method.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/RuleBasedCollator.java:
	Merged copyright and documentation from classpath and
	rearranged some code. No code changes done.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/util/regex/Matcher.java
	(pattern): New member variable.
	(appendReplacement): New method.
	(appendTail): New method.
	(end): New method.
	(find): New method.
	(group): New method.
	(replaceFirst): Added documentation.
	(replaceAll): Added documentation.
	(groupCount): New method.
	(lookingAt): New method.
	(matches): New method.
	(reset): New method.
	(start): New method.
	* java/util/regex/Pattern.java
	(serialVersionUID): New constant.
	(CANON_EQ): New constant.
	(CASE_INSENSITIVE): New constant.
	(COMMENTS): New constant.
	(DOTALL): New constant.
	(MULTILINE): New constant.
	(UNICODE_CASE): New constant.
	(UNIX_LINES): New constant.
	(regex): New member variable.
	(flags): New member variable.
	(Pattern): New method.
	(compile): Documentation added.
	(flags): New method.
	(matches): Documentation added.
	(matcher): Documentation added.
	(split): Documentation added.
	(pattern): New method.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/Engine.java,
	gnu/java/security/OID.java,
	gnu/java/security/der/BitString.java,
	gnu/java/security/der/DER.java,
	gnu/java/security/der/DERReader.java,
	gnu/java/security/der/DERValue.java,
	gnu/java/security/der/DERWriter.java,
	gnu/java/security/provider/DSAKeyFactory.java,
	gnu/java/security/provider/X509CertificateFactory.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,
	java/security/cert/CRLSelector.java,
	java/security/cert/CertPathBuilder.java,
	java/security/cert/CertPathBuilderResult.java,
	java/security/cert/CertPathBuilderSpi.java,
	java/security/cert/CertPathParameters.java,
	java/security/cert/CertPathValidator.java,
	java/security/cert/CertPathValidatorResult.java,
	java/security/cert/CertPathValidatorSpi.java,
	java/security/cert/CertSelector.java,
	java/security/cert/CertStore.java,
	java/security/cert/CertStoreParameters.java,
	java/security/cert/CertStoreSpi.java,
	java/security/cert/CollectionCertStoreParameters.java,
	java/security/cert/LDAPCertStoreParameters.java,
	java/security/cert/PKIXBuilderParameters.java,
	java/security/cert/PKIXCertPathBuilderResult.java,
	java/security/cert/PKIXCertPathChecker.java,
	java/security/cert/PKIXCertPathValidatorResult.java,
	java/security/cert/PKIXParameters.java,
	java/security/cert/PolicyNode.java,
	java/security/cert/PolicyQualifierInfo.java,
	java/security/cert/TrustAnchor.java,
	javax/security/auth/x500/X500Principal.java:
	New files from classpath.
	* gnu/java/io/ASN1ParsingException.java,
	gnu/java/io/Base64InputStream.java,
	gnu/java/security/der/DEREncodingException.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/provider/Gnu.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java,
	java/security/KeyFactory.java,
	java/security/KeyPairGenerator.java,
	java/security/KeyStore.java,
	java/security/MessageDigest.java,
	java/security/SecureClassLoader.java,
	java/security/SecureRandom.java,
	java/security/Security.java,
	java/security/Signature.java,
	java/security/cert/Certificate.java,
	java/security/cert/CertificateFactory.java,
	java/security/cert/CertificateFactorySpi.java,
	java/security/cert/X509CRL.java,
	java/security/cert/X509Certificate.java,
	java/security/spec/DSAPublicKeySpec.java:
	New versions from classpath.
	* gnu/java/security/provider/DERReader.java,
	gnu/java/security/provider/DERWriter.java,
	java/security/Engine.java: Removed.
	* Makefile.am
	(java_source_files, javax_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java
	(AUTO_RESIZE_ALL_COLUMNS): New constant.
	(AUTO_RESIZE_LAST_COLUMN): New constant.
	(AUTO_RESIZE_NEXT_COLUMN): New constant.
	(AUTO_RESIZE_OFF): New constant.
	(AUTO_RESIZE_SUBSEQUENT_COLUMNS): New constant.
	(JTable): New method.
	(columnAdded): New method.
	(columnMarginChanged): New method.
	(columnMoved): New method.
	(columnRemoved): New method.
	(columnSelectionChanged): New method.
	(editingCanceled): New method.
	(editingStopped): New method.
	(getColumnModel): New method.
	(getPreferredScrollableViewportSize): New method.
	(getScrollableBlockIncrement): New method.
	(getScrollableTracksViewportHeight): New method.
	(getScrollableTracksViewportWidth): New method.
	(getScrollableUnitIncrement): New method.
	(getSelectedRow): New method.
	(getSelectionModel): New method.
	(tableChanged): New method.
	(setModel): New method.
	(setSelectionMode): New method.
	(setSelectionModel): New method.
	(setShowGrid): New method.
	(valueChanged): New method.
	* javax/swing/text/DefaultEditorKit.java
	(backwardAction): New constant.
	(beepAction): New constant.
	(beginAction): New constant.
	(beginLineAction): New constant.
	(beginParagraphAction): New constant.
	(beginWordAction): New constant.
	(copyAction): New constant.
	(cutAction): New constant.
	(defaultKeyTypedAction): New constant.
	(deleteNextCharAction): New constant.
	(deletePrevCharAction): New constant.
	(downAction): New constant.
	(endAction): New constant.
	(endLineAction): New constant.
	(endOfLineStringProperty): New constant.
	(endParagraphAction): New constant.
	(endWordAction): New constant.
	(forwardAction): New constant.
	(insertBreakAction): New constant.
	(insertContentAction): New constant.
	(insertTabAction): New constant.
	(nextWordAction): New constant.
	(pageDownAction): New constant.
	(pageUpAction): New constant.
	(pasteAction): New constant.
	(previousWordAction): New constant.
	(readOnlyAction): New constant.
	(selectAllAction): New constant.
	(selectionBackwardAction): New constant.
	(selectionBeginAction): New constant.
	(selectionBeginLineAction): New constant.
	(selectionBeginParagraphAction): New constant.
	(selectionBeginWordAction): New constant.
	(selectionDownAction): New constant.
	(selectionEndAction): New constant.
	(selectionEndLineAction): New constant.
	(selectionEndParagraphAction): New constant.
	(selectionEndWordAction): New constant.
	(selectionForwardAction): New constant.
	(selectionNextWordAction): New constant.
	(selectionPreviousWordAction): New constant.
	(selectionUpAction): New constant.
	(selectLineAction): New constant.
	(selectParagraphAction): New constant.
	(selectWordAction): New constant.
	(upAction): New constant.
	(writableAction): New constant.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/util/PropertyPermission.java:
	New version from classpath
	* java/util/ResourceBundle.java:
	Partly merged from classpath
	(getObject): Reformated.
	(tryBundle): Set foundBundle = null if no bundle found.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractListModel.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultSingleSelectionModel.java:
	New Versions from classpath.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java
	(show): Call super.show() instead of setVisible() to avoid endless
	loop.
	(hide): Call super.hide() instead of setVisible() to avoid endless
	loop.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/Deflater.java,
	java/util/zip/DeflaterOutputStream.java:
	Partly merged with classpath.

2003-04-27  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (_Jv_AllocString): Initialize
	cachedHashCode.
	(init): Likewise.
	(_Jv_NewStringUtf8Const): Likewise.

2003-03-29  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: (_Jv_GetNbArgs) added
	(_Jv_GetSafeArg) added
	(_Jv_SetArgs) added
	* prims.cc: (_Jv_GetNbArgs) implemented
	(_Jv_GetSafeArg) implemented
	(_Jv_SetArgs) implemented
	(_Jv_RunMain) use _Jv_SetArgs() instead of explicitly
	setting _Jv_argc and _Jv_argv
	* posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg()
	instead of _Jv_argv
	* java/lang/natRuntime.cc: (insertSystemProperties) use
	_Jv_GetSafeArg() instead of _Jv_argv

2003-04-23  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Round size up to alignment
	required by this object.  Search superclasses to find required
	alignment.
	(get_alignment_from_class): Use alignment of type as it appears
	in a struct.
	(ALIGNOF): New macro.
	(struct aligner): New helper structure.

2003-04-20  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/Container.java (addImpl): Enable paint events if adding
	a lightweight to a heavyweight.
	(addNotify): Ensure that peer is created before
	addNotifyContainerChildren.
	(addNotifyContainerChildren): Enable paint events if a heavyweight
	container contains a lightweight.

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

	* java/io/BufferedReader.java, java/io/BufferedWriter.java,
	java/io/DataInput.java, java/io/DataOutput.java: Imports from
	Classpath.

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

	* java/sql/Date.java, java/sql/DriverManager.java,
	java/sql/Time.java, java/sql/Timestamp.java: New versions from
	Classpath.

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java, java/security/Engine.java,
	java/security/Identity.java, java/security/IdentityScope.java,
	java/security/KeyFactory.java,
	java/security/KeyPairGenerator.java, java/security/KeyStore.java,
	java/security/MessageDigest.java, java/security/Policy.java,
	java/security/ProtectionDomain.java,
	java/security/SecureRandom.java, java/security/Security.java,
	java/security/Signature.java, java/security/SignatureSpi.java,
	java/security/SignedObject.java, java/security/Signer.java,
	java/security/interfaces/RSAMultiPrimePrivateCrtKey.java,
	java/security/spec/PSSParameterSpec.java,
	java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java,
	java/security/spec/RSAOtherPrimeInfo.java: New versions from
	Classpath.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphics.java (XGraphics): Use new GC.create.
	(dispose): Null metrics.
	* gnu/awt/xlib/XToolkit.java (sync): Implement.
	* gnu/gcj/xlib/Clip.java (dispose): Change name of native from
	finalize.
	(finalize): Call dispose.
	* gnu/gcj/xlib/Drawable.java (gcCache): New field.
	(gcCachedCount): New field.
	(finalize): New method.
	(putGCInCache): New method.
	(getGCFromCache): New method.
	* gnu/gcj/xlib/GC.java (GC): Make protected.
	(clone): Get new GC from cache if possible.
	(create): New static method.
	(dispose): Save old GC in cache.
	* gnu/gcj/xlib/natClip.cc (dispose): Check for null before
	deleting.
	* gnu/gcj/xlib/natGC.cc (initStructure): Call XCreateGC only if gc
	is null.
	* gnu/gcj/xlib/Pixmap.java (Pixmap): Use new GC.create.
	* java/awt/Container.java (visitChild): Dispose gfx2 when
	finished.

2003-04-19  Jerry Quinn  <jlquinn@optonline.net>

	* java/math/BigInteger.java (probablePrime): New.
	* java/math/BigDecimal.java (unscaledValue): New.

2003-04-19  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (getAbsolutePath): On Windows, take care
	of paths like "C:", "G:foo\bar", etc.
	(getName): Make it work correctly on Windows.
	(getParent): Make it work correctly on Windows. For UNIX,
	fix bug that causes "/" to be returned as the parent of "/",
	instead of null as returned by Sun's JRE.

	* java/io/natFileWin32.cc: Change copyright owner to FSF.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphicsConfiguration.java (FontMetricsCache): New
	inner class.
	(CACHE_SIZE_PER_DISPLAY): New field
	(fontMetricsCache): New field
	(getXFontMetrics): Use fontMetricsCache to cache fonts. Prefer
	loading ISO10646-1 fonts.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* libjava/gnu/gcj/xlib/natFont.cc (getStringWidth): Support 16-bit
	characters.
	* libjava/gnu/gcj/xlib/natGC.cc (drawString): Support 16-bit
	characters.

2003-04-16  Richard Earnshaw  <rearnsha@arm.com>

	* java/lang/ieeefp.h: Handle ARM platforms that have pure-endian
	floating point.

2003-04-15  Jakub Jelinek  <jakub@redhat.com>

	* configure.host (*-linux*): Don't set slow_pthread_self if primary
	installed libpthread is either linuxthreads with floating stacks or
	NPTL.

2003-04-14  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Round up class size to multiple
	of alignment.

2003-04-10  Tom Tromey  <tromey@redhat.com>

	* verify.cc (pop64): Removed.
	(verify_instructions_0) <op_pop2>: Inline code.  Don't throw
	exception if top-of-stack is narrow.
	(initialize_stack): Check to ensure that <init> is not static and
	<clinit> is.

2003-04-07  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/ObjectStreamException
	* java/io/FileFilter
	* java/io/FilenameFilter
	* java/io/ObjectInput
	* java/io/ObjectOutput
	* java/io/ObjectStreamConstants
	Minor doc fixes, format fixes, spelling corrections, etc.
	* java/io/DataInput
	Corrected code samples in Javadocs to match reality
	* java/io/DataOutput
	* java/io/ObjectInputValidation
	Major documentation fixes - all Javadocs re-written or updated

2003-04-06  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java:
	Import classes directly.
	(URLConnection): Merged class documentation with classpath.
	(url): Moved, documentation from classpath added.
	(doInput): Moved, documentation from classpath added.
	(doOutput): Moved, documentation from classpath added.
	(allowUserInteraction): Moved.
	(useCaches): Moved, documentation from classpath added.
	(ifModifiedSince): Moved, documentation from classpath added.
	(connected): Moved, documentation from classpath added.

2003-04-06  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(skip): Renamed some variables to match classpath, added
	checks from classpath.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java
	(AbstractAction): Reformatted.
	(serialVersionUID): New private member variable.
	* javax/swing/plaf/BorderUIResource.java
	(serialVersionUID): New private member variable.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(serialVersionUID): New private member variable.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/sql/Date.java
	(valueOf): Deprecated, reformatted.
	(toString): Deprecated, reformatted.
	* java/sql/Time.java
	(valueOf): Deprecated, reformatted.
	(toString): Deprecated, reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/dgc/VMID.java
	(isUnique): Deprecated.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(separator): Merged documentation from classpath.
	(separatorChar): Merged documentation from classpath.
	(pathSeparator): Merged documentation from classpath.
	(pathSeparatorChar): Merged documentation from classpath.
	(path): Merged documentation from classpath.
	(canRead): Merged documentation from classpath.
	(canWrite): Merged documentation from classpath.
	(createNewFile): Merged documentation from classpath.
	(delete): Merged documentation from classpath.
	(equals): Merged documentation from classpath.
	(exists): Merged documentation from classpath.
	(File): Renamed p to name to match classpath, merged documentation
	from classpath.
	(getAbsolutePath): Merged documentation from classpath.
	(getCanonicalPath): Merged documentation from classpath.
	(getCanonicalFile): Merged documentation from classpath.
	(getName): Merged documentation from classpath.
	(getParent): Merged documentation from classpath.
	(getParentFile): Merged documentation from classpath.
	(getPath): Merged documentation from classpath.
	(hashCode): Merged documentation from classpath.
	(isAbsolute): Merged documentation from classpath.
	(isDirectory): Merged documentation from classpath.
	(isFile): Merged documentation from classpath.
	(isHidden): Merged documentation from classpath.
	(lastModified): Merged documentation from classpath.
	(length): Merged documentation from classpath.
	(list): Merged documentation from classpath.
	(listFiles): Merged documentation from classpath.
	(toString): Merged documentation from classpath.
	(toURL): Merged documentation from classpath.
	(mkdir): Merged documentation from classpath.
	(mkdirs): Merged documentation from classpath.
	(createTempFile): Merged documentation from classpath.
	(setReadOnly): Merged documentation from classpath.
	(listRoots): Merged documentation from classpath.
	(compareTo): Merged documentation from classpath.
	(renameTo): Merged documentation from classpath.
	(setLastModified): Merged documentation from classpath.
	* java/io/PrintStream.java
	(auto_flush): Merged documentation from classpath.
	(PrintStream): Merged documentation from classpath.
	(checkError): Merged documentation from classpath.
	(setError): Merged documentation from classpath.
	(close): Merged documentation from classpath.
	(flush): Merged documentation from classpath.
	(print): Merged documentation from classpath.
	(println):  Merged documentation from classpath.
	(write): Renamed count to len to match classpath,
	merged documentation from classpath.
	* java/io/RandomAccessFile.java
	(readShort): Merged documentation from classpath.
	(readUnsignedByte): Merged documentation from classpath.
	(readUnsignedShort): Merged documentation from classpath.
	(readUTF): Merged documentation from classpath.
	(seek): Reformatted, merged documentation from classpath.
	(skipBytes): Renamed some variables to match classpath, reformatted,
	merged documentation from classpath.
	(write): Merged documentation from classpath.
	(writeBoolean): Merged documentation from classpath.
	(writeByte): Merged documentation from classpath.
	(writeShort): Merged documentation from classpath.
	(writeChar): Merged documentation from classpath.
	(writeInt): Merged documentation from classpath.
	(writeLong): Merged documentation from classpath.
	(writeFloat): Merged documentation from classpath.
	(writeDouble): Merged documentation from classpath.
	(writeBytes): Merged documentation from classpath.
	(writeChars): Merged documentation from classpath.
	(writeUTF): Reformatted.
	(getChannel): Reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/TextAttribute.java
	(readResolve): Throws java.io.InvalidObjectException.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/LoaderHandler.java
	(loadClass): Deprecated.
	(getSecurityContext): Deprecated.
	* java/rmi/server/LogStream.java
	(getDefaultStream): Deprecated.
	(setDefaultStream): Deprecated.
	(getOutputStream): Deprecated.
	(setOutputStream): Deprecated.
	(write): Deprecated.
	(toString): Deprecated.
	(parseLevel): Deprecated.
	* java/rmi/server/Operation.java
	(Operation): Deprecated.
	(getOperation): Deprecated.
	(toString): Deprecated.
	* java/rmi/server/RemoteCall.java
	(getOutputStream): Deprecated.
	(releaseOutputStream): Deprecated.
	(getInputStream): Deprecated.
	(releaseInputStream): Deprecated.
	(getResultStream): Deprecated.
	(executeCall): Deprecated.
	(done): Deprecated.
	* java/rmi/server/RemoteRef.java
	(invoke): Deprecated.
	(newCall): Deprecated.
	(done): Deprecated.
	* java/rmi/server/RemoteStub.java
	(setRef): Deprecated.
	* java/rmi/server/Skeleton.java:
	No need to import java.lang.Exception explicitly.
	(dispatch): Deprecated.
	(getOperations): Deprecated.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/dgc/VMID.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/LogStream.java,
	java/rmi/server/Operation.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteRef.java,
	java/rmi/server/RemoteStub.java:
	Reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/ActionMap.java,
	javax/swing/BorderFactory.java,
	javax/swing/ButtonGroup.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/InputMap.java,
	javax/swing/JComponent.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/UIManager.java,
	javax/swing/ViewportLayout.java,
	javax/swing/border/AbstractBorder.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/TreePath.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/UndoableEditSupport.java:
	Merges from classpath.

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

	* java/lang/String.java (data, boffset, count): Documented.
	(String(byte[],String)): Reformatted.
	(String(byte[])): Likewise.
	(lastIndexOf(int)): Likewise.
	(lastIndexOf(String)): Likewise.
	(substring(int)): Renamed argument to match Classpath.
	(String(StringBuffer)): Don't share buffer if it is nearly empty.

	* java/lang/String.java: Miscellaneous minor formatting changes
	to match Classpath more closely.

2003-03-29  Eric Blake  <ebb9@email.byu.edu>
	    Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (hashCode): Use cachedHashCode.
	(init()): Removed.
	(charAt): Put index in exception.
	(contentEquals): New method.
	Include StringBuffer.h.
	* java/lang/String.java (cachedHashCode): New field.
	(String()): Follow classpath implementation.
	(init()): Removed.
	(contentEquals): Declare.
	(subSequence): Don't declare IndexOutIfBoundsException in throws
	clause.
	(matches, replaceFirst, replaceAll, split): New methods from
	Classpath.

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

	* java/lang/String.java: Reordered to follow Classpath; merged in
	javadoc.

	* java/text/MessageFormat.java: Removed some whitespace.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* gnu/javax/rmi/PortableServer.java,
	gnu/javax/rmi/CORBA/DelegateFactory.java,
	gnu/javax/rmi/CORBA/GetDelegateInstanceException.java,
	gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java,
	gnu/javax/rmi/CORBA/StubDelegateImpl.java,
	gnu/javax/rmi/CORBA/UtilDelegateImpl.java,
	gnu/javax/rmi/CORBA/ValueHandlerImpl.java,
	javax/rmi/BAD_OPERATION.java, javax/rmi/ORB.java,
	javax/rmi/PortableRemoteObject.java,
	javax/rmi/CORBA/ClassDesc.java, javax/rmi/CORBA/ObjectImpl.java,
	javax/rmi/CORBA/PortableRemoteObjectDelegate.java,
	javax/rmi/CORBA/Stub.java, javax/rmi/CORBA/StubDelegate.java,
	javax/rmi/CORBA/SystemException.java, javax/rmi/CORBA/Tie.java,
	javax/rmi/CORBA/Util.java, javax/rmi/CORBA/UtilDelegate.java,
	javax/rmi/CORBA/ValueHandler.java: New files from Classpath.

	* java/lang/natClass.cc (newInstance): Put method name in
	exception.
	(getConstructor): Likewise.
	(getDeclaredConstructor): Likewise.
	(getPrivateMethod): Likewise.

2003-03-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/Proxy.java: New version from Classpath.
	* java/lang/Package.java: New version from Classpath.

2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
	* configure: Regenerate.

2003-03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java:
	Import needed classes instead of whole packages, merged class
	documentation with classpath, moved constants and variables to top of
	class.
	* java/io/PrintStream.java:
	Merged class documentation with classpath, moved constants and
	variables to top of class.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Merged with classpath.
	(read): Merged with classpath).
	(read*): Reformatted.

2003-03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/FileDescriptor.java
	(finalize): Throws Throwable, not IOException.
	* java/io/ObjectOutputStream.java
	(PutField.put): Doesnt throws anything.

2003­03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/FileOutputStream.java:
	Merged class documentation and authors with classpath.
	(FileOutputStream): Partly merged with classpath.
	(write): Merged with classpath.
	(getChannel): Make it synchronized instead of explicit block in this
	method.
	* java/io/RandomAccessFile.java:
	Merged class documentation and authors with classpath.

2003-03-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.classpath.home.url.
	* Makefile.in: Rebuilt.
	* Makefile.am: Define LIBDIR.

2003-03-25  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(read): Renamed b to buf and off to offset.
	* java/io/FileOutputStream.java
	(ch): Documentation added.
	(FileOutputStream): Documentation added.
	(getFD): Documentation added.
	(write): Documentation added.
	(close): Documentation added.
	(getChannel): Documentation added.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(write): Merged from classpath.
	* java/io/File.java:
	Merged copyrigth with classpath.
	* java/io/FileInputStream.java
	(getChannel): Made it synchronized instead of using a synchronized
	block.
	* java/io/FileOutputStream.java: Reformatted.
	* java/io/InputStreamReader.java
	(InputStreamReader): Renamed enc to encoding_name.
	(close): Merged documentation from classpath.
	(getEncoding): Merged documentation from classpath.
	(ready): Merged documentation from classpath.
	(read): Merged documentation from classpath.
	* java/io/LineNumberReader.java
	(lineNumber): Made it private.
	(LineNumberReader): Use Constant instead of a direct value.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Renamed enc to encoding_scheme, merged
	documentation from classpath.
	(close): Merged documentation from classpath.
	(flush): Merged documentation from classpath.
	(write): Merged documentation from classpath.
	* java/io/PrintStream.java: Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/ComponentView.java
	(getComponent): Must be final.
	* javax/swing/tree/DefaultTreeCellRenderer.java:
	Reformatted.
	* javax/swing/undo/StateEditable.java:
	Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/rmi/activation/ActivationInstantiator.java:
	Reformatted.
	* java/rmi/activation/Activator.java:
	Reformatted.
	* java/rmi/registry/RegistryHandler.java:
	Remerged from classpath.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/util/Date.java:
	Fixed documentation starting tag to make javadoc happy.
	* java/util/regex/Pattern.java
	(Pattern): Implements Serializable.
	* java/util/PatternSyntaxException.java
	(serialVersionUID): New member variable.

2003-03-24  Michael Koch  <koqnueror@gmx.de>

	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(getFirstComponent): Implemented.
	(getLastComponent): Implemented.
	(getDefaultComponent): Implemented.
	(setImplicitDownCycleTraversal): Fixed implementation.
	* java/awt/Robot.java
	(Robot): Added documentation.
	* java/awt/Toolkit.java
	(getFontList): Deprecated.
	(getFontMetrics): Deprecated.
	(getPrintJob): Added documentation.
	(getSystemSelection): Added documentation.
	(getLockingKeyState): Added documentation.
	(setLockingKeyState): Added documentation.
	(createCustomCursor): Added documentation.
	(getBestCursorSize): Added documentation.
	(getMaximumCursorColors): Added documentation.
	(isFrameStateSupported): Added documentation.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/RandomAccessFile.java:
	More little merges with classpath. No code changes.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/net/natInetAddressNoNet.cc:
	Include stddef.h.
	* java/net/natPlainDatagramSocketImplNoNet.cc:
	Fixed inlcude of java/net/DatagramPacket.h.
	* java/net/natPlainSocketImplNoNet.cc:
	Include some missing classes.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DropTarget.java
	(DropTargetAutoScroller): According to the online documentation, this
	is protected, but in reality it is public.
	* java/awt/dnd/DropTargetContext.java
	(TransferableProxy): According to the online documentation, this
        is protected, but in reality it is public.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java
	(): Wrapped documentation line.
	(): Fixed @return tag.
	* java/io/DataOutputStream.java
	(written): Moved to top of class.
	(all methods): Merged documentation from classpath.
	* java/io/File.java:
	Merged copyright year with classpath.
	* java/io/FileInputStream.java
	(all methods): Merged documentation from classpath.
	* java/io/LineNumberReader.java
	(getLineNumber): Fixed @return tag.
	* java/io/ObjectInputStream.java.
	Reformatted.
	* java/io/ObjectOutputStream.java:
	Reformatted, fixed some @see tags.
	* java/io/OutputStreamWriter.java:
	Deleted empty line.
	* java/io/Writer.java:
	Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/Frame.java
	(DEFAULT_CURSOR): Fixed @deprecated tag.
	(setCursor): Fixed @deprecated tag.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextEvent.java:
	Reformated.

2003-03-23  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/natStringBuffer.cc (regionMatches): New function.
	* java/lang/String.java (count): Now package-private.
	* java/lang/StringBuffer.java: Merged with Classpath.

2003-03-23  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedOutputStream.java:
	Reformated.
	* java/io/BufferedReader.java:
	Reformated.
	* java/io/ByteArrayOutputStream.java
	(size): Fixed @see tag.
	* java/io/CharArrayWriter.java
	(size): Fixed @see tag.
	* java/io/DataInput.java:
	Reformated.
	* java/io/DataOutput.java:
	Reformated.
	* java/io/DataOutputStream.java:
	Merged copyright years with classpath.
	* java/io/Externalizable.java:
	Reformated.
	* java/io/FileFilter.java:
	Reformated.
	* java/io/FileInputStream.java:
	Merged copyright years with classpath.
	* java/io/FileOutputStream.java:
	Merged copyright years with classpath.
	* java/io/FilePermission.java
	(FilePermission): Replaced @XXX with FIXME:.
	* java/io/FileWriter.java:
	Reformated.
	* java/io/FilenameFilter.java:
	Reformated.
	* java/io/FilterInputStream.java:
	Reformated.
	* java/io/FilterOutputStream.java:
	Reformated.
	* java/io/FilterReader.java:
	Reformated.
	* java/io/FilterWriter.java:
	Reformated.
	* java/io/LineNumberInputStream.java
	(LineNumberInputStream): Replaced @code with HTML tags to make javadoc
	happy.
	(getLineNumber): Fixed @return tag.
	* java/io/ObjectInput.java:
	Reformated.
	* java/io/ObjectOutput.java:
	Reformated.
	* java/io/ObjectStreamClass.java:
	Reformated.
	* java/io/PrintStream.java:
	Merged copyright years with classpath.
	* java/io/PushbackReader.java
	(PushbackReader): Replaced @code with @param.
	* java/io/SerializablePermission.java:
	Reformated.
	* java/io/StreamTokenizer.java
	(resetSyntax): Fixed @see tag.

2003-03-22  Richard Henderson  <rth@redhat.com>

	* sysdep/ia64/locks.h: Include ia64intrin.h.
	(compare_and_swap): Use __sync_bool_compare_and_swap.
	(compare_and_swap_release): Expose ar.ccv assignment.

2003-03-22  Andreas Tobler <a.tobler@schweiz.ch>

	* include/posix.h: Add suffix for darwin dynamic libraries.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Action.java
	(ACCELERATOR_KEY): New constant.
	(ACTION_COMMAND_KEY): Likewise.
	(MNEMONIC_KEY): Likewise.
	* javax/swing/UnsupportedLookAndFeelException.java
	(UnsupportedLookAndFeelException): Must be public.
	* javax/swing/WindowConstants.java
	(EXIT_ON_CLOSE): New constant.
	* javax/swing/text/BadLocationException.java
	(offset): New member variable.
	(BadLocationException): New implementation, documentation added.
	(offsetRequested): New method.
	* javax/swing/text/Caret.java:
	Reformated.
	* javax/swing/text/Document.java:
	Reformated.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/rmi/activation/Activatable.java
	(serialVersionUID): New member variable.
	* java/rmi/activation/ActivationGroup.java
	(serialVersionUID): New member variable.
	* java/rmi/activation/ActivationGroupDesc.java
	(serialVersionUID): New member variable.
	* java/rmi/registry/Registry.java:
	Reformated.
	(Registry): Deprecated.
	* java/rmi/server/LoaderHandler.java
	Reformated.
	(LoaderHandler): Deprecated.
	* java/rmi/server/LogStream.java
	Reformated.
	(LogStream): Deprecated.
	* java/rmi/server/Operation.java
	(Operation): Deprecated.
	* java/rmi/server/RMIFailureHandler.java:
	Reformated.
	* java/rmi/server/RMISocketFactory.java:
	Reformated.
	* java/rmi/server/RemoteCall.java
	(RemoteCall): Deprecated.
	* java/rmi/server/RemoteStub.java:
	Reformated.
	* java/rmi/server/Skeleton.java
	Reformated.
	(Skeleton): Deprecated.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/io/LineNumberReader.java
	(LineNumberReader): Merged documentation with classpath.
	(getLineNumber): Likewise.
	(setLineNumber): Likewise.
	(mark): Likewise.
	(reset): Likewise.
	(read): Likewise.
	(readLine): Likewise.
	(skip): Likewise.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/rmi/RMISecurityManager.java
	(checkAccept): Removed.
	(checkAccess): Likewise.
	(checkAccess): Likewise.
	(checkAwtEventQueueAccess): Likewise.
	(checkConnect): Likewise.
	(checkCreateClassLoader): Likewise.
	(checkDelete): Likewise.
	(checkExec): Likewise.
	(checkExit): Likewise.
	(checkLink): Likewise.
	(checkListen): Likewise.
	(checkMemberAccess): Likewise.
	(checkMulticast): Likewise.
	(checkPackageAccess): Likewise.
	(checkPackageDefinition): Likewise.
	(checkPermission): Likewise.
	(checkPrintJobAccess): Likewise.
	(checkPropertiesAccess): Likewise.
	(checkPropertyAccess): Likewise.
	(checkRead): Likewise.
	(checkSecurityAccess): Likewise.
	(checkSetFactory): Likewise.
	(checkSystemClipboardAccess): Likewise.
	(checkTopLevelWindow): Likewise.
	(checkWrite): Likewise.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(address): Removed.
	(map_address): New member variable.
	(length): Make it package private.
	(fd): Make it package private.
	(buf): Make it package private.
	(file_obj): Make it package private.
	(FileChannelImpl): New constructor.
	(nio_mmap_file): Use RawData instead of long.
	(nio_munmap_file): Use RawData instead of long.
	(nio_msync): Use RawData instead of long.
	(implCloseChannel): New implementation using map_address.
	(read): Reformated.
	(map): Implemented.
	(create_direct_mapped_buffer): Implemented, use RawData, throws
	IOException.
	(force): Use map_address instead of address.
	* gnu/java/nio/MappedByteFileBuffer.java
	(address): Removed.
	(map_address): New member variable.
	(MappedByteFileBuffer): Use map_address instead of address, reformated.
	(several methods): Use map_address instead of address, replaced long
	with RawData where appropriate.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Replaced long with RawData.
	(nio_munmap_file): Replaced long with RawData.
	(nio_msync): Replaced long with RawData.
	* gnu/java/nio/natMappedByteFileBuffer.cc
	(several methods): Replaced long with RawData where appropriate.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java,
	java/net/JarURLConnection.java,
	java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java,
	java/net/URLConnection.java:
	Merged copyright statements with classpath for easier merging.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(getChannel): New implementation.
	* java/io/FileOutputStream.java
	(ch): New member variable.
	(getChannel): Implemented.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Throws FileNotFoundException instead of
	IOException.
	(getChannel): New method.
	(ch): New member variable.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java,
	java/io/File.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/InputStreamReader.java,
	java/io/LineNumberReader.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/RandomAccessFile.java:
	Merged copyright statements with classpath for easier merging.

2003-03-19  Michael Koch  <konqueror@gmx.de>

	* java/lang/Process.java:
	Merged from classpath.

2003-03-19  Michael Koch  <konqueror@gmx.de>

	* java/io/FileOutputStream.java
	(FileOutputStream): New constructor, merged from classpath.
	* java/io/FileWriter.java
	(FileWriter): New constructor, merged from classpath.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPane.java
	(ScrollPane): Rewrote for new ScrollPaneAdjustable.
	(getViewportSize): Likewise.
	(addNotify): Likewise.
	(removeNotify): Likewise.
	* java/awt/ScrollPaneAdjustable.java
	(ScrollPaneAdjustable): No longer extends Scrollbar.
	* java/beans/beancontext/BeanContextServices.java:
	Reformated.
	(getService): Added throws TooManyListenersException;
	* java/beans/beancontext/BeanContextServicesSupport.java:
	Reformated.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedOutputStream.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/DataOutput.java,
	java/io/Externalizable.java:
	More merges from classpath.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* configure.in: Fixed links to platform dependant java.net files.
	* configure: Regenerated.
	* java/net/natInetAddress.cc,
	java/net/natNetworkInterface.cc,
	java/net/natPlainDatagramSocketImpl.cc,
	java/net/natPlainSocketImpl.cc:
	Removed.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* configure.in: Create links to architecture dependent files,
	introduced PLATFORMNET variable (set to NoNet for newlib usage).
	* configure: Regenerated.
	* java/net/natInetAddressNoNet.cc,
	java/net/natInetAddressPosix.cc,
	java/net/natInetAddressWin32.cc,
	java/net/natNetworkInterfaceNoNet.cc,
	java/net/natNetworkInterfacePosix.cc,
	java/net/natNetworkInterfaceWin32.cc,
	java/net/natPlainDatagramSocketImplNoNet.cc,
	java/net/natPlainDatagramSocketImplPosix.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplNoNet.cc,
	java/net/natPlainSocketImplPosix.cc,
	java/net/natPlainSocketImplWin32.cc: New files.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedReader.java,
	java/io/BufferedWriter.java,
	java/io/ByteArrayOutputStream.java,
	java/io/FileFilter.java,
	java/io/FilePermission.java,
	java/io/FileReader.java,
	java/io/FileWriter.java,
	java/io/FilenameFilter.java,
	java/io/FilterInputStream.java,
	java/io/FilterOutputStream.java,
	java/io/FilterReader.java,
	java/io/FilterWriter.java,
	java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java,
	java/io/ObjectOutput.java,
	java/io/ObjectStreamField.java,
	java/io/PipedInputStream.java,
	java/io/PipedReader.java,
	java/io/PrintWriter.java,
	java/io/PushbackReader.java,
	java/io/Reader.java,
	java/io/SerializablePermission.java,
	java/io/StringReader.java,
	java/io/Writer.java:
	Merged from classpath.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPaneAdjustable.java:
	Compile fixes.
	
2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Fixed comment.
	* java/nio/ByteBuffer.java
	(hasArray): Fixed comment.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/beans/Beans.java:
	Explicitely import classes not packages.
	* java/beans/FeatureDescriptor.java
	(preferred): New member variable.
	(isPreferred): New method.
	(setPreferred): New method.
	* java/beans/PropertyEditorManager.java:
	Explicitely import used classes.
	* java/beans/beancontext/BeanContextChild.java:
	Added line wrapping.
	* java/beans/beancontext/BeanContextChildSupport.java:
	Reindented.
	* java/beans/beancontext/BeanContextEvent.java:
	Reindented.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/Dialog.java
	(Dialog): New constructor, changed implementations, added
	documentation.
	* java/awt/ScrollPaneAdjustable.java
	(ScrollPaneAdjustable): Extends Object, implements Adjustable and
	Serializable.
	(serialVersionUID): New member variable.
	(sp): New member variable.
	(orientation): New member variable.
	(value): New member variable.
	(minimum): New member variable.
	(maximum): New member variable.
	(visibleAmount): New member variable.
	(unitIncrement): New member variable.
	(blockIncrement): New member variable.
	(AdjustmentListener): New member variable.
	(ScrollPaneAdjustable): New implementation.
	(addAdjustmentListener): New method.
	(removeAdjustmentListener): New method.
	(getAdjustmentListeners): New method.
	(getBlockIncrement): New method.
	(getMaximum): New method.
	(getMinimum): New method.
	(getOrientation): New method.
	(getUnitIncrement): New method.
	(getValue): New method.
	(getVisibleAmount): New method.
	(setBlockIncrement): New method.
	(setMaximum): Implemented.
	(setMinimum): Implemented.
	(setUnitIncrement): New method.
	(setValue): New method.
	(setVisibleAmount): Implemented. 
	(paramString): New stubbed method.
	* java/awt/Window.java
	(show): Call setVisible().
	(hide): Call setVisible().
	(processEvent): Add cases for WINDOW_GAINED_FOCUS, WINDOW_LOST_FOCUS
	and WINDOW_STATE_CHANGED.
	(processWindowFocusEvent): New method.
	(processWindowStateEvent): New method.
	(postEvent): Deprecated.
	(applyResourceBundle): Deprecated.
	* java/awt/datatransfer/DataFlavor.java
	(DataFlavor): Doesn't thow ClassNotFoundException.

2003-03-17  Michael Koch

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(javax_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

2003-03-17  Michael Koch

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

2003-03-16  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (ncode): Use _Jv_platform_ffi_abi.
	Include platform.h.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_platform_path_separator.
	(nativeGetLibname): Use _Jv_platform_file_separator.
	(_load): Use _Jv_platform_onload_names.
	(onload_names): New global.
	* include/win32.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.
	* include/posix.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.

2003-03-14  Hans Boehm  <Hans.Boehm@hp.com>

	* java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &.

2003-02-14  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/io/ObjectInputStream.java (readObject): Cleaned up the class
	hierarchy loop.
	(readFields(Object,ObjectStreamField[],boolean)): Changed argument
	list to Object,ObjectStreamClass, moved callReadMethod code up into
	readObject and added Class argument to all setXxxField calls.
	(callReadMethod): Changed Class argument to ObjectStreamClass to be
	consistent with ObjectOutputStream and to facilitate caching the
	Method in the future.
	(setBooleanField): Added Class argument.
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.
	* java/io/ObjectOutputStream.java (writeObject): Cleaned up the
	class hierarchy loop.
	(defaultWriteObject): Call writeFields with new argument list.
	(writeFields(Object,ObjectStreamField[],boolean): Changed argument
	list to Object,ObjectStreamClass, moved callWriteMethod up into
	writeObject and added Class argument to all getXxxField calls.
	(callWriteMethod): Added ObjectStreamClass argument to be able to
	get the proper class to call getMethod on (each class can have (or
	not have) its own writeObject method).
	(getBooleanField): Added Class argument.
	(getByteField): Likewise.
	(getCharField): Likewise.
	(getDoubleField): Likewise.
	(getFloatField): Likewise.
	(getIntField): Likewise.
	(getLongField): Likewise.
	(getShortField): Likewise.
	(getObjectField): Likewise.
	* java/io/ObjectStreamClass.java (hasReadMethod): Added method to
	facilitate caching the Method object in the future.

2003-03-12  Andreas Schwab  <schwab@suse.de>

	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

2003-03-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(putInt): Use limit() instead of limit.
	* gnu/java/nio/CharBufferImpl.java
	(slice): Fixed implementation.
	(subSequence): Better bounds checking.
	* gnu/java/nio/MappedByteFileBuffer.java:
	Import all needed classes directly.
	* java/nio/ByteBuffer.java
	(hashCode): New dummy method.
	* java/nio/CharBuffer.java
	(array_offset): New member variable.
	(hasArray): Fixed documentation.
	(arrayOffset): Return array_offset.

2003-03-10  2003-02-27  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: removed declaration of _Jv_ThisExecutable()
	setter; made return value of getter const char* instead of char*
	* prims.cc: removed all references to _Jv_ThisExecutable().
	These are in the platform-specific sections now.
	* posix.cc: define platform-specific _Jv_ThisExecutable().
	Handle DISABLE_MAIN_ARGS and HAVE_PROC_SELF_EXE cases
	* win32.cc: define platform-specific _Jv_ThisExecutable()
	using GetModuleFilename()
	* java/lang/natRuntime.cc: set gnu.gcj.progname property
	to argv[0] instead of _Jv_ThisExecutable()

2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (usingAddr2name): New flag
	that is set if we are using addr2name.awk instead of addr2line.
	(NameFinder): Set usingAddr2name if using addr2name.awk.
	(getExternalLabel): New native method to convert a method 
	name to an external label.
	(lookup): Convert name given by addr2line to an external label
	before demangling.

	* gnu/gcj/runtime/natNameFinder.cc (LABEL_PREFIX): New string
	constant representing the prefix attached to method names to
	convert them to an external label.
	(gnu::gcj::runtime::NameFinder::getExternalLabel): Define 
	using LABEL_PREFIX.

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

	* Makefile.in: Rebuilt.
	* Makefile.am (GCJ_WITH_FLAGS): Added -Wno-deprecated.
	(JC1FLAGS): Removed -Wno-deprecated.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteOrder.java
	(nativeOrder): Working implementation, added documentation.
	(toString): Added documentation.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java,
	java/net/MulticastSocket.java,
	java/net/Socket.java,
	java/net/URL.java,
	java/net/URLConnection.java:
	Fixed some documentation tags to make javadoc and friends happy.

2003-03-10  Michael Koch  <koqnueror@gmx.de>

	* java/beans/beancontext/BeanContextServicesSupport.java,
	java/beans/beancontext/BeanContextSupport.java: New files.
	* Makefile.am
	(awt_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/awt/FocusTraversalPolicy.java
	(FocusTraversalPolicy): Documentation added.
	(getComponentAfter): Documentation added.
	(getComponentBefore): Documentation added.
	(getFirstComponent): Documentation added.
	(getLastComponent): Documentation added.
	(getDefaultComponent): Documentation added.
	(getInitialComponent): Documentation added.
	* java/awt/ScrollPaneAdjustable.java
	(sp): New member variable.
	(orientation): New member variable.
	(value): New member variable.
	(minimum): New member variable.
	(maximum): New member variable.
	(visibleAmount): New member variable.
	(unitIncrement): New member variable.
	(blockIncrement): New member variable.
	(adjustmentListener): New member variable.
	(ScrollPaneAdjustable): Rewrote.
	(addAdjustmentListener): New method.
	(removeAdjustmentListener): New method.
	(getAdjustmentListeners): New method.
	(getBlockIncrement): New method.
	(getMaximum): New method.
	(getMinimum): New method.
	(getOrientation): New method.
	(getUnitIncrement): New method.
	(getValue): New method.
	(getVisibleAmount): New method.
	(setBlockIncrement): New method.
	(setUnitIncrement): New method.
	(setMaximum): Implemented.
	(setMinimum): Implemented.
	(setValue): New method.
	(setVisibleAmount): Implemented.
	(paramString): New method.
	* java/awt/Window.java
	(show): Use setVisible(true) instead of super.show().
	(hide): Use sevVisible(false) instead of super.hide().
	(processWindowEvent): Added cases for WINDOW_GAINED_FOCUS,
	WINDOW_LOST_FOCUS and WINDOW_STATE_CHANGED.
	(postEvent): Deprecated.
	(applyResourceBundle): Deprecated.
	(processWindowFocusEvent): New method.
	(processWindowStateEvent): New method.
	* java/awt/datatransfer/DataFlavor.java: Reindented.
	* java/awt/font/TextHitInfo.java
	(charIndex): New member variable.
	(leadingEdge): New member variable.
	(TextHitInfo): New constructor.
	(getCharIndex): Implemented.
	(isLeadingEdge): Implemented.
	(getInsertionIndex): Implemented.
	(hashCode): Access charIndex directly.
	(equals): Reformated.
	(leading): Implemented.
	(trailing): Implemented.
	(beforeOffset): Implemented.
	(afterOffset): Implemented.
	(getOtherHit): Implemented.
	(getOffsetHit): Implemented.
	(toString): Implemented.
	* java/awt/image/BufferedImage.java
	(BufferedImage): Implements WritableRenderedImage.
	(observers): New member variable.
	(addTileObserver): New method.
	(removeTileObserver): New method.

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

	PR libgcj/9934:
	* java/io/natFileDescriptorPosix.cc (available): Fixed arguments
	to lseek.  Return 0 if we can't compute the value.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java: Merged with classpath.

2003-03-03  Tom Tromey  <tromey@redhat.com>

	* verify.cc (handle_jsr_insn): Don't fail if `jsr' appears at end
	of bytecode.
	(handle_ret_insn): Fail if returning to jsr that appears at end of
	bytecode.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/MappedByteFileBuffer.java.
	(nat_source_files):
	Added gnu/java/nio/natMappedByteFileBuffer.cc.
	* Makefile.in: Regenerated.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Merged comment from classpath.
	(receive): Merged documentation from classpath.
	* java/net/Socket.java
	(setSoTimeout): Clarified documentation.
	* java/net/URL.java
	(getPath): Merged from classpath.
	(getUserInfo): Merged from classpath.
	(getQuery): Merged from classpath.
	* java/net/URLStreamHandler.java
	(toExternalForm): Merged from classpath.

2003-03-02  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties.java (load): Only skip line if the first
	character is a comment, whitespaces don't count.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java:
	Merged copyright with classpath.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/lang/Package.java:
	Remerged from classpath.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java
	(HTTP_SERVER_ERROR): Deprecated.
	* java/net/MulticastSocket.java
	(send): Replaced checkMulticast with appropriate checkPermission call,
	deprecated.
	* java/net/URLDecoder.java
	(decode): Deprecated.
	* java/net/URLEncoder.java
	(encode): Deprecated.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/Caret.java
	(getMagicCaretPosition): Fixed typo in method name.
	* javax/swing/text/DefaultCaret.java
	(getMagicCaretPosition): Fixed typo in method name.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/List.java
	(setMultipleSelections): Deprecated.
	(delItem): Deprecated.
	* java/awt/MenuComponent.java
	(getPeer): Deprecated.
	* java/awt/ScrollPane.java
	(addNotify): getPeer() is deprecated. Use isDisplayable() instead.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(mouseClicked): Added comment.
	(mousePressed): Added comment.
	(mouseReleased): Added comment.
	(mouseEntered): Added comment.
	(mouseExited): Added comment.
	(mouseDragged): Added comment.
	(mouseMoved): Added comment.
	* java/awt/event/KeyEvent.java
	(KeyEvent): Deprecated.
	(setModifiers): Deprecated.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(fd): Type FileDescriptor instead of int.
	(lengthInternal): Removed.
	(FileChannelImpl): Fixed arguments, check type of file object.
	(size): Made it native.
	(implPosition): New native method.
	(implTruncate): New native method.
	(position): Implemented.
	(truncate): Implemented.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.
	* gnu/java/nio/natFileChannelImpl.cc
	(lengthInternal): Removed.
	(size): New method.
	(implPosition): New method.
	(implTruncate): New method.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DropTargetContext.java:
	Compile fix: Forgot to commit import.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/Component.java,
	java/awt/ScrollPane.java:
	Fixed typos.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DnDEventMulticaster.java: New file.
	* java/awt/dnd/DragSource.java
	(flavorMap): New member variable.
	(dragSourceListener): New member variable.
	(dragSourceMotionListener): New member variable.
	(getFlavorMap): Implemented.
	(createDragGestureRecognizer): Implemented.
	(addDragSourceListener): Implemented.
	(removeDragSourceListener): Implemented.
	(getDragSourceListeners): Implemented.
	(addDragSourceMotionListener): Implemented.
	(removeDragSourceMotionListener): Implemented.
	(getDragSourceMotionListeners): Implemented.
	(getListeners): Implemented.
	* java/awt/dnd/DragSourceContext.java
	(peer): New member variable.
	(cursor): New member variable.
	(transferable): New member variable.
	(trigger): New member variable.
	(dragSourceListener): New member variable.
	(image): New member variable.
	(offset): New member variable.
	(DragSourceContext): Implemented.
	(getDragSource): Implemented.
	(getComponent): Implemented.
	(getTrigger): Implemented.
	(getSourceActions): Implemented.
	(setCursor): Implemented.
	(getCursor): Implemented.
	(addDragSourceListener): Implemented.
	(removeDragSourceListener): Implemented.
	(getTransferable): Implemented.
	* java/awt/dnd/DropTarget.java
	(DropTargetAutoScroller.component): New member variable.
	(DropTargetAutoScroller.point): New member variable.
	(DropTargetAutoScroller.DropTargetAutoScroller): Implemented.
	(DropTargetAutoScroller.updateLocation): Implemented.
	(active): Renamed from isActive, defaults to true now.
	(component): New member variable.
	(flavorMap): New member variable.
	(actions): New member variable.
	(dropTargetContext): New member variable.
	(dropTargetListener): New member variable.
	(DropTarget): Implemented.
	(getComponent): Implemented.
	(setComponent): Implemented.
	(setDefaultActions): Implemented.
	(getDefaultActions): Implemented.
	(setActive): Use active instead of isActive.
	(isActive): Use active instead of isActive.
	(addDropTargetListener): Implemented.
	(removeDropTargetListener): Implemented.
	(getFlavorMap): Implemented.
	(setFlavorMap): Implemented.
	(getDropTargetContext): Implemented.
	(createDropTargetContext): Implemented.
	(createDropTargetAutoScroller): Implemented.
	* java/awt/dnd/DropTargetContext.java
	(TransferableProxy.getTransferDataFlavors): Implemented.
	(TransferableProxy.isDataFlavorSupported): Implemented.
	(TransferableProxy.getTransferData): Implemented.
	(dropTarget):  New member variable.
	(dtcp): New member variable.
	(DropTargetContext): New package private constructor.
	(getDropTarget): Implemented.
	(getComponent): Implemented.
	(addNotify): Implemented.
	(removeNotify): Implemented.
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(registerListeners): Implemented.
	(unregisterListeners): Implemented.
	* Makefile.am
	(awt_java_source_files): Added java/awt/dnd/DnDEventMulticaster.java.
	* Makefile.in: Regenerated.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/Component.java
	(eventTypeEnabled): New method.
	(dispatchEventImpl): Moved checks for event to eventTypeEnabled.
	* java/awt/Container.java
	(changeSupport): New member variable.
	(addPropertyChangeListener): New methods.
	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(ContainerOrderFocusTraversalPolicy): Added comment.
	(getComponentAfter): Throw exception, documentation added.
	(getComponentBefore): Throw exception, documentation added.
	(getFirstComponent): Throw exception, documentation added.
	(getLastComponent): Throw exception, documentation added.
	(getDefaultComponent): Throw exception, documentation added.
	* java/awt/EventQueue.java: Reindented.
	* java/awt/FocusTraversalPolicy.java:
	(FocusTraversalPolicy): Added comment.
	(getComponentAfter): Documentation added.
	(getComponentBefore): Documentation added.
	(getFirstComponent): Documentation added.
	(getLastComponent): Documentation added.
	(getDefaultComponent): Documentation added.
	(getInitialComponent): Documentation added.
	* java/awt/ScrollPane.java
	(wheelScrollingEnabled): New member variable.
	(ScrollPane): Initialize wheelScollingEnabled.
	(eventTypeEnabled): New method.
	(isWheelScrollingEnabled): New method.
	(setWheelScrollingEnabled): New method.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(closed): New member variable.
	(close): Use closed variable.
	(getInetAddress): No need to call isConnected().
	(getPort): No need to call isConnected().
	(disconnect): Reset remoteAddress and remotePort, fixed typo.
	(isClosed): Reimplemented.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* configure.in: Added check for memory mapping of files.
	* configure: Regenerated.
	* config.h.in: Regenerated.

2003-03-01  Jason Thorpe  <thorpej@wasabisystems.com>

	* posix-threads.cc: Include <unistd.h> if HAVE_UNISTD_H is defined.
	(_Jv_ThreadSetPriority): Test for _POSIX_THREAD_PRIORITY_SCHEDULING.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (normalizePath): Remove trailing separator
	on Windows only if path is not of the form "x:\".

	* java/io/natFileWin32.cc (WIN32_EPOCH_MILLIS): New constant.
	(java::io::File::attr): Change formatting a bit and use
	WIN32_EPOCH_MILLIS instead of magic numbers.
	(java::io::File::isAbsolute): Path must have at least 3 
	characters for a UNC network path.
	(java::io::File::init_native): Define.
	(java::io::File::performCreate): Likewise.
	(java::io::File::performSetReadOnly): Likewise.
	(java::io::File::performSetLastModified): Likewise.
	(java::io::File::performListRoots): Likewise.

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

	* java/lang/natObject.cc: Don't include assert.h.
	(heavy_lock_obj_finalization_proc): Use JvAssert.
	(remove_all_heavy): Likewise.
	(_Jv_MonitorEnter): Likewise.
	(_Jv_MonitorExit): Likewise.
	(wait): Likewise.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File (getAbsolutePath): Prefix drive specifier on
	Windows for paths starting with a '\'.
	(toURL): Make URL more consistent with what Sun's JDK returns.

	* java/io/natFileWin32.cc (java::io::File::isAbsolute): Return
	true only if the path is a UNC network path or it starts with a
	drive specifier.

	* java/net/URLStreamHandler.java (parseURL): Correct minor typo.
	Be prepared to handle either '/' or '\\' in the file path for
	Windows if using the "file" protocol.
	Canonicalise the file path if using a relative path in the given
	context and the "file" protocol.

2003-03-01  Mohan Embar  <gnustuff@thisiscool.com>

	* java/lang/natWin32Process.cc (startProcess): Double-quote each
	program array element passed to CreateProcess.

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

	* java/rmi/registry/RegistryHandler.java: Deprecate.

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

	* javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleHyperlink.java: New versions from
	Classpath.

	* gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_ar_AE.java,
	gnu/java/locale/LocaleInformation_ar_BH.java,
	gnu/java/locale/LocaleInformation_ar_DZ.java,
	gnu/java/locale/LocaleInformation_ar_EG.java,
	gnu/java/locale/LocaleInformation_ar_IN.java,
	gnu/java/locale/LocaleInformation_ar_IQ.java,
	gnu/java/locale/LocaleInformation_ar_JO.java,
	gnu/java/locale/LocaleInformation_ar_KW.java,
	gnu/java/locale/LocaleInformation_ar_LB.java,
	gnu/java/locale/LocaleInformation_ar_LY.java,
	gnu/java/locale/LocaleInformation_ar_MA.java,
	gnu/java/locale/LocaleInformation_ar_OM.java,
	gnu/java/locale/LocaleInformation_ar_QA.java,
	gnu/java/locale/LocaleInformation_ar_SD.java,
	gnu/java/locale/LocaleInformation_ar_SY.java,
	gnu/java/locale/LocaleInformation_ar_TN.java,
	gnu/java/locale/LocaleInformation_ar_YE.java,
	gnu/java/locale/LocaleInformation_be_BY.java,
	gnu/java/locale/LocaleInformation_bn_IN.java,
	gnu/java/locale/LocaleInformation_br_FR.java,
	gnu/java/locale/LocaleInformation_bs_BA.java,
	gnu/java/locale/LocaleInformation_ca_ES.java,
	gnu/java/locale/LocaleInformation_cs_CZ.java,
	gnu/java/locale/LocaleInformation_cy_GB.java,
	gnu/java/locale/LocaleInformation_da_DK.java,
	gnu/java/locale/LocaleInformation_de_AT.java,
	gnu/java/locale/LocaleInformation_de_BE.java,
	gnu/java/locale/LocaleInformation_de_CH.java,
	gnu/java/locale/LocaleInformation_de_DE.java,
	gnu/java/locale/LocaleInformation_de_LU.java,
	gnu/java/locale/LocaleInformation_el_GR.java,
	gnu/java/locale/LocaleInformation_en_AU.java,
	gnu/java/locale/LocaleInformation_en_BW.java,
	gnu/java/locale/LocaleInformation_en_CA.java,
	gnu/java/locale/LocaleInformation_en_DK.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_en_HK.java,
	gnu/java/locale/LocaleInformation_en_IE.java,
	gnu/java/locale/LocaleInformation_en_IN.java,
	gnu/java/locale/LocaleInformation_en_NZ.java,
	gnu/java/locale/LocaleInformation_en_PH.java,
	gnu/java/locale/LocaleInformation_en_SG.java,
	gnu/java/locale/LocaleInformation_en_US.java,
	gnu/java/locale/LocaleInformation_en_ZA.java,
	gnu/java/locale/LocaleInformation_en_ZW.java,
	gnu/java/locale/LocaleInformation_es_AR.java,
	gnu/java/locale/LocaleInformation_es_BO.java,
	gnu/java/locale/LocaleInformation_es_CL.java,
	gnu/java/locale/LocaleInformation_es_CO.java,
	gnu/java/locale/LocaleInformation_es_CR.java,
	gnu/java/locale/LocaleInformation_es_DO.java,
	gnu/java/locale/LocaleInformation_es_EC.java,
	gnu/java/locale/LocaleInformation_es_ES.java,
	gnu/java/locale/LocaleInformation_es_GT.java,
	gnu/java/locale/LocaleInformation_es_HN.java,
	gnu/java/locale/LocaleInformation_es_MX.java,
	gnu/java/locale/LocaleInformation_es_NI.java,
	gnu/java/locale/LocaleInformation_es_PA.java,
	gnu/java/locale/LocaleInformation_es_PE.java,
	gnu/java/locale/LocaleInformation_es_PR.java,
	gnu/java/locale/LocaleInformation_es_PY.java,
	gnu/java/locale/LocaleInformation_es_SV.java,
	gnu/java/locale/LocaleInformation_es_US.java,
	gnu/java/locale/LocaleInformation_es_UY.java,
	gnu/java/locale/LocaleInformation_es_VE.java,
	gnu/java/locale/LocaleInformation_et_EE.java,
	gnu/java/locale/LocaleInformation_eu_ES.java,
	gnu/java/locale/LocaleInformation_fa_IR.java,
	gnu/java/locale/LocaleInformation_fi_FI.java,
	gnu/java/locale/LocaleInformation_fo_FO.java,
	gnu/java/locale/LocaleInformation_fr_BE.java,
	gnu/java/locale/LocaleInformation_fr_CA.java,
	gnu/java/locale/LocaleInformation_fr_CH.java,
	gnu/java/locale/LocaleInformation_fr_FR.java,
	gnu/java/locale/LocaleInformation_fr_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.java,
	gnu/java/locale/LocaleInformation_gd_GB.java,
	gnu/java/locale/LocaleInformation_gl_ES.java,
	gnu/java/locale/LocaleInformation_gv_GB.java,
	gnu/java/locale/LocaleInformation_he_IL.java,
	gnu/java/locale/LocaleInformation_hi_IN.java,
	gnu/java/locale/LocaleInformation_hr_HR.java,
	gnu/java/locale/LocaleInformation_hu_HU.java,
	gnu/java/locale/LocaleInformation_id_ID.java,
	gnu/java/locale/LocaleInformation_it_CH.java,
	gnu/java/locale/LocaleInformation_it_IT.java,
	gnu/java/locale/LocaleInformation_iw_IL.java,
	gnu/java/locale/LocaleInformation_ja_JP.java,
	gnu/java/locale/LocaleInformation_ka_GE.java,
	gnu/java/locale/LocaleInformation_kl_GL.java,
	gnu/java/locale/LocaleInformation_ko_KR.java,
	gnu/java/locale/LocaleInformation_kw_GB.java,
	gnu/java/locale/LocaleInformation_lt_LT.java,
	gnu/java/locale/LocaleInformation_lv_LV.java,
	gnu/java/locale/LocaleInformation_mi_NZ.java,
	gnu/java/locale/LocaleInformation_mk_MK.java,
	gnu/java/locale/LocaleInformation_mr_IN.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nl_BE.java,
	gnu/java/locale/LocaleInformation_nl_NL.java,
	gnu/java/locale/LocaleInformation_nn_NO.java,
	gnu/java/locale/LocaleInformation_no_NO.java,
	gnu/java/locale/LocaleInformation_oc_FR.java,
	gnu/java/locale/LocaleInformation_pl_PL.java,
	gnu/java/locale/LocaleInformation_pt_BR.java,
	gnu/java/locale/LocaleInformation_pt_PT.java,
	gnu/java/locale/LocaleInformation_ro_RO.java,
	gnu/java/locale/LocaleInformation_ru_RU.java,
	gnu/java/locale/LocaleInformation_ru_UA.java,
	gnu/java/locale/LocaleInformation_se_NO.java,
	gnu/java/locale/LocaleInformation_sk_SK.java,
	gnu/java/locale/LocaleInformation_sl_SI.java,
	gnu/java/locale/LocaleInformation_sq_AL.java,
	gnu/java/locale/LocaleInformation_sr_YU.java,
	gnu/java/locale/LocaleInformation_sv_FI.java,
	gnu/java/locale/LocaleInformation_sv_SE.java,
	gnu/java/locale/LocaleInformation_ta_IN.java,
	gnu/java/locale/LocaleInformation_te_IN.java,
	gnu/java/locale/LocaleInformation_tg_TJ.java,
	gnu/java/locale/LocaleInformation_tl_PH.java,
	gnu/java/locale/LocaleInformation_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java,
	gnu/java/locale/LocaleInformation_ur_PK.java,
	gnu/java/locale/LocaleInformation_uz_UZ.java,
	gnu/java/locale/LocaleInformation_vi_VN.java,
	gnu/java/locale/LocaleInformation_yi_US.java,
	gnu/java/locale/LocaleInformation_zh_CN.java,
	gnu/java/locale/LocaleInformation_zh_HK.java,
	gnu/java/locale/LocaleInformation_zh_SG.java,
	gnu/java/locale/LocaleInformation_zh_TW.java: Updated copyright
	info; from Classpath.

	* gnu/awt/xlib/XPanelPeer.java (beginLayout, endLayout,
	isPaintPending): New methods.
	* gnu/awt/xlib/XFramePeer.java (getState, setState,
	setMaximizedBounds): New methods.
	(beginLayout, endLayout, isPaintPending): Likewise.
	* gnu/awt/xlib/XCanvasPeer.java (isFocusable): New method.
	(requestFocus): Likewise.
	(isObscured): Likewise.
	(canDetermineObscurity): Likewise.
	(coalescePaintEvent): Likewise.
	(updateCursorImmediately): Likewise.
	(createVolatileImage): Likewise.
	(handlesWheelScrolling): Likewise.
	(createBuffers): Likewise.
	(getBackBuffer): Likewise.
	(flip): Likewise.
	(destroyBuffers): Likewise.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added DropTargetPeer.java,
	RobotPeer.java.
	* gnu/java/awt/GLightweightPeer.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/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	java/awt/dnd/peer/DragSourceContextPeer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/peer/ButtonPeer.java,
	java/awt/peer/CheckboxMenuItemPeer.java,
	java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
	java/awt/peer/ComponentPeer.java,
	java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
	java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
	java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
	java/awt/peer/MenuBarPeer.java,
	java/awt/peer/MenuComponentPeer.java,
	java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
	java/awt/peer/PopupMenuPeer.java,
	java/awt/peer/ScrollPanePeer.java,
	java/awt/peer/ScrollbarPeer.java, java/awt/peer/TextAreaPeer.java,
	java/awt/peer/TextComponentPeer.java,
	java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java:
	New versions from Classpath.
	* java/awt/dnd/peer/DropTargetPeer.java: New file from Classpath.
	* java/awt/peer/RobotPeer.java: Likewise.

2003-03-01  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectInputStream.java: Reindent.
	* java/io/ObjectOutputStream.java: Likewise.

2003-02-28  Hans Boehm  <Hans.Boehm@hp.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full
	jvalue for each argument. Simplify.
	* testsuite/libjava.jni/calls.c (docall),
	testsuite/libjava.jni/calls.java (longpb_f): check for argument
	misalignment.

2003-02-28  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (nat_source_files): Remove
	java/io/natObjectOutputStream.cc.
	* Makefile.in: Regenerated.
	* mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
	* java/io/ObjectStreamField.java (typename): New field.
	(ObjectStreamField(String, Class)): Initialize new field.
	(ObjectStreamField(String, String)): New Constructor.
	(getTypeCode): Use new field.
	(getTypeString): Use new field.
	* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
	ObjectStreamExceptions. Remember and reset old BlockDataMode.
	Handle reading of Proxy classes. Never drain(), just write
	TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
	(drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
	(flush): Call flush(), not just drain().
	(writeBoolean): Always use blockDataOutput.
	(writeByte): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(putfield (put(String,Object))): Throw IllegalArgumentException if
	field cannot be found.
	(putfield (write(ObjectOutput))): Remember old BlockDataMode.
	(writeArraySizeAndElements): Write byte[] in one go.
	(writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
	set BlockDataMode to false.
	(annotateProxyClass): New method.
	(defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
	(getField): No longer native.
	(getMethod): Likewise.
	(setBlockDataMode): Always drain() on switch, return old mode.
	(static): New static code block.
	* java/io/natObjectOutputStream.cc: Removed.
	* java/io/ObjectInputStream.java (getField): No longer native.
	(getMethod): Likewise.
	(readObject): Remember and reset old BlockDataMode. Track whether
	object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
	TC_LONGSTRING.
	(defaultReadObject): Set BlockDataMode to false during readFields.
	(resolveClass): Create new SecurityManager if necessary.
	Use Class.forName() if null ClassLoader found.
	(read(byte[],int,int): Copy remaining bytes to data before calling
	readNextBlock().
	(readFields): Set and reset BlockDataMode on call_read_method.
	Catch NoSuchFieldErrors.
	(setBlockDataMode): Return old mode.
	(static): New static code block.
	* java/io/natObjectInputStream.cc (getField): Removed.
	(getMethod): Likewise.

2003-02-27  Michael Koch  <konqueror@gmx.de>

	* java/beans/Beans.java,
	java/beans/FeatureDescriptor.java
	java/beans/PropertyEditorManager.java:
	Reformated to GNU style.

2003-02-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	New files, both are not compiled yet to get not noncompiling CVS.

2003-02-24  Tom Tromey  <tromey@redhat.com>

	* java/util/prefs/AbstractPreferences.java (isUserNode):
	Implemented.

2003-02-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (defineClass(byte[],int,int)):
	Deprecate.
	* java/lang/Thread.java (resume): Deprecate.
	* java/io/ByteArrayOutputStream.java (toString(int)): Fixed typo
	in @deprecated.

2003-02-23  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (JC1FLAGS): Added -Wno-deprecated.

2003-02-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (libraries_size, libraries_count,
	libraries): Removed.
	(add_library): Removed.
	(_load): Don't call add_library.
	(loadLibraryInternal): Likewise.
	(init): Likewise.
	(lookup_data): New struct.
	(find_symbol): New function.
	(_Jv_FindSymbolInExecutable): Use it.

2002-02-21  Anthony Green  <green@redhat.com>

	* java/lang/Thread.java (Thread): New constructor taking stack
	size parameter (ignored for now).
	* Many methods: Merged GNU Classpath documentation.

	* java/lang/Class.java (finalize): throws a Throwable.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (setComment): Don't check length when
	argument is null.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (ZipEntry(String)): When name is bigger
	then 65535 chars throw IllegalArgumentException.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (finalize): New method.

2003-02-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
	<cato@df.lth.se> for pointing to it.

2003-02-20  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Take result array as an
	argument.  Updated all callers.
	(modInverse): Removed unused variables.

2003-02-20  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
	config.status.
	* configure: Rebuilt.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Added support for platforms without network support.

2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
	after config.h.  Use <> for consistency.
	* java/lang/natObject.cc: Likewise.
	* java/lang/natRuntime.cc: Likewise.
	* java/lang/natSystem.cc: Likewise.
	* java/util/natTimeZone.cc: Likewise.
	* win32.cc: Likewise.
	* include/posix.h (fcntl, socket, connect, close, bind, accept,
	listen, write, read): Undef to avoid interference from OS macros.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Renamed two variables.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Renamed two variables.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Renamed two variables.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Renamed two variables.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Renamed two variables.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Renamed two variables.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Renamed two variables.
	* java/nio/CharBuffer.java
	(wrap): Fixed arguments to CharBufferImpl constructor.
	(hasArray): Only not read-only buffers have backing arrays.
	(length): Documentation added.
	(subSequence): Documentation added.
	* java/nio/DoubleBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/FloatBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/IntBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/LongBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/ShortBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	
2003-02-19  Michael Koch  <konqueror@gmx.de>

	* javax/accessibility/AccessibleContext.java
	(ACCESSIBLE_DESCRIPTION_PROPERTY): Fixed typo.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPaneAdjustable.java: Reformated.

2003-02-19  Michael Koch <konqueror@gmx.de>

	* gnu/awt/j2d/Graphics2DImpl.java
	(getFontRenderContext): New method.
	(drawGlyphVector): New method.
	* java/awt/Graphics2D.java
	(getFontRenderContext): New abstract method.
	(drawGlyphVector): New abstract method.
	
2003-02-18  Hans Boehm  <Hans.Boehm@hp.com>

	* gnu/awt/xlib/XToolkit.java (getFontMetrics): initialize
	if necessary.
	
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(setFont, gtkSetFont): add.
	gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer):
	Propagate font to peer.  (setFont): add FIXME comment.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkTextGetSize): fix height, width computation.

	* gnu/java/awt/peer/gtk/GtkFontPeer.java (GtkFontPeer):
	Make X font name a bit less bogus.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(post_adjustment_event): Pass on GTK_SCROLL_NONE.

	* java/awt/Scrollbar.java (setValues): Fix visibleAmount range check.
	(processAdjustmentEvent): Adjust value.

	* java/awt/FlowLayout.java (layoutContainer) Fix 2 indexing and one
	logic errors.

	* java/awt/Component.java (setVisible, show, hide): Call show and
	hide methods in subclasses.
	(getPreferredSize): don't set prefSize before we have peer.

	* java/awt/TextArea.java, java/awt/TextField.java (getPreferredSize):
	Guess (0,0) if we don't have peer.


2003-02-18  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannel.java
	(toString): New implementation, added documentation.
	(map): Added exception documentation.
	(size): Added exception documentation.
	(write): New methods, documentation work.
	(read): New methods, documentation work.
	(implCloseChannel): Rewrote exception documentation.
	(force): Throws IOException, added documentation.
	(lock): New methods.
	(tryLock): New methods.
	(position): New methods.
	(transferTo): New method.
	(transferFrom): New method.
	(truncate): New method.
	* java/nio/channels/spi/SelectorProvider.java
	(provider): Implemented.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/DatagramChannelImpl.java
	gnu/java/nio/FileChannelImpl.java
	gnu/java/nio/PipeImpl.java
	gnu/java/nio/SelectionKeyImpl.java
	gnu/java/nio/SelectorImpl.java
	gnu/java/nio/SelectorProviderImpl.java
	gnu/java/nio/ServerSocketChannelImpl.java
	gnu/java/nio/SocketChannelImpl.java
	java/nio/channels/FileLock.java
	(nat_java_source_files): Added the following files:
	gnu/java/nio/natFileChannelImpl.cc
	gnu/java/nio/natSelectorImpl.cc
	gnu/java/nio/natSocketChannelImpl.cc
	* Makefile.in: Regenerated.

2003-02-17  Tom Tromey  <tromey@redhat.com>

	* java/awt/image/ColorModel.java: Re-merged with Classpath.
	* java/awt/image/ImageFilter.java: Likewise.

2003-02-17  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Return array of
	`BigInteger's.  Changed all callers.

2003-02-17  Ranjit Mathew  <rmathew@hotmail.com>

	* java/util/Properties.java (store): Move the code formerly in
	list(), into this method.
	(list (PrintStream)): Just call list (PrintWriter) with a 
	PrintWriter object constructed from the given PrintStream object.
	(list (PrintWriter)): Emulate the output of Properties.list()
	as found in JDK 1.3/1.4.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Merged with classpath.
	(disconnect): Merged documentation with classpath.
	(receice): Merged documentation with classpath.
	(send): Merged documentation with classpath.
	
2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DragSourceContext.java
	(addDragSourceListener): Added documentation.
	* java/awt/dnd/DragSourceDragEvent.java
	(serialVersionUID): New member variable.
	(getDropAction): Reformated.
	* java/awt/dnd/DragSourceDropEvent.java
	(serialVersionUID): New member variable.
	(dropSuccess): Renamed from success for serialization issues.
	* java/awt/dnd/DragSourceEvent.java
	(serialVersionUID): New member variable.
	* java/awt/dnd/DropTarget.java
	(serialVersionUID): New member variable.
	(DropTarget): Implemented, documentation reworked.
	(setComponent): Documentation added.
	(getComponent): Documentation added.
	(setDefaultActions): Documentation added.
	(getDefaultActions): Documentation added.
	(addDropTargetListener): Documentation added.
	* java/awt/dnd/DropTargetContext.java
	(DropTargetContext): Documentation added.
	(TransferableProxy.TransferableProxy): New method.
	(dropComplete): Fixed documentation.
	(getTransferable): Fixed documentation.
	(createTransferableProxy): Implemented.
	* java/awt/dnd/DropTargetDragEvent.java
	(DropTargetDragEvent): Documentation added.
	(serialVersionUID): New member variable.
	(DropTargetDragEvent): Throw exceptions, documentation added.
	(acceptDrag): Implemented.
	(getCurrentDataFlavors): Implemented.3yy
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(rejectDrag): Implemented.
	* java/awt/dnd/DropTargetDropEvent.java
	(DropTargetDropEvent): Documentation added.
	(serialVersionUID): New member variable.
	(actions): Renamed from srcActions for serialization issues.
	(isLocalTx): Renamed from isLocalTx for serialization issues.
	(DropTargetDropEvent): New implementation, throw exceptions,
	documentation added.
	(getCurrentDataFlavors): Implemented.
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(getSourceActions): Implemented.
	(getDropAction): Implemented.
	(getTransferable): Implemented.
	(acceptDrop): Implemented.
	(rejectDrop): Implemented.
	* java/awt/dnd/DropTargetListener.java
	(drop): Fixed documentation.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(MouseDragGestureRecognizer): Documentation added.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/FontRenderContext.java,
	java/awt/font/ShapeGraphicAttribute.java,
	java/awt/font/MultipleMaster.java,
	java/awt/font/TransformAttribute.java,
	java/awt/font/GlyphJustificationInfo.java,
	java/awt/font/LineBreakMeasurer.java,
	java/awt/font/TextMeasurer.java,
	java/awt/font/TextLayout.java,
	java/awt/font/LineMetrics.java,
	java/awt/font/TextAttribute.java,
	java/awt/font/GlyphMetrics.java,
	java/awt/font/OpenType.java,
	java/awt/font/GlyphVector.java,
	java/awt/font/GraphicAttribute.java,
	java/awt/font/ImageGraphicAttribute.java,
	java/awt/font/NumericShaper.java: New files.
	* Makefile.am
	(awt_java_source_files): Added the following files:
	java/awt/font/FontRenderContext.java
	java/awt/font/ShapeGraphicAttribute.java
	java/awt/font/MultipleMaster.java
	java/awt/font/TransformAttribute.java
	java/awt/font/GlyphJustificationInfo.java
	java/awt/font/LineBreakMeasurer.java
	java/awt/font/TextMeasurer.java
	java/awt/font/TextLayout.java
	java/awt/font/LineMetrics.java
	java/awt/font/TextAttribute.java
	java/awt/font/GlyphMetrics.java
	java/awt/font/OpenType.java
	java/awt/font/GlyphVector.java
	java/awt/font/GraphicAttribute.java
	java/awt/font/ImageGraphicAttribute.java
	java/awt/font/NumericShaper.java
	* Makefile.in: Regenerated.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/Paper.java
	(Paper): Implements Cloneable.
	* java/awt/print/PrinterJob.java
	(setJobName): Return value must be void.
	(print): Throws PrinterException.
	
2003-02-16  Tom Tromey  <tromey@redhat.com>

	* verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused
	variable.

2003-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/datatransfer/DataFlavor.java
	(isRepresentationClassByteBuffer): Removed try-catch block.
	(isRepresentationClassCharBuffer): Removed try-catch block.
	(isRepresentationClassReader): Removed try-catch block.

2003-02-15  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/nio/charset/Charset.java
	(isRegistered): Fixed method args and implementation.
	* java/nio/charset/CharsetEncoder.java
	(unmappableCharacterAction): New method.

2003-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/CheckboxMenuItem.java
	(CheckBoxMenuItem): Dont implement Serializable.
	(getListeners): New method,
	(getItemListeners): New method.
	* java/awt/Choice.java
	(getListeners): New method,
	(getItemListeners): New method.
	* java/awt/Container.java
	(getListeners): Added exception documentation.
	(setFocusTraversalKeys): Throw exceptions, added documentattion.
	(getFocusTraversalKeys): Added documentation.
	(areFocusTraversalKeysSet): Added documentation.
	(applyComponentOrientation): Added documentation.
	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(implicitDownCycleTraversal): Renamed from downCycle for
	serialization.
	(ContainerOrderFocusTraversalPolicy): Added documentation.
	(accept): Reformated.
	* java/awt/Dialog.java
	(Dialog): Dont implement Serializable.
	(Dialog): Added documentation.
	* java/awt/Font.java
	(Font): Dont use absolute class name.
	* java/awt/Frame.java
	(Frame): Font implement Serializable.
	* java/awt/List.java
	(getListeners): New method,
	(getActionListeners): New method.	
	(getItemListeners): New method.
	* java/awt/Menu.java
	(countItems): New deprecated method.
	* java/awt/Scrollbar.java
	(getListeners): New method,
	(getAdjustmentListeners): New method,
	* java/awt/TextComponent.java
	(getListeners): New method,
	(getTextListeners): New method,
	* java/awt/TextField.java
	(getListeners): New method,
	(getActionListeners): New method.	
	* java/awt/Window.java
	(windowFocusListener): New member variable.
	(windowStateListener): New member variable.
	(getWindowFocusListeners): New method.
	(getWindowStateListeners): New method.
	(addWindowFocusListener): New method.
	(addWindowStateListener): New method.
	(removeWindowFocusListener): New method.
	(removeWindowStateListener): New method.
	* java/awt/datatransfer/DataFlavor.java
	(isRepresentationClassByteBuffer): New method.
	(isRepresentationClassCharBuffer): New method.
	(isRepresentationClassReader): New method.

2003-02-14  Mark Wielaard  <mark@klomp.org>

	* java/math/BigDecimal.java (BigDecimal(String)): Always set scale to
	zero when there is an exponent and the significant is zero.
	(divide): Always set scale to newScale even in special ZERO case.

2003-02-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (properties): Use Properties.clone.
	(setProperties): Likewise.

2003-02-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(SocketAccept): Removed.
	(accept): Commented out use of SocketAccept.

2003-02-13  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::seen_subrs): New field.
	(state::state): Initialize it.
	(state::clean_subrs): New method.
	(state::~state): Call it.
	(state::copy): Copy subroutine list.
	(state::add_subr): New method.
	(state::merge): Only register a change if the current subroutine
	hasn't yet been noted.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/InputStreamReader.java (getEncoding): Return null when
	closed.
	* java/io/OutputStreamWriter.java (getEncoding): Likewise.

2003-02-13  Mark Wielaard  <mark@klomp.org>
 
	* java/util/zip/InflaterInputStream.java (read): Return zero when len
	is zero.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedOutputStream.java (write(int)): Only flush when
	next byte cannot be buffered.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* java/awt/Label.java
	(Label): Don't implement Serializable directly.
	(addNotify): Fixed typo in documentation.
	* java/awt/List.java
	(List): Don't implement Serializable directly.
	* java/awt/PopupMenu.java
	(PopupMenu): Don't implement Serializable directly.
	* java/awt/ScrollPane.java
	(ScrollPane): Don't implement Serializable directly.
	* java/awt/Scrollbar.java
	(Scrollbar): Don't implement Serializable directly.
	* java/awt/TextArea.java
	(preferredSize): Fixed method arguments.
	* java/awt/TextField.java
	(TextField): Don't implement Serializable directly.
	* java/awt/color/ICC_ColorSpace.java
	(fromCIOXYZ): Documentation added.
	(getMinValue): Documentation added.
	(getMaxValue): Documentation added.
	* java/awt/datatransfer/DataFlavor.java
	(isMimeTypeEqual): May not be final.
	(clone): Throws CloneNotSupportedException.
	(getReaderForText): Don't throws UnsupportedEncodingException.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawString): New stubbed method.
	* java/awt/Graphics.java
	(drawString): New method.

2003-02-13  Casey Marshall  <rsdio@metastatic.org>

	PR libgcj/9271:
	* java/security/SecureRandom.java (next): Avoid bias in results.

2003-02-13  Michael  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(lengthInternal): Must be native.
	(size): Check if channel is already closed.
	(implCloseChannel): Reformated.
	(read): w was unused, removed it.
	(read): Removed.
	(read): New method.
	(write): New method.
	(map): Check arguments.
	(force): Throws IOException, check if channel is closed.
	(transferTo): New method.
	(transferFrom): New method.
	(lock): New method.
	(tryLock): New method.
	(position): New method.
	(truncate): New method.
	(nio_mmap_file): Uncommented.
	(nio_munmap_file): Uncommented.
	(nio_msync): Uncommented.
	* gnu/java/nio/natFileChannelImpl.cc: New file.
	
2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(endian): New member variable.
	(get): New methods.
	(equals): New method.
	(compareTo): New method.
	(order): New methods.
	(compact): New method.
	(isDirect): New method.
	(slice): New method.
	(duplicate): New method.
	(asReadOnlyBuffer): New method.
	(asCharBuffer): New method.
	(asDoubleBuffer): New method.
	(asFloatBuffer): New method.
	(asIntBuffer): New method.
	(asLongBuffer): New method.
	(asShortBuffer): New method.
	(get*): New methods.
	(put*): New methods.
	(toString): New method.
	* java/nio/CharBuffer.java
	(CharBuffer): Implement Comparable instead of Cloneable.
	(get): May not be final.
	(put): May not be final.
	
2002-02-13  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
	lastIndexOf( ) instead of indexOf( ) to find the colon before
	the line number, because Win32 file names might contain a 
	drive letter and a colon at the start of an absolute path.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc
	(SocketConnect): This is not implemented yet.
	(SocketBind): This is not implemented yet.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc,
	gnu/java/nio/natDoubleBufferImpl.cc,
	gnu/java/nio/natFloatBufferImpl.cc,
	gnu/java/nio/natIntBufferImpl.cc,
	gnu/java/nio/natLongBufferImpl.cc,
	gnu/java/nio/natShortBufferImpl.cc:
	Added copyright and license.
	* java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* gnu/java/util/prefs/FileBasedFactory.java,
	gnu/java/util/prefs/MemmoryBasedFactory.java,
	gnu/java/util/prefs/MemoryBasedPreferences.java,
	gnu/java/util/prefs/NodeReader.java,
	gnu/java/util/prefs/NodeWriter.java,
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/NodeChangeEvent.java,
	java/util/prefs/NodeChangeListener.java,
	java/util/prefs/PreferenceChangeEvent.java,
	java/util/prefs/PreferenceChangeListener.java,
	java/util/prefs/Preferences.java,
	java/util/prefs/PreferencesFactory.java:
	New files, all merged from classpath.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/util/prefs/FileBasedFactory.java,
	gnu/java/util/prefs/MemmoryBasedFactory.java,
	gnu/java/util/prefs/MemoryBasedPreferences.java,
	gnu/java/util/prefs/NodeReader.java,
	gnu/java/util/prefs/NodeWriter.java,
	(core_java_source_files): Added the following files:
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/NodeChangeEvent.java,
	java/util/prefs/NodeChangeListener.java,
	java/util/prefs/PreferenceChangeEvent.java,
	java/util/prefs/PreferenceChangeListener.java,
	java/util/prefs/Preferences.java,
	java/util/prefs/PreferencesFactory.java
	* Makefile.in: Regenerated.
 
2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java
	(NetPermission): Make doucmentation match the method declaration.
	* java/net/NetworkInterface.java
	(equals): Reformated for GNU coding style.
	* java/net/ServerSocket.java: Merged with classpath.
	* java/net/Socket.java: Partly merged with classpath (Added some @since).
	* java/net/SocketImpl.java
	(localPort): Merged with classpath (initialize with -1).
	* java/net/SocketPermission.java: Merged with classpath (reindented).
	* java/net/URLDecoder.java: Merged with classpath (reindented).

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/awt/GridBagConstraints.java
 	(FIRST_LINE_ENT, FIRST_LINE_START, LAST_LINE_END, LAST_LINE_START,
 	LINE_END, LINE_START, PAGE_END, PAGE_START): New constants.
 	* java/awt/KeyboardFocusManager.java
 	(setGlobalCurrentFocusCycleRoot): Must be public.
 	* java/awt/MenuComponent.java
 	(MenuComponent): Must be public.
 	* java/awt/Toolkit.java:
 	Added some empty lines to make documentation more readable.
 	(getFontPeer): Added @deprecated.
 	(getColorModel): Added exception documentation.
 	(getProperty): Fixed documentation.
 
2003-02-12  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (alpha*-*): Default to -mieee.
	* configure.in (IEEESPEC): New.
	* libgcj.spec.in (jc1): Add IEEESPEC.
	* configure: Rebuild.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* include/win32.h: Include ws2tcpip.h instead of
	winsock.h to obtain definition of the socklen_t type.
	Remove IP_TOS definition - not needed with ws2tcpip.h
	(_Jv_connect): Correct slight formatting error.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* jni.cc (_Jv_LookupJNIMethod): Modify to accept the
	size of the arguments for a JNI function. For Win32,
	modify to search for all forms of possible exported
	names of an stdcall JNI function.
	(_Jv_JNIMethod::call): Modify to calculate the size
	of the arguments passed to a JNI function and pass
	it to _Jv_LookupJNIMethod.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/Channels.java: New file.
	* Makefile.am
	(ordinary_java_source_files): Added java/nio/channels/Channels.java.
	* Makefile.in: Regenerated.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(allocate): Implemented.
	(wrap): Implemented.
	* java/nio/CharBuffer.java:
	Some documentation added and reworked.
	(endian): Removed.
	(allocate): Implemented.
	(wrap): Implemented.
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.
	(toString): Implemented.
	(length): Implemented.
	(put): Implemented.
	(charAt): Implemented.

2003-02-11  John Leuner  <jewel@debian.org>

	* java/util/zip/ZipInputStream.java: Fix problem with 0-length 
	reads from end of file.

2003-02-11  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/natFileDescriptorWin32.cc 
	(java::io::FileDescriptor::read): Return -1 (EOF) if ReadFile( )
	returns with Win32 error code ERROR_BROKEN_PIPE.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* Makefile.in
	(libgcj_la_OBJECTS): Removed natSelctorImpl.la.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java:
	Reformated and removed some code.
	(backing_buffer): Removed.	
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ByteBufferImpl): Use parent constructor, initialize readOnly.
	* gnu/java/nio/CharBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(CharBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/DoubleBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(DoubleBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/FloatBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(FloatBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/IntBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(IntBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/LongBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(LongBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/ShortBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ShortBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/ByteBufferImpl.java
	gnu/java/nio/CharBufferImpl.java
	gnu/java/nio/DoubleBufferImpl.java
	gnu/java/nio/FloatBufferImpl.java
	gnu/java/nio/IntBufferImpl.java
	gnu/java/nio/LongBufferImpl.java
	gnu/java/nio/ShortBufferImpl.java
	java/nio/DoubleBuffer.java
	java/nio/FloatBuffer.java
	java/nio/IntBuffer.java
	java/nio/LongBuffer.java
	java/nio/ShortBuffer.java
	(nat_source_files): Added the following files:
	gnu/java/nio/natByteBufferImpl.cc
	gnu/java/nio/natCharBufferImpl.cc
	gnu/java/nio/natDoubleBufferImpl.cc
	gnu/java/nio/natFloatBufferImpl.cc
	gnu/java/nio/natIntBufferImpl.cc
	gnu/java/nio/natLongBufferImpl.cc
	gnu/java/nio/natShortBufferImpl.cc
	* Makefile.in: Regenerated.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natCharBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natDoubleBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natFloatBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natIntBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natLongBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natShortBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/SelectorProviderImpl.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/ByteBuffer.java
	(readOnly): Removed.
	(hasArray): Use isReadOnly() instead of readOnly.
	(array): Use isReadOnly() instead of readOnly.
	(arrayOffset): Use isReadOnly() instead of readOnly.
	* java/nio/CharBuffer.java
	(CharBuffer): Implements Cloneable and CharSequence.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/DoubleBuffer.java
	(DoubleBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(DoubleBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/FloatBuffer.java
	(FloatBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(FloatBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/IntBuffer.java
	(IntBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(IntBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/LongBuffer.java
	(LongBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(LongBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/ShortBuffer.java
	(ShortBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(ShortBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.

2003-02-11   Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/SelectionKey.java
	(OP_ACCEPT, OP_CONNECT, OP_READ, OP_WRITE): Initialize with correct
	values.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java
	(write): Throws IOException.
	(connect): Throws IOException.
	(disconnect): Throws IOException.
	(read): Throws IOException.
	(receive): Throws IOException.
	(send): Throws IOException.
	* java/nio/channels/Pipe.java
	(open): Throws IOException.
	* java/nio/channels/SelectableChannel.java
	(configureBlocking): Throws IOException.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Throws IOException.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Implements ByteChannel, ScatteringByteChannel,
	GatheringByteChannel.
	(read): Throws IOException.
	(write): Throws IOException.
	(finishConnect): Throws IOException.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(end): Throws AsynchronousCloseException.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Throws IOException.
	(implCloseChannel): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/channels/spi/SelectorProvider.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileLockImpl.java,
	java/nio/channels/FileLock.java: New files.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/IllegalCharsetNameException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(IllegalCharsetException): New implementation.
	(getCharsetName): New implementation.
	* java/nio/charset/UnsupportedCharsetException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(UnsupportedCharsetException): New implementation.
	(getCharsetName): New implementation.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* javax/sql/ConnectionEvent.java (serialVersionUID): New field.
	(ex): Renamed from sqlException.

2003-02-10  Raif S. Naffah  <raif@fl.net.au>

	* gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new 
	method used to ensure seeding has occurred and that a specific 
	seed can be set and used.

2003-02-10  Ranjit Mathew  <rmathew@hotmail.com>

	* java/lang/Win32Process.java (destroy): Declare as native.
	(hasExited): New native method.
	(exitValue): Define.
	(getErrorStream): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(waitFor): Declare as native.
	(startProcess): New native method.
	(cleanup): Likewise.
	(ConcreteProcess): Define.
	(outputStream, inputStream, errorStream): New members.
	(procHandle, exitCode): Likewise.

	* java/lang/natWin32Process.cc
	(java::lang::ConcreteProcess::cleanup): Define.
	(java::lang::ConcreteProcess::destroy): Likewise.
	(java::lang::ConcreteProcess::hasExited): Likewise.
	(java::lang::ConcreteProcess::waitFor): Likewise.
	(new_string): Likewise.
	(java::lang::ConcreteProcess::startProcess): Likewise.

2003-02-10  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java:
	Updated notice to include years 2002 and 3.
	Added 2 private (int) arrays with values from the HAC (Handbook of
	Applied Cryptography -A. Menezes & al): k[] that contains bit lengths
	and t[] that contains nbr. of tests --used in isProbablePrime().

	* java/math/BigInteger.java (make(long)): Merged into valueOf(long).

	* java/math/BigInteger.java (make(int[],int), add(int,int),
	add(BI,BI,int), times(BI,int), divide(long,long,BI,BI,int), gcd(BI),
	isProbablePrime(int), shift(BI,int), valueOf(String,int), neg(BI),
	bitOp(int,BI,BI), and(BI,int)): Use valueOf(long) instead of
	make(long).

	* java/math/BigInteger.java (euclidInv): Reduce number of work vars
	(euclidInv(int,int,int)): Now returns an array of 2 ints instead of 3.
	(euclidInv(BI,BI,BI)): Used to return an array of 2 BIs; now accepts 6
	BIs and returns void.
	(modInverse(BI)): Use new signatures of euclidInv().

	* java/math/BigInteger.java (isProbablePrime(int)): Use divide() with
	static small primes instead of remainder().
	Use pre-computed max nbr of trials based on bitlength of BI to test.
	Use pre-computed small primes for the trial tests instead of random
	numbers.

	* java/math/BigInteger.java (isOdd, isMinusOne, pow): Removed.
	not used.

	* java/math/BigInteger.java (format(int,StringBuffer)): Removed
	invoacation of MPN.chars_per_word().  not used.

	* java/math/BigInteger.java (gcd(int,int)): Declared 'tmp' once as
	local var and used where needed.

	* java/math/BigInteger.java (modPow(BI,BI)): Fixed spelling.
	Combined declaration with initialisation of locals.
	Removed unused var.

	* java/math/BigInteger.java: Style changes
	(pow(int)): Removed 'else' keyword.
	(toString(int)): idem.
	(doubleValue()): idem.
	(bitLength()): idem.
	(equals(Object)): Use static methods name in same class w/o prepending
	class name.
	(doubleValue()): idem.
	(setNegative(BI)): idem.
	(negate()): idem.
	(and(BI,int)): idem.
	(and(BI)): idem.
	(gcd(BI)): idem.
	(byteArrayToIntArray()): Removed casting to (int). this is
	std. behaviour.
	(canonicalize()): idem.
	(alloc(int)): Always instantiate a new BI.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* java/sql/Timestamp.java (compareTo(Object)): New method.
	(compareTo(Timestamp)): Likewise.
	(serialVersionUID): Updated.

2003-02-07  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest
	when verify is true.
	(JarFile(File, boolean)): Likewise.
	(manifestRead): Set manifestRead field correctly.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
	tests; see patch #1016 on Savannah.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal.java (BigDecimal): enhance parsing of exponents
	(toString): do not return Strings starting with . and - erroneously.
	Improves Mauve results to 12 of 600 instead of 16 of 338 on
	DiagBigDecimal.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java
	(PropertyDescriptor(String, Class)): Sanity check getter and setter
	methods.
	(PropertyDescriptor(String, Class, String, String)): Likewise.
	(PropertyDescriptor(String, Method, Method): Factor out getter and
	setter method sanity checks into new method.
	(findMethods): Don't do parameter sanity checking of get method here.
	(checkMethods): New method.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java: Reformat.

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

	* java/io/PipedOutputStream.java (flush): Declare as throwing
	IOException.
	(close): Likewise.
	* java/io/PipedWriter.java (close): Declare as throwing
	IOException.
	* java/io/StringWriter.java (close): Declare as throwing
	IOException.

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* java/lang/natRuntime.cc (java::lang::Runtime::_load)): Take care
	of the fact that on Win32, JNI_OnLoad is an "stdcall" function and
	could also have been exported as "JNI_OnLoad@8" (MinGW) or
	"_JNI_OnLoad@8" (MSVC).

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* resolve.cc (_Jv_JNIMethod::ncode): Use stdcall calling
	convention on Win32 to invoke native JNI methods.

2003-02-03  Andrew Haley  <aph@redhat.com>

	* configure.host (x86_64): Enable interpreter.

2003-02-03  Andrew Haley  <aph@redhat.com>

	* libgcj.spec.in (jc1): Add BACKTRACESPEC.
        * configure.host (x86_64): Default to -fno-omit-frame-pointer.
        * configure.in (BACKTRACESPEC): New.
        * configure: Regenerate.

2003-02-02  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in (TOOLKIT) [xlib]: Set correctly.

	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Link against
	libstdc++.

2003-01-31  Mark WIelaard  <mark@klomp.org>

	* Makefile.in: Rebuilt.
	* Makefile.am (gtk_c_headers): Strip trailing / from jniinclude.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
	cast to element type.
	(_Jv_JNI_SetObjectArrayElement): Check array bounds.
	(_Jv_JNI_GetObjectArrayElement): Likewise.

	* Makefile.in: Rebuilt.
	* Makefile.am (cond_x_ltlibrary): Renamed library to
	lib-gnu-awt-xlib.la.
	(lib_gnu_awt_xlib_la_SOURCES): Renamed.
	(EXTRA_lib_gnu_awt_xlib_la_SOURCES): Likewise.
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Likewise.
	(lib_gnu_awt_xlib_la_LIBADD): Likewise.
	(lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
	(lib_gnu_awt_xlib_la_LINK): Likewise.
	(install-exec-hook): Removed.
	(lib-gnu-awt-xlib.la): Renamed.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Resurrected; was in
	aclocal.m4 and lost in some merge.

	* java/awt/Window.java (Window(Window,GraphicsConfiguration)):
	Don't try to find graphics configuration.
	* java/awt/Toolkit.java (default_toolkit_name): Use new
	Configuration entry.
	* gnu/classpath/Configuration.java.in (default_awt_peer_toolkit):
	New global.
	* configure: Rebuilt.
	* configure.in (TOOLKIT): New subst.
	(--enable-java-awt) [xlib, gtk]: Set TOOLKIT if required.
	Do AWT tests much earlier.  Run Gtk tests.  Make jniinclude
	directory.  Make output directories for .c files.
	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): New macro.
	(toolexeclib_LTLIBRARIES): Added cond_gtk_ltlibrary.
	(all_java_source_files): Added new sources.
	($(lib_gnu_java_awt_peer_gtk_la_OBJECTS)): New target.
	(gtk_c_files): New macro.
	(gtk_c_source_files): New macro.
	(cond_gtk_ltlibrary): New macro.
	($(gtk_c_files)): New target.
	(lib_gnu_java_awt_peer_gtk_la_LIBADD): New macro.
	(gtk_awt_peer_sources): New macro.
	(gtk_c_headers): New macro.
	($(gtk_c_headers)): New target.
	(ACLOCAL_AMFLAGS): New macro.
	* gtk.m4, glib.m4, libart.m4: New files.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkArg.java,
	gnu/java/awt/peer/gtk/GtkArgList.java,
	gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.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/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/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkImage.java,
	gnu/java/awt/peer/gtk/GtkImagePainter.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkListPeer.java,
	gnu/java/awt/peer/gtk/GtkMainThread.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkOffScreenImage.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	gnu/java/awt/peer/gtk/Test.java: New files from Classpath.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.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_GtkImagePainter.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c, jni/gtk-peer/gthread-jni.h,
	jni/gtk-peer/gtkpeer.h, jni/classpath/jcl.c, jni/classpath/jcl.h,
	jni/classpath/jnilink.c, jni/classpath/jnilink.h,
	jni/classpath/native_state.c, jni/classpath/native_state.h,
	jni/classpath/primlib.c, jni/classpath/primlib.h: Likewise.

2003-01-31  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Properties.java (load): Ignore backslash before EOF.

2003-01-30  Jeff Sturm  <jsturm@one-point.com>

	* java/lang/natClass.cc (initializeClass): Check tables when
	(state == JV_STATE_IN_PROGRESS).
	(_Jv_GetInterfaces): Use _Jv_WaitForState to link interface.
	* java/lang/natClassLoader.cc (_Jv_WaitForState): Handle
	interpreted classes.
	(linkClass0): Use _Jv_WaitForState.

2003-01-28  Oscar Pearce  <oscar@pearceenterprises.com>

	* java/awt/Component.java (processPaintEvent): Dispose of Graphics
	object when finished.

2003-01-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* libjava/configure.host: Disable can_unwind_signal on darwin.

2003-01-28  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9254:
	* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
	additionally containing id of the owner thread as well as
	the number of nested times the thread has acquired the mutex.
	(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
	(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
	(_Jv_MutexUnlock): Check if really the owner thread, reset
	owner thread id to 0 before leaving, if leaving for the last
	time.
	(_Jv_MutexLock): Set owner thread id in the mutex and increment
	refcount.
	(_Jv_ThreadYield): Yield using a call to Sleep(0).
	* win32-threads.cc (_Jv_CondWait): Check if really owner of
	the passed mutex.
	Pass handle of the broadcast event, instead of a pointer to it
	in Win32 ResetEvent( ) call.
	Remove incorrect return values.
	(_Jv_CondDestroy): Close both event handles and delete
	critical section.
	(_Jv_CondNotify): Check if really the owner thread.
	(_Jv_CondNotifyAll): Check if really the owner thread.
	(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
	(really_start): Use SetEvent( ) to signal daemon_cond.
	(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
	WaitForSingleObject( ) instead to wait for daemon_cond to be
	signalled.

2003-01-27  Ranjit Mathew  <rmathew@hotmail.com>

	* configure.in: Specifically define HAVE_BACKTRACE if building
	for MinGW.
	* include/win32.h: Remove HAVE_BACKTRACE definition.
	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h.
	* configure: Rebuilt.

2003-01-27  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (toolexecdir, toolexecmainlibdir, toolexeclibdir):
	Set and AC_SUBST.  Remove USE_LIBDIR conditional.
	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
	(toolexecmainlib_DATA): Renamed from toolexeclib_DATA.
	* Makefile.in, configure: Rebuilt.

2003-01-24  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9253:
	* java/io/natFileWin32.cc (performList): Append only "*.*"
	if the canonical file path already has a "\" at the end.

2003-01-24  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (handleMethodsEnd): Precompute code for static
	method.
	(handleCodeAttribute): Likewise.
	* resolve.cc (ncode): Use run_class for unsynchronized static
	methods.
	* include/java-interp.h (class _Jv_InterpMethod): Declare
	run_class.
	* interpret.cc (run_synch_class): Initialize class.
	(run) [insn_invokestatic]: Don't initialize class.
	[insn_anewarray]: Likewise.
	[insn_multianewarray]: Likewise.
	(run_class): New function.

2003-01-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findLoadedClass): Removed erroneous
	comment.

2003-01-22  Andrew Haley  <aph@redhat.com>

        * x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
        * configure.host (CHECKREFSPEC): Define for x86_64.

2003-01-21  Tom Tromey  <tromey@redhat.com>

	* java/util/natResourceBundle.cc (getCallingClassLoader): Start
	search at 2, not 3.

2003-01-21  Vladimir Puskas  <vpuskas@eunet.yu>

	* java/io/natFileWin32.cc (isAbsolute): Check path length before
	looking at any characters.
	* java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
	be used.
	(isAbsolute): Check path's length as well.

2003-01-17  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
	(nat_source_files): Add natVMObjectStreamClass.cc.
	* Makefile.in: Regenerated.
	* gcj/javaprims.h (namespace java): Regenerated.
	* java/io/ObjectStreamClass.java (getClassUID): Call
	VMObjectStreamClass.hasClassInitializer().
	(hasClassInitializer): Removed.
	* java/io/VMObjectStreamClass.java: New class.
	* java/io/natVMObjectStreamClass.cc: New file.
	* java/lang/Class.h: Make java::io::VMObjectStreamClass friend class.

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

	* java/net/SocketImpl.java (toString): Don't explicitly call
	toString() on possible null address.

2003-01-16  Michael Koch  <konqueror@gmx.de>

	* java/net/MulticastSocket.java
	(setInterface): Reindented.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natGC.cc (fillPolygon): New method.
	* gnu/gcj/xlib/GC.java (fillPolygon): Declare.
	* gnu/awt/xlib/XGraphics.java (fillPolygon): Added translateX and
	translateY arguments.  Implement.
	* gnu/awt/j2d/IntegerGraphicsState.java (fillPolygon): Pass
	down translation arguments.
	(drawPolyline, drawPolygon): Fix incorrect tests.
	* gnu/awt/j2d/DirectRasterGraphics.java (fillPolygon): Added
	translateX and translateY arguments.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (xlib_includes): New macro.
	(INCLUDES): Use it.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
	* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
	16-bit display mode.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/CardLayout.java (show): Rewrote.
	(gotoComponent): Removed `target' argument.  Simplified code.
	Don't pre-compute `choice' unless `what' is FIRST or LAST.
	Changed all callers.
	(NONE): Removed.
	
2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(serialVersionUID): New member variable.
	* java/net/NetPermission.java
	(NetPermission): Dont implement java.io.Serialization directly.
	* java/net/SocketAddress.java:
	(serialVersionUID): Documentation added.
	
2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/awt/Label.java
	(Label): Implements javax.accessibility.Accessible;
	* java/awt/List.java
	(List): Implements javax.accessibility.Accessible;
	* java/awt/ScrollPane.java
	(ScrollPane): Implements javax.accessibility.Accessible;
	* java/awt/Scrollbar.java
	(Scrollbar): Implements javax.accessibility.Accessible;
	* java/awt/TextComponent.java
	(setCaretPosition): Throw exception, documentation added.
	* java/awt/Toolkit.java:
	Added some newlines in method documentations.
	(createButton): Exception documentation added.
	(createTextField): Exception documentation added.
	(createLabel): Exception documentation added.
	(createList): Exception documentation added.
	(createCheckbox): Exception documentation added.
	(createScrollbar): Exception documentation added.
	(createScrollPane): Exception documentation added.
	(createTextArea): Exception documentation added.
	(createChoice): Exception documentation added.
	(createFrame): Exception documentation added.
	(createWindow): Exception documentation added.
	(createDialog): Exception documentation added.
	(createMenuBar): Exception documentation added.
	(createMenu): Exception documentation added.
	(createMenuItem): Exception documentation added.
	(createFileDialog): Exception documentation added.
	(createCheckboxMenuItem): Exception documentation added.
	(loadSystemColors): Exception documentation added.
	(setDynamicLayout): Exception documentation added.
	(isDynamicLayoutSet): Exception documentation added.
	(isDynamicLayoutActive): Exception documentation added.
	(getScreenSize): Exception documentation added.
	(getScreenResolution): Exception documentation added.
	(getScreenInsets): Exception documentation added.
	(getColorModel): Exception documentation added.
	(getSystemClipboard): Exception documentation added.
	(getSystemSelection): Exception documentation added.
	(getMenuShortcutKeyMask): Exception documentation added.
	(getSystemEventQueue): Exception documentation added.
	* java/awt/Window.java:
	Reindented some code.
	(Window): Centralized implementation, documentation added.
	(finalize): Documentation added.
	(hide): Fixed typo in comment.
	(getWindowListeners): Documentation added.
	* java/awt/color/ColorSpace.java
	(toRGB): Documentation added.
	* java/awt/color/ICC_ColorSpace.java
	(ICC_ColorSpace): Documentation added.
	(toRGB): Throw exception, documentation added.
	(fromRGB): Throw exception, documentation added.
	(toCIEXYZ): Documentation added.
	(fromCIEXYZ): Documentation added.
	(getMinValue): Documentation added.
	(getMaxValue): Documentation added.
	* java/awt/geom/Dimension2D.java
	(clone): Documentation added.
	* java/awt/geom/GeneralPath.java
	(clone): Documentation added.
	* java/awt/geom/Line2D.java
	(clone): Documentation added.
	* java/awt/geom/QuadCurve2D.java
	(clone): Documentation added.
	* java/awt/image/ColorModel.java
	(ColorModel): Throw exception, documentation added.
	* java/awt/image/ImageFilter.java
	(clone): Doesnt throw CloneNotSupportedException.

2003-01-14  Andrew Haley  <aph@redhat.com>

	* java/lang/natRuntime.cc (_load): StackTrace access needs to be
	in a try block.

2003-01-10  Andrew Haley  <aph@redhat.com>

	* include/dwarf2-signal.h: Remove x86_64.
	* configure.host (x86_64 DIVIDESPEC): Remove.
	* include/x86_64-signal.h: New file.
	* configure.in: Regenerate.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(ch): Description added.
	(remotePort): Initialize with -1.
	(connect): Doesnt throws SocketException.
	* java/net/MulticastSocket.java
	(setInterface): Merge with Classpath.
	* java/net/ServerSocket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isBound): Reindented.
	(isClosed): Implemented.
	* java/net/Socket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(connect): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isClosed): Implemented.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/awt/DisplayMode.java
	(equals): Fixed argument type and implementation.

2003-01-07  Tom Tromey  <tromey@redhat.com>

	* include/posix.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.
	* include/win32.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.

2003-01-07  Michael Koch  <konqueror@gmx.de>
 
 	* java/net/DatagramSocket.java:
 	Added classpath license info.
 	(DatagramSocket): Merged description with classpath.
 	(close): Merged description with classpath.
 	(getChannel): Merged description with classpath.
 	(getInetAddress): Merged description with classpath.
 	(getPort): Merged description with classpath.
 	(getLocalAddress): Merged description with classpath.
 	(getLocalPort): Merged description with classpath.
 	(getSoTimeout): Merged description with classpath.
 	(setSoTimeout): Merged description with classpath.
 	(getSendBufferSize): Merged description with classpath.
 	(setSendBufferSize): Merged description with classpath.
 	(getReceiveBufferSize): Merged description with classpath.
 	(setReceiveBufferSize): Merged description with classpath.
	
2003-01-04  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java: Merged with Classpath.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	* java/io/FileDescriptor.java (position): New private field.
	* java/io/natFileDescriptorPosix.cc (write): Up position.
	(setLength): Use and set position.
	(seek): Set position.
	(getFilePointer): Return position.
	(read): Up position.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	Merge with Classpath:
	* java/io/ObjectStreamClass.java (lookup): Split method and call
	lookupForClassObject().
	(lookupForClassObject): New method.
	(isProxyClass): New field.
	(setClass): Set isProxyClass, add object to classLookupTable, set
	superClass and calculateOffsets.
	(ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
	and not a proxy class.
	(setFields): Set accessible true for serialPersistentFields.
	(getClassUID): Same for suid. And check if suid is of type long.
	(hasClassInitializer): Don't throw NoSuchMethodError.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	* java/io/FileInputStream.java (finalize): Don't explicitly
	finalize FileDescriptor.

2003-01-03  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (sparc*-*): Enable bytecode interpreter.

2003-01-03  Dhek Bhun Kho  <bhun@chello.nl>

	* gnu/java/rmi/server/UnicastServerRef.java (unexportObject):
	Don't throw RemoteException.
	* java/rmi/server/UnicastRemoteObject.java (unexportObject): Don't
	throw RemoteException.

2003-01-03  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* gnu/gcj/protocol/http/Connection.java (proxyPort, proxyInUse,
	proxyHost): New static fields.
	(<clinit>): Initialize new fields.
	(connect): Use proxy if necessary.
	(usingProxy): Implement.

2003-01-03  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (fabricateTree): Fix off-by-one error.
	(TreeIterator.remove): Prefer IllegalStateException over
	ConcurrentModificationException, to match Sun.

2002-12-22  Anthony Green  <green@redhat.com>

	* boehm.cc (_Jv_MarkObj): Mark the protectionDomain of a class.

2003-01-02  Mark Wielaard  <mark@klomp.org>

	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
	public.
	(HTTP_USE_PROXY): Add field.
	(getResponseVals): Only set responseCode when not yet explicitly
	set by subclass.

2003-01-02  Artur Biesiadowski  <abies@pg.gda.pl>
	    Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (entries): Now HashMap.
	(readLeShort(DataInput, byte[])): Read from given byte array.
	(readLeInt(DataInput, byte[]): Likewise.
	(readLeShort(byte[] b, int off)): New method.
	(readLeInt(byte[] b, int off)): Likewise.
	(readEntries): Use byte arrays to read info in bigger chunks.
	(getEntries): Return HashMap.
	(getEntry): Use HashMap.
	(locBuf): New private field.
	(checkLocalHeader): Use locBuf to read info in one chunk.
	(getInputStream): Use entries HashMap, wrap PartialInputStream
	in BufferedInputStream.
	(ZipEntryEnumeration): Use HashMap and Interator.

2003-01-02  Mark Wielaard  <mark@klomp.org>
	    Jeroen Frijters  <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (Resource.getCodeSource):
	Fix check certs == null.
	(getCanonicalFileURL): Removed method.
	(JarURLLoader): Don't call removed method.
	(FileURLLoader): Likewise.
	(FileURLLoader.getResource): Don't canonicalize file name.

2003-01-01  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): Added RMIClassLoaderSpi.
	* java/awt/AlphaComposite.java, java/awt/BasicStroke.java,
	java/awt/BufferCapabilities.java, java/awt/Button.java,
	java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
	java/awt/Container.java, java/awt/Cursor.java,
	java/awt/EventQueue.java, java/awt/FileDialog.java,
	java/awt/Graphics2D.java, java/awt/Label.java, java/awt/Menu.java,
	java/awt/MenuBar.java, java/awt/MenuComponent.java,
	java/awt/PopupMenu.java, java/awt/ScrollPane.java,
	java/awt/Scrollbar.java, java/awt/TextArea.java,
	java/awt/TextField.java, java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java, java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/Clipboard.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/FlavorMap.java,
	java/awt/datatransfer/SystemFlavorMap.java,
	java/awt/dnd/DragGestureEvent.java,
	java/awt/dnd/DragGestureRecognizer.java,
	java/awt/dnd/DragSource.java, java/awt/dnd/DropTarget.java,
	java/awt/event/WindowEvent.java, java/awt/geom/PathIterator.java,
	java/awt/im/InputMethodHighlight.java,
	java/io/PipedOutputStream.java, java/io/PipedWriter.java,
	java/rmi/server/RMIClassLoader.java: Merged from Classpath.

	* gnu/awt/j2d/Graphics2DImpl.java (drawImage): Changed type of
	`op' to BufferedImageOp.

