2004-09-06  Release Manager

	* GCC 3.4.2 released.

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

	PR libgcj/7587
	* interpret.cc (compile_mutex): New.
	(_Jv_InitInterpreter): New. Initialize compile_mutex.
	(run): Lock compile_mutex before calling compile() if compilation is
	required.
	* prims.cc (_Jv_CreateJavaVM): Call _Jv_InitInterpreter().
	* include/java-interp.h (_Jv_InitInterpreter): Declare.	

2004-07-11  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/natPlainDatagramSocketImplWin32.cc (several):
	Removed IPv4-related conditional compilation.
	(mcastGrp): Added missing declarations.

2004-07-11  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/16478	
	* prims.cc (_Jv_CreateJavaVM): Fix comment.
	* gnu/gcj/runtime/FinalizerThread.java (init): New. Native.
	(finalizerReady): Now native.
	(run): Likewise.
	(runFinalizers): Removed.
	* gnu/gcj/runtime/natFinalizerThread.cc (run): Implement here. Use
	a primitive lock, and don't hold it while running the finalizers.
	(runFinalizers): Implement. Don't aquire any Java lock.
	(finalizerReady): Use lock primitives to signal finalizer thread.

2004-07-11  Michael Koch  <konqueror@gmx.de>

	PR libgcj/16473
	* java/net/ServerSocket.java (accept): Don't create two client 
	sockets when accepting connections.
	* java/net/Socket.java (impl): Made package-private.
	(implCreated): Likewise.

2004-07-01  Release Manager

	* GCC 3.4.1 released.

2004-05-03  Michael Koch  <konqueror@gmx.de>

	Fixes PR libgcj/14695:
	* java/net/NetworkInterface.java
	(getByName): Return null when no interface was found.

2004-04-18  Release Manager

	* GCC 3.4.0 released.

2004-03-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* verify.cc: Undef PC.

2004-03-11  Alan Modra  <amodra@bigpond.net.au>

	* include/powerpc-signal.h: Revert 2004-01-21 change.
	(INIT_SEGV, INIT_FPE): Provide powerpc64 versions.  Check return
	from syscall for ppc32 versions.

2004-02-25  Andrew Haley  <aph@redhat.com>

	PR java/14296:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Make sure
	we have a valid method index.

2004-02-14  Per Bothner  <per@bothner.com>

	* java/nio/channels/spi/AbstractInterruptibleChannel.java (close):
	Set closed before calling implCloseChannel, as in the spec.

2004-02-08  Per Bothner  <per@bothner.com>

	* java/nio/ByteBuffer.java (shiftDown):  New helper method.
	* java/nio/natDirectByteBufferImpl.cc (shiftDown):  New implementation.
	* java/nio/ByteBufferImpl.java (compact):  Use new shiftDown method.
	* sava/nio/ByteBufferHelper.java:  Remove redundant 'final' specifiers.
	Pass ByteOrder parameter to most methods, since the underlying
	ByteBuffer's order isn't always what we should use.
	* java/nio/ByteBufferImpl.java:  Pass byte-order various places.
	* java/nio/DirectByteBufferImpl.java:  Likewise.
	Use ByteBufferHelper methods.
	* java/nio/MappedByteBufferImpl.java:  Likewise.
	(compact):  Use shiftDown.
	* java/nio/CharViewBufferImpl.java (<init>):  Pass byte-order.
	(get, put):  Use ByteBufferHelper.
	(compact):  Use new shiftDown method.
	(duplicate(boolean)):  New helper method.
	(duplicate, asReadOnlyBuffer):  Use it.
	(order):  Return endian field.
	* java/nio/DoubleViewBufferImpl.java:  Likewise.
	* java/nio/FloatViewBufferImpl.java:  Likewise.
	* java/nio/IntViewBufferImpl.java:  Likewise.
	* java/nio/LongViewBufferImpl.java:  Likewise.
	* java/nio/ShortViewBufferImpl.java:  Likewise.
	* java/nio/CharViewBufferImpl.java (subsequence):  Redundant test.
	* java/nio/DirectByteBufferImpl.java (shiftDown):  New native method.
	(compact):  Re-implement using shiftDown.

2004-02-05  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/NIOServerSocket.java
	(impl): Unused, removed.
	* gnu/java/nio/SocketChannelImpl.java
	(finnishConnect): Don't throw NoConnectionPendingException if not
	connected or no connection pending.

2004-02-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (startProcess): Handle case where
	PATH or LD_LIBRARY_PATH is not set in parent environment.

2004-02-03  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/nio/DatagramChannelImpl.java
	(inChannelOperation): New field.
	(isInChannelOperation): New accessor.
	(setInChannelOperation): New modifier.
	(receive): Use capacity() - position() of destination
        buffer instead of remaining(). Set and reset our "in
        channel operation indicator" before and after delegating
        the receive to our datagram socket. Removed testing code.
        Update destination buffer's current position if it is
        backed by a byte array (hasArray() is true).
	(send): Set and reset our "in channel operation indicator"
        before and after delegating the send to our datagram socket.
        Removed testing code. Update source buffer's current position
        if it is backed by a byte array (hasArray() is true).
	* gnu/java/nio/SocketChannelImpl.java (read(ByteBuffer)):
        Use capacity() - position() of destination buffer instead
        of remaining().
	* java/net/DatagramSocket.java (receive): Don't throw an
        IllegalBlockingModeException if we have a non-blocking
        channel which initiated this operation.
	(send): Likewise.

2004-02-03  Mohan Embar  <gnustuff@thisiscool.com>

	* gnu/java/net/PlainSocketImpl.java 
	(inChannelOperation): New field.
	(isInChannelOperation): New accessor.
	(setInChannelOperation): New modifier.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(accept): Set and reset our server socket's PlainSocketImpl's
	"in channel operation" indicator before and after delegating
	the accept to our server socket.
	* gnu/java/nio/SocketChannelImpl.java
	(connect): Set and reset our socket's PlainSocketImpl's "in channel
	operation" indicator before and after delegating the operation to
	our socket.
	(read): Likewise.
	(write): Likewise.
	* java/net/ServerSocket.java (implAccept): Don't throw an
	IllegalBlockingModeException if we have a non-blocking
	channel which initiated this accept operation.
	* java/net/Socket.java (connect): Don't throw an
	IllegalBlockingModeException if we have a non-blocking
	channel which initiated this connect operation.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Only call implConfigureBlocking() if
	the desired blocking mode is different from our current one.

2004-01-24  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/http/Connection.java
	(connect): Don't initialize bufferedOutputStream if not needed.
	(sendRequest): Set property for content length if content is present.
	Write content only if present.
	(getOutputStream): Check if already connected, dont connect,
	initalize bufferedOutputStream if needed.

2004-01-24  Michael Koch  <konqueror@gmx.de>

	* Makefile.am: Added library version to gtk peer lib.
	* Makefile.in: Regenerated.

2004-01-21  Jakub Jelinek  <jakub@redhat.com>

	* include/powerpc-signal.h: Add #ifndef __powerpc64__ around the
	header.  For __powerpc64__ provide the default-signal.h definitions
	for now.
	* include/x86_64-signal.h [!__x86_64__]: Include java-signal-aux.h
	instead of the dummy definitions.
	* configure.host (x86_64-*): Remove CHECKREFSPEC, add DIVIDESPEC.
	(powerpc64*-*): Remove with_libffi_default.
	Only add -mminimal-toc for 64-bit compilations.
	* configure.in: Use powerpc-signal.h on powerpc64 as well.
	(x86_64-*-linux*): Set SIGNAL_HANDLER_AUX.
	Link SIGNAL_HANDLER_AUX to include/java-signal-aux.h.
	* configure: Rebuilt.

2004-01-21  Tom Tromey  <tromey@redhat.com>

	PR java/13468:
	* Makefile.in: Rebuilt.
	* Makefile.am (interpret.lo): New target.

2004-01-20  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (lib_org_w3c_dom_la_LIBADD,
	lib_org_w3c_dom_la_LDFLAGS): New.
	(lib_org_xml_sax_la_LIBADD, lib_org_xml_sax_la_LDFLAGS): New.
	* Makefile.in: Rebuilt.

2004-01-19  Matthias Klose  <doko@debian.org>

	* libtool-version: Increased `current' to 5.

2004-01-16  Andrew Haley  <aph@redhat.com>

	* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
	* sysdep/i386/locks.h: Likewise.

2004-01-16  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/EventDispatchThread.java (run): Stop running when
	interrupted.
	* java/awt/EventQueue.java (pop): Stop dispatch thread when done.
	Reset the queue after transferring its contents.
	(push): Start a new dispatch thread if none is running.

2004-01-16  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	(doPolygon): set fill rule of polygon to 
	WIND_EVEN_ODD by default.

2004-01-15  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	Implemented rendering hints related methods.
	(getDefaultHints): New helper method. Returns
	default rendering hints.
	(walkPath): changed to normalize path if
	the KEY_STROKE_CONTROL key is in "normalize" mode.
	(draw3DRect): changed coordinates of rectangle by +0.5
	if in "normalize" mode.

2004-01-15  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (gnu/gcj/runtime/StackTrace.lo): New rule.
	(%.lo: %.java) Filter out StackTrace.lo.

2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>

	* configure.in: Add in AC_PREREQ(2.13)
	* libltdl/configure.ac: Update to AC_PREREQ(2.57).  Delete 
	FIXME comment.

2004-01-14  Nathan Bryant  <nbryant@optonline.net>
	    Tom Tromey  <tromey@redhat.com>

	PR libgcj/12001:
	* gnu/gcj/runtime/VMClassLoader.java (VMClassLoader): Pass empty
	array to superclass.
	(init): Changed interface; add URLs here.
	(initialize): New static method.
	* prims.cc (_Jv_CreateJavaVM): Initialize ClassLoader here...
	(_Jv_RunMain): ... not here.

2004-01-14  Michael Koch  <konqueror@gmx.de>

	* java/text/MessageFormat.java:
	Added descriptions to exceptions.
	This fixes PR libgcj/2429.

2004-01-13  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/EventQueue.java (isDispatchThread): Do check on top of stack.
	(push): Make sure push is performed at the top of the thread stack.

2004-01-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(native	create): Add width and height parameters.  Set text
	view's size request according to new parameters.
	(create): Calculate text view size based on current font's
	metrics and number of rows and columns.  Set TextArea's font if
	not already set.  Call native create.
	(getMinimumSize): Call minimumSize.
	(getPreferredSize): Call preferredSize.
	(getHScrollbarHeight): New method.
	(getVScrollbarWidth): New method.
	(minimumSize): Calculate minimum size based on scrollbar
	visibility, scrollbar sizes, font metrics and number of rows and
	columns.
	(preferredSize): Likewise for preferred size.
	(gtkTextGetSize): Remove method.

2004-01-13  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(initializeInsets): Remove method.
	(GtkComponentPeer): Initialize insets field.  Remove call to
	initializeInsets.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets):
	Remove method.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	(latestInsets): Remove field.
	(native create): Add insets parameter.  Call
	window_get_frame_extents.  Set the window's default size and
	size request based on its frame extents.
	(create): Initialize insets.
	(postInsetsChangedEvent): New method.
	(postConfigureEvent): Remove parameters top, left, bottom,
	right.  Remove insets-related logic.
	(connectJObject): Handle property-notify-event.
	(window_get_frame_extents, request_frame_extents,
	property_notify_predicate, window_property_changed_cb): New
	static functions.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Remove insets-related logic for configure
	events.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (gtkInit):
	Update postConfigureEvent signature.

2004-01-13  Fernando Nasser  <fnasser@redhat.com>
 
	* gnu/java/awt/peer/gtk/TestAWT.java (DialogWindow): Add WindowAdapter
	to handle Window "Closing" events.
 
2004-01-13  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setBackground): New method. Children with no explicitly-set
	background will be repainted with the parent container's new
	background color.

2004-01-13  David Jee  <djee@redhat.com>

	* Makefile.am: Add BitwiseXORComposite.java.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

2004-01-12  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/TestAWT.java: Fix test program so that it does
	not show modal dialogs twice and so that it allows showing a modal
	dialog from another modal dialog.

2004-01-12  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/Dialog.java (show): Enable blocking for all modal dialogs
	and run secondary dispatch thread to process event queue while this
	thread is blocked.

2004-01-12  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/gtk/GdkGraphics2D.java
	(static): Check GtkToolkit before initializing static state.
	(Graphics2D): Don't construct transform with 0.5 unit offset.

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

	* gnu/java/awt/BitwiseXORComposite.java: Add.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(setXORMode): Switch to gnu.java.awt.BitwiseXORComposite.
	(BitwiseXORComposite): Remove inner class.

2004-01-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/reflect/TypeSignature.java
	(getEncodingOfClass): Documentation fixed.
	(getClassForEncoding): Give class loader to Class.forName().
	Documentation fixed.

2004-01-11  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/undo/CompoundEdit.java (serialVersionUID): Added.

2004-01-11  Michael Koch  <konqueror@gmx.de>

	* javax/swing/undo/StateEditable.java
	(RCSID): Removed redundant modifiers.

2004-01-10  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/EnumSyntax.java
	(getStringTable): Made protected.
	(getEnumValueTable): Likewise.
	* javax/print/attribute/standard/JobKOctetsProcessed.java
	(JobKOctetsProcessed): Don't implement PrintRequestAttribute.
	* javax/print/attribute/standard/JobMediaSheetsCompleted.java
	(JobMediaSheetsCompleted): Made class final.
	* javax/print/attribute/standard/OutputDeviceAssigned.java
	(getName): Fixed typo.
	* javax/print/attribute/standard/RequestingUserName.java
	(serialVersionUID): Fixed value.

2004-01-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxUI.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/BasicToggleButtonUI.java,
	javax/swing/plaf/basic/BasicViewportUI.java:
	Fixed import statements.

2004-01-10  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/image/ImageDecoder.java
	(produce): Made public.
	* gnu/java/awt/peer/GLightweightPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reformated.

2004-01-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JSeparator.java,
	javax/swing/JSplitPane.java,
	javax/swing/JTextPane.java,
	javax/swing/JToolBar.java,
	javax/swing/ListCellRenderer.java,
	javax/swing/ListModel.java,
	javax/swing/MenuElement.java,
	javax/swing/OverlayLayout.java,
	javax/swing/ProgressMonitor.java,
	javax/swing/ProgressMonitorInputStream.java,
	javax/swing/Renderer.java,
	javax/swing/RootPaneContainer.java,
	javax/swing/Scrollable.java,
	javax/swing/SingleSelectionModel.java,
	javax/swing/ToolTipManager.java,
	javax/swing/ViewportLayout.java,
	javax/swing/event/DocumentEvent.java,
	javax/swing/event/SwingPropertyChangeSupport.java,
	javax/swing/event/TreeSelectionEvent.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/AttributeSet.java,
	javax/swing/text/Caret.java,
	javax/swing/text/ComponentView.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/DefaultEditorKit.java,
	javax/swing/text/Document.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/GapContent.java,
	javax/swing/text/Keymap.java,
	javax/swing/text/MutableAttributeSet.java,
	javax/swing/text/PlainEditorKit.java,
	javax/swing/text/Segment.java,
	javax/swing/text/Style.java,
	javax/swing/text/StyledDocument.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/text/TextAction.java,
	javax/swing/text/View.java: Fixed import statements.

2004-01-08  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JLayeredPane.java: Rewrite to accomodate
	djee@redhat.com's recent inverse ordering of Container elements.

2004-01-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ArrayHelper.java
	(equalsArray): Removed.

2004-01-09  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Resolve
	a Utf8Const field before looking at its class.

2004-01-09  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/DocumentName.java,
	javax/print/attribute/standard/JobHoldUntil.java,
	javax/print/attribute/standard/JobMessageFromOperator.java,
	javax/print/attribute/standard/JobName.java,
	javax/print/attribute/standard/JobOriginatingUserName.java,
	javax/print/attribute/standard/OutputDeviceAssigned.java,
	javax/print/attribute/standard/PrinterInfo.java,
	javax/print/attribute/standard/PrinterLocation.java,
	javax/print/attribute/standard/PrinterMakeAndModel.java,
	javax/print/attribute/standard/PrinterMessageFromOperator.java,
	javax/print/attribute/standard/PrinterName.java,
	javax/print/attribute/standard/RequestingUserName.java: New files.
	* Makefile.am (javax_source_files): Added new files.
	* Makefile.in: Regenerated.

2004-01-09  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractSet.java,
	javax/swing/Action.java,
	javax/swing/ActionMap.java,
	javax/swing/BoundedRangeModel.java,
	javax/swing/ButtonModel.java,
	javax/swing/CellEditor.java,
	javax/swing/CellRendererPane.java,
	javax/swing/ComboBoxEditor.java,
	javax/swing/DebugGraphics.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultCellRenderer.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultFocusManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/Icon.java,
	javax/swing/JButton.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JDesktopPane.java,
	javax/swing/JEditorPane.java,
	javax/swing/JMenu.java,
	javax/swing/JPanel.java,
	javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JProgressBar.java: Reworked imports.

2004-01-09  Michael Koch  <konqueror@gmx.de>

	* java/awt/geom/PathIterator.java
	(WIND_EVEN_ODD): Removed redundant modifiers.
	(WIND_NON_ZERO): Likewise.
	(SEG_MOVETO): Likewise.
	(SEG_LINETO): Likewise.
	(SEG_QUADTO): Likewise.
	(SEG_CUBICTO): Likewise.
	(SEG_CLOSE): Likewise.
	* java/awt/image/SinglePixelPackedSampleModel.java:
	Removed redundant semicolon.
	* java/io/ObjectInputStream.java
	(inputGetObjectStreamClasses): Removed unused variable "ret_val".
	* java/util/logging/Filter.java
	(isLoggable): Removed redundant modifier.
	* java/util/logging/LogManager.java:
	Removed redundant semicolon.
	* java/util/logging/XMLFormatter.java
	(format): Removed unused variable "key".

2004-01-08  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (nativeSetFile):
	New name for the former setFile native method.
	(setFile): New method.
	(setDirectory): Implemented.
	(connectSignals): New native method.
	(setFilenameFilter): Improve comment.
	(getGraphics): Comment.
	(gtkHideFileDialog): New method.
	(gtkDisposeFileDialog): New method.
	(gtkSetFilename): New method.
	* java/awt/Dialog.java (show): Block on modal dialogs, but only
	for FileDialog for now.
	(hide): New method.
	(dispose): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialog_create): Replace
	deprecated creation functions.  Make dialog modal.  Add it to the
	window group.
	(Java_gnu_java_awt_peer_gtk_GtkFileDialog_connectSignals): New
	function.
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_gtkFileSelectionSetFilename):
	Rename to...
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFile): New
	name.
	(window_closed): New function.
	(ok_clicked): New function.
	(cancel_clicked): New function.

2004-01-08  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLayeredPane.java: Revert changes to standard
	boilerplate, reworked imports.

2004-01-07  Tom Tromey  <tromey@redhat.com>

	PR libgcj/13439:
	* verify.cc (state::merge): Copy changed locals out of subroutine
	in NO_STACK case.
	(state::FLAG_CHANGED): New const.
	(state::FLAG_UNUSED): Likewise.
	(state::local_changed): Removed.  Updated all users.
	(state::flags): New field.
	(state::merge): Added jsr_semantics argument, more logic.
	(push_jump_merge): Added jsr_semantics argument.
	(handle_jsr_insn): Set jsr_semantics on push_jump_merge when
	merging through the jsr instruction.

2004-01-07  Tom Tromey  <tromey@redhat.com>

	* scripts/MakeDefaultMimeTypes.java: Use \n, not
	backslash-newline.

2004-01-07  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Container.java (LightweightDispatcher): Implement.
	(visitChild): Reuse graphics object.
	(dispatchEventImpl): Optionally dispatch to lightweight.
	(addNotifyContainerChildren): Build LightweightDispatcher.

2004-01-07  David Jee  <djee@redhat.com>

	* java/awt/Container.java
	(update): Clear only the clipped region, instead of clearing the
	entire Container.
	(visitChildren): Visit children in descending order.

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

	* java/lang/reflect/Array.java: Merged documentation with classpath.

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

	* java/text/CollationElementIterator.java
	(textIndex): Renamed from index.
	* java/text/CollationKey.java
	(collator): New member.
	(CollationKey): New argument for parent collator.
	(equals): Check for same collator, source string and key array.
	* java/text/RuleBasedCollator.java:
	Reformated.
	(RuleBasedCollator): Don't re-initialize frenchAccents with default
	value.
	(getCollationElementIterator): Rewritten.
	(getCollationKey): Added new argument to CollationKey constructor.

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

	* gnu/java/nio/DatagramChannelImpl.java
	(blocking): Removed.
	(DatagramChannelImpl): Call configureBlocking().
	(implConfigureBlocking): Dont initialize blocking.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(blocking): Removed.
	(ServerSocketChannelImpl): Call configureBlocking().
	(implConfigureBlocking): Dont initialize blocking.
	* gnu/java/nio/SocketChannelImpl.java
	(blocking): Removed.
	(SocketChannelImpl): Call configureBlocking().
	(implConfigureBlocking): Dont initialize blocking.
	(connect): Use isBlocking().
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Use blockingLock() instead of LOCK.
	Set blocking after successfully called implConfigureBlocking().
	(register): Use blockingLock() instead of LOCK.

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

	* java/net/ServerSocket.java (isBound): Fixed documentation.

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

	* javax/swing/DefaultBoundedRangeModel.java: Documented API.
	(changeEvent): Create event object on demand.
	(DefaultBoundedRangeModel, toString, setValue, setExtent,
	setMinimum, setMaximum, setValueIsAdjusting, setRangeProperties,
	fireStateChanged): Re-written.
	* javax/swing/event/EventListenerList.java: Reformatted, document
	typical usage.
	(toString): Implemented.
	(getListeners): Re-written.
	(remove): Re-written.
	(add): Re-written.
	(NO_LISTENERS): New singleton field.
	(listenerList): Declare as transient; document.
	(serialVersionUID): Document.
	(getListenerCount(Class)): More efficient implementation,
	also accepts null argument.  Improve Javadoc.
	(getListenerCount()): Remove unnecessary cast; docfix.
	* javax/swing/undo/UndoableEditSupport.java:
	Re-format, document.
	(UndoableEditSupport): Set realSource field. Improve documentation.
	(_postEdit): Iterate over cloned listener vector.
	(toString): Don't emit realSource.
	(beginUpdate, endUpdate): Support nested updates.
	(postEdit): Use compound edit if present.

2004-01-06  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Container.java (swapComponents): Add forgotten
	function, required for JLayeredPane change.

2004-01-06  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java: Reformated.
	(CollationElementIterator): Changed order of arguments.
	* java/text/RuleBasedCollator.java
	(RuleBasedCollator): Merged class documentation.
	(CollationElement): Added documentation.
	(compare): Reformated, renamed arguments.
	(equals): Likewise.
	(getCollationElementIterator): Likewise.
	(getCollationKey): Likewise.

2004-01-06  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JLayeredPane.java: Fix semantics, add javadocs.

2004-01-06  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/protocol/file/Connection.java:
	Reformated copyright.
	(hdrHash): Removed.
	(hdrVec): Removed.
	(gotHeaders): Removed.
	(getHeaderField): Removed.
	(getHeaderField): Removed.
	(getHeaderFieldKey): Removed.
	(getKey): Removed.
	(getField): Removed.
	(getHeaders): Removed.

2004-01-06  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/DateTimeAtCompleted.java,
	javax/print/attribute/standard/DateTimeAtCreation.java,
	javax/print/attribute/standard/DateTimeAtProcessing.java,
	javax/print/attribute/standard/JobImpressionsCompleted.java,
	javax/print/attribute/standard/JobKOctets.java,
	javax/print/attribute/standard/JobKOctetsProcessed.java,
	javax/print/attribute/standard/JobMediaSheetsCompleted.java,
	javax/print/attribute/standard/JobPrioritySupported.java: New files.
	* Makefile.am (javax_source_files): Added new files.
	* Makefile.in: Regenerated.

2004-01-06  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(contentHandler): Removed.
	(locale): Removed.
	(getHeaderFields): Return an empty map instead of null.
	(getContent): Connect if needed, renamed "cType" to "type" and
	"contentHandler" to "ch" and made it a local variable.
	(getPermission): Don't use package in class name.
	(setDefaultRequestProperty): Fixed typo in documentation.
	(initializeDateFormats): Made locale a local variable.

2004-01-06  Michael Koch  <konqueror@gmx.de>

	* java/lang/Package.java
	(getPackage): Get the current class loader directly.
	* java/lang/SecurityManager.java
	(currentLoadedClass): Dont iterate over class contexts.
	(classLoaderDepth): Don't check class loaders if everything is allowed.

2004-01-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Set all insets to 0 when a Configure event
	is received for a GtkPlug.
	* gnu/java/awt/EmbeddedWindow.java (window_id): Rename handle.
	Make handle long, not int.
	(EmbeddedWindow()): New constructor.
	(EmbeddedWindow(int)): Rename window_id to handle.  Make handle
	long, not int.
	(setHandle): New method.
	(getHandle): Return long, not int.
	* gnu/java/awt/peer/EmbeddedWindowPeer.java (embed): New method
	declaration.
	* gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	(create(long)): Take long parameter, not int.  Cast gtk_plug_new
	argument to GdkNativeWindow.
	(construct): New method.
	(embed): New method.

	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
	(create(int, int)): New method.
	(create): Call new create method.
	(gtkScrolledWindowNew, gtkScrolledWindowSetSize): Remove
	methods.
	(childResized): Remove native implementation.  Implement in
	Java.
	(getHScrollbarHeight, getVScrollbarWidth): Call
	gtk_widget_size_request to get scrollbar dimensions.
	* java/awt/ScrollPane.java (getViewportSize): Reimplement.  Only
	call getVScrollbarWidth and getHScrollbarHeight when vertical
	and horizontal scrollbars respectively are needed.
	(doLayout): Enlarge child if it is smaller than the viewport.

2004-01-05  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/Dialog.java (constructor): Accept null title as per spec.
	* java/awt/FileDialog.java (constructor): Throw exception on invalid
	argument as per spec.

2004-01-05  Fernando Nasser  <fnasser@redhat.com>

	* java/awt/Choice.java (add): Leave posting of ItemEvents to peer.
	(insert): Ditto.
	(remove): Ditto.  Also, Check for valid argument.
	(removeAll): Use peer interface method.
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java (nativeAdd): New name for
	native add function.
	(nativeRemove): New name for native remove function.
	(getHistory): New native function.
	(constructor): Generate ItemEvent.
	(add): Ditto, if selection is changed.
	(remove): Ditto, ditto.
	(removeAll): Add implementation.
	(handleEvent): Remove.  Dead code.
	(choicePostItemEvent): Add comment.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Add comments.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Rename to...
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeAdd): New name.  Add
	comments and fix condition to change selection.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Rename to...
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove): New name.  Add
	remove all capability.
	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory): New function.
	(item_activate): Add cast to remove compiler warning.

2004-01-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(getPreferredSize): Call preferredSize.
	(preferredSize): Call gtkWidgetGetPreferredDimensions.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Call gtkWidgetGetPreferredDimensions.
	(gtkWidgetGetDimensions): Return the peer widget's current size
	request.
	(gtkWidgetGetPreferredDimensions): Return the peer widget's
	natural size request.

2004-01-05  Sascha Brawer  <brawer@dandelis.ch>

	Thanks to Brian Gough <bjg@network-theory.com>
	* java/awt/geom/CubicCurve2D.java (solveCubic): Implemented.
	* java/awt/geom/QuadCurve2D.java (solveQuadratic): Re-written.

2004-01-04  Matthias Klose  <doko@debian.org>

	* aclocal.m4: Rebuilt using "aclocal -I .".
	* configure: Rebuilt.

2004-01-03  Per Bothner  <per@bothner.com>

	* java/util/Date.java (parse):  Fix a number of problems.
	(skipParens):  Remove no-longer-needed method.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* java/security/Security.java: Reformated.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* javax/naming/InitialContext.java: Reindented.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* configure: Regenerate.

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

	* configure.host: Removed erroneous comment.

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

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

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

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

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

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

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

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

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

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

	* Makefile.am: Fixed problems with parallel makes.
	(all_java_class_files): Readded definition.
	(all_java_class_files): New target which depends on
	libgcj-@gcc_version@.jar
	* Makefile.in: Rebuilt

2003-08-28  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* java/lang/Class.h (_Jv_sharedlib_register_hook): Declare as
	friend.
	* java/net/URLClassLoader.java (findClass): Don't use
	findURLResource.  Use loader's getClass method.
	(URLLoader.getClass): New method.
	(addURL): Handle `gcjlib' URLs.
	(SoURLLoader): New class.
	(SoResource): Likewise.
	* gnu/gcj/protocol/gcjlib/Connection.java: New file.
	* gnu/gcj/protocol/gcjlib/Handler.java: New file.
	* include/jvm.h (struct _Jv_core_chain): Moved from natCore.cc.
	(_Jv_RegisterCoreHook): Declare.
	(_Jv_FindCore): Declare.
	* gnu/gcj/runtime/SharedLibHelper.java: New file.
	* gnu/gcj/runtime/natSharedLibLoader.cc (CoreHookFunc): New
	typedef.
	(core_hook): New function.
	(struct SharedLibDummy) [saved_core]: New field.
	(init): Set _Jv_RegisterCoreHook.  Throw exception on failure.
	(register_hook): Set protection domain and class loader on new
	class.
	(finalize): Free core chain.
	* gnu/gcj/Core.java (Core): New constructor.
	* gnu/gcj/runtime/SharedLibLoader.java: Rewrote to use
	SharedLibHelper.
	* gnu/gcj/natCore.cc (_Jv_RegisterResource): Indentation fixlet.
	(_Jv_create_core): New function.
	(create): Use it.
	(default_register_resource): New function.
	(_Jv_RegisterCoreHook): New global.
	(_Jv_RegisterResource): Use it.
	(core_chain_struct): Removed.
	(_Jv_FindCore): New function.
	(_Jv_FreeCoreChain): New function.

2003-08-29  Michael Koch  <konqueror@gmx.de>

	* java/net/natInetAddressWin32.cc,
	java/net/natNetworkInterfaceWin32.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplWin32.cc:
	Removed code enclosed in DISABLE_JAVA_NET defines.

2003-08-26  Mohan Embar  <gnustuff@thisiscool.com>

	* Makefile.am: (write_entries_to_file) New parameterized
	function for writing entries to a file one line at a time.
	(all_java_class_files): Removed definition.
	(.java.class) Removed.target.
	(libgcj-@gcc_version@.jar): Changed dependency to
	$(all_java_source_files); added compilation step which compiles
	all changed source files in one pass.
	(libgcj.la) Refactored to use write_entries_to_file.
	(lib-gnu-awt-xlib.la) Likewise.
	(install-data-local) Likewise.
	(write-entries-to-file-check) New target which tests write_entries_to_file.
	(all-recursive): Changed dependency from $(all_java_class_files)
	to libgcj-@gcc_version@.jar
	* Makefile.in: Rebuilt.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/StrictMath.java: Typo fix.
	* java/lang/Math.java: Typo fix.

2003-08-26  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/ThreadGroup.java (removeThread): null the 'group' field
	of the removed Thread.

2003-08-26  Mark Wielaard  <mark@klomp.org>

	Reported by David Holmes <dholmes@dltech.com.au>.
	* java/lang/InheritableThreadLocal.java (threadMap): Wrap inside
	Collections.synchronizedMap.
	* java/lang/ThreadLocal.java (valueMap): Likewise.

2003-08-26  Mark Wielaard  <mark@klomp.org>

	* java/security/acl/Acl.java: Fix broken p tag.
	* java/text/DateFormatSymbols.java: Correctly open and close li tags.
	* javax/swing/border/LineBorder.java: Close img tag alt attributes.
	* javax/swing/plaf/TreeUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTreeUI.java: Likewise.
	* java/util/Properties.java: Use the word umlaut, not &auml; in api
	documentation.
	* java/util/PropertyResourceBundle.java: Likewise and add closing code
	tag.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am: Removed all GNU-make-specific FIXME comments.

	* java/lang/ref/Reference.java (get): Indentation fix.
	(clear): Comment fix.
	(enqueue): Likewise.
	(lock): Likewise.
	(referent): Likewise.

2003-08-26  Tom Tromey  <tromey@redhat.com>

	PR java/12058:
	* java/lang/reflect/natArray.cc (set): Allow null as argument.

	* java/lang/reflect/Proxy.java (ProxyData): `pack' now a String.
	(ProxyData.getPackage): New method.
	(ProxyData.getProxyData): Use package name, not Package.
	(ClassFactory.ClassFactory): Updated.

2003-08-25  Scott Gilbertson  <scottg@mantatest.com>
	* Makefile.am: added gnu/awt/xlib/XOffScreenImage.java.
	* Makefile.in: re-generated.
	* gnu/awt/j2d/IntegerGraphicsState.java
	(ScreenCoupledImage): new interface.
	(drawImage): detect ScreenCoupledImage instances.
	* gnu/awt/xlib/XCanvasPeer.java (createImage) implemented.
	* gnu/awt/xlib/XEventLoop.java
	(createEvent): re-formatted, and rearranged to avoid null pointer.
	* gnu/awt/xlib/XGraphics.java
	(drawImage): added XOffScreenImage handling.
	* gnu/awt/xlib/XOffScreenImage.java: new file.
	* gnu/gcj/xlib/Drawable.java (getDepth): new native method.
	* gnu/gcj/xlib/GC.java (copyArea): new native method.
	* gnu/gcj/xlib/XAnyEvent.java
	(TYPE_KEY_PRESS): new constant.
	(TYPE_KEY_RELEASE): new constant.
	(TYPE_MOTION_NOTIFY): new constant.
	(TYPE_ENTER_NOTIFY): new constant.
	(TYPE_LEAVE_NOTIFY): new constant.
	(TYPE_FOCUS_IN): new constant.
	(TYPE_FOCUS_OUT): new constant.
	(TYPE_KEYMAP_NOTIFY): new constant.
	(TYPE_GRAPHICS_EXPOSE): new constant.
	(TYPE_NO_EXPOSE): new constant.
	(TYPE_VISIBILITY_NOTIFY): new constant.
	(TYPE_CREATE_NOTIFY): new constant.
	(TYPE_DESTROY_NOTIFY): new constant.
	(TYPE_MAP_REQUEST): new constant.
	(TYPE_CONFIGURE_REQUEST): new constant.
	(TYPE_GRAVITY_NOTIFY): new constant.
	(TYPE_RESIZE_REQUEST): new constant.
	(TYPE_CIRCULATE_NOTIFY): new constant.
	(TYPE_CIRCULATE_REQUEST): new constant.
	(TYPE_PROPERTY_NOTIFY): new constant.
	(TYPE_SELECTION_CLEAR): new constant.
	(TYPE_SELECTION_REQUEST): new constant.
	(TYPE_SELECTION_NOTIFY): new constant.
	(TYPE_COLORMAP_NOTIFY): new constant.
	(TYPE_MAPPING_NOTIFY): new constant.
	* gnu/gcj/xlib/natDrawable.cc (getDepth): new method.
	* gnu/gcj/xlib/natGC.cc (copyArea): new method
	* java/awt/Component.java (createImage): changed to use peer method.

2003-08-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java (drawString): Pass font
	name, not XLFD, to native drawString.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Replace XLFD-based implementation with Pango-based
	implementation.

2003-08-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Remove
	GTK_WINDOW_DIALOG.  Set GTK_WINDOW_POPUP to 1.

2003-08-21  David Daney  <ddaney@avtrex.com>

	Fix for PR libgcj/12013:
	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Check `cleared' field.
	* java/lang/ref/Reference.java (copy): Updated comments.
	(cleared): New field.
	(clear): Rewrote.

2003-08-21  Scott Gilbertson  <scottg@mantatest.com>
            Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (gtk_awt_peer_sources): Add
	gnu/java/awt/peer/GLightweightPeer.java.  Remove
	gnu/java/awt/GLightweightPeer.java.
	* gnu/java/awt/GLightweightPeer.java: Remove file.
	* gnu/java/awt/peer/GLightweightPeer.java: New file.
	* java/awt/Component.java (getToolkit): Add comment about
	lightweight components.
	* java/awt/Toolkit.java (createComponent): Return
	gnu.java.awt.peer.GLightweightPeer.

2003-08-21  Richard Earnshaw  <rearnsha@arm.com>

	* configure.in: Fix detection of gcj when building with newlib.
	* configure: Regenerated.

2003-08-20  Graydon Hoare  <graydon@redhat.com>

	* jni.cc: Replace "cheating" pointer-casting code with
	extract_from_jvalue<> template.

2003-08-20  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/StackTrace.java (getClass): New method.
	* gnu/gcj/runtime/natStackTrace.cc (getClass): New method.
	(classAt): Break out class lookup function into getClass().
	* exception.cc (PERSONALITY_FUNCTION): Use new encoding for exception
	handlers when using -fno-assume-compiled.

2003-08-20  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/9125:
	* gnu/gcj/runtime/natVMClassLoader.cc (findClass): Find Runtime
	object outside of loop.  Respect lib_control setting.
	* gnu/gcj/runtime/VMClassLoader.java (tried_libraries): New
	field.
	(lib_control): New field.
	(LIB_FULL, LIB_CACHE, LIB_NEVER): New constants.
	(VMClassLoader): Initialize new field.

	* java/lang/ref/natReference.cc (finalize_referred_to_object):
	Set `list->reference' to DELETED_REFERENCE when removing dead
	object.
	(find_slot): Added an assert.
	(DELETED_REFERENCE): New define.
	(add_to_hash): Check for DELETED_REFERENCE.
	(remove_from_hash): Just return if found slot isn't ours.

2003-08-19  Andrew Haley  <aph@redhat.com>

	* prims.cc (unblock_signal): New function.
	(catch_segv): Use it.
	(catch_fpe): Likewise.

2003-08-19  Danny Smith  <dannysmith@users.sourceforge.net>

	PR libgcj/11575
	* java/io/natFileDescriptorWin32.cc (open): Set create
	flag to OPEN_AWAYS when READ & WRITE regardless of APPEND flag.
	Honor EXCL when openning with WRITE flag. 

2003-08-19  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: New class _Jv_TempUTFString (helper class for
	getting a temporary C string from a jstring)
	New macro JV_TEMP_UTF_STRING, which leverages _Jv_TempUTFString
	but uses a stack buffer if the string length is less than 256
	bytes.

2003-08-18  Tom Tromey  <tromey@redhat.com>

	PR libgcj/11951:
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
	void.  Throw VirtualMachineError if ffi fails.  Initialize return
	value.  Added is_jni_call argument; only wrap exception if not a
	JNI call.  Use descriptive message if operation not supported.
	(_Jv_GetTypesFromSignature): Use declaring class' loader to find
	array class.
	* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
	* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
	_Jv_CallAnyMethodA.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.

2003-08-13  Tom Tromey  <tromey@redhat.com>

	* gij.cc (help): Document -? and -X.

2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Font.java: 
	Stub out more recent API. 

2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Color.java (getAlpha): 
	Prevent sign-extended alpha values.

2003-08-12  Tom Tromey  <tromey@redhat.com>

	* gij.cc (main): Handle -? and -X.

2003-08-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/Container.java
	(getPreferredSize): Call preferredSize.
	(preferredSize): Moved body of getPreferredSize here.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Moved body of getMinimumSize here.

2003-08-11  Tom Tromey  <tromey@redhat.com>

	* java/awt/EventQueue.java (currentEvent, lastWhen): New fields.
	(postEvent): Removed FIXME comment.
	(isDispatchThread): Documented.
	(getCurrentEvent): New method.
	(dispatchEvent): Set currentEvent and lastWhen.
	(getMostRecentEventTime): Rewrote.
	(invokeLater): Documented.

2003-08-10  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/io/PrintStream.java (print): Always flush if auto_flush is
	set. Don't check for newline characters.
	(write (int)): Implement without using a temporary array.
	(write (byte[], int, int): Always flush if auto_flush is set. Don't
	check for newline characters.
	Fixes PR libgcj/11778.

2003-08-08  Andrew Haley  <aph@redhat.com>

	* Makefile.am (AM_CXXFLAGS): Define BOOT_CLASS_PATH.
	* Makefile.in: Rebuild.
	* java/lang/natRuntime.cc (insertSystemProperties): Add
	"sun.boot.class.path".

2003-08-07  Andrew Haley  <aph@redhat.com>

	* java/io/PrintStream.java: Don't crash on a null string.
	
2003-08-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Don't initialize GCINCS to boehm-gc/include.
	* configure: Regenerate.

2003-08-07  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/net/Socket.java (Socket (SocketImpl)): Don't allow null
	SocketImpl. Update Javadoc.
	(bind): Call close() not impl.close() in event of exception.
	(connect): Likewise.
	Remove superfluous null checks throughout.
	* java/net/ServerSocket.java (ServerSocket (int, int, InetAddress)):
	Don't create an extra socket. Fix for PR libgcj/10868.
	(bind): Clean up exception handling.
	Remove superfluous null checks throughout.

2003-08-07  Jacob Gladish <gladish@spinnakernet.com>
            Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/net/natPlainSocketImplPosix.cc (connect): Pass the FD as a
	ready-to-write argument to _Jv_Select. Reset the socket back to 
	non-blocking state after connecting.
	(accept): Pass the FD as a ready-to-write argument to _Jv_Select.
	Throw SocketTimeoutException not InterruptedIOException.
	(read): Throw SocketTimeoutException not InterruptedIOException.

2003-08-07  Bryce McKinlay  <bryce@mckinlay.net.nz>

	* java/lang/Thread.java (Thread): Check for null "name" from
	start of private constructor, not after calling the private
	constructor.

2003-08-06  Tom Tromey  <tromey@redhat.com>

	* java/io/FilePermission.java (equals): Use correct index for
	last character of path.

2003-08-06  Alan Modra  <amodra@bigpond.net.au>

	* acinclude.m4 (LIBGCJ_CONFIGURE): Remove AC_CANONICAL_BUILD.
	* configure.in: Compare with_cross_host to build_alias, not build.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-08-05  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/11779:
	* java/lang/reflect/natField.cc (getAddr): Skip frames in Field
	class.

	* java/lang/reflect/Method.java: Updated status comment.
	Imported javadoc from Classpath and re-ordered methods.
	* java/lang/reflect/Constructor.java: Reindented.  Updated
	status comment.  Imported javadoc from Classpath and re-ordered
	methods.

2003-08-05  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent):
	Add keyLocation parameter.
	* java/awt/event/KeyEvent.java (getKeyText): Fix "NumPad-"
	string.
	(paramString): Generate keyChar string according to keyChar, not
	keyCode.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(state_to_awt_mods): Handle ALT key.
	(keyevent_state_to_awt_mods): New function.
	(get_first_keyval_from_keymap): New function.
	(keysym_to_awt_keycode): Get virtual key code from keymap.
	Handle missing VK_ values.
	(keysym_to_awt_keylocation): New function.
	(keyevent_to_awt_keychar): New function.
	(generates_key_typed_event): Handle non-text-component case.
	Handle GDK_KP_Delete and GDK_KP_Enter.
	(awt_event_handler): Call new functions to get postKeyEvent
	parameters.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c (gtkInit):
	Update postKeyEvent method signature.
	* jni/gtk-peer/gtkpeer.h: Add KEY_LOCATION defines.  Add missing
	VK_ defines.

2003-08-05  Matthias Klose  <doko@debian.org>

	* aclocal.m4: check for libart-config binary
	  under the name libart2-config as well.
	* configure: regenerated.

2003-08-04  David P Grove  <groved@us.ibm.com>

	* java/text/DecimalFormat.java (format): avoid ArithmeticException
	when groupingSize is 0.
	(parse): Likewise.

2003-08-04  Matthias Klose  <doko@debian.org>

	* libart.m4: check for libart-config binary
	  under the name libart2-config as well.
	* configure, aclocal.m4: regenerated.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferImpl.java
	(getChar): Check remaining bytes, fixed comment about endianess.
	(putChar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Check remaining bytes, fixed conversion, fixed comment about
	endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/DirectByteBufferImpl.java
	(getChar): Wrapped code, fixed comment about endianess.
	(putchar): Likewise.
	(getShort): Likewise.
	(putShort): Likewise.
	(getInt): Fixed conversion, fixed comment about endianess.
	(putInt): Likewise.
	(getLong): Likewise.
	(putLong): Likewise.
	(getFloat): Likewise.
	(putFloat): Likewise.
	(getDouble): Likewise.
	(putDouble): Likewise.
	* java/nio/MappedByteBufferImpl.java
	(compact): Implemented.
	(getChar): Implemented.
	(putChar): Implemented.
	(getDouble): Implemented.
	(putdouble): Implemented.
	(getFloat): Implemented.
	(putFloat): Implemented.
	(getInt): Implemented.
	(putInt): Implemented.
	(getLong): Implemented.
	(putLong): Implemented.
	(getShort): Implemented.
	(putShort): Implemented.
	* java/nio/channels/FileChannelImpl.java
	(read): Set position where to access file.
	(write): Likewise.
	(transferTo): Flip buffer after read and before write.
	(transferFrom): Likewise.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ArrayHelper.java
	(equalsArray): Reformated, added method documentation.

2003-08-02  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Added paragraph about the
	gnu.java.net.nocache_protocol_handlers property.
	(ph_cache): Renamed from handlers to match classpath's implementation.
	Reordered it with factory and serialVersionUID member variables.
	(cache_handlers): New member variable.
	(static): New static initializer to initialize cache_handlers from
	gnu.java.net.nocache_protocol_handlers property.
	(URL): Use ph_cache instead of handlers, reformatted some code to
	match classpath's implementation.

2003-08-01  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/11241:
	* java/util/WeakHashMap.java (WeakHashMap(int,float)): If
	initialCapacity is 0, set it to 1.

2003-08-01  Stephen Crawley <crawley@dstc.edu.au>

	* java/net/SocketImpl.java (toString): Display the remote address
	of an unconnected server socket as "0.0.0.0/0.0.0.0".

2003-08-01  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/border/BevelBorder.java,
	javax/swing/border/EtchedBorder.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/SoftBevelBorder.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	Prepend "doc-files" to all paths to embedded Javadoc images, so
	that the generated documentation contains the correct URL.

2003-08-01  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in (tool_include_dir): Redefine to match gcc.

2003-08-01  Jerry Quinn  <jlquinn@optonline.net>
            Mark Wielaard  <mark@klomp.org>
	    
	* java/math/BigDecimal (divide): Correctly handle
	ROUND_HALF_EVEN when amount is greater than 0.5.
	Simplify and optimize code.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	More for PR libgcj/11737:
	* java/io/ObjectInputStream.java (processResolution): Use
	getMethod.
	(getMethod): Make method accessible.
	(getField): Make field accessible.
	(setBooleanField): Don't call setAccessible here.
	(setByteField, setCharField, setDoubleField, setFloatField,
	setIntField, setLongField, setShortField, setObjectField):
	Likewise.
	(callReadMethod): Don't check whether method is null.  Catch
	NoSuchMethodException.
	* java/io/ObjectOutputStream.java (callWriteMethod): Initialize
	cause on thrown exceptions.

2003-07-31  Stepan Koltsov  <yozh@mx1.ru>

	Fix for PR libgcj/11728:
	* java/util/HashMap.java (readObject): Set size.

2003-07-31  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/11737:
	* java/io/ObjectOutputStream.java (getMethod): Make method
	accessible.
	(getField): Likewise.
	(writeObject): Use getMethod.
	Import PrivilegedAction and AccessController.
	(callWriteMethod): Don't check whether m is null.  Catch
	NoSuchMethodException.

	* java/awt/geom/Arc2D.java (getBounds2D): Implement.
	(containsAngle): Likewise.
	(getStartPoint): Rewrote.
	(getEndPoint): Likewise.
	(setAngleStart(Point2D)): Likewise.

2003-07-31  Roger Sayle  <roger@eyesopen.com>
	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Add new THREADCXXFLAGS variable.
  	Handle POSIX threads on alpha*-dec-osf*.
	* configure: Regenerate.
	* Makefile.am: Add THREADCXXFLAGS to AM_CXXFLAGS.
	* Makefile.in: Regenerate.

2003-07-08  Andrew Haley  <aph@redhat.com>

        * include/i386-signal.h (RESTORE): New.
        (INIT_SEGV): Set restorer.
        (INIT_FPE): Likewise.

2003-07-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Call getName rather
	than getXLFD.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetFont): Scale size parameter by PANGO_SCALE.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c:
	Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c:
	Likewise.

2003-07-29  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (handleField): Throw exception if field name is
	duplicated.
	(handleMethod): Throw exception for duplicate method.

2003-07-29  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/convert/natIconv.cc (write): Handle case where
	output buffer is too small.

2003-07-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
	New method.
	Include gnu/gcj/runtime/StringBuffer.h.
	* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
	native method.
	(String(gnu.gcj.runtime.StringBuffer)): Use it.

2003-07-27  Anthony Green  <green@redhat.com>

	* configure.in: Fix newlib check.
	* configure: Rebuilt.

2003-07-27  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	Create vbox and layout for GtkPlug.

2003-07-27  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java
	(Window): Removed now unused constructor. It became oboslete with the
	new embedded window patch.

2003-07-27  Thomas Fitzsimmons <fitzsim@redhat.com.h> 
	    Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/EmbeddedWindow.java
	(EmbeddedWindow): Extends Frame instead of Window.
	(window_id): New member variable to store the native window handle.
	(create): Removed.
	(EmbeddedWindow): New constructor.
	(addNotify): New method.
	(getHandler): Likewise.
	(setWindowPeer): New native method.
	* gnu/java/awt/EmbeddedWindowSupport.java
	(EmbeddedWindowSupport): Fixed documentation.
	(createEmbeddedWindow): Return EmbeddedWindowPeer instead of
	WindowPeer, give it an EmbeddedWindow instance instead of the raw
	window data.
	* gnu/java/awt/natEmbeddedWindow.cc
	(create): Removed.
	(setWindowPeer): New method.
	* gnu/java/awt/peer/EmbeddedWindowPeer.java,
	gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	New files
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(GtkToolkit): Implements EmbeddedWindowSupport.
	(createEmbeddedWindow): New method.
	* java/awt/Window.java
	(Window): Removed.
	* Makefile.am
	(java_source_files): Added EmbeddedWindowPeer.java.
	(gtk_awt_peer_sources): Added GtkEmbeddedWindowPeer.java.
	(gtk_c_source_files): Added gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c.
	* Makefile.in: Regenerated.

2003-07-26  Ranjit Mathew  <rmathew@hotmail.com>

	* java/lang/Win32Process.java (ConcreteProcess): Surround
	a command line element with quotes if it contains an
	embedded space or tab.
	* java/lang/natWin32Process.cc (startProcess): Do not
	surround command line elements with quotes here.

	* configure.host: Use -fcheck-references and 
	-fuse-divide-subroutine for MinGW until we fix
	win32_exception_handler( ) in win32.cc w.r.t. Win32 
	Structured Exception Handling (SEH).

	* win32.cc (_Jv_platform_initProperties): Use generic names
	like "x86" for the "os.arch" property to be consistent with
	what Sun's JDK produces. Use the wProcessorArchitecture
	member of the Win32 SYSTEM_INFO structure, filled in a call 
	to GetSystemInfo( ), instead of dwProcessorType.

2003-07-26  Mohan Embar  <gnustuff@thisiscool.com>
	    Ranjit Mathew  <rmathew@hotmail.com>

	* Makefile.am: Use cross-compiling gcjh from the path for
	a crossed-native build.
	* Makefile.in: Rebuilt.
	* configure.in: Include libltdl in non-newlib builds.
	Moved determination of gcj used to build libraries to
	its own section. Fixed cross-compilation issues for
	non-newlib builds.
	* configure: Rebuilt.

2003-07-25  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc (write): Try again on EINTR.
	(write): Likewise.
	(read): Likewise.
	(read): Likewise.

2003-07-25  Mark Wielaard  <mark@klomp.org>

	* java/lang/natRuntime.cc (_load): Add library name to
	UnsatisfiedLinkError when thrown.

2003-07-25  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (awt_java_source_files): java/awt/GridBagLayoutInfo.java
	added.
	* Makefile.in: Likewise.

2003-07-25  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/Component.java
	(getPreferredSize): Call preferredSize.
	(preferredSize): Moved body of getPreferredSize here.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Moved body of getMinimumSize here.
	(prepareImage): Fall back on Toolkit.prepareImage if there is no peer
	(checkImage(Image,ImageObserver)): Don't call getWidth/getHeight, but
	pass -1
	* java/awt/Container.java
	(validate): Don't validate if there is no peer.
	(update): Clear background before calling paint.
	* java/awt/GridBagLayout.java
	Completed the implementation and fixed several bugs.
	* java/awt/MediaTracker.java
	(MediaEntry.imageUpdate): Fixed typo. & instead of | was used to
	combine flags.
	* java/awt/Window.java
	(Window): Don't call setVisible(false). Windows are invisible by
	default and calling virtual methods from constructor causes
	compatibility problems (e.g. subclasses may assume that the peer
	already exists).

2003-07-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/GridBagLayout.java:
	Totally reworked and partly implemented.
	* java/awt/GridBagLayoutInfo.java:
	New file.

2003-07-24  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (create):
	Don't pack label in an event box.

2003-07-24  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/7482:
	* verify.cc (ref_intersection): New class.
	(type_val): Removed unresolved_reference_type,
	uninitialized_unresolved_reference_type.
	(is_assignable_from_slow): Rewrote.
	(type::data): Removed.
	(type::klass): New field.
	(type::type): Added verifier argument.
	(type::resolve): Removed.
	(type::set_uninitialized): Updated for change to type_val.
	(type::set_initialized): Likewise.
	(type::isinitialized): Likewise.
	(type::print): Likewise.
	(construct_primitive_array_type): Likewise.
	(type::compatible): Updated for change to type_val and to use
	ref_intersection.
	(type::isarray): Updated to use ref_intersection.
	(type::isinterface): Likewise.
	(type::element_type): Likewise.
	(type::to_array): Likewise.
	(type::verify_dimensions): Rewrote.
	(type::merge): Likewise.
	(check_class_constant): Updated for type constructor change.
	(check_constant): Likewise.
	(check_field_constant): Likewise.
	(get_one_type): Likewise.
	(initialize_stack): Likewise.
	(verify_instructions_0): Likewise.
	(verify_instructions_0) [op_invokeinterface]: Removed special
	case.
	(isect_list): New field.
	(_Jv_BytecodeVerifier): Initialize it.
	(~_Jv_BytecodeVerifier): Destroy ref_intersection objects. 

2003-07-24  H. Väisänen  <hvaisane@joyx.joensuu.fi>

	* java/text/SimpleDateFormat.java (format) [YEAR_FIELD]: Zero pad
	unless field size is 2.

2003-07-23  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(connectHooks): New method.
	(handleEvent): Remove.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
	(createHooks): Remove declaration.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(generates_key_typed_event): Change to handle only certain
	keyvals.
	(awt_event_handler): Add special handling for GtkTextView.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(textcomponent_commit_cb): New function.
	(textcomponent_changed_cb): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(connectHooks): Remove.

2003-07-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (arraycopy): Check for overflow.

	* boehm.cc (_Jv_BuildGCDescr): Use `1ULL'.

2003-07-22  Tom Tromey  <tromey@redhat.com>

	* boehm.cc (_Jv_BuildGCDescr): Wrote.
	Include limits.h.

2003-07-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/Window.java (getWarningString): Just return the
	string.
	(Window): Set warningString; check with security manager.

2003-07-22  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphicsConfiguration.java
	(FontMetricsCache): Made static.
 
2003-07-22  Tom Tromey  <tromey@redhat.com>

	* java/net/URLEncoder.java (encode(String)): Use platform default
	encoding.
	(encode(String,String)): Convert to 2-digit upper-case hex
	number.
	(hex): New field.

2003-07-21  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(create): Remove unused method implementation.
	(connectHooks): Remove debug messages.

2003-07-20  Anthony Green  <green@redhat.com>

	* gnu/awt/j2d/AbstractGraphicsState.java (clone): Handle
	CloneNotSupportedException.
	* gnu/gcj/xlib/WindowAttributes.java (clone): Ditto.
	* gnu/gcj/xlib/WMSizeHints.java (clone): Ditto.
	* gnu/gcj/xlib/GC.java (clone): Ditto.
	* gnu/awt/xlib/XGraphics.java (clone): Ditto.
	* gnu/awt/j2d/Graphics2DImpl.java (clone): Ditto.

	* gnu/awt/xlib/XEventLoop.java (postNextEvent): Remove unreachable
	handler.
	* gnu/gcj/runtime/NameFinder.java (NameFinder): Ditto.

2003-07-20  Steve Pribyl <steve@netfuel.com.>

	* gnu/gcj/runtime/natSharedLibLoader.cc (init): `libname' now a
	String.  Put dlerror() message into exception.
	Include UnsatisfiedLinkError.
	* gnu/gcj/runtime/SharedLibLoader.java (init): `libname' now a
	String.  Now native.

2003-07-20  Tom Tromey  <tromey@redhat.com>

	* java/lang/Runtime.java: Comment fix.
	* java/lang/ClassLoader.java (isAncestorOf): New method.
	(getParent): Uncommented security check.  Use isAncestorOf.
	* include/jvm.h (_Jv_CheckAccess): Declare.
	* java/lang/reflect/natConstructor.cc (newInstance): Perform
	access check.
	Include IllegalAccessException.h, ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natArray.cc (newInstance): Pass caller's
	class loader to _Jv_GetArrayClass.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/Field.java: Update comment to reflect status.
	(equals): Fixed indentation.
	* java/lang/Class.h (Class): Declare memberAccessCheck, not
	checkMemberAccess.  Make _Jv_CheckAccess a friend.
	* java/lang/Class.java (memberAccessCheck): New method from
	Classpath.
	(checkMemberAccess): Removed.
	(getDeclaredMethod): Use memberAccessCheck.
	(getField): Likewise.
	(getMethod): Likewise.
	* resolve.cc (_Jv_ResolvePoolEntry): Use _Jv_CheckAccess.
	(_Jv_SearchMethodInClass): Likewise.
	* prims.cc (_Jv_CheckAccess): New function.
	* jni.cc (_Jv_JNI_FindClass): Use getClassLoaderInternal.
	(_Jv_JNI_GetAnyFieldID): Likewise.
	* java/lang/natClass.cc (forName): Use getClassLoaderInternal.
	(getClassLoader): Added security check.
	(getConstructor): Call memberAccessCheck.
	(getDeclaredClasses): Likewise.
	(getDeclaredField): Likewise.
	(getDeclaredFields): Likewise.
	(_getConstructors): Likewise.
	(getDeclaredConstructor): Likewise.
	(getDeclaredMethods): Likewise.
	(getFields): Likewise.
	(getMethods): Likewise.
	(newInstance): Likewise.
	(_Jv_MakeVTable): Put method name in exception.
	* java/lang/reflect/natMethod.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_GetTypesFromSignature): Likewise.
	(invoke): Perform access check.
	(_Jv_CallAnyMethodA): Removed old FIXME comments.
	Include ArrayIndexOutOfBoundsException.h.
	* java/lang/reflect/natField.cc (getType): Use
	getClassLoaderInternal.
	(_Jv_CheckFieldAccessibility): Removed.
	(getAddr): Use _Jv_CheckAccess; find caller.
	Include ArrayIndexOutOfBoundsException.h.

2003-07-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Fixed documentation to name an argument correcty, Reformatted
	one method declaration.
	(getURLStreamHandler): Added documentation from classpath.

2003-07-19  Tom Tromey  <tromey@redhat.com>

	* mauve-libgcj: Don't run CollationElementIterator tests.

2003-07-19  Jeroen Frijters <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (addURL): Moved implementation to
	private addURLImpl() to avoid calling addURL from the constructor.
	(addURLImpl): Contains the code that was previously in addURL.
	(addURLs): Call addURLImpl(), not addURL().

2003-07-18  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: 
	Handle missing event cases, connect to "value-changed" signal.

2003-07-18  Graydon Hoare  <graydon@redhat.com>

	* java/awt/geom/CubicCurve2D.java,
	java/awt/geom/Line2D.java,
	java/awt/geom/QuadCurve2D.java,
	java/awt/geom/Rectangle2D.java: 
	Fix path some calculations, make path iterators follow
	a consistent style.

2003-07-18  Mark Wielaard  <mark@klomp.org>

	* java/util/logging/Handler.java (isLoggable): Check record level
	smaller or equal.

2003-07-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reworked imports.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/rmi/server/UnicastServerRef.java:
	New version from classpath.

2003-07-14  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/MemoryImageSource.java,
	java/beans/PropertyEditorManager.java,
	javax/naming/CompoundName.java,
	javax/naming/spi/NamingManager.java,
	javax/swing/AbstractButton.java,
	javax/swing/ButtonModel.java,
	javax/swing/SwingUtilities.java,
	javax/swing/UIManager.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	java/util/zip/ZipFile.java:
	New versions from classpath.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/natFileChannelImpl.cc: Removed.
	* java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/RandomAccessFile.java,
	java/nio/MappedByteBufferImpl.java:
	Import java.nio.channels.FileChannelImpl instead of
	gnu.java.nio.FileChannelImpl.
	* java/nio/channels/FileChannelImpl.java,
	java/nio/channels/natFileChannelImpl.cc:
	New files.
	* Makefile.am
	(ordinary_java_source_files):
	Removed gnu/java/nio/FileChannelImpl.java and added
	java/nio/channels/FileChannelImpl.java.
	(nat source_files):
	Removed gnu/java/nio/natFileChannelImpl.cc and added
	java/nio/channels/natFileChannelImpl.cc.
	* Makefile.in: Regenerated.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicLookAndFeel.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java:
	New versions from classpath.

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	* gnu/java/awt/peer/gtk/GtkCanvasPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	* gnu/java/awt/peer/gtk/GtkChoicePeer.java
	* gnu/java/awt/peer/gtk/GtkClipboard.java
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java
	* gnu/java/awt/peer/gtk/GtkImage.java
	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java
	* gnu/java/awt/peer/gtk/GtkListPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	* gnu/java/awt/peer/gtk/GtkMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkOffScreenImage.java
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java
	* gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/locale/LocaleInformation_de.java
	* gnu/java/locale/LocaleInformation_en.java
	* gnu/java/locale/LocaleInformation_nl.java

2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/EmbeddedWindow.java,
	gnu/java/awt/EmbeddedWindowSupport.java,
	gnu/java/awt/natEmbeddedWindow.cc:
	New files.
	* java/awt/Window.java
	(Window): New constructor to support embedded windows.
	* Makefile.am
	(awt_java_source_files): Added gnu/java/awt/EmbeddedWindow.java and
	gnu/java/awt/EmbeddedWindowSupport.java.
	(nat_source_files): Added gnu/java/awt/natEmbeddedWindow.cc.
	* Makefile.in: Regenerated.

2003-07-11  Matt Kraai  <kraii@alumni.cmu.edu>

	* gnu/gcj/runtime/SharedLibLoader.java: Fix misspelling.
	* gnu/gcj/runtime/natSharedLibLoader.cc: Likewise.
	* java/awt/im/InputContext.java: Remove a redundant
	partial line.

2003-07-09  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (AM_MAKEFLAGS): Added CPPFLAGS.

2003-07-09  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectOutputStream.java (writeObject): break after
	calling writeClassDescriptor().

2003-07-09  Mark Mitchell  <mark@codesourcery.com>

	* gcj/array.h (JvPrimClass): Don't parenthesize the output.

2003-07-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java:
	Explicitly import used classes.
	* java/awt/Container.java: New version from classpath.

2003-07-09  Michael Koch  <konqueror@gmx.de>

	* libgcj.pc.in: New file.
	* Makefile.am: Install libgcj.pc in $libdir/pkgconfig.
	* Makefile.in: Regenerated.
	* configure: Regenrated.
	* configure.in: Create libgcj.pc from libgcj.pc.in.

2003-07-08  Mark Wielaard <mark@klomp.org>

	* gcj/cni.h: CNI now expands to Compiled Native Interface.

	* java/lang/e_pow.c: CYGNUS LOCAL should be GCJ LOCAL.
	* java/lang/fdlibm.h: Likewise.

2003-07-07  Adam Megacz <adam@xwt.org>

        * posix.cc: added #include<stdio.h>
		
2003-07-07  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Fix
	formatting.

	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(setCaretPosition, setEditable): Rely entirely on native
	implementation.
	(getArgs): Remove.
	(postTextEvent): New method.
	(handleEvent): New method.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (handleEvent): New
	method.
	* java/awt/event/ActionEvent.java (paramString): Fix formatting.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(keysym_to_awt_keycode): Fix range checks.
	(generates_key_typed_event): New function.
	(awt_event_handler): Post AWT_KEY_RELEASED events to event
	queue.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(gtkInit): Store TextComponent's postTextEvent method ID.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(setText): Post TEXT_VALUE_CHANGED event to event queue.

2003-07-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.in: Check for usleep declaration.
	* acconfig.h (HAVE_USLEEP_DECL): Provide template.
	* configure: Regenerate.
	* include/config.h.in: Likewise.
	* include/posix.h [!HAVE_USLEEP_DECL]: Declare usleep.

2003-07-01  Michael Koch  <konqueror@gmx.de>

	* gnu/gcj/convert/natIconv.cc
	(iconv_init): Fixed possible memory leak by releasing allocated iconv
	handle.

2003-06-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* glib-2.0.m4: New file.
	* gtk-2.0.m4: New file.
	* glib.m4: Remove.
	* gtk.m4: Remove.
	* configure.in: Update AM_PATH_GTK macro call to
	AM_PATH_GTK_2_0.  Likewise for AM_PATH_GLIB.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c,
	jni/gtk-peer/gthread-jni.h:
	New versions from classpath.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

2003-06-30  Gary Benson  <gbenson@redhat.com>

	For PR libgcj/11349:
	* javax/naming/spi/NamingManager.java (getURLContext): Use
	correct name for factory class.

2003-06-28  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java
	(checkError): Call flush() instead of direct flushing of the Writer
	object.
	(print): Call print(String) instead of direct print method of the
	Writer Object.
	(println): Call println(String) instead of direct println method of the
	Writer Object.
	(write): Simplified.

2003-06-28  Michael Koch  <konqueror@gmx.de>

	* java/net/ServerSocket.java
	(setChannel): New method.
	* java/net/Socket.java
	(setChannel): New method.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextSupport.java:
	New version from classpath.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java,
	java/awt/font/GraphicAttribute.java,
	java/awt/font/ImageGraphicAttribute.java,
	java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferUShort.java,
	java/awt/image/DirectColorModel.java,
	java/awt/image/PixelGrabber.java:
	New versions from classpath.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/security/Certificate.java
	(getGuarantor): Removed wrong @deprecated tag.
	(getPrincipal): Likewise.
	(getPublicKey): Likewise.
	(encode): Likewise.
	(decode): Likewise.
	(getFormat): Likewise.
	(toString): Likewise.
	* java/security/cert/PolicyQualifierInfo.java
	(PolicyQualifierInfo): Made final.
	* javax/security/auth/x500/X500Principal.java
	(serialVersionUID): New member variable.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/text/Format.java
	(serialVersionUID): Fixed value.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/net/Inet4Address.java
	(Inet4Address): Made package-private.
	* java/net/Inet6Address.java
	(Inet4Address): Made package-private.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/io/RandomAccessFile.java
	(readLine): Removed wrong @deprecated tag.
	(getChannel): Made final.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(write): Removed.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Made it a package-private class
	* java/nio/CharBufferImpl.java
	(CharBufferImpl): Made it a package-private class
	* java/nio/DirectByteBufferImpl.java
	(DirectByteBufferImpl): Made it a package-private class
	* java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Made it a package-private class
	* java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Made it a package-private class
	* java/nio/IntBufferImpl.java
	(IntBufferImpl): Made it a package-private class
	* java/nio/LongBufferImpl.java
	(LongBufferImpl): Made it a package-private class
	* java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Made it a package-private class
	* java/nio/channels/FileChannel.java
	(write): Made final.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChanne): Made protected.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* javax/naming/CompositeName.java
	(serialVersionUID): New member variable.
	* javax/naming/CompoundName.java
	(serialVersionUID): New member variable.
	* javax/naming/InitialContext.java
	(InitialContext): Throws NamingException.
	(init): Likewise.
	* javax/naming/LinkRef.java
	(serialVersionUID): New member variable.
	(gteLinkName): Throws NamingException.
	* javax/naming/NamingException.java
	(serialVersionUID): New member variable.
	* javax/naming/NamingSecurityException.java
	(NamingSecurityException): Made abstract.
	(serialVersionUID): New member variable.
	* javax/naming/ReferralException.java
	(serialVersionUID): New member variable.
	* javax/naming/StringRefAddr.java
	(serialVersionUID): New member variable.
	* javax/naming/directory/BasicAttribute.java:
	Reworked imports.
	(serialVersionUID): New member variable.
	(get): Throws NamingException.
	(getAll): Throws NamingException.
	* javax/naming/directory/BasicAttributes.java:
	Reworked imports.
	(serialVersionUID): New member variable.
	* javax/naming/ldap/UnsolicitedNotificationEvent.java
	(serialVersionUID): New member variable.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/swing/Popup.java,
	javax/swing/PopupFactory.java
	* Makefile.in: Regenerated.

2003-06-27  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JWindow.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/plaf/PopupMenuUI.java,
	javax/swing/plaf/SplitPaneUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java:
	New versions from classpath.
	* javax/swing/Popup.java,
	javax/swing/PopupFactory.jav:
	New source files from classpath.
	* javax/swing/plaf/doc-files/TreeUI-1.png:
	New binary files from classpath.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added javax/swing/plaf/SpinnerUI.java.
	* Makefile.in: Regenerated.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/ActionMapUIResource.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorChooserUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComboBoxUI.java,
	javax/swing/plaf/ComponentInputMapUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DesktopIconUI.java,
	javax/swing/plaf/DesktopPaneUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InputMapUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/InternalFrameUI.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/MenuBarUI.java,
	javax/swing/plaf/MenuItemUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/RootPaneUI.java,
	javax/swing/plaf/ScrollBarUI.java,
	javax/swing/plaf/ScrollPaneUI.java,
	javax/swing/plaf/SeparatorUI.java,
	javax/swing/plaf/SliderUI.java,
	javax/swing/plaf/TableHeaderUI.java,
	javax/swing/plaf/TableUI.java,
	javax/swing/plaf/ToolBarUI.java,
	javax/swing/plaf/ToolTipUI.java,
	javax/swing/plaf/ViewportUI.java:
	New versions from classpath.
	* javax/swing/plaf/SpinnerUI.java: 
	New file from classpath

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/ColorModel.java:
	New version from classpath.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainDatagramSocketImpl.java:
	Partly merged with classpath, this mainly adds documentation.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectInputStream.java
	(readClassDescriptor): New method.
	(readObject): Moved functionality to readClassDescriptor().
	* java/io/ObjectOutputStream.java
	(writeClassDescriptor): New method.
	(writeObject): Moved functionality to writeClassDescriptor().

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Added missing methods.

2003-06-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/event/AncestorEvent.java
	javax/swing/event/HyperlinkEvent.java
	javax/swing/event/InternalFrameEvent.java
	javax/swing/event/ListDataEvent.java
	javax/swing/event/TableModelEvent.java:
	Compile fixes.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java:
	Renamed "handler" to "ph" in the whole file to match classpaths
	version.
	* java/net/URLStreamHandler.java:
	(equals): Renamed "handler" to "ph".

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DesktopIconUI.java,
	javax/swing/plaf/DesktopPaneUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InputMapUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/InternalFrameUI.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/MenuBarUI.java,
	javax/swing/plaf/MenuItemUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/doc-files/ComponentUI-1.dia,
	javax/swing/plaf/doc-files/ComponentUI-1.png:
	New versions from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java
	(cap): Made package-private.
	(pos): Likewise.
	(limit): Likewise.
	(mark): Likewise.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketImpl.java
	(shutdownInput): Made it non-abstract method throwing an exception
	like in SUNs JRE.
	(shutdownOutput): Likewise.
	* java/net/SocketInputStream.java,
	java/net/SocketOutputStream.java:
	New files from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java,
	java/awt/Window.java,
	java/awt/color/ColorSpace.java,
	java/awt/datatransfer/StringSelection.java,
	java/awt/image/ColorModel.java:
	New versions from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	javax/swing/plaf/basic/BasicSplitPaneUI.java
	* Makefile.in: Regenerated.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/JTextComponent.java:
	New version from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Timer.java,
	javax/swing/plaf/ActionMapUIResource.java,
	javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorChooserUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComboBoxUI.java,
	javax/swing/plaf/ComponentInputMapUIResource.java,
	javax/swing/plaf/basic/BasicBorders.java:
	New versions from classpath.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java.
	javax/swing/plaf/basic/BasicSplitPaneUI.java:
	New file from classpath.
	* javax/swing/plaf/basic/doc-files/BasicBorders-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders-2.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.FieldBorder-1.png,
	javax/swing/plaf/doc-files/ComponentUI-1.dia,
	javax/swing/plaf/doc-files/ComponentUI-1.png:
	New binary files from classpath.

2003-06-24  Michael Koch  <konqueror@gmx.de>

	* java/io/LineNumberReader.java
	(skip): Dont do line number accounting here as this is already done in
	read(), simplified.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(static): Load javaio lib if existing (only in classpath).
	(File): Revised documentation to show the correct argument name.
	(createTempFile): Partly merged with classpath.
	(compareTo): Simplified.
	(lastModified): Throw exception if time < 0.
	(deleteOnExit): Revised documentation.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java:
	Reformatted.
	(PlainSocketImpl): Merged class documentaion with classpath.
	(in): Moved.
	(out): Moved.
	(PlainSocketImpl): New empty constructor.
	(finalize): Moved.
	(setOption): Merged documentation from classpath.
	(getOption): Likewise.
	(create): Likewise.
	(connect): Likewise.
	(bind): Likewise.
	(listen): Likewise.
	(accept): Likewise.
	(available): Likewise.
	(close): Likewise.
	(read): Likewise.
	(write): Likewise.
	(getInputStream): Made synchronozed to get sure that only one stream
	object can be created for this socket, merged documentation from
	classpath.
	(getOutputStream): Likewise.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java:
	Reformatting.
	(static): New implicit method.
	(read): Made package private.
	(write): Likewise.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/util/SimpleTimeZone.java:
	Removed unneeded import, reformatting.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/text/DateFormat.java,
	java/text/SimpleDateFormat.java,
	java/util/Locale.java:
	New versions from classpath.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/SpinnerModel.java:
	New file from classpath.
	* javax/swing/border/LineBorder.java,
	javax/swing/border/SoftBevelBorder.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicBorders.java:
	New versions from classpath.
	* javax/swing/plaf/basic/doc-files/BasicBorders.MenuBarBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.RadioButtonBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-2.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneDividerBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.ToggleButtonBorder-1.png:
	New binary files from classpath.

2003-06-21  Michael Koch  <konqueror@gmx.de>

	* java/util/logging/LogRecord.java,
	java/util/logging/Logger.java,
	java/util/logging/SocketHandler.java,
	java/util/logging/SimpleFormatter.java,
	java/util/logging/Formatter.java,
	java/util/logging/ErrorManager.java,
	java/util/logging/Handler.java,
	java/util/logging/FileHandler.java,
	java/util/logging/LogManager.java,
	java/util/logging/Level.java,
	java/util/logging/ConsoleHandler.java,
	java/util/logging/StreamHandler.java,
	java/util/logging/LoggingPermission.java,
	java/util/logging/Filter.java,
	java/util/logging/MemoryHandler.java,
	java/util/logging/XMLFormatter.java:
	New files from classpath.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* java/io/ObjectStreamField.java
	(unshared): new member variable.
	(ObjectStreamField): New constructor.
	(isUnshared): New method.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URLStreamHandler.java
	(hostsEqual): Rewritten.

2003-06-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	Removed
	* java/nio/MappedByteBufferImpl.java:
	New file.
	* gnu/java/nio/FileChannelImpl.java:
	Use MappedByteBufferImpl instead of MappedByteFileBuffer.
	* Makefile.am
	(ordinary_java_source_files): Removed
	gnu/java/nio/MappedByteFileBuffer.java and added
	java/nio/MappedByteBufferImpl.java.
	(nat_source_files): Removed gnu/java/nio/natMappedByteFileBuffer.cc
	* Makefile.in: Regenerated.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl.java
	(fd): Removed.
	(blocking): New member variable.
	(socket): Likewise.
	(DatagramChannelImpl): Throws IOException, initialize socket.
	(socket):Implemented.
	(implCloseSelectableChannel): Throws IOException, implemented.
	(implConfigureBlocking): Likewise.
	(connect): Likewise.
	(disconnect): Likewise.
	(isConnected): Likewise.
	(write): Likewise.
	(read): Likewise.
	(receive): Throws IOException.
	(send): Likewise.
	* gnu/java/nio/SocketChannelImpl.java
	(read): Implemented.
	(write): Implemented.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java,
	javax/swing/JInternalFrame.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/SwingUtilities.java,
	javax/swing/ToggleButtonModel.java:
	New versions from classpath.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java
	(NULLORDER): Initialize with -1 as JDK documentation says.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java,
	java/net/Inet4Address.java,
	java/net/Inet6Address.java,
	java/net/SocketImpl.java,
	java/net/URLClassLoader.java:
	Reworked import statements.
	* java/net/InetAddress.java
	(getByAddress): Simplified.
	* java/net/ServerSocket.java
	(ServerSocket): Moved special handling during bind operation to
	bind().
	(bind): Handle different cases when trying to bind a socket.
	* java/net/URLConnection.java
	(getHeaderFieldDate): Merged with classpath.
	(getHeaderFieldInt): Likewise.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/InflaterInputStream.java
	(InflaterInputStream): Throw NullPointerException if in is null (as
	JDK does).

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/Font.java
	javax/swing/UIManager.java
	javax/swing/border/AbstractBorder.java
	javax/swing/border/BevelBorder.java
	javax/swing/border/Border.java
	javax/swing/border/CompoundBorder.java
	javax/swing/border/EmptyBorder.java
	javax/swing/border/EtchedBorder.java
	javax/swing/border/LineBorder.java
	javax/swing/border/MatteBorder.java
	javax/swing/border/TitledBorder.java
	javax/swing/plaf/BorderUIResource.java
	javax/swing/plaf/basic/BasicBorders.java
	javax/swing/plaf/basic/BasicButtonUI.java
	javax/swing/plaf/basic/BasicCheckBoxUI.java
	javax/swing/plaf/basic/BasicGraphicsUtils.java
	javax/swing/plaf/basic/BasicLabelUI.java
	javax/swing/plaf/basic/BasicRadioButtonUI.java
	javax/swing/plaf/basic/BasicToggleButtonUI.java:
	New versions from classpath.
	* javax/swing/border/SoftBevelBorder.java:
	New file from classpath.
	* javax/swing/border/doc-files/LineBorder-1.png,
	javax/swing/border/doc-files/BevelBorder-1.png,
	javax/swing/border/doc-files/BevelBorder-2.png,
	javax/swing/border/doc-files/BevelBorder-3.png,
	javax/swing/border/doc-files/EmptyBorder-1.png,
	javax/swing/border/doc-files/EtchedBorder-1.png,
	javax/swing/border/doc-files/EtchedBorder-2.png,
	javax/swing/border/doc-files/MatteBorder-1.png,
	javax/swing/border/doc-files/MatteBorder-2.png,
	javax/swing/border/doc-files/MatteBorder-3.png,
	javax/swing/border/doc-files/MatteBorder-4.png,
	javax/swing/border/doc-files/MatteBorder-5.png,
	javax/swing/border/doc-files/MatteBorder-6.png,
	javax/swing/border/doc-files/SoftBevelBorder-1.png,
	javax/swing/border/doc-files/SoftBevelBorder-2.png,
	javax/swing/border/doc-files/SoftBevelBorder-3.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.MarginBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-1.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-1.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-2.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-3.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-4.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-5.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-6.png,
	javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-7.png:
	New binary files from classpath.
	* Makefile.am
	(awt_java_source_files): Added
	javax/swing/border/SoftBevelBorder.java.
	* Makefile.in: Regenerated.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java
	(writeReplace): Merged from classpath.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(map_address): Made public.
	(FileChannelImpl): Merged with classpath.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Commented out unused arguments.
	(nio_unmmap_file): Likewise.
	(niu_msync): Likewise.

2003-06-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/image/IndexColorModel.java:
	New version from classpath.

2003-06-18  Tom Tromey  <tromey@redhat.com>

	* java/net/Inet6Address.java (isAnyLocalAddress): Don't use "=="
	on arrays.
	(isLoopbackAddress): Likewise.
	* java/net/Inet4Address.java (isAnyLocalAddress): Don't use "=="
	on arrays.

2003-06-18  Matt Kraai  <kraai@alumni.cmu.edu>

	* java/lang/natVMSecurityManager.cc (getClassContext):
	Use maxlen instead of len for loop bound.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java
	(register): Use fd with value 0 for now, will be fixed later.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(ServerSocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Added comment.
	(accept): Use jaba.net stuff to accept socket.
	* gnu/java/nio/SocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(SocketCreate): Removed.
	(SocketConnect): Removed.
	(SocketBind): Removed.
	(SocketListen): Removed.
	(SocketAvailable): Removed.
	(SocketClose): Removed.
	(SocketRead): Removed.
	(SocketWrite): Removed.
	(SocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Fixed implementation, added comment.
	(connect): Use internal socket object to connect.
	(socket): No need for sanity checks.
	(read): Comment out some stuff, this will be reimplemented in the next
	commit.
	(write): Likewise.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Line wrapped.
	* gnu/java/nio/natSocketChannelImpl.cc: Removed.
	* Makefile.am
	(nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc.
	* Makefile.in: Regenerated.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* java/util/Locale.java
	(equals): Merged from classpath.

2003-06-18  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Reformatted to better match classpath's version.
	* java/net/URL.java
	(equals): Simplified.
	* java/net/URLConnection.java
	(setDoInput): Revised documentation.
	(getDefaultUseCaches): Likewise.
	(setRequestProperty): Added @since tag.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(InetSocketAddress): Use wildcard address if addr is null.
	(InetSocketAddress): Dont duplicate implementation.
	(InetSocketAddress): Throw exception when hostname is null.
	* java/net/Socket.java:
	Reworked imports.
	(Socket): Throw exception when raddr is null, handle case when laddr
	is null.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java
	(address): Made package private.
	(DirectByteBufferImpl): New constructor.
	* java/nio/natDirectByteBufferImpl.cc
	(allocateImpl): Moved to java.nio namespace, implemented.
	(freeImpl): Likewise.
	(getImpl): Likewise.
	(putImpl): Likewise.
	* jni.cc
	(_Jv_JNI_NewDirectByteBuffer): Implemented.
	(_Jv_JNI_GetDirectBufferAddress): Implemented.
	(_Jv_JNI_GetDirectBufferCapacity): Implemented.

2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* include/powerpc-signal.h: New File.
	* configure.in: Use it.
	* configure: Regenerated.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/Locale.java
	(getDisplayLanguage): Made it final.
	(getDisplayCountry): Likewise.
	(getDisplayVariant): Likewise.
	(getDisplayName): Likewise.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/PropertyResourceBundle.java:
	Removed unneeded import.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/prefs/AbstractPreferences.java,
	java/util/prefs/PreferencesFactory.java:
	Reworked imports, removed unused imports.
	* java/util/prefs/Preferences.java
	(systemNodeForPackage): Method takes a Class not an Object.
	(userNodeForPackage): Likewise.
	(nodeForPackage): Likewise.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/x509/X509Certificate.java:
	Explicitely import used classes.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/ZipEntry.java,
	java/util/zip/ZipFile.java,
	java/util/zip/ZipInputStream.java,
	java/util/zip/ZipOutputStream.java:
	Reworked imports, only import used classes.

2003-06-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/lang/ArrayHelper.java,
	gnu/java/lang/ClassHelper.java:
	Reformatted to match classpath's versions.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
        (map_address): Removed incorrect comment.        
	* gnu/java/nio/SelectorImpl.java
        (register): Remove code duplication and code for file channel handling.        
	* gnu/java/nio/ServerSocketChannelImpl.java
        (serverSocket): Renamed from sock_object.
        (ServerSocketChannel): Initialize serverSocket.
        (socket): Return serverSocket.
	* gnu/java/nio/SocketChannelImpl.java
        (socket): Renamed from sock_object.
        (isConnectionPenging): Simplified.
        (socket): Return socket.
2003-06-14  Michael Koch  <konqueror@gmx.de>

	* java/security/BasicPermission.java:
	New version from classpath.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* javax/naming/directory/Attribute.java:
	New version from classpath.

2003-06-14  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedReader.java,
	java/io/FileOutputStream.java:
	New versions from classpath.

2003-06-12  Andrew Haley  <aph@redhat.com>

	* prims.cc (catch_segv): Create exception in handler.
	(catch_fpe): Likewise.	
	(_Jv_divI, _Jv_remI, _Jv_divJ, _Jv_remJ): Likewise.
	(_Jv_ThrowSignal): Remove.

	* include/x86_64-signal.h (INIT_SEGV): Delete reference to nullp.
	* include/default-signal.h (INIT_SEGV, INIT_FPE): Delete reference
	to nullp and arithexception.
	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/i386-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/s390-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/sparc-signal.h (INIT_SEGV, INIT_FPE): Likewise.
	* include/win32-signal.h (INIT_SEGV, INIT_FPE): Likewise.

2003-06-11  Andrew Haley  <aph@redhat.com>

	* jni.cc (_Jv_JNI_check_types): New.
	(_Jv_JNI_SetPrimgitiveArrayRegion): Check array type.
	(_Jv_JNI_GetPrimitiveArrayRegion): Ditto.
	(_Jv_JNI_GetPrimitiveArrayElements): Ditto.
	(_Jv_JNI_ReleasePrimitiveArrayElements): Ditto.
	
	* java/lang/natVMSecurityManager.cc (getClassContext): Fix
	infinite loop.

2003-06-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (loadClass): Not deprecated.
	* java/io/PrintStream.java: Not deprecated.

2003-06-11  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/j2d/IntegerGraphicsState.java (drawOval): implemented.
	(fillOval): implemented
	* gnu/awt/xlib/XGraphics.java (drawArc): implemented.
	(fillArc): implemented.
	* gnu/gcj/xlib/GC.java (drawArc): added native method.
	(fillArc): added native method.
	* gnu/gcj/xlib/natGC.cc (drawArc): added native method.
	(fillArc): added native method.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/im/InputSubset.java:
	New version from classpath.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/BorderFactory.java,
	javax/swing/Box.java,
	javax/swing/BoxLayout.java,
	javax/swing/ButtonGroup.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultListModel.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/FocusManager.java,
	javax/swing/ImageIcon.java,
	javax/swing/InputMap.java,
	javax/swing/JApplet.java,
	javax/swing/JButton.java,
	javax/swing/JCheckBox.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JColorChooser.java,
	javax/swing/JComboBox.java,
	javax/swing/JComponent.java,
	javax/swing/JDesktopPane.java,
	javax/swing/JDialog.java,
	javax/swing/JEditorPane.java,
	javax/swing/JFileChooser.java,
	javax/swing/JFormattedTextField.java,
	javax/swing/JFrame.java,
	javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java,
	javax/swing/JList.java,
	javax/swing/JMenuBar.java,
	javax/swing/JMenuItem.java,
	javax/swing/JOptionPane.java,
	javax/swing/JPanel.java,
	javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java,
	javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JRootPane.java,
	javax/swing/JScrollBar.java,
	javax/swing/JScrollPane.java,
	javax/swing/JSeparator.java,
	javax/swing/JSlider.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JTable.java,
	javax/swing/JTextField.java,
	javax/swing/JToggleButton.java,
	javax/swing/JToolBar.java,
	javax/swing/JToolTip.java,
	javax/swing/JTree.java,
	javax/swing/JViewport.java,
	javax/swing/JWindow.java,
	javax/swing/KeyStroke.java,
	javax/swing/ListSelectionModel.java,
	javax/swing/LookAndFeel.java,
	javax/swing/RepaintManager.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SizeRequirements.java,
	javax/swing/SwingConstants.java,
	javax/swing/Timer.java,
	javax/swing/UIDefaults.java,
	javax/swing/UIManager.java,
	javax/swing/border/AbstractBorder.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/colorchooser/AbstractColorChooserPanel.java,
	javax/swing/colorchooser/ColorChooserComponentFactory.java,
	javax/swing/colorchooser/ColorSelectionModel.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameAdapter.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/MouseInputAdapter.java,
	javax/swing/event/SwingPropertyChangeSupport.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/filechooser/FileFilter.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/filechooser/FileView.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/tree/AbstractLayoutCache.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/DefaultTreeCellEditor.java,
	javax/swing/tree/DefaultTreeCellRenderer.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/FixedHeightLayoutCache.java,
	javax/swing/tree/TreeCellEditor.java,
	javax/swing/tree/TreeModel.java,
	javax/swing/tree/TreeNode.java,
	javax/swing/tree/TreePath.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/tree/VariableHeightLayoutCache.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/CompoundEdit.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/undo/UndoableEditSupport.java:
	New versions from classpath.
	* javax/swing/table/JTableHeader.java:
	New file from classpath.
	* Makefile.am
	(java_awt_sources): Added javax/swing/table/JTableHeader.java.
	* Makefile.in: Regenerated.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/MappedByteBuffer.java,
	java/nio/channels/Channels.java,
	java/nio/channels/ServerSocketChannel.java,
	java/nio/channels/spi/AbstractSelector.java:
	Removed unneeded imports.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java:
	Partly merged with classpath.

2003-06-11  Michael Koch  <konqueror@gmx.de>

	* java/awt/Frame.java,
	java/awt/Graphics.java,
	java/awt/Menu.java,
	java/awt/Robot.java,
	java/awt/image/ColorModel.java:
	New versions from classpath.

2003-06-10  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java:
	Merged version from classpath.
	(close): Removed sychronized keyword. This class is not garantied to
	be thread-safe.
	(write): Likewise.

2003-06-09  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/xlib/natFont.cc (getAscent): Correctly access "ascent"
	field.
	(getDescent): Likewise, for "descent".

2003-06-09  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natFont.cc (getMaxAscent): adjusted return value.
	(getMaxDescent): adjusted return value.
	(getAscent): modified to use metrics for 'O'.
	(getDescent): modified to use metrics for 'y'.

2003-06-08  Anthony Green  <green@redhat.com>

	* java/net/URLStreamHandler.java (sameFile): Fix port value
	comparison.
	* java/net/URL.java (handler): Make package private.
	* gnu/gcj/protocol/http/Handler.java (getDefaultPort): New method.

2003-06-07  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/11085:
	* java/text/SimpleDateFormat.java (parse(String,ParsePosition)):
	Limit number of characters in numeric field when required.
	* java/text/DecimalFormat.java (parse(String,ParsePosition)):
	Respect maximumIntegerDigits.

2003-06-08  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(Socket): Dont initialize inputShutdown and outputShutdown twice,
	call bind() and connect() to actually do the bind and connect tasks.
	(bind): Connect to canonical address if bindpoint is null, create
	socket and bind it to bindpoint.
	(connect): Check for exceptions.

2003-06-08  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): No need to set SO_REUSEADDRESS here. This belongs
	into the Multicast constructors.
	* java/net/DatagramSocketImpl.java
	(getOption): Removed.
	(setOption): Removed.
	* java/net/MulticastSocket.java
	(MulticastSocket): Call setReuseAddress (true).
	* java/net/SocketImpl.java
	(getOption): Removed.
	(setOption): Removed.

2003-06-07	Jeff Sturm	<jsturm@one-point.com>

	PR libgcj/10886:
	* gnu/java/rmi/server/UnicastRemoteCall.java (returnValue):
	Test for empty vector.

2003-06-06  Mark Wielaard  <mark@klomp.org>

	* java/security/Security.java (secprops): Initialize.
	(loadProviders): Return boolean.
	(static): Check result of loadProvider calls. If necessary
	display WARNING and fallback to Gnu provider.

2002-06-06  James Clark  <jjc@jclark.com>

	Fix for PR libgcj/8738:
	* gnu/gcj/convert/UnicodeToBytes.java (havePendingBytes): New method.
	* gnu/gcj/convert/Output_SJIS.java (havePendingBytes): Likewise.
	* gnu/gcj/convert/Output_EUCJIS.java (havePendingBytes): Likewise.
	* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Likewise.
	(write): Always decrease avail when count is increased.
	* java/lang/natString.cc (getBytes): Check converter havePendingBytes()
	and whether output buffer is full before increasing size.

2002-06-06  Mark Wielaard  <mark@klomp dot org>

	* java/io/PrintStream.java (writeChars(char[],int, int)):
	Check converter.havePendingBytes().
	(writeChars(String,int,int)): Likewise.
	* java/io/OutputStreamWriter.java (writeChars(char[], int, int)):
	Check converter.havePendingBytes() and flush buffer when stalled.

2003-06-07  Michael Koch  <konqueror@gmx.de>

	* include/posix.h
	(O_DSYNC): Define O_DSYNC on platforms not
	supporting O_FSYNC (newlib).

2003-06-06  Mark Wielaard  <mark@klomp.org>

	* java/awt/Toolkit.java (getDefaultToolkit): Add exception cause to
	AWTError.

2003-06-06  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicOptionPaneUI.java:
	More compile fixes from my stupid work yesterday.

2003-06-05  Matt Kraai  <kraai@alumni.cmu.edu>

	* java/lang/w_exp.c (o_threshold, u_threshold): Define only
	if _IEEE_LIBM is undefined.

2002-06-05  Loren J. Rittle  <ljrittle@acm.org>

	* libjava/include/posix.h (O_SYNC): Define if not available
	and a reasonable, perhaps more conservative, replacement exists.
	(O_DSYNC): Likewise.
	* java/io/natFileDescriptorPosix.cc (open): Revert last patch.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java:
	More compile fixes for latest Border commit. I should not commit
	something in this heat here ...

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/BevelBorder.java
	(BevelBorder): Removed.
	* javax/swing/border/EmptyBorder.java:
	Reformatted.
	(EmptyBorder): Removed.
	(getBorderInsets): Dont use l, r, t and b.
	* javax/swing/border/EtchedBorder.java
	(EtchedBorder): Removed.
	* javax/swing/border/LineBorder.java
	(LineBorder): Removed.
	* javax/swing/border/MatteBorder.java
	(MatteBorder): Removed.
	* javax/swing/border/TitledBorder.java
	(defaultBorder): Use other default for now.
	(defaultFont): Likewise.
	(defaultColor): Likewise.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/Border.java:
	New version from classpath.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* javax/swing/border/AbstractBorder.java,
	javax/swing/border/BevelBorder.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/border/EmptyBorder.java,
	javax/swing/border/EtchedBorder.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/TitledBorder.java:
	New versions from Classpath.

2003-06-05  Michael Koch  <konqueror@gmx.de>

	* java/awt/Button.java,
	java/awt/Checkbox.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Choice.java,
	java/awt/Container.java,
	java/awt/Dialog.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/Frame.java,
	java/awt/Label.java,
	java/awt/List.java,
	java/awt/Menu.java,
	java/awt/MenuItem.java,
	java/awt/Panel.java,
	java/awt/PopupMenu.java,
	java/awt/Rectangle.java,
	java/awt/ScrollPane.java,
	java/awt/Scrollbar.java,
	java/awt/TextArea.java,
	java/awt/TextField.java,
	java/awt/Window.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/dnd/DragSource.java,
	java/awt/dnd/DragSourceContext.java,
	java/awt/event/HierarchyEvent.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/im/InputContext.java,
	java/awt/image/BufferedImage.java,
	java/awt/image/ComponentColorModel.java,
	java/awt/image/Raster.java,
	java/awt/image/WritableRaster.java,
	java/awt/peer/ComponentPeer.java,
	java/awt/print/PageFormat.java,
	java/awt/print/PrinterJob.java:
	New versions from Classpath.

2003-06-05  Scott Gilbertson  <scottg@mantatest.com>

	* java/text/SimpleDateFormat.java (SimpleDateFormat): Added
	numberFormat.setParseIntegerOnly(true).

2003-06-05  Bert Deknuydt  <Bert.Deknuydt@esat.kuleuven.ac.be>

	* include/posix-threads.h: Include <machine/pal.h> on OSF.

2003-06-03  Andrew Haley  <aph@redhat.com>

        * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on
        stack volatile to prevent optimization from removing it.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/Deflater.java
	(FILTERED): Merged documentation from classpath.
	* java/util/zip/DeflaterOutputStream.java
	(DeflaterOutputStream): Merged documentation and argument validity
	check from classpath.
	(deflate): Merged documentation from classpath.
	(finish): Likewise.
	* java/util/zip/Inflater.java
	(Inflater): Merged class documentation from classpath.
	(zstream): Reordered.
	(is_finished): Reordered.
	(dict_needed): Reordered.
	(Inflater): Reordered, merged documentation from classpath.
	(end): Likewise.
	(finalize): Merged documentation from classpath.
	(finished): Likewise.
	(getAdler): Likewise.
	(getRemaining): Likewise.
	(getTotalIn): Likewise.
	(getTotalOut): Likewise.
	(inflate): Likewise.
	(needsDictionary): Likewise.
	(needsInput): Likewise.
	(reset): Likewise.
	(setDictionary): Likewise.
	(setInput): Likewise.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(getHeaderFieldInt): Merged with classpath.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/io/PrintStream.java
	(PrintStream): Reformatted.
	(PrintStream): New method, merged from classpath.
	(write): Reformatted.

2003-05-27  Michael Koch  <konqueror@gmx.de>

	* java/lang/System.java:
	Explicitely import needed classes.

2003-05-26  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java,
	java/net/NetworkInterface.java,
	java/net/PasswordAuthentication.java,
	java/net/SocketPermission.java:
	New versions from classpath.

2003-05-25  Michael Koch  <konqueror@gmx.de>

	* java/io/PushbackInputStream.java,
	java/net/Authenticator.java,
	java/net/ContentHandler.java,
	java/net/ContentHandlerFactory.java,
	java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java,
	java/net/DatagramSocketImplFactory.java,
	java/net/FileNameMap.java,
	java/net/SocketImplFactory.java,
	java/net/SocketOptions.java,
	java/net/URLStreamHandlerFactory.java:
	Merged new versions from classpath.

2003-05-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/Checkbox.java,
	java/awt/Dialog.java,
	java/awt/Font.java,
	java/awt/Frame.java,
	java/awt/ScrollPaneAdjustable.java,
	java/awt/Scrollbar.java,
	java/awt/Window.java:
	New versions from classpath.

2003-05-22	Jeff Sturm	<jsturm@one-point.com>

	PR libgcj/10838:
	* java/io/ObjectInputStream (enableResolveObject):
	Fixed spelling of permission name.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java
	(convertFromUTF): Merged comment from classpath.
	* java/io/PrintStream.java
	(error_occured): Renamed from error, merged comment from classpath.
	(PrintStream): No need to initialized error.
	(checkError): Replace error with error_occurred.
	(setError): Likewise.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java:
	Reformatted, Replaced < and & with html entitites in documentation.
	* java/io/File.java:
	Reformatted.
	* java/io/PrintWriter.java:
	Moved class documentation.

2003-05-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc,
	gnu/java/nio/ShortBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java:
	Moved files to java/nio.
	* gnu/java/nio/SocketChannelImpl.java
	
	* java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java:
	Dont import anything.
	* java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/CharViewBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/DoubleViewBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/FloatViewBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/IntViewBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/LongViewBufferImpl.java,
	java/nio/natDirectByteBufferImpl.cc,
	java/nio/ShortBufferImpl.java,
	java/nio/ShortViewBufferImpl.java:
	Moved from gnu/java/nio.
	* Makefile.am
	(ordinary_java_source_files): Moved files from gnu/java/nio to
	java/nio.
	(nat_source_files): Moved natDirectByteBufferImpl.cc from gnu/java/nio
	to java/nio.
	* Makefile.in: Regenerated.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/util/Calendar.java
	(get): Not final anymore since JDK 1.4
	(set): Likewise.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationKey.java:
	Merged copyright and dat from classpath.
	* java/text/RuleBasedCollator.java:
	Merged class documentation from classpath.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(toString): Compile fix.

2003-05-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/DirectByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/FileLockImpl.java
	(isValid): Reformatted.
	* java/nio/Buffer.java
	(Buffer): Fixed off-by-one bug in handling mark.
	* java/nio/ByteBuffer.java:
	Added newline.
	* java/nio/CharBuffer.java
	(toString): Don't use relative get to get string data.

2003-05-16  Michael Koch  <konqueror@gmx.de>

	* java/io/natFileDescriptorPosix.cc
	(open): Commented out the O_SYNC and O_DSYNC usage until its better
	tested.

2003-05-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileLockImpl.java
	(released): New member variable.
	(FileLockImpl): Initialize released.
	(releaseImpl): New native method.
	(release): Implemented.
	* gnu/java/nio/SelectorImpl.java: Reformatted.
	* gnu/java/nio/SelectionKeyImpl.java: Reformatted.
	* gnu/java/nio/ServerSocketChannelImpl.java: Reformatted.
	(accept): Throws IOException.
	* gnu/java/nio/SocketChannelImpl.java: Reformatted.
	(implConfigureBlocking): Throws IOException.
	(connect): Likewise.
	(read): Likewise.
	(write): Likewise.
	* gnu/java/nio/natFileLockImpl.cc: New file.
	* java/nio/channels/FileLock.java: Reformatted.
	* Makefile.am:
	(ordinary_java_source_files): Added gnu/java/nio/FileLockImpl.java.
	(nat_source_files): Added gnu/java/nio/natFileLockImpl.cc.
	* Makefile.in: Regenerated.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/CharViewBufferImpl.java
	(CharViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/DoubleViewBufferImpl.java
	(DoubleViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/FloatViewBufferImpl.java
	(FloatViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/IntViewBufferImpl.java
	(IntViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/LongViewBufferImpl.java
	(LongViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/ShortViewBufferImpl.java
	(ShortViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natDirectByteBufferImpl.cc
	(allocateImpl): jlong -> RawData*.
	(freeImpl): Likewise.

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannel.java
	(MapMode.m): Made it package-private to match JDK 1.4.
	* java/nio/charset/Charset.java
	(decode): Made it final to match JDK 1.4.

2003-05-13  Michael Koch  <konqueror@gmx.de>

       * java/io/FileDescriptor.java
       (SYNC): New constant.
       (DSYNC): Likewise.
       (getLength): Renamed from lenght() to match classpath's
       FileDescriptor.java.
       * java/io/RandomAccessFile.java
       (RandomAccessFile): Removed unneeded mode check, implemented mode
       "rws" and "rwd", merged documentation from classpath.
       (setLength): Reformatted.
       (length): Use new getLength() of FileDescriptor.
       * java/io/natFileDescriptorEcos.cc
       (getLength): Renamed from length().
       * java/io/natFileDescriptorPosix.cc
       (open): Implemented support for SYNC and DSYNC.
       (seek): Use getLength() instead of length().
       (getLength): Renamed from length().
       * java/io/natFileDescriptorWin32.cc
       (getLength): Renamed from length().
       (seek): Use getLength() instead of length().
       (available): Likewise.
       * gnu/java/nio/natFileChannelImpl.cc
       (size): Use getLength() instead of length().

2003-05-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): All constructors revised.
	(slice): Reimplemented.
	(duplicate): Reimplemented.
	(asReadOnlyBuffer): Reimplemented.
	* java/nio/ByteBuffer.java:
	Reformatted.
	(array_offset): Renamed from "offset" to match all other buffer
	classes.
	(ByteBuffer): All constructors revised.
	(allocateDirect): Implemented.
	(allocate): New implementation, documentation reworked.
	(wrap): Likewise.
	(get): Documentation reworked.
	(put): New implementation, documentation reworked.
	(hasArray): Documentation reworked.
	(arrayOffset): Likewise.
	(hashCode): Likewise.
	(equals): Likewise.
	(compareTo): Likewise.
	(order): Likewise.
	(compact): Likewise.
	(isDirect): Likewise.
	(slice): Likewise.
	(duplicate): Likewise.
	(asReadOnlyBuffer): Likewise.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/DirectByteBufferImpl.java.
	(nat_source_files):
	Added gnu/java/nio/natDirectByteBufferImpl.cc.
	* Makefile.in: Regenerated.

2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java: Reformatted.
	(nio_get_*): Removed.
	(nio_put_*): Removed.
	(as*Buffer): Implemented.
	(compact): Implemented.
	(get): Documentation added.
	(put): Documentation added.
	(get*): Newly implemented.
	(put*): Newly implemented.
	* gnu/java/nio/CharBufferImpl.java: Reformatted.
	(CharBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/DirectByteBufferImpl.java
	(allocateDirect): objects can be null not 0.
	* gnu/java/nio/DoubleBufferImpl.java: Reformatted.
	(DoubleBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/FloatBufferImpl.java: Reformatted.
	(FloatBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/IntBufferImpl.java: Reformatted.
	(IntBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/LongBufferImpl.java: Reformatted.
	(LongBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/ShortBufferImpl.java: Reformatted.
	(ShortBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* java/nio/CharBuffer.java: Reformatted, much documentation rewritten.
	(CharBuffer): Revised.
	(order): Removed.
	* java/nio/DoubleBuffer.java: Reformatted, much documentation rewritten.
	(DoubleBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/FloatBuffer.java: Reformatted, much documentation rewritten.
	(FloatBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/IntBuffer.java: Reformatted, much documentation rewritten.
	(IntBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/LongBuffer.java: Reformatted, much documentation rewritten.
	(LongBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/ShortBuffer.java: Reformatted, much documentation rewritten.
	(ShortBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* gnu/java/nio/natByteBufferImpl.cc: Removed.
	* gnu/java/nio/natCharBufferImpl.cc: Removed.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java
	(nat_source_files): Removed the following files:
	gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc
	* Makefile.in: Regenerated.

2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc:
	New files, not yet to be compiled.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/ButtonUI.java,
	javax/swing/plaf/ColorUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/DimensionUIResource.java,
	javax/swing/plaf/FontUIResource.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/InsetsUIResource.java,
	javax/swing/plaf/LabelUI.java,
	javax/swing/plaf/ListUI.java,
	javax/swing/plaf/OptionPaneUI.java,
	javax/swing/plaf/PanelUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/ViewportUI.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxUI.java,
	javax/swing/plaf/basic/BasicDefaults.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicIconFactory.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java,
	javax/swing/plaf/basic/BasicPanelUI.java,
	javax/swing/plaf/basic/BasicRadioButtonUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicToggleButtonUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java,
	javax/swing/plaf/basic/BasicViewportUI.java,
	javax/swing/plaf/metal/MetalLookAndFeel.java:
	New versions from classpath. This adds copyrights to all files and
	some serialVersionUIDs.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/DoubleBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	(put): Reformatted.
	* java/nio/FloatBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/IntBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/LongBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.
	* java/nio/ShortBuffer.java
	(offset): Make it package-private.
	(backing_buffer): Likewise.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/CharBuffer.java
	(put): Fixed precondtion check.
	(toString): Make it work without backing array.
	(put): Skip one level of method calling.

2003-05-10  Michael Koch  <konqueror@gmx.de>

	* java/security/Identity.java,
	java/security/IdentityScope.java,
	java/security/Key.java,
	java/security/KeyPair.java,
	java/security/PrivateKey.java,
	java/security/Provider.java,
	java/security/PublicKey.java,
	java/security/SecureRandom.java,
	java/security/SecureRandomSpi.java,
	java/security/SignedObject.java,
	java/security/Signer.java,
	java/security/cert/Certificate.java,
	java/security/cert/PKIXCertPathBuilderResult.java,
	java/security/cert/X509Certificate.java:
	New versions from classpath.

2003-05-09  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Removed old files.
	* gnu/java/nio/natDoubleBufferImpl.cc: Removed.
	* gnu/java/nio/natFloatBufferImpl.cc: Removed.
	* gnu/java/nio/natIntBufferImpl.cc: Removed.
	* gnu/java/nio/natLongBufferImpl.cc: Removed.
	* gnu/java/nio/natShortBufferImpl.cc: Removed.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(nio_cast): Removed.
	(ByteBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	(asCharBuffer): Removed implementation and throw exception.
	(asShortBuffer): Likewise.
	(asIntBuffer): Likewise.
	(asLongBuffer): Likewise.
	(asFloatBuffer): Likewise.
	(asDoubleBuffer): Likewise.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/natByteBufferImpl.cc
	(nio_cast): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	* gnu/java/nio/natCharBufferImpl.cc
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(getJarEntry): Merged documentation from classpath.
	(getJarFile): Likewise.
	(getMainAttributes): Likewise.
	(getAttributes): Likewise.
	(getManifest): Likewise.
	(getCertificates): Reformatted.
	* java/net/URLConnection.java:
	Little classpath merge.

2003-05-09  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(writeShort): Made it synchronized.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Liekwise.
	(writeUTF): Made it synchronized, renamed argument to match classpath.
	* java/io/InputStreamReader.java
	(converter): Added documentation.
	(read): Merged documentation from classpath.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Merged documentation from classpath.
	(close): Reformatted.
	(getEncoding): Likewise.
	(flush): Likewise.
	(write): Merged documentation from classpath, reformatted.

2003-05-08  Tom Tromey  <tromey@redhat.com>

	* configure.host <powerpc64*-*>: Set with_libffi_default and
	libgcj_interpreter to "yes".

2003-05-08  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natGC.cc (drawString): Removed obsolete code.
	
2003-05-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc: Reverted previous patch.

2003-05-06  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(write): Renamed argument to "value", merged documentation from
	classpath.
	(writeBoolean): Likewise.
	(writeByte): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(writeChars): Likewise.
	(writeUTF): Likewise.
	* java/io/File.java
	(performDelete): Added documentation.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(delete): Made it sychronized.
	(renameTo): Made it sychronized.
	(equals): Reformatted.
	(isHidden): Likewise.
	(listFiles): Likewise.
	(setReadOnly): Likewise.
	(listRoots): Likewise.
	(setLastModified): Likewise.
	(checkRead): Likewise.
	(checkWrite): Likewise.
	* java/io/FileInputStream.java
	(skip): Made it sychronized, merged from classpath.
	* java/io/FileOutputStream.java
	(write): Merged from classpath.
	* java/io/InputStreamReader.java:
	(InputStreamReader): Merged documentation from classpath.

2003-05-05  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java
	(networkInterfaces): Removed.
	(getByName): Use getRealNetworkInterfaces() instead of
	networkInterfaces.
	(getByInetAddress): Likewise.
	(getNetworkInterfaces): Likewise.
	(toString): Fix output of addresses of an interface.

2003-05-05  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java:
	Merged new documentation from classpath.

2003-05-03  Matt Kraai  <kraai@alumni.cmu.edu>

	* gnu/awt/gtk/GtkButtonPeer.java: Fix misspelling of
	"version".
	* gnu/awt/gtk/GtkComponentPeer.java: Likewise.
	* gnu/awt/gtk/GtkContainerPeer.java: Likewise.
	* gnu/awt/gtk/GtkFramePeer.java: Likewise.
	* gnu/awt/gtk/GtkLabelPeer.java: Likewise.
	* gnu/awt/gtk/GtkMainThread.java: Likewise.
	* gnu/awt/gtk/GtkToolkit.java: Likewise.
	* gnu/awt/gtk/GtkWindowPeer.java: Likewise.
	* java/security/Key.java: Likewise.
	* java/security/PrivateKey.java: Likewise.
	* java/security/Provider.java: Likewise.
	* java/security/PublicKey.java: Likewise.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/URI.java
	(create): Doesnt throws any exceptions.
	* java/net/URLConnection.java
	(URLConnection): Commend added.
	(getExpiration): The header field is called "expires" not
	"expiration".
	(getHeaderField): Merged documentation with classpath.
	(getHeaderFieldInt): Likewise.
	(getHeaderFieldDate): Likewise.
	(getHeaderFieldKey): Likewise.
	(getPermission): Likewise.
	(setDefaultUseCaches): Likewise.
	(setRequestProperty): Likewise.
	(addRequestProperty): Likewise.
	(getRequestProperty): Likewise.
	(getRequestProperties): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.
	(guessContentTypeFromStream): Likewise.
	(getFileNameMap): Likewise.
	(setFileNameMap): Likewise.
	(setDoInput): Merged implementation and documentation with classpath.
	(setDoOutput): Likewise.
	(setAllowUserInteraction): Likewise.
	(setDefaultAllowUserInteraction): Likewise.
	(setContentHandlerFactory): Made it synchronized, merged documentation
	with classpath.
	(guessContentTypeFromName): Renamed argument fname to filename to
	match classpath, merged documentation with classpath.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java
	(JarURLConnection): Class documentation merged with classpath.
	(getJarFileURL): Moved and documentation merged with classpath.
	(getEntryName): Likewise.
	(JarURLConnection): Documentation merged with classpath.
	(getJarEntry): Likewise.
	(getJarFile): Likewise.
	* java/net/PlainDatagramSocketImpl.java:
	Class documentation moved.
	* java/net/URLConnection.java
	(fileNameMap): Moved and documentation merged with classpath.
	(factory): Likewise.
	(defaultAllowUserInteraction): Likewis.
	(defaultUseCaches): Likewise.
	(allowUserInteraction): Likewise.
	(connected): Likewise.
	(url): Likewise.
	(connect): Documentation merged with classpath.
	(getURL): Likewise.
	(getContentLength): Likewise.
	(getContentType): Likewise.
	(getContentEncoding): Likewise.
	(getExpiration): Likewise.
	(getDate): Likewise.
	(getLastModified): Likewise.
	(getHeaderField): Likewise.
	(getContent): Likewise.
	(getPermission): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(toString): Likewise.
	(getDoInput): Likewise.
	(getDoOutput): Likewise.
	(setAllowUserInteraction): Likewise.
	(getAllowUserInteraction): Likewise.
	(setDefaultAllowUserInteraction): Likewise.
	(getDefaultAllowUserInteraction): Likewise.
	(setUseCaches): Likewise.
	(getUseCaches): Likewise.
	(setIfModifiedSince): Likewise.
	(getIfModifiedSince): Likewise.
	(setDefaultRequestProperty): Likewise.
	(getDefaultRequestProperty): Likewise.
	(setContentHandlerFactory): Likewise.
	(setFileNameMap): Likewise.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	Merged class documentation with classpath.
	* java/net/JarURLConnection.java:
	Explicitely import all used classes.
	* java/net/URL.java:
	Reformatting.
	* java/net/ServerSocket.java,
	java/net/Socket.java:
	New versions from classpath.

2003-05-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(read): New implementation.
	(implRead): New methods.
	(write): New implementation, call other write insteal of read method.
	(implWrite): New methods.
	(map): Added comment.
	(transferFrom): Implemented.
	(transferTo): Implemented.
	(lock): Added checks to throw exceptions.
	(truncate): Added check to throw exception.
	* gnu/java/nio/natFileChannelImpl.cc
	(implRead): New method.
	(implWrite): New method.
	* java/nio/ByteBuffer.java
	(hashCode): Fixed comment.
	(get): Fixed exception documentation.
	(put): Fixed exception documentation.
	* java/nio/CharBuffer.java:
	Added comment for later optimizations.

2003-04-30  Tom Tromey  <tromey@redhat.com>

	PR libgcj/10582:
	* verify.cc (_Jv_BytecodeVerifier::is_assignable_from_slow):
	Removed.
	(type::compatible): Use _Jv_IsAssignableFrom.
	* java/lang/natClass.cc (iindex_mutex_initialized): Now static.
	(_Jv_IsAssignableFrom): Work even when source or target class is
	not prepared.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/text/BreakIterator.java
	(clone): New method.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/RuleBasedCollator.java:
	Merged copyright and documentation from classpath and
	rearranged some code. No code changes done.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* java/util/regex/Matcher.java
	(pattern): New member variable.
	(appendReplacement): New method.
	(appendTail): New method.
	(end): New method.
	(find): New method.
	(group): New method.
	(replaceFirst): Added documentation.
	(replaceAll): Added documentation.
	(groupCount): New method.
	(lookingAt): New method.
	(matches): New method.
	(reset): New method.
	(start): New method.
	* java/util/regex/Pattern.java
	(serialVersionUID): New constant.
	(CANON_EQ): New constant.
	(CASE_INSENSITIVE): New constant.
	(COMMENTS): New constant.
	(DOTALL): New constant.
	(MULTILINE): New constant.
	(UNICODE_CASE): New constant.
	(UNIX_LINES): New constant.
	(regex): New member variable.
	(flags): New member variable.
	(Pattern): New method.
	(compile): Documentation added.
	(flags): New method.
	(matches): Documentation added.
	(matcher): Documentation added.
	(split): Documentation added.
	(pattern): New method.

2003-04-30  Michael Koch  <konqueror@gmx.de>

	* gnu/java/security/Engine.java,
	gnu/java/security/OID.java,
	gnu/java/security/der/BitString.java,
	gnu/java/security/der/DER.java,
	gnu/java/security/der/DERReader.java,
	gnu/java/security/der/DERValue.java,
	gnu/java/security/der/DERWriter.java,
	gnu/java/security/provider/DSAKeyFactory.java,
	gnu/java/security/provider/X509CertificateFactory.java,
	gnu/java/security/x509/X500DistinguishedName.java,
	gnu/java/security/x509/X509CRL.java,
	gnu/java/security/x509/X509CRLEntry.java,
	gnu/java/security/x509/X509Certificate.java,
	java/security/cert/CRLSelector.java,
	java/security/cert/CertPathBuilder.java,
	java/security/cert/CertPathBuilderResult.java,
	java/security/cert/CertPathBuilderSpi.java,
	java/security/cert/CertPathParameters.java,
	java/security/cert/CertPathValidator.java,
	java/security/cert/CertPathValidatorResult.java,
	java/security/cert/CertPathValidatorSpi.java,
	java/security/cert/CertSelector.java,
	java/security/cert/CertStore.java,
	java/security/cert/CertStoreParameters.java,
	java/security/cert/CertStoreSpi.java,
	java/security/cert/CollectionCertStoreParameters.java,
	java/security/cert/LDAPCertStoreParameters.java,
	java/security/cert/PKIXBuilderParameters.java,
	java/security/cert/PKIXCertPathBuilderResult.java,
	java/security/cert/PKIXCertPathChecker.java,
	java/security/cert/PKIXCertPathValidatorResult.java,
	java/security/cert/PKIXParameters.java,
	java/security/cert/PolicyNode.java,
	java/security/cert/PolicyQualifierInfo.java,
	java/security/cert/TrustAnchor.java,
	javax/security/auth/x500/X500Principal.java:
	New files from classpath.
	* gnu/java/io/ASN1ParsingException.java,
	gnu/java/io/Base64InputStream.java,
	gnu/java/security/der/DEREncodingException.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/provider/Gnu.java,
	gnu/java/security/provider/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java,
	java/security/KeyFactory.java,
	java/security/KeyPairGenerator.java,
	java/security/KeyStore.java,
	java/security/MessageDigest.java,
	java/security/SecureClassLoader.java,
	java/security/SecureRandom.java,
	java/security/Security.java,
	java/security/Signature.java,
	java/security/cert/Certificate.java,
	java/security/cert/CertificateFactory.java,
	java/security/cert/CertificateFactorySpi.java,
	java/security/cert/X509CRL.java,
	java/security/cert/X509Certificate.java,
	java/security/spec/DSAPublicKeySpec.java:
	New versions from classpath.
	* gnu/java/security/provider/DERReader.java,
	gnu/java/security/provider/DERWriter.java,
	java/security/Engine.java: Removed.
	* Makefile.am
	(java_source_files, javax_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTable.java
	(AUTO_RESIZE_ALL_COLUMNS): New constant.
	(AUTO_RESIZE_LAST_COLUMN): New constant.
	(AUTO_RESIZE_NEXT_COLUMN): New constant.
	(AUTO_RESIZE_OFF): New constant.
	(AUTO_RESIZE_SUBSEQUENT_COLUMNS): New constant.
	(JTable): New method.
	(columnAdded): New method.
	(columnMarginChanged): New method.
	(columnMoved): New method.
	(columnRemoved): New method.
	(columnSelectionChanged): New method.
	(editingCanceled): New method.
	(editingStopped): New method.
	(getColumnModel): New method.
	(getPreferredScrollableViewportSize): New method.
	(getScrollableBlockIncrement): New method.
	(getScrollableTracksViewportHeight): New method.
	(getScrollableTracksViewportWidth): New method.
	(getScrollableUnitIncrement): New method.
	(getSelectedRow): New method.
	(getSelectionModel): New method.
	(tableChanged): New method.
	(setModel): New method.
	(setSelectionMode): New method.
	(setSelectionModel): New method.
	(setShowGrid): New method.
	(valueChanged): New method.
	* javax/swing/text/DefaultEditorKit.java
	(backwardAction): New constant.
	(beepAction): New constant.
	(beginAction): New constant.
	(beginLineAction): New constant.
	(beginParagraphAction): New constant.
	(beginWordAction): New constant.
	(copyAction): New constant.
	(cutAction): New constant.
	(defaultKeyTypedAction): New constant.
	(deleteNextCharAction): New constant.
	(deletePrevCharAction): New constant.
	(downAction): New constant.
	(endAction): New constant.
	(endLineAction): New constant.
	(endOfLineStringProperty): New constant.
	(endParagraphAction): New constant.
	(endWordAction): New constant.
	(forwardAction): New constant.
	(insertBreakAction): New constant.
	(insertContentAction): New constant.
	(insertTabAction): New constant.
	(nextWordAction): New constant.
	(pageDownAction): New constant.
	(pageUpAction): New constant.
	(pasteAction): New constant.
	(previousWordAction): New constant.
	(readOnlyAction): New constant.
	(selectAllAction): New constant.
	(selectionBackwardAction): New constant.
	(selectionBeginAction): New constant.
	(selectionBeginLineAction): New constant.
	(selectionBeginParagraphAction): New constant.
	(selectionBeginWordAction): New constant.
	(selectionDownAction): New constant.
	(selectionEndAction): New constant.
	(selectionEndLineAction): New constant.
	(selectionEndParagraphAction): New constant.
	(selectionEndWordAction): New constant.
	(selectionForwardAction): New constant.
	(selectionNextWordAction): New constant.
	(selectionPreviousWordAction): New constant.
	(selectionUpAction): New constant.
	(selectLineAction): New constant.
	(selectParagraphAction): New constant.
	(selectWordAction): New constant.
	(upAction): New constant.
	(writableAction): New constant.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/util/PropertyPermission.java:
	New version from classpath
	* java/util/ResourceBundle.java:
	Partly merged from classpath
	(getObject): Reformated.
	(tryBundle): Set foundBundle = null if no bundle found.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractListModel.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultSingleSelectionModel.java:
	New Versions from classpath.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/awt/Window.java
	(show): Call super.show() instead of setVisible() to avoid endless
	loop.
	(hide): Call super.hide() instead of setVisible() to avoid endless
	loop.

2003-04-29  Michael Koch  <konqueror@gmx.de>

	* java/util/zip/Deflater.java,
	java/util/zip/DeflaterOutputStream.java:
	Partly merged with classpath.

2003-04-27  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (_Jv_AllocString): Initialize
	cachedHashCode.
	(init): Likewise.
	(_Jv_NewStringUtf8Const): Likewise.

2003-03-29  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: (_Jv_GetNbArgs) added
	(_Jv_GetSafeArg) added
	(_Jv_SetArgs) added
	* prims.cc: (_Jv_GetNbArgs) implemented
	(_Jv_GetSafeArg) implemented
	(_Jv_SetArgs) implemented
	(_Jv_RunMain) use _Jv_SetArgs() instead of explicitly
	setting _Jv_argc and _Jv_argv
	* posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg()
	instead of _Jv_argv
	* java/lang/natRuntime.cc: (insertSystemProperties) use
	_Jv_GetSafeArg() instead of _Jv_argv

2003-04-23  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Round size up to alignment
	required by this object.  Search superclasses to find required
	alignment.
	(get_alignment_from_class): Use alignment of type as it appears
	in a struct.
	(ALIGNOF): New macro.
	(struct aligner): New helper structure.

2003-04-20  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/Container.java (addImpl): Enable paint events if adding
	a lightweight to a heavyweight.
	(addNotify): Ensure that peer is created before
	addNotifyContainerChildren.
	(addNotifyContainerChildren): Enable paint events if a heavyweight
	container contains a lightweight.

2003-04-20  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedReader.java, java/io/BufferedWriter.java,
	java/io/DataInput.java, java/io/DataOutput.java: Imports from
	Classpath.

2003-04-19  Tom Tromey  <tromey@redhat.com>

	* java/sql/Date.java, java/sql/DriverManager.java,
	java/sql/Time.java, java/sql/Timestamp.java: New versions from
	Classpath.

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java, java/security/Engine.java,
	java/security/Identity.java, java/security/IdentityScope.java,
	java/security/KeyFactory.java,
	java/security/KeyPairGenerator.java, java/security/KeyStore.java,
	java/security/MessageDigest.java, java/security/Policy.java,
	java/security/ProtectionDomain.java,
	java/security/SecureRandom.java, java/security/Security.java,
	java/security/Signature.java, java/security/SignatureSpi.java,
	java/security/SignedObject.java, java/security/Signer.java,
	java/security/interfaces/RSAMultiPrimePrivateCrtKey.java,
	java/security/spec/PSSParameterSpec.java,
	java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java,
	java/security/spec/RSAOtherPrimeInfo.java: New versions from
	Classpath.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphics.java (XGraphics): Use new GC.create.
	(dispose): Null metrics.
	* gnu/awt/xlib/XToolkit.java (sync): Implement.
	* gnu/gcj/xlib/Clip.java (dispose): Change name of native from
	finalize.
	(finalize): Call dispose.
	* gnu/gcj/xlib/Drawable.java (gcCache): New field.
	(gcCachedCount): New field.
	(finalize): New method.
	(putGCInCache): New method.
	(getGCFromCache): New method.
	* gnu/gcj/xlib/GC.java (GC): Make protected.
	(clone): Get new GC from cache if possible.
	(create): New static method.
	(dispose): Save old GC in cache.
	* gnu/gcj/xlib/natClip.cc (dispose): Check for null before
	deleting.
	* gnu/gcj/xlib/natGC.cc (initStructure): Call XCreateGC only if gc
	is null.
	* gnu/gcj/xlib/Pixmap.java (Pixmap): Use new GC.create.
	* java/awt/Container.java (visitChild): Dispose gfx2 when
	finished.

2003-04-19  Jerry Quinn  <jlquinn@optonline.net>

	* java/math/BigInteger.java (probablePrime): New.
	* java/math/BigDecimal.java (unscaledValue): New.

2003-04-19  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (getAbsolutePath): On Windows, take care
	of paths like "C:", "G:foo\bar", etc.
	(getName): Make it work correctly on Windows.
	(getParent): Make it work correctly on Windows. For UNIX,
	fix bug that causes "/" to be returned as the parent of "/",
	instead of null as returned by Sun's JRE.

	* java/io/natFileWin32.cc: Change copyright owner to FSF.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XGraphicsConfiguration.java (FontMetricsCache): New
	inner class.
	(CACHE_SIZE_PER_DISPLAY): New field
	(fontMetricsCache): New field
	(getXFontMetrics): Use fontMetricsCache to cache fonts. Prefer
	loading ISO10646-1 fonts.

2003-04-19  Scott Gilbertson  <scottg@mantatest.com>

	* libjava/gnu/gcj/xlib/natFont.cc (getStringWidth): Support 16-bit
	characters.
	* libjava/gnu/gcj/xlib/natGC.cc (drawString): Support 16-bit
	characters.

2003-04-16  Richard Earnshaw  <rearnsha@arm.com>

	* java/lang/ieeefp.h: Handle ARM platforms that have pure-endian
	floating point.

2003-04-15  Jakub Jelinek  <jakub@redhat.com>

	* configure.host (*-linux*): Don't set slow_pthread_self if primary
	installed libpthread is either linuxthreads with floating stacks or
	NPTL.

2003-04-14  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Round up class size to multiple
	of alignment.

2003-04-10  Tom Tromey  <tromey@redhat.com>

	* verify.cc (pop64): Removed.
	(verify_instructions_0) <op_pop2>: Inline code.  Don't throw
	exception if top-of-stack is narrow.
	(initialize_stack): Check to ensure that <init> is not static and
	<clinit> is.

2003-04-07  Aaron M. Renn (arenn@urbanophile.com)

	* java/io/ObjectStreamException
	* java/io/FileFilter
	* java/io/FilenameFilter
	* java/io/ObjectInput
	* java/io/ObjectOutput
	* java/io/ObjectStreamConstants
	Minor doc fixes, format fixes, spelling corrections, etc.
	* java/io/DataInput
	Corrected code samples in Javadocs to match reality
	* java/io/DataOutput
	* java/io/ObjectInputValidation
	Major documentation fixes - all Javadocs re-written or updated

2003-04-06  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java:
	Import classes directly.
	(URLConnection): Merged class documentation with classpath.
	(url): Moved, documentation from classpath added.
	(doInput): Moved, documentation from classpath added.
	(doOutput): Moved, documentation from classpath added.
	(allowUserInteraction): Moved.
	(useCaches): Moved, documentation from classpath added.
	(ifModifiedSince): Moved, documentation from classpath added.
	(connected): Moved, documentation from classpath added.

2003-04-06  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(skip): Renamed some variables to match classpath, added
	checks from classpath.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractAction.java
	(AbstractAction): Reformatted.
	(serialVersionUID): New private member variable.
	* javax/swing/plaf/BorderUIResource.java
	(serialVersionUID): New private member variable.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(serialVersionUID): New private member variable.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/sql/Date.java
	(valueOf): Deprecated, reformatted.
	(toString): Deprecated, reformatted.
	* java/sql/Time.java
	(valueOf): Deprecated, reformatted.
	(toString): Deprecated, reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/dgc/VMID.java
	(isUnique): Deprecated.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java
	(separator): Merged documentation from classpath.
	(separatorChar): Merged documentation from classpath.
	(pathSeparator): Merged documentation from classpath.
	(pathSeparatorChar): Merged documentation from classpath.
	(path): Merged documentation from classpath.
	(canRead): Merged documentation from classpath.
	(canWrite): Merged documentation from classpath.
	(createNewFile): Merged documentation from classpath.
	(delete): Merged documentation from classpath.
	(equals): Merged documentation from classpath.
	(exists): Merged documentation from classpath.
	(File): Renamed p to name to match classpath, merged documentation
	from classpath.
	(getAbsolutePath): Merged documentation from classpath.
	(getCanonicalPath): Merged documentation from classpath.
	(getCanonicalFile): Merged documentation from classpath.
	(getName): Merged documentation from classpath.
	(getParent): Merged documentation from classpath.
	(getParentFile): Merged documentation from classpath.
	(getPath): Merged documentation from classpath.
	(hashCode): Merged documentation from classpath.
	(isAbsolute): Merged documentation from classpath.
	(isDirectory): Merged documentation from classpath.
	(isFile): Merged documentation from classpath.
	(isHidden): Merged documentation from classpath.
	(lastModified): Merged documentation from classpath.
	(length): Merged documentation from classpath.
	(list): Merged documentation from classpath.
	(listFiles): Merged documentation from classpath.
	(toString): Merged documentation from classpath.
	(toURL): Merged documentation from classpath.
	(mkdir): Merged documentation from classpath.
	(mkdirs): Merged documentation from classpath.
	(createTempFile): Merged documentation from classpath.
	(setReadOnly): Merged documentation from classpath.
	(listRoots): Merged documentation from classpath.
	(compareTo): Merged documentation from classpath.
	(renameTo): Merged documentation from classpath.
	(setLastModified): Merged documentation from classpath.
	* java/io/PrintStream.java
	(auto_flush): Merged documentation from classpath.
	(PrintStream): Merged documentation from classpath.
	(checkError): Merged documentation from classpath.
	(setError): Merged documentation from classpath.
	(close): Merged documentation from classpath.
	(flush): Merged documentation from classpath.
	(print): Merged documentation from classpath.
	(println):  Merged documentation from classpath.
	(write): Renamed count to len to match classpath,
	merged documentation from classpath.
	* java/io/RandomAccessFile.java
	(readShort): Merged documentation from classpath.
	(readUnsignedByte): Merged documentation from classpath.
	(readUnsignedShort): Merged documentation from classpath.
	(readUTF): Merged documentation from classpath.
	(seek): Reformatted, merged documentation from classpath.
	(skipBytes): Renamed some variables to match classpath, reformatted,
	merged documentation from classpath.
	(write): Merged documentation from classpath.
	(writeBoolean): Merged documentation from classpath.
	(writeByte): Merged documentation from classpath.
	(writeShort): Merged documentation from classpath.
	(writeChar): Merged documentation from classpath.
	(writeInt): Merged documentation from classpath.
	(writeLong): Merged documentation from classpath.
	(writeFloat): Merged documentation from classpath.
	(writeDouble): Merged documentation from classpath.
	(writeBytes): Merged documentation from classpath.
	(writeChars): Merged documentation from classpath.
	(writeUTF): Reformatted.
	(getChannel): Reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/TextAttribute.java
	(readResolve): Throws java.io.InvalidObjectException.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/server/LoaderHandler.java
	(loadClass): Deprecated.
	(getSecurityContext): Deprecated.
	* java/rmi/server/LogStream.java
	(getDefaultStream): Deprecated.
	(setDefaultStream): Deprecated.
	(getOutputStream): Deprecated.
	(setOutputStream): Deprecated.
	(write): Deprecated.
	(toString): Deprecated.
	(parseLevel): Deprecated.
	* java/rmi/server/Operation.java
	(Operation): Deprecated.
	(getOperation): Deprecated.
	(toString): Deprecated.
	* java/rmi/server/RemoteCall.java
	(getOutputStream): Deprecated.
	(releaseOutputStream): Deprecated.
	(getInputStream): Deprecated.
	(releaseInputStream): Deprecated.
	(getResultStream): Deprecated.
	(executeCall): Deprecated.
	(done): Deprecated.
	* java/rmi/server/RemoteRef.java
	(invoke): Deprecated.
	(newCall): Deprecated.
	(done): Deprecated.
	* java/rmi/server/RemoteStub.java
	(setRef): Deprecated.
	* java/rmi/server/Skeleton.java:
	No need to import java.lang.Exception explicitly.
	(dispatch): Deprecated.
	(getOperations): Deprecated.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* java/rmi/dgc/VMID.java,
	java/rmi/registry/RegistryHandler.java,
	java/rmi/server/LogStream.java,
	java/rmi/server/Operation.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteRef.java,
	java/rmi/server/RemoteStub.java:
	Reformatted.

2003-03-31  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/ActionMap.java,
	javax/swing/BorderFactory.java,
	javax/swing/ButtonGroup.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/InputMap.java,
	javax/swing/JComponent.java,
	javax/swing/JMenu.java,
	javax/swing/JSlider.java,
	javax/swing/KeyStroke.java,
	javax/swing/OverlayLayout.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SizeRequirements.java,
	javax/swing/UIManager.java,
	javax/swing/ViewportLayout.java,
	javax/swing/border/AbstractBorder.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/tree/DefaultMutableTreeNode.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/TreePath.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/UndoableEditSupport.java:
	Merges from classpath.

2003-03-30  Tom Tromey  <tromey@redhat.com>

	* java/lang/String.java (data, boffset, count): Documented.
	(String(byte[],String)): Reformatted.
	(String(byte[])): Likewise.
	(lastIndexOf(int)): Likewise.
	(lastIndexOf(String)): Likewise.
	(substring(int)): Renamed argument to match Classpath.
	(String(StringBuffer)): Don't share buffer if it is nearly empty.

	* java/lang/String.java: Miscellaneous minor formatting changes
	to match Classpath more closely.

2003-03-29  Eric Blake  <ebb9@email.byu.edu>
	    Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (hashCode): Use cachedHashCode.
	(init()): Removed.
	(charAt): Put index in exception.
	(contentEquals): New method.
	Include StringBuffer.h.
	* java/lang/String.java (cachedHashCode): New field.
	(String()): Follow classpath implementation.
	(init()): Removed.
	(contentEquals): Declare.
	(subSequence): Don't declare IndexOutIfBoundsException in throws
	clause.
	(matches, replaceFirst, replaceAll, split): New methods from
	Classpath.

2003-03-29  Tom Tromey  <tromey@redhat.com>

	* java/lang/String.java: Reordered to follow Classpath; merged in
	javadoc.

	* java/text/MessageFormat.java: Removed some whitespace.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* gnu/javax/rmi/PortableServer.java,
	gnu/javax/rmi/CORBA/DelegateFactory.java,
	gnu/javax/rmi/CORBA/GetDelegateInstanceException.java,
	gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java,
	gnu/javax/rmi/CORBA/StubDelegateImpl.java,
	gnu/javax/rmi/CORBA/UtilDelegateImpl.java,
	gnu/javax/rmi/CORBA/ValueHandlerImpl.java,
	javax/rmi/BAD_OPERATION.java, javax/rmi/ORB.java,
	javax/rmi/PortableRemoteObject.java,
	javax/rmi/CORBA/ClassDesc.java, javax/rmi/CORBA/ObjectImpl.java,
	javax/rmi/CORBA/PortableRemoteObjectDelegate.java,
	javax/rmi/CORBA/Stub.java, javax/rmi/CORBA/StubDelegate.java,
	javax/rmi/CORBA/SystemException.java, javax/rmi/CORBA/Tie.java,
	javax/rmi/CORBA/Util.java, javax/rmi/CORBA/UtilDelegate.java,
	javax/rmi/CORBA/ValueHandler.java: New files from Classpath.

	* java/lang/natClass.cc (newInstance): Put method name in
	exception.
	(getConstructor): Likewise.
	(getDeclaredConstructor): Likewise.
	(getPrivateMethod): Likewise.

2003-03-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/Proxy.java: New version from Classpath.
	* java/lang/Package.java: New version from Classpath.

2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
	* configure: Regenerate.

2003-03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java:
	Import needed classes instead of whole packages, merged class
	documentation with classpath, moved constants and variables to top of
	class.
	* java/io/PrintStream.java:
	Merged class documentation with classpath, moved constants and
	variables to top of class.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Merged with classpath.
	(read): Merged with classpath).
	(read*): Reformatted.

2003-03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/FileDescriptor.java
	(finalize): Throws Throwable, not IOException.
	* java/io/ObjectOutputStream.java
	(PutField.put): Doesnt throws anything.

2003­03-28  Michael Koch  <konqueror@gmx.de>

	* java/io/FileOutputStream.java:
	Merged class documentation and authors with classpath.
	(FileOutputStream): Partly merged with classpath.
	(write): Merged with classpath.
	(getChannel): Make it synchronized instead of explicit block in this
	method.
	* java/io/RandomAccessFile.java:
	Merged class documentation and authors with classpath.

2003-03-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.classpath.home.url.
	* Makefile.in: Rebuilt.
	* Makefile.am: Define LIBDIR.

2003-03-25  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(read): Renamed b to buf and off to offset.
	* java/io/FileOutputStream.java
	(ch): Documentation added.
	(FileOutputStream): Documentation added.
	(getFD): Documentation added.
	(write): Documentation added.
	(close): Documentation added.
	(getChannel): Documentation added.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java
	(write): Merged from classpath.
	* java/io/File.java:
	Merged copyrigth with classpath.
	* java/io/FileInputStream.java
	(getChannel): Made it synchronized instead of using a synchronized
	block.
	* java/io/FileOutputStream.java: Reformatted.
	* java/io/InputStreamReader.java
	(InputStreamReader): Renamed enc to encoding_name.
	(close): Merged documentation from classpath.
	(getEncoding): Merged documentation from classpath.
	(ready): Merged documentation from classpath.
	(read): Merged documentation from classpath.
	* java/io/LineNumberReader.java
	(lineNumber): Made it private.
	(LineNumberReader): Use Constant instead of a direct value.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Renamed enc to encoding_scheme, merged
	documentation from classpath.
	(close): Merged documentation from classpath.
	(flush): Merged documentation from classpath.
	(write): Merged documentation from classpath.
	* java/io/PrintStream.java: Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/ComponentView.java
	(getComponent): Must be final.
	* javax/swing/tree/DefaultTreeCellRenderer.java:
	Reformatted.
	* javax/swing/undo/StateEditable.java:
	Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/rmi/activation/ActivationInstantiator.java:
	Reformatted.
	* java/rmi/activation/Activator.java:
	Reformatted.
	* java/rmi/registry/RegistryHandler.java:
	Remerged from classpath.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/util/Date.java:
	Fixed documentation starting tag to make javadoc happy.
	* java/util/regex/Pattern.java
	(Pattern): Implements Serializable.
	* java/util/PatternSyntaxException.java
	(serialVersionUID): New member variable.

2003-03-24  Michael Koch  <koqnueror@gmx.de>

	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(getFirstComponent): Implemented.
	(getLastComponent): Implemented.
	(getDefaultComponent): Implemented.
	(setImplicitDownCycleTraversal): Fixed implementation.
	* java/awt/Robot.java
	(Robot): Added documentation.
	* java/awt/Toolkit.java
	(getFontList): Deprecated.
	(getFontMetrics): Deprecated.
	(getPrintJob): Added documentation.
	(getSystemSelection): Added documentation.
	(getLockingKeyState): Added documentation.
	(setLockingKeyState): Added documentation.
	(createCustomCursor): Added documentation.
	(getBestCursorSize): Added documentation.
	(getMaximumCursorColors): Added documentation.
	(isFrameStateSupported): Added documentation.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/RandomAccessFile.java:
	More little merges with classpath. No code changes.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/net/natInetAddressNoNet.cc:
	Include stddef.h.
	* java/net/natPlainDatagramSocketImplNoNet.cc:
	Fixed inlcude of java/net/DatagramPacket.h.
	* java/net/natPlainSocketImplNoNet.cc:
	Include some missing classes.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DropTarget.java
	(DropTargetAutoScroller): According to the online documentation, this
	is protected, but in reality it is public.
	* java/awt/dnd/DropTargetContext.java
	(TransferableProxy): According to the online documentation, this
        is protected, but in reality it is public.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInputStream.java
	(): Wrapped documentation line.
	(): Fixed @return tag.
	* java/io/DataOutputStream.java
	(written): Moved to top of class.
	(all methods): Merged documentation from classpath.
	* java/io/File.java:
	Merged copyright year with classpath.
	* java/io/FileInputStream.java
	(all methods): Merged documentation from classpath.
	* java/io/LineNumberReader.java
	(getLineNumber): Fixed @return tag.
	* java/io/ObjectInputStream.java.
	Reformatted.
	* java/io/ObjectOutputStream.java:
	Reformatted, fixed some @see tags.
	* java/io/OutputStreamWriter.java:
	Deleted empty line.
	* java/io/Writer.java:
	Reformatted.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/awt/Frame.java
	(DEFAULT_CURSOR): Fixed @deprecated tag.
	(setCursor): Fixed @deprecated tag.

2003-03-24  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextEvent.java:
	Reformated.

2003-03-23  Eric Blake  <ebb9@email.byu.edu>

	* java/lang/natStringBuffer.cc (regionMatches): New function.
	* java/lang/String.java (count): Now package-private.
	* java/lang/StringBuffer.java: Merged with Classpath.

2003-03-23  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedOutputStream.java:
	Reformated.
	* java/io/BufferedReader.java:
	Reformated.
	* java/io/ByteArrayOutputStream.java
	(size): Fixed @see tag.
	* java/io/CharArrayWriter.java
	(size): Fixed @see tag.
	* java/io/DataInput.java:
	Reformated.
	* java/io/DataOutput.java:
	Reformated.
	* java/io/DataOutputStream.java:
	Merged copyright years with classpath.
	* java/io/Externalizable.java:
	Reformated.
	* java/io/FileFilter.java:
	Reformated.
	* java/io/FileInputStream.java:
	Merged copyright years with classpath.
	* java/io/FileOutputStream.java:
	Merged copyright years with classpath.
	* java/io/FilePermission.java
	(FilePermission): Replaced @XXX with FIXME:.
	* java/io/FileWriter.java:
	Reformated.
	* java/io/FilenameFilter.java:
	Reformated.
	* java/io/FilterInputStream.java:
	Reformated.
	* java/io/FilterOutputStream.java:
	Reformated.
	* java/io/FilterReader.java:
	Reformated.
	* java/io/FilterWriter.java:
	Reformated.
	* java/io/LineNumberInputStream.java
	(LineNumberInputStream): Replaced @code with HTML tags to make javadoc
	happy.
	(getLineNumber): Fixed @return tag.
	* java/io/ObjectInput.java:
	Reformated.
	* java/io/ObjectOutput.java:
	Reformated.
	* java/io/ObjectStreamClass.java:
	Reformated.
	* java/io/PrintStream.java:
	Merged copyright years with classpath.
	* java/io/PushbackReader.java
	(PushbackReader): Replaced @code with @param.
	* java/io/SerializablePermission.java:
	Reformated.
	* java/io/StreamTokenizer.java
	(resetSyntax): Fixed @see tag.

2003-03-22  Richard Henderson  <rth@redhat.com>

	* sysdep/ia64/locks.h: Include ia64intrin.h.
	(compare_and_swap): Use __sync_bool_compare_and_swap.
	(compare_and_swap_release): Expose ar.ccv assignment.

2003-03-22  Andreas Tobler <a.tobler@schweiz.ch>

	* include/posix.h: Add suffix for darwin dynamic libraries.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/Action.java
	(ACCELERATOR_KEY): New constant.
	(ACTION_COMMAND_KEY): Likewise.
	(MNEMONIC_KEY): Likewise.
	* javax/swing/UnsupportedLookAndFeelException.java
	(UnsupportedLookAndFeelException): Must be public.
	* javax/swing/WindowConstants.java
	(EXIT_ON_CLOSE): New constant.
	* javax/swing/text/BadLocationException.java
	(offset): New member variable.
	(BadLocationException): New implementation, documentation added.
	(offsetRequested): New method.
	* javax/swing/text/Caret.java:
	Reformated.
	* javax/swing/text/Document.java:
	Reformated.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/rmi/activation/Activatable.java
	(serialVersionUID): New member variable.
	* java/rmi/activation/ActivationGroup.java
	(serialVersionUID): New member variable.
	* java/rmi/activation/ActivationGroupDesc.java
	(serialVersionUID): New member variable.
	* java/rmi/registry/Registry.java:
	Reformated.
	(Registry): Deprecated.
	* java/rmi/server/LoaderHandler.java
	Reformated.
	(LoaderHandler): Deprecated.
	* java/rmi/server/LogStream.java
	Reformated.
	(LogStream): Deprecated.
	* java/rmi/server/Operation.java
	(Operation): Deprecated.
	* java/rmi/server/RMIFailureHandler.java:
	Reformated.
	* java/rmi/server/RMISocketFactory.java:
	Reformated.
	* java/rmi/server/RemoteCall.java
	(RemoteCall): Deprecated.
	* java/rmi/server/RemoteStub.java:
	Reformated.
	* java/rmi/server/Skeleton.java
	Reformated.
	(Skeleton): Deprecated.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/io/LineNumberReader.java
	(LineNumberReader): Merged documentation with classpath.
	(getLineNumber): Likewise.
	(setLineNumber): Likewise.
	(mark): Likewise.
	(reset): Likewise.
	(read): Likewise.
	(readLine): Likewise.
	(skip): Likewise.

2003-03-21  Michael Koch  <konqueror@gmx.de>

	* java/rmi/RMISecurityManager.java
	(checkAccept): Removed.
	(checkAccess): Likewise.
	(checkAccess): Likewise.
	(checkAwtEventQueueAccess): Likewise.
	(checkConnect): Likewise.
	(checkCreateClassLoader): Likewise.
	(checkDelete): Likewise.
	(checkExec): Likewise.
	(checkExit): Likewise.
	(checkLink): Likewise.
	(checkListen): Likewise.
	(checkMemberAccess): Likewise.
	(checkMulticast): Likewise.
	(checkPackageAccess): Likewise.
	(checkPackageDefinition): Likewise.
	(checkPermission): Likewise.
	(checkPrintJobAccess): Likewise.
	(checkPropertiesAccess): Likewise.
	(checkPropertyAccess): Likewise.
	(checkRead): Likewise.
	(checkSecurityAccess): Likewise.
	(checkSetFactory): Likewise.
	(checkSystemClipboardAccess): Likewise.
	(checkTopLevelWindow): Likewise.
	(checkWrite): Likewise.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(address): Removed.
	(map_address): New member variable.
	(length): Make it package private.
	(fd): Make it package private.
	(buf): Make it package private.
	(file_obj): Make it package private.
	(FileChannelImpl): New constructor.
	(nio_mmap_file): Use RawData instead of long.
	(nio_munmap_file): Use RawData instead of long.
	(nio_msync): Use RawData instead of long.
	(implCloseChannel): New implementation using map_address.
	(read): Reformated.
	(map): Implemented.
	(create_direct_mapped_buffer): Implemented, use RawData, throws
	IOException.
	(force): Use map_address instead of address.
	* gnu/java/nio/MappedByteFileBuffer.java
	(address): Removed.
	(map_address): New member variable.
	(MappedByteFileBuffer): Use map_address instead of address, reformated.
	(several methods): Use map_address instead of address, replaced long
	with RawData where appropriate.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Replaced long with RawData.
	(nio_munmap_file): Replaced long with RawData.
	(nio_msync): Replaced long with RawData.
	* gnu/java/nio/natMappedByteFileBuffer.cc
	(several methods): Replaced long with RawData where appropriate.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java,
	java/net/JarURLConnection.java,
	java/net/PlainDatagramSocketImpl.java,
	java/net/PlainSocketImpl.java,
	java/net/URLConnection.java:
	Merged copyright statements with classpath for easier merging.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(getChannel): New implementation.
	* java/io/FileOutputStream.java
	(ch): New member variable.
	(getChannel): Implemented.
	* java/io/RandomAccessFile.java
	(RandomAccessFile): Throws FileNotFoundException instead of
	IOException.
	(getChannel): New method.
	(ch): New member variable.

2003-03-20  Michael Koch  <konqueror@gmx.de>

	* java/io/DataOutputStream.java,
	java/io/File.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/InputStreamReader.java,
	java/io/LineNumberReader.java,
	java/io/OutputStreamWriter.java,
	java/io/PrintStream.java,
	java/io/RandomAccessFile.java:
	Merged copyright statements with classpath for easier merging.

2003-03-19  Michael Koch  <konqueror@gmx.de>

	* java/lang/Process.java:
	Merged from classpath.

2003-03-19  Michael Koch  <konqueror@gmx.de>

	* java/io/FileOutputStream.java
	(FileOutputStream): New constructor, merged from classpath.
	* java/io/FileWriter.java
	(FileWriter): New constructor, merged from classpath.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPane.java
	(ScrollPane): Rewrote for new ScrollPaneAdjustable.
	(getViewportSize): Likewise.
	(addNotify): Likewise.
	(removeNotify): Likewise.
	* java/awt/ScrollPaneAdjustable.java
	(ScrollPaneAdjustable): No longer extends Scrollbar.
	* java/beans/beancontext/BeanContextServices.java:
	Reformated.
	(getService): Added throws TooManyListenersException;
	* java/beans/beancontext/BeanContextServicesSupport.java:
	Reformated.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedOutputStream.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/DataOutput.java,
	java/io/Externalizable.java:
	More merges from classpath.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* configure.in: Fixed links to platform dependant java.net files.
	* configure: Regenerated.
	* java/net/natInetAddress.cc,
	java/net/natNetworkInterface.cc,
	java/net/natPlainDatagramSocketImpl.cc,
	java/net/natPlainSocketImpl.cc:
	Removed.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* configure.in: Create links to architecture dependent files,
	introduced PLATFORMNET variable (set to NoNet for newlib usage).
	* configure: Regenerated.
	* java/net/natInetAddressNoNet.cc,
	java/net/natInetAddressPosix.cc,
	java/net/natInetAddressWin32.cc,
	java/net/natNetworkInterfaceNoNet.cc,
	java/net/natNetworkInterfacePosix.cc,
	java/net/natNetworkInterfaceWin32.cc,
	java/net/natPlainDatagramSocketImplNoNet.cc,
	java/net/natPlainDatagramSocketImplPosix.cc,
	java/net/natPlainDatagramSocketImplWin32.cc,
	java/net/natPlainSocketImplNoNet.cc,
	java/net/natPlainSocketImplPosix.cc,
	java/net/natPlainSocketImplWin32.cc: New files.

2003-03-18  Michael Koch  <konqueror@gmx.de>

	* java/io/BufferedReader.java,
	java/io/BufferedWriter.java,
	java/io/ByteArrayOutputStream.java,
	java/io/FileFilter.java,
	java/io/FilePermission.java,
	java/io/FileReader.java,
	java/io/FileWriter.java,
	java/io/FilenameFilter.java,
	java/io/FilterInputStream.java,
	java/io/FilterOutputStream.java,
	java/io/FilterReader.java,
	java/io/FilterWriter.java,
	java/io/ObjectInput.java,
	java/io/ObjectInputValidation.java,
	java/io/ObjectOutput.java,
	java/io/ObjectStreamField.java,
	java/io/PipedInputStream.java,
	java/io/PipedReader.java,
	java/io/PrintWriter.java,
	java/io/PushbackReader.java,
	java/io/Reader.java,
	java/io/SerializablePermission.java,
	java/io/StringReader.java,
	java/io/Writer.java:
	Merged from classpath.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPaneAdjustable.java:
	Compile fixes.
	
2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Fixed comment.
	* java/nio/ByteBuffer.java
	(hasArray): Fixed comment.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/beans/Beans.java:
	Explicitely import classes not packages.
	* java/beans/FeatureDescriptor.java
	(preferred): New member variable.
	(isPreferred): New method.
	(setPreferred): New method.
	* java/beans/PropertyEditorManager.java:
	Explicitely import used classes.
	* java/beans/beancontext/BeanContextChild.java:
	Added line wrapping.
	* java/beans/beancontext/BeanContextChildSupport.java:
	Reindented.
	* java/beans/beancontext/BeanContextEvent.java:
	Reindented.

2003-03-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/Dialog.java
	(Dialog): New constructor, changed implementations, added
	documentation.
	* java/awt/ScrollPaneAdjustable.java
	(ScrollPaneAdjustable): Extends Object, implements Adjustable and
	Serializable.
	(serialVersionUID): New member variable.
	(sp): New member variable.
	(orientation): New member variable.
	(value): New member variable.
	(minimum): New member variable.
	(maximum): New member variable.
	(visibleAmount): New member variable.
	(unitIncrement): New member variable.
	(blockIncrement): New member variable.
	(AdjustmentListener): New member variable.
	(ScrollPaneAdjustable): New implementation.
	(addAdjustmentListener): New method.
	(removeAdjustmentListener): New method.
	(getAdjustmentListeners): New method.
	(getBlockIncrement): New method.
	(getMaximum): New method.
	(getMinimum): New method.
	(getOrientation): New method.
	(getUnitIncrement): New method.
	(getValue): New method.
	(getVisibleAmount): New method.
	(setBlockIncrement): New method.
	(setMaximum): Implemented.
	(setMinimum): Implemented.
	(setUnitIncrement): New method.
	(setValue): New method.
	(setVisibleAmount): Implemented. 
	(paramString): New stubbed method.
	* java/awt/Window.java
	(show): Call setVisible().
	(hide): Call setVisible().
	(processEvent): Add cases for WINDOW_GAINED_FOCUS, WINDOW_LOST_FOCUS
	and WINDOW_STATE_CHANGED.
	(processWindowFocusEvent): New method.
	(processWindowStateEvent): New method.
	(postEvent): Deprecated.
	(applyResourceBundle): Deprecated.
	* java/awt/datatransfer/DataFlavor.java
	(DataFlavor): Doesn't thow ClassNotFoundException.

2003-03-17  Michael Koch

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(javax_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

2003-03-17  Michael Koch

	* javax/print/attribute/Attribute.java,
	javax/print/attribute/AttributeSet.java,
	javax/print/attribute/PrintRequestAttributeSet.java:
	New files.
	* Makefile.am
	(awt_java_source_files): Added new files:
	javax/print/attribute/Attribute.java
	javax/print/attribute/AttributeSet.java
	javax/print/attribute/PrintRequestAttributeSet.java
	* Makefile.in: Regenerated.

2003-03-16  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (ncode): Use _Jv_platform_ffi_abi.
	Include platform.h.
	* java/lang/natRuntime.cc (insertSystemProperties): Use
	_Jv_platform_path_separator.
	(nativeGetLibname): Use _Jv_platform_file_separator.
	(_load): Use _Jv_platform_onload_names.
	(onload_names): New global.
	* include/win32.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.
	* include/posix.h (_Jv_platform_file_separator): New define.
	(_Jv_platform_path_separator): Likewise.
	(_Jv_platform_onload_names): Likewise.
	(_Jv_platform_ffi_abi): Likewise.

2003-03-14  Hans Boehm  <Hans.Boehm@hp.com>

	* java/lang/natObject.cc (JV_SYNC_HASH): replace signed % by &.

2003-02-14  Jeroen Frijters  <jeroen@sumatra.nl>

	* java/io/ObjectInputStream.java (readObject): Cleaned up the class
	hierarchy loop.
	(readFields(Object,ObjectStreamField[],boolean)): Changed argument
	list to Object,ObjectStreamClass, moved callReadMethod code up into
	readObject and added Class argument to all setXxxField calls.
	(callReadMethod): Changed Class argument to ObjectStreamClass to be
	consistent with ObjectOutputStream and to facilitate caching the
	Method in the future.
	(setBooleanField): Added Class argument.
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.
	* java/io/ObjectOutputStream.java (writeObject): Cleaned up the
	class hierarchy loop.
	(defaultWriteObject): Call writeFields with new argument list.
	(writeFields(Object,ObjectStreamField[],boolean): Changed argument
	list to Object,ObjectStreamClass, moved callWriteMethod up into
	writeObject and added Class argument to all getXxxField calls.
	(callWriteMethod): Added ObjectStreamClass argument to be able to
	get the proper class to call getMethod on (each class can have (or
	not have) its own writeObject method).
	(getBooleanField): Added Class argument.
	(getByteField): Likewise.
	(getCharField): Likewise.
	(getDoubleField): Likewise.
	(getFloatField): Likewise.
	(getIntField): Likewise.
	(getLongField): Likewise.
	(getShortField): Likewise.
	(getObjectField): Likewise.
	* java/io/ObjectStreamClass.java (hasReadMethod): Added method to
	facilitate caching the Method object in the future.

2003-03-12  Andreas Schwab  <schwab@suse.de>

	* configure.in: Avoid trailing /. in toolexeclibdir.
	* configure: Rebuilt.

2003-03-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(putInt): Use limit() instead of limit.
	* gnu/java/nio/CharBufferImpl.java
	(slice): Fixed implementation.
	(subSequence): Better bounds checking.
	* gnu/java/nio/MappedByteFileBuffer.java:
	Import all needed classes directly.
	* java/nio/ByteBuffer.java
	(hashCode): New dummy method.
	* java/nio/CharBuffer.java
	(array_offset): New member variable.
	(hasArray): Fixed documentation.
	(arrayOffset): Return array_offset.

2003-03-10  2003-02-27  Mohan Embar  <gnustuff@thisiscool.com>

	* include/jvm.h: removed declaration of _Jv_ThisExecutable()
	setter; made return value of getter const char* instead of char*
	* prims.cc: removed all references to _Jv_ThisExecutable().
	These are in the platform-specific sections now.
	* posix.cc: define platform-specific _Jv_ThisExecutable().
	Handle DISABLE_MAIN_ARGS and HAVE_PROC_SELF_EXE cases
	* win32.cc: define platform-specific _Jv_ThisExecutable()
	using GetModuleFilename()
	* java/lang/natRuntime.cc: set gnu.gcj.progname property
	to argv[0] instead of _Jv_ThisExecutable()

2003-03-10  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (usingAddr2name): New flag
	that is set if we are using addr2name.awk instead of addr2line.
	(NameFinder): Set usingAddr2name if using addr2name.awk.
	(getExternalLabel): New native method to convert a method 
	name to an external label.
	(lookup): Convert name given by addr2line to an external label
	before demangling.

	* gnu/gcj/runtime/natNameFinder.cc (LABEL_PREFIX): New string
	constant representing the prefix attached to method names to
	convert them to an external label.
	(gnu::gcj::runtime::NameFinder::getExternalLabel): Define 
	using LABEL_PREFIX.

2003-03-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (GCJ_WITH_FLAGS): Added -Wno-deprecated.
	(JC1FLAGS): Removed -Wno-deprecated.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteOrder.java
	(nativeOrder): Working implementation, added documentation.
	(toString): Added documentation.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java,
	java/net/MulticastSocket.java,
	java/net/Socket.java,
	java/net/URL.java,
	java/net/URLConnection.java:
	Fixed some documentation tags to make javadoc and friends happy.

2003-03-10  Michael Koch  <koqnueror@gmx.de>

	* java/beans/beancontext/BeanContextServicesSupport.java,
	java/beans/beancontext/BeanContextSupport.java: New files.
	* Makefile.am
	(awt_source_files): Added new files.
	* Makefile.in: Regenerated.

2003-03-10  Michael Koch  <konqueror@gmx.de>

	* java/awt/FocusTraversalPolicy.java
	(FocusTraversalPolicy): Documentation added.
	(getComponentAfter): Documentation added.
	(getComponentBefore): Documentation added.
	(getFirstComponent): Documentation added.
	(getLastComponent): Documentation added.
	(getDefaultComponent): Documentation added.
	(getInitialComponent): Documentation added.
	* java/awt/ScrollPaneAdjustable.java
	(sp): New member variable.
	(orientation): New member variable.
	(value): New member variable.
	(minimum): New member variable.
	(maximum): New member variable.
	(visibleAmount): New member variable.
	(unitIncrement): New member variable.
	(blockIncrement): New member variable.
	(adjustmentListener): New member variable.
	(ScrollPaneAdjustable): Rewrote.
	(addAdjustmentListener): New method.
	(removeAdjustmentListener): New method.
	(getAdjustmentListeners): New method.
	(getBlockIncrement): New method.
	(getMaximum): New method.
	(getMinimum): New method.
	(getOrientation): New method.
	(getUnitIncrement): New method.
	(getValue): New method.
	(getVisibleAmount): New method.
	(setBlockIncrement): New method.
	(setUnitIncrement): New method.
	(setMaximum): Implemented.
	(setMinimum): Implemented.
	(setValue): New method.
	(setVisibleAmount): Implemented.
	(paramString): New method.
	* java/awt/Window.java
	(show): Use setVisible(true) instead of super.show().
	(hide): Use sevVisible(false) instead of super.hide().
	(processWindowEvent): Added cases for WINDOW_GAINED_FOCUS,
	WINDOW_LOST_FOCUS and WINDOW_STATE_CHANGED.
	(postEvent): Deprecated.
	(applyResourceBundle): Deprecated.
	(processWindowFocusEvent): New method.
	(processWindowStateEvent): New method.
	* java/awt/datatransfer/DataFlavor.java: Reindented.
	* java/awt/font/TextHitInfo.java
	(charIndex): New member variable.
	(leadingEdge): New member variable.
	(TextHitInfo): New constructor.
	(getCharIndex): Implemented.
	(isLeadingEdge): Implemented.
	(getInsertionIndex): Implemented.
	(hashCode): Access charIndex directly.
	(equals): Reformated.
	(leading): Implemented.
	(trailing): Implemented.
	(beforeOffset): Implemented.
	(afterOffset): Implemented.
	(getOtherHit): Implemented.
	(getOffsetHit): Implemented.
	(toString): Implemented.
	* java/awt/image/BufferedImage.java
	(BufferedImage): Implements WritableRenderedImage.
	(observers): New member variable.
	(addTileObserver): New method.
	(removeTileObserver): New method.

2003-03-09  Tom Tromey  <tromey@redhat.com>

	PR libgcj/9934:
	* java/io/natFileDescriptorPosix.cc (available): Fixed arguments
	to lseek.  Return 0 if we can't compute the value.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java: Merged with classpath.

2003-03-03  Tom Tromey  <tromey@redhat.com>

	* verify.cc (handle_jsr_insn): Don't fail if `jsr' appears at end
	of bytecode.
	(handle_ret_insn): Fail if returning to jsr that appears at end of
	bytecode.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/MappedByteFileBuffer.java.
	(nat_source_files):
	Added gnu/java/nio/natMappedByteFileBuffer.cc.
	* Makefile.in: Regenerated.

2003-03-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Merged comment from classpath.
	(receive): Merged documentation from classpath.
	* java/net/Socket.java
	(setSoTimeout): Clarified documentation.
	* java/net/URL.java
	(getPath): Merged from classpath.
	(getUserInfo): Merged from classpath.
	(getQuery): Merged from classpath.
	* java/net/URLStreamHandler.java
	(toExternalForm): Merged from classpath.

2003-03-02  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties.java (load): Only skip line if the first
	character is a comment, whitespaces don't count.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java:
	Merged copyright with classpath.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/lang/Package.java:
	Remerged from classpath.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java
	(HTTP_SERVER_ERROR): Deprecated.
	* java/net/MulticastSocket.java
	(send): Replaced checkMulticast with appropriate checkPermission call,
	deprecated.
	* java/net/URLDecoder.java
	(decode): Deprecated.
	* java/net/URLEncoder.java
	(encode): Deprecated.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/Caret.java
	(getMagicCaretPosition): Fixed typo in method name.
	* javax/swing/text/DefaultCaret.java
	(getMagicCaretPosition): Fixed typo in method name.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/List.java
	(setMultipleSelections): Deprecated.
	(delItem): Deprecated.
	* java/awt/MenuComponent.java
	(getPeer): Deprecated.
	* java/awt/ScrollPane.java
	(addNotify): getPeer() is deprecated. Use isDisplayable() instead.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(mouseClicked): Added comment.
	(mousePressed): Added comment.
	(mouseReleased): Added comment.
	(mouseEntered): Added comment.
	(mouseExited): Added comment.
	(mouseDragged): Added comment.
	(mouseMoved): Added comment.
	* java/awt/event/KeyEvent.java
	(KeyEvent): Deprecated.
	(setModifiers): Deprecated.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(fd): Type FileDescriptor instead of int.
	(lengthInternal): Removed.
	(FileChannelImpl): Fixed arguments, check type of file object.
	(size): Made it native.
	(implPosition): New native method.
	(implTruncate): New native method.
	(position): Implemented.
	(truncate): Implemented.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.
	* gnu/java/nio/natFileChannelImpl.cc
	(lengthInternal): Removed.
	(size): New method.
	(implPosition): New method.
	(implTruncate): New method.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DropTargetContext.java:
	Compile fix: Forgot to commit import.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/Component.java,
	java/awt/ScrollPane.java:
	Fixed typos.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DnDEventMulticaster.java: New file.
	* java/awt/dnd/DragSource.java
	(flavorMap): New member variable.
	(dragSourceListener): New member variable.
	(dragSourceMotionListener): New member variable.
	(getFlavorMap): Implemented.
	(createDragGestureRecognizer): Implemented.
	(addDragSourceListener): Implemented.
	(removeDragSourceListener): Implemented.
	(getDragSourceListeners): Implemented.
	(addDragSourceMotionListener): Implemented.
	(removeDragSourceMotionListener): Implemented.
	(getDragSourceMotionListeners): Implemented.
	(getListeners): Implemented.
	* java/awt/dnd/DragSourceContext.java
	(peer): New member variable.
	(cursor): New member variable.
	(transferable): New member variable.
	(trigger): New member variable.
	(dragSourceListener): New member variable.
	(image): New member variable.
	(offset): New member variable.
	(DragSourceContext): Implemented.
	(getDragSource): Implemented.
	(getComponent): Implemented.
	(getTrigger): Implemented.
	(getSourceActions): Implemented.
	(setCursor): Implemented.
	(getCursor): Implemented.
	(addDragSourceListener): Implemented.
	(removeDragSourceListener): Implemented.
	(getTransferable): Implemented.
	* java/awt/dnd/DropTarget.java
	(DropTargetAutoScroller.component): New member variable.
	(DropTargetAutoScroller.point): New member variable.
	(DropTargetAutoScroller.DropTargetAutoScroller): Implemented.
	(DropTargetAutoScroller.updateLocation): Implemented.
	(active): Renamed from isActive, defaults to true now.
	(component): New member variable.
	(flavorMap): New member variable.
	(actions): New member variable.
	(dropTargetContext): New member variable.
	(dropTargetListener): New member variable.
	(DropTarget): Implemented.
	(getComponent): Implemented.
	(setComponent): Implemented.
	(setDefaultActions): Implemented.
	(getDefaultActions): Implemented.
	(setActive): Use active instead of isActive.
	(isActive): Use active instead of isActive.
	(addDropTargetListener): Implemented.
	(removeDropTargetListener): Implemented.
	(getFlavorMap): Implemented.
	(setFlavorMap): Implemented.
	(getDropTargetContext): Implemented.
	(createDropTargetContext): Implemented.
	(createDropTargetAutoScroller): Implemented.
	* java/awt/dnd/DropTargetContext.java
	(TransferableProxy.getTransferDataFlavors): Implemented.
	(TransferableProxy.isDataFlavorSupported): Implemented.
	(TransferableProxy.getTransferData): Implemented.
	(dropTarget):  New member variable.
	(dtcp): New member variable.
	(DropTargetContext): New package private constructor.
	(getDropTarget): Implemented.
	(getComponent): Implemented.
	(addNotify): Implemented.
	(removeNotify): Implemented.
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(registerListeners): Implemented.
	(unregisterListeners): Implemented.
	* Makefile.am
	(awt_java_source_files): Added java/awt/dnd/DnDEventMulticaster.java.
	* Makefile.in: Regenerated.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/awt/Component.java
	(eventTypeEnabled): New method.
	(dispatchEventImpl): Moved checks for event to eventTypeEnabled.
	* java/awt/Container.java
	(changeSupport): New member variable.
	(addPropertyChangeListener): New methods.
	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(ContainerOrderFocusTraversalPolicy): Added comment.
	(getComponentAfter): Throw exception, documentation added.
	(getComponentBefore): Throw exception, documentation added.
	(getFirstComponent): Throw exception, documentation added.
	(getLastComponent): Throw exception, documentation added.
	(getDefaultComponent): Throw exception, documentation added.
	* java/awt/EventQueue.java: Reindented.
	* java/awt/FocusTraversalPolicy.java:
	(FocusTraversalPolicy): Added comment.
	(getComponentAfter): Documentation added.
	(getComponentBefore): Documentation added.
	(getFirstComponent): Documentation added.
	(getLastComponent): Documentation added.
	(getDefaultComponent): Documentation added.
	(getInitialComponent): Documentation added.
	* java/awt/ScrollPane.java
	(wheelScrollingEnabled): New member variable.
	(ScrollPane): Initialize wheelScollingEnabled.
	(eventTypeEnabled): New method.
	(isWheelScrollingEnabled): New method.
	(setWheelScrollingEnabled): New method.

2003-03-02  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(closed): New member variable.
	(close): Use closed variable.
	(getInetAddress): No need to call isConnected().
	(getPort): No need to call isConnected().
	(disconnect): Reset remoteAddress and remotePort, fixed typo.
	(isClosed): Reimplemented.
	
2003-03-02  Michael Koch  <konqueror@gmx.de>

	* configure.in: Added check for memory mapping of files.
	* configure: Regenerated.
	* config.h.in: Regenerated.

2003-03-01  Jason Thorpe  <thorpej@wasabisystems.com>

	* posix-threads.cc: Include <unistd.h> if HAVE_UNISTD_H is defined.
	(_Jv_ThreadSetPriority): Test for _POSIX_THREAD_PRIORITY_SCHEDULING.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File.java (normalizePath): Remove trailing separator
	on Windows only if path is not of the form "x:\".

	* java/io/natFileWin32.cc (WIN32_EPOCH_MILLIS): New constant.
	(java::io::File::attr): Change formatting a bit and use
	WIN32_EPOCH_MILLIS instead of magic numbers.
	(java::io::File::isAbsolute): Path must have at least 3 
	characters for a UNC network path.
	(java::io::File::init_native): Define.
	(java::io::File::performCreate): Likewise.
	(java::io::File::performSetReadOnly): Likewise.
	(java::io::File::performSetLastModified): Likewise.
	(java::io::File::performListRoots): Likewise.

2003-03-01  Tom Tromey  <tromey@redhat.com>

	* java/lang/natObject.cc: Don't include assert.h.
	(heavy_lock_obj_finalization_proc): Use JvAssert.
	(remove_all_heavy): Likewise.
	(_Jv_MonitorEnter): Likewise.
	(_Jv_MonitorExit): Likewise.
	(wait): Likewise.

2003-03-01  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/File (getAbsolutePath): Prefix drive specifier on
	Windows for paths starting with a '\'.
	(toURL): Make URL more consistent with what Sun's JDK returns.

	* java/io/natFileWin32.cc (java::io::File::isAbsolute): Return
	true only if the path is a UNC network path or it starts with a
	drive specifier.

	* java/net/URLStreamHandler.java (parseURL): Correct minor typo.
	Be prepared to handle either '/' or '\\' in the file path for
	Windows if using the "file" protocol.
	Canonicalise the file path if using a relative path in the given
	context and the "file" protocol.

2003-03-01  Mohan Embar  <gnustuff@thisiscool.com>

	* java/lang/natWin32Process.cc (startProcess): Double-quote each
	program array element passed to CreateProcess.

2003-03-01  Tom Tromey  <tromey@redhat.com>

	* java/rmi/registry/RegistryHandler.java: Deprecate.

2003-03-01  Tom Tromey  <tromey@redhat.com>

	* javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleHyperlink.java: New versions from
	Classpath.

	* gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_ar_AE.java,
	gnu/java/locale/LocaleInformation_ar_BH.java,
	gnu/java/locale/LocaleInformation_ar_DZ.java,
	gnu/java/locale/LocaleInformation_ar_EG.java,
	gnu/java/locale/LocaleInformation_ar_IN.java,
	gnu/java/locale/LocaleInformation_ar_IQ.java,
	gnu/java/locale/LocaleInformation_ar_JO.java,
	gnu/java/locale/LocaleInformation_ar_KW.java,
	gnu/java/locale/LocaleInformation_ar_LB.java,
	gnu/java/locale/LocaleInformation_ar_LY.java,
	gnu/java/locale/LocaleInformation_ar_MA.java,
	gnu/java/locale/LocaleInformation_ar_OM.java,
	gnu/java/locale/LocaleInformation_ar_QA.java,
	gnu/java/locale/LocaleInformation_ar_SD.java,
	gnu/java/locale/LocaleInformation_ar_SY.java,
	gnu/java/locale/LocaleInformation_ar_TN.java,
	gnu/java/locale/LocaleInformation_ar_YE.java,
	gnu/java/locale/LocaleInformation_be_BY.java,
	gnu/java/locale/LocaleInformation_bn_IN.java,
	gnu/java/locale/LocaleInformation_br_FR.java,
	gnu/java/locale/LocaleInformation_bs_BA.java,
	gnu/java/locale/LocaleInformation_ca_ES.java,
	gnu/java/locale/LocaleInformation_cs_CZ.java,
	gnu/java/locale/LocaleInformation_cy_GB.java,
	gnu/java/locale/LocaleInformation_da_DK.java,
	gnu/java/locale/LocaleInformation_de_AT.java,
	gnu/java/locale/LocaleInformation_de_BE.java,
	gnu/java/locale/LocaleInformation_de_CH.java,
	gnu/java/locale/LocaleInformation_de_DE.java,
	gnu/java/locale/LocaleInformation_de_LU.java,
	gnu/java/locale/LocaleInformation_el_GR.java,
	gnu/java/locale/LocaleInformation_en_AU.java,
	gnu/java/locale/LocaleInformation_en_BW.java,
	gnu/java/locale/LocaleInformation_en_CA.java,
	gnu/java/locale/LocaleInformation_en_DK.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_en_HK.java,
	gnu/java/locale/LocaleInformation_en_IE.java,
	gnu/java/locale/LocaleInformation_en_IN.java,
	gnu/java/locale/LocaleInformation_en_NZ.java,
	gnu/java/locale/LocaleInformation_en_PH.java,
	gnu/java/locale/LocaleInformation_en_SG.java,
	gnu/java/locale/LocaleInformation_en_US.java,
	gnu/java/locale/LocaleInformation_en_ZA.java,
	gnu/java/locale/LocaleInformation_en_ZW.java,
	gnu/java/locale/LocaleInformation_es_AR.java,
	gnu/java/locale/LocaleInformation_es_BO.java,
	gnu/java/locale/LocaleInformation_es_CL.java,
	gnu/java/locale/LocaleInformation_es_CO.java,
	gnu/java/locale/LocaleInformation_es_CR.java,
	gnu/java/locale/LocaleInformation_es_DO.java,
	gnu/java/locale/LocaleInformation_es_EC.java,
	gnu/java/locale/LocaleInformation_es_ES.java,
	gnu/java/locale/LocaleInformation_es_GT.java,
	gnu/java/locale/LocaleInformation_es_HN.java,
	gnu/java/locale/LocaleInformation_es_MX.java,
	gnu/java/locale/LocaleInformation_es_NI.java,
	gnu/java/locale/LocaleInformation_es_PA.java,
	gnu/java/locale/LocaleInformation_es_PE.java,
	gnu/java/locale/LocaleInformation_es_PR.java,
	gnu/java/locale/LocaleInformation_es_PY.java,
	gnu/java/locale/LocaleInformation_es_SV.java,
	gnu/java/locale/LocaleInformation_es_US.java,
	gnu/java/locale/LocaleInformation_es_UY.java,
	gnu/java/locale/LocaleInformation_es_VE.java,
	gnu/java/locale/LocaleInformation_et_EE.java,
	gnu/java/locale/LocaleInformation_eu_ES.java,
	gnu/java/locale/LocaleInformation_fa_IR.java,
	gnu/java/locale/LocaleInformation_fi_FI.java,
	gnu/java/locale/LocaleInformation_fo_FO.java,
	gnu/java/locale/LocaleInformation_fr_BE.java,
	gnu/java/locale/LocaleInformation_fr_CA.java,
	gnu/java/locale/LocaleInformation_fr_CH.java,
	gnu/java/locale/LocaleInformation_fr_FR.java,
	gnu/java/locale/LocaleInformation_fr_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.java,
	gnu/java/locale/LocaleInformation_gd_GB.java,
	gnu/java/locale/LocaleInformation_gl_ES.java,
	gnu/java/locale/LocaleInformation_gv_GB.java,
	gnu/java/locale/LocaleInformation_he_IL.java,
	gnu/java/locale/LocaleInformation_hi_IN.java,
	gnu/java/locale/LocaleInformation_hr_HR.java,
	gnu/java/locale/LocaleInformation_hu_HU.java,
	gnu/java/locale/LocaleInformation_id_ID.java,
	gnu/java/locale/LocaleInformation_it_CH.java,
	gnu/java/locale/LocaleInformation_it_IT.java,
	gnu/java/locale/LocaleInformation_iw_IL.java,
	gnu/java/locale/LocaleInformation_ja_JP.java,
	gnu/java/locale/LocaleInformation_ka_GE.java,
	gnu/java/locale/LocaleInformation_kl_GL.java,
	gnu/java/locale/LocaleInformation_ko_KR.java,
	gnu/java/locale/LocaleInformation_kw_GB.java,
	gnu/java/locale/LocaleInformation_lt_LT.java,
	gnu/java/locale/LocaleInformation_lv_LV.java,
	gnu/java/locale/LocaleInformation_mi_NZ.java,
	gnu/java/locale/LocaleInformation_mk_MK.java,
	gnu/java/locale/LocaleInformation_mr_IN.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nl_BE.java,
	gnu/java/locale/LocaleInformation_nl_NL.java,
	gnu/java/locale/LocaleInformation_nn_NO.java,
	gnu/java/locale/LocaleInformation_no_NO.java,
	gnu/java/locale/LocaleInformation_oc_FR.java,
	gnu/java/locale/LocaleInformation_pl_PL.java,
	gnu/java/locale/LocaleInformation_pt_BR.java,
	gnu/java/locale/LocaleInformation_pt_PT.java,
	gnu/java/locale/LocaleInformation_ro_RO.java,
	gnu/java/locale/LocaleInformation_ru_RU.java,
	gnu/java/locale/LocaleInformation_ru_UA.java,
	gnu/java/locale/LocaleInformation_se_NO.java,
	gnu/java/locale/LocaleInformation_sk_SK.java,
	gnu/java/locale/LocaleInformation_sl_SI.java,
	gnu/java/locale/LocaleInformation_sq_AL.java,
	gnu/java/locale/LocaleInformation_sr_YU.java,
	gnu/java/locale/LocaleInformation_sv_FI.java,
	gnu/java/locale/LocaleInformation_sv_SE.java,
	gnu/java/locale/LocaleInformation_ta_IN.java,
	gnu/java/locale/LocaleInformation_te_IN.java,
	gnu/java/locale/LocaleInformation_tg_TJ.java,
	gnu/java/locale/LocaleInformation_tl_PH.java,
	gnu/java/locale/LocaleInformation_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java,
	gnu/java/locale/LocaleInformation_ur_PK.java,
	gnu/java/locale/LocaleInformation_uz_UZ.java,
	gnu/java/locale/LocaleInformation_vi_VN.java,
	gnu/java/locale/LocaleInformation_yi_US.java,
	gnu/java/locale/LocaleInformation_zh_CN.java,
	gnu/java/locale/LocaleInformation_zh_HK.java,
	gnu/java/locale/LocaleInformation_zh_SG.java,
	gnu/java/locale/LocaleInformation_zh_TW.java: Updated copyright
	info; from Classpath.

	* gnu/awt/xlib/XPanelPeer.java (beginLayout, endLayout,
	isPaintPending): New methods.
	* gnu/awt/xlib/XFramePeer.java (getState, setState,
	setMaximizedBounds): New methods.
	(beginLayout, endLayout, isPaintPending): Likewise.
	* gnu/awt/xlib/XCanvasPeer.java (isFocusable): New method.
	(requestFocus): Likewise.
	(isObscured): Likewise.
	(canDetermineObscurity): Likewise.
	(coalescePaintEvent): Likewise.
	(updateCursorImmediately): Likewise.
	(createVolatileImage): Likewise.
	(handlesWheelScrolling): Likewise.
	(createBuffers): Likewise.
	(getBackBuffer): Likewise.
	(flip): Likewise.
	(destroyBuffers): Likewise.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added DropTargetPeer.java,
	RobotPeer.java.
	* gnu/java/awt/GLightweightPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	java/awt/dnd/peer/DragSourceContextPeer.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
	java/awt/peer/ButtonPeer.java,
	java/awt/peer/CheckboxMenuItemPeer.java,
	java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
	java/awt/peer/ComponentPeer.java,
	java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
	java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
	java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
	java/awt/peer/MenuBarPeer.java,
	java/awt/peer/MenuComponentPeer.java,
	java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
	java/awt/peer/PopupMenuPeer.java,
	java/awt/peer/ScrollPanePeer.java,
	java/awt/peer/ScrollbarPeer.java, java/awt/peer/TextAreaPeer.java,
	java/awt/peer/TextComponentPeer.java,
	java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java:
	New versions from Classpath.
	* java/awt/dnd/peer/DropTargetPeer.java: New file from Classpath.
	* java/awt/peer/RobotPeer.java: Likewise.

2003-03-01  Mark Wielaard  <mark@klomp.org>

	* java/io/ObjectInputStream.java: Reindent.
	* java/io/ObjectOutputStream.java: Likewise.

2003-02-28  Hans Boehm  <Hans.Boehm@hp.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full
	jvalue for each argument. Simplify.
	* testsuite/libjava.jni/calls.c (docall),
	testsuite/libjava.jni/calls.java (longpb_f): check for argument
	misalignment.

2003-02-28  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (nat_source_files): Remove
	java/io/natObjectOutputStream.cc.
	* Makefile.in: Regenerated.
	* mauve-libgcj: Don't exclude java.io.ObjectInputOutput tests.
	* java/io/ObjectStreamField.java (typename): New field.
	(ObjectStreamField(String, Class)): Initialize new field.
	(ObjectStreamField(String, String)): New Constructor.
	(getTypeCode): Use new field.
	(getTypeString): Use new field.
	* java/io/ObjectOutputStream.java (writeObject): Rethrow fatal
	ObjectStreamExceptions. Remember and reset old BlockDataMode.
	Handle reading of Proxy classes. Never drain(), just write
	TC_ENDBLOCKDATA. Rethrow ObjectStreamExceptions.
	(drain): Check writeDataAsBlocks before calling writeBlockDataHeader.
	(flush): Call flush(), not just drain().
	(writeBoolean): Always use blockDataOutput.
	(writeByte): Likewise.
	(writeShort): Likewise.
	(writeChar): Likewise.
	(writeInt): Likewise.
	(writeLong): Likewise.
	(writeFloat): Likewise.
	(writeDouble): Likewise.
	(writeBytes): Likewise.
	(putfield (put(String,Object))): Throw IllegalArgumentException if
	field cannot be found.
	(putfield (write(ObjectOutput))): Remember old BlockDataMode.
	(writeArraySizeAndElements): Write byte[] in one go.
	(writeFields): Write TC_ENDBLOCKDATA when call_write_method, otherwise
	set BlockDataMode to false.
	(annotateProxyClass): New method.
	(defaultProtocolVersion): Now defaults to PROTOCOL_VERSION_2
	(getField): No longer native.
	(getMethod): Likewise.
	(setBlockDataMode): Always drain() on switch, return old mode.
	(static): New static code block.
	* java/io/natObjectOutputStream.cc: Removed.
	* java/io/ObjectInputStream.java (getField): No longer native.
	(getMethod): Likewise.
	(readObject): Remember and reset old BlockDataMode. Track whether
	object is consumed. Handle TC_ENDBLOCKDATA, TC_PROXYCLASSDESC and
	TC_LONGSTRING.
	(defaultReadObject): Set BlockDataMode to false during readFields.
	(resolveClass): Create new SecurityManager if necessary.
	Use Class.forName() if null ClassLoader found.
	(read(byte[],int,int): Copy remaining bytes to data before calling
	readNextBlock().
	(readFields): Set and reset BlockDataMode on call_read_method.
	Catch NoSuchFieldErrors.
	(setBlockDataMode): Return old mode.
	(static): New static code block.
	* java/io/natObjectInputStream.cc (getField): Removed.
	(getMethod): Likewise.

2003-02-27  Michael Koch  <konqueror@gmx.de>

	* java/beans/Beans.java,
	java/beans/FeatureDescriptor.java
	java/beans/PropertyEditorManager.java:
	Reformated to GNU style.

2003-02-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	New files, both are not compiled yet to get not noncompiling CVS.

2003-02-24  Tom Tromey  <tromey@redhat.com>

	* java/util/prefs/AbstractPreferences.java (isUserNode):
	Implemented.

2003-02-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (defineClass(byte[],int,int)):
	Deprecate.
	* java/lang/Thread.java (resume): Deprecate.
	* java/io/ByteArrayOutputStream.java (toString(int)): Fixed typo
	in @deprecated.

2003-02-23  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (JC1FLAGS): Added -Wno-deprecated.

2003-02-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (libraries_size, libraries_count,
	libraries): Removed.
	(add_library): Removed.
	(_load): Don't call add_library.
	(loadLibraryInternal): Likewise.
	(init): Likewise.
	(lookup_data): New struct.
	(find_symbol): New function.
	(_Jv_FindSymbolInExecutable): Use it.

2002-02-21  Anthony Green  <green@redhat.com>

	* java/lang/Thread.java (Thread): New constructor taking stack
	size parameter (ignored for now).
	* Many methods: Merged GNU Classpath documentation.

	* java/lang/Class.java (finalize): throws a Throwable.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (setComment): Don't check length when
	argument is null.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (ZipEntry(String)): When name is bigger
	then 65535 chars throw IllegalArgumentException.

2003-02-21  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (finalize): New method.

2003-02-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
	<cato@df.lth.se> for pointing to it.

2003-02-20  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Take result array as an
	argument.  Updated all callers.
	(modInverse): Removed unused variables.

2003-02-20  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
	config.status.
	* configure: Rebuilt.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Added support for platforms without network support.

2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h immediately
	after config.h.  Use <> for consistency.
	* java/lang/natObject.cc: Likewise.
	* java/lang/natRuntime.cc: Likewise.
	* java/lang/natSystem.cc: Likewise.
	* java/util/natTimeZone.cc: Likewise.
	* win32.cc: Likewise.
	* include/posix.h (fcntl, socket, connect, close, bind, accept,
	listen, write, read): Undef to avoid interference from OS macros.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Renamed two variables.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Renamed two variables.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Renamed two variables.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Renamed two variables.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Renamed two variables.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Renamed two variables.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Renamed two variables.
	* java/nio/CharBuffer.java
	(wrap): Fixed arguments to CharBufferImpl constructor.
	(hasArray): Only not read-only buffers have backing arrays.
	(length): Documentation added.
	(subSequence): Documentation added.
	* java/nio/DoubleBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/FloatBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/IntBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/LongBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/ShortBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	
2003-02-19  Michael Koch  <konqueror@gmx.de>

	* javax/accessibility/AccessibleContext.java
	(ACCESSIBLE_DESCRIPTION_PROPERTY): Fixed typo.

2003-02-19  Michael Koch  <konqueror@gmx.de>

	* java/awt/ScrollPaneAdjustable.java: Reformated.

2003-02-19  Michael Koch <konqueror@gmx.de>

	* gnu/awt/j2d/Graphics2DImpl.java
	(getFontRenderContext): New method.
	(drawGlyphVector): New method.
	* java/awt/Graphics2D.java
	(getFontRenderContext): New abstract method.
	(drawGlyphVector): New abstract method.
	
2003-02-18  Hans Boehm  <Hans.Boehm@hp.com>

	* gnu/awt/xlib/XToolkit.java (getFontMetrics): initialize
	if necessary.
	
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(setFont, gtkSetFont): add.
	gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer):
	Propagate font to peer.  (setFont): add FIXME comment.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkTextGetSize): fix height, width computation.

	* gnu/java/awt/peer/gtk/GtkFontPeer.java (GtkFontPeer):
	Make X font name a bit less bogus.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(post_adjustment_event): Pass on GTK_SCROLL_NONE.

	* java/awt/Scrollbar.java (setValues): Fix visibleAmount range check.
	(processAdjustmentEvent): Adjust value.

	* java/awt/FlowLayout.java (layoutContainer) Fix 2 indexing and one
	logic errors.

	* java/awt/Component.java (setVisible, show, hide): Call show and
	hide methods in subclasses.
	(getPreferredSize): don't set prefSize before we have peer.

	* java/awt/TextArea.java, java/awt/TextField.java (getPreferredSize):
	Guess (0,0) if we don't have peer.


2003-02-18  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/FileChannel.java
	(toString): New implementation, added documentation.
	(map): Added exception documentation.
	(size): Added exception documentation.
	(write): New methods, documentation work.
	(read): New methods, documentation work.
	(implCloseChannel): Rewrote exception documentation.
	(force): Throws IOException, added documentation.
	(lock): New methods.
	(tryLock): New methods.
	(position): New methods.
	(transferTo): New method.
	(transferFrom): New method.
	(truncate): New method.
	* java/nio/channels/spi/SelectorProvider.java
	(provider): Implemented.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/DatagramChannelImpl.java
	gnu/java/nio/FileChannelImpl.java
	gnu/java/nio/PipeImpl.java
	gnu/java/nio/SelectionKeyImpl.java
	gnu/java/nio/SelectorImpl.java
	gnu/java/nio/SelectorProviderImpl.java
	gnu/java/nio/ServerSocketChannelImpl.java
	gnu/java/nio/SocketChannelImpl.java
	java/nio/channels/FileLock.java
	(nat_java_source_files): Added the following files:
	gnu/java/nio/natFileChannelImpl.cc
	gnu/java/nio/natSelectorImpl.cc
	gnu/java/nio/natSocketChannelImpl.cc
	* Makefile.in: Regenerated.

2003-02-17  Tom Tromey  <tromey@redhat.com>

	* java/awt/image/ColorModel.java: Re-merged with Classpath.
	* java/awt/image/ImageFilter.java: Likewise.

2003-02-17  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java (euclidInv): Return array of
	`BigInteger's.  Changed all callers.

2003-02-17  Ranjit Mathew  <rmathew@hotmail.com>

	* java/util/Properties.java (store): Move the code formerly in
	list(), into this method.
	(list (PrintStream)): Just call list (PrintWriter) with a 
	PrintWriter object constructed from the given PrintStream object.
	(list (PrintWriter)): Emulate the output of Properties.list()
	as found in JDK 1.3/1.4.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(connect): Merged with classpath.
	(disconnect): Merged documentation with classpath.
	(receice): Merged documentation with classpath.
	(send): Merged documentation with classpath.
	
2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/DragSourceContext.java
	(addDragSourceListener): Added documentation.
	* java/awt/dnd/DragSourceDragEvent.java
	(serialVersionUID): New member variable.
	(getDropAction): Reformated.
	* java/awt/dnd/DragSourceDropEvent.java
	(serialVersionUID): New member variable.
	(dropSuccess): Renamed from success for serialization issues.
	* java/awt/dnd/DragSourceEvent.java
	(serialVersionUID): New member variable.
	* java/awt/dnd/DropTarget.java
	(serialVersionUID): New member variable.
	(DropTarget): Implemented, documentation reworked.
	(setComponent): Documentation added.
	(getComponent): Documentation added.
	(setDefaultActions): Documentation added.
	(getDefaultActions): Documentation added.
	(addDropTargetListener): Documentation added.
	* java/awt/dnd/DropTargetContext.java
	(DropTargetContext): Documentation added.
	(TransferableProxy.TransferableProxy): New method.
	(dropComplete): Fixed documentation.
	(getTransferable): Fixed documentation.
	(createTransferableProxy): Implemented.
	* java/awt/dnd/DropTargetDragEvent.java
	(DropTargetDragEvent): Documentation added.
	(serialVersionUID): New member variable.
	(DropTargetDragEvent): Throw exceptions, documentation added.
	(acceptDrag): Implemented.
	(getCurrentDataFlavors): Implemented.3yy
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(rejectDrag): Implemented.
	* java/awt/dnd/DropTargetDropEvent.java
	(DropTargetDropEvent): Documentation added.
	(serialVersionUID): New member variable.
	(actions): Renamed from srcActions for serialization issues.
	(isLocalTx): Renamed from isLocalTx for serialization issues.
	(DropTargetDropEvent): New implementation, throw exceptions,
	documentation added.
	(getCurrentDataFlavors): Implemented.
	(getCurrentDataFlavorsAsList): Implemented.
	(isDataFlavorSupported): Implemented.
	(getSourceActions): Implemented.
	(getDropAction): Implemented.
	(getTransferable): Implemented.
	(acceptDrop): Implemented.
	(rejectDrop): Implemented.
	* java/awt/dnd/DropTargetListener.java
	(drop): Fixed documentation.
	* java/awt/dnd/MouseDragGestureRecognizer.java
	(MouseDragGestureRecognizer): Documentation added.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/FontRenderContext.java,
	java/awt/font/ShapeGraphicAttribute.java,
	java/awt/font/MultipleMaster.java,
	java/awt/font/TransformAttribute.java,
	java/awt/font/GlyphJustificationInfo.java,
	java/awt/font/LineBreakMeasurer.java,
	java/awt/font/TextMeasurer.java,
	java/awt/font/TextLayout.java,
	java/awt/font/LineMetrics.java,
	java/awt/font/TextAttribute.java,
	java/awt/font/GlyphMetrics.java,
	java/awt/font/OpenType.java,
	java/awt/font/GlyphVector.java,
	java/awt/font/GraphicAttribute.java,
	java/awt/font/ImageGraphicAttribute.java,
	java/awt/font/NumericShaper.java: New files.
	* Makefile.am
	(awt_java_source_files): Added the following files:
	java/awt/font/FontRenderContext.java
	java/awt/font/ShapeGraphicAttribute.java
	java/awt/font/MultipleMaster.java
	java/awt/font/TransformAttribute.java
	java/awt/font/GlyphJustificationInfo.java
	java/awt/font/LineBreakMeasurer.java
	java/awt/font/TextMeasurer.java
	java/awt/font/TextLayout.java
	java/awt/font/LineMetrics.java
	java/awt/font/TextAttribute.java
	java/awt/font/GlyphMetrics.java
	java/awt/font/OpenType.java
	java/awt/font/GlyphVector.java
	java/awt/font/GraphicAttribute.java
	java/awt/font/ImageGraphicAttribute.java
	java/awt/font/NumericShaper.java
	* Makefile.in: Regenerated.

2003-02-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/print/Paper.java
	(Paper): Implements Cloneable.
	* java/awt/print/PrinterJob.java
	(setJobName): Return value must be void.
	(print): Throws PrinterException.
	
2003-02-16  Tom Tromey  <tromey@redhat.com>

	* verify.cc (_Jv_BytecodeVerifier::pop_jump): Removed unused
	variable.

2003-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/datatransfer/DataFlavor.java
	(isRepresentationClassByteBuffer): Removed try-catch block.
	(isRepresentationClassCharBuffer): Removed try-catch block.
	(isRepresentationClassReader): Removed try-catch block.

2003-02-15  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/nio/charset/Charset.java
	(isRegistered): Fixed method args and implementation.
	* java/nio/charset/CharsetEncoder.java
	(unmappableCharacterAction): New method.

2003-02-15  Michael Koch  <konqueror@gmx.de>

	* java/awt/CheckboxMenuItem.java
	(CheckBoxMenuItem): Dont implement Serializable.
	(getListeners): New method,
	(getItemListeners): New method.
	* java/awt/Choice.java
	(getListeners): New method,
	(getItemListeners): New method.
	* java/awt/Container.java
	(getListeners): Added exception documentation.
	(setFocusTraversalKeys): Throw exceptions, added documentattion.
	(getFocusTraversalKeys): Added documentation.
	(areFocusTraversalKeysSet): Added documentation.
	(applyComponentOrientation): Added documentation.
	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(implicitDownCycleTraversal): Renamed from downCycle for
	serialization.
	(ContainerOrderFocusTraversalPolicy): Added documentation.
	(accept): Reformated.
	* java/awt/Dialog.java
	(Dialog): Dont implement Serializable.
	(Dialog): Added documentation.
	* java/awt/Font.java
	(Font): Dont use absolute class name.
	* java/awt/Frame.java
	(Frame): Font implement Serializable.
	* java/awt/List.java
	(getListeners): New method,
	(getActionListeners): New method.	
	(getItemListeners): New method.
	* java/awt/Menu.java
	(countItems): New deprecated method.
	* java/awt/Scrollbar.java
	(getListeners): New method,
	(getAdjustmentListeners): New method,
	* java/awt/TextComponent.java
	(getListeners): New method,
	(getTextListeners): New method,
	* java/awt/TextField.java
	(getListeners): New method,
	(getActionListeners): New method.	
	* java/awt/Window.java
	(windowFocusListener): New member variable.
	(windowStateListener): New member variable.
	(getWindowFocusListeners): New method.
	(getWindowStateListeners): New method.
	(addWindowFocusListener): New method.
	(addWindowStateListener): New method.
	(removeWindowFocusListener): New method.
	(removeWindowStateListener): New method.
	* java/awt/datatransfer/DataFlavor.java
	(isRepresentationClassByteBuffer): New method.
	(isRepresentationClassCharBuffer): New method.
	(isRepresentationClassReader): New method.

2003-02-14  Mark Wielaard  <mark@klomp.org>

	* java/math/BigDecimal.java (BigDecimal(String)): Always set scale to
	zero when there is an exponent and the significant is zero.
	(divide): Always set scale to newScale even in special ZERO case.

2003-02-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (properties): Use Properties.clone.
	(setProperties): Likewise.

2003-02-14  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(SocketAccept): Removed.
	(accept): Commented out use of SocketAccept.

2003-02-13  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::seen_subrs): New field.
	(state::state): Initialize it.
	(state::clean_subrs): New method.
	(state::~state): Call it.
	(state::copy): Copy subroutine list.
	(state::add_subr): New method.
	(state::merge): Only register a change if the current subroutine
	hasn't yet been noted.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/InputStreamReader.java (getEncoding): Return null when
	closed.
	* java/io/OutputStreamWriter.java (getEncoding): Likewise.

2003-02-13  Mark Wielaard  <mark@klomp.org>
 
	* java/util/zip/InflaterInputStream.java (read): Return zero when len
	is zero.

2003-02-13  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedOutputStream.java (write(int)): Only flush when
	next byte cannot be buffered.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* java/awt/Label.java
	(Label): Don't implement Serializable directly.
	(addNotify): Fixed typo in documentation.
	* java/awt/List.java
	(List): Don't implement Serializable directly.
	* java/awt/PopupMenu.java
	(PopupMenu): Don't implement Serializable directly.
	* java/awt/ScrollPane.java
	(ScrollPane): Don't implement Serializable directly.
	* java/awt/Scrollbar.java
	(Scrollbar): Don't implement Serializable directly.
	* java/awt/TextArea.java
	(preferredSize): Fixed method arguments.
	* java/awt/TextField.java
	(TextField): Don't implement Serializable directly.
	* java/awt/color/ICC_ColorSpace.java
	(fromCIOXYZ): Documentation added.
	(getMinValue): Documentation added.
	(getMaxValue): Documentation added.
	* java/awt/datatransfer/DataFlavor.java
	(isMimeTypeEqual): May not be final.
	(clone): Throws CloneNotSupportedException.
	(getReaderForText): Don't throws UnsupportedEncodingException.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawString): New stubbed method.
	* java/awt/Graphics.java
	(drawString): New method.

2003-02-13  Casey Marshall  <rsdio@metastatic.org>

	PR libgcj/9271:
	* java/security/SecureRandom.java (next): Avoid bias in results.

2003-02-13  Michael  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java
	(lengthInternal): Must be native.
	(size): Check if channel is already closed.
	(implCloseChannel): Reformated.
	(read): w was unused, removed it.
	(read): Removed.
	(read): New method.
	(write): New method.
	(map): Check arguments.
	(force): Throws IOException, check if channel is closed.
	(transferTo): New method.
	(transferFrom): New method.
	(lock): New method.
	(tryLock): New method.
	(position): New method.
	(truncate): New method.
	(nio_mmap_file): Uncommented.
	(nio_munmap_file): Uncommented.
	(nio_msync): Uncommented.
	* gnu/java/nio/natFileChannelImpl.cc: New file.
	
2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(endian): New member variable.
	(get): New methods.
	(equals): New method.
	(compareTo): New method.
	(order): New methods.
	(compact): New method.
	(isDirect): New method.
	(slice): New method.
	(duplicate): New method.
	(asReadOnlyBuffer): New method.
	(asCharBuffer): New method.
	(asDoubleBuffer): New method.
	(asFloatBuffer): New method.
	(asIntBuffer): New method.
	(asLongBuffer): New method.
	(asShortBuffer): New method.
	(get*): New methods.
	(put*): New methods.
	(toString): New method.
	* java/nio/CharBuffer.java
	(CharBuffer): Implement Comparable instead of Cloneable.
	(get): May not be final.
	(put): May not be final.
	
2002-02-13  Ranjit Mathew  <rmathew@hotmail.com>

	* gnu/gcj/runtime/NameFinder.java (createStackTraceElement): Use
	lastIndexOf( ) instead of indexOf( ) to find the colon before
	the line number, because Win32 file names might contain a 
	drive letter and a colon at the start of an absolute path.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc
	(SocketConnect): This is not implemented yet.
	(SocketBind): This is not implemented yet.

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc,
	gnu/java/nio/natDoubleBufferImpl.cc,
	gnu/java/nio/natFloatBufferImpl.cc,
	gnu/java/nio/natIntBufferImpl.cc,
	gnu/java/nio/natLongBufferImpl.cc,
	gnu/java/nio/natShortBufferImpl.cc:
	Added copyright and license.
	* java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.

2003-02-13  Michael Koch  <konqueror@gmx.de>
 
	* gnu/java/util/prefs/FileBasedFactory.java,
	gnu/java/util/prefs/MemmoryBasedFactory.java,
	gnu/java/util/prefs/MemoryBasedPreferences.java,
	gnu/java/util/prefs/NodeReader.java,
	gnu/java/util/prefs/NodeWriter.java,
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/NodeChangeEvent.java,
	java/util/prefs/NodeChangeListener.java,
	java/util/prefs/PreferenceChangeEvent.java,
	java/util/prefs/PreferenceChangeListener.java,
	java/util/prefs/Preferences.java,
	java/util/prefs/PreferencesFactory.java:
	New files, all merged from classpath.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/util/prefs/FileBasedFactory.java,
	gnu/java/util/prefs/MemmoryBasedFactory.java,
	gnu/java/util/prefs/MemoryBasedPreferences.java,
	gnu/java/util/prefs/NodeReader.java,
	gnu/java/util/prefs/NodeWriter.java,
	(core_java_source_files): Added the following files:
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/NodeChangeEvent.java,
	java/util/prefs/NodeChangeListener.java,
	java/util/prefs/PreferenceChangeEvent.java,
	java/util/prefs/PreferenceChangeListener.java,
	java/util/prefs/Preferences.java,
	java/util/prefs/PreferencesFactory.java
	* Makefile.in: Regenerated.
 
2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/net/NetPermission.java
	(NetPermission): Make doucmentation match the method declaration.
	* java/net/NetworkInterface.java
	(equals): Reformated for GNU coding style.
	* java/net/ServerSocket.java: Merged with classpath.
	* java/net/Socket.java: Partly merged with classpath (Added some @since).
	* java/net/SocketImpl.java
	(localPort): Merged with classpath (initialize with -1).
	* java/net/SocketPermission.java: Merged with classpath (reindented).
	* java/net/URLDecoder.java: Merged with classpath (reindented).

2003-02-13  Michael Koch  <konqueror@gmx.de>

	* java/awt/GridBagConstraints.java
 	(FIRST_LINE_ENT, FIRST_LINE_START, LAST_LINE_END, LAST_LINE_START,
 	LINE_END, LINE_START, PAGE_END, PAGE_START): New constants.
 	* java/awt/KeyboardFocusManager.java
 	(setGlobalCurrentFocusCycleRoot): Must be public.
 	* java/awt/MenuComponent.java
 	(MenuComponent): Must be public.
 	* java/awt/Toolkit.java:
 	Added some empty lines to make documentation more readable.
 	(getFontPeer): Added @deprecated.
 	(getColorModel): Added exception documentation.
 	(getProperty): Fixed documentation.
 
2003-02-12  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (alpha*-*): Default to -mieee.
	* configure.in (IEEESPEC): New.
	* libgcj.spec.in (jc1): Add IEEESPEC.
	* configure: Rebuild.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* include/win32.h: Include ws2tcpip.h instead of
	winsock.h to obtain definition of the socklen_t type.
	Remove IP_TOS definition - not needed with ws2tcpip.h
	(_Jv_connect): Correct slight formatting error.

2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>

	* jni.cc (_Jv_LookupJNIMethod): Modify to accept the
	size of the arguments for a JNI function. For Win32,
	modify to search for all forms of possible exported
	names of an stdcall JNI function.
	(_Jv_JNIMethod::call): Modify to calculate the size
	of the arguments passed to a JNI function and pass
	it to _Jv_LookupJNIMethod.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/Channels.java: New file.
	* Makefile.am
	(ordinary_java_source_files): Added java/nio/channels/Channels.java.
	* Makefile.in: Regenerated.

2003-02-12  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(allocate): Implemented.
	(wrap): Implemented.
	* java/nio/CharBuffer.java:
	Some documentation added and reworked.
	(endian): Removed.
	(allocate): Implemented.
	(wrap): Implemented.
	(array): Throw exceptions.
	(arrayOffset): Throw exceptions.
	(toString): Implemented.
	(length): Implemented.
	(put): Implemented.
	(charAt): Implemented.

2003-02-11  John Leuner  <jewel@debian.org>

	* java/util/zip/ZipInputStream.java: Fix problem with 0-length 
	reads from end of file.

2003-02-11  Ranjit Mathew  <rmathew@hotmail.com>

	* java/io/natFileDescriptorWin32.cc 
	(java::io::FileDescriptor::read): Return -1 (EOF) if ReadFile( )
	returns with Win32 error code ERROR_BROKEN_PIPE.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* Makefile.in
	(libgcj_la_OBJECTS): Removed natSelctorImpl.la.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java:
	Reformated and removed some code.
	(backing_buffer): Removed.	
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ByteBufferImpl): Use parent constructor, initialize readOnly.
	* gnu/java/nio/CharBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(CharBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/DoubleBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(DoubleBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/FloatBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(FloatBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/IntBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(IntBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/LongBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(LongBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* gnu/java/nio/ShortBufferImpl.java:
	Reformated and removed some code.
	(array_offset): Removed.
	(ro): Renamed to readOnly.
	(ShortBufferImpl): Use parent constructor, initialize readOnly.
	(inc_pos): Removed.
	(order): New method.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/ByteBufferImpl.java
	gnu/java/nio/CharBufferImpl.java
	gnu/java/nio/DoubleBufferImpl.java
	gnu/java/nio/FloatBufferImpl.java
	gnu/java/nio/IntBufferImpl.java
	gnu/java/nio/LongBufferImpl.java
	gnu/java/nio/ShortBufferImpl.java
	java/nio/DoubleBuffer.java
	java/nio/FloatBuffer.java
	java/nio/IntBuffer.java
	java/nio/LongBuffer.java
	java/nio/ShortBuffer.java
	(nat_source_files): Added the following files:
	gnu/java/nio/natByteBufferImpl.cc
	gnu/java/nio/natCharBufferImpl.cc
	gnu/java/nio/natDoubleBufferImpl.cc
	gnu/java/nio/natFloatBufferImpl.cc
	gnu/java/nio/natIntBufferImpl.cc
	gnu/java/nio/natLongBufferImpl.cc
	gnu/java/nio/natShortBufferImpl.cc
	* Makefile.in: Regenerated.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natCharBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natDoubleBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natFloatBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natIntBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natLongBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/natShortBufferImpl.cc
	(nio_cast): Removed.
	(nio_put_*): Removed.
	(nio_get_*): Removed.
	* gnu/java/nio/SelectorProviderImpl.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/ByteBuffer.java
	(readOnly): Removed.
	(hasArray): Use isReadOnly() instead of readOnly.
	(array): Use isReadOnly() instead of readOnly.
	(arrayOffset): Use isReadOnly() instead of readOnly.
	* java/nio/CharBuffer.java
	(CharBuffer): Implements Cloneable and CharSequence.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/DoubleBuffer.java
	(DoubleBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(DoubleBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/FloatBuffer.java
	(FloatBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(FloatBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/IntBuffer.java
	(IntBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(IntBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/LongBuffer.java
	(LongBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(LongBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.
	* java/nio/ShortBuffer.java
	(ShortBuffer): Implements Comparable.
	(endian): Removed.
	(array_offset): New member variable.
	(ShortBuffer): New constuctor.
	(get): May not be final.
	(put): May not be final.
	(arrayOffset): Implemented.
	(order): Made abstract.
	(order): Removed.
	(as*Buffer): Removed.
	(get*): Removed.
	(put*): Removed.

2003-02-11   Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/SelectionKey.java
	(OP_ACCEPT, OP_CONNECT, OP_READ, OP_WRITE): Initialize with correct
	values.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java
	(write): Throws IOException.
	(connect): Throws IOException.
	(disconnect): Throws IOException.
	(read): Throws IOException.
	(receive): Throws IOException.
	(send): Throws IOException.
	* java/nio/channels/Pipe.java
	(open): Throws IOException.
	* java/nio/channels/SelectableChannel.java
	(configureBlocking): Throws IOException.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Throws IOException.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): Implements ByteChannel, ScatteringByteChannel,
	GatheringByteChannel.
	(read): Throws IOException.
	(write): Throws IOException.
	(finishConnect): Throws IOException.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(end): Throws AsynchronousCloseException.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(configureBlocking): Throws IOException.
	(implCloseChannel): Throws IOException.
	(implCloseSelectableChannel): Throws IOException.
	(implConfigureBlocking): Throws IOException.
	* java/nio/channels/spi/SelectorProvider.java
	(openDatagramChannel): Throws IOException.
	(openPipe): Throws IOException.
	(openSelector): Throws IOException.
	(openServerSocketChannel): Throws IOException.
	(openSocketChannel): Throws IOException.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileLockImpl.java,
	java/nio/channels/FileLock.java: New files.

2003-02-11  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/IllegalCharsetNameException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(IllegalCharsetException): New implementation.
	(getCharsetName): New implementation.
	* java/nio/charset/UnsupportedCharsetException.java
	(serialVersionUID): New member variable.
	(charsetName): New member variable.
	(UnsupportedCharsetException): New implementation.
	(getCharsetName): New implementation.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* javax/sql/ConnectionEvent.java (serialVersionUID): New field.
	(ex): Renamed from sqlException.

2003-02-10  Raif S. Naffah  <raif@fl.net.au>

	* gnu/java/security/provider/SHA1PRNG.java (ensureIsSeeded): new 
	method used to ensure seeding has occurred and that a specific 
	seed can be set and used.

2003-02-10  Ranjit Mathew  <rmathew@hotmail.com>

	* java/lang/Win32Process.java (destroy): Declare as native.
	(hasExited): New native method.
	(exitValue): Define.
	(getErrorStream): Likewise.
	(getInputStream): Likewise.
	(getOutputStream): Likewise.
	(waitFor): Declare as native.
	(startProcess): New native method.
	(cleanup): Likewise.
	(ConcreteProcess): Define.
	(outputStream, inputStream, errorStream): New members.
	(procHandle, exitCode): Likewise.

	* java/lang/natWin32Process.cc
	(java::lang::ConcreteProcess::cleanup): Define.
	(java::lang::ConcreteProcess::destroy): Likewise.
	(java::lang::ConcreteProcess::hasExited): Likewise.
	(java::lang::ConcreteProcess::waitFor): Likewise.
	(new_string): Likewise.
	(java::lang::ConcreteProcess::startProcess): Likewise.

2003-02-10  Raif S. Naffah <raif@fl.net.au>

	* java/math/BigInteger.java:
	Updated notice to include years 2002 and 3.
	Added 2 private (int) arrays with values from the HAC (Handbook of
	Applied Cryptography -A. Menezes & al): k[] that contains bit lengths
	and t[] that contains nbr. of tests --used in isProbablePrime().

	* java/math/BigInteger.java (make(long)): Merged into valueOf(long).

	* java/math/BigInteger.java (make(int[],int), add(int,int),
	add(BI,BI,int), times(BI,int), divide(long,long,BI,BI,int), gcd(BI),
	isProbablePrime(int), shift(BI,int), valueOf(String,int), neg(BI),
	bitOp(int,BI,BI), and(BI,int)): Use valueOf(long) instead of
	make(long).

	* java/math/BigInteger.java (euclidInv): Reduce number of work vars
	(euclidInv(int,int,int)): Now returns an array of 2 ints instead of 3.
	(euclidInv(BI,BI,BI)): Used to return an array of 2 BIs; now accepts 6
	BIs and returns void.
	(modInverse(BI)): Use new signatures of euclidInv().

	* java/math/BigInteger.java (isProbablePrime(int)): Use divide() with
	static small primes instead of remainder().
	Use pre-computed max nbr of trials based on bitlength of BI to test.
	Use pre-computed small primes for the trial tests instead of random
	numbers.

	* java/math/BigInteger.java (isOdd, isMinusOne, pow): Removed.
	not used.

	* java/math/BigInteger.java (format(int,StringBuffer)): Removed
	invoacation of MPN.chars_per_word().  not used.

	* java/math/BigInteger.java (gcd(int,int)): Declared 'tmp' once as
	local var and used where needed.

	* java/math/BigInteger.java (modPow(BI,BI)): Fixed spelling.
	Combined declaration with initialisation of locals.
	Removed unused var.

	* java/math/BigInteger.java: Style changes
	(pow(int)): Removed 'else' keyword.
	(toString(int)): idem.
	(doubleValue()): idem.
	(bitLength()): idem.
	(equals(Object)): Use static methods name in same class w/o prepending
	class name.
	(doubleValue()): idem.
	(setNegative(BI)): idem.
	(negate()): idem.
	(and(BI,int)): idem.
	(and(BI)): idem.
	(gcd(BI)): idem.
	(byteArrayToIntArray()): Removed casting to (int). this is
	std. behaviour.
	(canonicalize()): idem.
	(alloc(int)): Always instantiate a new BI.

2003-02-10  Tom Tromey  <tromey@redhat.com>

	* java/sql/Timestamp.java (compareTo(Object)): New method.
	(compareTo(Timestamp)): Likewise.
	(serialVersionUID): Updated.

2003-02-07  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (JarFile(String, boolean)): Read manifest
	when verify is true.
	(JarFile(File, boolean)): Likewise.
	(manifestRead): Set manifestRead field correctly.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal(valueOf): fix DiagBigDecimal val008, val013
	tests; see patch #1016 on Savannah.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/math/BigDecimal.java (BigDecimal): enhance parsing of exponents
	(toString): do not return Strings starting with . and - erroneously.
	Improves Mauve results to 12 of 600 instead of 16 of 338 on
	DiagBigDecimal.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java
	(PropertyDescriptor(String, Class)): Sanity check getter and setter
	methods.
	(PropertyDescriptor(String, Class, String, String)): Likewise.
	(PropertyDescriptor(String, Method, Method): Factor out getter and
	setter method sanity checks into new method.
	(findMethods): Don't do parameter sanity checking of get method here.
	(checkMethods): New method.

2003-02-07  Stephen Crawley  <crawley@dstc.edu.au>

	* java/beans/PropertyDescriptor.java: Reformat.

2003-02-04  Tom Tromey  <tromey@redhat.com>

	* java/io/PipedOutputStream.java (flush): Declare as throwing
	IOException.
	(close): Likewise.
	* java/io/PipedWriter.java (close): Declare as throwing
	IOException.
	* java/io/StringWriter.java (close): Declare as throwing
	IOException.

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* java/lang/natRuntime.cc (java::lang::Runtime::_load)): Take care
	of the fact that on Win32, JNI_OnLoad is an "stdcall" function and
	could also have been exported as "JNI_OnLoad@8" (MinGW) or
	"_JNI_OnLoad@8" (MSVC).

2003-02-03  Ranjit Mathew <rmathew@hotmail.com>

	* resolve.cc (_Jv_JNIMethod::ncode): Use stdcall calling
	convention on Win32 to invoke native JNI methods.

2003-02-03  Andrew Haley  <aph@redhat.com>

	* configure.host (x86_64): Enable interpreter.

2003-02-03  Andrew Haley  <aph@redhat.com>

	* libgcj.spec.in (jc1): Add BACKTRACESPEC.
        * configure.host (x86_64): Default to -fno-omit-frame-pointer.
        * configure.in (BACKTRACESPEC): New.
        * configure: Regenerate.

2003-02-02  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in (TOOLKIT) [xlib]: Set correctly.

	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Link against
	libstdc++.

2003-01-31  Mark WIelaard  <mark@klomp.org>

	* Makefile.in: Rebuilt.
	* Makefile.am (gtk_c_headers): Strip trailing / from jniinclude.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_NewObjectArray): Check that initializer can be
	cast to element type.
	(_Jv_JNI_SetObjectArrayElement): Check array bounds.
	(_Jv_JNI_GetObjectArrayElement): Likewise.

	* Makefile.in: Rebuilt.
	* Makefile.am (cond_x_ltlibrary): Renamed library to
	lib-gnu-awt-xlib.la.
	(lib_gnu_awt_xlib_la_SOURCES): Renamed.
	(EXTRA_lib_gnu_awt_xlib_la_SOURCES): Likewise.
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Likewise.
	(lib_gnu_awt_xlib_la_LIBADD): Likewise.
	(lib_gnu_awt_xlib_la_LDFLAGS): Likewise.
	(lib_gnu_awt_xlib_la_LINK): Likewise.
	(install-exec-hook): Removed.
	(lib-gnu-awt-xlib.la): Renamed.

2003-01-31  Tom Tromey  <tromey@redhat.com>

	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* acinclude.m4 (CHECK_FOR_BROKEN_MINGW_LD): Resurrected; was in
	aclocal.m4 and lost in some merge.

	* java/awt/Window.java (Window(Window,GraphicsConfiguration)):
	Don't try to find graphics configuration.
	* java/awt/Toolkit.java (default_toolkit_name): Use new
	Configuration entry.
	* gnu/classpath/Configuration.java.in (default_awt_peer_toolkit):
	New global.
	* configure: Rebuilt.
	* configure.in (TOOLKIT): New subst.
	(--enable-java-awt) [xlib, gtk]: Set TOOLKIT if required.
	Do AWT tests much earlier.  Run Gtk tests.  Make jniinclude
	directory.  Make output directories for .c files.
	* Makefile.in: Rebuilt.
	* Makefile.am (lib_gnu_java_awt_peer_gtk_la_SOURCES): New macro.
	(toolexeclib_LTLIBRARIES): Added cond_gtk_ltlibrary.
	(all_java_source_files): Added new sources.
	($(lib_gnu_java_awt_peer_gtk_la_OBJECTS)): New target.
	(gtk_c_files): New macro.
	(gtk_c_source_files): New macro.
	(cond_gtk_ltlibrary): New macro.
	($(gtk_c_files)): New target.
	(lib_gnu_java_awt_peer_gtk_la_LIBADD): New macro.
	(gtk_awt_peer_sources): New macro.
	(gtk_c_headers): New macro.
	($(gtk_c_headers)): New target.
	(ACLOCAL_AMFLAGS): New macro.
	* gtk.m4, glib.m4, libart.m4: New files.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GtkArg.java,
	gnu/java/awt/peer/gtk/GtkArgList.java,
	gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	gnu/java/awt/peer/gtk/GtkCanvasPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	gnu/java/awt/peer/gtk/GtkChoicePeer.java,
	gnu/java/awt/peer/gtk/GtkClipboard.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkContainerPeer.java,
	gnu/java/awt/peer/gtk/GtkDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	gnu/java/awt/peer/gtk/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkFramePeer.java,
	gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	gnu/java/awt/peer/gtk/GtkImage.java,
	gnu/java/awt/peer/gtk/GtkImagePainter.java,
	gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	gnu/java/awt/peer/gtk/GtkListPeer.java,
	gnu/java/awt/peer/gtk/GtkMainThread.java,
	gnu/java/awt/peer/gtk/GtkMenuBarPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkOffScreenImage.java,
	gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
	gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,
	gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	gnu/java/awt/peer/gtk/TestAWT.java,
	gnu/java/awt/peer/gtk/Test.java: New files from Classpath.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,
	jni/gtk-peer/gthread-jni.c, jni/gtk-peer/gthread-jni.h,
	jni/gtk-peer/gtkpeer.h, jni/classpath/jcl.c, jni/classpath/jcl.h,
	jni/classpath/jnilink.c, jni/classpath/jnilink.h,
	jni/classpath/native_state.c, jni/classpath/native_state.h,
	jni/classpath/primlib.c, jni/classpath/primlib.h: Likewise.

2003-01-31  Julian Dolby  <dolby@us.ibm.com>

	* java/util/Properties.java (load): Ignore backslash before EOF.

2003-01-30  Jeff Sturm  <jsturm@one-point.com>

	* java/lang/natClass.cc (initializeClass): Check tables when
	(state == JV_STATE_IN_PROGRESS).
	(_Jv_GetInterfaces): Use _Jv_WaitForState to link interface.
	* java/lang/natClassLoader.cc (_Jv_WaitForState): Handle
	interpreted classes.
	(linkClass0): Use _Jv_WaitForState.

2003-01-28  Oscar Pearce  <oscar@pearceenterprises.com>

	* java/awt/Component.java (processPaintEvent): Dispose of Graphics
	object when finished.

2003-01-28  Andreas Tobler  <a.tobler@schweiz.ch>

	* libjava/configure.host: Disable can_unwind_signal on darwin.

2003-01-28  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9254:
	* include/win32-threads.h (_Jv_Mutex_t): Convert to a struct
	additionally containing id of the owner thread as well as
	the number of nested times the thread has acquired the mutex.
	(_Jv_MutexInit): Initialise owner thread id and refcount to 0.
	(_Jv_MutexDestroy): Reset owner thread id and refcount to 0.
	(_Jv_MutexUnlock): Check if really the owner thread, reset
	owner thread id to 0 before leaving, if leaving for the last
	time.
	(_Jv_MutexLock): Set owner thread id in the mutex and increment
	refcount.
	(_Jv_ThreadYield): Yield using a call to Sleep(0).
	* win32-threads.cc (_Jv_CondWait): Check if really owner of
	the passed mutex.
	Pass handle of the broadcast event, instead of a pointer to it
	in Win32 ResetEvent( ) call.
	Remove incorrect return values.
	(_Jv_CondDestroy): Close both event handles and delete
	critical section.
	(_Jv_CondNotify): Check if really the owner thread.
	(_Jv_CondNotifyAll): Check if really the owner thread.
	(_Jv_InitThreads): Change daemon_cond to a manual-reset event.
	(really_start): Use SetEvent( ) to signal daemon_cond.
	(_Jv_ThreadWait): Remove SignalObjectAndWait( ) and use
	WaitForSingleObject( ) instead to wait for daemon_cond to be
	signalled.

2003-01-27  Ranjit Mathew  <rmathew@hotmail.com>

	* configure.in: Specifically define HAVE_BACKTRACE if building
	for MinGW.
	* include/win32.h: Remove HAVE_BACKTRACE definition.
	* gnu/gcj/runtime/natStackTrace.cc: Include platform.h.
	* configure: Rebuilt.

2003-01-27  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (toolexecdir, toolexecmainlibdir, toolexeclibdir):
	Set and AC_SUBST.  Remove USE_LIBDIR conditional.
	* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
	(toolexecmainlib_DATA): Renamed from toolexeclib_DATA.
	* Makefile.in, configure: Rebuilt.

2003-01-24  Ranjit Mathew  <rmathew@hotmail.com>

	Fixes PR java/9253:
	* java/io/natFileWin32.cc (performList): Append only "*.*"
	if the canonical file path already has a "\" at the end.

2003-01-24  Tom Tromey  <tromey@redhat.com>

	* defineclass.cc (handleMethodsEnd): Precompute code for static
	method.
	(handleCodeAttribute): Likewise.
	* resolve.cc (ncode): Use run_class for unsynchronized static
	methods.
	* include/java-interp.h (class _Jv_InterpMethod): Declare
	run_class.
	* interpret.cc (run_synch_class): Initialize class.
	(run) [insn_invokestatic]: Don't initialize class.
	[insn_anewarray]: Likewise.
	[insn_multianewarray]: Likewise.
	(run_class): New function.

2003-01-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findLoadedClass): Removed erroneous
	comment.

2003-01-22  Andrew Haley  <aph@redhat.com>

        * x86_64-signal.h: Add simple handler for x86_64 32-bit mode.
        * configure.host (CHECKREFSPEC): Define for x86_64.

2003-01-21  Tom Tromey  <tromey@redhat.com>

	* java/util/natResourceBundle.cc (getCallingClassLoader): Start
	search at 2, not 3.

2003-01-21  Vladimir Puskas  <vpuskas@eunet.yu>

	* java/io/natFileWin32.cc (isAbsolute): Check path length before
	looking at any characters.
	* java/io/natFilePosix.cc (_stat): Only compute `buf' if it will
	be used.
	(isAbsolute): Check path's length as well.

2003-01-17  Mark Wielaard  <mark@klomp.org>

	* Makefile.am (core_java_source_files): Add VMObjectStreamClass.java.
	(nat_source_files): Add natVMObjectStreamClass.cc.
	* Makefile.in: Regenerated.
	* gcj/javaprims.h (namespace java): Regenerated.
	* java/io/ObjectStreamClass.java (getClassUID): Call
	VMObjectStreamClass.hasClassInitializer().
	(hasClassInitializer): Removed.
	* java/io/VMObjectStreamClass.java: New class.
	* java/io/natVMObjectStreamClass.cc: New file.
	* java/lang/Class.h: Make java::io::VMObjectStreamClass friend class.

2003-01-16  Mark Wielaard  <mark@klomp.org>

	* java/net/SocketImpl.java (toString): Don't explicitly call
	toString() on possible null address.

2003-01-16  Michael Koch  <konqueror@gmx.de>

	* java/net/MulticastSocket.java
	(setInterface): Reindented.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/gcj/xlib/natGC.cc (fillPolygon): New method.
	* gnu/gcj/xlib/GC.java (fillPolygon): Declare.
	* gnu/awt/xlib/XGraphics.java (fillPolygon): Added translateX and
	translateY arguments.  Implement.
	* gnu/awt/j2d/IntegerGraphicsState.java (fillPolygon): Pass
	down translation arguments.
	(drawPolyline, drawPolygon): Fix incorrect tests.
	* gnu/awt/j2d/DirectRasterGraphics.java (fillPolygon): Added
	translateX and translateY arguments.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (xlib_includes): New macro.
	(INCLUDES): Use it.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/awt/xlib/XToolkit.java (getColorModel): Implemented.
	* gnu/awt/xlib/XGraphicsConfiguration.java (getPixel): Work with
	16-bit display mode.

2003-01-15  Scott Gilbertson  <scottg@mantatest.com>

	* java/awt/CardLayout.java (show): Rewrote.
	(gotoComponent): Removed `target' argument.  Simplified code.
	Don't pre-compute `choice' unless `what' is FIRST or LAST.
	Changed all callers.
	(NONE): Removed.
	
2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/net/InetSocketAddress.java
	(serialVersionUID): New member variable.
	* java/net/NetPermission.java
	(NetPermission): Dont implement java.io.Serialization directly.
	* java/net/SocketAddress.java:
	(serialVersionUID): Documentation added.
	
2003-01-14  Michael Koch  <konqueror@gmx.de>

	* java/awt/Label.java
	(Label): Implements javax.accessibility.Accessible;
	* java/awt/List.java
	(List): Implements javax.accessibility.Accessible;
	* java/awt/ScrollPane.java
	(ScrollPane): Implements javax.accessibility.Accessible;
	* java/awt/Scrollbar.java
	(Scrollbar): Implements javax.accessibility.Accessible;
	* java/awt/TextComponent.java
	(setCaretPosition): Throw exception, documentation added.
	* java/awt/Toolkit.java:
	Added some newlines in method documentations.
	(createButton): Exception documentation added.
	(createTextField): Exception documentation added.
	(createLabel): Exception documentation added.
	(createList): Exception documentation added.
	(createCheckbox): Exception documentation added.
	(createScrollbar): Exception documentation added.
	(createScrollPane): Exception documentation added.
	(createTextArea): Exception documentation added.
	(createChoice): Exception documentation added.
	(createFrame): Exception documentation added.
	(createWindow): Exception documentation added.
	(createDialog): Exception documentation added.
	(createMenuBar): Exception documentation added.
	(createMenu): Exception documentation added.
	(createMenuItem): Exception documentation added.
	(createFileDialog): Exception documentation added.
	(createCheckboxMenuItem): Exception documentation added.
	(loadSystemColors): Exception documentation added.
	(setDynamicLayout): Exception documentation added.
	(isDynamicLayoutSet): Exception documentation added.
	(isDynamicLayoutActive): Exception documentation added.
	(getScreenSize): Exception documentation added.
	(getScreenResolution): Exception documentation added.
	(getScreenInsets): Exception documentation added.
	(getColorModel): Exception documentation added.
	(getSystemClipboard): Exception documentation added.
	(getSystemSelection): Exception documentation added.
	(getMenuShortcutKeyMask): Exception documentation added.
	(getSystemEventQueue): Exception documentation added.
	* java/awt/Window.java:
	Reindented some code.
	(Window): Centralized implementation, documentation added.
	(finalize): Documentation added.
	(hide): Fixed typo in comment.
	(getWindowListeners): Documentation added.
	* java/awt/color/ColorSpace.java
	(toRGB): Documentation added.
	* java/awt/color/ICC_ColorSpace.java
	(ICC_ColorSpace): Documentation added.
	(toRGB): Throw exception, documentation added.
	(fromRGB): Throw exception, documentation added.
	(toCIEXYZ): Documentation added.
	(fromCIEXYZ): Documentation added.
	(getMinValue): Documentation added.
	(getMaxValue): Documentation added.
	* java/awt/geom/Dimension2D.java
	(clone): Documentation added.
	* java/awt/geom/GeneralPath.java
	(clone): Documentation added.
	* java/awt/geom/Line2D.java
	(clone): Documentation added.
	* java/awt/geom/QuadCurve2D.java
	(clone): Documentation added.
	* java/awt/image/ColorModel.java
	(ColorModel): Throw exception, documentation added.
	* java/awt/image/ImageFilter.java
	(clone): Doesnt throw CloneNotSupportedException.

2003-01-14  Andrew Haley  <aph@redhat.com>

	* java/lang/natRuntime.cc (_load): StackTrace access needs to be
	in a try block.

2003-01-10  Andrew Haley  <aph@redhat.com>

	* include/dwarf2-signal.h: Remove x86_64.
	* configure.host (x86_64 DIVIDESPEC): Remove.
	* include/x86_64-signal.h: New file.
	* configure.in: Regenerate.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(ch): Description added.
	(remotePort): Initialize with -1.
	(connect): Doesnt throws SocketException.
	* java/net/MulticastSocket.java
	(setInterface): Merge with Classpath.
	* java/net/ServerSocket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isBound): Reindented.
	(isClosed): Implemented.
	* java/net/Socket.java
	(closed): New member variable.
	(bind): Check if socket is closed.
	(connect): Check if socket is closed.
	(close): Close an associated channel too, set new value to closed.
	(isClosed): Implemented.

2003-01-10  Michael Koch  <konqueror@gmx.de>

	* java/awt/DisplayMode.java
	(equals): Fixed argument type and implementation.

2003-01-07  Tom Tromey  <tromey@redhat.com>

	* include/posix.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.
	* include/win32.h (_Jv_platform_usleep): Wrap in ifdef
	JV_HASH_SYNCHRONIZATION.

2003-01-07  Michael Koch  <konqueror@gmx.de>
 
 	* java/net/DatagramSocket.java:
 	Added classpath license info.
 	(DatagramSocket): Merged description with classpath.
 	(close): Merged description with classpath.
 	(getChannel): Merged description with classpath.
 	(getInetAddress): Merged description with classpath.
 	(getPort): Merged description with classpath.
 	(getLocalAddress): Merged description with classpath.
 	(getLocalPort): Merged description with classpath.
 	(getSoTimeout): Merged description with classpath.
 	(setSoTimeout): Merged description with classpath.
 	(getSendBufferSize): Merged description with classpath.
 	(setSendBufferSize): Merged description with classpath.
 	(getReceiveBufferSize): Merged description with classpath.
 	(setReceiveBufferSize): Merged description with classpath.
	
2003-01-04  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java: Merged with Classpath.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	* java/io/FileDescriptor.java (position): New private field.
	* java/io/natFileDescriptorPosix.cc (write): Up position.
	(setLength): Use and set position.
	(seek): Set position.
	(getFilePointer): Return position.
	(read): Up position.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	Merge with Classpath:
	* java/io/ObjectStreamClass.java (lookup): Split method and call
	lookupForClassObject().
	(lookupForClassObject): New method.
	(isProxyClass): New field.
	(setClass): Set isProxyClass, add object to classLookupTable, set
	superClass and calculateOffsets.
	(ObjectStreamClass): Set isProxyClass. Only set uid when Serializable
	and not a proxy class.
	(setFields): Set accessible true for serialPersistentFields.
	(getClassUID): Same for suid. And check if suid is of type long.
	(hasClassInitializer): Don't throw NoSuchMethodError.

2003-01-03  Mark Wielaard  <mark@klomp.org>

	* java/io/FileInputStream.java (finalize): Don't explicitly
	finalize FileDescriptor.

2003-01-03  Jeff Sturm  <jsturm@one-point.com>

	* configure.host (sparc*-*): Enable bytecode interpreter.

2003-01-03  Dhek Bhun Kho  <bhun@chello.nl>

	* gnu/java/rmi/server/UnicastServerRef.java (unexportObject):
	Don't throw RemoteException.
	* java/rmi/server/UnicastRemoteObject.java (unexportObject): Don't
	throw RemoteException.

2003-01-03  Joerg Brunsmann  <joerg_brunsmann@yahoo.de>

	* gnu/gcj/protocol/http/Connection.java (proxyPort, proxyInUse,
	proxyHost): New static fields.
	(<clinit>): Initialize new fields.
	(connect): Use proxy if necessary.
	(usingProxy): Implement.

2003-01-03  Eric Blake  <ebb9@email.byu.edu>

	* java/util/TreeMap.java (fabricateTree): Fix off-by-one error.
	(TreeIterator.remove): Prefer IllegalStateException over
	ConcurrentModificationException, to match Sun.

2002-12-22  Anthony Green  <green@redhat.com>

	* boehm.cc (_Jv_MarkObj): Mark the protectionDomain of a class.

2003-01-02  Mark Wielaard  <mark@klomp.org>

	* java/net/HttpURLConnection.java (HTTP_NOT_IMPLEMENTED): Must be
	public.
	(HTTP_USE_PROXY): Add field.
	(getResponseVals): Only set responseCode when not yet explicitly
	set by subclass.

2003-01-02  Artur Biesiadowski  <abies@pg.gda.pl>
	    Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipFile.java (entries): Now HashMap.
	(readLeShort(DataInput, byte[])): Read from given byte array.
	(readLeInt(DataInput, byte[]): Likewise.
	(readLeShort(byte[] b, int off)): New method.
	(readLeInt(byte[] b, int off)): Likewise.
	(readEntries): Use byte arrays to read info in bigger chunks.
	(getEntries): Return HashMap.
	(getEntry): Use HashMap.
	(locBuf): New private field.
	(checkLocalHeader): Use locBuf to read info in one chunk.
	(getInputStream): Use entries HashMap, wrap PartialInputStream
	in BufferedInputStream.
	(ZipEntryEnumeration): Use HashMap and Interator.

2003-01-02  Mark Wielaard  <mark@klomp.org>
	    Jeroen Frijters  <jeroen@sumatra.nl>

	* java/net/URLClassLoader.java (Resource.getCodeSource):
	Fix check certs == null.
	(getCanonicalFileURL): Removed method.
	(JarURLLoader): Don't call removed method.
	(FileURLLoader): Likewise.
	(FileURLLoader.getResource): Don't canonicalize file name.

2003-01-01  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): Added RMIClassLoaderSpi.
	* java/awt/AlphaComposite.java, java/awt/BasicStroke.java,
	java/awt/BufferCapabilities.java, java/awt/Button.java,
	java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
	java/awt/Container.java, java/awt/Cursor.java,
	java/awt/EventQueue.java, java/awt/FileDialog.java,
	java/awt/Graphics2D.java, java/awt/Label.java, java/awt/Menu.java,
	java/awt/MenuBar.java, java/awt/MenuComponent.java,
	java/awt/PopupMenu.java, java/awt/ScrollPane.java,
	java/awt/Scrollbar.java, java/awt/TextArea.java,
	java/awt/TextField.java, java/awt/color/CMMException.java,
	java/awt/color/ColorSpace.java, java/awt/color/ICC_Profile.java,
	java/awt/color/ProfileDataException.java,
	java/awt/datatransfer/Clipboard.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/FlavorMap.java,
	java/awt/datatransfer/SystemFlavorMap.java,
	java/awt/dnd/DragGestureEvent.java,
	java/awt/dnd/DragGestureRecognizer.java,
	java/awt/dnd/DragSource.java, java/awt/dnd/DropTarget.java,
	java/awt/event/WindowEvent.java, java/awt/geom/PathIterator.java,
	java/awt/im/InputMethodHighlight.java,
	java/io/PipedOutputStream.java, java/io/PipedWriter.java,
	java/rmi/server/RMIClassLoader.java: Merged from Classpath.

	* gnu/awt/j2d/Graphics2DImpl.java (drawImage): Changed type of
	`op' to BufferedImageOp.

2002-12-31  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/7416:
	* javax/naming/InitialContext.java (init): 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-31  Tom Tromey  <tromey@redhat.com>
            Ranjit Mathew  <rmathew@hotmail.com>

	Fix for PR libgcj/8997:
	* java/lang/natObject.cc (spin): Use _Jv_platform_usleep.
	Include platform.h.
	* include/posix.h (_Jv_platform_usleep): New function.
	* include/win32.h (_Jv_platform_usleep): New function.

2002-12-29  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated.
	* scripts/classes.pl (scan): Removed stray semicolon.

2002-12-30  Mark Wielaard  <mark@klomp.org>

	* java/net/URLStreamHandler.java (toExternalForm): Ignore port
	if zero or smaller.

2002-12-30  Mark Wielaard  <mark@klomp.org>

	* java/util/Properties (formatForOutput): Don't fall through to
	default case after escaping character.

2002-12-30  Mark Wielaard  <mark@klomp.org>

	* java/lang/StringBuffer.java (getChars): Remove wrong dstOffset check
	against count.

2002-12-27  Mark Mitchell  <mark@codesourcery.com>

	* boehm.cc: Remove stray semicolon.
	* interpret.cc: Likewise.
	* prims.cc: Likewise.
	* verify.cc (_Jv_BytecodeVerifier::verify_fail): Move definition
	earlier to ensure default arguments are processed.
	* gcj/array.h (JArray): Add forward declaration.
	(elements): Likewise.
	* gcj/javaprim.h: Remove stray semicolons.
	* include/bohm-gc.h: Likewise.
	* include/jni.h: Likewise.
	* include/jvm.h: Likewise.
	* java/lang/Class.h (_Jv_GetArrayClass): Declare _Jv_NewArrayClass.
	
2002-12-23  Jeff Sturm  <jsturm@one-point.com>

	* exception.cc (PERSONALITY_FUNCTION): Clear least-significant-bit
	of catch_type.
	* java/lang/natClass.cc (initializeClass): Link vtable, otable,
	idt tables after initializing superclass.
	* java/lang/natClassLoader.cc (uaddr): New typedef.
	(_Jv_PrepareCompiledClass): Resolve superclass, interfaces
	if they are constant pool indicies.  Don't link vtable, otable yet.

2002-12-21  Anthony Green  <green@redhat.com>

	* Makefile.am: Move org.xml.sax and org.w3c.dom into their own
	libraries.
	* Makefile.in: Rebuilt.

2002-12-19  Anthony Green  <green@redhat.com>

	* Makefile.am (ordinary_java_source_files): Add
	org/xml/sax/helpers/NewInstance.java.
	* Makefile.in: Rebuilt.
	* org/xml/sax/package.html, org/xml/sax/ext/package.html,
	org/xml/sax/helpers/package.html: New files.
	* org/xml/sax/*: Upgrade to SAX 2.0.1 release from
	http://www.saxproject.org.

2002-12-19  Andrew Haley  <aph@redhat.com>

	* java/util/natResourceBundle.cc: Include
	ArrayIndexOutOfBoundsException.h.
	(getCallingClassLoader): Don't put upper bound on stack search.
	Catch ArrayIndexOutOfBoundsException.

2002-12-19  Tom Tromey  <tromey@redhat.com>

	* libtool-version: Increased `current'.

2002-12-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (defineClass0): Removed erroneous
	comment.
	* java/lang/ClassLoader.java (defineClass): Use chained
	exception when rethrowing.
	* defineclass.cc (handleClassBegin): Mark class as interpreted.
	* java/lang/reflect/Modifier.java (INVISIBLE, INTERPRETED): New
	constants.
	* resolve.cc (_Jv_PrepareMissingMethods): New function.
	(_Jv_PrepareClass): Use it.
	* include/java-interp.h (_Jv_IsInterpretedClass): Rewrote.
	(_Jv_InterpClass): _Jv_PrepareMissingMethods now friend.
	* java/lang/Class.h (Class::getModifiers): Mask with ALL_FLAGS.
	(Class): _Jv_PrepareMissingMethods now friend.
	* java/lang/natClassLoader.cc (defineClass0): Use JvSynchronize.
	Record `NULL' for system class loader.
	(_Jv_RegisterInitiatingLoader): Use JvSynchronize.  Special case
	system class loader.
	(_Jv_FindClassInCache): Likewise.
	(_Jv_UnregisterClass): Use JvSynchronize.  Free old loader info.
	(_Jv_FindClass): Special case system class loader.
	* java/lang/natClass.cc (_Jv_abstractMethodError): New function.
	(_Jv_SetVTableEntries): Put _Jv_abstractMethodError into empty
	vtable slots.
	(_Jv_LayoutVTableMethods): Don't generate vtable slot for a method
	in a final class.
	(_getDeclaredMethod): Don't return synthetic methods.
	(getDeclaredMethods): Likewise.
	(_getMethod): Likewise.
	(_getMethods): Likewise.

2002-12-18  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  Mark Wielaard  <mark@klomp.org>

	* java/lang/ClassLoader.java (resolveClass0): Transform
	ClassNotFoundException to NoClassDefFoundError. Transform all other
	throwables to LinkageError.

2002-12-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (findLoadedClass): Now synchronized.

	* java/lang/ClassLoader.java (loadedClasses): New field.
	(defineClass): Fixed indentation.  Put new class in
	loadedClasses.
	(findLoadedClass): Implement here.
	* java/lang/natClassLoader.cc (findLoadedClass): Removed.

2002-12-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMClassLoader.cc.
	* gnu/gcj/runtime/natVMClassLoader.cc: New file.
	(gnu::gcj::runtime::VMClassLoader::findClass): Moved here.
	* java/lang/natClassLoader.cc
	(gnu::gcj::runtime::VMClassLoader::findClass): Removed.

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-10  Tom Tromey  <tromey@redhat.com>

	* include/win32.h: Fixed typo in "DISABLE_JAVA_NET".
	From Laurent Bardet <l.bardet@magic.fr>.

2002-12-09  Tom Tromey  <tromey@redhat.com>

	* include/win32.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* include/posix.h (_Jv_platform_solib_prefix): New define.
	(_Jv_platform_solib_suffix): Likewise.
	* java/lang/natRuntime.cc: Include StackTrace.h.
	(_load): Use findLibrary and new platform defines.
	(nativeGetLibname): Use new platform defines.

	* java/util/natResourceBundle.cc (getCallingClassLoader): Assume
	`t' won't be null.

2002-12-08  Mark Wielaard  <mark@klomp.org>

	* gnu/gcj/protocol/jar/Connection.java (getJarFile): download and
	cache remote jar files.
	* gnu/gcj/runtime/VMClassLoader.java: Don't construct jar URL, only
	add File.separator to URL when it is a directory.
	* java/lang/ClassLoader.java: Add Classpath javadoc.
	(parent): final.
	(getParent): Add (disabled) security check.
	(findLibrary): New default method.
	* java/net/JarURLConnection.java (getManifest): Implement.
	(getInputStream): Only create InputStream when entry exists.
	(getHeaders): Only use jarFileURLConnection or JarEntry to set length
	when they exist.
	* java/net/URLClassLoader.java: New/Rewritten version from Classpath.

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-06  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (toString): Use hostname when not null,
	don't do an explicit reverse getHostName() lookup.
	* java/net/Socket.java (setSocketImplFactory): When fac == null throw
	NullPointerException.

2002-12-06  Tom Tromey  <tromey@redhat.com>

	* include/java-interp.h (class _Jv_InterpMethod): Added
	JV_MARKOBJ_DECL.
	* boehm.cc (_Jv_MarkObj): Consolidated interpreter code.  Also
	mark `prepared' field of interpreted method.
	* interpret.cc (compile): Use _Jv_AllocBytes.

2002-12-05  Andrew Haley  <aph@redhat.com>

	* gnu/gcj/runtime/natStackTrace.cc (fillInStackTrace): Throw
	#ifdef (HAVE_BACKTRACE) around the whole function body.

2002-12-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_Jv_SetVTableEntries): Updated declaration.
	* resolve.cc: Don't include AbstractMethodError.h.
	(_Jv_abstractMethodError): Removed.
	* defineclass.cc (handleMethodsBegin): Initialize method index to
	-1.
	* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Don't set
	method index for "new" final method.
	(_Jv_SetVTableEntries): Compare index against -1 instead of using
	isVirtualMethod.  Added `flags' argument.
	(_Jv_MakeVTable): Throw exception for abstract method in concrete
	class.

2002-12-04  Tom Tromey  <tromey@redhat.com>

	* java/net/SocketPermission.java (hashCode): Rewrote.

2002-12-04  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natVMSecurityManager,
	natResourceBundle.
	* java/util/ResourceBundle.java (Security): Removed.
	(getCallingClassLoader): Now native.
	* java/util/natResourceBundle.cc: New file.
	* java/lang/natVMSecurityManager.cc: New file.
	* java/lang/VMSecurityManager.java (getClassContext): Now native.

2002-12-03  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-12-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/Character.java (forDigit): Formatting fix.

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-03  Andrew Haley  <aph@redhat.com>

	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): Call
	_Jv_PushClass.
	(_Jv_InitNewClassFields): Set protectionDomain and chain = NULL.
	(_Jv_PopClass): New.
	(_Jv_PushClass): New.
	* java/lang/natClass.cc (forName (jstring)): Use a StackTrace to
	discover the ClassLoader of our caller.
	(_Jv_CheckArrayStore): Don't check that a class is assignment
	compatible with Object.
	* java/lang/natVMTHrowable.cc: Delete.
	* gnu/gcj/runtime/StackTrace.java: New, partly copied from
	java.lang.VMThrowable.
	(StackTrace(), StackTrace(int)): New constructors.
	(classAt, methodAt, update, methodAtAddress): New methods.
	(map): New field.
	* java/lang/VMThrowable.java: Use StackTrace instead of
	natVMTHrowable.
	* java/lang/Class.h (getClassLoaderInternal): New.
	(class Class): Be friendly with _Jv_PopClass and _Jv_PushClass.
	Be friendly with gnu::gcj::runtime::StackTrace.
	(Object.chain): New field.
	* include/java-interp.h (class _Jv_InterpMethod): Be friendly with
	gnu::gcj::runtime::StackTrace.
	* gnu/gcj/runtime/natStackTrace.cc: New file.
	* gnu/gcj/runtime/MethodRef.java: New file.
	* prims.cc (_Jv_NewObjectArray): Use getClassLoaderInternal()
	instead of getClassLoader().
	* verify.cc (class _Jv_BytecodeVerifier): Likewise.
	java::lang::VMThrowable.
	* Makefile.am (core_java_source_files): Add MethodRef.java,
	StackTrace.java.
	(nat_source_files): Remove natVMThrowable.cc; add natStackTrace.cc.
	* Makefile.in: Rebuild.

2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>

	* configure.host [sh-linux* | sh[34]*-linux*]: Don't set
	CHECKREFSPEC and EXCEPTIONSPEC. Set can_unwind_signal to
	yes also for sh-linux* and sh[34]*-linux*.
	* configure.in: Add sh-linux* and sh[34]*-linux* cases and
	set SIGNAL_HANDLER to use DWARF2 exception for them.
	* configure: Regenerate.

2002-12-02  Tom Tromey  <tromey@redhat.com>

	* jni.cc: Added `name' argument.
	* include/jni.h (struct JNINativeInterface) [DefineClass]: Added
	`const char *' argument.
	(class _Jv_JNIEnv) [DefineClass]: Likewise.

2002-12-01  Tom Tromey  <tromey@redhat.com>

	Bug compatibility, for PR libgcj/8738:
	* 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-12-01  Mark Wielaard  <mark@klomp.org>

	* java/lang/SecurityManager.java: Remerge comments, indenting and
	checkXXX methods with Classpath.

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>

	For PR libgcj/8759:
	* java/beans/Introspector.java (flushCaches): New method.
	(flushFromCaches): Likewise.

2002-11-29  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java
	(open): Added exception documentation.
	(write): Added exception documentation.
	(connect): Added exception documentation.
	(disconnect): Added exception documentation.
	(isConnected): Added exception documentation.
	(read): Added exception documentation.
	(receive): Added exception documentation.
	(send): Added exception documentation.
	(validOps): 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-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/DatagramChannelImpl:
	(fd): New member variable to store file descriptor of socket.
	* gnu/java/nio/SelectionKeyImpl.java:
	(ops): Removed.
	(readyOps): New member variable.
	(interestOps): New member variable.
	(readyOps): Implemented.
	(readyOps): New method to set member variable readyOps.
	(interestOps): Replaced ops by interestOps.
	* gnu/java/nio/SelectorImpl.java:
	(SelectorImpl): Initialize key sets.
	(select): Call select with -1 instead of Long.MAX_VALUE).
	(java_do_select): Make it a native method.
	(getFDsAsArray): New helper method.
	(select): Remove canceled keys, give only interested file discriptors
	to java_do_select, set ready ops.
	(add): No need to initialize keys set here.
	(add_selected): No need to initialize selected set here.
	(deregisterCanceledKeys): New helper method.
	(register): Set interest ops, set attachments, added handling of datagram
	channels.
	* gnu/java/nio/ServerSocketChannelImpl:
	(SocketAccept): Renamed from NioSocketAccept.
	(implConfigureBlocking): Implemented.
	(accept): Use SocketAccept instead of NioSocketAccept.
	* gnu/java/nio/SocketChannelImpl:
	Reactivate native methods.

2002-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc,
	gnu/java/nio/natDoubleBufferImpl.cc,
	gnu/java/nio/natFloatBufferImpl.cc,
	gnu/java/nio/natIntBufferImpl.cc,
	gnu/java/nio/natLongBufferImpl.cc,
	gnu/java/nio/natSelectorImpl.cc,
	gnu/java/nio/natServerSocketChannelImpl.cc,
	gnu/java/nio/natShortBufferImpl.cc,
	gnu/java/nio/natSocketChannelImpl.cc:
	New files that implement native functionalities.

2002-11-29  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/CharBufferImpl.java:
	Reformated.
	(endian): New member variable string endianess of buffer.
	(CharBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	(subSequence): Implemented.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/FloatBufferImpl.java
	Reformated.
	(FloatBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/IntBufferImpl.java
	Added needed imports, Reformated.
	(IntBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/LongBufferImpl.java
	Reformated.
	(LongBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.
	* gnu/java/nio/ShortBufferImpl.java
	Reformated.
	(ShortBufferImpl): Moved position() after limit.
	(nio_*): Use native implementation.

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-26  Tom Tromey  <tromey@redhat.com>

	* verify.cc (pop_init_ref): New method.
	(verify_instructions_0) [op_iaload, op_laload, op_faload,
	op_daload, op_aaload, op_baload, op_caload, op_saload, op_iastore,
	op_lastore, op_fastore, op_dastore, op_aastore, op_bastore,
	op_castore, op_sastore, op_areturn, op_arraylength, op_checkcast,
	op_instanceof, op_monitorenter, op_monitorexit]: Use it.
	(verify_instructions_0) [op_invokevirtual, op_invokespecial,
	op_invokestatic, op_invokeinterface]:  Use pop_init_ref.  Don't
	let `this' argument be uninitialized.  Don't let `null' be passed
	as `this' to construtor.

2002-11-26  Mark Wielaard  <mark@klomp.org>

	* javax/transaction/HeuristicCommitException.java: Classpath merge.
	* javax/transaction/HeuristicMixedException.java: Likewise.
	* javax/transaction/HeuristicRollbackException.java: Likewise.
	* javax/transaction/InvalidTransactionException.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/TransactionRequiredException.java: Likewise.
	* javax/transaction/TransactionRolledbackException.java: Likewise.
	* javax/transaction/UserTransaction.java: Likewise.
	* javax/transaction/xa/XAException.java: Likewise.
	* javax/transaction/xa/XAResource.java: Likewise.
	* javax/transaction/xa/Xid.java: Likewise.

2002-11-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* java/net/natPlainDatagramSocketImpl.cc (socklen_t): Don't
	define.
	* java/net/natPlainSocketImpl.cc (socklen_t): Don't define.
	* include/posix.h (socklen_t): Define if not already defined.

2002-11-25  Tom Tromey  <tromey@redhat.com>

	* verify.cc (type::compatible): Backed out broken change.

	* verify.cc (type::compatible): Check initialization status
	first.
	* interpret.cc (run) [insn_invokespecial, invokespecial_resolved]:
	Don't use NULLCHECK.

2002-11-23  H.J. Lu <hjl@gnu.org>

	* acinclude.m4 (AC_COMPILE_CHECK_SIZEOF): Removed.
	Include ../config/accross.m4.
	* aclocal.m4; Rebuild.
	* configure: Likewise.

2002-11-23  Mark Wielaard  <mark@klomp.org>

	* javax/naming/AuthenticationException.java: Update copyright header.
	* 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.

	* javax/naming/spi/NamingManager.java (ofb): Package private.

2002-11-21  Mark Wielaard  <mark@klomp.org>

	* java/net/URL.java: Merge with Classpath (partly).
	* java/net/URLStreamHandler: Merge with Classpath.

2002-11-22  Michael Koch <konqueror@gmx.de>

	* include/posix.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	* include/win32.h:
	(_Jv_platform_on_close): Moved out of #ifndef DISBALE_JAVA_NET.
	(backtrace): Moved out of #ifndef DISBALE_JAVA_NET.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h: I put too much into the #ifndef DISABLE_JAVA_NET.
	Only the new network functions should be in it.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h: Moved new functions into a #ifndef DISABLE_JAVA_NET
	* include/win32.h: Moved new functions into a #ifndef DISABLE_JAVA_NET

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.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-21  Michael Koch <konqueror@gmx.de>

	* include/posix.h
	(_Jv_socket): New method.
	(_Jv_connect): New method.
	(_Jv_close): New method.
	(_Jv_platform_close_on_exec): Prefixed system function with "::".
	(_Jv_bind): New method.
	(_Jv_listen): New method.
	(_Jv_write): New method.
	(_Jv_read): New method.
	* include/win32.h
	(_Jv_socket): New method.
	(_Jv_connect): New method.
	(_Jv_close): New method.
	(_Jv_bind): New method.
	(_Jv_listen): New method.
	(_Jv_write): New method.
	(_Jv_read): New method.
	* java/net/natNetworkInterface.cc:
	Include platform.h, removed inclusion of socket.h
	(getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
	::close() by _Jv_close().
	* java/net/natPlainDatagramSocketImpl.cc:
	Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
	added some new lines to make code more readable.
	(create): Replaced ::socket() by _Jv_socket().
	(close): Replaced NATIVE_CLOSE() by _Jv_close().
	* java/net/natPlainSocketImpl.cc:
	Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
	removed include of socket.h, removed some windows defines
	(now in include/win32.h).
	(create): Replaced ::socket() by _Jv_socket().
	(close): Replaced NATIVE_CLOSE() by _Jv_close().
	(write): Replaced ::read by _Jv_write().
	(read): Replaced ::read by _Jv_read().

2002-11-20  Michael Koch <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added java/nio/channels/FileChannel.java.
	* Makefile.in: Regenerated.

2002-11-20  Michael Koch <konqueror@gmx.de>

	* java/io/FileInputStream.java
	(getChannel): New method.
	* java/io/FileOutputStream.java
	(getChannel): New method.
	* java/net/ServerSocket.java
	(bind): Removed duplicate code and called another bind method instead.
	* java/nio/channels/SelectionKey.java
	(isValid): Removed wrong exception documentation.
	* 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-20  Andreas Jaeger  <aj@suse.de>

	* configure: Regenerated with new libtool.m4.

2002-11-19  Tom Tromey  <tromey@redhat.com>

	* java/lang/ref/natReference.cc (add_to_hash): Look at `copy', not
	`referent'.
	(finalize_referred_to_object): Don't modify `referent' or `copy'
	fields.
	(add_to_hash): Correctly set `n->next' when updating list.
	* java/lang/ref/Reference.java (enqueue): Return false if already
	enqueued.

2002-11-19  Ranjit Mathew <rmathew@hotmail.com>

	* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
	to function and function pointer declarations in accordance with
	Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
	based on whether __GCJ_JNI_IMPL__ has been defined or not.
	* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
	JNI function definitions.

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>

	* java/net/PlainSocketImpl.java: Fix imports.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/SelectionKey.java
	(isValid): Added exception documentation.
	* java/nio/channels/Selector.java
	(open): Declare "throws IOException".

2002-11-18  Jesse Rosenstock <jmr@ugcs.caltech.edu>

	* java/nio/charset/Charset.java
	(<clinit>): New method.
	(encode): Synchronize use of cached encoder object.
	(decode): Synchronize use of cached encoder object.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/DatagramChannelImpl.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/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/ShortBufferImpl.java,
	gnu/java/nio/SocketChannelImpl.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java,
	java/nio/channels/FileChannel.java: New files.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* Makefile.am (ordinary_java_source_files):
	Added java/nio/ReadOnlyBufferException.java and
	java/nio/channels/ClosedSelectorException.java.
	* Makefile.in: Regenerated.

2002-11-18  Michael Koch <konqueror@gmx.de>

	* java/net/PlainSocketImpl.java: Reworked imports.
	* java/net/ServerSocket.java
	(ServerSocket): Create socket.
	* java/net/SocketAddress.java: Documentation added.
	* java/net/natPlainSocketImpl.cc: Reindented.
	* java/nio/ReadOnlyBufferException.java: New file
	* java/nio/channels/ClosedChannelException.java: Documentation added.
	* java/nio/channels/ClosedSelectorException.java: New file.

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 GNU Classpath.

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.

2002-11-15  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/8593:
	* java/util/zip/GZIPInputStream.java (read): Check file size.
	Look in inflater for remaining input bytes.
	(read4): Added buf and offset arguments.

2002-11-12  Eric Blake  <ebb9@email.byu.edu>

	* java/applet/AppletContext.java: Fix typo and remove redundant
	modifiers.

2002-11-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Set
	gnu.classpath.home.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/ByteBuffer.java
	(allocate): New method.
	(wrap): New method.
	(put): New method.
	(get): New method.

2002-11-13  Michael Koch <konqueror@gmx.de>

	* java/nio/channels/AlreadyConnectedException.java:
	Removed unneeded import.
	(AlreadyConnectedException): Documentation added.
	* java/nio/channels/Pipe.java
	(SinkChannel.SinkChannel): Documentation added.
	(SinkChannel.validOps): New method.
	(SourceChannel.SourceChannel): Documentation added.
	(SourceChannel.validOps): New method.
	(Pipe): Documentation added.
	(open): Documentation added.
	(SinkChannel.channel): Documentation added.
	(SourceChannel.channel): Documentation added.
	* java/nio/channel/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.
	* jaba/nio/channels/SelectionKey.java
	(SelectionKey): Documentation added.
	(attach): Documentation added.
	(attachment): Documentation added.
	(isAcceptable): Documentation added.
	(isConnetable): Documentation added.
	(isReadable): Documentation added.
	(isWritable): Documentation added.
	(cancel): Documentation added.
	(channel): Documentation added.
	(interestOps): Documentation added.
	(isValid): Documentation added.
	(readyOps): Documentation added.
	(selector): Documentation added.
	* jaba/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
	(AbstractInterruptibleChannel): Documentation added.
	(opened): Default to true;
	(begin): Documentation added.
	(close): Set opened to false, documentation added.
	(isOpen): Documentation added.
	* java/nio/channels/spi/AbstractSelectionKey.java
	(AbstractSelectionKey): Documentation added.
	(cancel): Documentation added.
	(isValid): Documentation added.
	* java/nio/channels/spi/AbstractSelector.java
	(AbstractSelector): Documentation added.
	(begin): Documentation added.
	(close): Documentation added.
	(isOpen): Documentation added.
	(deregister): Documentation added.
	(end): Documentation added.
	(provider): Documentation added.
	(implCloseSelector): Documentation added.
	(register): 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-12  Michael Koch <konqueror@gmx.de>

	* java/nio/Buffer.java: Implemented.
	* java/nio/CharBuffer.java: New file.
	* java/nio/InvalidMarkException.java: New file.
	* java/nio/channels/DatagramChannel.java: Implemented.
	* java/nio/channels/ServerSocketChannel.java: Implemented.
	* java/nio/channels/SocketChannel.java: Implemented.
	* java/nio/channels/spi/AbstractChannel.java: Removed.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	Implemented.
	* java/nio/charset/Charset.java:
	Merge from Classpath.
	* java/nio/charset/CharsetDecoder.java: New file.
	* java/nio/charset/CharsetEncoder.java: New file.
	* java/nio/charset/CoderResult.java: New file.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-11  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* 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: New files.

2002-11-11  Michael Koch <konqueror@gmx.de>

	* java/nio/charset/CharacterCodingException.java:
	This class must be public.
	* java/nio/charset/CoderMalfunctionError.java:
	This class must be public.
	* 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.

2002-11-11  Michael Koch <konqueror@gmx.de>

	* java/nio/BufferOverflowException.java,
	java/nio/BufferUnderflowException.java: New file.
	* Makefile.am (ordinary_java_source_files):
	Added new files.
	* Makefile.in: Regenerated.

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.

	* 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.

	* java/io/natFileDescriptorWin32.cc (read): Handle case where
	count is 0.
	* java/io/natFileDescriptorPosix.cc (read): Handle case where
	count is 0.

	* java/io/Externalizable.java, java/io/FilePermission.java,
	java/io/ObjectStreamConstants.java, java/io/Serializable.java,
	java/io/SerializablePermission.java, java/text/Format.java,
	java/util/AbstractMap.java, java/util/HashMap.java,
	java/util/LinkedHashMap.java, javax/naming/BinaryRefAddr.java: New
	versions from Classpath.

2002-11-10  Anthony Green  <green@redhat.com>

	* java/util/jar/Attributes.java (Name): Fix name check.

2002-11-10  Mark Wielaard  <mark@klomp.org>

	* java/lang/natClass.cc (initializeClass): Throw NoClassDefFoundError
	with getName() as message.
	(_Jv_CheckArrayStore): Throw ArrayStoreException with object and array
	type as message.

	* java/lang/natVMThrowable.cc: Don't declare parameter t, it is
	unused.

2002-11-08  Ranjit Mathew <rmathew@hotmail.com>

	* include/jni.h (JNIIMPORT, JNIEXPORT, JNICALL): Linker defines
	for Win32. JNICALL has been defined to __stdcall to be compatible
	with Sun's JDKs.

2002-11-10  Tom Tromey  <tromey@redhat.com>

	* java/awt/GridLayout.java (setColumns): Check newCols, not cols.
	(setRows): Check newRows, not rows.

	* jni.cc (_Jv_GetJNIEnvNewFrame): Set env->ex in all cases.

2002-11-09  Tom Tromey  <tromey@redhat.com>

	* java/applet/Applet.java, java/applet/AppletContext.java,
	java/applet/AppletStub.java, java/applet/AudioClip.java,
	java/awt/CardLayout.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/Cursor.java, java/awt/Event.java, java/awt/Frame.java,
	java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
	java/awt/GridLayout.java, java/awt/color/ColorSpace.java,
	java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ICC_ProfileGray.java,
	java/awt/color/ICC_ProfileRGB.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/dnd/DragSourceContext.java, java/awt/dnd/DropTarget.java,
	java/awt/dnd/DropTargetContext.java, java/awt/event/KeyEvent.java:
	New versions from Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added ICC_ProfileGray and
	ICC_ProfileRGB.

	* java/awt/ScrollPane.java (ScrollPane): Fixed test for valid
	display policy.

	* 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-07  Mark Wielaard  <mark@klomp.org>

	Merge Orp RMI patches from Wu Gansha <gansha.wu@intel.com>
	* 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.
	(getLocBytes): 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.

2002-11-07  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/natField.cc (getBoolean): Use getType().
	(getByte): Likewise.
	(getShort): Likewise.
	(getInt): Likewise.
	(getLong): Likewise.
	(getFloat): Likewise.
	(getDouble): Likewise.
	(get): Likewise.
	(setChar): Likewise.
	(setByte): Likewise.
	(setShort): Likewise.
	(setInt): Likewise.
	(setLong): Likewise.
	(setFloat): Likewise.
	(setDouble): Likewise.

2002-11-07  Michael Koch <konqueror@gmx.de>

	* java/awt/Choice.java,
	java/awt/Container.java,
	java/awt/GridBagLayout.java:
	Fixed documentation.
	* java/awt/peer/ContainerPeer.java:
	Reindented.

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.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.  For PR libgcj/8481.
	* java/util/Random.java (nextInt(int)): Only use 31 bits.

2002-11-06  Tom Tromey  <tromey@redhat.com>

	* jni.cc (array_from_valist): Assume that jlong won't be
	promoted.

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-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/ClassLoader.java (loadClass): Call loadClass on
	VMClassLoader, not findClass.

2002-11-03  Jeff Sturm  <jsturm@one-point.com>

	* resolve.cc (METHOD_NOT_THERE, METHOD_INACCESSIBLE): Remove.
	(_Jv_ResolvePoolEntry): Use _Jv_Method.index, not
	_Jv_DetermineVTableIndex, to determine vtable offset.
	(_Jv_DetermineVTableIndex): Remove.
	(_Jv_PrepareClass): Don't layout vtable.  Use _Jv_MakeVTable instead.

	* java/lang/Class.h (friend int _Jv_DetermineVTableIndex): Remove.

2002-11-03  Tom Tromey  <tromey@redhat.com>

	* java/nio/channels/AlreadyConnectedException.java: Extend
	IllegalStateException, per spec.

2002-10-31  Stephen Crawley  <crawley@dstc.edu.au>

	* java/lang/Double.java (valueOf): Return new Double(parseDouble(s)).

2002-10-31  Wu Gansha <gansha.wu@intel.com>:

	* java/util/ArrayList.java (readObject, writeObject): Only read/write
	size items.

2002-10-31  Wu Gansha <gansha.wu@intel.com>:

	* java/io/DataInputStream.java (convertFromUTF): Give StringBuffer an
	initial estimated size to avoid enlarge buffer frequently.

2002-10-31  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-31  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-31  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-11-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h: Move JV_STATE_ERROR before JV_STATE_DONE.
	* java/lang/natClass.cc (initializeClass): Don't return just
	because self==thread.

	For PR java/8415:
	* java/lang/reflect/natMethod.cc (getType): Use _Jv_FindClass.
	* prims.cc (_Jv_FindClassFromSignature): Indentation fix.

2002-11-02  Andreas Schwab  <schwab@suse.de>

	* Makefile.am (AM_MAKEFLAGS): Don't pass JC1FLAGS, CC and CXX, do
	pass GCJFLAGS.
	(FLAGS_TO_PASS): Define.
	* Makefile.in: Regenerated.

2002-11-01  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteOrder.java: New file.
	* java/nio/channels/DatagramChannel.java:
	(DatagramChannel): New constructor.
	* java/nio/channels/Pipe.java: New file.
	* java/nio/channels/SelectableChannel.java: New file.
	* java/nio/channels/SelectionKey.java: New file.
	* java/nio/channels/Selector.java: New file.
	* java/nio/channels/ServerSocketChannel.java
	(ServerSocketChannel): New constructor.
	* java/nio/channels/SocketChannel.java
	(SocketChannel): New constructor.
	* java/nio/channels/Pipe.java: New file.
	* java/nio/channels/spi/AbstractChannel.java: New file.
	* java/nio/channels/spi/AbstractInterruptibleChannel.java: New file.
	* java/nio/channels/spi/AbstractSelectableChannel.java:
	License added
	(AbstractSelectableChannel): New stubbed method.
	* java/nio/channels/spi/AbstractSelectionKey.java: New file.
	* java/nio/channels/spi/AbstractSelector.java: New file.
	* java/nio/channels/spi/SelectorProvider.java: New file.
	* java/nio/charset/Charset.java: New file.
	* java/nio/charset/CoderMalfunctionError.java: New file.
	* java/nio/charset/CodingErrorAction.java: New file.
	* java/nio/charset/spi/CharsetProvider.java
	(charsetForName): Uncommented.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-11-01  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	(isAnyLocalAddress): Implemented.
	(isLoopbackAddress): Implemented, comment added.
	(isLinkLocalAddress): Implemented, documentation added.
	(isSiteLocalAddress): Implemented, documentation added.
	(isMCGlobal): Implemented, documentation added.
	(isMCNodeLocal): Implemented, documentation added.
	(isMCLinkLocal): Implemented, documentation added.
	(isMCSiteLocal): Implemented, documentation added.
	(isMCOrgLocal): Implemented, documentation added.
	(getHostName): Documentation added.
	(getCanonicalHostName): Implemented, documentation added.
	(getAddress): Documentation added.
	(hashCode): Documentation added.
	(equals): Documentation added.
	(toString): Fixed implementation.
	(getByAddress): Use Inet4Address and Inet6Address.
	(lookup): New linewrap.
	(getByName): SecurityManager check added, support Inet4Address and
	Inet6address, comments added.
	(getAllByName): SecurityManager check added, comments added.
	* java/net/Inet6Address.java:
	(Inet6Address): Initialize parent class with addr instead of null.
	* java/net/URL.java
	(equals): Documentation added.
	(getFile): Documentation added.
	(hashCode): Documentation added.
	* java/net/natInetAddress.cc:
	(aton): Fix IPv6 support.
	* java/net/natPlainDatagramSocketImpl.cc:
	(peek): Throw PortUnreachableException when suitable.
	(peekData): Throw PortUnreachableException when suitable.
	(send): Throw PortUnreachableException when suitable.
	(receive): Throw PortUnreachableException when suitable.

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-31  Mark Anderson  <mark@panonet.net>

	* java/awt/GridBagLayout.java (setConstraints): New stubbed method
	added

2002-10-25  Krister Walfridsson  <cato@df.lth.se>

	* configure.in: Disable hash sync when not using threads.
	* configure: Regenerated.

2002-10-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc (_Jv_SetDLLSearchPath): New function.
	(_Jv_FindSymbolInExecutable): Removed argument name.
	(insertSystemProperties): Call _Jv_SetDLLSearchPath if
	java.library.path is set.

	* gij.cc (help): Document --showversion.
	(version): Don't exit.
	(main): Handle --showversion.  Exit if --version given.

2002-10-23  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNI_AllocObject): Removed old FIXME comment.
	(array_from_valist): Correctly handle promotion for jint, jlong,
	jfloat, and jdouble.

2002-10-23  Ranjit Mathew <rmathew@hotmail.com>

	* java/io/natFileWin32.cc (attr): Use FindFirstFile( ) instead of
	GetFileAttributesEx( ) to find file length and modification times,
	as the latter is not present on Windows 95.

2002-10-21  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java
	(URL): Activate SecurityManager checks.
	(equals): Use URLStreamHandler implementation instead of doing it
	alone. This allows special protocol stream handlers to change default
	behaviour.
	(hashCode): Use URLStreamHandler implementation instead of doing it
	alone. This allows special protocol stream handlers to change default
	behaviour.
	* java/net/URLStreamHandler.java
	(equals): Implemented default URL equality check.
	(hostsEqual): Implemented default URL equality check.
	(hashCode): Implemented default URL hashCode algorithm.
	* java/net/natPlainDatagramSocketImpl.cc:
	No lines longer then 80 characters.

2002-10-20  Adam Megacz <adam@xwt.org>

	* aclocal.m4 (CHECK_FOR_BROKEN_MINGW_LD): added
	* configure.in: enabled hash sync on Win32
	* include/win32-threads.h (_Jv_ThreadId_t): added.
	* java/lang/natObject.cc (_Jv_MonitorEnter, _Jv_MonitorExit,
	heavy_lock_obj_finalization_proc, wait, notify, notifyAll):
	removed some posix-isms, use Thread::sleep() instead of usleep,
	added code to clear bottom three bits if platform has a broken
	linker.
	* include/win32-threads.h (_Jv_ThreadId_t): added.

2002-10-19  Ranjit Mathew <rmathew@hotmail.com>

	* java/lang/natRuntime.cc (insertSystemProperties): Added GCJ
	runtime property "gnu.gcj.progname" containing the name used to
	invoke the current Java program (similar to argv[0] for C
	programs).

2002-10-15  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/8234:
	* java/util/zip/natInflater.cc (reset): Reset avail_in.
	* java/util/zip/natDeflater.cc (reset): Reset avail_in.

2002-10-13  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Enable Mauve tests that compile now.

2002-10-11  Mark Wielaard  <mark@klomp.org>

	Fix for PR libgcj/8142
	* java/lang/natClassLoader.cc (findClass): Skip inner classes when
	loading native modules.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractListModel.java
	(getListDataListeners): New stubbed method.
	javax/swing/DefaultBoundedRangeModel.java
	(getChangeListeners): New stubbed method.
	javax/swing/DefaultSingleSelectionModel.java
	(getChangeListeners): New stubbed method.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* gcj/.cvsignore: New file to ignore files generated during build.
	* include/.cvsignore: New file to ignore files generated during build.

2002-10-10  Michael Koch  <konqueror@gmx.de>

	* java/net/HttpURLConnection.java
	(getPermission): New method.
	(getErrorStream): New stub method.
	(getHeaderFieldDate): New stub method.
	* java/net/Inet4Address.java:
	(isLinkLocalAddress): Typo fixed.
	* java/net/InetAddress.java:
	(readResolve): New stubbed method (for serialization).
	(isAnyLocalAddress): New stubbed method.
	(isLoopbackAddress): New stubbed method.
	(isLinkLocalAddress): New stubbed method.
	(isSiteLocalAddress): New stubbed method.
	(isMCGlobal): New stubbed method.
	(isMCNodeGlobal): New stubbed method.
	(isMCLinkLocal): New stubbed method.
	(isMCSiteLocal): New stubbed method.
	(isMCOrgLocal): New stubbed method.
	(getCanonicalHostName): New stubbed method.
	(getByAddress): Create instances of Inet4Address/Inet6Address,
	instead of InetAddress, documentation added.
	* java/net/MulticastSocket.java
	(getInterface): Removed FIXME.
	(getNetworkInterface): New method.
	(setNetworkInterface): New method.
	* java/net/NetworkInterface.java:
	(toString): Use property "line.separator" instead of "\n".
	* java/net/URLConnection.java
	(getContent): New stubbed method.
	* java/net/URLStreamHandler.java:
	(equals): New stubbed method.
	(hostsEqual): New stubbed method.
	(hashCode): New stubbed method.
	* java/net/natNetworkInterface.cc:
	(getRealNetworkInterfaces): Create Inet4Address object
	instead of InetAddress.

2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* interpret.cc (_Jv_InterpMethod::run): Use UINT32 instead of
	unsigned long temporary to implement insn_iushr shifts.

2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.host [s390*-*]: Enable Java interpreter.
	Enable hash synchronization.  Add sysdeps dir.
	* sysdep/s390/locks.h: New file.

2002-10-06  Mark Wielaard  <mark@klomp.org>

	* java/lang/Thread.java (setDaemon): Check startable_flag,
	not isAlive().

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/Buffer.java: New stub file.
	* java/nio/charset/spi/CharsetProvider.java: Commented out all usages
	of class Charset.
	* Makefile.am (java_native_source_files): Added java/nio/Buffer.java.
	* Makefile.in: Regenerated.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java:
	removed import of not commited class.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java,
	java/nio/MappedByteBuffer.java:
	New files, forgot to add these dummies.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-10-07  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/AlreadyConnectedException.java,
	java/nio/channels/ClosedChannelException.java,
	java/nio/channels/ReadableByteChannel.java,
	java/nio/channels/InterruptibleChannel.java,
	java/nio/channels/Channel.java,
	java/nio/channels/ByteChannel.java,
	java/nio/channels/GatheringByteChannel.java,
	java/nio/channels/ScatteringByteChannel.java,
	java/nio/channels/WritableByteChannel.java,
	java/nio/charset/CharacterCodingException.java,
	java/nio/charset/IllegalCharsetNameException.java,
	java/nio/charset/MalformedInputException.java,
	java/nio/charset/UnmappableCharacterException.java,
	java/nio/charset/UnsupportedCharsetException.java,
	java/nio/charset/spi/CharsetProvider.java: New file.
	These files are exceptions or interfaces,
	no real or abstract classes.
	* Makefile.am (java_native_source_files): Added new files.
	* Makefile.in: Regenerated.

2002-10-05  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(getByAddress): Fixed documentation.
	(getByAddress): New method.
	* java/net/Inet4Address.java: New file.
	* java/net/URL.java
	(URL): Documentation added.
	(getContent): Documentation added.
	(getContent): New stubbed method.
	(getQuery): New method.
	(openConnection): Documentation added.
	(openStream): Documentation added.
	(setURLStreamHandlerFactory): Documentation added.
	* java/net/URI.java: New stub file.
	* Makefile.am
	(java_native_source_files): Added java/net/Inet4Address.java,
	java/net/Inet6Address.java and java/net/URI.java.
	* Makefile.in: Regenerated.

2002-10-04  C. Scott Ananian <cananian@lesser-magoo.lcs.mit.edu>

	* java/lang/ProtectionDomain.java (linesep): Remove field.
	(toString): Use System.getProperty("line.separator").

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* 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.

2002-10-04  Mark Wielaard <mark@klomp.org>

	* java/security/Security.java: Use java.home or gnu.classpath.home
	to load providers.
	(loadProviders): Extra dir argument.
	(getProvider): Return null when not found.

2002-10-04  Mark Wielaard  <mark@klomp.org>

	* java/lang/Throwable.java: Remerge with Classpath.

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java:
	(isMulticastAddress): Added documentation.
	(getHostAddress): Added documentation.
	(toString): Added documentation.
	(getByAddress): Fixed documentation.
	(getByName): Added documentation.
	(getAllByName): Added documentation.
	(getLocalHost): Added documentation.

2002-10-04  Michael Koch  <konqueror@gmx.de>

	* java/beans/beancontext/BeanContextChildSupport.java:
	Added serialVersionUID.
	* java/text/Collator.java: (compare): Made documentation HTML-aware.
	* javax/naming/BinaryRefAddr.java: Added serialVersionUID.
	* javax/naming/Name.java: Added serialVersionUID.

2002-10-03  Adam Megacz <adam@xwt.org>

	* natNetworkInterface.cc (getRealNetworkInterfaces): ifdef out
	some functionality that isn't supported yet on WIN32.

2002-10-03  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(class InetAddress): Removed final keyword.
	(equals): Fixed typo.
	(getByAddress): New method.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/awt/dnd/Autoscroll.java:
	New file, merge from Classpath.
	* java/awt/dnd/DragSourceAdapter.java:
	(dragExit): Fixed typos in argument type.
	(dragDropEnd): Fixed typos in argument type.
	* java/awt/dnd/DragSourceDropEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTarget.java:
	Added stubs, merge from Classpath.
	* java/awt/dnd/DropTargetAdapter.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetContext.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetDragEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetDropEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetEvent.java:
	New file, merge from Classpath.
	* java/awt/dnd/DropTargetListener.java:
	New file, merge from Classpath.
	* java/awt/dnd/MouseDragGestureRecognizer.java:
	New file, merge from Classpath.
	* java/awt/dnd/peer/DropTargetContextPeer.java:
	New file, merge from Classpath.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java
	(setLength): Fixed typo and be HTML-aware.
	* java/net/InetSocketAddress.java
	(InetSocketAddress): Correct initialization of hostname, fixed typo.
	(equals): Added comment about equality of InetSocketAddress objects.
	* java/net/ServerSocket.java
	(accept): Added checks.
	(isClosed): New stubbed method.
	* java/net/SocketOptions.java: Reindention.
	* java/net/SocketPermission
	(SocketPermission): Documentation fixed.

2002-10-03  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(receive): Check with SecurityManager AFTER the packet is received,
	check if connected to multicast address, documentation added.
	(send): Only check SecurityManager if connected, check address of
	packet to send.
	(connect): Implemented, documentation added.
	* java/net/Inet6Address.java: New file (not added yet to Makefile.am).
	* java/net/InetSocketAddress.java
	(whole file): Reindented.
	(hostname): New attribute.
	(InetSocketAddress): Initialize new attribute.
	(getAddress): Documentation added.
	(getHostName): Documentation added.
	(getPort): Documentation added.
	(hashCode): Documentation added.
	(isUnresolved): Documentation added.
	(toString): Conform to output of JDK 1.4.1, documentation added.
	* java/net/MulticastSocket.java
	(joinGroup): Removed FIXME, documentation added.
	(leaveGroup): Removed FIXME, documentation added.
	(send): Documentation added.
	* java/net/Socket.java
	(inputShutdown): New variable.
	(outputShutdown): New variable.
	(Socket): Initialize new variables.
	(getRemoteSocketAddress): Check if connected.
	(shutdownInput): Set new variable.
	(shutdownOutput): Set new variable.
	(isConnected): New method.
	(isClosed): New method.
	(isInputShutdown): New method.
	(isOutputShutdown): New method.
	* java/net/URLStreamHandler.java
	(URLStreamHandler): New method.
	(openConnection): Added documentation.
	(parseURL): Added documentation.
	(getHostAddress): New method.
	(getDefaultPort): New method.

2002-10-02  Tom Tromey  <tromey@redhat.com>

	* java/rmi/activation/ActivationDesc.java,
	java/rmi/activation/ActivationGroupDesc.java,
	java/rmi/activation/ActivationGroupID.java,
	java/rmi/activation/ActivationID.java: New versions from
	Classpath.

2002-09-30  Bo Thorsen  <bo@suse.de>

	* sysdep/x86-64/locks.h (compare_and_swap): Fix multilib support.

2002-09-30  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (resolveProxyClass): New method
	from Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (rmi_java_source_files): Added new files.
	* gnu/java/rmi/RMIMarshalledObjectInputStream.java,
	gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	gnu/java/rmi/server/ConnectionRunnerPool.java: New files from
	Classpath.
	* 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_Skel.java,
	gnu/java/rmi/registry/RegistryImpl_Stub.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/UnicastServer.java,
	gnu/java/rmi/server/UnicastServerRef.java,
	java/rmi/MarshalledObject.java,
	java/rmi/server/RMIClassLoader.java,
	java/rmi/server/RemoteObject.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/security/SecureClassLoader.java: Merged from Classpath.

2002-09-29  Anthony Green  <green@redhat.com>

	* java/lang/reflect/UndeclaredThrowableException.java: New file.
	Imported from GNU Classpath.
	* java/lang/reflect/natProxy.cc: New file.
	* java/lang/reflect/InvocationHandler.java: New file.  Imported
	from GNU Classpath.
	* java/lang/reflect/Proxy.java: New file.  Imported from GNU
	Classpath.
	* gnu/java/lang/reflect/TypeSignature.java: Refresh from GNU
	Classpath.
	* gnu/classpath/Configuration.java.in (HAVE_NATIVE_GET_PROXY_DATA,
	HAVE_NATIVE_GET_PROXY_CLASS, HAVE_NATIVE_GENERATE_PROXY_CLASS):
	New statics.
	* gcj/javaprims.h ("Java"): Add new classes.
	* java/lang/reflect/Proxy.java: Fix check for duplicate interfaces.
	* Makefile.am (java/lang/reflect/Proxy$$ProxyData.h): Create this.
	java/lang/reflect/Proxy$$ProxyType.h): And this.
	(inner_nat_headers): Add these new headers.
	(ordinary_java_source_files): Add new files.
	(nat_source_files): Add new file.
	* Makefile.in: Rebuilt.

2002-09-28  Richard Earnshaw  <rearnsha@arm.com>

	* configure.host: Handle arm*-elf, strongarm*-elf and xscale*-elf with
	a single configuration.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/TimeZone.java (getDSTSavings): New method.
	Fixes PR libgcj/7786.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* resolve.cc (_Jv_ResolvePoolEntry) [end_of_method_search]: Check
	to see if `the_method == 0' before looking up vtable index.
	Fixes PR libgcj/7709.

2002-09-25  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc:
	(_Jv_PrepareCompiledClass): Throw NoClassDefFoundError, per spec.
	* resolve.cc: Include NoClassDefFoundError.h, not
	ClassNotFoundException.h.
	(_Jv_ResolvePoolEntry): Throw NoClassDefFoundError, per spec.

	* defineclass.cc: Don't include ClassNotFoundException.h.

	* resolve.cc: Include StringBuffer.
	(_Jv_ResolvePoolEntry): Use StringBuffer to create error string.

	* boehm.cc (_Jv_MarkObj): Don't fail if class object has been
	allocated but not initialized.

2002-09-25  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	Fix for PR libgcj/7766:
	* java/util/zip/ZipInputStream.java (entryAtEOF): New field.
	(getNextEntry): Set it.
	(closeEntry): Likewise.
	(read): Likewise.
	(close): Likewise.
	(available): Use it.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Initialize new instance variables.
	(close): Reset new instance variables.
	(getLocalAddress): Remove unneeded SecurityManager usage.
	(getLocalPort): Check if socket is already bound.
	(isConnected): New method.
	(getInetAddress): Implemented.
	(getPort): Better Implementation, documentation fixed.
	(getRemoteSocketAddress): New method.
	* java/net/JarURLConnection.java
	(element): Typo fixed.
	(getMainAttributes): New method.
	(getAttributes): New method (stub only).
	(getManifest): New method (stub only).
	* java/net/NetPermission.java: Added serialVersionsUID.
	* java/net/Socket.java
	(connect): Check blocking mode of associated channel,
	documentation added.
	(getLocalSocketAddress): Better implementation.
	(getRemoteSocketAddress): Implemented.
	(isBound): New method.
	(setSendBufferSize): Documentation added.
	* java/net/SocketAddress.java: Added serialVersionsUID.
	* java/net/SocketPermission.java: Added serialVersionsUID.
	* java/net/URL.java
	(URL): Wrap for shorter lines, initialize new instance variables,
	documentation added.
	(equals): Check new instance variables too.
	(getContent): Documentation added.
	(getPath): Documentation added.
	(getAuthority): New method.
	(getHost): Documentation added.
	(getPort): Documentation added.
	(getDefaultPort): New method.
	(getProtocol): Documentation added.
	(getUserInfo): Documentation added.
	(set): Initialize new instance variables, documentation added.
	* java/net/URLStreamHandler.java
	(setURL): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(connect): Fix exception name.
	(disconnect): Fix exception name.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractSelectableChannel.java: New file.
	* java/nio/channels/DatagramChannel.java:
	extends AbstractSelectableChannel
	* java/nio/channels/ServerSocketChannel.java:
	extends AbstractSelectableChannel
	* java/nio/channels/SocketChannel.java:
	extends AbstractSelectableChannel
	* Makefile.am (ordinary_java_source_files):
	java/nio/channels/spi/AbstractSelectableChannel.java added.
	* Makefile.in: Regenerated.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Exception documentation added.
	(bind): Exception documentation added, addded SecurityManager check,
	added SocketAddress type check.
	(getSoTimeout): Check impl.
	(receive): Fix SecurityManager check, check impl, documentation added.
	(send): Check channel mode, documentation added.
	(connect): New method.
	(disconnect): Implemented.
	(getLocalSocketAddress): New method.
	(getReceiveBufferSize): Check impl.
	(setReuseAddress): Check impl.
	(getReuseAddress): Check impl.
	(setBroadcast): Check impl.
	(getBroadcast): Check impl.
	(setTrafficClass): Check impl, Documentation cleared.
	(getTrafficClass): Check impl.
	(getSendBufferSize): Check impl.
	(setReceiveBufferSize): Check impl, documentation added.
	(setSendBufferSize): Documentation added.
	(setDatagramSocketImplFactory): New method.
	* java/net/HttpURLConnection.java
	(HTTP_INTERNAL_ERROR): The correct code is 500.
	(HTTP_NOT_IMPLEMENTED): Added new constant.
	(setFollowRedirects): Documentation added.
	(getInstanceFollowRedirects): New method.
	(setInstanceFollowRedirects): New method.
	(setRequestMethod): Documentation added.
	(getResponseCode): Documentation added.
	(getResponseMessage): Documentation added.
	* java/net/JarURLConnection.java
	(JarURLConnection): protected since JDK 1.4.
	(getJarEntry): java.io.IOException to IOException, documentation added.
	(getJarFile): Documentation added.
	* java/net/ServerSocket.java
	(ServerSocket): Private to public, exception added.
	(ServerSocket): java.io.IOException to IOException, documentation added.
	(bind): Check socket address type, documentation added.
	(bind): java.io.IOException to IOException, documentation added.
	(accept): Documentation added.
	(implAccept): Check ch is not non-blocking, documentation added.
	(setSoTimeout): Documentation fixed.
	(setReceiveBufferSize): Documentation added.
	* java/net/Socket.java
	(Socket): Documentation added.
	(bind): Documentation added.
	(connect): Check socket address type, documentation added.
	(getRemoteSocketAddress): New method.
	(getLocalSocketAddress): New method.
	(setSoLinger): Documentation added.
	(getReuseAddress): New method.
	(setReuseAddress): New method.
	(getTrafficClass): New method.
	(setTrafficClass): New method.
	* java/net/URLStreamHandler.java
	(openConnection): java.io.IOException to IOException.
	(parseURL): Documentation added.
	(sameFile): public to protected, documentation added.
	(setURL): Documentation added.
	* java/nio/IllegalBlockingModeException.java: New file.
	* Makefile.am (ordinary_java_source_files):
	added java/nio/IllegalBlockingModeException.java
	* Makefile.in: Regenerated.

2002-09-25  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket
	(DatagramPacket): Exception documentation added.
	(setData): Likewise.
	(setSocketAddress): Likewise.
	* java/net/DatagramSocketImpl.java
	(peek): Documentation addded.
	(peekData): Documentation addded.
	(send): Documentation addded.
	(receive): Documentation addded.
	(connect): New method.
	(disconnect): New method.
	(joinGroup): New abstract method.
	(leaveGroup): New abstract method.
	* java/net/InetSocketAddress.java
	(InetSocketAddress): Documentation added.
	(equals): final keyword added.
	(getAddress): final keyword added.
	(getHostName): final keyword added.
	(getPort): final keyword added.
	(hashCode): final keyword added.
	(isUnresolved): final keyword added.
	* java/net/MulticastSocket.java
	(MulticastSocket): Documentation added.
	(MulticastSocket): New method.
	(joinGroup): Documentation added.
	(joinGroup): New method.
	(leaveGroup): Documentation added.
	(leaveGroup): New method.
	(send): Documentation added.
	* java/net/NetworkInterface.java
	(getByName): Documentation added.
	(getByInetAddress): Documentation added.
	(getNetworkInterfaces): Documentation added.
	* java/net/PlainDatagramSocketImpl.java
	(connect): New method.
	(disconnect): New method.
	* java/net/SocketImpl.java
	(create): Documentation added.
	(shutdownInput): Convert public to protected, as it always was.
	(shutdownOutput): Convert public to protected, as it always was.
	* java/net/SocketOptions.java
	(whole file): Reintented.
	* java/net/URLClassLoader.java
	(URLClassLoader): SecurityManager check added, documentation added.
	(findResources): Documentation added.
	(findClass): Documentation added.
	(newInstance): More correct method arguments.
	* java/net/URLConnection.java
	(connect): Documentation added.
	(getContent): Documentation added.
	(getPermission): Documentation added.
	(getInputStream): Documentation added.
	(getOutputStream): Documentation added.
	(setDoInput): Throw correct exception, documentation added.
	(setDoOutput): Throw correct exception, documentation added.
	(setAllowUserInteraction): Throw correct exception, documentation added.
	(setUseCaches): Throw correct exception, documentation added.
	(setIfModifiedSince): Throw correct exception, documentation added.
	(setRequestProperty): Throw exception, documentation added.
	(addRequestProperty): Throw exception, documentation added.
	(getRequestProperty): Throw exception, documentation added.
	(getRequestProperties): Documentation added.
	(setContentHandlerFactory): Documentation added.
	(guessContentTypeFromName): protected to public.
	(setFileNameMap): Documentation added.
	* java/net/URLDecoder.java
	(URLDecoder): New method.
	(decode): Documentation added.
	(whole file): Reindented.
	* java/net/URLEncoder.java
	(encode): Documentation added.
	* java/net/natPlainDatagramSocketImpl.cc
	(connect): New method.
	(disconnect): New method.
	* 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-22  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/6576:
	* 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  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.am (all-multi): Fix multilib parallel build.

2002-09-21  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(sendUrgentData): New method.
	(getChannel): New method.
	* java/net/ServerSocket.java
	(getChannel): New method.
	(isBound): New method.
	* java/net/DatagramSocket.java
	(DatagramSocket): Two new methods.
	(bind): New method.
	(getChannel): New method.
	(isBound): New method.
	(send): Added newline to to make shorter lines.
	* java/net/PlainDatagramSocketImpl.java
	(mcastGrp): Added argument.
	(join): Use new mcastGrp.
	(leave): Use new mcastGrp.
	(joinGroup): New method.
	(leaveGroup): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(mcastGrp): Added argument, no yet really implemented.
	(getOption): Added newline for shorter lines.
	* java/net/natPlainSocketImpl.cc
	(read, setOption, getOption): Added newline for shorter lines.

2002-09-19  Tom Tromey  <tromey@redhat.com>

       * java/lang/ClassLoader.java (resolveClass0): Set cause for
       newly-created exception.

2002-09-18  Michael Koch  <konqueror@gmx.de>

	* java/util/regex/Matcher.java, java/util/regex/Pattern.java,
	java/util/regex/PatternSyntaxException.java:
	Merge with classpath, new files.
	* Makefile.am (core_java_source_files):
	Added java/util/regex/Matcher.java,
	java/util/regex/Pattern.java,
	java/util/regex/PatternSyntaxException.java
	* Makefile.in: Regenerated.
	* include/config.h.in: Added HAVE_NET_IF_H.
	* java/net/natNetworkInterface.cc (getRealNetworkInterfaces):
	Removed #if 0 ... #endif.

2002-09-17  Michael Koch  <konqueror@gmx.de>

	* java/net/natNetworkInterface.cc:
	Removed unneed and yet wrong includes.

2002-09-17  Michael Koch  <konqueror@gmx.de>

	* java/net/NetworkInterface.java: New file.
	* java/net/natNetworkInterface.java: New file.
	* configure.in: Added check for net/if.h.
	* configure: Regenerated.
	* Makefile.am
	(ordinary_java_source_files): Added NetworkInterface.java.
	(nat_source_files): Added natNetworkInterface.cc.
	* Makefile.in: Regenerated.

2002-09-16  Tom Tromey  <tromey@redhat.com>

	* java/net/URLClassLoader.java (findClass): Code source for a
	class from a jar is not necessarily a jar: URL.

2002-09-16  Michael Koch  <konqueror@gmx.de>

	* java/lang/AssertionError.java:
	Merge with classpath, fixes HTML.
	* java/rmi/server/LogStream.java:
	Merge with classpath, fixes some constants.
	* java/net/server/RemoteServer.java:
	Merge with classpath, adds serialVersionUID.
	* javax/naming/BinaryRefAddr.java:
	Merge with classpath, s/equal/equals/.
	* javax/naming/NamingException.java:
	Merge with classpath, fixed typo.
	* javax/naming/RefAddr.java:
	Merge with classpath, s/equal/equals/.
	* java/awt/Toolkit.java:
	s/gnu.java.awt.peer.gtk.GtkToolkit/gnu.awt.gtk.GtkToolkit/
	and typo fixed.

2002-09-15  Adam Megacz <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: fixed typo.

2002-09-15  Adam Megacz <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: #ifdef-shielded socket timeouts,
	which don't work on Win32 (yet).

2002-09-14  Adam Megacz <adam@xwt.org>

	* java/net/natPlainDatagramSocket.cc: removed #include
	<ws2tcpip.h>; the mingw header is broken (conflicts with itself).
	* include/win32.h: included definition for IP_TOS to satisfy
	natPlainDatagramSocket.cc

2002-09-13  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java (DatagramPacket):
	Added linebreak for 80 chars per line.
	* java/net/JarURLConection.java
	(getInputStreami, getJarEntry): Likewise.
	* java/net/SocketPErmission.java
	(SocketPermission class docu, implies): Likewise.
	* java/net/URLClassLoader.java (findResources): Likewise.
	* java/net/URLConnection.java: Reindendet remark for 80 chars per line

2002-09-13  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/DatagramChannel.java,
	java/nio/channels/ServerSocketChannel.java
	java/nio/channels/SocketChannel.java:
	New dummy files to make java.net fully JDK 1.4 compatible
	* Makefile.am (ordinary_java_source_files): Added
	java/net/DatagramSocketImplFactory.java (long forgotten),
	java/nio/SocketChannel.java,
	java/nio/ServerSocketChannel.java,
	java/nio/DatagramChannel.java
	* Makefile.in: Regenrated.

2002-09-12  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocketImpl.java
	(peekData): New method.
	* java/net/PlainDatagramSocketImpl.java
	(peekData): New method.
	* java/net/natPlainDatagramSocketImpl.cc
	(peekData): New method.
	* java/net/URLConnection
	(getPermission): New method.
	(addRequestProperty): New method.
	(getRequestProperties): New method.
	(guessContentTypeFromStream): New method, not really implemented.
	(URLConnection): Added/updated documentation.
	(connect): Added/updated documentation.
	(getURL): Added/updated documentation.
	(getContentLength): Added/updated documentation.
	(getContentType: Added/updated documentation.
	(getContentEncoding): Added/updated documentation.
	(getExpiration): Added/updated documentation.
	(getDate): Added/updated documentation.
	(getLastModified): Added/updated documentation.
	(getHeaderField): Added/updated documentation.
	(getHeaderFields): Added/updated documentation.
	(getHeaderFieldInt): Added/updated documentation.
	(getHeaderFieldDate): Added/updated documentation.
	(getHeaderFieldKey): Added/updated documentation.
	(getContent): Added/updated documentation.
	(getInputStream): Added/updated documentation.
	(getOutputStream): Added/updated documentation.
	(toString): Added/updated documentation.
	(setDoInput): Added/updated documentation.
	(getDoInput): Added/updated documentation.
	(setDoOutput): Added/updated documentation.
	(getDoOutput): Added/updated documentation.
	(setAllowUserInteraction): Added/updated documentation.
	(getAllowUserInteraction): Added/updated documentation.
	(setDefaultAllowUserInteraction): Added/updated documentation.
	(getDefaultAllowUserInteraction): Added/updated documentation.
	(setUseCaches): Added/updated documentation.
	(getUseCaches): Added/updated documentation.
	(setIfModifiedSince): Added/updated documentation.
	(getIfModifiedSince): Added/updated documentation.
	(getDefaultUseCaches): Added/updated documentation.
	(setDefaultUseCaches): Added/updated documentation.
	(setRequestProperty): Added/updated documentation.
	(getRequestProperty): Added/updated documentation.
	(setDefaultRequestProperty): Added/updated documentation.
	(getDefaultRequestProperty): Added/updated documentation.
	(setContentHandlerFactory): Added/updated documentation.
	(guessContentTypeFromName): Added/updated documentation.
	(getFileNameMap): Added/updated documentation.
	(setFileNameMap): Added/updated documentation.

2002-09-11  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(Socket): protected to public (since JDK 1.4). Added @specnote.
	(bind): New method.
	(connect): Two new methods.
	(getKeepalive): Get correct socket option.
	(setKeepalive): Set correct socket option.
	(getOOBInline): New method.
	(setOOBInline): New method.
	* java/net/ServerSocket.java
	(bind): Two new methods.
	(getInetAddress): Reimplemented, catch exception.
	(getLocalSocketAddress): New method.
	(setReuseAddress): New method.
	(getReuseAdress): New method.
	(setReceiveBufferSize): New method.
	(getReceiveBufferSize): New method.
	(toString): Made string JDK 1.4 compliant.

2002-09-10  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketImpl.java
	(connect): New method.
	(supportsUrgentData): New method.
	(sendUrgentData): New method.
	* java/net/PlainSocketImpl.java
	(connect): One new method and two new implementation.
	(sendUrgentData): New method.
	* java/natPlainSocketImpl.cc
	(connect): Arguments changed, added support for timeouts.
	(getOption): Another __java_boolean to jboolean.

2002-09-07  Adam Megacz <adam@xwt.org>

	* java/net/natPlainDatagramSocket.cc: include ws2tcpip.h for
	definition of IP_TOS.

2002-09-04  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): Added documentation.
	(close): Likewise.
	(getLocalAddress): Likewise.
	(getLocalPort): Likewise.
	(receive): Likewise.
	(send): Likewise.
	(setSoTimeout): Likewise.
	(connect): New method.
	(disconnect): New method.
	(getInetAddress): New method (FIXME)
	(getPort): New method.
	(setReuseAddress): New method.
	(getReuseAddress): New method.
	(setBroadcast): New method.
	(getBroadcast): New method.
	(setTrafficClass): New method.
	(getTrafficClass): New method.
	* java/net/MulticastSocket.java):
	(getTTL): Added @see in documentation.
	(setTTL): Added @see in documentation.
	(setLoopbackMode): New method.
	(getLoopbackMode): New method.
	* java/net/PlainSocketImpl.java:
	Added new constants for the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	* java/net/PlainDatagramSocketImpl.java
	Added new constants for the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	* java/net/natPlainSocketImpl.cc
	(getOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	(setOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	This should also fix SO_KEEPALIVE
	* java/net/natPlainDatagramSocketImpl.cc
	(getOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS
	(setOption): Implemented the options SO_BROADCAST, SO_OOBINLINE,
	IP_MULTICAST_IF2, IP_MULTICAST_LOOP, IP_TOS

2002-09-04  Michael Koch  <konqueror@gmx.de>

	* java/net/SocketOptions.java: added static variables to be JDK 1.4
	compatible (SO_BROADCAST, SO_OOBINLINE, IP_MULTICAST_IF2,
	IP_MULTICAST_LOOP, IP_TOS

2002-09-03  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (_getDeclaredMethod): Declare.
	(_getMethod): Now private.
	* java/lang/natClass.cc (_getDeclaredMethod): Renamed from
	getDeclaredMethod.  Now returns NULL on failure.
	* java/lang/Class.java (_getDeclaredMethod): Declare.
	(getDeclaredMethod): No longer native; implements access checks.

2002-09-01  Mark Wielaard  <mark@klomp.org>

	* gnu/gcj/runtime/NameFinder.java (remove_interpreter): New field.
	(sanitizeStack): Correctly reset unknown and interpreter counters,
	detect interpreter runtime frames.
	(demangleInterpreterMethod): New method.
	* gnu/gcj/runtime/natNameFinder.cc (lookupInterp): Use new method.
	* java/lang/natVMThrowable.cc (fillInStackTrace): Change order of
	filling in addrs[].

2002-09-02  Michael Koch  <konqueror@gmx.de>

	* java/net/DatagramPacket.java, java/net/MulticsstSocket.java:
	re-indented documentation.

2002-08-30  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/util/Calendar.java (getTimeInMillis, getTimeInMillis): Now
	public, per 1.4 spec.  Fixes PR libgcj/7785.

2002-08-30  Jeff Sturm  <jsturm@one-point.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ZIP, GCJH): Remove $(EXEEXT).

2002-08-29  Tom Tromey  <tromey@redhat.com>

	* java/net/JarURLConnection.java (getCertificates): New method
	from Classpath.
	* java/net/URLClassLoader.java (URLClassLoader): Extends
	SecureClassLoader.
	(definePackage): New method from Classpath.
	(getPermissions): Likewise.
	(newInstance): Likewise.
	(findClass): Construct CodeSource for new class (from Classpath).
	* java/net/SocketImpl.java (shutdownInput, shutdownOutput): New
	methods.
	* java/net/URL.java (getUserInfo): New method.
	(set(String,String,int,String,String,String,String,String)): New
	method.
	* java/net/PlainSocketImpl.java (_Jv_SO_KEEPALIVE_): Define.
	(shutdownInput, shutdownOutput): Declare.
	* java/net/PlainDatagramSocketImpl.java (_Jv_SO_KEEPALIVE_):
	Define.
	* java/net/natPlainSocketImpl.cc (setOption): Handle keepalive.
	(getOption): Likewise.
	(shutdownInput): New method.
	(shutdownOutput): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (setOption): Handle
	keepalive.
	(getOption): Likewise.
	* java/net/SocketOptions.java (SO_KEEPALIVE): New constant.
	* java/net/Socket.java (setKeepAlive): New method.
	(getKeepAlive): Likewise.
	(shutdownInput, shutdownOutput): New methods.

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-29  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc (setLength): Handle case where
	ftruncate is missing.
	* configure, include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_FTRUNCATE): Mention.
	* configure.in: Check for ftruncate.

2002-08-29  Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (struct _Jv_frame_info): New structure.
	* gnu/gcj/runtime/natNameFinder.cc: Include StringBuffer.h,
	java-interp.h.
	(lookupInterp): New method.
	(getAddrAsString): Use _Jv_frame_info.
	(dladdrLookup): Likewise.
	* gnu/gcj/runtime/NameFinder.java (lookup): Try to look up
	interpreted frame.
	(lookupInterp): Declare.
	* java/lang/natVMThrowable.cc: Include Thread.h, java-interp.h.
	(fillInStackTrace): Collect information on interpreted frames.
	Use _Jv_frame_info.
	* interpret.cc: Include Thread.h.
	(run): Create and push _Jv_MethodChain object.
	(_Jv_EndOfInterpreter): New global.
	* java/lang/Thread.java (interp_frame): New field.
	* include/java-interp.h (struct _Jv_MethodChain): New structure.
	Include NameFinder.h.

2002-08-28  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h: Include Package.h.
	(Class::getProtectionDomain): Declare.
	(Class::getPackage): Declare.

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>

	* java/net/Authenticator.java: added some documentation.

2002-08-27  Tom Tromey  <tromey@redhat.com>

	* java/lang/reflect/natConstructor.cc (newInstance): Initialize
	class.
	* java/lang/reflect/natMethod.cc (invoke): Initialize class.

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-27  Tony Kimball <alk@pobox.com>
	    Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (NATIVE_CLOSE): New
	define.
	(::close): Removed.
	(PlainDatagramSocketImpl::close): Use NATIVE_CLOSE.
	* java/net/natPlainSocketImpl.cc (NATIVE_CLOSE): New define.
	(::close): Removed.
	(PlainSocketImpl::close): Use NATIVE_CLOSE.
	* include/win32.h (getcwd): Removed declaration.  Include io.h.

2002-08-25  Adam Megacz <adam@xwt.org>

	* include/win32.h (getcwd): copied function declaration as
	temporary fix for header confusion.

2002-08-24  Mark Wielaard <mark@klomp.org>

	* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
	(core_java_source_files): Add VMThrowable.java and NameFinder.java
	(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
	and natNameFinder.cc.
	* Makefile.in: Regenerate.
	* prims.cc: Use trace_enabled from VMThrowable.
	* name-finder.cc: Removed.
	* gcj/javaprims.h: Add class VMThrowable.
	* gnu/gcj/runtime/NameFinder.java: New file.
	* gnu/gcj/runtime/natNameFinder.cc: Likewise.
	* include/name-finder.h: Removed.
	* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
	method stackTraceString().
	(printStackTrace (PrintWriter)): Likewise.
	(stackTraceString): Complete rewrite of old printStackTrace using
	StringBuffer.
	(stackTraceStringBuffer): New helper method for stackTraceString().
	(fillInStackTrace): Delegate to VMTrowable.
	(getStackTrace): Likewise.
	(getStackTrace0): Removed.
	(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
	(setStackTrace): Copy given array.
	* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
	* java/lang/VMThrowable.java: New class.
	* java/lang/natVMThrowable.cc: New file.

2003-08-23  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java,
	java/netJarURLConnection.java,
	gnu/gcj/protocol/core/Connection.java,
	gnu/gcj/protocol/file/Connection.java,
	gnu/gcj/protocol/http/Connection.java: Added implementation of
	getHeaderFields().

2002-08-22  Tom Tromey  <tromey@redhat.com>

	* gij.cc (help): Document -cp and -classpath.
	(main): Handle -classpath.

2002-08-21  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added
	SocketAddress.java, InetSocketAddress.java.
	* java/net/PortUnreachableException.java: Merged with Classpath.
	* java/net/SocketTimeoutException.java: Likewise.
	* java/net/URISyntaxException.java: Likewise.
	* java/net/SocketAddress.java: New class from Classpath.
	* java/net/InetSocketAddress.java: Likewise.

2003-08-21  Michael Koch  <konqueror@gmx.de>

	* java/net/Authenticator.java: updated JDK 1.4
	* java/net/ContentHandler.java: updated JDK 1.4

2002-08-20  Michael Koch  <konqueror@gmx.de>

	* java/net/URISyntaxException.java: New file.
	* java/net/SocketTimeoutException.java: New file.
	* java/net/PortUnreachableException.java: New file.
	* Makefile.am: Updated.
	* Makefile.in: Rebuilt.

2002-08-18  Mark Wielaard  <mark@klomp.org>

	Thanks to Vladimir Puskas <vpuskas@eunet.yu>
	* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
	MessageDigestSpi (fixes Classpath bug #783).

2002-08-14  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	* java/lang/natPosixProcess.cc (cleanup): Added `path' argument.
	(startProcess): Allocate path for chdir in async-signal-safe way.

2002-08-13  Jesse Rosenstock  <jmr@ugcs.caltech.edu>

	Fix for PR libgcj/7570 and PR libgcj/7578:
	* java/lang/natPosixProcess.cc: Include java/io/File.h.
	(startProcess): Handle new `dir' argument.
	* java/lang/Win32Process.java (ConcreteProcess): Added `dir'
	argument.
	* java/lang/PosixProcess.java (ConcreteProcess): Added `dir'
	argument.
	(startProcess): Likewise.
	* java/lang/EcosProcess.java (ConcreteProcess): Added `dir'
	argument.
	* java/lang/Runtime.java (execInternal): Added `dir' argument.
	(exec): Don't create new environment if ENV==null.  Pass DIR to
	execInternal.
	* java/lang/natRuntime.cc: Include java/io/File.h.
	(execInternal): Added `dir' argument.

2002-08-13  Jesse Rosenstock  <jmr@fulcrummicro.com>

	* java/io/RandomAccessFile.java (skipBytes): Return number of
	bytes skipped.

2002-08-01  Mark Wielaard  <mark@klomp.org>

	Reenable patch since shared library troubles on powerpc are solved:
	* gnu/java/security/provider/Gnu.java: Reference all implementation
	classes by using Class.getName().
	* 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/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: New classes
	* Makefile.am (ordinary_java_source_files): Add above files.
	* Makefile.in: Regenerate.
	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): Don't maintain static class variable of Permissions.
	* gnu/java/security/provider/SHA.java
	(engineUpdate): algorithm change.
	(engineDigest): algorithm change.

2002-08-09  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.
	* javax/swing/text/html/HTML.java: Stub implementation.
	* javax/swing/text/html/parser/ParserDelegator.java: New stub
	implementation.

	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-08-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* gnu/awt/j2d/Graphics2DImpl.java: Implement stubs for new abstract
	methods in Graphics2D.

2002-08-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	AWT/Swing merge from GNU Classpath.

	* java/awt/AlphaComposite.java, java/awt/AttributeValue.java,
	java/awt/BasicStroke.java, java/awt/BufferCapabilities.java,
	java/awt/color/CMMException.java, java/awt/ColorPaintContext.java,
	java/awt/color/ProfileDataException.java,
	java/awt/CompositeContext.java,	java/awt/Composite.java,
	java/awt/ContainerOrderFocusTraversalPolicy.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/DefaultFocusTraversalPolicy.java,
	java/awt/DefaultKeyboardFocusManager.java, java/awt/DisplayMode.java,
	java/awt/dnd/DnDConstants.java, java/awt/dnd/DragGestureEvent.java,
	java/awt/dnd/DragGestureListener.java,
	java/awt/dnd/DragGestureRecognizer.java,
	java/awt/dnd/DragSourceAdapter.java,
	java/awt/dnd/DragSourceContext.java,
	java/awt/dnd/DragSourceDragEvent.java,
	java/awt/dnd/DragSourceEvent.java, java/awt/dnd/DragSource.java,
	java/awt/dnd/DragSourceListener.java,
	java/awt/dnd/DragSourceMotionListener.java,
	java/awt/dnd/DropTarget.java,
	java/awt/dnd/InvalidDnDOperationException.java,
	java/awt/dnd/peer/DragSourceContextPeer.java,
	java/awt/event/AWTEventListenerProxy.java,
	java/awt/event/MouseWheelEvent.java,
	java/awt/event/MouseWheelListener.java,
	java/awt/event/WindowFocusListener.java,
	java/awt/event/WindowStateListener.java,
	java/awt/FocusTraversalPolicy.java, java/awt/FontFormatException.java,
	java/awt/font/TextHitInfo.java, java/awt/geom/Arc2D.java,
	java/awt/geom/Area.java, java/awt/geom/CubicCurve2D.java,
	java/awt/geom/FlatteningPathIterator.java,
	java/awt/geom/GeneralPath.java, java/awt/geom/QuadCurve2D.java,
	java/awt/GradientPaint.java, java/awt/GraphicsConfigTemplate.java,
	java/awt/GraphicsDevice.java, java/awt/GraphicsEnvironment.java,
	java/awt/HeadlessException.java, java/awt/image/BufferedImageOp.java,
	java/awt/image/BufferStrategy.java, java/awt/ImageCapabilities.java,
	java/awt/image/ImagingOpException.java,
	java/awt/image/RasterFormatException.java,
	java/awt/image/RenderedImage.java, java/awt/image/TileObserver.java,
	java/awt/image/VolatileImage.java,
	java/awt/image/WritableRenderedImage.java,
	java/awt/im/InputContext.java, java/awt/im/InputMethodHighlight.java
	java/awt/im/InputMethodRequests.java, java/awt/im/InputSubset.java,
	java/awt/JobAttributes.java, java/awt/KeyboardFocusManager.java,
	java/awt/KeyEventDispatcher.java, java/awt/KeyEventPostProcessor.java
	java/awt/PageAttributes.java, java/awt/print/Book.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/Robot.java, java/awt/ScrollPaneAdjustable.java,
	java/awt/Stroke.java, java/awt/TexturePaint.java,
	javax/accessibility/AccessibleAction.java,
	javax/accessibility/AccessibleBundle.java,
	javax/accessibility/AccessibleComponent.java,
	javax/accessibility/AccessibleContext.java,
	javax/accessibility/AccessibleEditableText.java,
	javax/accessibility/AccessibleExtendedComponent.java,
	javax/accessibility/AccessibleExtendedTable.java,
	javax/accessibility/AccessibleHyperlink.java,
	javax/accessibility/AccessibleHypertext.java,
	javax/accessibility/AccessibleIcon.java,
	javax/accessibility/Accessible.java,
	javax/accessibility/AccessibleKeyBinding.java,
	javax/accessibility/AccessibleRelation.java,
	javax/accessibility/AccessibleRelationSet.java,
	javax/accessibility/AccessibleResourceBundle.java,
	javax/accessibility/AccessibleRole.java,
	javax/accessibility/AccessibleSelection.java,
	javax/accessibility/AccessibleState.java,
	javax/accessibility/AccessibleStateSet.java,
	javax/accessibility/AccessibleTable.java,
	javax/accessibility/AccessibleTableModelChange.java,
	javax/accessibility/AccessibleText.java,
	javax/accessibility/AccessibleValue.java,
	javax/swing/AbstractAction.java,
	javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/AbstractSet.java, javax/swing/Action.java,
	javax/swing/ActionMap.java, javax/swing/border/AbstractBorder.java,
	javax/swing/border/BevelBorder.java, javax/swing/border/Border.java,
	javax/swing/border/CompoundBorder.java,
	javax/swing/border/EmptyBorder.java,
	javax/swing/border/EtchedBorder.java, javax/swing/BorderFactory.java,
	javax/swing/border/LineBorder.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/border/TitledBorder.java,
	javax/swing/BoundedRangeModel.java, javax/swing/Box.java,
	javax/swing/BoxLayout.java, javax/swing/ButtonGroup.java,
	javax/swing/ButtonModel.java, javax/swing/CellEditor.java,
	javax/swing/CellRendererPane.java,
	javax/swing/colorchooser/AbstractColorChooserPanel.java,
	javax/swing/colorchooser/ColorChooserComponentFactory.java,
	javax/swing/colorchooser/ColorSelectionModel.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/ComboBoxEditor.java, javax/swing/ComboBoxModel.java,
	javax/swing/ComponentInputMap.java, javax/swing/DebugGraphics.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultCellRenderer.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultFocusManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/DefaultListModel.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/DesktopManager.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/AncestorListener.java,
	javax/swing/event/CaretEvent.java,
	javax/swing/event/CaretListener.java,
	javax/swing/event/CellEditorListener.java,
	javax/swing/event/ChangeEvent.java,
	javax/swing/event/ChangeListener.java,
	javax/swing/event/DocumentEvent.java,
	javax/swing/event/DocumentListener.java,
	javax/swing/event/EventListenerList.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/HyperlinkListener.java,
	javax/swing/event/InternalFrameAdapter.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/InternalFrameListener.java,
	javax/swing/event/ListDataEvent.java,
	javax/swing/event/ListDataListener.java,
	javax/swing/event/ListSelectionEvent.java,
	javax/swing/event/ListSelectionListener.java,
	javax/swing/event/MenuDragMouseEvent.java,
	javax/swing/event/MenuDragMouseListener.java,
	javax/swing/event/MenuEvent.java,
	javax/swing/event/MenuKeyEvent.java,
	javax/swing/event/MenuKeyListener.java,
	javax/swing/event/MenuListener.java,
	javax/swing/event/MouseInputAdapter.java,
	javax/swing/event/MouseInputListener.java,
	javax/swing/event/PopupMenuEvent.java,
	javax/swing/event/PopupMenuListener.java,
	javax/swing/event/SwingPropertyChangeSupport.java,
	javax/swing/event/TableColumnModelEvent.java,
	javax/swing/event/TableColumnModelListener.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TableModelListener.java,
	javax/swing/event/TreeExpansionEvent.java,
	javax/swing/event/TreeExpansionListener.java,
	javax/swing/event/TreeModelEvent.java,
	javax/swing/event/TreeModelListener.java,
	javax/swing/event/TreeSelectionEvent.java,
	javax/swing/event/TreeSelectionListener.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/event/UndoableEditListener.java,
	javax/swing/filechooser/FileFilter.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/filechooser/FileView.java,
	javax/swing/FocusManager.java, javax/swing/GrayFilter.java,
	javax/swing/Icon.java, javax/swing/ImageIcon.java,
	javax/swing/InputMap.java, javax/swing/InputVerifier.java,
	javax/swing/JApplet.java, javax/swing/JButton.java,
	javax/swing/JCheckBox.java, javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JColorChooser.java, javax/swing/JComboBox.java,
	javax/swing/JComponent.java, javax/swing/JDesktopPane.java,
	javax/swing/JDialog.java, javax/swing/JEditorPane.java,
	javax/swing/JFileChooser.java, javax/swing/JFrame.java,
	javax/swing/JInternalFrame.java, javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java, javax/swing/JList.java,
	javax/swing/JMenuBar.java, javax/swing/JMenuItem.java,
	javax/swing/JMenu.java,	javax/swing/JOptionPane.java,
	javax/swing/JPanel.java, javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java, javax/swing/JProgressBar.java,
	javax/swing/JRadioButton.java, javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JRootPane.java, javax/swing/JScrollBar.java,
	javax/swing/JScrollPane.java, javax/swing/JSeparator.java,
	javax/swing/JSlider.java, javax/swing/JSplitPane.java,
	javax/swing/JTabbedPane.java, javax/swing/JTable.java,
	javax/swing/JTextField.java, javax/swing/JTextPane.java,
	javax/swing/JToggleButton.java, javax/swing/JToolBar.java,
	javax/swing/JToolTip.java, javax/swing/JTree.java,
	javax/swing/JViewport.java, javax/swing/JWindow.java,
	javax/swing/KeyStroke.java, javax/swing/ListCellRenderer.java,
	javax/swing/ListModel.java, javax/swing/ListSelectionModel.java,
	javax/swing/LookAndFeel.java, javax/swing/MenuElement.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/MutableComboBoxModel.java,
	javax/swing/OverlayLayout.java,
	javax/swing/plaf/ActionMapUIResource.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/BasicLookAndFeel.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/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/PopupMenuUI.java,
	javax/swing/plaf/ProgressBarUI.java,
	javax/swing/plaf/RootPaneUI.java,
	javax/swing/plaf/ScrollBarUI.java,
	javax/swing/plaf/ScrollPaneUI.java,
	javax/swing/plaf/SeparatorUI.java,
	javax/swing/plaf/SliderUI.java,
	javax/swing/plaf/SplitPaneUI.java,
	javax/swing/plaf/TabbedPaneUI.java,
	javax/swing/plaf/TableHeaderUI.java,
	javax/swing/plaf/TableUI.java,
	javax/swing/plaf/TextUI.java,
	javax/swing/plaf/ToolBarUI.java,
	javax/swing/plaf/ToolTipUI.java,
	javax/swing/plaf/TreeUI.java,
	javax/swing/plaf/UIResource.java,
	javax/swing/plaf/ViewportUI.java,
	javax/swing/ProgressMonitorInputStream.java,
	javax/swing/ProgressMonitor.java,
	javax/swing/Renderer.java,
	javax/swing/RepaintManager.java,
	javax/swing/RootPaneContainer.java,
	javax/swing/Scrollable.java,
	javax/swing/ScrollPaneConstants.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SingleSelectionModel.java,
	javax/swing/SizeRequirements.java,
	javax/swing/SizeSequence.java,
	javax/swing/SwingConstants.java,
	javax/swing/SwingUtilities.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/TableCellEditor.java,
	javax/swing/table/TableCellRenderer.java,
	javax/swing/table/TableColumn.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/table/TableModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/AttributeSet.java,
	javax/swing/text/BadLocationException.java,
	javax/swing/text/Caret.java,
	javax/swing/text/CharacterIterator.java,
	javax/swing/text/ComponentView.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/DefaultEditorKit.java,
	javax/swing/text/Document.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/Element.java,
	javax/swing/text/GapContent.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/Keymap.java,
	javax/swing/text/MutableAttributeSet.java,
	javax/swing/text/PlainDocument.java,
	javax/swing/text/PlainEditorKit.java,
	javax/swing/text/Position.java,
	javax/swing/text/Segment.java,
	javax/swing/text/StyledDocument.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/text/Style.java,
	javax/swing/text/TextAction.java,
	javax/swing/text/ViewFactory.java,
	javax/swing/text/View.java,
	javax/swing/Timer.java,
	javax/swing/ToggleButtonModel.java,
	javax/swing/ToolTipManager.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/ExpandVetoException.java,
	javax/swing/tree/FixedHeightLayoutCache.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/TreePath.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/tree/VariableHeightLayoutCache.java,
	javax/swing/UIDefaults.java,
	javax/swing/UIManager.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/CannotRedoException.java,
	javax/swing/undo/CannotUndoException.java,
	javax/swing/undo/CompoundEdit.java,
	javax/swing/undo/StateEditable.java,
	javax/swing/undo/StateEdit.java,
	javax/swing/undo/UndoableEdit.java,
	javax/swing/undo/UndoableEditSupport.java,
	javax/swing/undo/UndoManager.java,
	javax/swing/UnsupportedLookAndFeelException.java,
	javax/swing/ViewportLayout.java,
	javax/swing/WindowConstants.java: New files, from GNU Classpath.

	* java/awt/ActiveEvent.java,
	java/awt/Adjustable.java, java/awt/AWTError.java,
	java/awt/AWTEvent.java,	java/awt/AWTEventMulticaster.java,
	java/awt/AWTException.java, java/awt/AWTPermission.java,
	java/awt/BorderLayout.java, java/awt/Button.java, java/awt/Choice.java,
	java/awt/Color.java, java/awt/Component.java,
	java/awt/ComponentOrientation.java, java/awt/Container.java,
	java/awt/datatransfer/MimeTypeParseException.java,
	java/awt/datatransfer/Transferable.java,
	java/awt/datatransfer/UnsupportedFlavorException.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/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/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/Font.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/GraphicsConfiguration.java,
	java/awt/IllegalComponentStateException.java,
	java/awt/image/IndexColorModel.java,
	java/awt/Image.java, java/awt/image/MemoryImageSource.java,
	java/awt/image/PixelGrabber.java, java/awt/Insets.java,
	java/awt/ItemSelectable.java, java/awt/LayoutManager2.java,
	java/awt/LayoutManager.java, java/awt/MenuContainer.java,
	java/awt/MenuItem.java,	java/awt/PaintContext.java,
	java/awt/Paint.java, java/awt/Panel.java, java/awt/Point.java,
	java/awt/Polygon.java, java/awt/PrintGraphics.java,
	java/awt/PrintJob.java, java/awt/Rectangle.java,
	java/awt/RenderingHints.java, java/awt/ScrollPane.java,
	java/awt/Shape.java, java/awt/SystemColor.java, java/awt/Toolkit.java,
	java/awt/Transparency.java, java/awt/Window.java: Merge from classpath.

	* java/awt/im/spi/InputMethod.java,
	java/awt/im/spi/InputMethodContext.java,
	java/awt/im/spi/InputMethodDescriptor.java,
	java/awt/image/renderable/ContextualRenderedImageFactory.java,
	java/awt/image/renderable/ParameterBlock.java,
	java/awt/image/renderable/RenderContext.java,
	java/awt/image/renderable/RenderableImage.java,
	java/awt/image/renderable/RenderableImageOp.java,
	java/awt/image/renderable/RenderableImageProducer.java,
	java/awt/image/renderable/RenderedImageFactory.java: New files from
	classpath.

	* gnu/java/awt/EventModifier.java,
	gnu/java/awt/image/ImageDecoder.java,
	gnu/java/awt/image/XBMDecoder.java: New files from GNU Classpath.

	* gnu/awt/xlib/XGraphicsConfiguration.java,
	gnu/awt/xlib/XToolkit.java: Updated to compile against 1.4 abstract
	API.

	* javax/swing/plaf/metal/MetalLookAndFeel.java: New file from
	GNU Classpath.

	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-08-07  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/ClassLoader.java (getSystemClassLoader, findClass,
	defineClass, setSigners, getSystemResource, getSystemResourceAsStream,
	findResource, getResources, findResources): Add javadoc from classpath.
	(getSystemResources): Implemented.

2002-08-01  Mark Wielaard  <mark@klomp.org>

	Revert patch that breaks libgcj shared library on powerpc:
	* gnu/java/security/provider/Gnu.java: Reverse referencing all
	implementation classes by using Class.getName(). Uses Strings again.
	* 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/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: Removed.
	* Makefile.am (ordinary_java_source_files): Remove above files.
	* Makefile.in: Regenerate.
	* gnu/java/security/provider/DefaultPolicy.java
	(getPermissions): Revert to maintaining static class variable of
	Permissions.
	* gnu/java/security/provider/SHA.java
	(engineUpdate): Revert algorithm change.
	(engineDigest): Revert algorithm change.

2002-08-01  Kaz Kojima  <kkojima@gcc.gnu.org>

	* configure.host: Add SH support.
	* sysdep/sh/locks.h: New file.

2002-07-31  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/Frame.java (Frame): Remove println calls.

2002-07-30  Jeff Sturm  <jsturm@one-point.com>

	* configure.in (LIBFFIINCS): Don't prepend MULTIBUILDTOP.
	* configure: Rebuilt.

2002-07-27  Alan Modra  <amodra@bigpond.net.au>

	* sysdep/powerpc/locks.h: Formatting.
	(_LARX): Define.
	(_STCX): Define.
	(compare_and_swap): Use _LARX and _STCX.
	(compare_and_swap_release): Likewise.

2002-07-26  Tom Tromey  <tromey@redhat.com>

	* java/net/Authenticator.java: New version from Classpath.
	* java/net/DatagramSocketImpl.java: New version from Classpath.

2002-07-27  Alan Modra  <amodra@bigpond.net.au>

	* configure.host: Add powerpc64*-* entry.

2002-07-26  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorPosix.cc: Don't include sys/socket.h or
	fcntl.h.

2002-07-24  Tom Tromey  <tromey@redhat.com>

	* java/lang/Runtime.java (loadLibrary): Pass `true' as search
	argument to _load.

2002-07-24  Tom Tromey  <tromey@redhat.com>
	    Tony Kimball <alk@pobox.com>

	* java/io/natFileDescriptorWin32.cc (setLength): New method.
	* java/io/natFileDescriptorPosix.cc (setLength): New method.
	* java/io/RandomAccessFile.java (setLength): New method.
	* java/io/natFileDescriptorEcos.cc (setLength): New method.
	* java/io/FileDescriptor.java (setLength): New method.

2002-07-24  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/natField.cc (setAddr): Check isAccessible().
	* java/io/ObjectInputStream.java (setBooleanField): Before setting
	field call setAccessible(true).
	(setByteField): Likewise.
	(setCharField): Likewise.
	(setDoubleField): Likewise.
	(setFloatField): Likewise.
	(setIntField): Likewise.
	(setLongField): Likewise.
	(setShortField): Likewise.
	(setObjectField): Likewise.

2002-07-24  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectInputStream.java (readObject) [TC_ARRAY]: Don't
	use toString() to format array element.

2002-07-23  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/provider/MD5.java: Extends MessageDigest, not
	MessageDigestSpi (fixes Classpath 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-19  Bo Thorsen  <bo@berlioz.suse.de>

	* java/lang/ieeefp.h: Add x86-64 support.
	* configure.in: Likewise.
	* configure.host: Likewise.
	* configure: Regenerated.
	* sysdep/x86-64/locks.h: New file with x86-64 locks.

2002-07-16  Mark Wielaard  <mark@klomp.org>

	* java/io/StreamTokenizer.java (pushBack): Update documentation.
	(whitespaceChars): call resetChar().

2002-07-15  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/beans/ExceptionListener.java: Merged with Classpath.
	* java/beans/PropertyChangeEvent.java: Merged with Classpath.
	* java/beans/PropertyChangeListener.java: Merged with Classpath.
	* java/beans/PropertyChangeListenerProxy.java: Merged with Classpath.
	* java/beans/PropertyChangeSupport.java: Merged with Classpath.
	* java/beans/VetoableChangeListener.java: Merged with Classpath.
	* java/beans/VetoableChangeListenerProxy.java: Merged with Classpath.
	* java/beans/VetoableChangeSupport.java: Merged with Classpath.

2002-07-14  Mark Wielaard  <mark@klomp.org>

	* 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/GnuDSAPrivateKey.java,
	gnu/java/security/provider/GnuDSAPublicKey.java,
	gnu/java/security/provider/MD5.java,
	gnu/java/security/util/Prime.java: New files from Classpath.
	* Makefile.am (ordinary_java_source_files): Add new files.
	* Makefile.in: Regenerate.

2002-07-14  C. Brian Jones <cbj@gnu.org>

	* 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

2002-07-12  Jesse Rosenstock  <jmr@fulcrummicro.com>

	For PR libgcj/7292:
	* java/lang/Character.java (toString(char)): Now static.

2002-07-12  Mark Wielaard  <mark@klomp.org>

	* java/lang/natThrowable.cc (printRawStackTrace): removed.
	(getStackTrace0): new method.
	* java/lang/Throwable.java (CPlusPlusDemangler): removed.
	(printStackTrace(PrintWriter)): replace with pure java implementation.
	(printRawStackTrace): removed.
	(getStackTrace0): new method.
	* java/lang/StackTraceElement.java (toString): add extra whitespace.
	* gcj/javaprims.h: regenerate class list.
	* include/name-finder.h (lookup): new returns StackTraceElement*.
	(method_name, file_name): fields removed.
	(pid2, f2_pipe, b2_pipe, b2_pipe_fd): new fields.
	(~_Jv_name_finder): close new descriptors.
	* name-finder.cc(_Jv_name_finder): setup c++filt helper process.
	(createStackTraceElement): new method.
	(lookup): returns StackTraceElement*, uses createStackTraceElement().

2002-07-10  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in: Use `test' after `&&'.  From Chris Faylor.

2002-07-08  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Don't compile java.sql.Blob.BlobTest,
	java.sql.Clob.ClobTest, java.sql.Connection.TestJdbc20,
	java.sql.DatabaseMetaData.TestJdbc20

2002-07-05  Tony Kimball  <alk@pobox.com>

	* java/lang/natRuntime.cc (nativeGetLibname): Added missing `#'.

2002-07-04  Tom Tromey  <tromey@redhat.com>
	    Jeff Sturm  <jsturm@one-point.com>

	Fix for PR libgcj/7060:
	* java/lang/Class.h (_getMethod): Renamed from getMethod.
	* java/lang/natClass.cc (_getMethod): Renamed from getMethod.
	Recurse into superinterfaces.  Don't throw NoSuchMethodException.
	* java/lang/Class.java (getMethod): New Java implementation;
	complies with spec.
	(_getMethod): New native method.

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-07-01  Tom Tromey  <tromey@redhat.com>

	* javax/naming/spi/NamingManager.java (getPlusPath): Don't create
	StringTokenizer on null string.  For PR libgcj/7180.
	From daveho@cs.umd.edu.

2002-06-24  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (BooleanClass): Removed.
	(IntegerClass): Likewise.
	* java/lang/natClass.cc (CloneableClass): Removed.
	(ObjectClass, ErrorClass, ClassClass, MethodClass, FieldClass,
	ConstructorClass): Likewise.
	* java/lang/natClassLoader.cc (CloneableClass): Removed.
	(ObjectClass, ClassClass, VMClassLoaderClass, ClassLoaderClass,
	SerializableClass): Likewise.
	* java/lang/reflect/natMethod.cc (BooleanClass): Removed.
	(VoidClass, ByteClass, ShortClass, CharacterClass, IntegerClass,
	LongClass, FloatClass, DoubleClass): Likewise.

	* verify.cc (branch_prepass): Updated for change to exception
	handler type.
	(verify_instructions_0): Likewise.
	* defineclass.cc (handleCodeAttribute): Initialize `prepared'.
	(handleExceptionTableEntry): Updated for change to exception
	handler type.
	* java/lang/Class.h (Class): Removed _Jv_InterpMethodInvocation.
	* include/java-interp.h (_Jv_InterpMethodInvocation): Removed.
	(union _Jv_InterpPC): New.
	(class _Jv_InterpException): Changed types to _Jv_InterpPC.
	(class _Jv_InterpMethod): Added new `prepared' field.
	(class _Jv_InterpMethod): Added `compile' method.  Removed
	`continue1' and `find_exception'.  Changed arguments to `run'.
	* interpret.cc (union insn_slot): New.
	(find_exception): Removed.
	(run_normal): Removed most logic.
	(run_synch_object): Likewise; also, use JvSynchronize.
	(run_synch_class): Likewise.
	(run): Removed.
	(continue1): Renamed as `run'.  Compile bytecode if required.
	Add new code to allow refinement of direct-threaded code at
	runtime.  Handle exceptions.
	(SAVE_PC): Removed.
	(compile): New method.
	(SET_ONE, SET_INSN, SET_INT, SET_DATUM): New defines.
	(NULLARRAYCHECK): Don't use SAVE_PC.
	(pc_t): New typedef.
	(TAKE_GOTO, GET1S, GET1U, GET2U, AVAL1U, AVAL2U, AVAL2UP,
	SKIP_GOTO, GOTO_VAL, PCVAL, AMPAMP): New macros.

2002-06-23  Tom Tromey  <tromey@redhat.com>

	* configure: Rebuilt.
	* configure.in (INTERPRETER): New subst.
	(AM_RUNTESTFLAGS): Don't subst.

	* Makefile.in: Rebuilt.
	* Makefile.am ($(srcdir)/java/lang/Object.h,
	$(srcdir)/java/lang/Class.h): Added dummy targets.

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.
	* Makefile.am: Add new files.
	* Makefile.in: Rebuilt.

2002-06-20  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/7073:
	* resolve.cc (_Jv_PrepareClass): Only resolve superclass if it
	exists.
	* defineclass.cc (handleClassBegin): Superclass for interface is
	`null'.

2002-06-18  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Removed
	BasicMapEntry.java.
	* java/util/BasicMapEntry.java: Removed.

2002-06-18  Jeff Sturm  <jsturm@one-point.com>

	* java/net/natPlainDatagramSocketImpl.cc (receive):
	Check bounds of argument to FD_SET.
	(setOption): Throw exception if socket is closed.

	* java/net/natPlainSocketImpl.cc (accept, read):
	Check bounds of argument to FD_SET.
	(setOption): Throw exception if socket is closed.

2002-06-18  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added
	PropertyPermissionCollection.java.
	* java/lang/Thread.java (group, name): Now package-private.
	* java/lang/ThreadGroup.java: Re-merge with Classpath.
	* java/util/AbstractList.java: Likewise.
	* java/util/AbstractMap.java: Likewise.
	* java/util/Calendar.java: Likewise.
	* java/util/Collections.java: Likewise.
	* java/util/HashMap.java: Likewise.
	* java/util/Hashtable.java: Likewise.
	* java/util/LinkedHashMap.java: Likewise.
	* java/util/LinkedList.java: Likewise.
	* java/util/List.java: Likewise.
	* java/util/ListResourceBundle.java: Likewise.
	* java/util/Map.java: Likewise.
	* java/util/Observable.java: Likewise.
	* java/util/Properties.java: Likewise.
	* java/util/PropertyPermission.java: Likewise.
	* java/util/PropertyPermissionCollection.java: Likewise.
	* java/util/PropertyResourceBundle.java: Likewise.
	* java/util/Random.java: Likewise.
	* java/util/SimpleTimeZone.java: Likewise.
	* java/util/StringTokenizer.java: Likewise.
	* java/util/TimerTask.java: Likewise.
	* java/util/TreeMap.java: Likewise.
	* java/util/WeakHashMap.java: Likewise.
	* java/util/jar/Attributes.java: Likewise.
	* java/util/jar/JarException.java: Likewise.
	* java/util/jar/Manifest.java: Likewise.

2002-06-17  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added new file.
	* java/util/EventListenerProxy.java: New file.
	* java/util/EventListener.java: Re-merge with Classpath.
	* java/util/EventObject.java: Re-merge with Classpath.

2002-06-17  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/lang/ClassNotFoundException.java: New Classpath version.

2002-06-17  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/rmi/activation/ActivateFailedException.java: Remerge from
	Classpath version.
	* java/rmi/activation/ActivationException.java: Ditto.
	* java/rmi/activation/UnknownGroupException.java: Ditto.
	* java/rmi/activation/UnknownObjectException.java: Ditto.
	* java/rmi/server/ExportException: Ditto.
	* java/rmi/server/ServerCloneException: Ditto.
	* java/rmi/server/ServerNotActiveException: Ditto.
	* java/rmi/server/SkeletonMismatchException: Ditto.
	* java/rmi/server/SkeletonNotFoundException: Ditto.
	* java/rmi/server/SocketSecurityException: Ditto.

2002-06-16  Tom Tromey  <tromey@redhat.com>

	* gcj/javaprims.h: Updated class declaration list.

	* java/io/LineNumberInputStream.java: Merged with Classpath.

	* java/lang/RuntimeException.java: Re-merge with Classpath.
	* java/util/ArrayList.java: Likewise.
	* java/util/Arrays.java: Likewise.
	* java/util/BitSet.java: Likewise.
	* java/util/Dictionary.java: Likewise.
	* java/util/IdentityHashMap.java: Likewise.
	* java/util/MissingResourceException.java: Likewise.
	* java/util/Observer.java: Likewise.
	* java/util/TooManyListenersException.java: Likewise.
	* java/util/zip/DataFormatException.java: Likewise.
	* java/util/zip/ZipException.java: Likewise.

2002-06-16  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/rmi/AccessException.java: Remerge from Classpath.
	* 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/ServerError.java: Ditto.
	* java/rmi/ServerException.java: Ditto.
	* java/rmi/ServerRuntimeException.java: Ditto.
	* java/rmi/StubNotFoundException.java: Ditto.
	* java/rmi/UnexpectedExcpetion.java: Ditto.
	* java/rmi/UnknownHostException.java: Ditto.
	* java/rmi/UnmarshalException.java: Ditto.

2002-06-15  Tom Tromey  <tromey@redhat.com>

	* java/lang/AbstractMethodError.java: Re-merged with Classpath.
	* java/lang/ArithmeticException.java: Likewise.
	* java/lang/ArrayIndexOutOfBoundsException.java: Likewise.
	* java/lang/ArrayStoreException.java: Likewise.
	* java/lang/Byte.java: Likewise.
	* java/lang/CharSequence.java: Likewise.
	* java/lang/ClassCastException.java: Likewise.
	* java/lang/ClassCircularityError.java: Likewise.
	* java/lang/ClassFormatError.java: Likewise.
	* java/lang/CloneNotSupportedException.java: Likewise.
	* java/lang/Cloneable.java: Likewise.
	* java/lang/Comparable.java: Likewise.
	* java/lang/Compiler.java: Likewise.
	* java/lang/Error.java: Likewise.
	* java/lang/ExceptionInInitializerError.java: Likewise.
	* java/lang/IllegalAccessError.java: Likewise.
	* java/lang/IllegalAccessException.java: Likewise.
	* java/lang/IllegalArgumentException.java: Likewise.
	* java/lang/IllegalMonitorStateException.java: Likewise.
	* java/lang/IllegalStateException.java: Likewise.
	* java/lang/IllegalThreadStateException.java: Likewise.
	* java/lang/IncompatibleClassChangeError.java: Likewise.
	* java/lang/IndexOutOfBoundsException.java: Likewise.
	* java/lang/InheritableThreadLocal.java: Likewise.
	* java/lang/InstantiationError.java: Likewise.
	* java/lang/InstantiationException.java: Likewise.
	* java/lang/InternalError.java: Likewise.
	* java/lang/InterruptedException.java: Likewise.
	* java/lang/LinkageError.java: Likewise.
	* java/lang/NegativeArraySizeException.java: Likewise.
	* java/lang/NoClassDefFoundError.java: Likewise.
	* java/lang/NoSuchFieldError.java: Likewise.
	* java/lang/NoSuchFieldException.java: Likewise.
	* java/lang/NoSuchMethodError.java: Likewise.
	* java/lang/NoSuchMethodException.java: Likewise.
	* java/lang/NullPointerException.java: Likewise.
	* java/lang/NumberFormatException.java: Likewise.
	* java/lang/OutOfMemoryError.java: Likewise.
	* java/lang/Process.java: Likewise.
	* java/lang/Runnable.java: Likewise.
	* java/lang/RuntimePermission.java: Likewise.
	* java/lang/SecurityException.java: Likewise.
	* java/lang/Short.java: Likewise.
	* java/lang/StackOverflowError.java: Likewise.
	* java/lang/StringIndexOutOfBoundsException.java: Likewise.
	* java/lang/ThreadDeath.java: Likewise.
	* java/lang/ThreadLocal.java: Likewise.
	* java/lang/UnknownError.java: Likewise.
	* java/lang/UnsatisfiedLinkError.java: Likewise.
	* java/lang/UnsupportedClassVersionError.java: Likewise.
	* java/lang/UnsupportedOperationException.java: Likewise.
	* java/lang/VerifyError.java: Likewise.
	* java/lang/VirtualMachineError.java: Likewise.
	* java/lang/reflect/InvocationTargetException.java: Likewise.
	* java/net/BindException.java: Likewise.
	* java/net/ConnectException.java: Likewise.
	* java/net/MalformedURLException.java: Likewise.
	* java/net/NoRouteToHostException.java: Likewise.
	* java/net/ProtocolException.java: Likewise.
	* java/net/SocketException.java: Likewise.
	* java/net/UnknownHostException.java: Likewise.
	* java/net/UnknownServiceException.java: Likewise.

	* java/io/BufferedOutputStream.java: Re-merged with Classpath.
	* java/io/CharConversionException.java: Likewise.
	* java/io/EOFException.java: Likewise.
	* java/io/FileNotFoundException.java: Likewise.
	* java/io/IOException.java: Likewise.
	* java/io/InterruptedIOException.java: Likewise.
	* java/io/InvalidClassException.java: Likewise.
	* java/io/InvalidObjectException.java: Likewise.
	* java/io/NotActiveException.java: Likewise.
	* java/io/NotSerializableException.java: Likewise.
	* java/io/ObjectStreamException.java: Likewise.
	* java/io/ObjectStreamConstants.java: Likewise.
	* java/io/OptionalDataException.java: Likewise.
	* java/io/PipedInputStream.java: Likewise.
	* java/io/PushbackInputStream.java: Likewise.
	* java/io/StreamCorruptedException.java: Likewise.
	* java/io/SyncFailedException.java: Likewise.
	* java/io/UTFDataFormatException.java: Likewise.
	* java/io/UnsupportedEncodingException.java: Likewise.
	* java/io/WriteAbortedException.java: Likewise.

2002-06-15  Nathanael Nerode  <neroden@twcny.rr.com>

	* java/text/ChoiceFormat.java: Update comments from Classpath.
	* java/text/ParseException.java (serialVersionUID): New
	field from Classpath.
	* java/text/ParseException.java: Update formatting & comments
	from Classpath.

2002-06-15  Tom Tromey  <tromey@redhat.com>

	* java/util/zip/InflaterInputStream.java (read): Loop if data has
	been read but none output by inflater.
	* java/util/zip/natDeflater.cc (reset): Set is_finished.
	* java/util/zip/natInflater.cc (reset): Set dist_needed and
	is_finished.
	* java/util/zip/ZipOutputStream.java: Replaced with Classpath
	version.
	* java/util/zip/ZipFile.java: Replaced with Classpath version.
	* java/util/zip/ZipEntry.java: Replaced with Classpath version.
	* java/util/zip/ZipInputStream.java: Replaced with Classpath
	version.
	* java/util/zip/ZipConstants.java: Replaced with Classpath version.

2002-06-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (init): Handle case where DONT_COPY is
	true and OFFSET!=0.
	* java/lang/String.java (String(char[],int,int,boolean): New
	constructor.
	* java/lang/Long.java: Imported new version from Classpath.
	* java/lang/Number.java: Likewise.
	* java/lang/Integer.java: Likewise.
	* java/lang/Long.java: Likewise.
	* java/lang/Float.java: Likewise.
	* java/lang/Boolean.java: Likewise.
	* java/lang/Double.java: Likewise.
	* java/lang/Void.java: Likewise.

2002-06-12  Tom Tromey  <tromey@redhat.com>

	* java/io/natFilePosix.cc (getCanonicalPath): Treat "" like ".".
	Fixes PR libgcj/6652.

2002-06-10  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.h (Class::desiredAssertionStatus): Declare.
	(Class::getPackagePortion): Likewise.
	* java/lang/Class.java (desiredAssertionStatus): New method from
	Classpath.
	(getPackagePortion): Likewise.
	* java/lang/VMClassLoader.java (defaultAssertionStatus,
	packageAssertionStatus, classAssertionStatus): New methods from
	Classpath.
	* java/lang/ClassLoader.java (defaultAssertionStatus,
	systemPackageAssertionStatus, packageAssertionStatus,
	systemClassAssertionStatus, classAssertionStatus): New fields from
	Classpath.
	(setDefaultAssertionStatus, setPackageAssertionStatus,
	setClassAssertionStatus, clearAssertionStatus): New methods from
	Classpath.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added AssertionError.java.
	* java/lang/AssertionError.java: New from Classpath.

2002-06-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.host: Disable hash synchronization and slow_pthread_self
	for cygwin.

2002-06-06  Adam Megacz <adam@xwt.org>

	* java/io/natFileDescriptorWin32.cc (open): Disable Win32 file
	locking, just like the Sun JVM does.

2002-06-05  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (libgcj_convenience.la): Revert the last change.
	(libgcj.la): Likewise.
	* Makefile.in: Regenerated.

2002-06-04  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (libgcj_convenience.la): New target.
	(libgcj.la): Depend on libgcj_convenience.la.
	* Makefile.in: Regenerated.

2002-06-04  H.J. Lu  (hjl@gnu.org)

	* configure.in (--with-newlib): New option:
	Check ${with_newlib} instead of ${with_cross_host} for newlib.
	(HAVE_PROC_SELF_EXE): Defined to 1 only for cross compiling to
	Linux.
	* configure: Regenerated.

2002-06-04  Tom Tromey  <tromey@redhat.com>

	* java/util/natTimeZone.cc: Include <stdio.h>.

2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.host [s390*-linux*]: Set can_unwind_signal=yes.
	* configure.in [s390*-*-linux*]: Do not define HAVE_BACKTRACE.
	Set SIGNAL_HANDLER=include/s390-linux.h.
	* configure: Regenerate.
	* include/s390-linux.h: New file.

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natThrowable.cc (fillInStackTrace): Use "stackTraceBytes",
	not "stackTrace".

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Merge JDK 1.4 java.security changes from classpath.

	* java/security/AccessControlException.java: Merge from Classpath.
	* java/security/AccessController.java: Likewise.
	* java/security/AllPermission.java: Likewise.
	* java/security/BasicPermission.java: Likewise.
	* java/security/Certificate.java: Likewise.
	* java/security/CodeSource.java: Likewise.
	* java/security/DigestException.java: Likewise.
	* java/security/DigestOutputStream.java: Likewise.
	* java/security/DomainCombiner.java: Likewise.
	* java/security/GeneralSecurityException.java: Likewise.
	* java/security/Guard.java: Likewise.
	* java/security/GuardedObject.java: Likewise.
	* java/security/InvalidAlgorithmParameterException.java: Likewise.
	* java/security/InvalidKeyException.java: Likewise.
	* java/security/InvalidParameterException.java: Likewise.
	* java/security/Key.java: Likewise.
	* java/security/KeyException.java: Likewise.
	* java/security/KeyManagementException.java: Likewise.
	* java/security/KeyStoreException.java: Likewise.
	* java/security/MessageDigest.java: Likewise.
	* java/security/NoSuchAlgorithmException.java: Likewise.
	* java/security/NoSuchProviderException.java: Likewise.
	* java/security/Permission.java: Likewise.
	* java/security/PermissionCollection.java: Likewise.
	* java/security/Permissions.java: Likewise.
	* java/security/Policy.java: Likewise.
	* java/security/Principal.java: Likewise.
	* java/security/PrivateKey.java: Likewise.
	* java/security/PrivilegedAction.java: Likewise.
	* java/security/PrivilegedActionException.java: Likewise.
	* java/security/PrivilegedExceptionAction.java: Likewise.
	* java/security/ProtectionDomain.java: Likewise.
	* java/security/ProviderException.java: Likewise.
	* java/security/PublicKey.java: Likewise.
	* java/security/SecureClassLoader.java: Likewise.
	* java/security/SecurityPermission.java: Likewise.
	* java/security/SignatureException.java: Likewise.
	* java/security/UnrecoverableKeyException.java: Likewise.
	* java/security/UnresolvedPermission.java: Likewise.
	* java/security/acl/AclNotFoundException.java: Likewise.
	* java/security/acl/LastOwnerException.java: Likewise.
	* java/security/acl/NotOwnerException.java: Likewise.
	* java/security/cert/CRLException.java: Likewise.
	* java/security/cert/CertificateEncodingException.java: Likewise.
	* java/security/cert/CertificateException.java: Likewise.
	* java/security/cert/CertificateExpiredException.java: Likewise.
	* java/security/cert/CertificateFactory.java: Likewise.
	* java/security/cert/CertificateNotYetValidException.java: Likewise.
	* java/security/cert/CertificateParsingException.java: Likewise.
	* java/security/spec/InvalidKeySpecException.java: Likewise.
	* java/security/spec/InvalidParameterSpecException.java: Likewise.

	* java/security/cert/CertPath.java: New file.
	* java/security/cert/CertPathBuilderException.java: New file.
	* java/security/cert/CertPathValidatorException.java: New file.
	* java/security/cert/CertStoreException.java: New file.

	* Makefile.am: Add new CertPath classes.
	* Makefile.in: Rebuilt.

	* gnu/java/util/EmptyEnumeration.java: New file from classpath.

2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Merge JDK 1.4 exception chaining support from classpath.

	* java/lang/Throwable.java: Merge 1.4 support from classpath.
	(stackTraceBytes): Rename from stackTrace.
	* java/lang/Exception.java: Merge from classpath.
	* java/lang/StackTraceElement: New file from classpath.
	* gcj/javaprims.h: Rebuild CNI namespace declarations.
	* Makefile.am: Add StackTraceElement.
	* Makefile.in: Rebuilt.

2002-05-23  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am (all-recursive): Depend on $all_java_class_files so that
	they build first.
	* Makefile.in: Rebuilt.

2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* acinclude.m4: Allow for PWDCMD to override hardcoded pwd.
	* configure.in: Likewise.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2002-05-13  Tom Tromey  <tromey@redhat.com>

	* java/lang/natRuntime.cc: Don't include sys/time.h and time.h.
	* java/util/natTimeZone.cc: Include sys/time.h and time.h here.
	Include platform.h.

	Fixes PR libgcj/6389:
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added natTimeZone.cc.
	* java/util/natTimeZone.cc: New file.
	* java/util/TimeZone.java (getDefaultTimeZoneId): New method.
	* java/lang/System.java: Merged with Classpath.
	* java/lang/Runtime.java: Merged with Classpath.
	* java/lang/natSystem.cc (setErr0): Renamed from setErr; don't run
	security check.
	(setIn0): Renamed from setIn; don't run security check.
	(setOut0): Renamed from setOut; don't run security check.
	(file_encoding, getpwuid_adaptor, getSystemTimeZone,
	init_properties): Moved to natRuntime.cc.
	Moved many includes to natRuntime.cc.
	(isWordsBigEndian): New method.
	* java/lang/natRuntime.cc: Include Long.h, also other includes
	previously in natSystem.cc.
	(maxMemory): New function.
	(exitInternal): Renamed from `_exit'.
	(exit): Removed.
	(init): Don't set finalize_on_exit.
	(exitInternal): Use `finalizeOnExit'.
	(file_encoding, getpwuid_adaptor): New functions from
	natSystem.cc.
	(insertSystemProperties): New method, renamed from
	System::init_properties.  Don't set user.timezone.
	(_load): Don't call checkLink.
	(execInternal): New method.
	(availableProcessors): Likewise.
	(nativeGetLibname): Likewise.

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-09  Tom Tromey  <tromey@redhat.com>

	* jni.cc (_Jv_JNIFunctions): Fixed typo.

	* java/util/ResourceBundle.java: New version from Classpath.
	* java/util/Locale.java: Likewise.

2002-05-09  Jakub Jelinek  <jakub@redhat.com>

	* testsuite/lib/libjava.exp (libjava_arguments): Append all
	multilib dirs containing libgcc_s*.so.1 below gcc object dir to
	LD_LIBRARY_PATH.

2002-05-08  Mark Mitchell  <mark@codesourcery.com>

	* libjava/Makefile.am (all_java_source_files): New variable.
	(all_java_class_files): Likewise.
	.java.class: New rule.
	(CLEANFILES): Remove tmp-list.
	* libjava/Makefile.in: Regenerated.

2002-05-09  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_javac):
	Append .exe to executable names.  Fix for cygwin.

2002-05-08  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
	script entry, and set LD to it when configuring multilibs.
	* configure: Rebuilt.

2002-05-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/natString.cc (unintern): Fixed typo.

2002-05-06  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (libjava_arguments): Don't link
	with -no-install on *-*-cygwin*.

2002-05-06  David.Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_source):
	Add comment explaining last patch

2002-05-04  David Billinghurst  <David.Billinghurst@riotinto.com>

	* testsuite/lib/libjava.exp (test_libjava_from_source):
	Append .exe to executable names.  If no suffix is present,
	then ".exe" is added by default on win32.  Harmless
	elsewhere so always do it.

2002-05-03  David Billinghurst  <David.Billinghurst@riotinto.com>
	    Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (getSystemTimeZone): Use
	HAVE_UNDERSCORE_TIMEZONE.
	* include/config.h.in: Rebuilt.
	* acconfig.h (HAVE_UNDERSCORE_TIMEZONE, HAVE_BACKTRACE): Undef.
	* aclocal.m4, configure: Rebuilt.
	* acinclude.m4: Run AC_EXEEXT.
	* configure.in: Adjust test for `timezone' so it fails on Cygwin.
	Add test for `_timezone'.

2002-05-03  Alexandre Oliva  <aoliva@redhat.com>

	Suggested by Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
	* Makefile.am (jv_convert_LDADD): Bring -L.libs to the front.
	(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
	* Makefile.in: Rebuilt.

2002-05-02  Hans Boehm  <Hans_Boehm@hp.com>

	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE for ia64):
	use sigaction instead of __libc_sigaction.

2002-05-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* testsuite/lib/libjava.exp (libjava_find_spec): New function.
	(libjava_init): Use it to find libgcj.spec.
	(libjava_arguments): Likewise.

2002-05-02  David S. Miller  <davem@redhat.com>

	PR bootstrap/6525
	* include/dwarf2-signal.h (INIT_SEGV, INIT_FPE): Don't use
	__libc_sigaction on Sparc.

2002-05-02  Jerome Marc  <marcjero@yahoo.com>

	* java/net/natPlainSocketImpl.cc: Include sys/ioctl.h and
	sys/filio.h, if present.

2002-04-30  Tom Tromey  <tromey@redhat.com>

	* java/io/BufferedReader.java (fill): Handle case where markPos
	point to ignored \n.  Fixes PR libgcj/6301.

2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>

	* java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for S/390.

2002-04-29  Adam King <aking@dreammechanics.com>

	* java/io/natFileDescriptorWin32.cc (open): Move file pointer to end
	of file in APPEND mode.

2002-04-25  David S. Miller  <davem@redhat.com>

	PR target/6422
	* include/dwarf2-signal.h (MAKE_THROW_FRAME for sparc*): Set
	program counter to next program counter minus 8.  Update
	comments in this macro to explain why.

2002-04-26  Tom Tromey  <tromey@redhat.com>

	* verify.cc (construct_primitive_array_type) [void_type]: New
	case.
	(branch_prepass): Added dummy entries for unused instruction
	values.
	(verify_instructions_0): Likewise.
	* interpret.cc (continue1): Comment fix.
	* include/java-insns.h (op_xxxunusedxxx1): Removed.
	* Makefile.in: Rebuilt.
	* Makefile.am: Added -Wswitch-enum.

2002-04-24  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/natCore.cc (create): Use __builtin_alloca, and compute
	correct length of UTF-8 encoded name.  Strip leading `/'.
	(_Jv_RegisterResource): Use _Jv_Malloc.

2002-04-23  Adam Megacz <adam@xwt.org>

	* win32.cc, include/win32.cc (backtrace): Added this function
	because Win32 does not supply it.

2002-04-21  David S. Miller  <davem@redhat.com>

	* include/dwarf2-signal.h (MAKE_THROW_FRAME, sparc32): Document
	magic instruction reading sequence.

2002-04-21  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Don't run java.lang.ref tests since they are buggy.

2002-04-19  David S. Miller  <davem@redhat.com>

	* include/dwarf2-signal.h (SIGNAL_HANDLER): Name siginfo_t pointer
	arg.
	(MAKE_THROW_FRAME): Define for 32-bit and 64-bit sparc.
	(INIT_SEGV, INIT_FPE): Use direct __libc_sigaction installation
	on Sparc too.
	* include/sparc-signal.h (FLUSH_REGISTER_WINDOWS): Define properly
	for 64-bit sparc.
	(MAKE_THROW_FRAME): Use long for sp/retaddr so 64-bit works.
	* sysdeps/sparc/locks.h: New file.
	* configure.in (SIGNAL_HANDLER): Set to include/sparc-signal.h
	on all sparc Solaris configurations.  Set to
	include/dwarf2-signal.h on sparc Linux.
	* configure: Regenerate
	* configure.host (can_unwind_signal): sparc*-linux* can do it now.

2002-04-19  Hans Boehm <Hans_Boehm@hp.com>

	* configure: Rebuilt.
	* configure.in (backtrace): Function doesn't work on IA-64.

2002-04-17  Adam King <aking@dreammechanics.com>

	* java/io/File.java (normalizePath): Add Win32 support for auto
	conversion of a '/' path separator to Win32's '\' separator.

2002-04-16  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/6081:
	* Makefile.in: Rebuilt.
	* Makefile.am (install-data-local): Use GNU make trick to avoid
	shell limit.

2002-04-16  Adam King <aking@dreammechanics.com>
	    Tom Tromey  <tromey@redhat.com>

	* java/io/natFileWin32.cc (performList): Return the correct array
	type.  Don't duplicate the creation of a File since it's already
	done earlier in the method and the existing code would cause a
	ArrayStoreException.  Don't use fixed-size array.
	(_access, _stat, attr, getCanonicalPath, performMkdir,
	performRenameTo): Don't use fixed-size array.
	(getCanonicalPath): Use throw, not _Jv_Throw.

2002-04-15  DJ Delorie  <dj@redhat.com>

	* configure.in: Allow building in $srcdir.
	* configure: Regenerated.

2002-04-14  Mark Wielaard <mark@klomp.org>

	* java/net/natPlainDatagramSocketImpl.cc (close): Set timeout to 0.
	* java/net/natSocketImpl.cc (close): Likewise.

2002-04-14  Mark Wielaard <mark@klomp.org>

	* gnu/gcj/protocol/http/Connection.java (usingProxy): return false.

2002-04-13  Adam King <aking@dreammechanics.com>

	* java/lang/natDouble.cc (parseDouble): Allow a number to end with
	the f/F/d/D modifiers.

2002-04-12  Anthony Green  <green@redhat.com>

	* Makefile.am (jardir, jar_DATA): Define (for libgcj.jar).
	Create libgcj-@gcc_version@.jar instead of libgcj.jar.
	* Makefile.in: Rebuilt.
	* configure.in: Substitute gcc_version.
	* configure: Rebuilt.

2002-04-11  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.host: Set can_unwind_signal on hosts which support it.
	Don't set CHECKREFSPEC and DIVIDESPEC for FreeBSD.
	* configure.in: Set CHECKREFSPEC and DIVIDESPEC if not using SJLJ
	exceptions and can_unwind_signal isn't set.
	* configure: Rebuilt.

2002-04-11  Tom Tromey  <tromey@redhat.com>

	* win32.cc (_Jv_platform_initProperties): Fix spelling of _Jv_Free.

2002-04-11  Adam King <aking@dreammechanics.com>
	    Tom Tromey  <tromey@redhat.com>

	* include/jvm.h (_Jv_ThrowBadArrayIndex,
	_Jv_ThrowNullPointerException): Mark as noreturn.
	* win32.cc (_Jv_platform_initProperties): Use _Jv_MallocUnchecked
	and _Jv_free.  Correctly invoke GetTempPath().  Indentation
	fixes.

2002-04-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (java/lang/Thread.h): Mark
	_Jv_AttachCurrentThreadAsDaemon as friend.
	* gcj/javaprims.h (_Jv_AttachCurrentThreadAsDaemon): Declare.
	* gcj/cni.h (JvAttachCurrentThreadAsDaemon): New function.
	* java/lang/natThread.cc (_Jv_AttachCurrentThreadAsDaemon): New
	function.
	* java/lang/natRuntime.cc (_load): Recognize JNI_VERSION_1_4.
	* jni.cc (_Jv_JNI_GetVersion): Return JNI_VERSION_1_4.
	(_Jv_JNI_InvokeFunctions): Added
	_Jv_JNI_AttachCurrentThreadAsDaemon.
	(_Jv_JNI_GetEnv): Handle JNI_VERSION_1_4.
	(JNI_GetDefaultJavaVMInitArgs): Likewise.
	(JNI_CreateJavaVM): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_JNI_AttachCurrentThread): Added `is_daemon' argument.
	(_Jv_JNI_AttachCurrentThreadAsDaemon): New method.
	(_Jv_JNIFunctions): Initialize new fields.
	(_Jv_JNI_NewDirectByteBuffer): New function.
	(_Jv_JNI_GetDirectBufferAddress): Likewise.
	(_Jv_JNI_GetDirectBufferCapacity): Likewise.
	* include/jni.h (JNI_VERSION_1_4): New macro.
	(JNIInvokeInterface::AttachCurrentThreadAsDaemon): New field.
	(_Jv_JavaVM::AttachCurrentThreadAsDaemon): New method.
	(JNINativeInterface::NewDirectByteBuffer): New field.
	(JNINativeInterface::GetDirectBufferAddress): New field.
	(JNINativeInterface::GetDirectBufferCapacity): New field.
	(_Jv_JNIEnv::NewDirectByteBuffer): New method.
	(_Jv_JNIEnv::GetDirectBufferAddress): New method.
	(_Jv_JNIEnv::GetDirectBufferCapacity): New method.

2002-04-09  Tom Tromey  <tromey@redhat.com>

	* win32.cc (_Jv_platform_initProperties): Use GetTempPath.

2002-04-08  Alberto Biancardi  <alberto.biancardi@unipv.it>

	Fix for PR libgcj/6187:
	* java/awt/geom/Point2D.java (distance): Call distanceSq, not
	distance.

2002-04-07  Mark Wielaard <mark@klomp.org>

	* java/util/AbstractMap.java (putAll): Use entrySet size.
	(toString): Explicitly use getKey() and getValue().

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-07  Adam King <aking@dreammechanics.com>

	* java/lang/natSystem.cc (init_properties): Call new function
	_Jv_platform_initProperties.
	* win32.cc (_Jv_platform_initProperties): New function that adds Win32
	support for the System properties os.name, os.arch, os.version,
	user.name, user.home, and user.dir.
	* include/posix.h, include/win32.h, posix.cc: New function
	_Jv_platform_initProperties.

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.java (removeRange): If toIndex == fromIndex do
	nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.

2002-04-05  Adam Megacz <adam@xwt.org>

	* exception.cc (abort): added static modifier

2002-04-04  Adam Megacz <adam@xwt.org>

	* include/win32.h (_Jv_platform_close_on_exec): added inline
	modifier.

2002-04-04  Loren J. Rittle  <ljrittle@acm.org>

	* configure.host: Add case statement to support generic port
	properties.  Add *-*-freebsd* section.

2002-04-04  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Add JLS1.0 and JLS1.1 tags, ignore Character.unicode
	test.
	* testsuite/libjava.mauve/xfails: Remove working tests DoubleTest,
	FloatTest and ObjectStreamClass. Add FAIL for Introspector.jdk11 tests
	that depend on awt code and BufferedByteOutputStream.interrupt.

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-03  Mark Wielaard  <mark@klomp.org>

	* java/lang/reflect/Modifier.java (toString(int,StringBuffer)): Fix
	ordering.

2002-04-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/natClassLoader.cc (findClass): Compare against `3',
	not `0'.

2002-04-02  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: add java.net.DatagramSocket.DatagramSocketTest2 to
	list of testsuite crashers.

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  Mark Wielaard  <mark@klomp.org>

	* mauve-libgcj: Add JDK1.3, JDK1.4, JLS1.2 tests, remove ignored tests
	that can be compiled now and add testsuite crashers to ignore list.

2002-03-31  Alexandre Oliva  <aoliva@redhat.com>

	* libgcj.spec.in, libgcj-test.spec.in: Revert for now.

	* libgcj.spec.in: Override libgcc, not lib.
	* libgcj-test.spec.in: Likewise.

2002-03-29  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainDatagramSocketImpl.cc (close): New function.
	* java/net/natPlainSocketImpl.cc (close): Indentation fix.

2002-03-27  Jeff Sturm  <jsturm@one-point.com>

	* java/net/PlainDatagramSocketImpl.java
	(close): Use native implementation.
	(finalize): New method.

	* java/net/PlainSocketImpl.java (finalize): New method.

	* java/net/natPlainDatagramSocketImpl.cc
	(java/io/FileDescriptor.h): Don't include.
	(close): Implement method here.
	(create): Don't assign fd.

	* java/net/natPlainSocketImpl.cc
	(java/io/FileDescriptor.h): Don't include.
	(create): Don't assign fd.
	(accept): Likewise.
	(close): Synchronize.

2002-03-27  Richard Henderson  <rth@redhat.com>

	* include/posix-threads.h [alpha] (_Jv_ThreadSelf): Avoid a copy.

2002-03-25  Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>

	* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
	(INIT_SEGV, INIT_FPE): Add versions that use __libc_sigaction
	instead of syscall on IA-64.
	Add FIXME comment.

2002-03-27  Anthony Green  <green@redhat.com>

	* libgcj.spec.in: Add CHECKREFSPEC.
	* configure.in: Ditto.
	* configure.host: Ditto.  Check references for xscale-elf.
	* configure: Rebuilt.

2002-03-26  Hans Boehm <Hans_Boehm@hp.com>

	* include/dwarf2-signal.h: Temporarily back out last change.

2002-03-26  Loren J. Rittle  <ljrittle@acm.org>

	* include/posix-threads.h: Support <.../pal.h> on FreeBSD/alpha.

2002-03-25  Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>

	* configure.in, configure: enable dwarf2-exception-style
	exception handling on IA-64.
	* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
	(INIT_SEGV, INIT_FPE): Use __libc_sigaction instead of syscall.
	Add FIXME comment.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* Makefile.am (libgcj_la_LDFLAGS): Use THREADLDFLAGS.
	(jv_convert_LDFLAGS): Likewise.
	(gij_LDFLAGS): Likewise.
	(rmic_LDFLAGS): Likewise.
	(rmiregistry_LDFLAGS): Likewise.
	* configure.in (THREADLDFLAGS): New subst; set correctly for
	*BSD.

2002-03-25  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/5303:
	* gnu/java/rmi/registry/RegistryImpl.java (main): Recognize --help
	and --version.
	(help): New method.
	(version): Likewise.
	* gnu/gcj/convert/Convert.java (version): Removed extraneous
	"GNU".
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Removed extraneous
	"GNU".

2002-03-25  Tom Tromey  <tromey@redhat.com>

	* java/awt/Component.java (processEvent): Check ComponentEvent
	after KeyEvent.

2002-03-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/io/PushbackReader.java: Reformat.

	* java/io/FileInputStream.java (skip): Call fd.getFilePointer() and
	calculate correct number of bytes skipped.

	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  Tom Tromey  <tromey@redhat.com>

	* java/awt/TextComponent.java (TextComponent): Editable by
	default.

	* 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  Eric Blake  <ebb9@email.byu.edu>

	* java/beans/IntrospectionException.java: Update to 1.4.
	* java/beans/PropertyVetoException.java: Ditto.

2002-03-24  Eric Blake  <ebb9@email.byu.edu>

	* gnu/java/beans/BeanInfoEmbryo.java (hasMethod): Use
	Arrays.equals instead of ArrayHelper.equalsArray.

2002-03-24  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-03-24  C. Brian Jones <cbj@gnu.org>

	* java/beans/Introspector.java: reformatting

2002-03-24  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-03-24  Mark Wielaard  <mark@klomp.org>

	Thanks to Orp developers
	* gnu/java/beans/editors/NativeBooleanEditor.java (setAsText(String)):
	switch TRUE and FALSE return values.

2002-03-23  Tom Tromey  <tromey@redhat.com>

	* include/name-finder.h (_Jv_name_finder::myclose): New method.
	* name-finder.cc (_Jv_name_finder): Initialize file descriptors.

2002-03-23  Michael Smith  <msmith@spinnakernet.com>

	* java/util/GregorianCalendar.java (minimums, maximums): Correct
	MONTH entry.  Fixes PR libgcj/6045.

2002-03-23  Jeff Sturm  <jsturm@one-point.com>

	* java/nat/natPlainSocketImpl.cc (write): Abort loop on error.

2002-03-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use write_barrier,
	not release_set.
	* sysdep/powerpc/locks.h (write_barrier): New function.
	* sysdep/i386/locks.h (write_barrier): New function.

2002-03-19  Martin Kahlert  <martin.kahlert@infineon.com>

	* include/jni.h Use correct C comments.

2002-03-18  Tom Tromey  <tromey@redhat.com>

	* include/jni.h (JNIIMPORT): New macro.
	(JNIEXPORT): Likewise.
	(JNICALL): Likewise.

2002-03-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.host (i?86-*): Use -fuse-divide-subroutine on Solaris
	systems.

2002-03-18  Andrew Haley  <aph@cambridge.redhat.com>

	* include/i386-signal.h (old_i386_kernel_sigaction): New.
	INIT_SEGV: Use old_i386_kernel_sigaction.
	INIT_FP: Likewise.

2002-03-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/lang/natSystem.cc (init_properties): Update VM version
	properties.
	* configure.in: Set GCJVERSION.
	* acconfig.h: Add GCJVERSION.
	* configure: Rebuilt.
	* include/config.h.in: Rebuilt.

2002-03-17  Anthony Green  <green@redhat.com>

	* java/lang/ieeefp.h: Add ARM thumb support (copied from newlib).

2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Build a single libgcj.so, without separate gc and zlib libraries.
	* configure.in: Use convenience libraries for boehm-gc and zlib. Set
	SYS_ZLIBS if system zlib is used.
	* configure: Rebuilt.
	* Makefile.am: Use boehm-gc and zlib convenience libraries.
	* Makefile.in: Rebuilt.
	* libtool-version: Increment .so version number.

	* Makefile.am: Escape quotes in echo.
	* Makefile.in: Rebuilt.

2002-03-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am: Use empty -classpath flag in addition to -bootclasspath.
	* Makefile.in: Rebuilt.

2002-03-15  Anthony Green  <green@redhat.com>

	* configure.host (FILE): New macro for specifing File
	implementation.
	* configure: Rebuilt.
	* configure.in: Use FILE.  Define HAVE_TIME for newlib targets.

2002-03-15  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.am (jv_convert_LDADD): Don't list libraries that are
	already implicitly brought in from libgcj.la.
	(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
	* Makefile.in: Rebuilt.

2002-03-15  Eric Blake  <ebb9@email.byu.edu>

	* THANKS: Fix punctuation, alphabetization.

2002-03-15  Tom Tromey  <tromey@redhat.com>
	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	Fix for PR libgcj/5944.
	* gnu/gcj/io/shs.h: Define uint8_t and uint32_t.

2002-03-15  Anthony Green  <green@redhat.com>

	* configure.in (tool_include_dir): Define.
	* configure: Rebuilt.
	* gcj/Makefile.am: Install libgcj-config.h relative to
	tool_include_dir.
	* gcj/Makefile: Rebuilt.
	* gcj/libgcj-config.h: Add warning comment.

2002-03-12  Andreas Tobler  <a.tobler@schweiz.ch>

	* configure.host (powerpc*-darwin*): Enable interpreter.

2002-03-10  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* include/posix.h: Add multiple include header protection.
	* java/net/natPlainSocketImpl.cc: Don't #include <posix.h>.

2002-03-10  Adam Megacz <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: Added #include <platform.h>.

2002-03-10  Tom Tromey  <tromey@redhat.com>

	* java/awt/GridLayout.java (layoutContainer): Handle case where
	there are no items in container.

	* java/lang/Win32Process.java: Added comment.
	* include/posix.h (_Jv_platform_close_on_exec): New function.
	Include fcntl.h.
	* include/win32.h (_Jv_platform_close_on_exec): New function.
	* java/net/natPlainSocketImpl.cc (create): Set close-on-exec
	flag.
	(accept): Likewise.
	* java/net/natPlainDatagramSocketImpl.cc (create): Set
	close-on-exec flag.
	* java/io/natFileDescriptorPosix.cc (open): Set close-on-exec
	flag.

2002-03-09  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::NO_STACK): New constant.
	(state::is_unmerged_ret_state): Handle case where stacktop is
	NO_STACK.
	(state::merge): Handle NO_STACK merges.
	(handle_jsr_insn): Invalidate PC, and use special NO_STACK state
	for instruction following jsr.
	(stacktop, stackdepth): Removed unused variables.
	(pop_jump): Ignore case where all remaining states are skipped.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/ImageMediaEntry: Removed.
	* java/awt/MediaEntry: Removed.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	Hashtable synchronization for PowerPC.
	* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
	slow_pthread_self. Set up symlink for sysdeps directory.
	* configure: Rebuild.
	* configure.host: Document more shell variables. Set sysdeps_dir
	for most platforms. Set slow_pthread_self for i686. Set
	enable_hash_synchronization_default and slow_pthread_self for PowerPC.
	* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
	that memory barrier is emitted where required.
	* prims.cc: 64-bit align static primitive class instances.
	* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
	read_barrier() to enforce ordering of reads.
	* sysdep/powerpc/locks.h: New file. Implementation of synchronization
	primitives for PowerPC.
	* sysdep/i386/locks.h: New file. Synchronization primitives for i386
	moved from natObject.cc.
	* sysdep/alpha/locks.h: Likewise.
	* sysdep/ia64/locks.h: Likewise.
	* sysdep/generic/locks.h: Likewise.
	* java/lang/natObject.cc: Move thread synchronization primitives to
	system-dependent headers.

2002-03-09  Adam Megacz  <adam@xwt.org>

	* java/io/natFileDescriptorWin32.cc (read): Return -1 if zero
	bytes read and no failure code returned.

2002-03-09  Adam Megacz  <adam@xwt.org>

	* win32.cc (_CRT_MT, __mingwthr_key_dtor) Added fake
	definitions to simulate -mthreads.

2002-03-09  Adam Megacz  <adam@xwt.org>

	* win32.cc (_Jv_platform_gettimeofday) Cast 1000 to long long to
	avoid precision loss.

2002-03-09  Per Bothner  <per@bothner.com>

	* gnu/gcj/xlib/WindowAttributes.java  Assign null to RawData, not 0.
	* gnu/gcj/xlib/XImage.java:  Likewise.
	* gnu/gcj/xlib/XColor.java:  Likewise.

2002-03-09  Adam Megacz  <adam@xwt.org>

	* java/lang/Win32Process.java (ConcreteProcess): Now throws an
	IOException so that Throwable.printStackTrace fails correctly.

2002-03-08  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc (read, write, close): Formatting
	fixed.

2002-03-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* posix.cc (_Jv_platform_gettimeofday): Make sure result doesn't get
	truncated to int.

2002-03-08  Tom Tromey  <tromey@redhat.com>

	* include/jni.h: Include stdio.h.

2002-03-08  Tom Tromey  <tromey@redhat.com>

	* posix.cc (internal_gettimeofday): New function.
	(_Jv_select): Use it.

2002-03-07  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainSocketImpl.cc: Changed USE_WINSOCK to
	WIN32, and added thunks for read(), write(), and close().
	* java/net/natPlainSocketImpl.cc (accept, read, read):
	Disabled timeouts on WIN32 pending discussion.

2002-03-07  Adam Megacz  <adam@xwt.org>

	* win32.cc (_Jv_platform_gettimeofday): Now takes no args,
	returns jlong. Added implementation
	* posix.cc (_Jv_platform_gettimeofday): Now takes no args,
	returns jlong.
	* win32.h (_Jv_platform_gettimeofday): Now takes no args,
	returns jlong.
	* posix.h (_Jv_platform_gettimeofday): Now takes no args,
	returns jlong.
	* java/lang/natSystem.cc (currentTimeMillis): Now uses updated
	_Jv_platform_gettimeofday signature.

2002-03-07  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Removed.
	(read): Call recv() directly, not _Jv_recv().

2002-03-06  Tom Tromey  <tromey@redhat.com>

	* java/io/natFileDescriptorEcos.cc (init): Don't use
	GetStdHandle.
	* java/io/natFileDescriptorPosix.cc (valid): Don't call stat if FD
	is negative.
	(init): Don't use GetStdHandle.

	* include/config.h.in: Rebuilt.
	* configure: Rebuilt.
	* Makefile.in: Rebuilt.

2002-03-06  Adam Megacz  <adam@xwt.org>

	* java/io/FileDescriptor.java: Initialize in/out/err in init().
	* java/io/natFileDescriptorWin32.cc (init()): Added function.
	* java/io/natFileDescriptorPosix.cc (init()): Added function.
	* java/io/natFileDescriptorEcos.cc (init()): Added function.

2002-03-06  Eric Blake  <ebb9@email.byu.edu>

	* scripts/unicode-decomp.pl: Move from chartables.pl, and remove
	the code for generating include/java-chartables.h.
	* scripts/unicode-blocks.pl: Move from scripts/blocks.pl, and
	merge with Classpath.
	* scripts/unicode-muncher.pl: Copy from Classpath.
	* scritps/MakeCharTables.java: New file.
	* gnu/gcj/convert/Blocks-3.txt: New file.
	* gnu/gcj/convert/UnicodeData-3.0.0.txt: New file.
	* gnu/gcj/convert/UnicodeCharacterDatabase-3.0.0.html: New file.
	* gnu/java/lang/CharData.java: Copy from Classpath.
	* Makefile.am (ordinary_java_source_files): Add
	gnu/java/lang/CharData.java.
	* configure.in: Remove --enable-fast-character option.
	* java/lang/Character.java: Merge algorithms and Javadoc with
	Classpath.
	* java/lang/natCharacter.cc: Implement Unicode lookup table more
	efficiently.
	* include/java-chardecomp.h: Regenerate.
	* include/java-chartables.h: Regenerate.

2002-03-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/MediaTracker.java: Implemented.
	* Makefile.am: Add MediaTracker.
	* Makefile.in: Rebuilt.

2002-03-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (fail): Removed.
	(startProcess): Simplified error-handling.  Preserve
	LD_LIBRARY_PATH across exec.

	* jni.cc (_Jv_LookupJNIMethod): Throw UnsatisfiedLinkError, not
	AbstractMethodError.

2002-03-03  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am: Use -bootclasspath, not -CLASSPATH.
	* Makefile.in: Rebuilt.

2002-03-03 Mark Wielaard <mark@klomp.org>

	* java/util/Timer (TaskQueue.stop): set elements to zero.

2002-02-28  Anthony Green  <green@redhat.com>

	* java/lang/reflect/natMethod.cc (result): Add void* element.
	(_Jv_CallAnyMethodA): Handle FFI_TYPE_POINTER arguments.  Move
	constructor test.

2002-02-27  Adam Megacz <adam@xwt.org>

	* java/net/natInetAddress.cc: Changed USE_WINSOCK to WIN32, added
	'#undef STRICT'.

2002-02-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Use __VERSION__.
	* gij.cc (version): Use __VERSION__.
	* include/config.h.in: Rebuilt.
	* acconfig.h (GCJVERSION): Removed.
	* configure: Rebuilt.
	* configure.in (GCJVERSION): Removed.

2002-02-26  Andreas Schwab  <schwab@suse.de>

	* acinclude.m4 (LIB_AC_PROG_CXX): Use glibjava_CXX instead of
	glibcpp_CXX, since libjava uses even another CXX.
	* aclocal.m4, configure: Regenerated.

2002-02-26  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (startProcess): Use FD_CLOEXEC, not
	`1'.

2002-02-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.am (GCJCOMPILE): Use -fCLASSPATH not -fclasspath. Fixes
	dependency tracking for .java files.
	* Makefile.in: Rebuilt.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainDatagramSocketImpl.cc: whops; removed 'make'
	typo. Sorry.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/net/natPlainDatagramSocketImpl.cc: Updated #includes
	for Win32, changed #ifdefs to check WIN32 instead of the
	(now-obsolete) USE_WINSOCK, and removed support for socket
	timeouts on Win32 pending further discussion.

2002-02-24  Adam Megacz  <adam@xwt.org>

	* win32-threads.cc (_Jv_ThreadInitData): _Jv_Malloc instead of new
	* win32-threads.cc (_Jv_ThreadDestroyData): _Jv_Free instead of
	delete

2002-02-24  Adam Megacz  <adam@xwt.org>

	* java/lang/Win32Process.java: Created a dummy class to allow
	build process to run to completion.

2002-02-24  Jeff Sturm  <jsturm@one-point.com>

	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA):
	Define ffi_result union for ffi_call result.  Cast
	ffi_result members to jvalue.

2002-02-23  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in, gcj/Makefile.in, include/Makefile.in: Rebuilt.
	* testsuite/Makefile.in: Likewise.

2002-02-20  Per Bothner  <per@bothner.com>

	* java/net/URL.java (getPath):  New JDK 1.3 method.

	* java/net/URLStreamHandler.java (parseURL):
	It is wrong to prepend '/' to the file part of a relative url.

	* java/net/URLStreamHandler.java (parseURL):
	Minor optizations - append '/' rather than "/".

	* java/net/URLStreamHandler.java (parseURL):
	Don't canonicalize "xx/.." or "./" URLs - JDK doesn't.
	We probably should canonicalize for a context-relative url, though.
	* java/net/URL.java (sameFile):  Delegate to URLStreamHandler.
	* java/net/URLStreamHandler.java (canonicalizeFilename):  New helper.
	(sameFile):  New method.  Uses canonicalizeFilename.

2002-02-22  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Include the `Inc.' in
	java.vendor and java.vm.vendor.
	* gnu/java/rmi/rmic/RMIC.java (parseOptions): Only print most
	recent copyright date.
	* gnu/gcj/convert/Convert.java (version): Print `Inc'.
	* gij.cc (version): Print `Inc'.

2002-02-22  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (CXX): AC_SUBST it, instead of glibcpp_CXX.
	* aclocal.m4, configure: Rebuilt.

2002-02-20  Per Bothner  <per@bothner.com>

	* gnu/gcj/protocol/file/Connection.java (conect):  Open the input
	and/or output streams immediately here, instead of using File.exists.
	(inputStream, outputStream):  New fields to save open streams.
	(getInputStream, getOutputStream):  Use already-opened streams.

2002-02-22  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
	Use it.
	* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
	* aclocal.m4, configure, Makefile.in: Rebuilt.

2002-02-19  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/5696:
	* verify.cc (is_assignable_from_slow): Never call
	_Jv_IsAssignableFrom.
	(verify_instructions_0): Added new debug statement.
	(state::print): Print information about whether local has
	changed.
	(state::merge): Don't call note_variable when merging locals.
	(state::set_exception): Removed old FIXME comment.

2002-02-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/net/natPlainDatagramSocketImpl.cc (bind): Call setsockopt to
	enable SO_BROADCAST.

2002-02-18  Jason Merrill  <jason@redhat.com>

	* name-finder.cc (toHex): Use word mode, not long long.

	* gnu/gcj/convert/natIconv.cc (write): Avoid sign-compare warning.

2002-02-15  Tom Tromey  <tromey@redhat.com>

	Fix for PR libgcj/5695:
	* verify.cc (is_assignable_from_slow): Check to see if target is
	an Object before checking to see if source is an interface.
	(verify_instructions_0) [op_invokeinterface]: Handle case where
	we're making an interface call on Object.

2002-02-15  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* Makefile.in: Rebuilt with Eric's change below.

	* java/lang/natMath.cc (abs(jdouble), abs(jfloat), round(jfloat),
	round(jdouble), min(jfloat), max(jfloat), min(jdouble), min(jfloat)):
	Removed functions which are now implemented in Math.java.

2002-02-14  Eric Blake  <ebb9@email.byu.edu>

	* gcj/javaprims.h (java::lang): Add java::lang::StrictMath.
	* Makefile.am (core_java_source_files): Add
	java/lang/StrictMath.java.
	* java/lang/Math.java: Merge with Classpath.
	* java/lang/StrictMath.java: New file - merge with Classpath.

2002-02-14  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-02-14  Mark Wielaard <mark@klomp.org>

	* java/security/BasicPermission.java: extends with fully qualified
	classname as workaround for gcj 3.0.4.

2002-02-14  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-14  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-14  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-13  Todd Stock  <toddastock@yahoo.com>

	Fix for PR libgcj/5670:
	* verify.cc (is_assignable_from_slow): If `source' is interface,
	recursively look for merge with `target'.

2002-02-14  Martin Kahlert  <martin.kahlert@infineon.com>

	* include/jni.h: Fix typo.

2002-02-13  Martin Kahlert  <martin.kahlert@infineon.com>

	* jni.cc (_Jv_JNI_AttachCurrentThread): env->locals assigned
	correctly.

2002-02-13  Todd Stock  <toddastock@yahoo.com>

	Fix for PR libgcj/5671:
	* verify.cc (state::merge): Handle case where we're merging
	against an interface.

2002-02-12  Tom Tromey  <tromey@redhat.com>

	* exception.cc (std::abort): Mark as noreturn.

2002-02-12  Adam Megacz <adam@xwt.org>

	* java/lang/Win32Process.java: Filled in a placeholder
	implementation so Win32 will build.

2002-02-12  Adam Megacz <adam@xwt.org>

	* java/io/natFilePosix.cc: Copied this from natFile.cc.
	* java/io/natFile.cc: Removed from repository.
	* configure.in: Added AC_LINK_FILES for natFile${PLATFORM}.

2002-02-12  Adam Megacz <adam@xwt.org>

	* win32.cc: Added two #includes to make win32.cc compile.

2002-02-12  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* boehm.cc (initialized, obj_kind_x, obj_free_list): Removed unused
	declarations.
	(_Jv_InitGC): Don't bother locking, as this is always called from a
	single-thread. Turn off GC_all_interior_pointers. Remove dead code.

2002-02-11  Adam Megacz <adam@xwt.org>

	* include/win32.h: Added _Jv_platform_gettimeofday.
	* win32.cc (_Jv_platform_gettimeofday): Added dummy function.

2002-02-11  Adam Megacz <adam@xwt.org>

	* java/io/natFileWin32.cc, java/io/natFileDescriptorWin32.cc:
	Added #undef STRICT to make windows.h and
	java/lang/reflect/Modifier.h cooperate.

2002-02-11  Adam Megacz <adam@xwt.org>

	* java/io/natFileWin32.cc: Created a placeholder class with lots
	of FIXMEs.

2002-02-11  Adam Megacz <adam@xwt.org>

	* exception.cc (_Jv_Throw, PERSONALITY_FUNCTION): Changed
	std::abort() to simply abort(). Also added "fake" std::abort() so
	we can #include unwind-pe.h without having to link against
	libstdc++-v3.

2002-02-10  Andreas Tobler  <toa@pop.agri.ch>

	* interpret.cc (continue1) [insn_f2l]: Use PUSHL, not PUSHI.

2002-02-08  Tom Tromey  <tromey@redhat.com>

	* interpret.cc (convert): New function.
	(continue1) [insn_d2i, insn_d2l, insn_f2i, insn_f2l]: Use
	convert.
	Include Long.h.

2002-02-08  Anthony Green  <green@redhat.com>

	* configure.host: Add support for xscale-elf embedded target.

2002-02-08  Martin Kahlert  <martin.kahlert@infineon.com>

	* jni.cc (_Jv_JNI_NewLocalRef): Make sure, that NULL frame is not
	dereferenced.
	(_Jv_JNI_AttachCurrentThread): Produce full featured env->locals
	frame.

2002-02-07  Tom Tromey  <tromey@redhat.com>

	* java/io/natFile.cc (_access): Use __builtin_alloca.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.

2002-02-08  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* HACKING: Fix URL for the automake-gcj.

2002-02-07  Tom Tromey  <tromey@redhat.com>

	* java/lang/natThrowable.cc: Updated copyright.
	* java/io/natFileWin32.cc: Updated copyright.
	* java/io/natFileDescriptorWin32.cc: Updated copyright.
	* win32-threads.cc: Updated copyright.
	* name-finder.cc: Updated copyright.
	* include/name-finder.h: Updated copyright.

	* include/name-finder.h: Conditionally include sys/wait.h.
	* include/config.h.in: Rebuilt.

	* java/io/natFile.cc (_access): Don't stack-allocate buffer.
	Size buffer based on real size of string.
	(_stat): Likewise.
	(attr): Likewise.
	(getCanonicalPath): Likewise.
	(performList): Likewise.
	(performMkdir): Likewise.
	(performSetReadOnly): Likewise.
	(unixroot): Removed.
	(performRenameTo): Likewise.
	(performSetLastModified): Likewise.
	(performCreate): Likewise.
	(performDelete): Likewise.
	(performListRoots): Always return new array.

	* prims.cc (_Jv_CreateJavaVM): Call _Jv_platform_initialize.
	* win32.cc (win32_exception_handler): Now static.
	* include/win32.h (_Jv_platform_initialize): Declare.
	(win32_exception_handler): Don't declare.
	* java/lang/natSystem.cc (currentTimeMillis): Use
	_Jv_platform_gettimeofday.
	* posix.cc (_Jv_platform_gettimeofday): Renamed.
	(_Jv_select): Use new name.
	(_Jv_platform_initialize): New function.
	* include/posix.h (_Jv_platform_gettimeofday): Renamed from
	_Jv_gettimeofday.
	(_Jv_platform_initialize): Declare.

	* configure: Rebuilt.
	* configure.in: Removed unnecessary parens.

2002-02-06  Adam Megacz <adam@xwt.org>

       * configure.in: Changed mingw) to *mingw*).
       * win32.cc: Created this file.
       * win32.h: Created this file.
       * win32.cc, prims.cc, win32.h (win32_exception_handler): Moved
       win32_exception_handler from prims.cc to win32.cc, added
       header in win32.h.
       * prims.cc: removed some #ifdef-WIN32'd headers which are no
       longer needed now that we have platform.h

2002-02-06  Adam Megacz <adam@xwt.org>

	* gnu/gcj/io/shs.h, gnu/gcj/io/shs.cc, gnu/gcj/io/natSimpleSHSStream.cc:
	use uint<n>_t instead of LONG and BYTE

2002-02-06  Adam Megacz <adam@xwt.org>

	* name-finder.h: don't #include sys/wait.h unless HAVE_SYS_WAIT_H

2002-02-06  Anthony Green  <green@redhat.com>

	* java/net/natPlainSocketImpl.cc: Fix DISABLE_JAVA_NET targets.
	Implement missing method stubs.
	java/net/natPlainDatagramSocketImpl.cc: Fix DISABLE_JAVA_NET
	targets.
	* java/lang/natSystem.cc (getSystemTimeZone): Some targets have no
	concept of timezones.
	(init_properties): Don't refer to _Jv_Environment_Properties
	when this feature is not available.
	* include/config.h.in: Rebuilt.
	* acconfig.h: Add DISABLE_MAIN_ARGS.
	* prims.cc (_Jv_RunMain): Use DISABLE_MAIN_ARGS.
	* configure: Rebuilt.
	* configure.in: Add --disable-main-args option.  Test for
	  opendir function.  Replace AC_CHECK_SIZEOF with
	  AC_COMPILE_CHECK_SIZEOF.
	* java/io/natFile.cc (performList): Check HAVE_OPENDIR.
	* aclocal.m4: Rebuilt.
	* acinclude.m4: Add AC_COMPILE_CHECK_SIZEOF.

2002-02-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc (require_array_type): If argument is a null array of
	references, return null as the element type.

2002-02-06  Mark Wielaard  <mark@klomp.org>

	* verify.cc (verify_instructions_0) [op_dup2]: Actually push the
	duplicate of a wide type.

2002-02-06  Tom Tromey  <tromey@redhat.com>

	* verify.cc (type::isnull): New method.
	(require_array_type): Handle case where array is null.
	(verify_instructions_0) [op_arraylength]: Likewise.

2002-02-05  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* configure.in: Set up PLATFORMOBJS not PLATFORM_SPECIFIC_SOURCES.
	Symlink PLATFORMH to platform.h.
	* Makefile.am (libgcj_la_DEPENDENCIES, libgcj_la_LIBADD): Add
	PLATFORMOBJS.
	* java/lang/natSystem.cc: #include platform.h not posix.h.
	* Makefile.in: Rebuilt with libgcj automake.
	* configure: Rebuilt.

2002-02-05  Richard Henderson  <rth@redhat.com>

	* Makefile.in: Undo munging last change.

2002-02-04  Adam Megacz <adam@xwt.org>

	* win32.cc: Created it.
	* configure.in: Added PLATFORM_SPECIFIC_SOURCES,
	which is set to posix.cc or win32.cc.
	* Makefile.am: Updated it to use $(PLATFORM_SPECIFIC_SOURCES).

2002-02-04  Adam Megacz <adam@xwt.org>

	* configure.in: Corrected mingw case branches; added * before
	and after.

2002-02-04  Adam Megacz <adam@xwt.org>

	* configure.in: Add -lgdi32 -lwsock32 -lws2_32 to libgcj.spec
	if compiling for win32

2002-02-04  Adam Megacz <adam@xwt.org>

	* win32-threads.cc: #undef STRICT after gc.h inclusion

2002-02-02  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.

2002-02-02  Jason Merrill  <jason@redhat.com>

	* Makefile.am (clean-nat): New target.

2002-02-02  Tom Tromey  <tromey@redhat.com>

	* java/io/natFile.cc: Removed old "FIXME" comments.

2002-02-01  Tom Tromey  <tromey@redhat.com>

	* java/lang/natPosixProcess.cc (myclose): New function.
	(fail): Use it.
	(startProcess): Likewise.

2002-02-01  Adam Megacz <adam@xwt.org>

	* prims.cc: Added #undef STRICT after #include<windows.h>.

2002-02-01  Adam Megacz <adam@xwt.org>

	* prims.cc
	(_Jv_CreateJavaVM): We now use WIN32 instead of
	USE_WIN32_SIGNALLING and USE_WINSOCK.
	(win32_exception_handler): Now throws an exception out of
	the signal handler; assumes SJLJ.

2002-02-01  Adam Megacz <adam@xwt.org>

	* win32-threads.cc:
	(_Jv_CondWait, _Jv_CondNotify, _Jv_CondNotifyAll): Corrected
	wait() algorithm to make it safe.
	(ensure_condvar_initialized, _Jv_CondInit, _Jv_CondDestroy):
	Added lazy creation of Win32 Events for better performance
	(really_start): This now uses GC_CreateThread so boehm-gc
	knows about new threads even when statically linked.

2002-02-01  Adam Megacz <adam@xwt.org>

	* include/win32-threads.h (_Jv_ConditionVariable_t): Now a struct, to
	enable safer wait() algorithm.
	(_Jv_CondWait, _Jv_CondInit, _Jv_CondDestroy, _Jv_CondNotify,
	_Jv_CondNotifyAll): Implementations moved to win32-threads.cc.
	(_Jv_MutexInit, _Jv_HaveMutexDestroy, _Jv_MutexUnlock,
	_Jv_MutexLock, _Jv_ThreadYield): Reimplement using CRITICAL_SECTIONs
	instead of mutex.
	(_Jv_ThreadYield): Don't call Sleep(), because it crashes win98.

2002-02-01  Adam Megacz <adam@xwt.org>

	* configure.in: Added support for mingw.
	* java/lang/Win32Process.java: Created as empty file.
	* java/lang/natWin32Process.cc: Created as empty file.

2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR java/4972
	* aclocal.m4, acinclude.m4 (AM_ICONV): Put linking flags
	for libiconv in LIBICONV variable.
	* configure: Regenerated.

2002-01-31  Tom Tromey  <tromey@redhat.com>

	* verify.cc (state::enter_subroutine): New method.
	(handle_jsr_insn): Use it.
	(state::merge): When processing a `ret', correctly use
	subroutine's state to determine which local variables have
	changed.
	(push_exception_jump): Don't let stack overflow.

2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gnu/gcj/convert/Convert.java: Only include one copyright year in
	--version output.

2002-01-30  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Added template
	parameter for `recv' return type.

	* verify.cc (handle_ret_insn): Check for subroutine merge here...
	(state::merge): ... not here.
	(subr_entry_info): New structure.
	(entry_points): New field.
	(~_Jv_BytecodeVerifier): Correctly free jsr_ptrs.  Free
	entry_points.

2002-01-29  Tom Tromey  <tromey@redhat.com>

	* java/awt/List.java (addNotify): Correctly check to see if peer
	does not exist.

	* 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-28  Tom Tromey  <tromey@redhat.com>

	* verify.cc (class _Jv_BytecodeVerifier) [op_invokeinterface]:
	`nargs' byte is number of words, not number of arguments.

2002-01-27  Tom Tromey  <tromey@redhat.com>

	* java/awt/event/MouseEvent.java (modifiers): Removed field.
	(when): Likewise.
	* java/awt/event/InputEvent.java (modifiers, when): Now
	package-private.

	* verify.cc (class _Jv_BytecodeVerifier): Removed `FIXME' comment
	and to-do list.
	(state::merge): Use current class' class loader.
	(state::print): Print subroutine.
	(state::merge): Don't look at subroutine of unmerged `ret'.

2002-01-26 Andreas Tobler <a.tobler@schweiz.ch>

	* nogc.cc: Remove warnings.
	(_Jv_GCRegisterDisappearingLink, _Jv_GCCanReclaimSoftReference):
	New functions.

2002-01-25  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* java/awt/image/MemoryImageSource.java (newPixels(byte[], ColorModel,
	int, int):  Remove empty "if" statement to work around compiler bug.
	(newPixels(int[], ColorModel, int, int): Likewise.

2002-01-25  Per Bothner  <per@bothner.com>

	* verify.cc (verify_fail):  Change from being a top-level function
	to e method of _Jv_BytecodeVerifier.  Emit current method name.
	Pass the current verifier to type: and state: methods as needed,
	for better error messages, and for resolve.
	(resolve):  Pass current class's loader for Class.forName and
	_Jv_FindClassFromSignature, rather than using the default loader.
	(various type: and state: methods):  Take _Jv_BytecodeVerifier* arg.
	(get_type_val_for_signature):  Make non-static.
	(various methods):  Pass start_PC implicitly, not explicitly.

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/Shape.java: Merged with Classpath.
	* java/awt/Scrollbar.java: Merged with Classpath.

	* 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/lang/natObject.cc (X86 compare_and_swap): Use +m constraint.

	* java/awt/image/PixelGrabber.java (grabPixels()): Call grabPixels(0).
	(grabPixels(long)): Wait to be notified that the ImageProducer has
	completed.

2002-01-24  Per Bothner  <per@bothner.com>

	* verify.cc (is_assignable_from_slow): If target is an interface,
	we must still check the source's superclass before giving up.

2002-01-24  Tom Tromey  <tromey@redhat.com>

	* gnu/awt/xlib/XToolkit.java (getPrintJob): New stub method.

2002-01-23  Tom Tromey  <tromey@redhat.com>

	* java/awt/BorderLayout.java (addLayoutComponent): Added missing
	`else'.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/awt/Toolkit.java: Merged with Classpath.
	* java/awt/PrintGraphics.java: New file from Classpath.
	* java/awt/PrintJob.java: New file from Classpath.
	* java/awt/datatransfer/Clipboard.java: New file from Classpath.
	* java/awt/datatransfer/ClipboardOwner.java: New file from
	Classpath.
	* java/awt/datatransfer/DataFlavor.java: New file from Classpath.
	* java/awt/datatransfer/FlavorMap.java: New file from Classpath.
	* java/awt/datatransfer/MimeTypeParseException.java: New file from
	Classpath.
	* java/awt/datatransfer/StringSelection.java: New file from
	Classpath.
	* java/awt/datatransfer/SystemFlavorMap.java: New file from
	Classpath.
	* java/awt/datatransfer/Transferable.java: New file from
	Classpath.
	* java/awt/datatransfer/UnsupportedFlavorException.java: New file
	from Classpath.

	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Added new files.
	* java/awt/image/AreaAveragingScaleFilter.java: New file from
	Classpath.
	* java/awt/image/CropImageFilter.java: New file from Classpath.
	* java/awt/image/FilteredImageSource.java: New file from
	Classpath.
	* java/awt/image/ImageFilter.java: New file from Classpath.
	* java/awt/image/MemoryImageSource.java: New file from Classpath.
	* java/awt/image/PixelGrabber.java: New file from Classpath.
	* java/awt/image/RGBImageFilter.java: New file from Classpath.
	* java/awt/image/ReplicateScaleFilter.java: New file from
	Classpath.
	* java/awt/image/ImageProducer.java: Replaced with Classpath
	version.
	* java/awt/image/ImageObserver.java: Replaced with Classpath
	version.
	* java/awt/image/ImageConsumer.java: Replaced with Classpath
	version.
	* java/awt/GridBagConstraints.java (clone): Catch
	CloneNotSupportedException.

2002-01-23  Per Bothner  <per@bothner.com>

	* java/lang/reflect/natField.cc (setAddr):  New function.
	Calls getAddr and then checks that the field isn't final.
	(setBoolean. setChar, setByte, setShort, setInt, setLong, setFloat,
	setDouble, set):  Use setAddr instead of getAddr, to check for FINAL.
	(set):  Call setAddr before check that new value has right type,
	to better match specified semantics.

2002-01-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/TextField.java: Replaced with Classpath version.
	* java/awt/TextArea.java: Replaced with Classpath version.
	* java/awt/TextComponent.java: Replaced with Classpath version.

	* java/awt/GridBagConstraints.java: Updated copyright.

2002-01-22  Mark Wielaard <mark@klomp.org>

	* java/awt/Adjustable.java java/awt/CheckboxMenuItem.java
	java/awt/Choice.java java/awt/Color.java java/awt/Cursor.java
	java/awt/Dialog.java java/awt/FileDialog.java
	java/awt/Font.java java/awt/FontMetrics.java
	java/awt/Image.java java/awt/ImageMediaEntry.java
	java/awt/Insets.java java/awt/List.java
	java/awt/MediaEntry.java java/awt/MediaTracker.java
	java/awt/Menu.java java/awt/MenuBar.java
	java/awt/MenuContainer.java java/awt/MenuShortcut.java
	java/awt/PaintContext.java java/awt/Panel.java
	java/awt/PopupMenu.java java/awt/SystemColor.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: Add license clarification.

2002-01-22  Mark Wielaard <mark@klomp.org>

	* LIBGCJ_LICENSE gnu/classpath/Configuration.java.in
	gnu/gcj/runtime/StringBuffer.java
	gnu/java/awt/BitMaskExtent.java gnu/java/awt/Buffers.java
	gnu/java/awt/ComponentDataBlitOp.java
	gnu/java/awt/GLightweightPeer.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/NullOutputStream.java
	gnu/java/io/ObjectIdentityWrapper.java
	gnu/java/lang/ArrayHelper.java gnu/java/lang/ClassHelper.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/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/provider/DefaultPolicy.java
	gnu/java/security/provider/Gnu.java
	gnu/java/security/provider/SHA.java
	gnu/java/security/provider/SHA1PRNG.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 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/BorderLayout.java
	java/awt/Button.java java/awt/Canvas.java
	java/awt/CardLayout.java java/awt/Checkbox.java
	java/awt/CheckboxGroup.java java/awt/Component.java
	java/awt/ComponentOrientation.java java/awt/Container.java
	java/awt/Dimension.java java/awt/Event.java
	java/awt/EventDispatchThread.java java/awt/EventQueue.java
	java/awt/FlowLayout.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/ItemSelectable.java java/awt/Label.java
	java/awt/LayoutManager.java java/awt/LayoutManager2.java
	java/awt/MenuComponent.java java/awt/MenuItem.java
	java/awt/Paint.java java/awt/Point.java
	java/awt/Rectangle.java java/awt/RenderingHints.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/event/HierarchyBoundsAdapter.java
	java/awt/event/HierarchyBoundsListener.java
	java/awt/event/HierarchyEvent.java
	java/awt/event/HierarchyListener.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/BufferedImage.java
	java/awt/image/ColorModel.java
	java/awt/image/ComponentColorModel.java
	java/awt/image/ComponentSampleModel.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/PackedColorModel.java
	java/awt/image/Raster.java java/awt/image/RasterOp.java
	java/awt/image/SampleModel.java
	java/awt/image/SinglePixelPackedSampleModel.java
	java/awt/image/WritableRaster.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/EOFException.java java/io/Externalizable.java
	java/io/FileFilter.java java/io/FileNotFoundException.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/InterruptedIOException.java
	java/io/InvalidClassException.java
	java/io/InvalidObjectException.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/PipedInputStream.java java/io/PipedOutputStream.java
	java/io/PipedReader.java java/io/PipedWriter.java
	java/io/PrintWriter.java java/io/PushbackInputStream.java
	java/io/PushbackReader.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/ClassCastException.java
	java/lang/ClassCircularityError.java
	java/lang/ClassFormatError.java
	java/lang/ClassNotFoundException.java
	java/lang/CloneNotSupportedException.java
	java/lang/Cloneable.java java/lang/Comparable.java
	java/lang/Compiler.java java/lang/Double.java
	java/lang/Error.java java/lang/Exception.java
	java/lang/ExceptionInInitializerError.java
	java/lang/Float.java java/lang/IllegalAccessError.java
	java/lang/IllegalAccessException.java
	java/lang/IllegalArgumentException.java
	java/lang/IllegalMonitorStateException.java
	java/lang/IllegalStateException.java
	java/lang/IllegalThreadStateException.java
	java/lang/IncompatibleClassChangeError.java
	java/lang/IndexOutOfBoundsException.java
	java/lang/InheritableThreadLocal.java
	java/lang/InstantiationError.java
	java/lang/InstantiationException.java java/lang/Integer.java
	java/lang/InternalError.java
	java/lang/InterruptedException.java
	java/lang/LinkageError.java java/lang/Long.java
	java/lang/NegativeArraySizeException.java
	java/lang/NoClassDefFoundError.java
	java/lang/NoSuchFieldError.java
	java/lang/NoSuchFieldException.java
	java/lang/NoSuchMethodError.java
	java/lang/NoSuchMethodException.java
	java/lang/NullPointerException.java java/lang/Number.java
	java/lang/NumberFormatException.java
	java/lang/OutOfMemoryError.java java/lang/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/StringBuffer.java
	java/lang/StringIndexOutOfBoundsException.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/InvocationTargetException.java
	java/lang/reflect/Member.java java/lang/reflect/Modifier.java
	java/lang/reflect/ReflectPermission.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/DatagramSocketImpl.java
	java/net/FileNameMap.java java/net/MalformedURLException.java
	java/net/MulticastSocket.java java/net/NetPermission.java
	java/net/NoRouteToHostException.java
	java/net/PasswordAuthentication.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/SocketOptions.java java/net/SocketPermission.java
	java/net/URLDecoder.java java/net/URLEncoder.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/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/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/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/DeflaterOutputStream.java
	java/util/zip/GZIPInputStream.java
	java/util/zip/GZIPOutputStream.java
	java/util/zip/Inflater.java
	java/util/zip/InflaterInputStream.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/naming/BinaryRefAddr.java
	javax/naming/InvalidNameException.java javax/naming/Name.java
	javax/naming/NamingException.java javax/naming/RefAddr.java
	javax/naming/StringRefAddr.java: Add license clarification.

2002-01-22  Tom Tromey  <tromey@redhat.com>

	* java/awt/peer/ButtonPeer.java: Replace with Classpath version.
	* java/awt/peer/CanvasPeer.java: Replace with Classpath version.
	* java/awt/peer/CheckboxMenuItemPeer.java: Replace with Classpath
	version.
	* java/awt/peer/CheckboxPeer.java: Replace with Classpath version.
	* java/awt/peer/ChoicePeer.java: Replace with Classpath version.
	* java/awt/peer/ComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/ContainerPeer.java: Replace with Classpath version.
	* java/awt/peer/DialogPeer.java: Replace with Classpath version.
	* java/awt/peer/FileDialogPeer.java: Replace with Classpath version.
	* java/awt/peer/FontPeer.java: Replace with Classpath version.
	* java/awt/peer/FramePeer.java: Replace with Classpath version.
	* java/awt/peer/LabelPeer.java: Replace with Classpath version.
	* java/awt/peer/LightweightPeer.java: Replace with Classpath version.
	* java/awt/peer/ListPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuBarPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuItemPeer.java: Replace with Classpath version.
	* java/awt/peer/MenuPeer.java: Replace with Classpath version.
	* java/awt/peer/PanelPeer.java: Replace with Classpath version.
	* java/awt/peer/PopupMenuPeer.java: Replace with Classpath version.
	* java/awt/peer/ScrollPanePeer.java: Replace with Classpath version.
	* java/awt/peer/ScrollbarPeer.java: Replace with Classpath version.
	* java/awt/peer/TextAreaPeer.java: Replace with Classpath version.
	* java/awt/peer/TextComponentPeer.java: Replace with Classpath version.
	* java/awt/peer/TextFieldPeer.java: Replace with Classpath version.
	* java/awt/peer/WindowPeer.java: Replace with Classpath version.
	* gnu/awt/xlib/XPanelPeer.java (insets): New method.
	* gnu/awt/xlib/XCanvasPeer.java (show, hide): New methods.
	(minimumSize, preferredSize, reshape): Likewise.
	* gnu/awt/xlib/XFramePeer.java (insets, enable, disable,
	getColorModel): New methods.
	* java/awt/PopupMenu.java: Merged with Classpath.
	* java/awt/MenuBar.java: Merged with Classpath.
	* java/awt/SystemColor.java: Replace with Classpath version.
	* java/awt/Panel.java: Merged with Classpath.
	* java/awt/PaintContext.java: Updated copyright.
	* java/awt/MenuShortcut.java: Merged with Classpath.
	* java/awt/MenuContainer.java: Merged with Classpath.
	* java/awt/Menu.java: Merged with Classpath.
	* java/awt/MediaEntry.java: New file from Classpath.
	* java/awt/MediaTracker.java: New file from Classpath.
	* java/awt/List.java: Merged with Classpath version.
	* java/awt/Insets.java: Merged with Classpath version.
	* java/awt/ImageMediaEntry.java: New file from Classpath.
	* java/awt/Image.java: Replaced with Classpath version.
	* java/awt/FontMetrics.java: Merged with Classpath version.
	* java/awt/Cursor.java (getDefaultCursor): Use DEFAULT_CURSOR
	constant.
	* java/awt/Font.java: Merged with Classpath version.
	* java/awt/Dialog.java: Merged with Classpath version.
	* java/awt/Color.java: Merged with Classpath version.
	* java/awt/Choice.java: Merged with Classpath version.
	* java/awt/CheckboxMenuItem.java: Merged with Classpath version.
	* java/awt/Adjustable.java: Replace with Classpath version.
	* 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.

2002-01-20  Andreas Schwab  <schwab@suse.de>

	* java/net/natPlainSocketImpl.cc (_Jv_recv): Change return type of
	function and of parameter recv_func to ssize_t, as specified by
	POSIX.

2002-01-19  Per Bothner  <per@bothner.com>

	* java/util/zip/ZipOutputStream.java (putNextEntry):  Clear
	uncompressed_size in readiness for next entry.

2002-01-18  Tom Tromey  <tromey@redhat.com>

	* java/net/natPlainSocketImpl.cc: Include
	IllegalArgumentException.h.
	(_Jv_recv): New template function.
	(BooleanClass): Removed.
	(read): Use _Jv_recv.
	(setOption): Use Boolean::class$.  Throw exception if object is
	not Boolean or Integer.

2002-01-17  Tom Tromey  <tromey@redhat.com>

	* java/awt/MenuComponent.java: Merged with Classpath.
	* java/awt/MenuItem.java: Merged with Classpath.
	* java/awt/Button.java: Merged with Classpath.

	* java/awt/ActiveEvent.java: Updated copyright.

	* java/awt/AWTError.java: Replaced with Classpath version.
	* java/awt/AWTException.java: Replaced with Classpath version.
	* java/awt/IllegalComponentStateException.java: Replaced with
	Classpath version.

2002-01-16  Tom Tromey  <tromey@redhat.com>

	* java/awt/Canvas.java (serialVersionUID): New constant.
	Updated copyright.  Added javadoc from Classpath.
	* java/awt/ItemSelectable.java: Replaced with Classpath version.

	* java/awt/CheckboxGroup.java: Merged with Classpath.
	* java/awt/Checkbox.java: Merged with Classpath.

	* java/awt/Dimension.java: Updated copyright.  Added javadoc from
	Classpath.
	* java/awt/Point.java: Updated copyright.

	* java/awt/Point.java (toString): Use getClass().getName().
	Added javadoc.

	* java/util/IdentityHashMap.java (IdentityHashMap): Removed
	commented code.
	(hash): Correctly compute initial value for `h'.

	* java/awt/Label.java: Merged with Classpath.

2002-01-15  Tom Tromey  <tromey@redhat.com>

	* java/awt/AWTPermission.java: Updated copyright.

	* java/awt/LayoutManager2.java: Merged with Classpath.
	* java/awt/LayoutManager.java: Merged with Classpath.
	* java/awt/GridLayout.java: Updated copyright and javadoc.
	(getSize): Use `parent.ncomponents'.  Handle insets.
	(layoutContainer): Use `parent.ncomponents'.  Handle case where
	there are fewer children than columns.  Correctly compute size of
	each cell in the grid.  Handle case where there isn't enough
	space.
	* java/awt/CardLayout.java (tab): Renamed from `map'.  Updated
	all users.
	(gotoComponent): Use parent.ncomponents.  Ensure child exists
	before calling setVisible() on it.  Last item is `num - 1', not
	`num'.
	(layoutContainer): Hoist invariants out of loop.

	Start of AWT merge with Classpath:
	* Makefile.in: Rebuilt.
	* Makefile.am (awt_java_source_files): Reference files in
	gnu/java/awt, not gnu/gcj/awt.
	* java/awt/image/BufferedImage.java: Updated copyright.
	* java/awt/image/ComponentColorModel.java: Updated copyright.
	* java/awt/image/ComponentSampleModel.java: Updated copyright.
	* java/awt/image/DataBuffer.java: Updated copyright.
	* java/awt/image/DataBufferByte.java: Updated copyright.
	* java/awt/image/DataBufferInt.java: Updated copyright.
	* java/awt/image/DataBufferUShort.java: Updated copyright.
	* java/awt/image/IndexColorModel.java: Updated copyright.
	* java/awt/image/PackedColorModel.java: Updated copyright.
	* java/awt/image/Raster.java: Updated copyright.
	* java/awt/image/RasterOp.java: Updated copyright.
	* java/awt/image/SampleModel.java: Updated copyright.
	* java/awt/image/SinglePixelPackedSampleModel.java: Updated copyright.
	* java/awt/image/WritableRaster.java: Updated copyright.
	* java/awt/color/ColorSpace.java: Updated copyright.
	* java/awt/color/ICC_ColorSpace.java: Updated copyright
	* java/awt/color/ICC_Profile.java: Updated copyright.
	* java/awt/event/HierarchyBoundsAdapter.java: Updated copyright.
	* java/awt/event/HierarchyBoundsListener.java: Updated copyright.
	* java/awt/event/HierarchyEvent.java: Updated copyright.
	* java/awt/event/HierarchyListener.java: Updated copyright.
	* java/awt/geom/AffineTransform.java: Updated copyright.
	* java/awt/geom/Dimension2D.java: Updated copyright.
	* java/awt/geom/Ellipse2D.java: Updated copyright.
	* java/awt/geom/IllegalPathStateException.java: Updated copyright.
	* java/awt/geom/Line2D.java: Updated copyright.
	* java/awt/geom/NoninvertibleTransformException.java: Updated
	copyright.
	* java/awt/geom/PathIterator.java: Updated copyright.
	* java/awt/geom/Point2D.java: Updated copyright.
	* java/awt/geom/Rectangle2D.java: Updated copyright.
	* java/awt/geom/RectangularShape.java: Updated copyright.
	* java/awt/geom/RoundRectangle2D.java: Updated copyright.
	* java/awt/Toolkit.java: Updated import for file moves.
	* java/awt/Rectangle.java: Updated copyright; added javadoc from
	Classpath.
	(hashCode): New method from Classpath.
	* java/awt/Graphics2D.java: Updated copyright.
	* java/awt/Transparency.java: Updated copyright.
	* java/awt/Paint.java: Updated copyright.
	* java/awt/Graphics.java: New version from Classpath.
	* java/awt/EventDispatchThread.java: Updated copyright.
	* java/awt/CardLayout.java (layoutContainer): Don't skip invisible
	children.
	(gotoComponent): Wrap around on next/previous.
	* gnu/gcj/awt/BitMaskExtent.java: Removed.
	* gnu/gcj/awt/Buffers.java: Removed.
	* gnu/gcj/awt/ComponentDataBlitOp.java: Removed.
	* gnu/gcj/awt/GLightweightPeer.java: Removed.
	* gnu/java/awt/BitMaskExtent.java: Added.
	* gnu/java/awt/Buffers.java: Added.
	* gnu/java/awt/ComponentDataBlitOp.java: Added.
	* gnu/java/awt/GLightweightPeer.java: Added.
	* java/awt/geom/Line2D.java (clone): Ignore
	CloneNotSupportedException.
	* gnu/gcj/awt/GLightweightPeer.java (getColorModel): New method.
	* java/awt/Frame.java: Merged with Classpath.
	* java/awt/RenderingHints.java: Copyright update.
	* java/awt/Paint.java: Copyright update.
	* java/awt/image/DirectColorModel.java: Merged with Classpath.
	* java/awt/image/ColorModel.java: Merged with Classpath.
	* java/awt/Window.java (show): New Implementation from Classpath.
	(isShowing): Use super.isShowing().
	* java/awt/EventQueue.java: Merged with Classpath.
	* java/awt/AWTEventMulticaster.java (save): Throw
	RuntimeException.
	(saveInternal): Likewise.
	* java/awt/AWTEvent.java: Now implements Serializable.
	* java/awt/Event.java: Copyright update.
	* java/awt/peer/ComponentPeer.java: Merged with Classpath.
	* java/awt/image/BufferedImage.java: Copyright update.
	* java/awt/GraphicsConfiguration.java: Copyright update.
	* java/awt/Component.java: (addNotify): Don't call
	addNotifyContainerChildren().
	(addNotifyContainerChildren): Removed.
	(setPeer): New method from Classpath.
	(setTreeLock): Likewise.
	(setVisible): Rewrote.
	(show): Use it.
	(hide): Likewise.
	(validate): Set `valid'.
	(checkImage(Image,ImageObserver)): Implementation from Classpath.
	(createImage(ImageProducer)): Likewise.
	(prepareImage): Likewise.
	* 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/ComponentOrientation.java: Updated copyright.  Added
	@author.
	* 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/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  Tom Tromey  <tromey@redhat.com>

	* java/lang/Float.java (equals): Preserve old code.
	* java/lang/Double.java (equals): Preserve old code.

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-13  Mark Wielaard  <mark@klomp.org>

	* java/net/DatagramSocket.java (getReceiveBufferSize): new 1.2 method.
	* java/net/DatagramSocket.java (getSendBufferSize): Likewise.
	* java/net/DatagramSocket.java (setReceiveBufferSize): Likewise.
	* java/net/DatagramSocket.java (setSendBufferSize): Likewise.

2002-01-11  Mark Wielaard  <mark@klomp.org>

	* java/net/InetAddress.java (ANY_IF): moved from ServerSocket.
	* java/net/DatagramSocket.java (DatagramSocket): use ANY_IF from
	InetAddress.
	* java/net/MulticastSocket.java (MulticastSocket): Likewise.
	* java/net/Socket.java: Merge with Classpath.
	* java/net/ServerSocket.java: Likewise.

2002-01-11  Chris Sears  <cbsears_sf@yahoo.com>

	* interpret.cc (NULLARRAYCHECK): New macro.
	(SAVE_PC): Just store `pc'.
	(find_exception): Subtract one from `pc' here.
	(continue1) [insn_iaload, insn_laload, insn_faload, insn_daload,
	insn_aaload, insn_baload, insn_caload, insn_saload, insn_iastore,
	insn_lastore, insn_fastore, insn_dastore, insn_aastore,
	insn_bastore, insn_castore, insn_sastore]: Use NULLARRAYCHECK, and
	don't call SAVE_PC.
	(continue1) [insn_fdiv, insn_ddiv, insn_frem, insn_drem]: Don't
	call SAVE_PC.

2002-01-11  Tom Tromey  <tromey@redhat.com>

	* java/lang/natSystem.cc (init_properties): Only look for default
	locale if LC_MESSAGES is defined.
	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* configure.in: Call AM_LC_MESSAGES.
	* acinclude.m4 (AM_LC_MESSAGES): New macro.

2002-01-10  Tom Tromey  <tromey@redhat.com>

	For PR libgcj/5303:
	* 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-09  Tom Tromey  <tromey@redhat.com>

	* gnu/gcj/convert/Convert.java (version): Use java.vm.name
	property.
	(help, version): Use println(), not println("").

	For PR libgcj/5303:
	* gnu/gcj/convert/Convert.java (error): Program is called
	`jv-convert'.  Print GNU-style message.  Exit with status 1, not
	-1.
	(main): Handle --help and --version.
	(help): New method.
	(version): Likewise.

2002-01-08  Tom Tromey  <tromey@redhat.com>

	* Makefile.in: Rebuilt.
	* Makefile.am (ordinary_java_source_files): Added new files.
	* 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.

	For PR libgcj/5031:
	* java/lang/natSystem.cc (init_properties): Use LC_MESSAGES to
	choose default locale.

	* Makefile.in: Rebuilt.
	* Makefile.am (jv_convert_LDADD): Removed convert_source_files.

2002-01-08  Nic Ferrier  <nferrier@tf1.tapsellferrier.co.uk>

	* java/net/natPlainSocketImpl.cc: Added timeout handling for
	sockets.
	(close): New function closes the socket.
	(write): New functions for output to socket.
	(read): New functions for reading from socket.
	* java/net/PlainSocketImpl.java: Glue for new timeout
	implementation.
	(write): Call the native impl.
	(read): Likewise.
	(getInputStream): Get a stream to read from the socket.
	(getOutputStream): Get a stream to write to the socket.

2002-01-08  Tom Tromey  <tromey@redhat.com>

	* resolve.cc (_Jv_PrepareClass): Enable verifier.

2002-01-07  Andreas Tobler <a.tobler@schweiz.ch>

	* java/lang/reflect/natMethod.cc: Don't include alloca.h.
	(_Jv_CallAnyMethodA): Convert alloca to __builtin_alloca.

2002-01-08  Chris Sears  <cbsears_sf@yahoo.com>

	* interpret.cc (ARRAYBOUNDSCHECK): New macro.
	(continue1) [insn_iaload, insn_laload, insn_faload, insn_daload,
	insn_aaload, insn_baload, insn_caload, insn_saload, insn_iastore,
	insn_lastore, insn_fastore, insn_dastore, insn_aastore,
	insn_bastore, insn_castore, insn_sastore]: Use it.
	(continue1) [insn_arraylength]: Check for null array.

2002-01-06 Andreas Tobler <a.tobler@schweiz.ch>

	* configure, include/config.h.in: Rebuilt.
	* java/lang/natSystem.cc (getSystemTimeZone): Check HAVE_TM_ZONE.
	* configure.in: Call AC_STRUCT_TIMEZONE.

2002-01-02 Andreas Tobler <a.tobler@schweiz.ch>

	* configure.host: Disable the interpreter for Darwin.

2002-01-04  Tom Tromey  <tromey@redhat.com>

	* java/lang/Thread.java (stop): No longer synchronized.
	(start): Likewise.

2002-01-02  Tom Tromey  <tromey@redhat.com>

	* java/lang/ieeefp.h: Fix bug in my hand-application of previous
	patch.

2002-1-1  Andrew Pinski  <pinskia@physics.uc.edu>

	* libjava/java/lang/ieeefp.h: Define __IEEE_BIG_ENDIAN for
	PPC Darwin, not for all of Darwin.
