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

	* 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.

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

	* java/io/ObjectOutputStream.java
	(putFields): Removed redundant code.
	(writeFields): Check for multiple call to writeFields.
	(markFieldsWritten): Fixed exception message.

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

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

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

	* java/nio/channels/Channels.java
	(newInputStream): Implemented.
	(newOuputStream): Implemented.
	(newChannel): Implemented.
	* gnu/java/nio/ChannelInputStream.java,
	gnu/java/nio/ChannelOutputStream.java,
	gnu//java/nio/InputStreamChannel.java,
	gnu/java/nio/OutputStreamChannel.java: New files.
	* gnu/java/nio/Makefile.am (EXTRA_DIST): Added new files.

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

	* java/io/ObjectStreamClass.java
	(getSerialPersistentFields): Little reformating.

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  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(req_props): Removed.
	(getHeaderField): Do nothing here. Implementation has to be in
	subclass.
	(setRequestProperty): Likewise.
	(addRequestProperty): Likewise.
	(getRequestProperty): Likewise.
	(getRequestProperties): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.

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

	* java/text/RuleBasedCollator.java,
	java/text/CollationElementIterator.java:
	Parser rewritten. All but one feature implemented.

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

	* java/net/URLStreamHandler.java
	(parseURL): Change a relative path into an
	absolute if the original URL does not have any path.

	* java/util/GregorianCalendar.java
	(computeFields): Reported by Ito Kazumitsu <kaz@maczuka.gcd.org>.
	Fixed the computation of DAY_OF_WEEK_IN_MONTH.

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

	* java/io/ObjectStreamClass.java: Reindented.

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

	* java/io/ObjectInputStream.java: Use if instead of catching
	NullPointerException.

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

	* gnu/java/net/HeaderFieldHelper.java
	(getHeaderFieldValueByKey): New method.
	(getHeaderFields): New method.
	* gnu/java/net/protocol/http/Connection.java
	(connect): Lowercase key before adding to HeaderFieldHelper object.
	(getHeaderField): New method.
	(getHeaderFields): New method.

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

	* java/io/ObjectOutputStream.java,
	java/io/ObjectInputStream.java,
	java/io/ObjectStreamClass.java: Reindented. Some exception message
	has been added.

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

	* java/io/ObjectOutputStream.java
	(writeClassDescriptor): Externalizable class must also write their
	hierarchy.
	(putFields): Added some text message for an exception.

	* java/io/ObjectInputStream.java
	(readClassDescriptor): Documented. Better field checking.
	(defaultReadObject): Readjusted messages in exceptions.
	(currentLoader): Documented.
	(inputGetObjectStreamClasses): Changed indentation.
	(readFields): Documented. Changed logic to improve error reporting and
	behaviour compared to the JDK.
	(readFields): Fixed behaviour.
	(getField): Documented. Fixed behaviour.
	(callReadMethod): Invalidate read fields.

	* java/io/ObjectStreamClass.java
	(setFields): Fix to avoid a NullPointerException.
	(getSerialPersistentFields): Documented. Improved modifier checking.

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

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

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.
	
2003-12-28  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannelImpl.java
	(implRead): Only put data into buffer when data was read.

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

	* java/io/ObjectStreamField.java
	(isShared): Documentation added.

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
	(setRequestProperty): New method.
	(getRequestProperty): New method.
	(getHeaderField): Reformated.
	(getHeaderFieldKey): Reformated.

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

	* include/Makefile.am: Add java_lang_VMRuntime.h generation rule.
	* include/java_lang_VMRuntime.h: Regenerated.
	* java/lang/Makefile.am (EXTRA_DIST): Add Runtime.java.
	* vm/reference/java/lang/Makefile.am: Remove Runtime.java, add
	VMRuntime.java.

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

	* gnu/java/net/protocol/http/Connection.java
	(receiveReply): Add the null header containing the reply of the server.
	(getHeaderField, getHeaderFieldKey): Check whether the connection has
	already been established.

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

	* java/io/CharArrayReader.java (read): It should throw
	IndexOutOfBoundsException and not ArrayIndexOutOfBoundsException (see
	mauve).
	
2003-12-27  Guilhem Lavaux <guilhem@kaffe.org>

	* 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
	(outputWriter): Removed.
	(connect): Always initialize inputStream, don't initialize
	outputWriter.
	(sendRequest): Create PrintWriter object locally.
	(receiveReply): Made private.
	(getInputStream): Return inputStream confitionally.
	(getOuputStream): Documentation added.
	(setRequestMethod): Reordered.
	(getHeaderField): Reordered.
	(getHeaderFieldKey): Reordered.

2003-12-27  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/System.java (mapLibraryName): Changed to call
	VMRuntime.nativeGetLibname.
	* java/lang/Runtime.java: New file.
	* vm/reference/java/lang/Runtime.java: Removed.
	* vm/reference/java/lang/VMRuntime.java: New file.
	* include/java_lang_VMRuntime.h: New file.
	* include/java_lang_Runtime.h: Removed.


2003-12-27  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,
	javax/print/attribute/standard/Makefile.am,
	javax/print/attribute/standard/package.html: New files

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

	* java/nio/channels/spi/AbstractSelector.java:
	Added import for java.nio.channels.ClosedSelectorException.
	(close): Added synchronized to method declaration.
	(cancelledKeys): Throw ClosedSelectorException if is closed.
	(cancelKey): Synchronize on cancelled key set before key.

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

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

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

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

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

	* java/util/prefs/Preferences.java:
	Import used classes explicitely.
	* java/util/prefs/AbstractPreferences.java
	(cachedChildren): New method.

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

	* java/text/MessageFormat.java
	(MessageFormat): New constructor.
	* java/text/NumberFormat.java
	(getCurrency): New method.
	(setCurrency): New method.

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

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

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

	* java/net/DatagramPacket.java
	(length): Made package-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.

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

	* java/net/DatagramSocket.java
	(close): Directly return if socket is closed.
	* java/net/ServerSocket.java bind():
	If InetSocketAddress.getAddress() returns "null" use "0.0.0.0" as
	address to bind to.
	(close): Directly return if socket is closed.

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

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

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

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

2003-12-26  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/EventDirContext.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-26  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/reflect/TypeSignature.java: Reformatted.

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

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

2003-12-26  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-26  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/PixelGrabber.java: Removed assert() statements added
	in last commit as this breaks compilation with jikes.

2003-12-26  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.
	* java/awt/datatransfer/StringSelection.java (getTransferData):
	Return object of type expected by specified DataFlavor.

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

	* java/awt/image/PixelGrabber.java:
	Fix implementation and update javadocs.
2003-12-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

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

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

	* java/awt/List.java (replaceItem): Prevent selection to move with
	replace and minimize flickering.

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

	* native/target/generic/target_generic_file.h
	(TARGET_NATIVE_FILE_FILEFLAG_SYNC): Define to O_FSYNC on systems where
	O_SYNC doesnt exist but O_FSYNC does (like FreeBSD).

2003-12-26  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.

2003-12-26  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-26  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/AttributeSetUtilities.java,
	javax/print/attribute/DateTimeSyntax.java,
	javax/print/attribute/DocAttribute.java,
	javax/print/attribute/DocAttributeSet.java,
	javax/print/attribute/EnumSyntax.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,
	javax/print/attribute/IntegerSyntax.java,
	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/ResolutionSyntax.java,
	javax/print/attribute/SetOfIntegerSyntax.java,
	javax/print/attribute/Size2DSyntax.java,
	javax/print/attribute/SupportedValuesAttribute.java,
	javax/print/attribute/TextSyntax.java,
	javax/print/attribute/URISyntax.java,
	javax/print/attribute/UnmodifiableSetException.java: New files
	* javax/print/attribute/Makefile.am (EXTRA_DIST): Added new files.

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

	* java/util/GregorianCalendar.java (computeTime): 12:00 midnight is AM
	and 12:00 noon is PM.

2003-12-26  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  Dalibor Topic <robilad@kaffe.org>

	* java/net/Socket.java (close): Allow a Socket to be closed
	multiple times without throwing an exception.

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  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-25  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.

	* gnu/java/rmi/server/Makefile.am (EXTRA_DIST): Add RMIVoidValue.java.

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

	* include/Makefile.am (ARG_CLASSPATH_JAVAH): Use -bootclasspath.
	* include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkToolkit.h: Likewise.
	* include/java_lang_VMSystem.h: Likewise.

2003-12-25  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.

	* gnu/java/net/Makefile.am (EXTRA_DIST): Add URLParseError.java.

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

	* configure.in: Set version to 0.07+cvs.

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

	* java/awt/List.java (getSelectedIndex):
	Return -1 if no list element is selected.

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

	* native/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.

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

	* Container.java (LightweightDispatcher): Expand implementation.
	(visitChild): Use existing graphics object, rather than clone.
	(dispatchEventImpl): Call LightweightDispatcher if it exists.
	(addNotifyContainerChildren): Build LightweightDispatcher.

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

	* include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h,
	include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,
	include/gnu_java_awt_peer_gtk_GtkToolkit.h: Regenerate.
	* native/jni/gtk-peer/Makefile.am: Add
	gnu_java_awt_peer_gtk_GdkPixbufDecoder.c.
	* 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-12-02  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/ObjectInputStream.java:
	(setBooleanField): Throw an InvalidClassException if the field hasn't 
	the required type.
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setShortField): Likewise.
	(setLongField): Likewise.
	(setObjectField): Likewise.

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

2003-12-02  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-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/io/PlatformHelper.java: Reformated.

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

	* javax/swing/JLayeredPane.java: Implement.

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

	* java/net/DatagramSocket.java
	(close): Close associated DatagramChannel object.
	* 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>

	* java/net/DatagramSocket.java
	(DatagramSocket): Call other sister constructor.
	(connect): Revised exception message.
	(setBroadcast): Renamed on to enable.
	(getLocalAddress): Completed documentation.
	(getChannel): Likewise.
	(isBound): Likewise.
	(isConnected): Likewise.
	(getRemoteSocketAddress): Likewise.
	(getLocalSocketAddress): Likewise.
	(getReuseAddress): Likewise.
	(setBroadcast): Likewise.
	(getTrafficClass): Likewise.
	* java/net/ServerSocket.java
	(getLocalSocketAddress): Simplified.
	(accept): Renamed s to socket.
	(implAccept): Likewise.
	(toString): Made it compliant to SUNs JDK.
	* java/net/Socket.java
	(impl): Make private.
	(getInetAddress): Check if socket is connected.
	(getPort): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(getLocalPort): Check if socket is bound.
	(shutdownOutput):
	Readd accidently removed "getImpl().shutdownOutput()".
	(connect): Completed documentation.
	(getOOBInline): Likewise.
	(getReuseAddress): Likewise.
	(getTrafficClass): Likewise.
	(isConnected): Likewise.
	(isBound): Likewise.
	(isClosed): Likewise.
	(isInputShutdown): Likewise.
	(isOutputShutdown): Likewise.

2003-12-02  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-12-02  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-12-02  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.
	* 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-12-02  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.
	* java/net/Socket.java
	(various): Some more getImpl() fixes.

2003-12-02  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-12-02  Michael Koch  <konqueror@gmx.de>

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

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

	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: Regenerated.

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

	* gnu/java/net/protocol/file/Handler.java:
	(openConnection): Handle case when host part of file: URL is set.
	* gnu/java/net/protocol/http/Connection.java: Reformated.

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

	* gnu/java/lang/ClassLoaderHelper.java:
	Explicitly import used classes.
	* gnu/java/lang/SystemClassLoader.java
	(systemFindResource): Fixed typo.

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

	* gnu/java/net/protocol/file/Connection.java: Reformated.
	(inputStream): Made an InputStream.
	(outputStream): Made an OutputStream.
	(connect): Don't throw FileNotFoundException directly. FileInputStream
	constructor does this for us.

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

	* gnu/java/net/protocol/jar/Connection.java:
	Reformated.

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

	* gnu/java/net/protocol/jar/Handler.java:
	Reformated.

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

	* gnu/java/net/protocol/file/Handler.java:
	Reformated.

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  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Container.java (swapComponents): New method.
	* (visitChild): Handle null clip bounds.
	* javax/swing/JLayeredPane.java: Conform to mauve test, javadoc.

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

	* java/awt/TextComponent.java:
	(getSelectionStart): Updated javadocs.
	(getSelectionEnd): Ditto.
	* native/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/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-11-30  Mark Wielaard  <mark@klomp.org>

	* configure.in: Set version to 0.07.
	* NEWS: Set release date to today.

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

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

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

	* doc/api/Makefile.am (packages, create_html): Only generate api doc
	for the core packages, not the external ones.

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

	Reported by Etienne Gagnon <gagnon.etienne_m@uqam.ca>
	* doc/www.gnu.org/stories: Updated SableVM blurb and add extra
	publications link.

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

	* doc/hacking.texi: Clearify jikesrvm link (www, not www-124).
	* doc/www.gnu.org/stories.wml: Likewise.
	* doc/www.gnu.org/home.wml: Update Open Tasks savannah link.

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

	* gnu/java/net/PlainDatagramSocketImpl.java
	(sendTo): Added offset argument.
	* include/gnu_java_net_PlainDatagramSocketImpl.h: Regenerated.
	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
	(receive0): Use completely available space in buffer array.
	(sendTo): Use offset.

2003-11-28  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-11-28  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-11-28  Mark Wielaard  <mark@klomp.org>

	Reported by Michael Hind <hindm@us.ibm.com>:
	* doc/www.gnu.org/stories: Updated Jikes RVM blurb.
	Fixed Joas and SableVM publication links.

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

	* NEWS: Update with new 0.07 items.

2003-11-28  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-11-27  Michael Koch  <konqueror@gmx.de>

	* doc/www.gnu.org/downloads/tools.wml: Add GNU.xml style definition
	file.

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

	New setup from Patrik Reali <reali@acm.org>
	* Makefile: New setup.
	* README: Describe new setup.
	* benchmarks.wml: New file.
	* external.wml: New file.
	* home.wml: Use new setup.
	* license.wml: New file.
	* stories.wml: New file.
	* docs/Makefile: New setup.
	* docs/docs.wml: Use new setup.
	* downloads/.cvsignore: New file.
	* downloads/19990206.wml: New file.
	* downloads/20001120.wml: New file.
	* downloads/20010106.wml: New file.
	* downloads/20020208.wml: New file.
	* downloads/Makefile: New file.
	* downloads/downloads.wml: New file.
	* downloads/tools.wml: New file.
	* faq/.cvsignore: New file.
	* faq/Makefile: New file.
	* faq/faq.wml: New file.
	* include/layout.wml: New file.
	* include/macros.wml: New setup.

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

	* configure.in: Removed AC_CYGWIN and AC_MINGW32.

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

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

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

	* gnu/java/net/protocol/http/Connection.java
	(connect): Always create outputStream, its needed to send request to
	remote server. Set connected to true after request was sent and reply
	received.

2003-11-27  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 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-26  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-26  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-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/DatagramPacket.java
	(DatagramPacket): Fixed documentation to become legal HTML.

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>

	* java/net/URLStreamHandler.java
	(getHostName): Fix empty hostname check.
	(toExternalForm): Add port number only when host is present and port
	was specified in spec.

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

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

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

	Thanks to Sascha Brawer
	* NEWS: Update new features, vm-interface changes and bug fixes.

2003-11-25  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-23  Guilhem Lavaux <guilhem@kaffe.org>

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

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

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

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

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

	* native/jni/java-net/javanet.c: Plain[Datagram]SocketImpl moved from
	java/net to gnu/java/net.

2003-11-22  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

	* 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.

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

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  Jeroen Frijters  <jeroen@frijters.net>
	* vm/reference/java/lang/Runtime.java (exit): Fixed bug introduced
	earlier today that caused exit() calls during finalization for exit
	to get lost.

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

	* configure.in: Depend on gtk+ 2.2.x.
	* HACKING, NEWS: Document.

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

	* vm/reference/java/lang/Runtime.java (exit): Add extra comments.

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

	* gnu/java/awt/peer/gtk/Makefile.am (EXTRA_DIST): Add
	GdkClasspathFontPeerMetrics.java.

2003-11-21  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Thread.java (start): Throw IllegalThreadStateException
	instead of IllegalStateException.
	* vm/reference/java/lang/Runtime.java (exit): Moved shutdown hook
	processing to new method.
	(runShutdownHooks): New method.

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

	* java/io/InputStreamReader.java (getEncoding): Handle closed stream
	(in == null) case.

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

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

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.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: 
	Match changes to java side.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c: 
	Release resources.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c: 
	Don't use pango for metrics.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: 
	New file.

2003-11-19  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-19  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-18  Ingo Proetel  <proetel@aicas.com>

	* native/target/generic/target_generic.h: Fixed extern-C declaration.
	* native/target/generic/target_generic_io.h: Likewise.
	* native/target/generic/target_generic_math_float.h: Likewise.
	* native/target/generic/target_generic_math_int.h: Likewise.
	* native/target/generic/target_generic_misc.h: Likewise.
	* native/target/Linux/target_native.h: Likewise.
	* native/target/Linux/target_native_file.h: Likewise.
	* native/target/Linux/target_native_io.h: Likewise.
	* native/target/Linux/target_native_math_float.h: Likewise.
	* native/target/Linux/target_native_math_int.h: Likewise. 
	* native/target/Linux/target_native_misc.h: Likewise.
	* native/target/Linux/target_native_network.h: Likewise.

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

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

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-17  Graydon Hoare  <graydon@redhat.com>

	* gnu/classpath/Configuration.java.in (default_awt_peer_toolkit):
	Change GTK -> Gtk.

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

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

2003-11-17  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-16  Tom Tromey  <tromey@redhat.com>

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

2003-11-15  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 (equals):
	Removed some redundant obj == null checks.

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

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

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

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

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

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

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

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

2003-11-14  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-14  Sascha Brawer  <brawer@dandelis.ch>

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

2003-11-13  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-13  Guilhem Lavaux <guilhem@kaffe.org>

	* java/net/ServerSocket.java (close): Check if server socket has
	already been released, before attepting to close it.

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

	* gnu/java/net/protocol/file/Connection.java (permission): New field.
	(DEFAULT_PERMISSION): New constant.
	(Connection): Create a FilePermission with permission to read file.
	(getPermission): Overwrite getPermission to return a FilePermission.

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

	* javax/swing/undo/CannotRedoException.java: Re-format, document.
	* javax/swing/undo/CannotUndoException.java: Likewise.

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

	* include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Rebuilt.

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

	* external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java
	(Scrubber.Scrubber): Call methods of super class.
	* external/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java
	(createXMLReader): Catch RuntimeException not Exception.

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  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-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-07  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-06  Sascha Brawer  <brawer@dandelis.ch>

	* gnu/java/awt/BitwiseXORComposite.java: New file.
	* gnu/java/awt/doc-files: New directory.
	* gnu/java/awt/doc-files/BitwiseXORComposite-1.png: New image.
	* gnu/java/awt/Makefile.am (EXTRA_DIST):
	Added BitwiseXORComposite.java.

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

	* gnu/java/awt/ClasspathToolkit.java: New file.
	* gnu/java/awt/Makefile.am
	(EXTRA_DIST): Added ClasspathToolkit.java.
	* gnu/java/awt/image/GdkPixbufDecoder.java,
	gnu/java/awt/image/GtkOffScreenDecoder.java: Removed.
	* gnu/java/awt/image/ImageDecoder.java
	(produce): Made public.
	* gnu/java/awt/image/Makefile.am
	(EXTRA_DIST): Removed GdkPixbufDecoder.java and
	GtkOffScreenDecoder.java.
	* gnu/java/awt/peer/ClasspathFontPeer.java,
	gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: New files.
	* gnu/java/awt/peer/Makefile.am
	(EXTRA_DIST): Added ClasspathFontPeer.java.
	* gnu/java/awt/peer/gtk/Makefile.am
	(EXTRA_DIST): Added GdkClasspathFontPeer.java, GdkGlyphVector.java,
	GdkGraphics2D.java and GdkPixbufDecoder.java.
	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Import gnu.java.awt.peer.gtk.GdkPixbufDecoder.
	* include/Makefile.am: Generate and install new file
	gnu_java_awt_peer_gtk_GdkPixbufDecoder.h.
	* include/gnu_java_awt_image_GdkPixbufDecoder.h: Removed.
	* include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h: New file.
	* native/jni/gtk-peer/gnu_java_awt_image_GdkPixbufDecoder.c: Removed.

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

	* java/net/SocketPermission.java
	(equals): Removed unneeded obj == null check.
	* java/net/URL.java
	(equals): Removed unneeded obj == null check.
	(getURLStreamHandler): Removed unneeded ph == null check.

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

	* java/util/zip/Checksum.java,
	java/util/zip/ZipConstants.java:
	Removed redundant modifiers.
	* java/util/zip/InflaterInputStream.java:
	Merged copyright with libgcj's version.

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

	* java/nio/ByteBuffer.java
	(equals): Removed unneeded obj != null check.

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

	* configure.in (AC_CHECK_FUNC): Add ftruncate, fsync and select.

	* native/target/generic/target_generic_file.h
	(TARGET_NATIVE_FILE_OPEN): Check filedescriptor >= 0 before calling
	fcntl.

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-26  Mark Wielaard  <mark@klomp.org>

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

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-24  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.

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

	* javax/naming/InitialContext.java (lookup(Name)): When a
	CannotProceedException is thrown use the ContinuationContext.
	(lookup(String)): Likewise.
	(close): Clear myProps and defaultInitCtx.

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

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

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  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.
	* java/text/Makefile.am (EXTRA_DIST): Add
	FormatCharacterIterator.java.

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

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

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

	From Guilhem Lavaux  <guilhem.lavaux@free.fr>
	* java/util/Currency.java: New file.
	* java/util/Makefile.am (EXTRA_DIST): Add Currency.java.

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

	* gnu/java/net/protocol/file/Makefile.am (EXTRA_DIST): Renamed
	FileURLConnection.java to Connection.java.
	* gnu/java/net/protocol/http/Makefile.am (EXTRA_DIST): Renamed
	HttpURLConnection.java to Connection.java.
	* gnu/java/net/protocol/jar/Makefile.am (EXTRA_DIST): Renamed
	JarURLConnection.java to Connection.java.

2003-10-23  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-23  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-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java: Indentation fixes.

2003-10-22  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-22  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-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-21  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationKey.java
	(compareTo): Simplified implementation.
	(equals): Reoved redundant obj == null check.
	* java/text/RuleBasedCollator.java
	(RuleBasedCollator): Throw ParseException instead of
	IllegalArgumentException.

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

	* java/io/File.java
	(equals): Removed redundant obj == null check.

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

	* native/target/generic/target_generic_file.h
	(TARGET_NATIVE_OPEN_FILE): Set close-on-exec flag.
	* native/target/generic/target_generic_network.h
	(TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM): Set close-on-exec flag.
	(TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM): Likewise.

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

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

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>

	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-20  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-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/PipeImpl.java
	(PipeImpl): New constructor implementation which takes
	SelectorProvider argument.
	* gnu/java/nio/SelectorProviderImpl.java
	(openPipe): Give SelectorProvider argument to PipeImpl.
	* gnu/java/nio/SocketChannelImpl.java
	(read): Fixed reading into ByteBuffer objects which are backed by an
	array.
	(write): Likewise.

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

	* gnu/java/nio/FileLockImpl.java,
	gnu/java/nio/SelectorImpl.java,
	java/nio/ByteOrder.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/channels/FileChannelImpl.java:
	Added code to load library with native methods in it.

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

	* gnu/java/nio/SelectorImpl.java: Reformated.

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

	* gnu/java/nio/SocketChannelImpl.java
	(connected): Removed. Use socket.isConnected() instead.

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

	* gnu/java/net/protocol/file/Connection.java,
	gnu/java/net/protocol/http/Connection.java:
	Some reformating.

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

	* gnu/java/net/protocol/file/Connection.java
	(inputStream): Made it a BufferedInputStream.
	(outputStream): Made it a BufferedOutputStream.
	(connect): Initialize inputStream and outputStream correctly.
	* gnu/java/net/protocol/http/Connection.java
	(proxyHost): New class variable.
	(proxyPort): Likewise.
	(proxyInUse): Likewise.
	(static): New method to initialize proxy variables.
	(connect): connect to proxy if proxy is used.
	(sendRequest): Fixed handling of "Host" request property.
	(usingProxy): Return true if proxy is used.
	* gnu/java/net/protocol/jar/Connection.java
	(Connection): Removed IOException from throws clause. Moved
	initialization if jar_url to connect().

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

	* java/text/RuleBasedCollator.java: Some more reformating.

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

	* gnu/java/net/protocol/http/Connection.java:
	Reformated. Renamed some variables to match libgcj's version.

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

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

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

	* gnu/java/net/protocol/file/Connection.java:
	Reformated, renamed some in_stream to inputStream in out_stream to
	outputStream.

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

	* gnu/java/net/PlainDatagramSocketImpl.java
	(native_fd): Made package-private.
	(finalize): New method.
	(getTTL): Call getTimeToLive.
	(setTTL): Call setTimeToLive.
	* gnu/java/net/PlainSocketImpl.java
	(native_fd): Made package-private.
	(finalize): New method.

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

	* gnu/java/net/HeaderFieldHelper.java: Reformated.

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

	* gnu/java/net/protocol/jar/Handler.java,
	gnu/java/net/protocol/http/Handler.java,
	gnu/java/net/protocol/file/Handler.java:
	Some reformating, edited ChangeLog and authors to merge with libgcj.

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

	* java/text/RuleBasedCollator.java:
	Renamed some variables, some reformating.
	(RuleBasedCollator): Throw ParseException instead of
	IllegalArgumentException.

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

	* gnu/java/net/protocol/file/FileURLConnection.java,
	gnu/java/net/protocol/http/HttpURLConnection.java,
	gnu/java/net/protocol/jar/JarURLConnection.java:
	Removed.
	* gnu/java/net/protocol/file/Connection.java,
	gnu/java/net/protocol/http/Connection.java,
	gnu/java/net/protocol/jar/Connection.java:
	New files.
	* gnu/java/net/protocol/jar/Handler.java,
	gnu/java/net/protocol/http/Handler.java,
	gnu/java/net/protocol/file/Handler.java,
	gnu/java/lang/SystemClassLoader.java:
	Use new files.

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

	* gnu/java/net/protocol/file/FileURLConnection.java,
	gnu/java/net/protocol/http/HttpURLConnection.java,
	gnu/java/net/protocol/jar/JarURLConnection.java:
	Reformated.

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

	* gnu/java/net/protocol/file/Handler.java,
	gnu/java/net/protocol/http/Handler.java,
	gnu/java/net/protocol/jar/Handler.java:
	Reformated.

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

	* java/lang/StringBuffer.java (getChars): Fix array index checks.
	(append, substring, insert): Likewise.

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

	* java/lang/reflect/Proxy.java (generate): Pass protection domain
	to VMClassLoader.defineClass.

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

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

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

	* java/text/RuleBasedCollator.java
	(RuleBasedCollator): Renamed i to index and save rules.length() to
	temporary variable.
	(getCollationElementIterator): Fixed documentation.
	(getCollationKey): Fixed documentation.

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

	* java/text/RuleBasedCollator.java:
	Some reformating.
	(CollationElement): Made final.
	(compare): Renamed s1 to source and s2 to target.
	(getCollationElementIterator): Renamed str to source,
	replaced while loop with for loop.
	(getCollationKey): Renamed str to source.
	(getCollationElementValue): Likewise.

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

	* java/text/CollationElementIterator.java
	(CollationElementIterator): Exchange arguments, call setText.
	(next): Reformated.
	(reset): Reformated.
	(setText): Fixed documentation, added @since tag, reformated.
	(getOffset): Added @since tag, reformated.
	(previous): Reformated.
	* java/text/CollationKey.java
	(getSourceString): Reformated.
	(hashCode): Reformated.
	(toByteArray): Reformated.
	* java/text/RuleBasedCollator.java: Reordered all methods to match
	order in libgcj.

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>

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

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

	* gnu/java/nio/NIOSocket.java
	(setChannel): Initialize impl.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Made class public final.
	(serverSocket): Made it a NIOServerSocket.
	(getNativeFD): New method.
	(implConfigureBlocking): Set socket timeout.
	(accept): Rewritten.
	* gnu/java/nio/SelectorImpl.java
	(register): Use ServerSocketChannelSelectionKey for server socket
	channels, removed comments.
	* gnu/java/nio/SocketChannelImpl.java
	(impl): New member variable.
	(SocketChannelImpl): Initialize impl.
	(getImpl): New method.
	* gnu/java/nio/NIOServerSocket.java,
	gnu/java/nio/ServerSocketChannelSelectionKey.java: New files.
	* gnu/java/nio/Makefile.am (EXTRA_DIST):
	Added NIOServerSocket.java and ServerSocketChannelSelectionKey.java.

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

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

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

	* gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/security/der/DER.java,
	java/net/URLStreamHandlerFactory.java,
	java/rmi/activation/ActivationInstantiator.java,
	java/rmi/activation/ActivationMonitor.java,
	java/rmi/activation/ActivationSystem.java,
	java/rmi/activation/Activator.java:
	Removed redundant modifiers.
	* java/sql/DatabaseMetaData.java,
	java/sql/ParameterMetaData.java,
	java/sql/PreparedStatement.java:
	Readded accidently removed modifiers.

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

	* java/io/File.java: Reformated.

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

	* java/io/File.java
	(caseSensitive): New class varibale indicatinc case sensitivity.
	Currently set to true statically to support only case sensitive file
	systems.
	(equals): Support case sensitivity (in general).
	(getParentFile): Simplified.
	(hashCode): Support case sensitivity (in general).

2003-10-12  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>

	* java/net/ServerSocket.java
	(getImpl): New package private method to be accessed only by Java NIO.

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

	* java/net/JarURLConnection.java
	(jarFileURL): Made final.
	(entryName): Renamed from entry_name, made file.
	(getJarEntry): Renamed file to jarFile.
	(getCertificates): Check getJarEntry() != null.
	(getMainAttributes): Check getManifest() != null.
	* java/net/URLConnection.java
	(def_req_props): Removed, obsoleted since JDK 1.3.
	(): Renamed d to date.
	(toString): Print class name.
	(): Added possible exceptions in documentation.
	(setRequestProperty): Check for key == null and connection state.
	(addRequestProperty): Check for key == null, fixed documentation.
	(getRequestProperty): Check for connection state.
	(getRequestProperties): Check for connection state.
	(setDefaultRequestProperty): Does nothing since JDK 1.3.
	(getDefaultRequestProperty): Likewise.

2003-10-12  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.
	* java/nio/channels/spi/SelectorProvider.java
	(pr): Removed.
	(systemDefaultProvider): New member variable.
	(provider): Made it synchronized, use property
	java.nio.channels.spi.SelectorProvider.

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

	* java/io/FilePermission.java
	(implies): Removed unused local variables.
	* java/io/ObjectStreamClass.java
	(getObjectStreamClasses): Removed unused local variable.

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

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java,
	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:
	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/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:
	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,
	javax/swing/plaf/UIResource.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/UndoableEdit.java:
	Removed redundant modifiers.

2003-10-12  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:
	Removed redundant modifiers.

2003-10-12  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,
	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:
	Removed redundant modifiers.

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

	* java/sql/Array.java,
	java/sql/Blob.java:
	Removed redundant modifiers.

2003-10-12  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-12  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-12  Michael Koch  <konqueror@gmx.de>

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

2003-10-12  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:
	Removing redundant modifiers.

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

	* 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-12  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,
	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-12  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/ImageConsumer.java,
	java/awt/image/ImageObserver.java,
	java/awt/image/ImageProducer.java,
	java/awt/image/RGBImageFilter.java,
	java/awt/image/RasterOp.java,
	java/awt/image/renderable/RenderableImage.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/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,
	java/awt/print/Pageable.java,
	java/awt/print/Printable.java,
	java/awt/print/PrinterGraphics.java:
	Removed redundant modifiers.

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

	* gnu/java/net/PlainSocketImpl.java: Added classes SocketInputStream
	and SocketOutputStream.
	* gnu/java/net/SocketInputStream.java: Removed.
	* gnu/java/net/SocketOutputStream.java: Removed.
	* gnu/java/net/Makefile.am (EXTRA_DIST): Removed removed files.

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

	* java/net/InetAddress.java
	(isSiteLocalAddress): Made hexadecimal numbers lowercase.
	(getLocalHostname): Renamed from getLocalHostName, fixed
	documentation.
	(aton): New method.
	(getByName): Moved functionality to aton(), simplified code.
	(getLocalHost): Reformated.
	(lookupInaddrAny): Reformated.
	* include/java_net_InetAddress.h: Regenerated.
	* native/jni/java-net/java_net_InetAddress.c
	(getLocalHostname): Renamed from getLocalHostName.

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  Tom Tromey  <tromey@redhat.com>

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

	* java/lang/reflect/Proxy.java (generate): Removed comment about
	security hole.

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-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-07  Michael Koch  <konqueror@gmx.de>

	* java/security/Security.java: Merged formating with libgcj,
	added non-breaking space in documentation.

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

	* java/security/Security.java
	(providersList): Renamed to "providers".
	(providersInited): Removed.
	(static): New static initializer.
	(providers): Removed.

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

	* java/rmi/server/RMIClassLoader.java: Reformated to match libgcj's
	version more.
	(defaultAnnotation): Added comment.

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

	* java/net/ServerSocket.java
	(ServerSocket): New package-private constructor used by java.nio.

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

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

2003-10-02  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-02  Michael Koch  <konqueror@gmx.de>

	* java/text/SimpleDateFormat.java
	(compileFormat): Character.isLetter(char) allows too much characters.
	Replace it with Character.isLowerCase(char) ||
	Character.isUpperCase(char).

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

	* java/util/prefs/Preferences.java
	(defaultFactoryClass): Fixed default factory class name.
	(getFactory): Instantiate factory class.

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

	* java/net/InetAddress.java
	(isSiteLocalAddress): New method.
	(isMCLinkLocal): New method.
	(getByAddress): Call getByAddress alternative instead of implementing
	it again.
	(getAllByName): Added security manager check.
	(getLocalHost): Fixed documentation.
	(readResolve): Added documentation.

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  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(toString): Got of StringBuffer, return SUN compliant string.

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

	* java/net/InetAddress.java
	(isAnyLocalAddress): New method.
	(isLoopbackAddress): New method.
	(getAddress): Clone addr instead of copying it ourself.
	(hashCode): Merge much simpler (but SUN conform) code from libgcj.
	(equals): Renamed "test_ip" to "addr2".
	(getByName): Added security manager check, fixed documentation.
	(getAllByName): Fixed documentation.

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

	* java/net/URL.java
	(DEFAULT_SEARCH_PATH): Added sun.net.www.protocol to search path.
	(ph_cache): Made it a HashMap.
	(ph_search_path): Removed.
	(static): Removed initialization of ph_search_path.
	(getURLStreamHandler): Get java.protocol.handler.pkgs property and
	append DEFAULT_SEARCH_PATH locally.

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

	* gnu/classpath/Configuration.java.in
	(default_awt_peer_toolkit) :
	New member variable for default AWT toolkit.
	* java/awt/Toolkit.java
	(default_toolkit_name): Initialize with
	gnu.classpath.Configuration.default_awt_peer_toolkit.

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

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

2003-09-29  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-09-29  Michael Koch  <konqueror@gmx.de>

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

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

	* java/net/InetAddress.java
	(isLinkLocalAddress): New method.
	(isMCGlobal): Likewise.
	(isMCNodeLocal): Likewise.
	(isMCSiteLocal): Likewise.
	(isMCOrgLocal): Likewise.

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

	* java/net/InetAddress.java: Reformatted.
	* java/net/URL.java
	(DEFAULT_SEARCH_PATH): New constant for default handler search path.
	(static): Use DEFAULT_SEARCH_PATH instead of static string.
	(getURLStreamHandler): Put instances of the handlers into the cache.

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-09.
	Don't call setTimeZone on calendar.

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

	* java/net/InetAddress.java: Reordered several methods to match order
	in libgcj's version of InetAddress.java. Some code got reformated too.

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

	* AUTHORS: Added myself.

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

	* java/net/URL.java (getURLStreamHandler):
	Initialize ph, make loop over StringTokenizer more efficient
	a.k.a. do eventually less loops.

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

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

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

	* java/net/URL.java (getURLStreamHandler):
	Try to put handler into cache only once. Reformat some code
	to match libgcj more.

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

	* gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/PlainSocketImpl.java:
	(getNativeFD): New method.
	* gnu/java/nio/DatagramChannelImpl.java,
	gnu/java/nio/DatagramChannelSelectionKey.java,
	gnu/java/nio/SelectionKeyImpl.java,
	gnu/java/nio/SelectorImpl.java,
	gnu/java/nio/SocketChannelImpl.java:
	Many fixes, I cant write them all down here again.
	Files are merged from libgcj.
	* gnu/java/nio/DatagramChannelSelectionKey.java,
	gnu/java/nio/SocketChannelSelectionKey.java:
	New files.
	* gnu/java/nio/Makefile.am (EXTRA_DIST):
	Added DatagramChannelSeclectionKey.java and
	SocketChannelSelectionKey.java.

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-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-25  Tom Tromey  <tromey@redhat.com>

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

2003-09-25  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.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Remove
	unused GtkArg code.
	* 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.

	* 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.

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

	* gnu/java/net/PlainDatagramSocketImpl.java:
	Reordered imports.
	* gnu/java/net/PlainSocketImpl.java:
	Removed import for java.net.NetworkInterface.

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

	* gnu/java/nio/SelectorImpl.java
	(implSelect): Renamed from java_do_select.
	(select): Made final, throws IOException,
	call native implSelect() and add support for Thread interruption.
	(selectNow): Made final, throws IOException.
	(getFDsAsArray): Made final.
	(selectedKeys): Likewise.
	(wakeup): Likewise.
	(deregisterCancelledKeys): Likewise.
	(register): Likewise.
	(ass): Removed.
	(add_selected): Removed.

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

	* java/lang/Math.java (min): Revert to using != for NaN
	detection.
	(max): Likewise.
	(round): Likewise.

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

	* java/nio/Makefile.am (EXTRA_DIST): Add ByteBufferHelper.java. 
	* java/lang/Makefile.am (EXTRA_DIST): Add Thread.java.
	* vm/reference/java/lang/Makefile.am (EXTRA_DIST): Remove Thread.java.
	Add VMThread.java.

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.

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

	* java/awt/image/BufferedImage.java (toString): Implement.

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

	* include/java_lang_reflect_Array.h: Regenerated.

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.
	* 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.
	* gnu/java/nio/Makefile.am (EXTRA_DIST): Added NIOConstants.java.

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

	* include/Makefile.am: Dont generated gnu_java_nio_FileChannelImpl.h.
	* include/gnu_java_nio_FileChannelImpl.h: Removed.
	* native/jni/java-nio/java_nio.c:
	Include java_nio_channels_FileChannelImpl.h instead of
	gnu_java_nio_FileChannelImpl.h.

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

	* java/rmi/server/RMIClassLoader.java:
	Reindented and reformatted code, no functional changes.

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

	* java/lang/ClassLoader.java: Don't import SystemClassLoader.
	(systemClassLoader): Fixed indentation.

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

	* java/awt/geom/Rectangle2D.java (getPathIterator): Use the same
	winding rule as Sun J2SE.

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

	* javax/swing/border/MatteBorder.java (MatteBorder(Icon)): Docfix.

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-23  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/font/FontRenderContext.java (getTransform): Return
	copy of internal transform object. Add Javadoc.

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

	* external/.cvsignore: New file, ignore Makefile and Makefile.in.

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>

	* java/net/InetAddress.java
	(static): Unified static initializers.
	(address): Made private.
	(InetAddress): Moved around.
	(isMulticastAddress): Moved around.
	(getByAddress): New method, merged from libgcj.
	(readResolve): Likewise.
	(readObject): Likewise.
	(writeObject): Likewise.

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

	* java/net/JarURLConnection.java
	(JarURLConnection): Rename "str" (again) to "spec" to match libgcj
	better.

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

	* java/net/JarURLConnection.java
	(JarURLConnection): Added some comments.
	(getAttributes): Reimplements because getJarEntry() can return null.

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

	* java/net/JarURLConnection.java:
	(jar_file): Removed.
	(JarURLConnection): Renamed "url_string" to "str", no need to strip
	"jar:", URL.getFile does this already for us, simplified code.
	(getJarEntry): Reimplemented without using jar_file.
	(getManifest): Likewise.

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

	* java/net/JarURLConnection.java
	(real_url): Renamed to jarFileURL.
	(jarFileURL): Renamed from jarFileURL (to match libgcj).
	(JarURLConnection): Renamed real_url to jarFileURL, made exception
	descriptions more descriptive and move "jar" protocol test around.
	(getJarFileURL): Return jarFileURL.

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

	* java/net/JarURLConnection.java
	(JarURLConnection): Store result of url_string.index ("!/") in a local
	variable instead of computing it 4 times.

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

	* java/net/DatagramSocket.java
	(DatagramSocket): Implemented socket implementaion initialization
	with respect to "impl.prefix" property. This is a merge from libgcj.

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

	* gnu/java/nio/NIODatagramSocket.java,
	gnu/java/nio/NIOSocket.java: New files,
	merged from libgcj.
	* gnu/java/nio/Makefile.am
	(EXTRA_DIST): Added new files NIODatagramSocket.java
	and NIOSocket.java.

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

	* java/net/DatagramSocket.java
	(getLocalAddress): Check if socket got closed,
	return InetAddress.ANY_IF when SecurityManager.checkConnect() fails.
	* java/net/URLConnection.java
	(getInputStream): Throw UnknownServiceException.
	(getOutputStream): Likewise.
	(setRequestProperty): Fixed link in method documentation.

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

	* doc/www.gnu.org/home.wml: The latest release can again be found at
	ftp://alpha.gnu.org/gnu/classpath/.

2003-09-19  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-19  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannelImpl.java
	(read): Set position before actually reading.
	(write): Set position before acturally writing.
	(transferTo): Flip buffer before writing.
	(transferFrom): Likewise.

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

	* java/net/URLClassLoader.java: Some documentation fixes.
	* java/net/URLStreamHandler.java (parseURL): If original file
	ends with "/", so must canonical result.

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

	* gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/PlainSocketImpl.java,
	gnu/java/net/SocketInputStream.java,
	gnu/java/net/SocketOutputStream.java: Moved from java/net.
	* gnu/java/net/Makefile.am
	(EXTRA_DIST): Added new files:
	PlainDatagramSocketImpl.java, PlainSocketImpl.java,
	SocketInputStream.java, SocketOutputStream.java.
	* include/gnu_java_net_PlainDatagramSocketImpl.h,
	include/gnu_java_net_PlainSocketImpl.h: New generated JNI header.
	* include/java_net_PlainDatagramSocketImpl.h,
	include/java_net_PlainSocketImpl.h: Removed generated JNI header.
	* include/Makefile.am: Generate and install new JNI header files
	instead of the old ones.
	* java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java,
	java/net/SocketInputStream.java,
	java/net/SocketOutputStream.java: Moved to gnu/java/net.
	* java/net/DatagramSocket.java:
	Import gnu.java.net.PlainDatagramSocketImpl.
	* java/net/ServerSocket.java,
	java/net/Socket.java: Import gnu.java.net.PlainSocketImpl.
	* java/net/Makefile.am (EXTRA_DIST): Removed the following files:
	PlainDatagramSocketImpl.java, PlainSocketImpl.java,
	SocketInputStream.java, SocketOutputStream.java.
	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c,
	native/jni/java-net/gnu_java_net_PlainSocketImpl.c,
	native/jni/java-net/java_net_PlainDatagramSocketImpl.c,
	native/jni/java-net/java_net_PlainSocketImpl.c:
	Moved from java.net namespace to gnu.java.net.
	* native/jni/java-net/Makefile.am:
	Compile new files instead of old ones.

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

	* java/awt/Toolkit.java: Added missing "in" in javadoc.

2003-09-13 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  Tom Tromey  <tromey@redhat.com>

	* javax/naming/InitialContext.java: Reindented.

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

	* include/.cvsignore: Ignore Makefile.in and Makefile.

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

	* java/awt/event/KeyEvent.java: Some reformatting.
	This merges KeyEvent with libgcj.

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

	* java/awt/Frame.java (Frame(String)): Initialize visible field
	to false.
	(Frame(GraphicsConfiguration)): Likewise.
	(Frame(String,GraphicsConfiguration)): Likewise.

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

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	native/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-15  Ingo Proetel  <proetel@aicas.com>

	* native/jni/java-net/java_net_PlainDatagramSocketImpl.c (receive, receive0): renamed receive to receive0 

	* include/java_net_PlainDatagramSocketImpl.h (receive, receive0): renamed receive to receive0 

	* java/net/PlainDatagramSocketImpl.java (receive0): added
	(receive): changed to call receive0 and serialize access on RECEIVE_LOCK
	(send): chanded to serialize access on SEND_LOCK
	

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

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

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-10  David Daney <ddaney@avtrex.com>

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

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

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

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

	* java/lang/reflect/Array.java (set): Allow null for Object arrays.

2003-09-09  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-07  Dalibor Topic  <robilad@kaffe.org>

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

2003-08-25  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/Component.java (createImage): changed to use peer method.

2003-08-31  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/home.wml: Update project description and status.
	Mark links which are temporarily unreachable. Add news section.
	Move distribution terms to the end. Add Kaffe OpenVM.
	* doc/www.gnu.org/docs/docs.wml: Mark api doc as temporarily down.

2003-08-31  David P Grove  <groved@us.ibm.com>

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

2003-08-29  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-08-29  Stephen Crawley  <crawley@dstc.edu.au>

	* ltmain.sh: Define SED and max_cmd_len when undefined.

2003-08-29  Jeroen Frijters <jeroen@frijters.net>

	* java/lang/Thread.java: New file.
	* vm/reference/java/lang/Thread.java: Removed.
	* vm/reference/java/lang/VMThread.java: New file.

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

	* 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  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/Thread.java (join(long)): Call sleep(10),
	not sleep(1). Explicitly check elapsed time.

2003-08-24  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_INIT): Use four argument version.
	(AC_CONFIG_SRCDIR): New to explicitly set src dir.
	(AM_INIT_AUTOMAKE): Use zero argument version.
	(AC_SUBST): Only set LIBVERSION explicitly. Removed variables
	PACKAGE, VERSION which are substituted implicitly.
	(AM_DISABLE_STATIC): Renamed to AC_DISABLE_STATIC.
	(AC_DISABLE_STATIC): Renamed from AM_DISABLE_STATIC.
	(AM_PROG_LIBTOOL): Renamed to AC_PROG_LIBTOOL.
	(AC_PROG_LIBTOOL: Renamed from AM_PROG_LIBTOOL.
	(--enable-jni): Default to yes.
	* config.guess: New version from libtoolize --force --copy.
	* config.sub: Likewise.
	* ltmain.sh: Likewise.
	* HACKING: Document that libtool 1.5a works.
	* lib/Makefile.am (MAINTAINERCLEANFILES): Renamed to CLEANFILES.
	(CLEANFILES): New variable renamed from MAINTAINERCLEANFILES with
	glibj.zip and classes.1 added.
	(maintainer-clean-local): Renamed to clean-local.
	(clean-local): Renamed from maintainer-clean-local.
	
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  Scott Gilbertson  <scottg@mantatest.com>
	    Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/GLightweightPeer.java: Remove file.
	* gnu/java/awt/Makefile.am (EXTRA_DIST): Remove
	GLightweightPeer.java.
	* gnu/java/awt/peer/GLightweightPeer.java: New file.
	* gnu/java/awt/peer/Makefile.am (EXTRA_DIST): Add
	GLightweightPeer.java.
	* java/awt/Component.java (getToolkit): Add comment about
	lightweight components.
	* java/awt/Toolkit.java (createComponent): Return
	gnu.java.awt.peer.GLightweightPeer.

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

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Create
	GTK_WINDOW_POPUP window.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Remove
	GTK_WINDOW_DIALOG.  Set GTK_WINDOW_POPUP to 1.

2003-08-22  Mark Wielaard  <mark@klomp.org>

	* configure.in (VERSION): Set to 0.06+cvs.

2003-08-22  Mark Wielaard  <mark@klomp.org>

	* configure.in (VERSION): Set to 0.06.

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

	* java/lang/ref/Reference.java (get): Indentation fix.
	(clear): Comment fix.
	(enqueue): Likewise.
	(lock): Likewise.
	(referent): Likewise.

2003-08-19  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-nio/java_nio_FileChannelImpl.c:
	Added includes target_native.h, target_native_math_int.h

2003-08-19  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_network.h:
	Fixed TARGET_NATIVE_NETWORK_GET_HOSTNAME() macro

2003-08-19  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-nio/java_nio_FileChannelImpl.c:
	Fixed return value of Java_java_nio_channels_FileChannelImpl_size(),
	Java_java_nio_channels_FileChannelImpl_implPosition__()

2003-08-19  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/java_io_File.c:
	Fixed return value of 0 in Java_java_io_File_lastModifiedInternal()

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

	* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Disable --enable-gjdoc.
	* doc/api/Makefile.am (dist-hook): Removed.

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

	* Makefile.am (dist-hook): Remove entries now handled by Makefile.am
	in the external directory.

2003-08-17  Mark Wielaard  <mark@klomp.org>

	* external/jaxp/source/javax/xml/transform/TransformerFactory.java:
	Don't use &nbsp; in the api documentation.
	external/jaxp/source/org/xml/sax/ext/Locator2.java: Likewise.

2003-08-17  Mark Wielaard  <mark@klomp.org>

	* doc/api/Makefile.am (core): Don't include doc-files in package list.
	(jaxp): Don't include gnu packages.
	(create_html): Add classpath-copyright.xml as -bottomnote.
	* doc/api/classpath-copyright.xml: Updated year.

2003-08-17  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (SUBDIRS): Add external.
	* configure.in (AC_OUTPUT): Add external/Makefile.
	* external/README: Add how to update Makefile.am jaxp_FILES entry.
	* external/Makefile.am: New file.

2003-08-16  Mark Wielaard  <mark@klomp.org>

	* java/security/Security.java: Don't use &nbsp; in the api
	documentation.
	* 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.

2003-08-16  Mark Wielaard  <mark@klomp.org>

	* 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-16  Mark Wielaard  <mark@klomp.org>

	* NEWS: Fix java.swing.border -> javax.swing.border and nativee ->
	native.

2003-08-16  Mark Wielaard  <mark@klomp.org>

	Reported by Patrik Reali
	* gnu/java/io/decode/DecoderUTF8.java (charsInByteArray): Take offset
	into account.
	(convertToChars): Take buf_offset into account.
	(read): Take offset into account. Break loop early when
	in.avaiable() <= 0.

2003-08-16  Mark Wielaard  <mark@klomp.org>

	Reported by Julian Dolby
	* java/lang/Package.java (getPackage): Use currentClassLoader() not
	VMSecurityManager.getClassContext()[1].getClassLoader().

2003-08-16  Mark Wielaard  <mark@klomp.org>

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

2003-08-15  Mark Wielaard  <mark@klomp.org>

	* NEWS: Updated with important improvements for 0.06 release.

2003-08-15  Mark Wielaard  <mark@klomp.org>

	* HACKING: Updated known working/not-working versions of auto-tools.

2003-08-14  Archie Cobbs  <archie@dellroad.org>

	* java/lang/reflect/Constructor.java (equals):
	Completely rewritten for correctness.
	* java/lang/reflect/Field.java (equals):
	Completely rewritten for correctness.
	* java/lang/reflect/Method.java (equals):
	Completely rewritten for correctness.

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

	* configure.in (AC_OUTPUT): Add native/target/Makefile,
	native/target/Linux/Makefile and native/target/generic/Makefile.
	* native/Makefile.am (SUBDIRS): Add target.
	* native/target/.cvsignore: New file.
	* native/target/Makefile.am: Likewise.
	* native/target/Linux/.cvsignore: Likewise.
	* native/target/Linux/Makefile.am: Likewise.
	* native/target/generic/.cvsignore: Likewise.
	* native/target/generic/Makefile.am: Likewise.

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

	* include/gnu_java_awt_peer_gtk_GtkMainThread.h: Regenerated.
	* include/gnu_java_nio_FileChannelImpl.h: Likewise.

2003-08-14  Stephen Crawley  <crawley@dstc.edu.au>

	* java/security/Security.java (providers_lazy): Renamed.
	(providersList): Renamed providers_lazy field.
	(providers_lazy_set): Renamed
	(providersInited): Renamed providers_lazy_set field.
	(providers): Set providersInited to true. Reindent.

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  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-08-12  Ingo Proetel  <proetel@aicas.com>

	* gnu/java/io/encode/EncoderEightBitLookup.java: conserve memory 
	* gnu/java/io/decode/DecoderEightBitLookup.java: override ready()-method 

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

	* java/util/logging/SimpleFormatter.java:print souceClassName and sourceMethodName

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

	* java/rmi/server/RMIClassLoader.java: identify cached classloaders by 
	codebase and contextclassloader 
	* java/rmi/Naming.java: added comments, now accepts pseudo protocol "rmi" 
	* gnu/java/rmi/rmic/RMIC.java: uncommeted code  

2003-08-12  Jeroen Frijters  <jeroen@frijters.net>

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

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

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

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

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

2003-08-12  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/font/OpenType.java: Remove 'public static final'
	from OpenType tags, reverting the change of 2003-08-11.  See
	Classpath discussion list of 2003-08-11.

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-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
	* gnu/java/rmi/rmic/RMIC.java: fix that methods of the remote interfaces are used
	instead of the xxxImpl class
	

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

	* gnu/java/net/protocol/http/HttpURLConnection.java: fixed NullPointerException.
	* gnu/java/net/protocol/http/Handler.java: override getDefaultPort() to return 80

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

	* native/jni/classpath/jcl.c: removed static array for error string.
	The use of this static array made the code non-reentrant and wasted 
	memory when it was not needed. 

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

	* java/util/class-dependencies.conf,
	java/text/class-dependencies.conf,
	java/nio/class-dependencies.conf,
	java/net/class-dependencies.conf,
	java/math/class-dependencies.conf,
	java/lang/class-dependencies.conf,
	java/io/class-dependencies.conf,
	gnu/java/io/class-dependencies.conf:
	Added use of variables in class dependencies. These variable can be 
	used to configure the set of supported libraries for features such 
	as supported encoders/decoders, URL protocols, etc.
	
2003-08-11 Ingo Proetel <proetel@aicas.com>

	* java/security/Security.java: moved initialization code of providers
	from static initializer into a method to allow lazy evaluation of
	this code. This permits faster startup and even automatic removal of
	this code if it is not needed. 

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

	* java/awt/font/OpenType.java: Declare OpenType tags
	as 'public static final'.

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

	* doc/www.gnu.org/home.wml: Add Joas and JAmiga. Update links.
	Remove links to proprietary projects.

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

	* gnu/classpath/Makefile.am (EXTRA_DIST): Add RawData.java.
	* javax/swing/Makefile.am (EXTRA_DIST): Add Popup.java and
	PopupFactory.java.
	* vm/reference/java/lang/Makefile.am (EXTRA_DIST): Add VMDouble.java,
	VMFloat.java and VMString.java.

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

	* gnu/java/security/x509/Makefile.am (EXTRA_DIST): Corrected spelling
	of X500DistingushedName.java to X500DistinguishedName.java.
	* java/nio/Makefile.am (EXTRA_DIST): Changed CharViewBuffer.java,
	DoubleViewBuffer.java, FloatViewBuffer.java, IntViewBuffer.java,
	LongViewBuffer.java and ShortViewBuffer.java to
	CharViewBufferImpl.java, DoubleViewBufferImpl.java,
	FloatViewBufferImpl.java, IntViewBufferImpl.java,
	LongViewBufferImpl.java and ShortViewBufferImpl.java.

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-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-09  Mark Wielaard  <mark@klomp.org>

	Reported by David Holmes <dholmes@dltech.com.au>, fixes bug #3229.
	* java/lang/InheritableThreadLocal.java (threadMap): Wrap inside
	Collections.synchronizedMap.
	* java/lang/ThreadLocal.java (valueMap): Likewise.

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

	Reported by Archie Cobbs <archie@dellroad.org>
	* vm/reference/java/lang/Thread.java (Thread): Explicitly set
	contextClassLoader.

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

	* LICENSE: Update with current exception statement.

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

	* java/lang/System.java: Typo fix.

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-06  Tom Tromey  <tromey@redhat.com>

	* java/io/FilePermission.java (equals): Use correct index for
	last character of path.

2003-08-06  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  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (getParent): Use isAncestorOf.
	(isAncestorOf): New method.

2003-08-01  David P Grove  <groved@us.ibm.com>

	* java/text/DecimalFormat.java (format): avoid ArithmeticException
	when groupingSize is 0.
	(parse): Likewise.

2003-08-04  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Class.java (forName(String,boolean,ClassLoader)):
	Call ClassLoader.loadClass(String) instead of
	ClassLoader.loadClass(String,boolean) as per VM spec.

2003-08-01  David P Grove  <groved@us.ibm.com>

	* java/util/zip/InflaterInputStream.java (close): Only close
	once.
	* java/io/InputStreamReader.java (close): Only close once.

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

	* java/util/WeakHashMap.java (WeakHashMap(int,float)): If
	initialCapacity is 0, set it to 1.

2003-08-01  Mark Wielaard  <mark@klomp.org>

	* java/math/BigDecimal.java (divide): Calculate sign correctly. And
	optimize checks againsts sign and half values.

2003-07-31  Tom Tromey  <tromey@redhat.com>

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

	* java/util/HashMap.java (readObject): Set size.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	* 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.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	* java/awt/geom/Arc2D.java (getBounds2D): Implement.
	(containsAngle): Likewise.
	(getStartPoint): Rewrote.
	(getEndPoint): Likewise.
	(setAngleStart(Point2D)): Likewise.

2003-07-31  Torsten Rupp  <rupp@lisa.aicas.com>

	* java/lang/SecurityManager.java:
	checkPackageList(): replace access of String.count with
	String.length() to make it compatible with other
	implementations of class String

2003-07-31  Torsten Rupp  <rupp@lisa.aicas.com>

	* java/io/File.java:
	createTempFile(): use long names on system where file
	separator is not '\', otherwise limit filenames to
	8+3-convention

2003-07-30  Tom Tromey  <tromey@redhat.com>

	* include/*.h: Rebuilt.

	* native/jni/java-nio/java_nio_FileChannelImpl.c: Include
	java_nio_channels_FileChannelImpl.h.
	* include/java_nio_FileChannelImpl.h: Removed.
	* include/java_nio_channels_FileChannelImpl.h: New file.
	* include/Makefile.am (H_FILES): Added
	java_nio_channels_FileChannelImpl.h.
	($(top_srcdir)/include/java_nio_channels_FileChannelImpl.h): New rule.

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

	* java/net/PlainSocketImpl.java
	(connect): Reverted Torsten's commit.

2003-07-30  Torsten Rupp  <rupp@lisa.aicas.com>

	* include/java_nio_FileChannelImpl.h:
	copied from gnu_java_nio_FileChannelImpl.h, renamed
	Java_gnu_java_nio_channels_* -> Java_java_nio_channels*
	to match new implementation of FileChannelImpl.java,
	added some missing native functions

2003-07-30  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-nio/java_nio_FileChannelImpl.c:
	rename Java_gnu_java_nio_channels_* -> Java_java_nio_channels*
	to match new implementation of FileChannelImpl.java, added some
	missing native functions

2003-07-30  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/FileDescriptor.c:
	fixed warning in Java_java_io_FileDescriptor_nativeSync()

2003-07-30  Torsten Rupp  <rupp@lisa.aicas.com>

	* java/net/PlainSocketImpl.java:
	implemented connect(SocketAddress address, int timeout)
	(preliminary implementation; timeout still not supported)

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

	* java/lang/StrictMath.java: Typo fix.
	* java/lang/Math.java: Typo fix.

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  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".
	* native/jni/java-net/javanet.c (_javanet_connect):
	Don't create a new InetAddress for the remote host.
	Instead, attach the parameter InetAddress to the
	connected SocketImpl object.
	* java/net/PlainSocketImpl.java (connect):
	Implemented connect(SocketAddress, int) overloading.

2003-07-28  C. Brian Jones  <cbj@gnu.org>

	* vm/reference/java/lang/Thread.java (stop): no longer remove 
	thread from thread group in this method.  JVMs must remove thread
	from thread group after thread has had a chance to finishing running
	after catching ThreadDeath.  Mauve test case exists, see bug #2685.

2003-07-28  Torsten Rupp  <rupp@lisa.aicas.com>

	* include/jni.h.in:
	removed obsoleted constants JNI_JLONG_CONST*

2003-07-28  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-net/java_net_PlainDatagramSocketImpl.c:
	improved some exception messages in Java_java_net_PlainDatagramSocketImpl_receive,
	Java_java_net_PlainDatagramSocketImpl_sendto

2003-07-28  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-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  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (SUBDIRS): Add include.
	* configure.in: Add --enable-regen-headers flag.
	(AC_OUTPUT): Add include/Makefile.
	* include/Makefile.am: New file.

2003-07-24  Jeroen Frijters  <jeroen@frijters.net>

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

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-24  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-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_file.h:
	Fixed include of utime.h, sys/utime.h: rename HAVE_UTIME -> 
	HAVE_UTIME_H, HAVE_SYS_UTIME -> HAVE_SYS_UTIME_H

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* gnu/java/io/class-dependencies.conf:
	Added missing class-dependency file

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/java_io_File.c:
	Replaced JNI_JLONG_CONST* -> TARGET_NATIVE_MATH_INT_*, because
	JNI_JLONG_CONST* should be removed from jni.h

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/java_io_File.c:
	Replaced JNI_JLONG_CONST* -> TARGET_NATIVE_MATH_INT_*, because
	JNI_JLONG_CONST* should be removed from jni.h

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/FileDescriptor.c:
	Replaced JNI_JLONG_CONST* -> TARGET_NATIVE_MATH_INT_*, because
	JNI_JLONG_CONST* should be removed from jni.h
	removed HAVE_FTRUNCATE, HAVE_FSYNC, HAVE_SELECT (now set in
	configure)

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-nio/java_nio.c:
	Replaced JNI_JLONG_CONST_0 -> TARGET_NATIVE_MATH_INT_INT64_CONST_0,
	because JNI_JLONG_CONST* should be removed from jni.h

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-net/javanet.c:
	Enable option SO_BROADCAST for datagram sockets

2003-07-23  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_file.h:
	added TARGET_NATIVE_FILE_FILEPERMISSION_READONLY, improved
	TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR: now use fcntl()
	or fstat()

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

	* java/awt/Window.java (getWarningString): Just return the
	string.
	(Window): Set warningString; check with security manager.

	* 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-22  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_network.h:
	removed double defined macros, added
	TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(),
	TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST()

2003-07-22  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_math_float.h:
	added macro TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE(),
	TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE()

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(create): Remove unused method implementation.
	(connectHooks): Remove debug messages.

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

	* vm/reference/java/lang/Runtime.java: Typo fix.

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

	* java/net/URL.java
	(handlers): Removed member variable, unused.
	I think this came in with a libgcj merge.

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

	* java/net/URL.java:
	Partly merged with libgcj.

2003-07-19  Torsten Rupp  <rupp@lisa.aicas.com>

	* java/io/File.java:
	canWrite(): set prefix for temporary file to "tmp" to make methode
	usable on systems with DOS-style filesystems (8+3-limitation)
	createTempFile(): limit length of filename from temporary file to
	8-length(prefix) to make methode usuable on systems with DOS-style
	filesystems (8+3-limitation)

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/security/BasicPermission.java: Extends with fully qualified
	classname is workaround for gcj 3.3.

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

	* java/util/zip/InflaterInputStream.java (InflaterInputStream): Check
	for null InputStream and Inflater.

2003-07-18  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 code.

2003-07-17  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-17  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/ThreadGroup.java (removeThread): null the 'group' field
	of the removed Thread.
	* vm/reference/java/lang/Thread.java (setDaemon): Don't throw an
	exception when called on an exited Thread.

2003-07-17  Jeroen Frijters <jeroen@sumatra.nl>

	* java/lang/Class.java (newInstance): Improved constructor caching.

2003-07-16  Jeroen Frijters <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (JarURLLoader.getResource): If the
	name starts with a slash, chop it off.

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_file.h:
	Some fixes for target native layer (reported by Stephen Crawley)

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* configure.in:
	Some fixes for target native layer (reported by Stephen Crawley)

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* java/io/class-dependencies.conf:
	java/lang/class-dependencies.conf:
	java/math/class-dependencies.conf:
	java/net/class-dependencies.conf:
	java/nio/class-dependencies.conf:
	java/text/class-dependencies.conf:
	java/util/class-dependencies.conf:
	Class dependencies file

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_file.h:
	Fixed typing error

2003-07-16  David Grove  <groved@us.ibm.com

	* java/lang/Double.java (doubleToLongBits): No longer native,
	delegates to VMDouble.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	* java/lang/Float.java (static): Moved to VMFloat.
	(floatToIntBits) No longer native, delegates to VMFloat.
	(floatToRawIntBits): Likewise.
	(intBitsToFloat): Likewise.
	* vm/reference/java/lang/VMDouble.java: New class.
	* vm/reference/java/lang/VMFloat.java: New class.
	* native/jni/java-lang/Makefile.am (libjavalang_la_SOURCES): Remove
	java_lang_Float.c, add java_lang_VMFloat.c and java_lang_VMDouble.c.
	* native/jni/java-lang/java_lang_Double.c (doubleToLongBits):
	Removed, moved to java_lang_VMDouble.c.
	(doubleToRawLongBits): Likewise.
	(longBitsToDouble): Likewise.
	* native/jni/java-lang/java_lang_Float.c: Removed file.
	* native/jni/java-lang/java_lang_VMDouble.c: New file.
	* native/jni/java-lang/java_lang_VMFloat.c: New file.
	* include/java_lang_Double.h: Regenerated.
	* include/java_lang_Float.h: Removed.
	* include/java_lang_VMDouble.h: New file.
	* include/java_lang_VMFloat.h: New file.
	* NEWS: Describe new VM Float/Double conversion methods.

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/classpath/jcl.c:
	Fixed wrong include

2003-07-16  Mark Wielaard  <mark@klomp.org>

	* java/util/logging/Handler.java (isLoggable): Check record level
	smaller or equal.

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/classpath/jnilink.c:
	Removed include malloc.h, added stdlib.h

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/classpath/jcl.h,
	native/jni/classpath/jcl.c:
	Fixed some prototypes

2003-07-16  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-io/FileDescriptor.c:
	Renamed some internal constants to avoid conflicts with existing
	constants in some OS (e. g. vxWorks)

2003-07-15  David Grove  <groved@us.ibm.com

	* java/lang/String.java (internTable): Removed.
	(intern): Use VMString.intern().
	* vm/reference/java/lang/VMString.java: New VM interface class.
	* NEWS: Document new VM interface.

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-net/java_net_InetAddress.c,
	native/jni/java-net/java_net_NetworkInterface.c,
	native/jni/java-net/java_net_PlainDatagramSocketImpl.c,
	native/jni/java-net/java_net_PlainSocketImpl.c,
	native/jni/java-net/javanet.c:
	Added target native layer macros for native OS functions

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_network.h:
	Added macro for BIND_ADDRESS

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-util/java_util_TimeZone.c:
	renamed target native macro

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_misc.h:
	Fixed typing error

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_misc.h:
	Clean-up some target macro names

2003-07-15  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-util/java_util_TimeZone.c:
	Replace natve OS functions by target native layer macros

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java:
	Partly merge with libgcj.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java: Removed.
	* gnu/java/nio/Makefile.am
	(EXTRA_DIST): Removed FileChannelImpl.java.
	* java/nio/channels/FileChannelImpl.java: New file.
	* java/nio/channels/Makefile.am
	(EXTRA_DIST): Added FileChannelImpl.java.
	* 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/FileChannel.java
	(MapMode.m): Made package-private.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* java/net/ServerSocket.java,
	java/net/Socket.java: New versions from libgcj.

2003-07-13  Jeroen Frijters <jeroen@sumatra.nl>

	* java/util/zip/ZipFile.java (finalize): Check raf for null to prevent
	NullPointerException if the file was never constructed.

2003-07-13  Jeroen Frijters <jeroen@sumatra.nl>

	* javax/naming/CompoundName.java (CompoundName(String,Properties)):
	guard against beginQuote and beginQuote2 being null

2003-07-13  Jeroen Frijters <jeroen@sumatra.nl>

	* java/beans/PropertyEditorManager.java (findEditor): use the thread
	context class loader to try and find the class

	* javax/naming/spi/NamingManager.java (getInitialContext): use the
	thread context class loader

2003-07-13  Jeroen Frijters <jeroen@sumatra.nl>

	* gnu/java/rmi/server/UnicastServerRef.java
	(getHelperClass): if class loader is null, use Class.forName

2003-07-12  Jeroen Frijters <jeroen@sumatra.nl>

	* java/awt/image/MemoryImageSource.java
	(MemoryImageSource(int,int,ColorModel, byte[],int,int,Hashtable props)):
	Changed array copy length to max * height.
	(MemoryImageSource(int,int,ColorModel, int[],int,int,Hashtable props)):
	Changed array copy length to max * height
	(sendPicture): Call setDimensions on the consumer.

2003-07-11  Matt Kraai  <kraii@alumni.cmu.edu>

	* java/awt/im/InputContext.java: Remove a redundant
	partial line.

2003-07-10  Torsten Rupp  <rupp@lisa.aicas.com>

	* classpath/native/target/generic/target_generic_network.h:
	Adding missing #include <assert.h>

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

	* java/io/ObjectOutputStream.java (writeObject): break after
	calling writeClassDescriptor().

2003-07-09  Torsten Rupp  <rupp@lisa.aicas.com>

	* classpath/include/jni.h.in:
	Fixed missing JNI_JLONG_CONST* definitions (preliminary fix)

2003-07-09  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/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/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,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java:
	Reworked import statements.

2003-07-09  Torsten Rupp  <rupp@lisa.aicas.com>

	*  native/jni/java-io/FileDescriptor.c,
	native/jni/java-io/java_io_File.c,
	native/jni/java-io/java_io_ObjectInputStream.c,
	native/jni/java-io/javaio.c:
	Implemented target native layer macros for all native OS functions

2003-07-08  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic_file.h:
	More fixed for native layer: open with sync/dsync, 64bit-clean

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

	* 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  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/tar2003-07-09  Torsten Rupp  <rupp@lisa.aicas.com>

	* /cvsroot/classpath/classpath/native/jni/java-io/FileDescriptor.c:
	Implemented target native layer macros for all native OS functions
	* native/target/Linux/target_native.h,
	native/target/Linux/target_native_file.h,
	native/target/Linux/target_native_math_float.h,
	native/target/Linux/target_native_math_int.h,
	native/target/Linux/target_native_misc.h,
	native/target/Linux/target_native_network.h:
	Small fixes for target native layer

	* native/target/Linux/target_native_io.h:
	Target native layer I/O functions for Linux

2003-07-07  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/target/generic/target_generic.h,
	native/target/generic/target_generic_file.h,
	native/target/generic/target_generic_math_float.h,
	native/target/generic/target_generic_math_int.h,
	native/target/generic/target_generic_misc.h,
	native/target/generic/target_generic_network.h:
	Small fixes for target native layer

	* native/target/generic/target_generic_io.h:
	Target native layer I/O functions

2003-07-03  Torsten Rupp  <rupp@lisa.aicas.com>

	* native/jni/java-nio/java_nio_FileChannelImpl.c:
	Fixed header Java_gnu_java_nio_FileChannelImpl_implPosition__

2003-07-03  Torsten Rupp  <rupp@lisa.aicas.com>

	* gnu/java/rmi/server/UnicastServerRef.java:
	Fixed getReturnMethodType


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

	* configure.in:
	Added native/jni/java-nio/Makefile to AC_OUTPUT call.
	* include/gnu_java_nio_FileChannelImpl.h:
	Regenrated.
	* include/gnu_java_nio_FileLockImpl.h,
	include/java_nio_DirectByteBufferImpl.h:
	New files.
	* native/jni/Makefile.am
	(SUBDIRS): Added new java-nio subdir.
	* native/jni/java-io/Makefile.am:
	Removed java_nio.c from compilation.
	* native/jni/java-io/java_nio.c:
	Removed.
	* native/jni/java-net/java_net_NetworkInterface.c
	(getRealNetworkInterfaces): Fixed arguments.
	* native/jni/java-nio/.cvsignore,
	native/jni/java-nio/Makefile.am,
	native/jni/java-nio/java_nio.c,
	native/jni/java-nio/java_nio_DirectByteBufferImpl.c,
	native/jni/java-nio/java_nio_FileChannelImpl.c,
	native/jni/java-nio/java_nio_FileLockImpl.c:
	New files.

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reworked imports.

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

	* javax/swing/AbstractButton.java:
	Reformatted. Three usages of non existing ButtonModel methods removed.
	* javax/swing/ButtonModel.java
	(fireItemStateChanged, fireStateChanged, fireActionPerformed):
	Removed.
	* javax/swing/SwingUtilities.java:
	Reformatted.
	* javax/swing/UIManager.java:
	Reformatted.
	* javax/swing/colorchooser/DefaultColorSelectionModel.java
	(DefaultColorSelectionModel): Implemented.
	(setSelectedColor): Likewise.
	(getSelectedColor): Likewise.
	(addChangeListener): Likewise.
	(removeChangeListener): Likewise.
	(fireStateChange): Likewise.
	* javax/swing/event/AncestorEvent.java
	(ANCESTOR_ADDED): Fixed value.
	(ANCESTOR_MOVED): Likewise.
	* javax/swing/event/InternalFrameEvent.java
	(INTERNAL_FRAME_ICONIFIED): Fixed value.
	(INTERNAL_FRAME_OPENED): Likewise.
	* javax/swing/plaf/basic/BasicLabelUI.java:
	Reformatted.
	(BasicLabelUI): Implements PropertyChangeListener.
	(propertyChange): New method.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(serialVersionUID): Fixed value.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(BasicTabbedPaneUI): Implements SwingConstants.
	* javax/swing/plaf/basic/BasicTextUI.java
	(BasicTextUI): Implements ViewFactory.
	(create): New method.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(MetalLookAndFeel): Extends BasicLookAndFeel instead of LookAndFeel.

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

	* java/awt/Container.java
	(add): Revised documentation.
	* java/awt/GridBagLayout.java:
	Yippie, 90% are done. Now are comming the 10% work which take 90% of
	time.
	* java/awt/GridBagLayoutInfo.java
	(x, y): Renamed to pos_x and pos_y.

2003-07-01  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/basic/BasicBorders.java (SplitPaneBorder):
	For a bug report filed with Sun, replace the review ID by its bug ID.

2003-06-30  Gary Benson  <gbenson@redhat.com>

	* javax/naming/spi/NamingManager.java (getURLContext): Use
	correct name for factory class.

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

	* java/awt/GridBagLayout.java:
	Yippie, 90% are done. Now are comming the 10% work which take 90% of
	time.

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

	* java/awt/GridBagLayout.java,
	java/awt/GridBagLayoutInfo.java:
	More work done to implement this beasts.

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

	* java/awt/GridBagLayout.java:
	More work done. API should now be complete.

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

	* java/awt/GridBagLayout.java:
	Totally reworked and partly implemented.
	* java/awt/GridBagLayoutInfo.java:
	New file.
	* java/awt/Makefile.am
	(EXTRA_DIST): Added GridBagLayoutInfo.java.

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

	* java/util/Timer.java
	(finalize): Throws Throwable.

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

	* java/awt/Window.java
	(Window): Implements javax.accessibility.Accessible.

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

	* java/net/URL.java,
	java/net/URLStreamHandler.java:
	Renamd variable "handler" to "ph" to match libgcj more.

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

	* java/nio/MappedByteBufferImpl.java:
	Reverted.

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

	* java/io/RandomAccessFile.java,
	java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/MappedByteBufferImpl.java,
	java/nio/ShortBufferImpl.java,
	java/rmi/server/SkeletonNotFoundException.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/security/Certificate.java,
	java/security/cert/PolicyQualifierInfo.java,
	java/text/Format.java,
	javax/naming/CompositeName.java,
	javax/naming/CompoundName.java,
	javax/naming/InitialContext.java,
	javax/naming/LinkRef.java,
	javax/naming/NamingException.java,
	javax/naming/NamingSecurityException.java,
	javax/naming/ReferralException.java,
	javax/naming/StringRefAddr.java,
	javax/naming/directory/BasicAttribute.java,
	javax/naming/directory/BasicAttributes.java,
	javax/naming/ldap/UnsolicitedNotificationEvent.java,
	javax/security/auth/x500/X500Principal.java:
	New versions from libgcj.

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

	* gnu/java/nio/FileChannelImpl.java
	(write): Removed.
	* java/awt/font/GraphicAttribute.java
	(getAlignment): Made final.
	* java/awt/font/ImageGraphicAttribute.java
	(ImageGraphicAttribute): Made final.
	* java/awt/image/DataBufferByte.java
	(DataBufferByte): Made final.
	* java/awt/image/DataBufferInt.java
	(DataBufferInt): Made final.
	* java/awt/image/DataBufferUShort.java
	(DataBufferUShort): Made final.
	* java/awt/image/DirectColorModel.java
	(coerceData): Made final.
	* java/awt/image/PixelGrabber.java
	(status): Removed @deprecated tag.
	* java/beans/beancontext/BeanContextSupport.java
	(BCSIterator): Made final.
	* java/io/RandomAccessFile.java
	(readLine): Removed @deprecated tag.
	* java/net/Inet4Address.java
	(Inet4Address): Made package-private.
	* java/net/Inet6Address.java
	(Inet6Address): Made package-private.
	* java/nio/channels/FileChannel.java
	(write): Made final.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChannel): Made protected.

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

	* javax/swing/event/AncestorEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/TableModelEvent.java:
	Constants must be final.

2003-06-26  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:
	Fixed values of all serialVersionUIDs.

2003-06-26  Stephen Crawley  <crawley@dstc.edu.au>

	* java/test/RuleBasedCollator.java
	(RuleBasedCollator): Fix bugs in building the collator data structures
	that resulted in the wrong keys being associated collated characters.

2003-06-26  Stephen Crawley <crawley@dstc.edu.au>

	* java/text/CollationElementIterator.java
	(next): Fix bug that caused the first character of the
	Iterator's text to be skipped.

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

	* javax/swing/plaf/TextUI.java (getNextVisualPositionFrom):
	Declare to throw BadLocationException. Documented in JavaDoc.
	* javax/swing/plaf/basic/BasicTextUI.java: Likewise.

	* javax/swing/plaf/TreeUI.java (getClosesPathForLocation): Method
	renamed to getClosestPathForLocation.
	* javax/swing/plaf/basic/BasicTreeUI.java (getClosesPathForLocation):
	Likewise.
	
2003-06-26  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/TreeUI.java (getPathBounds, getPathForRow,
	getRowForPath, getRowCount, getClosesPathForLocation,
	isEditing, stopEditing, cancelEditing, startEditingAtPath,
	getEditingPath): New abstract methods.

	* javax/swing/plaf/basic/BasicTreeUI.java (getPathBounds,
	getPathForRow, getRowForPath, getRowCount,
	getClosesPathForLocation, isEditing, stopEditing, cancelEditing,
	startEditingAtPath, getEditingPath): Stubbed implementations
	for methods required by abstract superclass.
	
	* javax/swing/plaf/doc-files/TreeUI-1.png: New image.
	
	* javax/swing/plaf/basic/BasicTextUI.java (RootView): Commented
	out to avoid errors when compiling with the Sun JDK.  The
	implementation was way too incomplete to be of any use.

	(modelToView): Declare to throw javax.swing.text.BadLocationException.
	
2003-06-26  Sascha Brawer  <brawer@dandelis.ch>
	
	* javax/swing/plaf/TextUI.java: Made imports specific, reformatted,
	wrote JavaDoc.
	(modelToView): Declare to throw javax.swing.text.BadLocationException.
	(getToolTipText): New method.
	
2003-06-25  Stephen Crawley <crawley@dstc.edu.au>

	* gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_nl.java:
	Fixed collation rules.

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

	* javax/swing/plaf/SplitPaneUI.java: Made imports specific,
	reformatted, wrote JavaDoc.

	* javax/swing/plaf/TabbedPaneUI.java: Made abstract, reformatted,
	wrote JavaDoc.
	(tabForCoordinate, getTabBounds, getTabRunCount): Made abstract.

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

	* javax/swing/plaf/PopupMenuUI.java (isPopupTrigger, getPopup):
	New methods.

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

	* javax/swing/JWindow.java (JWindow()): Add stubbed constructor
	so that javax/swing/Popup.java compiles.

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

	* javax/swing/Popup.java, javax/swing/PopupFactory.java:
	Initial	check-in.

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

	* java/io/ObjectInputStream.java,
	java/io/ObjectOutputStream.java:
	Merged new versions from libgcj.

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

	* javax/swing/plaf/SpinnerUI.java: Initial check-in of new file.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>
	
	* 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: Reformatted, wrote JavaDoc.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>
	
	* 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: State "Copyright (C) 2002, 2003"
	instead of only 2003, thus restoring the original year.
	Thanks for Michael Koch <konqueror@gmx.de> for having noticed.

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

	* java/net/PlainDatagramSocketImpl.java:
	Reordered methods to match libgcj.

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.
	* javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Added missing methods to make it compile.

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

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

	* java/awt/image/ColorModel.java:
	Reformatted.
	(getComponents): Added comment.
	(getDataElements): Likewise.
	(getDataElement): New method.
	(getDataElements): Likewise.
	(getNormalizedComponents): Likewise.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/ListUI.java: Re-written.
	* javax/swing/plaf/LabelUI.java: Made abstract.
	* javax/swing/plaf/MenuBarUI.java: Reformatted, wrote JavaDoc.
	* javax/swing/plaf/MenuItemUI.java: Likewise.
	* javax/swing/plaf/OptionPaneUI.java: Re-written.
	* javax/swing/plaf/PanelUI.java: Made abstract, reformatted,
	wrote JavaDoc.
	* javax/swing/plaf/ProgressBarUI.java: Reformatted, wrote JavaDoc.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/InputMapUIResource.java: Reformatted, wrote JavaDoc.
	* javax/swing/plaf/InternalFrameUI.java: Likewise.
	* javax/swing/plaf/LabelUI.java: Likewise.

	* javax/swing/plaf/InsetsUIResource.java: Reformatted, wrote JavaDoc.
	(serialVersionUID): New field.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/IconUIResource.java: Reformatted, wrote JavaDoc.
	(delegate): New field.
	(IconUIResource): Store the delegate argument.
	(paintIcon, getIconWidth, getIconHeight): Forward the message to
	the delegate icon.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/DesktopIconUI.java: Reformatted, wrote JavaDoc.
	* javax/swing/plaf/DesktopPaneUI.java: Likewise.
	* javax/swing/plaf/DimensionUIResource.java: Likewise.
	* javax/swing/plaf/FileChooserUI.java: Likewise.
	* javax/swing/plaf/FontUIResource.java: Likewise.
	
2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/Toolkit.java
	(getDefaultToolit): Merged new version from libgcj.

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

	* java/net/SocketImpl.java,
	java/net/URLStreamHandler.java:
	New versions from libgcj.

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

	* java/nio/Buffer.java:
	New version from libgcj.

2003-06-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/ComponentUI.java: Re-written from scratch.
	* javax/swing/plaf/doc-files/ComponentUI-1.png: Dotted line and
	new wording for comments.
	* javax/swing/plaf/doc-files/ComponentUI-1.dia: Likewise.

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

	* java/io/LineNumberReader.java:
	New version from libgcj.

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

	* java/awt/color/ColorSpace.java
	(isCS_sRGB): Implemented.

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

	* java/text/RuleBasedCollator.java
	(getCollationKey): Fixed indexing.

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

	* java/net/PlainDatagramSocketImpl.java:
	Merged class documentation with libgcj.
	(IP_TTL): Moved.

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

	* javax/swing/Timer.java
	(listenerList): New member variable.
	(actions): Removed.
	(addActionListener): Use listenerList.
	(removeActionListener): Likewise.
	(getListeners): New method.
	(getActionListeners): New method.
	(fireActionPerformed): Made protected.
	(fireActionPerformed): Reimplemented.

2003-06-23  Torsten Rupp  <rupp@aicas.com>

	* configure.in:
	added includes 'Linux' and 'generic' as extra-include paths.
	This change is temporary and have to be replaced by more
	elaborated code to be able to select the target system for
	which Classpath is compiled. Currently only 'Linux' is
	supported; other targets will be added when available.

2003-06-23  John Leuner  <jewel@debian.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c: cosmetic changes
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: add specifc code for GtkButton to connect to event_window
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): call gdk_threads_init
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: added some debugging code
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (connectHooks): don't use deprecated gtk methods

2003-06-23  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/doc-files: New directory.
	* javax/swing/plaf/doc-files/ComponentUI-1.png: New image.
	* javax/swing/plaf/doc-files/ComponentUI-1.dia: New image (source for
	UML diagram in ComponentUI-1.png).
	
2003-06-23  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/ButtonUI.java: Made abstract; reformatted;
	added JavaDoc.
	* javax/swing/plaf/ColorChooserUI.java: Reformatted; added JavaDoc.
	* javax/swing/plaf/ColorUIResource.java: Re-written.
	* javax/swing/plaf/ComboBoxUI.java: Reformatted; added JavaDoc.
	* javax/swing/plaf/ComponentInputMapUIResource.java: Likewise.
	* javax/swing/plaf/ComponentUI.java: Do not implement UIResource.
	
2003-06-23  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java:
	Reordered imports.
	* java/awt/Window.java:
	Fixed documentation.
	(Window): No need to case BorderLayout to LayoutManager.
	* java/awt/datatransfer/StringSelection.java
	(supported_flavors): Added DataFlavor.stringFlavor.
	* java/awt/image/ColorModel.java
	(getTransferType): New method.

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

	* java/net/PlainSocketImpl.java
	(in): New member variable.
	(out): Likewise.
	(setOption): Renamed arguments to match libgcj.
	(getOption): Likewise.
	(connect): Simplified.
	(connect): Made protected.
	(getInputStream): Return always the same stream.
	(getOutputStream): Likewise.

2003-06-23  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/ActionMapUIResource.java: Reformatted.
	Added JavaDoc.
	
2003-06-23  Michael Koch  <konqueror@gmx.de>

	* java/nio/MappedShortFileBuffer.java:
	Really remove it.

2003-06-23  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/basic/BasicBorders.java
	(FieldBorder, RolloverButtonBorder): New class.
	
	(getTextFieldBorder, getProgressBarBorder, getInternalFrameBorder):
	New method.

	(MarginBorder.getBorderInsets): Amended to also retrieve the margin
	of javax.swing.text.JTextComponent.
	
	* javax/swing/plaf/basic/doc-files/BasicBorders.FieldBorder.png,
	javax/swing/plaf/basic/doc-files/BasicBorders-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders-2.png,
	New image.

	* javax/swing/text/JTextComponent.java (getMargin): Added stub
	implementation to allow compilation of
	javax.swing.plaf.basic.BasicBorders.FieldBorder.

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

	* javax/swing/plaf/basic/Makefile.am: Added BasicSplitPaneDivider.java,
	BasicSplitPaneUI.java.

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

	* javax/swing/plaf/basic/BasicBorders.java (SplitPaneBorder,
	SplitPaneDividerBorder): New inner classes. The ugly appearance
	is intentional, each pixel gets painted in the same color
	as with the JDK.
	
	(getSplitPaneBorder, getSplitPaneDividerBorder): New methods.

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

	* javax/swing/plaf/basic/BasicSplitPaneUI.java: Stubbed to allow
	compiling other classes.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java: Likewise.

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

	* java/net/PlainSocketImpl.java:
	Reformatting, merged class documentation with libgcj,
	Moved all methods to match order of libgcj.

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

	* java/util/SimpleTimeZone.java:
	New version from libgcj.

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

	* gnu/java/nio/FileChannelImpl.java:
	Use new MappedByteBufferImpl instead of MappedByteFileBuffer.
	* java/nio/MappedByteBufferImpl.java:
	New files.
	* java/nio/MappedByteFileBuffer.java,
	java/nio/MappedCharFileBuffer.java,
	java/nio/MappedDoubleFileBuffer.java,
	java/nio/MappedFloatFileBuffer.java,
	java/nio/MappedIntFileBuffer.java,
	java/nio/MappedLongFileBuffer.java,
	java/nio/MappedLongFileBuffer.java:
	Removed.
	* java/nio/Makefile.am:
	(EXTRA_DIST): Added MappedByteBufferImpl.java and removed
	Mapped*FileBuffer.java

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

	* java/io/ObjectStreamField.java:
	New version from libgcj.

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

	* javax/swing/plaf/BorderUIResource.java (LineBorderUIResource):
	Note URL of enhancement request filed with Sun.

	* 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: Indicate the pixels
	drawn by SplitPaneDividerBorder on the edges that are not adjacent
	to the JSplitPane contents.

2003-06-20  Sascha Brawer  <brawer@dandelis.ch>

	* AUTHORS (Sascha Brawer): Changed e-mail address.
	* ChangeLog.usermap (brawer): Added myself.

2003-06-20  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/LineBorder.java (getLineColor): New method.
	Thanks to Michael Koch for having noticed the omission.
	
	* javax/swing/plaf/basic/doc-files/
	BasicBorders.SplitPaneBorder-1.png: Corrected explanation of width.
	* javax/swing/plaf/basic/doc-files/
	BasicBorders.SplitPaneBorder-2.png: Close black border in upper half.

2003-06-20  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/SoftBevelBorder.java (serialVersionUID):
	Use value from JDK 1.4.1_01 on GNU/Linux. The old value was
	determined using Apple/Sun JDK 1.3.1. This value should not have
	changed between JDK releases.  Since it did, Classpath better
	uses the value from the newer JDK.  Thanks to Michael Koch
	<konqueror@gmx.de> for noticing.
	
	* javax/swing/plaf/basic/BasicBorders.java (MenuBarBorder): Re-written.
	(getMenuBarBorder): New method.

	* javax/swing/plaf/basic/doc-files/
	BasicBorders.SplitPaneBorder-1.png,
	BasicBorders.SplitPaneBorder-2.png,
	BasicBorders.SplitPaneDividerBorder-1.png: New image.

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

	* gnu/java/nio/DatagramChannelImpl.java,
	gnu/java/nio/SocketChannelImpl.java:
	New versions from libgcj.

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

	* java/net/HttpURLConnection.java,
	java/net/Inet4Address.java,
	java/net/Inet6Address.java,
	java/net/ServerSocket.java,
	java/net/SocketImpl.java,
	java/net/URLClassLoader.java:
	New versions from libgcj.

2003-06-19  C. Brian Jones  <cbj@gnu.org>

	* configure.in: uncomment m4_pattern_allow to avoid autoconf warning

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

	* java/util/SimpleTimeZone.java:
	Dont import unneeded classes, reformatted.
	(getDSTDavings): @since 1.2.

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

	* javax/swing/JInternalFrame.java
	(serialVersionUID): New member variable.
	(CONTENT_PANE_PROPERTY): Likewise.
	(MENU_BAR_PROPERTY): Likewise.
	(TITLE_PROPERTY): Likewise.
	(LAYERED_PANE_PROPERTY): Likewise.
	(ROOT_PANE_PROPERTY): Likewise.
	(GLASS_PANE_PROPERTY): Likewise.
	(FRAME_ICON_PROPERTY): Likewise.
	(IS_SELECTED_PROPERTY): Likewise.
	(IS_CLOSED_PROPERTY): Likewise.
	(IS_MAXIMUM_PROPERTY): Likewise.
	(IS_ICON_PROPERTY): Likewise.
	* javax/swing/MenuSelectionManager.java
	(changeEvent): New member variable.
	(listenerList): Likewise.
	(fireStateChanged): New method.
	(addChangeListener): Likewise.
	(removeChangeListener): Likewise.
	(getChangeListeners): Likewise.
	* javax/swing/SwingUtilities.java:
	Reformatted.
	(SwingUtilities): Implements SwingConstants.
	(getRootPane): Must be public.
	(updateComponentTreeUI): Likewise.
	* javax/swing/JComponent.java,
	javax/swing/ToggleButtonModel.java:
	Reformatted.
	* javax/swing/SpinnerModel.java:
	New file.
	* javax/swing/Makefile.am
	(EXTRA_DIST): Added SpinnelModel.java.

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

	* javax/swing/plaf/basic/BasicBorders.java (RadioButtonBorder,
	ToggleButtonBorder): Re-written.
	(getRadioButtonBorder, getToggleButtonBorder): New public method.
	* javax/swing/plaf/basic/doc-files/
	BasicBorders.MenuBarBorder-1.png,
	BasicBorders.RadioButtonBorder-1.png,
	BasicBorders.ToggleButtonBorder-1.png: New image.
	
2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(equals): Simplified code.

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

	* javax/swing/UIManager.java (getLookAndFeelDefaults): Made public.
	* javax/swing/plaf/basic/BasicBorders.java (ButtonBorder): Re-written.
	(getButtonBorder): New public method.
	(getMarginBorder): New private method.
	(sharedMarginBorder): New private field.
	* javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-1.png:
	New image.
	
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-19  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/Font.java (getLineMetrics(String, FontRenderContext)):
	Stubbed for avoiding compilation errors in Swing.

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

	* javax/swing/plaf/basic/BasicGraphicsUtils.java: Re-written
	from scratch.

	* 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 image.
	
	* javax/swing/plaf/basic/BasicButtonUI.java (paint, paintText):
	Don't use methods that are not part of the official API.

	* javax/swing/plaf/basic/BasicButtonUI.java (getPreferredSize),
	javax/swing/plaf/basic/BasicCheckBoxUI.java (getPreferredSize),
	javax/swing/plaf/basic/BasicRadioButtonUI.java (getPreferredSize),
	javax/swing/plaf/basic/BasicToggleButtonUI.java (getPreferredSize):
	Use BasicGraphicsUtils.getPreferredButtonSize instead of a method
	that is not part of the official API.

	* javax/swing/plaf/basic/BasicLabelUI.java (getPreferredSize):
	Replace call to method that is not part of the official API
	with a dummy value.
	
2003-06-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java:
	Explicitely import used classes.

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

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

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

	* gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/SelectorImpl.java,
	gnu/java/nio/ServerSocketChannelImpl.java,
	gnu/java/nio/SocketChannelImpl.java,
	java/nio/DirectByteBufferImpl.java:
	New versions from libgcj.

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

	* java/net/InetSocketAddress.java,
	java/net/Socket.java:
	New versions from libgcj.

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

	* java/util/Locale.java,
	java/util/PropertyResourceBundle.java,
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/Preferences.java,
	java/util/prefs/PreferencesFactory.java,
	java/util/zip/ZipEntry.java,
	java/util/zip/ZipFile.java,
	java/util/zip/ZipInputStream.java,
	java/util/zip/ZipOutputStream.java:
	New versions from libgcj.

2003-06-17  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/basic/BasicBorders.java
	(BasicBorders.MarginBorder): Re-written	from scratch.
	* javax/swing/plaf/basic/doc-files: New directory for Javadoc images.
	* javax/swing/plaf/basic/doc-files/BasicBorders.MarginBorder-1.png:
	New image.

2003-06-17  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/plaf/BorderUIResource.java (BorderUIResource): Check
	argument validity.
	(paintBorder, getBorderInsets, isBorderOpaque): Call wrapped delegate.
	(etchedBorderUIResource, loweredBevelBorderUIResource,
	raisedBevelBorderUIResource, blackLineBorderUIResource): New fields.
	(getEtchedBorderUIResource, getLoweredBevelBorderUIResource,
	getRaisedBevelBorderUIResource, getBlackLineBorderUIResource):
	Create shared borders on demand.
	
	(BorderUIResource.BevelBorderUIResource): Add Javadoc.
	(BorderUIResource.CompundBorderUIResource): Add Javadoc.
	(BorderUIResource.EmptyBorderUIResource): Add Javadoc.
	(BorderUIResource.EtchedBorderUIResource): Add Javadoc.
	(BorderUIResource.LineBorderUIResource): Add Javadoc.
	(BorderUIResource.MatteBorderUIResource): Add Javadoc.
	(BorderUIResource.TitledBorderUIResource): Add Javadoc.

	(BorderUIResource.LineBorderUIResource): Add comment for noting
	that there is no constructor which would take a value for
	the roundedCorners property. Also gives the "review ID"
	of the enhancement request that was filed with Sun.
	
	(BorderUIResource.EmptyBorderUIResource.EmptyBorderUIResource(int,
	int, int, int), BorderUIResource.MatteBorderUIResource
	.MatteBorderUIResource(int, int, int, int, Color), BorderUIResource
	.MatteBorderUIResource.MatteBorderUIResource(int, int, int, int, Icon):
	Call inherited constructor without allocating a new Insets object.

	(BorderUIResource.TitledBorderUIResource.TitledBorderUIResource(
	[all variants])): Accessibility made public.
	
	* javax/swing/border/CompoundBorder.java
	(CompoundBorder(Border, Border)): Fix typos in API documentation.
	
	* javax/swing/plaf/.cvsignore: Add *.class.

2003-06-16  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/EmptyBorder.java (getBorderInsets()): New method.

	* javax/swing/border/Border.java: Added API documentation.
	
	* javax/swing/border/MatteBorder.java: Re-written from scratch.
	* 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: New image.
	
	* javax/swing/border/SoftBevelBorder.java: Initial check-in.
	* javax/swing/border/doc-files/SoftBevelBorder-1.png,
	* javax/swing/border/doc-files/SoftBevelBorder-2.png,
	* javax/swing/border/doc-files/SoftBevelBorder-3.png: New image.

	* javax/swing/border/Makefile.am: Add SoftBevelBorder.java.

2003-06-16  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/LineBorder.java: Re-written from scratch.
	* javax/swing/border/doc-files/LineBorder-1.png: New image.

2003-06-13  C. Brian Jones  <cbj@gnu.org>

	* configure.in: last patch missing necessary quotation
	characters, see the autoconf manual for macro writers for
	details.

2003-06-13  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/EtchedBorder.java: Re-written from scratch.
	* javax/swing/border/doc-files/EtchedBorder-1/2.png: New images.
	* javax/swing/border/BevelBorder.java (serialVersionUID): Added.
	* javax/swing/border/CompundBorder.java (serialVersionUID): Explain
	how the value was obtained.

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

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/MappedCharFileBuffer.java,
	gnu/java/nio/MappedDoubleFileBuffer.java,
	gnu/java/nio/MappedFloatFileBuffer.java,
	gnu/java/nio/MappedIntFileBuffer.java,
	gnu/java/nio/MappedLongFileBuffer.java,
	gnu/java/nio/MappedShortFileBuffer.java:
	Removed.

2003-06-13  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/BevelBorder.java: Re-written from scratch.
	* javax/swing/border/EmptyBorder.java: Re-written from scratch.
	* javax/swing/border/doc-files/: New directory for JavaDoc images.
	* javax/swing/border/doc-files/BevelBorder-1/2/3.png: New images.
	* javax/swing/border/doc-files/EmptyBorder-1.png: New image.
	* javax/swing/border/.cvsignore: Added *.class to ignored files.

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

	* java/io/FileOutputStream.java
	(FileOutputStream): Fix parens.
	* java/util/zip/InflaterInputStream.java
	(read): Fix parens.

2003-06-12  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/UIManager.java (getFont): Made public in conformance with
	the API spec.

2003-06-12  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/AbstractBorder.java (getBorderInsets): Revised Javadoc
	better explains the purpose of the method.
	* javax/swing/border/TitledBorder.java (getBorderInsets): Likewise.

2003-06-11  Anthony Green  <green@redhat.com>

	* java/util/Locale.java (Locale): Intern String fields.
	(equals): Compare String references, not contents.
	(getISO3Language): Ditto.
	(getISO3Country): Ditto.

2003-06-11  Stephen Crawley  <crawley@dstc.edu.au>

	* configure.in: Allow building when glib 2.0 / gtk 2.0 are not
	present.

2003-06-11  Stephen Crawley  <crawley@dstc.edu.au>

	* java/text/DateFormat.java (equals): The JDK behaviour is not to
	include the Calendar object in the equality predicate.
	* java/text/DateFormat.java (hashCode): Ditto.
	* java/text/SimpleDateFormat.java (equals): The JDK behaviour is
	not to include the century start Date in the equality  predicate.
	* java/text/SimpleDateFormat.java (hashCode): New method.

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

	* java/io/PrintStream.java: Not deprecated.

2003-06-12  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/TitledBorder.java: New implementation.

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

	* java/util/zip/InflaterInputStream.java:
	Reworked formatting and documentation.
	(close): Set in to null.
	(fill): Check if stream is already closed.

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

	* javax/naming/directory/Attribute.java
	(serialVersionUID): New member variable.

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

	* java/io/BufferedReader.java
	(mark): Throw exception if readLimit < 0.
	* java/io/FileOutputStream.java
	(FileOutputStream): Set FileDescriptor.WRITE flag when appending to a
	file.

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

	* java/net/Socket.java:
	New version from libgcj.

2003-06-11  Stephen Crawley  <crawley@dstc.edu.au>

	* java/io/FileOutputStream.java
	(FileOutputStream): Set the WRITE bit when opening a file for append.
	* java/io/InputStreamReader.java
	(close): Null the wrapped stream.
	(ready): Test for closed Reader.
	(read): Likewise.
	(skip): New method.

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

	* 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/MappedByteBuffer.java,
	java/nio/ShortBuffer.java,
	java/nio/channels/Channels.java,
	java/nio/channels/ServerSocketChannel.java,
	java/nio/channels/spi/AbstractSelector.java:
	New versions from libgcj.

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

	* gnu/java/nio/FileChannelImpl.java:
	Imported import java.nio.MappedByteFileBuffer.
	(map_address): made public for now.
	* java/nio/MappedByteBuffer.java,
	java/nio/MappedByteFileBuffer.java,
	java/nio/MappedCharFileBuffer.java,
	java/nio/MappedDoubleFileBuffer.java,
	java/nio/MappedFloatFileBuffer.java,
	java/nio/MappedIntFileBuffer.java,
	java/nio/MappedLongFileBuffer.java,
	java/nio/MappedShortFileBuffer.java:
	Moved from gnu/java/nio.
	* gnu/java/nio/Makefile.am
	(EXTRA_DIST): Removed files.
	* java/nio/Makefile.am
	(EXTRA_DIST): Added new files.

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

	* java/net/URL.java,
	java/net/URLStreamHandler.java:
	New versions from libgcj.

2003-06-11  Torsten Rupp  <rupp@aicas.com>

	* native/jni/java-io/java_io_File.c:
	replace lstat() -> stat() in isDirectory/isFile to be able to follow symbolic links


2003-06-11  Torsten Rupp  <rupp@aicas.com>

	* native/jni/java-net/javanet.c:
	replace recvfrom() -> recv() in case of stream sockets

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

	* javax/swing/border/AbstractBorder.java: Numerous fixes for making
	the implementaton comply with the API specification. Added Javadoc.
	
	(paintBorder): Removed warning because calling this method is perfectly
	feasible for some subclasses, for instance EmptyBorder.

	* javax/swing/border/CompoundBorder.java (serialVersionUID): Added.
	(paintBorder): Docfix.
	
2003-06-10  Tom Tromey  <tromey@redhat.com>

	* javax/swing/JList.java (setListData): Remove gcj workaround.
	* java/security/BasicPermission.java: Remove gcj workaround.
	* java/lang/reflect/Proxy.java (getProperty): Remove gcj
	workaround.
	* java/awt/im/InputSubset.java: Remove gcj workaround.

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

	* javax/swing/BorderFactory.java:
	Wrapped all method documentations.
	(createEtchedBorder): New method.

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

	* gnu/java/awt/image/GdkPixbufDecoder.java:
	Reworked imports to explicitely import classes only.

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

	* gnu/java/nio/ServerSocketChannelImpl.java,
	gnu/java/nio/SocketChannelImpl.java:
	Mainly merged with libgcj.

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

	* gnu/java/rmi/server/UnicastRemoteCall.java:
	New version from libgcj.

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

	* java/io/PrintStream.java
	(close): Removed "synchronized". This class is not thread-safe.
	(write): Likewise.

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

	* javax/swing/border/CompoundBorder.java: Re-implemented from scratch;
	see mailing list archive of 2003-06-10 for a list of issues with the
	previous implementation.

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

	* javax/swing/border/AbstractBorder.java,
	javax/swing/border/Border.java,
	javax/swing/border/CompoundBorder.java:
	Reworked imports and constructors, reformatted files.

2003-06-09  John Leuner  <jewel@debian.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	GtkEvents.c, GtkWindowPeer.c: removed SETV macro
	changed gtk_object_get to g_object_get
	
2003-06-08  Tom Tromey  <tromey@redhat.com>

	* 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-09  Michael Koch  <konqueror@gmx.de>

	* java/awt/Robot.java
	(screen): New member variable.
	* javax/swing/BorderFactory.java
	(create*Border): Implemented.
	* javax/swing/plaf/BorderUIResource.java
	(*BorderUIResource): Call correct parent constructor.

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

	* javax/swing/BorderFactory.java:
	Reformatted.
	* javax/swing/JTable.java:
	Import javax.swing.table.JTableHeader.
	* javax/swing/table/JTableHeader.java:
	New file.
	* javax/swing/table/Makefile.am
	(EXTRA_DIST): Added JTableHeader.java.

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

	* javax/swing/JButton.java
	(serialVersionUID): New member variable.
	* javax/swing/JComboBox.java
	(serialVersionUID): New member variable.
	(isFocusTraversable): Added @deprecated tag.
	* javax/swing/JPasswordField.java
	(getText): Added @deprecated tag.
	* javax/swing/JScrollPane.java:
	Reworked imports and class declaration.
	* javax/swing/JTable.java:
	Reworked imports.
	* javax/swing/JViewport.java:
	Reworked imports.
	* javax/swing/UIDefaults.java
	(UIDefaults): Implements LazyValue.
	(serialVersionUID): New member variable.
	* javax/swing/event/SwingPropertyChangeSupport.java
	(serialVersionUID): New member variable.
	* javax/swing/event/UndoableEditEvent.java
	(serialVersionUID): New member variable.
	* javax/swing/plaf/basic/BasicDefaults.java:
	Reworked imports.

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

	* 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/TableModelEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/filechooser/FileFilter.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/filechooser/FileView.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:
	Reworked import statements to import classes explicitely only.
	Checked extends and implements statements, some reformattin.

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

	* javax/swing/AbstractButton.java,
	javax/swing/Box.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/FocusManager.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JComboBox.java,
	javax/swing/JDesktopPane.java,
	javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java,
	javax/swing/JList.java,
	javax/swing/JPanel.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JSeparator.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JToggleButton.java,
	javax/swing/JToolBar.java,
	javax/swing/JToolTip.java,
	javax/swing/Timer.java:
	Fixed extends and implements.

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

	* javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.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/JCheckBox.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/JRadioButton.java,
	javax/swing/JRootPane.java,
	javax/swing/JScrollBar.java,
	javax/swing/JSlider.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JToolTip.java,
	javax/swing/JTree.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/UIManager.java:
	Reworked import statements to explicitely import used classes.

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

	* java/awt/Frame.java
	(setMaximizedBounds): Implemented.
	* java/awt/Graphics.java
	(drawRoundRect): Removed. This was never in the official JDK API.
	(drawChars): Likewise.
	(drawString): Removed commented drawString.
	* java/awt/Menu.java
	(cound): Removed. This was never in the official JDK API.
	* javax/swing/AbstractAction.java:
	Reformatted.
	(actionPerformed): Removed. This was never in the official JDK API.
	* javax/swing/AbstractListModel.java
	(getElementAt): Removed. This was never in the official JDK API.
	(getSize): Likewise.

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

	* java/io/PrintStream.java:
	Merged copright year from libgcj.
	* java/security/Security.java:
	New version from libgcj.

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

	* java/net/DatagramSocket.java
	(localAddr): Removed.
	(bind): Dont initialize localAddr.
	(getLocalAddress): Get local address from socket implementation.

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

	* java/net/DatagramSocketImpl.java
	(getOption): Removed. This was a workaround for GCJ < 3.3.
	(setOption): Likewise.
	* java/net/MulticastSocket.java
	(MulticastSocket): Call setReuseAddress (true) in all constructors.
	* java/net/SocketImpl.java
	(getOption): Removed. This was a workaround for GCJ < 3.3.
	(setOption): Likewise.
	* java/net/URLConnection.java
	(getContentType): Dont try to guess content type if header
	"content-type" doesnt exist.
	(getHeaderFieldDate): Merged with libgcj.
	(getHeaderFieldKey): Likewise.
	(setDoInput): Likewise.
	(setUseCaches): Likewise.
	(setIfModifiedSince): Likewise.
	(getDefaultUseCaches): Likewise.
	(setDefaultUseCaches): Likewise.
	(addRequestProperty): New method merged from libgcj.
	(getContent): Likewise.

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

	* javax/swing/border/BevelBorder.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/BasicDefaults.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	New versions from libgcj to make it all compile.

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

	* java/text/SimpleDateFormat.java (SimpleDateFormat): Added
	numberFormat.setParseIntegerOnly(true).

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

	* java/awt/image/ColorModel.java: Typo fix.

2003-06-05  Jeff Sturm	<jsturm@one-point.com>

	* java/io/ObjectInputStream (enableResolveObject):
	Fixed spelling of permission name.

2003-06-05  Ito Kazumitsu  <ito.kazumitsu@hitachi-cable.co.jp>

	* java/awt/image/ColorModel.java (ColorModel): Compute sRGB.

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

	* java/awt/ScrollPane.java
	(addImpl): Must be protected.
	(eventTypeEnabled): Likewise.
	* java/awt/Window.java
	(isFocusableWindow): Must be final.
	* java/awt/image/WritableRaster.java
	(setRect): Reordered arguments to match SUNs version
	and fixed our implementation.
	* java/awt/print/PageFormat.java
	(getImageableHeight): Fixed typo in name.
	* java/awt/print/PrinterJob.java
	(setCopies): Fixed argument to match SUNs version.

2003-06-03  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:
	Reworked all imports, only import classes explicitly,
	dont import unused classes.

2003-05-30  Jeroen Frijters <jeroen@sumatra.nl>

	* java/net/DatagramSocket.java
	(DatagramSocket): Initialize laddr if null and use it.

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

	* java/io/PrintStream.java
	(PrintStream): Renamed autoFlush to auto_flush;
	* java/net/URLConnection.java
	(getHeaderFieldInt): Compile fix.

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

	* java/io/PrintStream.java
	(PrintStream): Merged with libgcj.
	(write): Likewise.
	* java/lang/reflect/Modifier.java:
	Merged copyrigth with libgcj.
	* java/net/URLConnection.java
	(getHeaderFields): New method merged from libgcj.
	(getHeaderFieldInt): Merged with libgcj.

2003-05-25  Aaron M. Renn (arenn@urbanophile.com)

	* java/net/NetPermission.java
	Update class overview in docs
	* java/net/NetworkInterface.java
	Update documentation
	* java/net/PasswordAuthentication.java
	Reformat
	* java/net/SocketPermission.java
	Minor doc fix
	
2003-05-23  Aaron M. Renn (arenn@urbanophile.com)

	* java/net/ContentHandlerFactory.java
	Reformat, minor doc fixes
	(createContentHandler): Explicitly declare public
	* java/net/DatagramSocketImplFactory.java
	Minor doc fixes
	(createDatagramSocketImpl): Explicitly declare public
	* java/net/FileNameMap.java
	Reformat
	(getContentTypeFor): Explicitly declare public
	* java/net/SocketImplFactory.java
	Reformat, minor doc fixes
	(createSocketImpl): Explicitly declare public
	* java/net/SocketOptions.java
	Minor reformatting
	* java/net/URLStreamHandlerFactory.java
	Reformat, minor doc fixes
	(createURLStreamHandler): Explicitly declare public

2003-05-23  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/PushbackInputStream.java
	Minor doc fixes

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

	* java/lang/String.java:
	Merged copyright with libgcj, added Per Bother as author, reordered
	imports.
	(compareToIgnoreCase): Renamed s to str to match libgcj.
	(valueof): Merged from libgcj.

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

	* java/util/zip/Inflater.java:
	Merged copyright from libgcj, reformatted and reordered some methods.

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

	* java/lang/StringBuffer.java:
	Merged copyright from libgcj.
	* java/lang/System.java
	(mapLibraryName): Fixed documentation.

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

	* java/awt/Checkbox.java
	(getItemListeners): New method.
	* java/awt/Dialog.java
	(Dialog): Reformatted classs documentation.
	(undecorated): New member variable.
	(isUndecorated): New method.
	(setUndecorated): New method.
	* java/awt/Font.java
	(getPeer): Added @deprecated tag.
	* java/awt/Frame.java
	(maximizedBounds): New member variable.	
	(undecorated): New member variable.
	(getState): New implementation.
	(setState): New method.
	(setExtendedState): New method.
	(getExtendedState): New method.
	(getMaximizedBounds): New method.
	(setMaximizedBounds): New method.
	(isUndecorated): New method.
	(setUndecorated): New method.
	* java/awt/ScrollPaneAdjustable.java
	(valueIsAdvertising): New member variable.
	(getValueIsAdjusting): New method.
	(setValueIsAdjusting): New method.
	* java/awt/Scrollbar.java
	(valueIsAdvertising): New member variable.
	(getValueIsAdjusting): New method.
	(setValueIsAdjusting): New method.
	* java/awt/Window.java
	(focusMgr): Added @since 1.2 tag.
	(state): Likewise.
	(focusableWindowState): New member variable.
	(isFocusableWindow): New method.
	(getFocusableWindowState): New method.
	(setFocusableWindowState): New method.

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

	* java/util/zip/DeflaterOutputStream.java,
	java/util/zip/GZIPInputStream.java,
	java/util/zip/GZIPOutputStream.java:
	Reformatted.

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

	* java/text/CollationKey.java:
	Reformatted.
	(originalText): Renamed from str to match libgcj.

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

	* gnu/java/nio/SelectionKeyImpl.java:
	Reformatted.

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

	* java/io/File.java:
	Reformatted.
	* java/io/PrintStream.java:
	Reformatted.
	(error_occurred): Fixed typo in documentation.

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

	* java/io/FileOutputStream.java:
	New version from libgcj.

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

	* java/io/DataInputStream.java:
	New version from libgcj.
	* java/io/PrintStream.java
	(error_occured): Inititialize with false.

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

	* gnu/java/nio/FileLockImpl.java
	(fd): New member variable.
	(released): New member variable.
	(FileLockImpl): Added FileDescriptor object as argument.
	(isValid): Implemented.
	(release): Implemented.
	(releaseImpl): New native method.

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

	* 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:
	Moved to java/nio.
	* gnu/java/nio/SocketChannelImpl.java
	(write): Dont use ByteBufferImpl directly.
	* gnu/java/nio/Makefile.am:
	(EXTRA_DIST): Removed moved files.
	* 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/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/ShortBufferImpl.java:
	Moved from gnu/java/nio.
	* java/nio/Makefile.am
	(EXTRA_DIST): Added moved files.

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

	* java/nio/ByteBuffer.java
	(allocateDirect): Implemented.
	* java/nio/CharViewBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleViewBufferImpl.java,
	java/nio/FloatViewBufferImpl.java,
	java/nio/IntViewBufferImpl.java,
	java/nio/LongViewBufferImpl.java,
	java/nio/ShortViewBufferImpl.java:
	New files.
	* java/nio/Makefile.am:
	(EXTRA_DIST): Added new files.

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>

	* 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/Buffer.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:
	Big (partly-)merge from libgcj, only little changes are needed because gcj
	handles package-private as public. 

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

	* java/nio/ByteBuffer.java
	(ByteBuffer): Moved.
	* java/nio/CharBuffer.java
	(CharBuffer): Moved.
	* java/nio/DoubleBuffer.java
	(DoubleBuffer): Moved.
	(allocateDirect): Removed.
	(wrap): Removed.
	* java/nio/FloatBuffer.java
	(FloatBuffer): Moved, removed initialization of array_offset.
	(allocateDirect): Removed.
	(wrap): Removed.
	* java/nio/IntBuffer.java
	(IntBuffer): Moved, removed initialization of array_offset.
	(allocateDirect): Removed.
	(wrap): Removed.
	* java/nio/LongBuffer.java
	(LongBuffer): Moved, removed initialization of array_offset.
	(allocateDirect): Removed.
	(wrap): Removed.
	* java/nio/ShortBuffer.java
	(ShortBuffer): Moved, removed initialization of array_offset.
	(allocateDirect): Removed.
	(wrap): Removed.

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

	* java/nio/ShortBuffer.java
	(get): Merged from libgcj.
	(put): Likewise.
	(compact): Likewise.
	(isDirect): Likewise.
	(slice): Likewise.
	(duplicate): Likewise.
	(asReadOnlyBuffer): Likewise.

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

	* java/nio/ByteBuffer.java: Merged documentation all over from libgcj,
	reformatted code, no functional changes.
	* java/nio/CharBuffer.java: Likewise.
	* java/nio/DoubleBuffer.java: Likewise.
	* java/nio/FloatBuffer.java: Likewise.
	* java/nio/IntBuffer.java: Likewise.
	* java/nio/LongBuffer.java: Likewise.
	* java/nio/ShortBuffer.java: Likewise.

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

	* java/net/NetworkInterface.java:
	New version from libgcj.

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

	* java/io/DataOutputStream.java:
	New version from libgcj.
	* java/io/PrintWriter.java:
	Reformatted and moved class documentation.
	* java/io/RandomAccessFile.java
	(read): call in directly.

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

	* java/security/Key.java
	(Key): Fixed declaration of serialVersionUID.
	* java/security/PrivateKey.java
	(PrivateKey): Likewise.
	* java/security/Provider.java
	(Provider): Likewise.
	* java/security/PublicKey.java
	(PublicKey): Likewise.

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

	* java/nio/channels/FileLock.java:
	New version from libgcj.
	* java/nio/charset/Charset.java:
	Likewise.

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

	* java/text/CollationElementIterator.java:
	Reformated:
	(CollationElementIterator): Class documentation merged from libgcj.
	(collator): Renamed from rbc.
	(text): Renamed from str.
	(index): Renamed from pos.
	(CollationElementIterator): Moved.
	* java/text/CollationKey.java:
	Merged copytight with libgcj.
	* java/text/RuleBasedCollator.java:
	Reformatted, fixed some documentation to use html entities.

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

	* java/io/RandomAccessFile.java
	(out): New member variable.
	(in): Likewise.
	(buf): Removed.
	(RandomAccessFile): Handle mode "rwd".
	(read): Use in stream.
	(readBoolean): Likewise.
	(readByte): Likewise.
	(readDouble): Likewise.
	(readFloat): Likewise.
	(readUnsignedByte): Likewise.
	(write): Likewise.
	(writeBoolean): Likewise.
	(writeByte): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(writeChars): Likewise.
	(writeUTF): Likewise.
	(readChar): Use in stream, no need for being synchronized now.
	(readFully): Likewise.
	(readInt): Likewise.
	(readLine): Likewise.
	(readLong): Likewise.
	(readShort): Likewise.
	(readUnsignedShort): Likewise.
	(readUTF): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	* java/io/FileDescriptor.java
	(DSYNC): New constant.
	* native/jni/java-io/FileDescriptor.c
	(DSYNC): New constant.
	(open): Handle new DSYNC constant.

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

	* java/io/RandomAccessFile.java
	(RandomAccessFile): Reformatted.
	(setLength): Likewise.
	(length): Likewise.

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

	* java/io/File.java
	(createTempFile): Only throws IOException.
	(compareTo): Renamed argument to match libgcj, doesnt throws
	ClassCastException.
	(deleteOnExit): Added @since tag.

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

	* gnu/java/nio/FileChannelImpl.java:
	New version from libgcj. Normal file operations should now work with
	FileChannels.

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

	* java/security/Identity.java
	(serialVersionUID): Made it private.
	* java/security/IdentityScope.java
	(serialVersionUID): Made it private.
	* java/security/KeyPair.java
	(serialVersionUID): Made it private.
	* java/security/SecureRandom.java
	(serialVersionUID): Made it private.
	* java/security/SecureRandomSpi.java
	(serialVersionUID): Made it private.
	* java/security/SignedObject.java
	(serialVersionUID): Made it private.
	* java/security/Signer.java
	(serialVersionUID): Made it private.

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

	* java/text/BreakIterator.java
	(clone): New method merged from libgcj.

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

	* java/io/BufferedOutputStream.java
	(close): New method merged from libgcj.
	(finalize): Likewise.
	* java/io/DataInputStream.java
	(readChar): Reformatted.
	(readInt): Likewise.
	(readLine): Merged documentation from libgcj.
	(readUnsignedByte): Likewise.
	(readUnsignedShort): Likewise.
	(skip): Likewise.
	* java/io/InputStreamReader.java
	(read): Merged documentation from libgcj, reformatted.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Merged class documentation with libgcj.
	(OutputStreamWriter): Reformatted.
	(close): Likewise.
	(getEncoding): Likewise.
	(flush): Likewise.
	(write): Merged with libgcj.

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

	* java/net/InetAddress.java
	(InetAddress): Merged documentation with libgcj.
	* java/net/JarURLConnection.java
	(getMainAttributes): Merged documentation with libgcj.
	(getAttributes): Likewise.
	(getManifest): Likewise.

2003-05-06  Matt Kraai  <kraai@alumni.cmu.edu>

	* java/security/Key.java: Fix misspelling of "version".
	* java/security/PrivateKey.java: Likewise.
	* java/security/Provider.java: Likewise.
	* java/security/PublicKey.java: Likewise.

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

	* java/io/File.java
	(checkWrite): New method (from libgcj).
	(checkRead): Likewise.
	(writeObject): Likewise.
	(readObject): Likewise.
	(canRead): Replaced SecurityManager code with checkRead() call.
	(exists): Likewise.
	(isDirectory): Likewise.
	(isFile): Likewise.
	(lastModified): Likewise.
	(length): Likewise.
	(canWrite): Replaced SecurityManager code with checkWrite() call.
	(mkdir): Likewise.
	(renameTo): Likewise.

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

	* java/io/DataOutputStream.java
	(write): Renamed argument to "value", merged documentation with
	libgcj.
	(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:
	Reordered methods to match libgcj, some documentation merged from
	libgcj and reformatting of some code.
	* java/io/FileOutputStream.java
	(FileOutputStream): Merged from libgcj.
	* java/io/InputStreamReader.java:
	Merged copyright from libgcj.
	(InputStreamReader): Merged from libgcj.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Merged from libgcj.

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

	* java/io/DataInputStream.java:
	Reordered all methods to match libgcj.

2003-05-03  John Leuner  <jewel@debian.org>

	* native/jni/java-net/java_net_PlainDatagramSocketImpl.c (Java_java_net_PlainDatagramSocketImpl_receive): 
	added check for null packet argument

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

	* java/net/URI.java
	(create): Doesnt throws IllegalArgumentException.
	* java/net/URLConnection
	(URLConnection): Merged documentation with libgcj.
	(getExpiration): Merged implementation with libgcj.
	(getDate): Likewise.
	(getLastModified): Likewise.
	(getHeaderField): Likewise.
	(getHeaderFieldKey): Likewise.
	(setDoInput): Likewise.
	(getHeaderFieldInt): Merged documentation with libgcj.
	(getPermission): Likewise.
	(setAllowUserInteraction): Likewise.
	(setUseCaches): Likewise.
	(setIfModifiedSince): Likewise.
	(getDefaultUseCaches): Likewise.
	(setRequestProperty): Likewise.
	(getRequestProperty): Likewise.
	(getRequestProperties): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.
	(guessContentTypeFromName): Likewise.
	(setDoOutput): Merged implementation and documentation with libgcj.
	(setContentHandlerFactory): Likewise.
	(getFileNameMap): Likewise.
	(setFileNameMap): Likewise.
	(setDefaultAllowUserInteraction): No need to make this sychronized.

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

	* java/net/URLConnection.java:
	More merging with libgcj.

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

	* java/net/DatagramSocket.java,
	java/net/JarURLConnection,
	java/net/URLConnection:
	Partly merged with libgcj.

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

	* java/text/CollationKey.java:
	Reformated and reorderd to match libgcj more.

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

	* java/net/InetAddress.java:
	Merged class documentation with libgcj.
	* java/net/URL.java:
	Reformatted and reordered to match libgcj.

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

	* java/net/DatagramSocket.java
	(DatagramSocket): Reformatted.
	* java/net/ServerSocket.java
	(ServerSocket): Reformatted.
	* java/net/Socket.java
	(Socket): Reformatted.
	* java/net/URLConnection.java:
	Some documentation merged with libgcj.
	(doInput): Set default value to true.
	(ifModifiedSince): Set default value to 0L.

2003-05-01  C. Brian Jones  <cbj@gnu.org>

	Fixes [ Bug #3415 ] System.setIn/setOut/setErr do not work
	* native/jni/java-lang/java_lang_VMSystem.c
	(Java_java_lang_VMSystem_setIn): set static field in java/lang/System
	and perform appropriate JNI exception checks
	(Java_java_lang_VMSystem_setOut): ditto
	(Java_java_lang_VMSystem_setErr): ditto

2003-05-01  C. Brian Jones  <cbj@gnu.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(GDK_STABLE_IS_PIXMAP): converted macro to use GDK_IS_PIXMAP
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(TEXT_FROM_SW): convert macro to use GTK_TEXT_VIEW
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): convert
	gtk_text_new to gtk_text_view_new
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_old_create): removed
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkTextGetSize): converted
	to use just gtk_widget_size_request, though this may be in error it
	at least isn't as bad as the previous implementation
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_insert): convert to new
	GTK2 GtkTextBuffer/GtkTextIter usage
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_replaceRange): ditto
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_gtkSetFont): convert
	to Pango, new to GTK2
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(getCaretPosition): GtkTextView and GtkEntry handled separately 
	since in GTK2 they do not share common ancestory.
	(setCaretPosition): ditto
	(getSelectionStart): ditto
	(getSelectionEnd): ditto
	(select): ditto
	(setEditable): ditto
	(getText): ditto
	(setText): ditto
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create): use gtk_button_new
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetFont): use Pango
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_getSize): converted to use
	just gtk_widget_size_request, though this may be in error it at least
	isn't as bad as the previous implementation
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextField.c
	(Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetSize): ditto
	(Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkSetFont): use Pango
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(gdk_window_get_root_geometry): GdkWindowPrivate changed to GdkWindow;
	attempting to use gdk_window_get_geometry instead of direct Xlib calls
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(GTK_OBJECT_SETV): unsure about use of the private API to set data
	generically for different types, but updated to compile with GTK2
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectHooks): give
	connect_awt_hook the only structure member, range, in GTK2 instead;
	changed to connect to signal on the scroll bar instead of the 
	adjustment since that is the one with GtkScrollType in GTK2
	(post_adjustment_event): modified to fit GtkScrollBar move_slider
	signal signature
	* configure.in: require gtk 2.0+, glib 2.0+
	* HACKING: mention change in GTK requirements
	* INSTALL: mention change in GTK requirements
	* THANKYOU: add David P. Grove, fix order

2003-05-01  David P. Grove  <groved@us.ibm.com>

	This patch fixes a regression for the past month that made it 
	difficult to read files larger than 2^16 bytes.
	* native/jni/java-io/FileDescriptor.c
	(CONVERT_JLONG_TO_INT): modified macro to fix large file problem
	(CONVERT_JINT_TO_INT): ditto
	(CONVERT_SSIZE_T_TO_INT): new macro
	(Java_java_io_FileDescriptor_nativeReadBuf): use 
	CONVERT_SSIZE_T_TO_INT macro
	(Java_java_io_FileDescriptor_nativeAvailable): ditto

2003-05-01  C. Brian Jones  <cbj@gnu.org>

	* native/jni/java-lang/java_lang_VMSystem.c:
	(Java_java_lang_VMSystem_setIn0): renamed 
	Java_java_lang_VMSystem_setIn to match Java class and native headers
	(Java_java_lang_VMSystem_setOut0): renamed 
	Java_java_lang_VMSystem_setOut to match Java class and native headers
	(Java_java_lang_VMSystem_setErr0): renamed 
	Java_java_lang_VMSystem_setErr to match Java class and native headers

2003-04-30  Torsten Rupp  <rupp@homer.aicas.com>

	* /cvsroot/classpath/classpath/java/net/Socket.java:
	Added try-catch-blocks to

	* Socket.java: socket()
	* ServerSocket.java: socket()
	* DatagramSocket.java: socket()

	with clean-up of file-descriptors in case bind(), connect() or listen()
	fail. This fix will avoid loss of file-descriptors in the case create()
	is executed successfully, but bind/connect/listen fail with an exception.
	Then close() was not called and the file-descriptor allcoated by create()
	was not returned to the OS.

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

	* java/security/cert/Certificate.java
	(Certificate): Implements java.io.Serializable.
	(serialVersionUID): Must be private.
	* java/security/cert/PKIXCertPathBuilderResult.java
	(PKIXCertPathBuilderResult): Implements CertPathBuilderResult.
	* java/security/cert/X509Certificate.java
	(serialVersionUID): New member variable.

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

	* java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/RuleBasedCollator.java:
	Reformatted.

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/der/DEREncodingException.java:
	Explicitly import java.io.IOException.
	* gnu/java/security/x509/X509Certificate.java:
	Explicitly import java.io.Serializable.

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

	* java/security/SecureClassLoader.java,
	java/security/SecureRandom.java,
	java/security/Security.java,
	java/security/cert/CertificateFactory.java,
	java/security/cert/CertificateFactorySpi.java:
	Fixed typos in documention.

2003-04-29  Casey Marshall  <rsdio@metastatic.org>

	* java/security/cert/CertPathValidator.java:
	(getIntstance) renamed to proper name.
	(getInstance) renamed from getIntstance.
	* java/security/cert/X509CRL.java:
	(getIssuerX500Principal) new method (1.4 compatibility).

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>

	* gnu/java/security/x509/.cvsignore,
	javax/print/.cvsignore,
	javax/print/attribute/.cvsignore,
	javax/security/.cvsignore,
	javax/security/auth/.cvsignore,
	javax/security/auth/x500/.cvsignore:
	New files to ignore Makefile and Makefile.in

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

	* javax/print/attribute/Attribute.java,
	* javax/print/attribute/AttributeSet.java,
	* javax/print/attribute/PrintRequestAttributeSet.java:
	New files merged from libgcj.
	* javax/print/attribute/package.html: New files
	* javax/print/Makefile.am,
	javax/print/attribute/Makefile.am: New files.
	* configure.in
	(AC_OUTPUT): Added javax/print/Makefile and
	javax/print/attribute/Makefile.

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

	* javax/swing/AbstractListModel.java:
	Reformatted.
	(getListDataListeners): New method.
	* javax/swing/DefaultBoundedRangeModel.java:
	Reformatted.
	(getChangeListeners): New method.
	* javax/swing/DefaultSingleSelectionModel.java:
	Reformatted.
	(getChangeListeners): New method.
	
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-27  C. Brian Jones  <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: fixed typo

2003-04-27  Casey Marshall  <rsdio@metastatic.org>

	* java/io/FileDescriptor.java (in, out, err): set to non-null
	* native/jni/java-io/FileDescriptor.c 
	(Java_java_io_FileDescriptor_nativeInit): set the static fields
	appropriately and use ExceptionOccurred instead of ExceptionCheck.

2003-04-27  C. Brian Jones  <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: updated Jikes RVM information

2003-04-25  Stephen Crawley  <crawley@dstc.edu.au>

	* java/io/FileDescriptor.java : do dummy initialisation of
	the in/out/err statics before calling nativeInit, not after
	* native/jni/java-io/FileDescriptor.c (nativeInit) : correct
	the method signature for the FileDescriptor constructor used
	 to create the in/out/err FileDescriptor objects

2003-04-23  Casey Marshall  <rsdio@metastatic.org>

	Removed files:
	* java/security/Engine.java: moved to gnu/java/security/Engine.java.
	* gnu/java/security/provider/DERReader.java: obsoleted by
	gnu/java/security/der/DERReader.java.
	* gnu/java/security/provider/DERWriter.java: obsoleted by
	gnu/java/security/der/DERWriter.java.

	Added files:
	* gnu/java/io/Base64InputStream.java: input stream for decoding
	Base-64.
	* gnu/java/io/ASN1ParsingException.java: used to signal
	high-level errors in DER encoded data.
	* gnu/java/security/OID.java: object identifier class.
	* gnu/java/security/der/BitString.java: ASN.1 BIT STRING type.
	* gnu/java/security/der/DER.java: DER constants.
	* gnu/java/security/der/DERReader.java: DER parser.
	* gnu/java/security/der/DERValue.java: A single value read or
	written to a DER stream.
	* gnu/java/security/der/DERWriter.java: DER encoder.
	* gnu/java/security/Engine.java: from java/security/Engine.java.
	(Changes from java/security/Engine.java follow)
	- Class and getInstance method made public.
	- getInstance now throws java.lang.reflect.InvocationTargetException.
	- Added additional getInstance method that takes an array of
	parameters to be passed to the constructor.
	* gnu/java/security/provider/DSAKeyFactory.java: translator for
	DSA keys.
	* gnu/java/security/provider/X509CertificateFactory.java: X.509
	certificate factory class.
	* gnu/java/security/x509/X500DistinguishedName.java: ASN.1 Name
	construct implementation.
	* gnu/java/security/x509/X509Certificate.java: X.509
	certificate class.
	* gnu/java/security/x509/X509CRL.java: X.509 certificate
	revocation list.
	* gnu/java/security/x509/X509CRLEntry.java: X.509 certificate
	revocation list entry.
	* java/security/cert/CRLSelector.java: JDK 1.4 support.
	* java/security/cert/CertPathBuilder.java: JDK 1.4 support.
	* java/security/cert/CertPathBuilderResult.java: JDK 1.4 support.
	* java/security/cert/CertPathBuilderSpi.java: JDK 1.4 support.
	* java/security/cert/CertPathParameters.java: JDK 1.4 support.
	* java/security/cert/CertPathValidator.java: JDK 1.4 support.
	* java/security/cert/CertPathValidatorResult.java: JDK 1.4 support.
	* java/security/cert/CertPathValidatorSpi.java: JDK 1.4 support.
	* java/security/cert/CertSelector.java: JDK 1.4 support.
	* java/security/cert/CertStore.java: JDK 1.4 support.
	* java/security/cert/CertStoreParameters.java: JDK 1.4 support.
	* java/security/cert/CertStoreSpi.java: JDK 1.4 support.
	* java/security/cert/CollectionCertStoreParameters.java: JDK 1.4
	support.
	* java/security/cert/LDAPCertStoreParameters.java: JDK 1.4 support.
	* java/security/cert/PKIXBuilderParameters.java: JDK 1.4 support.
	* java/security/cert/PKIXCertPathBuilderResult.java: JDK 1.4 support.
	* java/security/cert/PKIXCertPathChecker.java: JDK 1.4 support.
	* java/security/cert/PKIXCertPathValidatorResult.java: JDK 1.4 support.
	* java/security/cert/PKIXParameters.java: JDK 1.4 support.
	* java/security/cert/PolicyNode.java: JDK 1.4 support.
	* java/security/cert/PolicyQualifierInfo.java: JDK 1.4 support.
	* java/security/cert/TrustAnchor.java: JDK 1.4 support.
	* javax/security/auth/x500/X500Principal.java: JDK 1.4 support.

	Modified files:
	* gnu/java/security/der/DEREncodingException.java: extend
	java.io.IOException instead of Exception.
	* gnu/java/security/provider/DSAParameters.java: use new DER
	parser.
	(engineInit(AlgorithmParameterSpec)) variable assignment
	bugfix.
	* gnu/java/security/provider/DSASignature.java:
	(engineVerify()) use new DER parser.
	* gnu/java/security/provider/DSAPrivateKey.java: added
	toString() method.
	* gnu/java/security/provider/DSAPrivateKey.java:
	(<init>) variable assignment bug fix.
	Added toString() method.
	* gnu/java/security/provider/Gnu.java: added new key factory and
	certificate factory entries.
	* java/security/AlgorithmParameterGenerator.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/AlgorithmParameters.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/KeyFactory.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/KeyPairGenerator.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/KeyStore.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/MessageDigest.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/SecureRandom.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/Signature.java:
	(getInstance) accomodate changes to Engine class.
	* java/security/cert/Certificate.java: Added writeReplace() method. 
	* java/security/cert/CertificateFactory.java: (JDK 1.4 compatibility)
	(getInstance(String)) and modified to use generic getInstance
	method.
	(getInstance(String, String)) likewise.
	getInstance(String, Provider) method added.
	getInstance(String, String, Provider) method removed.
	generateCertPath(InputStream) method added.
	generateCertPath(InputStream, String) method added.
	generateCertPath(List) method added.
	getCertPathEncodings() method added.
	* java/security/cert/CertificateFactorySpi.java: (1.4 compatibility)
	engineGenerateCertPath(InputStream) method added.
	engineGenerateCertPath(InputStream, String) method added.
	engineGenerateCertPath(List) method added.
	engineGetCertPathEncodings() method added.

2003-04-23  Torsten Rupp  <rupp@homer.aicas.com>

	* /cvsroot/classpath/classpath/java/net/InetAddress.java:
	Fixed parsing of IP numbers in getByName if sub-numbers are >127

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

	* include/java_io_FileDescriptor.h: Rebuilt.
	* java/io/FileInputStream.java (FileInputStream): Updated for
	changes to FileDescriptor.
	(FileInputStream(FileDescriptor)): Don't throw SecurityException
	if fd is invalid.
	* java/io/FileOutputStream.java (FileOutputStream): Updated for
	changes to FileDescriptor.  Don't throw SecurityException if fd
	is invalid.
	* java/io/RandomAccessFile.java (RandomAccessFile): Updated for
	changes to FileDescriptor.
	(readOnly): Removed; updated all users.
	* java/io/FileDescriptor.java (SET, CUR, END): Now constants.
	(READ, WRITE, APPEND, EXCL, SYNC): New constants.
	(in, out, err): Require nativeInit to initialize.
	(FileDescriptor(String,int)): New constructor.
	(open): Changed argument type of `mode'.  Allow empty paths.
	Only throw runtime errors or FileNotFoundException.
	(nativeValid): Don't throw IOException.
	(valid): Simplified.
	(nativeOpen): Throw FileNotFoundException.  Changed type of
	`mode' argument.
	* native/jni/java-io/FileDescriptor.c
	(Java_java_io_FileDescriptor_nativeValid): Updated comment.
	(SET, CUR, END, READ, WRITE, APPEND, EXCL, SYNC): New defines.
	(Java_java_io_FileDescriptor_nativeOpen): Changed type of mode
	argument.
	(true): Don't define; use JNI_TRUE.
	(false): Don't define; use JNI_FALSE.
	(INIT_FIELD): New define.
	(Java_java_io_FileDescriptor_nativeInit): Rewrote.
	* native/jni/java-io/java_io_FileDescriptor.c: Removed.

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-19  Tom Tromey  <tromey@redhat.com>

	* java/sql/Timestamp.java: Formatting fix.
	* java/sql/Time.java: Formatting fixes.
	* java/sql/DriverManager.java: Formatting fix.
	* java/sql/Date.java: Formatting fixes.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* 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-17  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/lang/Class.java
	(constructor): Added transient field to cache constructor.
	(newInstance): Fixed to consider non-public constructors as well, 
	added constructor object caching and implemented accessibility check.
	* vm/reference/java/lang/VMClass.java (throwException): option method
	used to throw exception without declaring it... useful for 
	duplicating Sun behavior in newInstance
	* include/java_lang_VMClass.h: updated

2003-04-07  Archie Cobbs  <archie@dellroad.org>

	* java/lang/Character.java (digit): char[] array element never negative

2003-04-07  Archie Cobbs  <archie@dellroad.org>

	* vm/reference/java/lang/Thread.java (currentThread): javadoc updates

2003-04-07  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/BufferedOutputStream.java
	(close): Delete commented out method
	(finalize): Delete commented out method
	* java/io/BufferedReader.java
	* java/io/BufferedWriter.java

2003-04-07  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/DataInputStream.java
	Re-order methods to be more logical and consistent with DataInput
	interface

2003-04-07  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/DataInput.java
	* java/io/DataOutput.java
	Fix minor javadoc typos
	* java/io/DataInputStream.java
	Update javadocs to match DataInput
	* java/io/DataOutputStream.java
	Update javadocs to match DataOutput

2003-04-07  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/lang/Class.java
	(getSigners): If signers array is null, don't attempt to 
	clone it
	(internalGetFields): Implemented algorithm dictated by API docs 
	and used HashSet to prevent the same field showing up twice (if 
	an interface is implemented multiple times)
	(getMethods): Changed comments to indicate that Object methods are
	available from array types. This is in contrast with the API docs, but
	it matches common sense and the Sun implementation.
	(internalGetMethods): For consistency, changed to use HashMap 
	instead of java.util.HashMap.
	(getField): Now uses internalGetField.
	(internalGetField): New method to implement correct search algorithm.
	(getMethod): Changed comments to indicate that Object methods are
	available from array types. Changed to use internalGetMethod.
	(internalGetMethod): New method to implement correct search algorithm.
	(matchParameters): Don't use equals() to compare Class objects, they
	have to be identical so == can be used.

2003-04-06  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>

	* gnu/java/nio/FileChannelImpl.java
	Mostly merged from libgcj.
	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/MappedCharFileBuffer.java,
	gnu/java/nio/MappedDoubleFileBuffer.java,
	gnu/java/nio/MappedFloatFileBuffer.java,
	gnu/java/nio/MappedIntFileBuffer.java,
	gnu/java/nio/MappedLongFileBuffer.java,
	gnu/java/nio/MappedShortFileBuffer.java:
	Renamed address to map_address.
	* java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/RandomAccessFile.java:
	(getChannel): Merged from libgcj.

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

	* java/io/FileInputStream.java
	(skip): Merged with version from libgcj.

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

	* java/sql/Date.java,
	java/sql/Time.java:
	Merged latest version from libgcj.

2003-04-05  C. Brian Jones  <cbj@gnu.org>

	* vm/reference/java/lang/VMClass.java (getInstance): removed
	* include/java_lang_VMClass.h: regenerated

2003-04-05  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/lang/Class.java
	(vmClass): Made vmClass field package instead of private
	(Class): Made constructor package instead of private and passed in
	VMClass instance
	(forName(String,boolean,ClassLoader)): Added special handling for array
	classes and initialization
	(isArray): Removed superfluous ternary operator
	(internalGetClasses): Fixed to use ArrayList.addAll instead of
	ArrayList.add
	(internalGetFields): Fixed to use ArrayList.addAll instead of
	ArrayList.add
	(getMethod(String,Class[])): Added code to also look at interfaces
	* vm/reference/java/lang/VMClass.java
	(initialize): Added
	(loadArrayClass): Added

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

	* THANKYOU: added Archie Cobbs
	
2003-04-04  C. Brian Jones  <cbj@gnu.org>

	* native/jni/java-io/java_io_FileDescriptor.c
	(Java_java_io_FileDescriptor_nativeWriteBuf): return type is jlong
	(Java_java_io_FileDescriptor_nativeWriteBuf): return type is jlong
	* native/jni/java-io/java_io_ObjectStreamClass.c: removed
	* native/jni/java-io/java_io_RandomAccessFile.c: removed
	* native/jni/java-io/java_io_FileInputStream.c: removed
	* native/jni/java-io/java_io_FileOutputStream.c: removed
	* native/jni/java-io/Makefile.am: adjusted members of java-io library
	

2003-04-03  C. Brian Jones  <cbj@gnu.org>

	* vm/reference/java/lang/VMClass.java: fix imports
	* java/lang/Class.java
	(internalGetMethods): fix spelling of superClass
	(getSigners): cast clone of Object[]
	(getSuperclass): fix spelling of getSuperclass
	(forName): use VMClass.forName for static invocation
	* include/*.h: updated
	* doc/www.gnu.org/home.wml: update link to GNU Crypto

2003-04-03  C. Brian Jones  <cbj@gnu.org>

	Many pieces of this patch contributed by Archie Cobbs
	* vm/reference/java/lang/VMClass.java: new file
	* vm/reference/java/lang/Class.java: moved to java/lang
	* java/lang/Class.java: added transient reference to VMClass
	(Class): added call to static VMClass.getInstance()
	(forName(String)): calls VMClass.forName and if that returns null
	then performs the previous method call instead
	(isInstance): moved to VMClass
	(isAssignableFrom): moved to VMClass
	(isInterface): moved to VMClass
	(isArray): calls VMClass.isArray before returning to getName()
	based implementation
	(isPrimitive): moved to VMClass
	(getName): moved to VMClass
	(getSuperclass): moved to VMClass
	(getInterfaces): moved to VMClass
	(getComponentType): moved to VMClass
	(getModifiers): moved to VMClass
	(getSigners): return a clone of the signers array
	(memberAccessCheck): new method
	(getDeclaringClass): moved to VMClass
	(getClasses): calls internalGetClasses
	(internalGetClasses): new method
	(getFields): calls internalGetFields
	(internalGetFields): new method
	(getMethods): calls internalGetMethods
	(internalGetMethods): new method
	(getConstructors): calls getDeclaredConstructors
	(getField): calls getDeclaredFields
	(getMethod): calls getDeclaredMethods
	(matchMethod): new method
	(matchParameters): new method
	(getConstructor): calls getDeclaredConstructors
	(getDeclaredClasses): calls getDeclaredClasses(boolean)
	(getDeclaredClasses(boolean)): new method
	(getDeclaredFields): calls getDeclaredFields(boolean)
	(getDeclaredFields(boolean)): new method
	(getDeclaredMethods): calls getDeclaredMethods(boolean)
	(getDeclaredMethods(boolean)): new method
	(getDeclaredConstructors): calls getDeclaredConstructors(boolean)
	(getDeclaredConstructors(boolean)): new method
	(getDeclaredField): calls getDeclaredFields
	(getDeclaredMethod): calls getDeclaredMethods
	(getDeclaredConstructor): calls getDeclaredConstructors
	(getClassLoader0): removed
	* NEWS: note changes to Class
	* gnu/classpath/RawData: new file (from libgcj)
	* java/lang/Makefile.am: add Class.java to dist
	* vm/reference/java/lang/Makefile.am: add VMClass.java to dist, 
	remove Class.java

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

	* java/rmi/dgc/VMID.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/LoaderHandler.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,
	java/rmi/server/Skeleton.java:
	New version from libgcj.

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/io/File.java:
	Reordered methods, reformatted code.
	* java/io/PrintStream.java:
	Reordered methods, reformatted code.
	* java/io/RandomAccessFile.java:
	Reordered methods, reformatted code.

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

	* javax/swing/text/ComponentView.java:
	Merged from libgcj.
	* javax/swing/tree/DefaultTreeCellRenderer.java:
	Merged from libgcj.

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

	* vm/reference/java/lang/VMClassLoader.java: Reindented.

	* java/lang/ClassLoader.java (getSystemClassLoader): Fixed
	formatting.
	(loadClass(String,boolean)): Likewise.
	(getPackage): Likewise.
	(getPackages): Likewise.

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

	* java/text/MessageFormat.java (MessageFormat.serialVersionUID):
	Define.
	* java/text/AttributedCharacterIterator.java
	(Attribute.serialVersionUID): Define.

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

	* java/lang/Package.java (toString): Formatting fixlet.

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-28  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java:
	Merged comment from libgcj.
	(serialVersionUID): Made it private.
	* java/io/ObjectOutputStream.java
	(PutField.write): Documentation reformatted.
	* java/io/PrintStream.java:
	Merged comment from libgcj.
	(PrintStream): Reformatted.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Merged with libgcj.
	(read): Likewise.

2003-03-28  Torsten Rupp  <rupp@homer.aicas.com>

	* native/target/generic/target_generic.h,
	native/target/generic/target_generic_file.h,
	native/target/generic/target_generic_math_float.h:
	Fix in extern-C-declaration

	* native/target/generic/target_generic_math_int.h:
	Fixed some int64-operation macros

	* native/target/generic/target_generic_network.h:
	Added some macros for setting/getting socket options

	* native/target/generic/target_generic_misc.h:
	Added TARGET_NATIVE_FORMAT_STRING macro

	* native/target/Linux/target_native.h,
	native/target/Linux/target_native_file.h,
	native/target/Linux/target_native_math_float.h,
	native/target/Linux/target_native_math_int.h,
	native/target/Linux/target_native_misc.h,
	native/target/Linux/target_native_network.h:
	Fix in extern-C-declaration

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

	* java/io/File.java:
	Merged authors with libgcj, reformatted.
	* java/io/FileOutputStream.java:
	Merged authors with libgcj, reformatted.
	(FileOutputStream): Partly merged with libgcj.
	(finalize): New dummy method to make API complete.
	(write): Added argument check from libgcj.
	* java/io/RandomAccessFile.java:
	Merged authors with libgcj, reformatted.
	(read*): Throws only IOException.

2003-03-26  C. Brian Jones  <cbj@gnu.org>

	* configure.in: VERSION changed to 0.05+cvs
	* THANKYOU: added Casey Marshall

2003-03-26  Casey Marshall  <rsdio@metastatic.org> 

	* java/security/AlgorithmParameterGenerator.java 
	(getInstance (String)): add missing return statement
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	(getInstance (String,String,Provider)): removed
	* java/security/AlgorithmParameters.java
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	(getInstance (String,String,Provider)): removed
	* java/security/Engine.java: new file
	* java/security/KeyFactory.java
	(getInstance (String)): add missing return statement
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	(getInstance (String,String,Provider)): removed
	* java/security/KeyPairGenerator.java
	(getInstance (String,Provider)): reuse common Engine code
	(getInstance (String,String,Provider)): removed
	* java/security/KeyStore.java
	(getInstance (String)): use getInstance(String,Provider) instead
	(getInstance (String,String)): use getInstance(String,Provider) instead
	(getInstance (String,Provider): reuse common Engine code
	* java/security/MessageDigest.java
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	* java/security/SecureRandom.java
	(getInstance (String): formatting
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	* java/security/Signature.java
	(getInstance (String,String)): check for improper provider argument
	(getInstance (String,Provider)): reuse common Engine code
	(getInstance (String,String,Provider)): removed

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

	* java/io/RandomAccessFile.java
	(length): Replace length() with getLength().
	(read): Replace in with fd.

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

	* java/io/FileOutputStream.java
	(getFD): Check FileDescriptor object before using it, Reformatted.
	(write): Reformatted.
	(close): Check FileDescriptor object before using it.

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

	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(getFirstComponent): Implemented.
	(getLastComponent): Implemented.
	(getDefaultComponent): Implemented.
	(setImplicitDownCycleTraversal): Fixed implementation.
	* java/awt/Robot.java
	(Robot): Documentation added.
	* java/awt/Toolkit.java
	(getFontList): Deprecated.
	(getFontMetrics): Deprecated.
	(getPrintJob): Documentation added.
	(getSystemSelection): Documentation added.
	(getLockingKeyState): Documentation addded.
	(setLockingKeyState): Documentation addded.
	(createCustonCursor): Documentation addded.
	(getBestCursorSize): Documentation addded.
	(getMaximumCursorColors): Documentation addded.
	(isFrameStateSupported): Documentation addded.

2003-03-24  C. Brian Jones  <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: link to mauve results on gnu.org

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

	* java/io/RandomAccessFile.java:
	More little merges with libgcj.
	
2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java:
	Merged copyright from libgcj.
	* java/io/FileInputStream.java
	(close): Merged implementation from libgcj.
	(finalize): Merged from libgcj for API completeness.
	(seek): Partly merged from libgcj.
	* java/io/InputStreamReader.java:
	Moving of some methods to match the order in libgcj and reformatting.
	* java/io/OutputStreamWriter.java:
	Moving of some methods to match the order in libgcj and reformatting.
	* java/io/PrintStream.java:
	Moving of some methods to match the order in libgcj and reformatting.
	* java/io/RandomAccessFile.java:
	Moving of some methods to match the order in libgcj and reformatting.

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

	* java/beans/beancontext/BeanContextEvent.java:
	Reformated.

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

	* java/io/FileInputStream.java:
	More merging with libgcj.
	(read): Compile fix.

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

	* java/io/DataOutputStream.java:
	Reordered methods to match libgcj, reformatting.
	(writeBoolean): Replaced if ... else ... with a single line of code.
	* java/io/FileInputStream.java:
	Reordered methods to match libgcj, reformatting.
	* java/io/FileOutputStream.java:
	Reordered methods to match libgcj, reformatting.
	* java/io/InputStreamReader.java:
	Merged copyright years with libgcj.
	* java/io/OutputStreamWriter.java:
	Merged copyright years with libgcj.
	* java/io/RandomAccessFile.java:
	Merged copyright years with libgcj.

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

	* java/awt/Frame.java
	(DEFAULT_CURSOR): Fixed @deprecated tag.
	(setCursor): Fixed @deprecated tag.

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

	* java/io/FileInputStream.java
	(getChannel): Make it synchronized, rewrote implementation.
	* java/io/FileOutputStream.java
	(getChannel): Make it synchronized, rewrote implementation.
	* java/io/RandomAccessFile.java
	(getChannel): Make it synchronized, rewrote implementation.

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

	* java/io/ObjectOutputStream.java,
	java/io/RandomAccessFile.java:
	Reformated.

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

	* java/io/FileInputStream.java:
	Reformated.
	* java/io/ObjectOutputStream.java:
	Reformated and some @see tags fixed.

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

	* java/io/DataOutputStream.java
	(writeDouble): Fixed @see tag.
	(writeFloat): Fixed @see tag.
	* java/io/ObjectInputStream.java:
	Reformated.
	* java/io/ObjectOutputStream.java:
	Reformated.
	* java/io/ObjectStreamClass.java
	(toString): Fixed @see tags, documentation reformated.
	* java/io/Writer.java
	(write): Fixed documentation.

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

	* java/io/BufferedOutputStream.java,
	java/io/BufferedReader.java,
	java/io/DataInput.java,
	java/io/DataOutput.java,
	java/io/Externalizable.java,
	java/io/File.java,
	java/io/FileDescriptor.java,
	java/io/FileFilter.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.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/InputStreamReader.java,
	java/io/ObjectInput.java,
	java/io/ObjectOutput.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/SerializablePermission.java,
	java/io/Writer.java:
	Reformated.

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

	* java/io/ByteArrayOutputStream.java
	(size): Fixed @see tag.
	* java/io/CharArrayWriter.java
	(size): Fixed @see tag.
	* java/io/DataInputStream.java
	(readUTF): Fixed typo in @return tag.
	* java/io/DataOutputStream.java
	(writeFloat): Fixed @see tag.
	(writeDouble): Fixed @see tag.
	* java/io/FilePermission.java
	(FilePermission): Replaced @XXX with FIXME to make javadoc happy.
	* java/io/LineNumberInputStream.java
	(LineNumberInputStream): Replaced @code with html tags.
	(getLineNumber): Fixed typo @return tag.
	* java/io/LineNumberReader.java
	(getLineNumber): Fixed typo @return tag.
	* java/io/PushbackReader.java
	(PushbackReader): Replaced @code with @param.
	* java/io/RandomAccessFile.java
	(writeInt): Fixed @see tag.
	(writeDouble): Fixed @see tag.
	* java/io/StreamTokenizer.java
	(writeDouble): Fixed @see tag.

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

	* javax/swing/JFormattedTextField.java,
	javax/swing/text/DocumentFilter.java,
	javax/swing/text/NavigationFilter.java:
	New files.
	* javax/swing/Makefile.am
	(EXTRA_DIST): Added JFormattedTextField.java.
	* javax/swing/text/Makefile.am:
	(EXTRA_DIST): Added DocumentFilter.java and NavigationFilter.java.

2003-03-23  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-23  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-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/dnd/DropTarget.java
	(DropTarget.DropTargetAutoScroller): Now public.
	* java/awt/dnd/DropTargetContext.java
	(DropTargetContext.TransferableProxy): Now public.

	* java/io/ObjectOutputStream.java (PutField.write): Deprecate.
	(PutField.put): Don't declare any exceptions.
	(putFields): Update.

	* java/io/FileDescriptor.java (close): Simplify with `finally'.

2003-03-21  Torsten Rupp  <rupp@homer.aicas.com>

	* native/target/generic/target_generic.h,
	native/target/generic/target_generic_file.h,
	native/target/generic/target_generic_math_float.h,
	native/target/generic/target_generic_math_int.h,
	native/target/generic/target_generic_misc.h
	native/target/generic/target_generic_network.h
	native/target/Linux/target_native.h
	native/target/Linux/target_native_file.h
	native/target/Linux/target_native_math_float.h
	native/target/Linux/target_native_math_int.h
	native/target/Linux/target_native_misc.h
	native/target/Linux/target_native_network.h:
	Target specific native code. This code is still not used, but please
	have a look. aicas GmbH will add and activate this code soon as
	possible (currently we are very busy; please be patient, we will do
	our best!)

2003-03-20  John Leuner  <jewel@debian.org>

	Patches from Stephen Crawley
	* java/util/PropertyPermission.java: Fix to prevent recursive call during
	initialization
	* java/io/FileDescriptor.java (close) : clear nativeFD on success
	* java/net/PlainDatagramSocketImpl.java (setTTL): remap the TTL passed
	as an unsigned byte to an integer in the range 0..255
	* native/jni/java-net/javanet.c (_javanet_get_option): 
	implement ..._get(SOCKOPT_SO_BINDADDR) -> 'getsockname' syscall
	* native/jni/java-net/javanet.c (_javanet_set_option):
	implement ..._set(SOCKOPT_SO_BINDADDR) -> Exception

	
2003-03-20  Raif S. Naffah  <raif@fl.net.au>

	* java.security.Security (getAlgorithms(String): fixed a bug.

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.
	(getService): Added throws TooManyListenersException;

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): 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-16  Tom Tromey  <tromey@redhat.com>

	* java/lang/Process.java (waitFor): Fixed typo.

2003-03-15  Jeroen Frijters  <jeroen@sumatra.nl>

	* vm/reference/java/lang/VMClassLoader.java (loadClass): Changed
	documentation to make clear null can be returned to signal that the
	class wasn't found.
	* java/lang/ClassLoader.java (loadClass(String,boolean)): Added check
	for null return value from VMClassLoader.loadClass.
	* vm/reference/java/lang/Class.java
	(forName(String,boolean,ClassLoader)): Likewise. 
	* NEWS: Add note about VM interface changes.

2003-03-15  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileOutputStream - Fix 1.4 compatibility issue
	(FileOutputStream(File, boolean)): new constructor
	* java/io/FileWriter - Fix 1.4 compatibility issue
	(FileWriter(File, boolean)): new constructor
	* java/io/PrintStream - Fix 1.4 compatibility issue
	(PrintStream(OutputStream, boolean, String)): new constructor

2003-03-15  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/RandomAccessFile - Fix 1.4 compatibility problems
	(RandomAccessFile(File, String)) - Delete implementation, call
	RandomAccessFile(String, String), throw FileNotFound instead of IOExcep
	(RandomAccessFile(String, String) - Add implementation copied from
	other constructor, make throw FileNotFound instead of IOException

2003-03-15  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileDescriptor - Make native signatures match Java, misc fixs
	(FileDescriptor(long)): Change parm from int
	(close): Synchronize, ensure consistency via try/catch loop
	(nativeWriteByte): Change byte from long to int
	(write): Change offset, len to int
	(nativeWriteBuf): Change offset, len to int
	(read): Expect byte from nativeReadByte
	(nativeReadByte): Return int
	(read(byte[],int, int): Expect int return from nativeReadBuf
	(nativeReadBuf): offset, len to int
	(available): Expect int from nativeAvailable
	(nativeAvailable): Return int
	* native/jni/java-io/FileDescriptor.c
	Change function signatures to match Java signatures
	(nativeWriteByte): Byte to write to int
	(nativeWriteBuf): offset, len to int
	(nativeReadByte): return int
	(nativeReadBuf): offset, len to int, return int
	(nativeAvailable): return int
	
2003-03-14  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextServicesSupport.java
	(getService): Compile fix.
	* java/beans/beancontext/BeanContextServicesSupport.java:
	Forgot to add sooner.

2003-03-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-14  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java:
	Partly merged with libgcj.
	* java/net/JarURLConnection.java:
	Partly merged with libgcj.
	* java/net/PlainSocketImpl.java:
	Partly merged with libgcj.

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

	* java/beans/beancontext/BeanContextServicesSupport.java,
	java/beans/beancontext/BeanContextServicesSupport.java: New files.
	* java/beans/beancontext/Makefile.am
	(EXTRA_DIST): Added new files.

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

	* gnu/java/nio/SelectionKeyImpl.java:
	Merged with libgcj.
	* gnu/java/nio/SelectorProviderImpl.java:
	Merged with libgcj.
	* gnu/java/nio/ServerSocketChannelImpl.java:
	Partly merged with libgcj.
	* gnu/java/nio/SocketChannelImpl.java:
	Merged with libgcj.

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

	* gnu/java/nio/CharBufferImpl.java:
	Merged with libgcj.
	* gnu/java/nio/DatagramChannelImpl.java:
	Merged with libgcj.
	* gnu/java/nio/MappedByteFileBuffer.java:
	Partly merged with libgcj.

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

	* java/util/logging/FileHandler.java (FileHandler(String)): New
	constructor.
	* java/util/logging/LogRecord.java (serialVersionUID): Use
	correct value.

2003-03-12  Tom Tromey  <tromey@redhat.com>

	* java/security/Signer.java: Removed non-ASCII characters.
	* java/security/Signature.java: Removed non-ASCII characters.
	* java/security/Security.java: Removed non-ASCII characters.
	* java/security/Policy.java (getCurrentPolicy): Typo fix.
	(isLoaded): Removed non-ASCII character.

2003-03-12  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Level.java (OFF, SEVERE, WARNING, INFO, CONFIG,
	FINE, FINER, FINEST, ALL): Added Javadoc.

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

	* java/net/JarURLConnection.java: Reformated, no code changes.
	* java/net/MulticastSocket.java: Fixed some @see tags for javadoc.
	* java/net/PlainDatagramSocketImpl.java: Reformated, no code changes.
	* java/net/Socket.java:  Fixed some @see tags for javadoc.
	* java/net/URLConnection.java: Reformated, no code changes.

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

	* java/net/InetAddress.java
	(InetAddress): Constructors must be package-private, not public.

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

	* java/net/InetAddress.java: Reformated, no code changes.

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

	* gnu/java/nio/FileLockImpl.java: New file.
	* gnu/java/nio/Makefile.am
	(EXTRA_DIST): Added FileLockImpl.java.

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

	* 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/MappedByteFileBuffer.java,
	gnu/java/nio/MappedCharFileBuffer.java,
	gnu/java/nio/MappedDoubleFileBuffer.java,
	gnu/java/nio/MappedFloatFileBuffer.java,
	gnu/java/nio/MappedIntFileBuffer.java,
	gnu/java/nio/MappedLongFileBuffer.java,
	gnu/java/nio/MappedShortFileBuffer.java,
	gnu/java/nio/ShortBufferImpl.java,
	java/nio/Buffer.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/MappedByteBuffer.java,
	java/nio/ShortBuffer.java:
	More merges with libgcj. Some little changes needed to make jikes
	happy.

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

	* 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/MappedDoubleFileBuffer.java,
	gnu/java/nio/MappedFloatFileBuffer.java,
	gnu/java/nio/MappedIntFileBuffer.java,
	gnu/java/nio/MappedLongFileBuffer.java,
	gnu/java/nio/MappedShortFileBuffer.java,
	gnu/java/nio/ShortBufferImpl.java,
	java/nio/ByteBuffer.java,
	java/nio/ByteOrder.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/MappedByteBuffer.java,
	java/nio/ShortBuffer.java:
	Partly merged java.nio from libgcj.
	
2003-03-10  Tom Tromey  <tromey@redhat.com>

	* java/security/Signer.java: Removed non-ASCII character.
	* java/security/Signature.java (setParameter): Removed non-ASCII
	character.
	* java/security/Security.java (getAlgorithms): Removed non-ASCII
	characters.
	* java/security/ProtectionDomain.java (implies): Removed non-ASCII
	character.
	* java/security/Policy.java (isLoaded): Removed non-ASCII
	character.

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  Aaron M. Renn (arenn@urbanophile.com)

	* native/jni/java-io/FileDescriptor.c
	(nativeOpen) Apply code from patch #1239 specifying mode bits in open()

2003-03-09  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/LineNumberReader.java
	Merge with gcj by replacing all methods with the versions from
	gcj with the exception of skip() This file is in essence
	completely new except for the Javadoc comments, which are carried
	over from Classpath

2003-03-09  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/BufferedReader.java
	* java/io/BufferedWriter.java
	* java/io/ByteArrayOutputStream.java
	* java/io/FileReader.java
	* java/io/PipedInputStream.java
	* java/io/PipedReader.java
	* java/io/PrintWriter.java
	* java/io/PushbackReader.java
	* java/io/Reader.java
	* java/io/StringReader.java
	Fix word wrapped comments, minor comment corrections.
	* java/io/BufferedOutputStream.java
	* java/io/DataInput.java
	* java/io/DataOutput.java
	* java/io/Externalizable.java
	* java/io/FileFilter.java
	* java/io/FilePermission.java (extensive)
	* 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/InputStreamReader.java
	* java/io/ObjectInput.java
	* java/io/ObjectInputValidation.java
	* java/io/ObjectOutput.java
	* java/io/ObjectStreamField.java
	* java/io/OutputStreamWriter.java
	* java/io/SerializablePermission.java
	* java/io/Writer.java
	Re-indent code, fix word wrapped comments.

2003-03-09  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/FileOutputStream.java
	(FileOutputStream(String,boolean)) Open write only
	* java/io/FileDescriptor.java
	(open) Support new open modes "w" & "a", change "ra" to "rwa"
	* java/io/RandomAccessFile.java
	(RandomAccessFile(String,String)) Always do checkRead on open
	* native/jni/java-io/FileDescriptor.c
	(nativeOpen) Support new open modes "w" "a", change "ra" to "rwa"

2003-03-09  Raif S. Naffah  <raif@fl.net.au>

	* java.security.AlgorithmParameterGenerator.java
	(getInstance(String)): use new getInstance(String, Provider).
	(getInstance(String, String)): ditto.
	(getInstance(String, Provider)): new method.
	* java.security.AlgorithmParameters.java
	(getInstance(String)): use new getInstance(String, Provider).
	(getInstance(String, String)): ditto.
	(getInstance(String, Provider)): new method.
	* java.security.IdentityScope.java: added SVUID.
	* java.security.KeyFactory.java
	(getInstance(String)): use new getInstance(String, Provider).
	(getInstance(String, String)): ditto.
	(getInstance(String, Provider)): new method.
	* java.security.KeyPairGenerator.java 
	(getInstance(String, Provider)): made it public and documented it.
	* java.security.MessageDigest.java
	(getInstance(String, Provider)): made it public and documented it.
	* java.security.Policy.java
	(pd2pc): new field.
	(setPolicy()): ensure instance is loaded.
	(setup(Policy)): new method.
	(getCurrentPolicy()): new package-private method; contains code
	previously in static initialiser.
	(isLoaded()): new method.
	(getPermissions(ProtectionDomain)): new method.
	(implies(ProtectionDomain, Permission)): new method.
	* java.security.ProtectionDomain.java
	(classloader, principals, staticBinding): new fields.
	(<ctor>(CodeSource, PermissionCollection)): use new ctor.
	(<ctor>(CodeSource, PermissionCollection, ClassLoader, Principal[])):
	new ctor.
	(getClassLoader(), getPrincipals(), implies(Permission)): new methods.
	(toString()): added representation of new fields.
	* java.security.Security.java
	(getAlgorithmProperty(String, String)): added implementation.
	(getAlgorithms(String), getProviders(String), getProviders(Map)): new
	public methods.
	(selectProviders(...), provides(...)): new private methods.
	* java.security.Signature.java
	(getInstance(String, Provider)): made it public and documented it.
	(verify(byte[], int, int), getParameters()): new methods.
	* java.security.SignatureSpi.java
	(engineVerify(byte[], int, int), engineGetParameters()): new methods.
	* java.security.SignedObject.java
	(getObject()): ensure streams are closed before return.
	(getSignature()): return a clone.
	(readObject(ObjectInputStream)): new method.
	* java.security.Signer.java: added SVUID.
	* java.security.interfaces.RSAMultiPrimePrivateCrtKey.java: new file
	* java.security.spec.PSSParameterSpec.java: new file
	* java.security.spec.RSAMultiPrimePrivateCrtKeySpec.java: new file
	* java.security.spec.RSAOtherPrimeInfo.java: new file
	* java/security/interfaces/Makefile.am: added RSAMultiPrimePrivateCrtKey.java.
	* java/security/spec/Makefile.am: added PSSParameterSpec.java,
	RSAMultiPrimePrivateCrtKeySpec.java, RSAOtherPrimeInfo.java.

2003-03-09  Raif S. Naffah  <raif@fl.net.au>

	* java.security.AlgorithmParameterGenerator.java: formatting +
	documentation

2003-03-08  Raif S. Naffah  <raif@fl.net.au>

	* java.security.AlgorithmParameters.java: formatting + documentation
	* java.security.Identity.java: formatting + documentation
	* java.security.IdentityScope.java: formatting + documentation
	* java.security.KeyFactory.java: formatting + documentation
	* java.security.KeyPairGenerator.java: formatting + documentation
	* java.security.MessageDigest.java: formatting + documentation
	* java.security.Policy.java: formatting + documentation
	* java.security.ProtectionDomain.java: formatting + documentation
	* java.security.Security.java: formatting + documentation
	* java.security.Signature.java: formatting + documentation
	* java.security.SignatureSpi.java: formatting + documentation
	* java.security.SignedObject.java: formatting + documentation
	* java.security.Signer.java: formatting + documentation

2003-03-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (initialized): New global.
	(ClassLoader): Set it.
	(defineClass): Throw security exception if class not initialized.

2003-03-06  C. Brian Jones  <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: link to Jikes RVM instructions
	* doc/www.gnu.org/docs/jikesrvm.wml: new file

2003-03-05  Aaron M. Renn  <arenn@urbanophile.com>

	* java/io/LineNumberReader.java
	Re-indent code, fix word-wrapped comments
	* java/io/PrintStream.java
	Re-indent code, fix word-wrapped comments

2003-03-04  Aaron M. Renn  <arenn@urbanophile.com>

	* Converted file based I/O mechanisms in java.io to new 
	native provider interface.
	* java/io/FileDescriptor.java
	Re-indent code and fix word-wrapped comments.
	native_fd Rename instance variable to nativeFd
	Commence primary ignition....
	getFileDescriptor(int)
	Diked out.
	(setNativeFD) Rename to setNativeFd, make private
	(getNativeFD) Rename to getNativeFd
	(syncInternal) Rename to nativeSync(long)
	(validInternal) Rename to nativeValid (long)
	New instance methods added:
	open(String, String)
	close()
	write(byte)
	write(byte[], long, long)
	read()
	read(byte[], long, long)
	available()
	seek()
	getFilePointer()
	getLength()
	setLength()
	nativeOpen()
	nativeClose()
	nativeWriteByte()
	nativeWriteBuf()
	nativeReadByte()
	nativeReadBuf()
	nativeAvailable()
	nativeSeek()
	nativeGetFilePointer()
	nativeGetLength()
	nativeSetLength()
	Added new static methods
	nativeInit()
	* java/io/FileInputStream.java
	Re-ident code and fix word-wrapped comments.
	native_fd - Convert from int to FileDescriptor, rename fd
	FileInputStream(String) - Use string directly, don't convert to File
	and call overloaded constructor
	FileInputStream(File) - Call getPath, then invoke overloaded 
	constructor
	(getFD) - Just return fd
	(available) - Just call fd.available()
	(skip) - Convert to use fd.seek()
	(read) - Use fd.read()
	(read(byte[])) - Use fd.read(byte[], long, long)
	(close) - Use fd.close()
	(getChannel) - Use fd.getNativeFd()
	Commence primary ignition....
	grand_total_read instance variable
	skipInternal
	readInternal
	open
	closeInternal
	finalize
	static initializer block
	Diked out.
	* java/io/FileOutputStream.java
	native_fd - Convert to FileDescriptor and rename fd
	(getFD) - Just return fd
	(write) - Use fd.write()
	(write(byte[], long, long) - Use fd.write(byte[], long, long)
	(close) - Use fd.close()
	(getChannel) - Use fd.getNativeFd()
	Commence primary ignition....
	writeInternal
	open
	closeInternal
	finalize
	static initializer block
	Diked out.
	* java/io/RandomAccessFile.java
	native_fd - Convert to FileDescriptor and rename fd
	(RandomAccessFile(File, String)) - Add modes "rws" and "rwd"
	(getFD) - Just return fd
	(getFilePointer) - Use fd.getFilePointer()
	(length) - Use fd.length()
	(seek) - Use fd.seek()
	(setLength) - Use fd.setLength()
	(read) - Use fd.read()
	(write) - Use fd.write()
	(skipBytes) - Use fd.getFilePointer() and fd.seek()
	(getChannel) - Use fd.getNativeFd()
	Commence primary ignition ....
	closeInternal
	getFilePointerInternal
	lengthInternal
	seekInternal
	setLengthInternal
	readInternal
	skipInternal
	writeInternal
	static initializer block
	Diked Out.
	* native/jni/java-io/FileDescriptor.c
	New C module implementing all native methods from FileDescriptor
	* native/jni/java-io/Makefile.am
	Use new FileDescriptor.c instead of old modules
	* native/jni/java-io/java_io_FileDescriptor.c
	No longer used
	* native/jni/java-io/java_io_FileInputStream.c
	No longer used
	* native/jni/java-io/java_io_FileOutputStream.c
	No longer used
	* native/jni/java-io/java_io_RandomAccessFile.c
	No longer used.
	
2003-03-04  Michael Koch  <konqueror@gmx.de>

	* include/java_net_NetworkInterface.h: New file.
	* java/net/NetworkInterface.java: Merged with libgcj.
	* native/jni/java-net/java_net_NetworkInterface.c: New file.
	* native/jni/java-net/Makefile.am
	(libjavanet_la_SOURCES): Added java_net_NetworkInterface.c.

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

	* java/net/Socket.java
	(setSoTimeout): Clarify documentation.

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

	* java/nio/channels/Channels.java:
	Merged from libgcj.
	* java/nio/channels/FileChannel.java:
	Merged from libgcj.

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

	* java/nio/channels/DatagramChannel.java:
	Merged from libgcj.
	* java/nio/channels/spi/SelectorProvider.java:
	Merged from libgcj.
	* java/nio/charset/Charset.java:
	Merged from libgcj.
	* java/nio/charset/CharsetEncoder.java:
	Merged from libgcj.
	* java/nio/charset/IllegalCharsetNameException.java:
	Merged from libgcj.
	* java/nio/charset/UnsupportedCharsetExeption.java:
	Merged from libgcj.

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

	* java/net/URLStreamHandler.java:
	Merged Win32 fixes from libgcj.

2003-03-02  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/File.java
	Re-indent code and eliminate word wrapped comments

2003-03-02  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataInputStream.java
	Fix word wrapped comments
	Commence primary ignition...
	(convertToBoolean)
	(convertToByte)
	(convertToUnsignedInt)
	(convertToChar)
	(convertToShort)
	(convertToUnsignedShort)
	(convertToInt)
	(convertToLong)
	Diked out.
	Elimate call to convert methods above and inline functionality in:
	(readBoolean)
	(readByte)
	(readChar) + synchronized
	(readInt) + synchronized
	(readLong) + synchronized
	(readShort) + synchronized
	(readUnsignedByte)
	* java/io/DataOutputStream.java
	Re-indented code and fixed word wrapped comments
	Commence primary ignition...
	(convertFromBoolean)
	(convertFromChar)
	(getConvertedStringChars)
	(convertFromShort)
	(convertFromInt)
	(convertFromLong)
	Diked out.
	(buf) Added new instance variable
	Elimate call to convert methods above and inline functionality in:
	(writeChar) + synchronized 
	(writeShort) + synchronized
	(writeInt) + synchronized
	(writeLong) + synchronized
	* java/io/RandomAccessFile.java
	Re-indented code and fixed word wrapped comments
	(buf) Added new instance variable
	Eliminate call to convert methods and inline functionality in:
	(readByte)
	(readUnsignedByte)
	(readChar)
	(readShort)
	(readUnsignedShort)
	(readInt)
	(readLong)
	(writeBoolean)
	(writeChar)
	(writeShort)
	(writeInt)
	(writeLong)

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/lang/Package.java: Little merge with libgcj.

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

	* java/net/DatagramSocket.java
	(connected): Removed.
	(closed): New member variable.
	(DatagramSocket): New constructor.
	(close): Reset member variables on close.
	(connect): Dont declare to throw exceptions.
	(receive): Added exception checks and documentation.
	(send): Merge implementation from libgcj.
	(isClosed): New method.

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>

	* java/awt/dnd/DropTargetContext.java:
	Compile fix: Forgot to commit import.

2003-03-01  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectInputStream.java: Reindent and remove dead and/or
	commented out code.
	* java/io/ObjectOutputStream.java: Likewise.

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

	* java/rmi/registry/RegistryHandler.java: Deprecate.

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

	* java/beans/Beans.java,
	java/beans/FeatureDescriptor.java
	java/beans/PropertyEditorManager.java:
	Reformated to GNU style.
	* javax/accessibility/AccessibleContext.java
	(ACCESSIBLE_DESCRIPTION_PROPERTY): Fixed typo.

2003-02-27  C. Brian Jones  <cbj@gnu.org>

	* java/lang/Math.java
	(min(float,float)): check Float.isNaN(a) and return a
	(max(float,float)): ditto 
	(round(float)): ditto
	(min(double,double)): check Double.isNaN(a) and return a
	(max(double,double)): ditto
	(round(double)): ditto
	(toRadians): multiply before dividing to reduce decimal error
	(toDegrees): ditto

2003-02-25  C. Brian Jones  <cbj@gnu.org>

	* java/awt/dnd/peer/DragSourceContextPeer.java
	(startDrag): mark public; throws InvalidDnDOperationException
	(setCursor): ditto
	(transferablesFlavorsChanges: mark public
	(getCursor): mark public
	* java/awt/dnd/peer/DropTargetPeer.java: new file
	* java/awt/dnd/peer/DropTargetContextPeer.java:
	(setTargetActions): added method
	(getTargetActions): ditto
	(getDropTarget): ditto
	(getTransferDataFlavors): ditto
	(getTransferable): ditto
	(isTransferableJVMLocal): ditto
	(acceptDrag): ditto
	(rejectDrag): ditto
	(acceptDrop): ditto
	(rejectDrop): ditto
	(dropComplete): ditto
	* java/awt/peer/ButtonPeer.java: reformatted
	* java/awt/peer/CheckboxMenuItemPeer.java: reformatted
	(setState): remove unneeded abstract keyword
	* java/awt/peer/CheckboxPeer.java: reformatted
	* java/awt/peer/ChoicePeer.java: reformatted
	(removeAll): added method
	* java/awt/peer/ComponentPeer.java:
	(isFocusable): added method
	(requestFocus): ditto
	(getGraphicsConfiguration): mark public 
	(isObscured): added method
	(canDetermineObscurity): ditto
	(coalescePaintEvent): ditto
	(updateCursorImmediately): ditto
	(createVolatileImage): ditto
	(handlesWheelScrolling): ditto
	(createBuffers): ditto
	(getBackBuffer): ditto
	(flip): ditto
	(destroyBuffers): ditto
	* java/awt/peer/ContainerPeer.java
	(insets): remove unneeded abstract keyword
	(getInsets): ditto
	(beginValidate): ditto
	(endValidate): ditto
	(beginLayout): added method
	(endLayout): ditto
	(isPaintPending): ditto
	* java/awt/peer/DialogPeer.java: reformatted
	(setResizable): remove unneeded abstract keyword
	(setTitle): ditto
	* java/awt/peer/FileDialogPeer.java: reformatted
	(setFile): remove unneeded abstract keyword
	(setDirectory): ditto
	(setFilenameFilter): ditto
	* java/awt/peer/FramePeer.java: reformatted
	(setIconImage): remove unneeded abstract keyword
	(setMenuBar): ditto
	(setResizable): ditto
	(setTitle): ditto
	(getState): added method
	(setState): ditto
	(setMaximizedBounds): ditto
	* java/awt/peer/LabelPeer.java: reformatted
	* java/awt/peer/ListPeer.java: reformatted
	(add): remove unneeded abstract keyword
	(addItem): ditto
	(clear): ditto
	(delItems): ditto
	(deselect): ditto
	(getSelectedIndexes): ditto
	(makeVisible): ditto
	(minimumSize): ditto
	(preferredSize): ditto
	(removeAll): ditto
	(select): ditto
	(setMultipleMode): ditto
	(setMultipleSelections): ditto
	(getPreferredSize): added method
	(getMinimumSize): ditto
	* java/awt/peer/MenuBarPeer.java: reformatted
	* java/awt/peer/MenuComponentPeer.java: reformatted
	(dispose): remove unneeded abstract keyword
	* java/awt/peer/MenuItemPeer.java: reformatted
	* java/awt/peer/MenuPeer.java
	(addItem): remove unneeded abstract keyword
	(addSeparator): ditto
	(delItem): ditto
	* java/awt/peer/PopupMenuPeer.java: 
	(show)(Component, int, int): remove unneeded abstract keyword
	(show(Event)): added method
	* java/awt/peer/RobotPeer.java: new file
	* java/awt/peer/ScrollbarPeer.java: reformatted
	* java/awt/peer/ScrollPanePeer.java: reformmatted
	(getHScrollbarHeight): remove unneeded abstract keyword
	(getVScrollbarWidth): ditto
	(setScrollPosition): ditto
	(childResized): ditto
	(setUnitIncrement): ditto
	(setValue): ditto
	* java/awt/peer/TextAreaPeer.java: reformatted
	(insert): remove unneeded abstract keyword
	(insertText): ditto
	(minimumSize): ditto
	(getMinimumSize): ditto
	(preferredSize): ditto
	(getPreferredSize): ditto
	(replaceRange): ditto
	(replaceText): ditto
	* java/awt/peer/TextComponentPeer.java: reformatted
	(getSelectionEnd): remove unneeded abstract keyword
	(getSelectionStart): ditto
	(getText): ditto
	(setText): ditto
	(select): ditto
	(setEditable): ditto
	(getCaretPosition): ditto
	(setCaretPosition): ditto
	(getIndexAtPoint): added method
	(getCharacterBounds): ditto
	(filterEvents): ditto
	* java/awt/peer/TextFieldPeer.java: reformatted
	(minimumSize): remove unneeded abstract keyword
	(preferredSize): ditto
	(getMinimumSize): ditto
	(getPreferredSize): ditto
	(setEchoChar): ditto
	(setEchoCharacter): ditto
	* java/awt/peer/WindowPeer.java: reformatted
	(toBack): remove unneeded abstract keyword
	(toFront): ditto
	* gnu/java/awt/GLightweightPeer.java 
	(isFocusable): added method
	(requestFocus): ditto
	(isObscured): ditto
	(canDetermineObscurity): ditto
	(coalescePaintEvent): ditto
	(updateCursorImmediately): ditto
	(createVolatileImage): ditto
	(handlesWheelScrolling): ditto
	(createBuffers): ditto
	(getBackBuffer): ditto
	(flip): ditto
	(destroyBuffers): ditto
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(isFocusable): added method
	(requestFocus): ditto
	(isObscured): ditto
	(canDetermineObscurity): ditto
	(coalescePaintEvent): ditto
	(updateCursorImmediately): ditto
	(createVolatileImage): ditto
	(handlesWheelScrolling): ditto
	(createBuffers): ditto
	(getBackBuffer): ditto
	(flip): ditto
	(destroyBuffers): ditto
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java
	(removeAll): new method
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(beginLayout): added method
	(endLayout): ditto
	(isPaintPending): ditto
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(setState): added method
	(getState): ditto
	(setMaximizedBounds): ditto
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
	(show): added method
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(getIndexAtPoint): added method
	(getCharacterBounds): ditto
	(filterEvents): ditto
	* doc/www.gnu.org/Makefile: fix wml invocation
	* doc/www.gnu.org/home.wml: fix link to japitools, link to providers
	of core packages not yet part of Classpath
	* doc/www.gnu.org/announce/Makefile: fix wml invocation
	* doc/www.gnu.org/docs/Makefile: fix wml invocation

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

	* java/io/ByteArrayOutputStream.java (toString(int)): Fixed typo
	in @deprecated.

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  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPaneAdjustable.java: Reformated.

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

	* java/awt/Graphics2D.java
	(getFontRenderContext): New abstract method.
	(drawGlyphVector): New abstract method.
	
2003-02-21  Tom Tromey  <tromey@redhat.com>

	* vm/reference/java/lang/Runtime.java: Reverted previous patch.

2003-02-21  Anthony Green  <green@redhat.com>

	* vm/reference/java/lang/Runtime.java (getLocalizedInputStream):
	Deprecate.
	(getLocalizedOutputStream): Ditto.

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

	* java/util/prefs/AbstractPreferences.java (isUserNode):
	Implemented.

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

	* java/util/zip/ZipFile.java (finalize): New method.

2003-02-18  Hans Boehm  <Hans.Boehm@hp.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	native/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.

	* native/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.

	* native/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  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-17  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Return array of
	`BigInteger's.  Changed all callers.

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

	* java/net/DatagramSocket.java:
	Merged some comments with libgcj.
	(connect): Merged with libgcj.
	(send): Merged FIXME comment with libgcj.
	(getLocalSocketAddress): Fixed return argument.

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

	* java/awt/font/Makefile.am: Added new 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
	
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>

	* javax/swing/undo/UndoableEditSupport.java (UndoableEditSupport):
	Removed `TODO'.
	(addUndoableEditListener, removeUndoableEditListener): Wrote.
	(getUndoableEditListeners): New method.
	(getUpdateLevel): Implemented.
	(createCompoundEdit): Likewise.
	(_postEdit): Likewise.
	(beginUpdate): Likewise.
	(endUpdate): Likewise.
	(toString): Likewise.

	* javax/swing/undo/UndoableEditSupport.java: Reindented.

	* javax/swing/undo/StateEditable.java (RCSID): New field.

	* javax/swing/undo/StateEditable.java: Reindented.

2003-02-16  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-16  Tom Tromey  <tromey@redhat.com>

	* javax/swing/undo/AbstractUndoableEdit.java (toString):
	Implemented.

	* javax/swing/undo/StateEdit.java: Implemented.

	* javax/swing/undo/StateEdit.java: Reindented.

2003-02-16  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.

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

	* java/net/URLStreamHandler.java (toExternalForm): Fixed
	indentation.

2003-02-16  C. Brian Jones  <cbj@gnu.org>

	* doc/api/Makefile.am: remove non-public packages from output

2003-02-16  C. Brian Jones  <cbj@gnu.org>

	* NEWS: updated                                                         
	* configure.in: updated VERSION to 0.05                                 
	* doc/api/Makefile.am: updated for gjdoc 0.4.1
	* doc/api/xslt: directory removed; no longer needed      

2003-02-15  Julian Dolby  <dolby@us.ibm.com>

	* configure.in (portable-native-sync): new configure option allows
	user to configure native AWT peers to use Java threading primitives
	instead of pthread primitives.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): get JavaVM 
	reference before calling g_thread_init if using PORTABLE_NATIVE_SYNC
	* native/jni/gtk-peer/gthread-jni.c
	(maybe_rethrow): utility method checks for JNI exception and throws
	another exception (maybe it should clear the previous first?)
	(allocatePlainObject): new method used to create a mutex
	(freePlainObject): new method use to free a mutex
	(takeLock): new method
	(releaseLock): new method
	(g_mutex_new_jni_impl): uses allocatePlainObject instead
	(g_mutex_lock_jni_impl): uses takeLock instead
	(g_mutex_unlock_jni_impl): uses releaseLock instead
	(g_mutex_free_jni_impl): uses freePlainObject instead
	(g_private_new_jni_impl): implemented
	(g_private_get_jni_impl): implemented
	(g_private_set_jni_impl): implemented
	(g_cond_new_jni_impl): implemented; uses allocatePlainObject
	(g_cond_signal_jni_impl): implemented
	(g_cond_broadcast_jni_impl): implemented
	(g_cond_wait_jni_impl): implemented
	(g_cond_timed_wait_jni_impl): implemented
	(g_cond_free_jni_impl): implemented; uses freePlainObject
	* native/jni/gtk-peer/gthread-jni.h: extern JavaVM *gdk_vm

2003-02-15  C. Brian Jones  <cbj@gnu.org>

	* TODO: updated

2003-02-15  Julian Dolby  <dolby@us.ibm.com>

	* java/util/zip/InflaterInputStream.java (markSupported): added method
	(mark): added method
	(reset): added method

2003-02-15  C. Brian Jones  <cbj@gnu.org>

	* native/jni/java-net/java_net_PlainSocketImpl.c: do not need to 
	specifically test for AIX since the configure check for the header
	does what is needed.

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

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawString): New method.
	* java/awt/Graphics.java
	(drawString): New abstract method.
	
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  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  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedOutputStream.java (write(int)): Only flush when
	next byte cannot be buffered.

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>

	* java/util/prefs/NodeChangeEvent.java
	(serialVersionUID): New member variable (Merge back from libgcj).
	* java/util/prefs/PreferenceChangeEvent.java
	(serialVersionUID): New member variable (Merge back from libgcj).
	* java/util/prefs/PreferenceChangeListener.java
	(preferenceChange): Renamed from PreferenceChange (Merge back from
	libgcj).

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  Casey Marshall  <rsdio@metastatic.org>

	PR libgcj/9271:
	* java/security/SecureRandom.java (next): Avoid bias in results.

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  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/io/File.java (File(String)): Only remove tail separators while
	path isn't the root directory.

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

	* java/util/zip/ZipInputStream.java (read): Fixed indentation.

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

	* javax/swing/undo/AbstractUndoableEdit.java (UndoName, RedoName):
	Now final.

	* javax/swing/undo/AbstractUndoableEdit.java: Reindented.

	* javax/sql/ConnectionEvent.java (serialVersionUID): New field.
	(ex): Renamed from sqlException.

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-09  C. Brian Jones  <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: add more links to projects/products using
	GNU Classpath.

2003-02-09  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-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-06  Mark Wielaard <mark@klomp.org>

	* java/io/ObjectOutputStream.java (defaultProtocolVersion): Now
	defaults to PROTOCOL_VERSION_2

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

	* java/util/jar/JarFile.java: Reindent.

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  John Leuner  <jewel@debian.org>

	* java/util/zip/InflaterInputStream.java: fix problem with 0-length 
	reads from end of file
	* java/util/zip/ZipInputStream.java: idem
	* java/util/jar/JarFile.java: read manifest

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

	* doc/www.gnu.org/home.wml: add Jikes RVM to list of JVMs; update
	ORP information.

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

	* configure.in: updated VERSION to 0.05-beta1
	* doc/hacking.texinfo: updated with new sections, modifications

2003-02-01  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
	tests; see patch #1016 on Savannah.

2003-02-01  C. Brian Jones  <cbj@gnu.org>

	* Makefile.am: fix copy of external/jaxp to $(distdir)

2003-02-01  C. Brian Jones  <cbj@gnu.org>

	* external/README: new file
	* external/jaxp: import Classpathx JAXP from January 31, 2003 CVS
	* LICENSE: new file
	* Makefile.am: distribute LICENSE, external/jaxp/source
	* lib/Makefile.am: add external/jaxp/source to classpath; removed
	-target 1.1 from jikes invocation
	* lib/gen-classlist.sh.in: add external/jaxp/source to directories 
	to search
	* doc/api/Makefile.am: add external/jaxp/source to source path

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java (static): Use
	INIT_LOAD_LIBRARY.

2003-01-31  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Properties.java (load): Ignore backslash before EOF.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c:
	Include GdkFontMetrics.h, not GdkGraphics.h.

2003-01-30  C. Brian Jones  <cbj@gnu.org>

	* java/net/SocketImpl.java (localport): set to -1 by default
	* native/jni/java-net/javanet.h (SOCKOPT_SO_KEEPALIVE): new #define
	* native/jni/java-net/javanet.c (_javanet_set_option): case SO_KEEPALIVE
	(_javanet_get_option): case SO_KEEPALIVE

2003-01-30  C. Brian Jones  <cbj@gnu.org>

	* native/jni/java-net/javanet.c (_javanet_bind): following gcj's 
	example and setting SO_REUSEADDR before binding the port, testing 
	with JDK seems to indicate it does this as well
	(_javanet_set_option): support SO_REUSEADDR; use JNI_TRUE/JNI_FALSE 
	instead of 1/0 where applicable.  Do not throw exception if setting
	SO_TIMEOUT fails; appears JDK does not throw exception and may be
	using alarm or setitimer (see `man 7 socket' on GNU/Linux)
	(_javanet_get_option): support SO_REUSEADDR; use JNI_TRUE/JNI_FALSE
	instead of 1/0 where applicable

2003-01-28  Oscar Pearce  <oscar@pearceenterprises.com>

	* java/awt/Component.java (processPaintEvent): Dispose of Graphics
	object when finished.

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

	* gnu/classpath/Configuration.java.in: Reverted change of
	2003-01-17.
	* java/awt/Toolkit.java: Likewise.

2003-01-25  C. Brian Jones  <cbj@gnu.org>

	* java/text/CollationElementIterator.java (secondaryOrder): return 
	value is supposed to be a short instead of an int; merged with gcj
	(tertiaryOrder): ditto
	(primaryOrder): merged with gcj

2003-01-25  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-01-25  C. Brian Jones  <cbj@gnu.org>

	* NEWS: note jni.h updates and patches
	* include/jni.h.in (AttachCurrentThreadAsDaemon): new function

2003-01-25  Stephen Crawley  <crawley@dstc.edu.au>

	* include/jni.h.in (JNI_VERSION_1_4): new define
	(NewDirectByteBuffer): new function
	(GetDirectBufferAddress): new function
	(GetDirectBufferCapacity): new function
	(_JNI_VM_INTERNAL_TYPES_DEFINED): if defined, do not use default
	declarations for jobject, jfieldID, and jmethodID

2003-01-24  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
	ObjectStreamExceptions.

2003-01-19  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectOutputStream.java (writeObject): Reformat.
	(annotateClass): Likewise.
	(annotateProxyClass): Likewise.
	(write): Likewise.
	* (callWriteMethod): No longer native.
	* (getBooleanField): Likewise.
	* (getByte): Likewise.
	* (getCharField): Likewise.
	* (getDoubleField): Likewise.
	* (getFloatField): Likewise.
	* (getIntField): Likewise.
	* (getLongField): Likewise.
	* (getShortField): Likewise.
	* (getObjectField): Likewise.
	* native/jni/java-io/java_io_ObjectOutputStream.c: Removed.
	* native/jni/java-io/Makefile.am (libjavaio_la_SOURCES): Remove
	java_io_ObjectOutputStream.c.

2003-01-19  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectInputStream.java (ObjectInputStream): Set dump flag
	according to System property.
	(resolveObject): Moved to allign with libgcj version.
	(read): Make sure result is positive.
	(getField): New method.
	(getMethod): Likewise.
	(callReadMethod): No longer native.
	(setBooleanField): Likewise.
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.
	(setDump): Removed.
	* native/jni/java-io/java_io_ObjectInputStream.c (callReadMethod):
	removed.
	(setBooleanField): removed.
	(setByteField): removed.
	(setCharField): Removed.
	(setDoubleField): Removed.
	(setFloatField): Removed.
	(setIntField): Removed.
	(setLongField): Removed.
	(setShortField): Removed.
	(setObjectField): Removed.
	* include/java_io_ObjectInputStream.h: Regenerated.

2003-01-18  Archie Cobbs <archie@dellroad.org>

	* gnu/java/io/encode/EncoderUTF8.java (bytesInCharArray): Use offset.
	(convertToBytes): Likewise.

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

	* java/awt/Toolkit.java (default_toolkit_name): Use AWT_TOOLKIT.
	* gnu/classpath/Configuration.java.in (AWT_TOOLKIT): New
	constant.

2003-01-17  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-17  Mark Wielaard  <mark@klomp.org>

	* java/lang/ClassLoader.java (normalize): Removed.
	(getResource): Don't call normalize.
	(getResources): Likewise.

2003-01-17  Mark Wielaard  <mark@klomp.org>

	* NEWS: Describe java.io.(VM)ObjectStreamClass.
	* configure.in (AC_OUTPUT): Add vm/reference/java/io/Makefile.
	* include/java_io_VMObjectOutputStream.h: New pregenerated header file.
	* java/io/ObjectStreamClass.java (getClassUID): Call
	VMObjectStreamClass.hasClassInitializer().
	(hasClassInitializer): Removed.
	* native/jni/java-io/Makefile.am (libjavaio_la_SOURCES): Add
	java_io_ObjectStreamClass.c
	* native/jni/java-io/java_io_ObjectStreamClass.c: New file.
	* vm/reference/java/Makefile.am (SUBDIRS): Add io.
	* vm/reference/java/io/.cvsignore: New file.
	* vm/reference/java/io/Makefile.am: New file.
	* vm/reference/java/io/VMObjectStreamClass.java: New class.

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

	* java/awt/image/ColorModel.java (ColorModel): Call getNumComponents().
	* java/awt/image/ImageFilter.java (getFilterInstance): Calling clone()
	doesn't throw exception.

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

	* java/net/SocketImpl.java (toString): Don't explicitly call
	toString() on possible null address.

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

	* java/net/MulticastSocket.java
	(setInterface): Merged with libgcj, reindented.
	
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  Tom Tromey  <tromey@redhat.com>

	* doc/api/Makefile.am (install-data-local): Avoid error when
	htmllist is empty.
	(uninstall-local): Likewise.

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

	* java/awt/DisplayMode.java
	(equals): Fixed argument type and implementation.

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

	* java/util/ResourceBundle.java (static): Fixed indentation.
	(getCallingClassLoader): Likewise.
	(getObject): Likewise.

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

	* java/net/Socket.java: add missing @since tags, most of patch
	from Sasha Brawer, includes a couple of javadoc typo fixes.

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

	* mkinstalldirs: updated to automake 1.6
	* missing: ditto
	* install-sh: ditto
	* config.sub: ditto
	* config.guess: ditto 
	* depcomp: ditto
	* doc/texinfo.tex: ditto
	* configure.in: check for headers sys/ioctl.h asm/ioctls.h
	* native/jni/java-net/java_net_PlainSocketImpl.c: include config.h,
	checks for HAVE_SYS_IOCTL_H and HAVE_ASM_IOCTL_H, exclude for _AIX
	asm/ioctls.h, parts of patch from Julian Dolby

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

	* native/fdlibm/fdlibm.h: define _XOPEN_SOURCE for AIX
	* native/fdlibm/ieeefp.h: defines for _POWER as well as __PPC__

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

	* java/io/ObjectOuputStream.java:
	Reformated, no code or documentation changes.

2003-01-05  C. Brian Jones  <cbj@gnu.org>

	* THANKYOU: fixed Weldon's email reference

2003-01-05  Julian Dolby  <dolby@us.ibm.com>
	* java/util/ResourceBundle.java (tryBundle): If an exception
	occurs, do not try to use the bundle.
	* (static): initialize static reference to loaded ResourceBundle and
	ResourceBundle$Security
	* (getCallingClassLoader): Use new static references

2003-01-03  Mark Wielaard  <mark@klomp.org>

	Merge with libgcj.
	* java/io/ObjectStreamClass.java (isProxyClass): Now a field.
	(setClass): Throws InvalidClassException.
	(setSuperclass): Use getClassUID if not a proxy Class.
	(setFields): Make sure to call setAccessible(true).
	(setUID): Renamed to...
	(getClassUID): Return the uid. Call setAccessible(true) for field.
	Fall back to Gnu provider SHA algorithm if necessary.
	(getDefinedSUID): Removed method.
	(hasClassInitializer): Don't throw NoSuchMethodError.
	(static): Removed.
	* java/io/ObjectOutputStream.java (writeObject): Use isProxyClass.

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-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-01  Tom Tromey  <tromey@redhat.com>

	* java/awt/Transparency.java: Don't mark fields as static or
	final.
	* java/awt/Scrollbar.java: Typo fix.
	* java/awt/BasicStroke.java: Typo fixes.
	* java/awt/Adjustable.java: Don't mark fields as static or final.

2002-12-31  Tom Tromey  <tromey@redhat.com>

	* java/util/logging/LogManager.java (readConfiguration): Remove
	extra `lib'.
	* javax/naming/InitialContext.java (init): Remove extra `lib'.

	* javax/naming/InitialContext.java (init): Use
	gnu.classpath.home.url.
	* java/util/logging/LogManager.java (readConfiguration): Use
	gnu.classpath.home.url.
	* java/security/Security.java: Use new properties.
	(loadProviders): Accept base url; use it.
	* java/lang/System.java: Document gnu.classpath.vm.shortname, and
	gnu.classpath.home.url.
	(gnu.classpath.home.url): Define.
	(gnu.classpath.vm.shortname): Likewise.

2002-12-28  Jeroen Frijters <jeroen@sumatra.nl>

	* gnu/java/net/protocol/file/Handler.java (parseURL): Make sure that
	host != null.

2002-12-27  Daryl Lee <dolee@sources.redhat.com>

	* java/io/RandomAccessFile.java: corrected skipBytes() to stop at EOF

2002-12-25  Daryl Lee <dolee@sources.redhat.com>

	* java/io/PipedOutputStream.java: corrected connect(); test to check if
	already connected was invalid.

2002-12-24  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties.java (formatForOutput): Don't fall 
	through to default case after escaping character.

2002-12-24  Mark Wielaard  <mark@klomp.org>

	* java/net/URLStreamHandler.java (toExternalForm): Ignore port
	if zero or smaller.

2002-12-24  Daryl Lee <dolee@sources.redhat.com>

	* java/io/PipedWriter.java: corrected connect(); test to check if
	already connected was invalid.

2002-12-24  C. Brian Jones  <cbj@gnu.org>

	* INSTALL: updated link to bugs, tool version numbers
	* TODO: removed easy HTML API generation todo item, it's done now;
	mention that CNI code won't be included in Classpath CVS for now
	since only gcj is using it
	* README: remove special mention of ORP
	* NEWS: add blurb about infrastructure improvements
	* HACKING: update automake, autoconf version numbers; remove
	mention of gcjh for compiling JNI libraries; updated gcj/jikes
	version numbers
	* lib/Makefile.am: distribute glibj.zip; uninstall no-zip case; 
	separate resources target; avoid extra gen-classlist.sh calls; 
	support DESTDIR
	* doc/api/Makefile.am: distribute HTML API documentation; install
	documentation in pkgdatadir/api; uninstall appropriately; support
	DESTDIR
	* resource/gnu/java/awt/peer/gtk/Makefile.am: add uninstall-local
	target; support DESTDIR
	* resource/java/security/Makefile.am: add uninstall-local target;
	support DESTDIR
	* javax/swing/Makefile.am: BoundedRangeModel missing .java extension
	* javax/transaction/xa/Makefile.am: Removed xa/ from filenames
	* java/awt/dnd/Makefile.am: added missing .java files to dist
	* java/net/Makefile.am: added missing .java files to dist
	* java/nio/channels/Makefile.am: added missing .java files to dist
	* javax/naming/Makefile.am: added missing .java files to dist
	* javax/naming/directory/Makefile.am: added missing .java files to dist
	* javax/naming/event/Makefile.am: new file
	* javax/naming/event/.cvsignore: new file
	* javax/naming/ldap/Makefile.am: new file
	* javax/naming/ldap/.cvsignore: new file
	* javax/naming/spi/Makefile.am: added missing .java files to dist
	* javax/sql/Makefile.am: added missing .java files to dist
	* javax/sql/.cvsignore: new file
	* javax/swing/plaf/Makefile.am: added missing .java files to dist
	* javax/swing/Makefile.am: added missing .java files to dist
	* Makefile.am: ignore errors during dist-hook
	* configure.in: add missing directory Makefiles to output; add
	check for 'date', 'cp', and 'mkdir'
	* acinclude.m4: remove check for 'find' and 'cp'

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

	* java/awt/Adjustable.java
	(HORIZONTAL): Made static final.
	(VERTICAL): Made static final.
	(NO_ORITENTATION): Made static final.
	* java/awt/AlphaComposite.java
	(getInstance): Documentation added.
	* java/awt/BasicStroke.java
	(BasicStroke): Documentation added, reformated code.
	* java/awt/CheckboxMenuItem.java
	(CheckboxMenuItem): Throw HeadlessException,
	added exception documentation.
	* java/awt/Choice.java
	(Choice): Throw exception, added documentation.
	(add): Throw NullPointerException instead of IllegalArgumentException,
	added some documentation.
	(addItem): Added some documentation.
	(insert): Throw exception, added documentation.
	* java/awt/Container.java:
	Made some documentation looking better.
	(getListeners): Added documentation.
	(setFocusTraversalKeys): Throw exception.
	(getFocusTraversalKeys): Throw exception.
	(areFocusTraversalKeys): Throw exception.
	* java/awt/Cursor.java
	(Cursor): Added documentation.
	(getSystemCustomCursor): Throw exception, added documentation.
	* java/awt/EventQueue.java
	(postEvent): Added documentation.
	(invodeAndWait): Added documentation.
	(push): Added documentation.
	(pop): Added documentation.
	(dispatchEvent): Added documentation.
	* java/awt/FileDialog.java
	(FileDialog): Call setMode() instead of code duplication,
	added documentation.
	(setMode): Added documentation.
	* java/awt/Label.java
	(Label): Throw exception, added documentation.
	* java/awt/List.java
	(List): Throw exception, added documentation.
	* java/awt/Menu.java
	(Menu): Throw exception, added documentation.
	* java/awt/MenuBar.java
	(MenuBar): Throw exception, added documentation.
	* java/awt/MenuComponent.java
	(MenuComponent): Throw exception, added documentation.
	* java/awt/PopupMenu.java
	(PopupMenu): Throw exception, added documentation.
	* java/awt/ScrollPane.java
	(ScrollPane): Throw exception, added documentation.
	* java/awt/Scrollbar.java
	(Scrollbar): Throw exception, added documentation.
	* java/awt/TextArea.java
	(TextArea): Throw exception, added documentation.
	* java/awt/TextField.java
	(TextField): Throw exception, added documentation.
	* java/awt/Transparency.java
	(OPAQUE): Made static final.
	(BITMASK): Made static final.
	(TRANSLUCENT): Made static final.
	* java/awt/color/CMMException.java:
	(CMMException): Extends RuntimeException not Exception.
	* java/awt/color/ColorSpace.java
	(ColorSpace): Implements Serializable.
	* java/awt/color/ICC_Profile.java
	(write): Throws IOException.
	* java/awt/color/ProfileDataException.java
	(ProfileDataException): Extends RuntimeException not Exception.
	* java/awt/datatransfer/Clipboard.java
	(getContents): Added documentation.
	(setContents): Added documentation.
	* java/awt/datatransfer/DataFlavor.java
	(DataFlavor): Added documentation.
	(isMimeTypeEqual): Added documentation.
	(clone): Added documentation.
	(readExternal): Added documentation.
	(writeExternal): Added documentation.
	* java/awt/datatransfer/SystemDataFlavor.java:
	Reintented, Reformated.	
	(SystemDataFlavor): Added implements FlavorTable.
	(getFalvorsForNative): New stubbed method.
	(getNativesForFlavor): New stubbed method.
	* java/awt/dnd/DragGestureEvent.java
	(startDrag): Added documentation.
	* java/awt/dnd/DragGestureRecognizer.java
	(addDragGestureListener): Added documentation.
	* java/awt/dnd/DragSource.java
	(DragSource): Throw exception, documentation added.
	(getDefaultDragSource): Added documentation.
	(startDrag): Added documentation.
	(createDragSourceContext): Added documentation.
	* java/awt/dnd/DropTarget.java
	(DropTarget): Implements DropTargetListener, EventListener,
	Serializable.
	(isActive): New member variable to save state.
	(setActive): Implemented.
	(isActive): Implemented.
	* java/awt/geom/PathIterator.java:
	Fixed two documentations to be HTML conform.
	
2002-12-23  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/RMIClassLoaderSpi.java:
	New abstract class.

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

	* java/lang/reflect/Proxy.java
	(h): This member was never final in any jdk release.
	* java/awt/Graphics2D.java
	(drawImage): Fixed Arguments.
	* java/awt/event/WindowEvent.java
	(WINDOW_LAST): Constant value must be 209, not 207.
	* java/awt/im/InputMethodHighlight.java
	(getStyle): Fixed typo.
	
2002-12-21  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java (getCanonicalFileURL): Make sure that
	if the original file part of the URL ended with a separator that the
	canonical version also ends with a separator.

2002-12-21  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-21  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannel.java
	(force): Added throws IOException.

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

	* java/net/URI.java
	(create): Doesnt throw URISyntaxException.
	* java/net/URLConnection.java
	(guessContentTypeFromName): Made public.
	* java/nio/MappedByteBuffer.java
	(MappedByteBuffer): added @author and @since.
	
2002-12-21  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketPermission.java:
	Reindented.
	* java/net/URLDecoder.java
	(decode): Added throws IOException.
	* java/nio/channels/FileLock.java
	(release): Added throws IOException.
	
2002-12-21  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java
	(HTTP_NOT_IMPLEMENTED): Must be public.
	* java/net/ServerSocket.java
	(closed): New member variable.
	(bind): Throw exception if socket is closed.
	(close): Set new member variable, close associated channel too.
	(isClosed): New method.
	* java/net/Socket.java
	(closed): New member variable.
	(bind): Throw exception if socket is closed.
	(connect): Throw exception if socket is closed.
	(close): Set new member variable, close associated channel too.
	(isClosed): New method.
	* java/nio/channels/DatagramChannel.java
	(connect): Added throws IOException.
	(disconnect): Added throws IOException.
	(read): Added throws IOException.
	(write): Added throws IOException.
	(receive): Added throws IOException.
	* java/nio/channels/Pipe.java
	(open): Added throws IOException.
	* java/nio/channels/SelectableChannel.java
	(configureBlocking): Added throws IOException.
	* java/nio/channels/SelectionKey.java
	(OP_ACCEPT): Fix constant value.
	(OP_CONNECT): Fix constant value.
	(OP_READ): Fix constant value.
	(OP_WRITE): Fix constant value.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Added throws IOException.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Fixed implements.
	(read): Added throws IOException.
	(write): Added throws IOException.
	(finishConnect): Added throws IOException.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(end): Added throws AsynchronousCloseException.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Added throws IOException.
	(implCloseChannel): Added throws IOException.
	(implCloseSelectableChannel): Added throws IOException.
	(implConfigureBlocking): Added throws IOException.
	* java/nio/channels/spi/SelectorProvider.java
	(openDatagramChannel): Added throws IOException.
	(openPipe): Added throws IOException.
	(openSelector): Added throws IOException.
	(openServerSocketChannel): Added throws IOException.
	(openSocketChannel): Added throws IOException.
	(provider): Merge with libgcj.

2002-12-20  C. Brian Jones  <cbj@gnu.org>

	* BUGS: updated Savannah URL
	* doc/api: new directory
	* doc/api/.cvsignore: new file
	* doc/api/classpath-copyright.xml: new directory
	* doc/api/Makefile.am: new file
	* configure.in: added doc/api/Makefile to output, include
	CLASSPATH_ENABLE_GJDOC
	* acinclude.m4: added function CLASSPATH_ENABLE_GJDOC
	* doc/Makefile.am: added api to SUBDIRS
	* doc/xslt: new directory
	* doc/xslt/gjdocxml2html.xsl: new file
	* doc/xslt/common: new directory
	* doc/xslt/common/gjdochtml.css: new file
	* doc/xslt/common/images: new directory
	* doc/xslt/common/images/tree-branch.png: new file
	* doc/xslt/common/images/tree-empty.png: new file
	* doc/xslt/common/images/tree-final-node.png: new file
	* doc/xslt/common/images/tree-node.png: new file

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

	* gnu/java/nio/FileChannelImpl.java
	(read): New method.
	(write): New method.

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

	* gnu/java/nio/CharBufferImpl.java
	gnu/java/nio/DoubleBufferImpl.java
	gnu/java/nio/FileChannelImpl.java
	gnu/java/nio/FloatBufferImpl.java
	gnu/java/nio/IntBufferImpl.java
	gnu/java/nio/LongBufferImpl.java
	gnu/java/nio/ShortBufferImpl.java:
	(nio_cast): Removed.
	(*BufferImpl): Removed.
	(nio_get_*): Removed.
	(get_put_*): Removed.
	(as*Buffer): Removed.

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

	* java/nio/ByteBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	* java/nio/CharBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	* java/nio/DoubleBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	(order): Must not be final.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asFloatBuffer): Removed.
	(asDoubleBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	* java/nio/FloatBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	(order): Must not be final.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asFloatBuffer): Removed.
	(asDoubleBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	* java/nio/IntBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	(order): Must not be final.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asFloatBuffer): Removed.
	(asDoubleBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	* java/nio/LongBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	(order): Must not be final.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asFloatBuffer): Removed.
	(asDoubleBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	* java/nio/ShortBuffer.java:
	Implements Comparable.
	(get): Must not be final.
	(put): Must not be final.
	(order): Must not be final.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asFloatBuffer): Removed.
	(asDoubleBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	
2002-12-19  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(remoteAddress): Renamed from remote_addr.
	(remotePort): Renamed from remote_port.
	(getSoTimeout): Throw exception
	if not initialized socket successfully.
	(getSendBufferSize): Throw exception
	if not initialized socket successfully.
	(getReceiveBufferSize): Throw exception
	if not initialized socket successfully.
	(receive): Added SecurityManager check.
	
2002-12-19  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(factory): New member to store default DatagramSocketFactory object.
	(bind): New method.
	(getChannel): New method.
	(connect): New method.
	(isBound): New method.
	(isConnected): New method.
	(getRemoteSocketAddress): New method.
	(getLocalSocketAddress): New method.
	(setReuseAddress): New method.
	(getReuseAddress): New method.
	(setBroadcast): New method.
	(getBroadcast): New method.
	(setTrafficClass): New method.
	(getTrafficClass): New method.
	(setDatagramSocketImplFactory): New method.
	* java/net/HttpURLConnection.java
	(HTTP_INTERNAL_ERROR): Code number is 500, not 501.
	* java/net/ServerSocket.java
	(bind): Simply call sister method instead of implementing
	it a second time.
	
2002-12-19  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(ch): New member variable to store associated datagram channel.
	(DatagramSocket): Added/fixed documentation.
	(close): Fixed documentation.
	(getPort): Fixed documentation.
	(getLocalAddress): Fixed documentation.
	(getLocalPort): Fixed documentation.
	(getSoTimeout): Fixed documentation, remove unneeded parenthesis.
	(setSendBufferSize): Added exception documentation.
	(setReceiveBufferSize): Added exception documentation.
	(send): Added/fixed documentation.
	* java/net/MulticastSocket.java
	(setInterface): Moved around, fixed documentation.
	(setLoopbackMode): New method.
	(getLoopbackMode): New method.
	
2002-12-18  John Leuner  <jewel@debian.org>

	* java/lang/System.java: delegated native calls to VMSystem
	added three new calls VMSystem.makeStandardxxxStream
	* vm/reference/java/lang/VMSystem.java: added 3 methods for default 
	implementation of makeStandardxxxStream
	* native/jni/java-lang/Makefile.am (libjavalang_la_SOURCES): changed System to VMSystem
	* native/jni/java-lang/java_lang_VMSystem.c: Added this file (copied from System.c)
	* native/jni/java-lang/java_lang_System.c:   Deleted this file
	* include/java_lang_VMSystem.h: Added this file
	* include/java_lang_System.h: Deleted this file

2002-12-18  John Leuner  <jewel@debian.org>

	* vm/reference/java/lang/reflect/Method.java: Fixed javadoc
	* vm/reference/java/lang/VMClassLoader.java: copied code from ClassLoader
	for getSystemClassLoader
	* java/lang/ClassLoader.java: Delegate getSystemClassLoader
	to VMClassLoader

2002-12-17  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/docs/license.wml: link->createlink conversion.
	* doc/www.gnu.org/docs/orp.wml: link->createlink conversion.
	* doc/www.gnu.org/docs/redistribution.wml: link->createlink conversion.
	* doc/www.gnu.org/docs/docs.wml: fix link to hacking doc, 
	link->createlink conversion.
	* doc/www.gnu.org/announce/19990206.wml: link->createlink conversion.
	* doc/www.gnu.org/announce/20001120.wml: link->createlink conversion.
	* doc/www.gnu.org/announce/20010106.wml: link->createlink conversion.
	* doc/www.gnu.org/announce/20020208.wml: link->createlink conversion.
	* doc/www.gnu.org/announce/announcements.wml: link->createlink 
	conversion.
	* doc/www.gnu.org/savannah.css: new file
	* doc/www.gnu.org/include/macros.wml: rename 'link' tag 'createlink'
	* doc/www.gnu.org/home.wml: link to cp-tools sub-project, 
	link->createlink conversion.
	* doc/www.gnu.org/Makefile: copy *.css to webroot when publishing

2002-12-17  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/LogManager.java: Fix a dependency on the order
	in which the JVM chooses to initialize the mutually dependent
	classes java.util.logging.LogManager and java.util.logging.Logger.
	Thanks to Sergio Freire <sergio-s-freire@ptinovacao.pt> for reporting
	the bug which would only occur on GCJ 3.2, not on the Sun 1.3.1 JVM.

2002-12-17  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: link to docs directory
	* doc/www.gnu.org/docs/docs.wml: new file
	* doc/www.gnu.org/docs/redistribution.wml: new file
	* doc/www.gnu.org/docs/license.wml: new file

2002-12-15  Raif Naffah  <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Make sure quot and rem are in
	canonical form after divide().
	(modInverse): Likewise.

2002-12-13  Casey Marshall  <rsdio@metastatic.org>
	    Mark Wielaard  <mark@klomp.org>

	* java/security/SecurityRandom (digest): Removed field.
	(SecureRandom): Check all providers for case-insensitive SecureRandom
	implementation. Don't ignore classname == null. Fallback to SHA1PRNG
	if necessary.
	(getInstance(String,Provider,boolean): New method.
	(getInstance(String)): Use new method.
	(getInstance(String,String)): Likewise.
	(getInstance(String,Provider)): Likewise.

2002-12-13  Casey Marshall  <rsdio@metastatic.org>

	* java/security/Security.java (loadProviders): Increment i only once.

2002-12-12  Archie Cobbs <archie@dellroad.org>

	* java/io/LineNumberReader.java: Don't use PushbackReader.

2002-12-12  C. Brian Jones  <cbj@gnu.org>
	* doc/www.gnu.org/doc: moved to doc/www.gnu.org/docs
	* doc/www.gnu.org/docs: new directory
	* doc/www.gnu.org/Makefile: SUBDIRS reflect new docs directory, copy
	texi2html output to the correct directory
	* doc/www.gnu.org/docs/Makefile: publish to docs directory
	* doc/www.gnu.org/home.wml: point doc URLs to docs

2002-12-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (defineClass): Now synchronized.
	(findLoadedClass): Likewise.

2002-12-10  Mark Wielaard  <mark@klomp.org>
	    Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (getCanonicalFileURL): New method.
	(JarURLLoader): Use it.
	(FileURLLoader): Likewise.
	(JarURLResource.getURL): Use chained exception.
	(FileResource.getURL): Likewise.
	(FileURLLoader.getResource): Use canonical file name.
	(addURL): Indentation fix.

2002-12-08  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java: Reindent and other formatting fixes.

2002-12-08  Mark Wielaard  <mark@klomp.org>

	* java/util/ResourceBundle.java (resourceBundleCache): Not final.
	(lastDefaultLocale): New field.
	(getBundle): When Locale.getDefault != lastDefaultLocale reset
	resourceBundleCache.

2002-12-05  Dalibor Topic  <robilad@yahoo.com>

	* gnu/java/nio/SocketChannelImpl.java: Removed unused import.

2002-12-05  John Leuner  <jewel@debian.org>

	* gnu/java/net/protocol/file/Handler.java (toExternalForm): make URL
	format like that produced by SUN JVM
	* java/net/URLStreamHandler.java: ditto

2002-12-03  Jeroen Frijters  <jeroen@sumatra.nl>

	* gnu/java/lang/SystemClassLoader.java (getResource): Renamed to
	findResource and made protected.
	(findResource): New protected method renamed from getResource.
	(systemGetResource): Renamed to systemFindResource and made private.
	(systemFindResource): New private methods renamed from
	systemGetResource.

	* THANKYOU: Added Jeroen.

2002-12-03  Raif Naffah  <raif@fl.net.au>

	* java/security/spec/DSAParameterSpec.java (getP): Return p, not q.
	* java/security/spec/DSAPrivateKeySpec.java (getP): Likewise.
	* java/security/spec/DSAPublicKeySpec.java (getP): Likewise.

2002-12-01  Julian Dolby  <dolby@us.ibm.com>

	* java/text/CollationElementIterator.java (next): 

2002-12-04  Tom Tromey  <tromey@redhat.com>

	* java/net/SocketPermission.java (hashCode): Rewrote.

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

	* gnu/java/nio/SocketChannelImpl.java:
	Use native methods instead of dummy methods.
	* java/nio/channels/DatagramChannel.java
	(connect): Added exception documentation.
	(receive): Added exception documentation.
	(send): Added exception documentation.
	* java/nio/channels/SocketChannel.java
	(open): Added exception documentation.
	(read): Added exception documentation.
	(write): Added exception documentation.
	(connect): Added exception documentation.
	(finishConnect): Added exception documentation.
	
2002-12-03  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	Reformated.
	* gnu/java/nio/CharBufferImpl.java
	Reformated.
	* gnu/java/nio/DoubleBufferImpl.java
	Reformated.
	* gnu/java/nio/FloatBufferImpl.java
	Reformated.
	* gnu/java/nio/IntBufferImpl.java
	Reformated.
	* gnu/java/nio/LongBufferImpl.java
	Reformated.
	* gnu/java/nio/ShortBufferImpl.java
	Reformated.
	
2002-12-03  Tom Tromey  <tromey@redhat.com>

	* native/jni/classpath/native_state.c (add_node): Never create a
	loop in the linked list.
	* gnu/java/awt/peer/gtk/GdkGraphics.java (native_state): Use
	GtkGenericPeer.getUniqueInteger.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java (native_state): Use
	GtkGenericPeer.getUniqueInteger.
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java (getUniqueInteger): No
	longer private.

2002-12-01  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-net/java_net_InetAddress.c (getHostByName):
	JCL_ThrowException takes hostname, not host.
	* native/jni/java-net/javanet.c (_javanet_set_remhost_addr): New
	method.
	(_javanet_set_remhost): Use new method.
	(_javanet_connect): Likewise.
	* java/net/InetAddress.java (toString): Include hostname or alias if
	known, but don't lookup.
	* java/net/Socket.java (setSocketImplFactory): Throw SocketException
	when fac == null.

2002-12-01  Julian Dolby  <dolby@us.ibm.com>

	* native/jni/java-net/java_net_PlainSocketImpl.c (available):
	Implement.

2002-12-01  Tom Tromey  <tromey@redhat.com>

	Bug compatibility:
	* java/io/CharArrayWriter.java (close): Do nothing.
	(flush): Likewise.
	(reset): Don't touch `closed'.
	(write(int)): Don't throw IOException.
	(write(char[],int,int)): Likewise.
	(write(String,int,int)): Likewise.
	(closed): Removed.

2002-11-29  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/image/ColorModel.java (getUnnormalizedComponents,
	getNormalizedComponents): Fix calculation which was using one too
	many bits in the unnormalized format.

2002-11-29  Gary Benson  <gbenson@redhat.com>

	* java/beans/Introspector.java (flushCaches): New method.
	(flushFromCaches): Likewise.

2002-11-29  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (toString): Convert signed byte to
	unsigned int.

2002-11-29  Julian Dolby  <dolby@us.ibm.com>

	* native/jni/java-net/java_net_InetAddress.c (getHostByName):
	FindClass "[B", not "[I".

2002-11-29  Mark Wielaard  <mark@klomp.org>

	Merge patches from Julian Dolby <dolby@us.ibm.com>
	* java/io/File.java (File(File, String)): Only add separator when
	dirpath is not a root dir.
	(File(String, String)): Call this(File, String).
	(File(String)): Remove all trailing separators when not root dir.
	(canWrite): Return null when no separator is found in path.
	If a directory then check that we can create and delete temp file.
	(list): Return null when file not exists or is not a dir.
	Return empty array when listInternal returns null.
	* java/io/FileInputStream.java(open): Throws FileNotFoundException.
	* java/io/FileOutputStream.java (FileOutputStream): Likewise.
	(open): Likewise.
	* native/jni/java-io/java_io_FileOutputStream.c (open): Likewise.
	* native/jni/java-io/javaio.c (_javaio_close): Check that fd != -1.

	* THANKYOU: Add Julian Dolby.

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

	* java/util/jar/JarFile.java (manifest): Not final.
	(manifestRead): New field.
	(JarFile): Don't read Manifest in constructor.
	(getManifest): New method.
	(JarEnumeration.nextElement): Use new method.
	(getEntry): Likewise.
	* java/util/zip/ZipFile.java (name): Final.
	(raf): Likewsie.
	(entries): Change type to Hashtable.
	(closed): New field.
	(ZipFile): Don't read enties in constructor.
	(readEntries): Use Hashtable.
	(close): Set new close flag and set entries to null inside
	synchronized block.
	(entries): Contruct enumeration using new getEntries() method and
	entries Hashtable.
	(getEntryIndex): Removed.
	(getEntries): New method.
	(getEntry): Use new getEntries() method and entries Hastable.
	(getInputStream): Likewise.
	(size): Return getEntries().size().
	(ZipEntryEnumeration): Wrap entries Hashtable elements.
	* java/util/zip/ZipEntry.java (cal): Don't initialize.
	(time): Removed
	(dostime): New field.
	(zipFileIndex): Removed.
	(ZipEntry(ZipEntry)): Copy dostime.
	(setDOSTime): Now final and doesn't convert dos time.
	(getDOSTime): Likewise.
	(setTime): Convert dos time.
	(getTime): Likewise.
	(getCalendar): New method.
	(setExtra): Use setTime().
	* java/util/zip/ZipInputStream.java (getNextEntry): Format error msg.

2002-11-27  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Locale.java (toString): Improve efficiency if country
	and variant are both empty.

2002-11-27  Tom Tromey  <tromey@redhat.com>

	* gnu/java/io/encode/EncoderUTF8.java (convertToBytes): Removed
	redundant test.

2002-11-23  Mark Wielaard  <mark@klomp.org>

	* javax/transaction/HeuristicCommitException.java: New file from gcj,
	* javax/transaction/HeuristicMixedException.java: Likewise.
	* javax/transaction/HeuristicRollbackException.java: Likewise.
	* javax/transaction/NotSupportedException.java: Likewise.
	* javax/transaction/RollbackException.java: Likewise.
	* javax/transaction/Status.java: Likewise.
	* javax/transaction/Synchronization.java: Likewise.
	* javax/transaction/SystemException.java: Likewise.
	* javax/transaction/Transaction.java: Likewise.
	* javax/transaction/TransactionManager.java: Likewise.
	* javax/transaction/UserTransaction.java: Likewise.

	* javax/transaction/Makefile.am (SUBDIRS): Add transaction.
	* javax/transaction/Makefile: New file.
	* javax/transaction/.cvsignore: Likewise.
	* javax/transaction/xa/Makefile.am: Likewise.
	* javax/transaction/xa/.cvsignore: Likewise.
	* configure.in (AC_OUTPUT): Add new Makefiles.am.

2002-11-26  Stephen Crawley  <crawley@dstc.edu.au>

	* java/nio/CharBuffer.java (array_offset): Now protected.

2002-11-25  Tom Tromey  <tromey@redhat.com>

	* java/lang/ref/Reference.java (enqueue): Return false if already
	enqueued.

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

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Call position() after limit().
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Call position() after limit().
	* gnu/java/nio/DoubleBufferImpl.java
	(Thanks to Ito Kazumitsu <ito.kazumitsu@hitachi-cable.co.jp>)
	(DoubleBufferImpl): Call position() after limit().
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Call position() after limit().
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Call position() after limit().
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Call position() after limit().
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Call position() after limit().
	
2002-11-25  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/CharBufferImpl.java
	(array_offset): Removed.
	(endian): New member variable to store endianess of buffer.
	(order): New method.
	* gnu/java/nio/MappedCharFileBuffer.java
	(endian): New member variable to store endianess of buffer.
	(order): New method.
	* java/nio/CharBuffer.java
	(array_offset): New member variable.
	(allocateDirect): Removed.
	(wrap): Fixed
	(Thanks to Ito Kazumitsu <ito.kazumitsu@hitachi-cable.co.jp>).
	(wrap): Documentation added.
	(get): Throw exception, documentation added.
	(put): Throw exception, documentation added.
	(put): New method.
	(hasArray): Documentation added.
	(array): Documentation added.
	(arrayOffset): Implemented, documentation added.
	(hashCode): Documentation added.
	(subSequence): Documentation added.
	(length): Documentation added.
	(charAt): Reformated, documentation added.
	(toString): Documentation added.
	(compareTo): Documentation added.
	(order): Made a final method to an abstract method.
	(order): Removed.
	(compact): Documentation added.
	(isDirect): Documentation added.
	(slice): Documentation added.
	(duplicate): Documentation added.
	(asReadOnlyBuffer): Documentation added.
	(asShortBuffer): Removed.
	(asCharBuffer): Removed.
	(asIntBuffer): Removed.
	(asLongBuffer): Removed.
	(asDoubleBuffer): Removed.
	(asFloatBuffer): Removed.
	(asBuffer): Removed.
	(getChar): Removed.
	(putChar): Removed.
	(getShort): Removed.
	(putShort): Removed.
	(getInt): Removed.
	(putInt): Removed.
	(getLong): Removed.
	(putLong): Removed.
	(getDouble): Removed.
	(putDouble): Removed.
	(getFloat): Removed.
	(putFloat): Removed.
	
2002-11-23  Mark Wielaard  <mark@klomp.org>

	* gnu/java/net/protocol/jar/JarURLConnection.java (READBUFSIZE): 4K.
	(get): Only write out as much bytes as we actaully read in.

2002-11-23  Mark Wielaard  <mark@klomp.org>

	* javax/naming/AuthenticationException.java: Import file from libgcj.
	* javax/naming/AuthenticationNotSupportedException.java: Likewise.
	* javax/naming/Binding.java: Likewise.
	* javax/naming/CannotProceedException.java: Likewise.
	* javax/naming/CommunicationException.java: Likewise.
	* javax/naming/CompositeName.java: Likewise.
	* javax/naming/CompoundName.java: Likewise.
	* javax/naming/ConfigurationException.java: Likewise.
	* javax/naming/Context.java: Likewise.
	* javax/naming/ContextNotEmptyException.java: Likewise.
	* javax/naming/InitialContext.java: Likewise.
	* javax/naming/InsufficientResourcesException.java: Likewise.
	* javax/naming/InterruptedNamingException.java: Likewise.
	* javax/naming/LimitExceededException.java: Likewise.
	* javax/naming/LinkException.java: Likewise.
	* javax/naming/LinkLoopException.java: Likewise.
	* javax/naming/LinkRef.java: Likewise.
	* javax/naming/MalformedLinkException.java: Likewise.
	* javax/naming/NameAlreadyBoundException.java: Likewise.
	* javax/naming/NameClassPair.java: Likewise.
	* javax/naming/NameNotFoundException.java: Likewise.
	* javax/naming/NameParser.java: Likewise.
	* javax/naming/NamingEnumeration.java: Likewise.
	* javax/naming/NamingSecurityException.java: Likewise.
	* javax/naming/NoInitialContextException.java: Likewise.
	* javax/naming/NoPermissionException.java: Likewise.
	* javax/naming/NotContextException.java: Likewise.
	* javax/naming/OperationNotSupportedException.java: Likewise.
	* javax/naming/PartialResultException.java: Likewise.
	* javax/naming/Reference.java: Likewise.
	* javax/naming/Referenceable.java: Likewise.
	* javax/naming/ReferralException.java: Likewise.
	* javax/naming/ServiceUnavailableException.java: Likewise.
	* javax/naming/SizeLimitExceededException.java: Likewise.
	* javax/naming/TimeLimitExceededException.java: Likewise.
	* javax/naming/directory/Attribute.java: Likewise.
	* javax/naming/directory/AttributeInUseException.java: Likewise.
	* javax/naming/directory/AttributeModificationException.java: Likewise.
	* javax/naming/directory/Attributes.java: Likewise.
	* javax/naming/directory/BasicAttribute.java: Likewise.
	* javax/naming/directory/BasicAttributes.java: Likewise.
	* javax/naming/directory/DirContext.java: Likewise.
	* javax/naming/directory/InitialDirContext.java: Likewise.
	* javax/naming/directory/InvalidAttributeIdentifierException.java:
	Likewise.
	* javax/naming/directory/InvalidAttributeValueException.java: Likewise.
	* javax/naming/directory/InvalidAttributesException.java: Likewise.
	* javax/naming/directory/InvalidSearchControlsException.java: Likewise.
	* javax/naming/directory/InvalidSearchFilterException.java: Likewise.
	* javax/naming/directory/ModificationItem.java: Likewise.
	* javax/naming/directory/NoSuchAttributeException.java: Likewise.
	* javax/naming/directory/SchemaViolationException.java: Likewise.
	* javax/naming/directory/SearchControls.java: Likewise.
	* javax/naming/directory/SearchResult.java: Likewise.
	* javax/naming/event/EventContext.java: Likewise.
	* javax/naming/event/EventDirContext.java: Likewise.
	* javax/naming/event/NamespaceChangeListener.java: Likewise.
	* javax/naming/event/NamingEvent.java: Likewise.
	* javax/naming/event/NamingExceptionEvent.java: Likewise.
	* javax/naming/event/NamingListener.java: Likewise.
	* javax/naming/event/ObjectChangeListener.java: Likewise.
	* javax/naming/ldap/Control.java: Likewise.
	* javax/naming/ldap/ControlFactory.java: Likewise.
	* javax/naming/ldap/ExtendedRequest.java: Likewise.
	* javax/naming/ldap/ExtendedResponse.java: Likewise.
	* javax/naming/ldap/HasControls.java: Likewise.
	* javax/naming/ldap/InitialLdapContext.java: Likewise.
	* javax/naming/ldap/LdapContext.java: Likewise.
	* javax/naming/ldap/LdapReferralException.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotification.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotificationEvent.java: Likewise.
	* javax/naming/ldap/UnsolicitedNotificationListener.java: Likewise.
	* javax/naming/spi/DirObjectFactory.java: Likewise.
	* javax/naming/spi/DirStateFactory.java: Likewise.
	* javax/naming/spi/DirectoryManager.java: Likewise.
	* javax/naming/spi/InitialContextFactory.java: Likewise.
	* javax/naming/spi/InitialContextFactoryBuilder.java: Likewise.
	* javax/naming/spi/NamingManager.java: Likewise.
	* javax/naming/spi/ObjectFactory.java: Likewise.
	* javax/naming/spi/ObjectFactoryBuilder.java: Likewise.
	* javax/naming/spi/ResolveResult.java: Likewise.
	* javax/naming/spi/Resolver.java: Likewise.
	* javax/naming/spi/StateFactory.java: Likewise.

2002-11-23  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(put): Documentation added.
	(get): Documentation added.
	(compact): Documentation added.
	(isDirect): Documentation added.
	(slice): Documentation added.
	(duplicate): Documentation added.
	(asReadOnlyBuffer): Documentation added.
	(asShortBuffer): Documentation added.
	(asCharBuffer): Documentation added.
	(asIntBuffer): Documentation added.
	(asLongBuffer): Documentation added.
	(asFloatBuffer): Documentation added.
	(asDoubleBuffer): Documentation added.
	(getChar): Documentation added.
	(putChar): Documentation added.
	(getShort): Documentation added.
	(putShort): Documentation added.
	(getInt): Documentation added.
	(putInt): Documentation added.
	(getLong): Documentation added.
	(putLong): Documentation added.
	(getFloat): Documentation added.
	(putFloat): Documentation added.
	(getDouble): Documentation added.
	(putDouble): Documentation added.

2002-11-23  Jesse Rosenstock <jmr@ugcs.caltech.edu>

	* gnu/java/nio/CharBufferImpl.java
	(subSequence): Implemented.
	(toString): Removed.
	* java/nio/CharBuffer.java
	(length): Return remaining() instead of limit().
	(charAt): Implemented correctly.
	(toString): Implemented correctly.

2002-11-23  Michael Koch <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): New method.
	(DatagramSocket): Call new method istead of own implementation,
	Added exception documentation.
	* java/net/MulticastSocket.java
	(MulticastSocket): New method.
	
2002-11-22  Mark Wielaard  <mark@klomp.org>

	* gnu/java/net/protocol/jar/JarURLConnection.java (get):
	ZipFile.OPEN_DELETE not yet implemented.
	* java/net/HttpURLConnection.java (getResponseVals): Only set
	responseCode when not yet explicitly set by subclass.
	* java/net/URLClassLoader.java (URLLoader.getManifest): Make default
	return null.
	(URLResource.getCertificates): Likewise
	(RemoteURLLoader): New class.
	(RemoteResource): Likewise.
	(FileURLLoader.getManifest): No longer needed.
	(FileResource.getCertificates): Likewise.
	(addURL): Create either a FileURLLoader or a RemoteURLLoader.

2002-11-22  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-net/java_net_InetAddress.c (lookupInaddrAny): Use
	Byte not Int arrays.
	(getHostByAddr): Likewise.
	(getHostByName): Likewise.

2002-11-22  Mark Wielaard  <mark@klomp.org>

	* java/net/URL.java (getURLStreamHandler): Fall through to standard
	handlers when a stream factory doesn't handle a protocol.
	(getPath): Handle file == null case.
	(getQuery): Likewise.
	(getUserInfo): Handle host == null case.

	* java/net/URLClassLoader.java (JarLoader): More efficient use of
	StringBuffer.

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

	* gnu/java/nio/CharBufferImpl.java
	(subSequence): New stubbed method.
	* gnu/java/nio/MappedCharFileBuffer.java:
	Reindented.
	(subSequence): New stubbed method.
	* java/nio/CharBuffer.java
	(CharBuffer): Implements Comparable and CharSequence.
	(lenght): New method.
	(charAt): New method.
	(toString): New method.
	(put): Removed unneeded "java.nio." prefix.

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

	* java/nio/channels/Channels.java:
	Reindented, documentation added.
	(newInputStream): Documentation added.
	(newOutputStream): Documentation added.
	(newChannel): Documentation added.
	(newReader): JDK 1.4 conform implementation, documentation added.
	(newWriter: JDK 1.4 conform implementation, documentation added.
	
2002-11-21  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (getManifest): Throws IOException.
	* java/net/URLClassLoader.java (JarURLLoader): Don't use gnu cache
	directly, use standard JarURLConnection.getJarFile().
	(JarURLLoader.getManifest): Catch IOException.
	* gnu/java/net/protocol/jar/Handler.java (parseURL): Check for
	empty file part and only use url_String from start till end.

	* java/net/HttpURLConnection.java (HTTP_USE_PROXY): Add field.
	(HTTP_INTERNAL_ERROR): Constant value should be 501.
	* java/net/URLDecoder.java (decode): Throws Exception.

	* java/net/URL.html: Merge with libgcj (partly).
	* java/net/URLStreamHandler: Merge with libgcj.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/AsynchronousCloseException.java,
	java/nio/channels/CancelledKeyException.java,
	java/nio/channels/ClosedByInterruptException.java,
	java/nio/channels/ConnectionPendingException.java,
	java/nio/channels/FileLockInterruptionException.java,
	java/nio/channels/IllegalSelectorException.java,
	java/nio/channels/NoConnectionPendingException.java,
	java/nio/channels/NonReadableChannelException.java,
	java/nio/channels/NonWritableChannelException.java,
	java/nio/channels/NotYetBoundException.java,
	java/nio/channels/NotYetConnectedException.java,
	java/nio/channels/OverlappingFileLockException.java,
	java/nio/channels/UnresolvedAddressException.java,
	java/nio/channels/UnsupportedAddressTypeException.java:
	New files.
	* java/nio/channels/Makefile.am: Added new files.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Added exception documentation.
	(open): Fixed typo, added exception documentation.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(implCloseChannel): Added exception documentation.
	(add): Reformated.
	(register): Added exception documentation.

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

	* 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:
	Do explicit imports, reindented.

2002-11-18  Jesse Rosenstock <jmr@ugcs.caltech.edu>

	* java/nio/charset/CoderResult.java (Cache.get): Fix a bug
	that was causing CoderResults to be cached, not WeakReferences
	to CoderResults.

2002-11-18  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* java/security/KeyStore.java (getInstance): Fix
	comment and throw IllegalArgumentException if 
	given provider is null.
	(getInstance): New method for jdk1.4 compatibility.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(select): Throww exception when selector is closed,
	reinitialize counter before reusing it.
	(implCloseSelector): Implemented.
	(register): Added support for ServerSocketChannelImpl.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Create server socket.
	* gnu/java/nio/SocketChannelImpl.java: Reformated.
	* java/net/ServerSocket.java
	(ServerSocket): Create unbound socket.
	* java/nio/channels/ClosedChannelException.java: Documentation added.
	* java/nio/channels/ClosedSelectorException.java: New file.

2002-11-17  C. Brian Jones <cbj@gnu.org>

	* scripts/japi: new file, used nightly
	* scripts/kissme-mauve: new file, used nightly

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

	* gnu/java/security/Makefile.am (EXTRA_DIST): Removed.
	* gnu/java/security/DefaultPermissionCollection.java: Removed.

2002-11-17  Michael Koch <konqueror@gmx.de>

	* 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;
	Reindented.

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

	* java/net/HttpURLConnection.java (getPermission): Take port
	into consideration.
	(getErrorStream): Implement.

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

	* java/net/HttpURLConnection.java: Merge with libgcj.

2002-11-16  Michael Koch <konqueror@gmx.de>

	* 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:
	Reindented.

2002-11-16  Mark Wielaard  <mark@klomp.org>

	Integrate work by Raif S. Naffah (raif@fl.net.au)
	* java/security/DummyKeyPairGenerator.java (clone): New method.
	* java/security/DummyMessageDigest.java (clone): New method.
	(engineUpdate): Now public.
	(engineReset): Likewise.
	(engineDigest): Likewise.
	(engineGetDigestLength): New method.
	* java/security/DummySignature.java (clone): New method.
	* java/security/KeyPairGenerator.java (provider): Now package private.
	(getInstance(String)): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	(getInstance(String,String,Provider): Don't cast DummyKeyPairGenerator.
	* java/security/KeyPairGeneratorSpi.java (clone): New method.
	* java/security/MessageDigest.java (provider): Now package private.
	(getInstance(String): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	* java/security/Provider.java (toCanonicalKey): New method.
	(get): New method that uses toCanonicalKey().
	(put): Use toCanonicalKey().
	(remove): Likewise.
	* java/security/Security.java (insertProviderAt): Provider index is one
	based, not zero based.
	(addProvider): Likewise.
	(removeProvider): Likewise.
	* java/security/Signature.java (provider): Now package private.
	(getInstance(String)): Use getInstance(String,Provider).
	(getInstance(String,String): Use getInstance(String,Provider)
	(getInstance(String,Provider): New method.
	(getInstance(String,String,Provider): Don't cast DummySignature.

	* THANKYOU: Add Raif.

2002-11-16  Michael Koch <konqueror@gmx.de>

	* java/net/SocketAddress.java: Added some documentation.

2002-11-16  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteBuffer.java, java/nio/CharBuffer.java:
	Reindented.
	* java/nio/DoubleBuffer.java
	(compareTo): use Buffer.position() instead of Buffer.pos.
	* java/nio/FloatBuffer.java
	(compareTo): use Buffer.position() instead of Buffer.pos.
	* java/nio/IntBuffer.java
	(compareTo): use Buffer.position() instead of Buffer.pos.
	* java/nio/LongBuffer.java
	(compareTo): use Buffer.position() instead of Buffer.pos.
	* java/nio/ShortBuffer.java
	(compareTo): use Buffer.position() instead of Buffer.pos.
	
2002-11-16  Michael Koch <konqueror@gmx.de>

	* 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:
	Reindented.
	
2002-11-16  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(map): Last argument must be of type long,
	made it a dummy method for now.
	* java/nio/channels/FileChannel.java:
	Documentation added.
	(MapMode): Documentation added.
	(MapMode.toString): Reformated.
	(FileChannel): Documentation added.
	(map): Last argument must be type long, documentation added.
	(write): New method.
	(write): Documentation added.
	(read): Documentation added.
	(implCloseChannel): Documentation added.
	(force): Reformated documentation.	
	* java/nio/channels/Selector.java
	(open): Added "throws IOException".
	* java/nio/channels/spi/SelectorProvider.java
	(SelectorProvider): Added SecurityManager check, documentation added.
	* java/nio/charset/Charset.java
	(encode): Use cached encoder object.
	(decode): Use cached decoder object.
	
2002-11-16  Michael Koch <konqueror@gmx.de>

	* java/nio/ReadOnlyBufferException.java: New file.
	* java/nio/Makefile.am: Added ReadOnlyBufferException.java.

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

	* gnu/java/awt/peer/gtk/TestAWT.java (RadioWindow.init): Add
	buttons to set state via group.

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

	* java/nio/Buffer.java (cap): Make field protected for now to get
	things compiling. Added a FIXME.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_setBounds): Declare widget
	before use.

2002-11-15  Eric Blake  <ebb9@email.byu.edu>

	* gnu/java/nio/FileChannelImpl.java (write, read): Add missing
	stub methods.
	* java/net/MulticastSocket.java: Add missing import.
	* java/nio/channels/FileChannel.java: Add missing import.

2002-11-14  Tom Tromey  <tromey@redhat.com>

	* native/jni/classpath/native_state.c (add_node): Set `c_state'
	field even when moving node.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer_dispose): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer_remove): New
	function.
	Include GtkComponentPeer header.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (dispose): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkGenericPeer_dispose): Renamed.
	* gnu/java/awt/peer/gtk/Makefile.am (EXTRA_DIST): Added
	GtkCheckboxGroupPeer.java.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (old_group): Now a
	GtkCheckboxGroupPeer.
	(nativeCreate): Argument now a GtkCheckboxGroupPeer.
	(nativeSetCheckboxGroup): Likewise.  Removed `old_group'
	argument.
	(create): Find the GtkCheckboxGroupPeer.
	(setCheckboxGroup): Likewise.
	(dispose): New method.
	* gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: New file.
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java (next_native_state):
	New global.
	(getUniqueInteger): New method.
	(native_state): Use it.
	(dispose): New native method.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteBuffer.java: Reindented.
	* java/nio/channels/DatagramChannel.java:
	Added "import java.nio.channels.spi.SelectorProvider;"
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	Added some missing imports.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/Buffer.java
	Correctly initialize mark.
	(capacity): Removed.
	(capacity): Documentation added.
	(clear): Set mark to -1, documentation added.
	(flip): Set mark to -1, documentation added.
	(hasRemaining): Documentation added.
	(isReadOnly): Documentation added.
	(limit): Throw exception, set mark to -1, documentation added.
	(mark): Documentation added.
	(postion): Throw exception, set mark to -1, documentation added.
	(remaining): Documentation added.
	(reset): Throw exception, documentation added.
	(rewind): Set mark to -1, documentation added.
	* java/nio/channels/DatagramChannel.java
	(DatagramChannel): Documentation added.
	(open): Documentation added.
	(read): Documentation added.
	(write): Documentation added.
	(connect): Documentation added.
	(disconnect): Documentation added.
	(isConnected): Documentation added.
	(receive): Documentation added.
	(send): Documentation added.
	(socket): Documentation added.
	(validOps): Documentation added.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChannel): Documentation added.
	(accept): Documentation added.
	(socket): Documentation added.
	(open): Documentation added.
	(validOps): Documentation added.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Documentation added.
	(open): Documentation added.
	(read): Documentation added.
	(write): Documentation added.
	(validOps): Documentation added.
	(connect): Documentation added.
	(finishConnect): Documentation added.
	(isConnected): Documentation added.
	(isConnectionPending): Documentation added.
	(socket): Documentation added.
	* java/nio/channels/spi/SelectorProvider.java
	(SelectorProvider): Documentation added.
	(openDatagramChannel): Documentation added.
	(openPipe): Documentation added.
	(openSelector): Documentation added.
	(openServerSocketChannel): Documentation added.
	(openSocketChannel): Documentation added.
	(provider): Documentation added.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/SocketChannelImpl.java
	(validOps): Removed.
	* gnu/java/nio/ByteBufferImpl.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,
	gnu/java/nio/SocketChannelImpl.java:
	Dont use capacity(cap).
	* java/nio/InvalidMarkException.java: New file.
	* java/nio/Makefile.am: Added InvalidMarkException.java.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/net/Makefile.am: Added URI.java.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* ChangeLog.usermap: Added myself.
	* java/nio/channels/Pipe.java
	(SinkChannel.SinkChannel): Documentation added.
	(SinkChannel.validOps): New method.
	(SourceChannel.SourceChannel): Documentation added.
	(SourceChannek.validOps): New method.
	(open): Implemented, documentation added.
	(SinkChannel.sink): Documentation added.
	(SourceChannel.source): Documentation added.
	* java/nio/channels/SelectableChannel.java
	(SelectableChannel): Documentation added.
	(blockingLock): Documentation added.
	(configureBlocking): Documentation added.
	(isBlocking): Documentation added.
	(isRegistered): Documentation added.
	(keyFor): Documentation added.
	(provider): Documentation added.
	(register): Documentation added.
	(validOps): Documentation added.
	* java/nio/channels/SelectionKey.java
	(SelectionKey): Documentation added.
	(attach): Documentation added.
	(attachment): Documentation added.
	(isAcceptable): Documentation added.
	(isConnectable): Documentation added.
	(isReadable): Documentation added.
	(isWritable): Documentation added.
	(cancel): Documentation added.
	(interestOps): Documentation added.
	(isValid): Documentation added.
	(readyOps): Documentation added.
	(selector): Documentation added.
	* java/nio/channels/Selector.java
	(Selector): Documentation added.
	(open): Documentation added.
	(close): Documentation added.
	(isOpen): Documentation added.
	(keys): Documentation added.
	(provider): Documentation added.
	(select): Documentation added.
	(selectedKeys): Documentation added.
	(selectNow): Documentation added.
	(wakeup): Documentation added.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(opened): Default to true.
	(AbstractInterruptibleChannel): Documentation added.
	(begin): Documentation added.
	(close): Set opened, Documentation added.
	(end): Documentation added.
	(implCloseChannel): Documentation added.
	(isOpen): Documentation added.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(AbstractSelectableChannel): Documentation added.
	(blockingLock): Documentation added.
	(configureBlocking): Documentation added.
	(implCloseChannel): Documentation added.
	(implCloseSelectableChannel): Documentation added.
	(implConfigureBlocking): Documentation added.
	(isBlocking): Documentation added.
	(isRegistered): Documentation added.
	(keyFor): Documentation added.
	(provider): Documentation added.
	(register): Documentation added.
	* java/nio/channels/spi/AbstractSelectionKey.java
	(AbstractSelectionKey): Documentation added.
	(cancel): Documentation added.
	(isValid): Documentation added.
	* java/nio/channels/spi/AbstractSelector.java
	(closed): Default to false.
	(AbstractSelector): Documentation added.
	(begin): Documentation added.
	(close): Documentation added.
	(isOpen): Documentation added.
	(implCloseSelector): Documentation added.

2002-11-12  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/AppletContext.java: Fix typo and remove redundant
	modifiers.
	* java/lang/ClassLoader.java (getPackage): Not final.

2002-11-12  Michael Koch <konqueror@gmx.de>
	
	* java/net/Makefile.am: Added NetworkInterface.java.
	
2002-11-12  Michael Koch <konqueror@gmx.de>

	* java/net/NetworkInterface.java: New file.
	* java/net/DatagramSocketImpl.java
	(peekData): New method.
	(joinGroup): New method.
	(leaveGroup): New method.
	* java/net/MulticastSocket.java
	(setNetworkInterface): New method.
	(getNetworkInterface): New method.
	(joinGroup): New method.
	(leaveGroup): New method.
	* java/net/PlainDatagramSocketImpl.java
	(peekData): New method.
	(joinGroup): New method.
	(leaveGroup): New method.
	* java/net/PlainSocketImpl.java
	(connect): New method.
	(sendUrgentData): New method.
	(shutdownInput): New method.
	(shutdownOutput): New method.
	* java/net/ServerSocket.java
	(bind): Implemented.
	* java/net/Socket.java
	(bind): Implemented.
	(connect): Implemented.
	(sendUrgentData): Implemented.
	(shutdownInput): Implemented.
	(shutdownOutput): Implemented.
	* java/net/SocketImpl.java
	(connect): New method.
	(sendUrgentData): New method.
	(shutdownInput): New method.
	(shutdownOutput): New method.

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

	* gnu/java/nio/FileChannelImpl.java
	(isOpen): Removed.
	* gnu/java/nio/SelectorImpl.java
	(cancelledKeys): Removed.
	* java/nio/MappedByteBuffer.java
	(force): Must be final.
	(isLoaded): Must be final.
	(load): Must be final.
	* java/nio/channels/DatagramChannel.java:
	(DatagramChannel): Call parent constructor.
	(read): Must be final.
	(write): New method.
	(validOps): Must be final.
	* java/nio/channels/Pipe.java: Reindented.
	* java/nio/channels/SelectableChannel.java: Reindented.
	* java/nio/channels/SelectionKey.java: Reindented.
	* java/nio/channels/Selector.java: Reindented.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChannel): Call parent constructor.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Call parent constructor.
	* java/nio/channels/spi/AbstractChannel.java:
	Removed inexistant class.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java:
	Reindented.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	Reindented.
	(AbstractSelectableChannel): New method.
	* java/nio/channels/spi/AbstractSelector.java: Reindented.
	* java/nio/channels/spi/Makefile.am: Removed AbstractChannel.java.

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

	* java/nio/channels/AlreadyConnectedException.java:
	Removed unneeded import.
	(AlreadyConnectedException): Added documentation.
	* java/nio/channels/ByteChannel.java: Wrapped.
	* java/nio/channels/Channel.java: Documentation added.
	* java/nio/channels/DatagramChannel.java: Reindented.
	* java/nio/channels/FileChannel.java: Reindented.
	* java/nio/channels/GatheringByteChannel.java: Documentation added.
	* java/nio/channels/InterruptibleChannel.java: Documentation added.
	* java/nio/channels/ReadableByteChannel.java: Documentation added.
	* java/nio/channels/ScatteringByteChannel.java: Documentation added.
	* java/nio/channels/WritableByteChannel.java: Documentation added.
	* java/nio/channels/spi/AbstractChannel.java: Reindented.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	(blockingLock): Must be final.
	(configureBlocking): Must be final.
	(implCloseChannel): Must be final.
	(isBlocking): Must be final.
	(isRegistered): Must be final.
	(provider): Must be final.
	(register): Must be final.
	* java/nio/channels/spi/AbstractSelectionKey.java:
	Reindented.
	(cancel): Must be final.
	(isValid): Must be final.

2002-11-11  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/XMLFormatter.java (getHead): Use UTF-8 as
	default if System.getProperty("file.encoding") returns null. Since
	file.encoding is defined on Sun VMs, but not documented in the API
	specification of java.lang.System.getProperties(), we cannot
	depend on it. Comments in the source explain why UTF-8 is a safe
	fallback unless the platform uses something really arcane (such as
	EBCDIC) for its files.

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

	* java/awt/Container.java (validate): Use tree lock.
	(getComponent): Likewise.
	(getComponents): Likewise.
	(addImpl): Likewise.
	(remove): Likewise.
	(removeAll): Likewise.
	(processEvent): Fixed indentation.
	(getComponentAt): Use tree lock.
	(findComponentAt): Likewise.
	(removeNotify): Likewise.
	(isAncestorOf): Likewise.
	(list): Likewise.
	(visitChildren): Likewise.
	(findNextFocusComponent): Likewise.
	(addNotifyContainerChildren): Likewise.
	(getAccessibleChildrenCount): Likewise.
	(getAccessibleChild): Likewise.

2002-11-10  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: link to jdk11 comparison, mauve results

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

	* java/awt/GridLayout.java (layoutContainer): Use tree lock.
	(getSize): Likewise.
	* java/awt/FlowLayout.java (layoutContainer): Use tree lock.
	(getSize): Likewise.
	* java/awt/BorderLayout.java (layoutContainer): Use tree lock.
	(calcSize): Likewise.
	* java/awt/CardLayout.java (getSize): Use tree lock.
	(gotoComponent): Likewise.
	(layoutContainer): Likewise.

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

	* java/awt/GridLayout.java (setColumns): Check newCols, not cols.
	(setRows): Check newRows, not rows.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_setBounds): Reverted
	earlier patch.

	* native/jni/classpath/native_state.c (add_node): Only allocate
	new node if it is needed.

2002-11-10  C. Brian Jones <cbj@gnu.org>

	* mauve-classpath: clean up, no longer need to ignore all these tests

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFramePeer_setMenuBarPeer):
	Renamed.
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_setBounds): handle case
	where widget isn't set yet.
	(setBounds): Now static.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (setMenuBar,
	setMenuBarPeer): Moved...
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setMenuBar,
	setMenuBarPeer): ...here.
	(setBounds): Don't call getMenuBarHeight.

	* java/awt/ScrollPane.java (ScrollPane): Fixed indentation.

	* java/awt/List.java (processEvent): Added missing `else's.

	* java/awt/Window.java (show): validate() before showing.  Make
	parent displayable.
	(isDisplayable): New method.

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java (createButton): Don't set
	bounds on new button.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer):
	Set bounds on component.

	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postConfigureEvent):
	Removed println.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (static): Removed
	println.
	(createImage): Likewise.
	(setComponentState): Likewise.
	(createLabel): Likewise.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (getMinimumSize):
	Removed println.
	(getPreferredSize): Likewise.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (getMinimumSize):
	Removed println.
	(getPreferredSize): Likewise.
	* gnu/java/awt/peer/gtk/GtkImage.java (GtkImage): Removed
	println.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (handleEvent): Removed
	println.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (getMinimumSize):
	Removed println.
	(getPreferredSize): Likewise.
	(setBackground): Likewise.
	(setForeground): Likewise.
	(getArgs): Likewise.
	* gnu/java/awt/peer/gtk/GdkGraphics.java (clipRect): Removed
	println.
	(drawRoundRect): Likewise.
	(fillRoundRect): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkEntryGetSize):
	Removed printf.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollPanePeer_getHScrollbarHeight): Removed printf.
	(Java_gnu_java_awt_peer_gtk_GtkScrollPanePeer_getVScrollbarWidth):
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c (sr):
	Removed printf.  Now static.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): Removed
	printf.
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkMain): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkFixedPut): Removed
	printf.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkFixedMove):
	Likewise.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds):
	Likewise.
	(find_gtk_layout): Likewise.
	(set_parent): Likewise.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Ljava_lang_Object_2): Likewise.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_create): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_image_GdkPixbufDecoder.c
	(area_prepared): Remove printf.  Now static.
	(area_updated): Likewise.
	(closed): Likewise.

2002-11-08  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/charset/ISO_8859_1.java,
	gnu/java/nio/charset/Provider.java,
	gnu/java/nio/charset/US_ASCII.java,
	gnu/java/nio/charset/UTF_16.java,
	gnu/java/nio/charset/UTF_16BE.java,
	gnu/java/nio/charset/UTF_16Decoder.java,
	gnu/java/nio/charset/UTF_16Encoder.java,
	gnu/java/nio/charset/UTF_16LE.java,
	gnu/java/nio/charset/UTF_8.java:
	Added copyright text.
	
2002-11-08  Mark Wielaard  <mark@klomp.org>

	* java/io/InputStreamReader.java (InputStreamReader): Throw
	NullPointerException when any argument is null.

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

	* java/nio/charset/Charset.java: Add necessary imports (gcj doesn't
	care about them, but jikes does).
	* java/nio/charset/CoderResult.java: Likewise and move declaration of
	OVERFLOW and UNDERFLOW after the declaration of the corresponding
	TYPE_ fields they use (again gcj doesn't care but jikes does).

2002-11-08  Jesse Rosenstock <jmr@fulcrummicro.com>

	* java/nio/charset/CharacterCodingException.java:
	This class must be public.
	* java/nio/charset/Charset.java:
	Implemented whole class.
	* java/nio/charset/CharsetDecoder.java:
	Implemented whole class.
	* java/nio/charset/CharsetEncoder.java:
	Implemented whole class.
	* java/nio/charset/CoderMalfunctionError.java:
	This class must be public.
	* java/nio/charset/CoderResult.java:
	Implemented whole class.
	* java/nio/charset/CodingErrorAction.java:
	This class must be public.
	* java/nio/charset/IllegalCharsetNameException.java:
	This class must be public, better implementation.
	* java/nio/charset/MalformedInputException.java:
	This class must be public, better implementation.
	* java/nio/charset/UnmappableCharacterException.java:
	This class must be public, better implementation.
	* java/nio/charset/UnsupportedCharsetException.java:
	This class must be public, better implementation.
	* gnu/java/nio/charset/ISO_8859_1.java,
	gnu/java/nio/charset/Provider.java,
	gnu/java/nio/charset/US_ASCII.java,
	gnu/java/nio/charset/UTF_16.java,
	gnu/java/nio/charset/UTF_16BE.java,
	gnu/java/nio/charset/UTF_16Decoder.java,
	gnu/java/nio/charset/UTF_16Encoder.java,
	gnu/java/nio/charset/UTF_16LE.java,
	gnu/java/nio/charset/UTF_8.java,
	gnu/java/nio/charset/Makefile.am,
	gnu/java/nio/charset/.cvsignore:
	New files.
	* gnu/java/nio/Makefile.am: Add new subdir charset.
	* configure.in: Added gnu/java/nio/charset/Makefile to AC_OUTPUT.
	
2002-11-08  Michael Koch <konqueror@gmx.de>

	* java/nio/CharBuffer.java:
	Reindented.
	(wrap): New method.
	(put): New method.
	* java/nio/BufferOverflowException.java,
	java/nio/BufferUnderflowException.java: New file.
	* java/nio/Makefile.am: Added new files.
	
2002-11-07  Mark Wielaard  <mark@klomp.org>

	* java/awt/ScrollPane.java (ScrollPane): Conditions should all be true.
	* gnu/java/awt/peer/gtk/GtkFontPeer.java (bundle): Possibly null.
	(GtkFontPeer): Fall back to some default for Xname if bundle == 0.
	* gnu/java/awt/peer/gtk/Test.java (paint): Check for null
	ScrollPanePeer.

2002-11-07  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectStreamConstants: New value TC_MAX = TC_PROXYCLASSDESC.

2002-11-07  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/color/Makefile.am: Add ICC_Profile{Gray|RGB}.
	* java/awt/color/ICC_ProfileGray.java: Add stubbed class.
	* java/awt/color/ICC_ProfileRGB.java: Ditto.
	* java/awt/color/ColorSpace.java: Improve serialization, 1.4
	compliance, and formatting.
	* java/awt/color/ICC_ColorSpace.java: Ditto.
	* java/awt/color/ICC_Profile.java: Ditto.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/ClosedChannelException.java:
	Reindented.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteOrder.java:
	Constants must be public.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/ServerSocket.java,
	java/net/Socket.java,
	java/net/SocketImpl.java:
	More merges with libgcj.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/DatagramSocketImpl.java:
	Partly merged with libgcj.
	* java/net/MulticastSocket.java:
	Partly merged with libgcj.
	* java/net/ServerSocket.java:
	Partly merged with libgcj.
	* java/net/Socket.java:
	Partly merged with libgcj.
	
2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/DatagramSocketImpl.java: Added documentation.
	* java/net/Inet4Address.java: Made final again.
	* java/net/MulticastSocket.java: Reindented.
	* java/net/ServerSocket.java: Added documentation.
	* java/net/Socket.java: Added documentation.
	(Socket): Must be public now.
	* java/net/SocketImpl.java: Added documentation.
	* java/nio/channels/IllegalBlockingModeException.java: New file.
	* java/nio/channels/Makefile.am:
	Added IllegalBlockingModeException.java.

2002-11-07  Mark Wielaard  <mark@klomp.org>

	* java/nio/charset/CodingErrorAction.java: New private constructor to
	initialize final static fields.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/InetAddress.java: Made it conform to Inet4Address and
	Inet6Address. This will be merged later with libgcj.
	* java/net/Makefile.am: Added Inet4Address.java and Inet6Address.java.
	
2002-11-07  Mark Wielaard  <mark@klomp.org>

	* gnu/java/rmi/server/UnicastRemoteCall.java: Reindent.
	* java/rmi/server/RemoteObject.java (readObject): Chain exceptions.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/InetAddress.java: This class my not be final.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/DisplayMode.java
	(equals): Fixed implementation.
	* java/awt/Toolkit.java: Fixed typo.
	* jva/awt/peer/ContainerPeer.java: Reindented.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/nio/charset/CoderMalfunctionError.java,
	java/nio/charset/IllegalCharsetNameException.java,
	java/nio/charset/MalformedInputException.java,
	java/nio/charset/UnmappableCharacterException.java,
	java/nio/charset/UnsupportedCharsetException.java:
	New files.
	* java/nio/charset/CharacterCodingException.java:
	Removed unneeded constructor, reindented file.
	* java/nio/charset/CodingErrorAction.java:
	Added missing constants.
	(toString): Added dummy implementation.
	* java/nio/charset/Makefile.am:
	Added missing files.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/net/Inet4Address.java: New file, not used yet.
	* java/net/Inet6Address.java: New file, not used yet.
	* java/net/InetSocketAddress.java: Reindented.
	* java/net/SocketAddress.java: Reindented.
	* java/net/SocketOptions.java: Merged with libgcj, reindented.
	* java/net/SocketPermission.java: Merged with libgcj.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/Event.java:
	Made constants more readable (at least for jdiff.sh).
	* java/awt/Frame.java:
	Added some missing constants.
	* java/awt/event/KeyEvent.java:
	Fixed typos in constants (s/MARK/POINT/).
	
2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/color/ICC_Profile.java:
	Added missing constants.
	* java/awt/color/ICC_ColorSpace.java
	(getMinValue): Added dummy implementation.
	(getMaxValue): Added dummy implementation.
	* java/awt/datatransfer/DataFlavor.java
	(imageFlavor): Added.
	(isMimeTypeEqual): Must be final.
	(getDefaultRepresentationClass): Must be non-static.
	(getDefaultRepresentationClassAsString): Must be non-static.
	* java/awt/dnd/DragSourceContext.java
	(dragExit): Corrected argument.
	(dragDropEnd): Corrected argument.
	* java/awt/dnd/DragSourceListener.java
	(dragExit): Corrected argument.
	(dragDropEnd): Corrected argument.
	* java/awt/font/TextHitInfo.java
	(toString): Added stubbed implementation.
	* java/awt/geom/PathIterator.java:
	The constants must be static.
	* java/awt/image/VolatileImage.java
	(IMAGE_INCOMPATIBLE): Fixed typo.
	* java/awt/image/renderable/RenderableImage.java
	(HINTS_OBSERVED): Must be static.
	* java/beans/BeanInfo.java:
	Constants must be final.

2002-11-06  Tom Tromey  <tromey@redhat.com>

	From svens@it.uu.se:
	* java/util/Random.java (nextInt(int)): Only use 31 bits.

2002-11-06  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractMap.java (values().contains): Add missing
	method.
	* java/util/HashMap.java (HashEntry.access): New method.
	(put): Call it.
	(getEntry): Optimize.
	(readObject): Fix deserialization of LinkedHashMap.
	* java/util/LinkedHashMap.java (head): replace root and tail for
	more efficient and more compliant implementation.
	(LinkedHashEntry.access): Implement.

2002-11-04  R. A. Rivas Diaz  <rivasdiaz@yahoo.com>

	* gnu/java/security/provider/SHA.java (engineGetDigestLength):
	Return 20.
	* gnu/java/security/provider/MD5.java (engineGetDigestLength):
	Return 16.

2002-11-04  Anthony Green  <green@redhat.com>

	* java/util/jar/Attributes.java (Name): Fix name check.

2002-11-03  Tom Tromey  <tromey@redhat.com>

	* java/nio/channels/AlreadyConnectedException.java: Extend
	IllegalStateException, per spec.

2002-11-01  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-io/java_io_ObjectInputStream.c
	(Java_java_io_ObjectInputStream_currentClassLoader): Return result of
	CallObjectMethod().

2002-10-31  Mark Wielaard  <mark@klomp.org>:

	* java/net/URLDecoder.java: Indentation and documentation update.
	* java/net/URLEncoder.java: Likewise.

2002-10-31  Mark Wielaard  <mark@klomp.org>:

	* java/util/zip/ZipFile.java: Indentation fixes.

2002-10-31  Mark Anderson  <mark@panonet.net>

	* java/awt/GridBagLayout.java (setConstraints): New stubbed method
	added

2002-10-31  Mark Wielaard  <mark@klomp.org>:

	Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>
	* configure.in (AC_OUTPUT): Add javax/rmi/Makefile,
	* gnu/javax/Makefile, gnu/javax/rmi/Makefile,
	javax/rmi/CORBA/Makefile and gnu/javax/rmi/CORBA/Makefile.
	* javax/.cvsignore: New File.
	* javax/Makefile.am (SUBDIRS): Add rmi.
	* javax/rmi/.cvsignore: New File.
	* javax/rmi/Makefile.am: New file.
	* javax/rmi/CORBA/.cvsignore: New file.
	* javax/rmi/CORBA/Makefile.am: New file.
	* gnu/Makefile.am (SUBDIRS): Add javax.
	* gnu/javax/.cvsignore: New file.
	* gnu/javax/Makefile.am: New file.
	* gnu/javax/rmi/.cvsignore: New file.
	* gnu/javax/rmi/Makefile.am: New file.
	* gnu/javax/rmi/CORBA/.cvsignore: New file.
	* gnu/javax/rmi/CORBA/Makefile.am: New file.

	* java/rmi/MarshalledObject.java (equals): Check hashcode first.

	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Create/Use
	annotation.
	(loadClass): Take String as codebases.
	(getClassAnnotation): Use MyClassLoader annotations.
	* java/rmi/server/UnicastRemoteObject.java (UnicastRemoteObject):
	call exportObject(this).

	* gnu/java/rmi/RMIMarshalledObjectOutputStream.java
	(RMIMarshalledObjectOutputStream): set locBytesStream and locStream.
	(setAnnotation): Don't set locBytesStream and locStream.
	(replaceObject): Removed.
	(flush): Don't test locStream.
	(getLocButes): LikeWise.
	* gnu/java/rmi/dgc/DGCImpl.java: extends UnicastServerRef.
	(leaseCache): New field.
	(dirty): Use leaseCache.
	(LeaseRecord): New inner class.
	* gnu/java/rmi/registry/RegistryImpl.java (RegistryImpl): Don't
	explicitly call exportObject().
	* gnu/java/rmi/registry/RegistryImpl_Stub.java: set useNewInvoke to
	false to communicate with Sun JDK130.
	* gnu/java/rmi/server/ConnectionRunnerPool.java: Add CPU comment.
	* gnu/java/rmi/server/RMIObjectInputStream.java
	(UnicastConnectionManager): Removed field.
	* gnu/java/rmi/server/RMIObjectOutputStream.java (replaceObject):
	Use UnicastServer.getExportedRef().
	* gnu/java/rmi/server/UnicastConnection.java (reviveTime): New field.
	(expireTime): Likewise.
	(CONNECTION_TIMEOUT): Likewise.
	(disconnect): Call sock.close().
	(isExpired): New method.
	(resetTime): Likewise.
	(run): Use do while loop and catch Exception for discardConnection().
	* gnu/java/rmi/server/UnicastConnectionManager.java: Pool connections.
	* gnu/java/rmi/server/UnicastRef.java: Lots of changes.
	* gnu/java/rmi/server/UnicastRemoteCall.java: Lots of changes.
	* gnu/java/rmi/server/UnicastServer.java (refcache): New field.
	(exportObject): Use refcache.
	(unexportObject): Likewise.
	(getExportedRef): New method.
	* gnu/java/rmi/server/UnicastServerRef.java (UnicastServerRef): New
	constructor.
	(exportObject): Save manager.serverobj.
	(getStub): New method.

	* javax/rmi/PortableRemoteObject.java: New file.
	* gnu/javax/rmi/PortableServer.java: Likewise.

	* javax/rmi/CORBA/ClassDesc.java: New file.
	* javax/rmi/CORBA/PortableRemoteObjectDelegate.java: Likewise.
	* javax/rmi/CORBA/Stub.java: Likewise.
	* javax/rmi/CORBA/StubDelegate.java: Likewise.
	* javax/rmi/CORBA/Tie.java: Likewise.
	* javax/rmi/CORBA/Util.java: Likewise.
	* javax/rmi/CORBA/UtilDelegate.java: Likewise.
	* javax/rmi/CORBA/ValueHandler.java: Likewise.
	* gnu/javax/rmi/CORBA/DelegateFactory.java: Likewise.
	* gnu/javax/rmi/CORBA/GetDelegateInstanceException.java: Likewise.
	* gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java: Likewise.
	* gnu/javax/rmi/CORBA/StubDelegateImpl.java: Likewise.
	* gnu/javax/rmi/CORBA/UtilDelegateImpl.java: Likewise.
	* gnu/javax/rmi/CORBA/ValueHandlerImpl.java: Likewise.

	* javax/rmi/BAD_OPERATION.java: Stub class.
	* javax/rmi/ORB.java: Likewise
	* javax/rmi/CORBA/ObjectImpl.java: Likewise
	* javax/rmi/CORBA/SystemException.java: Likewise.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Level.java (isStandardLevel): New package-private
	method, used by java.util.logging.XMLFormatter.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/LogManager.java (addLogger): Adding a named
	logger now throws a SecurityException unless the caller has been
	granted a LoggingPermission("control").
	(reset): Likewise.
	(reset): Clear LogManager properties.
	(getProperty): Add Javadoc.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Logger.java (anonymous): Add private flag to
	indicate whether security checks are performed. The previous
	implementation checked for name == null, but Sun J2SE 1.4 seems to
	enforce security for any logger unless it is created by
	getAnonymousLogger(), even if its name is null.
	
	(threshold, recalcThreshold, SEVERE_THRESHOLD, WARNING_THRESHOLD,
	INFO_THRESHOLD, CONFIG_THRESHOLD, FINE_THRESHOLD, FINER_THRESHOLD,
	FINEST_THRESHOLD, entering, exiting, throwing, severe, warning,
	info, config, fine, finer, finest): Remove threshold caching, use
	isLoggable(Level) instead.

	(global, name, resourceBundleName, info, removeHandler): Improve
	Javadoc.

	(getLogger): Throw an exception if a newly created logger cannot
	be registered. Improve Javadoc.

	(getLogger): If a logger has been registered under the same name,
	but without a resource bundle, return the existing logger after
	associating it with the specified bundle. The previous
	implementation would have thrown an exception; the current behaves
	like Sun J2SE1.4.

	(log): If the LogRecord's logger name is null, set it to the name
	of this logger.

	(log): Avoid that some other thread is changing the logger
	hierarchy while we are traversing it. Previous code had a race
	condition.

	(log): Invoke only the filter of the logger whose log method is
	called, not for any of its parents.  Parent loggers publish
	everything, without considering either their level threshold or
	their filter.  This is weird, but seems to be the behavior of the
	Sun J2SE 1.4 reference implementation.

	(addHandler, removeHandler, setParent): Throw NullPointerException
	for null arguments.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/SimpleFormatter.java (format): Generate output
	similar to the Sun J2SE 1.4 reference implementation. Improve Javadoc.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/StreamHandler.java (setEncoding, publish):
	Clarify Javadoc. Add comments to explain interaction with the
	inherited implementation.

	(close): Report ErrorManager.CLOSE_FAILURE instead of
	FLUSH_FAILURE if a closed stream is closed again.

	(close): Emit head and tail strings even if no record has ever
	been published to the stream.  The previous implementation caused
	XML log files to be empty, which is different to the behavior of
	Sun J2SE 1.4.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/XMLFormatter.java (lineSep): Add comment
	explaining rationale for different different to Sun J2SE 1.4.

	(iso8601): Add comment explaining why we cannot use a singleton
	instance.

	(appendTag): Use XML esacpe sequences for '&', '<', '>' and
	any non-ASCII characters.

	(isStandardLevel): Moved to java.util.logging.Level.

	(format): Try to match the output of Sun J2SE 1.4 implementation,
	even where this is in violation of the their own API specification.
	See the source for details.

	(getHead): Explain why SYSTEM is a relative URL.

2002-10-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/ConsoleHandler.java: Specify correct
	LogManager configuration properties in Javadoc; implementation was ok.
	* java/util/logging/FileHandler.java (replaceFileNameEscapes):
	Fix Javadoc typo.
	(pattern): Likewise.
	* java/util/logging/Formatter.java (getHead, getTail): Better Javadoc.
	* java/util/logging/Handler.java: Re-indent Javadoc.
	* java/util/logging/LogRecord.java (setLevel): Re-indent Javadoc.

2002-10-28  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-io/javaio.c (_javaio_read): Return 0, if len == 0.
	(_javaio_write): Likewise.

2002-10-27  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipInputStream.java (getNextEntry): Throw IOException
	when stream is closed.
	(closeEntry): Likewise.
	(read): Likewise.
	* java/util/zip/ZipOutputStream.java (putNextEntry): Throw ZipException
	when no entry active.
	(closeEntry): Likewise.
	(write): Likewise.

2002-10-27  Mark Wielaard  <mark@klomp.org>

	* java/io/FileInputStream (close): Check native_fd != -1.
	* java/io/FileOutputStream.java (close): Likewise.
	* java/io/RandomAccessFile.java (close): Likewise.

2002-10-27  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (readLeShort): Take and use DataInput as
	argument.
	(readLeShort): Likewise and use byte[].
	(readLeInt): Likewise.
	(readEntries): Use new versions of methods and use byte[] for reading
	a complete zip entry. Add ZipFile name to exceptions.
	(entries): Add ZipFile name to exceptions.
	(getEntry): Likewise.
	(checkLocalHeader): Use new versions of methods and add ZipFile name
	to exceptions.

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

	* java/lang/ClassLoader.java (normalize): New method,
	(getResource): Use normalize.
	(getResources): Likewise.
	* java/net/URLClassLoader.java: Complete rewrite.

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

	* vm/reference/java/lang/Class.java (forName): Use VMClassLoader as
	bootstrap classloader when classloader == null.
	* vm/reference/java/lang/VMClassLoader.java: Indicate methods that
	should be implemented by the VM and don't rely on the
	application/system classloader to prevent circular class call
	chains.
	* java/lang/ClassLoader.java (ClassLoader): Use systemClassLoader
	directly.
	(findSystemClass): Likewise.
	(getSystemResources): Likewise.

2002-10-25  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/Class.java (getClassLoader): Return null for
	classes starting with "java." or "gnu.java.".

2002-10-25  Mark Wielaard  <mark@klomp.org>

	* java/net/URLDecoder.java (decode): Initialize Stringbuffer size to
	length of String.
	* java/net/URLEncoder.java (encode): Likewise.

2002-10-25  Wu Gansha <gansha.wu@intel.com>:

	* vm/reference/java/lang/reflect/Constructor.java (toString): Use 128
	as initial StringBuffer size.
	* vm/reference/java/lang/reflect/Field.java (toString): Use 64 as
	initial StringBuffer size.
	* vm/reference/java/lang/reflect/Method.java (equals): Explicitly
	check for null.
	(toString): Use 128 as initial StringBuffer size.

2002-10-25  Wu Gansha <gansha.wu@intel.com>:

	* java/lang/reflect/Proxy.java (ProxyType): Set loader to System
	ClassLoader when null.
	(ProxyType.hashCode): Loader null check no longer needed.
	(ProxyType.sameTypes): New method.
	(ProxyType.equals): Use new method.

2002-10-25  Mark Wielaard  <mark@klomp.org>

	* gnu/java/net/protocol/jar/JarURLConnection.java (JarFileCache.get):
	Always verify the Manifest, open read only and delete when done if
	appropriate.

2002-10-25  Wu Gansha <gansha.wu@intel.com>:

	* java/io/DataInputStream.java (convertFromUTF): Give StringBuffer an
	initial estimated size to avoid enlarge buffer frequently.

2002-10-25  Wu Gansha <gansha.wu@intel.com>:

	* java/util/ArrayList.java (readObject, writeObject): Only read/write
	size items.

2002-10-25  Mark Wielaard  <mark@klomp.org>

	* java/io/File.java: Remove all commented out security checks.
	(listFiles(FilenameFilter)): Return null when filelist == null.
	(listFiles(FileFilter)): Return null when fobjlist == null, return
	filelist when filter == null.
	* native/jni/java-io/java_io_File.c: Return empty array for empty dir.

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

	Merged patches from Wu Gansha <gansha.wu@intel.com>:
	* gnu/java/io/PlatformHelper.java (INITIAL_MAX_PATH): new constant.
	(toCanonicalForm): Use new constant to optimize StringBuffer usage.
	Return lowercase path when isWindows == true.
	* gnu/java/lang/SystemClassLoader.java (classpath): New static field.
	(pathinfos): Likewise.
	(getSystemResource): Refactored, cache partial result for each path
	item in classpath.
	* gnu/java/net/protocol/file/Handler.java (toExternalForm): New
	method implementation specific to file protocol.
	* gnu/java/net/protocol/http/HttpURLConnection.java
	(buffered_out_stream): New field.
	(connect): Don't set in_stream, wrap out_stream BufferedOutputStream.
	Move sending request and receiveing reesponce to new methods.
	(sendRequest): New method.
	(receiveReply): Likewise.
	(setRequestMethod): Accept "POST".
	(getInputStream): When in_stream == null, call SendRequest() and
	ReceiveReply().
	(getOutputStream): New method.
	* gnu/java/net/protocol/jar/Handler.java (toExternalForm): New
	optimized method.
	* gnu/java/net/protocol/jar/JarURLConnection.java (getContentLength):
	New method.
	* java/net/URL.java (URL): Remove toLowerCase() when calling this().
	* java/net/URLConnection.java (req_props): Made final, set in
	constructor using Hashtable(Map).
	(setRequestProperty): Not synchronized.
	(getRequestProperties): New method.
	* java/net/URLStreamHandler (toExternalForm): Use StringBuffer.

2002-10-16  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: Updated link to nightly japi results to
	point to alpha.gnu.org.

2002-10-10  C. Brian Jones <cbj@gnu.org>
	
	* configure.in: Fix goof I made earlier when AC_DEFINE'd stuff
	was changed since acconfig.h went away.

2002-10-10  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/Double.java (valueOf): Return new Double(parseDouble(s)).
	* native/jni/java-lang/java_lang_Double.c
	(Java_java_lang_Double_toString): Add extra brackets in if expression.
	(Java_java_lang_Double_parseDouble): Throw NullPointerException when
	str == NULL.

2002-10-10  Anthony Green  <green@redhat.com>

	* java/lang/reflect/Proxy.java: Fix checking for duplicate
	interfaces.

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

	* doc/www.gnu.org/home.wml: Updated status section, provide link
	to daily updated japicompat results against Java 2, 1.3.  Will
	use results against 1.4 when the tool supports it.

2002-10-08  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Logger.java (toString): Remove method,
	use inherited java.lang.Object.toString() instead.

2002-10-06  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/status.wml: Removed since it is no longer used.

2002-10-06  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_OUTPUT): Remove com/Makefile, com/sun/Makefile
	and com/sun/javadoc/Makefile.
	* Makefile.am (SUBDIRS): Remove com.
	* lib/Makefile.am (install-data-local): Don't copy com dir.
	(glibj.zip): Don't zip com dir.
	(maintainer-clean-local): Don't remove com dir.
	* gen-classlist.sh.in: Remove com dir from find.
	* com/.cvsignore: Removed.
	* com/Makefile.am: Removed.
	* com/sun/.cvsignore: Removed.
	* com/sun/Makefile.am: Removed.
	* com/sun/javadoc/.cvsignore: Removed.
	* com/sun/javadoc/ClassDoc.java: Removed.
	* com/sun/javadoc/ConstructorDoc.java: Removed.
	* com/sun/javadoc/Doc.java: Removed.
	* com/sun/javadoc/DocErrorReporter.java: Removed.
	* com/sun/javadoc/Doclet.java: Removed.
	* com/sun/javadoc/ExecutableMemberDoc.java: Removed.
	* com/sun/javadoc/FieldDoc.java: Removed.
	* com/sun/javadoc/MemberDoc.java: Removed.
	* com/sun/javadoc/MethodDoc.java: Removed.
	* com/sun/javadoc/PackageDoc.java: Removed.
	* com/sun/javadoc/ParamTag.java: Removed.
	* com/sun/javadoc/Parameter.java: Removed.
	* com/sun/javadoc/ProgramElementDoc.java: Removed.
	* com/sun/javadoc/RootDoc.java: Removed.
	* com/sun/javadoc/SeeTag.java: Removed.
	* com/sun/javadoc/SerialFieldTag.java: Removed.
	* com/sun/javadoc/Tag.java: Removed.
	* com/sun/javadoc/ThrowsTag.java: Removed.
	* com/sun/javadoc/Type.java: Removed.
	* com/sun/javadoc/Makefile.am: Removed.
	* NEWS: Document javadoc class move.

	* vm/reference/Makefile.am (SUBDIRS): Remove gnu.

2002-10-06  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_OUTPUT): Remove vm/reference/gnu/Makefile,
	vm/reference/gnu/vm/Makefile and vm/reference/gnu/vm/stack/Makefile.
	* gnu/java/lang/Makefile.am (EXTRA_DIST): Remove ExecutionStack.java
	and StackFrame.java.
	* gnu/java/lang/ExecutionStack.java: Removed.
	* gnu/java/lang/StackFrame.java: Removed.
	* vm/reference/gnu/.cvsignore: Removed.
	* vm/reference/gnu/Makefile.am: Removed.
	* vm/reference/gnu/vm/.cvsignore: Removed.
	* vm/reference/gnu/vm/Makefile.am: Removed.
	* vm/reference/gnu/vm/stack/.cvsignore: Removed.
	* vm/reference/gnu/vm/stack/Makefile.am: Removed.
	* vm/reference/gnu/vm/stack/StackFrame.java: Removed.
	* vm/reference/gnu/vm/stack/StackTrace.java: Removed.
	* NEWS: Explain removal.

2002-10-05  Mark Wielaard  <mark@klomp.org>

	* java/lang/Makefile.am (EXTRA_DIST): Add Throwable.java
	* vm/reference/java/lang/Makefile.am (EXTRA_DIST): Remove
	Throwable.java, add VMThrowable.java.

2002-10-04  C. Brian Jones <cbj@gnu.org>

	* .cvsignore: Ignore all automt4e*.cache files

2002-10-04  Mark Wielaard  <mark@klomp.org>

	* NEWS: Mention the new VMThrowable interface.
	* doc/vmintegration.texinfo: Update Throwable documentation.
	* java/lang/StackTraceElement (toString): Add whitespace.
	* java/lang/Throwable.java: New file.
	* vm/reference/java/lang/Throwable.java: Removed file.
	* vm/reference/java/lang/VMThrowable.java: New file.

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/net/URI.java: New stub file, by request of Giannis Georgalis.
	* java/net/Makefile.am: Added URI.java.

2002-10-03  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* java/lang/Character.java (zeroBasedStringValue): Removed.
	* java/lang/String.java (zeroBasedStringValue): Added.
	* java/lang/ProtectionDomain.java (linesep): Remove field.
	(toString): Use System.getProperty("line.separator").

2002-10-03  Stephen Crawley  <crawley@dstc.edu.au>

	* vm/reference/java/lang/Thread.java (Thread): Use root ThreadGroup,
	NORM_PRIORITY and set daemon flag to false when currentThread == null.

2002-10-03  Mark Wielaard  <mark@klomp.org>

	* configure.in: Set VERSION to 0.04+cvs.
	* gnu/classpath/Configuration.java (CLASSPATH_VERSION): New field.
	* java/lang/System.java (static): Set gnu.classpath.version property.

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

	* java/awt/CardLayout.java: Added serialVersionUID.
	* java/awt/ContainerOrderFocusTraversalPolicy.java:
	Added serialVersionUID.
	* java/awt/Cursor.java: Added serialVersionUID.
	* java/awt/Event.java: Added serialVersionUID.
	* java/awt/GridBagConstraints.java: Added serialVersionUID.
	* java/awt/GridBagLayout.java: Added serialVersionUID.
	* java/awt/GridLayout.java: Added serialVersionUID.
	* java/awt/datatransfer/DataFlavor.java: Added serialVersionUID.
	* java/awt/dnd/DragSourceContext.java: Added serialVersionUID.
	* java/awt/dnd/DropTargetContext.java: Added serialVersionUID.
	* java/beans/beancontext/BeanContextChildSupport.java:
	Added serialVersionUID.
	* java/io/Externalizable.java: Added serialVersionUID.
	* java/io/File.java: Added serialVersionUID.
	* java/io/FilePermission.java: Added serialVersionUID.
	* java/io/Serializable.java: Added serialVersionUID.
	* java/io/SerializablePermission.java: Added serialVersionUID.
	* java/net/DatagramPacket.java: New intendation.
	* java/rmi/activation/ActivationDesc.java: Added serialVersionUID.
	* java/rmi/activation/ActivationGroupDesc.java: Added serialVersionUID.
	* java/rmi/activation/ActivationID.java: Added serialVersionUID.
	* java/rmi/activation/ActivationGroupID.java: Added serialVersionUID.
	* java/security/Identity.java: Added serialVersionUID.
	* java/security/KeyPair.java: Added serialVersionUID.
	* java/security/Provider.java: Added serialVersionUID.
	* java/security/SecureRandom.java: Added serialVersionUID.
	* java/security/SecureRandomSpi.java: Added serialVersionUID.
	* java/security/SignedObject.java: Added serialVersionUID.
	* java/security/cert/Certificate.java: Added serialVersionUID.
	* java/text/Format.java: Added serialVersionUID.
	* java/util/prefs/BackingStoreException.java: Added serialVersionUID.
	* java/util/prefs/InvalidPreferencesFormatException.java:
	Added serialVersionUID.
	* javax/naming/BinaryRefAddr.java: Added serialVersionUID.
	* javax/naming/Name.java: Added serialVersionUID.
	* javax/swing/AbstractAction.java: Added serialVersionUID.
	* javax/swing/AbstractCellEditor.java: Added serialVersionUID.
	* javax/swing/AbstractListModel.java: Added serialVersionUID.
	* javax/swing/ActionMap.java: Added serialVersionUID.
	* javax/swing/ButtonGroup.java: Added serialVersionUID.
	* javax/swing/DefaultBoundedRangeModel.java: Added serialVersionUID.
	* javax/swing/DefaultButtonModel.java: Added serialVersionUID.
	* javax/swing/DefaultCellEditor.java: Added serialVersionUID.
	* javax/swing/DefaultComboBoxModel.java: Added serialVersionUID.
	* javax/swing/DefaultDesktopManager.java: Added serialVersionUID.
	* javax/swing/DefaultListCellRenderer.java: Added serialVersionUID.
	* javax/swing/DefaultSingleSelectionModel.java: Added serialVersionUID.
	* javax/swing/InputMap.java: Added serialVersionUID.
	* javax/swing/JComponent.java: Added serialVersionUID.
	* javax/swing/JMenu.java: Added serialVersionUID.
	* javax/swing/JSlider.java: Added serialVersionUID.
	* javax/swing/KeyStroke.java: Added serialVersionUID.
	* javax/swing/OverlayLayout.java: Added serialVersionUID.
	* javax/swing/ScrollPaneLayout.java: Added serialVersionUID.
	* javax/swing/SizeRequirements.java: Added serialVersionUID.
	* javax/swing/UIManager.java: Added serialVersionUID.
	* javax/swing/ViewportLayout.java: Added serialVersionUID.
	* javax/swing/border/AbstractBorder.java: Added serialVersionUID.
	* javax/swing/colorchooser/DefaultColorSelectionModel.java:
	Added serialVersionUID.
	* javax/swing/event/EventListenerList.java: Added serialVersionUID.
	* javax/swing/plaf/BorderUIResource.java: Added serialVersionUID.
	* javax/swing/plaf/IconUIResource.java: Added serialVersionUID.
	* javax/swing/plaf/basic/BasicIconFactory.java: Added serialVersionUID.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Added serialVersionUID.
	* javax/swing/table/AbstractTableModel.java: Added serialVersionUID.
	* javax/swing/table/DefaultTableCellRenderer.java:
	Added serialVersionUID.
	* javax/swing/table/DefaultTableColumnModel.java:
	Added serialVersionUID.
	* javax/swing/table/DefaultTableModel.java: Added serialVersionUID.
	* javax/swing/table/TableColumn.java: Added serialVersionUID.
	* javax/swing/text/StyledEditorKit.java: Added serialVersionUID.
	* javax/swing/tree/DefaultMutableTreeNode.java: Added serialVersionUID.
	* javax/swing/tree/DefaultTreeModel.java: Added serialVersionUID.
	* javax/swing/tree/DefaultTreeSelectionModel.java:
	Added serialVersionUID.
	* javax/swing/tree/TreePath.java: Added serialVersionUID.
	* javax/swing/undo/AbstractUndoableEdit.java: Added serialVersionUID.

2002-09-30  Michael Koch  <konqueror@gmx.de>

	* javax/naming/RefAddr:
	(addrType): addrType was never final.
	(equals): Fix typo in method name.
	* javax/naming/BinaryRefAddr:
	(equals): Fix typo in method name.

2002-09-30  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/LogManager.java (pcs): Pass the LogManager
	class object, not the singleton instance, to the constructor of the
	PropertyChangeSupport delegate. The generated PropertyChangeEvents
	now indicate the same event source as the Sun J2SE 1.4 reference
	implementation.
	
	* java/util/logging/LogManager.java (readConfiguration):
	Pass null for the property name, so listeners receive the same
	PropertyChangeEvent as they would when running Sun J2SE 1.4.
	
	* java/util/logging/LogManager.java (getLogger): Passing null
	now throws a NullPointerException, as with Sun J2SE 1.4.
	
	* java/util/logging/LogManager.java (reset): Fix a bug which
	would cause spurious NullPointerExceptions upon resetting
	the log manager configuration.  A WeakReference had not been
	checked for null.
	
	* java/util/logging/LogManager.java (getIntPropertyClamped):
	New package-private method for properties inside an integer range.

	* java/util/logging/MemoryHandler.java (constructor):
	Take configuration from log manager properties.  Docfixes.
	Throw exception for size values <= 0.

2002-09-29  C. Brian Jones <cbj@gnu.org>

	* configure.in: use AC_DEFINE templates instead of acconfig.h
	* acconfig.h: removed
	* lib/Makefile.am: make use of -target 1.1 when using Jikes

2002-09-28  C. Brian Jones <cbj@gnu.org>

	* doc/home.wml: add information on API testing with japitools and
	jdiff.sh, maybe we can get this comparison automated eventually and
	link it as well.

2002-09-28  C. Brian Jones <cbj@gnu.org>
	* doc/hacking.texinfo: Small updates to correct directory tree 
	structure, added a note about serialVersionUID and verbatim copying
	of Eric Blake's words on the mailing list.

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

	* java/awt/dnd/DragSourceAdapter.java: 
	(dragExit, dragDropEnd): Fixed argument types.
	* java/awt/dnd/DropTarget.java:
	Added stubs for all methods and the subclass.
	* java/awt/dnd/Autoscroll.java: New file.
	* java/awt/dnd/DragSourceDropEvent.java: New file.
	* java/awt/dnd/DropTargetAdapter.java: New file.
	* java/awt/dnd/DropTargetContext.java: New file.
	* java/awt/dnd/DropTargetDragEvent.java: New file.
	* java/awt/dnd/DropTargetDropEvent.java: New file.
	* java/awt/dnd/DropTargetEvent.java: New file.
	* java/awt/dnd/DropTargetListener.java: New file.
	* java/awt/dnd/MouseDragGestureRecognizer.java: New file.
	* java/awt/dnd/peer/DropTargetContextPeer.java: New file.
	* java/awt/dnd/Makefile.am: Adding all the new files.

2002-09-26  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/AppletContext.java (setStream): Fix signature typo.
	* javax/accessibility/AccessibleEditableText.java (cut, delete):
	Ditto.
	* javax/accessibility/AccessibleHyperlink.java
	(getAccessibleActionAnchor, getAccessibleActionObject): Ditto.

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

	* java/awt/Choice.java
	(remove): Fix exception documentation.
	(select): Fix exception documentation.
	* java/awt/Container.java
	(add): Fix exception documentation.
	(addImpl): Fix exception documentation.
	* java/awt/DisplayMode.java
	(equals): Fix argument type.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

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

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/zip/ZipInputStream.java (entryAtEOF): New field.
	(getNextEntry): Set it.
	(closeEntry): Likewise.
	(read): Likewise.
	(close): Likewise.
	(available): Use it.

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

	* java/util/ResourceBundle.java (tryBundle): Cache `null' if we
	didn't find a given bundle.
	(getBundle): Don't require base bundle.
	(setParent): Removed old comment.
	(tryLocalBundle): Try components even if preceding components were
	empty.

2002-09-22  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: remove old task list, refer to Savannah instead.
	Updated list of projects using GNU Classpath.

2002-09-17  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/ErrorManager.java: Verify correctness of
	constant field values.
	* java/util/logging/Logger.java,
	java/util/logging/MemoryHandler.java,
	java/util/logging/SocketHandler.java,
	java/util/logging/StreamHandler.java: Minor docfixes.

2002-09-17  Sascha Brawer  <brawer@acm.org>

	* resource/java/util/iso639_de.properties: Correct German language
	names.  Most names verified using an encyclopedia of Linguistics.

2002-09-16  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/String.java (compareToIgnoreCase): Update to use the
	new behavior documented in JDK 1.4.1.
	* java/lang/Package.java: Improve comments and formatting.
	* java/lang/System.java: Ditto.

2002-09-12  Stephen Crawley  <crawley@dstc.edu.au>

	* java/net/URLClassLoader.java: import java.io.File.

2002-09-10  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* INSTALL: Add note about installing from CVS.

2002-09-10  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* vm/reference/java/lang/Thread.java: Fix comment threat -> thread.

2002-09-10  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/VMObject.java (getClass): Removed.

2002-09-10  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java (findClass): Also construct CodeSource
	for "file" protocol.

2002-09-10  Mark Wielaard  <mark@klomp.org>

	Thanks to rzschech. Closes bug #1132.
	* gnu/java/util/prefs/NodeReader.java (readRoot): Also use "system".

2002-09-09  John Leuner  <jewel@debian.org>

	* native/fdlibm/ieeefp.h: added check for S390 arch

2002-09-02  Mark Wielaard  <mark@klomp.org>

	* lib/Makefile.am: Use --bootclasspath for gcj.
	* java/net/Socket.java (shutdownInput, shutdownOutput): Comment out
	implementation.

2002-09-02  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java (shutdonwInput, shutdownOutput, getChannel):
	re-add accidently removed code.

2002-08-30  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/Calendar.java (getTimeInMillis, getTimeInMillis): Now
	public, per 1.4 spec.

2002-08-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/net/SocketInputStream.java (read): Don't promote byte value
	to signed int. From Jeroen Frijters <jeroen@sumatra.nl>.

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

	* java/net/DatagramPacket.java: updated to JDK 1.4 API
	new methods are:
	DatagramPacket(byte[] buf, int offset, int length, SocketAddress
	address),
	DatagramPacket(byte[] buf, int length, SocketAddress address),
	void setSocketAddress(SocketAddress address)
	public SocketAddress getSocketAddress()

2002-08-28  Michael Koch <konqueror@gmx.de>

	* java/net/InetSocketAddress.java: Added some documentation and argument
	checks for the port numbers.
	* java/net/DatagramSocketImplFactory.java: New file.

2002-08-28  Michael Koch <konqueror@gmx.de>

	* javax/swing/colorchooser/.cvsignore,
	javax/swing/filechooser/.cvsignore,
	javax/swing/text/html/.cvsignore,
	javax/swing/text/html/parser/.cvsignore: added some CVS ignore files.

2002-08-28  Michael Koch <konqueror@gmx.de>

	* java/net/Authenticator.java: added some documentation.

2002-08-27  Michael Koch <konqueror@gmx.de>

	* java/net/BindException.java,
	java/net/JarURLConnection.java,
	java/net/FileNameMap.java,
	java/net/HttpURLConnection.java,
	java/net/InetSocketAddress.java,
	java/net/DatagramPacket.java,
	java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java,
	java/net/MulticastSocket.java,
	java/net/PasswordAuthentication.java,
	java/net/ServerSocket.java,
	java/net/Socket.java,
	java/net/URLClassLoader.java,
	java/net/URLConnection.java: add/update of some @since/@deprecated
	
2002-08-26  Michael Koch  <konqueror@gmx.de>

	* java/net/Authenticator.java,
	java/net/ContentHandler.java: Merge with libgcj. 
	Updated to JDK 1.4 compatibility.
	
2002-08-20  Tom Tromey  <tromey@redhat.com>

	* vm/reference/java/lang/Runtime.java (exec): Pass `dir' argument
	to execInternal.
	(execInternal): Accept `dir' argument.
	* NEWS: Updated.

2002-08-18  Mark Wielaard <mark@klomp.org>

	* gnu/classpath/Configuration.java.in: Add CLASSPATH_HOME field.
	* java/lang/System.java: Set gnu.classpath.home property.
	* java/security/Security.java: Use java.home are gnu.classpath.home
	to load providers.
	(loadProviders): Extra dir argument.
	(getProvider): Return null when not found.

2002-08-19  Tom Tromey  <tromey@redhat.com>

	* NEWS: Updated for Runtime change.
	* vm/reference/java/lang/Runtime.java (exec): Don't create new
	environment if ENV==null.
	(execInternal): Updated documentation.

2002-08-15  Mark Wielaard <mark@klomp.org>

	* gnu/java/io/encode/Encoder.java (convertToBytes): Use offset and
	len arguments.

2002-08-13  Philip Fong <pwlfong@users.sourceforge.net>

	* java/security/SecureClassLoader.java (SecureClassLoader): Only
	create ProtectionDomain when CodeSource is not null. Don't catch and
	ignore ClassFormatError.

2002-08-13  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* native/jni/java-util/java_util_TimeZone.c
	(Java_java_util_TimeZone_getDefaultTimeZoneId): Add standard jni doc
	and remove call to NewGlobalRef.
	* native/jni/java-lang/java_lang_Double.c: Clean up jni docs.
	* native/jni/java-io/java_io_File.c: Likewise.
	* native/jni/java-io/java_io_FileDescriptor.c: Likewise.
	* native/jni/java-io/java_io_FileInputStream.c: Likewise.
	* native/jni/java-io/java_io_FileOutputStream.c: Likewise.
	* native/jni/java-io/java_io_ObjectInputStream.c: Likewise.
	* native/jni/java-io/java_io_ObjectOutputStream.c: Likewise.
	* native/jni/java-io/java_io_RandomAccessFile.c: Likewise.

2002-08-13  Mark Wielaard <mark@klomp.org>

	* java/lang/Character.java (zeroBasedStringValue): New method.
	(blocks): Use zeroBasedStringValue().
	(data): Likewise.
	(numValue): Likewise.
	(upper): Likewise.
	(lower): Likewise.
	(direction): Likewise.
	(title): Likewise.
	* java/lang/String.java (upperExpand): Use zeroBasedStringValue() from
	Character.
	(upperSpecial): Likewise.

2002-08-11  Etienne M. Gagnon <etienne.gagnon@uqam.ca>

	* 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,
	gnu/java/locale/iso3166-a3.properties,
	gnu/java/locale/iso3166.properties,
	gnu/java/locale/iso3166_de.properties,
	gnu/java/locale/iso639-a2-old.properties,
	gnu/java/locale/iso639-a3.properties,
	gnu/java/locale/iso639.properties,
	gnu/java/locale/iso639_de.properties,
	gnu/java/locale/iso639_fr.properties,
	gnu/java/locale/iso639_ga.properties,
	gnu/java/rmi/dgc/DGCImpl_Skel.java,
	gnu/java/rmi/dgc/DGCImpl_Stub.java,
	gnu/java/rmi/registry/RegistryImpl_Skel.java,
	gnu/java/rmi/registry/RegistryImpl_Stub.java,
	resource/gnu/java/awt/peer/gtk/font.properties,
	resource/java/security/classpath.security,
	resource/java/util/iso3166-a3.properties,
	resource/java/util/iso3166.properties,
	resource/java/util/iso3166_de.properties,
	resource/java/util/iso639-a2-old.properties,
	resource/java/util/iso639-a3.properties,
	resource/java/util/iso639.properties,
	resource/java/util/iso639_de.properties,
	resource/java/util/iso639_fr.properties,
	resource/java/util/iso639_ga.properties: Added missing copyright
	statement.  

2002-08-11  Etienne M. Gagnon <etienne.gagnon@uqam.ca>

	* java/nio/channels/spi/AbstractChannel.java,
	java/nio/channels/spi/AbstractInterruptibleChannel.java,
	java/nio/channels/spi/AbstractSelectableChannel.java,
	java/nio/channels/spi/AbstractSelectionKey.java,
	java/nio/channels/spi/AbstractSelector.java,
	java/nio/channels/spi/SelectorProvider.java,
	javax/swing/BorderFactory.java, 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,
	javax/swing/table/DefaultTableCellRenderer.java: Added missing
	copyright statement.  

2002-07-31  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/Frame.java (Frame): Remove println calls.

2002-07-30   Mark Wielaard  <mark@klomp.org>

	* java/lang/String.java (equals): Also check offset when value is the
	same.

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

	* java/nio/channels/AlreadyConnectedException.java: Extend
	IllegalStateException, per spec.

	* java/nio/ByteOrder.java (toString): Simplified; now conforms to
	spec.
	(BIG_ENDIAN, LITTLE_ENDIAN): Reordered modifiers.
	(nativeOrder): Now public, per spec.
	(ByteOrder): Class now final, per spec.
	(ByteOrder()): New constructor.

2002-07-24  Mark Wielaard  <mark@klomp.org>

	* java/awt/image/MemoryImageSource.java: Change constructor to take
	int[] not byte[].
	* java/awt/Graphics2D.java: Uncomment methods that can now be
	compiled.
	* java/awt/GridBagLayout.java: New stub implementation.
	* java/awt/Makefile.am (EXTRA_DIST): Add GridBagLayout.java.
	* java/awt/dnd/.cvsignore: New file.
	* javax/swing/text/Makefile.am: Add SUBDIRS=html.
	* javax/swing/text/html/HTML.java: Stub implementation.
	* javax/swing/text/html/Makefile.am: New file.
	* javax/swing/text/html/parser/Makefile.am: Likewise.
	* javax/swing/text/html/parser/ParserDelegator.java: New stub
	implementation.
	* javax/swing/text/html/parser/package.html: New file.
	* configure.in (AC_OUTPUT): Add javax/swing/text/html/Makefile and
	javax/swing/text/html/parser/Makefile.


2002-07-23  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
	MessageDigestSpi (fixes bug #783).

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

	* gnu/java/security/provider/Gnu.java: Reference all implementation
	classes by using Class.getName().

2002-07-16  Mark Wielaard  <mark@klomp.org>

	* java/io/StreamTokenizer.java (pushBack): Update documentation.
	(whitespaceChars): call resetChar().

2002-07-14  Mark Wielaard  <mark@klomp.org>

	* javax/transaction/InvalidTransactionException.java,
	javax/transaction/TransactionRequiredException.java,
	javax/transaction/TransactionRolledbackException.java,
	javax/transaction/xa/XAException.java,
	javax/transaction/xa/XAResource.java,
	javax/transaction/xa/Xid.java: New files from libgcj.

2002-07-14  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/provider/DefaultPolicy.java: Remove commented out
	code.
	* gnu/java/security/provider/SHA.java: Likewise.

2002-07-14  Scott Ananian  <cananian@lesser-magoo.lcs.mit.edu>

	* java/lang/AssertionError.java: Documentation updates.
	* java/net/Authenticator.java: Likewise.
	* java/net/DatagramSocketImpl.java: Likewise.
	* java/net/SocketAddress.java: Likewise.

2002-07-12  Mark Wielaard  <mark@klomp.org>

	* java/lang/Character.java (toString(char)): use ch not value.

2002-07-12  Jesse Rosenstock  <jmr@fulcrummicro.com>

	* java/lang/Character.java (toString(char)): Now static.

2002-07-11  Mark Wielaard  <mark@klomp.org>

	Thanks to Jeroen Frijters <jeroen@sumatra.nl>
	* java/io/FileInputStream.java (native_fd): Initialize to -1.
	* java/io/FileOutputStream.java (native_fd): Likewise.

2002-07-06  Jochen Hoenicke <jochen@gnu.org>

	* java/util/zip/InflaterDynHeader.java (decode): Use a single
	array for litlen and dist codes. This fixes the bug where a 
	repeat code spans over both arrays. Rewrote the code.
	(builtLitLenTree): This function now needs to split the common
	litdistLens array.
	(builtDistTree): Likewise.

2002-07-05  Jochen Hoenicke <jochen@gnu.org>

	* java/util/zip/Inflater.java
	(inflate): Handle zero length.  Fully check for
	ArrayIndexOutOfBoundsException.

	* java/util/zip/DeflaterEngine.java
	(slideWindow): New function, takes out some code from fillWindow.
	Slide the prev array too, and handle head/prev values as unsigned.
	(deflateFast): Always slide window when strstart + MIN_LOOKAHEAD
	falls out of window.  This is needed when we are flushing.
	(deflateSlow): Likewise.

2002-07-02  Tom Tromey  <tromey@redhat.com>
	    David Hovemeyer  <daveho@cs.umd.edu>

	* java/text/ChoiceFormat.java
	(format(double,StringBuffer,FieldPosition)): Fix fencepost error
	in check loop.
	* java/text/MessageFormat.java
	(format(Object[],StringBuffer,FieldPosition): Pass all arguments
	to MessageFormat.

2002-06-23  John Leuner  <jewel@debian.org>

	* java/lang/String.java (trim): Take into account offset added by substring

2002-06-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Reformat JDBC classes and add new JDK 1.4 classes and methods.

	* java/sql/ParameterMetaData.java, java/sql/SQLPermission.java,
	java/sql/Savepoint.java: New files.
	* java/sql/Array.java, java/sql/BatchUpdateException.java,
	java/sql/Blob.java, java/sql/CallableStatement.java,
	java/sql/Clob.java, java/sql/Connection.java,
	java/sql/DataTruncation.java, java/sql/DatabaseMetaData.java,
	java/sql/Date.java, java/sql/Driver.java, java/sql/DriverManager.java,
	java/sql/DriverPropertyInfo.java, java/sql/PreparedStatement.java,
	java/sql/Ref.java, java/sql/ResultSet.java,
	java/sql/ResultSetMetaData.java, java/sql/SQLData.java
	java/sql/SQLException.java, java/sql/SQLInput.java,
	java/sql/SQLOutput.java, java/sql/SQLWarning.java
	java/sql/Statement.java, java/sql/Struct.java, java/sql/Time.java,
	java/sql/Timestamp.java, java/sql/Types.java: Updated to JDBC 3.0
	(JDK 1.4) specification.
	* javax/sql/ConnectionEvent.java, 
	javax/sql/ConnectionEventListener.java,
	javax/sql/ConnectionPoolDataSource.java,
	javax/sql/DataSource.java, javax/sql/PooledConnection.java,
	javax/sql/RowSetEvent.java, javax/sql/RowSetInternal.java,
	javax/sql/RowSet.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: New files.
	* java/sql/Makefile.am: Add new files.
	* javax/sql/Makefile.am: New.
	* javax/sql/package.html: New.

2002-06-18  Tom Tromey  <tromey@redhat.com>

	* java/lang/ThreadGroup.java (enumerate(Thread[],int,boolean): Get
	groups from `groups' Vector.

2002-06-16  Tom Tromey  <tromey@redhat.com>

	* java/io/LineNumberInputStream.java: Merged with libgcj version.

2002-06-13  Tom Tromey  <tromey@redhat.com>

	Fix for Mauve regressions:
	* java/lang/Long.java (toString): Don't assume decimal output when
	argument is MIN_VALUE.
	(toUnsignedString): Don't use Integer.toUnsignedString when NUM is
	negative.
	(parseLong): Correctly handle all overflow cases.
	* java/lang/Integer.java (toString): Don't assume decimal output
	when argument is MIN_VALUE.
	(parseInt): Correctly handle all overflow cases.

2002-06-03  Tom Tromey  <tromey@redhat.com>

	* java/util/zip/ZipEntry.java (clone): Copy `extra' field.
	* java/util/zip/ZipInputStream.java (getNextEntry): Use
	createZipEntry.

2002-05-30  John Leuner  <jewel@debian.org>

	* java/util/zip/*java: Changed to use default character 
	encoding instead of UTF8 for zip comments.
	
	* lib/jazzlib/makeJazzlibDist.sh: Changed to use zsh. 
	Builds .zip and .jar files too.
	
2002-05-28  Andrew Selkirk  <aselkirk@sympatico.ca>

	* configure.in: Updated with colorchooser and filechooser dirs.

2002-05-28  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/AbstractAction.java: Updated.
	* javax/swing/AbstractButton.java: Updated.
	* javax/swing/AbstractCellEditor.java: New file.
	* javax/swing/CellRendererPane.java: New file.
	* javax/swing/ComponentInputMap.java: Updated.
	* javax/swing/DebugGraphics.java: New file.
	* javax/swing/DefaultCellEditor.java: New file.
	* javax/swing/DefaultComboBoxModel.java: New file.
	* javax/swing/DefaultDesktopManager.java: New file.
	* javax/swing/DefaultFocusManager.java: New file.
	* javax/swing/DefaultListCellRenderer.java: New file.
	* javax/swing/DefaultSingleSelectionModel.java: New file.
	* javax/swing/FocusManager.java: New file.
	* javax/swing/JCheckBoxMenuItem.java: New file.
	* javax/swing/JColorChooser.java: New file.
	* javax/swing/JComboBox.java: New file.
	* javax/swing/JComponent.java: Updated.
	* javax/swing/JDesktopPane.java: New file.
	* javax/swing/JFileChooser.java: New file.
	* javax/swing/JMenu.java: New file.
	* javax/swing/JMenuItem.java: New file.
	* javax/swing/JPasswordField.java: New file.
	* javax/swing/JPopupMenu.java: New file.
	* javax/swing/JProgressBar.java: New file.
	* javax/swing/JRadioButtonMenuItem.java: New file.
	* javax/swing/JSeparator.java: New file.
	* javax/swing/JSlider.java: New file.
	* javax/swing/JSplitPane.java: New file.
	* javax/swing/JTextField.java: Updated.
	* javax/swing/JTextPane.java: New file.
	* javax/swing/JToolBar.java: New file.
	* javax/swing/Makefile.am: Updated.
	* javax/swing/OverlayLayout.java: New file.
	* javax/swing/ProgressMonitor.java: New file.
	* javax/swing/ProgressMonitorInputStream.java: New file.
	* javax/swing/RepaintManager.java: New file.
	* javax/swing/ScrollPaneLayout.java: New file.
	* javax/swing/ToolTipManager.java: New file.
	* javax/swing/ViewportLayout.java: New file.
	* javax/swing/colorchooser/AbstractColorChooserPanel.java: New file.
	* javax/swing/colorchooser/ColorChooserComponentFactory.java: New file.
	* javax/swing/colorchooser/ColorSelectionModel.java: New file.
	* javax/swing/colorchooser/DefaultColorSelectionModel.java: New file.
	* javax/swing/colorchooser/Makefile.am: New file.
	* javax/swing/colorchooser/package.html: New file.
	* javax/swing/filechooser/FileFilter.java: New file.
	* javax/swing/filechooser/FileSystemView.java: New file.
	* javax/swing/filechooser/FileView.java: New file.
	* javax/swing/filechooser/Makefile.am: New file.
	* javax/swing/filechooser/package.html: New file.
	* javax/swing/plaf/ActionMapUIResource.java: New file.
	* javax/swing/plaf/ColorChooserUI.java: New file.
	* javax/swing/plaf/ComboBoxUI.java: New file.
	* javax/swing/plaf/ComponentInputMapUIResource.java: New file.
	* javax/swing/plaf/DesktopIconUI.java: New file.
	* javax/swing/plaf/DesktopPaneUI.java: New file.
	* javax/swing/plaf/FileChooserUI.java: New file.
	* javax/swing/plaf/InputMapUIResource.java: New file.
	* javax/swing/plaf/InternalFrameUI.java: New file.
	* javax/swing/plaf/Makefile.am: Updated.
	* javax/swing/plaf/MenuBarUI.java: New file.
	* javax/swing/plaf/MenuItemUI.java: New file.
	* javax/swing/plaf/PopupMenuUI.java: New file.
	* javax/swing/plaf/ProgressBarUI.java: New file.
	* javax/swing/plaf/RootPaneUI.java: New file.
	* javax/swing/plaf/ScrollBarUI.java: New file.
	* javax/swing/plaf/ScrollPaneUI.java: Updated.
	* javax/swing/plaf/SeparatorUI.java: New file.
	* javax/swing/plaf/SliderUI.java: New file.
	* javax/swing/plaf/SplitPaneUI.java: New file.
	* javax/swing/plaf/TableHeaderUI.java: New file.
	* javax/swing/plaf/TableUI.java: New file.
	* javax/swing/plaf/ToolBarUI.java: New file.
	* javax/swing/plaf/ToolTipUI.java: New file.
	* javax/swing/text/JTextComponent.java: Updated.
	* javax/swing/text/MutableAttributeSet.java: New file.
	* javax/swing/text/StyledDocument.java: New file.
	* javax/swing/text/StyledEditorKit.java: New file.
	* javax/swing/text/TextAction.java: New file.

2002-05-26  Mark Wielaard  <mark@klomp.org>

	* java/util/TimerTask.java:  Fix javadoc code example.

2002-05-23  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: add blurb about Mauve

2002-05-21  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/DefaultBoundedRangeModel.java: New file.
	* javax/swing/Makefile.am: Updated.

2002-05-21  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/Makefile.am: Updated.
	* javax/swing/SizeRequirements.java: New file.
	* javax/swing/SizeSequence.java: New file.

2002-05-20  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/Makefile.am: Updated.

2002-05-20  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/AbstractListModel.java: Updated.
	* javax/swing/BoundedRangeModel.java: Compile fix.

2002-05-20  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/Action.java: Updated.
	* javax/swing/ActionMap.java: New file.
	* javax/swing/BoundedRangeModel.java: New file.
	* javax/swing/ComboBoxEditor.java: New file.
	* javax/swing/ComboBoxModel.java: New file.
	* javax/swing/DefaultListModel.java: New file (unstubbed).
	* javax/swing/DesktopManager.java: New file.
	* javax/swing/CellEditor.java: New file (unstubbed).
	* javax/swing/InputMap.java: New file (unstubbed).
	* javax/swing/InputVerifier.java: New file.
	* javax/swing/KeyStroke.java: New file (unstubbed).
	* javax/swing/MenuElement.java: New file (unstubbed).
	* javax/swing/MutableComboBoxModel.java: New file.
	* javax/swing/Renderer.java: New file.
	* javax/swing/RootPaneContainer.java: New file.
	* javax/swing/ScrollPaneConstants.java: New file.
	* javax/swing/SingleSelectionModel.java: New file.
	* javax/swing/WindowConstants.java: New file.

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

	* java/util/TimeZone.java: Removed some FIXME comments.

2002-05-11  Mark Wielaard  <mark@klomp.org>

	* gnu/java/text/SentenceBreakIterator.java (next): Skip all java white
	space characters.
	(previous_internal): Likewise.

2002-05-08  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/AlphaComposite.java: Import Map, so workaround works.

2002-05-08  Mark Wielaard  <mark@klomp.org>

	* java/awt/AlphaComposite.java (cache.removeEldestEntry): Use fully
	qualified Map.Entry, not just Entry as gcj 3.1 workaround.

2002-05-08  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Add java/awt/dnd/peer, java/nio/charset/spi.
	* gnu/java/awt/EventModifier.java: New file (split from
	java.awt.event.InputEvent).
	* gnu/java/awt/Makefile.am: Add EventModifier.
	* gnu/java/awt/peer/gtk/GtkToolkit.java: Add missing methods.
	* java/nio/charset/Makefile.am (SUBDIRS): Visit spi.
	* java/nio/charset/spi/.cvsignore: New file.
	* java/nio/charset/spi/Makefile.am: New file.
	* java/nio/charset/spi/package.html: New file.
	* java/nio/charset/spi/CharsetProvider.java: New file.
	* java/awt/Toolkit.java: Add missing methods, some formatting.
	* java/awt/Window.java: Formatting.
	* java/awt/datatransfer/FlavorTable.java: New file.
	* java/awt/datatransfer/Makefile.am: Add FlavorTable.
	* java/awt/datatransfer/Transferable.java: Update to 1.4.
	* java/awt/dnd/DnDConstants.java: New file.
	* java/awt/dnd/DragGestureEvent.java: New file.
	* java/awt/dnd/DragGestureListener.java: New file.
	* java/awt/dnd/DragGestureRecognizer.java: New file.
	* java/awt/dnd/DragSource.java: New file.
	* java/awt/dnd/DragSourceAdapter.java: New file.
	* java/awt/dnd/DragSourceContext.java: New file.
	* java/awt/dnd/DragSourceDragEvent.java: New file.
	* java/awt/dnd/DragSourceEvent.java: New file.
	* java/awt/dnd/DragSourceListener.java: New file.
	* java/awt/dnd/DragSourceMotionListener.java: New file.
	* java/awt/dnd/InvalidDnDOperationException.java: New file.
	* java/awt/dnd/Makefile.am: Update for new files.
	* java/awt/dnd/peer/.cvsignore: New file.
	* java/awt/dnd/peer/DragSourceContextPeer.java: New file.
	* java/awt/dnd/peer/Makefile.am: New file.
	* java/awt/dnd/peer/package.html: New file.
	* java/awt/event/InputEvent.java: Update modifier handling to use
	gnu.java.awt.EventModifier.
	* java/awt/event/KeyEvent.java: Ditto.
	* java/awt/event/MouseEvent.java: Ditto.
	* java/util/Makefile.am (SUBDIRS): Alphabetize.

2002-05-07  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Color.java: Tweak to work with SystemColor.
	* java/awt/ColorPaintContext.java: New file (split out from
	Color.java).
	* java/awt/Component.java: More javadoc.
	* java/awt/Container.java: Formatting, stub 1.4 methods.
	(LightweightDispatcher): Add class.
	* java/awt/Image.java: Update to 1.4.
	* java/awt/KeyboardFocusManager.java (downFocusCycle): Fix typo.
	* java/awt/Makefile.am (EXTRA_DIST): Add ColorPaintContext.
	* java/awt/SystemColor.java: Update to 1.4.

2002-05-07  Mark Wielaard  <mark@klomp.org>

	* java/awt/image/renderable/package.html: New stub package file.
	* java/awt/image/renderable/Makefile.am (EXTRA_DIST): Add package.html

2002-05-07  Mark Wielaard  <mark@klomp.org>

	* javax/accessibility/AccessibleContext.java: Fix javadoc to fully
	qualify java.awt.IllegalComponentStateException.

2002-05-07  Etienne M. Gagnon  <etienne.gagnon@uqam.ca>

	* native/jni/java-io/java_nio.c: Fixed file title in copyright notice.

2002-05-06  Eric Blake  <ebb9@email.byu.edu>

	* Makefile.am (SUBDIRS): Alphabetize.
	* java/util/AbstractList.java (SubList): Increase member
	visibility for fewer accessor methods.
	* java/util/Hashmap.java (getEntry): Ditto.
	* java/util/Hashtable.java (getEntry): Ditto.
	* java/util/LinkedList.java (getEntry, removeEntry): Ditto.
	* java/util/WeakHashMap.java (buckets, internalRemove): Ditto.

2002-05-06  Mark Wielaard <mark@klomp.org>

	* java/awt/geom/PathIterator.java: Update javadoc to fully qualify
	java.util.NoSuchElementException.

2002-05-06  Mark Wielaard <mark@klomp.org>

	* java/util/regex/PatternSyntaxException.java: package java.util.regex,
	not regexp.
	* java/lang/String.java: import likewise.

2002-05-06  Mark Wielaard <mark@klomp.org>

	* java/applet/Makefile.am (EXTRA_DIST): Add package.html
	* java/awt/color/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/dnd/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/im/spi/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/im/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/datatransfer/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/event/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/font/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/geom/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/image/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/peer/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/print/Makefile.am (EXTRA_DIST): Likewise.
	* java/awt/Makefile.am (EXTRA_DIST): Likewise.
	* java/beans/beancontext/Makefile.am (EXTRA_DIST): Likewise.
	* java/beans/Makefile.am (EXTRA_DIST): Likewise.
	* java/io/Makefile.am (EXTRA_DIST): Likewise.
	* java/lang/ref/Makefile.am (EXTRA_DIST): Likewise.
	* java/lang/reflect/Makefile.am (EXTRA_DIST): Likewise.
	* java/lang/Makefile.am (EXTRA_DIST): Likewise.
	* java/math/Makefile.am (EXTRA_DIST): Likewise.
	* java/net/Makefile.am (EXTRA_DIST): Likewise.
	* java/rmi/activation/Makefile.am (EXTRA_DIST): Likewise.
	* java/rmi/dgc/Makefile.am (EXTRA_DIST): Likewise.
	* java/rmi/registry/Makefile.am (EXTRA_DIST): Likewise.
	* java/rmi/server/Makefile.am (EXTRA_DIST): Likewise.
	* java/rmi/Makefile.am (EXTRA_DIST): Likewise.
	* java/security/acl/Makefile.am (EXTRA_DIST): Likewise.
	* java/security/cert/Makefile.am (EXTRA_DIST): Likewise.
	* java/security/interfaces/Makefile.am (EXTRA_DIST): Likewise.
	* java/security/spec/Makefile.am (EXTRA_DIST): Likewise.
	* java/security/Makefile.am (EXTRA_DIST): Likewise.
	* java/sql/Makefile.am (EXTRA_DIST): Likewise.
	* java/text/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/jar/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/zip/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/prefs/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/logging/Makefile.am (EXTRA_DIST): Likewise.
	* java/util/regex/Makefile.am (EXTRA_DIST): Likewise and
	PatternSyntaxException.java.
	* java/nio/channels/spi/Makefile.am (EXTRA_DIST): Likewise.
	* java/nio/channels/Makefile.am (EXTRA_DIST): Likewise.
	* java/nio/charset/Makefile.am (EXTRA_DIST): Likewise.
	* java/nio/Makefile.am (EXTRA_DIST): Likewise.
	* javax/accessibility/Makefile.am (EXTRA_DIST): Likewise.
	* javax/naming/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/border/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/event/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/table/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/plaf/basic/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/plaf/metal/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/plaf/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/text/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/tree/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/undo/Makefile.am (EXTRA_DIST): Likewise.
	* javax/swing/Makefile.am (EXTRA_DIST): Likewise.

2002-05-06  Mark Wielaard <mark@klomp.org>

	* java/awt/Choice.java: Fix javadoc spelling mistake.
	* java/awt/im/spi/InputMethodContext.java: Import HeadlessException.
	* java/awt/image/PixelGrabber.java: Fix javadoc spelling mistake.
	* java/io/File.java: Likewise.
	* java/lang/String.java: Likewise.
	* java/security/AccessController.java: Likewise.
	* java/sql/DatabaseMetaData.java: Likewise.
	* java/util/Arrays.java: Likewise.
	* java/util/prefs/AbstractPreferences.java: Likewise.
	* java/util/prefs/Preferences.java: Likewise.
	* java/util/zip/Inflater.java: Likewise.
	* java/util/regex/PatternSyntaxException.java: New class.

2002-05-06  Mark Wielaard <mark@klomp.org>

	* java/applet/package.html: Add stub package description fo gjdoc.
	* java/awt/color/package.html: Likewise.
	* java/awt/dnd/package.html: Likewise.
	* java/awt/im/spi/package.html: Likewise.
	* java/awt/im/package.html: Likewise.
	* java/awt/datatransfer/package.html: Likewise.
	* java/awt/event/package.html: Likewise.
	* java/awt/font/package.html: Likewise.
	* java/awt/geom/package.html: Likewise.
	* java/awt/image/package.html: Likewise.
	* java/awt/peer/package.html: Likewise.
	* java/awt/print/package.html: Likewise.
	* java/awt/package.html: Likewise.
	* java/beans/beancontext/package.html: Likewise.
	* java/beans/package.html: Likewise.
	* java/io/package.html: Likewise.
	* java/lang/ref/package.html: Likewise.
	* java/lang/reflect/package.html: Likewise.
	* java/lang/package.html: Likewise.
	* java/math/package.html: Likewise.
	* java/net/package.html: Likewise.
	* java/rmi/activation/package.html: Likewise.
	* java/rmi/dgc/package.html: Likewise.
	* java/rmi/registry/package.html: Likewise.
	* java/rmi/server/package.html: Likewise.
	* java/rmi/package.html: Likewise.
	* java/security/acl/package.html: Likewise.
	* java/security/cert/package.html: Likewise.
	* java/security/interfaces/package.html: Likewise.
	* java/security/spec/package.html: Likewise.
	* java/security/package.html: Likewise.
	* java/sql/package.html: Likewise.
	* java/text/package.html: Likewise.
	* java/util/jar/package.html: Likewise.
	* java/util/zip/package.html: Likewise.
	* java/util/package.html: Likewise.
	* java/util/prefs/package.html: Likewise.
	* java/util/logging/package.html: Likewise.
	* java/util/regex/package.html: Likewise.
	* java/nio/channels/spi/package.html: Likewise.
	* java/nio/channels/package.html: Likewise.
	* java/nio/charset/package.html: Likewise.
	* java/nio/package.html: Likewise.
	* javax/accessibility/package.html: Likewise.
	* javax/naming/package.html: Likewise.
	* javax/swing/border/package.html: Likewise.
	* javax/swing/event/package.html: Likewise.
	* javax/swing/table/package.html: Likewise.
	* javax/swing/plaf/basic/package.html: Likewise.
	* javax/swing/plaf/metal/package.html: Likewise.
	* javax/swing/plaf/package.html: Likewise.
	* javax/swing/text/html/package.html: Likewise.
	* javax/swing/text/package.html: Likewise.
	* javax/swing/tree/package.html: Likewise.
	* javax/swing/undo/package.html: Likewise.
	* javax/swing/package.html: Likewise.

2002-05-05  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: Announcements section removed; we use
	the News section of Savannah instead.  Old announcements linked
	under documentation.
	Status information will be transitioning to Savannah Tasks system.
	Clarified affect of Classpath license upon JVM license.
	Added project menu bar from Savannah to top of web page.
	Removed mailing list information on this page, it is more detailed
	on the Lists link at the top of the page.
	Last modified author update
	* doc/www.gnu.org/announce/announcements.wml: last modified author
	* doc/www.gnu.org/include/macros.wml (header): Moved title to
	the right of droplet and enlarged text.
	Updated copyright date.
	* BUGS: update URL for submitting bugs
	* HACKING: update date; clarify via punctuation modification of
	vm/reference classes.
	* configure.in: added --enable-gtk-peer from Carlos Cavanna
	Updated version to 0.04; configure java/util/logging,
	java/util/regex
	* native/Makefile.am: SUBDIRS typo fixed
	* native/jni/Makefile.am: SUBDIRS conditionally defined based on
	--enable-gtk-peer
	* INSTALL: update with mention of --enable-gtk-peer, typo fixed
	* NEWS: updated for 0.04 release
	* README: updated with AegisVM, note failure to run with ORP 1.0.9
	* TODO: removed duplicate information on where packages currently
	stand, too hard to keep up to date in multiple places.
	* THANKYOU: add Carlos Cavanna
	* java/util/logging/Makefile.am: new file
	* java/util/regex/Makefile.am: new file
	* java/util/regex/.cvsignore: new file
	* gnu/java/awt/peer/gtk/Makefile.am: EXTRA_DIST updated
	* gnu/java/locale/Makefile.am: ditto
	* java/awt/Makefile.am: ditto
	* java/net/Makefile.am: ditto
	* java/util/Makefile.am: ditto
	* java/util/zip/Makefile.am: ditto
	* javax/accessibility/Makefile.am: ditto
	* javax/swing/Makefile.am: ditto
	* javax/swing/plaf/Makefile.am: ditto
	* javax/swing/table/Makefile.am: ditto

2002-05-05  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/Applet.java (getAccessibleState): Update.
	* java/awt/AWTEvent.java (INPUT_ENABLED_EVENT_MASK): New flag.
	* java/awt/AWTKeyStroke.java (keyCode): Make more visible.
	* java/awt/AlphaComposite.java: New file (needs documentation).
	* java/awt/AttributeValue.java: New file.
	* java/awt/BasicStroke.java: New file (needs docs).
	* java/awt/BufferCapabilities.java: New file (needs docs).
	* java/awt/Button.java (getActionListeners, getListeners): Use new
	features of AWTEventMulticater.
	* java/awt/Component.java: Partial update to 1.4.
	* java/awt/ComponentOrientation.java: Update to 1.4.
	* java/awt/Container.java (getContainerListeners, getListeners):
	Use new features of AWTEventMulticaster.
	* java/awt/ContainerOrderFocusTraversalPolicy.java: New
	file (stubbed, needs docs).
	* java/awt/DefaultFocusTraversalPolicy.java: New file (stubbed).
	* java/awt/DefaultKeyboardFocusManager.java: New file (stubbed).
	* java/awt/FocusTraversalPolicy.java: New file (needs docs).
	* java/awt/GradientPaint.java: New file (stubbed).
	* java/awt/GraphicsConfiguration.java: Update to 1.4.
	* java/awt/ImageCapabilities.java: New file (stubbed).
	* java/awt/Insets.java: Update to 1.4.
	* java/awt/JobAttributes.java: New file (needs docs).
	* java/awt/KeyboardFocusManager.java: New file (partially
	stubbed).
	* java/awt/Makefile.am (EXTRA_DIST): Account for new files.
	* java/awt/MenuItem.java (getActionListeners, getListeners): Use
	new features of AWTEventMulticaster.
	* java/awt/PageAttributes.java: New file (needs docs).
	* java/awt/PaintContext.java (paint): Remove redundant keyword.
	* java/awt/PrintJob.java: Update to 1.4.
	* java/awt/RenderingHints.java: Partial update to 1.4 (needs docs).
	* java/awt/Robot.java: New file (stubbed).
	* java/awt/TexturePaint.java: New file (stubbed).
	* java/awt/Window.java (getWindowListeners, getListeners): Use new
	features of AWTEventMulticaster.
	* java/awt/geom/Arc2D.java: Implement and document.
	* java/awt/geom/Rectangle2D.java: Fix doc typo.

2002-05-05  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Add java/awt/image/renderable.
	* java/awt/image/BufferStrategy.java: New file (needs docs).
	* java/awt/image/BufferedImageOp.java: Ditto.
	* java/awt/image/RenderedImage.java: Ditto.
	* java/awt/image/TileObserver.java: Ditto.
	* java/awt/image/VolatileImage.java: Ditto.
	* java/awt/image/WritableRenderedImage.java: Ditto.
	* java/awt/image/renderable/ContextualRenderedImageFactory.java:
	Ditto.
	* java/awt/image/renderable/ParameterBlock.java: Ditto.
	* java/awt/image/renderable/RenderContext.java: Ditto.
	* java/awt/image/renderable/RenderableImage.java: Ditto.
	* java/awt/image/renderable/RenderableImageOp.java: Ditto.
	* java/awt/image/renderable/RenderableImageProducer.java: Ditto.
	* java/awt/image/renderable/RenderedImageFactory.java: Ditto.
	* java/awt/image/Makefile.am: Account for new files.
	* java/awt/image/renderable/.cvsignore: New file.
	* java/awt/image/renderable/Makefile.am: New file.

2002-05-04  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: include information on AegisVM, use a
	table to list JVMs and descriptions
	* java/util/zip/ZipEntry.java: implements ZipConstants; patch from 
	Sascha Brawer
	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): updated
	javadoc comment to note this is in the specification since 1.3; 
	patch from Sascha Brawer
	* gnu/java/net/protocol/file/FileURLConnection.java: additions from
	Nic Ferrier
	(getLastModified): new method
	(getContentLength): new method
	(exists): new method
	(isDirectory): new method
	(getListing): new method

2002-05-02  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (remove): Fix improper return value.
	* THANKYOU: Add Xuan Baldauf for spotting this.

2002-05-02  C. Brian Jones <cbj@gnu.org>

	* configure.in: move check for ZIP to --with-zip
	* acinclude.m4: define CLASSPATH_WITH_ZIP, allow user to specify
	--without-zip to avoid creating or installing glibj.zip

2002-05-02  Xuan Baldauf <entwicklung--classpath--gnu.org@medium.net>

	* java/util/TreeMap.java (SubMap.values): return this.values instead
	of this.keys

2002-04-30  Etienne M. Gagnon <etienne.gagnon@uqam.ca>

	* native/jni/java-io/Makefile.am: Re-added java_nio.c into JNI
	build.
	* native/jni/java-io/java_nio.c: Solved compile time problems under
	gcc 2.95.x and added missing Copyright statement.

2002-04-30  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Configure the swing directories.

2002-04-30  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedReader.java (fill): Handle case where markPos
	point to ignored \n.

2002-04-30  Sascha Brawer  <brawer@acm.org>

	* java/text/ChoiceFormat.java (class description):
	Docfix to avoid angle brackets in Javadoc and for pre-formatted
	code without asterisks.
	* java/text/Collator.java (compare(String, String),
	compare(Object, Object)): Same.
	* java/text/RuleBasedCollator.java (compare(String,String)): Same.
	
	* java/util/AbstractList.java (hashCode):
	Docfix to avoid angle brackets in Javadoc and for pre-formatted
	code without asterisks.
	* java/util/AbstractMap.java (equals, hashCode): Same.
	* java/util/ArrayList.java (ensureCapacity): Same.
	* java/util/Arrays.java (sort): Same.
	* java/util/BitSet.java (hashCode, nextSetBit): Same.
	* java/util/Calendar.java (class description): Same.
	* java/util/Dictionary.java (class description): Same.
	* java/util/HashMap.java (rehash): Same.
	* java/util/Hashtable.java (rehash, equals): Same.
	* java/util/IdentityHashMap.java (get(Object), remove(Object),
	remove()): Same.
	* java/util/LinkedHashMap.java (LinkedHashMap(int),
	removeEldestEntry(Map.Entry), class description): Same.
	* java/util/LinkedList.java (getEntry): Same.
	* java/util/List.java (hashCode): Same.
	* java/util/ListResourceBundle.java (class description): Same.
	* java/util/Map.java (hashCode, equals): Same.
	* java/util/Properties.java (class description, load): Same.
	* java/util/PropertyPermissionCollection.java (implies): Same.
	* java/util/PropertyResourceBundle.java (class description): Same.
	* java/util/Random.java (setSeed, next, nextBytes, nextInt(),
	nextInt(int), nextLong, nextBoolean, nextFloat, nextDouble,
	nextGaussian): Same.
	* java/util/ResourceBundle.java (class description): Same.
	* java/util/SimpleTimeZone.java (getOffset): Same.
	* java/util/WeakHashMap.java (threshold, slot): Same.

2002-04-30  Mark Wielaard  <mark@klomp.org>

	* gnu/java/nio/ByteBufferImpl.java: Add copyright notice.
	* gnu/java/nio/CharBufferImpl.java: Likewise.
	* gnu/java/nio/DatagramChannelImpl.java: Likewise.
	* gnu/java/nio/DoubleBufferImpl.java: Likewise.
	* gnu/java/nio/FileChannelImpl.java: Likewise.
	* gnu/java/nio/FloatBufferImpl.java: Likewise.
	* gnu/java/nio/IntBufferImpl.java: Likewise.
	* gnu/java/nio/LongBufferImpl.java: Likewise.
	* gnu/java/nio/MappedByteFileBuffer.java: Likewise.
	* gnu/java/nio/MappedCharFileBuffer.java: Likewise.
	* gnu/java/nio/MappedDoubleFileBuffer.java: Likewise.
	* gnu/java/nio/MappedFloatFileBuffer.java: Likewise.
	* gnu/java/nio/MappedIntFileBuffer.java: Likewise.
	* gnu/java/nio/MappedLongFileBuffer.java: Likewise.
	* gnu/java/nio/MappedShortFileBuffer.java: Likewise.
	* gnu/java/nio/PipeImpl.java: Likewise.
	* gnu/java/nio/SelectionKeyImpl.java: Likewise.
	* gnu/java/nio/SelectorImpl.java: Likewise.
	* gnu/java/nio/SelectorProviderImpl.java: Likewise.
	* gnu/java/nio/ServerSocketChannelImpl.java: Likewise.
	* gnu/java/nio/ShortBufferImpl.java: Likewise.
	* gnu/java/nio/SocketChannelImpl.java: Likewise.
	* java/awt/dnd/DropTarget.java: Likewise.
	* java/awt/font/TextHitInfo.java: Likewise.
	* java/net/InetSocketAddress.java: Likewise.
	* java/net/SocketAddress.java: Likewise.
	* java/nio/Buffer.java: Likewise.
	* java/nio/ByteBuffer.java: Likewise.
	* java/nio/ByteOrder.java: Likewise.
	* java/nio/CharBuffer.java: Likewise.
	* java/nio/DoubleBuffer.java: Likewise.
	* java/nio/FloatBuffer.java: Likewise.
	* java/nio/IntBuffer.java: Likewise.
	* java/nio/LongBuffer.java: Likewise.
	* java/nio/MappedByteBuffer.java: Likewise.
	* java/nio/ShortBuffer.java: Likewise.
	* java/nio/channels/AlreadyConnectedException.java: Likewise.
	* java/nio/channels/ByteChannel.java: Likewise.
	* java/nio/channels/Channel.java: Likewise.
	* java/nio/channels/Channels.java: Likewise.
	* java/nio/channels/ClosedChannelException.java: Likewise.
	* java/nio/channels/DatagramChannel.java: Likewise.
	* java/nio/channels/FileChannel.java: Likewise.
	* java/nio/channels/FileLock.java: Likewise.
	* java/nio/channels/GatheringByteChannel.java: Likewise.
	* java/nio/channels/InterruptibleChannel.java: Likewise.
	* java/nio/channels/Pipe.java: Likewise.
	* java/nio/channels/ReadableByteChannel.java: Likewise.
	* java/nio/channels/ScatteringByteChannel.java: Likewise.
	* java/nio/channels/SelectableChannel.java: Likewise.
	* java/nio/channels/SelectionKey.java: Likewise.
	* java/nio/channels/Selector.java: Likewise.
	* java/nio/channels/ServerSocketChannel.java: Likewise.
	* java/nio/channels/SocketChannel.java: Likewise.
	* java/nio/channels/WritableByteChannel.java: Likewise.
	* java/nio/charset/CharacterCodingException.java: Likewise.
	* java/nio/charset/Charset.java: Likewise.
	* java/nio/charset/CharsetDecoder.java: Likewise.
	* java/nio/charset/CharsetEncoder.java: Likewise.
	* java/nio/charset/CoderResult.java: Likewise.
	* java/nio/charset/CodingErrorAction.java: Likewise.
	* java/util/regex/Matcher.java: Likewise.
	* java/util/regex/Pattern.java: Likewise.
	* javax/swing/AbstractAction.java: Likewise.
	* javax/swing/AbstractButton.java: Likewise.
	* javax/swing/AbstractListModel.java: Likewise.
	* javax/swing/AbstractSet.java: Likewise.
	* javax/swing/Box.java: Likewise.
	* javax/swing/BoxLayout.java: Likewise.
	* javax/swing/ButtonGroup.java: Likewise.
	* javax/swing/CellEditor.java: Likewise.
	* javax/swing/ComponentInputMap.java: Likewise.
	* javax/swing/DefaultButtonModel.java: Likewise.
	* javax/swing/DefaultCellRenderer.java: Likewise.
	* javax/swing/DefaultListModel.java: Likewise.
	* javax/swing/DefaultListSelectionModel.java: Likewise.
	* javax/swing/Icon.java: Likewise.
	* javax/swing/ImageIcon.java: Likewise.
	* javax/swing/InputMap.java: Likewise.
	* javax/swing/JApplet.java: Likewise.
	* javax/swing/JButton.java: Likewise.
	* javax/swing/JCheckBox.java: Likewise.
	* javax/swing/JComponent.java: Likewise.
	* javax/swing/JDialog.java: Likewise.
	* javax/swing/JEditorPane.java: Likewise.
	* javax/swing/JFrame.java: Likewise.
	* javax/swing/JInternalFrame.java: Likewise.
	* javax/swing/JLabel.java: Likewise.
	* javax/swing/JLayeredPane.java: Likewise.
	* javax/swing/JList.java: Likewise.
	* javax/swing/JMenuBar.java: Likewise.
	* javax/swing/JOptionPane.java: Likewise.
	* javax/swing/JPanel.java: Likewise.
	* javax/swing/JRadioButton.java: Likewise.
	* javax/swing/JRootPane.java: Likewise.
	* javax/swing/JScrollBar.java: Likewise.
	* javax/swing/JScrollPane.java: Likewise.
	* javax/swing/JTabbedPane.java: Likewise.
	* javax/swing/JTable.java: Likewise.
	* javax/swing/JTextField.java: Likewise.
	* javax/swing/JToggleButton.java: Likewise.
	* javax/swing/JToolTip.java: Likewise.
	* javax/swing/JTree.java: Likewise.
	* javax/swing/JViewport.java: Likewise.
	* javax/swing/JWindow.java: Likewise.
	* javax/swing/KeyStroke.java: Likewise.
	* javax/swing/ListCellRenderer.java: Likewise.
	* javax/swing/ListModel.java: Likewise.
	* javax/swing/ListSelectionModel.java: Likewise.
	* javax/swing/LookAndFeel.java: Likewise.
	* javax/swing/MenuElement.java: Likewise.
	* javax/swing/MenuSelectionManager.java: Likewise.
	* javax/swing/Scrollable.java: Likewise.
	* javax/swing/SwingConstants.java: Likewise.
	* javax/swing/SwingUtilities.java: Likewise.
	* javax/swing/Timer.java: Likewise.
	* javax/swing/ToggleButtonModel.java: Likewise.
	* javax/swing/UIDefaults.java: Likewise.
	* javax/swing/UIManager.java: Likewise.
	* javax/swing/UnsupportedLookAndFeelException.java: Likewise.
	* javax/swing/border/AbstractBorder.java: Likewise.
	* javax/swing/border/BevelBorder.java: Likewise.
	* javax/swing/border/Border.java: Likewise.
	* javax/swing/border/CompoundBorder.java: Likewise.
	* javax/swing/border/EmptyBorder.java: Likewise.
	* javax/swing/border/EtchedBorder.java: Likewise.
	* javax/swing/border/LineBorder.java: Likewise.
	* javax/swing/border/MatteBorder.java: Likewise.
	* javax/swing/border/TitledBorder.java: Likewise.
	* javax/swing/text/AbstractDocument.java: Likewise.
	* javax/swing/text/AttributeSet.java: Likewise.
	* javax/swing/text/BadLocationException.java: Likewise.
	* javax/swing/text/Caret.java: Likewise.
	* javax/swing/text/CharacterIterator.java: Likewise.
	* javax/swing/text/ComponentView.java: Likewise.
	* javax/swing/text/DefaultCaret.java: Likewise.
	* javax/swing/text/DefaultEditorKit.java: Likewise.
	* javax/swing/text/Document.java: Likewise.
	* javax/swing/text/EditorKit.java: Likewise.
	* javax/swing/text/Element.java: Likewise.
	* javax/swing/text/GapContent.java: Likewise.
	* javax/swing/text/JTextComponent.java: Likewise.
	* javax/swing/text/Keymap.java: Likewise.
	* javax/swing/text/PlainDocument.java: Likewise.
	* javax/swing/text/PlainEditorKit.java: Likewise.
	* javax/swing/text/Position.java: Likewise.
	* javax/swing/text/Segment.java: Likewise.
	* javax/swing/text/Style.java: Likewise.
	* javax/swing/text/View.java: Likewise.
	* javax/swing/text/ViewFactory.java: Likewise.

2002-04-30  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (out, err): Use auto-flush PrintStream.

2002-04-30  Mark Wielaard  <mark@klomp.org>

	* javax/swing/Action.java: Interface is always abstract, add copyright
	notice.
	* javax/swing/ButtonModel.java: Likewise.

2002-04-30  Mark Wielaard  <mark@klomp.org>

	* java/util/prefs/BackingStoreException.java (readObject): Throws
	NotSerializableException.
	(writeObject): Likewise.
	* java/util/prefs/InvalidPreferencesFormatException.java: Remove
	second super call.
	(readObject): Throws NotSerializableException.
	(writeObject): Likewise.
	* lib/standard.omit: Remove [gnu.]java.util.prefs (which compiles) and
	gnu.classpath.tools (which does not exist).

2002-04-30  Eric Blake  <ebb9@email.byu.edu>

	* AUTHORS: Add Andrew Selkirk.
	* lib/standard.omit: Made sure swing at least compiles (although
	it is non-functional).
	* javax/Makefile.am: Visit swing.
	* javax/swing/.cvsignore: New file.
	* javax/swing/AbstractButton.java: Fix for compilation.
	* javax/swing/CellEditor.java: New file.
	* javax/swing/Icon.java: Fix for compilation.
	* javax/swing/ImageIcon.java: Fix for compilation.
	* javax/swing/JComponent.java: Fix for compilation.
	* javax/swing/JEditorPane.java: Fix for compilation.
	* javax/swing/JFrame.java: Fix for compilation.
	* javax/swing/JInternalFrame.java: New file.
	* javax/swing/JLabel.java: Fix for compilation.
	* javax/swing/JTable.java: New file.
	* javax/swing/JTextField.java: Fix for compilation.
	* javax/swing/KeyStroke.java: Fix for compilation.
	* javax/swing/Makefile.am: New file.
	* javax/swing/MenuElement.java: New file.
	* javax/swing/MenuSelectionManager.java: New file.
	* javax/swing/UIDefaults.java: Fix for compilation.
	* javax/swing/border/.cvsignore: New file.
	* javax/swing/border/Makefile.am: New file.
	* javax/swing/event/.cvsignore: New file.
	* javax/swing/event/Makefile.am: New file.
	* javax/swing/plaf/.cvsignore: New file.
	* javax/swing/plaf/ColorUIResource.java: New file.
	* javax/swing/plaf/DimensionUIResource.java: New file.
	* javax/swing/plaf/FontUIResource.java: New file.
	* javax/swing/plaf/IconUIResource.java: New file.
	* javax/swing/plaf/InsetsUIResource.java: New file.
	* javax/swing/plaf/Makefile.am: New file.
	* javax/swing/plaf/basic/.cvsignore: New file.
	* javax/swing/plaf/basic/BasicBorders.java: New file.
	* javax/swing/plaf/basic/BasicIconFactory.java: New file.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Fix for compilation.
	* javax/swing/plaf/basic/Makefile.am: New file.
	* javax/swing/plaf/metal/.cvsignore: New file.
	* javax/swing/plaf/metal/Makefile.am: New file.
	* javax/swing/table/.cvsignore: New file.
	* javax/swing/table/DefaultTableCellRenderer.java: New file.
	* javax/swing/table/Makefile.am: New file.
	* javax/swing/text/.cvsignore: New file.
	* javax/swing/text/JTextComponent.java: Fix for compilation.
	* javax/swing/text/Makefile.am: New file.
	* javax/swing/tree/.cvsignore: New file.
	* javax/swing/tree/Makefile.am: New file.
	* javax/swing/tree/TreeCellEditor.java: Fix for compilation.
	* javax/swing/undo/.cvsignore: New file.
	* javax/swing/undo/Makefile.am: New file.

2002-04-30  Eric Blake  <ebb9@email.byu.edu>

	* java/security/cert/Makefile.am (EXTRA_DIST): Add CertPath.java.
	* java/security/cert/CertPath.java: New file.
	* java/security/cert/CertificateFactory.java (generateCertPath):
	New method.
	* lib/standard.omit: Update java.awt and java.security classes
	that now compile.

2002-04-30  Patrik Reali  <reali@acm.org>

	Patch 284:
	* java/lang/String.java (concat): Fix wrong reference.

2002-04-29  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (in, out, err): Use buffered streams.

2002-04-28  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-io/Makefile.am: remove java_nio.c from compilation

2002-04-28  C. Brian Jones <cbj@gnu.org>

	* vm/reference/java/lang/Runtime.java (nativeLoad): comment fix, 
	@return 0 on failure, nonzero on success: this matches current VM
	implementations using Classpath

2002-04-28  C. Brian Jones <cbj@gnu.org>

	* lib/standard.omit: disable javax.swing

2002-04-28  C. Brian Jones <cbj@gnu.org>

	* acinclude.m4(CLASSPATH_CHECK_GCJ): check gcj version; 3.1 or 
	higher or warn

2002-04-27  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (runFinalizersOnExit): Removed extra
	newline.

2002-04-25  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/undo/AbstractUndoableEdit.java: New file.
	* javax/swing/undo/CannotRedoException.java: New file.
	* javax/swing/undo/CannotUndoException.java: New file.
	* javax/swing/undo/CompoundEdit.java: New file.
	* javax/swing/undo/StateEditable.java: New file.
	* javax/swing/undo/StateEdit.java: New file (stubbed).
	* javax/swing/undo/UndoableEdit.java: New file.
	* javax/swing/undo/UndoableEditSupport.java: New file (stubbed).
	* javax/swing/undo/UndoManager.java: New file (stubbed).

2002-04-25  Andrew Selkirk  <aselkirk@sympatico.ca>

	* javax/swing/event/AncestorEvent.java: New file.
	* javax/swing/event/AncestorListener.java: New file.
	* javax/swing/event/CaretEvent.java: New file.
	* javax/swing/event/CaretListener.java: New file.
	* javax/swing/event/CellEditorListener.java: New file.
	* javax/swing/event/ChangeEvent.java: New file.
	* javax/swing/event/ChangeListener.java: New file.
	* javax/swing/event/DocumentEvent.java: New file.
	* javax/swing/event/DocumentListener.java: New file.
	* javax/swing/event/EventListenerList.java: New file.
	* javax/swing/event/HyperlinkEvent.java: New file.
	* javax/swing/event/HyperlinkListener.java: New file.
	* javax/swing/event/InternalFrameAdapter.java: New file.
	* javax/swing/event/InternalFrameEvent.java: New file.
	* javax/swing/event/InternalFrameListener.java: New file.
	* javax/swing/event/ListDataEvent.java: New file.
	* javax/swing/event/ListDataListener.java: New file.
	* javax/swing/event/ListSelectionEvent.java: New file.
	* javax/swing/event/ListSelectionListener.java: New file.
	* javax/swing/event/MenuDragMouseEvent.java: New file.
	* javax/swing/event/MenuDragMouseListener.java: New file.
	* javax/swing/event/MenuEvent.java: New file.
	* javax/swing/event/MenuKeyEvent.java: New file.
	* javax/swing/event/MenuKeyListener.java: New file.
	* javax/swing/event/MenuListener.java: New file.
	* javax/swing/event/MouseInputAdapter.java: New file.
	* javax/swing/event/MouseInputListener.java: New file.
	* javax/swing/event/PopupMenuEvent.java: New file.
	* javax/swing/event/PopupMenuListener.java: New file.
	* javax/swing/event/SwingPropertyChangeSupport.java: New file.
	* javax/swing/event/TableColumnModelEvent.java: New file.
	* javax/swing/event/TableColumnModelListener.java: New file.
	* javax/swing/event/TableModelEvent.java: New file.
	* javax/swing/event/TableModelListener.java: New file.
	* javax/swing/event/TreeExpansionEvent.java: New file.
	* javax/swing/event/TreeExpansionListener.java: New file.
	* javax/swing/event/TreeModelEvent.java: New file.
	* javax/swing/event/TreeModelListener.java: New file.
	* javax/swing/event/TreeSelectionEvent.java: New file.
	* javax/swing/event/TreeSelectionListener.java: New file.
	* javax/swing/event/TreeWillExpandListener.java: New file.
	* javax/swing/event/UndoableEditEvent.java: New file.
	* javax/swing/event/UndoableEditListener.java: New file.
	* javax/swing/table/AbstractTableModel.java: New file.
	* javax/swing/table/DefaultTableColumnModel.java: New file (stubbed).
	* javax/swing/table/DefaultTableModel.java: New file.
	* javax/swing/table/TableCellEditor.java: New file.
	* javax/swing/table/TableCellRenderer.java: New file.
	* javax/swing/table/TableColumn.java: New file.
	* javax/swing/table/TableColumnModel.java: New file.
	* javax/swing/table/TableModel.java: New file.
	* javax/swing/tree/AbstractLayoutCache.java: New file.
	* javax/swing/tree/DefaultMutableTreeNode.java: New file.
	* javax/swing/tree/DefaultTreeCellEditor.java: New file (stubbed).
	* javax/swing/tree/DefaultTreeCellRenderer.java: New file (stubbed).
	* javax/swing/tree/DefaultTreeModel.java: New file (stubbed).
	* javax/swing/tree/DefaultTreeSelectionModel.java: New file (stubbed).
	* javax/swing/tree/ExpandVetoException.java: New file.
	* javax/swing/tree/FixedHeightLayoutCache.java: New file (stubbed).
	* javax/swing/tree/MutableTreeNode.java: New file.
	* javax/swing/tree/RowMapper.java: New file.
	* javax/swing/tree/TreeCellEditor.java: New file.
	* javax/swing/tree/TreeCellRenderer.java: New file.
	* javax/swing/tree/TreeModel.java: New file.
	* javax/swing/tree/TreeNode.java: New file.
	* javax/swing/tree/TreePath.java: New file.
	* javax/swing/tree/TreeSelectionModel.java: New file.
	* javax/swing/tree/VariableHeightLayoutCache.java: New file (stubbed).
	* javax/swing/plaf/basic/BasicLookAndFeel.java: New file.

2002-04-24  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/System.java: Fix missing exception.
	* javax/accessibility/AccessibleComponent.java: Update Javadoc.

2002-04-24  Eric Blake  <ebb9@email.byu.edu>

	PR 100787:
	* gnu/java/rmi/.cvsignore: Ignore Makefile.
	* gnu/java/rmi/dgc/.cvsignore: Ditto.
	* gnu/java/rmi/registry/.cvsignore: Ditto.
	* gnu/java/rmi/rmic/.cvsignore: Ditto.
	* gnu/java/rmi/server/.cvsignore: Ditto.
	* include/.cvsignore: Ignore stamp-h1
	* java/awt/im/.cvsignore: Ignore Makefile.
	* java/awt/im/spi/.cvsignore: Ditto.
	* java/rmi/.cvsignore: Ditto.
	* java/rmi/activation/.cvsignore: Ditto.
	* java/rmi/dgc/.cvsignore: Ditto.
	* java/rmi/registry/.cvsignore: Ditto.
	* java/rmi/server/.cvsignore: Ditto.
	* javax/accessibility/.cvsignore: Ditto.
	* lib/.cvsignore: Ignore classes.1

2002-04-21  Mark Wielaard  <mark@klomp.org>

	* java/awt/AWTKeyStroke.java (removeEldestEntry): Add comment
	describing the workaround needed for gcj 3.1.
	* java/awt/im/InputSubset.java: Likewise.
	* java/util/AbstractMap.java (BasicMapEntry): Likewise.
	* javax/swing/JList.java (setListData): Likewise.

2002-04-21  Mark Wielaard  <mark@klomp.org>

	* java/awt/AWTKeyStroke.java (removeEldestEntry): Use fully qualified
	Map.Entry as argument (gcj 3.1 workaround).
	* java/awt/im/InputSubset.java: extends fully qualified
	Character.Subset (likewise).
	* java/util/AbstractMap.java (BasicMapEntry): implements fully
	qualified Map.Entry (likewise).
	* javax/swing/JList.java (setListData): Rename innerclass AL to ALData
	to avoid name clash (likewise).

2002-04-08  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/LogRecord.java (serialVersionUID): Added
	for serialization compatibility with Sun J2SE 1.4.

2002-04-08  Alberto Biancardi  <alberto.biancardi@unipv.it>

	* java/awt/geom/Point2D.java (distance): Call distanceSq, not
	distance.

2002-04-08  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Character.java: Revert improper changes made by Mark's
	re-merge with gcj.

2002-04-08  Sascha Brawer  <brawer@acm.org>

	* java/util/zip/GZIPInputStream.java: Re-indentation, minor
	amendments to the Javadoc.

2002-04-08  Sascha Brawer  <brawer@acm.org>

	* java/util/zip/GZIPConstants.java: Remove file because the API
	specification does not mention it.
	* java/util/zip/GZIPInputStream.java (GZIP_MAGIC): Moved from
	interface GZIPConstants.
	* java/util/zip/GZIPInputStream.java (FTEXT, FHCRC,
	FEXTRA, FNAME, FCOMMENT): Moved from interface GZIPConstants.
	Change accessibility to package-only -- these members are not
	mentioned by the API specification.
	* java/util/zip/GZIPOutputStream.java
	(GZIPOutputStream(OutputStream,int)): Take GZIP_MAGIC from
	GZIPInputStream instead of GZIPConstants.

2002-04-07  Mark Wielaard <mark@klomp.org>

	* java/util/AbstractMap.java (putAll): Use entrySet size.
	(toString): Explicitly use getKey() and getValue().

2002-04-06  Tom Tromey  <tromey@redhat.com>

	* lib/Makefile.am (JAVAC): Added -bootclasspath and
	$(ARG_CLASSPATH_JAVAC) arguments.

2002-04-07  Mark Wielaard <mark@klomp.org>

	* java/util/Hashtable.java (contains): Remove NullPointer check.
	(containsValue): Add NullPointer check.
	(remove): Always throw NullPointerException when key is null.

2002-04-06  Mark Wielaard <mark@klomp.org>

	* java/lang/Character.java (isDefined): getType() != UNASSIGNED.

2002-04-06  Mark Wielaard <mark@klomp.org>

	* java/util/ArrayList.java (addAll(int,Collection)): System.arraycopy
	all of the remaining elements.
	* java/util/Vector.java (addAll(int,Collection)): Likewise.
	(removeRange): If toIndex == fromIndex do
	nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.
	(removeAll): Always throw NullPointerException when collection is
	null.
	(retrainAll): Likewise.

2002-04-05  Mark Wielaard <mark@klomp.org>

	* java/util/ArrayList.jva (removeRange): If toIndex == fromIndex do
	nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.
		
2002-04-04  Nic Ferrier  <nferrier@tapsellferrier.co.uk>

	* gnu/java/net/protocol/file/FileURLConnection.java (connect):
	Style change.
	(getInputStream): ditto.
	(getOutputStream): ditto.

2002-04-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/Arrays.java (qsort): Fix off-by-one errors and use of
	incorrect "hi" value when count > 40.

2002-04-04  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Level.java (readResolve): Add Javadoc.
	* java/util/logging/Level.java (serialVersionUID): Make equal
	to value of Sun J2SE1.4.

2002-04-03  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/Modifier.java (toString(int,StringBuffer)): Fix
	ordering.

2002-04-02  Eric Blake  <ebb9@email.byu.edu>

	* java/util/IdentityHashMap.java (put, IdentityHashMap, hash),
	(readObject): Strength reduction.
	* java/awt/Color.java: Update to 1.4.

2002-04-02  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/IdentityHashMap.java (put): Set new threshold correctly
	when resizing table.

2002-04-01  Mark Wielaard  <mark@klomp.org>

	* java/util/BitSet.java (BitSet(int)): if nbits < 0 throw
	NegativeArraySizeException
	(clear(int)): Use sign extended shift.
	(flip(int)): Likewise.
	(get(int)): Likewise.
	(nextClearBit(int)): Likewise.
	(nextSetBit(int)): Likewise.
	(set(int)): Likewise.

2002-04-01  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Add java/awt/dnd.
	* java/awt/dnd/.cvsignore: New file.
	* java/awt/dnd/Makefile.am: New file.
	* java/awt/dnd/DropTarget.java: New file (stubbed).
	* java/awt/event/WindowAdapter.java: Make abstract.
	* java/beans/PropertyChangeEvent.java (rollback): New method.
	* java/beans/VetoableChangeListener.java: Improve documentation.
	* java/beans/VetoableChangeSupport.java (fireVetoableChange):
	Rollback a failed change.
	* javax/accessibility/AccessibleText.java: Uncomment javax.swing.
	* javax/accessibility/AccessibleEditableText.java: Ditto.	

2002-03-31  Eric Blake  <ebb9@email.byu.edu>

	* java/beans/ExceptionListener.java: New file.
	* java/beans/Makefile.am (EXTRA_DIST): Add 3 new files.
	* java/beans/PropertyChangeEvent.java: Update to 1.4.
	* java/beans/PropertyChangeListener.java: Update to 1.4.
	* java/beans/PropertyChangeListenerProxy.java: New file.
	* java/beans/PropertyChangeSupport.java: Update to 1.4.
	* java/beans/VetoableChangeListener.java: Update to 1.4.
	* java/beans/VetoableChangeListenerProxy.java: New file.
	* java/beans/VetoableChangeSupport.java: Update to 1.4.

2002-03-30  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Makefile.am (EXTRA_DIST): Add AWTKeyStroke.java.
	* java/awt/AWTKeyStroke.java: New file.
	* java/awt/AWTEventMulticaster.java: Update to 1.4.

2002-03-30  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/EventQueue.java (getMostRecentEventTime): New method.
	* java/util/EventListenerProxy.java: Fix typos.
	* java/util/EventObject.java: Fix typos.
	* java/awt/event/AWTEventListener.java: Update to 1.4.
	* java/awt/event/AWTEventListenerProxy.java: New file.
	* java/awt/event/ActionEvent.java: Update to 1.4.
	* java/awt/event/ActionListener.java: Update to 1.4.
	* java/awt/event/AdjustmentEvent.java: Update to 1.4.
	* java/awt/event/AdjustmentListener.java: Update to 1.4.
	* java/awt/event/ComponentAdapter.java: Update to 1.4.
	* java/awt/event/ComponentEvent.java: Update to 1.4.
	* java/awt/event/ComponentListener.java: Update to 1.4.
	* java/awt/event/ContainerAdapter.java: Update to 1.4.
	* java/awt/event/ContainerEvent.java: Update to 1.4.
	* java/awt/event/ContainerListener.java: Update to 1.4.
	* java/awt/event/FocusAdapter.java: Update to 1.4.
	* java/awt/event/FocusEvent.java: Update to 1.4.
	* java/awt/event/FocusListener.java: Update to 1.4.
	* java/awt/event/HierarchyBoundsAdapter.java: Update to 1.4.
	* java/awt/event/HierarchyBoundsListener.java: Update to 1.4.
	* java/awt/event/HierarchyEvent.java: Update to 1.4.
	* java/awt/event/HierarchyListener.java: Update to 1.4.
	* java/awt/event/InputEvent.java: Update to 1.4.
	* java/awt/event/InputMethodEvent.java: Update to 1.4.
	* java/awt/event/InputMethodListener.java: Update to 1.4.
	* java/awt/event/InvocationEvent.java: Update to 1.4.
	* java/awt/event/ItemEvent.java: Update to 1.4.
	* java/awt/event/ItemListener.java: Update to 1.4.
	* java/awt/event/KeyAdapter.java: Update to 1.4.
	* java/awt/event/KeyEvent.java: Update to 1.4.
	* java/awt/event/KeyListener.java: Update to 1.4.
	* java/awt/event/Makefile.am (EXTRA_DIST): Add new files.
	* java/awt/event/MouseAdapter.java: Update to 1.4.
	* java/awt/event/MouseEvent.java: Update to 1.4.
	* java/awt/event/MouseListener.java: Update to 1.4.
	* java/awt/event/MouseMotionAdapter.java: Update to 1.4.
	* java/awt/event/MouseMotionListener.java: Update to 1.4.
	* java/awt/event/MouseWheelEvent.java: New file.
	* java/awt/event/MouseWheelListener.java: New file.
	* java/awt/event/PaintEvent.java: Update to 1.4.
	* java/awt/event/TextEvent.java: Update to 1.4.
	* java/awt/event/TextListener.java: Update to 1.4.
	* java/awt/event/WindowAdapter.java: Update to 1.4.
	* java/awt/event/WindowEvent.java: Update to 1.4.
	* java/awt/event/WindowFocusListener.java: New file.
	* java/awt/event/WindowListener.java: Update to 1.4.
	* java/awt/event/WindowStateListener.java: New file.

2002-03-29  Eric Blake  <ebb9@email.byu.edu>

	* java/security/AllPermission.java: Update to 1.4.
	* java/security/BasicPermission.java: Ditto.
	* java/security/Certificate.java: Ditto.
	* java/security/CodeSource.java: Ditto.
	* java/security/DomainCombiner.java: Ditto.
	* java/security/Guard.java: Ditto.
	* java/security/GuardedObject.java: Ditto.
	* java/security/Key.java: Ditto.
	* java/security/Permission.java: Ditto.
	* java/security/PermissionCollection.java: Ditto.
	* java/security/Permissions.java: Ditto.
	* java/security/Principal.java: Ditto.
	* java/security/PrivateKey.java: Ditto.
	* java/security/PrivilegedAction.java: Ditto.
	* java/security/PrivilegedExceptionAction.java: Ditto.
	* java/security/PublicKey.java: Ditto.
	* java/security/SecurityPermission.java: Ditto.
	* java/security/UnresolvedPermission.java: Ditto.

2002-03-28  Eric Blake  <ebb9@email.byu.edu>

	* test/.cvsignore: New file.
	* test/gnu.java.lang.reflect/.cvsignore: New file.
	* test/java.io/.cvsignore: New file.
	* test/java.lang.reflect/.cvsignore: New file.
	* test/java.net/.cvsignore: New file.
	* test/java.util/.cvsignore: New file.

2002-03-28  Eric Blake  <ebb9@email.byu.edu>

	* configure.in: Add java/awt/im, java/awt/im/spi.
	* java/awt/Makefile.am (SUBDIRS): Add java/awt/im.
	* java/awt/im/.cvsignore: New file.
	* java/awt/im/InputContext.java: New file.
	* java/awt/im/InputMethodHighlight.java: New file.
	* java/awt/im/InputMethodRequests.java: New file.
	* java/awt/im/InputSubset.java: New file.
	* java/awt/im/Makefile.am: New file.
	* java/awt/im/spi/.cvsignore: New file.
	* java/awt/im/spi/InputMethod.java: New file.
	* java/awt/im/spi/InputMethodContext.java: New file.
	* java/awt/im/spi/InputMethodDescriptor.java: New file.
	* java/awt/im/spi/Makefile.am: New file.

2002-03-28  John Leuner  <jewel@debian.org>

	* java/lang/ClassLoader.java (getSystemClassLoader): Break
	infinite loop by specifying parent classloader.
	* gnu/java/lang/SystemClassLoader.java (SystemClassLoader): Add
	proper constructor.

2002-03-28  Eric Blake  <ebb9@email.byu.edu>

	* .cvsignore: Add autom4te.cache to ignored list.
	* configure.in: Move CLASSPATH_WITH_JAVAH and
	CLASSPATH_WITH_INCLUDEDIR out of conditionals, for use with latest
	autotools. Make variable tests consistent.
	* acinclude.m4: Make variable tests consistent.

2002-03-28  Eric Blake  <ebb9@email.byu.edu>

	* AUTHORS: Update.
	* THANKYOU: Update.

2002-03-28  Stephen Crawley  <crawley@dstc.edu.au>

	Patch 204:
	* vm/reference/java/lang/Runtime.java (exit): Check shutdownHooks
	for null.
	(Runtime): Improve library path parsing.

2002-03-26  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/Level.java (SEVERE, WARNING, INFO, CONFIG,
	FINE, FINER, FINEST): Same intValue as Sun J2SE 1.4.

2002-03-25  Eric Blake  <ebb9@email.byu.edu>
	    Fred Gray  <fegray@npl.uiuc.edu>

	* java/lang/Object.java (<clinit>): More bootstrap documentation.
	* java/lang/System.java (<clinit>): Load native methods sooner.
	* java/util/Hashtable.java (hash): Avoid native methods.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* gnu/java/rmi/registry/RegistryImpl.java (main): Recognize --help
	and --version.
	(help): New method.
	(version): Likewise.
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Removed extraneous
	"GNU".

2002-03-25  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/Attributes.java (putValue(Name,String)): Make package
	private.
	* java/util/jar/Manifest.java (read_main_section): Don't require
	Manifest-Version info, set to "0.0" when not found.

2002-03-25  Eric Blake  <ebb9@email.byu.edu>

	* vm/reference/java/lang/Runtime.java (defaultProperties): New
	field, to work around bootstrap issue.
	(securityManager): Make package visible.
	(Runtime): Remove bootstrap dependencies from constructor.
	* vm/reference/java/lang/Thread.java: Use securityManager field
	directly.
	* vm/reference/java/lang/VMSystem.java (insertSystemProperties):
	Move to Runtime, for bootstrap issue.
	* java/lang/Object.java: Document bootstrap importance.
	* java/lang/String.java: Ditto.
	* java/lang/ThreadGroup.java: Use securityManager field directly.
	* java/lang/System.java (defaultProperties): Remove, to work
	around bootstrap issue.
	* java/util/Dictionary.java: Document bootstrap importance.
	* java/util/Hashtable.java: Ditto.
	* java/util/Propeties.java: Ditto.
	* java/util/StringTokenizer.java: Ditto.
	* java/util/WeakHashMap.java: Ditto.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/Component.java (processEvent): Check ComponentEvent
	after KeyEvent.

2002-03-24  C. Brian Jones <cbj@gnu.org>

	The following changes are all from patch submissions from Intel's
	ORP team to get Classpath into a JBOSS compatible state.  This 
	is primarily just the non-public API patches.
	* java/io/BufferedOutputStream.java (flush): after writing out the
	current buffer contents flush the underlying output stream
	* java/io/File.java
	(File(String,String)): make use of gnu.java.io.PlatformHelper; avoid
	possible double separator char when setting path
	(getName): make use of gnu.java.io.PlatformHelper
	(getAbsolutePath): make use of PlatformHelper; avoid possible
	double separator char if user.dir ends with separator
	(getCanonicalPath): mostly replaced with call to 
	gnu.java.io.PlatformHelper.toCanonicalForm()
	(getParent): make use of gnu.java.io.PlatformHelper
	(isAbsolute): make use of gnu.java.io.PlatformHelper when checking
	root prefix
	(mkdir): make use of gnu.java.io.PlatformHelper to consolidate 
	removal of trailing separator character
	(list): ditto
	(toURL): add trailing separator for directory
	* java/io/ObjectInputStream.java (readObject): place code in 
	finally clause to it always executes
	(defaultReadObject): change block data mode before/after read
	(resolveProxyClass): formatting
	(read): ??? modified algorithm, needs testing
	(readBoolean): change block data mode as needed
	(readByte): ditto
	(readUnsignedByte): ditto
	(readShort): ditto
	(readUnsignedShort): ditto
	(readChar): ditto
	(readInt): ditto
	(readLong): ditto
	(readFloat): ditto
	(readDouble): ditto
	(readFields): change block data mode preserving old mode
	(readFields): ditto; catch NoSuchFieldError and dump error message
	(dump): set field to false by default to avoid debug messages
	* java/io/ObjectOutputStream.java (writeObject): save old mode before
	unsetting block data mode. Handle proxy classes writing instances of
	Class
	(annotateProxyClass): new method
	(drain): conditionally write block data header
	(close): flush stream before closing
	(writeBoolean): blockDataOutput instead of dataOutput
	(writeByte): ditto
	(writeShort): ditto
	(writeChar): ditto
	(writeInt): ditto
	(writeLong): ditto
	(writeFloat): ditto
	(writeDouble): ditto
	(put): throw IllegalArgumentException if field not found
	(write): save and reset block data mode
	(writeArraySizeAndElements): optimize byte array case
	(writeFields): save and reset block data mode; call 
	ObjectStreamField.getTypeString instead of 
	TypeSignature.getEncodingOfClass
	(setBlockDataMode): added call to drain() and return boolean oldmode
	* java/io/ObjectStreamClass.java 
	(lookup): call lookupForClassObject
	(lookupForClassObject): new method
	(isProxyClass): new method
	(setClass): set _isProxyClass
	(ObjectStreamClass): set _isProxyClass; only set UID if serializable
	(setFields): code to interoperate with JDK if Throwable serialized
	form is not the same as the Java API, but commented out
	* java/io/ObjectStreamConstants.java:
	(TC_LONGSTRING): new constant
	(TC_PROXYCLASSDESC): new constant
	* java/io/ObjectStreamField.java (ObjectStreamField): store typename
	(ObjectStreamField): new package private constructor for cases
	where access to a Class is not available
	(getTypeCode): use stored type name
	(getTypeString): ditto
	* java/io/PushbackInputStream.java (available): calculate available
	correctly
	(read): recalculate numBytes
	(skip): skip ahead only the amount available that is already read
	* java/security/DigestOutputStream.java
	(write): use out.write instead of super.write
	* java/security/MessageDigest.java (update): use offset
	* java/security/PermissionCollection.java (static): do not override
	private linesep
	(toString): indicate readonly and output PermissionCollection
	* java/security/Permissions.java (add): add perm to allPermissions
	(add): do nothing if permission already added
	* java/security/Policy.java (static): added static initializer to 
	create policy
	* java/security/ProtectionDomain.java (toString): output 
	ProtectionDomain
	* java/security/SecureClassLoader.java (SecureClassLoader): FIXME 
	removed, call SecurityManager.checkCreateClassLoader
	(SecureClassLoader): call SecurityManager.checkCreateClassLoader
	* java/net/InetAddress.java (serialVersionUID): needed for 
	serialization compatibility
	(hostname): renamed hostName
	(hostname_alias): changed to transient
	(my_ip[]): ditto
	(lookup_time): ditto
	(address): new field for serialization
	(family): ditto
	(getHostName): use changed variable name hostName
	(InetAddress): set family and address
	* java/net/JarURLConnection.java (JarURLConnection): correct getting
	of embedded URL
	* java/net/PlainSocketImpl.java (available): implement natively
	(getOption): do not synchronize
	(setOption): ditto
	(connect): ditto
	(close): ditto
	* java/net/URL.java (authority): new field
	(userInfo): new transient field
	(ph): changed to transient
	(URL): removed previous hack of treating the spec URL as a file
	to append to the context
	(sameFile): missing brackets and incorrect formatting for the given
	code make this a great catch
	(writeObject): new method
	(readObject): new method, throw IOException for unhandled protocol
	(getPath): new method (1.3 spec)
	* java/net/URLClassLoader.java (findClass): handled jars better
	(findResource): treat as directory if it does not end with .zip or .jar
	(getURLs): pass unnamed array of the appropriate size to toArray
	* java/net/URLStreamHandler.java: import gnu.java.io.PlatformHelper
	(parseURL): simplifying method
	* java/rmi/MarshalledObject.java (MarshalledObject): implemented
	(equals): implemented
	(get): implemented
	(hashCode): implemented
	* java/rmi/server/RMIClassLoader.java
	(MyClassLoader): new constructor
	(static): initialize state
	(loadClass): reimplemented; I think the new method may inappropriately 
	miss the use of tok in caching loaders which also means not checking
	for the loader correctly
	(getClassAnnotation): implemented
	* include/java_net_PlainSocketImpl.h: need to write native method
	available

2002-03-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/PushbackReader.java: Reformat.

	Based on patch from Intel's ORP team:
	* java/io/PushbackInputStream.java (available): Calculate correct 
	number of bytes in buffer.
	(read): Remove redundant bound check. Return bytes from both the
	buffer and the stream.

2002-03-24  Fred Gray  <fegray@uiuc.edu>

	* java/lang/String.java (toCharArray): Remove optimization that
	crashes ORP 1.0.9.

2002-03-24  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/InheritableThreadLocal.java (newChildThread): Fix case
	with inheriting null.
	* java/util/ListResourceBundle.java: Update to 1.4.
	* java/util/Locale.java: Update to 1.4.
	* java/util/PropertyResourceBundle.java: Update to 1.4.
	* java/util/ResourceBundle.java: Javadoc improvements.

2002-03-24  Tom Tromey  <tromey@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (connectHooks): New
	method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_old_create ):
	Removed.
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_connectHooks): New
	function.

	* java/awt/TextComponent.java (TextComponent): Editable by
	default.

2002-03-24  Tom Tromey  <tromey@redhat.com>

	* java/awt/MenuItem.java (eventMask): No longer private.
	* java/awt/Button.java (dispatchEventImpl): Only dispatch to
	superclass if we didn't handle event.
	* java/awt/Checkbox.java (dispatchEventImpl): New method.
	* java/awt/CheckboxMenuItem.java (dispatchEventImpl): New method.
	* java/awt/Choice.java (dispatchEventImpl): New method.
	* java/awt/List.java (dispatchEventImpl): New method.
	* java/awt/Scrollbar.java (dispatchEventImpl): New method.
	* java/awt/TextComponent.java (dispatchEventImpl): New method.
	* java/awt/TextField.java (dispatchEventImpl): New method.

2002-03-24  Tom Tromey  <tromey@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectHooks): New
	function.
	(connect_checkbox_item_selectable_hook): Removed.
	(item_toggled): Use jobject as second argument.
	(connect_checkbox_item_selectable_hook): Removed.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (postItemEvent): New
	method.
	(connectHooks): Likewise.

2002-03-23  Michael Smith  <msmith@spinnakernet.com>

	* java/util/GregorianCalendar.java (minimums, maximums): Correct
	MONTH entry.

2002-03-22  Eric Blake  <ebb9@email.byu.edu>

	Portions of Patch 70:
	* gnu/java/lang/ClassLoaderHelper.java: Remove special casing for
	String, which no longer uses this.
	* gnu/java/lang/Makefile.am (EXTRA_DIST) Add
	SystemClassLoader.java.
	* gnu/java/lang/SystemClassLoader.java: New file.
	* gnu/java/lang/reflect/TypeSignature.java: Clean up, borrowing
	ideas from java.lang.reflect.Proxy.
	* gnu/java/util/EmptyEnumeration.java: Improve formatting.
	* java/lang/ClassLoader.java: Use the new
	gnu.java.lang.SystemClassLoader, plus support for loading an
	alternative at startup.
	* java/lang/reflect/Proxy.java: Fix some off-by-one bugs, use
	gnu.java.lang.reflect.TypeSignature.
	* java/sql/DriverManager.java: Throw appropriate exception.
	* java/util/ResourceBundle.java: Rearrange code to favor common
	case; use string buffers for speed.
	* vm/reference/java/lang/Class.java (getClassLoader): Perform
	security checks.
	(getComponentType): Fix bugs.
	* vm/reference/java/lang/Runtime.java: Include "." in search path.

2002-03-22  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/geom/AffineTransform.java: Update to 1.4.
	* java/awt/geom/Arc2D.java: New file (stubbed).
	* java/awt/geom/Area.java: New file (stubbed).
	* java/awt/geom/CubicCurve2D.java: New file (stubbed).
	* java/awt/geom/Ellipse2D.java: Update formatting.
	* java/awt/geom/FlatteningPathIterator.java: Check parameters.
	* java/awt/geom/GeneralPath.java: New file (stubbed).
	* java/awt/geom/Line2D.java: Fix minor bugs.
	* java/awt/geom/Makefile.am (EXTRA_DIST): Add new files.
	* java/awt/geom/Point2D.java: Fix spelling typo.
	* java/awt/geom/QuadCurve2D.java: New file (stubbed).
	* java/awt/geom/Rectangle2D.java (Float): Add new constructor.
	(hashCode): Fix compile error - patch 203.
	* java/awt/geom/RoundRectangle2D.java: Update formatting.

2002-03-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Locale.java (<clinit>): Attempt to resolve bootstrap
	cycle with String.toUpperCase.

2002-03-21  Eric Blake  <ebb9@email.byu.edu>
	    Patrik Reali  <reali@acm.org>

	* java/lang/String.java (replace, toLowerCase, toUpperCase): Fix
	off-by-one and offset errors - inspired by patch 201.

2002-03-21  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Rectangle.java: Spelling typo.
	* java/awt/geom/Rectangle2D.java (hashCode, equals): Missed these
	in last commit.

2002-03-21  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Dimension.java: Update to 1.4.
	* java/awt/Point.java: Update to 1.4.
	* java/awt/Polygon.java (Polygon): Don't share array.
	(contains(double, double)): Use boolean instead of int.
	(getPathIterator): Fix bugs.
	* java/awt/Rectangle.java: Update to 1.4.
	* java/awt/geom/AffineTransform.java: Remove unused nested class.
	* java/awt/geom/Dimension2D.java: Update to 1.4.
	* java/awt/geom/FlatteningPathIterator.java: New file (stubbed).
	* java/awt/geom/Line2D.java: Update to 1.4.
	* java/awt/geom/Makefile.am (EXTRA_DIST) Added
	FlatteningPathIterator.java.
	* java/awt/geom/PathIterator.java: Improve Javadoc.
	* java/awt/geom/Point2D.java: Update to 1.4.
	* java/awt/geom/Rectangle2D.java: Update to 1.4.
	* java/awt/geom/RectangularShape.java: Update to 1.4.

2002-03-21  Sascha Brawer  <brawer@acm.org>

	* java/util/zip/ZipFile.java (OPEN_DELETE): Match constant
	value given by Sun J2SE 1.4 Javadoc.

2002-03-21  C. Brian Jones <cbj@gnu.org>

	The following changes are all from patch submissions from Intel's
	ORP team to get Classpath into a JBOSS compatible state.  This 
	is primarily just the non-public API patches.  The rest will be
	committed within a few days.
	* gnu/java/io/PlatformHelper.java: new file
	* gnu/java/io/Makefile.am: add new file to EXTRA_DIST
	* gnu/java/lang/ClassLoaderHelper.java (getSystemResourceAsFile):
	add support for .zip/.jar archive loading
	* gnu/java/lang/reflect/TypeSignature.java: additional comments
	* gnu/java/net/protocol/file/FileURLConnection.java (connect): if
	file does not exist, throw FileNotFoundException
	* gnu/java/net/protocol/file/Handler.java (parseURL): override
	method from URLStreamHandler for parsing file URL
	* gnu/java/net/protocol/jar/JarURLConnection.java: new file
	* gnu/java/net/protocol/jar/Handler.java: new file
	* gnu/java/net/protocol/jar/.cvsignore: new file
	* gnu/java/net/protocol/jar/Makefile.am: new file
	* gnu/java/net/protocol/Makefile.am: add jar to SUBDIRS
	* gnu/java/rmi/RMIMarshalledObjectInputStream.java: new file
	* gnu/java/rmi/RMIMarshalledObjectOutputStream.java: new file
	* gnu/java/rmi/Makefile.am: add new file to EXTRA_DIST
	* gnu/java/rmi/dgc/DGCImpl.java (dirty): partially implemented
	* gnu/java/rmi/server/Makefile.am: add new file to EXTRA_DIST
	* gnu/java/rmi/server/ConnectionRunnerPool.java: new file
	* gnu/java/rmi/server/RMIHashes.java (getMethodHash): conformance
	to object serialization specification 8.3
	* gnu/java/rmi/server/RMIObjectInputStream.java 
	(RMIObjectInputStream): new constructor
	(resolveClass): try additional method of loading class and catch
	exception from super.resolveClass
	(getAnnotation): new method
	(resolveProxyClass): new method
	(readValue): new method
	* gnu/java/rmi/server/RMIObjectOutputStream.java 
	(setAnnotation): new method
	(annotateClass): use new setAnnotation method
	(annotateProxyClass): new method
	(replaceObject): new method
	(writeValue): new method
	* gnu/java/rmi/server/UnicastConnection.java 
	(acceptConnection): use buffered streams to improve efficiency
	(makeConnection): ditto
	(disconnect): close oout stream if needed
	* gnu/java/rmi/server/UnicastConnectionManager.java 
	(static): use host address instead of host name
	(getInstance): ditto
	(stopServer): new method
	(run): exit thread if server thread is null
	* gnu/java/rmi/server/UnicastRef.java (invokeCommon): handle 
	primitive types and null return type
	(writeExternal): remove write of RETURN_ACK because it confuses Sun's
	implementation when interoperating
	(readExternal): similarly read of RETURN_ACK or Sun's value ok
	* gnu/java/rmi/server/UnicastServer.java 
	(unexportObject): new method
	(incomingMessageCall): check for primitive type and write it out
	correctly
	* gnu/java/rmi/server/UnicastServerRef.java: implements ServerRef
	(exportObject): call new exportObject method with argument
	(exportObject): new method, not completely implemented
	(unexportObject): new method
	(getHelperClass): remove use of Class.forName
	(buildMethodHash): boolean argument allows build up or tear down
	of method hash
	(getMethodReturnType): new method
	(incomingMessageCall): handle exceptions from meth.invoke differently
	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): do not maintain static class variable of Permissions
	* gnu/java/security/provider/SHA.java 
	(engineUpdate): algorithm change
	(engineDigest): algorithm change
	* java/io/ObjectInputStream.java (resolveProxyClass): new method
	* configure.in: add new Makefiles to AC_OUTPUT

2002-03-20  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Cloneable.java: Improve Javadoc.
	* java/lang/Comparable.java: Improve formatting.
	* java/lang/Compiler.java: Improve formatting. Update to 1.4.
	* java/lang/InheritableThreadLocal.java: Update to 1.4. This
	includes much less object creation.
	* java/lang/Process.java: Update to 1.4.
	* java/lang/Runnable.java: Improve formatting.
	* java/lang/SecurityManager.java: Partial update to 1.4.
	* java/lang/ThreadGroup.java: Update to 1.4.
	* java/lang/ThreadLocal.java: Update to 1.4. This includes much
	less object creation.
	* vm/reference/java/lang/Runtime.java: Check for dead Thread.
	* vm/reference/java/lang/Thread.java: Update to 1.4.
	* vm/reference/java/lang/Throwable.java: Fix typo.
	* java/util/Properties.java: Fix comment.

2002-03-20  Sascha Brawer  <brawer@acm.org>

	* java/awt/Font.java: Add 1.3 and 1.4 constant values.
	* java/io/PipedInputStream.java (PIPE_SIZE): Adjust constant
	value to match Sun J2SE 1.4 Javadoc.
	* vm/reference/java/lang/Thread.java (MIN_PRIORITY, MAX_PRIORITY,
	NORM_PRIORITY): Match values given by Sun J2SE 1.4 Javadoc.
	* java/rmi/server/LogStream.java (BRIEF, VERBOSE): Match values
	given by Sun J2SE 1.4 Javadoc.
	* java/sql/Types.java: Mark 1.2 constant fields with @since.
	* java/sql/Types.java (DATALINK, BOOLEAN): Add 1.4 constants.
	
2002-03-19  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Makefile.am (EXTRA_DIST): Add new files.
	* java/awt/AWTEvent.java: Update to 1.4.
	* java/awt/ActiveEvent.java: Update to 1.4.
	* java/awt/Adjustable.java: Update to 1.4.
	* java/awt/Composite.java: New file.
	* java/awt/CompositeContext.java: New file.
	* java/awt/ItemSelectable.java: Update to 1.4.
	* java/awt/KeyEventDispatcher.java: New file.
	* java/awt/KeyEventPostProcessor.java: New file.
	* java/awt/LayoutManager.java: Update to 1.4.
	* java/awt/LayoutManager2.java: Update to 1.4.
	* java/awt/MenuContainer.java: Update to 1.4.
	* java/awt/Paint.java: Update to 1.4.
	* java/awt/PaintContext.java: Update to 1.4.
	* java/awt/Polygon.java: Update to 1.4, including new methods.
	* java/awt/PrintGraphics.java: Update to 1.4.
	* java/awt/Shape.java: Update to 1.4.
	* java/awt/Stroke.java: New file.
	* java/awt/Transparency.java: Update to 1.4.

2002-03-19  Sascha Brawer  <brawer@acm.org>

	* java/awt/AWTEvent.java: Add constant field values to match J2SE
	1.4 javadoc.
	* java/awt/BorderLayout.java: Add constant field values in order
	to match J2SE 1.4 javadoc.  Nicer documentation strings for some
	constant field values.  Add @since tags to mark 1.2 and 1.4 fields.

2002-03-19  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/String.java (regionMatches): Used wrong String, see
	Patch 195.

2002-03-19  Nic Ferrier  <nferrier@tapsellferrier.co.uk>

	* gnu/java/net/protocol/file/FileURLConnection.java: Formatting
	changes.
	* gnu/java/net/protocol/file/Handle.java: Formatting changes.

2002-03-18  Eric Blake  <ebb9@email.byu.edu>

	* javax/accessibility/AccessibleExtendedComponent.java: Typos in
	original commit.
	* javax/accessibility/AccessibleExtendedTable.java: Ditto.
	* javax/accessibility/AccessibleHyperlink.java: Ditto.

2002-03-18  Eric Blake  <ebb9@email.byu.edu>

	* lib/standard.omit: Remove javax/accessibility.
	* configure.in (AC_OUTPUT): Add javax/accessibility/Makefile.

2002-03-18  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/AppletContext.java (setStream, getStream),
	(getStreamKeys): Add new methods.
	* java/applet/AppletStub.java: Improve javadoc.
	* java/applet/AudioClip.java: Ditto.
	* java/applet/Applet.java: Updated to 1.4.
	* java/awt/Makefile.am (EXTRA_DIST): Add DisplayMode.java,
	GraphicsConfigTemplate.java, GraphicsDevice.java and
	GraphicsEnvironment.java.
	* java/awt/DisplayMode.java: New file.
	* java/awt/GraphicsConfigTemplate.java: New file.
	* java/awt/GraphicsDevice.java: New file.
	* java/awt/GraphicsEnvironment.java: New file.
	* java/awt/GraphicsConfiguration.java (getDevice): Add method.
	* java/awt/Panel.java: Updated to 1.4.
	* java/awt/AWTPermission.java: Updated to 1.4.
	* java/awt/Container.java: Partial update to 1.4.
	* java/awt/Component.java: Partial update to 1.4.

2002-03-18  Eric Blake  <ebb9@email.byu.edu>

	* javax/Makefile.am (SUBDIRS): Visit accessibility subdir.
	* javax/accessibility/Makefile.am: New file.
	* javax/accessibility/.cvsignore: New file.
	* javax/accessibility/Accessible.java: Update to 1.4.
	* javax/accessibility/AccessibleAction.java: Update to 1.4.
	* javax/accessibility/AccessibleBundle.java: Implement.
	* javax/accessibility/AccessibleComponent.java: Update to 1.4.
	* javax/accessibility/AccessibleContext.java: Implement.
	* javax/accessibility/AccessibleEditableText.java: New file.
	* javax/accessibility/AccessibleExtendedComponent.java: New file.
	* javax/accessibility/AccessibleExtendedTable.java: New file.
	* javax/accessibility/AccessibleHyperlink.java: Implement.
	* javax/accessibility/AccessibleHypertext.java: Update to 1.4.
	* javax/accessibility/AccessibleIcon.java: New file.
	* javax/accessibility/AccessibleKeyBinding.java: New file.
	* javax/accessibility/AccessibleRelation.java: New file.
	* javax/accessibility/AccessibleRelationSet.java: New file.
	* javax/accessibility/AccessibleResourceBundle.java: Implement.
	* javax/accessibility/AccessibleRole.java: Implement.
	* javax/accessibility/AccessibleSelection.java: Update to 1.4.
	* javax/accessibility/AccessibleState.java: Implement.
	* javax/accessibility/AccessibleStateSet.java: Implement.
	* javax/accessibility/AccessibleTable.java: New file.
	* javax/accessibility/AccessibleTableModelChange.java: New file.
	* javax/accessibility/AccessibleText.java: Update to 1.4.
	* javax/accessibility/AccessibleValue.java: Update to 1.4.

2002-03-17  C. Brian Jones <cbj@gnu.org>

	* java/net/URLStreamHandler.java (parseURL): incorporate patch from
	Intel to accomodate additional formats

2002-03-12  C. Brian Jones <cbj@gnu.org>

	* lib/gen_nio.sh.in: new file is renamed gen_nio.sh plus fixes 
	to make it work when building outside of the classpath directory
	* lib/gen_nio.sh: removed file
	* lib/.cvsignore: ignore gen_nio.sh
	* configure.in: generate gen_nio.sh and nio related Makefiles 
	in OUTPUT.  Revert comment out of check for libart_lgpl
	* lib/Makefile.am: give gen_nio.sh some idea of the top_builddir
	and make it a separate target, gennio, that must be manually 
	executed; the generated files will be part of CVS since they change
	only when the source .cpp changes rather than due to a configuration
	change
	* java/nio/Makefile.am: new file
	* java/nio/.cvsignore: new file
	* java/nio/charset/Makefile.am: new file
	* java/nio/charset/.cvsignore: new file
	* java/nio/channels/Makefile.am: new file
	* java/nio/channels/.cvsignore: new file
	* java/nio/channels/spi/Makefile.am: new file
	* java/nio/channels/spi/.cvsignore: new file
	* gnu/java/nio/Makefile.am: new file
	* gnu/java/nio/.cvsignore: new file
	* java/nio/ShortBuffer.java: generated file
	* java/nio/ByteBuffer.java: generated file
	* java/nio/LongBuffer.java: generated file
	* java/nio/IntBuffer.java: generated file
	* java/nio/FloatBuffer.java: generated file
	* java/nio/DoubleBuffer.java: generated file
	* java/nio/CharBuffer.java: generated file
	* gnu/java/nio/ShortBufferImpl.java: generated file
	* gnu/java/nio/MappedShortFileBuffer.java: generated file
	* gnu/java/nio/MappedLongFileBuffer.java: generated file
	* gnu/java/nio/MappedIntFileBuffer.java: generated file
	* gnu/java/nio/MappedFloatFileBuffer.java: generated file
	* gnu/java/nio/MappedDoubleFileBuffer.java: generated file
	* gnu/java/nio/MappedCharFileBuffer.java: generated file
	* gnu/java/nio/MappedByteFileBuffer.java: generated file
	* gnu/java/nio/LongBufferImpl.java: generated file
	* gnu/java/nio/IntBufferImpl.java: generated file
	* gnu/java/nio/FloatBufferImpl.java: generated file
	* gnu/java/nio/DoubleBufferImpl.java: generated file
	* gnu/java/nio/CharBufferImpl.java: generated file
	* gnu/java/nio/ByteBufferImpl.java: generated file

2002-03-12  Ronald Veldema <rveldema@cs.vu.nl>

	* Removes dependencies on manta; javax.swing, 
	gnu.java.nio and java.nio now compile with jikes;

2002-03-11  C. Brian Jones <cbj@gnu.org>

	* acinclude.m4: moved AM_CONDITIONAL statements out of conditionals
	to avoid warning from autoconf 2.53
	* configure.in: explicitly call CLASSPATH_FIND_JAVA outside of a 
	conditional to avoid AM_CONDITIONAL warning

2002-03-11  Ronald Veldema <rveldema@cs.vu.nl>

	* java.nio.*: new files
	* gnu.java.nio.*: new files; provides java.nio.* implementation; 
	the native side is not yet done
	* javax.swing.*: new files; embryonic state;swing builds ontop of 
	java.awt, so needs awt; needs makefile support
	* added lib/gen_nio.sh: new file; it generates all those 
	java.nio.TYPEBuffer.java and gnu.java.nio.TYPEBuffer.java files 
	where TYPE={Byte,Long,Float,etc}

2002-03-11  Mark Wielaard <mark@klomp.org>

	* lib/standard.omit: add java.nio and gnu.java.nio packages.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(awt_event_handler): Set insets to 0.

	* native/jni/gtk-peer/gthread-jni.h: Fixed #endif.

	Update checkbutton and radiobutton code.  Now it mostly works.
	* gnu/java/awt/peer/gtk/GtkRadioButtonPeer.java: Removed.
	* gnu/java/awt/peer/gtk/GtkCheckButtonPeer.java: Removed.
	* gnu/java/awt/peer/gtk/GtkToggleButtonPeer.java: Removed.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (createCheckbox): Use
	GtkCheckboxPeer.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (setLabel): Rewrote.
	(setState): Rewrote.
	(gtkCheckButtonSetState, gtkCheckButtonSetLabel): Removed.
	(setCheckboxGroup): Rewrote.
	(gtkRadioButtonSetGroup): Removed.
	(nativeCreate): Declare.
	(gtkRadioButtonNew, gtkCheckButtonNew): Removed.
	(GtkCheckboxPeer): Don't call `new' methods.
	(create): New method.
	(getArgs): Likewise.
	(nativeSetCheckboxGroup): New method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_setCheckboxGroup):
	Likewise.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_setState): Removed.
	(Java_gnu_java_awt_peer_gtk_GtkRadioButtonPeer_create): Removed.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkRadioButtonNew):
	Removed.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkCheckButtonNew):
	Removed.
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_setLabel): Removed.

	* java/awt/GridLayout.java (layoutContainer): Handle case where
	there are no items in container.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/MediaTracker.java: Implemented.
	* java/awt/ImageMediaEntry: Removed.
	* java/awt/MediaEntry: Removed.
	* java/awt/Makefile.am (EXTRA_DIST): Remove ImageMediaEntry and 
	MediaEntry.

2002-03-09  Eric Blake  <ebb9@email.byu.edu>

	* scripts/unicode-muncher.pl: Bump the version, minor tweaks.
	* gnu/java/lang/CharData.java: Regenerate.
	* java/lang/Character.java: Remerge with gcj.
	* java/lang/Integer.java (toString, toUnsignedString): Use package
	String constructor.
	* java/lang/Long.java (toString, toUnsignedString): Ditto.
	* java/lang/String.java: Fix some off-by-one errors and typos.
	(offset): Implement, to match gcj.
	(String(char[], int, int, boolean)): Change signature of package
	constructor to be more flexible, and match gcj.
	* java/lang/StringBuffer.java (substring, regionMatches): Use
	offset improvements in String.	

2002-03-08  Eric Blake  <ebb9@email.byu.edu>

	* java/util/regex/Pattern.java (split): Add missing stubs.
	* java/util/regex/Matcher.java (replace*): Ditto.
	* doc/unicode/SpecialCasing-2.txt: New file from unicode.org.
	* scripts/unicode-muncher.pl: Add special casing rules for
	multi-character uppercase expansions.
	* gnu/java/lang/CharData.java: Regenerate.
	* java/util/WeakHashMap.java: Improve Javadoc.
	* java/lang/CharSequence.java: Ditto.
	* java/lang/Character.java (getDirectionality): Update to new
	CharData format.
	(direction, readChar): Change visibility.
	(toString): One less method call.
	* java/lang/String.java: General code cleanup, optimizations, and
	better exception matching to Sun's implementation.
	(internTable, intern): Switch to use weak references.
	(String(StringBuffer), String(char[], int)): Implement array
	sharing when the array comes from a trusted source.
	(matches, replace*, split): New methods, that call unimplemented
	stubs in java.util.regex.
	(toUpperCase, toLowerCase): Correctly implement one-to-many case
	conversions, and special casing based on locale.
	(upperExpand, upperSpecial, upperCaseExpansion, upperCaseIndex):
	New tables and methods, to implement toUpperCase.
	* java/lang/StringBuffer.java: General code cleanup,
	optimizations, and better exception matching.
	(substring): Use array sharing.
	(append(StringBuffer), indexOf, lastIndexOf): Avoid object
	creation.
	(regionMatches): New method, used by indexOf.

2002-03-08  Mark Wielaard <mark@klomp.org>

	* lib/Makefile.am: Add -bootclasspath '' -extdirs '' -sourcepath '' to
	jikes invocation.
	* java/net/Socket.java (shutdownInput): new stub method.
	(shutdownOutput): likewise.
	* vm/reference/java/lang/Class.java (forNme(String)): native again.
	* gnu/java/awt/peer/gtk/Makefile: removed (autogenerated).

2002-03-08  John Leuner  <jewel@debian.org>

	* java/util/regex/Matcher.java: Added stub class
	* java/util/regex/Pattern.java: Added stub class

2002-03-07  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/String.java: Improve Javadoc and formatting.
	* java/lang/StringBuffer.java: Ditto.

2002-03-06  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/RuntimePermission.java: Improve Javadoc.
	* java/lang/SecurityManager.java: Improve Javadoc and formatting.
	* java/lang/System.java (setIn, setOut, setErr): Add required
	security check.
	(defaultProperties): Add a default, to allow clean resetting of
	properties back to the VM startup state.
	(setProperties): Correctly reset properties to default state.
	* native/jni/java-lang/java_lang_System.c: Update method
	signatures for changing I/O.
	* include/java_lang_System.h: Ditto.
	* vm/reference/java/lang/Runtime.java: Add shutdown hook
	capability, as well as updating the exec calls.
	* vm/reference/java/lang/VMSecurityManager.java: Improve Javadoc.
	* java/util/PropertyPermission.java: Fix implication bugs.
	* java/util/PropertyPermissionCollection.java: Ditto.

2002-03-04  Sascha Brawer  <brawer@acm.org>

	* java/util/logging/ConsoleHandler.java: Initial check-in.
	* java/util/logging/ErrorManager.java: Initial check-in.
	* java/util/logging/FileHandler.java: Initial check-in.
	* java/util/logging/Filter.java: Initial check-in.
	* java/util/logging/Formatter.java: Initial check-in.
	* java/util/logging/Handler.java: Initial check-in.
	* java/util/logging/Level.java: Initial check-in.
	* java/util/logging/LogManager.java: Initial check-in.
	* java/util/logging/LogRecord.java: Initial check-in.
	* java/util/logging/Logger.java: Initial check-in.
	* java/util/logging/LoggingPermission.java: Initial check-in.
	* java/util/logging/MemoryHandler.java: Initial check-in.
	* java/util/logging/SimpleFormatter.java: Initial check-in.
	* java/util/logging/SocketHandler.java: Initial check-in.
	* java/util/logging/StreamHandler.java: Initial check-in.
	* java/util/logging/XMLFormatter.java: Initial check-in.
	
2002-03-03 Mark Wielaard <mark@klomp.org>

	* THANKYOU: Add Sascha Brawer
	* java/lang/System.java (static): Set java.io.tmpdir from java.tmpdir
	if not yet set.
	* java/io/File.java (createTempFile): Use java.io.tmpdir property not
	java.tmpdir.

2002-03-03 Mark Wielaard <mark@klomp.org>

	* java/awt/Font.java (decode): Catch NumberFormatException.

2002-03-03 Mark Wielaard <mark@klomp.org>

	* java/util/Timer (TaskQueue.stop): set elements to zero.
	* THANKYOU: Add Shuhua Zhang

2002-03-02 Mark Wielaard <mark@klomp.org>

	* lib/standard.omit: java/security/cert/CertPathValidatorException.java
	added.

2002-03-02 Wu Gansha <gansha.wu@intel.com>

	* vm/reference/java/lang/reflect/Method.java (equals): reimplement.

2002-02-26  Eric Blake  <ebb9@email.byu.edu>

	* vm/reference/java/lang/Runtime.java: Formatting and Javadoc.
	* vm/reference/java/lang/VMSystem.java: Ditto.
	* java/lang/System.java: Ditto.
	* java/util/Properties.java: Fix doc typo.

2002-02-25  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Double.java (byteValue, shortValue, compareTo): Add
	missing methods, fix typo in last commit.
	* java/lang/Float.java (byteValue, shortValue, compareTo): Ditto.
	* java/lang/Number.java (digits): Add lookup table.
	* java/lang/Character.java (forDigit): Use table.
	* java/lang/Integer.java (toString(int, int)): Optimize
	case for MIN_VALUE.
	(getInteger(String, Integer)): Trap NullPointerException,
	IllegalArgumentException from System.getProperty.
	(parseInt(String, int, boolean)): Combine parseInt and decode into
	one method, and optimize.
	(parseInt, decode, valueOf): Use improved parseInt.
	* java/lang/Byte.java (parseByte, decode): Ditto.
	* java/lang/Short.java (parseShort, decode): Ditto.
	* java/lang/Long.java (parseLong(String, int, boolean)): Combine
	parseLong and decode into one method, and optimize.
	(parseLong, decode, valueOf): Use improved parseLong.
	(toString): Optimize case for MIN_VALUE.
	(getLong(String, Long)): Trap NullPointerException,
	IllegalArgumentException from System.getProperty.
	* java/lang/Boolean.java (getBoolean): Trap NullPointerException,
	IllegalArgumentException from System.getProperty.

2002-02-24  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Byte.java: Reformat, improve Javadoc.
	* java/lang/Double.java: Ditto.
	* java/lang/Float.java: Ditto.
	* java/lang/Integer.java: Ditto.
	* java/lang/Long.java: Ditto.
	* java/lang/Number.java: Ditto.
	* java/lang/Short.java: Ditto.

2002-02-23  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/AWTError.java: Update to 1.4.
	* java/awt/AWTException.java: Ditto.
	* java/awt/IllegalComponentStateException.java: Ditto.
	* java/awt/datatransfer/MimeTypeParseException.java: Ditto.
	* java/awt/datatransfer/UnsupportedFlavorException.java: Ditto.
	* java/awt/geom/IllegalPathStateException.java: Ditto.
	* java/awt/geom/NoninvertibleTransformException.java: Ditto.
	* java/awt/print/PrinterAbortException.java: Ditto.
	* java/awt/print/PrinterException.java: Ditto.
	* java/awt/print/PrinterIOException.java: Ditto.
	* java/beans/IntrospectionException.java: Ditto.
	* java/beans/PropertyVetoException.java: Ditto.
	* java/io/CharConversionException.java: Ditto.
	* java/io/EOFException.java: Ditto.
	* java/io/FileNotFoundException.java: Ditto.
	* java/io/InterruptedIOException.java: Ditto.
	* java/io/InvalidClassException.java: Ditto.
	* java/io/InvalidObjectException.java: Ditto.
	* java/io/IOException.java: Ditto.
	* java/io/NotActiveException.java: Ditto.
	* java/io/NotSerializableException.java: Ditto.
	* java/io/ObjectStreamException.java: Ditto.
	* java/io/OptionalDataException.java: Ditto.
	* java/io/StreamCorruptedException.java: Ditto.
	* java/io/SyncFailedException.java: Ditto.
	* java/io/UnsupportedEncodingException.java: Ditto.
	* java/io/UTFDataFormatException.java: Ditto.
	* java/io/WriteAbortedException.java: Ditto.
	* java/lang/AbstractMethodError.java: Ditto.
	* java/lang/ArithmeticException.java: Ditto.
	* java/lang/ArrayIndexOutOfBoundsException.java: Ditto.
	* java/lang/ArrayStoreException.java: Ditto.
	* java/lang/AssertionError.java: Ditto.
	* java/lang/ClassCastException.java: Ditto.
	* java/lang/ClassCircularityError.java: Ditto.
	* java/lang/ClassFormatError.java: Ditto.
	* java/lang/ClassNotFoundException.java: Ditto.
	* java/lang/CloneNotSupportedException.java: Ditto.
	* java/lang/Exception.java: Ditto.
	* java/lang/ExceptionInInitializerError.java: Ditto.
	* java/lang/IllegalAccessError.java: Ditto.
	* java/lang/IllegalAccessException.java: Ditto.
	* java/lang/IllegalArgumentException.java: Ditto.
	* java/lang/IllegalMonitorStateException.java: Ditto.
	* java/lang/IllegalStateException.java: Ditto.
	* java/lang/IllegalThreadStateException.java: Ditto.
	* java/lang/IncompatibleClassChangeError.java: Ditto.
	* java/lang/IndexOutOfBoundsException.java: Ditto.
	* java/lang/InstantiationError.java: Ditto.
	* java/lang/InstantiationException.java: Ditto.
	* java/lang/InternalError.java: Ditto.
	* java/lang/InterruptedException.java: Ditto.
	* java/lang/LinkageError.java: Ditto.
	* java/lang/NegativeArraySizeException.java: Ditto.
	* java/lang/NoClassDefFoundError.java: Ditto.
	* java/lang/NoSuchFieldError.java: Ditto.
	* java/lang/NoSuchFieldException.java: Ditto.
	* java/lang/NoSuchMethodError.java: Ditto.
	* java/lang/NoSuchMethodException.java: Ditto.
	* java/lang/NullPointerException.java: Ditto.
	* java/lang/NumberFormatException.java: Ditto.
	* java/lang/OutOfMemoryError.java: Ditto.
	* java/lang/RuntimeException.java: Ditto.
	* java/lang/SecurityException.java: Ditto.
	* java/lang/StackOverflowError.java: Ditto.
	* java/lang/StringIndexOutOfBoundsException.java: Ditto.
	* java/lang/ThreadDeath.java: Ditto.
	* java/lang/UnknownError.java: Ditto.
	* java/lang/UnsatisfiedLinkError.java: Ditto.
	* java/lang/UnsupportedClassVersionError.java: Ditto.
	* java/lang/UnsupportedOperationException.java: Ditto.
	* java/lang/VerifyError.java: Ditto.
	* java/lang/VirtualMachineError.java: Ditto.
	* java/lang/Void.java: Ditto.
	* java/lang/reflect/InvocationTargetException.java: Ditto.
	* java/lang/reflect/UndeclaredThrowableException.java: Ditto.
	* java/net/BindException.java: Ditto.
	* java/net/ConnectException.java: Ditto.
	* java/net/MalformedURLException.java: Ditto.
	* java/net/NoRouteToHostException.java: Ditto.
	* java/net/ProtocolException.java: Ditto.
	* java/net/SocketException.java: Ditto.
	* java/net/UnknownHostException.java: Ditto.
	* java/net/UnknownServiceException.java: Ditto.
	* java/rmi/AccessException.java: Ditto.
	* java/rmi/AlreadyBoundException.java: Ditto.
	* java/rmi/ConnectException.java: Ditto.
	* java/rmi/ConnectIOException.java: Ditto.
	* java/rmi/MarshalException.java: Ditto.
	* java/rmi/NoSuchObjectException.java: Ditto.
	* java/rmi/NotBoundException.java: Ditto.
	* java/rmi/RemoteException.java: Ditto.
	* java/rmi/RMISecurityException.java: Ditto.
	* java/rmi/ServerException.java: Ditto.
	* java/rmi/ServerRuntimeException.java: Ditto.
	* java/rmi/StubNotFoundException.java: Ditto.
	* java/rmi/UnexpectedException.java: Ditto.
	* java/rmi/UnknownHostException.java: Ditto.
	* java/rmi/UnmarshalException.java: Ditto.
	* java/rmi/activation/ActivateFailedException.java: Ditto.
	* java/rmi/activation/ActivationException.java: Ditto.
	* java/rmi/activation/UnknownGroupException.java: Ditto.
	* java/rmi/activation/UnknownObjectException.java: Ditto.
	* java/rmi/server/ExportException.java: Ditto.
	* java/rmi/server/ServerCloneException.java: Ditto.
	* java/rmi/server/ServerNotActiveException.java: Ditto.
	* java/rmi/server/SkeletonMismatchException.java: Ditto.
	* java/rmi/server/SkeletonNotFoundException.java: Ditto.
	* java/rmi/server/SocketSecurityException.java: Ditto.
	* java/security/AccessControlException.java: Ditto.
	* java/security/DigestException.java: Ditto.
	* java/security/GeneralSecurityException.java: Ditto.
	* java/security/InvalidAlgorithmParameterException.java: Ditto.
	* java/security/InvalidKeyException.java: Ditto.
	* java/security/InvalidParameterException.java: Ditto.
	* java/security/KeyException.java: Ditto.
	* java/security/KeyManagementException.java: Ditto.
	* java/security/KeyStoreException.java: Ditto.
	* java/security/NoSuchAlgorithmException.java: Ditto.
	* java/security/NoSuchProviderException.java: Ditto.
	* java/security/PrivilegedActionException.java: Ditto.
	* java/security/ProviderException.java: Ditto.
	* java/security/SignatureException.java: Ditto.
	* java/security/UnrecoverableKeyException.java: Ditto.
	* java/security/acl/AclNotFoundException.java: Ditto.
	* java/security/acl/LastOwnerException.java: Ditto.
	* java/security/acl/NotOwnerException.java: Ditto.
	* java/security/cert/CertificateEncodingException.java: Ditto.
	* java/security/cert/CertificateException.java: Ditto.
	* java/security/cert/CertificateExpiredException.java: Ditto.
	* java/security/cert/CertificateNotYetValidException.java: Ditto.
	* java/security/cert/CertificateParsingException.java: Ditto.
	* java/security/cert/CRLException.java: Ditto.
	* java/security/spec/InvalidKeySpecException.java: Ditto.
	* java/security/spec/InvalidParameterSpecException.java: Ditto.
	* java/sql/BatchUpdateException.java: Ditto.
	* java/sql/DataTruncation.java: Ditto.
	* java/sql/SQLException.java: Ditto.
	* java/sql/SQLWarning.java: Ditto.
	* java/text/ParseException.java: Ditto.
	* java/util/MissingResourceException.java: Ditto.
	* java/util/jar/JarException.java: Ditto.
	* java/util/prefs/BackingStoreException.java: Ditto.
	* java/util/prefs/InvalidPreferencesFormatException.java: Ditto.
	* java/util/zip/DataFormatException.java: Ditto.
	* java/util/zip/ZipException.java: Ditto.
	* java/awt/Makefile.am (EXTRA_DIST): Add FontFormatException.java
	and HeadlessException.java.
	* java/awt/FontFormatException.java: New file.
	* java/awt/HeadlessException.java: New file.
	* java/awt/color/Makefile.am (EXTRA_DIST): Add CMMException.java
	and ProfileDataException.java.
	* java/awt/color/CMMException.java: New file.
	* java/awt/color/ProfileDataException.java: New file.
	* java/awt/image/Makefile.am (EXTRA_DIST): Add
	ImagingOpException.java and RasterFormatException.java.
	* java/awt/image/ImagingOpException.java: New file.
	* java/awt/image/RasterFormatException.java: New file.
	* java/net/Makefile.am (EXTRA_DIST): Add
	PortUnreachableException.java, SocketTimeoutException.java and
	URISyntaxException.java.
	* java/net/PortUnreachableException.java: New file.
	* java/net/SocketTimeoutException.java: New file.
	* java/net/URISyntaxException.java: New file.
	* java/security/cert/Makefile.am (EXTRA_DIST): Add
	CertPathBuilderException.java, CertPathValidatorException.java,
	and CertStoreException.java.
	* java/security/cert/CertPathBuilderException.java: New file.
	* java/security/cert/CertPathValidatorException.java: New file.
	* java/security/cert/CertStoreException.java: New file.
	* vm/reference/java/lang/Throwable.java (toString): Use
	getLocalizedMessage().
	* ChangeLog: Fix spelling error.

2002-02-23  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Makefile.am (EXTRA_DIST): Add AssertionError.java and
	StackTraceElement.java.
	* java/lang/AssertionError.java: New file.
	* java/lang/ClassLoader.java: Add some synchronization and code
	cleanups to use improved VMClassLoader.
	Add assertion status fields and methods.
	* java/lang/StackTraceElement.java: New file.
	* vm/reference/java/lang/Class.java (desiredAssertionStatus): Add.
	Other locations: clean up code.
	* vm/reference/java/lang/Throwable.java (cause, stackTrace): Add
	exception chaining, and Java code for stack traces (native code
	unimplemented).
	* vm/reference/java/lang/VMClassLoader.java: Add (unimplemented)
	hooks to compile assertion status.
	(defineClass, loadClass): Add prototypes for missing native hooks.
	* vm/reference/java/lang/VMSecurityManager.java: Formatting.
	* gnu/java/lang/ClassHelper.java (getAllMethodsAtDeclaration),
	(getAllFieldsAtDeclaration): Delete, as they were just duplicates.
	(getAllMethods, getAllFields): Optimize.
	* gnu/java/lang/ArrayHelper.java: Formatting and Javadoc.
	(equalsArray): Delete, it duplicates java.util.Arrays.equals.
	* gnu/java/beans/BeanInfoEmbryo.java (hasMethod): Use
	Arrays.equals instead of ArrayHelper.equalsArray.

2002-02-22  Tom Tromey  <tromey@redhat.com>

	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Include the "Inc.".

	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Only print most
	recent copyright date.

2002-02-22  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: added new static final fields 
	introduced in 1.2, lots of other updates remain to be done

2002-02-22  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: reformatting

2002-02-22  Eric Blake  <ebb9@email.byu.edu>

	* gnu/java/lang/ClassHelper.java: Improve Javadoc and formatting,
	and rearrange methods.
	* vm/reference/java/lang/Class.java: Ditto.
	* vm/reference/java/lang/Throwable.java: Ditto.
	* vm/reference/java/lang/VMClassLoader.java: Ditto.
	* vm/reference/java/lang/VMObject.java: Ditto.
	* java/lang/Boolean.java: Ditto.
	* java/lang/ClassLoader.java: Ditto.
	* java/lang/Object.java: Ditto.
	* java/lang/Error.java: Update to 1.4 with new constructors.

2002-02-22  Eric Blake  <ebb9@email.byu.edu>

	* java/util/PropertyPermission.java (setActions): Optimize the
	action parsing.
	(PropertyPermission): Throw IllegalArgumentException on null.
	(hashCode): Add.
	(newPermissionCollection): Use PropertyPermissionCollection.
	* java/util/PropertyPermissionCollection.java: New class, to match
	up with Sun's serialization.
	* java/util/StringTokenizer.java (len): Add a field, to reduce the
	number of method calls being made.

2002-02-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/PropertyPermission.java: Improve Javadoc.
	* java/util/StringTokenizer.java: Improve Javadoc.

2002-02-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/EventObject.java (EventObject(Object)): Check for
	null, to match JDK behavior.
	* java/util/Observable.java (observers): Change from Vector to
	LinkedHashSet, to avoid cost of extra synchronization.	
	(notifyObservers): Add synchronization around set cloning.
	* java/util/Properties.java (propertyNames): Eliminate tail
	recursion.
	(list): Reuse the same StringBuffer.

2002-02-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Makefile.am (EXTRA_DIST): Add EventListenerProxy.java.
	* java/util/EventListener.java: Improve Javadoc.
	* java/util/EventListenerProxy.java: New class.
	* java/util/EventObject.java: Improve Javadoc.
	* java/util/Observable.java: Improve Javadoc.
	* java/util/Observer.java: Improve Javadoc.
	* java/util/Properties.java: Improve Javadoc, and reorder methods.
	* java/util/Random.java: Improve Javadoc and formatting.
	* java/util/TooManyListenersException.java: Improve Javadoc.

2002-02-20  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: default beanInfoSearchPath will 
	not include sun.beans.infos given we provide no such package and
	the API doesn't really require it; gnu.java.beans.info is the
	default.

2002-02-20  Eric Blake  <ebb9@email.byu.edu>

	* java/util/BasicMapEntry.java: Delete; top-level classes in
	java.util should be public.
	* java/util/Makefile.am (EXTRA_DIST): Remove BasicMapEntry.java.
	* java/util/AbstractMap.java: Make BasicMapEntry a nested class.
	* java/util/Collections.java (SingletonMap.entrySet): Update to
	new location of BasicMapEntry.	
	* java/util/HashMap.java (HashEntry):  Ditto.
	* java/util/Hashtable.java (HashEntry):  Ditto.
	* java/util/TreeMap.java (Node): Ditto.

2002-02-19  Eric Blake  <ebb9@email.byu.edu>

	* scripts/unicode-blocks.pl: Move from doc/unicode/.
	* scripts/unicode-muncher.pl: Ditto.
	* gnu/java/lang/CharData.java: Regenerate.
	* java/lang/Character.java (UnicodeBlock): Regenerate.

2002-02-19  Mark Wielaard  <mark@klomp.org>

	Based on patches submitted by Wu Gansha <gansha.wu@intel.com>
	* vm/reference/java/lang/reflect/Method.java (toString()): use
	Class.getName() not Class.toString().
	* vm/reference/java/lang/Class.java: final, implements Serializable
	(serialVersionUID): added field.

2002-02-18  Eric Blake  <ebb9@email.byu.edu>

	* doc/unicode/unicode-blocks.pl: Minor tweaks.
	* doc/unicode/unicode-muncher.pl: Minor tweaks.
	* java/lang/Character.java: Update to latest tweaks in
	doc/unicode/*.pl.
	* gnu/java/lang/CharData.java: Ditto.

2002-02-18  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-io/java_io_File.c 
	(Java_java_io_File_lastModifiedInternal): properly return 
	modified time in milliseconds

2002-02-18  Eric Blake  <ebb9@email.byu.edu>

	* doc/unicode/unicode-muncher.pl: Based on Artur's comments,
	credit Jochen Hoenicke, not Artur, as original author.
	* gnu/java/lang/CharData.java: Regenerate.	

2002-02-18  Mark Wielaard  <mark@klomp.org>

	* configure.in: Reenable ZIP.
	* lib/Makefile.am: Don't copy gnu/java/locale/*.uni, they no longer
	exist.

2002-02-18  Eric Blake  <ebb9@email.byu.edu>

	* doc/unicode/unicode-blocks.pl: Minor updates, to avoid warnings.
	* doc/unicode/unicode-muncher.pl: Rewrite, to incorporate ideas
	from Artur Biesiadowski: use a 2-level lookup of fixed-length
	blocks instead of a 1-level lookup of variable-length blocks, and
	store the data in String literals in a Java interface instead of
	in binary files.
	* doc/unicode/unicode.database.format: Remove, as
	gnu/java/lang/CharData is self-documenting.
	* gnu/java/locale/block.uni: Remove, replaced by
	gnu/java/lang/CharData.java.
	* gnu/java/locale/character.uni: Ditto.
	* gnu/java/locale/titlecase.uni: Ditto.
	* gnu/java/lang/Makefile.am (EXTRA_DIST): Add CharData.java.
	* gnu/java/lang/CharData.java: New file, holding the Unicode
	database for java.lang.Character.
	* java/lang/Character.java (blocks, data, numValue, upper, lower),
	(direction, title): Replace blocks, tcs, and unicodeData as the
	Unicode database used in all other methods; initialized by
	gnu.java.lang.CharData.
	(<clinit>, getBlock, class Block, class CharAttr): Delete;
	character attribute lookup now uses char[] instead of objects.
	(readChar): Update to use new database.
	(Various others): Reduce multiple comparisons to just one when
	checking a character's type.

2002-02-18  Mark Wielaard  <mark@klomp.org>

	Thanks to Orp developers
	* gnu/java/beans/editors/NativeBooleanEditor.java (setAsText(String)):
	switch TRUE and FALSE return values.

2002-02-18  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/Thread.java (contextClassLoader): new field.
	(Thread): set contextClassLoader field.
	(stop): deprecated.
	(suspend): likewise.
	(resume): likewise.
	(checkAccess): final.
	(getContextClassLoader): implement.
	(setContextClassLoader): new method.

2002-02-17  Eric Blake  <ebb9@email.byu.edu>

	* doc/unicode/UnicodeCharacterDatabase-3.0.0.html: Add
	redistribution license to accompany previous commit.

2002-02-17  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Character.java (getUnicodeBlock): Delete.
	(class UnicodeBlock): Add (generated) class, and move constants
	from Subset into it.
	(class Block, class CharAttr): Make nested classes of Character.
	(Subset.equals, Subset.hashcode, Subset.toString): Add methods.
	(getDirectionality, isMirrored, toString(char)): Add methods.
	(DIRECTIONALITY_*, *_QUOTE_PUNCTUATION): Add constants.
	(<clinit>, readChar): Update to new format of Unicode database.
	Overall: optimize code, bring in line with JDK 1.4 specs.
	* doc/unicode/UnicodeData-3.0.0.txt: Rename from
	UnicodeData-3.0.txt, to match the filename from www.unicode.org.
	* doc/unicode/ReadMe-3.0.0.txt: Rename from ReadMe-3.0.txt.
	* doc/unicode/UnicodeData-3.0.0.html: Add the Unicode 3.0
	document, copyright, and file format, from www.unicode.org.
	* doc/unicode/Blocks-3.txt: Add the Unicode 3.0 groups (supercedes
	BLOCKS.TXT of 2.1.2), from www.unicode.org.
	* doc/unicode/unicode.database.format: Document changes in the
	format of the Unicode database used by Character.
	* doc/unicode/unicode-muncher.pl: Update the Unicode database
	format to accomodate directionality and mirrored characters, and
	further compress the size of the database.
	* doc/unicode/unicode-blocks.pl: Add, to efficiently generate
	Character.UnicodeBlock.
	* gnu/java/locale/block.uni: Regenerate from Unicode 3.0.0.
	* gnu/java/locale/character.uni: Regenerate from Unicode 3.0.0.
	* gnu/java/locale/titlecase.uni: Regenerate from Unicode 3.0.0.
	
2002-02-16  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Character.java: Reformat and comment (no code changes).

2002-02-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Collections.java (list): Update the API to reflect
	change from JDK 1.4 beta documentation.

2002-02-15  Mark Wielaard <mark@klomp.org>

	* THANKYOU: Add Isaac Jones and Patrick Doyle

2002-02-15  Wu Gansha  <gansha.wu@intel.com>

	* gnu/java/net/protocol/file/FileURLConnection.java (connect): check
	and set connected field.

2002-02-15  Wu Gansha  <gansha.wu@intel.com>

	* java/lang/ClassLoader.java
	(defineClass(String,byte[],int,int, ProtectionDomain)): removed an
	infinite recursive call.

2002-02-15  Wu Gansha  <gansha.wu@intel.com>

	* java/io/RandomAccessFile.java (read(byte[],int,int): fix a bug in
	calling readInternal, use offset and len.

2002-02-15  Isaac Jones  <ijones@cis.ohio-state.edu>

	* java/lang/StringBuffer.java (subSequence): is new in 1.4,
	though it was already implemented in classpath.  I added the
	"@since 1.4" tag to make it compatible with the 1.4. I
	altered the exception thrown to be IndexOutOfBoundsException to
	make the documentation compatible with the 1.4.
	* java/lang/StringBuffer.java (indexOf, lastIndexOf): I copied the
	javadoc in the classpath String class.  The functions call through
	to those functions, so they behave exactly the same.

2002-02-15  Mark Wielaard <mark@klomp.org>

	Thanks to Patrick Doyle
	* java/lang/String.java (indexOf(String,int)): account for empty
	string.
	(lastIndexOf(String): account for empty string, and small
	optimization.
	(lastIndexOf(String,int): small optimization.

2002-02-14  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Makefile.am: Add StrictMath.java.
	* java/lang/StrictMath.java: New file.
	* java/lang/Math.java: Formatting and comments (no functional
	changes).

2002-02-13  Julian Scheid  <julian@sektor37.de>

	* com/sun/javadoc/Doclet.java (validOptions): Now static.

2002-02-11  C. Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: removed -nowarn argument to jikes

2002-02-10  Eric Blake  <ebb9@email.byu.edu>

	* java/awt/Makefile.am (SUBDIRS): Alphabetize.

2002-02-10  Mark Wielaard <mark@klomp.org>

	* doc/www.gnu.org/home.wml: Fix 2001->2002 typo

2002-02-10  Mark Wielaard <mark@klomp.org>

	* doc/www.gnu.org/doc/orp.wml: Revert CLASSPATH setting. No zip file
	in this release.

2002-02-10  C. Brian Jones <cbj@gnu.org>

	* configure.in: pretend we do not have zip to force class copying,
	works around a problem with the Character property loading

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* INSTALL: Last-minute typo in previous commit.
	* HACKING: Ditto.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* INSTALL: Update instructions for using jikes 1.15b.
	* HACKING: Ditto.
	* ChangeLog: Clean up some whitespace.

2002-02-09  C. Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: without zip, try copying class files instead
	during install, and avoid zip during make
	* configure.in: new automake conditional to handle presence or
	absence of zip

2002-02-09  Mark Wielaard <mark@klomp.org>

	* doc/www.gnu.org/home.wml: Add 0.03 announcement.
	* doc/www.gnu.org/doc/orp.wml: Add glibj.zip to CLASSPATH, make
	Announcement en Documentation links relative.
	* doc/www.gnu.org/include/macros.wml: Make status.html link relative.

2002-02-09  Mark Wielaard <mark@klomp.org>

	* doc/www.gnu.org/announce/20020208.wml: Make "Who should use this
	software?" less pessimistic.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* java/net/DatagramSocketImpl.java (setOption, getOption): Work
	around gcj bug of wrong emitted qualifier for inherited method.
	* java/net/SocketImpl.java (setOption, getOption): Ditto.
	* java/util/WeakHashMap.java (WeakEntrySet): Add non-private
	constructor to reduce amount of emitted bytecode. While this
	happens to work around a jikes 1.15 bug, it is still a useful
	patch even for correct compilers.
	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Ditto.
	* gnu/java/rmi/server/UnicastRemoteCall.java
	(DummyObjectOutputStream, DummyObjectInputStream): Ditto.

2002-02-09  Eric Blake  <ebb9@email.byu.edu>

	* java/net/DatagramSocketImpl.java: Reformat (no code changes).
	* java/net/SocketImpl.java: Ditto.
	* java/rmi/server/RMIClassLoader.java: Ditto.
	* gnu/java/rmi/server/UnicastRemoteCall.java: Ditto.

2002-02-09  C. Brian Jones <cbj@gnu.org>

	* INSTALL: removed mention of needing gcjh and edited compilation
	verbage
	* HACKING: warning that autoreconf does not always do what might
	be expected
	* configure.in: version set back to 0.03

2002-02-09  C. Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: no JNI header generation, do not use mkdep.pl,
	Remake classes when source changes or new classes are added.
	Do not bother including glibj.zip in dist, it has to be remade 
	regardless due to path differences to source files we cannot control
	in users' environment
	* lib/gen-classlist.sh: create java.dep from this script instead of
	mkdep.pl.in
	* native/jni/gtk-peer/Makefile.am: added $(top_srcdir)/include to
	INCLUDES
	* native/jni/java-io/Makefile.am: added $(top_srcdir)/include to
	INCLUDES
	* native/jni/java-lang/Makefile.am: added $(top_srcdir)/include to
	INCLUDES
	* native/jni/java-net/Makefile.am: added $(top_srcdir)/include to
	INCLUDES
	* configure.in: removed mkdep.pl, mkcollections.pl from output.
	Commented out check for Perl.
	* acinclude.m4: do not fail if no javah program found
	* include/.cvsignore: no longer ignore JNI headers
	* include/gnu_java_awt_image_GdkPixbufDecoder.h: new file
	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: ditto
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkCheckButtonPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkChoicePeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkClipboard.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkFramePeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkImagePainter.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkListPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkMainThread.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkMenuPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkPanelPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkTextComponentPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkToolkit.h: ditto
	* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: ditto
	* include/gnu_java_lang_ExecutionStack.h: ditto
	* include/java_io_FileDescriptor.h: ditto
	* include/java_io_File.h: ditto
	* include/java_io_FileInputStream.h: ditto
	* include/java_io_FileOutputStream.h: ditto
	* include/java_io_ObjectInputStream.h: ditto
	* include/java_io_ObjectOutputStream.h: ditto
	* include/java_io_RandomAccessFile.h: ditto
	* include/java_lang_Class.h: ditto
	* include/java_lang_Double.h: ditto
	* include/java_lang_Float.h: ditto
	* include/java_lang_Math.h: ditto
	* include/java_lang_Object.h: ditto
	* include/java_lang_reflect_Array.h: ditto
	* include/java_lang_reflect_Constructor.h: ditto
	* include/java_lang_reflect_Field.h: ditto
	* include/java_lang_reflect_Method.h: ditto
	* include/java_lang_reflect_Proxy.h: ditto
	* include/java_lang_Runtime.h: ditto
	* include/java_lang_System.h: ditto
	* include/java_lang_Thread.h: ditto
	* include/java_lang_Throwable.h: ditto
	* include/java_lang_VMClassLoader.h: ditto
	* include/java_net_InetAddress.h: ditto
	* include/java_net_PlainDatagramSocketImpl.h: ditto
	* include/java_net_PlainSocketImpl.h: ditto
	* include/java_util_TimeZone.h: ditto

2002-02-09  Mark Wielaard <mark@klomp.org>

	Thanks to Takashi Okamoto
	* java/util/Arrays.java (ArrayList.indexOf()): this.equals().
	* java/util/Arrays.java (ArrayList.lastIndexOf()): Likewise.
	* java/util/WeakHashMap.java (WeakEntry.getEntry()): this.get().

2002-02-07  Mark Wielaard <mark@klomp.org>

	* gnu/java/io/encode/Encoder8859_1.java (static): explicitly mention
	superclass when calling static method as workaround for jikes 1.15a
	combined with orp 1.0.9.
	* gnu/java/io/encode/Encoder8859_2.java (static): Likewise
	* gnu/java/io/encode/Encoder8859_3.java (static): Likewise

2002-02-07  Mark Wielaard <mark@klomp.org>

	* java/security/BasicPermission.java: extends with fully qualified
	classname as workaround for gcj 3.0.4.

	* doc/www.gnu.org/announce/20020208.wml: grammar fix.

2002-02-07  C. Brian Jones <cbj@gnu.org>

	* configure.in: fixed broken make dist by moving some of the checks
	out of an if statement wrapping functionality needed only for 
	compiling JNI libraries, so unfortunately yes you probably must 
	have a C compiler even if just compiling the Java source
	* Makefile.am: dist-hook to use $(distdir) instead of $(top_distdir)
	* native/gnu.java.awt.image: removed directory, needed file was
	already part of native/jni/gtk-peer/ directory and library.
	* resource/java/util/Makefile.am: updated properties files to
	include in distribution
	* resource/Makefile.am: include gnu in SUBDIRS
	* resource/gnu/Makefile.am: new file
	* resource/gnu/.cvsignore: ditto
	* resource/gnu/java/Makefile.am: ditto
	* resource/gnu/java/.cvsignore: ditto
	* resource/gnu/java/awt/Makefile.am: ditto
	* resource/gnu/java/awt/.cvsignore: ditto
	* resource/gnu/java/awt/peer/Makefile.am: ditto
	* resource/gnu/java/awt/peer/.cvsignore: ditto
	* resource/gnu/java/awt/peer/gtk/Makefile.am: ditto
	* resource/gnu/java/awt/peer/gtk/.cvsignore: ditto
	* configure.in: added above Makefiles to output
	
2002-02-07  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/announce/20020208.wml: new file, 0.03 announcement.
	* doc/www.gnu.org/announce/announcements.wml: add new announcement.

2002-02-07  Mark Wielaard  <mark@klomp.org>

	* HACKING: add "last updated" and some new information.
	* INSTALL: add information on different byte code compilers.
	* README: add "last updated"

2002-02-07  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_OUTPUT): add gnu/java/math/Makefile and
	java/awt/font/Makefile.
	* java/awt/Makefile.am (EXTRA_DIST): add GridBagConstraints.java and
	sort entries.
	(SUBDIRS): add font.
	* java/awt/datatransfer/Makefile.am (EXTRA_DIST): add
	MimeTypeParseException.java and SystemFlavorMap.java.
	* java/awt/event/Makefile.am (EXTRA_DIST): Sort entries.
	* java/awt/font/Makefile.am: new file.
	* java/lang/Makefile.am (EXTRA_DIST): add CharSequence.java and sort
	entries.
	* java/net/Makefile.am (EXTRA_DIST): add URLClassLoader.java and sort
	entries.
	* java/security/Makefile.am 9EXTRA_DIST): add AccessController.java
	and sort entries.
	* java/text/Makefile.am (EXTRA_DIST): add DecimalFormat.java, remove
	DefaultBreakIterator.java and sort entries.
	* java/util/Makefile.am (EXTRA_DIST): remove Bucket.java,
	DoubleEnumeration.java and sort entries.
	* com/sun/javadoc/Makefile.am (EXTRA_DIST): sort entries.
	* gnu/java/Makefile.am (SUBDIRS): add math.
	* gnu/java/awt/image/Makefile.am (EXTRA_DIST): sort entries.
	* gnu/java/awt/peer/gtk/Makefile.am (EXTRA_DIST): sort entries.
	* gnu/java/io/decode/Makefile.am (EXTRA_DIST): sort entries.
	* gnu/java/io/encode/Makefile.am (EXTRA_DIST): sort entries.
	* gnu/java/math/Makefile.am: new file.
	* gnu/java/security/provider/Makefile.am (EXTRA_DIST): add
	DefaultPolicy.java.

2002-02-07  Mark Wielaard  <mark@klomp.org>

	* README: Update URLs, add more info.
	* resource/orp-1.0.9.patch: New file.
	* doc/www.gnu.org/doc/orp.wml: Update for ORP 1.0.9 release.

2002-02-07  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-lang/Makefile.am: removed empty SUBDIRS
	* gnu/classpath/Makefile.am: ditto
	* native/fdlibm/Makefile.am: ditto
	* native/jni/java-io/Makefile.am: ditto
	* native/jni/java-net/Makefile.am: ditto
	* native/jni/java-util/Makefile.am: ditto
	* java/io/Makefile.am: removed BlockDataException.java
	* native/Makefile.am: removed empty SUBDIRS, added option to build
	cni and jni libraries at the same time (if we actually built cni
	libraries)
	* configure.in: added native/cni/Makefile to output

2002-02-06  Eric Blake  <ebb9@email.byu.edu>

	* native/jni/java-lang/Makefile.am: Clean up automake problems
	in cygwin caused by trailing '\'.

2002-02-04  Mark Wielaard  <mark@klomp.org>

	* include/jni.h.in: Add GPL license exception clarification

2002-02-04  Mark Wielaard  <mark@klomp.org>

	* NEWS: updates for next release

2002-02-03  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/Class.java (pd): rename field to pd from
	protectionDomain as a workaround for compiling with gcj 3.1 (CVS)

2002-02-03  Mark Wielaard  <mark@klomp.org>

	* java/math/BigInteger.java: import gnu.java.math.MPN not the whole
	package as a workaround for gcj 3.0.x

2002-01-29  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java (addNotify): Correctly check to see if peer
	does not exist.

2002-01-29  Nic Ferrier  <nferrier@tapsellferrier.co.uk>

	* java/net/PlainSocketImpl.java: Re-indent.

2002-01-29  Tom Tromey  <tromey@redhat.com>

	* java/awt/GridLayout.java (layoutContainer): Use number of rows
	to compute height of each cell, and number of columns to compute
	width of each cell.
	* java/awt/Window.java (getOwnedWindows): Don't return null.
	* java/awt/FlowLayout.java (layoutContainer): Set width and height
	of component.  Increment x using horizontal gap, not vertical
	gap.

2002-01-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/FlowLayout.java (layoutContainer): Correctly compute
	loop termination condition.
	* java/awt/GridLayout.java (getSize): Use `real_cols' to compute
	width.

2002-01-24  Tom Tromey  <tromey@redhat.com>

	* java/awt/Scrollbar.java (Scrollbar(int)): Removed `FIXME'
	comment.
	(Scrollbar(int,int,int,int,int)): Default lineIncrement to 1.
	(addNotify): Use libgcj implementation.
	(paramString): Don't include class name or parens; do include
	superclass paramString() result, page and line increment, and
	orientation.

	* java/awt/Container.java (addNotify): Unconditionally call
	addNotifyContainerChildren and superclass addNotify.

	* java/awt/image/ColorModel.java (getAlpha(Object)): Call
	getAlpha, not getBlue.

2002-01-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/image/PixelGrabber.java (grabPixels()): Call grabPixels(0).
	(grabPixels(long)): Wait to be notified that the ImageProducer has 
	completed.

2002-01-23  Tom Tromey  <tromey@redhat.com>

	* java/awt/BorderLayout.java (addLayoutComponent): Added missing
	`else'.

	* gnu/java/awt/peer/gtk/GtkToolkit.java (createImage(String)): New
	method.
	(createImage(URL)): Likewise.
	* java/awt/Toolkit.java (createImage(String)): New method.
	(createImage(URL)): Likewise.
	(getMenuShortcutKeyMask): Return Event.CTRL_MASK.
	(getLockingKeyState): New method.
	(setLockingKeyState): Likewise.
	(createCustomCursor): Likewise.
	(getBestCursorSize): Likewise.
	(getMaximumCursorColors): Likewise.
	(getDesktopProperty): Likewise.
	(setDesktopProperty): Likewise.
	(changeSupport): New field.
	(desktopProperties): Likewise.
	(lazilyLoadDesktopProperty): New method.
	(initializeDesktopProperties): Likewise.
	(addPropertyChangeListener): Likewise.
	(removePropertyChangeListener): Likewise.
	(addAWTEventListener): Likewise.
	(removeAWTEventListener): Likewise.

	* java/awt/PaintContext.java: Updated license.

	* java/awt/GridBagConstraints.java (clone): Catch
	CloneNotSupportedException.

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

	Minor changes from libgcj:
	* java/util/AbstractMap.java: Re-merged.
	* java/util/AbstractSequentialList.java: Re-merged.
	* java/util/AbstractSet.java: Re-merged.
	* java/util/ArrayList.java: Re-merged.
	* java/util/Arrays.java: Re-merged.
	* java/util/LinkedHashSet.java: Re-merged.
	* java/util/TreeMap.java: Re-merged.
	* java/util/TreeSet.java: Re-merged.
	* java/util/Vector.java: Re-merged.

	* java/awt/GridBagConstraints.java: Updated copyright.

2002-01-22  Mark Wielaard <mark@klomp.org>

	* ChangeLog compat/java.net/PlainSocketImpl.java 
	doc/www.gnu.org/home.wml gnu/classpath/Configuration.java.in 
	gnu/java/awt/BitMaskExtent.java gnu/java/awt/Buffers.java 
	gnu/java/awt/ComponentDataBlitOp.java 
	gnu/java/awt/GLightweightPeer.java 
	gnu/java/awt/image/GdkPixbufDecoder.java 
	gnu/java/awt/image/GtkOffScreenDecoder.java 
	gnu/java/awt/image/ImageDecoder.java 
	gnu/java/awt/image/XBMDecoder.java 
	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/GtkCheckButtonPeer.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/GtkRadioButtonPeer.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 
	gnu/java/awt/peer/gtk/GtkToggleButtonPeer.java 
	gnu/java/awt/peer/gtk/GtkToolkit.java 
	gnu/java/awt/peer/gtk/GtkWindowPeer.java 
	gnu/java/awt/peer/gtk/Test.java 
	gnu/java/awt/peer/gtk/TestAWT.java 
	gnu/java/beans/BeanInfoEmbryo.java 
	gnu/java/beans/EmptyBeanInfo.java 
	gnu/java/beans/ExplicitBeanInfo.java 
	gnu/java/beans/IntrospectionIncubator.java 
	gnu/java/beans/editors/ColorEditor.java 
	gnu/java/beans/editors/FontEditor.java 
	gnu/java/beans/editors/NativeBooleanEditor.java 
	gnu/java/beans/editors/NativeByteEditor.java 
	gnu/java/beans/editors/NativeDoubleEditor.java 
	gnu/java/beans/editors/NativeFloatEditor.java 
	gnu/java/beans/editors/NativeIntEditor.java 
	gnu/java/beans/editors/NativeLongEditor.java 
	gnu/java/beans/editors/NativeShortEditor.java 
	gnu/java/beans/editors/StringEditor.java 
	gnu/java/beans/info/ComponentBeanInfo.java 
	gnu/java/io/ClassLoaderObjectInputStream.java 
	gnu/java/io/EncodingManager.java 
	gnu/java/io/NullOutputStream.java 
	gnu/java/io/ObjectIdentityWrapper.java 
	gnu/java/io/decode/Decoder.java 
	gnu/java/io/decode/Decoder8859_1.java 
	gnu/java/io/decode/Decoder8859_2.java 
	gnu/java/io/decode/Decoder8859_3.java 
	gnu/java/io/decode/Decoder8859_4.java 
	gnu/java/io/decode/Decoder8859_5.java 
	gnu/java/io/decode/DecoderEightBitLookup.java 
	gnu/java/io/decode/DecoderUTF8.java 
	gnu/java/io/encode/Encoder.java 
	gnu/java/io/encode/Encoder8859_1.java 
	gnu/java/io/encode/Encoder8859_2.java 
	gnu/java/io/encode/Encoder8859_3.java 
	gnu/java/io/encode/Encoder8859_4.java 
	gnu/java/io/encode/Encoder8859_5.java 
	gnu/java/io/encode/EncoderEightBitLookup.java 
	gnu/java/io/encode/EncoderUTF8.java 
	gnu/java/lang/ArrayHelper.java gnu/java/lang/ClassHelper.java 
	gnu/java/lang/ClassLoaderHelper.java 
	gnu/java/lang/ExecutionStack.java 
	gnu/java/lang/MainThread.java gnu/java/lang/StackFrame.java 
	gnu/java/lang/reflect/TypeSignature.java 
	gnu/java/locale/Calendar.java gnu/java/locale/Calendar_de.java 
	gnu/java/locale/Calendar_en.java 
	gnu/java/locale/Calendar_nl.java 
	gnu/java/locale/LocaleInformation.java 
	gnu/java/locale/LocaleInformation_de.java 
	gnu/java/locale/LocaleInformation_en.java 
	gnu/java/locale/LocaleInformation_nl.java 
	gnu/java/math/MPN.java gnu/java/net/HeaderFieldHelper.java 
	gnu/java/net/content/text/plain.java 
	gnu/java/net/protocol/file/FileURLConnection.java 
	gnu/java/net/protocol/file/Handler.java 
	gnu/java/net/protocol/http/Handler.java 
	gnu/java/net/protocol/http/HttpURLConnection.java 
	gnu/java/rmi/dgc/DGCImpl.java 
	gnu/java/rmi/registry/RegistryImpl.java 
	gnu/java/rmi/rmic/Compile_gcj.java 
	gnu/java/rmi/rmic/Compiler.java 
	gnu/java/rmi/rmic/CompilerProcess.java 
	gnu/java/rmi/rmic/RMIC.java 
	gnu/java/rmi/rmic/TabbedWriter.java 
	gnu/java/rmi/server/ProtocolConstants.java 
	gnu/java/rmi/server/RMIDefaultSocketFactory.java 
	gnu/java/rmi/server/RMIHashes.java 
	gnu/java/rmi/server/RMIObjectInputStream.java 
	gnu/java/rmi/server/RMIObjectOutputStream.java 
	gnu/java/rmi/server/UnicastConnection.java 
	gnu/java/rmi/server/UnicastConnectionManager.java 
	gnu/java/rmi/server/UnicastRef.java 
	gnu/java/rmi/server/UnicastRemoteCall.java 
	gnu/java/rmi/server/UnicastRemoteStub.java 
	gnu/java/rmi/server/UnicastServer.java 
	gnu/java/rmi/server/UnicastServerRef.java 
	gnu/java/security/DefaultPermissionCollection.java 
	gnu/java/security/der/DEREncodingException.java 
	gnu/java/security/provider/DERReader.java 
	gnu/java/security/provider/DERWriter.java 
	gnu/java/security/provider/DSAKeyPairGenerator.java 
	gnu/java/security/provider/DSAParameterGenerator.java 
	gnu/java/security/provider/DSAParameters.java 
	gnu/java/security/provider/DSASignature.java 
	gnu/java/security/provider/DefaultPolicy.java 
	gnu/java/security/provider/Gnu.java 
	gnu/java/security/provider/GnuDSAPrivateKey.java 
	gnu/java/security/provider/GnuDSAPublicKey.java 
	gnu/java/security/provider/MD5.java 
	gnu/java/security/provider/SHA.java 
	gnu/java/security/provider/SHA1PRNG.java 
	gnu/java/security/util/Prime.java 
	gnu/java/text/BaseBreakIterator.java 
	gnu/java/text/CharacterBreakIterator.java 
	gnu/java/text/LineBreakIterator.java 
	gnu/java/text/SentenceBreakIterator.java 
	gnu/java/text/WordBreakIterator.java 
	gnu/java/util/DoubleEnumeration.java 
	gnu/java/util/EmptyEnumeration.java 
	gnu/java/util/prefs/FileBasedFactory.java 
	gnu/java/util/prefs/MemoryBasedFactory.java 
	gnu/java/util/prefs/MemoryBasedPreferences.java 
	gnu/java/util/prefs/NodeReader.java 
	gnu/java/util/prefs/NodeWriter.java 
	gnu/javax/swing/plaf/gtk/GtkBorders.java 
	gnu/javax/swing/plaf/gtk/GtkCheckBoxUI.java 
	gnu/javax/swing/plaf/gtk/GtkIconFactory.java 
	gnu/javax/swing/plaf/gtk/GtkLookAndFeel.java 
	gnu/javax/swing/plaf/gtk/GtkRadioButtonUI.java 
	gnu/javax/swing/plaf/gtk/GtkSliderUI.java gnu/test/Fail.java 
	gnu/test/Pass.java gnu/test/Result.java gnu/test/Test.java 
	gnu/test/Unresolved.java gnu/test/Unsupported.java 
	gnu/test/Untested.java gnu/test/XFail.java gnu/test/XPass.java 
	java/applet/Applet.java java/applet/AppletContext.java 
	java/applet/AppletStub.java java/applet/AudioClip.java 
	java/awt/AWTError.java java/awt/AWTEvent.java 
	java/awt/AWTEventMulticaster.java java/awt/AWTException.java 
	java/awt/AWTPermission.java java/awt/ActiveEvent.java 
	java/awt/Adjustable.java java/awt/BorderLayout.java 
	java/awt/Button.java java/awt/Canvas.java 
	java/awt/CardLayout.java java/awt/Checkbox.java 
	java/awt/CheckboxGroup.java java/awt/CheckboxMenuItem.java 
	java/awt/Choice.java java/awt/Color.java 
	java/awt/Component.java java/awt/ComponentOrientation.java 
	java/awt/Container.java java/awt/Cursor.java 
	java/awt/Dialog.java java/awt/Dimension.java 
	java/awt/Event.java java/awt/EventDispatchThread.java 
	java/awt/EventQueue.java java/awt/FileDialog.java 
	java/awt/FlowLayout.java java/awt/Font.java 
	java/awt/FontMetrics.java java/awt/Frame.java 
	java/awt/Graphics.java java/awt/Graphics2D.java 
	java/awt/GraphicsConfiguration.java java/awt/GridLayout.java 
	java/awt/IllegalComponentStateException.java 
	java/awt/Image.java java/awt/ImageMediaEntry.java 
	java/awt/Insets.java java/awt/ItemSelectable.java 
	java/awt/Label.java java/awt/LayoutManager.java 
	java/awt/LayoutManager2.java java/awt/List.java 
	java/awt/MediaEntry.java java/awt/MediaTracker.java 
	java/awt/Menu.java java/awt/MenuBar.java 
	java/awt/MenuComponent.java java/awt/MenuContainer.java 
	java/awt/MenuItem.java java/awt/MenuShortcut.java 
	java/awt/Paint.java java/awt/Panel.java java/awt/Point.java 
	java/awt/Polygon.java java/awt/PopupMenu.java 
	java/awt/PrintGraphics.java java/awt/PrintJob.java 
	java/awt/Rectangle.java java/awt/RenderingHints.java 
	java/awt/ScrollPane.java java/awt/ScrollPaneAdjustable.java 
	java/awt/Scrollbar.java java/awt/Shape.java 
	java/awt/SystemColor.java java/awt/TextArea.java 
	java/awt/TextComponent.java java/awt/TextField.java 
	java/awt/Toolkit.java java/awt/Transparency.java 
	java/awt/Window.java java/awt/color/ColorSpace.java 
	java/awt/color/ICC_ColorSpace.java 
	java/awt/color/ICC_Profile.java 
	java/awt/datatransfer/Clipboard.java 
	java/awt/datatransfer/ClipboardOwner.java 
	java/awt/datatransfer/DataFlavor.java 
	java/awt/datatransfer/FlavorMap.java 
	java/awt/datatransfer/MimeTypeParseException.java 
	java/awt/datatransfer/StringSelection.java 
	java/awt/datatransfer/SystemFlavorMap.java 
	java/awt/datatransfer/Transferable.java 
	java/awt/datatransfer/UnsupportedFlavorException.java 
	java/awt/event/AWTEventListener.java 
	java/awt/event/ActionEvent.java 
	java/awt/event/ActionListener.java 
	java/awt/event/AdjustmentEvent.java 
	java/awt/event/AdjustmentListener.java 
	java/awt/event/ComponentAdapter.java 
	java/awt/event/ComponentEvent.java 
	java/awt/event/ComponentListener.java 
	java/awt/event/ContainerAdapter.java 
	java/awt/event/ContainerEvent.java 
	java/awt/event/ContainerListener.java 
	java/awt/event/FocusAdapter.java 
	java/awt/event/FocusEvent.java 
	java/awt/event/FocusListener.java 
	java/awt/event/HierarchyBoundsAdapter.java 
	java/awt/event/HierarchyBoundsListener.java 
	java/awt/event/HierarchyEvent.java 
	java/awt/event/HierarchyListener.java 
	java/awt/event/InputEvent.java 
	java/awt/event/InputMethodEvent.java 
	java/awt/event/InputMethodListener.java 
	java/awt/event/InvocationEvent.java 
	java/awt/event/ItemEvent.java java/awt/event/ItemListener.java 
	java/awt/event/KeyAdapter.java java/awt/event/KeyEvent.java 
	java/awt/event/KeyListener.java 
	java/awt/event/MouseAdapter.java 
	java/awt/event/MouseEvent.java 
	java/awt/event/MouseListener.java 
	java/awt/event/MouseMotionAdapter.java 
	java/awt/event/MouseMotionListener.java 
	java/awt/event/PaintEvent.java java/awt/event/TextEvent.java 
	java/awt/event/TextListener.java 
	java/awt/event/WindowAdapter.java 
	java/awt/event/WindowEvent.java 
	java/awt/event/WindowListener.java 
	java/awt/geom/AffineTransform.java 
	java/awt/geom/Dimension2D.java java/awt/geom/Ellipse2D.java 
	java/awt/geom/IllegalPathStateException.java 
	java/awt/geom/Line2D.java 
	java/awt/geom/NoninvertibleTransformException.java 
	java/awt/geom/PathIterator.java java/awt/geom/Point2D.java 
	java/awt/geom/Rectangle2D.java 
	java/awt/geom/RectangularShape.java 
	java/awt/geom/RoundRectangle2D.java 
	java/awt/image/AreaAveragingScaleFilter.java 
	java/awt/image/BufferedImage.java 
	java/awt/image/ColorModel.java 
	java/awt/image/ComponentColorModel.java 
	java/awt/image/ComponentSampleModel.java 
	java/awt/image/CropImageFilter.java 
	java/awt/image/DataBuffer.java 
	java/awt/image/DataBufferByte.java 
	java/awt/image/DataBufferInt.java 
	java/awt/image/DataBufferUShort.java 
	java/awt/image/DirectColorModel.java 
	java/awt/image/FilteredImageSource.java 
	java/awt/image/ImageConsumer.java 
	java/awt/image/ImageFilter.java 
	java/awt/image/ImageObserver.java 
	java/awt/image/ImageProducer.java 
	java/awt/image/IndexColorModel.java 
	java/awt/image/MemoryImageSource.java 
	java/awt/image/PackedColorModel.java 
	java/awt/image/PixelGrabber.java 
	java/awt/image/RGBImageFilter.java java/awt/image/Raster.java 
	java/awt/image/RasterOp.java 
	java/awt/image/ReplicateScaleFilter.java 
	java/awt/image/SampleModel.java 
	java/awt/image/SinglePixelPackedSampleModel.java 
	java/awt/image/WritableRaster.java 
	java/awt/peer/ButtonPeer.java java/awt/peer/CanvasPeer.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/FontPeer.java 
	java/awt/peer/FramePeer.java java/awt/peer/LabelPeer.java 
	java/awt/peer/LightweightPeer.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/PanelPeer.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 
	java/awt/print/Book.java java/awt/print/PageFormat.java 
	java/awt/print/Pageable.java java/awt/print/Paper.java 
	java/awt/print/Printable.java 
	java/awt/print/PrinterAbortException.java 
	java/awt/print/PrinterException.java 
	java/awt/print/PrinterGraphics.java 
	java/awt/print/PrinterIOException.java 
	java/awt/print/PrinterJob.java 
	java/beans/AppletInitializer.java 
	java/beans/BeanDescriptor.java java/beans/BeanInfo.java 
	java/beans/Beans.java java/beans/Customizer.java 
	java/beans/DesignMode.java java/beans/EventSetDescriptor.java 
	java/beans/FeatureDescriptor.java 
	java/beans/IndexedPropertyDescriptor.java 
	java/beans/IntrospectionException.java 
	java/beans/Introspector.java java/beans/MethodDescriptor.java 
	java/beans/ParameterDescriptor.java 
	java/beans/PropertyChangeEvent.java 
	java/beans/PropertyChangeListener.java 
	java/beans/PropertyChangeSupport.java 
	java/beans/PropertyDescriptor.java 
	java/beans/PropertyEditor.java 
	java/beans/PropertyEditorManager.java 
	java/beans/PropertyEditorSupport.java 
	java/beans/PropertyVetoException.java 
	java/beans/SimpleBeanInfo.java 
	java/beans/VetoableChangeListener.java 
	java/beans/VetoableChangeSupport.java 
	java/beans/Visibility.java 
	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/BeanContextEvent.java 
	java/beans/beancontext/BeanContextMembershipEvent.java 
	java/beans/beancontext/BeanContextMembershipListener.java 
	java/beans/beancontext/BeanContextProxy.java 
	java/beans/beancontext/BeanContextServiceAvailableEvent.java 
	java/beans/beancontext/BeanContextServiceProvider.java 
	java/beans/beancontext/BeanContextServiceProviderBeanInfo.java 
	java/beans/beancontext/BeanContextServiceRevokedEvent.java 
	java/beans/beancontext/BeanContextServiceRevokedListener.java 
	java/beans/beancontext/BeanContextServices.java 
	java/beans/beancontext/BeanContextServicesListener.java 
	java/io/BufferedInputStream.java 
	java/io/BufferedOutputStream.java java/io/BufferedReader.java 
	java/io/BufferedWriter.java java/io/ByteArrayInputStream.java 
	java/io/ByteArrayOutputStream.java 
	java/io/CharArrayReader.java java/io/CharArrayWriter.java 
	java/io/CharConversionException.java java/io/DataInput.java 
	java/io/DataInputStream.java java/io/DataOutput.java 
	java/io/DataOutputStream.java java/io/EOFException.java 
	java/io/Externalizable.java java/io/File.java 
	java/io/FileDescriptor.java java/io/FileFilter.java 
	java/io/FileInputStream.java 
	java/io/FileNotFoundException.java 
	java/io/FileOutputStream.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/IOException.java 
	java/io/InputStream.java java/io/InputStreamReader.java 
	java/io/InterruptedIOException.java 
	java/io/InvalidClassException.java 
	java/io/InvalidObjectException.java 
	java/io/LineNumberInputStream.java 
	java/io/LineNumberReader.java java/io/NotActiveException.java 
	java/io/NotSerializableException.java java/io/ObjectInput.java 
	java/io/ObjectInputStream.java 
	java/io/ObjectInputValidation.java java/io/ObjectOutput.java 
	java/io/ObjectOutputStream.java java/io/ObjectStreamClass.java 
	java/io/ObjectStreamConstants.java 
	java/io/ObjectStreamException.java 
	java/io/ObjectStreamField.java 
	java/io/OptionalDataException.java java/io/OutputStream.java 
	java/io/OutputStreamWriter.java java/io/PipedInputStream.java 
	java/io/PipedOutputStream.java java/io/PipedReader.java 
	java/io/PipedWriter.java java/io/PrintStream.java 
	java/io/PrintWriter.java java/io/PushbackInputStream.java 
	java/io/PushbackReader.java java/io/RandomAccessFile.java 
	java/io/Reader.java java/io/SequenceInputStream.java 
	java/io/Serializable.java java/io/SerializablePermission.java 
	java/io/StreamCorruptedException.java 
	java/io/StreamTokenizer.java 
	java/io/StringBufferInputStream.java java/io/StringReader.java 
	java/io/StringWriter.java java/io/SyncFailedException.java 
	java/io/UTFDataFormatException.java 
	java/io/UnsupportedEncodingException.java 
	java/io/WriteAbortedException.java java/io/Writer.java 
	java/lang/AbstractMethodError.java 
	java/lang/ArithmeticException.java 
	java/lang/ArrayIndexOutOfBoundsException.java 
	java/lang/ArrayStoreException.java java/lang/Boolean.java 
	java/lang/Byte.java java/lang/CharSequence.java 
	java/lang/Character.java java/lang/ClassCastException.java 
	java/lang/ClassCircularityError.java 
	java/lang/ClassFormatError.java java/lang/ClassLoader.java 
	java/lang/ClassNotFoundException.java 
	java/lang/CloneNotSupportedException.java 
	java/lang/Cloneable.java java/lang/Comparable.java 
	java/lang/Compiler.java java/lang/Double.java 
	java/lang/Error.java java/lang/Exception.java 
	java/lang/ExceptionInInitializerError.java 
	java/lang/Float.java java/lang/IllegalAccessError.java 
	java/lang/IllegalAccessException.java 
	java/lang/IllegalArgumentException.java 
	java/lang/IllegalMonitorStateException.java 
	java/lang/IllegalStateException.java 
	java/lang/IllegalThreadStateException.java 
	java/lang/IncompatibleClassChangeError.java 
	java/lang/IndexOutOfBoundsException.java 
	java/lang/InheritableThreadLocal.java 
	java/lang/InstantiationError.java 
	java/lang/InstantiationException.java java/lang/Integer.java 
	java/lang/InternalError.java 
	java/lang/InterruptedException.java 
	java/lang/LinkageError.java java/lang/Long.java 
	java/lang/Math.java java/lang/NegativeArraySizeException.java 
	java/lang/NoClassDefFoundError.java 
	java/lang/NoSuchFieldError.java 
	java/lang/NoSuchFieldException.java 
	java/lang/NoSuchMethodError.java 
	java/lang/NoSuchMethodException.java 
	java/lang/NullPointerException.java java/lang/Number.java 
	java/lang/NumberFormatException.java java/lang/Object.java 
	java/lang/OutOfMemoryError.java java/lang/Package.java 
	java/lang/Process.java java/lang/Runnable.java 
	java/lang/RuntimeException.java 
	java/lang/RuntimePermission.java 
	java/lang/SecurityException.java 
	java/lang/SecurityManager.java java/lang/Short.java 
	java/lang/StackOverflowError.java java/lang/String.java 
	java/lang/StringBuffer.java 
	java/lang/StringIndexOutOfBoundsException.java 
	java/lang/System.java java/lang/ThreadDeath.java 
	java/lang/ThreadGroup.java java/lang/ThreadLocal.java 
	java/lang/UnknownError.java 
	java/lang/UnsatisfiedLinkError.java 
	java/lang/UnsupportedClassVersionError.java 
	java/lang/UnsupportedOperationException.java 
	java/lang/VerifyError.java java/lang/VirtualMachineError.java 
	java/lang/Void.java java/lang/ref/PhantomReference.java 
	java/lang/ref/Reference.java java/lang/ref/ReferenceQueue.java 
	java/lang/ref/SoftReference.java 
	java/lang/ref/WeakReference.java 
	java/lang/reflect/AccessibleObject.java 
	java/lang/reflect/Array.java 
	java/lang/reflect/InvocationHandler.java 
	java/lang/reflect/InvocationTargetException.java 
	java/lang/reflect/Member.java java/lang/reflect/Modifier.java 
	java/lang/reflect/Proxy.java 
	java/lang/reflect/ReflectPermission.java 
	java/lang/reflect/UndeclaredThrowableException.java 
	java/math/BigDecimal.java java/math/BigInteger.java 
	java/net/Authenticator.java java/net/BindException.java 
	java/net/ConnectException.java java/net/ContentHandler.java 
	java/net/ContentHandlerFactory.java 
	java/net/DatagramPacket.java java/net/DatagramSocket.java 
	java/net/DatagramSocketImpl.java java/net/FileNameMap.java 
	java/net/HttpURLConnection.java java/net/InetAddress.java 
	java/net/JarURLConnection.java 
	java/net/MalformedURLException.java 
	java/net/MimeTypeMapper.java java/net/MulticastSocket.java 
	java/net/NetPermission.java 
	java/net/NoRouteToHostException.java 
	java/net/PasswordAuthentication.java 
	java/net/PlainDatagramSocketImpl.java 
	java/net/PlainSocketImpl.java java/net/ProtocolException.java 
	java/net/ServerSocket.java java/net/Socket.java 
	java/net/SocketException.java java/net/SocketImpl.java 
	java/net/SocketImplFactory.java 
	java/net/SocketInputStream.java java/net/SocketOptions.java 
	java/net/SocketOutputStream.java 
	java/net/SocketPermission.java java/net/URL.java 
	java/net/URLClassLoader.java java/net/URLConnection.java 
	java/net/URLDecoder.java java/net/URLEncoder.java 
	java/net/URLStreamHandler.java 
	java/net/URLStreamHandlerFactory.java 
	java/net/UnknownHostException.java 
	java/net/UnknownServiceException.java 
	java/rmi/AccessException.java 
	java/rmi/AlreadyBoundException.java 
	java/rmi/ConnectException.java 
	java/rmi/ConnectIOException.java 
	java/rmi/MarshalException.java java/rmi/MarshalledObject.java 
	java/rmi/Naming.java java/rmi/NoSuchObjectException.java 
	java/rmi/NotBoundException.java 
	java/rmi/RMISecurityException.java 
	java/rmi/RMISecurityManager.java java/rmi/Remote.java 
	java/rmi/RemoteException.java java/rmi/ServerError.java 
	java/rmi/ServerException.java 
	java/rmi/ServerRuntimeException.java 
	java/rmi/StubNotFoundException.java 
	java/rmi/UnexpectedException.java 
	java/rmi/UnknownHostException.java 
	java/rmi/UnmarshalException.java 
	java/rmi/activation/Activatable.java 
	java/rmi/activation/ActivateFailedException.java 
	java/rmi/activation/ActivationDesc.java 
	java/rmi/activation/ActivationException.java 
	java/rmi/activation/ActivationGroup.java 
	java/rmi/activation/ActivationGroupDesc.java 
	java/rmi/activation/ActivationGroupID.java 
	java/rmi/activation/ActivationID.java 
	java/rmi/activation/ActivationInstantiator.java 
	java/rmi/activation/ActivationMonitor.java 
	java/rmi/activation/ActivationSystem.java 
	java/rmi/activation/Activator.java 
	java/rmi/activation/UnknownGroupException.java 
	java/rmi/activation/UnknownObjectException.java 
	java/rmi/dgc/DGC.java java/rmi/dgc/Lease.java 
	java/rmi/dgc/VMID.java java/rmi/registry/LocateRegistry.java 
	java/rmi/registry/Registry.java 
	java/rmi/registry/RegistryHandler.java 
	java/rmi/server/ExportException.java 
	java/rmi/server/LoaderHandler.java 
	java/rmi/server/LogStream.java java/rmi/server/ObjID.java 
	java/rmi/server/Operation.java 
	java/rmi/server/RMIClassLoader.java 
	java/rmi/server/RMIClientSocketFactory.java 
	java/rmi/server/RMIFailureHandler.java 
	java/rmi/server/RMIServerSocketFactory.java 
	java/rmi/server/RMISocketFactory.java 
	java/rmi/server/RemoteCall.java 
	java/rmi/server/RemoteObject.java 
	java/rmi/server/RemoteRef.java 
	java/rmi/server/RemoteServer.java 
	java/rmi/server/RemoteStub.java 
	java/rmi/server/ServerCloneException.java 
	java/rmi/server/ServerNotActiveException.java 
	java/rmi/server/ServerRef.java java/rmi/server/Skeleton.java 
	java/rmi/server/SkeletonMismatchException.java 
	java/rmi/server/SkeletonNotFoundException.java 
	java/rmi/server/SocketSecurityException.java 
	java/rmi/server/UID.java 
	java/rmi/server/UnicastRemoteObject.java 
	java/rmi/server/Unreferenced.java 
	java/security/AccessControlContext.java 
	java/security/AccessControlException.java 
	java/security/AccessController.java 
	java/security/AlgorithmParameterGenerator.java 
	java/security/AlgorithmParameterGeneratorSpi.java 
	java/security/AlgorithmParameters.java 
	java/security/AlgorithmParametersSpi.java 
	java/security/AllPermission.java 
	java/security/BasicPermission.java 
	java/security/Certificate.java java/security/CodeSource.java 
	java/security/DigestException.java 
	java/security/DigestInputStream.java 
	java/security/DigestOutputStream.java 
	java/security/DomainCombiner.java 
	java/security/DummyKeyPairGenerator.java 
	java/security/DummyMessageDigest.java 
	java/security/DummySignature.java 
	java/security/GeneralSecurityException.java 
	java/security/Guard.java java/security/GuardedObject.java 
	java/security/Identity.java java/security/IdentityScope.java 
	java/security/InvalidAlgorithmParameterException.java 
	java/security/InvalidKeyException.java 
	java/security/InvalidParameterException.java 
	java/security/Key.java java/security/KeyException.java 
	java/security/KeyFactory.java java/security/KeyFactorySpi.java 
	java/security/KeyManagementException.java 
	java/security/KeyPair.java java/security/KeyPairGenerator.java 
	java/security/KeyPairGeneratorSpi.java 
	java/security/KeyStore.java 
	java/security/KeyStoreException.java 
	java/security/KeyStoreSpi.java 
	java/security/MessageDigest.java 
	java/security/MessageDigestSpi.java 
	java/security/NoSuchAlgorithmException.java 
	java/security/NoSuchProviderException.java 
	java/security/Permission.java 
	java/security/PermissionCollection.java 
	java/security/Permissions.java java/security/Policy.java 
	java/security/Principal.java java/security/PrivateKey.java 
	java/security/PrivilegedAction.java 
	java/security/PrivilegedActionException.java 
	java/security/PrivilegedExceptionAction.java 
	java/security/ProtectionDomain.java 
	java/security/Provider.java 
	java/security/ProviderException.java 
	java/security/PublicKey.java 
	java/security/SecureClassLoader.java 
	java/security/SecureRandom.java 
	java/security/SecureRandomSpi.java java/security/Security.java 
	java/security/SecurityPermission.java 
	java/security/Signature.java 
	java/security/SignatureException.java 
	java/security/SignatureSpi.java 
	java/security/SignedObject.java java/security/Signer.java 
	java/security/UnrecoverableKeyException.java 
	java/security/UnresolvedPermission.java 
	java/security/acl/Acl.java java/security/acl/AclEntry.java 
	java/security/acl/AclNotFoundException.java 
	java/security/acl/Group.java 
	java/security/acl/LastOwnerException.java 
	java/security/acl/NotOwnerException.java 
	java/security/acl/Owner.java java/security/acl/Permission.java 
	java/security/cert/CRL.java 
	java/security/cert/CRLException.java 
	java/security/cert/Certificate.java 
	java/security/cert/CertificateEncodingException.java 
	java/security/cert/CertificateException.java 
	java/security/cert/CertificateExpiredException.java 
	java/security/cert/CertificateFactory.java 
	java/security/cert/CertificateFactorySpi.java 
	java/security/cert/CertificateNotYetValidException.java 
	java/security/cert/CertificateParsingException.java 
	java/security/cert/X509CRL.java 
	java/security/cert/X509CRLEntry.java 
	java/security/cert/X509Certificate.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 
	java/security/spec/AlgorithmParameterSpec.java 
	java/security/spec/DSAParameterSpec.java 
	java/security/spec/DSAPrivateKeySpec.java 
	java/security/spec/DSAPublicKeySpec.java 
	java/security/spec/EncodedKeySpec.java 
	java/security/spec/InvalidKeySpecException.java 
	java/security/spec/InvalidParameterSpecException.java 
	java/security/spec/KeySpec.java 
	java/security/spec/PKCS8EncodedKeySpec.java 
	java/security/spec/RSAKeyGenParameterSpec.java 
	java/security/spec/RSAPrivateCrtKeySpec.java 
	java/security/spec/RSAPrivateKeySpec.java 
	java/security/spec/RSAPublicKeySpec.java 
	java/security/spec/X509EncodedKeySpec.java java/sql/Array.java 
	java/sql/BatchUpdateException.java java/sql/Blob.java 
	java/sql/CallableStatement.java java/sql/Clob.java 
	java/sql/Connection.java java/sql/DataTruncation.java 
	java/sql/DatabaseMetaData.java java/sql/Date.java 
	java/sql/Driver.java java/sql/DriverManager.java 
	java/sql/DriverPropertyInfo.java 
	java/sql/PreparedStatement.java java/sql/Ref.java 
	java/sql/ResultSet.java java/sql/ResultSetMetaData.java 
	java/sql/SQLData.java java/sql/SQLException.java 
	java/sql/SQLInput.java java/sql/SQLOutput.java 
	java/sql/SQLWarning.java java/sql/Statement.java 
	java/sql/Struct.java java/sql/Time.java 
	java/sql/Timestamp.java java/sql/Types.java 
	java/text/Annotation.java 
	java/text/AttributedCharacterIterator.java 
	java/text/AttributedString.java 
	java/text/AttributedStringIterator.java 
	java/text/BreakIterator.java java/text/CharacterIterator.java 
	java/text/ChoiceFormat.java 
	java/text/CollationElementIterator.java 
	java/text/CollationKey.java java/text/Collator.java 
	java/text/DateFormat.java java/text/DateFormatSymbols.java 
	java/text/DecimalFormat.java 
	java/text/DecimalFormatSymbols.java 
	java/text/FieldPosition.java java/text/Format.java 
	java/text/MessageFormat.java java/text/NumberFormat.java 
	java/text/ParseException.java java/text/ParsePosition.java 
	java/text/RuleBasedCollator.java 
	java/text/SimpleDateFormat.java 
	java/text/StringCharacterIterator.java 
	java/util/AbstractCollection.java java/util/AbstractList.java 
	java/util/AbstractMap.java 
	java/util/AbstractSequentialList.java 
	java/util/AbstractSet.java java/util/ArrayList.java 
	java/util/Arrays.java java/util/BasicMapEntry.java 
	java/util/BitSet.java java/util/Calendar.java 
	java/util/Collection.java java/util/Collections.java 
	java/util/Comparator.java 
	java/util/ConcurrentModificationException.java 
	java/util/Date.java java/util/Dictionary.java 
	java/util/EmptyStackException.java java/util/Enumeration.java 
	java/util/EventListener.java java/util/EventObject.java 
	java/util/GregorianCalendar.java java/util/HashMap.java 
	java/util/HashSet.java java/util/Hashtable.java 
	java/util/IdentityHashMap.java java/util/Iterator.java 
	java/util/LinkedHashMap.java java/util/LinkedHashSet.java 
	java/util/LinkedList.java java/util/List.java 
	java/util/ListIterator.java java/util/ListResourceBundle.java 
	java/util/Locale.java java/util/Map.java 
	java/util/MissingResourceException.java 
	java/util/NoSuchElementException.java 
	java/util/Observable.java java/util/Observer.java 
	java/util/Properties.java java/util/PropertyPermission.java 
	java/util/PropertyResourceBundle.java java/util/Random.java 
	java/util/RandomAccess.java java/util/ResourceBundle.java 
	java/util/Set.java java/util/SimpleTimeZone.java 
	java/util/SortedMap.java java/util/SortedSet.java 
	java/util/Stack.java java/util/StringTokenizer.java 
	java/util/TimeZone.java java/util/Timer.java 
	java/util/TimerTask.java 
	java/util/TooManyListenersException.java 
	java/util/TreeMap.java java/util/TreeSet.java 
	java/util/Vector.java java/util/WeakHashMap.java 
	java/util/jar/Attributes.java java/util/jar/JarEntry.java 
	java/util/jar/JarException.java java/util/jar/JarFile.java 
	java/util/jar/JarInputStream.java 
	java/util/jar/JarOutputStream.java java/util/jar/Manifest.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 
	java/util/zip/Adler32.java java/util/zip/CRC32.java 
	java/util/zip/CheckedInputStream.java 
	java/util/zip/CheckedOutputStream.java 
	java/util/zip/Checksum.java 
	java/util/zip/DataFormatException.java 
	java/util/zip/Deflater.java 
	java/util/zip/DeflaterConstants.java 
	java/util/zip/DeflaterEngine.java 
	java/util/zip/DeflaterHuffman.java 
	java/util/zip/DeflaterOutputStream.java 
	java/util/zip/DeflaterPending.java 
	java/util/zip/GZIPConstants.java 
	java/util/zip/GZIPInputStream.java 
	java/util/zip/GZIPOutputStream.java 
	java/util/zip/Inflater.java 
	java/util/zip/InflaterDynHeader.java 
	java/util/zip/InflaterHuffmanTree.java 
	java/util/zip/InflaterInputStream.java 
	java/util/zip/OutputWindow.java 
	java/util/zip/PendingBuffer.java 
	java/util/zip/StreamManipulator.java 
	java/util/zip/ZipConstants.java java/util/zip/ZipEntry.java 
	java/util/zip/ZipException.java java/util/zip/ZipFile.java 
	java/util/zip/ZipInputStream.java 
	java/util/zip/ZipOutputStream.java 
	javax/accessibility/Accessible.java 
	javax/accessibility/AccessibleAction.java 
	javax/accessibility/AccessibleComponent.java 
	javax/accessibility/AccessibleHypertext.java 
	javax/accessibility/AccessibleSelection.java 
	javax/accessibility/AccessibleText.java 
	javax/accessibility/package.html 
	javax/naming/BinaryRefAddr.java 
	javax/naming/InvalidNameException.java javax/naming/Name.java 
	javax/naming/NamingException.java javax/naming/RefAddr.java 
	javax/naming/StringRefAddr.java javax/swing/GrayFilter.java 
	javax/swing/plaf/BorderUIResource.java 
	javax/swing/plaf/UIResource.java 
	native/gnu.java.awt.image/gdkpixbufdecoder.c 
	native/jni/classpath/jcl.c native/jni/classpath/jcl.h 
	native/jni/classpath/jnilink.c native/jni/classpath/jnilink.h 
	native/jni/classpath/native_state.c 
	native/jni/classpath/native_state.h 
	native/jni/classpath/primlib.c native/jni/classpath/primlib.h 
	native/jni/gtk-peer/gnu_java_awt_image_GdkPixbufDecoder.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c 
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c 
	native/jni/gtk-peer/gthread-jni.c 
	native/jni/gtk-peer/gthread-jni.h 
	native/jni/gtk-peer/gtkpeer.h 
	native/jni/java-io/java_io_File.c 
	native/jni/java-io/java_io_FileDescriptor.c 
	native/jni/java-io/java_io_FileInputStream.c 
	native/jni/java-io/java_io_FileOutputStream.c 
	native/jni/java-io/java_io_ObjectInputStream.c 
	native/jni/java-io/java_io_ObjectOutputStream.c 
	native/jni/java-io/java_io_RandomAccessFile.c 
	native/jni/java-io/javaio.c native/jni/java-io/javaio.h 
	native/jni/java-lang/java_lang_Double.c 
	native/jni/java-lang/java_lang_Float.c 
	native/jni/java-lang/java_lang_Math.c 
	native/jni/java-lang/java_lang_Object.c 
	native/jni/java-lang/java_lang_System.c 
	native/jni/java-lang/java_lang_reflect_Array.c 
	native/jni/java-net/java_net_InetAddress.c 
	native/jni/java-net/java_net_PlainDatagramSocketImpl.c 
	native/jni/java-net/java_net_PlainSocketImpl.c 
	native/jni/java-net/javanet.c native/jni/java-net/javanet.h 
	native/jni/java-util/java_util_TimeZone.c native/vmi/vmi.c 
	native/vmi/vmi.h vm/reference/gnu/vm/stack/StackFrame.java 
	vm/reference/gnu/vm/stack/StackTrace.java 
	vm/reference/java/lang/Class.java 
	vm/reference/java/lang/Runtime.java 
	vm/reference/java/lang/Thread.java 
	vm/reference/java/lang/Throwable.java 
	vm/reference/java/lang/VMClassLoader.java 
	vm/reference/java/lang/VMObject.java 
	vm/reference/java/lang/VMSecurityManager.java 
	vm/reference/java/lang/VMSystem.java 
	vm/reference/java/lang/reflect/Constructor.java 
	vm/reference/java/lang/reflect/Field.java 
	vm/reference/java/lang/reflect/Method.java: Add license clarification.

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

	* java/awt/PopupMenu.java (addNotify): New implementation from
	libgcj.
	* java/awt/MenuBar.java (add): Handle case where menu already has
	a parent.
	(deleteShortcut): Delete shortcut from all menus.
	(remove(int)): New implementation from libgcj.
	(setHelpMenu): Likewise.
	* java/awt/MenuItem.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/MenuComponent.java (toString): Call paramString.
	(paramString): Compute string; don't call toString.
	* java/awt/Label.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/Checkbox.java (paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/Button.java (paramString): Don't include class name or
	brackets.  Call superclass paramString.
	* java/awt/MenuComponent.java (getTreeLock): Now protected.
	* java/awt/Panel.java (addNotify): Call superclass addNotify.
	* java/awt/PaintContext.java: New file from libgcj.
	* java/awt/MenuShortcut.java (equals(Object)): New method.
	(hashCode): Likewise.
	(toString): Use paramString and square brackets.
	* java/awt/MenuContainer.java (postEvent): Resurrected.
	* java/awt/Menu.java (menuSerializedDataVersion): New field.
	(addNotify): Use peer field directly.  Call superclass addNotify.
	(add): New implementation from libgcj.
	(separator): New field.
	(addSeparator): New implementation from libgcj.
	(insertSeparator): Likewise.
	(removeAll): Removed redundant test.  Always remove item 0.
	(paramString): Include tearOff, isHelpMenu, and superclass
	paramString.
	* java/awt/List.java (List()): Default to 4 rows.
	(addNotify): Use `peer' directly.  Call superclass addNotify.
	(addItem(String)): Deprecated.
	(add(String)): Call add, not addItem.
	(add(String,int)): Do work here.
	(addItem(String,int)): Call add.  Deprecated.
	(removeAll): Use `clear' on items.  Use `peer' field directly.
	(remove(String)): Use remove, not delItem.
	(replaceItem): Likewise.
	(remove(int)): New implementation from libgcj.
	(delItem(int)): Use remove.
	(getSelectedIndex): New implementation from libgcj.
	(getSelectedIndexes): Likewise.
	(isIndexSelected): Remove redundant test.
	(setMultipleMode): Use `peer' field directly.
	(makeVisible): Likewise.
	(paramString): New implementation from libgcj.
	(delItems): Run loop in reverse direction.  Use `peer' field
	directly.
	* java/awt/Insets.java (equals): Removed redundant test.
	(hashCode): New method.
	* java/awt/GridBagConstraints.java: New file from libgcj.
	* java/awt/FontMetrics.java (getMaxAdvance): Return -1.
	(toString): Use libgcj implementation.
	* java/awt/Font.java (ROMAN_BASELINE, CENTER_BASELINE,
	HANGING_BASELINE): New constants.
	(pointSize): New field.
	(Font): Initialize pointSize.
	(getStyle): New method.
	(getSize2D): Likewise.
	* java/awt/FileDialog.java (addNotify): Use `peer' field directly.
	Call superclass addNotify.
	(paramString): Don't include class name or brackets.  Call
	superclass paramString.
	(setDirectory): Use `peer' field directly.
	(setFile): Likewise.
	(setFilenameFilter): Likewise.
	* java/awt/Dialog.java (Dialog(Dialog)): New constructor.
	(Dialog(Dialog,String)): Likewise.
	(Dialog(Dialog,String,boolean)): Likewise.
	(addNotify): Use `peer' field directly.  Call superclass
	addNotify.
	(setTitle): Use `peer' field directly.
	(setResizable): Likewise.
	(paramString): Don't include class name
	or brackets.  Call superclass paramString.
	* java/awt/Cursor.java: Merged with libgcj.
	* java/awt/Color.java (white, lightGray, gray, darkGray, black,
	red, pink, orange, yellow, green, magenta, cyan, blue): Set alpha
	value.
	(value): Initialize.
	(Color(int,boolean)): New constructor.
	(Color(int,int,int,int)): Likewise.
	(alphamask): New constant.
	(getAlpha): New method.
	(BRIGHT_STEP): New constant.
	(brighter, darker): New implementation from libgcj.
	(getTransparency): New method.
	(equals): Remove redundant test.  Compare `value' fields
	directly.
	* java/awt/Choice.java (selectedIndex): Initialize to -1.
	(add): Throw exception if item is null.  Use `peer' field
	directly.  Select item if it is the first.
	(addItem): Call add.
	(addNotify): Use `peer' field directly.  Call superclass
	addNotify.
	(getSelectedItem): Handle case where selectedIndex is -1.
	(insert): Use `peer' field directly.  Only cast if peer is
	non-null.  Handle case where `index' is too large.  Select item if
	it is the first one.
	(paramString): Don't include class name or brackets.  Call
	superclass paramString.
	(remove(String)): Throw exception if item not found.
	(remove(int)): Use `peer' field directly.  Update selection.
	(removeAll): Correctly remove items.  Remove redundant check.
	(select(String)): Throw exception if item not found.
	(select(int)): Use `peer' field directly.  Don't cast unless peer
	is non-null.
	* java/awt/CheckboxMenuItem.java (addNotify): Use `peer' field
	directly.  Call superclass addNotify.
	(paramString): Don't include class name	or brackets.  Call
	superclass paramString.
	(processEvent): Call superclass processEvent.
	(setState): Use `peer' field directly.  Don't cast unless peer is
	non-null.

2002-01-19  Mark Wielaard <mark@klomp.org>

	* native/jni/java-net/javanet.c (_javanet_get_option): make exception
	message more clear.
	* native/jni/java-net/javanet.h
	(SOCKOPT_SO_SNDBUF,SOCKOPT_SO_REUSEADDR): swap definitions.

2002-01-17  C. Brian Jones <cbj@gnu.org>

	* include/.cvsignore: updated to not ignore jni files

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

	* java/awt/MenuComponent.java (parent): Now package-private.

	* java/awt/MenuComponent.java (postEvent): Restored, now returns
	`false'.

	* java/awt/MenuComponent.java (peer): Now transient and
	package-private.
	(parent): Now transient.
	(tree_lock): Likewise.
	(toolkit): Now transient and static.	
	(dispatchEvent): Call dispatchEventImpl.
	(dispatchEventImpl): New method.
	(processEvent): Removed redundant `return'.
	* java/awt/MenuItem.java (setLabel): Use `peer' field directly.
	Don't cast peer unless it is non-null.
	(setEnabled): Likewise.
	(removeActionListener): New method.
	(addNotify): Use `peer' field directly.
	(getListeners): New method.
	(dispatchEventImpl): Likewise.
	Import EventListener.
	* java/awt/Button.java (Button): Use `null' as default.
	(addNotify): Call superclass addNotify().  Use `peer' field
	directly.
	(dispatchEventImpl): New method.
	(getListeners): Likewise.
	(setActionCommand): Handle case where argument is `null'.
	(setLabel): Use `peer' field directly.  Don't cast peer unless it
	is non-null.
	Import EventListener.

	* java/awt/ActiveEvent.java: Replaced with libgcj version.

2002-01-16  Tom Tromey  <tromey@redhat.com>

	* java/awt/Canvas.java: Merged with libgcj.

	* java/awt/CheckboxGroup.java (setSelectedCheckbox): Handle case
	where argument is null.
	* java/awt/Checkbox.java (setLabel): Only cast peer if it exists.
	(setState): Likewise.
	(setCheckboxGroup): Likewise.
	(addNotify): Use `peer' field directly.  Call superclass
	addNotify().
	(paramString): Use square brackets.  Include `group'.

	* java/awt/Dimension.java: Merged with libgcj.
	* java/awt/Point.java: Updated copyright.

	* java/awt/Point.java: Merged with libgcj.

	* java/util/IdentityHashMap.java (IdentityHashMap): Removed
	commented code.
	(hash): Correctly compute initial value for `h'.

2002-01-16  Tom Tromey  <tromey@redhat.com>

	* java/awt/Label.java (Label(String,int)): Use setAlignment and
	setText.
	(setAlignment): Throw exception if alignment is invalid.  Only
	cast peer if it is not null.
	(setText): Only cast peer if it is not null.
	(addNotify): Only create peer if it doesn't already exist.  Call
	superclass addNotify.

2002-01-15  Tom Tromey  <tromey@redhat.com>

	* java/awt/Makefile.am (EXTRA_DIST): Added new file.
	* java/awt/AWTPermission.java: New file from libgcj.

	* configure.in (AC_OUTPUT): Create new Makefiles.
	* gnu/java/awt/Makefile.am (EXTRA_DIST): New macro.
	* java/awt/color/.cvsignore: New file.
	* java/awt/geom/.cvsignore: New file.
	* java/awt/image/Makefile.am (EXTRA_DIST): Updated.
	* java/awt/event/Makefile.am (EXTRA_DIST): Updated.
	* java/awt/geom/Makefile.am: New file.
	* java/awt/color/Makefile.am: New file.
	* java/awt/Makefile.am (EXTRA_DIST): Updated.
	(SUBDIRS): Added color, geom.

	* java/awt/GridLayout.java: Merged with libgcj.
	* java/awt/CardLayout.java: Merged with libgcj.

2002-01-14  Tom Tromey  <tromey@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(getGraphicsConfiguration): New method.
	(setMask): Likewise.

	Start of AWT merge with libgcj:
	* java/awt/CardLayout.java: Merged with libgcj.
	* java/awt/Rectangle.java: Merged with libgcj.
	* java/awt/Frame.java (Frame): Use `super()'.
	(setIconImage): Only notify peer if it exists.
	(setResizable): Likewise.
	(setTitle): Likewise.
	(setMenuBar): Likewise.
	(getState): New method from libgcj.
	(Frame(GraphicsConfiguration)): Likewise.
	(Frame(String,GraphicsConfiguration)): Likewise.
	(addNotify): New implementation from libgcj.
	(getFrames): New stub from libgcj.
	* java/awt/Paint.java: New file from libgcj.
	* java/awt/RenderingHints.java: New file from libgcj.
	* java/awt/Graphics.java (drawRect(int,int,int,int)): New
	implementation from libgcj.
	(draw3DRect): New method from libgcj.
	(drawBytes): Likewise.
	(hitClip): Likewise.
	(getClipBounds(Rectangle)): Likewise.
	(fill3DRect): Implementation from libgcj.
	* java/awt/image/DirectColorModel.java: Merged with libgcj.
	* java/awt/Transparency.java: New file from libgcj.
	* java/awt/image/ColorModel.java: Merged with libgcj.
	* java/awt/geom/AffineTransform.java: New file from libgcj.
	* java/awt/geom/Dimension2D.java: New file from libgcj.
	* java/awt/geom/Ellipse2D.java: New file from libgcj.
	* java/awt/geom/IllegalPathStateException.java: New file from libgcj.
	* java/awt/geom/Line2D.java: New file from libgcj.
	* java/awt/geom/NoninvertibleTransformException.java: New file
	from libgcj.
	* java/awt/geom/PathIterator.java: New file from libgcj.
	* java/awt/geom/Point2D.java: New file from libgcj.
	* java/awt/geom/Rectangle2D.java: New file from libgcj.
	* java/awt/geom/Rectangle2D.java: New file from libgcj.
	* java/awt/geom/RectanglularShape.java: New file from libgcj.
	* java/awt/geom/RoundRectangle2D.java: New file from libgcj.
	* java/awt/Graphics2D.java: New file from libgcj.
	* java/awt/image/Raster.java: New file from libgcj.
	* java/awt/image/ComponentColorModel.java: New file from libgcj.
	* java/awt/image/BufferedImage.java: New file from libgcj.
	* java/awt/image/DataBuffer.java: New file from libgcj.
	* java/awt/image/DataBufferByte.java: New file from libgcj.
	* java/awt/image/DataBufferInt.java: New file from libgcj.
	* java/awt/image/DataBufferUShort.java: New file from libgcj.
	* java/awt/image/WritableRaster.java: New file from libgcj.
	* java/awt/image/ComponentSampleModel.java: New file from libgcj.
	* java/awt/image/PackedColorModel.java: New file from libgcj.
	* java/awt/image/RasterOp.java: New file from libgcj.
	* java/awt/image/SampleModel.java: New file from libgcj.
	* java/awt/image/SinglePixelPackedSampleModel.java: New file from
	libgcj.
	* java/awt/EventDispatcher.java: Removed.
	* java/awt/EventDispatchThread.java: New file from libgcj.
	* java/awt/Window.java: Merged with libgcj.
	* java/awt/color/ColorSpace.java: New file from libgcj.
	* java/awt/color/ICC_ColorSpace.java: Likewise.
	* java/awt/color/ICC_Profile.java: Likewise.
	* java/awt/AWTEventMulticaster.java: Merged with libgcj.
	* java/awt/event/HierarchyListener.java: New file from libgcj.
	* java/awt/event/HierarchyEvent.java: New file from libgcj.
	* java/awt/event/HierarchyBoundsListener.java: New file from
	libgcj.
	* java/awt/event/HierarchyBoundsAdapter.java: New file from
	libgcj.
	* java/awt/peer/ComponentPeer.java (getGraphicsConfiguration): New
	method.
	(setEventMask): Likewise.
	* java/awt/AWTEvent.java: Merged with libgcj.
	* java/awt/Event.java: New file from libgcj.
	* java/awt/GraphicsConfiguration.java: New file from libgcj.
	* java/awt/Component.java: Merged with libgcj.
	* java/awt/Container.java (addImpl): Handle case where constraint
	is not a String.  Post event via system event queue.
	(remove): Post event via system event queue.
	(validateTree): Only validate child if it is invalid.
	(getAlignmentX): Call super method as default.
	(getAlignmentY): Likewise.
	(addContainerListener): Now synchronized.
	(removeContainerListener): Likewise.
	(addNotifyContainerChildren): Now private.
	* java/awt/FlowLayout.java (serialVersionUID): New field.
	(setAlignment): Better exception message.
	(layoutContainer): Don't compute component's preferred size unless
	we're going to use it.
	* java/awt/ComponentOrientation.java: New file from libgcj.
	* java/awt/BorderLayout.java (AFTER_LAST_LINE, AFTER_LINE_ENDS,
	BEFORE_FIRST_LINE, BEFORE_LINE_BEGINS): New constants.
	(firstLine, lastLine, firstItem, lastItem): New fields.
	(addLayoutComponent): Handle case where constraints is null.
	Also, handle relative locations.
	(removeLayoutComponent): Handle relative locations.
	(MIN, MAX, PREF): New constants.
	(calcCompSize): New method.
	(calcSize): New method.
	(minimumLayoutSize): Use it.
	(preferredLayoutSize): Likewise.
	(maximumLayoutSize): Likewise.
	(toString): Include more information.
	(setBounds): New method.
	(layoutContainer): Use libgcj implementation; extended to handle
	relative locations.

2002-01-15  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Double.java (equals, compare): Fix 0.0 vs. -0.0 math.
	* java/lang/Float.java (equals, compare): Ditto.

2002-01-14  Mark Wielaard  <mark@klomp.org>

	* acinclude.m4: Fix $user_specified_javac detection

2002-01-13  Mark Wielaard  <mark@klomp.org>

	compat/java.net/PlainSocketImpl.java,
	gnu/java/awt/image/GdkPixbufDecoder.java,
	gnu/java/awt/image/GtkOffScreenDecoder.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/image/XBMDecoder.java,
	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/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckButtonPeer.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/GtkRadioButtonPeer.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/GtkToggleButtonPeer.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,
	gnu/java/net/protocol/http/Handler.java,
	gnu/javax/swing/plaf/gtk/GtkBorders.java,
	gnu/javax/swing/plaf/gtk/GtkCheckBoxUI.java,
	gnu/javax/swing/plaf/gtk/GtkIconFactory.java,
	gnu/javax/swing/plaf/gtk/GtkLookAndFeel.java,
	gnu/javax/swing/plaf/gtk/GtkRadioButtonUI.java,
	gnu/javax/swing/plaf/gtk/GtkSliderUI.java,
	gnu/test/Fail.java, gnu/test/Pass.java, gnu/test/Result.java,
	gnu/test/Test.java, gnu/test/Unresolved.java,
	gnu/test/Unsupported.java, gnu/test/Untested.java,
	gnu/test/XFail.java, gnu/test/XPass.java,
	java/awt/Adjustable.java, java/awt/AWTError.java,
	java/awt/AWTEvent.java, java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java, java/awt/BorderLayout.java,
	java/awt/Button.java, java/awt/Canvas.java,
	java/awt/CardLayout.java, java/awt/CheckboxGroup.java,
	java/awt/Checkbox.java, java/awt/CheckboxMenuItem.java,
	java/awt/Choice.java, java/awt/Color.java,
	java/awt/Component.java, java/awt/Container.java,
	java/awt/Cursor.java, java/awt/datatransfer/Clipboard.java,
	java/awt/datatransfer/ClipboardOwner.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/FlavorMap.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/StringSelection.java,
	java/awt/datatransfer/SystemFlavorMap.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.java,
	java/awt/Dialog.java, java/awt/Dimension.java,
	java/awt/event/ActionEvent.java, java/awt/event/ActionListener.java,
	java/awt/event/AdjustmentEvent.java,
	java/awt/event/AdjustmentListener.java,
	java/awt/event/AWTEventListener.java,
	java/awt/event/ComponentAdapter.java,
	java/awt/event/ComponentEvent.java,
	java/awt/event/ComponentListener.java,
	java/awt/event/ContainerAdapter.java,
	java/awt/event/ContainerEvent.java,
	java/awt/event/ContainerListener.java, java/awt/EventDispatcher.java,
	java/awt/event/FocusAdapter.java, java/awt/event/FocusEvent.java,
	java/awt/event/FocusListener.java, java/awt/event/InputEvent.java,
	java/awt/event/InputMethodEvent.java,
	java/awt/event/InputMethodListener.java,
	java/awt/event/InvocationEvent.java, java/awt/event/ItemEvent.java,
	java/awt/event/ItemListener.java, java/awt/event/KeyAdapter.java,
	java/awt/event/KeyEvent.java, java/awt/event/KeyListener.java,
	java/awt/event/MouseAdapter.java, java/awt/event/MouseEvent.java,
	java/awt/event/MouseListener.java,
	java/awt/event/MouseMotionAdapter.java,
	java/awt/event/MouseMotionListener.java,
	java/awt/event/PaintEvent.java, java/awt/EventQueue.java,
	java/awt/event/TextEvent.java, java/awt/event/TextListener.java,
	java/awt/event/WindowAdapter.java, java/awt/event/WindowEvent.java,
	java/awt/event/WindowListener.java, java/awt/FileDialog.java,
	java/awt/FlowLayout.java, java/awt/Font.java,
	java/awt/FontMetrics.java, java/awt/Frame.java, java/awt/Graphics.java,
	java/awt/GridLayout.java, java/awt/IllegalComponentStateException.java,
	java/awt/image/AreaAveragingScaleFilter.java,
	java/awt/image/ColorModel.java, java/awt/image/CropImageFilter.java,
	java/awt/image/DirectColorModel.java,
	java/awt/image/FilteredImageSource.java,
	java/awt/image/ImageConsumer.java, java/awt/image/ImageFilter.java,
	java/awt/image/ImageObserver.java, java/awt/image/ImageProducer.java,
	java/awt/image/IndexColorModel.java, java/awt/Image.java,
	java/awt/ImageMediaEntry.java, java/awt/image/MemoryImageSource.java,
	java/awt/image/PixelGrabber.java,
	java/awt/image/ReplicateScaleFilter.java,
	java/awt/image/RGBImageFilter.java, java/awt/Insets.java,
	java/awt/ItemSelectable.java, java/awt/Label.java,
	java/awt/LayoutManager2.java, java/awt/LayoutManager.java,
	java/awt/List.java, java/awt/MediaEntry.java,
	java/awt/MediaTracker.java, java/awt/MenuBar.java,
	java/awt/MenuComponent.java, java/awt/MenuContainer.java,
	java/awt/MenuItem.java, java/awt/Menu.java,
	java/awt/MenuShortcut.java, java/awt/Panel.java,
	java/awt/peer/ButtonPeer.java, java/awt/peer/CanvasPeer.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/FontPeer.java, java/awt/peer/FramePeer.java,
	java/awt/peer/LabelPeer.java, java/awt/peer/LightweightPeer.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/PanelPeer.java,
	java/awt/peer/PopupMenuPeer.java, java/awt/peer/ScrollbarPeer.java,
	java/awt/peer/ScrollPanePeer.java, java/awt/peer/TextAreaPeer.java,
	java/awt/peer/TextComponentPeer.java, java/awt/peer/TextFieldPeer.java,
	java/awt/peer/WindowPeer.java, java/awt/Point.java,
	java/awt/Polygon.java, java/awt/PopupMenu.java,
	java/awt/print/Book.java, java/awt/PrintGraphics.java,
	java/awt/PrintJob.java, java/awt/print/Pageable.java,
	java/awt/print/PageFormat.java, java/awt/print/Paper.java,
	java/awt/print/Printable.java,
	java/awt/print/PrinterAbortException.java,
	java/awt/print/PrinterException.java,
	java/awt/print/PrinterGraphics.java,
	java/awt/print/PrinterIOException.java,
	java/awt/print/PrinterJob.java, java/awt/Rectangle.java,
	java/awt/Scrollbar.java, java/awt/ScrollPaneAdjustable.java,
	java/awt/ScrollPane.java, java/awt/Shape.java,
	java/awt/SystemColor.java, java/awt/TextArea.java,
	java/awt/TextComponent.java, java/awt/TextField.java,
	java/awt/Toolkit.java, java/awt/Window.java,
	native/gnu.java.awt.image/gdkpixbufdecoder.c,
	native/jni/gtk-peer/gnu_java_awt_image_GdkPixbufDecoder.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	native/jni/gtk-peer/gthread-jni.c,
	native/jni/gtk-peer/gthread-jni.h,
	native/jni/gtk-peer/gtkpeer.h,
	vm/reference/gnu/vm/stack/StackFrame.java,
	vm/reference/gnu/vm/stack/StackTrace.java,
	vm/reference/java/lang/Class.java, vm/reference/java/lang/Runtime.java,
	vm/reference/java/lang/Thread.java,
	vm/reference/java/lang/VMClassLoader.java,
	vm/reference/java/lang/VMObject.java,
	vm/reference/java/lang/VMSecurityManager.java,
	vm/reference/java/lang/VMSystem.java: Update copyright notice.
	COPYING.LIB, projects/swing/COPYING.LIB: Removed.
	
2002-01-12  Mark Wielaard  <mark@klomp.org>

	* java/net/DatagramSocket.java: reindent to prepare for libgcj merge

2002-01-12  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (ANY_IF): new field.
	* java/net/Socket.java: Merge with libgcj.
	* java/net/ServerSocket.java: Likewise.

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

	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Handle --help and
	--version.  Recognize GNU-style long options.  Print GNU-style
	error messages.
	(usage): Print GNU-style help.  Exit with status 0.
	(error): New method.
	(run): Print error message if no class names found.
	(main): Don't print usage on error.

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

	* gnu/java/locale/LocaleInformation.java: Extend
	LocaleInformation_en.
	* gnu/java/locale/LocaleInformation_en.java: Added zone strings
	and time/date formats.
	* gnu/java/locale/LocaleInformation_en_US.java: Now automatically
	generated.
	* gnu/java/locale/LocaleInformation_af_ZA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_AE.java: New file.
	* gnu/java/locale/LocaleInformation_ar_BH.java: New file.
	* gnu/java/locale/LocaleInformation_ar_DZ.java: New file.
	* gnu/java/locale/LocaleInformation_ar_EG.java: New file.
	* gnu/java/locale/LocaleInformation_ar_IN.java: New file.
	* gnu/java/locale/LocaleInformation_ar_IQ.java: New file.
	* gnu/java/locale/LocaleInformation_ar_JO.java: New file.
	* gnu/java/locale/LocaleInformation_ar_KW.java: New file.
	* gnu/java/locale/LocaleInformation_ar_LB.java: New file.
	* gnu/java/locale/LocaleInformation_ar_LY.java: New file.
	* gnu/java/locale/LocaleInformation_ar_MA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_OM.java: New file.
	* gnu/java/locale/LocaleInformation_ar_QA.java: New file.
	* gnu/java/locale/LocaleInformation_ar_SD.java: New file.
	* gnu/java/locale/LocaleInformation_ar_SY.java: New file.
	* gnu/java/locale/LocaleInformation_ar_TN.java: New file.
	* gnu/java/locale/LocaleInformation_ar_YE.java: New file.
	* gnu/java/locale/LocaleInformation_be_BY.java: New file.
	* gnu/java/locale/LocaleInformation_bn_IN.java: New file.
	* gnu/java/locale/LocaleInformation_br_FR.java: New file.
	* gnu/java/locale/LocaleInformation_bs_BA.java: New file.
	* gnu/java/locale/LocaleInformation_ca_ES.java: New file.
	* gnu/java/locale/LocaleInformation_cs_CZ.java: New file.
	* gnu/java/locale/LocaleInformation_cy_GB.java: New file.
	* gnu/java/locale/LocaleInformation_da_DK.java: New file.
	* gnu/java/locale/LocaleInformation_de_AT.java: New file.
	* gnu/java/locale/LocaleInformation_de_BE.java: New file.
	* gnu/java/locale/LocaleInformation_de_CH.java: New file.
	* gnu/java/locale/LocaleInformation_de_DE.java: New file.
	* gnu/java/locale/LocaleInformation_de_LU.java: New file.
	* gnu/java/locale/LocaleInformation_el_GR.java: New file.
	* gnu/java/locale/LocaleInformation_en_AU.java: New file.
	* gnu/java/locale/LocaleInformation_en_BW.java: New file.
	* gnu/java/locale/LocaleInformation_en_CA.java: New file.
	* gnu/java/locale/LocaleInformation_en_DK.java: New file.
	* gnu/java/locale/LocaleInformation_en_GB.java: New file.
	* gnu/java/locale/LocaleInformation_en_HK.java: New file.
	* gnu/java/locale/LocaleInformation_en_IE.java: New file.
	* gnu/java/locale/LocaleInformation_en_IN.java: New file.
	* gnu/java/locale/LocaleInformation_en_NZ.java: New file.
	* gnu/java/locale/LocaleInformation_en_PH.java: New file.
	* gnu/java/locale/LocaleInformation_en_SG.java: New file.
	* gnu/java/locale/LocaleInformation_en_ZA.java: New file.
	* gnu/java/locale/LocaleInformation_en_ZW.java: New file.
	* gnu/java/locale/LocaleInformation_es_AR.java: New file.
	* gnu/java/locale/LocaleInformation_es_BO.java: New file.
	* gnu/java/locale/LocaleInformation_es_CL.java: New file.
	* gnu/java/locale/LocaleInformation_es_CO.java: New file.
	* gnu/java/locale/LocaleInformation_es_CR.java: New file.
	* gnu/java/locale/LocaleInformation_es_DO.java: New file.
	* gnu/java/locale/LocaleInformation_es_EC.java: New file.
	* gnu/java/locale/LocaleInformation_es_ES.java: New file.
	* gnu/java/locale/LocaleInformation_es_GT.java: New file.
	* gnu/java/locale/LocaleInformation_es_HN.java: New file.
	* gnu/java/locale/LocaleInformation_es_MX.java: New file.
	* gnu/java/locale/LocaleInformation_es_NI.java: New file.
	* gnu/java/locale/LocaleInformation_es_PA.java: New file.
	* gnu/java/locale/LocaleInformation_es_PE.java: New file.
	* gnu/java/locale/LocaleInformation_es_PR.java: New file.
	* gnu/java/locale/LocaleInformation_es_PY.java: New file.
	* gnu/java/locale/LocaleInformation_es_SV.java: New file.
	* gnu/java/locale/LocaleInformation_es_US.java: New file.
	* gnu/java/locale/LocaleInformation_es_UY.java: New file.
	* gnu/java/locale/LocaleInformation_es_VE.java: New file.
	* gnu/java/locale/LocaleInformation_et_EE.java: New file.
	* gnu/java/locale/LocaleInformation_eu_ES.java: New file.
	* gnu/java/locale/LocaleInformation_fa_IR.java: New file.
	* gnu/java/locale/LocaleInformation_fi_FI.java: New file.
	* gnu/java/locale/LocaleInformation_fo_FO.java: New file.
	* gnu/java/locale/LocaleInformation_fr_BE.java: New file.
	* gnu/java/locale/LocaleInformation_fr_CA.java: New file.
	* gnu/java/locale/LocaleInformation_fr_CH.java: New file.
	* gnu/java/locale/LocaleInformation_fr_FR.java: New file.
	* gnu/java/locale/LocaleInformation_fr_LU.java: New file.
	* gnu/java/locale/LocaleInformation_ga_IE.java: New file.
	* gnu/java/locale/LocaleInformation_gd_GB.java: New file.
	* gnu/java/locale/LocaleInformation_gl_ES.java: New file.
	* gnu/java/locale/LocaleInformation_gv_GB.java: New file.
	* gnu/java/locale/LocaleInformation_he_IL.java: New file.
	* gnu/java/locale/LocaleInformation_hi_IN.java: New file.
	* gnu/java/locale/LocaleInformation_hr_HR.java: New file.
	* gnu/java/locale/LocaleInformation_hu_HU.java: New file.
	* gnu/java/locale/LocaleInformation_id_ID.java: New file.
	* gnu/java/locale/LocaleInformation_it_CH.java: New file.
	* gnu/java/locale/LocaleInformation_it_IT.java: New file.
	* gnu/java/locale/LocaleInformation_iw_IL.java: New file.
	* gnu/java/locale/LocaleInformation_ja_JP.java: New file.
	* gnu/java/locale/LocaleInformation_ka_GE.java: New file.
	* gnu/java/locale/LocaleInformation_kl_GL.java: New file.
	* gnu/java/locale/LocaleInformation_ko_KR.java: New file.
	* gnu/java/locale/LocaleInformation_kw_GB.java: New file.
	* gnu/java/locale/LocaleInformation_lt_LT.java: New file.
	* gnu/java/locale/LocaleInformation_lv_LV.java: New file.
	* gnu/java/locale/LocaleInformation_mi_NZ.java: New file.
	* gnu/java/locale/LocaleInformation_mk_MK.java: New file.
	* gnu/java/locale/LocaleInformation_mr_IN.java: New file.
	* gnu/java/locale/LocaleInformation_mt_MT.java: New file.
	* gnu/java/locale/LocaleInformation_nl_BE.java: New file.
	* gnu/java/locale/LocaleInformation_nl_NL.java: New file.
	* gnu/java/locale/LocaleInformation_nn_NO.java: New file.
	* gnu/java/locale/LocaleInformation_no_NO.java: New file.
	* gnu/java/locale/LocaleInformation_oc_FR.java: New file.
	* gnu/java/locale/LocaleInformation_pl_PL.java: New file.
	* gnu/java/locale/LocaleInformation_pt_BR.java: New file.
	* gnu/java/locale/LocaleInformation_pt_PT.java: New file.
	* gnu/java/locale/LocaleInformation_ro_RO.java: New file.
	* gnu/java/locale/LocaleInformation_ru_RU.java: New file.
	* gnu/java/locale/LocaleInformation_ru_UA.java: New file.
	* gnu/java/locale/LocaleInformation_se_NO.java: New file.
	* gnu/java/locale/LocaleInformation_sk_SK.java: New file.
	* gnu/java/locale/LocaleInformation_sl_SI.java: New file.
	* gnu/java/locale/LocaleInformation_sq_AL.java: New file.
	* gnu/java/locale/LocaleInformation_sr_YU.java: New file.
	* gnu/java/locale/LocaleInformation_sv_FI.java: New file.
	* gnu/java/locale/LocaleInformation_sv_SE.java: New file.
	* gnu/java/locale/LocaleInformation_ta_IN.java: New file.
	* gnu/java/locale/LocaleInformation_te_IN.java: New file.
	* gnu/java/locale/LocaleInformation_tg_TJ.java: New file.
	* gnu/java/locale/LocaleInformation_tl_PH.java: New file.
	* gnu/java/locale/LocaleInformation_tr_TR.java: New file.
	* gnu/java/locale/LocaleInformation_uk_UA.java: New file.
	* gnu/java/locale/LocaleInformation_ur_PK.java: New file.
	* gnu/java/locale/LocaleInformation_uz_UZ.java: New file.
	* gnu/java/locale/LocaleInformation_vi_VN.java: New file.
	* gnu/java/locale/LocaleInformation_yi_US.java: New file.
	* gnu/java/locale/LocaleInformation_zh_CN.java: New file.
	* gnu/java/locale/LocaleInformation_zh_HK.java: New file.
	* gnu/java/locale/LocaleInformation_zh_SG.java: New file.
	* gnu/java/locale/LocaleInformation_zh_TW.java: New file.
	* gnu/java/locale/Makefile.am (EXTRA_DIST): Added new files.

2001-01-08  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (insertGNUProperties): Add standard character
	encoding aliases.

2001-12-21  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (enableResolveObject): Use
	correct security check.
	* java/io/ObjectOutputStream.java (enableReplaceObject): Use
	correct security check.

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

	* java/math/BigInteger.java: Import gnu.java.math.*.
	* gnu/java/math/MPN.java: New file, from ...
	* gnu/classpath/math/MPN.java: ... here.  Deleted.

	* java/math/BigInteger.java: Corrected copyright dates.

2001-12-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/DataOutputStream (write (byte[], int, int)): Update 
	"written" correctly. Fix from the ORP team.

2001-12-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
	the bitset.
	(andNot): Likewise.
	(xor): Likewise.

2001-12-14  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: blockquote special exception. fix 
	cvs directions.

2001-12-08  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (readObject): Fixed typo.

2001-12-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/ThreadGroup.java (uncaughtException): Print message to
	System.err.  Required by spec.

2001-11-27  C. Brian Jones <cbj@gnu.org>

	* resource/orp-1.0.8.patch: new file
	* doc/www.gnu.org/home.wml: added link to ORP doc
	* doc/www.gnu.org/doc/orp.wml: simple directions for using 
	ORP+Classpath

2001-11-25  C. Brian Jones <cbj@gnu.org>

	* java/net/DatagramSocket (getLocalAddress): return local address
	used in creating socket instead of calling a native method to retrieve
	a value that cannot be changed (fixes Mauve regression).
	* native/jni/classpath/jcl.h: #include <config.h> for definition 
	of DEBUG
	* native/jni/java-net/java_net_PlainDatagramSocketImpl.c: Added 
	more checks for exceptions thrown from use of JNI functions to all
	methods (fixes Mauve regression).
	Debug messages cleaned up.
	* native/jni/java-net/javanet.c: ditto
	* native/jni/java-io/javaio.c: _javaio_ThrowException changed to 
	JCL_ThrowException
	* mauve-classpath: updated and can be used with ORP (158 of 1943 tests
	fail)

2001-11-25  Tom Tromey  <tromey@redhat.com>

	* java/math/BigDecimal.java (BigDecimal(double)): Rewrote.
	(BigDecimal(String)): Likewise.

2001-11-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
	entry.

2001-11-23  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (removeNode): Fix bug in node removal.

2001-11-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/AbstractCollection.java (containsAll): Use size of the
	correct collection for loop bound.
	* java/util/AbstractList.java (iterator.next): Increment pos after
	calling get on backing list.
	(listIterator.next): Likewise.
	* java/util/LinkedList.java (addLastEntry): Don't increment size before
	checking for size == 0.
	(addFirstEntry): Rearrange to match addLastEntry.
	(add): Do not increment size before inserting the new entry.

	* java/util/AbstractCollection.java (addAll): Use size of the
	correct collection for loop bound.

2001-11-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
	* java/util/HashMap.java (putAllInternal): Set size here.
	* java/util/Hashtable.java (putAllInternal): New method. Copy contents
	of a map efficiently without calling put() or putAll().
	(Hashtable (map)): Use putAllInternal.
	(clone): Likewise.

2001-11-16  Mark Wielaard  <mark@klomp.org>

	* java/util/Timer.java (TaskQueue.isStopped): Remove method.
	(Scheduler.run): Try to re-schedule task and ignore exception
	if queue has been stopped.

2001-11-15  C. Brian Jones
	* native/jni/java-lang/java_lang_Double.c (parseDouble): Throw 
	NullPointerException if the String argument is null.
	* java/lang/Double.java (valueOf): Reverse previously applied 
	patch to throw NullPointerException.
	* java/lang/Integer.java (parseInt): Throw NumberFormatException
	explicitly in the case of a null argument in keeping with JDK 1.3.

2001-11-14  C. Brian Jones
	
	* java/lang/Integer.java (getInteger): Attempt to decode the value
	of the system property instead of the name of the system property.
	* java/lang/Double.java (valueOf): Throw NullPointerException
	explicitly in the case of a null argument in keeping with JDK 1.3.

2001-11-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/Double.java (parseDouble): Now native.
	(parseDouble0): Removed.
	* native/jni/java-lang/java_lang_Double.c
	(Java_java_lang_Double_parseDouble): Renamed.  Rewrote to trim
	String internally.  Free the UTF buffer at end.

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

	* java/util/Timer.java (TaskQueue.isStopped): New method.
	(Scheduler.run): Don't re-schedule task if queue has been
	stopped.

2001-11-12  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-lang/java_lang_Double.c (parseDouble0): 
	handle 'f', 'F', 'd', 'D' per JLS 3.10.2, fixes problems found using
	Mauve

2001-11-12  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-io/javaio.c (_javaio_open): use 
	JCL_jstring_to_cstring instead of old undefined method
	* acconfig.h: changed #define DEBUG 0 to #undef DEBUG to match
	current usage in C source
	* native/jni/java-lang/java_lang_Double.c: isNaNID, 
	NEGATIVE_INFINITY, POSITIVE_INFINITY all made static
	(initIDs): add debugging aids
	(toString): add debugging aids; compare value and POSITIVE_INFINITY
	directly to fix bug found using Mauve

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

	* doc/www.gnu.org/Makefile: Make it work with GNU sed 3.02 and
	texi2html 1.65

2001-11-11  C. Brian Jones <cbj@gnu.org>

	* native/jni/java-io/Makefile.am: missing javaio.c, javaio.h in 
	libjavaio

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

	* doc/vmintegration.texinfo: Add gcj, kissme and small explanation of
	VMObject, VMClassLoader, VMSystem and VMSecurityManager
	* java/lang/Boolean.java (TYPE): VMClassLoader.getPrimitiveClass(char)
	* java/lang/Byte.java (TYPE): Likewise
	* java/lang/Character.java (TYPE): Likewise
	* java/lang/Double.java (TYPE): Likewise
	* java/lang/Float.java (TYPE): Likewise
	* java/lang/Integer.java (TYPE): Likewise
	* java/lang/Long.java (TYPE): Likewise
	* java/lang/Short.java (TYPE): Likewise
	* java/lang/Void.java (TYPE): Likewise
	* vm/reference/java/lang/VMClassLoader.java (getPrimitiveClass(char)):
	new method

2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>

	* java/io/ByteArrayOutputStream.java,
	java/io/CharConversionException.java,
	java/io/PipedInputStream.java, java/io/PipedReader.java,
	java/io/PrintWriter.java, java/io/WriteAbortedException.java,
	java/net/BindException.java, java/net/ConnectException.java,
	java/net/ProtocolException.java, java/net/SocketException.java,
	java/net/UnknownServiceException.java,
	java/security/SecureRandom.java, java/security/SignedObject.java,
	java/security/cert/X509Certificate.java,
	java/security/interfaces/DSAKey.java,
	java/sql/DatabaseMetaData.java,
	java/text/DecimalFormatSymbols.java, java/util/Calendar.java,
	java/util/GregorianCalendar.java, java/util/Properties.java,
	java/util/Timer.java, java/util/jar/Attributes.java,
	java/util/jar/JarEntry.java, java/util/jar/JarInputStream.java,
	java/util/jar/JarOutputStream.java: Fix spelling errors.

2001-11-05  C. Brian Jones <cbj@gnu.org>

	* configure.in: changed AC_CANONICAL_SYSTEM to AC_CANONICAL_TARGET.
	Modify usage of target_vendor to target_cpu to link jni_md.h.
	Modify target_cpu to be x86 where it matches regex .*86.
	Modify target_cpu and target_os to be x86 and linux-gnu where 
	jni_md-$target_cpu-$target_os.h does not exist and print a warning.
	* include/jni_md-pc-linux-gnu.h: renamed include/jni_md-x86-linux-gnu.h

2001-11-05  John Leuner  <jewel@debian.org>

	* java/awt/Window.java: sets is_notified flag
	* java/awt/Container.java: added debug message
	added is_notified flag
	* java/awt/Component.java: added check for null peer
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: changed debug message
	to print class

2001-11-4  C. Brian Jones <cbj@gnu.org>

	* THANKYOU: added Fred Gray

2001-11-4   Fred Gray <fegray@npl.uiuc.edu>

	* java/util/ResourceBundle.java: add static modifier to class Security

2001-11-04  C. Brian Jones <cbj@gnu.org>

	* native/jni/awt: renamed native/jni/gtk-peer
	* native/jni/javaio.h: moved to native/jni/java-io
	* native/jni/javaio.c: moved to native/jni/java-io
	* native/jni/java_io_File.c: moved to native/jni/java-io
	* native/jni/java_io_FileDescriptor.c: moved to native/jni/java-io
	* native/jni/java_io_FileInputStream.c: moved to native/jni/java-io
	* native/jni/java_io_FileOutputStream.c: moved to native/jni/java-io
	* native/jni/java_io_ObjectInputStream.c: moved to native/jni/java-io
	* native/jni/java_io_ObjectOutputStream.c: moved to native/jni/java-io
	* native/jni/java_io_RandomAccessFile.c: moved to native/jni/java-io
	* native/jni/javalang.h: moved to native/jni/java-lang
	* native/jni/javalang.c: moved to native/jni/java-lang
	* native/jni/java_lang_Double.c: moved to native/jni/java-lang
	* native/jni/java_lang_Float.c: moved to native/jni/java-lang
	* native/jni/java_lang_Object.c: moved to native/jni/java-lang
	* native/jni/java_lang_System.c: moved to native/jni/java-lang
	* native/jni/java_lang_reflect_Array.c: moved to native/jni/java-lang
	* native/jni/javanet.h: moved to native/jni/java-net
	* native/jni/javanet.c: moved to native/jni/java-net
	* native/jni/java_net_InetAddress.c: moved to native/jni/java-net
	* native/jni/java_net_PlainDatagramSocketImpl.c: moved to 
	native/jni/java-net
	* native/jni/java_net_PlainSocketImpl.c: moved to native/jni/java-net
	* native/jni/java_util_ResourceBundle.c: moved to native/jni/java-util
	* native/jni/java_util_TimeZone.c: moved to native/jni/java-util
	* native/jni/ieeefp.h: moved to native/jni/mprec
	* native/jni/java-assert.h: moved to native/jni/mprec
	* native/jni/mprec.c: moved to native/jni/mprec
	* native/jni/mprec.h: moved to native/jni/mprec
	* native/jni/acos.c: removed
	* native/jni/asin.c: removed
	* native/jni/atan2.c: removed
	* native/jni/atan.c: removed
	* native/jni/ceil.c: removed
	* native/jni/cos.c: removed
	* native/jni/dtoa.c: removed
	* native/jni/e_fmod.c: removed
	* native/jni/exp.c: removed
	* native/jni/floor.c: removed
	* native/jni/jcl.c: removed
	* native/jni/jcl.h: removed
	* native/jni/k_cos.c: removed
	* native/jni/k_rem_pio2.c: removed
	* native/jni/k_sin.c: removed
	* native/jni/k_tan.c: removed
	* native/jni/log.c: removed
	* native/jni/pow.c: removed
	* native/jni/remainder.c: removed
	* native/jni/rint.c: removed
	* native/jni/s_fabs.c: removed
	* native/jni/sin.c: removed
	* native/jni/sqrt.c: removed
	* native/jni/tan.c: removed
	* native/jni/fdlibm.h: removed
	* native/jni/java_math_BigInteger.c: no longer needed
	* native/fdlibm/dtoa.c: added from gcj to sync sources
	* native/fdlibm/e_acos.c: added from gcj to sync sources
	* native/fdlibm/e_asin.c: added from gcj to sync sources
	* native/fdlibm/e_atan2.c: added from gcj to sync sources
	* native/fdlibm/e_exp.c: added from gcj to sync sources
	* native/fdlibm/e_fmod.c: added from gcj to sync sources
	* native/fdlibm/e_log.c: added from gcj to sync sources
	* native/fdlibm/e_pow.c: added from gcj to sync sources
	* native/fdlibm/e_remainder.c: added from gcj to sync sources
	* native/fdlibm/e_rem_pio2.c: added from gcj to sync sources
	* native/fdlibm/e_scalb.c: added from gcj to sync sources
	* native/fdlibm/e_sqrt.c: added from gcj to sync sources
	* native/fdlibm/fdlibm.h: added from gcj to sync sources
	* native/fdlibm/ieeefp.h: added from gcj to sync sources
	* native/fdlibm/java-assert.h: added from gcj to sync sources
	* native/fdlibm/k_cos.c: added from gcj to sync sources
	* native/fdlibm/k_rem_pio2.c: added from gcj to sync sources
	* native/fdlibm/k_sin.c: added from gcj to sync sources
	* native/fdlibm/k_tan.c: added from gcj to sync sources
	* native/fdlibm/mprec.c: added from gcj to sync sources
	* native/fdlibm/mprec.h: added from gcj to sync sources
	* native/fdlibm/s_atan.c: added from gcj to sync sources
	* native/fdlibm/s_ceil.c: added from gcj to sync sources
	* native/fdlibm/s_copysign.c: added from gcj to sync sources
	* native/fdlibm/s_cos.c: added from gcj to sync sources
	* native/fdlibm/s_fabs.c: added from gcj to sync sources
	* native/fdlibm/sf_fabs.c: added from gcj to sync sources
	* native/fdlibm/s_floor.c: added from gcj to sync sources
	* native/fdlibm/sf_rint.c: added from gcj to sync sources
	* native/fdlibm/s_rint.c: added from gcj to sync sources
	* native/fdlibm/s_scalbn.c: added from gcj to sync sources
	* native/fdlibm/s_sin.c: added from gcj to sync sources
	* native/fdlibm/s_tan.c: added from gcj to sync sources
	* native/fdlibm/strtod.c: added from gcj to sync sources
	* native/fdlibm/w_acos.c: added from gcj to sync sources
	* native/fdlibm/w_asin.c: added from gcj to sync sources
	* native/fdlibm/w_atan2.c: added from gcj to sync sources
	* native/fdlibm/w_exp.c: added from gcj to sync sources
	* native/fdlibm/w_fmod.c: added from gcj to sync sources
	* native/fdlibm/w_log.c: added from gcj to sync sources
	* native/fdlibm/w_pow.c: added from gcj to sync sources
	* native/fdlibm/w_remainder.c: added from gcj to sync sources
	* native/fdlibm/w_sqrt.c: added from gcj to sync sources
	* native/fdlibm/.cvsignore: new file
	* native/jni/gtk-peer/Makefile.am: added -module to LDFLAGS
	* native/jni/java-io/Makefile.am: added -module to LDFLAGS
	* native/jni/java-io/.cvsignore: new file
	* native/jni/java-lang/Makefile.am: added -module to LDFLAGS
	* native/jni/java-lang/.cvsignore: new file
	* native/jni/java-net/Makefile.am: added -module to LDFLAGS
	* native/jni/java-net/.cvsignore: new file
	* native/jni/java-util/Makefile.am: added -module to LDFLAGS
	* native/jni/java-util/.cvsignore: new file
	* native/fdlibm/Makefile.am: added -module to LDFLAGS
	* native/jni/Makefile.am: removed rules, SUBDIRS equals java-io,
	java-lang, java-net, java-util, gtk-peer
	* native/Makefile.am: prepended fdlibm to SUBDIRS
	* java/lang/Math.java static(): load libjavalang.so instead of
	libjavalangmath.so
	* java/math/BigInteger.java: replaced our native version with 
	pure Java implementation from gcj
	* gnu/classpath/math: new directory
	* gnu/classpath/math/MPN.java: new file from gcj, which came from Kawa,
	and is included with permission from Per Bothner, the author.
	* README: updated with current information about CVS and the
	project
	* THANKYOU: added Per Bothner
	* TODO: updated with current information as I know it
	* NEWS: updated with information about a 0.03 release
	* HACKING: updated with new information
	* INSTALL: updated with new information
	* BUGS: added link to Savannah bug reporting page for the project
	* ltconfig: removed due to upgrade of libtool to 1.4.2
	* ltmain.sh: updated with libtool 1.4.2
	* depcomp: new file from automake 1.5 upgrade
	* configure.in: added to OUTPUT native/fdlibm/Makefile, 
	native/jni/java-io/Makefile, native/jni/java-lang/Makefile, 
	native/jni/java-net/Makefile, native/jni/java-util/Makefile, 
	native/jni/gtk-peer/Makefile
	* install.sh: updated
	* missing: updated
	* mkinstalldirs: updated
	* native/lib/Makefile.am: INCLUDES += changed to just INCLUDES = to
	avoid automake warning
	* native/lib/jcl.h: removed TRUE/FALSE #defines, added DBG
	* native/nsa/: removed, files native_state.* moved to native/lib
	* native/lib: renamed native/jni/classpath
	* native/cni/Makefile.am: new file
	* native/cni/.cvsignore: new file
	* native/jni/gtk-peer/Makefile.am: LIBADD used to get native_state from
	a common location
	* native/jni/java-io/Makefile.am: LIBADD used to get jcl from a
	common location, source modified to use relevant JCL_* functions
	* native/jni/java-lang/Makefile.am: LIBADD used to get jcl from a 
	common location
	* native/jni/java-net/Makefile.am: LIBADD used to get jcl from a common
	location, source modified to use relevant JCL_* functions
	* vm/reference/java/lang/Thread.java (Thread): wrongly marked private
	constructor Thread (ThreadGroup, String) now public
	* native/jni/java-util/java_util_ResourceBundle.c: removed file
	* native/jni/java-util/Makefile.am: removed java_util_ResourceBundle.c
	from library

2001-11-04  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/ResourceBundle.java (getClassContext): Removed.
	(Security): New class, extends SecurityManger.
	(getBundle): Use Security.getCallingClassLoader instead of
	getClassContext.
	* native/jni/java_util_ResourceBundle.c: Removed.
	* native/jni/Makefile.am: Updated.

2001-10-30  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Collections.java:
	* java/util/Vector.java:
	* java/util/WeakHashMap.java: Fix spelling errors.

2001-10-27  C. Brian Jones <cbj@gnu.org>

	* include/jni.h.in: added largely from gcj with edits based on 
	published specification in ISBN 0-201-32557-2, sablepath-0.1.7,
	and Japhar.
	* include/jni_md-pc-gnu-linux.h: new file

2001-10-27  C. Brian Jones <cbj@gnu.org>

	* gnu/java/text/.cvsignore: new file
	* lib/.cvsignore: added com
	* acinclude.m4: renamed CLASSPATH_INTERNAL_CHECK_JAPHAR to 
	CLASSPATH_CHECK_JAPHAR
	renamed CLASSPATH_INTERNAL_CHECK_KAFFE to CLASSPATH_CHECK_KAFFE
	renamed CLASSPATH_CHECK_JAPHAR to CLASSPATH_WITH_JAPHAR
	renamed CLASSPATH_CHECK_KAFFE to CLASSPATH_WITH_KAFFE
	added CLASSPATH_FIND_JAVAC and supporting functions re-arranged,
	support for gcj added
	added CLASSPATH_FIND_JAVA and supporting functions
	added CLASSPATH_WITH_JAVAH and supporting functions
	added CLASSPATH_WITH_CLASSLIB
	added CLASSPATH_WITH_INCLUDEDIR
	* configure.in: use AC_CANONICAL_SYSTEM instead of AC_CANONICAL_HOST
	version changed to 0.03
	added --enable-java (always by default)
	added --enable-jni (not built by default)
	added --enable-cni (not built by default, currently not implemented)
	added automake conditional CREATE_JNI_HEADERS, if true then build 
	JNI headers
	added automake conditional CREATE_JNI_LIBRARIES, if true then build 
	JNI native libraries
	added automake conditional CREATE_CNI_LIBRARIES, if true then build
	CNI native libraries, currently not implemented
	moved checks related to building JNI libraries so they are avoided
	when not building JNI libraries
	added AC_CYGWIN and AC_MINGW32 tests when building JNI libraries
	removed JVM specific checks
	moved --with-java, --with-javah, --with-classlib, --with-includedir
	macros to acinclude.m4
	removed --enable-developer-mode
	added macro call to link jni_md.h
	added jni.h to OUTPUT to place it in ${top_builddir}/include easily
	handled INIT_LOAD_LIBRARY appropriately when --enable-cni is used
	* lib/Makefile.am: centralized definition of configured variables
	remove Sun's javac cruft
	simply definition of various tool argument definitions
	added gcj support
	avoid creating JNI headers unless --enable-jni used with configure
	fixup maintainer clean target
	* lib/genclasslist.sh.in: added com, avoid duplicates when top_srcdir
	equals top_builddir, causes gcj problems otherwise
	* native/Makefile.am: redefine subdirs in terms of --enable-jni or
	--enable-cni
	* native/jni/Makefile.am: removed JVM specific rules
	* native/jni/fdlibm.h: include stdlib.h (for NULL)
	* native/jni/java_lang_System.c: include stdlib.h (for NULL)
	* native/jni/awt/Makefile.am: removed JVM specific rules
	* native/lib/Makefile.am: removed JVM specific rules
	* vm/Makefile.am: removed JVM specific SUBDIRS definition

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

	* lib/standard.omit: DataFlavor.java and AWTEvent.java should and
	must be compiled by default

2001-10-25  John Leuner  <jewel@debian.org>

	* lib/jazzlib/index.html: Added this directory.
	Added the html file for the jazzlib project.
	Moved the dist generation script to this directory.
	Changed the dist generation script to generate files
	in the java.util.zip and net.sf.jazzlib namespaces.

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

	* java/lang/reflect/Proxy.java (getProxyClass):
	Workaround for bug in gcj
	* java/util/TreeMap.java (TreeIterator (int)): likewise

2001-10-25  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractCollection.java (removeAllInternal),
	(retainAllInternal): Add hooks for use by ArrayList.
	* java/util/AbstractList.java: Minor code updates. Fix some
	scoping.
	* java/util/AbstractMap.java: ditto
	* java/util/ArrayList.java (readObject, writeObject): ditto
	(removeAllInternal, retainAllInternal): Optimize.
	* java/util/Arrays.java: ditto
	* java/util/Collections.java: ditto. Change order of parameters
	to equals(Object, Object) to match specs.
	* java/util/Dictionary.java: Improve javadoc.
	(Dictionary): Add explicit constructor.
	* java/util/HashMap.java: Improve javadoc. Rearrange methods to
	follow order in JDK. Cleanups related to recent code migration to
	AbstractMap. Fix some scoping.
	(entrySet): Cache the result.
	(modCount): Ensure that this is updated correctly.
	* java/util/HashSet.java: Improve javadoc. Fix some scoping.
	(init): Add hooks for LinkedHashSet.
	(map): Use "" instead of Boolean.TRUE in backing map. Use
	package-private API where possible for less overhead.
	(readObject, writeObject): Fix serialization.
	* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
	(entrySet, keySet, values): Cache the result.
	(modCount): Ensure that this is updated correctly.
	(contains, remove): Fix NullPointer checking to match specs.
	(class Enumeration): Make more like HashIterator.
	* java/util/IdentityHashMap.java: Minor code updates.
	(modCount): Ensure that this is updated correctly.
	(readObject, writeObject): Fix serialization.
	* java/util/LinkedHashMap.java: Minor code updates. Cleanups
	related to recent code migration to AbstractMap.
	* java/util/LinkedHashSet.java: New file.
	* java/util/LinkedList.java:
	(readObject, writeObject): Fix serialization.
	* java/util/Makefile.am: List recently added files.
	* java/util/Stack.java: Minor code updates.
	* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
	be more efficient. Fix some scoping. Rearrange the methods.
	(nil): Ensure that this can be thread-safe, and make it a static
	final. Initialize it to be more useful as a sentinal node.
	(Node): Specify color in constructor.
	(deleteFixup, insertFixup): Improve comments and algorithm.
	(fabricateTree): Redesign with less overhead.
	(lowestGreaterThan): Add parameter first to make SubMap easier.
	(removeNode): Patch hole where nil was being modified. Choose
	predecessor instead of successor so in-place swap works.
	(class VerifyResult, verifyTree, verifySub, verifyError): Remove
	this dead code after verifying the class works.
	(class SubMap): Rewrite several algorithms to avoid problems with
	comparing nil.
	* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
	(clone): Fix ClassCastException when cloning subSet().
	(readObject, writeObject): Fix serialization.
	* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
	(NULL_KEY): Make it compare as null, for ease elsewhere.
	(Class WeakEntry): Rename from Entry, to avoid shadowing
	Map.Entry. Add missing toString.
	(modCount): Ensure that this is updated correctly.
	(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
	Add missing methods and constructor.

2001-10-24  Tom Tromey  <tromey@redhat.com>

	* java/sql/Types.java (Types): New constructor.

2001-10-23  Tom Tromey  <tromey@redhat.com>

	* java/util/PropertyResourceBundle.java (handleGetObject): Now
	public.
	* java/util/ListResourceBundle.java (handleGetObject): Now public
	and final, per spec.

2001-10-23  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedWriter.java (localFlush): Don't synchronize.

2001-10-23  John Leuner  <jewel@debian.org>

	* lib/makeJazzlibDist.sh: Added this script to make a jazzlib 
	distribution from the java.util.zip files. It changes the 
	package header to net.sf.jazzlib and makes a source and binary
	file. This is not to be used by any classpath build infrastructure
	, it's only there to make snapshots of the pure java zip code.

2001-10-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/BufferedWriter (write (String, int, int)): Remove redundant 
	bounds checks.
	(write (char[], int, int)): Likewise.

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

	* java/util/GregorianCalendar.java (getGregorianChange): Removed
	`date' argument.

2001-10-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/ArrayList.java (checkBoundExclusive),
	(checkBoundInclusive): Rename from range??clusive, to match
	AbstractList.
	* java/util/LinkedList.java (checkBoundsExclusive),
	(checkBoundsInclusive): ditto
	* java/util/Vector.java (checkBoundExclusive),
	(checkBoundInclusive): Move bounds checking into common methods.

2001-10-21  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractList.java:
	(modCount): Make sure it is updated in all needed places.
	* java/util/ArrayList.java: Improve javadoc. Implements
	RandomAccess. Add serialVersionUID. Reorder methods.
	(modCount): Make sure it is updated in all needed places.
	(rangeExclusive, rangeInclusive): Add common methods for bounds
	check.
	(isEmpty): Add missing method.
	* java/util/Collections.java: (class SynchronizedList): Make
	package visible.
	* java/util/ConcurrentModificationException.java: Improve
	javadoc.
	* java/util/EmptyStackException.java: Improve javadoc.
	* java/util/LinkedList.java: Improve javadoc.
	(modCount): Make sure it is updated in all needed places.
	(rangeExclusive, rangeInclusive): Add common methods for bounds
	check.
	* java/util/NoSuchElementException.java: Improve javadoc.
	* java/util/Stack.java: Improve javadoc. Fix synchronization
	issues.
	(modCount): Make sure it is updated in all needed places.
	* java/util/Vector.java: Improve javadoc. Fix synchronization
	issues. Implements RandomAccess. Reorder methods.
	(modCount): Make sure it is updated in all needed places.
	(setSize): Fix according to specifications: this does not dictate
	the backing array size.
	(removeAll, retainAll): Faster implementations.

2001-10-20  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/reflect/AccessibleObject.java: Improve javadoc.
	(secureSetAccessible): Add method to perform check for
	Class Constructors and AccessibleObject accessors.
	* java/lang/reflect/Array.java: Reindent and comment, add
	necessary exception checking throughout.
	(newInstance): Check for Object[] first, not last.
	(getLength): Implement in Java, rather than native.
	(objectClass): Remove dead code.
	(createMultiArray): Rename from createDimensionedArray.
	* java/lang/reflect/InvocationHandler.java: New file.
	* java/lang/reflect/InvocationTargetException.java: Reindent and
	comment.
	(printStackTrace): Remove, in anticipation of 1.4 compatibility.
	(getCause): Add, in anticipation of 1.4 compatibility.
	(serialVersionUID): Make private.
	* java/lang/reflect/Makefile.am: Update for new files.
	* java/lang/reflect/Member.java: Reindent and comment.
	* java/lang/reflect/Modifier.java: Improve javadoc.
	(toString(int, StringBuffer)): Strip final space only if the
	buffer was modified.
	* java/lang/reflect/Proxy.java: New file.
	* java/lang/reflect/ReflectPermission.java: Improve javadoc.
	(serialVersionUID): Add missing field.
	* java/lang/reflect/UndeclaredThrowableException.java: New file.
	* gnu/classpath/Configuration.java.in: Add options for use by
	java.lang.reflect.Proxy.

2001-10-19  Eric Blake  <ebb9@email.byu.edu>

	* vm/reference/java/lang/reflect/Field.java: Reindent and comment,
	extends AccessibleObject.
	* vm/reference/java/lang/reflect/Method.java: ditto
	(toString): Output throws clause.
	* vm/reference/java/lang/reflect/Constructor.java: ditto
	(toString): Output throws clause.

2001-10-19  Mark Wielaard  <mark@klomp.org>

	* java/lang/Double.java: More libgcj merging
	(isNaN): return v != v
	* java/lang/Float.java: Ditto
	(equals (Object)): use floatToIntBits()
	(isNaN): return v != v

2001-10-19  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_OUTPUT): removed gnu/classpath/tools/Makefile,
	added javax/naming/Makefile, javax/naming/directory/Makefile and
	javax/naming/spi/Makefile
	* gnu/java/text/Makefile.in: removed
	* javax/Makefile.am (SUBDIRS): add naming
	* javax/naming/.cvsignore: new file
	* javax/naming/BinaryRefAddr.java: ditto
	* javax/naming/InvalidNameException.java: ditto
	* javax/naming/Makefile.am: ditto
	* javax/naming/Name.java: ditto
	* javax/naming/NamingException.java: ditto
	* javax/naming/RefAddr.java: ditto
	* javax/naming/StringRefAddr.java: ditto
	* javax/naming/directory/.cvsignore: ditto
	* javax/naming/directory/Makefile.am: ditto
	* javax/naming/spi/.cvsignore: ditto
	* javax/naming/spi/Makefile.am: ditto
	* lib/.cvsignore: add javax
	* lib/gen-classlist.sh.in: ditto
	* lib/standard.omit: removed java/net, java/lang, java/text and
	java/util/jar classes, added javax/accessibility and javax/swing

2001-10-19  Eric Blake  <ebb9@email.byu.edu>

	* java/util/IdentityHashMap.java: Improve javadoc, fix member
	visibility for less code generation.
	(modCount): Add fail-safe iteration.
	(entries): Cache the entry set.
	(hash): Rename from getHash, and make it more powerful - common
	code for iterating over the table is now in one location.
	(entrySet): Add missing method hashCode, optimize methods contains
	and remove.
	(equals, putAll): Add missing (but useless) methods.
	(hashCode): Add missing (and important) method.
	(keySet): Add missing method hashCode.
	(values): Add missing method remove.
	(class IdentityIterator): Add fail-safe iteration, fix next to be
	correctly parameterized.
	(class IdentityEntry): Add a class for entrySet iteration.
	* java/util/AbstractMap.java (hashCode): Optimize.
	* java/util/Collections.java (SingletonSet): Fix visibility for
	less code generation.

2001-10-18  Eric Blake  <ebb9@email.byu.edu>

	* java/util/BitSet.java: Improve javadoc.
	(cardinality(), clear(), clear(int, int), flip(int)),
	(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
	(nextClearBit(int), nextSetBit(int), set(int, boolean)),
	(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
	(clone): Fix so subclasses clone correctly.

2001-10-18  Eric Blake  <ebb9@email.byu.edu>

	* java/util/AbstractCollection.java: Improve javadoc.
	(AbstractCollection()): Make constructor protected.
	(equals(Object, Object), hashCode(Object)): Add utility methods.
	* java/util/AbstractList.java: Improve javadoc.
	(AbstractList()): Make constructor protected.
	(indexOf(Object)): Call listIterator(), not listIterator(int).
	(iterator()): Follow Sun's requirement to not use listIterator(0).
	(listIterator(int)): Make AbstractListItr anonymous.
	(subList(int, int)): Add support for RandomAccess.
	(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
	modCount tracking.
	(SubList.addAll(Collection)): Add missing method.
	(SubList.listIterator(int)): Fix bugs in indexing, modCount
	tracking.
	(class RandomAccessSubList): Add new class.
	* java/util/AbstractMap.java: Improve javadoc.
	(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
	fields.
	(AbstractMap()): Make constructor protected.
	(equals(Object, Object), hashCode(Object)): Add utility methods.
	(equals(Object)): Change algorithm to
	entrySet().equals(m.entrySet()), as documented by Sun.
	(keySet(), values()): Cache the collections.
	* java/util/AbstractSequentialList.java: Improve javadoc.
	(AbstractSequentialList()): Make constructor protected.
	* java/util/AbstractSet.java: Improve javadoc.
	(AbstractSet()): Make constructor protected.
	(removeAll(Collection)): Add missing method.
	* java/util/Arrays.java: Improve javadoc, rearrange method orders.
	(defaultComparator): Remove, in favor of
	Collections.compare(Object, Object, Comparator).
	(binarySearch, equals, sort): Fix natural order comparison of
	floats and doubles. Also improve Object comparison - when
	comparator is null, use natural order.
	(fill, sort): Add missing checks for IllegalArgumentException.
	(sort, qsort): Fix sorting bugs, rework the code for more
	legibility.
	(mergeSort): Inline into sort(Object[], int, int, Comparator).
	(class ArrayList): Rename from ListImpl, and make compatible with
	JDK serialization. Add methods which more efficiently override
	those of AbstractList.
	* java/util/Collections: Improve javadoc.
	(isSequential(List)): Add and use a method for deciding between
	RandomAccess and sequential algorithms on lists.
	(class Empty*, class Synchronized*, class Unmodifiable*): Make
	compliant with JDK serializability.
	(class Singleton*, class CopiesList, class RevereseComparator),
	(class UnmodifiableMap.UnmodifiableEntrySet),
	(class *RandomAccessList): New classes for serial compatibility.
	(class Empty*, class Singleton*, class CopiesList): Add methods
	which more efficiently override those of Abstract*.
	(search): Inline into binarySearch(List, Object, Comparator).
	(binarySearch): Make sequential search only do log(n) comparisons,
	instead of n.
	(copy(List, List)): Do bounds checking before starting.
	(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
	(swap):	Add new JDK 1.4 methods.
	(binarySearch, max, min, sort): Allow null comparator to represent
	natural ordering.
	(reverse(List)): Avoid unnecessary swap.
	(shuffle(List, Random)): Do shuffle in-place for RandomAccess
	lists.
	(SingletonList.get): Fix logic bug.
	(SingletonMap.entrySet): Make the entry immutable, and cache the
	returned set.
	(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
	(UnmodifiableMap): Detect null pointer in construction.
	(SynchronizedMap, UnmodifiableMap): Cache collection views.
	* java/util/BasicMapEntry: Improve javadoc.

2001-10-18  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedWriter.java (write(String,int,int)): Correctly
	check bounds.

	* java/security/Security.java (loadProviders): Removed unused
	`pname' variable.  Don't create `File' object.  Don't update
	`providerCount'.
	(providerCount): Removed.
	(insertProviderAt): Don't use `providerCount'.
	(addProvider(Provider,int)): Likewise.
	(removeProvider): Likewise.
	(addProvider(Provider)): Rewrote.
	(getProviders): Rewrote.
	(getProvider): Don't use `providerCount'.

2001-10-18  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/zip/ZipFile.java (readEntries): Search for the End Of
	Central Directory.  When a zip comment is present the directory
	may start earlier.  Patch suggested by J�rg Prante
	<joergprante@gmx.de>.

	* java/util/zip/ZipConstants.java: Renamed constants to their SUN
	name, which is are now mentioned in the documentation of the sub
	classes of ZipConstants.  Changed all usages.

	* java/util/zip/ZipEntry.java (STORED): New constant.
	(DEFLATED): Likewise.

2001-10-17  Tom Tromey  <tromey@redhat.com>

	* java/security/Security.java (loadProviders): Added `vendor'
	argument.
	Load both `classpath' and `java.vm.name' providers.

2001-10-17  Tom Tromey  <tromey@redhat.com>

	* gnu/java/security/provider/SHA1PRNG.java (engineNextBytes):
	Rewrote.
	* java/security/SecureRandom.java (setSeed(long)): Don't set seed
	if secureRandomSpi is not initialized.

2001-10-17  Anthony Green  <green@redhat.com>

	* java/security/Security.java (loadProviders): Fix bug in how
	providers are loaded.

2001-10-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/HashMap.java (HashEntry.clone): Removed.
	(HashMap(Map)): Use putAllInternal.
	(clone): Likewise.
	(putAllInternal): New method. Efficient counterpart to putAll which 
	does not call put().	
	* java/util/LinkedHashMap.java (rethread): Removed.
	(putAllInternal): New method. Clear "head" and "tail".
	(addEntry): New argument "callRemove". Don't call removeEldestEntry()
	if callRemove == false. 

2001-10-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/Makefile.am (EXTRA_DIST): Added new file.
	* java/lang/reflect/AccessibleObject.java: New file.

2001-10-14  Tom Tromey  <tromey@redhat.com>

	* java/beans/Makefile.am (EXTRA_DIST): Added new file.
	* java/beans/AppletInitializer.java: New file.

	* java/net/SocketPermission.java (hostport, actions): Now
	private.

2001-10-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Collection.java: Updated javadoc.
	* java/util/Comparator.java: Updated javadoc.
	* java/util/Enumeration.java: Updated javadoc.
	* java/util/Iterator.java: Updated javadoc.
	* java/util/List.java: Updated javadoc.
	* java/util/ListIterator.java: Updated javadoc.
	* java/util/Map.java: Updated javadoc.
	* java/util/RandomAccess.java: New file.
	* java/util/Set.java: Updated javadoc.
	* java/util/SortedMap.java: Updated javadoc.
	* java/util/SortedSet.java: Updated javadoc.

2001-10-13  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/include/macros.wml: fixed missing blockquote 
	affecting status.wml
	* doc/www.gnu.org/status.wml: changed maintainer of java.math to 
	Various
	* doc/www.gnu.org/home.wml: removed link to japhar+classpath doc

2001-10-13  C. Brian Jones <cbj@gnu.org>

	* gnu/classpath/tools: removed and added to cp-tools sister project

2001-10-13  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: added Savannah information

2001-10-13  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/README: updated
	* doc/www.gnu.org/Makefile: add publish target
	* doc/www.gnu.org/announce/Makefile: add publish target
	* doc/www.gnu.org/doc/Makefile: add publish target

2001-10-13  C. Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/home.wml: new file
	* doc/www.gnu.org/status.wml: new file
	* doc/www.gnu.org/announce/announcements.wml: new file
	* doc/www.gnu.org/announce/1990206.wml: new file
	* doc/www.gnu.org/announce/20001120.wml: new file
	* doc/www.gnu.org/announce/20010106.wml: new file
	* doc/www.gnu.org/*.mhtml: removed
	* doc/www.gnu.org/announce/*.mhtml: removed
	* doc/www.gnu.org/doc/*.mhtml: removed
	* doc/www.gnu.org/Makefile: updated to use WML toolset
	* doc/www.gnu.org/announce/Makefile: updated to use WML toolset
	* doc/www.gnu.org/doc/Makefile: updated to use WML toolset
	
2001-10-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/SecurityManager.java (SecurityManager): Now public.

	* java/security/AccessController.java (checkPermission): Now
	throws AccessControlException.
	* java/security/AllPermission.java: Class now final.
	* java/security/Permission.java (getName): Now final.
	(name): Now private.
	(equals): New abstract method.
	* java/security/PermissionCollection.java (linesep): Now private.
	* java/security/Permissions.java: Class now final.
	* java/security/Security.java (Security): New private
	constructor.
	* java/security/UnresolvedPermission.java: Import
	java.security.cert.Certificate.  Class now final.
	* java/security/acl/Group.java: Now extends Principal.
	(isMember): Added Principal argument.
	* java/security/spec/X509EncodedKeySpec.java (getFormat): Now
	final.
	* java/security/spec/PKCS8EncodedKeySpec.java (getFormat): Now
	final.

2001-10-12  Tom Tromey  <tromey@redhat.com>

	* gnu/java/rmi/rmic/RMIC.java (compile): Uncommented; fixed to use
	new Compiler class.
	* gnu/java/rmi/rmic/Makefile.am (EXTRA_DIST): Updated.
	* gnu/java/rmi/rmic/Compile_gcj.java: New file.
	* gnu/java/rmi/rmic/CompilerProcess.java: New file.
	* gnu/java/rmi/rmic/Compiler.java: New file.

2001-10-12  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/zip/DeflaterEngine.java (deflate): Fixed a bug
	in the logic which lead to ArrayIndexOutOfBoundsException.

2001-10-12  Mark Wielaard  <mark@klomp.org>

	* java/lang/Double.java: Partial merge with libgcj
	(serialVersionUID): new private field
	(byteValue): removed, already defined in superclass Number
	(shortValue): likewise
	* java/lang/Float.java: Partial merge with libgcj
	(serialVersionUID): new private field

2001-10-08  Mark Wielaard  <mark@klomp.org>

	* java/net/SocketImpl.java: Merge with libgcj

2001-10-08  Mark Wielaard  <mark@klomp.org>

	* java/net/DatagramSocketImpl.java: Merge with libgcj

2001-10-07  Mark Wielaard  <mark@klomp.org>

	* java/net/URLDecoder.java: Reimplement to take character encoding
	into account.
	* java/net/URLEncoder.java: Ditto

2001-10-06  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedInputStream.java: Merge with libgcj

2001-10-05  Tom Tromey  <tromey@redhat.com>

	* java/text/DecimalFormat.java (format): Use localized minus sign
	when generating exponent; never use `+'.  Use floor to compute
	exponent.

2001-10-05  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/Adler32.java: Merge with libgcj
	* java/util/zip/CRC32.java: Merge with libgcj
	* java/util/zip/CheckedInputStream.java: New file from libgcj
	* java/util/zip/CheckedOutputStream.java: Ditto
	* java/util/zip/Checksum.java: Merge with libgcj
	* java/util/zip/DataFormatException.java: Ditto
	* java/util/zip/ZipException.java: Ditto
	* java/util/zip/Makefile.am: add new classes

2001-10-04  Mark Wielaard  <mark@klomp.org>

	* java/lang/Package.java: Reindent and fix comments
	* java/lang/reflect/Modifier.java: Merge with libgcj

2001-10-03  Mark Wielaard  <mark@klomp.org>

	* java/io/SequenceInputStream.java: Merge with libgcj
	* java/io/StringBufferInputStream.java: Ditto

2001-10-01  Mark Wielaard  <mark@klomp.org>

	* java/lang/InheritableThreadLocal.java (addToHeritage): check if this
	local is already contained in the heritage before adding it.

2001-10-01  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/zip/ZipFile.java: Return -1 in 
	PartialInputStream.read(byte[],int,int) when end of stream reached.
	Reported by Bernd M�sli <bmoesli@esmertec.com>.

2001-10-01  Mark Wielaard  <mark@klomp.org>

	* java/lang/CharSequence.java: Fix javadoc comment.
	* java/lang/StringBuffer.java: Remove extra javadoc author.date block.

2001-09-30  Mark Wielaard  <mark@klomp.org>

	* java/io/FileWriter.java: Merged with libgcj.
	* java/io/FilterInputStream.java: Ditto.
	* java/io/FilterOutputStream.java: Ditto.
	(write (byte[],int,int): Explicitly call write(int) on every byte.
	* java/io/FilterReader.java: Ditto.
	(FilterReader): call super(in.lock).
	* java/io/FilterWriter.java: Merged with libgcj.
	(FilterWriter): call super(in).
	* java/io/Writer.java: Merged with libgcj.
	* java/lang/Compiler.java: Ditto.
	* java/lang/Process.java: Ditto.
	* java/lang/Void.java: Ditto.
	* java/net/ContentHandler.java: Ditto.
	* java/net/DatagramPacket.java: Ditto.
	* java/net/MulticastSocket.java: Merged (almost) with libgcj.
	Note that the contructor super() calls are still different

2001-09-30  Mark Wielaard  <mark@klomp.org>

	* java/io/DataInput.java: Merged with libgcj.
	* java/io/DataOutput.java: Idem.
	* java/io/FilenameFilter.java: Idem.
	* java/io/Serializable.java: Idem. Remove explicit serialVersionUID.
	* java/lang/Cloneable.java: Merged with libgcj.
	* java/lang/Comparable.java: Idem.
	* java/lang/Runnable.java: Idem.
	* java/lang/reflect/Member.java: Idem.
	Note that the values of DECLARED and PUBLIC were switched.
	* java/net/ContentHandlerFactory.java: Merged with libgcj.
	* java/net/FileNameMap.java: Idem.
	* java/net/PlainDatagramSocketImpl.java: Added IP_TTL field.
	* java/net/SocketOptions.java: Removed IP_TTL field. Merged with libgcj.
	* java/net/SocketImplFactory.java: Merged with libgcj.
	* java/net/URLStreamHandlerFactory.java: Idem.

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

	* java/util/IdentityHashMap.java (containsKey): Use getHash.
	(get): Likewise.
	(put): Likewise.
	(remove): Likewise.
	(getHash): New method.
	(tombstone, emptyslot): Now static final.
	(put): Correctly determine when to rehash, and correctly rehash.
	(containsKey, remove): Test against table length with `>='.

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

	* java/io/DataInputStream.java (readChar): Use readFully.
	(readInt): Likewise.
	(readLong): Likewise.
	(readShort): Likewise.
	(readUnsignedShort): Likewise.

2001-09-24  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/String.java (CaseInsensitiveComparator): Add serial UID.

2001-09-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/Hashtable.java (toString): Fix a recently introduced 
	typo/bug.
	(readObject): Remove dead code.
	
	* gnu/java/security/provider/DefaultPolicy.java: New file, from libgcj.
	* java/security: Merge from libgcj. These are mostly formatting fixes, 
	with a few fixes and enhancements.

2001-09-24  John Leuner  <jewel@debian.org>

	* java/net/URLStreamHandler.java (parseURL): added check for file: and file:// URLsadded check for file: and file:// URLs
	
	* java/io/StreamTokenizer.java (nextToken): fixed toLowerCase() call to actually
	change sval 

2001-09-22  John Leuner  <jewel@debian.org>

	* native/jni/awt/gnu_java_awt_image_GdkPixbufDecoder.c: Removed call to
	get_pixbuf to allow code to compile

2001-09-21  C. Brian Jones <cbj@gnu.org>

	* gnu/Makefile.am: removed tools from SUBDIRS
	* gnu/java/awt/image/GdkPixbufDecoder.java: wrapped loadLibrary
	call within if (Configuration.INIT_LOAD_LIBRARY)
	* gnu/java/awt/peer/gtk/GtkToolkit.java: same
	* java/io/File.java: same
	* java/io/FileDescriptor.java: same
	* java/io/FileInputStream.java: same
	* java/io/FileOutputStream.java: same
	* java/io/ObjectInputStream.java: same
	* java/io/ObjectOutputStream.java: same
	* java/io/ObjectStreamClass.java: same
	* java/io/RandomAccessFile.java: same
	* java/lang/Double.java: same
	* java/lang/Float.java: same
	* java/lang/Math.java: same
	* java/lang/Object.java: same
	* java/lang/System.java: same
	* java/lang/reflect/Array.java: same
	* java/math/BigInteger.java: same
	* java/net/InetAddress.java: same
	* java/net/PlainDatagramSocketImpl.java: same
	* java/net/PlainSocketImpl.java: same
	* java/util/ResourceBundle.java: same
	* java/util/TimeZone.java: same
	* vm/reference/java/lang/Throwable.java: remove unused loadLibrary
	call, VMs typically statically link these native methods instead.

2001-09-20  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Makefile.am: Added LinkedHashMap.java.
	* java/util/LinkedHashMap.java: Added new file.
	* java/util/Collections.java (singletonMap): Fix constructor call.
	* java/util/Hashtable.java: Fix up some efficiency issues pointed
	out by others.
	* java/util/HashMap.java: Fix up some efficiency issues, and redo
	the documentation. Add hooks for LinkedHashMap to use.

2001-09-18  John Leuner  <jewel@debian.org>

	* java/util/zip/*.java: Changed headers of files imported from 
	jazzlib to reflect new Classpath home.

2001-09-17  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Collections.java (SynchronizedCollection)
	(SynchronizedSet): Made package visible.
	* java/util/Hashtable.java: More cleanup and documentation. Fix
	synchronization issues.
	(HashEntry): renamed from Entry, to avoid conflict with Map.Entry.
	(clone): Reverted prior change.
	* java/util/HashMap.java (clone): Reverted prior change; as
	pointed out to me, recursion is worse than looping.

2001-09-16  C. Brian Jones  <cbj@gnu.org>

	* gnu/tools/serialver/Main.java: moved to 
	gnu/classpath/tools/SerialVer.java
	* gnu/tools/: removed because it is empty
	* gnu/classpath/Makefile.am: added tools to SUBDIRS
	* gnu/classpath/tools/Makefile.am: new file
	* gnu/classpath/tools/.cvsignore: new file
	* configure.in: update Makefile output
	* lib/standard.omit: avoid compiling gnu/classpath/tools because
	it depends on gnu.bytecode 
	* gnu/classpath/tools/Util.java: new file
	* gnu/classpath/tools/Javap.java: new file
	* gnu/classpath/tools/JavapMain.java: new file
	* gnu/classpath/tools/JavahMain.java: new file
	* gnu/classpath/tools/tester.j: new file, helps test tools
	* gnu/classpath/tools/README: new file

2001-09-15  Eric Blake  <ebb9@email.byu.edu>

	* java/util/Hashtable.java (contains): check for null
	(Hashtable(Map)): more efficient
	(clear): more efficient
	(clone): more efficient, by adding Entry.copy
	* java/util/HashMap.java (clear): more efficient
	(HashMap(Map)): more efficient
	(clone): more efficient, by adding Entry.copy

2001-09-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/File.java (File(String, String)): Correct error in
	yesterday's patch. Thanks to Stuart Ballard.

2001-09-14  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Fixes for specjvm javac benchmark, reports from Gansha Wu:

	* java/util/Hashtable.java (Enumerator): Ensure that if 
	hasMoreElements() returns true, nextElement() will always return
	something even if the table has been modified.

	* java/io/File.java (File(String, String)): Permit a null dirName
	parameter.

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

	* java/util/Properties.java (load): Correctly read \u sequences.
	Report from Anthony Green.

2001-09-09  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/CloneNotSupportedException.java (serialVersionUID):
	make private, so that subclasses do not inherit wrong value
	* java/lang/Object.java: reindent, improve documentation
	* java/lang/Cloneable.java: improve documentation

2001-09-07  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/String.java (CASE_INSENSITIVE_ORDER): implements
	Serializable

2001-09-07  C. Brian Jones <cbj@gnu.org>

	* native/cni: added for CNI native files
	* native/common: added for common JNI/CNI files

2001-09-07  C. Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk: removed
	* native/java.lang: removed
	* native/java.lang.reflect: removed
	* native/java.math: removed
	* native/java.net: removed
	* native/java.util: removed

2001-09-06  Anthony Green  <green@redhat.com>

	* java/util/ResourceBundle.java (tryLocalBundle): Eliminate
	redundant method calls.
	(emptyLocale): New private member.
	(tryBundle): Use emptyLocale.  Remove duplicate code.  Only cache
	exact matches.

2001-09-07  John Leuner  <jewel@debian.org>

	* java/util/zip/*.java: imported the jazzlib code. Should
	all be functional.

2001-09-05  Tom Tromey  <tromey@redhat.com>

	* java/text/DecimalFormat.java (clone): Rewrote.
	(DecimalFormat(DecimalFormat)): Removed.
	* java/text/MessageFormat.java: Merged in old Classpath Javadoc.
	(clone): Rewrote.

	* java/util/Properties.java (load): Use ISO-8859-1 encoding.
	(store): Likewise.

	* java/lang/Character.java: Replaced non-ASCII characters in
	comments.  Report from Etienne M. Gagnon.

	Report from Gansha Wu:
	* java/io/FileOutputStream.java (write(byte[],int,int)): Correctly
	pass `offset' to writeInternal.

	Report from Gansha Wu:
	* java/io/DataOutputStream.java (write(int)): Update `written'.
	(write(byte[],int,int)): Likewise.

	Report from Gansha Wu:
	* java/util/Date.java (weekNames, monthNames): Now final.
	* java/util/Date.java (weekNames, monthNames): Now static.

	* java/text/DateFormatSymbols.java: Updated license info.

2001-09-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/text/MessageFormat.java (setLocale): Don't catch ParseException 
	here, DecimalFormat.applyPattern() does not throw it.
	* java/awt/Component.java (setLocation(Point)): Implemented.
	* gnu/classpath/Configuration.java.in: Clarify comments.

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

	* java/util/IdentityHashMap.java (clone): Return the value.

	* java/util/IdentityHashMap.java (clone): Make a copy of the
	table.

	* java/text/SimpleDateFormat.java
	(SimpleDateFormat(String,DateFormatSymbols)): Call
	computeCenturyStart().
	* gnu/java/locale/LocaleInformation_de.java (word_breaks,
	sentence_breaks, line_breaks): Removed.
	(collation_rules): Use `k,K', not `j,K'.  Don't using leading
	`-'.  Use `0<1', not `0,1'.  Use `9<A', not `9A'.
	* gnu/java/locale/LocaleInformation_nl.java: Likewise.
	* gnu/java/locale/LocaleInformation_en.java: Likewise.
	* java/text/DateFormatSymbols.java: Merged with libgcj.
	* java/text/StringCharacterIterator.java: Reindented and merged
	with libgcj.
	(StringCharacterIterator(String,int,int,int)): Simplified.
	(current): Likewise.
	(next): Likewise.
	(previous): Likewise.
	(last): Likewise.
	(equals): Likewise.
	(setText): Now public.  Also sets all fields.
	* java/text/RuleBasedCollator.java (clone): Rewrote.
	* java/text/Collator.java: Mostly merged with libgcj.
	* java/text/MessageFormat.java: Merged with libgcj.
	* java/text/FieldPosition.java: Reindented.  Merged with libgcj.
	* java/text/ParsePosition.java: Reindented.  Merged with libgcj.
	* java/text/Format.java: Reindented.  Merged with libgcj.
	(parseObject): Doesn't throw exception on error.
	* java/text/CharacterIterator.java: Reindented.
	* java/text/ChoiceFormat.java: Merged with libgcj.
	* gnu/java/text/Makefile.am: New file.
	* gnu/java/Makefile.am (SUBDIRS): Added text.
	* configure.in (AC_OUTPUT): Added gnu/java/text/Makefile.
	* gnu/java/text/BaseBreakIterator.java: New file from libgcj.
	* gnu/java/text/CharacterBreakIterator.java: Likewise.
	* gnu/java/text/LineBreakIterator.java: Likewise.
	* gnu/java/text/SentenceBreakIterator.java: Likewise.
	* gnu/java/text/WordBreakIterator.java: Likewise.
	* java/text/BreakIterator.java: Merged with libgcj.
	* java/text/DefaultBreakIterator.java: Removed.
	* java/text/DecimalFormatSymbols.java: Merged with libgcj.
	* java/text/DateFormat.java: Merged with libgcj.
	* gnu/java/locale/Makefile.am (EXTRA_DIST): Added new file.
	* gnu/java/locale/LocaleInformation_en.java: Removed US-specific
	entries.
	(collation_rules): Use `k,K', not `j,K'.
	* gnu/java/locale/LocaleInformation_en_US.java: New file.
	* java/text/NumberFormat.java: Merged with libgcj.
	* java/text/DecimalFormat.java: Merged with libgcj.

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

	* standard.omit: Don't build java.net.URLClassLoader and the
	java.util.prefs package by default

2001-09-02  Mark Wielaard  <mark@klomp.org>

	* configure.in (AC_OUTPUT): List new Makefiles.
	* gnu/java/Makefile.am (SUBDIRS): Added util.
	* java/util/Makefile.am (SUBDIRS): Added prefs.
	* gnu/java/util/.cvsignore, gnu/java/util/Makefile.am,
	gnu/java/util/prefs/.cvsignore, gnu/java/util/prefs/Makefile.am,
	java/util/prefs/.cvsignore, java/util/prefs/Makefile.am: New files.
	* gnu/java/util/prefs/FileBasedFactory.java,
	gnu/java/util/prefs/MemoryBasedFactory.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 class files.

2001-09-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/IllegalThreadStateException.java,
	java/lang/InstantiationException.java: Minor comment tweaks to
	satisfy libgcj `classes.pl' script.

2001-09-01  Tom Tromey  <tromey@redhat.com>

	More conformance with spec; plus merge with libgcj:
	* java/lang/SecurityManager.java (checkSecurityAccess):
	Implemented.
	(SecurityManager): New constructor.
	(checkPermission(Permission,Object)): New method.

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

	* java/util/zip/ZipException.java: Re-merged with libgcj.

	* java/util/zip/Checksum.java: Re-merged with libgcj.
	* java/util/zip/DataFormatException.java: Likewise.

	* java/net/NetPermission.java: Re-merged with libgcj.
	* java/net/SocketPermission.java: Likewise.

	* java/lang/ThreadGroup.java: Re-merged with libgcj.

	* java/io/InvalidClassException.java: Re-merged from libgcj
	(indentation cleanup).

	* java/io/BufferedReader.java (DEFAULT_BUFFER_SIZE): Default to 8k.

2001-08-31  C. Brian Jones <cbj@gnu.org>

	* java/io/BufferedReader.java (DEFAULT_BUFFER_SIZE): Restored.
	(BufferedReader): Use it.
	* java/io/LineNumberReader.java: comment change to note buffer size

	Uncertain about clone() implementations given JDK 1.4 docs
	* java/util/AbstractMap.java (clone): new method to conform to API
	* java/util/IdentityHashMap.java (clone): don't throw
	CloneNotSupportedException

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

	* java/io/PipedWriter.java (write): Changed argument to `int'.

	* java/util/Comparator.java (equals): Added.

	* java/beans/VetoableChangeSupport.java: Updated copyright
	header.

	* java/util/ResourceBundle.java (getBundle): Now synchronized.

	Merge with libgcj:
	* java/util/StringTokenizer.java (countTokens): Replaced with
	libgcj implementation.
	* java/util/Locale.java (Locale): Don't intern values.  Convert
	values to canonical case.
	(convertLanguage): Likewise.
	Class now final.
	(getAvailableLocales): Fixed indentation.
	(equals): Likewise.
	(writeObject): Now synchronized.  Restore hashcode when done.
	(hashCode): Now synchronized.

	* java/util/Random.java: Fixed keyword ordering.

	* java/io/ByteArrayOutputStream.java: Updated copyright header.

	* java/io/ByteArrayInputStream.java: Merged with libgcj.

2001-08-30  Tom Tromey  <tromey@redhat.com>

	Re-merged classes with libgcj:
	* java/io/PipedReader.java (ready): Throw IOException if pipe
	closed.
	* java/io/BufferedReader.java (mark, reset, ready, read, skip):
	Perform checkStatus check inside synchronized block.

2001-08-27  Tom Tromey  <tromey@redhat.com>

	* java/rmi/activation/Activatable.java,
	java/rmi/activation/ActivateFailedException.java,
	java/rmi/activation/ActivationDesc.java,
	java/rmi/activation/ActivationException.java,
	java/rmi/activation/ActivationGroup.java,
	java/rmi/activation/ActivationGroupDesc.java,
	java/rmi/activation/ActivationGroupID.java,
	java/rmi/activation/ActivationID.java,
	java/rmi/activation/ActivationInstantiator.java,
	java/rmi/activation/ActivationMonitor.java,
	java/rmi/activation/ActivationSystem.java,
	java/rmi/activation/Activator.java,
	java/rmi/activation/UnknownGroupException.java,
	java/rmi/activation/UnknownObjectException.java,
	java/rmi/AccessException.java,
	java/rmi/AlreadyBoundException.java,
	java/rmi/ConnectException.java, java/rmi/ConnectIOException.java,
	java/rmi/MarshalException.java, java/rmi/MarshalledObject.java,
	java/rmi/Naming.java, java/rmi/NoSuchObjectException.java,
	java/rmi/NotBoundException.java,
	java/rmi/RMISecurityException.java,
	java/rmi/RMISecurityManager.java, java/rmi/Remote.java,
	java/rmi/RemoteException.java, java/rmi/ServerError.java,
	java/rmi/ServerException.java,
	java/rmi/ServerRuntimeException.java,
	java/rmi/StubNotFoundException.java,
	java/rmi/UnexpectedException.java,
	java/rmi/UnknownHostException.java,
	java/rmi/UnmarshalException.java, java/rmi/dgc/DGC.java,
	java/rmi/dgc/Lease.java, java/rmi/dgc/VMID.java,
	java/rmi/registry/LocateRegistry.java,
	java/rmi/registry/Registry.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/ExportException.java,
	java/rmi/server/LoaderHandler.java,
	java/rmi/server/LogStream.java, java/rmi/server/ObjID.java,
	java/rmi/server/Operation.java,
	java/rmi/server/RMIClassLoader.java,
	java/rmi/server/RMIClientSocketFactory.java,
	java/rmi/server/RMIFailureHandler.java,
	java/rmi/server/RMIServerSocketFactory.java,
	java/rmi/server/RMISocketFactory.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteObject.java, java/rmi/server/RemoteRef.java,
	java/rmi/server/RemoteServer.java,
	java/rmi/server/RemoteStub.java,
	java/rmi/server/ServerCloneException.java,
	java/rmi/server/ServerNotActiveException.java,
	java/rmi/server/ServerRef.java, java/rmi/server/Skeleton.java,
	java/rmi/server/SkeletonMismatchException.java,
	java/rmi/server/SkeletonNotFoundException.java,
	java/rmi/server/SocketSecurityException.java,
	java/rmi/server/UID.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/rmi/server/Unreferenced.java, gnu/java/rmi/dgc/DGCImpl.java,
	gnu/java/rmi/dgc/DGCImpl_Skel.java,
	gnu/java/rmi/dgc/DGCImpl_Stub.java,
	gnu/java/rmi/registry/RegistryImpl.java,
	gnu/java/rmi/registry/RegistryImpl_Skel.java,
	gnu/java/rmi/registry/RegistryImpl_Stub.java,
	gnu/java/rmi/rmic/RMIC.java, gnu/java/rmi/rmic/TabbedWriter.java,
	gnu/java/rmi/server/ProtocolConstants.java,
	gnu/java/rmi/server/RMIDefaultSocketFactory.java,
	gnu/java/rmi/server/RMIHashes.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/RMIObjectOutputStream.java,
	gnu/java/rmi/server/UnicastConnection.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRef.java,
	gnu/java/rmi/server/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastRemoteStub.java,
	gnu/java/rmi/server/UnicastServer.java,
	gnu/java/rmi/server/UnicastServerRef.java: RMI implementation from
	Kaffe.  Relabelled classes to fit into Classpath tree.
	* configure.in (AC_OUTPUT): List new Makefiles.
	* gnu/java/rmi/server/Makefile.am: New file.
	* gnu/java/rmi/rmic/Makefile.am: New file.
	* gnu/java/rmi/registry/Makefile.am: New file.
	* gnu/java/rmi/dgc/Makefile.am: New file.
	* gnu/java/rmi/Makefile.am: New file.
	* gnu/java/Makefile.am (SUBDIRS): Added rmi.
	* java/rmi/server/Makefile.am: New file.
	* java/rmi/registry/Makefile.am: New file.
	* java/rmi/dgc/Makefile.am: New file.
	* java/rmi/activation/Makefile.am: New file.
	* java/rmi/Makefile.am: New file.
	* java/Makefile.am (SUBDIRS): Added rmi.

2001-08-21  Jeff Sturm  <jsturm@one-point.com>

	* java/util/IdentityHashMap.java (get): Fix off-by-one error.
	(put): Likewise.

2001-08-19  John Leuner  <jewel@debian.org>

	* java/lang/Math.java (various methods): applied fixes from Eric Blake 

2001-08-17  John Leuner  <jewel@debian.org>

	* vm/reference/java/lang/Runtime.java (setSecurityManager): Fixed reference to wrong 'securityManager'

2001-08-15  Tom Tromey  <tromey@redhat.com>

	* java/util/IdentityHashMap.java: New file.
	* java/util/Makefile.am (EXTRA_DIST): Added IdentityHashMap.java.

2001-08-11  John Leuner  <jewel@debian.org>

	* java/awt/ActiveEvent.java: added this file (new interface)
	* gnu/java/awt/peer/gtk/Test.java (new MouseAdapter): changed event name from e to me
	* gnu/java/awt/peer/gtk/TestAWT.java:  fixed ambiguous references to getSize()
	and getBackground()
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (show): changed method to not use
	AWT 1.0 Event

2001-08-11  John Leuner  <jewel@debian.org>

	* java/awt/font/TextHitInfo.java: added this file (no implementation)
	* java/awt/Window.java (postEvent): commented out this 1.0 method
	* java/awt/Toolkit.java (getMenuShortcutKeyMask): Just guessed VK_CONTROL instead
	of Event.CTRL_MASK
	* java/awt/peer/PopupMenuPeer.java (show): doesn't use 1.0 Event anymore 
	* java/awt/PopupMenu.java (show): doesn't create 1.0 Event anymore 
	* java/awt/MenuContainer.java (postEvent): commented out this 1.0 method
	* java/awt/MenuComponent.java (postEvent): commented out this 1.0 method
	* java/awt/Container.java (deliverEvent): commented out this 1.0 method
	* java/awt/Component.java (getFocus): commented out this 1.0 method
	(lostFocus): idem
	(handleEvent): idem
	(action): idem
	(deliverEvent): idem
	(postEvent): idem
	(keyDown): idem
	(keyUp): idem
	(mouseDown): idem
	(mouseUp): idem
	(mouseEnter): idem
	(mouseExit): idem
	(mouseDrag): idem
	(mouseMove): idem
	* java/awt/AWTEvent.java (AWTEvent(Event)): commented out this constructor

2001-08-11  John Leuner  <jewel@debian.org>

	* java/net/URLConnection.java (getDefaultUseCaches): made non-static
	(setDefaultUseCaches): made non-static

2001-08-07  John Leuner  <jewel@debian.org>

	* native/jni/java_lang_Double.c (Java_java_lang_Double_initIDs): Fixed signature for isNaN
	changed GetFieldID to GetStaticFieldID for pos and neg infinity

	* native/jni/java_lang_Double.c (Java_java_lang_Double_toString): added casts to jlong for POS INF check
	
	* native/jni/java_lang_Double.c (Java_java_lang_Double_parseDouble0): added conditional for KISSME JVM to use normal strtod

2001-08-05  Tom Tromey  <tromey@redhat.com>

	* java/io/StringWriter.java: Merged with libgcj.
	* java/io/InputStream.java: Merged with libgcj.
	* java/io/OutputStream.java: Merged with libgcj.
	* java/io/PushbackInputStream.java: Merged with libgcj.
	* java/io/CharArrayReader.java: Merged with libgcj.
	* java/io/CharArrayWriter.java: Merged with libgcj.

2001-08-05  John Leuner  <jewel@debian.org>

	* java/lang/String.java (copyValueOf (char[],int,int)): Added this method
	* java/lang/String.java (copyValueOf (char[])): Added this method
	
2001-08-03  Tom Tromey  <tromey@redhat.com>

	* vm/reference/java/lang/reflect/Constructor.java: Comment fix.
	From Patrick Doyle.

2001-07-30  Tom Tromey  <tromey@redhat.com>

	* java/util/Date.java (getDay): Fix return value.

	* java/lang/Integer.java (toString(int,int)): Handle case where
	radix is out of range.

	* java/lang/Integer.java (toString(int,int)): Don't bother to
	optimize.

	* java/io/File.java (renameTo): Don't change `path'.  From Gansha Wu.
	(list): Apply the filter.

2001-07-30  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/GregorianCalendar.java (GregorianCalendar): Call
	setTimeInMillis() to set the default/current time.

2001-07-26  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/Calendar.java (set): Never recompute fields here. They 
	will already be set if someone set time explicitly, and it can cause
	problems to do so. Don't invalidate AM_PM setting if HOUR is set.
	* java/util/GregorianCalendar.java (computeTime): Don't ignore an
	HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is 
	sane.
	* java/text/SimpleDateFormat.java (defaultCentury): New field.
	(readObject): Call set2DigitYearStart if appropriate so that 
	defaultCentury is calculated.
	(SimpleDateFormat): Don't bother clearing calendar here. Call
	computeCenturyStart().
	(set2DigitYearStart): Calculate and set defaultCentury.
	(format): Don't clone the calendar. Use "calendar" not "theCalendar"
	everywhere.
	(parse): Likewise. If the pattern is "y" or "yy" and it found exactly
	2 numeric digits, use the 80-20 heuristic to parse the value into a
	default century based on defaultCenturyStart.
	(computeCenturyStart): Rewritten. Call set2DigitYearStart().

2001-07-26  R. S. Veldema
	* java/awt/MediaEntry.java: LOADING, ABORTED, ERRORED, COMPLETE,
	LOADSTARTED, DONE access changed from private to public

2001-07-26  C. Brian Jones
	* vm/reference/java/lang/Runtime.java (Runtime): use 
	File.pathSeparatorChar instead of ':'

2001-07-26  Patrick Doyle
	* vm/reference/java/lang/Runtime.java (Runtime): deal with
	null library path
	* vm/reference/java/lang/Class.java: documentation fix

2001-07-26  Julian Scheid <julian.scheid@sektor37.de>

	* native/jni/awt/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues):
	changed argument type from int to jint
	* gnu/java/locale/LocaleInformation_en.java: sentence_breaks 
	updated
	* gnu/java/locale/LocaleInformation_nl.java: sentence_breaks 
	updated
	* gnu/java/locale/LocaleInformation_de.java: Added word_breaks, 
	sentence_breaks, and line_breaks.

2001-07-25  Etienne M. Gagnon <etienne.gagnon@uqam.ca>

	* native/jni/java_io_FileDescriptor.c: added 
	#include "java_io_FileDescriptor.h"
	* native/jni/java_io_ObjectInputStream.c: return 0 changed to 
	return NULL
	* native/jni/javaio.c (_javaio_read): change 0 to JNI_FALSE
	* native/jni/javaio.h: add #include <stddef.h>
	* native/jni/java_lang_reflect_Array.c: added #include <stddef.h>
	* native/jni/java_math_BigInteger.c: modify #include 
	statements for compilation
	* native/jni/jcl.c: #include <stdio.h>
	* native/lib/jcl.c: #include <stdio.h>
	* native/jni/jcl.h: #include <stddef.h>
	* native/lib/jcl.h: #include <stddef.h>

2001-07-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/Short.java: Reindented.
	(digits): Removed.
	(toString): From libgcj.
	(toString(short,int)): Removed.
	(parseStrict(short,int,boolean)): Removed.
	(parseStrict(String,int)): From libgcj.
	(decode): Likewise.
	* java/lang/Number.java: Indentation fixes.
	(serialVersionUID): Define.
	* java/lang/Byte.java: Reindented.
	(digits): Removed.
	(toString): From libgcj.
	(toStringStatic): Removed.
	(parseByte(String,int,boolean)): Removed.
	(paresByte(String,int)): From libgcj.
	(decode): Likewise.
	* java/lang/Long.java: Reindented.
	(toUnsignedString): From libgcj.
	(toString): Likewise.
	(parseLong): Likewise.
	(compareTo): Likewise
	(decode): Likewise.  Now public.
	* java/lang/String.java (valueOf): Use two-arg toString.
	* java/lang/Integer.java: Reindented; merged with libgcj.
	(digits): Removed.
	(serialVersionUID): Now private.
	(MIN_VALUE, MAX_VALUE): Updated docs.
	(decode): From libgcj.
	(parseInt): Likewise.
	(toUnsignedString): Likewise.
	(toString): Likewise.
	(compareTo): Likewise.

2001-07-17  Mark Wielaard  <mark@klomp.org>
	    Eric Blake  <ebb9@email.byu.edu>

	* java/lang/Boolean.java (Boolean String): equalsIgnoreCase() already
	checks for null.
	(value): Make field final
	* java/lang/Byte.java (value): idem
	* java/lang/Character.java (value): idem
	* java/lang/Double.java (value): idem
	* java/lang/Float.java (value): idem
	* java/lang/Integer.java (value): idem
	* java/lang/Long.java (value): idem
	* java/lang/Short.java (value): idem

2001-07-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/util/LinkedList.java (clone): Clear the copy list with clear(), 
	not by setting its size field.

2001-07-17  Nic Ferrier <nferrier@tapsellferrier.co.uk>

	* java/net/URLClassLoader.java (findResource): use URLConnection.connect()
	to test if the connection is really valid

2001-07-13  John Leuner  <jewel@debian.org>

	* java/text/DecimalFormat.java: Fixed duplicate 'package java.text;' line
	* javax/swing/plaf/UIResource.java: changed 'abstract interface' to 'interface'
	* javax/accessibility/AccessibleAction.java: idem
	* javax/accessibility/AccessibleComponent.java: idem
	* javax/accessibility/AccessibleSelection.java: idem
	* javax/accessibility/Accessible.java: idem
	* javax/accessibility/AccessibleValue.java: idem
	* javax/accessibility/AccessibleHypertext.java: idem
	* javax/accessibility/AccessibleText.java: idem
	* java/security/cert/X509Extension.java: idem
	* java/security/spec/KeySpec.java: idem
	* java/security/spec/AlgorithmParameterSpec.java: idem
	* com/sun/javadoc/ClassDoc.java: idem
	* com/sun/javadoc/Doc.java: idem
	* com/sun/javadoc/ProgramElementDoc.java: idem
	* com/sun/javadoc/Type.java: idem
	* com/sun/javadoc/MemberDoc.java: idem
	* com/sun/javadoc/ExecutableMemberDoc.java: idem
	* com/sun/javadoc/PackageDoc.java: idem
	* com/sun/javadoc/MethodDoc.java: idem
	* com/sun/javadoc/DocErrorReporter.java: idem
	* com/sun/javadoc/Tag.java: idem
	* com/sun/javadoc/ParamTag.java: idem
	* com/sun/javadoc/RootDoc.java: idem
	* com/sun/javadoc/SerialFieldTag.java: idem
	* com/sun/javadoc/ThrowsTag.java: idem
	* com/sun/javadoc/Parameter.java: idem
	* com/sun/javadoc/ConstructorDoc.java: idem
	* com/sun/javadoc/SeeTag.java: idem
	* com/sun/javadoc/FieldDoc.java: idem

2001-07-13  John Leuner <jewel@debian.org>

	* java/text/DecimalFormat.java: Added a skeleton (ie non-working
	and incomplete) version to allow MessageFormat to compile.

2001-07-13  John Leuner <jewel@debian.org>

	* java/net/SocketOptions.java: changed 'abstract interface' to 'interface'
	* java/net/URLStreamHandlerFactory.java: idem
	* java/net/SocketImplFactory.java: idem
	* java/net/ContentHandlerFactory.java: idem
	* java/net/FileNameMap.java: idem
	* java/lang/Runnable.java: idem
	* java/lang/Cloneable.java: idem
	* java/lang/Comparable.java: idem
	* java/io/DataOutput.java: idem
	* java/io/ObjectInput.java: idem
	* java/io/ObjectInputValidation.java: idem
	* java/io/ObjectOutput.java: idem
	* java/io/DataInput.java: idem
	* java/io/Externalizable.java: idem
	* java/io/Serializable.java: idem
	* java/io/FilenameFilter.java: idem

2001-07-10  Mark Wielaard <mark@klomp.org>

	* java/lang/CharSequence.java: new 1.4 interface
	* java/lang/String.java: implements Serializable, CharSequence
	(contentEquals StringBuffer): new 1.4 method
	(subSequence): new 1.4 method needed for CharSequence
	* java/lang/StringBuffer.java: implements CharSequence
	(subSequence): new 1.4 method needed for CharSequence

2001-07-10  Mark Wielaard <mark@klomp.org>

	* java/lang/Boolean.java (valueOf boolean): new 1.4 method
	(toString boolean): idem
	(valueOf String): return one of the predefined Boolean instances
	* java/lang/Double.java (compare double double): new 1.4 method
	(compareTo Double): call new method
	* java/lang/Float.java (compare float float): new 1.4 method
	(compareTo Float): call new method

2001-07-10  Mark Wielaard <mark@klomp.org>

	* java/io/File.java (String,String constructor): compile fix

2001-07-05  Julian Scheid <julian.scheid@sektor37.de>

	* com/sun/javadoc/Doc.java (getRawCommentText): previously
	mistakenly said setRawCommentText.
	* com/sun/javadoc/DocErrorReporter.java (printNotice): missing
	argument has been added.

2001-07-05  Gansha Wu <gansha.wu@intel.com>

	* java/net/PlainSocketImpl.java (read): remove synchronized
	keyword to avoid deadlock between readers and writers using the
	same socket.
	(write): remove synchronized keyword to avoid deadlock betweeen 
	readers and writers using the same socket.
	* java/io/File.java (File): in File (String, String) ignore null
	first argument which then assumes current working directory.
	
2001-06-25  Takashi Okamoto <tora@debian.org>

	* gnu/java/io/encode/EncoderUTF8.java (convertToBytes): create 
	valid UTF8 encoding.

2001-06-25  Brian Jones <cbj@gnu.org>

	* native/jni/mprec.h: new file from gcj
	* native/jni/mprec.c: new file from gcj
	* native/jni/fdlibm.h: new file from gcj
	* native/jni/ieeefp.h: new file from gcj
	* native/jni/java-assert.h: new file from gcj
	* native/jni/dtoa.c: new file from gcj
	* native/jni/jcl.c: copy of file in native/jni/lib/
	* native/jni/jcl.h: copy of file in native/jni/lib/
	* acconfig.h: added HAVE_INT32_DEFINED and HAVE_BSD_INT32_DEFINED
	* doc/hacking.texinfo: fixed typo
	* configure.in: rename --enable-libgcj-debug to --enable-debug.
	Created new option --enable-load-library potentially to be used
	to limit all System.loadLibrary() calls in class initializers.
	Added more header checks and define HAVE_INT32_DEFINED
	or HAVE_BSD_INT32_DEFINED similarly to gcj.  Renamed libgcj-debug
	to the neutral sounding debug.  Checks for more headers.
	* gnu/classpath/Configuration.java.in: INIT_LOAD_LIBRARY added.
	Should be helpful for more directly using classpath code in gcj.
	* TODO: added URL to javadoc docs for writing serial tags
	* java/lang/Double.java: merged with gcj version, credit to 
	Andrew Haley.
	(byteValue): added missing function
	(shortValue): added missing function
	(compareTo): properly return 0 if both values are NaN
	* java/lang/Float.java: merged with gcj version, credit to 
	Andrew Haley.
	(Float): removed NullPointerException from throws clause
	(toString): calls Double.toString
	(valueOf): removed NullPointerException from throws clause
	(floatToRawIntBits): new native method
	(parseFloat): removed NullPointerException from throws clause.
	Calls Double.parseDouble now.
	* native/jni/java_lang_Float.c (*): aligned with gcj implementation
	* native/jni/java_lang_Double.c (*): aligned with gcj implementation
	* lib/Makefile.am: changed to handle separate builddir
	* lib/gen-classlib.sh.in: changed to handle separate builddir
	* lib/mkdep.pl.in: changed to handle separate builddir
	* lib/standard.omit: changed to handle regex of separate builddir
	* native/jni/Makefile.am: include $(top_builddir)/include instead
	of $(top_srcdir).  Additions to javalang shared library.
	* native/jni/awt/Makefile.am: include $(top_builddir)/include
	instead of $(top_srcdir).
	
2001-06-13  Tom Tromey  <tromey@redhat.com>

	* java/util/Date.java (toLocaleString): Deprecated.
	(toGMTSTring): Likewise.
	(parse): Likewise.
	(skipParens, parseTz, parseMonth, parseDayOfWeek, parse): New
	methods from libgcj.

2001-06-04  Tom Tromey  <tromey@redhat.com>

	* java/security/PublicKey.java: Extend Key.
	* java/security/PrivateKey.java: Extend Key.

2001-05-31  Patrik Reali  <reali@inf.ethz.ch>

	* vm/reference/java/lang/Thread.java: Implements Runnable.

2001-05-31  Tom Tromey  <tromey@redhat.com>

	* java/sql/DriverManager.java (getDrivers): Handle case where
	driver's class loader is null.  From Corey Minyard.

2001-05-16  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (parse): Handle non-dst time
	zones.

2001-05-15  Tom Tromey  <tromey@redhat.com>

	* java/util/GregorianCalendar.java (computeTime): Only call
	getTimeZone() once.

2001-05-14  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (parse): Clear DST_OFFSET and
	ZONE_OFFSET just before computing the time.

2001-05-10  Shane Nay  <shane@minirl.com>

	* java/awt/Toolkit.java (getDefaultToolkit): Use
	default_toolkit_name.

2001-05-10  Tom Tromey  <tromey@redhat.com>

	* java/text/SimpleDateFormat.java (computeCenturyStart): New
	method.
	(defaultCenturyStart): Use it.
	(readObject): Likewise.
	(SimpleDateFormat): Clear the calendar.  Set the grouping on the
	number format.
	(parse): Copy the calendar before modifying it.  Correctly handle
	the time zone.

	* java/util/Calendar.java (clear): Set field value(s) to 0.

2001-05-10  Jeff Sturm  <jsturm@one-point.com>

	* Calendar.java (get): Clear areFieldsSet if requested field
	is not set.
	(set): Unset fields that depend on new value.

2001-05-10  Tom Tromey  <tromey@redhat.com>

	* java/util/GregorianCalendar.java (getLinearTime): Correctly
	handle case when this year is a leap year but we haven't seen the
	leap day yet.
	(getLinearDay): Likewise.
	(cleanUpAfterRoll): Now private.

2001-05-08  Tom Tromey  <tromey@redhat.com>

	* java/util/GregorianCalendar.java (bundleName): Use `.', not `/',
	as separator.

2001-04-20  J. Russell Smyth  <drfish@uswest.net>

	* java/math/BigInteger.java (forEachDigit): Corrected
	ArrayIndexOutOfBounds exception.

	* gnu/java/io/decode/DecoderEightBitLookup.java (convertToChars):
	Corrected table lookup index.

	* native/java.lang/Double.c (toString): Corrected format
	specifiers for sprintf call to give better precision.

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

	* native/java.lang/Float.c (Java_java_lang_Float_toString): Fixed
	first argument to sprintf.

2001-04-20  Warren Levy  <warrenl@redhat.com>

	* java/text/SimpleDateFormat.java
	(indexInArray): Removed private method.
	(processYear): Removed private method.
	(parseLenient): Removed private method.
	(parseLeadingZeros): Removed private method.
	(parseStrict): Removed private method.
	(expect): Added new private method from libgcj.
	(parse): Merge with libgcj version with minor fixes.

2001-04-18  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/Random.java (next): Fixed the calculation to make it 
	fully Sun compatible.

2001-04-15  Mark Wielaard  <mark@klomp.org>

	* javax/accessibility/AccessibleText.java (getAfterIndex, getAtIndex,
	getBeforeIndex, getCharacterAttribute, getCharacterBounds,
	getIndexAtPoint): Added missing identifiers.
	* javax/accessibility/AccessibleValue.java
	(setCurrentAccessibleValue): idem

2001-04-15  Ian D. Stewart  <idstewart@softhome.net>

	* javax/accessibility/AccessibleComponent.java (getAccessibleAt): Added
	identifier 'point' to method declaration.

2001-03-24  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/HashMap.java (HashMap): If 0 is given for initialCapacity 
	paramater, bump it to 1.
	* java/util/Hashtable.java (Hashtable): Likewise.

2001-03-19  Mark Wielaard  <mark@klomp.org>

	* java/lang/ExceptionInInitializerError.java: print classname for target
	exception
	* java/lang/reflect/InvocationTargetException.java: idem

2001-03-19  Mark Wielaard  <mark@klomp.org>

	* java/net/URLClassLoader.java: new 1.2 class
	* lib/standard.omit: add URLClassLoader.java

2001-03-11  Mark Wielaard  <mark@klomp.org>

	* java/io/CharConversionException.java: merged with libgcj
	* java/io/EOFException.java: idem
	* java/io/FileNotFoundException.java: idem
	* java/io/IOException.java: idem
	* java/io/InterruptedIOException.java: idem
	* java/io/ObjectStreamException.java: idem
	* java/io/OptionalDataException.java: idem
	* java/io/StreamCorruptedException.java: idem
	* java/io/SyncFailedException.java: idem
	* java/io/UTFDataFormatException.java: idem
	* java/io/UnsupportedEncodingException.java: idem
	* java/lang/AbstractMethodError.java: idem
	* java/lang/ArithmeticException.java: idem
	* java/lang/ArrayIndexOutOfBoundsException.java: idem
	* java/lang/ArrayStoreException.java: idem
	* java/lang/ClassCastException.java: idem
	* java/lang/ClassCircularityError.java: idem
	* java/lang/ClassFormatError.java: idem
	* java/lang/CloneNotSupportedException.java: idem
	* java/lang/Error.java: idem
	* java/lang/Exception.java: idem
	* java/lang/ExceptionInInitializerError.java: idem
	* java/lang/IllegalAccessError.java: idem
	* java/lang/IllegalAccessException.java: idem
	* java/lang/IllegalArgumentException.java: idem
	* java/lang/IllegalMonitorStateException.java: idem
	* java/lang/IllegalStateException.java: idem
	* java/lang/IllegalThreadStateException.java: idem
	* java/lang/IncompatibleClassChangeError.java: idem
	* java/lang/IndexOutOfBoundsException.java: idem
	* java/lang/InstantiationError.java: idem
	* java/lang/InstantiationException.java: idem
	* java/lang/InternalError.java: idem
	* java/lang/InterruptedException.java: idem
	* java/lang/LinkageError.java: idem
	* java/lang/NegativeArraySizeException.java: idem
	* java/lang/NoClassDefFoundError.java: idem
	* java/lang/NoSuchFieldError.java: idem
	* java/lang/NoSuchFieldException.java: idem
	* java/lang/NoSuchMethodError.java: idem
	* java/lang/NoSuchMethodException.java: idem
	* java/lang/NullPointerException.java: idem
	* java/lang/NumberFormatException.java: idem
	* java/lang/OutOfMemoryError.java: idem
	* java/lang/RuntimeException.java: idem
	* java/lang/SecurityException.java: idem
	* java/lang/StackOverflowError.java: idem
	* java/lang/StringIndexOutOfBoundsException.java: idem
	* java/lang/ThreadDeath.java: idem
	* java/lang/UnknownError.java: idem
	* java/lang/UnsatisfiedLinkError.java: idem
	* java/lang/UnsupportedOperationException.java: idem
	* java/lang/VerifyError.java: idem
	* java/lang/VirtualMachineError.java: idem
	* java/lang/reflect/InvocationTargetException.java: idem
	* java/net/BindException.java: idem
	* java/net/ConnectException.java: idem
	* java/net/MalformedURLException.java: idem
	* java/net/NoRouteToHostException.java: idem
	* java/net/ProtocolException.java: idem
	* java/net/SocketException.java: idem
	* java/net/UnknownHostException.java: idem
	* java/net/UnknownServiceException.java: idem
	* java/text/ParseException.java: idem

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

	* java/io/ObjectStreamClass.java (setUID): Don't write interface
	info for array classes.

2001-03-06  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/TreeSet.java (writeObject): Use a for-loop instead of
	Iterator.hasNext().

2001-03-05  Jochen Hoenicke  <jochen@gnu.org>

	* java/util/TreeMap.java (writeObject): Use defaultWriteObject()
	instead of the new JDK1.2 API.  This is simpler and makes 
	back-porting the classes to JDK1.1 trivial.
	(readObject): likewise.
	* lib/mkcollections.pl.in (mymkdir): Give the permission parameter 
	to mkdir.  Simplified the method.
	(convert): Removed the hacks to convert the JDK1.2 api to 1.1, as 
	they are no longer necessary.

2001-02-22  Bryce McKinlay  <bryce@albatross.co.nz>

	Fix for PR java/2040:
	* java/util/HashMap.java (HashMap): Don't throw exception for 
	loadFactor > 1. Add exception messages.
	* java/util/Hashtable.java (Hashtable): Likewise.

2001-02-21  Bryce McKinlay  <bryce@albatross.co.nz>

	Disable libgcjx by default.
	* configure.in: Add support for --enable-java-awt configure option. 
	Use --enable-java-awt=xlib to build the xlib peers (libgcjx).
	* Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X.
	* Makefile.in: Rebuilt.
	* configure: Rebuilt.

2001-02-20  Jochen Hoenicke <jochen@gnu.org>

	* scripts/timezones.pl (parseOffset): Parse negative times
	correctly. (parseTime): Likewise.
	Adapted to new indentation in TimeZone.java.
	Read in tzabbrevs.  Improved time zone sort order.
	* scripts/tzabbrevs: New file containing abbreviated timezone as
	specified in the JCL.  Corresponds to the change from Warren Levy
	from 2001-01-09.
	* java/util/TimeZone.java: Rebuild Timezone database from
	tzdata2000h.

2001-02-20  Tom Tromey  <tromey@redhat.com>

	* java/io/PipedWriter.java (flush): Throw exception if stream
	closed.
	* java/io/BufferedWriter.java (close): Clear `buffer'.
	(flush): Throw IOException if stream is closed.
	(write): Likewise.

2001-02-16  Tom Tromey  <tromey@cygnus.com>

	* java/lang/ThreadGroup.java (activeCount): Only include threads
	which are alive.
	(enumerate): Likewise.

2001-02-18  Mark Wielaard <mark@klomp.org>

	* java/util/ArrayList.java: Remove RCS keywords from comments
	* java/util/BasicMapEntry.java: idem
	* java/util/Dictionary.java: idem
	* java/util/HashMap.java: idem
	* java/util/HashSet.java: idem
	* java/util/Hashtable.java: idem
	* java/util/TreeMap.java: idem
	* java/util/TreeSet.java: idem

	* java/util/Collection.java: reindent

	* java/util/ConcurrentModificationException.java: merge with libgcj
	* java/util/EmptyStackException.java: idem
	* java/util/Enumeration.java: idem
	* java/util/EventListener.java: idem
	* java/util/MissingResourceException.java: idem
	* java/util/NoSuchElementException.java: idem
	* java/util/Observable.java: idem
	* java/util/Observer.java: idem
	* java/util/Stack.java: idem
	* java/util/TooManyListenersException.java: idem

	* java/util/DoubleEnumeration.java: removed
	* java/util/PropertyResourceBundle.java:
	import gnu.java.util.DoubleEnumeration

2001-02-16  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/io/BlockDataException.java: Removed.
	* java/io/ObjectInputStream.java (readObject): Throw 
	StreamCorruptedException, not BlockDataException.

	* java/util/TreeSet.java (clone): Made subclass safe, use 
	super.clone(), not new.
	* java/util/TreeMap.java (clone): Likewise.

	* java/util/TreeMap.java (nil): Made non-final.
	(clone): Create new sentinal for copy.

	* java/util/HashSet.java (clone): Made subclass safe, use 
	super.clone(), not new.

2001-02-15  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/HashMap.java: Rewritten.
	* java/util/Hashtable.java: Rewritten based on new HashMap code.
	* java/util/TreeMap.java: Rewritten.
	* java/util/Bucket.java: Deleted.
	* java/util/BasicMapEntry.java: Remove unneccessary comments. 
	(equals): Simplified. Made final.
	(getKey): Made final.
	(getValue): Likewise.
	(toString): New method.
	* java/util/Collections.java (search): Use a for-loop, not iterator
	hasNext().
	(copy): Use a for-loop. Throw an IndexOutOfBoundsException if run out 
	of elements in source.
	(max): Use a for-loop.
	(min): Ditto.
	(reverse): Keep track of positions instead of using Iterator's 
	nextIndex() and previousIndex().
	(shuffle(List)): Initialize defaultRandom if required using 
	double-check thread safety idiom. Call two-argument shuffle method 
	using defaultRandom.
	(defaultRandom): New field.
	(shuffle(List, Random)): Use a for-loop. Keep track of pos instead of
	using previousIndex() and nextIndex().
	(singletonMap(iterator)): Use a HashMap.Entry, not BasicMapEntry.
	(ReverseComparator): New static class.
	(reverseOrder): Return static instance of ReverseComparator.	
	* java/util/AbstractCollection.java (toString): Use a StringBuffer.
	* java/util/AbstractMap.java (toString): Use StringBuffer.

2001-02-09  Steve Mayer <SMayer@dynamicsoft.com>

	* java/util/Timer.java (remove): Install new heap.

2001-02-07  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/Arrays.java: Removed "cmp" methods.
	(qsort): Don't use "cmp".
	(med3): Likewise.

2001-02-07  Mark Benvenuto  <mcb54@columbia.edu>

	* java/util/Arrays.java (qsort): Handle N value of 7 with insertion
	sort. Fix for PR java/1895.

2001-01-25  Mark Wielaard <mark@klomp.org>

	* java/io/DataInputStream.java: update copyright notice
	* java/io/PrintWriter.java: idem
	* java/io/Reader.java: idem
	* java/io/StreamTokenizer.java: idem
	* java/io/StringReader.java: idem
	* java/lang/reflect/ReflectPermission.java: idem

2001-01-23  Mark Wielaard <mark@klomp.org>

	* java/security/AccessController.java: new file (stub implementation)

2001-01-23  Brian Jones <cbj@gnu.org>

	* configure.in: generate Makefiles for proper native directories
	* native/Makefile.am: modify SUBDIRS to build from jni directory
	* native/jni/.cvsignore: new file
	* native/jni/Makefile.am: new file; combines all previous Makefile.am's in 
	a subdirectory
	* native/jni/acos.c: renamed from native/java.lang/acos.c
	* native/jni/asin.c: renamed from native/java.lang/asin.c
	* native/jni/atan.c: renamed from native/java.lang/atan.c
	* native/jni/atan2.c: renamed from native/java.lang/atan2.c
	* native/jni/ceil.c: renamed from native/java.lang/ceil.c
	* native/jni/cos.c: renamed from native/java.lang/cos.c
	* native/jni/e_fmod.c: renamed from native/java.lang/e_fmod.c
	* native/jni/exp.c: renamed from native/java.lang/exp.c
	* native/jni/fdlibm.h: renamed from native/java.lang/fdlibm.h
	* native/jni/floor.c: renamed from native/java.lang/floor.c
	* native/jni/java_io_File.c: renamed from native/java.io/File.c
	* native/jni/java_io_FileDescriptor.c: renamed from native/java.io/FileDescriptor.c
	* native/jni/java_io_FileInputStream.c: renamed from native/java.io/FileInputStream.c
	* native/jni/java_io_FileOutputStream.c: renamed from native/java.io/FileOutputStream.c
	* native/jni/java_io_ObjectInputStream.c: renamed from native/java.io/ObjectInputStream.c
	* native/jni/java_io_ObjectOutputStream.c: renamed from native/java.io/ObjectOutputStream.c
	* native/jni/java_io_RandomAccessFile.c: renamed from native/java.io/RandomAccessFile.c
	* native/jni/java_lang_Double.c: renamed from native/java.lang/Double.c
	* native/jni/java_lang_Float.c: renamed from native/java.lang/Float.c
	* native/jni/java_lang_Object.c: renamed from native/java.lang/Object.c
	* native/jni/java_lang_System.c: renamed from native/java.lang/System.c
	* native/jni/java_lang_reflect_Array.c: renamed from native/java.lang.reflect/Array.c
	* native/jni/java_math_BigInteger.c: renamed from native/java.math/BigInteger.c
	* native/jni/java_net_InetAddress.c: renamed from native/java.net/InetAddress.c
	* native/jni/java_net_PlainDatagramSocketImpl.c: renamed from native/java.net/PlainDatagramSocketImpl.c
	* native/jni/java_net_PlainSocketImpl.c: renamed from native/java.net/PlainSocketImpl.c
	* native/jni/java_util_ResourceBundle.c: renamed from native/java.util/ResourceBundle.c
	* native/jni/java_util_TimeZone.c: renamed from native/java.util/TimeZone.c
	* native/jni/javaio.c: renamed from native/java.io/javaio.c
	* native/jni/javaio.h: renamed from native/java.io/javaio.h
	* native/jni/javalang.c: renamed from native/java.lang/javalang.c
	* native/jni/javalang.h: renamed from native/java.lang/javalang.h
	* native/jni/javanet.c: renamed from native/java.net/javanet.c
	* native/jni/javanet.h: renamed from native/java.net/javanet.h
	* native/jni/k_cos.c: renamed from native/java.lang/k_cos.c
	* native/jni/k_rem_pio2.c: renamed from native/java.lang/k_rem_pio2.c
	* native/jni/k_sin.c: renamed from native/java.lang/k_sin.c
	* native/jni/k_tan.c: renamed from native/java.lang/k_tan.c
	* native/jni/log.c: renamed from native/java.lang/log.c
	* native/jni/pow.c: renamed from native/java.lang/pow.c
	* native/jni/remainder.c: renamed from native/java.lang/remainder.c
	* native/jni/rint.c: renamed from native/java.lang/rint.c
	* native/jni/s_fabs.c: renamed from native/java.lang/s_fabs.c
	* native/jni/sin.c: renamed from native/java.lang/sin.c
	* native/jni/sqrt.c: renamed from native/java.lang/sqrt.c
	* native/jni/tan.c: renamed from native/java.lang/tan.c
	* native/jni/awt/.cvsignore: new file
	* native/jni/awt/Makefile.am: renamed from native/gnu.java.awt.peer.gtk/Makefile.am
	* native/jni/awt/gnu_java_awt_image_GdkPixbufDecoder.c: renamed
	from native/gnu.java.awt.image/gdkpixbufdecoder.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GdkFontMetrics.c: renamed
	from native/gnu.java.awt.peer.gtk/gdkfontmetrics.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GdkGraphics.c: renamed
	from native/gnu.java.awt.peer.gtk/gdkgraphics.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkButtonPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkbuttonpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkCanvasPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkcanvaspeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkcheckboxmenuitempeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkcheckboxpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkChoicePeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkchoicepeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkClipboard.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkclipboard.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkComponentPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkEvents.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkevents.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkfiledialogpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkImagePainter.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkimagepainter.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkLabelPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtklabelpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkListPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtklistpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkMainThread.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkmainthread.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkmenubarpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkMenuPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkmenupeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkPanelPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkpanelpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkpopupmenupeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkscrollpanepeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtktextareapeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtktextcomponentpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtktextfieldpeer.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkToolkit.c: renamed
	from native/gnu.java.awt.peer.gtk/gtktoolkit.c
	* native/jni/awt/gnu_java_awt_peer_gtk_GtkWindowPeer.c: renamed
	from native/gnu.java.awt.peer.gtk/gtkwindowpeer.c
	* native/jni/awt/gthread-jni.c: renamed from 
	native/gnu.java.awt.peer.gtk/gthread-jni.c
	* native/jni/awt/gthread-jni.h: renamed from 
	native/gnu.java.awt.peer.gtk/gthread-jni.h
	* native/jni/awt/gtkpeer.h: renamed from 
	native/gnu.java.awt.peer.gtk/gtkpeer.h
	* native/jni/awt/native_state.c: renamed from 
	native/gnu.java.awt.peer.gtk/native_state.c
	* native/jni/awt/native_state.h: renamed from 
	native/gnu.java.awt.peer.gtk/native_state.h
	
2001-01-19  Warren Levy  <warrenl@redhat.com>

	* java/text/SimpleDateFormat.java (format): Compute hour for cases
	HOUR_OF_DAY1_FIELD (1-24), HOUR1_FIELD (1-12), and HOUR0_FIELD (0-11)
	correctly.  Adjust properly from 0-23 clock hour.

2001-01-14  Mark Wielaard  <mark@klomp.org>

	* java/net/URLDecoder.java: Thanks Edgar Villanueva (edgarvil@home.com)
	(decode): fix comment, don't throw Exception

2001-01-12  Mark Wielaard  <mark@klomp.org>

	* java/awt/datatransfer/Clibboard.java:
	(getContents, setContents): synchronized, add comment
	* java/awt/datatransfer/DataFlavor.java:
	(DataFlavor constructor): refactored,
	if null set humanPresentable name to mimeType
	(getParameter): renamed from getParamter
	(equals(String)): deprecated
	(hashCode): new method
	(match): new method, XXX implemented as equals
	(toString): new method
	(getTextPlainUnicodeFlavor): new method, XXX returns plainTextFlavor
	(getDefaultRepresentationClass): new method, XXX returns InputStream
	(getDefaultRepresentationClassAsString): new method, XXX
	(selectBestTextFlavor): new method
	(getReaderForText): new method
	* java/awt/datatransfer/FlavorMap.java: update comments
	* java/awt/datatransfer/MimeTypeParseException.java: new class
	* java/awt/datatransfer/SystemFlavorMap.java: new class XXX

2001-01-10  Mark Wielaard  <mark@klomp.org>

	* java/lang/ClassLoader.java: 1.2 updates
	(loadClass(String)): now calls loadClass with resolve set to false not true
	(loadClass(String,boolean)): no longer abstract
	(getResource): now calls parent classloader first
	(getResourceAsStream): Ditto
	(defineClass): There is now a version which takes a ProtectionDomain,
	but that needs native support
	(findLibrary): new method
	(getSystemResources):Ditto

2001-01-10  Warren Levy  <warrenl@redhat.com>

	* java/math/BigDecimal.java (divide): Fixed comment.

2001-01-10  Warren Levy  <warrenl@redhat.com>

	* java/math/BigDecimal.java (divide): Check newScale for validity.
	Ensure that BigInteger.pow() is called with a non-negative value.
	(setScale (int)): New public method.
	(setScale (int,int)): New public method.

2001-01-08  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/Class.java: 1.2 updates
	(forName(String,boolean,ClassLoader)): new method
	(getPackage): Ditto
	(getProtectionDomain): Ditto
	* java/lang/ClassLoader.java: 1.2 updates
	(getParent): new method
	(getSystemClassLoader): Ditto
	(findClass): Ditto
	(findResource): Ditto
	(findResources): Ditto
	(getResources): Ditto

2001-01-09  Mark Wielaard <mark@klomp.org>

	* gnu/java/util/DoubleEnumeration.java: new class, adapted from
	java/util/DoubleEnumeration. Clears references earlier, handles null
	and/or empty enumerations better.
	* gnu/java/util/EmptyEnumeration.java: new class.

2001-01-09  Oskar Liljeblad <osk@hem.passagen.se>

	* java/io/StreamTokenizer.java (nextToken): Handle // and /* before
	commentChar.  Fixed typos in comments.

2001-01-09  Andrew Haley  <aph@redhat.com>

	* java/io/StreamTokenizer.java: Don't throw a
	NumberFormatException if a field is numeric as far as the
	StreamTokenizer is concerned but not as far as Double.valueOf() is
	concerned: return a zero instead.	

2001-01-09  Warren Levy  <warrenl@redhat.com>

	* java/util/TimeZone.java: Add standard ID names per JCL; removed
	non-standard ones.  Marked with XXX comments to note what code
	should be removed after java.lang.System is merged with libgcj.

2001-01-08  Mark Wielaard  <mark@klomp.org>

	* java/lang/ClassLoader.java: 1.2 updates
	(definedPackages, parent, systemClassLoader): new private fields
	(ClassLoader): new constructor that takes a parent classloader
	(definePackage, getPackage, getPackages): new protected methods
	* java/lang/Package.java: 1.2 updates
	(Package): change argument order to match ClassLoader.definePackage(),
	throw NullPointerException when name == null
	(getPackage, getPackages): implemented
	* java/lang/Sysem.java: 1.2 updates
	(setProperty): new method
	(runFinalizersOnExit): deprecated

2001-01-07  Mark Wielaard  <mark@klomp.org>

	* java/lang/Float.java: implements Comparable, new method compareTo()
	* java/lang/Integer.java: Ditto
	* java/lang/Long.java: Ditto
	* java/lang/Short.java: Ditto
	* java/lang/String.java: Ditto
	(CASE_INSENSITIVE_ORDER): new field
	(compareToIgnoreCase): new method

2001-01-07  Anthony Green  <green@redhat.com>

	* java/lang/StringBuffer.java: Fix comments.

2001-01-06  Brian Jones  <cbj@gnu.org>

	* mauve-classpath: Mauve testing file can be used with Japhar.

2001-01-06  Brian Jones  <cbj@gnu.org>

	* Release classpath-0.02
	* doc/www.gnu.org/announce/20010106.mhtml: New file.
	* resource/japhar-0.09.patch.1: patch for Japhar 0.09 for 
	GNU Classpath 0.02 release.
	* NEWS: Added 0.02 release information.
	* configure.in: Update release number, add additional Makefile output
	files.
	* doc/Makefile.am: New target 'docs' can be used to generate
	formal postscript documentation.
	* doc/texinfo.tex: Updated to tetex 1.0.7 release.
	* doc/www.gnu.org/classpath.mhtml: Notice of license change and
	other small enhancements.
	* gnu/java/beans/Makefile.am: Removed ChangeLog from EXTRA_DIST
	* gnu/java/beans/editors/Makefile.am: Ditto.
	* gnu/java/beans/info/Makefile.am: Ditto.
	* gnu/java/io/Makefile.am: Ditto
	* gnu/java/io/decode/Makefile.am: Ditto.
	* gnu/java/io/encode/Makefile.am: Ditto.
	* gnu/java/lang/Makefile.am: Ditto.
	* gnu/java/lang/reflect/Makefile.am: Ditto.
	* gnu/java/net/content/text/Makefile.am: Ditto.
	* java/beans/Makefile.am: Ditto.
	* java/lang/reflect/Makefile.am: Ditto.
	* java/net/Makefile.am: Ditto.
	* java/util/Makefile.am: Ditto.
	* resource/Makefile.am: Add japhar-0.09.patch.1 to EXTRA_DIST
	* resource/java/security/Makefile.am: Rules to install security
	policy in $(libdir)/security.

2001-01-06  Anthony Green  <green@redhat.com>

	* java/beans/PropertyDescriptor.java: Fix comment.
	* java/io/PushbackReader.java: Fix comment.
	* java/io/ObjectStreamClass.java: Fix comment.
	* java/io/DataInputStream.java: Fix comment.
	* java/io/PipedInputStream.java: Fix comments.
	* java/io/PipedReader.java: Fix comments.
	* java/sql/DatabaseMetaData.java: Fix comments.

2000-12-17  Brian Jones  <cbj@gnu.org>

	* doc/hacking.texinfo: Updated slightly.
	* doc/vmintegration.texinfo: Updated slightly.
	* resource/java/security/classpath.security: New file.
	* resource/java/security/Makefile.am: New file.
	* resource/java/security/.cvsignore: New file.
	* resource/java/Makefile.am: Add security to SUBDIRS.

2001-01-06  Bryce McKinlay  <bryce@albatross.co.nz>

	* test/java.io/PipedReaderWriterTest.java: Use Thread.sleep() to 
	implement delay, not System.gc().
	* test/java.io/PipedStreamTest.java: Ditto.

	* java/io/PipedReader: Synchronize on "lock" instead of this.

2001-01-05  Bryce McKinlay  <bryce@albatross.co.nz>

	* test/java.io/RandomAccessFileTest.java: Fix overflow of integer 
	constant.
	* test/java.io/dataoutput-jdk.out: Update with corrected JDK output.

	* java/io/PipedInputStream: Rewritten. Now simpler and more correct.
	* java/io/PipedOutputStream: Updated to match new PipedInputStream.
	* java/io/PipedReader: New implementation based on new
	PipedInputStream.
	* java/io/PipedWriter: Updated to match new PipedReader.

2000-12-27  Jeff Sturm  <jeff.sturm@commerceone.com>

	* java/sql/DriverManager.java (getConnection): Don't set user/password
	properties if null.

2000-12-27  Warren Levy  <warrenl@redhat.com>

	* java/util/Calendar.java: Fix typo in comment.
	(set): Set 24-hour clock hour instead of 12-hour clock hour.
	* java/util/TimeZone.java (getDefaultDisplayName): Casts to char
	needed for evaluating numbers '0' to '9' in printouts of GMT offsets.

2000-12-26  Petter Reinholdtsen  <pere@hungry.com>

	* java/sql/SQLWarning.java: Fixed typo in comment.

2000-12-21  Tom Tromey  <tromey@redhat.com>

	* java/beans/PropertyChangeListener.java: Extends EventListener.
	* java/beans/VetoableChangeListener.java: Extends EventListener.

2000-12-17  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/ArrayList.java (data): Declare transient.
	(serialPersistantFields): Removed.
	(readObject): Use defaultReadObject(), not readFields().
	(writeObject): Use defaultWriteObject(), not writeFields().

2000-12-17  Brian Jones  <cbj@gnu.org>

	* java/util/ArrayList.java: Changes made to let a given Perl script
	produce the correct collections api in a different package for
	Java 1.1. 
	writeObject(): renamed variable to oFields
	readObject(): renamed variable to iFields
	* configure.in: create lib/mkcollections.pl
	* lib/Makefile.am: distribute mkcollections.pl.in
	* lib/mkcollections.pl.in: creates copies of collections classes
	in a new user defined package name space for use in Java 1.1 
	projects, contributed by Jochen Hoenicke 
	<Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>.

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

	* java/lang/RuntimePermission.java: Class now final.

	* java/io/SerializablePermission.java (legal_names): Now private.

2000-12-14  Brian Jones  <cbj@gnu.org>

	* acinclude.m4 : CLASSPATH_INTERNAL_CHECK_JAPHAR takes an optional 
	argument such that specifying the prefix to Japhar now works, 
	allowing the user to have multiple installations of Japhar and yet 
	configure for a specific installation.

2000-12-10  Brian Jones  <cbj@gnu.org>

	* configure.in : commented out code to assume Japhar if not 
	otherwise specified.  Compiling without Japhar is almost 
	easy now.

2000-12-10  Brian Jones  <cbj@gnu.org>

	* configure.in : fixed a small syntax error

2000-12-10  Brian Jones  <cbj@gnu.org>

	* gnu/classpath/.cvsignore : Ignore Configuration.java
	* native/java.lang/System.c (Java_java_lang_System_setIn) : fixed 
	call to GetStaticFieldID().
	(Java_java_lang_System_setOut) : Ditto.
	(Java_java_lang_System_setErr) : Ditto.
	* java/lang/Makefile.am : Removed Throwable.java
	* vm/reference/java/lang/Makefile.am : Added Throwable.java.  
	Throwable.java is now part of the VM interface.

2000-12-09  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/io/DataInputStream.java (readBoolean): Use convertToBoolean().
	(readByte): Use convertToByte().
	(readChar): Use convertToChar().
	(readInt): Use convertToInt().
	(readLong): Use convertToLong().
	(readShort): Use convertToShort().
	(readUnsignedByte): Use convertToUnsignedByte().
	(readUnsignedShort): Use convertToUnsignedShort().
	(readUTF): Use convertToUTF().

	(convertToBoolean): Resurrected.
	(convertToByte): Ditto.
	(convertToChar): Ditto.
	(convertToInt): Ditto.
	(convertToLong): Ditto.
	(convertToShort): Ditto.
	(convertToUnsignedByte): Ditto.
	(convertToUnsignedShort): Ditto.
	(convertToUTF): Ditto.

	* java/io/BufferedReader (DEFAULT_BUFFER_SIZE): Restored.
	(BufferedReader): Use it.

2000-12-08  Warren Levy  <warrenl@redhat.com>

	* java/lang/StringBuffer.java (insert(int,char[])): Avoid
	NullPointerException so proper check of offset can be done.

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

	* java/util/BitSet.java: Class no longer final.

2000-12-06  Bryce McKinlay  <bryce@albatross.co.nz>

	* java/util/Random.java (nextDouble): Use 1L for bit-shift, not 1
	integer. From Christian Grothoff <grothoff@cs.purdue.edu>.

2000-12-03  Warren Levy  <warrenl@redhat.com>

	* java/io/FilePermission.java: Made class final per spec.
	* java/util/LinkedList.java: Implements List.

2000-12-03 01:00  Brian Jones <cbj@gnu.org>

	* gnu/java/beans/ChangeLog: removed
	* gnu/java/beans/editors/ChangeLog: removed
	* gnu/java/beans/info/ChangeLog: removed
	* gnu/java/io/ChangeLog: removed
	* gnu/java/io/decode/ChangeLog: removed
	* gnu/java/io/encode/ChangeLog: removed
	* gnu/java/lang/ChangeLog: removed
	* gnu/java/lang/reflect/ChangeLog: removed
	* gnu/java/net/content/text/ChangeLog: removed
	* java/beans/ChangeLog: removed
	* java/io/ChangeLog: removed
	* java/lang/reflect/ChangeLog: removed
	* java/net/ChangeLog: removed
	* java/util/ChangeLog: removed
	* native/java.io/ChangeLog: removed
	* native/java.lang.reflect/ChangeLog: removed
	* native/java.net/ChangeLog: removed
	* native/lib/ChangeLog: removed
	* native/vmi/ChangeLog: removed
	* test/java.io/ChangeLog: removed
	
2000-12-02 04:16  Tom Tromey <tromey@cygnus.com>

	* java/util/Vector.java (insertElementAt): Unconditionally 
	increment elementCount.  
	(removeRange): Clear unused slots in vector.  

2000-12-02 01:52  Bryce McKinlay <bryce@albatross.co.nz>

	From Adam Welc <welc@cs.purdue.edu>: 
	* java/util/LinkedList.java (removeFirst): Update `first' field.  
	Handle the last == first case.  
	(removeLast): Update `last' field. Handle the last == first case.  

2000-12-01 01:42  Warren Levy <warrenl@cygnus.com>

	* java/sql/Array.java: Adjusted class signature to match spec.  
	* java/sql/BatchUpdateException.java: Ditto.  
	* java/sql/Blob.java: Ditto.  
	* java/sql/CallableStatement.java: Ditto.  
	* java/sql/Clob.java: Ditto.  
	* java/sql/DataTruncation.java: Ditto.  
	* java/sql/Driver.java: Ditto.  
	* java/sql/Ref.java: Ditto.  
	* java/sql/ResultSetMetaData.java: Ditto.  
	* java/sql/SQLData.java: Ditto.  
	* java/sql/SQLException.java: Ditto.  
	* java/sql/SQLInput.java: Ditto.  
	* java/sql/SQLWarning.java: Ditto.  
	* java/sql/Statement.java: Ditto.  
	* java/sql/Struct.java: Ditto.  
	* java/sql/Connection.java: Ditto.  
	(setTransactionIsolation): Renamed to match the spec.  
	* java/sql/DatabaseMetaData.java: Ditto on class signature.  
	(supportsResultSetType): Renamed to match the spec.  
	* java/sql/PreparedStatement.java: Ditto on class signature.  
	(addBatch): New abstract method.  
	* java/sql/ResultSet.java: Ditto on class signature.  
	(first): returns boolean.  
	(last): returns boolean.  
	* java/sql/SQLOutput.java: Ditto on class signature.  
	(writeAsciiStream): New abstract method.  
	* java/sql/DriverManager.java (registerDriver): Throws
	
	SQLException.  
	(deregisterDriver): Throws SQLException.  

2000-11-28 20:18  Warren Levy <warrenl@cygnus.com>

	* java/text/DateFormatSymbols.java (formatPrefixes): Made field static. 
	* java/text/SimpleDateFormat.java (format): Added case for 
	TIMEZONE_FIELD.  

2000-11-28 11:15  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/doc/Makefile: added *.mhtml to MHTML_SRC, thanks
	to John Keiser (jkeiser@iname.com) 

2000-11-28 04:54  Bryce McKinlay <bryce@albatross.co.nz>

	* java/io/DataInputStream.java: Merge libgcj implementation.  
	* java/io/BufferedReader.java: Ditto.  

2000-11-28 01:52  Warren Levy <warrenl@cygnus.com>

	* java/text/SimpleDateFormat.java: Minor formatting fixes.  

2000-11-28 01:38  Warren Levy <warrenl@cygnus.com>

	* gnu/java/locale/LocaleInformation_en.java (localPatternChars): 
	Letters 'k' and 'h' were reversed from the spec.  
	* java/text/DateFormat.java: Minor formatting fixes.  
	(DEFAULT): Added comment to note discrepancy against JCL.  
	(equals): Check that numberFormat is equals (per JCL).  
	* java/text/SimpleDateFormat.java (tokens): Made transient.  
	(serialVersionUID): Added new field.  
	(readObject): Added serialization method.  
	(standardChars): Added new private field.  
	(SimpleDateFormat): Rewrote constructors to match JCL.  Merged 
	from libgcj.  
	(toLocalizedPattern): Merged from libgcj.  
	(applyLocalizedPattern): Merged from libgcj.  
	(format): Merged from libgcj; now handles pos.  
	(parseLenient): Made private.  
	(parseStrict): Made private.  
	* java/util/TimeZone.java: Use user.timezone property if set.  
	(setRawOffset): Added abstract method per spec.  
	(getTimeZone): Changed comment to reflect that GMT is the default.  

2000-11-28 00:16  Brian Jones <cbj@gnu.org>

	* acconfig.h: added DEBUG 
	* configure.in: Add Configuration.java to CONFIG_FILES. Set
	LIBGCJDEBUG substitution if --enable-libgcj-debug is specified 
	* gnu/Makefile.am: added classpath to SUBDIRS 
	* gnu/classpath/.cvsignore: New file 
	* gnu/classpath/Configuration.java.in: New file 
	* gnu/classpath/Makefile.am: New file 

2000-11-28 00:06  Brian Jones <cbj@gnu.org>

	* Makefile.am: target ChangeLog uses --fsf for cvs2cl 

2000-11-27 23:17  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/: classpath.mhtml, announce/19990206.mhtml,
	announce/20001120.mhtml, announce/Makefile,
	announce/announcements.mhtml: 
	* classpath.mhtml: new announcment added to announce list 
	* Makefile: symbolically link to announcements.html instead of a
	specific announcement 
	* 19990206.mhtml: fixed ftp link to download source 
	* 20001120.mhtml: new announcment of classpath 0.01 release 
	* announcements.mhtml: new index.html file instead of pointing to a
	specific announcment 

2000-11-27 08:28  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/Vector.java (ensureCapacity): Don't increment modCount.  
	(addElement): Don't increment elementCount twice. Doh.  
	* java/util/ArrayList.java (add): Only call ensureCapacity if the 
	array needs to be expanded.  
	(addAll): Ditto.  
	* java/util/Collections.java (UnmodifiableCollection): Implement 
	toString().  
	(UnmodifiableList): Throw UnsupportedOperationException from 
	modification methods. Set `l' from the one-parameter constructor.  
	(UnmodifiableMap): Implement toString().  
	(SynchronizedCollection): Ditto.  
	(SynchronizedList): Set `l' from the one-parameter constructor.  
	(SynchronizedSortedSet): Set `ss' from the one-parameter constructor.  
	(SynchronizedMap): Implement toString().  

2000-11-26 22:37  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: ArrayList.java, List.java, SimpleTimeZone.java: These
	changes were ommitted from my last check-in. Oops.  

2000-11-23 05:19  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/Vector.java: 2000-11-23  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/util/Vector.java: Improve exception messages.  
	(Vector): Check initialCapacity for IllegalArgumentException.  
	(tromToSize): Don't check for elementCount == elementData.length 
	case.  
	(toArray): Don't try to set null marker if target array is the same 
	length as the vector.  

2000-11-21 04:23  Brian Jones <cbj@gnu.org>

	* javax/accessibility/: Accessible.java, AccessibleAction.java,
	AccessibleBundle.java, AccessibleComponent.java,
	AccessibleContext.java, AccessibleHyperlink.java,
	AccessibleHypertext.java, AccessibleResourceBundle.java,
	AccessibleRole.java, AccessibleSelection.java,
	AccessibleState.java, AccessibleStateSet.java, AccessibleText.java,
	AccessibleValue.java, package.html: 
	* javax.accessibility initial checkin, missing most abstract classes 

2000-11-20 18:22  Tom Tromey <tromey@cygnus.com>

	* java/lang/reflect/ReflectPermission.java: 
	* java/lang/reflect/ReflectPermission.java: New file.  

2000-11-20 05:01  Brian Jones <cbj@gnu.org>

	* Makefile.am: Makefile.am: added ChangeLog target 

2000-11-20 04:39  Brian Jones <cbj@gnu.org>

	* NEWS: NEWS: added sparce information concerning the 0.01 release 

2000-11-20 04:38  Brian Jones <cbj@gnu.org>

	* AUTHORS: AUTHORS: added many people from the GCJ team, please let
	me know if I missed someone 

2000-11-20 04:29  Brian Jones <cbj@gnu.org>

	* Makefile.am: Makefile.am: added HACKING to EXTRA_DIST 

2000-11-20 04:05  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile.am: Makefile.am: added
	headers to _SOURCES, removed HEADERS variable 

2000-11-20 04:01  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile.am: Makefile.am: added
	HEADERS option for distributed header files 

2000-11-20 03:47  Brian Jones <cbj@gnu.org>

	* Makefile.am: Makefile.am: added com to SUBDIRS 

2000-11-20 03:46  Brian Jones <cbj@gnu.org>

	* com/sun/javadoc/.cvsignore, com/sun/javadoc/Makefile.am,
	com/sun/.cvsignore, com/sun/Makefile.am, com/.cvsignore,
	com/Makefile.am, gnu/java/security/util/.cvsignore,
	java/applet/.cvsignore, java/sql/.cvsignore: initial commit 

2000-11-20 03:45  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: added new directory Makefiles to
	output 

2000-11-20 03:34  Brian Jones <cbj@gnu.org>

	* java/Makefile.am: Makefile.am: added sql to SUBDIRS 

2000-11-20 03:33  Brian Jones <cbj@gnu.org>

	* java/Makefile.am: Makefile.am: added applet to SUBDIRS 

2000-11-20 03:29  Brian Jones <cbj@gnu.org>

	* gnu/java/security/Makefile.am: Makefile.am: added der to SUBDIRS 

2000-11-20 03:29  Brian Jones <cbj@gnu.org>

	* gnu/java/security/der/: .cvsignore, Makefile.am: initial checkin 

2000-11-20 03:24  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/gtk/Makefile.am: Makefile.am: typo fixed 

2000-11-20 02:59  Brian Jones <cbj@gnu.org>

	* java/sql/Makefile.am: Makefile.am: initial checkin 

2000-11-20 02:35  Brian Jones <cbj@gnu.org>

	* gnu/java/security/Makefile.am: Makefile.am: added util to SUBDIRS 

2000-11-20 02:33  Brian Jones <cbj@gnu.org>

	* gnu/java/security/provider/Makefile.am,
	gnu/java/locale/Makefile.am, java/awt/Makefile.am,
	java/security/Makefile.am, java/security/interfaces/Makefile.am,
	java/security/spec/Makefile.am, java/text/Makefile.am,
	java/util/Makefile.am, gnu/java/security/provider/Makefile.am: 
	Makefile.am: updated EXTRA_DIST 

2000-11-20 02:33  Brian Jones <cbj@gnu.org>

	* java/applet/Makefile.am, gnu/java/security/util/Makefile.am: 
	Makefile.am: initial commit 

2000-11-20 02:01  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/gtk/Makefile.am: Makefile.am: added
	GtkRadioButtonPeer.java to EXTRA_DIST 

2000-11-20 02:00  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/image/Makefile.am: Makefile.am: added
	GdkPixbufDecoder.java, GtkOffScreenDecoder.java to EXTRA_DIST 

2000-11-20 01:56  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/gtk/Makefile.am: Makefile.am: added
	GtkToggleButtonPeer.java to EXTRA_DIST 

2000-11-20 01:48  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/gtk/Makefile.am: Makefile.am: EXTRA_DIST
	updated 

2000-11-20 01:40  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: create a Makefile in classpath/javax 

2000-11-20 01:36  Brian Jones <cbj@gnu.org>

	* Makefile.am: Makefile.am: added javax to SUBDIRS 

2000-11-20 01:36  Brian Jones <cbj@gnu.org>

	* javax/: .cvsignore, Makefile.am: Makefile.am: initial commit 
	.cvsignore: initial commit 

2000-11-20 01:26  Brian Jones <cbj@gnu.org>

	* gnu/java/Makefile.am: Makefile.am: added awt to SUBDIRS 

2000-11-20 00:13  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: mkdep.pl.in: changed HEADERS to CP_HEADERS 

2000-11-20 00:13  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: Makefile.am: removed +M for jikes compilation 
	changed HEADERS to CP_HEADERS due to a conflicting autoconf variable 
	auto-included in the dist target put glibj.zip back into the dist
	
	target 

2000-11-19 23:49  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: VERSION => 0.01 (oops) 

2000-11-19 23:15  Brian Jones <cbj@gnu.org>

	* native/Makefile.am: Makefile.am: removed gnu.java.awt.image from
	SUBDIRS 

2000-11-19 23:14  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: removed native/gnu.java.awt.image
	from build since it does not compile and is not needed for a release 

2000-11-19 22:52  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: 	avoid putting -O2 in CFLAGS, Red Hat
	7 gcc 2.96 fails to compile otherwise 

2000-11-19 22:44  Brian Jones <cbj@gnu.org>

	* configure.in: configure.in: VERSION => 0.02 

2000-11-19 21:47  Brian Jones <cbj@gnu.org>

	* vm/kaffe/: .cvsignore, java/.cvsignore, kaffe/.cvsignore,
	native/.cvsignore: classpath/vm/kaffe/.cvsignore: ignore
	Makefile.in, Makefile classpath/vm/kaffe/java/.cvsignore: ignore
	Makefile.in, Makefile classpath/vm/kaffe/kaffe/.cvsignore: ignore
	Makefile.in, Makefile classpath/vm/kaffe/native/.cvsignore: ignore
	Makefile.in, Makefile 

2000-11-18 07:30  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/classpath.mhtml: classpath.mhtml: links to
	mailing list web pages at gnu added 

2000-11-18 02:23  Tom Tromey <tromey@cygnus.com>

	* java/util/PropertyPermission.java: 
	* java/util/PropertyPermission.java (actionStrings): Now `final'.  
	(equals): New method.  

2000-11-18 01:06  Mark Wielaard <mark@klomp.org>

	* java/util/jar/: Attributes.java, JarFile.java: 
	Merge with libgcj (fixes by Anthony Green and Mark Wielaard) 
	* java/util/jar/Attributes.java: Correct comment spelling.  
	* java/util/jar/JarFile.java: Constructor that takes mode now 
	calls super. Don't call java.util.zip.ZipFile.getEntry twice.  

2000-11-17 04:47  Tom Tromey <tromey@cygnus.com>

	* java/util/Arrays.java: 
	Fixes for Java 2 compatibility: 
	* java/util/Arrays.java (sort(byte[],int,int)): New method.  
	(sort(char[],int,int)): Likewise.  
	(sort(double[],int,int)): Likewise.  
	(sort(float[],int,int)): Likewise.  
	(sort(int[],int,int)): Likewise.  
	(sort(long[],int,int)): Likewise.  
	(sort(short[],int,int)): Likewise.  

2000-11-17 04:46  Tom Tromey <tromey@cygnus.com>

	* java/io/PushbackReader.java: 
	Merged with libgcj: 
	* java/io/PushbackReader.java (PushbackReader): Throw correct 
	exception if buffer size not positive.  
	(close): Reset buf.  Synchronize.  
	(mark, reset): Minor changes to exception text.  
	(ready): Throw exception if stream closed.  Synchronize.  
	(skip): Indentation cleanup.  Fixed synchronization.  
	(read): Fixed synchronization.  Throw exception if stream closed.  
	Indentation cleanup.  
	(read(char[],int,int)): Use libgcj implementation.  
	(unread): Fixed synchronization, indentation.  
	(unread(char[],int,int): Use libgcj implementation.  

2000-11-17 04:39  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/Locale.java: 
	* java/util/Locale.java: Fix reformatting screw-up.  

2000-11-17 03:41  Brian Jones <cbj@gnu.org>

	* HACKING: # removed duplicate todo list, read todo items in TODO
	instead 

2000-11-16 21:34  Warren Levy <warrenl@cygnus.com>

	* java/beans/: PropertyChangeSupport.java,
	VetoableChangeSupport.java: 
	* java/beans/PropertyChangeSupport.java (propertyListeners): Made 
	transient.  
	(listeners): Made transient.  
	(source): Renamed from 'bean'.  
	(children): New field for serialization.  
	(propertyChangeSupportSerializedDataVersion): Ditto.  
	(serialVersionUID): Ditto.  
	(writeObject): New serialization method.  
	(readObject): New serialization method.  
	* java/beans/VetoableChangeSupport.java (propertyListeners): Made 
	transient.  
	(listeners): Made transient.  
	(source): Renamed from 'bean'.  
	(children): New field for serialization.  
	(vetoableChangeSupportSerializedDataVersion): Ditto.  
	(serialVersionUID): Ditto.  
	(writeObject): New serialization method.  
	(readObject): New serialization method.  
	Serialization mods.  

2000-11-16 04:50  Brian Jones <cbj@gnu.org>

	* java/io/ObjectInputStream.java: typo: Systm -> System typo: there
	-> their 

2000-11-16 04:05  Brian Jones <cbj@gnu.org>

	* java/io/ObjectInputStream.java: dumpElement (String): removed
	extraneous semi-colon dumpElementln (String): removed extraneous
	semi-colon setDump (boolean): removed reference to this in static
	method 

2000-11-03 08:14  Warren Levy <warrenl@cygnus.com>

	* java/io/ObjectInputStream.java: 
	* java/io/ObjectInputStream.java (readObject): Added code to 
	conditionally dump out the serialized data.  
	Handle ENDBLOCKDATA case a bit more gracefully since the current 
	behavior doesn't seem to work as expected.  
	(readStreamHeader): Added code for serialized data dumper.  
	(readNextBlock): Ditto.  
	(readFields): Ditto.  
	(dump): New private static field for turning on/off dumper.  
	(setDump): New method.  
	(dumpElement): New method.  
	(dumpElementln): New method.  
	Serialization dumper.  Enable by calling 
	java.io.ObjectInputStream.setDump(true) in your test program.  The
	output will be generated as the object is deserialized (i.e. the 
	readObject() method is executed).  

2000-11-03 03:59  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: AbstractList.java, LinkedList.java: 2000-11-03  Bryce
	McKinlay  <bryce@albatross.co.nz> 
	
	* java/util/AbstractList.java (SubList): Make it a top-level
	
	private 
	class.  
	* java/util/LinkedList.java (remove): Do update modCount and
	
	knownMod.  
	(add): Ditto.  

2000-11-02 10:12  Bryce McKinlay <bryce@albatross.co.nz>

	* java/: io/FileReader.java, io/Reader.java, io/StringReader.java,
	util/AbstractList.java, util/AbstractSequentialList.java,
	util/ArrayList.java, util/LinkedList.java: 2000-11-02  Bryce
	McKinlay  <bryce@albatross.co.nz> 
	
	* java/util/AbstractList.java: Throw messages with 
	IndexOutOfBoundsExceptions.  
	(listIterator()): Call listIterator(0).  
	(size): New field. Initialize to size().  
	(hasNext): Test position against size, not size().  
	(remove): Increment knownMod by one instead of resetting it from 
	modCount.  
	(add): Ditto.  
	(SubList.upMod): Removed.  
	(SubList.set): Don't call upMod() or update knownMod.  
	(SubList.add(int,Object)): Increment modCount instead of calling 
	upMod().  
	(SubList.remove): Ditto.  
	(SubList.addAll): Don't call backingList.size(). Increment size
	
	from 
	c.size().  
	(SubList.iterator): New method. Call listIterator(0).  
	(SubList.listIterator): New method. Restore code to return an 
	anonymous listIterator implementation (with some changes).  
	* java/util/AbstractSequentialList.java: Throw messages with 
	IndexOutOfBoundsExceptions.  
	(addAll): Add a specnote.  
	* java/util/ArrayList.java (removeRange): Get the math right.  
	(addAll): Increment modCount _before_ creating iterator.  
	* java/util/LinkedList.java: Rewritten, mostly.  
	
	* java/util/BitSet.java: Merged with libgcj implementation.  
	* java/io/Reader.java: Ditto.  
	* java/io/FileReader.java: Ditto.  
	* java/io/StringReader.java: Ditto.  

2000-10-30 02:02  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractMap.java, AbstractSequentialList.java, AbstractSet.java,
	ArrayList.java: 2000-10-29  Bryce McKinlay  <bryce@albatross.co.nz> 
	
	* java/util/AbstractCollection.java (addAll): Use size() instead of 
	hasNext() in iterator loop.  
	(clear): Ditto.  
	(contains): Ditto. Simplify loop.  
	(containsAll): Ditto.  
	(remove): Ditto.  
	(removeAll): Ditto.  
	(retainAll): Ditto.  
	(toArray): Ditto.  
	(toString): Ditto. Use string concatenation operators, not 
	StringBuffer.  
	* java/util/AbstractList.java (addAll): Use size() instead of 
	hasNext() in iterator loop.  
	(equals): Ditto.  
	(hashCode): Ditto.  
	(indexOf): Ditto. Don't take null check outside of the loop.  
	(iterator): Return an AbstractListItr instead of anonymous class.  
	(lastIndexOf): Use a for loop bounded by size() instead of 
	hasPrevious() in iterator loop.  
	(listIterator): Return an AbstractListItr.  
	(removeRange): Remove bounds checking code and docs.  
	(AbstractListItr): New inner class. Code moved here from 
	listIterator().  
	(SubList.iterator): Removed. Use default implementation from 
	AbstractList instead.  
	(SubList.listIterator): As above.  
	* java/util/AbstractMap.java (clear): Use a for loop bounded by
	
	size() 
	instead of hasNext() in iterator loop.  
	(containsValue): Ditto.  
	(equals): Ditto.  
	(get): Ditto.  
	(put): Ditto.  
	(putAll): Ditto.  
	(remove): Ditto.  
	(toString): Ditto. Use string concatenation operators, not 
	StringBuffer.  
	* java/util/AbstractSequentialList.java (addAll): Use a for loop 
	bounded by size() instead of hasNext() in iterator loop.  
	* java/util/AbstractSet.java (hashCode): Don't catch exception as 
	part of normal execution flow. Do an explicit null check instead.  
	* java/util/ArrayList.java (_iSize): Rename to `size'.  
	(_arData): Rename to `data'.  
	(get): Check lower bounds also. Simplify IndexOutOfBoundsException 
	message.  
	(remove): Ditto.  
	(removeRange): Make protected. Don't check bounds.  
	(add): Check lower bounds also. Simplify IndexOutOfBoundsException 
	message.  
	(addAll (Collection)): Use a size-bounded for loop instead of
	
	hasNext() 
	check.  
	(addAll (int, Collection)): Check lower bounds. Simplify exception 
	string.  
	(clone): Clone the data array too.  
	(indexOf): Inline doesEqual().  
	(lastIndexOf): Ditto.  
	(clear): Don't set array data to null.  
	(set): Check lower bounds. Simplify exception string.  
	(toArray): Correct comment.  
	(trimToSize): Don't update modCount, this is not a structural
	
	change.  
	Add comment.  

2000-10-30 01:56  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractMap.java, AbstractSequentialList.java, AbstractSet.java,
	ArrayList.java, BitSet.java: 2000-10-29  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/util/AbstractCollection.java (addAll): Use size() instead of 
	hasNext() in iterator loop.  
	(clear): Ditto.  
	(contains): Ditto. Simplify loop.  
	(containsAll): Ditto.  
	(remove): Ditto.  
	(removeAll): Ditto.  
	(retainAll): Ditto.  
	(toArray): Ditto.  
	(toString): Ditto. Use string concatenation operators, not 
	StringBuffer.  
	* java/util/AbstractList.java (addAll): Use size() instead of 
	hasNext() in iterator loop.  
	(equals): Ditto.  
	(hashCode): Ditto.  
	(indexOf): Ditto. Don't take null check outside of the loop.  
	(iterator): Return an AbstractListItr instead of anonymous class.  
	(lastIndexOf): Use a for loop bounded by size() instead of 
	hasPrevious() in iterator loop.  
	(listIterator): Return an AbstractListItr.  
	(removeRange): Remove bounds checking code and docs.  
	(AbstractListItr): New inner class. Code moved here from 
	listIterator().  
	(SubList.iterator): Removed. Use default implementation from 
	AbstractList instead.  
	(SubList.listIterator): As above.  
	* java/util/AbstractMap.java (clear): Use a for loop bounded by
	
	size() 
	instead of hasNext() in iterator loop.  
	(containsValue): Ditto.  
	(equals): Ditto.  
	(get): Ditto.  
	(put): Ditto.  
	(putAll): Ditto.  
	(remove): Ditto.  
	(toString): Ditto. Use string concatenation operators, not 
	StringBuffer.  
	* java/util/AbstractSequentialList.java (addAll): Use a for loop 
	bounded by size() instead of hasNext() in iterator loop.  
	* java/util/AbstractSet.java (hashCode): Don't catch exception as 
	part of normal execution flow. Do an explicit null check instead.  
	* java/util/ArrayList.java (_iSize): Rename to `size'.  
	(_arData): Rename to `data'.  
	(get): Check lower bounds also. Simplify IndexOutOfBoundsException 
	message.  
	(remove): Ditto.  
	(removeRange): Make protected. Don't check bounds.  
	(add): Check lower bounds also. Simplify IndexOutOfBoundsException 
	message.  
	(addAll (Collection)): Use a size-bounded for loop instead of 
	hasNext() check.  
	(addAll (int, Collection)): Check lower bounds. Simplify exception 
	string.  
	(clone): Clone the data array too.  
	(indexOf): Inline doesEqual().  
	(lastIndexOf): Ditto.  
	(clear): Don't set array data to null.  
	(set): Check lower bounds. Simplify exception string.  
	(toArray): Correct comment.  
	(trimToSize): Don't update modCount, this is not a structural
	
	change.  
	Add comment.  
	
	* java/util/BitSet.java: Merged with classpath, new JDK 1.2 methods 
	implemented.  
	(toString): Declare `bit' as long, not int.  
	(data): Made package-private, not private.  

2000-10-27 10:29  Warren Levy <warrenl@cygnus.com>

	* java/util/Calendar.java: 
	* java/util/Calendar.java (toString): Always print fields.  

2000-10-27 09:53  Warren Levy <warrenl@cygnus.com>

	* java/: math/BigDecimal.java, util/Calendar.java,
	util/SimpleTimeZone.java: 
	* java/math/BigDecimal.java (intVal): Renamed from 'num' for 
	serialization compatibility.  
	(scale): Made private.  
	(serialVersionUID): New field.  
	(main): Removed.  
	* java/util/Calendar.java (bundleName): Use '.' separators instead 
	of '/' in fully qualified class name.  
	(getInstance): Made synchronized per doc.  
	(getAvailableLocales): Made synchronized per doc.  
	(getTimeInMillis): Made not a final method.  
	(setTimeInMillis): Made protected rather than public final and 
	recompute fields, per doc.  
	(clear): Set areFieldsSet to false per spec and don't recompute
	
	fields.  
	(isSet): Only return isSet[field] per spec.  
	(complete): Check areFieldsSet before calling computeFields.  
	(toString): Removed superfluous comma field.  Added areFieldsSet
	
	and 
	print out "?" if time and/or fields[] values are invalid.  
	* java/util/SimpleTimeZone.java (monthLength): New field.  
	(serialVersionUID): New field.  
	Serialization mods.  

2000-10-26 10:19  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractMap.java, AbstractSequentialList.java, AbstractSet.java,
	ArrayList.java, Arrays.java, BasicMapEntry.java, BitSet.java,
	Bucket.java, Calendar.java, Collection.java, Collections.java,
	Comparator.java, ConcurrentModificationException.java, Date.java,
	Dictionary.java, DoubleEnumeration.java, EmptyStackException.java,
	Enumeration.java, EventListener.java, EventObject.java,
	GregorianCalendar.java, HashMap.java, HashSet.java, Hashtable.java,
	Iterator.java, LinkedList.java, List.java, ListIterator.java,
	ListResourceBundle.java, Locale.java, Map.java,
	MissingResourceException.java, NoSuchElementException.java,
	Observable.java, Observer.java, Properties.java,
	PropertyPermission.java, PropertyResourceBundle.java, Random.java,
	ResourceBundle.java, Set.java, SimpleTimeZone.java, SortedMap.java,
	SortedSet.java, Stack.java, StringTokenizer.java, TimeZone.java,
	Timer.java, TimerTask.java, TooManyListenersException.java,
	TreeMap.java, TreeSet.java, Vector.java, WeakHashMap.java,
	jar/Attributes.java, jar/JarEntry.java, jar/JarException.java,
	jar/JarFile.java, jar/JarInputStream.java,
	jar/JarOutputStream.java, jar/Manifest.java: 2000-10-26  Bryce
	McKinlay  <bryce@albatross.co.nz> 
	
	* java/util/*.java: Fix indentation on copyright notices.  
	* java/util/jar/*.java: Ditto.  

2000-10-24 11:02  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/ThreadGroup.java: 2000-10-24  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/lang/ThreadGroup.java (uncaughtException): Print thread name 
	with stack dump. Set had_uncaught_exception.  
	(had_uncaught_exception): New field. Refer to comment.  

2000-10-24 10:51  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/EventObject.java: 
	* java/util/EventObject.java (toString): Corrected output.  

2000-10-24 10:07  Bryce McKinlay <bryce@albatross.co.nz>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractMap.java, AbstractSequentialList.java, AbstractSet.java,
	ArrayList.java, Arrays.java, BasicMapEntry.java, BitSet.java,
	Bucket.java, Calendar.java, Collection.java, Collections.java,
	Comparator.java, ConcurrentModificationException.java, Date.java,
	Dictionary.java, DoubleEnumeration.java, EmptyStackException.java,
	Enumeration.java, EventListener.java, EventObject.java,
	GregorianCalendar.java, HashMap.java, HashSet.java, Hashtable.java,
	Iterator.java, LinkedList.java, List.java, ListIterator.java,
	ListResourceBundle.java, Locale.java, Map.java,
	MissingResourceException.java, NoSuchElementException.java,
	Observable.java, Observer.java, Properties.java,
	PropertyPermission.java, PropertyResourceBundle.java, Random.java,
	ResourceBundle.java, Set.java, SimpleTimeZone.java, SortedMap.java,
	SortedSet.java, Stack.java, StringTokenizer.java, TimeZone.java,
	Timer.java, TimerTask.java, TooManyListenersException.java,
	TreeMap.java, TreeSet.java, Vector.java, WeakHashMap.java,
	jar/Attributes.java, jar/JarEntry.java, jar/JarException.java,
	jar/JarFile.java, jar/JarInputStream.java,
	jar/JarOutputStream.java, jar/Manifest.java: 2000-10-24  Bryce
	McKinlay  <bryce@albatross.co.nz> 
	
	* java/util/*.java: Reformat all to unofficial standard coding
	
	style.  
	No changes of substance.  
	* java/util/jar/*.java: Ditto.  

2000-10-10 23:08  Warren Levy <warrenl@cygnus.com>

	* java/sql/: Date.java, Time.java, Timestamp.java: 
	* java/sql/Date.java (serialVersionUID): New field.  
	* java/sql/Time.java (serialVersionUID): New field.  
	* java/sql/Timestamp.java (serialVersionUID): New field.  
	Serialization mods.  

2000-10-07 18:11  Tom Tromey <tromey@cygnus.com>

	* java/util/Properties.java: 
	* java/util/Properties.java (addHashEntries): New method from 
	libgcj.  
	(propertyNames): Use libgcj implementation.  
	(formatForOutput): Always quote spaces in key.  

2000-10-06 00:04  Warren Levy <warrenl@cygnus.com>

	* java/: security/Key.java, security/Provider.java,
	security/interfaces/DSAPrivateKey.java,
	security/interfaces/DSAPublicKey.java, sql/DataTruncation.java,
	sql/SQLException.java, sql/SQLWarning.java, util/Date.java: 
	* java/security/Key.java (serialVersionUID): New value.  
	* java/security/Provider.java (serialVersionUID): New field.  
	* java/security/interfaces/DSAPrivateKey.java (serialVersionUID): 
	New value.  
	* java/security/interfaces/DSAPublicKey.java (serialVersionUID): 
	New value.  
	* java/sql/DataTruncation.java (serialVersionUID): New field.  
	* java/sql/SQLException.java (serialVersionUID): New field.  
	* java/sql/SQLWarning.java (serialVersionUID): New field.  
	* java/util/Date.java (writeObject): Renamed from incorrect name.  

2000-10-06 00:03  Warren Levy <warrenl@cygnus.com>

	* java/io/: Makefile.am, ObjectInputStream.java,
	ObjectOutputStream.java, Replaceable.java, Resolvable.java: 
	* Makefile.am: Removed Replaceable.java and Resolvable.java.  
	* ObjectInputStream.java (processResolution): Fixed typo 
	in method name.  
	(processResolution): Handle readResolve method via reflection with 
	removal of Resolvable interface.  
	* ObjectOutputStream.java (writeObject): Handle writeReplace 
	method via reflection with removal of Replaceable interface.  
	* Replaceable.java: Removed.  
	* Resolvable.java: Removed.  
	Serialization mods.  Note:  The interfaces java.io.Replaceable and
	java.io.Resolvable were only temporary additions to JDK 1.2 beta
	versions and were not included in the JDK 1.2 final.  The
	Serialization spec instructs how to deal with their methods (via
	reflection).  

2000-09-18 14:50  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* gnu/java/locale/: iso3166_de.properties, iso639_de.properties: 
	Fixed a few spellings.  Removed all entries for which I don't have a
	german translation.  Java will automatically fall back to the
	default for them.  

2000-09-18 13:58  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* gnu/java/locale/: LocaleInformation_de.java,
	iso3166_de.properties, iso639.properties, iso639_de.properties,
	iso639_fr.properties, iso639_ga.properties: Changed all iso8859-1
	characters to their escape sequence representation.  

2000-09-08 19:39  Warren Levy <warrenl@cygnus.com>

	* java/: beans/PropertyChangeEvent.java,
	beans/PropertyVetoException.java, io/ObjectOutputStream.java,
	io/ObjectStreamClass.java: 
	* java/beans/PropertyChangeEvent.java (serialVersionUID): Added.  
	* java/beans/PropertyVetoException.java (serialVersionUID): Added.  
	* java/io/ObjectOutputStream.java (writeObject): Initialized 
	fieldsAlreadyWritten before recursion rather than after.  
	* java/io/ObjectStreamClass.java (serialVersionUID): Added.  
	Serialization mods merged from libgcj.  

2000-08-31 16:00  John Keiser <jkeiser@iname.com>

	* THANKYOU: Add Weldon Washburn.  

2000-08-31 15:57  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Thread.java: Fixes from Weldon Washburn
	
	[mailto:weldon.washburn@intel.com]: 
	1. Make Thread always have a name when initializing.  
	2. Fix nasty bug in join() where it was not actually waiting for 
	the thread to stop.  
	3. Fix toString() to show the correct String format.  

2000-08-31 09:13  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* THANKYOU: Added Sreenivas Subramoney.  

2000-08-31 09:08  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Properties.java: 
	* java/util/Properties.java (getProperties): Fixed a bug reported by 
	Sreenivas Subramoney:  It did not correctly search the default of 
	the default property list.  

2000-08-23 21:52  Mark Wielaard <mark@klomp.org>

	* java/: io/ByteArrayOutputStream.java, io/PrintWriter.java,
	util/Collections.java: 
	* java/util/Collections.java (EMPTY_MAP) (singletonList(Object) 
	(singletonMap(Object,Object)): implemented, new in 1.3.  
	* java/io/PrintWriter.java (print(String)): Don't catch
	
	IOException, 
	write(String) already does.  
	* java/io/ByteArrayOutputStream.java: Fix from libgcj for double
	
	assignment 
	of final variable initial_buffer_size.  

2000-08-16 01:44  Tom Tromey <tromey@cygnus.com>

	* java/io/ByteArrayOutputStream.java: 
	* ByteArrayOutputStream.java: Merged with libgcj.  

2000-08-07 20:00  Tom Tromey <tromey@cygnus.com>

	* java/io/PipedInputStream.java: 
	* PipedInputStream.java (read(byte[],int,int)): Mostly rewrote.  
	(receive): Streamlined.  

2000-08-06 01:55  Tom Tromey <tromey@cygnus.com>

	* java/io/PrintWriter.java: 
	* PrintWriter.java: Merged with libgcj.  

2000-08-06 00:49  Tom Tromey <tromey@cygnus.com>

	* java/io/StreamTokenizer.java: 
	* java/io/StreamTokenizer.java (TT_NONE): Now private.  
	(nextToken): Handle backslashed newline.  From Oskar Liljeblad.  

2000-08-04 00:45  Warren Levy <warrenl@cygnus.com>

	* java/io/: ObjectInputStream.java, ObjectOutputStream.java,
	ObjectStreamClass.java: 
	* ObjectInputStream.java (readFields): Turn off 
	readDataFromBlock while reading via GetField.  
	(GetField$1.get(String, Object)): Pass Class of default value to 
	getField.  
	(getField): Allow for null default values.  
	
	* ObjectOutputStream.java: Fixed typo in comment.  
	(PutField$1.put): Fixed calls of checkType in most of the put 
	methods to pass the correct parameter.  
	(PutField$1.put(String, Object)): Allow for null value arg.  
	(PutField$1.write): Turn off writeDataAsBlocks while writing via 
	PutField.  
	
	* ObjectStreamClass.java (serialPersistentFields): Fixed 
	typo in spec'ed field name.  
	(getSerialPersistentFields): Changed spelling of method to match 
	the correct spelling of the spec'ed field name.  
	More serialization fixes per Mauve results.  

2000-07-31 03:37  Warren Levy <warrenl@cygnus.com>

	* native/java.io/java_io_ObjectStreamClass.c: 
	* java_io_ObjectStreamClass.c: Removed.  

2000-07-30 04:05  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/classpath-japhar.mhtml: Really removing it now :) 

2000-07-30 04:04  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/doc/classpath-japhar.mhtml: Move classpath-japhar
	to doc.  

2000-07-29 05:45  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/: classpath-japhar.mhtml, classpath.mhtml: Add
	file explaining how to install Classpath and Japhar.  

2000-07-28 23:42  Warren Levy <warrenl@cygnus.com>

	* java/io/ObjectOutputStream.java: 
	* ObjectOutputStream.java (writeObject): Per spec, call 
	NotSerializableException with just the class name.  

2000-07-28 17:22  Tom Tromey <tromey@cygnus.com>

	* java/lang/String.java: 2000-07-28  Weldon Washburn
	<weldon.washburn@intel.com> 
	
	* java/lang/String.java (String(byte[],int,int,int)): Properly 
	initialize `this.count'.  

2000-07-27 23:59  Warren Levy <warrenl@cygnus.com>

	* gnu/java/security/provider/SHA.java,
	java/io/ObjectOutputStream.java, java/io/ObjectStreamClass.java,
	native/java.io/Makefile.am: 
	* gnu/java/security/provider/SHA.java (munch): Reset buffer to 0 so 
	spurious bits don't cause discrepancies.  
	
	* ObjectOutputStream.java: Fixed typo in comment.  
	* ObjectStreamClass.java: Merged with libgcj.  
	Fixed typos in comments.  
	(lookup): Applied patch from Brian Jones <cbj@gnu.org> to optimize.  
	(getDefinedSUID): Removed native method.  
	(getSerialPersistantFields): Removed native method.  
	(hasClassInitializer): Removed native method.  
	
	* Makefile.am: Removed reference to java_io_ObjectStreamClass.c.  
	Serialization mods.  

2000-07-23 17:53  Tom Tromey <tromey@cygnus.com>

	* java/io/StreamTokenizer.java: 2000-07-23  Oskar Liljeblad
	<osk@hem.passagen.se> 
	
	* java/io/StreamTokenizer.java: Merged with libgcj.  

2000-07-12 04:56  Bryce McKinlay <bryce@albatross.co.nz>

	* java/applet/: Applet.java, AppletContext.java, AppletStub.java,
	AudioClip.java: 2000-07-12  Bryce McKinlay  <bryce@albatross.co.nz> 
	
	* java/applet/*.java: Reformatted to match current coding style.  

2000-07-01 16:10  Brian Jones <cbj@gnu.org>

	* native/: gnu.java.awt.image/Makefile.am,
	gnu.java.awt.peer.gtk/Makefile.am, java.io/Makefile.am,
	java.lang/Makefile.am, java.lang.reflect/Makefile.am,
	java.net/Makefile.am, java.util/Makefile.am, lib/Makefile.am: 
	Makefile.am: ignore error when symlinking libraries to libjaphar_* 

2000-06-29 23:44  Warren Levy <warrenl@cygnus.com>

	* java/: beans/PropertyChangeEvent.java,
	beans/PropertyVetoException.java,
	beans/beancontext/BeanContextServiceRevokedEvent.java,
	io/ObjectOutputStream.java, io/WriteAbortedException.java: 
	* java/beans/PropertyChangeEvent.java (oldVal): Renamed to
	
	oldValue.  
	(newVal): Renamed to newValue.  
	* java/beans/PropertyVetoException.java (changeEvent): Renamed to
	
	evt.  
	* java/beans/beancontext/BeanContextServiceRevokedEvent.java 
	(revokeNow): Renamed to invalidateRefs.  
	* java/io/ObjectOutputStream.java (writeObject): Use component type 
	when writing arrays.  
	Fixed typo.  
	* java/io/WriteAbortedException.java (message): Made transient.  
	Serialization mods per the JDK spec: 
	http://java.sun.com/products/jdk/1.2/docs/api/serialized-form.html 

2000-06-29 23:20  Warren Levy <warrenl@cygnus.com>

	* java/: math/BigDecimal.java, sql/Connection.java,
	sql/DatabaseMetaData.java, sql/Driver.java,
	sql/PreparedStatement.java: 
	* java/math/BigDecimal.java (add): Reimplemented.  
	(subtract): Corrected method name from 'substract'.  Reimplemented.  
	* java/sql/Connection.java (TRANSACTION_SERIALIZABLE): Corrected 
	spelling to match JDK spec.  
	* java/sql/DatabaseMetaData.java (getIdentifierQuoteString): 
	Corrected method name from 'getIdentiferQuoteString'.  
	(getTimeDateFunctions): Corrected name to match the spec.  
	(supportsCatalogsInPrivilegeDefinitions): Ditto.  
	(getMaxUserNameLength): Ditto.  
	(getTables): Added String types[] parameter to match the spec.  
	* java/sql/Driver.java (getMajorVersion): Corrected method name.  
	* java/sql/PreparedStatement.java: Class extends Statement.  
	(setBigDecimal): New method.  
	(setAsciiStream): Added int length parameter.  
	(setUnicodeStream): Ditto.  
	(setBinaryStream): Ditto.  
	(setCharacterStream): Ditto.  
	(execute): New method.  
	(executeQuery): New method.  
	(executeUpdate): New method.  
	Mods to match the JDK spec (and to fix BigDecimal bugs).  

2000-06-28 14:44  Brian Jones <cbj@gnu.org>

	* INSTALL: INSTALL: updated to include latest fast-breaking new
	information :) 

2000-06-28 14:02  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.image/.cvsignore: .cvsignore : ignore more
	build generated files 

2000-06-28 13:59  Brian Jones <cbj@gnu.org>

	* native/: Makefile.am, gnu.java.awt.image/Makefile.am,
	gnu.java.awt.peer.gtk/Makefile.am, java.io/Makefile.am,
	java.lang/Makefile.am, java.lang.reflect/Makefile.am,
	java.net/Makefile.am, java.util/Makefile.am, lib/Makefile.am: 
	Makefile.am : 	conditionally link libjaphar_* to given libraries .so
	if 
	the --with-japhar argument was given to configure 

2000-06-28 06:03  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/ThreadGroup.java: 
	* ThreadGroup.java: Added synchronized flag to many methods.  
	(destroyed_flag): Removed.  
	(isDestroyed, removeGroup, removeThread): Test for parent == null.  
	(activeCount): Added spec note.  

2000-06-27 23:56  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/ThreadGroup.java: 
	* ThreadGroup.java: Merged with libgcj's ThreadGroup.  

2000-06-26 05:05  Brian Jones <cbj@gnu.org>

	* native/java.io/java_io_ObjectInputStream.c: currentClassLoader()
	: added two fixes from Petter Reinholdtsen for 
	missing return from function.  

2000-06-25 07:24  John Keiser <jkeiser@iname.com>

	* java/lang/Throwable.java: Throwable does not yet actually
	populate itself, so for now we have to make sure that there is
	actually something in the stack trace.  

2000-06-25 07:22  John Keiser <jkeiser@iname.com>

	* java/lang/System.java, vm/reference/java/lang/Runtime.java: 
	Remove dependency of Runtime on System.  (This makes bootup
	possible.) 

2000-06-24 21:30  John Keiser <jkeiser@iname.com>

	* acinclude.m4: Was outputting both yes and no when Japhar classes
	were not found.  

2000-06-20 21:16  John Keiser <jkeiser@iname.com>

	* java/lang/ClassLoader.java: Fixed comments: JDK 1.1 specs
	clarified whether loadClass() should resolve.  

2000-06-18 13:05  Mark Wielaard <mark@klomp.org>

	* vm/reference/java/lang/Thread.java: Thread.yield() is static 

2000-06-14 01:36  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.image/.cvsignore: initial checkin 

2000-06-14 01:35  Brian Jones <cbj@gnu.org>

	* include/.cvsignore: ignore stamp-h 

2000-06-14 01:28  Brian Jones <cbj@gnu.org>

	* gnu/.cvsignore, gnu/java/.cvsignore, gnu/java/awt/.cvsignore,
	gnu/java/awt/image/.cvsignore, gnu/java/awt/peer/.cvsignore,
	gnu/java/awt/peer/gtk/.cvsignore, gnu/java/beans/.cvsignore,
	gnu/java/beans/editors/.cvsignore, gnu/java/beans/info/.cvsignore,
	gnu/java/io/.cvsignore, gnu/java/io/decode/.cvsignore,
	gnu/java/io/encode/.cvsignore, gnu/java/lang/.cvsignore,
	gnu/java/lang/reflect/.cvsignore, gnu/java/locale/.cvsignore,
	gnu/java/net/.cvsignore, gnu/java/net/content/.cvsignore,
	gnu/java/net/content/text/.cvsignore,
	gnu/java/net/protocol/.cvsignore,
	gnu/java/net/protocol/file/.cvsignore,
	gnu/java/net/protocol/http/.cvsignore,
	gnu/java/security/.cvsignore,
	gnu/java/security/provider/.cvsignore, gnu/tools/.cvsignore,
	gnu/tools/serialver/.cvsignore, java/.cvsignore,
	java/awt/.cvsignore, java/awt/datatransfer/.cvsignore,
	java/awt/event/.cvsignore, java/awt/image/.cvsignore,
	java/awt/peer/.cvsignore, java/awt/print/.cvsignore,
	java/beans/.cvsignore, java/beans/beancontext/.cvsignore,
	java/io/.cvsignore, java/lang/.cvsignore, java/lang/ref/.cvsignore,
	java/lang/reflect/.cvsignore, java/math/.cvsignore,
	java/security/.cvsignore, java/security/acl/.cvsignore,
	java/security/cert/.cvsignore, java/security/interfaces/.cvsignore,
	java/security/spec/.cvsignore, java/text/.cvsignore,
	java/util/.cvsignore, vm/reference/.cvsignore,
	vm/reference/gnu/.cvsignore, vm/reference/gnu/vm/.cvsignore,
	vm/reference/gnu/vm/stack/.cvsignore, vm/reference/java/.cvsignore,
	vm/reference/java/lang/.cvsignore,
	vm/reference/java/lang/reflect/.cvsignore, vm/.cvsignore,
	resource/.cvsignore, resource/java/.cvsignore,
	resource/java/util/.cvsignore: ignore Makefile 

2000-06-14 01:08  Brian Jones <cbj@gnu.org>

	* doc/.cvsignore: ignore Makefile ignore *.info 

2000-06-11 20:49  Mark Wielaard <mark@klomp.org>

	* java/util/jar/.cvsignore, java/util/jar/JarFile.java,
	java/util/jar/JarInputStream.java, java/util/jar/Makefile.am,
	java/util/jar/Manifest.java, lib/standard.omit: Add last two
	java.util.jar classes 

2000-06-05 20:27  Mark Wielaard <mark@klomp.org>

	* java/util/jar/JarOutputStream.java, lib/standard.omit,
	java/util/jar/Makefile.am: Add new 1.2 class:
	java/util/jar/JarOutputStream.java 

2000-06-04 21:41  Mark Wielaard <mark@klomp.org>

	* java/util/jar/JarEntry.java, java/util/jar/Makefile.am,
	lib/standard.omit: Add java/util/jar/JarEntry.java: new 1.2 class 

2000-06-04 19:33  Mark Wielaard <mark@klomp.org>

	* java/util/jar/Makefile.am: Jarexception.java not
	JarException.jar. Must go to bed...  

2000-06-04 19:04  Mark Wielaard <mark@klomp.org>

	* configure.in, java/util/zip/Makefile.am: java/util/jar/Makefile
	and java/util/zip Makefile added to configure.in 

2000-06-04 18:40  Mark Wielaard <mark@klomp.org>

	* java/util/jar/Manifest.java: getEntries is a method not a field 

2000-06-04 18:19  Mark Wielaard <mark@klomp.org>

	* java/: lang/Makefile.am, util/Makefile.am, util/jar/Makefile.am: 
	add missing java/dir entries 

2000-06-04 18:18  Mark Wielaard <mark@klomp.org>

	* java/util/jar/: Attributes.java, JarException.java,
	Manifest.java: new 1.2 classes 

2000-06-04 14:50  Mark Wielaard <mark@klomp.org>

	* java/util/Timer.java: java/util/Timer.java: move all waiting
	logic into the queue as suggested by Jochen Hoenicke to prevent race
	conditions 

2000-06-04 13:46  Brian Jones <cbj@gnu.org>

	* include/.cvsignore: added ignore *.h and *.in 

2000-06-04 13:45  Brian Jones <cbj@gnu.org>

	* .cvsignore: removed include from the list to ignore 

2000-05-30 22:03  Mark Wielaard <mark@klomp.org>

	* vm/reference/java/lang/Thread.java: added example to use
	ThreadLocals 

2000-05-30 22:02  Mark Wielaard <mark@klomp.org>

	* java/lang/: InheritableThreadLocal.java, ThreadLocal.java: new
	1.2 classes 

2000-05-30 22:02  Mark Wielaard <mark@klomp.org>

	* java/lang/Package.java: new 1.2 class (but no support in
	ClassLoader yet) 

2000-05-30 22:01  Mark Wielaard <mark@klomp.org>

	* java/util/: Timer.java, TimerTask.java: new 1.3 classes 

2000-05-30 21:59  Mark Wielaard <mark@klomp.org>

	* java/net/JarURLConnection.java: getCertificates returns a
	Certificate[] 

2000-05-30 21:59  Mark Wielaard <mark@klomp.org>

	* java/security/ProtectionDomain.java: constructor should make the
	PermissionCollection read only 

2000-05-21 13:27  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/classpath.mhtml: updated anonymous cvs
	information 

2000-05-20 20:32  Tom Tromey <tromey@cygnus.com>

	* java/: io/BufferedWriter.java, lang/StringBuffer.java: Fixed a
	couple copyright notices 

2000-05-19 23:36  Tom Tromey <tromey@cygnus.com>

	* java/io/: BufferedOutputStream.java, BufferedWriter.java: 
	* BufferedWriter.java: Merged with libgcj.  
	* BufferedOutputStream.java (write(byte[],int,int)): Removed 
	unused `if'.  Don't bother chunking or buffering large writes.  

2000-05-15 09:30  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/String.java: 2000-05-15  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/lang/String.java (trim): Optimize nd' loop. Don't lose the 
	last character of the returned string.  

2000-05-10 11:10  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/StringBuffer.java: 2000-05-10  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/lang/StringBuffer.java (replace): Calculate length for 
	arraycopy() correctly.  

2000-05-10 09:54  Bryce McKinlay <bryce@albatross.co.nz>

	* java/lang/StringBuffer.java: 2000-05-10  Bryce McKinlay 
	<bryce@albatross.co.nz> 
	
	* java/lang/StringBuffer.java (delete): Call arrayCopy() correctly.  
	Avoid arrayCopy() call where possible. Update `count' _after_
	
	calling 
	arrayCopy().  
	(replace): Reimplemented. Fix javadoc.  
	(reverse): Call ensureCapacity_unsynchronized().  
	(StringBuffer (String)): Use DEFAULT_CAPACITY.  

2000-05-09 22:45  Tom Tromey <tromey@cygnus.com>

	* java/lang/StringBuffer.java: 
	Merged with libgcj: 
	* java/lang/StringBuffer.java (toString): Don't mark buffer as 
	shared.  
	(insert(int,char[],int,int): New method.  
	(delete): New method from Classpath.  
	(deleteCharAt): Likewise.  
	(substring): Likewise.  
	(shared): No longer private.  
	Added JavaDoc comments from Classpath.  

2000-05-09 02:12  Tom Tromey <tromey@cygnus.com>

	* gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/peer/gtk/GtkImagePainter.java, java/lang/String.java: 
	From Mark Wielaard <mark@klomp.org>: 
	* gnu/java/awt/peer/gtk/GtkImagePainter.java: Added `package' 
	statement.  
	* gnu/java/awt/image/ImageDecoder.java: Deleted syntactically 
	incorrect code from static block.  
	* java/lang/String.java (String): Removed bogus text.  

2000-05-04 15:52  Tom Tromey <tromey@cygnus.com>

	* java/net/: DatagramPacket.java, MulticastSocket.java: 
	* java/net/MulticastSocket.java (joinGroup): Don't explicitly 
	check for null pointer.  
	(leaveGroup): Likewise.  
	* java/net/DatagramPacket.java (DatagramPacket): Removed erroneous 
	comment.  
	(setData): Likewise.  

2000-04-21 22:27  Tom Tromey <tromey@cygnus.com>

	* java/io/: PipedInputStream.java, PipedOutputStream.java: 
	* PipedOutputStream.java (write(int)): Use `receive', not 
	`write'.  
	(write(byte[],int,int): Likewise.  
	* PipedInputStream.java (receive(byte[],int,int)): Renamed from 
	`write'.  
	(receive(int)): Rewrote.  

2000-04-21 20:05  Tom Tromey <tromey@cygnus.com>

	* java/io/: PipedInputStream.java, PipedReader.java: 
	* PipedInputStream.java (try_not_to_block): Removed.  
	(read): Can return fewer than LEN bytes as long as at least one 
	byte was read.  
	* PipedReader.java (try_not_to_block): Removed.  
	(read): Can return fewer than LEN characters as long as at least 
	one character was read.  
	(connect, close, read, write): Fixed indentation.  

2000-04-20 22:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/MulticastSocket.java: Switch to libgcj implementation,
	merge doc comments 

2000-04-20 20:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: ServerSocket.java, Socket.java, SocketImpl.java: Merge
	in libgcj ; doc cleanup 

2000-04-20 20:19  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/DatagramSocketImpl.java: Doc cleanup 

2000-04-20 20:17  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/DatagramSocket.java: Disregard previous log message. 
	Still using Classpath version on this file with useful libgcj
	portions merged in.  

2000-04-20 20:14  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: DatagramPacket.java, DatagramSocket.java: Switch to
	libgcj implementation; merge in doc comments 

2000-04-20 03:19  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/zip/: .cvsignore, Checksum.java,
	DataFormatException.java, ZipException.java: Initial checkin, files
	from libgcj + .cvsignore 

2000-04-19 03:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/.cvsignore: Added patterns to ignore build output files 

2000-04-19 03:21  Aaron M. Renn <arenn@urbanophile.com>

	* TODO: Add new item about checking for thread safety 

2000-04-19 02:14  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/SocketOptions.java: Convert constants to hex a la
	libgcj; fix transposed values; doc cleanup 

2000-04-19 01:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLDecoder.java: Switch to libgcj version, merge in doc
	comments 

2000-04-19 01:24  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: Authenticator.java, NetPermission.java,
	ContentHandler.java, URLEncoder.java, PasswordAuthentication.java,
	SocketInputStream.java, SocketOutputStream.java: Documentation
	cleanup 

2000-04-19 01:22  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/SocketPermission.java: Partial serialization fix, doc
	cleanup 

2000-04-19 01:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: BindException.java, ConnectException.java,
	ContentHandlerFactory.java, FileNameMap.java,
	MalformedURLException.java, NoRouteToHostException.java,
	ProtocolException.java, SocketException.java,
	SocketImplFactory.java, URLStreamHandlerFactory.java,
	UnknownHostException.java, UnknownServiceException.java: 
	Documentation and other misc cleanup 

2000-04-19 01:12  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Add Gaute Smaaland 

2000-04-19 01:11  Aaron M. Renn <arenn@urbanophile.com>

	* README: Update administrivia 

2000-04-19 01:11  Aaron M. Renn <arenn@urbanophile.com>

	* TODO: Initial checkin 

2000-04-18 05:56  Tom Tromey <tromey@cygnus.com>

	* gnu/java/lang/reflect/TypeSignature.java: 2000-04-17  Andrew
	Haley  <aph@cygnus.com> 
	
	* TypeSignature.java (getClassForEncoding): Don't remove 
	punctuation from the classname of an array element.  

2000-04-01 18:09  Aaron M. Renn <arenn@urbanophile.com>

	* com/sun/javadoc/: MemberDoc.java, ParamTag.java: Fix header lines 

2000-03-22 01:59  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Add carriage return at end 

2000-03-21 02:08  Aaron M. Renn <arenn@urbanophile.com>

	* FOO: Deleting test file 

2000-03-21 02:07  Aaron M. Renn <arenn@urbanophile.com>

	* FOO: Initial Checking 

2000-03-20 04:59  Paul Fisher <rao@gnu.org>

	* javax/swing/: GrayFilter.java, plaf/BorderUIResource.java,
	plaf/UIResource.java: Change license to libgcc-like terms.  

2000-03-20 04:47  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkfontmetrics.c, gdkgraphics.c,
	gthread-jni.c, gthread-jni.h, gtkbuttonpeer.c, gtkcanvaspeer.c,
	gtkcheckboxmenuitempeer.c, gtkcheckboxpeer.c, gtkchoicepeer.c,
	gtkclipboard.c, gtkcomponentpeer.c, gtkevents.c,
	gtkfiledialogpeer.c, gtkimagepainter.c, gtklabelpeer.c,
	gtklistpeer.c, gtkmainthread.c, gtkmenubarpeer.c,
	gtkmenuitempeer.c, gtkmenupeer.c, gtkpanelpeer.c, gtkpeer.h,
	gtkpopupmenupeer.c, gtkscrollbarpeer.c, gtkscrollpanepeer.c,
	gtktextareapeer.c, gtktextcomponentpeer.c, gtktextfieldpeer.c,
	gtktoolkit.c, gtkwindowpeer.c, native_state.c, native_state.h: 
	Update license information.  

2000-03-20 04:26  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.image/gdkpixbufdecoder.c: Add license.  

2000-03-20 04:20  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/: GdkPixbufDecoder.java,
	GtkOffScreenDecoder.java, ImageDecoder.java, XBMDecoder.java: 
	Change license to clearly mark the peer and non-peer AWT libraries.  

2000-03-20 04:14  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkFontMetrics.java, GdkGraphics.java,
	GtkArg.java, GtkArgList.java, GtkButtonPeer.java,
	GtkCanvasPeer.java, GtkCheckButtonPeer.java,
	GtkCheckboxMenuItemPeer.java, GtkCheckboxPeer.java,
	GtkChoicePeer.java, GtkClipboard.java, GtkComponentPeer.java,
	GtkContainerPeer.java, GtkDialogPeer.java, GtkFileDialogPeer.java,
	GtkFontPeer.java, GtkFramePeer.java, GtkGenericPeer.java,
	GtkImage.java, GtkImagePainter.java, GtkLabelPeer.java,
	GtkListPeer.java, GtkMainThread.java, GtkMenuBarPeer.java,
	GtkMenuComponentPeer.java, GtkMenuItemPeer.java, GtkMenuPeer.java,
	GtkOffScreenImage.java, GtkPanelPeer.java, GtkPopupMenuPeer.java,
	GtkRadioButtonPeer.java, GtkScrollPanePeer.java,
	GtkScrollbarPeer.java, GtkTextAreaPeer.java,
	GtkTextComponentPeer.java, GtkTextFieldPeer.java,
	GtkToggleButtonPeer.java, GtkToolkit.java, GtkWindowPeer.java,
	Test.java, TestAWT.java: Reformat license.  Make clear that these
	files are covered under the LGPL.  

2000-03-18 22:45  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: 
	* jikes generates .u files with +M 
	* generating makefile.dep removes the .u files before glibj.zip is 
	created 

2000-03-18 22:40  Brian Jones <cbj@gnu.org>

	* native/lib/Makefile.am: libclasspath_lib -> libclasspath 

2000-03-18 22:25  Brian Jones <cbj@gnu.org>

	* lib/libgcj.omit: initial commit 

2000-03-18 00:41  Paul Fisher <rao@gnu.org>

	* java/awt/peer/: ButtonPeer.java, CanvasPeer.java,
	CheckboxMenuItemPeer.java, CheckboxPeer.java, ChoicePeer.java,
	ComponentPeer.java, ContainerPeer.java, DialogPeer.java,
	FileDialogPeer.java, FontPeer.java, FramePeer.java, LabelPeer.java,
	LightweightPeer.java, ListPeer.java, MenuBarPeer.java,
	MenuComponentPeer.java, MenuItemPeer.java, MenuPeer.java,
	PanelPeer.java, PopupMenuPeer.java, ScrollPanePeer.java,
	ScrollbarPeer.java, TextAreaPeer.java, TextComponentPeer.java,
	TextFieldPeer.java, WindowPeer.java: Change license to clearly
	state that these are part of the non-peer libraries.  

2000-03-17 23:49  Paul Fisher <rao@gnu.org>

	* java/awt/: AWTError.java, AWTEvent.java,
	AWTEventMulticaster.java, AWTException.java, Adjustable.java,
	BorderLayout.java, Button.java, Canvas.java, CardLayout.java,
	Checkbox.java, CheckboxGroup.java, CheckboxMenuItem.java,
	Choice.java, Color.java, Component.java, Container.java,
	Cursor.java, Dialog.java, Dimension.java, EventDispatcher.java,
	EventQueue.java, FileDialog.java, FlowLayout.java, Font.java,
	FontMetrics.java, Frame.java, Graphics.java, GridLayout.java,
	IllegalComponentStateException.java, Image.java,
	ImageMediaEntry.java, Insets.java, ItemSelectable.java, Label.java,
	LayoutManager.java, LayoutManager2.java, List.java,
	MediaEntry.java, MediaTracker.java, Menu.java, MenuBar.java,
	MenuComponent.java, MenuContainer.java, MenuItem.java,
	MenuShortcut.java, Panel.java, Point.java, Polygon.java,
	PopupMenu.java, PrintGraphics.java, PrintJob.java, Rectangle.java,
	ScrollPane.java, ScrollPaneAdjustable.java, Scrollbar.java,
	Shape.java, SystemColor.java, TextArea.java, TextComponent.java,
	TextField.java, Toolkit.java, Window.java,
	datatransfer/Clipboard.java, datatransfer/ClipboardOwner.java,
	datatransfer/DataFlavor.java, datatransfer/FlavorMap.java,
	datatransfer/StringSelection.java, datatransfer/Transferable.java,
	datatransfer/UnsupportedFlavorException.java,
	event/AWTEventListener.java, event/ActionEvent.java,
	event/ActionListener.java, event/AdjustmentEvent.java,
	event/AdjustmentListener.java, event/ComponentAdapter.java,
	event/ComponentEvent.java, event/ComponentListener.java,
	event/ContainerAdapter.java, event/ContainerEvent.java,
	event/ContainerListener.java, event/FocusAdapter.java,
	event/FocusEvent.java, event/FocusListener.java,
	event/InputEvent.java, event/InputMethodEvent.java,
	event/InputMethodListener.java, event/InvocationEvent.java,
	event/ItemEvent.java, event/ItemListener.java,
	event/KeyAdapter.java, event/KeyEvent.java, event/KeyListener.java,
	event/MouseAdapter.java, event/MouseEvent.java,
	event/MouseListener.java, event/MouseMotionAdapter.java,
	event/MouseMotionListener.java, event/PaintEvent.java,
	event/TextEvent.java, event/TextListener.java,
	event/WindowAdapter.java, event/WindowEvent.java,
	event/WindowListener.java, image/AreaAveragingScaleFilter.java,
	image/ColorModel.java, image/CropImageFilter.java,
	image/DirectColorModel.java, image/FilteredImageSource.java,
	image/ImageConsumer.java, image/ImageFilter.java,
	image/ImageObserver.java, image/ImageProducer.java,
	image/IndexColorModel.java, image/MemoryImageSource.java,
	image/PixelGrabber.java, image/RGBImageFilter.java,
	image/ReplicateScaleFilter.java, print/Book.java,
	print/PageFormat.java, print/Pageable.java, print/Paper.java,
	print/Printable.java, print/PrinterAbortException.java,
	print/PrinterException.java, print/PrinterGraphics.java,
	print/PrinterIOException.java, print/PrinterJob.java: Change
	license to clearly state that these are part of the non-peer AWT
	libraries.  

2000-03-17 21:09  Paul Fisher <rao@gnu.org>

	* com/sun/javadoc/: ClassDoc.java, ConstructorDoc.java, Doc.java,
	DocErrorReporter.java, Doclet.java, ExecutableMemberDoc.java,
	FieldDoc.java, MemberDoc.java, MethodDoc.java, PackageDoc.java,
	ParamTag.java, Parameter.java, ProgramElementDoc.java,
	RootDoc.java, SeeTag.java, SerialFieldTag.java, Tag.java,
	ThrowsTag.java, Type.java: Designate as being part of the
	com.sun.javadoc implementation, and therefore, clearly marked as
	being GPL'd.  

2000-03-17 21:00  Paul Fisher <rao@gnu.org>

	* native/: lib/jcl.c, lib/jcl.h, lib/jnilink.c, lib/jnilink.h,
	lib/primlib.c, lib/primlib.h, nsa/native_state.c,
	nsa/native_state.h, vmi/vmi.c, vmi/vmi.h: Change license to
	libgcc-like terms.  

2000-03-17 20:02  Paul Fisher <rao@gnu.org>

	* gnu/java/locale/Calendar.java, gnu/java/locale/Calendar_de.java,
	gnu/java/locale/Calendar_en.java, gnu/java/locale/Calendar_nl.java,
	gnu/java/locale/LocaleInformation.java,
	gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_nl.java, native/java.io/File.c,
	native/java.io/FileDescriptor.c, native/java.io/FileInputStream.c,
	native/java.io/FileOutputStream.c,
	native/java.io/RandomAccessFile.c,
	native/java.io/java_io_ObjectInputStream.c,
	native/java.io/java_io_ObjectOutputStream.c,
	native/java.io/java_io_ObjectStreamClass.c,
	native/java.io/javaio.c, native/java.io/javaio.h,
	native/java.lang/Double.c, native/java.lang/Float.c,
	native/java.lang/Object.c, native/java.lang/System.c,
	native/java.lang/javalang.c, native/java.lang/javalang.h,
	native/java.lang.reflect/Array.c, native/java.math/BigInteger.c,
	native/java.net/InetAddress.c,
	native/java.net/PlainDatagramSocketImpl.c,
	native/java.net/PlainSocketImpl.c, native/java.net/javanet.c,
	native/java.net/javanet.h, native/java.util/ResourceBundle.c,
	native/java.util/TimeZone.c: Change license to libgcc-like terms.  
	Fix copyright lines.  

2000-03-17 19:55  Paul Fisher <rao@gnu.org>

	* gnu/java/beans/: BeanInfoEmbryo.java, EmptyBeanInfo.java,
	ExplicitBeanInfo.java, IntrospectionIncubator.java,
	editors/ColorEditor.java, editors/FontEditor.java,
	editors/NativeBooleanEditor.java, editors/NativeByteEditor.java,
	editors/NativeDoubleEditor.java, editors/NativeFloatEditor.java,
	editors/NativeIntEditor.java, editors/NativeLongEditor.java,
	editors/NativeShortEditor.java, editors/StringEditor.java,
	info/ComponentBeanInfo.java: Change license to libcc-like terms.  

2000-03-17 00:25  Paul Fisher <rao@gnu.org>

	* gnu/java/security/: DefaultPermissionCollection.java,
	der/DEREncodingException.java, provider/DERReader.java,
	provider/DERWriter.java, provider/DSAKeyPairGenerator.java,
	provider/DSAParameterGenerator.java, provider/DSAParameters.java,
	provider/DSASignature.java, provider/Gnu.java,
	provider/GnuDSAPrivateKey.java, provider/GnuDSAPublicKey.java,
	provider/MD5.java, provider/SHA.java, provider/SHA1PRNG.java,
	util/Prime.java: Change licensing terms to libgcc-like.  Change DOS
	EOLs to Unix EOLs.  

2000-03-16 23:51  Paul Fisher <rao@gnu.org>

	* gnu/java/: io/ClassLoaderObjectInputStream.java,
	io/EncodingManager.java, io/NullOutputStream.java,
	io/ObjectIdentityWrapper.java, io/decode/Decoder.java,
	io/decode/Decoder8859_1.java, io/decode/Decoder8859_2.java,
	io/decode/Decoder8859_3.java, io/decode/Decoder8859_4.java,
	io/decode/Decoder8859_5.java, io/decode/DecoderEightBitLookup.java,
	io/decode/DecoderUTF8.java, io/encode/Encoder.java,
	io/encode/Encoder8859_1.java, io/encode/Encoder8859_2.java,
	io/encode/Encoder8859_3.java, io/encode/Encoder8859_4.java,
	io/encode/Encoder8859_5.java, io/encode/EncoderEightBitLookup.java,
	io/encode/EncoderUTF8.java, net/HeaderFieldHelper.java,
	net/content/text/plain.java,
	net/protocol/file/FileURLConnection.java,
	net/protocol/file/Handler.java,
	net/protocol/http/HttpURLConnection.java, lang/ArrayHelper.java,
	lang/ClassHelper.java, lang/ClassLoaderHelper.java,
	lang/ExecutionStack.java, lang/MainThread.java,
	lang/StackFrame.java, lang/reflect/TypeSignature.java: Change
	license to libgcc-like terms.  

2000-03-16 23:31  Paul Fisher <rao@gnu.org>

	* java/lang/: AbstractMethodError.java, ArithmeticException.java,
	ArrayIndexOutOfBoundsException.java, ArrayStoreException.java,
	Boolean.java, Byte.java, Character.java, ClassCastException.java,
	ClassCircularityError.java, ClassFormatError.java,
	ClassLoader.java, ClassNotFoundException.java,
	CloneNotSupportedException.java, Cloneable.java, Comparable.java,
	Compiler.java, Double.java, Error.java, Exception.java,
	ExceptionInInitializerError.java, Float.java,
	IllegalAccessError.java, IllegalAccessException.java,
	IllegalArgumentException.java, IllegalMonitorStateException.java,
	IllegalStateException.java, IllegalThreadStateException.java,
	IncompatibleClassChangeError.java, IndexOutOfBoundsException.java,
	InstantiationError.java, InstantiationException.java, Integer.java,
	InternalError.java, InterruptedException.java, LinkageError.java,
	Long.java, Math.java, NegativeArraySizeException.java,
	NoClassDefFoundError.java, NoSuchFieldError.java,
	NoSuchFieldException.java, NoSuchMethodError.java,
	NoSuchMethodException.java, NullPointerException.java, Number.java,
	NumberFormatException.java, Object.java, OutOfMemoryError.java,
	Process.java, Runnable.java, RuntimeException.java,
	RuntimePermission.java, SecurityException.java,
	SecurityManager.java, Short.java, StackOverflowError.java,
	String.java, StringBuffer.java,
	StringIndexOutOfBoundsException.java, System.java,
	ThreadDeath.java, ThreadGroup.java, Throwable.java,
	UnknownError.java, UnsatisfiedLinkError.java,
	UnsupportedClassVersionError.java,
	UnsupportedOperationException.java, VerifyError.java,
	VirtualMachineError.java, Void.java: Change license to libgcc-like
	terms.  Fix copyright lines.  Mental note: Kill anyone who ever uses
	a different format for the license header.  

2000-03-16 22:33  Paul Fisher <rao@gnu.org>

	* java/lang/System.java, native/java.lang/System.c: Add
	gnu.cpu.endian property.  

2000-03-16 22:24  Paul Fisher <rao@gnu.org>

	* java/lang/reflect/: Array.java, InvocationTargetException.java,
	Member.java, Modifier.java: Change license to libgcc-like terms.  
	Fix copyright lines.  

2000-03-16 20:40  Paul Fisher <rao@gnu.org>

	* java/security/: cert/CertificateEncodingException.java,
	cert/CertificateException.java,
	cert/CertificateExpiredException.java,
	cert/CertificateFactory.java, cert/CertificateFactorySpi.java,
	cert/CRLException.java, cert/Certificate.java,
	cert/CertificateNotYetValidException.java,
	cert/CertificateParsingException.java, cert/CRL.java,
	cert/X509CRLEntry.java, cert/X509Certificate.java,
	cert/X509CRL.java, cert/X509Extension.java,
	spec/AlgorithmParameterSpec.java, spec/DSAParameterSpec.java,
	spec/DSAPrivateKeySpec.java, spec/DSAPublicKeySpec.java,
	spec/EncodedKeySpec.java, spec/InvalidKeySpecException.java,
	spec/InvalidParameterSpecException.java, spec/KeySpec.java,
	spec/PKCS8EncodedKeySpec.java, spec/RSAKeyGenParameterSpec.java,
	spec/RSAPrivateCrtKeySpec.java, spec/RSAPrivateKeySpec.java,
	spec/RSAPublicKeySpec.java, spec/X509EncodedKeySpec.java: Change
	license to libgcc-like terms.  Change DOS EOLs to Unix EOLs.  

2000-03-16 20:23  Paul Fisher <rao@gnu.org>

	* java/: security/acl/Acl.java, security/acl/AclEntry.java,
	security/acl/AclNotFoundException.java, security/acl/Group.java,
	security/acl/LastOwnerException.java,
	security/acl/NotOwnerException.java, security/acl/Owner.java,
	security/acl/Permission.java, lang/ref/PhantomReference.java,
	lang/ref/Reference.java, lang/ref/ReferenceQueue.java,
	lang/ref/SoftReference.java, lang/ref/WeakReference.java: Change
	license to libgcc-like terms.  

2000-03-16 20:18  Paul Fisher <rao@gnu.org>

	* java/security/: AccessControlContext.java,
	AccessControlException.java, AlgorithmParameterGenerator.java,
	AlgorithmParameterGeneratorSpi.java, AlgorithmParameters.java,
	AlgorithmParametersSpi.java, AllPermission.java,
	BasicPermission.java, Certificate.java, CodeSource.java,
	DigestException.java, DigestInputStream.java,
	DigestOutputStream.java, DomainCombiner.java,
	DummyKeyPairGenerator.java, DummyMessageDigest.java,
	DummySignature.java, GeneralSecurityException.java, Guard.java,
	GuardedObject.java, Identity.java, IdentityScope.java,
	InvalidAlgorithmParameterException.java, InvalidKeyException.java,
	InvalidParameterException.java, KeyException.java, KeyFactory.java,
	Key.java, KeyFactorySpi.java, KeyManagementException.java,
	KeyPair.java, KeyPairGenerator.java, KeyPairGeneratorSpi.java,
	KeyStore.java, KeyStoreException.java, KeyStoreSpi.java,
	MessageDigest.java, MessageDigestSpi.java,
	NoSuchAlgorithmException.java, NoSuchProviderException.java,
	Permission.java, PermissionCollection.java, Permissions.java,
	Policy.java, Principal.java, PrivateKey.java,
	PrivilegedAction.java, PrivilegedActionException.java,
	PrivilegedExceptionAction.java, ProtectionDomain.java,
	Provider.java, ProviderException.java, PublicKey.java,
	SecureClassLoader.java, SecureRandom.java, SecureRandomSpi.java,
	Security.java, SecurityPermission.java, Signature.java,
	SignatureException.java, SignatureSpi.java, SignedObject.java,
	Signer.java, UnrecoverableKeyException.java,
	UnresolvedPermission.java, interfaces/DSAKey.java,
	interfaces/DSAKeyPairGenerator.java, interfaces/DSAParams.java,
	interfaces/RSAKey.java, interfaces/RSAPrivateCrtKey.java,
	interfaces/RSAPrivateKey.java, interfaces/RSAPublicKey.java: Change
	license to libgcc-like terms.  Change DOS EOLs to Unix EOLs.  Fix
	copyright lines.  

2000-03-16 19:20  Paul Fisher <rao@gnu.org>

	* java/io/: BlockDataException.java, BufferedInputStream.java,
	BufferedOutputStream.java, BufferedReader.java,
	BufferedWriter.java, ByteArrayInputStream.java,
	ByteArrayOutputStream.java, CharArrayReader.java,
	CharArrayWriter.java, CharConversionException.java, DataInput.java,
	DataInputStream.java, DataOutput.java, DataOutputStream.java,
	EOFException.java, Externalizable.java, File.java,
	FileDescriptor.java, FileFilter.java, FileInputStream.java,
	FileNotFoundException.java, FileOutputStream.java,
	FilePermission.java, FileReader.java, FileWriter.java,
	FilenameFilter.java, FilterInputStream.java,
	FilterOutputStream.java, FilterReader.java, FilterWriter.java,
	IOException.java, InputStream.java, InputStreamReader.java,
	InterruptedIOException.java, InvalidClassException.java,
	InvalidObjectException.java, LineNumberInputStream.java,
	LineNumberReader.java, NotActiveException.java,
	NotSerializableException.java, ObjectInput.java,
	ObjectInputStream.java, ObjectInputValidation.java,
	ObjectOutput.java, ObjectOutputStream.java, ObjectStreamClass.java,
	ObjectStreamConstants.java, ObjectStreamException.java,
	ObjectStreamField.java, OptionalDataException.java,
	OutputStream.java, OutputStreamWriter.java, PipedInputStream.java,
	PipedOutputStream.java, PipedReader.java, PipedWriter.java,
	PrintStream.java, PrintWriter.java, PushbackInputStream.java,
	PushbackReader.java, RandomAccessFile.java, Reader.java,
	Replaceable.java, Resolvable.java, SequenceInputStream.java,
	Serializable.java, SerializablePermission.java,
	StreamCorruptedException.java, StreamTokenizer.java,
	StringBufferInputStream.java, StringReader.java, StringWriter.java,
	SyncFailedException.java, UTFDataFormatException.java,
	UnsupportedEncodingException.java, WriteAbortedException.java,
	Writer.java: Change license to libgcc-like terms.  Fix copyright
	years.  

2000-03-15 23:46  Paul Fisher <rao@gnu.org>

	* java/net/: Authenticator.java, BindException.java,
	ConnectException.java, ContentHandlerFactory.java,
	ContentHandler.java, DatagramPacket.java, DatagramSocketImpl.java,
	DatagramSocket.java, FileNameMap.java, HttpURLConnection.java,
	InetAddress.java, JarURLConnection.java,
	MalformedURLException.java, MimeTypeMapper.java,
	MulticastSocket.java, NetPermission.java,
	NoRouteToHostException.java, PasswordAuthentication.java,
	PlainDatagramSocketImpl.java, PlainSocketImpl.java,
	ProtocolException.java, ServerSocket.java, SocketException.java,
	SocketImplFactory.java, Socket.java, SocketImpl.java,
	SocketInputStream.java, SocketOptions.java,
	SocketOutputStream.java, SocketPermission.java,
	UnknownHostException.java, URLConnection.java, URLDecoder.java,
	UnknownServiceException.java, URL.java, URLEncoder.java,
	URLStreamHandlerFactory.java, URLStreamHandler.java: Change license
	to libgcc-like terms.  Fix copyrights.  

2000-03-15 23:14  Paul Fisher <rao@gnu.org>

	* java/math/: BigDecimal.java, BigInteger.java: Change to
	libgcc-like terms.  Fix copyright lines.  

2000-03-15 22:46  Paul Fisher <rao@gnu.org>

	* java/: applet/Applet.java, applet/AppletContext.java,
	applet/AppletStub.java, applet/AudioClip.java, sql/Array.java,
	sql/BatchUpdateException.java, sql/Blob.java,
	sql/CallableStatement.java, sql/Clob.java, sql/Connection.java,
	sql/DataTruncation.java, sql/DatabaseMetaData.java, sql/Date.java,
	sql/Driver.java, sql/DriverManager.java,
	sql/DriverPropertyInfo.java, sql/PreparedStatement.java,
	sql/Ref.java, sql/ResultSet.java, sql/ResultSetMetaData.java,
	sql/SQLData.java, sql/SQLException.java, sql/SQLInput.java,
	sql/SQLOutput.java, sql/SQLWarning.java, sql/Statement.java,
	sql/Struct.java, sql/Time.java, sql/Timestamp.java, sql/Types.java: 
	Change license to libgcc-like terms.  

2000-03-15 22:42  Paul Fisher <rao@gnu.org>

	* java/: text/Annotation.java,
	text/AttributedCharacterIterator.java, text/AttributedString.java,
	text/AttributedStringIterator.java, text/BreakIterator.java,
	text/CharacterIterator.java, text/ChoiceFormat.java,
	text/CollationElementIterator.java, text/CollationKey.java,
	text/Collator.java, text/DateFormat.java,
	text/DateFormatSymbols.java, text/DecimalFormatSymbols.java,
	text/DefaultBreakIterator.java, text/FieldPosition.java,
	text/Format.java, text/NumberFormat.java, text/ParseException.java,
	text/ParsePosition.java, text/RuleBasedCollator.java,
	text/SimpleDateFormat.java, text/StringCharacterIterator.java,
	beans/BeanDescriptor.java, beans/BeanInfo.java, beans/Beans.java,
	beans/Customizer.java, beans/DesignMode.java,
	beans/EventSetDescriptor.java, beans/FeatureDescriptor.java,
	beans/IndexedPropertyDescriptor.java,
	beans/IntrospectionException.java, beans/Introspector.java,
	beans/MethodDescriptor.java, beans/ParameterDescriptor.java,
	beans/PropertyChangeEvent.java, beans/PropertyChangeListener.java,
	beans/PropertyChangeSupport.java, beans/PropertyDescriptor.java,
	beans/PropertyEditor.java, beans/PropertyEditorManager.java,
	beans/PropertyEditorSupport.java, beans/PropertyVetoException.java,
	beans/SimpleBeanInfo.java, beans/VetoableChangeListener.java,
	beans/Visibility.java, beans/beancontext/BeanContext.java,
	beans/beancontext/BeanContextChild.java,
	beans/beancontext/BeanContextChildComponentProxy.java,
	beans/beancontext/BeanContextChildSupport.java,
	beans/beancontext/BeanContextContainerProxy.java,
	beans/beancontext/BeanContextEvent.java,
	beans/beancontext/BeanContextMembershipEvent.java,
	beans/beancontext/BeanContextMembershipListener.java,
	beans/beancontext/BeanContextProxy.java,
	beans/beancontext/BeanContextServiceAvailableEvent.java,
	beans/beancontext/BeanContextServiceProvider.java,
	beans/beancontext/BeanContextServiceProviderBeanInfo.java,
	beans/beancontext/BeanContextServiceRevokedEvent.java,
	beans/beancontext/BeanContextServiceRevokedListener.java,
	beans/beancontext/BeanContextServices.java,
	beans/beancontext/BeanContextServicesListener.java: Change license
	to libgcc-like terms.  Fix copyright years.  

2000-03-15 21:59  Paul Fisher <rao@gnu.org>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractMap.java, AbstractSequentialList.java, AbstractSet.java,
	ArrayList.java, Arrays.java, BasicMapEntry.java, BitSet.java,
	Bucket.java, Calendar.java, Collection.java, Collections.java,
	Comparator.java, ConcurrentModificationException.java, Date.java,
	Dictionary.java, DoubleEnumeration.java, EmptyStackException.java,
	Enumeration.java, EventListener.java, EventObject.java,
	GregorianCalendar.java, HashMap.java, HashSet.java, Hashtable.java,
	Iterator.java, LinkedList.java, ListIterator.java, List.java,
	ListResourceBundle.java, Locale.java, Map.java,
	MissingResourceException.java, NoSuchElementException.java,
	Observer.java, Properties.java, PropertyPermission.java,
	PropertyResourceBundle.java, Random.java, ResourceBundle.java,
	Set.java, SimpleTimeZone.java, SortedMap.java, SortedSet.java,
	Stack.java, StringTokenizer.java, TimeZone.java,
	TooManyListenersException.java, TreeMap.java, TreeSet.java,
	Vector.java, WeakHashMap.java: Change license to libgcc-like terms.  
	Update copyright lines to contain correct years.  

2000-03-15 21:33  Paul Fisher <rao@gnu.org>

	* java/util/Observable.java: 
	(notifyObservers): Use hasChanged and clearChanged.  

2000-03-15 21:31  Paul Fisher <rao@gnu.org>

	* java/util/Observable.java: Make thread-safe.  

2000-03-09 16:10  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/TreeMap.java: 
	(rbDelete,rbDeleteFixup): Fixed rebalancing (was completely broken).  
	(containsValue): Fixed (searched only half the tree).  
	(dumpMethod): Method for debugging purposes.  

2000-03-06 10:15  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/LinkedList.java: bug fixes.  

2000-03-05 18:49  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: HashMap.java, Hashtable.java, AbstractMap.java,
	WeakHashMap.java: Some bug fixes.  

2000-03-03 15:23  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Vector.java: Fixed some bugs, removed some buggy
	methods, that are already efficiently implemented by AbstractList.  

2000-03-03 15:21  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/AbstractList.java: fixed a off by one bug in
	lastIndexOf() Made SubList an inner class with explicit backing list
	pointer, to remove name conflicts (jikes didn't compile it
	correctly).  

2000-03-03 13:11  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* THANKYOU: added more people, alphabetized again 

2000-03-03 13:00  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: ArrayList.java, Bucket.java, HashMap.java,
	Hashtable.java, Vector.java: patch from Steven Hugg: Don't increase
	modCount on non-structural changes Bucket.add() now returns old
	value directly.  

2000-03-03 11:24  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: TreeMap.java, TreeSet.java: Fixed some bugs reported
	by Martin Schroeder.  Clone is now implemented ;-) FIXME: rbDelete
	is still incorrect and doesn't rebalance in some cases.  

2000-01-31 09:56  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Collections.java: fixed a bug in shuffle (it was
	duplicating some entries, removing others) 

2000-01-08 05:42  Brian Jones <cbj@gnu.org>

	* lib/: Makefile.am, Makefile.am: mkdir -p pkgdatadir if it doesn't
	exist 

2000-01-07 04:39  Brian Jones <cbj@gnu.org>

	* acinclude.m4: changed to not error out if no classes for Japhar
	or Kaffe are found need to implement cache checking, but it's so
	ugly...  

2000-01-07 03:43  Brian Jones <cbj@gnu.org>

	* THANKYOU: # small cleanup 

2000-01-07 03:41  Brian Jones <cbj@gnu.org>

	* java/lang/Double.java: boolean isInfinite(double) -> static
	boolean isInfinite(double) 

2000-01-07 03:40  Brian Jones <cbj@gnu.org>

	* java/lang/Float.java: boolean isInfinite(float) -> static boolean
	isInfinite(float) thanks to Mark Wielaard 

2000-01-03 10:35  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/TimeZone.java: updated timezone data to tzdata1999j 

2000-01-03 04:21  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: patch from Mark Wielaard to only add
	KJC_CLASSPATH to the vm classpath 

1999-12-31 14:05  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: fixed a comment 

1999-12-31 13:58  Brian Jones <cbj@gnu.org>

	* configure.in: changed LIBVERSION="0:0:0" 

1999-12-31 13:51  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: vm/reference to vm/current 

1999-12-31 13:46  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: classpath argument for javah also incorrect 

1999-12-31 13:41  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: did not pass the right arguments to javah when
	it was user specified, fix now to be -jni.  let me rant right now
	and say that all these java tools using whatever the hell they want
	for arguments is totally ****ed up.  

1999-12-31 13:34  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: had two jikes calls switched around, it was
	leaving out the user specified classlib when it shouldn't and adding
	it when it shouldn't 

1999-12-31 06:25  Brian Jones <cbj@gnu.org>

	* acinclude.m4, configure.in, lib/Makefile.am,
	lib/gen-classlist.sh.in, native/gnu.java.awt.image/Makefile.am,
	native/gnu.java.awt.peer.gtk/Makefile.am,
	native/java.io/Makefile.am, native/java.lang/Makefile.am,
	native/java.lang.reflect/Makefile.am, native/java.net/Makefile.am,
	native/java.util/Makefile.am, native/lib/Makefile.am: added support
	for kjc/javac(again), see mail archives 

1999-12-30 23:52  Brian Jones <cbj@gnu.org>

	* lib/.cvsignore: added kaffe here 

1999-12-30 20:02  Brian Jones <cbj@gnu.org>

	* acinclude.m4: fixed it so that japhar and kaffe don't incorrectly
	override bindir and datadir.  

1999-12-30 18:29  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/WeakHashMap.java: added the queue parameter to
	WeakBucket constructor, to fix compiling with javac.  

1999-12-30 17:33  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* configure.in: sorted the output list.  This is necessary to
	configure in another directory: configure cannot create files in
	deeply nested directories, before it created a file in a higher
	directory.  

1999-12-30 17:26  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/lang/Throwable.java: fillInStackTrace():  remove exception
	constructors from stack trace.  constructor:  use fillInStackTrace.  
	printStackTrace(): fixed a bug, simplified.  

1999-12-30 17:19  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* vm/reference/gnu/vm/stack/StackFrame.java: added toString() and
	getCalledClass() 

1999-12-30 17:08  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* scripts/timezones.pl: fixed a off by one error in month length
	lookup.  This affected only the America/Godthab timezone.  

1999-12-30 17:03  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/SimpleTimeZone.java: Added getDSTSavings() 

1999-12-30 16:58  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: SimpleTimeZone.java, TimeZone.java: fixed a few bugs.  

1999-12-30 16:47  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Arrays.java: added the sort(Object[], fromIndex,
	toIndex...) methods added a defaultComparator, that is used to
	compare if no comparator given.  rewrote the mergeSort method.  

1999-12-30 15:43  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.image/Makefile.am: changed libdir to
	pkglibdir for installation changed JAPAHR_CFLAGS to EXTRA_INCLUDES 
	changed 0:0:0 to @LIBVERSION@ 

1999-12-30 15:39  Brian Jones <cbj@gnu.org>

	* java/lang/Math.java: changed java_lang_Math to javalangmath for
	System.loadLibrary() call 

1999-12-30 15:36  Brian Jones <cbj@gnu.org>

	* vm/Makefile.am: fixed problem with autoheader complaining about
	the missing subdir 

1999-12-30 03:16  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: ImageMediaEntry.java, MediaEntry.java,
	MediaTracker.java: Committing these unfinished modules.  They don't
	compile but somebody might want to hack on them.  IIRC, the problem
	is that I can't figure out how to implement them based on the only
	spec I have - namely the Serialized Form listing in the Javadocs.  

1999-12-30 02:26  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/Makefile.am: Fix syntax error in @LIBVERSION@
	autoconf variable 

1999-12-30 01:24  Aaron M. Renn <arenn@urbanophile.com>

	* lib/standard.omit: Add a few unfinished AWT classes 

1999-12-29 21:56  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: install class files in pkgdatadir instead of
	datadir 

1999-12-29 21:54  Brian Jones <cbj@gnu.org>

	* native/testsuite/Makefile.am: commented out everything 

1999-12-29 21:33  Brian Jones <cbj@gnu.org>

	* native/: gnu.java.awt.peer.gtk/Makefile.am, java.net/Makefile.am,
	java.util/Makefile.am, lib/Makefile.am: install into pkglibdir
	instead of libdir 

1999-12-29 21:28  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/Makefile.am: using pkglibdir instead of
	libdir 

1999-12-29 21:26  Brian Jones <cbj@gnu.org>

	* native/java.io/Makefile.am: simplified Makefile using pkglibdir
	instead of libdir 

1999-12-29 21:18  Brian Jones <cbj@gnu.org>

	* native/java.lang/Makefile.am: switched to installing into
	pkglibdir 

1999-12-29 20:28  Brian Jones <cbj@gnu.org>

	* native/java.lang/Makefile.am: simplified Makefile 

1999-12-29 20:09  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Object.c, System.c: include appropriate
	headers 

1999-12-29 20:08  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Object.h, System.h: autogenerated 

1999-12-29 19:58  Brian Jones <cbj@gnu.org>

	* HACKING: updated TODO list and added more build information 

1999-12-29 18:49  Brian Jones <cbj@gnu.org>

	* vm/kaffe/: Makefile.am, java/Makefile.am, kaffe/Makefile.am,
	native/Makefile.am: initial checkin 

1999-12-29 18:45  Brian Jones <cbj@gnu.org>

	* configure.in, acinclude.m4, lib/Makefile.am,
	lib/gen-classlist.sh.in, vm/Makefile.am, configure.in,
	configure.in: configure work to support kaffe 

1999-12-29 01:52  Aaron M. Renn <arenn@urbanophile.com>

	* java/applet/: Applet.java, AppletContext.java, AppletStub.java,
	AudioClip.java: Initial Checkin 

1999-12-28 18:44  Brian Jones <cbj@gnu.org>

	* java/io/ObjectInputStream.java: Made changes suggested by kopi
	
	(kjc) compiler team to be in keeping with JLS 4.5.4.  The changes
	may be unnecessary but should not affect the outcome of compiling
	with any other compiler.  

1999-12-28 16:31  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Hashtable.java: fixed a bug in equals (spotted by Mark
	Wielaard).  

1999-12-21 03:17  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/: Makefile.am, MemoryImageSource.java: Added
	java.awt.image.MemoryImageSource and update Makefile.am 

1999-12-20 09:43  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* gnu/java/locale/: Calendar.java, Calendar_de.java,
	Calendar_en.java, Calendar_nl.java, LocaleInformation_de.java,
	LocaleInformation_en.java, LocaleInformation_nl.java: Moved
	calendar specific locales into its own resource bundle.  Fixed some
	more typos in LocaleInformation_nl 

1999-12-20 09:39  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: Calendar.java, GregorianCalendar.java, Locale.java: 
	Fixed typo in getAvailableLocales()  (thanks to Mark Wielaard) 
	(Gregorian)?Calendar now uses its own resource bundle.  

1999-12-18 05:37  Mark Benvenuto <mcb54@columbia.edu>

	* javax/swing/GrayFilter.java: Add GrayFilter so I can eventually
	test java.awt.image.RGBImageFilter 

1999-12-18 05:03  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/PixelGrabber.java: java.awt.image.PixelGrabber is
	for the most part finished 

1999-12-18 02:32  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/Makefile.am: Enable compilation of java.awt.image 

1999-12-18 00:25  Mark Benvenuto <mcb54@columbia.edu>

	* configure.in: Compile java.awt.image now 

1999-12-18 00:24  Mark Benvenuto <mcb54@columbia.edu>

	* lib/standard.omit: We can now compile java.awt.image 

1999-12-18 00:23  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/Makefile.am: Automate compiling of java.awt.image 

1999-12-18 00:22  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/: AreaAveragingScaleFilter.java,
	CropImageFilter.java, DirectColorModel.java,
	FilteredImageSource.java, ImageFilter.java, IndexColorModel.java,
	ReplicateScaleFilter.java: Compilation fixes for java.awt.image 

1999-12-17 21:18  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/RGBImageFilter.java: RGBImageFilter - still needs
	some tweaks and bug testing 

1999-12-17 18:51  Mark Benvenuto <mcb54@columbia.edu>

	* java/awt/image/: DirectColorModel.java, ColorModel.java: Fixed
	Compilation Errors in java.awt.image.ColorModel and DirectColorModel 

1999-12-16 10:54  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/text/: DateFormat.java, DateFormatSymbols.java: submitted
	patch by Mark Wielaard.  

1999-12-16 10:50  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* gnu/java/locale/: LocaleInformation_de.java,
	LocaleInformation_en.java, LocaleInformation_nl.java, Makefile.am: 
	submitted patch by Mark Wielaard: Added LocaleInformation_nl and
	fixed a typo in other locales.  

1999-12-16 10:45  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* THANKYOU: added Mark Wielaard 

1999-12-15 05:05  Brian Jones <cbj@gnu.org>

	* java/awt/image/DirectColorModel.java: rearranged constructor 

1999-12-15 05:04  Brian Jones <cbj@gnu.org>

	* java/awt/image/: FilteredImageSource.java, IndexColorModel.java: 
	initial commit 

1999-12-14 03:58  Brian Jones <cbj@gnu.org>

	* java/awt/image/ColorModel.java: masks for creating default color
	model are correct now according to JDK 

1999-12-14 03:30  Brian Jones <cbj@gnu.org>

	* java/awt/image/ColorModel.java: # this might be the right form
	for the bits... ? 

1999-12-14 02:10  Brian Jones <cbj@gnu.org>

	* java/awt/image/ColorModel.java: # call DirectColorModel
	appropriately 

1999-12-14 02:08  Brian Jones <cbj@gnu.org>

	* java/awt/image/: CropImageFilter.java, DirectColorModel.java: 
	initial commit 

1999-12-14 01:56  Brian Jones <cbj@gnu.org>

	* java/awt/image/: AreaAveragingScaleFilter.java, ColorModel.java,
	ReplicateScaleFilter.java: initial commits 

1999-12-13 21:39  Brian Jones <cbj@gnu.org>

	* doc/Makefile.am: added vmintegration.texinfo to info_TEXINFOS 

1999-12-12 17:42  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/VMClassLoader.java: Minor syntax error
	(method should be static).  

1999-12-10 14:42  Brian Jones <cbj@gnu.org>

	* vm/reference/java/lang/Class.java,
	vm/reference/java/lang/VMClassLoader.java, java/lang/Boolean.java,
	java/lang/Byte.java, java/lang/Character.java,
	java/lang/Double.java, java/lang/Float.java,
	java/lang/Integer.java, java/lang/Long.java, java/lang/Short.java,
	java/lang/Void.java: changing Class.getPrimitiveClass back to
	VMClassLoader.getPrimitiveClass, thanks John 

1999-12-10 04:35  Brian Jones <cbj@gnu.org>

	* java/lang/Boolean.java, java/lang/Byte.java,
	java/lang/Character.java, java/lang/Double.java,
	java/lang/Float.java, java/lang/Integer.java, java/lang/Long.java,
	java/lang/Short.java, java/lang/Void.java,
	vm/reference/java/lang/Class.java,
	vm/reference/java/lang/VMClassLoader.java: changed
	VMCLassLoader.getPrimitiveClass to Class.getPrimitiveClass 

1999-12-09 04:56  Brian Jones <cbj@gnu.org>

	* doc/vmintegration.texinfo: updated menus C-u C-c C-u m is your
	friend 

1999-12-07 00:38  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/Makefile.am: removed reflect.c and
	reflect.h 

1999-12-07 00:37  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/: Constructor.c, Field.c, Method.c,
	reflect.c, reflect.h: the VM must implement these 

1999-12-07 00:33  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/TODO: no longer pertinent 

1999-11-27 05:54  Brian Jones <cbj@gnu.org>

	* java/awt/image/ImageFilter.java: clone() throws
	CloneNotSupportedException in Java 2 

1999-11-27 05:53  Brian Jones <cbj@gnu.org>

	* java/lang/Error.java: # typo 

1999-11-27 05:46  Brian Jones <cbj@gnu.org>

	* java/awt/image/ImageFilter.java: initial commit 

1999-11-26 15:31  Brian Jones <cbj@gnu.org>

	* java/awt/image/ImageConsumer.java: # typos 

1999-11-26 15:29  Brian Jones <cbj@gnu.org>

	* java/awt/image/: ImageObserver.java, ImageProducer.java: initial
	commit 

1999-11-26 06:21  Brian Jones <cbj@gnu.org>

	* java/awt/image/ImageConsumer.java: initial checkin 

1999-11-26 06:05  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: omit java.awt.image 

1999-11-26 04:53  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: # fixed it so mkdep can detect more native
	methods 

1999-11-26 04:27  Brian Jones <cbj@gnu.org>

	* java/: net/PlainSocketImpl.java, io/File.java: # fixed it so
	mkdep can detect the native method 

1999-11-26 01:29  Brian Jones <cbj@gnu.org>

	* java/net/: InetAddress.java, PlainDatagramSocketImpl.java: #
	fixed it so mkdep can detect the native method 

1999-11-26 01:13  Brian Jones <cbj@gnu.org>

	* HACKING: notes on obtaining gdk-pixbuf 

1999-11-26 00:44  Brian Jones <cbj@gnu.org>

	* .cvsignore: added stamp-h.in, include 

1999-11-26 00:44  Brian Jones <cbj@gnu.org>

	* native/java.util/.cvsignore: initial commit 

1999-11-26 00:38  Brian Jones <cbj@gnu.org>

	* java/util/TimeZone.java: # made a change to help me catch this
	native method 

1999-11-26 00:30  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/: Array.c, Constructor.c, Field.c,
	Method.c: updated #include 

1999-11-26 00:29  Brian Jones <cbj@gnu.org>

	* native/: java.lang.reflect/Array.h,
	java.lang.reflect/Constructor.h, java.lang.reflect/Field.h,
	java.lang.reflect/Method.h, java.net/java_net_InetAddress.h,
	java.net/java_net_PlainDatagramSocketImpl.h,
	java.net/java_net_PlainSocketImpl.h,
	java.util/java_util_ResourceBundle.h,
	java.util/java_util_TimeZone.h: autogenerated 

1999-11-26 00:23  Brian Jones <cbj@gnu.org>

	* native/: java.io/java_io_File.h,
	java.io/java_io_FileInputStream.h,
	java.io/java_io_FileOutputStream.h,
	java.io/java_io_ObjectInputStream.h,
	java.io/java_io_ObjectOutputStream.h,
	java.io/java_io_ObjectStreamClass.h,
	java.io/java_io_RandomAccessFile.h, java.lang/java_lang_Double.h,
	java.lang/java_lang_Float.h, java.lang/java_lang_Math.h: 
	autogenerated now 

1999-11-26 00:04  Brian Jones <cbj@gnu.org>

	* java/lang/Double.java: # typo 

1999-11-24 01:49  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.image/Makefile.am: Fix to properly link
	against gtkpeer.  

1999-11-24 01:01  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/ImageDecoder.java: Remove `public' from
	produce method.  

1999-11-23 05:06  Geoff Berry <gcb@gnu.org>

	* java/io/: ObjectStreamClass.java, ObjectStreamConstants.java,
	ObjectStreamField.java: Added Get/PutField support.  

1999-11-23 05:03  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: Added GetField class and
	associated methods.  

1999-11-23 05:01  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectOutputStream.java: Added PutField class and
	associated methods.  

1999-11-23 00:14  Paul Fisher <rao@gnu.org>

	* lib/standard.omit: Remove reference to GdkPixbufLoader 

1999-11-23 00:13  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/GdkPixbufDecoder.java: Initial commit.  

1999-11-23 00:12  Paul Fisher <rao@gnu.org>

	* configure.in, native/gnu.java.awt.image/Makefile.am,
	native/gnu.java.awt.image/gdkpixbufdecoder.c: Add in gdk-pixbuf
	code.  

1999-11-23 00:10  Paul Fisher <rao@gnu.org>

	* HACKING: Add gdk-pixbuf requirement.  

1999-11-22 21:38  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: 
	(setVisible): Override ComponentPeer.setVisible, so we can call an 
	XFlush after gdk_window_show.  

1999-11-22 21:35  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: XFlush to keep
	events moving along.  

1999-11-22 21:00  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c: 
	(translateNative): Remove race condition on set/get of
	{x,y}_offsets.  

1999-11-22 20:58  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c: 
	(dispose): Replace gdk_flush () with XFlush (GDK_DISPLAY ()).  

1999-11-21 22:44  Brian Jones <cbj@gnu.org>

	* COPYING.LIB: updated to version 2.1 

1999-11-20 23:40  Geoff Berry <gcb@gnu.org>

	* native/java.io/: java_io_ObjectInputStream.c,
	java_io_ObjectOutputStream.c, java_io_ObjectStreamClass.c: Convert
	C++ style comments to C style comments.  

1999-11-20 01:52  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Test.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkpanelpeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c,
	native/gnu.java.awt.peer.gtk/gtkscrollpanepeer.c: Make ScrollPanes
	and Scrollbars work reasonably well.  

1999-11-19 20:27  Paul Fisher <rao@gnu.org>

	* java/awt/event/AdjustmentEvent.java: Change "BLOCK_INCREMENTS" to
	"BLOCK_INCREMENT".  

1999-11-19 20:16  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c: 
	(connectHooks): Connect "value_changed" to adjustment.  

1999-11-19 19:41  Paul Fisher <rao@gnu.org>

	* java/awt/ScrollPane.java: Really fix static final constants.  

1999-11-19 18:10  Paul Fisher <rao@gnu.org>

	* java/awt/ScrollPane.java: Fix static final constants.  

1999-11-19 02:52  Aaron M. Renn <arenn@urbanophile.com>

	* doc/www.gnu.org/: status.mhtml, macros.mhtml: Update status to
	reflect that I'm doing java.awt.applet and that Mark Benvenuto is
	doing java.security.* 

1999-11-19 02:15  Mark Benvenuto <mcb54@columbia.edu>

	* AUTHORS, java/security/AccessControlContext.java,
	java/security/BasicPermission.java,
	java/security/DomainCombiner.java,
	java/security/KeyPairGenerator.java, java/security/Signature.java,
	java/security/cert/Certificate.java,
	java/security/interfaces/RSAKey.java,
	java/security/interfaces/RSAPrivateKey.java,
	java/security/interfaces/RSAPublicKey.java,
	java/security/spec/RSAKeyGenParameterSpec.java: Updated the AUTHORS
	file so I am reflected as an author. Commited some JDK 1.3 Beta
	updates to java.security 

1999-11-18 05:39  Brian Jones <cbj@gnu.org>

	* HACKING: GNU Classpath has no compile errors with Java source
	code now.  
	Changed documentation on building to note that kaffeh has a bug
	which makes it useless for some .h generation at the moment, but
	javah from Sun works.  
	Note on jni.h and why we currently require Japhar for it.  

1999-11-18 05:31  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: entering no compile errors phase 

1999-11-18 05:12  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: removed java.awt.even.InputMethodListener
	which was causing InputMethodEvent to be compiled 

1999-11-18 04:46  Brian Jones <cbj@gnu.org>

	* lib/: Makefile.am, mkdep.pl.in: fix problem with always
	generating headers when glibj.zip changes 

1999-11-18 03:20  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Updating with new guy 

1999-11-18 02:24  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/ChoiceFormat.java: Stub out missing format() method -
	hope it compiles 

1999-11-18 02:22  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/Thread.java: Stub out
	getContextClassLoader - hope it compiles 

1999-11-18 01:10  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: 
	(getFontMetrics): Make compile.  

1999-11-18 01:02  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: 
	(getColorModel, getFontMetrics): Implement.  

1999-11-18 00:43  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c: Add back scrollbar
	support (should work).  

1999-11-18 00:42  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: 
	(getType): remove 

1999-11-18 00:07  Paul Fisher <rao@gnu.org>

	* java/security/SecureClassLoader.java: Add Mark's updates.  

1999-11-17 03:44  Brian Jones <cbj@gnu.org>

	* Makefile.am: added dist-hook 

1999-11-17 02:24  Paul Fisher <rao@gnu.org>

	* configure.in, native/gnu.java.awt.peer.gtk/gtkimagepainter.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h, native/java.lang/fdlibm.h,
	native/java.math/BigInteger.c: Check for byte order with autoconf.  

1999-11-17 02:05  Paul Fisher <rao@gnu.org>

	* acinclude.m4, configure.in,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java,
	gnu/java/awt/peer/gtk/TestAWT.java, java/awt/Dialog.java,
	java/awt/Graphics.java, java/awt/Image.java, java/awt/Menu.java,
	java/awt/Toolkit.java, java/awt/peer/ComponentPeer.java,
	java/awt/peer/MenuPeer.java, java/awt/peer/PopupMenuPeer.java,
	lib/standard.omit, native/gnu.java.awt.peer.gtk/Makefile.am,
	native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	native/gnu.java.awt.peer.gtk/gtkimagepainter.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h: Make peers build with
	toplevel build environment.  

1999-11-17 01:51  Paul Fisher <rao@gnu.org>

	* java/awt/MenuComponent.java: Change parent to be a MenuContainer.  

1999-11-16 06:20  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile.am: Remove
	gtkcontainerpeer.c.  

1999-11-16 06:20  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcontainerpeer.c: no longer
	necessary.  

1999-11-16 06:02  Paul Fisher <rao@gnu.org>

	* java/awt/PopupMenu.java: show: Call proper peer method.  

1999-11-16 05:32  Paul Fisher <rao@gnu.org>

	* java/awt/Rectangle.java: Add translate (int, int).  

1999-11-16 05:28  Paul Fisher <rao@gnu.org>

	* lib/mkdep.pl.in: Change regex in hasNativeMethod.  

1999-11-16 05:08  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile.am: Remove gtkdialogpeer.c 

1999-11-16 05:07  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkdialogpeer.c: no longer needed.  

1999-11-16 03:21  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Forgot to commit
	earlier.  

1999-11-16 01:35  Paul Fisher <rao@gnu.org>

	* HACKING: Add libart_lgpl dependency.  

1999-11-16 01:32  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkbuttonpeer.c, gtkcanvaspeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkcomponentpeer.c,
	gtkevents.c, gtkfiledialogpeer.c, gtkimagepainter.c,
	gtklabelpeer.c, gtklistpeer.c, gtkmenuitempeer.c, gtkpanelpeer.c,
	gtkscrollbarpeer.c, gtkscrollpanepeer.c, gtktextareapeer.c,
	gtktextfieldpeer.c, gtkwindowpeer.c: toshok-style commit.  

1999-11-16 01:20  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/: ImageDecoder.java, XBMDecoder.java: Change
	framework to allow for proper reloading of image data.  

1999-11-16 01:19  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkToolkit.java, GtkWindowPeer.java,
	GtkTextComponentPeer.java, GtkTextFieldPeer.java,
	GtkScrollPanePeer.java, GtkListPeer.java, GtkPanelPeer.java,
	GtkLabelPeer.java, GtkImagePainter.java, GtkImage.java,
	GtkFramePeer.java, GtkDialogPeer.java, GtkFileDialogPeer.java,
	GtkContainerPeer.java, GtkComponentPeer.java, GtkCanvasPeer.java,
	GtkChoicePeer.java, GtkButtonPeer.java, GdkGraphics.java,
	GtkRadioButtonPeer.java, GtkCheckButtonPeer.java,
	GtkToggleButtonPeer.java, GtkArg.java, GtkArgList.java: Implement
	image functions in GdkGraphics.  Depend on libart.  Major design
	changes.  

1999-11-15 20:36  Jim Blair <jeblair@eos.ncsu.edu>

	* doc/www.gnu.org/classpath.mhtml: Mailing list archive is now
	linked to from the web page.  

1999-11-15 13:17  Brian Jones <cbj@gnu.org>

	* HACKING: todo updates and how to build updates 

1999-11-14 14:52  Brian Jones <cbj@gnu.org>

	* configure.in: japhar check only forced if you do not define javah
	and classlib and you are in either of developer or maintainer build
	mode 

1999-11-13 18:10  Brian Jones <cbj@gnu.org>

	* native/: java.lang/Makefile.am, java.lang.reflect/Makefile.am,
	java.net/Makefile.am, java.util/Makefile.am, lib/Makefile.am: added
	-I$(top_srcdir)/include to INCLUDES 

1999-11-13 18:10  Brian Jones <cbj@gnu.org>

	* native/java.io/Makefile.am: added -I/include to INCLUDES 

1999-11-13 18:09  Brian Jones <cbj@gnu.org>

	* native/Makefile.am: removed config.h stuff 

1999-11-13 18:03  Brian Jones <cbj@gnu.org>

	* lib/: Makefile.am, mkdep.pl.in, standard.omit: updates 

1999-11-13 18:02  Brian Jones <cbj@gnu.org>

	* java/util/Random.java: public int next(int) -> protected int
	next(int) to match 1.1/1.2 signatures 

1999-11-13 18:02  Brian Jones <cbj@gnu.org>

	* java/security/SecureClassLoader.java: added two missing
	semicolons 

1999-11-13 17:59  Brian Jones <cbj@gnu.org>

	* configure.in: config.h generated in include/ 

1999-11-13 17:57  Brian Jones <cbj@gnu.org>

	* lib/java.dep: generated in build 

1999-11-13 17:57  Brian Jones <cbj@gnu.org>

	* lib/.cvsignore: added java.dep and compile-classes 

1999-11-13 17:49  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/image/.cvsignore,
	gnu/java/security/provider/.cvsignore, java/awt/.cvsignore,
	java/awt/peer/.cvsignore, java/awt/datatransfer/.cvsignore,
	java/awt/event/.cvsignore, java/awt/print/.cvsignore,
	java/awt/image/.cvsignore, java/beans/beancontext/.cvsignore,
	java/lang/ref/.cvsignore, java/security/cert/.cvsignore,
	java/security/spec/.cvsignore, projects/swing/COPYING.LIB, HACKING: 
	initial checkin 

1999-11-13 17:16  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/: GdkGraphics.h, Makefile,
	Makefile.am: removed autogenerated .h files 

1999-11-13 17:14  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkfontmetrics.c, gdkgraphics.c,
	gtkbuttonpeer.c, gtkcanvaspeer.c, gtkcheckboxmenuitempeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkclipboard.c,
	gtkcomponentpeer.c, gtkcontainerpeer.c, gtkdialogpeer.c,
	gtkfiledialogpeer.c, gtkimagepainter.c, gtklabelpeer.c,
	gtklistpeer.c, gtkmainthread.c, gtkmenubarpeer.c,
	gtkmenuitempeer.c, gtkmenupeer.c, gtkpanelpeer.c,
	gtkpopupmenupeer.c, gtkscrollbarpeer.c, gtkscrollpanepeer.c,
	gtktextareapeer.c, gtktextcomponentpeer.c, gtktextfieldpeer.c,
	gtktoolkit.c, gtkwindowpeer.c: include files are autogenerated by
	the build and located in $(top_srcdir)/include include files have
	gnu_java_awt_peer_gtk_ prepended as is normal with javah include
	directives in *.c updated appropriately 

1999-11-13 16:56  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/GtkButtonPeer.h,
	native/gnu.java.awt.peer.gtk/GtkCanvasPeer.h,
	native/gnu.java.awt.peer.gtk/GtkCheckboxPeer.h,
	native/gnu.java.awt.peer.gtk/GtkChoicePeer.h,
	native/gnu.java.awt.peer.gtk/GtkClipboard.h,
	native/gnu.java.awt.peer.gtk/GtkComponentPeer.h,
	native/gnu.java.awt.peer.gtk/GtkContainerPeer.h,
	native/gnu.java.awt.peer.gtk/GtkDialogPeer.h,
	native/gnu.java.awt.peer.gtk/GtkFileDialogPeer.h,
	native/gnu.java.awt.peer.gtk/GtkFramePeer.h,
	native/gnu.java.awt.peer.gtk/GtkGenericPeer.h,
	native/gnu.java.awt.peer.gtk/GtkImage.h,
	native/gnu.java.awt.peer.gtk/GtkImagePainter.h,
	native/gnu.java.awt.peer.gtk/GtkLabelPeer.h,
	native/gnu.java.awt.peer.gtk/GtkListPeer.h,
	native/gnu.java.awt.peer.gtk/GtkMainThread.h,
	native/gnu.java.awt.peer.gtk/GtkPanelPeer.h,
	native/gnu.java.awt.peer.gtk/GtkScrollPanePeer.h,
	native/gnu.java.awt.peer.gtk/GtkScrollbarPeer.h,
	native/gnu.java.awt.peer.gtk/GtkTextAreaPeer.h,
	native/gnu.java.awt.peer.gtk/GtkTextComponentPeer.h,
	native/gnu.java.awt.peer.gtk/GtkTextFieldPeer.h,
	native/gnu.java.awt.peer.gtk/GtkToolkit.h,
	native/gnu.java.awt.peer.gtk/GtkWindowPeer.h,
	native/gnu.java.awt.peer.gtk/Makefile,
	gnu/java/awt/peer/gtk/Makefile: no longer needed 

1999-11-13 15:48  Brian Jones <cbj@gnu.org>

	* java/awt/peer/ComponentPeer.java: removed bogus method
	nextFocus() 

1999-11-13 05:47  Brian Jones <cbj@gnu.org>

	* java/awt/: Button.java, Canvas.java, Checkbox.java,
	CheckboxMenuItem.java, Choice.java, Dialog.java, FileDialog.java,
	Label.java, List.java, MenuBar.java, Panel.java, ScrollPane.java,
	Scrollbar.java, TextArea.java, TextComponent.java, TextField.java,
	peer/ButtonPeer.java, peer/CanvasPeer.java,
	peer/CheckboxMenuItemPeer.java, peer/CheckboxPeer.java,
	peer/ChoicePeer.java, peer/ContainerPeer.java,
	peer/DialogPeer.java, peer/FileDialogPeer.java,
	peer/FramePeer.java, peer/LabelPeer.java,
	peer/LightweightPeer.java, peer/ListPeer.java,
	peer/MenuBarPeer.java, peer/MenuItemPeer.java, peer/MenuPeer.java,
	peer/PanelPeer.java, peer/PopupMenuPeer.java,
	peer/ScrollPanePeer.java, peer/ScrollbarPeer.java,
	peer/TextAreaPeer.java, peer/TextComponentPeer.java,
	peer/TextFieldPeer.java, peer/WindowPeer.java: more changes for
	compiling 

1999-11-12 04:17  Brian Jones <cbj@gnu.org>

	* java/awt/: CheckboxMenuItem.java, Dialog.java, Frame.java,
	Menu.java, MenuItem.java, PopupMenu.java, Window.java: less than
	half of the fixes needed to compile 

1999-11-12 03:48  Brian Jones <cbj@gnu.org>

	* java/awt/peer/: CanvasPeer.java, CheckboxMenuItemPeer.java,
	CheckboxPeer.java, ChoicePeer.java, ContainerPeer.java,
	DialogPeer.java, FileDialogPeer.java, FramePeer.java,
	LabelPeer.java, LightweightPeer.java, ListPeer.java,
	MenuBarPeer.java, MenuItemPeer.java, MenuPeer.java, PanelPeer.java,
	PopupMenuPeer.java, ScrollPanePeer.java, ScrollbarPeer.java,
	TextAreaPeer.java, TextComponentPeer.java, TextFieldPeer.java,
	WindowPeer.java: changed extends *Peer to implements *Peer 

1999-11-12 03:10  Brian Jones <cbj@gnu.org>

	* java/awt/AWTEventMulticaster.java: 
	remove(TextListener,TextListener): added method 

1999-11-12 01:56  Brian Jones <cbj@gnu.org>

	* java/awt/Toolkit.java: added method DialogPeer
	createDialog(Dialog target) 

1999-11-12 01:43  Brian Jones <cbj@gnu.org>

	* java/awt/peer/ButtonPeer.java: removed extends object... must be
	tired 

1999-11-12 01:29  Brian Jones <cbj@gnu.org>

	* java/awt/peer/ButtonPeer.java: changed extends ComponentPeer to
	implements ComponentPeer and added extends Object 

1999-11-11 23:24  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: compile stuff in gnu/java/awt/peer/gtk 

1999-11-11 23:24  Brian Jones <cbj@gnu.org>

	* native/Makefile.am: gnu.java.awt.peer.gtk back in SUBDIRS 

1999-11-11 23:23  Brian Jones <cbj@gnu.org>

	* native/: config.h, config.h.in: no longer needed 

1999-11-11 23:21  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: distinguish java.awt.List
	from java.util.List 

1999-11-11 22:43  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: do not compile stuff in gnu/java/awt/peer/gtk 

1999-11-11 22:41  Brian Jones <cbj@gnu.org>

	* native/Makefile.am: do not compile stuff in gnu.java.awt.peer.gtk 

1999-11-11 04:50  Brian Jones <cbj@gnu.org>

	* lib/.cvsignore: ignore more stuff 

1999-11-11 04:49  Brian Jones <cbj@gnu.org>

	* java/beans/beancontext/Makefile.am: initial checkin 

1999-11-11 04:48  Brian Jones <cbj@gnu.org>

	* .cvsignore: ignore config.h* 

1999-11-11 04:40  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: updates 

1999-11-10 14:05  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: properly generate headers.dep, really 

1999-11-10 14:02  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: properly generate headers.dep 

1999-11-08 04:34  Brian Jones <cbj@gnu.org>

	* java/beans/Makefile.am: # fixed missing \ 

1999-11-07 20:01  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: ignore some errors 

1999-11-07 19:57  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: mostly working java build with jikes 

1999-11-06 04:55  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/: FileInputStream.c, RandomAccessFile.c, javaio.c,
	javaio.h: Fix seek problem 

1999-11-04 13:57  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Float.c, Double.c: patch to remove Japhar
	kludge from Chris Toshok 

1999-11-04 05:23  Brian Jones <cbj@gnu.org>

	* Makefile.am: definitely make lib before native 

1999-11-04 05:23  Brian Jones <cbj@gnu.org>

	* lib/: Makefile.am, standard.omit, java.dep: updates 

1999-10-30 15:51  Brian Jones <cbj@gnu.org>

	* javax/swing/plaf/: BorderUIResource.java, UIResource.java: 
	finished the move 

1999-10-29 22:53  Brian Jones <cbj@gnu.org>

	* java/awt/datatransfer/DataFlavor.java: static(): fixed a problem
	with initializing static final variables which jikes did not like by
	creating another intermediate non-final static variable and
	assigning its value to each final variable exactly once.  

1999-10-24 08:55  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: added CSO flag again 

1999-10-24 08:47  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: minor oops 

1999-10-24 08:44  Brian Jones <cbj@gnu.org>

	* configure.in: updated 

1999-10-24 08:44  Brian Jones <cbj@gnu.org>

	* lib/mkdep.pl.in: maintainer utility 

1999-10-24 08:43  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: some changes for jikes support # having a
	problem with make but jikes compiles nearly 700 classes so # that's
	good 

1999-10-24 06:15  Brian Jones <cbj@gnu.org>

	* configure.in: # updated version number for the inevitable release
	:) 

1999-10-24 05:57  Brian Jones <cbj@gnu.org>

	* lib/: deps.sh.in, .deps: no longer needed, broken anyway 

1999-10-24 05:54  Brian Jones <cbj@gnu.org>

	* configure.in: no longer need jdeps, using jikes instead (1.09+) 
	added a number of derived objects for configure to produce added a
	check for perl, used in maintainer-build 

1999-10-24 05:44  Brian Jones <cbj@gnu.org>

	* java/beans/Makefile.am: updated EXTRA_DIST added SUBDIRS 

1999-10-24 05:36  Brian Jones <cbj@gnu.org>

	* java/awt/Makefile.am: added SUBDIRS 

1999-10-24 05:34  Brian Jones <cbj@gnu.org>

	* java/awt/: Makefile.am, datatransfer/Makefile.am,
	event/Makefile.am, peer/Makefile.am, print/Makefile.am: initial
	checkin 

1999-10-24 05:19  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/Makefile.am, gnu/java/awt/peer/gtk/Makefile.am,
	java/Makefile.am, java/security/Makefile.am: updated 

1999-10-24 05:18  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/image/Makefile.am, java/security/cert/Makefile.am,
	java/security/spec/Makefile.am: initial commit 

1999-10-24 05:18  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/Makefile.am: added image to SUBDIRS 

1999-10-23 05:59  Brian Jones <cbj@gnu.org>

	* configure.in: remove lib/deps.sh as derived object of configure 

1999-10-23 05:56  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: ignore gnu/javax/swing/plaf/gtk/.* 

1999-10-23 05:03  Brian Jones <cbj@gnu.org>

	* java/awt/peer/TextComponentPeer.java: getCaretPosition() :
	changed return type to int from void 

1999-10-23 05:01  Brian Jones <cbj@gnu.org>

	* java/awt/peer/ScrollPanePeer.java: getHScrollbarHeight() : set
	return type to int getVScrollbarWidth()  : set return type to int 

1999-10-23 04:56  Brian Jones <cbj@gnu.org>

	* java/awt/event/WindowEvent.java: WINDOW_ClOSED changed to
	WINDOW_CLOSED 

1999-10-23 04:53  Brian Jones <cbj@gnu.org>

	* java/awt/TextArea.java: append() : changed reference to variable
	'text' to the argument of the function 'str' 

1999-10-20 05:39  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkpanelpeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Make Swing go.  

1999-10-20 04:10  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: updated 

1999-10-20 03:37  Brian Jones <cbj@gnu.org>

	* gnu/java/security/provider/SHA1PRNG.java: added package
	definition gnu.java.security.provider 

1999-10-17 05:21  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	native/gnu.java.awt.peer.gtk/gtkimagepainter.c,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkOffScreenImage.java: Implement double
	buffering support (minus the ImageProducer).  

1999-10-17 05:16  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Implement setEnabled
	and setLabel.  

1999-10-16 23:54  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	gnu/java/awt/peer/gtk/GdkGraphics.java: Implement copyArea.  

1999-10-16 23:29  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	gnu/java/awt/peer/gtk/GdkGraphics.java: Implement clipRect.  

1999-10-16 23:09  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkGraphics.java,
	native/gnu.java.awt.peer.gtk/gdkgraphics.c: Implement most of
	Graphics (minus Images and stupid rounded rectangles).  

1999-10-16 05:13  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkmenupeer.c,
	native/gnu.java.awt.peer.gtk/gtkpopupmenupeer.c: Implement
	MenuShortcuts.  

1999-10-16 04:25  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/: Makefile, doc/Makefile, announce/Makefile: 
	fixed my earlier mistake 

1999-10-16 01:43  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/: announce/Makefile, doc/Makefile, status.mhtml,
	status.mhtml: updated 

1999-10-16 01:42  Brian Jones <cbj@gnu.org>

	* doc/www.gnu.org/Makefile: better recursion, moved almost all
	rules into this one Makefile 

1999-10-15 21:34  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	native/gnu.java.awt.peer.gtk/gtktextareapeer.c,
	native/gnu.java.awt.peer.gtk/gtktextcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtktextfieldpeer.c: Clean up.  

1999-10-15 20:20  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklistpeer.c: Clean up and make
	getSelectedIndexes return sane values.  

1999-10-15 20:19  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkListPeer.java: Clean up and remove
	myListPeer.  

1999-10-13 20:08  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	native/gnu.java.awt.peer.gtk/gtkpopupmenupeer.c: Add popup menu
	support.  

1999-10-12 23:55  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c: Fire MOUSE_MOVED and
	MOUSE_DRAGGED events.  

1999-10-12 20:27  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	native/gnu.java.awt.peer.gtk/gdkfontmetrics.c: Add FontMetrics
	support.  

1999-10-12 17:58  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkGraphics.java: Remove paintMode and make
	use of immutable property of Color objects.  

1999-10-12 05:30  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkGraphics.java: Simplify color ops.  

1999-10-12 05:25  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java: Initial commit.  

1999-10-12 05:18  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/gnu.java.awt.peer.gtk/gdkgraphics.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtktoolkit.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Add Font support.  
	Change around getGraphics handling.  Add XOR drawing support.  

1999-10-12 05:14  Paul Fisher <rao@gnu.org>

	* resource/gnu/java/awt/peer/gtk/font.properties: Change suffixes
	to integers (style value).  

1999-10-07 21:58  Paul Fisher <rao@gnu.org>

	* resource/gnu/java/awt/peer/gtk/font.properties: Initial commit
	for iso8859-1 fonts.  

1999-10-04 23:06  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c,
	gtkcontainerpeer.c, gtkpanelpeer.c, gtkscrollpanepeer.c,
	gtkwindowpeer.c: Switch to GtkLayout.  

1999-10-04 23:05  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java: Remove unnecessary
	checkResize.  

1999-10-04 22:03  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkdialogpeer.c,
	gtkfiledialogpeer.c: Kinda make FileDialog go.  

1999-10-04 22:03  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkContainerPeer.java,
	GtkDialogPeer.java, GtkFileDialogPeer.java: Kinda make the
	FileDialog go, while breaking Dialog.  

1999-10-04 11:20  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/security/cert/: Collection.java, Set.java: removed bogus
	classes.  

1999-10-04 01:59  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: 
	(setBounds): Add note to fix.  

1999-10-04 01:58  Paul Fisher <rao@gnu.org>

	* 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/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Handle Insets.  

1999-10-02 21:45  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c: 
	(create): Handle separators properly.  

1999-10-02 21:45  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkMenuPeer.java: 
	(addSeparator): create a MenuItem with "-" as the label.  

1999-10-02 21:31  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	native/gnu.java.awt.peer.gtk/gtkcheckboxmenuitempeer.c,
	native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Add CheckboxMenuItem
	support.  

1999-10-02 07:06  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	native/gnu.java.awt.peer.gtk/gtkmenubarpeer.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkmenuitempeer.c,
	native/gnu.java.awt.peer.gtk/gtkmenupeer.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Add basic menu
	support.  

1999-10-01 03:24  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklistpeer.c: Use a GtkCList
	instead of a GtkList.  

1999-09-29 13:40  Brian Jones <cbj@gnu.org>

	* config.guess, config.sub: updated to version 1.4 automake 

1999-09-20 20:38  Brian Jones <cbj@gnu.org>

	* gnu/java/locale/: block.uni, character.uni: Unicode 3.0 database
	support 

1999-09-20 20:34  Brian Jones <cbj@gnu.org>

	* doc/unicode/: UnicodeData-3.0.txt, ReadMe-3.0.txt, BLOCKS.TXT: 
	Unicode 3.0 database 

1999-09-19 01:38  Brian Jones <cbj@gnu.org>

	* acinclude.m4, configure.in, lib/Makefile.am: support for jikes 

1999-09-15 04:04  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile: no longer needed 

1999-09-15 03:56  Brian Jones <cbj@gnu.org>

	* acinclude.m4, configure.in, native/Makefile.am: updates for
	libgtk libglib gtkpeers 

1999-09-15 03:55  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile.am: # initial checkin 

1999-09-15 03:54  Brian Jones <cbj@gnu.org>

	* native/gnu.java.awt.peer.gtk/: GdkGraphics.h, GtkButtonPeer.h,
	GtkCanvasPeer.h, GtkCheckboxPeer.h, GtkChoicePeer.h,
	GtkClipboard.h, GtkComponentPeer.h, GtkContainerPeer.h,
	GtkDialogPeer.h, GtkFileDialogPeer.h, GtkFramePeer.h,
	GtkGenericPeer.h, GtkImage.h, GtkImagePainter.h, GtkLabelPeer.h,
	GtkListPeer.h, GtkMainThread.h, GtkPanelPeer.h,
	GtkScrollPanePeer.h, GtkScrollbarPeer.h, GtkTextAreaPeer.h,
	GtkTextComponentPeer.h, GtkTextFieldPeer.h, GtkToolkit.h,
	GtkWindowPeer.h: #stubs...  

1999-09-12 18:50  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: MenuBar.java, CheckboxMenuItem.java, PrintJob.java: 
	Initial Checkin 

1999-09-10 02:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/peer/PopupMenuPeer.java: Modified interface for GNU
	PopupMenu implementation 

1999-09-10 02:01  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/peer/MenuPeer.java: Add needed methods 

1999-09-10 02:00  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Menu.java, PopupMenu.java: Initial Checkin 

1999-09-09 02:49  Brian Jones <cbj@gnu.org>

	* native/: java.io/Makefile.am, java.lang/Makefile.am,
	java.lang.reflect/Makefile.am, java.net/Makefile.am,
	java.util/Makefile.am: # fixed automake warnings 

1999-09-09 02:20  Brian Jones <cbj@gnu.org>

	* acinclude.m4: [no log message] 

1999-09-09 01:58  Brian Jones <cbj@gnu.org>

	* ltconfig, ltmain.sh: updated to libtool 1.3b 

1999-09-09 01:46  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/MenuItem.java: Initial Checkin 

1999-09-07 23:39  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: MenuComponent.java, MenuShortcut.java: Initial Checkin 

1999-09-06 20:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/BorderLayout.java: Initial Checkin 

1999-09-05 19:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Color.java, CardLayout.java: Initial Checkin 

1999-09-05 00:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Checkbox.java, CheckboxGroup.java, Canvas.java: 
	Initial Checkin 

1999-09-02 01:42  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Choice.java: Initial Checkin 

1999-09-01 00:12  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/FileDialog.java: Initial Checkin 

1999-08-31 02:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Dialog.java: Oops, add layout manager 

1999-08-31 01:45  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: FlowLayout.java, Dialog.java: Initial Checkin 

1999-08-26 10:47  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/PropertyPermission.java: newPermissionCollection() uses
	a hashtable to store permissions.  This should make huge
	PermissionCollections with few wildcards more efficient.  

1999-08-26 10:45  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/security/BasicPermission.java: simplified implies (use the
	information about wildcard positions).  newPermissionCollection
	added.  

1999-08-26 10:29  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* scripts/timezones.pl: added a script to transform the timezone
	sources (as used by glibc) to commands that fill the hashtable in
	java/util/TimeZone.java 

1999-08-26 10:26  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/TimeZone.java: The default timezones are now stored in
	a hashtable along with their aliases.  All timezones added (via a
	script that transform the standard timezone sources as used by
	glibc) getDisplayName fully implemented.  getTimeZone now always a
	timezone with the requested ID, or GMT if there is no timezone with
	that ID. This even applies for aliases.  hasSameRules added.  

1999-08-26 10:20  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/SimpleTimeZone.java: getDisplayName removed (TimeZone
	handles it now).  hasSameRules added.  toString added.  minor
	changes.  

1999-08-26 10:12  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/ResourceBundle.java: Fix in resource bundle semantic:
	Items that do not exists in the bundle for the requested local
	should not be taken from the bundle of the default local.  The
	default local is only used if there is no _bundle_ for the requested
	local.  

1999-08-26 10:05  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/GregorianCalendar.java: Localized gregorianCutOver.  
	Some fixes in the roll() method.  Allow to add to AM_PM field.  Some
	minor changes.  

1999-08-26 10:02  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Calendar.java: Localized some items:
	minimalDayInFirstWeek, firstDayOfWeek, 
	and the name of the Calendar class clone method fixed. (Didn't
	
	clone the field and isSet arrays.) toString method added.  

1999-08-26 09:48  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* gnu/java/locale/: LocaleInformation_de.java,
	LocaleInformation_en.java: Added some items for
	java.util.*Calendar.  Added localized data for german.  

1999-08-24 22:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/FontMetrics.java: Initial checkin 

1999-08-18 02:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Font.java: Initial Checkin 

1999-08-14 15:09  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/ResourceBundle.java: use soft references for the
	resource bundle cache 

1999-08-14 14:56  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/AbstractMap.java: added keySet().contains() method as
	mentioned in the jdk1.2 documentation.  

1999-08-14 14:52  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Vector.java: Fixed the toArray() runtime array class
	problem.  checked serialized form and added serialVersionUID.  

1999-08-14 14:49  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: Hashtable.java, ConcurrentModificationException.java,
	EmptyStackException.java, EventObject.java,
	MissingResourceException.java, NoSuchElementException.java,
	Properties.java, Random.java, Stack.java, TimeZone.java: checked
	serialized form and added serialVersionUID.  

1999-08-14 14:43  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: PropertyPermission.java,
	TooManyListenersException.java: added two missing classes 

1999-08-04 03:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Graphics.java: Initial Checking 

1999-08-03 04:15  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/: GtkIconFactory.java,
	GtkLookAndFeel.java, GtkSliderUI.java, SliderTest.java: # been
	holding these too long 

1999-07-25 03:26  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: List.java, Image.java: Initial Checkin 

1999-07-22 12:51  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/WeakHashMap.java: Make sure that hashed slot number is
	not negative.  

1999-07-21 11:27  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* AUTHORS: Fixed a typo in my name.  

1999-07-18 21:39  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: AccessControlContext.java,
	AlgorithmParameterGenerator.java,
	AlgorithmParameterGeneratorSpi.java, AlgorithmParameters.java,
	AlgorithmParametersSpi.java, DigestInputStream.java,
	DummyKeyPairGenerator.java, DummyMessageDigest.java,
	DummySignature.java, Identity.java, IdentityScope.java,
	KeyFactory.java, KeyFactorySpi.java, KeyPair.java,
	KeyPairGenerator.java, KeyPairGeneratorSpi.java, KeyStore.java,
	KeyStoreSpi.java, Policy.java, SecureClassLoader.java,
	SecureRandom.java, SecureRandomSpi.java, Security.java,
	Signature.java, SignatureSpi.java, SignedObject.java, Signer.java,
	cert/CRL.java, cert/CRLException.java, cert/Certificate.java,
	cert/CertificateEncodingException.java,
	cert/CertificateException.java,
	cert/CertificateExpiredException.java,
	cert/CertificateFactory.java, cert/CertificateFactorySpi.java,
	cert/CertificateNotYetValidException.java,
	cert/CertificateParsingException.java, cert/Collection.java,
	cert/Set.java, cert/X509CRL.java, cert/X509CRLEntry.java,
	cert/X509Certificate.java, cert/X509Extension.java,
	spec/AlgorithmParameterSpec.java, spec/DSAParameterSpec.java,
	spec/DSAPrivateKeySpec.java, spec/DSAPublicKeySpec.java,
	spec/EncodedKeySpec.java, spec/InvalidKeySpecException.java,
	spec/InvalidParameterSpecException.java, spec/KeySpec.java,
	spec/PKCS8EncodedKeySpec.java, spec/RSAPrivateCrtKeySpec.java,
	spec/RSAPrivateKeySpec.java, spec/RSAPublicKeySpec.java,
	spec/X509EncodedKeySpec.java: Initial checking of Mark Benvenuto's
	security code 

1999-07-18 21:36  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/security/: der/DEREncodingException.java,
	provider/DERReader.java, provider/DERWriter.java,
	provider/DSAKeyPairGenerator.java,
	provider/DSAParameterGenerator.java, provider/DSAParameters.java,
	provider/DSASignature.java, provider/Gnu.java,
	provider/GnuDSAPrivateKey.java, provider/GnuDSAPublicKey.java,
	provider/MD5.java, provider/SHA.java, provider/SHA1PRNG.java,
	util/Prime.java: Initial checkin of Mark Benvenuto's security code 

1999-07-18 21:34  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Component.java, EventDispatcher.java, Frame.java,
	Window.java: Updates 

1999-07-15 13:32  John Keiser <jkeiser@iname.com>

	* native/lib/jcl.c: Fixed incredibly stupid FindClass bug.  Thanks
	to Ken Redergard [kenr@xilix.com] for the fix.  

1999-07-07 02:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Panel.java: Initial Checkin 

1999-07-07 01:54  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: ScrollPane.java, ScrollPaneAdjustable.java: Initial
	Checkin.  They compile, but there's not a snowball's chance in hell
	that ScrollPane will actually work.  

1999-06-30 13:47  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/LinkedList.java: Added clone() and serialization
	(compatible to jdk1.2).  Fixed a bug in Iter: knownMod was not
	initialized.  

1999-06-30 13:42  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Collections.java: Fixed a bug in
	Collections.singleton() 

1999-06-25 13:25  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/AbstractList.java: changed "knownMod < modCount" to
	"knownMod != modCount".  Latter will even work, if the modCount
	counter wrapped around.  
	Resolved a naming conflict that jikes complained on.  

1999-06-25 13:20  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: Hashtable.java, LinkedList.java: changed "knownMod <
	modCount" to "knownMod != modCount".  Latter will even work, if the
	modCount counter wrapped around.  

1999-06-25 13:17  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: HashSet.java, TreeMap.java, TreeSet.java: added
	serialVersionUID compatible with the JDK1.2 classes.  

1999-06-25 13:12  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/HashMap.java: simplified serialization (by using
	defaultWriteObject and marking the other fields as transient).  
	added serialVersionUID compatible with the JDK1.2 classes.  
	changed "knownMod < modCount" to "knownMod != modCount".  Latter
	will even work, if the modCount counter wrapped around.  

1999-06-25 13:05  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: Makefile.am, WeakHashMap.java: java.util.WeakHashMap
	added.  

1999-06-23 12:54  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/lang/: Makefile.am, ref/Makefile.am,
	ref/PhantomReference.java, ref/Reference.java,
	ref/ReferenceQueue.java, ref/SoftReference.java,
	ref/WeakReference.java: added the java.lang.ref package.  

1999-06-22 01:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Scrollbar.java: Initial Checkin 

1999-06-12 20:57  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: TextField.java, TextArea.java: Initial Checkin 

1999-06-12 20:51  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/TextComponent.java: Pass unprocessed events to
	superclass 

1999-06-11 22:57  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/TextComponent.java: Initial Checkin 

1999-06-07 21:57  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/classpath.mhtml: Remove mail archive link.  

1999-06-04 02:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Button.java, SystemColor.java: Initial Checkin 

1999-06-01 05:27  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Float.c, Double.c: # changed include to math.h
	instead of bits/huge_val.h 

1999-05-31 18:59  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URL.java: Context dependent URL parsing fixes 

1999-05-31 18:15  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/InetAddress.java: Multicast address determination fix 

1999-05-31 18:01  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/EncodingManager.java, java/net/InetAddress.java,
	java/io/PipedReader.java, java/io/ByteArrayOutputStream.java,
	java/io/CharArrayWriter.java, java/io/PipedInputStream.java: Read
	system properties in a more clean manner 

1999-05-31 00:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/peer/ComponentPeer.java: Minor syntax error fix 

1999-05-30 00:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/EventQueue.java: Start dispatcher thread 

1999-05-30 00:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/EventDispatcher.java: Initial Checkin 

1999-05-29 20:59  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Label.java: Add serialVersionUID 

1999-05-29 20:55  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Frame.java: Added addNotify method 

1999-05-29 20:50  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Label.java, GridLayout.java: Initial Checkin 

1999-05-25 08:07  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/EventQueue.java: Add call to notify() in postEvent 

1999-05-24 01:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Frame.java: Remove FIXME comment for something I already
	fixed 

1999-05-24 01:08  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/AWTEvent.java: Add field for event queuing 

1999-05-24 00:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: Frame.java, EventQueue.java, Cursor.java: Initial
	Checkin 

1999-05-24 00:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Window.java: Add to parent frame's owned windows list,
	destory child component on disposal 

1999-05-24 00:42  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Component.java: Call peer.dispose() in removeNotify() 

1999-05-22 01:41  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/GtkSliderUI.java: # more tweaks, long
	ways to go 

1999-05-22 01:40  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/GtkLookAndFeel.java: # more defaults
	work for sliders 

1999-05-21 01:22  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/GtkSliderUI.java: paintThumb(): sliders
	drawn to the right size now 

1999-05-18 02:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Window.java: Initial checkin 

1999-05-18 02:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Component.java: Added imageUpdate() method stub 

1999-05-09 03:59  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Container.java: Initial Checkin 

1999-05-07 04:54  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkimagepainter.c: 
	(drawPixels): Don't use gdk_flush.  

1999-05-07 04:01  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile,
	native/gnu.java.awt.peer.gtk/gtkclipboard.c,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java: 
	System clipboard support added.  

1999-05-07 02:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Insets.java: Initial Checkin 

1999-05-02 23:30  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Component.java: Finished first cut of this class 

1999-05-01 03:44  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Component.java: Initial Checkin - not complete, won't
	compile, just ci for backup 

1999-05-01 01:42  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/peer/ComponentPeer.java: Fix decl for getFontMetrics 

1999-04-30 12:58  Paul Fisher <rao@gnu.org>

	* java/awt/Toolkit.java: * (getSystemEventQueue): Fix typo in
	comment.  

1999-04-28 01:01  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Toolkit.java: Initial Checkin 

1999-04-27 03:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/AWTEventMulticaster.java: Initial Checkin 

1999-04-27 00:20  Jon A. Zeppieri <jon@eease.com>

	* java/util/TreeSet.java: Oops:  I accidentally committed this code
	with some testing modifications.  I was referencing a class called
	"org.p2c2e.TreeMap" rather than the "real" java.util.TreeMap.  
	Fixed now.  

1999-04-25 02:17  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: AWTEvent.java, Polygon.java: Initial Checkin 

1999-04-25 00:51  Jon A. Zeppieri <jon@eease.com>

	* java/util/ArrayList.java: Really trivial documentation change.  

1999-04-24 21:46  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Rectangle.java: Forgot hashCode() 

1999-04-24 21:44  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Dimension.java: Initial checkin 

1999-04-24 21:26  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/Rectangle.java: Initial Checkin 

1999-04-24 04:51  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/peer/: ButtonPeer.java, CanvasPeer.java,
	CheckboxMenuItemPeer.java, CheckboxPeer.java, ChoicePeer.java,
	ComponentPeer.java, ContainerPeer.java, DialogPeer.java,
	FileDialogPeer.java, FontPeer.java, FramePeer.java, LabelPeer.java,
	LightweightPeer.java, ListPeer.java, MenuBarPeer.java,
	MenuComponentPeer.java, MenuItemPeer.java, MenuPeer.java,
	PanelPeer.java, PopupMenuPeer.java, ScrollPanePeer.java,
	ScrollbarPeer.java, TextAreaPeer.java, TextComponentPeer.java,
	TextFieldPeer.java, WindowPeer.java: Initial Checkin 

1999-04-24 01:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/: EventListener.java, EventObject.java,
	Observable.java, Observer.java: Initial checkin of Daniel Rall's
	code 

1999-04-24 00:59  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/: print/Book.java, print/Paper.java,
	print/PrinterJob.java, datatransfer/Clipboard.java,
	datatransfer/ClipboardOwner.java, datatransfer/DataFlavor.java,
	datatransfer/FlavorMap.java, datatransfer/StringSelection.java,
	datatransfer/Transferable.java,
	datatransfer/UnsupportedFlavorException.java,
	event/AWTEventListener.java, event/ActionEvent.java,
	event/ActionListener.java, event/AdjustmentEvent.java,
	event/AdjustmentListener.java, event/ComponentAdapter.java,
	event/ComponentEvent.java, event/ComponentListener.java,
	event/ContainerAdapter.java, event/ContainerEvent.java,
	event/ContainerListener.java, event/FocusAdapter.java,
	event/FocusEvent.java, event/FocusListener.java,
	event/InputEvent.java, event/InputMethodEvent.java,
	event/InputMethodListener.java, event/InvocationEvent.java,
	event/ItemEvent.java, event/ItemListener.java,
	event/KeyAdapter.java, event/KeyEvent.java, event/KeyListener.java,
	event/MouseAdapter.java, event/MouseEvent.java,
	event/MouseListener.java, event/MouseMotionAdapter.java,
	event/MouseMotionListener.java, event/PaintEvent.java,
	event/TextEvent.java, event/TextListener.java,
	event/WindowAdapter.java, event/WindowEvent.java,
	event/WindowListener.java, AWTError.java, AWTException.java,
	Adjustable.java, IllegalComponentStateException.java,
	ItemSelectable.java, LayoutManager.java, LayoutManager2.java,
	MenuContainer.java, PrintGraphics.java, Shape.java, Point.java: 
	Initial Checkin 

1999-04-24 00:52  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/print/: PageFormat.java, Printable.java: Finished these
	classes 

1999-04-13 03:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/awt/print/: PrinterAbortException.java,
	PrinterException.java, PageFormat.java, Pageable.java,
	Printable.java, PrinterGraphics.java, PrinterIOException.java: 
	Initial Checkin 

1999-04-13 02:11  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Log changes 

1999-04-13 01:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/ChoiceFormat.java: Add parse method.  Minor fixes 

1999-04-09 01:46  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation_en.java,
	java/text/DecimalFormatSymbols.java: Fix typo 

1999-04-08 02:49  Aaron M. Renn <arenn@urbanophile.com>

	* doc/hacking.texinfo: Add decimal format information to
	Localization section 

1999-04-08 02:32  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation_en.java: Add
	DecimalFormatSymbol information first cut values 

1999-04-08 02:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/DecimalFormatSymbols.java: Initial Checkin 

1999-04-04 22:40  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: CollationElementIterator.java,
	RuleBasedCollator.java: Fix rule parsing 

1999-04-04 01:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/Collator.java: Correct property name 

1999-04-02 02:31  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: BreakIterator.java, DefaultBreakIterator.java: Misc
	fixes.  

1999-03-31 01:51  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedStringIterator.java: Fix in getRunLength to
	detect when attribute is not set on a character.  I still don't know
	what this interface method is supposed to do, but at least it now
	does better what I think it is supposed to do! 

1999-03-31 01:49  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedString.java: Fix stupid bug where attribs
	wasn't initialized in some constructors.  

1999-03-25 03:07  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/Annotation.java: Update toString() for JDK consistency 

1999-03-17 13:15  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: BitSet.java, Calendar.java, GregorianCalendar.java: 
	Updated to JDK 1.2 

1999-03-16 15:47  Jon A. Zeppieri <jon@eease.com>

	* java/util/ArrayList.java: adding java.util.ArrayList (JDK1.2's
	answer to Vector) an array-backed List implementation 

1999-03-16 08:04  Jon A. Zeppieri <jon@eease.com>

	* java/util/: TreeMap.java, TreeSet.java: adding java.util.TreeSet 
	significant bugfixes to java.util.TreeMap 

1999-03-15 23:24  John Keiser <jkeiser@iname.com>

	* test/java.beans/: DescriptorTest.java, IntrospectorTest.java,
	PropertyChangeSupportTest.java: Cleanup, new test 

1999-03-15 23:08  John Keiser <jkeiser@iname.com>

	* java/beans/VetoableChangeSupport.java: Oops, typo.  

1999-03-15 22:57  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/: BeanContext.java,
	BeanContextChildComponentProxy.java, BeanContextChildSupport.java,
	BeanContextContainerProxy.java: Doc fixes.  

1999-03-15 22:55  John Keiser <jkeiser@iname.com>

	* java/beans/: PropertyChangeSupport.java, Visibility.java: Doc
	fixes 

1999-03-15 22:53  John Keiser <jkeiser@iname.com>

	* java/beans/VetoableChangeSupport.java: Updated to 1.2.  

1999-03-15 22:17  John Keiser <jkeiser@iname.com>

	* java/beans/PropertyChangeSupport.java: Updated to 1.2 spec.  

1999-03-15 05:08  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/: GtkBorders.java, GtkCheckBoxUI.java,
	GtkIconFactory.java, GtkLookAndFeel.java, GtkRadioButtonUI.java,
	GtkSliderUI.java, README: initial commit of these files.  

1999-03-15 05:02  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/icons/README: initial commit 

1999-03-15 05:01  Brian Jones <cbj@gnu.org>

	* gnu/javax/swing/plaf/gtk/icons/: Error.gif, Inform.gif,
	JavaCup.gif, JavaCupLarge.gif, Question.gif, TreeClosed.gif,
	TreeLeaf-normal.gif, TreeLeaf.gif, TreeOpen.gif, Warn.gif,
	file-folders.gif, slider.gif: initial checkin, most images need
	work but folders are done 

1999-03-13 23:05  Jon A. Zeppieri <jon@eease.com>

	* java/util/TreeMap.java: 13 March 1999 -JAZ- adding
	java.util.TreeMap (red-black tree implementation) to repository 

1999-03-11 03:28  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/MessageFormat.java: Initial Checkin 

1999-03-06 20:07  Paul Fisher <rao@gnu.org>

	* doc/hacking.texinfo: Reformat sample code to be GNU-style.  

1999-03-06 20:02  Paul Fisher <rao@gnu.org>

	* doc/hacking.texinfo: Update coding standards.  Remove references
	to DejaGNU, and update versions of required software.  

1999-03-06 18:12  Geoff Berry <gcb@gnu.org>

	* test/java.util/ArraysTest.java: 
	(testObject): Commented out toList test since that function doesn't
	exist.  

1999-03-06 18:11  Geoff Berry <gcb@gnu.org>

	* test/java.io/DataInputOutputTest.java: 
	(runReadTest): Added 'L' to the end of literal long that is too big
	to fit in an integer.  JDK javac compiles without this, but it is
	illegal according to JLS.  
	(main): Same as above.  

1999-03-06 16:14  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/announce/: .cvsignore, 19990206.mhtml: Set
	MHTML::INCLUDE-PREFIX and cvsignore *.html.  

1999-03-06 16:05  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/announce/Makefile: Fix a silly bug.  

1999-03-06 16:01  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/: Makefile, classpath.mhtml,
	announce/19990206.mhtml, announce/Makefile: Add 1999-02-06
	announcement.  

1999-03-04 17:55  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkimagepainter.c: 
	(drawPixels): Convert image data from 0xBBGGRRAA to 0xAARRGGBB on 
	little endian machines.  

1999-03-03 14:41  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Properties.java: fixed a bug in store (missing flush)
	spotted by Matt Mucklo 

1999-03-02 07:01  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkImage.java: 
	(setPixels): Handle (width < scansize).  

1999-03-01 21:26  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkGraphics.java, GtkImage.java,
	GtkImagePainter.java, GtkToolkit.java, Makefile, Test.java: Initial
	image code support (scaling methods of Graphics are not yet
	supported).  

1999-03-01 21:23  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: Makefile, gdkgraphics.c,
	gtkimagepainter.c, gtkpeer.h: Initial image code support.  

1999-03-01 03:15  Geoff Berry <gcb@gnu.org>

	* java/security/: DigestOutputStream.java, Makefile.am,
	MessageDigest.java, MessageDigestSpi.java, Security.java: Added to
	repository.  

1999-03-01 02:55  Geoff Berry <gcb@gnu.org>

	* java/security/Provider.java: 
	(Provider): Make protected to match spec.  

1999-03-01 01:27  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Alphabetize and add Matt Mucklo 

1999-03-01 01:12  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLDecoder.java: Fix a ton of D-U-M dumb bugs. I must've
	been drunk when I coded this.  Don't laugh, I always drink when I
	code.  

1999-02-27 05:22  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedCharacterIterator.java: Fix equals() to
	behave per spec 

1999-02-27 04:16  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/StringCharacterIterator.java: Fix bounds checking in
	constructor.  Override equals() method.  

1999-02-26 03:02  Brian Jones <cbj@gnu.org>

	* aclocal.m4: removed because it is autogenerated by 'aclocal' and
	is confusing to people who may not be familiar with the build
	process from CVS.  

1999-02-25 21:00  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkmainthread.c: 
	(gtkInit): Register gdk_threads_enter to be called for normal
	program termination.  

1999-02-24 05:25  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/SimpleDateFormat.java: Added date parsing support 

1999-02-24 05:10  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Date.java: Subtract one from returned weekday in
	toString() Is this right? 

1999-02-24 04:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Date.java: Use HOUR_OF_DAY instead of HOUR in
	toString() 

1999-02-22 21:21  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/: BeanContextChild.java,
	BeanContextServiceRevokedListener.java,
	BeanContextServicesListener.java: doc, bug fixes 

1999-02-22 21:21  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/BeanContextChildSupport.java: New class.  

1999-02-22 21:06  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: 
	(readObject): Removed unused variable.  

1999-02-22 21:05  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: 
	(readObject): Changed while loop to switch statement.  

1999-02-22 15:57  John Keiser <jkeiser@iname.com>

	* java/beans/Beans.java: Doh!  Typo.  

1999-02-19 22:22  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/: BeanContextMembershipEvent.java,
	BeanContextServiceAvailableEvent.java,
	BeanContextServiceRevokedEvent.java: typos 

1999-02-19 22:16  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/: BeanContextEvent.java,
	BeanContextMembershipEvent.java,
	BeanContextServiceAvailableEvent.java,
	BeanContextServiceRevokedEvent.java: Added events.  

1999-02-19 00:12  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkmainthread.c: 
	(gtkInit): Init gdkrgb.  

1999-02-19 00:06  John Keiser <jkeiser@iname.com>

	* java/beans/DesignMode.java: New 1.2 class 

1999-02-19 00:05  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/: classpath.mhtml, status.mhtml: Updated status 

1999-02-18 23:54  John Keiser <jkeiser@iname.com>

	* java/beans/beancontext/: BeanContext.java, BeanContextChild.java,
	BeanContextChildComponentProxy.java,
	BeanContextContainerProxy.java, BeanContextMembershipListener.java,
	BeanContextProxy.java, BeanContextServiceProvider.java,
	BeanContextServiceProviderBeanInfo.java,
	BeanContextServiceRevokedListener.java, BeanContextServices.java,
	BeanContextServicesListener.java: Added interfaces for new package 

1999-02-18 23:54  John Keiser <jkeiser@iname.com>

	* java/beans/Beans.java: Fixed doc comments 

1999-02-11 23:34  Aaron M. Renn <arenn@urbanophile.com>

	* com/sun/javadoc/: ClassDoc.java, ConstructorDoc.java, Doc.java,
	DocErrorReporter.java, Doclet.java, ExecutableMemberDoc.java,
	FieldDoc.java, MemberDoc.java, MethodDoc.java, PackageDoc.java,
	ParamTag.java, Parameter.java, ProgramElementDoc.java,
	RootDoc.java, SeeTag.java, SerialFieldTag.java, Tag.java,
	ThrowsTag.java, Type.java: Initial checkin of Javadoc API 

1999-02-11 22:11  John Keiser <jkeiser@iname.com>

	* java/: beans/Introspector.java, lang/Double.java,
	lang/Float.java, lang/Integer.java, lang/Object.java,
	lang/RuntimePermission.java, lang/StringBuffer.java: Fixed glaring
	ugliness in doc comments 

1999-02-11 21:09  John Keiser <jkeiser@iname.com>

	* vm/reference/: gnu/vm/stack/StackFrame.java,
	gnu/vm/stack/StackTrace.java, java/lang/Class.java,
	java/lang/Runtime.java, java/lang/Thread.java,
	java/lang/VMClassLoader.java, java/lang/VMObject.java,
	java/lang/VMSecurityManager.java, java/lang/VMSystem.java,
	java/lang/reflect/Constructor.java, java/lang/reflect/Field.java,
	java/lang/reflect/Method.java: Copyright, Doc Fixes 

1999-02-11 08:33  Geoff Berry <gcb@gnu.org>

	* gnu/java/security/provider/: Makefile.am, SHA.java: Added to
	repoitory.  

1999-02-11 08:32  Geoff Berry <gcb@gnu.org>

	* gnu/java/security/Makefile.am: 
	(SUBDIRS): Added provider.  

1999-02-11 08:31  Geoff Berry <gcb@gnu.org>

	* configure.in: 
	(AC_OUTPUT): Added gnu/java/security/provider/Makefile.  

1999-02-10 23:54  John Keiser <jkeiser@iname.com>

	* java/lang/Math.java: Added docs.  

1999-02-10 22:34  John Keiser <jkeiser@iname.com>

	* gnu/java/: beans/BeanInfoEmbryo.java, beans/EmptyBeanInfo.java,
	beans/ExplicitBeanInfo.java, beans/IntrospectionIncubator.java,
	beans/editors/ColorEditor.java, beans/editors/FontEditor.java,
	beans/editors/NativeBooleanEditor.java,
	beans/editors/NativeByteEditor.java,
	beans/editors/NativeDoubleEditor.java,
	beans/editors/NativeFloatEditor.java,
	beans/editors/NativeIntEditor.java,
	beans/editors/NativeLongEditor.java,
	beans/editors/NativeShortEditor.java,
	beans/editors/StringEditor.java, beans/info/ComponentBeanInfo.java,
	io/ClassLoaderObjectInputStream.java, lang/ArrayHelper.java,
	lang/ClassHelper.java, lang/ClassLoaderHelper.java,
	lang/ExecutionStack.java, lang/MainThread.java,
	lang/StackFrame.java: Copyright Fixes.  

1999-02-10 22:29  John Keiser <jkeiser@iname.com>

	* java/lang/StringBuffer.java: Docs added.  

1999-02-10 00:03  John Keiser <jkeiser@iname.com>

	* doc/vmintegration.texinfo: Texinfo typo 

1999-02-10 00:02  John Keiser <jkeiser@iname.com>

	* doc/vmintegration.texinfo: Updates based on new knowledge.  

1999-02-09 23:32  John Keiser <jkeiser@iname.com>

	* doc/hacking.texinfo: Modified notes about Portability (VM
	Interface) 

1999-02-09 21:23  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/status.mhtml: Doh, typo 

1999-02-09 21:22  John Keiser <jkeiser@iname.com>

	* doc/www.gnu.org/: classpath.mhtml, macros.mhtml, status.mhtml: 
	Clarified some comments about package status.  

1999-02-09 04:37  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/macros.mhtml: Tweak Tap's tapping a tad.  

1999-02-09 00:46  Aaron M. Renn <arenn@urbanophile.com>

	* doc/www.gnu.org/announce/19990206.txt: Initial Checkin 

1999-02-08 23:42  John Keiser <jkeiser@iname.com>

	* java/lang/: Double.java, Float.java: Re-added
	NullPointerException; removed WIDEFP_* fields; clarified doc
	comments 

1999-02-08 21:47  John Keiser <jkeiser@iname.com>

	* java/lang/: Double.java, Float.java: Added comments for parsing
	and printing.  

1999-02-08 17:50  John Keiser <jkeiser@iname.com>

	* java/beans/: BeanDescriptor.java, BeanInfo.java, Beans.java,
	Customizer.java, EventSetDescriptor.java, FeatureDescriptor.java,
	IndexedPropertyDescriptor.java, IntrospectionException.java,
	Introspector.java, MethodDescriptor.java, ParameterDescriptor.java,
	PropertyChangeEvent.java, PropertyChangeListener.java,
	PropertyChangeSupport.java, PropertyDescriptor.java,
	PropertyEditor.java, PropertyEditorManager.java,
	PropertyEditorSupport.java, PropertyVetoException.java,
	SimpleBeanInfo.java, TODO, VetoableChangeListener.java,
	VetoableChangeSupport.java, Visibility.java: Copyright assigned to
	FSF; @since tags added.  

1999-02-08 17:28  John Keiser <jkeiser@iname.com>

	* java/lang/String.java: More documented methods 

1999-02-08 17:11  John Keiser <jkeiser@iname.com>

	* java/lang/: Byte.java, Cloneable.java, Comparable.java,
	Double.java, Float.java, Integer.java, Throwable.java: More doc
	fixes (@author, @since, added docs for Float/Double).  

1999-02-08 16:07  John Keiser <jkeiser@iname.com>

	* java/lang/: Boolean.java, Byte.java, Character.java,
	ClassLoader.java, Comparable.java, Double.java, Float.java,
	Integer.java, Long.java, Math.java, Number.java, Object.java,
	Runnable.java, SecurityManager.java, Short.java, String.java,
	StringBuffer.java, System.java, ThreadDeath.java, ThreadGroup.java,
	Throwable.java, Void.java: Added *lots* of comments, fixed
	copyrights, added @author, @since tags where they didn't exist.  

1999-02-07 16:52  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/classpath.mhtml: Fix spelling of `temporary'.  

1999-02-07 09:16  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/classpath.mhtml: Make links absolute.  

1999-02-07 09:11  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/Makefile: Generate index.html as a symlink from
	classpath.html 

1999-02-07 08:58  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/doc/.cvsignore: Fix stupid typo.  

1999-02-07 08:57  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/: .cvsignore, doc/.cvsignore: Ignore *.html.  

1999-02-07 08:30  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/: Makefile, doc/Makefile: Allow mhc to be
	specified through the environment.  

1999-02-07 07:37  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/: Makefile, doc/Makefile, doc/footer.mhtml: Add
	appropriate copyright footer to autogenerated html from texinfo
	files.  

1999-02-07 07:08  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/macros.mhtml: 
	(package-item): Make status.html link absolute.  

1999-02-07 06:54  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/README: Info on how to change/add files to
	www.gnu.org.  

1999-02-07 06:54  Paul Fisher <rao@gnu.org>

	* doc/www.gnu.org/: Makefile, classpath.mhtml, macros.mhtml,
	status.mhtml, doc/Makefile: Initial setup for www.gnu.org.  

1999-02-06 20:11  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/File.c: Fix permissions settings in
	setReadOnlyInternal() 

1999-02-05 22:24  John Keiser <jkeiser@iname.com>

	* java/lang/Void.java: Added copyright, comments.  

1999-02-05 22:16  John Keiser <jkeiser@iname.com>

	* java/lang/reflect/: Array.java, InvocationTargetException.java,
	Member.java, Modifier.java, README, TODO: 
	
	Changed copyrights, updated docs 

1999-02-02 04:42  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: More reality.  

1999-02-02 04:40  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Trying to show Paul
	reality.  

1999-02-02 03:31  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: 
	(setComponentState): Use getBounds instead of getLocation and
	getSize.  

1999-02-02 03:14  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Fucked up shit.  

1999-02-02 03:12  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java, GtkCanvasPeer.java,
	GtkCheckboxPeer.java, GtkChoicePeer.java, GtkComponentPeer.java,
	GtkLabelPeer.java, GtkListPeer.java, GtkPanelPeer.java,
	GtkScrollPanePeer.java, GtkScrollbarPeer.java,
	GtkTextAreaPeer.java, GtkTextFieldPeer.java, GtkToolkit.java: 
	Abandon syncAttributes.  Use setComponentState.  

1999-02-01 14:52  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/Collections.java: Fix for build bustage; unimplemented
	methods now implemented 

1999-02-01 04:49  Aaron M. Renn <arenn@urbanophile.com>

	* lib/: .deps, standard.omit: New dependency info 

1999-02-01 04:22  Aaron M. Renn <arenn@urbanophile.com>

	* java/math/Makefile.am: Add BigDecimal to EXTRA_DIST 

1999-02-01 03:47  Aaron M. Renn <arenn@urbanophile.com>

	* NEWS, INSTALL: Minor typo fixes 

1999-02-01 03:42  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/AbstractList.java: Fix for build bustage. Oops! 

1999-02-01 03:32  Aaron M. Renn <arenn@urbanophile.com>

	* java/math/BigDecimal.java: Add compareTo(Object) method 

1999-02-01 03:31  Aaron M. Renn <arenn@urbanophile.com>

	* java/math/BigInteger.java: Add substract method 

1999-02-01 03:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/: AbstractList.java, Collections.java: Fall back
	changes to make them compile 

1999-01-31 04:40  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/: gtkbuttonpeer.c, gtkcanvaspeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkcomponentpeer.c,
	gtkevents.c, gtklabelpeer.c, gtklistpeer.c, gtkmainthread.c,
	gtkpanelpeer.c, gtkscrollbarpeer.c, gtkscrollpanepeer.c,
	gtktextareapeer.c, gtktextfieldpeer.c: Cleaned up code.  Removed
	visibility settings in constructors.  Removed defunct functions.  

1999-01-31 04:37  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java, GtkCanvasPeer.java,
	GtkCheckboxPeer.java, GtkChoicePeer.java, GtkComponentPeer.java,
	GtkDialogPeer.java, GtkFileDialogPeer.java, GtkLabelPeer.java,
	GtkListPeer.java, GtkMainThread.java, GtkPanelPeer.java,
	GtkScrollPanePeer.java, GtkScrollbarPeer.java,
	GtkTextAreaPeer.java, GtkTextFieldPeer.java, TestAWT.java: Cleaned
	up code.  Resurrected syncAttrs() as syncAttributes().  All Peer 
	constructors now call syncAttributes() except top level windows.  
	Moved visibility and size setting into syncAttributes() where
	applicable.  
	TestAWT is now maintainable.  Maybe.  

1999-01-30 23:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/math/: BigDecimal.java, BigInteger.java: Put package decl
	before import 

1999-01-30 21:54  Aaron M. Renn <arenn@urbanophile.com>

	* README, INSTALL, THANKYOU: Updates for release 

1999-01-29 16:33  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/lang/String.java: [no log message] 

1999-01-28 22:56  Paul Fisher <rao@gnu.org>

	* java/math/: BigDecimal.java, BigInteger.java: Bring java.math up
	to JDK 1.2 compliance.  (code still needs to be rigorously tested) 

1999-01-28 22:55  Paul Fisher <rao@gnu.org>

	* native/java.math/BigInteger.c: Initial commit of native side of
	BigInteger.  

1999-01-27 16:07  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: ListResourceBundle.java, PropertyResourceBundle.java: 
	fixed an incompatibility with sun jdk.  

1999-01-27 15:53  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* native/java.util/: Makefile.am, ResourceBundle.c,
	java_util_ResourceBundle.h: Added a native method for
	ResourceBundle (totally untested).  

1999-01-27 15:07  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/ResourceBundle.java: replaced usage of
	gnu.vm.stack.StackTrace with native method.  fixed an
	incompatibility with sun jdk, where the doc was incomplete.  

1999-01-26 07:07  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c,
	gnu/java/awt/peer/gtk/GtkButtonPeer.java: Deliver key presses to
	widgets that have keyboard focus, and fire an action event if space
	is pressed when a button has keyboard focus.  

1999-01-26 07:02  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/TestAWT.java: Convert MouseListeners to
	ActionListeners.  Note to self: Kill Jim.  

1999-01-26 05:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Locale.java: Don't attempt to convert language is lang
	is empty string 

1999-01-26 05:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/String.java: Allocate the intern hash table to we don't
	crash and burn on intern() 

1999-01-26 05:13  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Date.java: Make toString() use getDisplayName() instead
	of getID() 

1999-01-26 05:12  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/SimpleTimeZone.java: Added getDisplayName() 

1999-01-26 04:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/TimeZone.java: Added getDisplayName() methods and
	LONG/SHORT constants 

1999-01-26 03:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/SimpleDateFormat.java: Make strict date parsing
	work...sort of, for most things 

1999-01-26 03:18  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: Radio Buttons.  

1999-01-26 03:05  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: FileDialog (broken: Rao did
	it.), Label.  

1999-01-25 15:32  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Locale.java, gnu/java/locale/Makefile.am,
	gnu/java/locale/iso3166_de.properties,
	gnu/java/locale/iso639-a3.properties,
	gnu/java/locale/iso639.properties,
	gnu/java/locale/iso639_de.properties,
	gnu/java/locale/iso639_fr.properties,
	gnu/java/locale/iso639_ga.properties: Replaced Locale.java with my
	version (should be 1.2 compliant and serializable) Changed three
	iso639 contry codes to their new variants.  Added properties for
	german.  

1999-01-24 21:17  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/XBMDecoder.java: 
	(getScanline): Use a static masktable.  

1999-01-24 21:06  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/XBMDecoder.java: 
	(getScanline): Handle unpadded bitmaps.  

1999-01-24 08:03  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/image/: ImageDecoder.java, XBMDecoder.java: Initial
	image code framework with support for X11 bitmaps.  

1999-01-24 00:12  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/: AbstractSequentialList.java, Collections.java: Fixed
	to use the new (1.2RC1) semantics of ListIterator.add() 

1999-01-23 23:39  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: Added TextField 

1999-01-23 22:34  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: What the fuck? 

1999-01-23 04:45  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	native/gnu.java.awt.peer.gtk/gtkchoicepeer.c: Fixed: choice select
	event.  

1999-01-22 19:52  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkchoicepeer.c,
	gtkcheckboxpeer.c, gtkpeer.h: Fire ItemEvents for CheckBox widgets.  

1999-01-22 19:07  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklistpeer.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	gnu/java/awt/peer/gtk/GtkListPeer.java: Fire ItemEvents for List
	widgets.  

1999-01-22 01:42  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/Collections.java: Remove hack now that we have
	java.util.Random implemented to 1.2 specs -- the method in question
	should now WORK as well as just compiling ;) 

1999-01-22 01:36  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkchoicepeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java: Fire ItemEvents for
	Choice widgets.  

1999-01-22 01:34  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/: ListIterator.java, AbstractList.java,
	LinkedList.java: Update semantics of ListIterator to bring in line
	with 1.2RC1 and later 

1999-01-20 18:05  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	native/gnu.java.awt.peer.gtk/gtklabelpeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h: Implement setAlignment 

1999-01-20 05:50  Aaron M. Renn <arenn@urbanophile.com>

	* lib/: Makefile.am, standard.omit: Make --enable-developer work. 
	Omit java.sql 

1999-01-20 05:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Makefile.am: Added Random.java to EXTRA_DIST 

1999-01-20 01:38  Aaron M. Renn <arenn@urbanophile.com>

	* configure.in: Make version number 0.00 instead of just 0.0 

1999-01-20 01:33  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/Makefile.am: Put property and unicode files in
	EXTRA_DIST 

1999-01-20 01:01  Aaron M. Renn <arenn@urbanophile.com>

	* lib/Makefile.am: Try to fix --enable-developer-build problem 

1999-01-19 23:40  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkChoicePeer.java, GtkListPeer.java: 
	Bring java code insync with native code.  

1999-01-19 23:39  Paul Fisher <rao@gnu.org>

	* java/math/BigInteger.java: 
	(equals): Clean up.  

1999-01-19 22:49  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Fix up page_size.  

1999-01-19 20:48  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Fire AdjustmentEvents.  

1999-01-19 04:28  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/DriverManager.java: Initial Checkin 

1999-01-19 02:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/: Date.java, Time.java, Timestamp.java: Oops, forgot to
	make them serializable 

1999-01-19 02:17  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/: Date.java, Time.java, Timestamp.java,
	CallableStatement.java, PreparedStatement.java, Statement.java,
	DriverPropertyInfo.java, Types.java: Initial Checkin 

1999-01-17 20:39  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/: Ref.java, ResultSet.java, ResultSetMetaData.java,
	SQLData.java, SQLInput.java, SQLOutput.java, Struct.java: Initial
	Checkin 

1999-01-17 20:15  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gdkgraphics.c: Allow dispose to be
	called more than once.  

1999-01-17 18:34  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java,
	GtkComponentPeer.java: If a modal window has the grab, don't fire
	an action event.  

1999-01-17 18:33  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Add
	modalHasGrab.  

1999-01-17 17:38  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkchoicepeer.c, gtklistpeer.c: 
	Fix up choice and list widgets to work again.  

1999-01-17 17:07  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: Proto-code for cursors. 
	Exhibits Choice bug.  

1999-01-17 04:09  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/DatabaseMetaData.java: Checkin of completed interface 

1999-01-15 17:50  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcheckboxpeer.c: 
	s/gtk_toggle_button_set_state/gtk_toggle_button_set_active/g 

1999-01-15 03:57  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/DatabaseMetaData.java: Initial checkin of this
	incomplete module.  I'd hate to lose what I've typed already,
	especially since I've already got COBOL fingers and I'm only 2/3
	done.  

1999-01-15 03:16  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Change around
	setBounds to work with WindowMaker 0.50.2.  

1999-01-14 05:02  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/: Array.java, Blob.java, Clob.java, Connection.java,
	Driver.java: Initial Checkin 

1999-01-13 03:34  Brian Jones <cbj@gnu.org>

	* native/java.io/: java_io_ObjectInputStream.c,
	java_io_ObjectOutputStream.c: remove /* within comment 

1999-01-12 04:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/sql/: BatchUpdateException.java, DataTruncation.java,
	SQLException.java, SQLWarning.java: Initial Checkin 

1999-01-12 02:21  Aaron M. Renn <arenn@urbanophile.com>

	* INSTALL: Modify install instructions again 

1999-01-12 02:05  Aaron M. Renn <arenn@urbanophile.com>

	* lib/Makefile.am: Change install method for time being since we
	don't support zip archives 

1999-01-12 01:40  Aaron M. Renn <arenn@urbanophile.com>

	* README, INSTALL: Add blurb about Japhar CVS 

1999-01-12 01:25  Aaron M. Renn <arenn@urbanophile.com>

	* lib/.deps: Updated dependency information 

1999-01-12 01:22  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/Makefile.am: Remove awt subdirectory for now 

1999-01-11 19:19  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* resource/java/util/: iso3166_de.properties, iso639_de.properties: 
	Properties for java.util.Locale 

1999-01-11 18:52  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/TimeZone.java: Fixed some time zone names.  

1999-01-11 18:45  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Properties.java: Parsing is a little bit more robust.  
	Comment fixing.  

1999-01-11 18:41  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/GregorianCalendar.java: filled the missing constructors 

1999-01-11 18:39  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/: BitSet.java, Calendar.java, DoubleEnumeration.java,
	ListResourceBundle.java, PropertyResourceBundle.java,
	ResourceBundle.java, SimpleTimeZone.java, StringTokenizer.java: 
	aesthetic fixes (mainly comments) 

1999-01-11 18:35  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Date.java: added the missing (deprecated) methods 

1999-01-11 18:28  Jochen Hoenicke <Jochen.Hoenicke@Informatik.Uni-Oldenburg.de>

	* java/util/Random.java: Added java.util.Random; the random number
	generator 

1999-01-11 05:26  Aaron M. Renn <arenn@urbanophile.com>

	* doc/hacking.texinfo: Added section on localization 

1999-01-11 03:13  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/DateFormatSymbols.java: Fix the equals method 

1999-01-11 03:12  Aaron M. Renn <arenn@urbanophile.com>

	* configure.in: Added native/java.util Makefile 

1999-01-11 03:11  Aaron M. Renn <arenn@urbanophile.com>

	* native/Makefile.am: Add java.util directory 

1999-01-11 03:11  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.util/Makefile.am, native/java.util/TimeZone.c,
	native/java.util/java_util_TimeZone.h,
	java/text/SimpleDateFormat.java: Initial checkin 

1999-01-11 03:10  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/TimeZone.java: Added new aliasings mechanism for time
	zones.  Also added a new internal method to calculate the default
	time zone.  Not relying on user.timezone.  

1999-01-10 18:23  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation_en.java: Corrected date format 

1999-01-09 23:40  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: FieldPosition.java, ParsePosition.java: Add
	toString() method 

1999-01-09 05:40  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: DateFormat.java, DateFormatSymbols.java: Initial
	Checkin 

1999-01-07 06:01  Brian Jones <cbj@gnu.org>

	* java/lang/Compiler.java: doc fixes 

1999-01-07 05:41  Brian Jones <cbj@gnu.org>

	* java/lang/Double.java: compareTo(Double): initial implementation 
	compareTo(Object): initial implementation doc comments added 

1999-01-07 05:10  Brian Jones <cbj@gnu.org>

	* native/java.lang/Double.c: parseDouble(): float and double
	designators are allowed 

1999-01-07 05:09  Brian Jones <cbj@gnu.org>

	* native/java.lang/Float.c: float designators 'f' and 'F' are
	allowed in updates to the JLS.  

1999-01-07 03:53  Brian Jones <cbj@gnu.org>

	* java/lang/Cloneable.java: copyright notice added 

1999-01-06 14:14  Brian Jones <cbj@gnu.org>

	* doc/hacking.texinfo: If you add a node or otherwise rearrange the
	document, be sure to do a C-u C-c C-u m (remake master menu and
	recalculate all next/prev pointers).  

1999-01-06 14:08  Brian Jones <cbj@gnu.org>

	* java/lang/Byte.java: doc fixes 

1999-01-06 14:01  Brian Jones <cbj@gnu.org>

	* java/lang/Boolean.java: doc fix 

1999-01-06 10:22  Paul Fisher <rao@gnu.org>

	* java/lang/Character.java: Hopefully fix CVS build.  

1999-01-06 04:33  Brian Jones <cbj@gnu.org>

	* java/lang/Byte.java: doc comments added 

1999-01-06 03:45  Brian Jones <cbj@gnu.org>

	* java/lang/Boolean.java: comments added 

1999-01-06 03:24  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/TestAWT.java: The evil twin of TestGTK.  

1999-01-06 02:52  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/.cvsignore,
	gnu/java/awt/peer/gtk/.cvsignore: Put something useful in here.  

1999-01-05 16:26  Paul Fisher <rao@gnu.org>

	* java/lang/Character.java: 
	(readChar): Cache last read value, and handle (getBlock(ch) == -1) 
	correctly.  

1999-01-05 15:10  Paul Fisher <rao@gnu.org>

	* java/lang/Boolean.java: 
	(toString): convert if/then/else to ternary expression.  

1999-01-03 21:17  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java: Add focus event
	framework.  

1999-01-03 20:31  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkmainthread.c, gtkpeer.h: Update
	for key event support.  

1999-01-03 17:59  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java: Add key events.  

1999-01-03 06:59  Aaron M. Renn <arenn@urbanophile.com>

	* doc/hacking.texinfo: Added section on byte/char converters 

1999-01-03 00:20  Brian Jones <cbj@gnu.org>

	* configure.in: do not create awt Makefiles 

1999-01-03 00:18  Brian Jones <cbj@gnu.org>

	* lib/deps.sh.in: specify location of gen-classlist.sh 

1999-01-02 23:28  Brian Jones <cbj@gnu.org>

	* java/lang/Double.java: static(): load library `javalang' 

1999-01-02 23:26  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Float.c, java_lang_Float.h: author updated 

1999-01-02 23:25  Brian Jones <cbj@gnu.org>

	* native/java.lang/Makefile.am: include Double.c for compile 

1999-01-02 23:25  Brian Jones <cbj@gnu.org>

	* native/java.lang/: Double.c, java_lang_Double.h: initial checkin 

1999-01-02 22:28  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: redundant
	gtk_container_add removed 

1999-01-02 22:00  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java: It compiles again.  

1999-01-02 21:50  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkpeer.h: Added setup_window () 

1999-01-02 21:48  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Moved dialog
	construction out, added setup_window () for generic window tasks 

1999-01-02 21:41  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Moved dialogpeer
	construction to dialogpeer class 

1999-01-02 21:40  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: Added parent parameter to
	createDialog 

1999-01-02 21:39  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java: Moved construction into
	dialogpeer from windowpeer 

1999-01-02 21:38  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkdialogpeer.c: Initial commit 

1999-01-02 21:37  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/Makefile: Added Dialog support 

1999-01-02 21:35  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/Makefile: Added dialog support 

1999-01-02 21:01  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/GregorianCalendar.java: Make constructors public
	instead of protected 

1999-01-02 18:24  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java,
	GtkComponentPeer.java: Use new isEnabled to see if we should send
	an action command.  

1999-01-02 18:22  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Add isEnabled
	which is smarter than Component.isEnabled.  

1999-01-02 18:04  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: gdk_flush()
	after a setVisible call.  

1999-01-02 17:54  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile: Add gtkcontainerpeer.o 

1999-01-02 17:51  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkComponentPeer.java,
	GtkContainerPeer.java, Makefile: Move gtk_container_check_resize to
	ContainerPeer.  

1999-01-02 17:50  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c,
	gtkcontainerpeer.c: Move gtk_container_check_resize to a more
	appropriate location.  

1999-01-02 17:49  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: 
	(setBounds): Clean up warning.  

1999-01-02 17:35  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Allow negative
	coordinate window placement.  

1999-01-02 08:20  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c, gdkgraphics.c: 
	Use bit-shifts for converting 16/8bit color values.  

1999-01-02 08:05  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java, GtkCanvasPeer.java,
	GtkCheckboxPeer.java, GtkComponentPeer.java, GtkContainerPeer.java,
	GtkLabelPeer.java, GtkPanelPeer.java, GtkScrollPanePeer.java,
	GtkScrollbarPeer.java, GtkTextFieldPeer.java, Makefile: Parents are
	set in the constructors.  

1999-01-02 08:04  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkgraphics.c, gtkbuttonpeer.c,
	gtkcanvaspeer.c, gtkcheckboxpeer.c, gtkcomponentpeer.c,
	gtkevents.c, gtklabelpeer.c, gtkpanelpeer.c, gtkscrollbarpeer.c,
	gtkscrollpanepeer.c, gtktextfieldpeer.c, gtkwindowpeer.c, Makefile,
	gtkpeer.h: Parents are set in constructors.  There are still a few 
	widgets that need this done.  Test.java works again.  

1999-01-02 06:12  Brian Jones <cbj@gnu.org>

	* native/java.lang/java_lang_Float.h: toString() added 

1999-01-02 06:09  Brian Jones <cbj@gnu.org>

	* native/java.lang/Float.c: toString(): uses %G of sprintf (no post
	parsing just yet) parseFloat(): fixed numerous bugs, we no longer
	crash japhar though the JDK does! 

1999-01-02 01:11  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/: LocaleInformation_en.java,
	LocaleInformation_en.java: Added entries for date
	formatting/parsing 

1998-12-31 23:48  Brian Jones <cbj@gnu.org>

	* java/lang/Float.java: static initializer added 

1998-12-31 23:48  Brian Jones <cbj@gnu.org>

	* native/java.lang/Float.c: parseFloat(String): while() loop
	changed to avoid infinite loop 

1998-12-31 23:30  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkCanvasPeer.java,
	GtkContainerPeer.java: New scribble stuff.  

1998-12-31 23:26  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/Test.java: Update for new line stuff.  

1998-12-31 22:07  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkgraphics.c, gtkcomponentpeer.c,
	gtkevents.c, gtkmainthread.c, gtkpeer.h: Event code clean up.  

1998-12-31 22:06  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkGraphics.java, GtkButtonPeer.java,
	GtkCanvasPeer.java, GtkComponentPeer.java, GtkContainerPeer.java,
	Test.java: Lots of event code clean up.  

1998-12-31 18:53  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/decode/Decoder.java: Fix problem where I was
	calculating the number of chars in an entire buffer rather than just
	in the requested portion of the buffer.  

1998-12-31 17:18  Brian Jones <cbj@gnu.org>

	* lib/: gen-classlist.sh.in, deps.sh.in: fix up relative refs to
	generated output 

1998-12-31 17:05  Brian Jones <cbj@gnu.org>

	* java/lang/Float.java: updated 

1998-12-31 16:59  Brian Jones <cbj@gnu.org>

	* acinclude.m4: CLASSPATH_INTERNAL_CHECK_JAPHAR:
	AC_DEFINE(WITH_JAPHAR) 

1998-12-31 16:58  Brian Jones <cbj@gnu.org>

	* configure.in: AM_CONFIG_HEADER(config.h) added check for strtod,
	atof 

1998-12-31 16:56  Brian Jones <cbj@gnu.org>

	* native/java.lang/Float.c, native/java.lang/java_lang_Float.h,
	native/java.lang/javalang.c, native/java.lang/javalang.h,
	acconfig.h: initial commit 

1998-12-31 16:55  Brian Jones <cbj@gnu.org>

	* native/java.lang/Makefile.am: javalang.c, javalang.h, Float.c,
	java_lang_Float.h added for compilation include config.h in INCLUDES 

1998-12-31 05:28  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtktoolkit.c: 
	(getScreenResolution): Change type of res variable to jint.  

1998-12-31 05:25  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	native/gnu.java.awt.peer.gtk/gtktoolkit.c: Implement
	Toolkit.sync().  

1998-12-31 05:22  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkgraphics.c, gtkcomponentpeer.c: 
	Add C side of getForeground/Background.  

1998-12-31 05:19  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkGraphics.java, GtkComponentPeer.java,
	GtkToolkit.java, Test.java: Add getForeground and getBackground
	methods to peers, and have the Toolkit call the set equivalents on
	the non-peers at creation.  

1998-12-31 01:14  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkGraphics.java, GtkCanvasPeer.java,
	GtkToolkit.java, Test.java, Makefile: Scribble support on the Java
	side.  

1998-12-31 01:14  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkpeer.h: Add scribble-ability
	prototypes.  

1998-12-31 01:14  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkgraphics.c, gtkcanvaspeer.c,
	gtkevents.c, gtkmainthread.c, Makefile: We can scribble now.  This
	is a very good thing.  

1998-12-31 00:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/Character.java: Slurp character data at beginning and
	cache.  

1998-12-31 00:35  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: FileInputStream.java, RandomAccessFile.java: Ensure we
	always return -1 on end of file 

1998-12-30 22:49  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: *.properties and *.uni copied to gnu/java/locale
	before zip DISTCLEANFILES and MAINTAINERCLEANFILES added.  Left off
	putting glibj.zip in CLEANFILES because a user probably shouldn't be
	able to do that easily.  Added 'Makefile' to the dependency line of
	glibj.zip so it gets recreated when it should be more often.  

1998-12-30 21:43  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GdkGraphics.java, GtkButtonPeer.java,
	GtkComponentPeer.java, Makefile, Test.java: Stub out Graphics
	methods and hook creation into ComponentPeer.  

1998-12-30 21:26  Brian Jones <cbj@gnu.org>

	* gnu/java/awt/peer/Makefile.am, lib/standard.omit: pretending
	subdir gtk doesn't exist :) 

1998-12-30 20:12  Brian Jones <cbj@gnu.org>

	* AUTHORS: use CVS to keep track of who did what 

1998-12-30 19:48  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/: block.uni, character.uni,
	iso3166-a3.properties, iso3166.properties,
	iso639-a2-old.properties, iso639-a3.properties, iso639.properties,
	titlecase.uni, iso639_fr.properties, iso639_ga.properties: Initial
	Checkin 

1998-12-30 19:46  Aaron M. Renn <arenn@urbanophile.com>

	* lib/.deps: New dependencies that include java.lang.Charater 

1998-12-30 19:40  Aaron M. Renn <arenn@urbanophile.com>

	* lib/standard.omit: Remove java.lang.Character from the omit list 

1998-12-30 19:40  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Locale.java: Fully qualify location of property
	resources 

1998-12-30 19:39  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/: Integer.java, String.java: Remove temporary
	workarounds now that we have Character working 

1998-12-30 19:38  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/Character.java: Fully qualify location of unicode
	database.  Change \u000D to \r for JavaDeps 

1998-12-30 19:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/ClassLoader.java: Fix getSystemResourceAsStream to
	return null if resource not found 

1998-12-30 19:36  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/lang/ClassLoaderHelper.java: Handle absolute names and
	names without trailing / 

1998-12-30 19:36  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: More people to thank 

1998-12-30 19:33  Brian Jones <cbj@gnu.org>

	* AUTHORS: in keeping with section 5 of the maintainers guide 

1998-12-30 19:03  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkListPeer.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.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/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/gnu.java.awt.peer.gtk/gtkbuttonpeer.c,
	native/gnu.java.awt.peer.gtk/gtkcheckboxpeer.c,
	native/gnu.java.awt.peer.gtk/gtkchoicepeer.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtklabelpeer.c,
	native/gnu.java.awt.peer.gtk/gtklistpeer.c,
	native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c,
	native/gnu.java.awt.peer.gtk/gtkscrollpanepeer.c,
	native/gnu.java.awt.peer.gtk/gtktextareapeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtktextfieldpeer.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Realize widgets when
	they're created, and honor visibility setting.  

1998-12-30 05:41  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkContainerPeer.java,
	GtkWindowPeer.java, Test.java: Validate a Container's children
	after a setBounds.  

1998-12-30 05:36  Brian Jones <cbj@gnu.org>

	* configure.in: AM_DISABLE_STATIC called before AM_PROG_LIBTOOL 

1998-12-30 04:54  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/ClassLoader.java: Add getSystemResource support. Note
	that this currently does not support resources in zip or jar files. 
	I will add that at some point, maybe when we have zip and jar
	support.  

1998-12-30 04:00  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: cleaned up
	warnings 

1998-12-30 03:42  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c, gtklistpeer.c,
	gtkscrollpanepeer.c, gtktextareapeer.c, gtktextfieldpeer.c: Changed
	size request code to work.  

1998-12-30 01:32  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c, gtkevents.c,
	gtkpeer.h, gtkwindowpeer.c: Stuff.  

1998-12-29 23:49  Brian Jones <cbj@gnu.org>

	* Makefile.am: removed configure from EXTRA_DIST 

1998-12-29 23:20  Brian Jones <cbj@gnu.org>

	* configure.in: oops: endif changed to 'fi' 

1998-12-29 22:59  Brian Jones <cbj@gnu.org>

	* configure.in: --enable-maintainer-build and
	--enable-developer-build cannot be configured together 

1998-12-29 22:50  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: DEVELOPER_BUILD conditional added 

1998-12-29 22:50  Brian Jones <cbj@gnu.org>

	* configure.in: --enable-developer-build: rebuild glibj.zip without
	rebuilding .deps --enable-maintainer-build: rebuild .deps and
	rebuild glibj.zip default: do not build glibj.zip (so to do make
	dist, configure 
	with --enable-maintainer-build) 

1998-12-29 22:31  Brian Jones <cbj@gnu.org>

	* Makefile.am: include `configure' in EXTRA_DIST since it doesn't
	appear to be included by default 

1998-12-29 20:35  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Minor clean ups.  

1998-12-29 20:16  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Back out firing of
	shown/hidden events, the AWT does this for us.  

1998-12-29 20:15  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Rename
	setVisible function.  

1998-12-29 20:12  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/Test.java: Implement configure events.  

1998-12-29 07:07  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Fix up
	enable/visible function names.  

1998-12-29 07:05  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Fire shown/hidden
	events from setVisible.  

1998-12-29 06:58  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Rename native
	method of setEnabled.  

1998-12-29 06:58  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Fire COMPONENT_SHOWN
	and COMPONENT_HIDDEN events.  

1998-12-29 06:21  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c: Hook up notify events.  

1998-12-29 03:28  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/Test.java: Add action listener to wb.  

1998-12-29 03:26  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Only signal an action
	on a button 1 click.  

1998-12-29 01:53  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java: Fix Title bug.  

1998-12-29 01:46  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java, GtkGenericPeer.java,
	Test.java: Implement action event support for Button.  

1998-12-29 01:00  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Don't override
	dispose().  

1998-12-29 00:52  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c: Override
	dispose.  

1998-12-29 00:50  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/Test.java: Add dispose and exit calls to
	Button click callback.  

1998-12-29 00:49  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Override dispose() 

1998-12-29 00:48  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkevents.c: Implement click events.  

1998-12-29 00:26  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java,
	GtkComponentPeer.java, GtkGenericPeer.java, GtkLabelPeer.java,
	GtkMainThread.java, Test.java: Implement dispose, and update
	various other event code.  

1998-12-29 00:25  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Implement
	dispose.  

1998-12-28 23:58  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/Makefile,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java: 
	Added support for scrollbar.  

1998-12-28 23:56  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	native/gnu.java.awt.peer.gtk/gtkscrollbarpeer.c: Initial commit.  

1998-12-28 22:23  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkcomponentpeer.c,
	gtkwindowpeer.c: Connect AWT event handler for Container widgets.  

1998-12-28 21:43  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: 
	(requestFocus): Mark native.  
	(isFocusTraversable): Default to true.  

1998-12-28 21:42  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Implement
	requestFocus.  

1998-12-28 21:35  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Implement
	setEnable.  

1998-12-28 21:28  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: 
	(enable, disable): Fix stupid typo.  

1998-12-28 21:23  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: 
	(enable, disable): Call setEnable.  

1998-12-28 18:22  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile: Add glib-config setting to
	work with latest CVS tree.  

1998-12-28 18:21  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtkbuttonpeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkcomponentpeer.c,
	gtkevents.c, gtklabelpeer.c, gtklistpeer.c, gtkmainthread.c,
	gtkpeer.h, gtktextfieldpeer.c: Connect AWT event handler to
	non-java.awt.Container widgets.  

1998-12-28 16:45  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklistpeer.c: Clean up NSA code.  

1998-12-28 02:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedInputStream.java: Fix nasty bug in reset() 

1998-12-28 02:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedReader.java: Fixed nasty mark/reset bug in
	reset().  Removed synchronized decl from methods since we are using
	synchronized blocks instead.  

1998-12-28 01:21  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtktextcomponentpeer.c,
	gtktextareapeer.c: Clean up NSA calls.  

1998-12-27 21:29  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gtktextfieldpeer.c,
	gtkscrollpanepeer.c: Clean up NSA calls.  

1998-12-27 20:10  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile,
	native/gnu.java.awt.peer.gtk/gtkbuttonpeer.c,
	native/gnu.java.awt.peer.gtk/gtkevents.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Test.java: Initial event code added.  

1998-12-27 02:58  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklabelpeer.c: 
	(gtkLabelSet): Move NSA_GET_PTR to be initial call.  

1998-12-27 02:56  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtklabelpeer.c: Clean up of
	gtklabelpeer.c.  

1998-12-27 02:31  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/: GtkButtonPeer.java, GtkCheckboxPeer.java,
	GtkChoicePeer.java, GtkComponentPeer.java, GtkContainerPeer.java,
	GtkGenericPeer.java, GtkLabelPeer.java, GtkListPeer.java,
	GtkMainThread.java, GtkPanelPeer.java, GtkScrollPanePeer.java,
	GtkTextAreaPeer.java, GtkTextComponentPeer.java,
	GtkTextFieldPeer.java, GtkWindowPeer.java: Init
	GtkGenericPeer.awtWidget through constructor.  

1998-12-27 01:27  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/Test.java: Add setCursor support.  

1998-12-27 01:25  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: ObjectInputStream.java, ObjectOutputStream.java,
	File.java, FileInputStream.java, ObjectStreamClass.java,
	FileOutputStream.java, RandomAccessFile.java: Ensure javaio native
	library loaded 

1998-12-26 05:53  Aaron M. Renn <arenn@urbanophile.com>

	* README, INSTALL: Update to reflect current state of reality 

1998-12-26 01:03  Aaron M. Renn <arenn@urbanophile.com>

	* configure.in: Generate Makefile in native/vmi 

1998-12-26 01:00  Aaron M. Renn <arenn@urbanophile.com>

	* native/Makefile.am: Add vmi subdir 

1998-12-26 01:00  Aaron M. Renn <arenn@urbanophile.com>

	* native/vmi/Makefile.am: Initial checkin 

1998-12-26 00:53  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/Makefile.am: Missed a header here too 

1998-12-26 00:49  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.lang/Makefile.am: Missed a header 

1998-12-26 00:37  Aaron M. Renn <arenn@urbanophile.com>

	* native/: java.lang/Makefile.am, java.lang.reflect/Makefile.am: 
	Added .h files to SOURCES list 

1998-12-26 00:25  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/Makefile.am: Fix stupid typo where I put io
	instead of net 

1998-12-25 23:57  Aaron M. Renn <arenn@urbanophile.com>

	* lib/.deps: New .deps file with no stubs 

1998-12-25 23:55  Aaron M. Renn <arenn@urbanophile.com>

	* acinclude.m4: Make default install target JAPHAR_PREFIX, not
	/usr/local/classpath 

1998-12-25 23:51  Aaron M. Renn <arenn@urbanophile.com>

	* lib/Makefile.am: Make correct install target for glibj.zip 

1998-12-25 23:27  Aaron M. Renn <arenn@urbanophile.com>

	* native/Makefile.am: Don't need to compile java.net twice 

1998-12-25 23:26  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.lang/Makefile.am: Rename libraries when compiling for
	Japhar 

1998-12-25 23:22  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/Makefile.am: Hopefully make things build right 

1998-12-25 23:21  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: InetAddress.c, PlainDatagramSocketImpl.c,
	PlainSocketImpl.c: Ok, now we include the JNI headers again 

1998-12-25 23:21  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: java_net_InetAddress.h,
	java_net_PlainDatagramSocketImpl.h, java_net_PlainSocketImpl.h: 
	Adding generated JNI headers to repository 

1998-12-25 23:08  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/: File.c, FileInputStream.c, FileOutputStream.c,
	RandomAccessFile.c: Now including the javah generated headers 

1998-12-25 23:07  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/Makefile.am: If compiling with Japhar, make name
	libjaphar_javaio.so 

1998-12-25 23:07  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/: java_io_File.h, java_io_FileInputStream.h,
	java_io_FileOutputStream.h, java_io_RandomAccessFile.h: Add stub
	files to repository 

1998-12-25 21:25  Aaron M. Renn <arenn@urbanophile.com>

	* lib/deps.sh.in: Don't use the --native flag. We don't need it and
	the STUBS line it outputs as a result is broken.  

1998-12-25 06:20  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: InetAddress.c, Makefile.am,
	PlainDatagramSocketImpl.c, PlainSocketImpl.c: Remove JNI generated
	headers from include and build because we don't handle this right
	yet.  

1998-12-25 05:02  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/Thread.java: Make the run() method
	actually run the code it is supposed to! 

1998-12-25 04:04  Aaron M. Renn <arenn@urbanophile.com>

	* NEWS: Update news file 

1998-12-25 04:03  Aaron M. Renn <arenn@urbanophile.com>

	* BUGS: Update bugs file 

1998-12-25 04:03  Aaron M. Renn <arenn@urbanophile.com>

	* AUTHORS: Update author list 

1998-12-25 03:54  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/: File.c, FileDescriptor.c, FileInputStream.c,
	FileOutputStream.c, java_io_ObjectInputStream.c,
	java_io_ObjectOutputStream.c, java_io_ObjectStreamClass.c,
	javaio.c, javaio.h: Remove all references to "JCL" library. 
	Instead, move all needed functions into javaio.c and rename them to
	start with _javaio_.  This solves interlibrary dependency.  It could
	break serialization though.  We should probably consolidate the
	serialization libraries into the main java.io library.  

1998-12-25 03:51  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/RandomAccessFile.c: Remove JNI header include
	since we aren't generating it yet 

1998-12-25 03:50  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/Makefile.am: Added RandomAccessFile.c to build 

1998-12-25 03:49  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/reflect/Constructor.java: Added a private
	no arg constructor.  Also renamed and added some variables to make
	this class consistent with Japhar's existing native code.  

1998-12-25 03:48  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/Thread.java: Add yield method.  Make
	start() directly native and eliminate nativeStart().  

1998-12-25 03:47  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/Runtime.java: Added some additional needed
	SecurityManager checks and renamed a couple of internal native
	methods.  

1998-12-25 03:46  Aaron M. Renn <arenn@urbanophile.com>

	* vm/reference/java/lang/Class.java: Remove name and superclass
	variables and simply make the getName() and getSuperclass() method
	natives.  Note that Japhar currently manually and arbitrarily sets
	the field count on java/lang/Class to 0, so using instance variables
	won't work in this class.  This should be resolved at a future date.  

1998-12-25 03:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/String.java: Rename str to value and len to count and
	make some miscellaneous bug fixes and temp workarounds in order to
	make this class work with Japhar.  

1998-12-25 03:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/Vector.java: Fix premature elementCount increment in
	addElement 

1998-12-25 03:14  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/Integer.java: Change the parseInt method temporarily
	until the Character class is fully operative.  

1998-12-25 02:57  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/StringTokenizer.java: Fix countTokens() to not
	increment pos 

1998-12-24 05:59  Brian Jones <cbj@gnu.org>

	* configure.in, acinclude.m4, lib/Makefile.am, lib/deps.sh.in: 
	javah options 

1998-12-22 13:27  Geoff Berry <gcb@gnu.org>

	* Makefile.am: 
	(EXTRA_DIST): deleted redundant files that are automatically
	included in `DIST_COMMON'.  

1998-12-22 06:03  Brian Jones <cbj@gnu.org>

	* java/: beans/.cvsignore, beans/Makefile.am,
	security/acl/.cvsignore, security/interfaces/.cvsignore,
	text/.cvsignore, text/Makefile.am: initial commit 

1998-12-22 05:53  Brian Jones <cbj@gnu.org>

	* java/io/Makefile.am, java/lang/Makefile.am,
	java/lang/reflect/Makefile.am, java/math/Makefile.am,
	java/net/Makefile.am, java/security/Makefile.am,
	java/security/acl/Makefile.am,
	java/security/interfaces/Makefile.am, java/util/Makefile.am,
	lib/.deps, lib/Makefile.am, lib/standard.omit, java/Makefile.am,
	gnu/tools/serialver/Makefile.am, gnu/java/io/Makefile.am,
	gnu/java/Makefile.am, Makefile.am, configure.in: updated 

1998-12-22 04:03  Brian Jones <cbj@gnu.org>

	* gnu/Makefile.am: remove vm from SUBDIRS 

1998-12-22 03:52  Brian Jones <cbj@gnu.org>

	* gnu/java/net/Makefile.am: remove http 

1998-12-22 03:49  Brian Jones <cbj@gnu.org>

	* gnu/java/net/Makefile.am: add protocol 

1998-12-22 02:13  Brian Jones <cbj@gnu.org>

	* compat/.cvsignore, compat/java.net/.cvsignore, doc/.cvsignore,
	gnu/.cvsignore, gnu/java/.cvsignore, gnu/java/io/.cvsignore,
	gnu/java/lang/.cvsignore, gnu/java/lang/reflect/.cvsignore,
	gnu/java/net/.cvsignore, gnu/java/net/content/.cvsignore,
	gnu/java/net/content/text/.cvsignore, gnu/java/net/http/.cvsignore,
	gnu/test/.cvsignore, gnu/tools/.cvsignore,
	gnu/tools/serialver/.cvsignore, java/.cvsignore,
	java/io/.cvsignore, java/lang/.cvsignore,
	java/lang/reflect/.cvsignore, java/math/.cvsignore,
	java/net/.cvsignore, java/security/.cvsignore,
	java/util/.cvsignore, vm/.cvsignore, vm/Makefile.am,
	vm/reference/.cvsignore, vm/reference/Makefile.am,
	vm/reference/gnu/.cvsignore, vm/reference/gnu/Makefile.am,
	vm/reference/gnu/vm/.cvsignore, vm/reference/gnu/vm/Makefile.am,
	vm/reference/gnu/vm/stack/.cvsignore,
	vm/reference/gnu/vm/stack/Makefile.am,
	vm/reference/java/.cvsignore, vm/reference/java/Makefile.am,
	vm/reference/java/lang/.cvsignore,
	vm/reference/java/lang/Makefile.am,
	vm/reference/java/lang/reflect/.cvsignore,
	vm/reference/java/lang/reflect/Makefile.am,
	gnu/java/awt/.cvsignore, gnu/java/awt/Makefile.am,
	gnu/java/awt/peer/.cvsignore, gnu/java/awt/peer/Makefile.am,
	gnu/java/awt/peer/gtk/.cvsignore,
	gnu/java/awt/peer/gtk/Makefile.am, gnu/java/beans/.cvsignore,
	gnu/java/beans/Makefile.am, gnu/java/beans/editors/.cvsignore,
	gnu/java/beans/editors/Makefile.am, gnu/java/beans/info/.cvsignore,
	gnu/java/beans/info/Makefile.am, gnu/java/io/decode/.cvsignore,
	gnu/java/io/decode/Makefile.am, gnu/java/io/encode/.cvsignore,
	gnu/java/io/encode/Makefile.am, gnu/java/lang/Makefile.am,
	gnu/java/lang/reflect/Makefile.am, gnu/java/locale/.cvsignore,
	gnu/java/locale/Makefile.am, gnu/java/net/Makefile.am,
	gnu/java/net/content/text/Makefile.am,
	gnu/java/net/protocol/.cvsignore,
	gnu/java/net/protocol/Makefile.am,
	gnu/java/net/protocol/file/.cvsignore,
	gnu/java/net/protocol/file/Makefile.am,
	gnu/java/net/protocol/http/.cvsignore,
	gnu/java/net/protocol/http/Makefile.am,
	gnu/java/security/.cvsignore, gnu/java/security/Makefile.am,
	resource/.cvsignore, resource/Makefile.am,
	resource/java/.cvsignore, resource/java/Makefile.am,
	resource/java/util/.cvsignore, resource/java/util/Makefile.am: 
	initial checkin 

1998-12-21 05:28  Brian Jones <cbj@gnu.org>

	* lib/deps.sh.in: no native until I hear otherwise 

1998-12-21 05:27  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am, acinclude.m4, configure.in, aclocal.m4,
	lib/.deps: updated 

1998-12-21 05:27  Brian Jones <cbj@gnu.org>

	* lib/.cvsignore: ignore these 

1998-12-21 00:16  Geoff Berry <gcb@gnu.org>

	* lib/Makefile.am: 
	(EXTRA_DIST): changed from target to variable.  

1998-12-20 21:25  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/net/http/: Handler.java, HttpURLConnection.java, TODO,
	Makefile.am: Removing files from old directory 

1998-12-20 21:12  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URL.java: Changed default search path for protocol
	handlers to gnu.java.net.protocol.  Made protocol handler lookup
	static and eliminated redundant property lookups.  

1998-12-20 21:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLConnection.java: Eliminated header storage mechanism
	and moved it to subclasses where it belongs.  

1998-12-20 21:10  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/TODO: Delete finished items 

1998-12-20 21:09  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/net/protocol/file/: FileURLConnection.java,
	Handler.java: Initial checkin 

1998-12-20 21:09  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/net/protocol/http/: Handler.java,
	HttpURLConnection.java, Makefile.am, TODO: Re-checking in in new
	directory 

1998-12-20 21:07  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/net/HeaderFieldHelper.java: Initial Checkin 

1998-12-20 09:04  Brian Jones <cbj@gnu.org>

	* acinclude.m4: forgot this one 

1998-12-20 08:55  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am, lib/deps.sh.in, lib/gen-classlist.sh.in,
	configure.in: touchups 

1998-12-20 06:54  Brian Jones <cbj@gnu.org>

	* configure.in: mauve exists, no longer need guile 

1998-12-20 06:52  Brian Jones <cbj@gnu.org>

	* lib/: deps.sh.in, gen-classlist.sh.in: autoconf input 

1998-12-20 06:51  Brian Jones <cbj@gnu.org>

	* lib/: deps.sh, gen-classlist.sh: generated by autoconf 

1998-12-20 06:51  Brian Jones <cbj@gnu.org>

	* configure.in: --with-jdeps: optionally include path to jdeps 

1998-12-20 06:06  Brian Jones <cbj@gnu.org>

	* native/: java.io/Makefile.am, java.lang/Makefile.am,
	java.lang.reflect/Makefile.am, java.net/Makefile.am,
	lib/Makefile.am, testsuite/Makefile.am: if JAPHAR 

1998-12-20 06:05  Brian Jones <cbj@gnu.org>

	* configure.in: removed ancient VMINCLUDE cruft in favor of using
	AM_CONDITIONAL in Makefile.am files.  

1998-12-20 05:58  Brian Jones <cbj@gnu.org>

	* acinclude.m4: 
	CLASSPATH_INTERNAL_CHECK_JAPHAR: 
	AC var JVM=yes if Japhar is found 
	AC var JAPHAR_JNI_LIBS is now JAPHAR_LIBS 
	use japhar-config 'compile' and 'link' (see Japhar CVS) 
	CLASSPATH_CHECK_JAPHAR 
	denote default=yes CLASSPATH_CHECK_KAFFE 
	denote default=no 

1998-12-19 18:09  Paul Fisher <rao@gnu.org>

	* resource/java/util/iso3166.properties: Fix capitalization for
	Hong Kong and Mc Donald Islands.  

1998-12-19 07:29  Aaron M. Renn <arenn@urbanophile.com>

	* lib/deps.sh: Assumin jdeps in PATH 

1998-12-19 07:28  Aaron M. Renn <arenn@urbanophile.com>

	* lib/gen-classlist.sh: Remove ../vm/reference from class scan 

1998-12-19 07:28  Aaron M. Renn <arenn@urbanophile.com>

	* lib/standard.omit: Update list of classes to exclude from build 

1998-12-19 07:27  Aaron M. Renn <arenn@urbanophile.com>

	* lib/.deps: New dependency list 

1998-12-19 07:25  Aaron M. Renn <arenn@urbanophile.com>

	* native/Makefile.am: Removed testsuite to enable compilation
	without guile 

1998-12-19 07:24  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/GregorianCalendar.java: Added dummy constructors needed
	for compiling other classes 

1998-12-19 07:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/: AbstractCollection.java, BasicMapEntry.java: Fully
	qualified references to UnsupportedOperationException to please 
	JavaDeps 

1998-12-19 07:23  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: Makefile, gtkbuttonpeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkcomponentpeer.c,
	gtkfiledialogpeer.c, gtklabelpeer.c, gtklistpeer.c,
	gtkmainthread.c, gtkpeer.h, gtkscrollpanepeer.c, gtktextareapeer.c,
	gtktextcomponentpeer.c, gtktextfieldpeer.c, gtktoolkit.c,
	gtkwindowpeer.c: Require pthreads until JNI 1.2.  Update to latest
	GTK/GLIB cvs trees.  

1998-12-19 07:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/Collator.java: Add import for MissingResourceException 

1998-12-19 07:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/PermissionCollection.java: Initialize linesep to
	null to supress bogus compiler warnings 

1998-12-19 07:19  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/: Double.java, Float.java: Add package declaration 
	Uncomment commented out TYPE static final variables.  

1998-12-19 07:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/ObjectStreamField.java: Fully qualify reference to
	java.lang.Comparable to please JavaDeps 

1998-12-19 07:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/StreamTokenizer.java: Converted unicode esacpe to regular
	escape to please JavaDeps 

1998-12-19 07:16  Aaron M. Renn <arenn@urbanophile.com>

	* ltconfig, ltmain.sh: Alpha version of libtool with interlibrary
	dependencies 

1998-12-19 07:15  Aaron M. Renn <arenn@urbanophile.com>

	* configure.in: Added java/security makefile gen 

1998-12-19 07:15  Aaron M. Renn <arenn@urbanophile.com>

	* Makefile.am: Removed compat subdir 

1998-12-19 07:14  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Added Artur B.  

1998-12-19 04:38  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileDescriptor.java: Added private static method to
	create FileDescriptor from native fd 

1998-12-18 02:38  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/Makefile.am: Dumb mistakes 

1998-12-18 02:32  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/Makefile.am: Initial checkin 

1998-12-17 14:30  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: Makefile, gtkcomponentpeer.c,
	gtkmainthread.c, gtkpeer.h, gtkscrollpanepeer.c,
	gtktextfieldpeer.c: Update files to frozen GTK+ cvs tree.  

1998-12-17 14:26  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gdkjnithreads.c, gdkjnithreads.h: 
	Functionality has been replaced by gthread-jni.[ch].  

1998-12-17 14:24  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/: gthread-jni.c, gthread-jni.h: 
	Initial commit of new threading routines for GLIB.  

1998-12-16 03:22  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/: gtktextcomponentpeer.c,
	gtkcomponentpeer.c: Cleaning.  

1998-12-16 03:10  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/: Makefile, Test.java: Added ListPeer 

1998-12-16 03:10  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkToolkit.java: Added support for ListPeer 

1998-12-16 03:08  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	native/gnu.java.awt.peer.gtk/gtklistpeer.c: Initial commit 

1998-12-16 03:07  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtklabelpeer.c: Added EventBox 

1998-12-15 22:56  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Rename
	gtkWidgetSetVisible and mark setVisible as native.  

1998-12-15 08:11  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c: Implement
	getLocationOnScreen.  

1998-12-15 07:27  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java: Implement repaint.  

1998-12-15 06:38  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Implement
	reshape(int, int, int, int).  

1998-12-15 06:29  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java: Implement
	setVisible(false).  

1998-12-15 05:53  Paul Fisher <rao@gnu.org>

	* native/gnu.java.awt.peer.gtk/Makefile: Add -Wall.  

1998-12-14 17:55  Paul Fisher <rao@gnu.org>

	* java/lang/Character.java: 
	(isWhitespace): Correct method name typo.  

1998-12-13 21:16  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkMainThread.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/gnu.java.awt.peer.gtk/gtkbuttonpeer.c,
	native/gnu.java.awt.peer.gtk/gtkcheckboxpeer.c,
	native/gnu.java.awt.peer.gtk/gtkchoicepeer.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkfiledialogpeer.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkscrollpanepeer.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c: Attempt to conform to
	coding standards.  Sorry.  

1998-12-13 20:57  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java,
	native/gnu.java.awt.peer.gtk/Makefile: Added support for labels 

1998-12-13 20:56  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtklabelpeer.c: Initial commit 

1998-12-13 20:55  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkLabelPeer.java: Initial checkin 

1998-12-13 18:25  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java,
	native/gnu.java.awt.peer.gtk/Makefile: Added support for text
	widgets 

1998-12-13 18:23  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	native/gnu.java.awt.peer.gtk/gtktextareapeer.c,
	native/gnu.java.awt.peer.gtk/gtktextcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtktextfieldpeer.c: Initial commit 

1998-12-13 04:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/util/: BitSet.java, Calendar.java, Date.java,
	DoubleEnumeration.java, GregorianCalendar.java,
	ListResourceBundle.java, MissingResourceException.java,
	Properties.java, PropertyResourceBundle.java, ResourceBundle.java,
	SimpleTimeZone.java, StringTokenizer.java, TimeZone.java: Initial
	Checkin 

1998-12-13 04:28  Aaron M. Renn <arenn@urbanophile.com>

	* THANKYOU: Add this file to be sure I write down all the folks who
	sent in bug reports, patches, etc. but who might not be listed as a
	main author.  

1998-12-13 04:21  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/javanet.c: Clear exception on method not found
	error 

1998-12-13 03:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/PlainDatagramSocketImpl.java: Added get/setTimeToLive 

1998-12-13 03:57  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: Socket.java, DatagramSocket.java: Made 'impl' a
	package protected variable 

1998-12-12 22:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: Socket.java, ServerSocket.java: Cleanup security
	checks 

1998-12-12 22:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLDecoder.java: Initial Checkin 

1998-12-12 22:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/Authenticator.java: Misc 1.2 updates 

1998-12-12 22:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/lang/SecurityManager.java: Added checkPermission 

1998-12-12 21:51  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/Makefile.am: Added FilePermission.java and
	SerializablePermission.java 

1998-12-12 19:53  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/HttpURLConnection.java: Added missing methods for 1.2 

1998-12-12 19:39  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: javanet.c, javanet.h: Add support for SO_SNDBUF
	and SO_RCVBUF 

1998-12-12 19:28  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/SocketOptions.java: Made interface public. Added new
	variables per 1.2 spec.  

1998-12-10 01:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLConnection.java: Made get/setDefaultUseCaches
	instance methods.  Added get/setFileName map methods and made
	fileNameMap private Added getPermission method.  

1998-12-06 19:56  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLStreamHandlerFactory.java: Added 'abstract' keyword
	to conform to spec 

1998-12-06 19:56  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URLEncoder.java: Made vars private. Added constructor 

1998-12-06 19:53  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/URL.java: Made all internal vars private and ensured
	consisten naming with serialized form.  Added constructors that
	allow user to specify own protocol handler.  

1998-12-06 19:20  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/SocketImplFactory.java: Added 'abstract' keyword to
	comply with spec 

1998-12-06 19:19  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/Socket.java: Added missing constructor. Added missing
	methods to get/set send and receive buffer size.  

1998-12-06 19:09  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/ServerSocket.java: Make instance vars private. 
	Re-classify a constructor as package internal.  

1998-12-06 19:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/: DatagramSocket.java, HttpURLConnection.java,
	PasswordAuthentication.java, SocketOptions.java: 
	PasswordAuthentication.java 

1998-12-06 19:01  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/MulticastSocket.java: Added new {get,set}TimeToLive
	methods 

1998-12-06 19:00  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/DatagramSocketImpl.java: Set correct return/param types
	in TimeToLive methods 

1998-12-05 20:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/InetAddress.java: Eliminated useless main() method 

1998-12-05 05:12  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/FileNameMap.java: Added superfluous 'abstract' keyword
	to interface decl to conform to spec 

1998-12-05 05:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/DatagramSocketImpl.java: Added new useless
	{get,sec}TimeToLive methods to satisfy spec 

1998-12-05 04:42  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/DatagramPacket.java: Made all instance variables
	private.  Added 'offset' instance variables and two new constructor
	forms and setData() and getOffset() methods to properly handle the
	offset variable.  All to conform to latest 1.2 spec.  

1998-12-05 04:26  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/ContentHandlerFactory.java: Added 'abstract' keywork to
	interface decl for spec conformance 

1998-12-03 02:53  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/InvalidClassException.java: Make all constructors public 

1998-12-03 02:52  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/Externalizable.java: Implement Serializable 

1998-12-03 02:51  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataOutputStream.java: Change I missed.  Fixed method
	signature on write(int) 

1998-12-02 03:47  Aaron M. Renn <arenn@urbanophile.com>

	* test/java.io/: BufferedByteOutputStreamTest.java,
	PipedStreamTest.java: Initial checkin 

1998-12-02 03:41  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterOutputStream.java: Call flush() before closing the
	underlying stream 

1998-12-02 02:46  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileDescriptor.java: Added static initializer to load
	native library 

1998-12-02 02:21  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/: gtkbuttonpeer.c,
	gtkcheckboxpeer.c, gtkchoicepeer.c, gtkcomponentpeer.c,
	gtkfiledialogpeer.c, gtkmainthread.c, gtkpeer.h,
	gtkscrollpanepeer.c, gtkwindowpeer.c: Added NSA_* macros to deal
	with native data generically.  

1998-12-02 02:18  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkMainThread.java: Removed GtkInitTable 

1998-12-02 02:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilePermission.java: Misc changes to make this module
	compile 

1998-12-02 02:02  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedReader.java: Made DEFAULT_BUFFER_SIZE package
	level protected 

1998-12-02 01:50  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/Writer.java: Made constructor protected like it should
	have been 

1998-12-02 01:49  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/WriteAbortedException.java: Made constructor public like
	it should have been 

1998-12-02 01:48  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/StreamTokenizer.java: Made internal methods readChar()
	and enlargeBuffer() private like they should be 

1998-12-02 01:41  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/Serializable.java: Added superfluous 'abstract' keywork
	to interface decl for spec conformance.  Added serialVersionUID.  

1998-12-02 01:30  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/Reader.java: Made constructors protected to comply with
	spec 

1998-12-02 01:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/RandomAccessFile.java: Remove 'final' keyword from
	skipBytes method decl 

1998-12-02 01:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: PushbackInputStream.java, PushbackReader.java: Added
	comments in code requesting that non-spec public methods not be
	deleted 

1998-12-02 01:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PushbackReader.java: Added close() and mark() methods to
	comply with the spec.  However, I did not delete my skip() method
	per the spec because in my estimation it is needed.  This is the
	only way the skip method can function properly if there are unread
	bytes in the buffer.  The superclass skip() method only delegates to
	the underlying Reader.  

1998-12-02 01:15  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PushbackInputStream.java: Made vars 'pos' and 'buf'
	protected and added close() method to comply with spec.  However, I
	did not delete my reset() method to comply with the spec because in
	my estimation it is needed. PBIS subclasses from FilterInputStream,
	which redirects the call to reset() to the underlying InputStream it
	is wrappering.  If that InputStream supported mark/reset, then the
	stream position could be messed up.  Therefore we need to override
	this method and throw and exception in it.  

1998-12-02 01:08  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PrintWriter.java: Make 'out' var protected to comply with
	spec 

1998-12-01 04:32  Brian Jones <cbj@gnu.org>

	* java/lang/RuntimePermission.java: initial commit (javadoc not
	done) 

1998-12-01 03:15  Brian Jones <cbj@gnu.org>

	* lib/standard.omit: java.lang.RuntimePermission ignored 

1998-12-01 02:57  Brian Jones <cbj@gnu.org>

	* java/lang/Process.java: initial checkin 

1998-12-01 02:14  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/Makefile,
	native/gnu.java.awt.peer.gtk/gtkchoicepeer.c,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java: 
	Initial commit 

1998-11-30 17:27  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Test.java,
	native/gnu.java.awt.peer.gtk/gtktoolkit.c: Added
	Toolkit.getScreenResolution().  

1998-11-30 17:05  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Test.java,
	native/gnu.java.awt.peer.gtk/gtktoolkit.c: Added
	Toolkit.getScreenSize().  

1998-11-30 14:40  Brian Jones <cbj@gnu.org>

	* java/io/: DataInputStream.java, RandomAccessFile.java: \uxxxx
	HTML reference is &#92;uxxxx 

1998-11-30 06:01  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/Makefile,
	native/gnu.java.awt.peer.gtk/Makefile,
	native/gnu.java.awt.peer.gtk/gtktoolkit.c: Added beep.  

1998-11-30 04:47  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkMainThread.java: Fix typo.  

1998-11-30 04:45  Paul Fisher <rao@gnu.org>

	* gnu/java/awt/peer/gtk/GtkMainThread.java: Only allow one
	GtkMainThread to be constructed.  

1998-11-30 02:09  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PipedWriter.java: Added write(int) method for spec
	conformance 

1998-11-30 02:08  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PipedReader.java: Made internal variable private instead
	of proteced.  Added read() method.  All for spec conformance.  

1998-11-30 02:00  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/PipedOutputStream.java: Added flush() method to conform
	to spec 

1998-11-30 01:56  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/ObjectStreamException.java: Made class abstract.  Added
	implements Serializable.  Made all constructors protected.  All to
	comply with spec.  

1998-11-30 01:53  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/ObjectOutput.java: Added the abstract keyword to the
	interface decl to bring up to spec.  Added the write(int),
	write(byte[], int, int) and write(byte[]) methods to bring up to
	spec.  

1998-11-30 01:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: ObjectInput.java, ObjectInputValidation.java: Added
	abstract keyword to interface decl to conform to spec 

1998-11-30 01:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/LineNumberInputStream.java: Added skip() method to
	conform to spec 

1998-11-30 01:43  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterWriter.java: Made constructor protected to conform
	to RC2 spec 

1998-11-30 01:42  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterReader.java: Made class abstract to conform to RC2
	spec 

1998-11-30 01:38  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileOutputStream.java: Fixed signatures on
	closeInternal() and finalize() to meet spec 

1998-11-30 01:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/File.java: Numerous changes to comply with RC2 spec: 
	-- Added methods createNewFile, isHidden, setLastModified, 
	setReadOnly, getAbsoluteFile, getCanonicaFile, getParentFile, 
	listFiles(), listFiles(FilenameFilter), listFiles(FileFilter), 
	listRoots(), toURL 
	-- Made private deleteInternal, mkdirInternal,
	
	lastModifiedInternal.  
	-- Updated to new signatures for the variants of createTempFile 
	These changes compile but have not yet been tested.  

1998-11-30 01:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileFilter.java: Changed incorrect parameter type from
	String to File 

1998-11-30 01:32  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/File.c: Added native methods to set modification
	time and to make read only.  Note that these are as yet untested but
	they do compile.  

1998-11-29 23:58  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.io/File.c: Changed createInternal to make it specify
	O_EXCL and to return a value indicating whether or not the file
	existed already.  

1998-11-29 23:37  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataOutputStream.java: Added the methods flush(),
	write(byte) and write(byte[], int, int) in order to conform to the
	spec.  

1998-11-29 23:30  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataInputStream.java: Added read(byte[]) and read(byte[],
	int, int) to conform to spec 

1998-11-29 23:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: DataInput.java, DataOutput.java, Externalizable.java: 
	Added superfluous abstract keyword to interface decl to conform to
	spec 

1998-11-29 23:19  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/CharArrayWriter.java: Added write(String, int, int) to
	conform to spec 

1998-11-29 23:14  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: ByteArrayInputStream.java, ByteArrayOutputStream.java: 
	Added close() method to conform to spec 

1998-11-29 23:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedWriter.java: Removed finalize() and added
	write(String, int, int) to conform to spec 

1998-11-29 23:06  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedReader.java: Made marklimit and
	DEFAULT_BUFFER_SIZE private to conform to spec 

1998-11-29 23:04  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedOutputStream.java: Removed close() and finalize()
	methods for spec compatibility 

1998-11-29 23:02  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedInputStream.java: Add close() method for spec
	compatibility 

1998-11-29 22:28  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: ObjectStreamException.java, FilterOutputStream.java: 
	Copyright Fix 

1998-11-29 22:28  Aaron M. Renn <arenn@urbanophile.com>

	* java/: io/OutputStreamWriter.java, io/FilterReader.java,
	io/FilterInputStream.java, net/DatagramSocketImpl.java,
	net/HttpURLConnection.java, net/Socket.java: Documentation Fix 

1998-11-29 03:36  John Keiser <jkeiser@iname.com>

	* native/lib/: jcl.c, jcl.h, jnilink.c, jnilink.h: Removed the
	darned carriage returns.  

1998-11-29 01:15  John Keiser <jkeiser@iname.com>

	* lib/.cvsignore: First checkin.  

1998-11-29 01:12  John Keiser <jkeiser@iname.com>

	* native/: .cvsignore, gnu.java.awt.peer.gtk/.cvsignore,
	java.io/.cvsignore, java.lang/.cvsignore,
	java.lang.reflect/.cvsignore, java.math/.cvsignore,
	java.net/.cvsignore, lib/.cvsignore, nsa/.cvsignore,
	testsuite/.cvsignore, vmi/.cvsignore: Copied from Japhar's native
	.cvsignore.  

1998-11-29 01:11  John Keiser <jkeiser@iname.com>

	* .cvsignore: 'Bout time. :) 

1998-11-29 01:02  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: PipedInputStream.java, PipedReader.java,
	PipedInputStream.java, PipedReader.java, PrintStream.java,
	PrintWriter.java, RandomAccessFile.java, Reader.java,
	SequenceInputStream.java, SerializablePermission.java,
	StreamTokenizer.java, StringBufferInputStream.java,
	StringReader.java, Writer.java, BufferedInputStream.java,
	BufferedReader.java, FileInputStream.java, InputStream.java,
	PushbackInputStream.java, PushbackReader.java, OutputStream.java,
	Reader.java, Writer.java: Documentation Fix 

1998-11-29 00:46  John Keiser <jkeiser@iname.com>

	* lib/.deps: Updated to remove FilePermission.java.  

1998-11-29 00:45  John Keiser <jkeiser@iname.com>

	* java/lang/: Double.java, ExceptionInInitializerError.java: Typos.  

1998-11-29 00:12  John Keiser <jkeiser@iname.com>

	* lib/standard.omit: Typo.  Was including FilePermission.java when
	it shouldn't.  

1998-11-29 00:06  John Keiser <jkeiser@iname.com>

	* java/io/FilePermission.java: Needed to import java.security.* 

1998-11-28 22:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: FileFilter.java, FilenameFilter.java,
	Externalizable.java, ObjectInput.java, ObjectOutput.java,
	BufferedInputStream.java, BufferedReader.java,
	ByteArrayInputStream.java, CharArrayReader.java,
	DataInputStream.java, DataOutputStream.java, DataInputStream.java,
	File.java, FileDescriptor.java, FileInputStream.java,
	FileOutputStream.java, InputStreamReader.java,
	LineNumberInputStream.java, LineNumberReader.java: Documentation
	Fix 

1998-11-28 22:36  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataOutput.java: Documentation fix 

1998-11-28 22:17  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataInput.java: Documentation Fixes 

1998-11-27 04:43  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/: GtkToolkit.java, Makefile, Test.java: 
	Added support for GtkCheckboxPeer 

1998-11-27 04:41  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/Makefile: Added support for
	gtkcheckboxpeer 

1998-11-27 04:41  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkcheckboxpeer.c,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: Initial commit 

1998-11-27 01:45  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkpeer.h: Added support for
	~/.classpath-gtkrc 

1998-11-27 01:43  Jim Blair <jeblair@eos.ncsu.edu>

	* native/gnu.java.awt.peer.gtk/gtkmainthread.c: Added support for
	GTK themes via ~/.classpath-gtkrc 

1998-11-25 06:17  Jim Blair <jeblair@eos.ncsu.edu>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.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/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkMainThread.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/Makefile, gnu/java/awt/peer/gtk/Test.java,
	native/gnu.java.awt.peer.gtk/Makefile,
	native/gnu.java.awt.peer.gtk/gdkjnithreads.c,
	native/gnu.java.awt.peer.gtk/gdkjnithreads.h,
	native/gnu.java.awt.peer.gtk/gtkbuttonpeer.c,
	native/gnu.java.awt.peer.gtk/gtkcomponentpeer.c,
	native/gnu.java.awt.peer.gtk/gtkfiledialogpeer.c,
	native/gnu.java.awt.peer.gtk/gtkmainthread.c,
	native/gnu.java.awt.peer.gtk/gtkpeer.h,
	native/gnu.java.awt.peer.gtk/gtkscrollpanepeer.c,
	native/gnu.java.awt.peer.gtk/gtkwindowpeer.c,
	native/gnu.java.awt.peer.gtk/native_state.c,
	native/gnu.java.awt.peer.gtk/native_state.h: Initial commit of GTK
	peers.  

1998-11-24 02:50  Brian Jones <cbj@gnu.org>

	* java/lang/reflect/InvocationTargetException.java: updated for
	serialization, added methods, etc.  1.2 compatible 

1998-11-24 02:32  Brian Jones <cbj@gnu.org>

	* java/lang/VirtualMachineError.java: keyword 'abstract' added to
	class declaration 

1998-11-24 02:30  Brian Jones <cbj@gnu.org>

	* java/lang/SecurityManager.java: 
	checkMulticast(java.net.InetAddress, byte): wrong argument type int
	in declaration 

1998-11-24 02:28  Brian Jones <cbj@gnu.org>

	* java/lang/SecurityManager.java: checkTopLevelWindow(Object):
	returns false instead of throwing exception 

1998-11-24 02:21  Brian Jones <cbj@gnu.org>

	* java/lang/Object.java: getClass(): added 'final' keyword for API
	compliance clone(): made function 'protected' for API compliance 

1998-11-24 02:20  Brian Jones <cbj@gnu.org>

	* java/lang/Runnable.java: added 'abstract' keyword for API
	compliance 

1998-11-24 02:20  Brian Jones <cbj@gnu.org>

	* vm/reference/java/lang/Runtime.java: removed 'final' keyword for
	API compliance 

1998-11-24 02:11  Brian Jones <cbj@gnu.org>

	* vm/reference/java/lang/Class.java: void setSigners(Object[])
	instead of public (readded) 

1998-11-24 01:44  Brian Jones <cbj@gnu.org>

	* java/lang/Comparable.java: keyword 'abstract' added for API
	consistency 

1998-11-24 01:43  Brian Jones <cbj@gnu.org>

	* java/lang/Cloneable.java: keyword 'abstract' added for API
	consistency (1.2RC2) 

1998-11-24 01:42  Brian Jones <cbj@gnu.org>

	* vm/reference/java/lang/Class.java: removed "public
	setSigners(Object[]) function" to be consistent with API.  
	Serialization needs to be done still (not sure how myself with this
	one) 

1998-11-24 01:30  Brian Jones <cbj@gnu.org>

	* java/lang/Byte.java: doc comment fix 

1998-11-24 01:23  Brian Jones <cbj@gnu.org>

	* java/lang/Byte.java: implements java.lang.Comparable 

1998-11-23 15:44  Brian Jones <cbj@gnu.org>

	* lib/.deps: 407 compiled classes 

1998-11-23 05:13  John Keiser <jkeiser@iname.com>

	* lib/: deps.sh, gen-classlist.sh, standard.omit: Modified deps.sh
	to work with a .omit file which allows the build to exclude certain
	files (most notably java.security, for now).  Each line in 
	standard.omit is a line to be passed to grep -v to screen out files.  
	This should be extended later so that when we want to, we can create 
	different builds of Classpath (Personal Java, Server Java, etc.) 

1998-11-23 00:18  John Keiser <jkeiser@iname.com>

	* java/lang/ThreadDeath.java: Added VERY rudimentary version of
	ThreadDeath for compilation.  No comments, and absolutely no
	constructors or methods (besides the default ThreadDeath() supplied
	by the compiler).  

1998-11-23 00:16  John Keiser <jkeiser@iname.com>

	* java/lang/Byte.java: Modified so that it compiles.  

1998-11-21 22:37  Brian Jones <cbj@gnu.org>

	* scripts/patches.pl: updated to send email 

1998-11-21 17:36  Brian Jones <cbj@gnu.org>

	* scripts/patches.pl: initial commit 

1998-11-18 04:25  Brian Jones <cbj@gnu.org>

	* java/lang/Byte.java: compareTo(Byte): added for 1.2 
	compareTo(Object): added for 1.2 

1998-11-18 04:00  Brian Jones <cbj@gnu.org>

	* java/lang/Boolean.java: added toString() to comply with 1.2RC1.  

1998-11-18 03:03  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/ObjectOutput.java: Added superfluous abstract declaration
	to interface for Java spec compat 

1998-11-18 02:24  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/InvalidClassException.java: Really fix bad method
	signature 

1998-11-18 02:22  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterWriter.java: Added abstract declaration to class to
	comply with spec 

1998-11-18 02:21  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterReader.java: Removed superfluous read(char[])
	method 

1998-11-18 02:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilterInputStream.java: Added missing close() method 

1998-11-18 02:16  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilenameFilter.java: Added superfluous abstract keyword
	to sync with Java spec 

1998-11-18 02:08  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/SerializablePermission.java: Initial Checkin 

1998-11-18 01:55  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FilenameFilter.java: Replace Texinfo with HTML 

1998-11-18 01:55  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/FileFilter.java: Initial checkin of this stupid class 

1998-11-16 03:45  Brian Jones <cbj@gnu.org>

	* configure.in: updated 

1998-11-16 03:44  Brian Jones <cbj@gnu.org>

	* acinclude.m4: CLASSPATH_CHECK_JVM is now CLASSPATH_CHECK_JAPHAR
	and CLASSPATH_CHECK_KAFFE Note: when editing acinclude.m4 make sure
	to change emacs mode to sh-mode since the default is m4-mode.  

1998-11-15 04:37  Brian Jones <cbj@gnu.org>

	* configure.in: cleaned up a bit.  major bug is --with-jvm must be
	specified on configure command line and it never makes use of its
	argument.  is this just on my machine? 

1998-11-15 04:35  Brian Jones <cbj@gnu.org>

	* acinclude.m4: CLASSPATH_CHECK_JVM added 
	CLASSPATH_INTERNAL_CHECK_JVM added CLASSPATH_CHECK_THREADS added 

1998-11-15 04:34  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/javanet.c: Another Moses DeJong warning patch 

1998-11-15 04:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/NumberFormat.java: Initial Checkin 

1998-11-13 23:00  Brian Jones <cbj@gnu.org>

	* java/util/Collections.java: look for FIXME to see what I
	bastardized 

1998-11-13 22:45  Brian Jones <cbj@gnu.org>

	* java/util/Map.java: entries(): is now entrySet() (JDK 1.2 RC1) 

1998-11-11 22:59  Paul Fisher <rao@gnu.org>

	* java/lang/: Float.java, Double.java: Initial commit -- native
	methods are missing.  

1998-11-10 18:47  Brian Jones <cbj@gnu.org>

	* lib/.deps: updated 

1998-11-10 18:36  Brian Jones <cbj@gnu.org>

	* java/io/FilePermission.java: fixed parsing errors: 
	cannot have void return type for constructor 
	extra '}' closing switch statement in the middle of the switch
	
	statement 

1998-11-09 20:08  John Keiser <jkeiser@iname.com>

	* NoJDK: Removed.  Really no need for this anymore.  We shouldn't
	be working with the JDK.  

1998-11-09 20:04  John Keiser <jkeiser@iname.com>

	* java/lang/Throwable.java: Changed 'detailMessage' back to
	'message' now that Japhar calls getMessage().  

1998-11-09 15:15  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/: AbstractCollection.java, AbstractList.java,
	AbstractSequentialList.java, AbstractSet.java, Arrays.java,
	Collection.java, Collections.java, LinkedList.java, List.java,
	Map.java: [one commit for multiple Collections files] Several fixes
	for completeness, updating to beta4 spec (with some RC1 enhancements
	too), and more doc comments.  Note that all changes are untested
	because my time availability is nil, but they shouldn't be far from
	working.  

1998-11-09 01:51  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Thread.java: Added private constructor for
	Japhar's use.  

1998-11-09 01:34  Brian Jones <cbj@gnu.org>

	* acinclude.m4: initial checkin 

1998-11-09 01:33  Brian Jones <cbj@gnu.org>

	* configure.in: added configure.in patch from Petter 

1998-11-08 06:22  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: Class.java, Thread.java: Removed
	private_data fields.  

1998-11-08 06:21  John Keiser <jkeiser@iname.com>

	* java/lang/Throwable.java: Changed message to detailMessage.  This
	should also simplify serialization ... but I don't know if that's
	what we want to do.  

1998-11-08 06:18  John Keiser <jkeiser@iname.com>

	* java/io/PrintWriter.java: *Temporary* fix for odd system
	properties problem.  

1998-11-08 01:43  Brian Jones <cbj@gnu.org>

	* java/lang/UnsupportedOperationException.java: grabbed
	serialVersionUID from JDK 1.2 

1998-11-08 01:42  Brian Jones <cbj@gnu.org>

	* java/lang/UnsupportedClassVersionError.java: grabbed
	serialVersionUID value from JDK 1.2 

1998-11-08 01:18  Brian Jones <cbj@gnu.org>

	* lib/.deps: 392 classes now compile 

1998-11-08 01:15  Brian Jones <cbj@gnu.org>

	* java/lang/: ArithmeticException.java,
	ArrayIndexOutOfBoundsException.java, ArrayStoreException.java,
	ClassCastException.java, ClassNotFoundException.java,
	CloneNotSupportedException.java, Exception.java,
	IllegalAccessException.java, IllegalArgumentException.java,
	IllegalMonitorStateException.java, IllegalStateException.java,
	IllegalThreadStateException.java, IndexOutOfBoundsException.java,
	InstantiationException.java, InterruptedException.java,
	NegativeArraySizeException.java, NoSuchFieldException.java,
	NoSuchMethodException.java, NullPointerException.java,
	NumberFormatException.java, RuntimeException.java,
	SecurityException.java, StringIndexOutOfBoundsException.java,
	UnsupportedOperationException.java: added serialVersionUID
	information for most classes added missing functions where necessary 

1998-11-08 01:14  Brian Jones <cbj@gnu.org>

	* java/lang/ExceptionInInitializerError.java: serialVersionUID
	information for most classes added missing methods where necessary 

1998-11-08 00:30  Brian Jones <cbj@gnu.org>

	* java/lang/Throwable.java: serialVersionUID added (1.1 JDK
	reference) 

1998-11-07 23:39  Brian Jones <cbj@gnu.org>

	* java/lang/Throwable.java: compile fixes 

1998-11-07 23:27  Brian Jones <cbj@gnu.org>

	* java/lang/: AbstractMethodError.java, ClassCircularityError.java,
	ClassFormatError.java, Error.java,
	ExceptionInInitializerError.java, IllegalAccessError.java,
	IncompatibleClassChangeError.java, InstantiationError.java,
	InternalError.java, LinkageError.java, NoClassDefFoundError.java,
	NoSuchFieldError.java, NoSuchMethodError.java,
	OutOfMemoryError.java, StackOverflowError.java, UnknownError.java,
	UnsatisfiedLinkError.java, UnsupportedClassVersionError.java,
	VerifyError.java, VirtualMachineError.java: initial checkin 

1998-11-07 20:07  Brian Jones <cbj@gnu.org>

	* java/lang/Throwable.java: implemented readObject and writeObject
	for serialization 

1998-11-07 00:24  John Keiser <jkeiser@iname.com>

	* java/io/FilePermission.java: Initial checkin.  

1998-11-06 23:21  John Keiser <jkeiser@iname.com>

	* doc/vmintegration.texinfo: Initial checkin of texinfo file with
	info on VM integration.  Needs texinfo work still.  

1998-11-06 04:00  Brian Jones <cbj@gnu.org>

	* java/lang/: ArithmeticException.java,
	ArrayIndexOutOfBoundsException.java, ArrayStoreException.java,
	ClassCastException.java, ClassNotFoundException.java,
	CloneNotSupportedException.java, Exception.java,
	IllegalAccessException.java, IllegalArgumentException.java,
	IllegalMonitorStateException.java, IllegalStateException.java,
	IllegalThreadStateException.java, IndexOutOfBoundsException.java,
	InstantiationException.java, InterruptedException.java,
	NegativeArraySizeException.java, NoSuchFieldException.java,
	NoSuchMethodException.java, NullPointerException.java,
	NumberFormatException.java, RuntimeException.java,
	SecurityException.java, StringIndexOutOfBoundsException.java,
	UnsupportedOperationException.java: updated via 1.2FCS docs 

1998-11-06 03:32  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: PlainDatagramSocketImpl.c, InetAddress.c,
	javanet.c: Merge Moses DeJong's patch to suppress warnings and
	allow compiles on Solaris.  

1998-11-04 02:47  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectOutputStream.java: (writeFields()): added to allow
	compilation.  Not yet implemented.  

1998-11-04 02:46  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractMap.java: (values()): fixed reference to
	`map_iterator' in Iterator inner class of AbstractCollection inner
	class so class can actually be compiled.  

1998-11-03 18:25  Geoff Berry <gcb@gnu.org>

	* java/io/WriteAbortedException.java: 
	(WriteAbortedException(Exception)): changed to 
	WriteAbortedException(String,Exception) as per 1.2 documentation.  

1998-11-02 15:47  Brian Jones <cbj@gnu.org>

	* lib/: deps.sh, .deps: set directory to classes correctly in .deps 

1998-11-02 15:29  Brian Jones <cbj@gnu.org>

	* Makefile.am: compile lib first 

1998-11-02 15:28  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: JAVAHEADER var added 

1998-11-02 15:27  Brian Jones <cbj@gnu.org>

	* lib/.deps: include native .h stuff 

1998-11-02 05:07  John Keiser <jkeiser@iname.com>

	* native/java.io/: File.c, FileDescriptor.c, FileInputStream.c,
	FileOutputStream.c, Makefile.am: Fix java.io compilation: until we
	deal with a particular build issue, not using .h files at all.  

1998-11-02 05:06  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/Makefile.am: Don't compile certain
	native stuff that's already included with Japhar.  

1998-11-02 04:28  John Keiser <jkeiser@iname.com>

	* java/lang/System.java: Made sure references to in, out and err
	are not forward.  

1998-11-02 04:28  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Thread.java: Set values of MIN_PRIORITY,
	NORM_PRIORITY, MAX_PRIORITY 

1998-11-02 03:07  Brian Jones <cbj@gnu.org>

	* lib/.deps: updated 

1998-11-01 21:43  John Keiser <jkeiser@iname.com>

	* java/io/: File.java, FileDescriptor.java, FileInputStream.java,
	FileOutputStream.java: No longer load libraries.  Some java.io
	classes are part of the bootstrap process, so javaio is loaded
	automatically by Japhar (and should be by other VMs as well).  

1998-11-01 21:32  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/reflect/Field.java: Changed many things to
	native that were not native before.  

1998-11-01 21:32  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Runtime.java: Removed debugging stuff that
	shouldn't have made it into CVS in the first place.  

1998-11-01 21:31  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Thread.java: No longer manages state --
	that is done natively.  

1998-11-01 21:31  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/Class.java: Changed some fields for
	Japhar.  

1998-11-01 21:22  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: Class.java, Runtime.java: Changes for
	Japhar.  

1998-11-01 21:21  John Keiser <jkeiser@iname.com>

	* vm/reference/gnu/vm/stack/StackTrace.java: Fixed minor
	error-checking bug, preventing possible infinite loop.  

1998-11-01 21:19  John Keiser <jkeiser@iname.com>

	* native/lib/Makefile.am: MAJOR CHANGE: Japhar won't work without
	this.  I changed the name of the library to "classpath_lib" since
	classpath seemed a likely candidate for native library name
	conflicts.  

1998-11-01 21:14  John Keiser <jkeiser@iname.com>

	* java/lang/System.java: Modified System to work with odd quirks in
	guavac -- particularly, in, out and err have to be initialized in
	the static initializer so that they are guaranteed to be initialized
	in the correct order--after properties is initialized.  I made an
	optimization on the SecurityManager usage as well, and have not yet
	tested it with Japhar.  

1998-11-01 21:03  John Keiser <jkeiser@iname.com>

	* native/java.io/: File.c, FileDescriptor.c, FileInputStream.c,
	FileOutputStream.c, RandomAccessFile.c: Removed stubs (I think). 
	Looks like .h files are not being created automatically: someone
	should either do that or not include them.  

1998-11-01 20:50  John Keiser <jkeiser@iname.com>

	* native/java.io/Makefile.am: Added a few other changes ...  

1998-11-01 04:48  Brian Jones <cbj@gnu.org>

	* native/java.lang.reflect/Makefile.am: VMINCLUDE fix 

1998-11-01 04:32  Brian Jones <cbj@gnu.org>

	* configure.in: MAINTAINER_BUILD conditional support 

1998-11-01 04:31  Brian Jones <cbj@gnu.org>

	* lib/Makefile.am: updated 

1998-11-01 04:31  Brian Jones <cbj@gnu.org>

	* lib/.deps: initial checkin 

1998-11-01 02:48  Brian Jones <cbj@gnu.org>

	* Makefile.am: gnu not in subdirs 

1998-11-01 02:47  Brian Jones <cbj@gnu.org>

	* aclocal.m4: guile stuff 

1998-11-01 02:47  Brian Jones <cbj@gnu.org>

	* gnu/test/Makefile.am: don't want to compile these here 

1998-11-01 02:46  Brian Jones <cbj@gnu.org>

	* lib/deps.sh: include the right directories in search 

1998-11-01 02:43  Brian Jones <cbj@gnu.org>

	* native/: java.io/Makefile.am, java.net/Makefile.am,
	lib/Makefile.am: VMINCLUDE fix 

1998-11-01 02:04  Brian Jones <cbj@gnu.org>

	* native/java.lang/Makefile.am: fixed typo with VMINCLUDE 

1998-10-31 21:14  Paul Fisher <rao@gnu.org>

	* java/lang/StringBuffer.java: 
	(ensureCapacity): Revert to using Math.max.  

1998-10-31 00:44  Jon A. Zeppieri <jon@eease.com>

	* java/util/: AbstractMap.java, HashMap.java, Map.java: jdk1.2beta4
	compatibility fixes (entries() changed to entrySet() in Map.java and
	AbstractMap.java); also, two private instance variables in HashMap
	were made package-access 

1998-10-30 23:47  Brian Jones <cbj@gnu.org>

	* java/lang/StringIndexOutOfBoundsException.java: added constructor 

1998-10-30 04:29  Brian Jones <cbj@gnu.org>

	* java/lang/: ArithmeticException.java,
	ArrayIndexOutOfBoundsException.java, ArrayStoreException.java,
	ClassCastException.java, ClassNotFoundException.java,
	CloneNotSupportedException.java, Exception.java,
	IllegalAccessException.java, IllegalArgumentException.java,
	IllegalMonitorStateException.java, IllegalStateException.java,
	IllegalThreadStateException.java, IndexOutOfBoundsException.java,
	InstantiationException.java, InterruptedException.java,
	NegativeArraySizeException.java, NoSuchFieldException.java,
	NoSuchMethodException.java, NullPointerException.java,
	NumberFormatException.java, RuntimeException.java,
	SecurityException.java, StringIndexOutOfBoundsException.java,
	UnsupportedOperationException.java: added copyright notice 

1998-10-29 07:29  Geoff Berry <gcb@gnu.org>

	* native/java.io/: java_io_ObjectStreamClass.c,
	java_io_ObjectStreamClass.h: (getSerialPersistantFields(Class)):
	added.  

1998-10-29 07:28  Geoff Berry <gcb@gnu.org>

	* native/java.io/: java_io_ObjectInputStream.c,
	java_io_ObjectInputStream.h: Changed callConstructor to take a
	class as a apramter instead of an object.  

1998-10-29 07:22  Geoff Berry <gcb@gnu.org>

	* java/io/: ObjectInputStream.java, ObjectOutputStream.java,
	ObjectStreamClass.java, ObjectStreamField.java: Added Persistant
	Fields API support.  

1998-10-29 03:25  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/ChoiceFormat.java: Initial Checkin 

1998-10-27 02:50  Brian Jones <cbj@gnu.org>

	* java/lang/ArrayIndexOutOfBoundsException.java: added comments to
	third constructor 

1998-10-26 22:04  Paul Fisher <rao@gnu.org>

	* java/lang/ArrayIndexOutOfBoundsException.java: Add int
	constructor.  

1998-10-25 03:39  Paul Fisher <rao@gnu.org>

	* native/java.lang/Makefile.am: Add java_lang_Math.  

1998-10-25 03:24  Paul Fisher <rao@gnu.org>

	* native/java.lang/: acos.c, asin.c, atan.c, atan2.c, ceil.c,
	cos.c, e_fmod.c, exp.c, fdlibm.h, floor.c, java_lang_Math.h,
	k_cos.c, k_rem_pio2.c, k_sin.c, k_tan.c, log.c, pow.c, remainder.c,
	rint.c, s_fabs.c, sin.c, sqrt.c, tan.c: Initial commit of native
	code for java.lang.Math.  

1998-10-25 03:12  Paul Fisher <rao@gnu.org>

	* java/lang/Math.java: Finished implementing JDK1.2 java.lang.Math.  

1998-10-24 19:28  Brian Jones <cbj@gnu.org>

	* java/lang/: ClassCastException.java, ClassNotFoundException.java,
	CloneNotSupportedException.java, IllegalAccessException.java,
	IllegalArgumentException.java, IllegalMonitorStateException.java,
	IllegalStateException.java, IllegalThreadStateException.java,
	IndexOutOfBoundsException.java, InstantiationException.java,
	InterruptedException.java, NegativeArraySizeException.java,
	NoSuchFieldException.java, NoSuchMethodException.java,
	NullPointerException.java, NumberFormatException.java,
	RuntimeException.java, SecurityException.java,
	StringIndexOutOfBoundsException.java: initial checkin 

1998-10-22 03:51  Brian Jones <cbj@gnu.org>

	* java/lang/: ArrayStoreException.java, ArithmeticException.java,
	ArrayIndexOutOfBoundsException.java: initial checkin 

1998-10-21 20:00  Brian Jones <cbj@gnu.org>

	* Makefile.am: added lib as SUBDIR 

1998-10-21 19:59  Brian Jones <cbj@gnu.org>

	* configure.in: added lib/Makefile as target 

1998-10-21 19:59  Brian Jones <cbj@gnu.org>

	* lib/: deps.sh, Makefile.am: initial checkin 

1998-10-21 03:53  Aaron M. Renn <arenn@urbanophile.com>

	* native/java.net/: InetAddress.c, PlainDatagramSocketImpl.c,
	Makefile.am, PlainSocketImpl.c: For John, no stubs anymore 

1998-10-21 01:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: CollationElementIterator.java,
	RuleBasedCollator.java: Initial Checkin 

1998-10-20 00:16  Paul Fisher <rao@gnu.org>

	* java/lang/Math.java: Initial commit (functional for John's
	purposes).  

1998-10-19 04:30  John Keiser <jkeiser@iname.com>

	* java/lang/Throwable.java: Added synchronization so that things
	don't change on us while printing.  

1998-10-19 04:27  John Keiser <jkeiser@iname.com>

	* java/lang/StringBuffer.java: Fixed a rather nasty off-by-one bug,
	making it copy things wrong.  Also put Math.max() into comments
	until we have Math.  

1998-10-17 20:41  John Keiser <jkeiser@iname.com>

	* configure.in: Make native/java.lang Makefile with configure.  

1998-10-17 20:36  John Keiser <jkeiser@iname.com>

	* gnu/java/: beans/IntrospectionIncubator.java,
	lang/MainThread.java: Fixed a typo in IntrospectionIncubator, added
	MainThread.java (which can be used by the VM to run the initial
	class with main(String[] args)).  

1998-10-17 20:34  John Keiser <jkeiser@iname.com>

	* java/: beans/PropertyEditorManager.java, lang/ThreadGroup.java,
	lang/Throwable.java, lang/Void.java, lang/reflect/Constructor.java,
	lang/reflect/Field.java, lang/reflect/Method.java: Fixed a few
	typos, added ThreadGroup, moved reflect classes to vm/reference.  

1998-10-17 20:33  John Keiser <jkeiser@iname.com>

	* vm/reference/: gnu/vm/stack/StackFrame.java,
	gnu/vm/stack/StackTrace.java, java/lang/Thread.java,
	java/lang/VMSecurityManager.java,
	java/lang/reflect/Constructor.java, java/lang/reflect/Field.java,
	java/lang/reflect/Method.java: Moved some files that are
	VM-specific over from the main tree.  Fixed a few typos too.  

1998-10-14 02:45  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation_en.java: Adding warning message
	to document 

1998-10-14 02:44  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/DefaultBreakIterator.java: Initial Checkin 

1998-10-13 03:20  Brian Jones <cbj@gnu.org>

	* configure.in: include GUILE_FLAGS 

1998-10-13 03:18  Brian Jones <cbj@gnu.org>

	* native/testsuite/Makefile.am: easier to add other VMs to
	testsuite now 

1998-10-13 02:15  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation.java,
	gnu/java/locale/LocaleInformation_en.java,
	java/text/BreakIterator.java: Initial Checkin 

1998-10-13 02:15  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/locale/LocaleInformation.properties: Removing this file
	since I'm switching to ListResourceBundles 

1998-10-13 00:38  Jon A. Zeppieri <jon@eease.com>

	* java/util/: BasicMapEntry.java, Bucket.java, Dictionary.java,
	HashMap.java, HashSet.java, Hashtable.java: added files: 
	BasicMapEntry.java, Bucket.java, Dictionary.java, HashMap.java, 
	HashSet.java, Hashtable.java 

1998-10-11 18:50  Paul Fisher <rao@gnu.org>

	* java/lang/Character.java: 
	(toUpperCase, toTitleCase): Doc fix.  

1998-10-10 06:20  Paul Fisher <rao@gnu.org>

	* README: "Fix" GNU/Linux reference.  

1998-10-09 21:42  Brian Jones <cbj@gnu.org>

	* native/Makefile.am: added testsuite to SUBDIRS 

1998-10-09 21:37  Brian Jones <cbj@gnu.org>

	* gnu/test/Makefile.am, native/testsuite/Makefile.am: initial
	checkin 

1998-10-09 21:35  Brian Jones <cbj@gnu.org>

	* gnu/Makefile.am: include test in SUBDIRS 

1998-10-09 21:34  Brian Jones <cbj@gnu.org>

	* configure.in: new variable VMLIB available in Makefile.am as
	@VMLIB@ autodetect of Japhar as pretty much the only vm we support
	at the moment 

1998-10-09 19:12  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/VMSecurityManager.java: Made a previously
	public method non-public and added another method.  

1998-10-09 19:09  John Keiser <jkeiser@iname.com>

	* java/lang/Throwable.java: Weird.   CVS did something weird with
	the last version, merged mine and Brian's or something.  This should
	be the normal one.  

1998-10-09 19:07  John Keiser <jkeiser@iname.com>

	* native/lib/Makefile.am: Made VMINCLUDE and such work correctly.  

1998-10-09 19:05  John Keiser <jkeiser@iname.com>

	* native/java.lang/System.c: Stole Japhar's implementation of
	System.currentTimeMillis(), courtesy Chris Toshok.  

1998-10-09 19:04  John Keiser <jkeiser@iname.com>

	* native/Makefile.am: Modified to build correct libraries.  

1998-10-09 19:01  John Keiser <jkeiser@iname.com>

	* java/lang/: ClassLoader.java, SecurityManager.java,
	Throwable.java: Commented Throwable, made all three integrate with
	Japhar.  

1998-10-08 16:12  Brian Jones <cbj@gnu.org>

	* java/lang/Object.java: finalize(): throws Throwable 

1998-10-08 16:12  Brian Jones <cbj@gnu.org>

	* java/lang/Throwable.java: toString(): must return a string 

1998-10-08 15:42  Brian Jones <cbj@gnu.org>

	* java/io/IOException.java: must extend java.lang.Exception 

1998-10-08 13:43  Brian Jones <cbj@gnu.org>

	* gnu/Makefile.am: commented out java and tools subdirs 

1998-10-08 13:43  Brian Jones <cbj@gnu.org>

	* Makefile.am: commented out java subdir 

1998-10-08 02:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedStringIterator.java: Initial checkin 

1998-10-07 02:18  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/StringCharacterIterator.java: Added another constructor
	for my personal use 

1998-10-06 03:01  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedString.java: Initial Checkin.  Missing
	support class needed to compile.  Will follow soon.  

1998-10-05 21:45  scgmille

	* java/util/Vector.java: Optimized some methods in
	java.util.Vector.  

1998-10-05 02:11  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/AttributedCharacterIterator.java: Initial Checkin. 
	Note that guavac has bugs and can't compile this module.  

1998-10-04 23:03  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: Runtime.java, VMClassLoader.java,
	VMObject.java, VMRuntime.java, VMSecurityManager.java,
	VMSystem.java: First rev. of changes for Japhar.  Incidentally, I
	have the Japhar native side compiling now.  Wish me luck.  

1998-10-04 23:02  John Keiser <jkeiser@iname.com>

	* java/lang/: Class.java, Runtime.java, SecurityManager.java,
	System.java: First rev. of changes for Japhar integration ...  

1998-10-04 18:32  John Keiser <jkeiser@iname.com>

	* AUTHORS: Added me.  

1998-10-04 18:28  John Keiser <jkeiser@iname.com>

	* java/lang/: Boolean.java, Byte.java, Character.java,
	Integer.java, Long.java, Short.java, Void.java: Uses VMClassLoader
	method for TYPE instead of VMClass.  

1998-10-04 18:17  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: Class.java, VMClassLoader.java: Now
	VMClassLoader has the primitive class thingy.  Class is in here,
	now, too.  

1998-10-04 17:57  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/VMClass.java: Silly me, I forgot
	VMClass.java was going away.  

1998-10-04 17:44  John Keiser <jkeiser@iname.com>

	* java/lang/: Boolean.java, Byte.java, Character.java,
	Integer.java, Long.java, Short.java, Void.java: Primitive types use
	VMClass.getPrimitiveClass() to initialize TYPE now.  

1998-10-04 17:39  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/VMClass.java: Added getPrimitiveClass().  

1998-10-03 23:53  Paul Fisher <rao@gnu.org>

	* testsuite/config/tests: Initial list of tests.  

1998-10-03 23:49  Paul Fisher <rao@gnu.org>

	* testsuite/java.lang/ByteTest.java: ByteTest now conforms to the
	new Guile testing framework.  

1998-10-03 23:47  Paul Fisher <rao@gnu.org>

	* gnu/test/: Fail.java, Pass.java, Result.java, Test.java,
	Unresolved.java, Unsupported.java, Untested.java, XFail.java,
	XPass.java: Initial commit of the testsuite driving code.  

1998-10-03 23:36  Paul Fisher <rao@gnu.org>

	* testsuite/scheme/test.scm: Initial commit of scheme driver code.  

1998-10-03 23:22  Paul Fisher <rao@gnu.org>

	* native/testsuite/guile-jvm.c: Handle exceptions from test().  

1998-10-02 05:16  Paul Fisher <rao@gnu.org>

	* doc/testing.framework.text: Modify spec to allow test() to throw
	runtime exceptions and errors.  

1998-10-02 04:42  Brian Jones <cbj@gnu.org>

	* testsuite/java.lang/ByteTest.java: Modified for testing framework 

1998-10-02 03:07  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/Format.java: Initial Checkin 

1998-10-01 23:57  Paul Fisher <rao@gnu.org>

	* doc/testing.framework.text: Clarify example 2.  

1998-10-01 23:56  Paul Fisher <rao@gnu.org>

	* doc/testing.framework.text: Add import line to example.  

1998-09-29 04:49  Paul Fisher <rao@gnu.org>

	* doc/testing.framework.text: Update author info.  

1998-09-29 04:47  Paul Fisher <rao@gnu.org>

	* doc/native.api: Update with author info.  

1998-09-29 04:28  Paul Fisher <rao@gnu.org>

	* native/testsuite/guile-jvm.c, doc/testing.framework.text: Initial
	commit.  

1998-09-26 20:00  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/Collator.java,
	gnu/java/locale/LocaleInformation.properties: Initial Checkin 

1998-09-25 15:26  Brian Jones <cbj@gnu.org>

	* java/io/StreamTokenizer.java: changed 'u000a' to '\n' for
	compiling 

1998-09-25 15:21  Brian Jones <cbj@gnu.org>

	* java/lang/: Throwable.java, Exception.java: initial checkin (just
	to compile) 

1998-09-25 13:42  Brian Jones <cbj@gnu.org>

	* configure.in: added LIBVERSION 

1998-09-25 13:41  Brian Jones <cbj@gnu.org>

	* native/java.net/Makefile.am: added @LIBVERSION@ and double dashes
	to japharh 

1998-09-25 01:26  Aaron M. Renn <arenn@urbanophile.com>

	* java/text/: Annotation.java, CharacterIterator.java,
	CollationKey.java, FieldPosition.java, ParseException.java,
	ParsePosition.java, StringCharacterIterator.java: Initial Checkin 

1998-09-24 21:50  Brian Jones <cbj@gnu.org>

	* configure.in: --with-javac ignores 'yes' and 'no' arguments 

1998-09-24 21:27  Brian Jones <cbj@gnu.org>

	* configure.in: now supports defining javac automatically or
	manually 

1998-09-23 18:09  John Keiser <jkeiser@iname.com>

	* native/Makefile.am: Modified Makefile for java.lang natives 

1998-09-23 18:08  John Keiser <jkeiser@iname.com>

	* native/java.lang/: Makefile.am, Object.c, Object.h, System.c,
	System.h: First revision of native java.lang code.  

1998-09-23 14:26  John Keiser <jkeiser@iname.com>

	* java/lang/: Class.java, ClassLoader.java, Object.java,
	Runtime.java, SecurityManager.java, System.java: Modified to work
	with VM interface.  

1998-09-22 19:50  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/VMSystem.java: method should have been
	static 

1998-09-22 19:40  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: VMClass.java, VMObject.java,
	VMSecurityManager.java, VMSystem.java: Typos (whoops) 

1998-09-22 19:21  John Keiser <jkeiser@iname.com>

	* vm/reference/java/lang/: VMClass.java, VMClassLoader.java,
	VMObject.java, VMRuntime.java, VMSecurityManager.java,
	VMSystem.java: Initial set of VM interface classes.  Must be
	customized on a per-VM basis.  

1998-09-20 15:44  Stuart Ballard <stuart.ballard@mcmail.com>

	* java/util/: VectorIterator.java, VectorListIterator.java,
	ArrayEnumeration.java, Vector.java: Update to Vector to take
	advantage of AbstractList 

1998-09-15 03:23  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: ProtectionDomain.java, Provider.java: Initial
	Checkin 

1998-09-15 00:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: CodeSource.java, GuardedObject.java: Initial
	Checkin 

1998-09-13 04:19  Paul Fisher <rao@gnu.org>

	* java/util/Stack.java: Initial commit.  

1998-09-13 04:18  Paul Fisher <rao@gnu.org>

	* java/util/ArrayEnumeration.java: Fix doc comment.  

1998-09-12 20:50  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/Permission.java: Make it compile 

1998-09-12 20:49  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/Permissions.java,
	java/security/PermissionCollection.java,
	gnu/java/security/DefaultPermissionCollection.java,
	java/security/SecurityPermission.java: Initial Checkin 

1998-09-12 20:44  Paul Fisher <rao@gnu.org>

	* java/util/: ArrayEnumeration.java, Vector.java,
	VectorIterator.java, VectorListIterator.java: Added Scott Miller's
	Vector implementation.  

1998-09-12 18:15  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: AllPermission.java, BasicPermission.java,
	Permission.java, UnresolvedPermission.java: Initial checkin 

1998-09-01 02:33  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: AccessControlException.java, Certificate.java,
	DigestException.java, GeneralSecurityException.java, Guard.java,
	InvalidAlgorithmParameterException.java, InvalidKeyException.java,
	InvalidParameterException.java, Key.java, KeyException.java,
	KeyManagementException.java, KeyStoreException.java,
	NoSuchAlgorithmException.java, NoSuchProviderException.java,
	Principal.java, PrivateKey.java, PrivilegedAction.java,
	PrivilegedActionException.java, PrivilegedExceptionAction.java,
	ProviderException.java, PublicKey.java, SignatureException.java,
	UnrecoverableKeyException.java: Initial Checkin 

1998-08-30 23:33  Geoff Berry <gcb@gnu.org>

	* gnu/java/io/NullOutputStream.java,
	gnu/java/io/ObjectIdentityWrapper.java,
	gnu/java/lang/reflect/TypeSignature.java,
	gnu/tools/serialver/Main.java, java/io/BlockDataException.java,
	java/io/ObjectInputStream.java, java/io/ObjectOutputStream.java,
	java/io/ObjectStreamClass.java, java/io/ObjectStreamConstants.java,
	java/io/ObjectStreamField.java, java/lang/Comparable.java,
	java/lang/UnsupportedOperationException.java,
	java/util/AbstractMap.java,
	native/java.io/java_io_ObjectInputStream.c,
	native/java.io/java_io_ObjectOutputStream.c,
	native/java.io/java_io_ObjectStreamClass.c,
	test/gnu.java.lang.reflect/TypeSignatureTest.java,
	test/java.io/ObjectInputStreamTest.java,
	test/java.io/ObjectOutputStreamTest.java,
	test/java.io/ObjectStreamClassTest.java, test/java.io/Test.java: 
	Changed copyright assignment to FSF.  

1998-08-30 23:32  Geoff Berry <gcb@gnu.org>

	* AUTHORS: Added my name and email.  

1998-08-26 00:23  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectStreamConstants.java: Made class and fields public
	as per jdk1.2b4.  

1998-08-25 17:56  Geoff Berry <gcb@gnu.org>

	* java/io/Makefile.am: Added all new .java files that were not
	already present.  

1998-08-25 14:50  Brian Jones <cbj@gnu.org>

	* doc/texinfo.tex: required by automake to appear in the same dir
	as source (mostly) 

1998-08-24 22:25  Brian Jones <cbj@gnu.org>

	* Makefile.am: include doc in make process 

1998-08-24 22:24  Brian Jones <cbj@gnu.org>

	* configure.in: added doc/Makefile 

1998-08-24 22:23  Brian Jones <cbj@gnu.org>

	* doc/Makefile.am: generate info file automatically 

1998-08-24 22:22  Brian Jones <cbj@gnu.org>

	* doc/hacking.texinfo: renamed from jcl-hacking.textinfo 

1998-08-24 22:20  Brian Jones <cbj@gnu.org>

	* doc/jcl-hacking.texinfo: renamed to hacking.textinfo 

1998-08-24 22:10  Brian Jones <cbj@gnu.org>

	* java/io/Makefile.am: OSCField.java previously removed from
	java/io/ 

1998-08-24 21:42  Brian Jones <cbj@gnu.org>

	* README: updated information on website, Sun JVM compatibility,
	etc.  

1998-08-21 02:09  Aaron M. Renn <arenn@urbanophile.com>

	* java/security/: interfaces/DSAKey.java,
	interfaces/DSAKeyPairGenerator.java, interfaces/DSAParams.java,
	interfaces/DSAPrivateKey.java, interfaces/DSAPublicKey.java,
	interfaces/Makefile.am, interfaces/RSAPrivateCrtKey.java,
	interfaces/RSAPrivateKey.java, interfaces/RSAPublicKey.java,
	acl/Acl.java, acl/AclEntry.java, acl/AclNotFoundException.java,
	acl/Group.java, acl/LastOwnerException.java,
	acl/NotOwnerException.java, acl/Owner.java, acl/Makefile.am,
	acl/Permission.java: Initial Checkin 

1998-08-21 01:45  Paul Fisher <rao@gnu.org>

	* resource/java/util/: iso3166-a3.properties, iso3166.properties,
	iso639-a2-old.properties, iso639-a3.properties, iso639.properties,
	iso639_fr.properties, iso639_ga.properties: Properties for
	java.util.Locale 

1998-08-21 00:44  Paul Fisher <rao@gnu.org>

	* java/util/Locale.java: Initial commit.  

1998-08-20 01:47  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/BufferedReader.java: Fixed such heinous bugs in
	readLine() that I can't believe it ever worked even once.  

1998-08-20 00:35  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/net/http/HttpURLConnection.java: Eliminated internal
	readLine() method and just use a DataInputStream to read lines
	instead.  

1998-08-20 00:29  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/SocketInputStream.java: Re-fixed major read bug where
	read would return 0 instead of -1 at end of stream.  I coulda swore
	I checked this in once before.  

1998-08-16 03:42  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: 
	(toLowerCase,toUpperCase): Don't copy str to newStr.  

1998-08-14 01:19  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/EncodingManager.java: Added a property based aliasing
	scheme for looking up encoding aliases 

1998-08-14 00:51  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/encode/EncoderEightBitLookup.java: Now recognized
	0x0000 correctly 

1998-08-14 00:27  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/StreamTokenizer.java,
	test/java.io/StreamTokenizerTest.java,
	test/java.io/stream-tokenizer.data: Initial checkin 

1998-08-13 00:15  Aaron M. Renn <arenn@urbanophile.com>

	* test/java.io/utf8test-jdk.out: Initial Checkin 

1998-08-12 22:09  John Keiser <jkeiser@iname.com>

	* test/base/OutputClass.java: Now outputs one file with all the
	class names prepended, for easier diffing.  

1998-08-12 02:17  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/ByteArrayOutputStream.java: Implemented toString methods 

1998-08-11 23:44  John Keiser <jkeiser@iname.com>

	* java/lang/: Class.java, ClassLoader.java, Object.java,
	Runtime.java, System.java: Added Java implementation for basic
	system classes.  

1998-08-11 23:43  John Keiser <jkeiser@iname.com>

	* Class.java, ClassLoader.java, Object.java, Runtime.java,
	System.java: Darn it, wrong path.  Sorry.  

1998-08-11 23:42  John Keiser <jkeiser@iname.com>

	* Class.java, ClassLoader.java, Object.java, Runtime.java,
	System.java, gnu/java/lang/ExecutionStack.java,
	gnu/java/lang/StackFrame.java, java/lang/SecurityManager.java: 
	Added basic Java implementation for these system classes.  

1998-08-10 23:54  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: Add byte/char encoder/decoder support.  

1998-08-10 08:58  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: refill 

1998-08-10 08:51  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: Change around platform support.  

1998-08-10 08:49  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: Fix up titlepage to work with texi2html.  

1998-08-10 08:37  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: Add doc comment coding standards.  

1998-08-10 08:23  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: Replaced $classpath with Classpath.  

1998-08-10 04:26  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: 
	(equals): instanceof test fixed 

1998-08-10 04:20  Paul Fisher <rao@gnu.org>

	* java/lang/Cloneable.java: Add API docs.  

1998-08-10 03:51  Paul Fisher <rao@gnu.org>

	* java/lang/Boolean.java: compiles again.  

1998-08-10 03:50  Paul Fisher <rao@gnu.org>

	* java/lang/: Boolean.java, Integer.java: 
	(equals): simplify 

1998-08-09 23:18  Paul Fisher <rao@gnu.org>

	* doc/unicode/unicode-muncher.pl: Initial commit.  Generates
	character.uni, block.uni, and titelcase.uni.  

1998-08-09 23:07  Paul Fisher <rao@gnu.org>

	* doc/unicode/unicode.database.format: Doc describing the GNU
	Classpath Unicode Attribute Database format 

1998-08-09 23:04  Paul Fisher <rao@gnu.org>

	* java/lang/Character.java: Initial commit of java.lang.Character.  
	Fully compliant with JDK 1.2beta4 API.  

1998-08-09 23:03  Paul Fisher <rao@gnu.org>

	* gnu/java/lang/ClassLoaderHelper.java: Initial commit.  

1998-08-09 17:17  John Keiser <jkeiser@iname.com>

	* native/: java.lang.reflect/DEPENDENCIES,
	java.lang.reflect/README, java.lang.reflect/STATUS,
	java.lang.reflect/TODO, lib/DEPENDENCIES, lib/README, lib/STATUS,
	vmi/DEPENDENCIES, vmi/README, vmi/STATUS: Made docs standard, made
	a few updates as well.  

1998-08-09 17:06  John Keiser <jkeiser@iname.com>

	* gnu/java/lang/ClassHelper.java: Added a method in ClassHelper,
	added ChangeLog 

1998-08-09 17:04  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/TODO: Standard Docs 

1998-08-09 17:04  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/editors/TODO: Standard docs 

1998-08-09 16:57  John Keiser <jkeiser@iname.com>

	* java/lang/reflect/: DEPENDENCIES, STATUS, TODO: Made
	documentation like everybody else's 

1998-08-09 16:49  John Keiser <jkeiser@iname.com>

	* java/beans/TODO: Updated TODO, added ChangeLog.  

1998-08-09 16:47  John Keiser <jkeiser@iname.com>

	* NoJDK: A list of the classes that do not, and never will, work
	with JDK.  We should work this into the Makefile at some point to
	compile a JDK-friendly version.  

1998-08-03 00:12  John Keiser <jkeiser@iname.com>

	* java/beans/: SimpleBeanInfo.java, TODO: Implemented loadImage()
	in SimpleBeanInfo.  

1998-08-02 23:53  John Keiser <jkeiser@iname.com>

	* java/beans/IndexedPropertyDescriptor.java: Fixed typo.  

1998-08-02 23:52  John Keiser <jkeiser@iname.com>

	* test/java.beans/: DescriptorTest.java, IntrospectorTest.java: 
	Started a real test suite for java.beans.  

1998-08-02 02:54  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/encode/EncoderUTF8.java,
	test/java.io/UTF8EncodingTest.java: Initial checkin 

1998-08-02 02:52  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/: decode/DecoderUTF8.java, encode/Encoder8859_2.java,
	encode/Encoder8859_3.java, encode/Encoder8859_4.java,
	encode/Encoder8859_5.java, decode/Decoder8859_2.java,
	decode/Decoder8859_3.java, decode/Decoder8859_4.java,
	decode/Decoder8859_5.java: Initial Checkin 

1998-08-02 02:51  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/: decode/DecoderEightBitLookup.java,
	encode/EncoderEightBitLookup.java: Minor organizational cleanup 

1998-08-02 02:50  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/EncodingManager.java: Fixed minor but major typo bug 

1998-08-02 00:40  Aaron M. Renn <arenn@urbanophile.com>

	* test/java.io/: BufferedCharWriterTest.java,
	BufferedReaderTest.java, CharArrayReaderTest.java,
	FileInputStreamTest.java, FileOutputStreamTest.java,
	FileReaderTest.java, FileTest.java, FileWriterTest.java,
	LineNumberReaderTest.java, PipedReaderWriterTest.java,
	PrintStreamTest.java, PrintWriterTest.java,
	PushbackReaderTest.java, RandomAccessFileTest.java,
	StringWriterTest.java, README: Initial Checkin 

1998-08-02 00:38  Aaron M. Renn <arenn@urbanophile.com>

	* test/java.io/: BufferedInputStreamTest.java,
	ByteArrayInputStreamTest.java, DataInputOutputTest.java,
	LineNumberInputStreamTest.java, PushbackInputStreamTest.java,
	SequenceInputStreamTest.java, StringBufferInputStreamTest.java: 
	Copyright notice update 

1998-08-01 23:51  John Keiser <jkeiser@iname.com>

	* test/base/OutputClass.java: OutputClass will allow us to compare
	our sigs and exceptions with Sun's.  

1998-08-01 23:50  John Keiser <jkeiser@iname.com>

	* gnu/java/lang/ClassHelper.java: Fixed them.  They work now.  

1998-08-01 23:49  John Keiser <jkeiser@iname.com>

	* java/beans/: Beans.java, Customizer.java, Introspector.java,
	PropertyEditorSupport.java, SimpleBeanInfo.java, TODO: Modified
	signatures for full compliance with spec.  Added TODO.  

1998-08-01 18:03  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/info/ComponentBeanInfo.java: Mirrors Sun's
	ComponentBeanInfo.  

1998-08-01 18:03  John Keiser <jkeiser@iname.com>

	* java/beans/Introspector.java: Moved synchronized keyword to
	appropriate place.  

1998-08-01 18:02  John Keiser <jkeiser@iname.com>

	* java/beans/IndexedPropertyDescriptor.java: Typo.  

1998-08-01 18:01  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/IntrospectionIncubator.java: Fixed typo.  

1998-08-01 16:27  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/IntrospectionIncubator.java: Fixed EventSet naming
	problem.  

1998-08-01 05:39  John Keiser <jkeiser@iname.com>

	* java/beans/IndexedPropertyDescriptor.java: Fixed a few
	NullPointerExceptions.  

1998-08-01 05:27  John Keiser <jkeiser@iname.com>

	* java/beans/: BeanDescriptor.java, Introspector.java,
	PropertyDescriptor.java: Fairly major revision, changing which
	methods are used for what things and making explicit info work
	better.  

1998-08-01 05:26  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/: BeanInfoEmbryo.java,
	IntrospectionIncubator.java: Fairly major revision, changing the
	way methods are found and used and using explicit info properly.  

1998-08-01 05:25  John Keiser <jkeiser@iname.com>

	* gnu/java/lang/ClassHelper.java: Fixed
	getAllMethodsAtDeclaration() cache.  

1998-08-01 04:48  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: DataInputStream.java, DataOutputStream.java: Moved data
	conversion functionality to package callable static method instead
	of embedding directly in instance methods to make it easy for
	RandomAccessFile to share 

1998-08-01 04:46  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/: BufferedInputStream.java, BufferedOutputStream.java,
	ByteArrayInputStream.java, ByteArrayOutputStream.java,
	CharConversionException.java, DataInput.java, DataOutput.java,
	EOFException.java, Externalizable.java, FileNotFoundException.java,
	FilenameFilter.java, IOException.java, InputStream.java,
	InterruptedIOException.java, InvalidClassException.java,
	InvalidObjectException.java, LineNumberInputStream.java,
	NotActiveException.java, NotSerializableException.java,
	ObjectInput.java, ObjectInputValidation.java, ObjectOutput.java,
	OptionalDataException.java, OutputStream.java,
	PushbackInputStream.java, Replaceable.java, Resolvable.java,
	SequenceInputStream.java, Serializable.java,
	StreamCorruptedException.java, SyncFailedException.java,
	UTFDataFormatException.java, UnsupportedEncodingException.java,
	WriteAbortedException.java: Copyright notice update 

1998-08-01 03:39  Aaron M. Renn <arenn@urbanophile.com>

	* gnu/java/io/EncodingManager.java,
	gnu/java/io/decode/Decoder.java,
	gnu/java/io/decode/DecoderEightBitLookup.java,
	gnu/java/io/decode/Decoder8859_1.java,
	gnu/java/io/encode/Encoder.java,
	gnu/java/io/encode/Encoder8859_1.java,
	gnu/java/io/encode/EncoderEightBitLookup.java,
	java/io/BufferedReader.java, java/io/BufferedWriter.java,
	java/io/CharArrayReader.java, java/io/CharArrayWriter.java,
	java/io/File.java, java/io/FileDescriptor.java,
	java/io/FileInputStream.java, java/io/FileOutputStream.java,
	java/io/FileReader.java, java/io/FileWriter.java,
	java/io/InputStreamReader.java, java/io/LineNumberReader.java,
	java/io/OutputStreamWriter.java, java/io/PipedWriter.java,
	java/io/PipedReader.java, java/io/PrintStream.java,
	java/io/PrintWriter.java, java/io/PipedInputStream.java,
	java/io/PushbackReader.java, java/io/PipedOutputStream.java,
	java/io/RandomAccessFile.java, java/io/Reader.java,
	java/io/StringReader.java, java/io/StringWriter.java,
	java/io/Writer.java, java/io/FilterReader.java,
	java/io/FilterWriter.java, native/java.io/File.c,
	native/java.io/FileDescriptor.c, native/java.io/FileInputStream.c,
	native/java.io/FileOutputStream.c,
	native/java.io/RandomAccessFile.c, native/java.io/javaio.c,
	native/java.io/javaio.h: Initial Checkin 

1998-08-01 03:01  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/IntrospectionIncubator.java: Minor bugfix.  

1998-08-01 03:00  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/BeanInfoEmbryo.java: Fixed bug wherein multiple
	methods with same name could not be added 

1998-08-01 02:59  John Keiser <jkeiser@iname.com>

	* java/beans/Introspector.java: Changed docs to specify that
	addXXX(type) need not have type==XXX 

1998-07-31 06:52  John Keiser <jkeiser@iname.com>

	* java/beans/: EventSetDescriptor.java, Introspector.java,
	PropertyDescriptor.java: Minor bugfixes.  

1998-07-31 06:50  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/IntrospectionIncubator.java: Small bugfixes.  

1998-07-31 06:32  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/editors/: ColorEditor.java, FontEditor.java,
	NativeBooleanEditor.java, NativeByteEditor.java,
	NativeDoubleEditor.java, NativeFloatEditor.java,
	NativeIntEditor.java, NativeLongEditor.java,
	NativeShortEditor.java, StringEditor.java: PropertyEditors for the
	primitive types.  

1998-07-31 02:14  John Keiser <jkeiser@iname.com>

	* java/beans/: BeanDescriptor.java, BeanInfo.java, Beans.java,
	Customizer.java, EventSetDescriptor.java, FeatureDescriptor.java,
	IndexedPropertyDescriptor.java, IntrospectionException.java,
	Introspector.java, MethodDescriptor.java, ParameterDescriptor.java,
	PropertyChangeEvent.java, PropertyChangeListener.java,
	PropertyChangeSupport.java, PropertyDescriptor.java,
	PropertyEditor.java, PropertyEditorManager.java,
	PropertyEditorSupport.java, PropertyVetoException.java,
	SimpleBeanInfo.java, VetoableChangeListener.java,
	VetoableChangeSupport.java, Visibility.java: java.beans.  Right now
	it just compiles.  Test cases will follow.  

1998-07-31 02:12  John Keiser <jkeiser@iname.com>

	* gnu/java/beans/: BeanInfoEmbryo.java, EmptyBeanInfo.java,
	ExplicitBeanInfo.java, IntrospectionIncubator.java: Helpers for
	java.beans.  

1998-07-31 02:11  John Keiser <jkeiser@iname.com>

	* gnu/java/lang/: ArrayHelper.java, ClassHelper.java: Stuff that
	oughta have been in the core in the first place :) 

1998-07-31 02:09  John Keiser <jkeiser@iname.com>

	* gnu/java/io/ClassLoaderObjectInputStream.java: ObjectInputStream,
	but allowing a different ClassLoader.  

1998-07-31 02:04  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/Makefile.am: Changed it to use the
	NO_VMI option for now ... some features are left out with this on,
	but at least it can compile VM-independent.  

1998-07-29 02:31  Geoff Berry <gcb@gnu.org>

	* java/io/: OSCField.java, ObjectOutputStream.java,
	ObjectStreamClass.java, ObjectStreamField.java: Renamed OSCField to
	ObjectStreamField to match JDK1.2b4 spec.  Changed all usage of
	OSCField to ObjectStreamField.  

1998-07-29 01:02  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: Changed usage of OSCField to
	ObjectStreamField.  Partially implemented reading in data for a
	different version of a class.  

1998-07-28 16:13  Geoff Berry <gcb@gnu.org>

	* java/io/TODO.serialization: Removed (no longer necessary).  

1998-07-28 16:11  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: Completed
	(registerValidation(ObjectInputValidation,int)).  

1998-07-28 00:15  Geoff Berry <gcb@gnu.org>

	* aclocal.m4: [no log message] 

1998-07-27 23:36  Geoff Berry <gcb@gnu.org>

	* java/util/Collections.java: Fixed variable name typos.  

1998-07-27 23:32  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractSet.java: (hashCode()) added return statement.  

1998-07-27 23:31  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractMap.java: Implemented all non-abstract methods.  

1998-07-27 22:22  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractSequentialList.java: (remove(int)): added
	return of removed object.  
	(removeRange(int,int): changed index to fromIndex.  

1998-07-27 22:18  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractSequentialList.java: (addAll(int,Collection)):
	added return value.  

1998-07-27 22:16  Geoff Berry <gcb@gnu.org>

	* java/util/Collections.java: Added missing semicolon from inner
	class decl.  

1998-07-27 22:15  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractSet.java: Completed implements clause.  

1998-07-27 22:14  Geoff Berry <gcb@gnu.org>

	* java/util/AbstractMap.java: Added empty bodies for non-abstract
	methods.  

1998-07-27 22:08  Geoff Berry <gcb@gnu.org>

	* java/net/: URLStreamHandler.java, DatagramSocketImpl.java,
	ContentHandler.java: Removed synchronized modifier from abstract
	methods.  

1998-07-27 22:05  Geoff Berry <gcb@gnu.org>

	* java/net/SocketImpl.java: Removed synchronized modifiers from
	abstract methods.  

1998-07-27 22:02  Geoff Berry <gcb@gnu.org>

	* java/math/BigInteger.java: Added package declaration.  

1998-07-27 19:37  Geoff Berry <gcb@gnu.org>

	* aclocal.m4, configure.in: New variable @VMINCLUDE@ is set to the
	path to the include files for the JVM being configured for.  

1998-07-27 19:35  Geoff Berry <gcb@gnu.org>

	* native/java.io/Makefile.am: Added @VMINCLUDE@ to INCLUDES 

1998-07-27 19:33  Geoff Berry <gcb@gnu.org>

	* native/java.lang.reflect/Makefile.am, java/util/Makefile.am: 
	First version 

1998-07-27 19:30  Geoff Berry <gcb@gnu.org>

	* java/lang/Makefile.am: Added reflect SUBDIR 

1998-07-25 15:00  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/: Constructor.c, Field.c, Method.c: They
	don't use jnilink anymore; they never needed to in the first place.  

1998-07-25 14:59  John Keiser <jkeiser@iname.com>

	* native/lib/primlib.c: Uses new jnilink.  

1998-07-25 14:59  John Keiser <jkeiser@iname.com>

	* native/lib/: jcl.c, jcl.h: Added JCL_free for completeness.  

1998-07-25 14:58  John Keiser <jkeiser@iname.com>

	* native/lib/: jnilink.c, jnilink.h: Changed it so that 1.1 and 1.2
	jnilinks will be binary compatible and so that the interface is a
	little bit easier.  

1998-07-24 22:56  Geoff Berry <gcb@gnu.org>

	* java/lang/Comparable.java, java/lang/Makefile.am,
	java/lang/UnsupportedOperationException.java,
	java/lang/reflect/Makefile.am, java/math/Makefile.am,
	java/net/Makefile.am, test/java.lang.reflect/Makefile.am,
	test/java.util/Makefile.am: Added java.lang.Comparable,
	java.lang.UnsupportedOperationException and some Makefile.am's in an
	attempt to get the entire tree to compile.  

1998-07-24 22:54  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: Made string and array constants
	into static final veriables 

1998-07-24 22:53  Geoff Berry <gcb@gnu.org>

	* java/io/Makefile.am: Added new classes 

1998-07-24 22:52  Geoff Berry <gcb@gnu.org>

	* configure.in: Added Makefile entries for Makefile.am's added to
	tree 

1998-07-24 22:37  Geoff Berry <gcb@gnu.org>

	* java/lang/Makefile.am: Fixed Comparable misspelling 

1998-07-24 22:24  Geoff Berry <gcb@gnu.org>

	* java/io/WriteAbortedException.java: Changed constructor
	parameters to match spec.  

1998-07-24 22:16  Geoff Berry <gcb@gnu.org>

	* java/util/Arrays.java: Rewrote anonymous inner class to be a
	static inner class to allow compilation with guavac.  

1998-07-24 22:06  Geoff Berry <gcb@gnu.org>

	* java/lang/Makefile.am: Added Comparable 

1998-07-24 21:45  Geoff Berry <gcb@gnu.org>

	* native/java.io/Makefile.am: Added libjava_io_ObjectInputStream.la 

1998-07-24 21:31  Geoff Berry <gcb@gnu.org>

	* java/Makefile.am: Added math 

1998-07-24 21:29  Geoff Berry <gcb@gnu.org>

	* java/Makefile.am: Added lang 

1998-07-24 20:40  Geoff Berry <gcb@gnu.org>

	* configure.in: Added java/lang/reflect/Makefile 

1998-07-24 20:37  Geoff Berry <gcb@gnu.org>

	* java/lang/reflect/Array.java: Remove unnecessary semicolon from
	end of constructor declaration (no I'm not that picky, but guavac
	gives me warnings).  

1998-07-24 20:35  Geoff Berry <gcb@gnu.org>

	* java/lang/reflect/: Method.java, Field.java: Added empty body to
	private constructor to make it compile.  

1998-07-24 20:03  Geoff Berry <gcb@gnu.org>

	* test/java.io/: HairyGraph.java, OOSCallDefault.java,
	OOSExtern.java, OOSNoCallDefault.java, ObjectInputStreamTest.java,
	Test.java, calldefault.data, external.data, graph.data,
	nocalldefault.data: Updated data files to correspond to new test
	classes.  Moved test classes out of ObjectOutputStreamTest.  Added
	ObjectInputStreamTest.  

1998-07-24 20:00  Geoff Berry <gcb@gnu.org>

	* test/java.io/ObjectOutputStreamTest.java: Moved test classes into
	seperate files so they could be used by ObjectInputStreamTest.  

1998-07-24 19:59  Geoff Berry <gcb@gnu.org>

	* test/gnu.java.lang.reflect/TypeSignatureTest.java: Added tests
	for (getClassForEncoding).  

1998-07-24 19:54  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectInputStream.java: Fixed bug in (readObject()) where
	ObjectStreamClass's weren't getting handles assigned soon enough.  

1998-07-24 19:52  Geoff Berry <gcb@gnu.org>

	* gnu/java/lang/reflect/TypeSignature.java: Fixed
	(getClassForEncoding(String)) to actually work with arrays.  

1998-07-24 01:59  Aaron M. Renn <arenn@urbanophile.com>

	* java/net/Authenticator.java, java/net/BindException.java,
	java/net/ConnectException.java, java/net/ContentHandler.java,
	java/net/ContentHandlerFactory.java, java/net/DatagramPacket.java,
	java/net/DatagramSocket.java, java/net/DatagramSocketImpl.java,
	java/net/FileNameMap.java, java/net/HttpURLConnection.java,
	java/net/InetAddress.java, java/net/JarURLConnection.java,
	java/net/MalformedURLException.java, java/net/MimeTypeMapper.java,
	java/net/MulticastSocket.java, java/net/NetPermission.java,
	java/net/NoRouteToHostException.java,
	java/net/PasswordAuthentication.java,
	java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java, java/net/ProtocolException.java,
	java/net/ServerSocket.java, java/net/Socket.java,
	java/net/SocketException.java, java/net/SocketImpl.java,
	java/net/SocketImplFactory.java, java/net/SocketInputStream.java,
	java/net/SocketOptions.java, java/net/SocketOutputStream.java,
	java/net/SocketPermission.java, java/net/URL.java,
	java/net/URLConnection.java, java/net/URLEncoder.java,
	java/net/URLStreamHandler.java,
	java/net/URLStreamHandlerFactory.java,
	java/net/UnknownHostException.java,
	java/net/UnknownServiceException.java,
	gnu/java/net/content/text/plain.java,
	gnu/java/net/http/Handler.java,
	gnu/java/net/http/HttpURLConnection.java: Copyright notice update 

1998-07-23 15:05  Paul Fisher <rao@gnu.org>

	* doc/unicode/: BLOCKS.TXT, ReadMe-2.1.1.txt,
	UnicodeData-2.1.2.txt: Added Unicode reference material.  

1998-07-23 02:10  John Keiser <jkeiser@iname.com>

	* configure.in: Added support for native/java.lang.reflect and
	native/lib Makefiles 

1998-07-23 02:01  John Keiser <jkeiser@iname.com>

	* native/Makefile.am: Added java.lang.reflect and lib to subdirs.  

1998-07-23 02:00  John Keiser <jkeiser@iname.com>

	* native/lib/jcl.c: Fixed a little warning booboo.  

1998-07-23 02:00  John Keiser <jkeiser@iname.com>

	* native/lib/Makefile.am: Added.  

1998-07-23 01:24  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/: Constructor.c, Field.c, Method.c,
	reflect.c: Allow compilation of java.lang.reflect without VMI or
	JVMDI-specific stuff using NO_VMI.  This can be used for standalone
	testing.  Also fixed a couple of 'void return from non-void method'
	errors, and a Makefile.  

1998-07-23 01:11  Paul Fisher <rao@gnu.org>

	* java/lang/StringBuffer.java: Completed StringBuffer.  Fully
	compatible with JDK 1.2beta4.  

1998-07-23 00:49  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/: Field.c, Method.c, Constructor.c,
	reflect.c, reflect.h: Moved common member access check
	functionality from implementations to the reflect library.  

1998-07-23 00:45  John Keiser <jkeiser@iname.com>

	* native/lib/: jcl.c, jcl.h: Added JCL_FindClass.  

1998-07-23 00:43  John Keiser <jkeiser@iname.com>

	* native/vmi/: vmi.c, vmi.h: Added JVMDI_GetFrameClass (since it
	could be a static method).  

1998-07-23 00:39  John Keiser <jkeiser@iname.com>

	* java/lang/reflect/: Field.java, Method.java, Constructor.java: 
	Made them uninstantiable.  

1998-07-22 19:26  Paul Fisher <rao@gnu.org>

	* java/lang/: String.java, String.java, String.java: ...  

1998-07-22 19:23  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: ..  

1998-07-22 19:19  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: [no log message] 

1998-07-22 19:14  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: argargarg 

1998-07-22 19:09  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: yet again -- testing commits.  

1998-07-22 19:03  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: Testing commit scripts.  

1998-07-22 16:31  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: and again. lalala.  

1998-07-22 16:29  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: arg.  

1998-07-22 16:26  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: Still testing.  

1998-07-22 16:24  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: take 2 

1998-07-22 16:15  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: Testing mode changes.  

1998-07-22 05:43  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: 
	(toLowerCase): Fix typo.  

1998-07-22 05:36  Paul Fisher <rao@gnu.org>

	* java/lang/String.java: Commented entire class.  Implemented JLS
	20.12.  
	(hashCode): Added cached hashcodes.  

1998-07-21 19:55  Brian Jones <cbj@gnu.org>

	* AUTHORS: changed my email address 

1998-07-21 06:16  Geoff Berry <gcb@gnu.org>

	* test/java.io/: calldefault.data, external.data, graph.data,
	nocalldefault.data, notserial.data, notserialfield.data: Added data
	files for ObjectOutputStreamTest.  

1998-07-21 06:14  Geoff Berry <gcb@gnu.org>

	* test/java.io/ObjectStreamClassTest.java: Fixed typo.  

1998-07-21 06:08  Geoff Berry <gcb@gnu.org>

	* native/java.io/java_io_ObjectInputStream.h,
	native/java.io/java_io_ObjectInputStream.c,
	test/java.io/ObjectOutputStreamTest.java: First version.  

1998-07-21 06:05  Geoff Berry <gcb@gnu.org>

	* gnu/java/lang/reflect/TypeSignature.java: Added
	`getClassForEncoding(String)' method.  

1998-07-21 05:57  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectStreamConstants.java: Changed constants from hex to
	decimal to make debugging easier.  

1998-07-21 05:57  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectStreamClass.java: Added setter methods used to
	reconstruct ObjectStreamClass objects from the stream.  

1998-07-21 05:56  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectOutputStream.java: Added some 1.2 features such as
	allowing subclasses to override the implementation and selecting the
	protocol to use.  Changed usage of `java.lang.reflect.Field' to
	`java.io.OSCField'.  

1998-07-21 05:52  Geoff Berry <gcb@gnu.org>

	* java/io/: BlockDataException.java, OSCField.java,
	ObjectInputStream.java: First version 

1998-07-17 21:22  Paul Fisher <rao@gnu.org>

	* doc/jcl-hacking.texinfo: Added Paul Fisher as author.  

1998-07-15 19:51  John Keiser <jkeiser@iname.com>

	* java/lang/reflect/Array.java: Fixed it so it runs under all
	tests.  Have one more test to do later.  

1998-07-15 19:50  John Keiser <jkeiser@iname.com>

	* test/java.lang.reflect/ArrayTest.java: Added test for Array
	java.lang.reflect class.  Requires Makefiles I have not made yet,
	but runs successfully on JDK 1.1.6 / Win32.  

1998-07-15 14:45  John Keiser <jkeiser@iname.com>

	* native/lib/primlib.c: Fixed "Control reaches end of non-void
	method" warnings.  

1998-07-15 03:59  Aaron M. Renn <arenn@urbanophile.com>

	* doc/jcl-hacking.texinfo: Changed project name to $classpath and
	made some references to the Kaffe class library effort.  

1998-07-13 20:42  Geoff Berry <gcb@gnu.org>

	* java/io/ObjectOutputStream.java: Added comments.  

1998-07-07 08:21  Geoff Berry <gcb@gnu.org>

	* configure.in, gnu/Makefile.am, gnu/java/io/Makefile.am,
	gnu/java/io/ObjectIdentityWrapper.java,
	gnu/java/io/UniqueObjectWrapper.java, gnu/tools/Makefile.am,
	gnu/tools/serialver/Main.java, gnu/tools/serialver/Makefile.am,
	java/io/ObjectOutputStream.java, java/io/ObjectStreamClass.java,
	native/java.io/java_io_ObjectStreamClass.c,
	native/java.io/java_io_ObjectStreamClass.h,
	test/java.io/ObjectStreamClassTest.java: See ChangeLog.  

1998-07-07 01:09  Geoff Berry <gcb@gnu.org>

	* gnu/java/io/UniqueObjectWrapper.java: Added comments 

1998-07-07 00:10  Geoff Berry <gcb@gnu.org>

	* gnu/java/lang/reflect/TypeSignature.java,
	java/io/ObjectStreamClass.java, java/io/ObjectStreamConstants.java,
	java/util/Arrays.java, native/java.io/java_io_ObjectStreamClass.c,
	test/Makefile.am, test/gnu.java.lang.reflect/Makefile.am,
	test/gnu.java.lang.reflect/TypeSignatureTest.java: Added comments
	for gnu/java/lang/reflect/TypeSignature.java 
	java/io/ObjectStreamClass.java java/io/ObjectStreamConstants.java 
	native/java.io/java_io_ObjectStreamClass.c 
	Added initialization of int d2 in mergeSort(Object[],Comparator) to 
	placate javac.  

1998-07-05 00:58  Aaron M. Renn <arenn@urbanophile.com>

	* java/io/DataInputStream.java: File out of sync on my local disk.
	I must have changed something! 

1998-07-04 00:39  Geoff Berry <gcb@gnu.org>

	* native/java.io/: Makefile.am, java_io_ObjectOutputStream.c,
	java_io_ObjectOutputStream.h, java_io_ObjectStreamClass.c,
	java_io_ObjectStreamClass.h: [no log message] 

1998-07-04 00:34  Geoff Berry <gcb@gnu.org>

	* Makefile.am, aclocal.m4, configure.in, gnu/java/Makefile.am,
	gnu/java/io/Makefile.am, gnu/java/io/NullOutputStream.java,
	gnu/java/io/UniqueObjectWrapper.java, gnu/java/lang/Makefile.am,
	gnu/java/lang/reflect/Makefile.am,
	gnu/java/lang/reflect/TypeSignature.java, java/io/Makefile.am,
	java/io/ObjectOutputStream.java, java/io/ObjectStreamClass.java,
	java/io/ObjectStreamConstants.java, java/io/TODO.serialization,
	native/Makefile.am: Added files needed for writing out serialized
	objects.  Modified Makefiles to included added subdirectories.  

1998-07-03 20:55  Geoff Berry <gcb@gnu.org>

	* doc/jcl-hacking.texinfo: 
	Fixed links and menu.  

1998-07-01 18:17  John Keiser <jkeiser@iname.com>

	* doc/jcl-hacking.texinfo: Added new sections on native code,
	robustness, efficiency, portability.  Also changed Specification
	Sources to add more sources.  Still needs a little texinfo
	prettying, but at least it's there for now.  

1998-07-01 03:57  John Keiser <jkeiser@iname.com>

	* native/vmi/: vmi.c, vmi.h: VMI no longer overlaps with JVMDI.  

1998-07-01 03:46  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/TODO: Some changes 

1998-07-01 03:45  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/reflect.c: Uses JVMDI instead of VMI
	where appropriate.  

1998-07-01 03:45  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/: Field.c, Field.h: Finally added
	Field.* native stuff.  Untested as usual; will test with Japhar
	soon.  

1998-07-01 03:44  John Keiser <jkeiser@iname.com>

	* native/java.lang.reflect/: Constructor.c, Method.c: Changed to
	use JVMDI where appropriate and to use JNILINK correctly.  

1998-07-01 03:41  John Keiser <jkeiser@iname.com>

	* test/native/lib/: JNILinkTest.java, MethodTester.c,
	MethodTester.h, PrimlibInterface.c, PrimlibInterface.h,
	PrimlibTest.java: Created tests for primlib and jnilink.  primlib
	test needs one more addition.  Later.  

1998-07-01 03:38  John Keiser <jkeiser@iname.com>

	* native/lib/primlib.c: Uses JNILINK now, and fixed null ptr bug 

1998-07-01 03:37  John Keiser <jkeiser@iname.com>

	* native/lib/: jnilink.c, jnilink.h: Changed JNILINK to not depend
	on VMI, changed API.  More to come.  

1998-07-01 03:35  John Keiser <jkeiser@iname.com>

	* native/lib/jcl.c: Made JCL_ThrowException more thorough.  

1998-07-01 03:34  John Keiser <jkeiser@iname.com>

	* native/lib/DEPENDENCIES: JNILINK no longer depends on VMI.  

1998-07-01 03:32  John Keiser <jkeiser@iname.com>

	* java/lang/reflect/Field.java: Changed so that it uses native
	peers 


Local Variables:
coding: iso-latin-1-unix	
End:
