2004-12-31  Archie Cobbs  <archie@dellroad.org>

	* NEWS: Add documentation about reference implementation.
	* java/lang/Thread.java (sleep(long,int)): Only do argument
	checking and push implementation to VMThread.sleep().
	* vm/reference/java/lang/VMThread.java (join): Prevent ms overflow.
	(sleep): Provide default implementation using Object.wait() and
	Thread.yield().

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

	* javax/swing/LookAndFeel.java
	(getDesktopPropertyValue): New method.

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

	* javax/swing/JTree.java
	(hasChildren): New instance field.

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

	* javax/swing/JComponent.java
	(getToolTipText): New method.
	(getTitledBorderText): Likewise.
	(getAccessibleKeyBinding): Likewise.
	(getVerifyInputWhenFocusTarget): Likewise.
	(setVerifyInputWhenFocusTarget): Likewise.
	(verifyInputWhenFocusTarget): New instance field.

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

	* javax/swing/DefaultListSelectionModel.java
	(fireValueChanged): New method.

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

	* javax/swing/DefaultBoundedRangeModel.java:
	Fixed javadocs all over.
	(fireStateChanged): Simplified.
	* javax/swing/BoundedRangeModel.java:
	Reformatted.

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

	* javax/swing/JRootPane.java
	(setMenuBar): Added @deprecated tag.
	(getMenuBar): Likewise.
	* javax/swing/JTable.java
	(sizeColumnsToFit): Likewise.

2004-12-30  Paul Jenner  <psj.home@ntlworld.com>

	* javax/swing/ImageIcon.java (setImage): Implemented.

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

	* gnu/java/locale/LocaleInformation_as.java,
	gnu/java/locale/LocaleInformation_bg.java,
	gnu/java/locale/LocaleInformation_cs.java,
	gnu/java/locale/LocaleInformation_da.java,
	gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_dz.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_en_IE.java,
	gnu/java/locale/LocaleInformation_en_SG.java,
	gnu/java/locale/LocaleInformation_es.java,
	gnu/java/locale/LocaleInformation_fa_AF.java,
	gnu/java/locale/LocaleInformation_fi.java,
	gnu/java/locale/LocaleInformation_fr.java,
	gnu/java/locale/LocaleInformation_ga.java,
	gnu/java/locale/LocaleInformation_hi.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_ko.java,
	gnu/java/locale/LocaleInformation_mr.java,
	gnu/java/locale/LocaleInformation_mt.java,
	gnu/java/locale/LocaleInformation_nb.java,
	gnu/java/locale/LocaleInformation_nl.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_sr.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_sw.java,
	gnu/java/locale/LocaleInformation_ta.java,
	gnu/java/locale/LocaleInformation_uz_AF.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java:
	Regenerated with new gnu.localegen to get timeZone arrays correct.

2004-12-30  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/java/locale/LocaleInformation.java
	Added EEK -> kr mapping for currency symbols.

2004-12-30  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/DecimalFormatSymbols.java
	New transient currency variable.
	(getCurrency()): uses local variable instead
	(getExponential()): documentation
	(setExponential(char)): documentation
	(getInternationalCurrencySymbol()): documentation fix
	(setInternationalCurrencySymbol(String)): sets currency
	* java/text/NumberFormat.java
	(getCurrencyInstance(java.util.Locale)): sets fraction digits
	from the currency after creation of the format.
	
2004-12-30  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/Locale.java
	(getDisplayLanguage(java.util.Locale)): more documentation,
	uses getDisplayString
	(getDisplayCountry(java.util.Locale)): more documentation,
	uses getDisplayString
	(getDIsplayVariant(java.util.Locale)): more documentation,
	uses getDisplayString
	(getDisplayString(java.util.Locale,String,String)): returns
	a possibly localized string, using appropriate information from
	gnu.java.locale.LocaleInformation

2004-12-30  Olga Rodimina  <rodimina@redhat.com>

	(prepareRenderer): Get column's index in dataModel instead
	of column's view index.
	(getColumnCount): return count of the columns in ColumnModel,
	not in dataModel.
	(removeColumn): Implemented.
	(moveColumm): Likewise.
	(setRowHeight): throw IllegalArgumentException if height is
	less then 1.
	* javax/swing/table/DefaultTableColumnModel.java: Add javadocs.
	(DefaultTableColumnModel):Add call to createSelectionModel().
	(addColumn): Fire columnAdded event to registered listeners.
	(removeColumn): Fire columnRemoved event to registered listeners.
	(moveColumn): Fire columnMoved event to registered listeners.
	(setColumnMargin): Fire ColumnMarginChanged event to registered listeners.
	(getColumnIndex): Changed parameter name.
	(setColumnSelectionAllowed): Likewise.
	(fireColumnAdded): Implemented.
	(fireColumnRemoved): Likewise.
	(fireColumnMoved): Likewise.
	(fireColumnMarginChanged): Likewise.
	(getListeners): Changed parameter name.
	(propertyChange): Implemented.
	(valueChanged): Changed parameter name.
	(createSelectionModel): Implemented.

004-12-29  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/Checkbox.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Choice.java,
	java/awt/Dialog.java,
	java/awt/Frame.java,
	java/awt/Label.java,
	java/awt/List.java,
	java/awt/Menu.java,
	java/awt/MenuBar.java,
	java/awt/MenuItem.java,
	java/awt/PopupMenu.java,
	java/awt/ScrollPane.java,
	java/awt/Scrollbar.java,
	java/awt/TextArea.java,
	java/awt/Window.java (getAccessibleContext): Clean up comments.
	Reformat.
	* java/awt/Button.java,
	java/awt/Checkbox.java,
	java/awt/Choice.java,
	java/awt/Menu.java,
	java/awt/PopupMenu.java,
	java/awt/TextArea.java (getAccessibleContext): Only create new
	accessible once.
	* java/awt/TextComponent.java (getAccessibleContext): Implement.

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

	* javax/imageio/metadata/IIOInvalidTreeException.java
	(IIOInvalidTreeException): Reformatted.
	* javax/imageio/spi/IIORegistry.java
	(static): Register ImageReaderSpi.class and ImageWriterSpi.class.
	* javax/imageio/stream/MemoryCacheImageInputStream.java:
	Reworked import statements.

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

	* gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_es.java,
	gnu/java/locale/LocaleInformation_fr.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_ko.java,
	gnu/java/locale/LocaleInformation_nb.java,
	gnu/java/locale/LocaleInformation_nl.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java:
	Regenerated with newer gnu.lcoalegen to include localized variant
	names.

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Explicitely import used classes.
	(getLocalGraphicsEnvironment): Simplify.
	* java/awt/Window.java (Window):
	Enable code to get the default GraphicsConfiguration.

2004-12-30  Chris Burdess <dog@gnu.org>

	* GnomeDocument.java,GnomeXPathNSResolver: Fixed XPathNSResolver
	implementation to resolve relative to node argument.

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

	* javax/swing/plaf/metal/DefaultMetalTheme.java
	(CONTROL_TEXT_FONT): New static field.
	(MENU_TEXT_FONT): Likewise.
	(SUB_TEXT_FONT): Likewise.
	(SYSTEM_TEXT_FONT): Likewise.
	(USER_TEXT_FONT): Likewise.
	(WINDOW_TITLE_FONT): Likewise.
	(getControlTextFont): New method.
	(getMenuTextFont): Likewise.
	(getSubTextFont): Likewise.
	(getSystemTextFont): Likewise.
	(getUserTextFont): Likewise.
	(getWindowTitleFont): Likewise.
	* javax/swing/plaf/metal/MetalTheme.java
	(BLACK): Initialize with Color.BLACK.
	(WHITE): Initialize with Color.WHITE.
	(getInactiveControlTextColor): Return getControlDisabled().
	(getMenuDisabledForeground): Return getSecondary3().
	(getControlTextFont): New abstract method.
	(getMenuTextFont): Likewise.
	(getSubTextFont): Likewise.
	(getSystemTextFont): Likewise.
	(getUserTextFont): Likewise.
	(getWindowTitleFont): Likewise.

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

	* java/text/DateFormat.java
	(getAvailableLocales): Implemented.
	* java/util/Locale.java
	(availableLocales): Fix modifier order.
	(localeMap): Likewise.
	(getAvailableLocales): Likewise.

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

	* gnu/java/locale/LocaleInformation_aa.java,
	gnu/java/locale/LocaleInformation_af.java,
	gnu/java/locale/LocaleInformation_am.java,
	gnu/java/locale/LocaleInformation_ar.java,
	gnu/java/locale/LocaleInformation_as.java,
	gnu/java/locale/LocaleInformation_az.java,
	gnu/java/locale/LocaleInformation_be.java,
	gnu/java/locale/LocaleInformation_bg.java,
	gnu/java/locale/LocaleInformation_bn.java,
	gnu/java/locale/LocaleInformation_ca.java,
	gnu/java/locale/LocaleInformation_cs.java,
	gnu/java/locale/LocaleInformation_cy.java,
	gnu/java/locale/LocaleInformation_da.java,
	gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_dv.java,
	gnu/java/locale/LocaleInformation_dz.java,
	gnu/java/locale/LocaleInformation_el.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_eo.java,
	gnu/java/locale/LocaleInformation_es.java,
	gnu/java/locale/LocaleInformation_et.java,
	gnu/java/locale/LocaleInformation_eu.java,
	gnu/java/locale/LocaleInformation_fa.java,
	gnu/java/locale/LocaleInformation_fa_AF.java,
	gnu/java/locale/LocaleInformation_fi.java,
	gnu/java/locale/LocaleInformation_fo.java,
	gnu/java/locale/LocaleInformation_fr.java,
	gnu/java/locale/LocaleInformation_ga.java,
	gnu/java/locale/LocaleInformation_gl.java,
	gnu/java/locale/LocaleInformation_gu.java,
	gnu/java/locale/LocaleInformation_gv.java,
	gnu/java/locale/LocaleInformation_he.java,
	gnu/java/locale/LocaleInformation_hi.java,
	gnu/java/locale/LocaleInformation_hr.java,
	gnu/java/locale/LocaleInformation_hu.java,
	gnu/java/locale/LocaleInformation_hy.java,
	gnu/java/locale/LocaleInformation_id.java,
	gnu/java/locale/LocaleInformation_is.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_iu.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_ka.java,
	gnu/java/locale/LocaleInformation_kk.java,
	gnu/java/locale/LocaleInformation_kl.java,
	gnu/java/locale/LocaleInformation_km.java,
	gnu/java/locale/LocaleInformation_kn.java,
	gnu/java/locale/LocaleInformation_ko.java,
	gnu/java/locale/LocaleInformation_kw.java,
	gnu/java/locale/LocaleInformation_ky.java,
	gnu/java/locale/LocaleInformation_lo.java,
	gnu/java/locale/LocaleInformation_lt.java,
	gnu/java/locale/LocaleInformation_lv.java,
	gnu/java/locale/LocaleInformation_mk.java,
	gnu/java/locale/LocaleInformation_ml.java,
	gnu/java/locale/LocaleInformation_mn.java,
	gnu/java/locale/LocaleInformation_mr.java,
	gnu/java/locale/LocaleInformation_ms.java,
	gnu/java/locale/LocaleInformation_mt.java,
	gnu/java/locale/LocaleInformation_nb.java,
	gnu/java/locale/LocaleInformation_nl.java,
	gnu/java/locale/LocaleInformation_nn.java,
	gnu/java/locale/LocaleInformation_om.java,
	gnu/java/locale/LocaleInformation_or.java,
	gnu/java/locale/LocaleInformation_pa.java,
	gnu/java/locale/LocaleInformation_pl.java,
	gnu/java/locale/LocaleInformation_ps.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_pt_PT.java,
	gnu/java/locale/LocaleInformation_ro.java,
	gnu/java/locale/LocaleInformation_ru.java,
	gnu/java/locale/LocaleInformation_sa.java,
	gnu/java/locale/LocaleInformation_sk.java,
	gnu/java/locale/LocaleInformation_sl.java,
	gnu/java/locale/LocaleInformation_so.java,
	gnu/java/locale/LocaleInformation_sq.java,
	gnu/java/locale/LocaleInformation_sr.java,
	gnu/java/locale/LocaleInformation_sr_Latn.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_sw.java,
	gnu/java/locale/LocaleInformation_ta.java,
	gnu/java/locale/LocaleInformation_te.java,
	gnu/java/locale/LocaleInformation_th.java,
	gnu/java/locale/LocaleInformation_ti.java,
	gnu/java/locale/LocaleInformation_tr.java,
	gnu/java/locale/LocaleInformation_tt.java,
	gnu/java/locale/LocaleInformation_uk.java,
	gnu/java/locale/LocaleInformation_ur.java,
	gnu/java/locale/LocaleInformation_uz.java,
	gnu/java/locale/LocaleInformation_uz_AF.java,
	gnu/java/locale/LocaleInformation_vi.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java,
	gnu/java/locale/LocaleInformation_zh_SG_Hans.java:
	Regenerated.

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

	* gnu/java/locale/LocaleInformation.java,
	gnu/java/locale/LocaleInformation_bg.java,
	gnu/java/locale/LocaleInformation_cs.java,
	gnu/java/locale/LocaleInformation_da.java,
	gnu/java/locale/LocaleInformation_es.java,
	gnu/java/locale/LocaleInformation_fi.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java:
	Updated to match update CLDR data more.

2004-12-30  Mark Wielaard  <mark@klomp.org>

	* java/lang/Thread.java (sleep): Update documentation. Make sure
	VMThread.sleep() is never called with zero arguments.
	* vm/reference/java/lang/VMThread.java (sleep): Update documentation.
	* NEWS: Mention change in VMThread.sleep() interface.

2004-12-30  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* gnu/java/locale/LocaleInformation.java
	Additional currency symbols.
	* java/text/DecimalFormat.java
	Correction of authorship < to (.
	(scanFix): removed currency changes
	(DecimalFormat()): documentation
	(DecimalFormat(String)): documentation
	(DecimalFormat(String, DecimalFormatSymbols): documentation
	(formatInternal(double,FormatBuffer,FieldPosition)): added currency
	substitution (apologies for reformatting).
	(format(long,FormatBuffer,FieldPosition): ditto
	(parse(String)): corrected compile warning (naming of multiplier)
	(substituteCurrency(String,double)): new method
	* java/text/DecimalFormatSymbols.java
	Correction of authorship < to (.
	(safeGetString): documentation
	(DecimalFormatSymbols()): currency uses java.util.Currency
	(setCurrency(java.util.Currency)): changes currency symbol and intl.
	currency symbol
	(setInternationalCurrencySymbol(String)): sets currency symbol
	on basis of change
	* java/text/NumberFormat.java
	Correction of authorship < to (.

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

	* gnu/java/locale/LocaleInformation.java
	Addition of currency code to symbols mapping.
	* java/util/Currency.java
	(Currency()): added symbol retrieval
	(getSymbol()): implemented

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

	* gnu/java/locale/LocaleInformation_et.java
	(contents): Removed localPatternChars entry.

2004-12-30  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/nio/ByteBufferImpl.java (compact):
	Set position and limit even if no bytes were moved.

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

	* java/nio/CharViewBufferImpl.java (compact): Likewise.
	* java/nio/DirectByteBufferImpl.java (compact): Likewise.
	* java/nio/DoubleViewBufferImpl.java (compact): Likewise.
	* java/nio/FloatViewBufferImpl.java (compact): Likewise.
	* java/nio/IntViewBufferImpl.java (compact): Likewise.
	* java/nio/LongViewBufferImpl.java (compact): Likewise.
	* java/nio/MappedByteBufferImpl.java (compact): Likewise.
	* java/nio/ShortViewBufferImpl.java (compact): Likewise.
	* java/nio/FloatBufferImpl.java (compact): Set position.
	* java/nio/CharBufferImpl.java (compact): Likewise.
	* java/nio/DoubleBufferImpl.java (compact): Likewise.
	* java/nio/IntBufferImpl.java (compact): Likewise.
	* java/nio/LongBufferImpl.java (compact): Likewise.
	* java/nio/ShortBufferImpl.java (compact): Likewise.

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

	* javax/swing/JFormattedTextField.java
	(getFocusLostBehavior): Fixed typo in method name.
	(setFocusLostBehavior): Likewise.

2004-12-29  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Add --enable-xmlj option. Check for libxml2 and
	libxslt libraries when enabled. Add native/jni/xmlj/Makefile.
	* gnu/xml/libxmlj/*: New files.
	* include/Makefile.am: Add XMLJ_H_FILES. Group awt gtk peer headers
	under GTKPEER_H_FILES. Generate new headers.
	* include/gnu_xml_libxmlj_*.h: New generated files.
	* native/jni/Makefile.am: Conditionally add xmlj dir.
	* native/jni/xmlj/*: New files.

2004-12-29  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/CheckboxMenuItem.java (getAccessibleContext,
	AccessibleAWTCheckboxMenuItem): Implement.
	* java/awt/Choice.java: Add implements declaration for Accessible.
	* java/awt/Dialog.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/Frame.java (AccessibleAWTFrame, getAccessibleContext):
	Implement.
	* java/awt/List.java: Implement AccessibleAWTList, AccessibleAWTListChild.
	* java/awt/MenuComponent.java (accessibleContext): Make package visible.
	* java/awt/MenuItem.java (getAccessibleContext): Implement.
	* java/awt/Scrollbar.java (AccessibleAWTScrollbar, getAccessibleContext):
	Implement.
	* java/awt/ScrollPane.java (AccessibleAWTScrollPane, getAccessibleContext):
	Implement.
	* java/awt/Window.java (AccessibleAWTWindow): Implement.
	(isActive, isFocused, getAccessibleContext): Implement.

2004-12-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/TextAction.java
	(getTextComponent): Simplified. Added Javadoc.
	(augmentList): Implemented. Added Javadoc.
	(getFocusedComponent): Added javadoc.

2004-12-29  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/text/DecimalFormat.java
	(format(long,StringBuffer,FieldPosition)): multiply
	number by multiplier before formatting.
	
2004-12-29  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java
	(owner): Reformatted javadoc.
	(ReadOnly): Reorganized keywords.
	(ReadWrite): Likewise.

2004-12-29  Michael Koch  <konqueror@gmx.de>

	* java/awt/Button.java,
	java/lang/Runtime.java,
	java/lang/System.java,
	java/security/cert/X509CRLSelector.java,
	java/security/cert/X509CertSelector.java,
	java/util/ResourceBundle.java,
	java/util/jar/JarFile.java,
	javax/swing/JApplet.java,
	javax/swing/JFormattedTextField.java,
	javax/swing/JTree.java,
	javax/swing/JWindow.java,
	javax/swing/TransferHandler.java,
	javax/swing/plaf/basic/BasicEditorPaneUI.java,
	javax/swing/plaf/basic/BasicTextPaneUI.java
	javax/swing/plaf/basic/BasicTreeUI.java:
	Imports reworked.

2004-12-28  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Runtime.java
	(runShutdownHooks): Rewrote wait for shutdown hooks loop.

2004-12-28  Jeroen Frijters  <jeroen@frijters.net>

	* NEWS: Added entry about new method.
	* java/lang/Runtime.java
	(addShutdownHook): Added call to new method.
	* vm/reference/java/lang/VMRuntime.java
	(enableShutdownHooks): New method.

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

	* java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/MappedByteBufferImpl.java,
	java/nio/ShortBufferImpl.java
	(compact): Added explicit read-only check and invalidate mark.

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

	* javax/imageio/IIOParam.java
	(setSourceBands): New method.
	(setSourceSubsampling): Likewise.
	* javax/imageio/ImageReadParam.java
	(setDestination): Likewise.
	(setDestinationBands): Likewise.
	(setSourceProgressivePasses): Likewise.

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

	* NEWS: Added entry about class change.
	* java/lang/Class.java
	(Class(Object,Object)): Added protection domain "inheriting" for
	array classes.

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

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultComboBoxModel.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/JMenu.java,
	javax/swing/JSlider.java,
	javax/swing/KeyStroke.java,
	javax/swing/OverlayLayout.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SizeRequirements.java,
	javax/swing/ViewportLayout.java:
	Made serialVersionUID private.

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

	* javax/imageio/metadata/IIOInvalidTreeException.java:
	Use org.w3c.dom.Node instead of java.lang.Object.
	(serialVersionUID): New field.

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

	* gnu/java/locale/LocaleInformation_de_AT.java: Reformatted.

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

	* gnu/java/locale/LocaleInformation_de_BE.java: Reformatted.

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

	* gnu/java/locale/LocaleInformation_aa.java,
	gnu/java/locale/LocaleInformation_aa_DJ.java,
	gnu/java/locale/LocaleInformation_aa_ER.java,
	gnu/java/locale/LocaleInformation_aa_ER_SAAHO.java,
	gnu/java/locale/LocaleInformation_aa_ET.java,
	gnu/java/locale/LocaleInformation_af.java,
	gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_am.java,
	gnu/java/locale/LocaleInformation_am_ET.java,
	gnu/java/locale/LocaleInformation_ar.java,
	gnu/java/locale/LocaleInformation_ar_DZ.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_QA.java,
	gnu/java/locale/LocaleInformation_ar_SA.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_as.java,
	gnu/java/locale/LocaleInformation_as_IN.java,
	gnu/java/locale/LocaleInformation_az.java,
	gnu/java/locale/LocaleInformation_be.java,
	gnu/java/locale/LocaleInformation_be_BY.java,
	gnu/java/locale/LocaleInformation_bg.java,
	gnu/java/locale/LocaleInformation_bg_BG.java,
	gnu/java/locale/LocaleInformation_bn.java,
	gnu/java/locale/LocaleInformation_bn_IN.java,
	gnu/java/locale/LocaleInformation_ca.java,
	gnu/java/locale/LocaleInformation_ca_ES.java,
	gnu/java/locale/LocaleInformation_cs.java,
	gnu/java/locale/LocaleInformation_cs_CZ.java,
	gnu/java/locale/LocaleInformation_cy.java,
	gnu/java/locale/LocaleInformation_cy_GB.java,
	gnu/java/locale/LocaleInformation_da.java,
	gnu/java/locale/LocaleInformation_da_DK.java,
	gnu/java/locale/LocaleInformation_de.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_LI.java,
	gnu/java/locale/LocaleInformation_de_LU.java,
	gnu/java/locale/LocaleInformation_dv.java,
	gnu/java/locale/LocaleInformation_dv_MV.java,
	gnu/java/locale/LocaleInformation_dz.java,
	gnu/java/locale/LocaleInformation_dz_BT.java,
	gnu/java/locale/LocaleInformation_el.java,
	gnu/java/locale/LocaleInformation_el_GR.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_en_AS.java,
	gnu/java/locale/LocaleInformation_en_AU.java,
	gnu/java/locale/LocaleInformation_en_BE.java,
	gnu/java/locale/LocaleInformation_en_BW.java,
	gnu/java/locale/LocaleInformation_en_BZ.java,
	gnu/java/locale/LocaleInformation_en_CA.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_en_GU.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_MH.java,
	gnu/java/locale/LocaleInformation_en_MP.java,
	gnu/java/locale/LocaleInformation_en_MT.java,
	gnu/java/locale/LocaleInformation_en_NZ.java,
	gnu/java/locale/LocaleInformation_en_PH.java,
	gnu/java/locale/LocaleInformation_en_PK.java,
	gnu/java/locale/LocaleInformation_en_SG.java,
	gnu/java/locale/LocaleInformation_en_UM.java,
	gnu/java/locale/LocaleInformation_en_US.java,
	gnu/java/locale/LocaleInformation_en_US_POSIX.java,
	gnu/java/locale/LocaleInformation_en_VI.java,
	gnu/java/locale/LocaleInformation_en_ZA.java,
	gnu/java/locale/LocaleInformation_en_ZW.java,
	gnu/java/locale/LocaleInformation_eo.java,
	gnu/java/locale/LocaleInformation_es.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.java,
	gnu/java/locale/LocaleInformation_et_EE.java,
	gnu/java/locale/LocaleInformation_eu.java,
	gnu/java/locale/LocaleInformation_eu_ES.java,
	gnu/java/locale/LocaleInformation_fa.java,
	gnu/java/locale/LocaleInformation_fa_AF.java,
	gnu/java/locale/LocaleInformation_fa_IR.java,
	gnu/java/locale/LocaleInformation_fi.java,
	gnu/java/locale/LocaleInformation_fi_FI.java,
	gnu/java/locale/LocaleInformation_fo.java,
	gnu/java/locale/LocaleInformation_fo_FO.java,
	gnu/java/locale/LocaleInformation_fr.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_LU.java,
	gnu/java/locale/LocaleInformation_ga.java,
	gnu/java/locale/LocaleInformation_ga_IE.java,
	gnu/java/locale/LocaleInformation_gl.java,
	gnu/java/locale/LocaleInformation_gl_ES.java,
	gnu/java/locale/LocaleInformation_gu.java,
	gnu/java/locale/LocaleInformation_gu_IN.java,
	gnu/java/locale/LocaleInformation_gv.java,
	gnu/java/locale/LocaleInformation_gv_GB.java,
	gnu/java/locale/LocaleInformation_he.java,
	gnu/java/locale/LocaleInformation_he_IL.java,
	gnu/java/locale/LocaleInformation_hi.java,
	gnu/java/locale/LocaleInformation_hi_IN.java,
	gnu/java/locale/LocaleInformation_hr.java,
	gnu/java/locale/LocaleInformation_hu.java,
	gnu/java/locale/LocaleInformation_hu_HU.java,
	gnu/java/locale/LocaleInformation_hy.java,
	gnu/java/locale/LocaleInformation_hy_AM.java,
	gnu/java/locale/LocaleInformation_hy_AM_REVISED.java,
	gnu/java/locale/LocaleInformation_id.java,
	gnu/java/locale/LocaleInformation_id_ID.java,
	gnu/java/locale/LocaleInformation_is.java,
	gnu/java/locale/LocaleInformation_is_IS.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_it_CH.java,
	gnu/java/locale/LocaleInformation_it_IT.java,
	gnu/java/locale/LocaleInformation_iu.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_ja_JP.java,
	gnu/java/locale/LocaleInformation_ka.java,
	gnu/java/locale/LocaleInformation_kk.java,
	gnu/java/locale/LocaleInformation_kk_KZ.java,
	gnu/java/locale/LocaleInformation_kl.java,
	gnu/java/locale/LocaleInformation_kl_GL.java,
	gnu/java/locale/LocaleInformation_km.java,
	gnu/java/locale/LocaleInformation_km_KH.java,
	gnu/java/locale/LocaleInformation_kn.java,
	gnu/java/locale/LocaleInformation_kn_IN.java,
	gnu/java/locale/LocaleInformation_ko.java,
	gnu/java/locale/LocaleInformation_ko_KR.java,
	gnu/java/locale/LocaleInformation_kw.java,
	gnu/java/locale/LocaleInformation_kw_GB.java,
	gnu/java/locale/LocaleInformation_ky.java,
	gnu/java/locale/LocaleInformation_lo.java,
	gnu/java/locale/LocaleInformation_lo_LA.java,
	gnu/java/locale/LocaleInformation_lt.java,
	gnu/java/locale/LocaleInformation_lt_LT.java,
	gnu/java/locale/LocaleInformation_lv.java,
	gnu/java/locale/LocaleInformation_lv_LV.java,
	gnu/java/locale/LocaleInformation_mk.java,
	gnu/java/locale/LocaleInformation_ml.java,
	gnu/java/locale/LocaleInformation_ml_IN.java,
	gnu/java/locale/LocaleInformation_mn.java,
	gnu/java/locale/LocaleInformation_mr.java,
	gnu/java/locale/LocaleInformation_mr_IN.java,
	gnu/java/locale/LocaleInformation_ms.java,
	gnu/java/locale/LocaleInformation_ms_BN.java,
	gnu/java/locale/LocaleInformation_ms_MY.java,
	gnu/java/locale/LocaleInformation_mt.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nb.java,
	gnu/java/locale/LocaleInformation_nb_NO.java,
	gnu/java/locale/LocaleInformation_nl.java,
	gnu/java/locale/LocaleInformation_nl_BE.java,
	gnu/java/locale/LocaleInformation_nl_NL.java,
	gnu/java/locale/LocaleInformation_nn.java,
	gnu/java/locale/LocaleInformation_nn_NO.java,
	gnu/java/locale/LocaleInformation_om.java,
	gnu/java/locale/LocaleInformation_om_ET.java,
	gnu/java/locale/LocaleInformation_om_KE.java,
	gnu/java/locale/LocaleInformation_or.java,
	gnu/java/locale/LocaleInformation_or_IN.java,
	gnu/java/locale/LocaleInformation_pa.java,
	gnu/java/locale/LocaleInformation_pa_IN.java,
	gnu/java/locale/LocaleInformation_pl.java,
	gnu/java/locale/LocaleInformation_pl_PL.java,
	gnu/java/locale/LocaleInformation_ps.java,
	gnu/java/locale/LocaleInformation_ps_AF.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_pt_BR.java,
	gnu/java/locale/LocaleInformation_pt_PT.java,
	gnu/java/locale/LocaleInformation_ro.java,
	gnu/java/locale/LocaleInformation_ro_RO.java,
	gnu/java/locale/LocaleInformation_ru.java,
	gnu/java/locale/LocaleInformation_ru_RU.java,
	gnu/java/locale/LocaleInformation_ru_UA.java,
	gnu/java/locale/LocaleInformation_sa.java,
	gnu/java/locale/LocaleInformation_sa_IN.java,
	gnu/java/locale/LocaleInformation_sk.java,
	gnu/java/locale/LocaleInformation_sk_SK.java,
	gnu/java/locale/LocaleInformation_sl.java,
	gnu/java/locale/LocaleInformation_so.java,
	gnu/java/locale/LocaleInformation_so_DJ.java,
	gnu/java/locale/LocaleInformation_so_ET.java,
	gnu/java/locale/LocaleInformation_so_KE.java,
	gnu/java/locale/LocaleInformation_so_SO.java,
	gnu/java/locale/LocaleInformation_sq.java,
	gnu/java/locale/LocaleInformation_sq_AL.java,
	gnu/java/locale/LocaleInformation_sr.java,
	gnu/java/locale/LocaleInformation_sr_Latn.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_sv_FI.java,
	gnu/java/locale/LocaleInformation_sv_SE.java,
	gnu/java/locale/LocaleInformation_sw.java,
	gnu/java/locale/LocaleInformation_sw_KE.java,
	gnu/java/locale/LocaleInformation_sw_TZ.java,
	gnu/java/locale/LocaleInformation_ta.java,
	gnu/java/locale/LocaleInformation_ta_IN.java,
	gnu/java/locale/LocaleInformation_te.java,
	gnu/java/locale/LocaleInformation_te_IN.java,
	gnu/java/locale/LocaleInformation_th.java,
	gnu/java/locale/LocaleInformation_th_TH.java,
	gnu/java/locale/LocaleInformation_ti.java,
	gnu/java/locale/LocaleInformation_ti_ER.java,
	gnu/java/locale/LocaleInformation_ti_ET.java,
	gnu/java/locale/LocaleInformation_tr.java,
	gnu/java/locale/LocaleInformation_tr_TR.java,
	gnu/java/locale/LocaleInformation_tt.java,
	gnu/java/locale/LocaleInformation_tt_RU.java,
	gnu/java/locale/LocaleInformation_uk.java,
	gnu/java/locale/LocaleInformation_uk_UA.java,
	gnu/java/locale/LocaleInformation_ur.java,
	gnu/java/locale/LocaleInformation_uz.java,
	gnu/java/locale/LocaleInformation_uz_AF.java,
	gnu/java/locale/LocaleInformation_vi.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_CN_Hans.java,
	gnu/java/locale/LocaleInformation_zh_HK_Hant.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java,
	gnu/java/locale/LocaleInformation_zh_MO_Hant.java,
	gnu/java/locale/LocaleInformation_zh_SG_Hans.java,
	gnu/java/locale/LocaleInformation_zh_TW_Hant.java:
	Regenerated with newer version of gnu.localegen.

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

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawImage): Update image observer.

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

	* include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerated.

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

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	Rework painting into BufferedImages
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java:
	Construct BufferedImage with alpha only when alpha is
	present in colormodel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Rework painting into client-side jint arrays.
	* jni/gtk-peer/gtkcairopeer.h:
	Likewise.

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

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Reformatted.

2004-12-25  Tom Tromey  <tromey@redhat.com>

	* lib/Makefile.am (JAVAC): Handle GCJX.
	(GCJ): Removed.
	(JIKES): Likewise.
	(USER_JABBA): Likewise.
	(USER_JAVAH): Likewise.
	(FIND): Likewise.
	(USER_CLASSLIB): Likewise.
	* examples/Makefile.am (JCOMPILER): Handle gcjx.
	(GCJ): Removed.
	(JIKES): Likewise.
	* acinclude.m4 (CLASSPATH_WITH_GCJX): New macro.
	(CLASSPATH_CHECK_GCJX): Likewise.
	(CLASSPATH_FIND_JAVAC): Use it.

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

	Fixes bug libgcj/18014.
	* java/util/Locale.java (Locale(String, String, String)):
	Don't uppercase variant.

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

	* javax/swing/text/PasswordView.java
	(drawEchoCharacter): Added javadoc.
	(drawSelectedText): Likewise.
	(drawUnselectedText): Likewise.

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

	* javax/swing/JRootPane.java
	(windowDecorationStyle): New field.
	(setMenuBar): New method.
	(getMenuBar): Likewise.
	(getWindowDecorationStyle): Likewise.
	(setWindowDecorationStyle): Likewise.

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

	* javax/swing/DefaultListSelectionModel.java
	(leadAnchorNotificationEnabled): Made protected.

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

	* javax/swing/InternalFrameFocusTraversalPolicy.java: New file.

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

	* javax/swing/JFormattedTextField.java: Implemented.
	* javax/swing/JWindow.java
	(JWindow): New constructors.
	(initWindow): Renamed from initFrame.
	* javax/swing/UIDefaults.java
	(ActiveValue): Made interface static.
	(LazyValue): Likewise.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
	(TitlePaneLayout.TitlePaneLayout): New constructor.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(ChangeHandler): Made public.
	(FocusHandler): Likewise.
	(PropertyChangeHandler): Likewise.
	(ScrollListener): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(FocusHandler): Likewise.
	(MouseHandler): Likewise.
	* javax/swing/plaf/basic/BasicTextPaneUI.java
	(BasicTextPaneUI): Extend BasicEditorPaneUI.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(BasicToolBarUI): Simplified. Reworked javadoc.
	(canDock): Simplified. Make public.
	(DockingListener): Made public.
	* javax/swing/text/JTextComponent.java
	(navigationFilter): New field.
	(getNavigationFilter): New method.
	(setNavigationFilter): Likewise.

2004-12-23  Mark Wielaard  <mark@klomp.org>

	* gnu/xml/*: Imported from GNU JAXP.
	* javax/xml/*: Likewise.
	* external/*: Imported external sax and w3c_dom projects.
	* LICENSE: Add new copyright and distribution notices.
	* Makefile.am (SUBDirs): Add external.
	(DIST_SUBDIRS): Likewise.
	* configure.ac (AC_CONFIG_FILES): Add external/Makefile,
	external/sax/Makefile and external/w3c_dom/Makefile.
	* lib/gen-classlist.sh.in (FIND): Search in external/sax and
	external/w3c_dom. 
	(Split): Add new classes.xml for gcj.
	* lib/Makefile.am (compile_classpath): Add external/sax and
	external/w3c_dom.
	(FOUND_GCJ): Compile classes.xml.
	* lib/.cvsignore: Add classes.xml.
	* .classpath: Updated exclusion filter and add external projects plus
	examples.

2004-12-23  Mark Wielaard  <mark@klomp.org>

	* lib/Makefile.am (compile_classpath): New variable.
	Use when compiling with either jikes or gcj.
	(LocaleData.java): New rules.
	(genclasses): Depend on new rule.
	(CLEANFILES): Add LocaleData.java, classes.locale1 and classes.locale2.
	(dist-hook): Remove generated LocaleData.java file.
	* lib/gen-classlist.sh.in: Add extra split files for locales.
	* lib/.cvsignore: Add classes.locale1 and classes.locale2.

2004-12-23  Mark Wielaard  <mark@klomp.org>

	* include/java_lang_Double.h: Regenerated.

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

	* javax/swing/plaf/metal/MetalTheme.java
	(getControlTextColor): Return getControlInfo().
	(getHighlightedTextColor): Return getControlTextColor().

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

	* javax/swing/plaf/basic/BasicButtonListener.java
	(BasicButtonListener): New constructor.
	* javax/swing/plaf/basic/BasicButtonUI.java
	(createButtonListener): Usw new BasicButtonListener constructor.

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

	* java/awt/image/MemoryImageSource.java: Reformatted.

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

	* javax/swing/tree/TreeCellEditor.java: Refomatted.

2004-12-22  Michael Koch  <konqueror@gmx.de>
	    Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JTable.java
	(editorComp): New field.
	(JTable): Initialize local variables and call updateUI
	(selectionBackground): Make protected.
	(selectionForeground): Likewise.
	(initializeLocalVars): Create default editors and renderers,
	initialize editingColumn, editingRow variables.
	(createDefaultEditors): New Method.
	(createDefaultRenderers): Likewise.
	(createDefaultListSelectionModel): Removed
	(createDefaultSelectionModel): New Method.
	(createDefaultTableHeader): Likewise
	(removeColumn): Likewise.
	(getEditingColumn): Likewise.
	(setEditingColumn): Likewise.
	(getEditingRow): Likewise.
	(setEditingRow): Likewise.
	(getEditorComponent): Likewise.
	(isEditing): Likewise.
	(setDefaultEditor): Likewise.
	(addColumnSelectionInterval): Likewise.
	(addRowSelectionInterval): Likewise.
	(setColumnSelectionInterval): Likewise.
	(setRowSelectionInterval): Likewise.
	(removeColumnSelectionInterval): Likewise.
	(removeRowSelectionInterval): Likewise.
	(isColumnSelected): Likewise.
	(isRowSelected): Likewise.
	(isCellSelected): Likewise.
	(selectAll): Likewise.

2004-12-22  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JFileChooser.java
	(showDialog): Return CANCEL_OPTION for now.
	(showOpenDialog): Likewise.
	(showSaveDialog): Likewise.

2004-12-22  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JTextField.java (getPreferredSize):
	Re-implemented.

2004-12-22  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicEditorPaneUI.java: New file.

2004-12-22  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/metal/MetalTheme.java,
	javax/swing/plaf/metal/DefaultMetalTheme.java:
	New files.
	* javax/swing/plaf/metal/MetalLookAndFeel.java:
	Implemented all color resource getter methods.

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

	* javax/swing/JLabel.java (setDisplayedMnemoic):
	Make text upper case before searching mnemonic character.

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

	* javax/swing/JLabel.java
	(setDisplayedMnemonicIndex): Handle index == -1 and fire
	PropertyChangeEvent after property got set to the new index.
	(setDisplayedMnemonic): Use only upper case characters.

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

	* lib/.cvsignore,  scripts/.cvsignore:
	Added more files to ignore.

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

	* javax/swing/JFrame.java
	(setDefaultLookAndFeelDecorated): Removed wrong code again.
	* javax/swing/JInternalFrame.java
	(setDefaultCloseOperation): Fixed typo.

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

	* javax/swing/JApplet.java
	(HIDE_ON_CLOSE): Removed.
	(EXIT_ON_CLOSE): Likewise.
	(DISPOSE_ON_CLOSE): Likewise.
	(DO_NOTHING_ON_CLOSE): Likewise.
	(close_action): Likewise.
	(getDefaultCloseOperation): Likewise.
	(setDefaultCloseOperation): Likewise.
	(processWindowEvent): Likewise.
	(getPreferredSize): Simplified.
	* javax/swing/JDialog.java
	(setDefaultLookAndFeelDecorated): Throw exception on wrong argument
	value.
	* javax/swing/JFrame.java
	(setDefaultLookAndFeelDecorated): Likewise.
	* javax/swing/JInternalFrame.java
	(setDefaultCloseOperation): Fixed throwing exception on wrong argument
	value.
	* javax/swing/JWindow.java
	(HIDE_ON_CLOSE): Removed.
	(EXIT_ON_CLOSE): Likewise.
	(DISPOSE_ON_CLOSE): Likewise.
	(DO_NOTHING_ON_CLOSE): Likewise.
	(close_action): Likewise.
	(processKeyEvent): Likewise.
	(setDefaultCloseOperation): Likewise.
	(getPreferredSize): Simplified.

2004-12-21  Chris Burdess  <dog@gnu.org>

	* configure.ac: Check for presence of crt_externs.h on Darwin.
	* native/jni/java-lang/java_lang_VMProcess.c: If HAVE_CRT_EXTERNS_H
	is defined, define environ as calling _NSGetEnviron(), otherwise
	define it as an external variable.

2004-12-21  Chris Burdess  <dog@gnu.org>

	* acinclude.m4: Check version of Jikes.

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

	* javax/swing/text/DefaultStyledDocument.java:
	New file.

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

	* lib/Makefile.am: Generate java/util/LocaleData.java in build tree.
	* lib/gen-classlist.sh.in: Include classes in java.* packages in build
	tree.
	* scripts/Makefile.am: Include generate-locale-list.sh in dist
	tarball.

2004-12-19  Robert Schuster <thebohemian@gmx.net>

	* javax/swing/JComboBox.java:
	(JComboBox): Removed selection of the
	first item in the model.

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

	* resource/Makfile.am: Don't call make for subdirs.
	* resource/gnu/.cvsignore,
	resource/gnu/java/.cvsignore,
	resource/gnu/java/awt/.cvsignore,
	resource/gnu/java/awt/peer/.cvsignore,
	resource/gnu/java/awt/peer/gtk/.cvsignore,
	resource/gnu/regexp/.cvsignore,
	resource/java/.cvsignore,
	resource/java/security/.cvsignore,
	resource/java/util/.cvsignore,
	resource/java/util/logging/.cvsignore,
	resource/org/.cvsignore,
	resource/org/ietf/.cvsignore,
	resource/org/ietf/jgss/.cvsignore: Removed.

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

	* gnu/java/locale/iso3166-a3.properties,
	gnu/java/locale/iso3166_de.properties,
	gnu/java/locale/iso3166.properties,
	gnu/java/locale/iso639-a2-old.properties,
	gnu/java/locale/iso639-a3.properties,
	gnu/java/locale/iso639_de.properties,
	gnu/java/locale/iso639_fr.properties,
	gnu/java/locale/iso639_ga.properties,
	gnu/java/locale/iso639.properties: Removed.
	* lib/Makefile.am: Install resource files into dist tarball
	* resource/java/util/iso4217.properties:
	New file.

2004-12-19  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/Currency.java
	New implementation of this class so as to
	use iso4271.properties.

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

	* java/util/Locale.java: Make sure all locales get only created once.
	(availableLocales): New static field.
	(localeMap): Likewise.
	(getLocale): New private static method.
	(getAvailableLocales): Re-implemented.
	(getISOCountries): Fixed typo in javadoc.
	(getDisplayLanguage): Load iso639.properties from correct package.
	(getDisplayCountry): Load iso3166.properties from correct package.
	* scripts/generate-locale-list.sh: New script.
	* lib/Makefile.am: Call scripts/generate-locale-list.sh to generate
	java/util/LocaleData.java.

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

	* gnu/java/locale/LocaleInformation_aa.java,
	gnu/java/locale/LocaleInformation_aa_DJ.java,
	gnu/java/locale/LocaleInformation_aa_ER.java,
	gnu/java/locale/LocaleInformation_aa_ER_SAAHO.java,
	gnu/java/locale/LocaleInformation_aa_ET.java,
	gnu/java/locale/LocaleInformation_af.java,
	gnu/java/locale/LocaleInformation_am.java,
	gnu/java/locale/LocaleInformation_am_ET.java,
	gnu/java/locale/LocaleInformation_ar.java,
	gnu/java/locale/LocaleInformation_ar_SA.java,
	gnu/java/locale/LocaleInformation_as.java,
	gnu/java/locale/LocaleInformation_as_IN.java,
	gnu/java/locale/LocaleInformation_az.java,
	gnu/java/locale/LocaleInformation_be.java,
	gnu/java/locale/LocaleInformation_bg.java,
	gnu/java/locale/LocaleInformation_bg_BG.java,
	gnu/java/locale/LocaleInformation_bn.java,
	gnu/java/locale/LocaleInformation_ca.java,
	gnu/java/locale/LocaleInformation_cs.java,
	gnu/java/locale/LocaleInformation_cy.java,
	gnu/java/locale/LocaleInformation_da.java,
	gnu/java/locale/LocaleInformation_de_LI.java,
	gnu/java/locale/LocaleInformation_dv.java,
	gnu/java/locale/LocaleInformation_dv_MV.java,
	gnu/java/locale/LocaleInformation_dz.java,
	gnu/java/locale/LocaleInformation_dz_BT.java,
	gnu/java/locale/LocaleInformation_en_AS.java,
	gnu/java/locale/LocaleInformation_en_BE.java,
	gnu/java/locale/LocaleInformation_en_BZ.java,
	gnu/java/locale/LocaleInformation_en_GU.java,
	gnu/java/locale/LocaleInformation_en_MH.java,
	gnu/java/locale/LocaleInformation_en_MP.java,
	gnu/java/locale/LocaleInformation_en_MT.java,
	gnu/java/locale/LocaleInformation_en_PK.java,
	gnu/java/locale/LocaleInformation_en_UM.java,
	gnu/java/locale/LocaleInformation_en_US_POSIX.java,
	gnu/java/locale/LocaleInformation_en_VI.java,
	gnu/java/locale/LocaleInformation_eo.java,
	gnu/java/locale/LocaleInformation_es.java,
	gnu/java/locale/LocaleInformation_et.java,
	gnu/java/locale/LocaleInformation_eu.java,
	gnu/java/locale/LocaleInformation_fa.java,
	gnu/java/locale/LocaleInformation_fa_AF.java,
	gnu/java/locale/LocaleInformation_fo.java,
	gnu/java/locale/LocaleInformation_ga.java,
	gnu/java/locale/LocaleInformation_gl.java,
	gnu/java/locale/LocaleInformation_gu.java,
	gnu/java/locale/LocaleInformation_gu_IN.java,
	gnu/java/locale/LocaleInformation_gv.java,
	gnu/java/locale/LocaleInformation_he.java,
	gnu/java/locale/LocaleInformation_hi.java,
	gnu/java/locale/LocaleInformation_hr.java,
	gnu/java/locale/LocaleInformation_hu.java,
	gnu/java/locale/LocaleInformation_hy.java,
	gnu/java/locale/LocaleInformation_hy_AM.java,
	gnu/java/locale/LocaleInformation_hy_AM_REVISED.java,
	gnu/java/locale/LocaleInformation_id.java,
	gnu/java/locale/LocaleInformation_is.java,
	gnu/java/locale/LocaleInformation_is_IS.java,
	gnu/java/locale/LocaleInformation_it.java,
	gnu/java/locale/LocaleInformation_iu.java,
	gnu/java/locale/LocaleInformation_ja.java,
	gnu/java/locale/LocaleInformation_ka.java,
	gnu/java/locale/LocaleInformation_kk.java,
	gnu/java/locale/LocaleInformation_kk_KZ.java,
	gnu/java/locale/LocaleInformation_kl.java,
	gnu/java/locale/LocaleInformation_km.java,
	gnu/java/locale/LocaleInformation_km_KH.java,
	gnu/java/locale/LocaleInformation_kn.java,
	gnu/java/locale/LocaleInformation_kn_IN.java,
	gnu/java/locale/LocaleInformation_ko.java,
	gnu/java/locale/LocaleInformation_kw.java,
	gnu/java/locale/LocaleInformation_ky.java,
	gnu/java/locale/LocaleInformation_lo.java,
	gnu/java/locale/LocaleInformation_lo_LA.java,
	gnu/java/locale/LocaleInformation_lt.java,
	gnu/java/locale/LocaleInformation_lv.java,
	gnu/java/locale/LocaleInformation_mk.java,
	gnu/java/locale/LocaleInformation_ml.java,
	gnu/java/locale/LocaleInformation_ml_IN.java,
	gnu/java/locale/LocaleInformation_mn.java,
	gnu/java/locale/LocaleInformation_mr.java,
	gnu/java/locale/LocaleInformation_ms.java,
	gnu/java/locale/LocaleInformation_ms_BN.java,
	gnu/java/locale/LocaleInformation_ms_MY.java,
	gnu/java/locale/LocaleInformation_mt.java,
	gnu/java/locale/LocaleInformation_nb.java,
	gnu/java/locale/LocaleInformation_nb_NO.java,
	gnu/java/locale/LocaleInformation_nn.java,
	gnu/java/locale/LocaleInformation_om.java,
	gnu/java/locale/LocaleInformation_om_ET.java,
	gnu/java/locale/LocaleInformation_om_KE.java,
	gnu/java/locale/LocaleInformation_or.java,
	gnu/java/locale/LocaleInformation_or_IN.java,
	gnu/java/locale/LocaleInformation_pl.java,
	gnu/java/locale/LocaleInformation_ps.java,
	gnu/java/locale/LocaleInformation_ps_AF.java,
	gnu/java/locale/LocaleInformation_pt.java,
	gnu/java/locale/LocaleInformation_ro.java,
	gnu/java/locale/LocaleInformation_ru.java,
	gnu/java/locale/LocaleInformation_sa.java,
	gnu/java/locale/LocaleInformation_sa_IN.java,
	gnu/java/locale/LocaleInformation_sk.java,
	gnu/java/locale/LocaleInformation_sl.java,
	gnu/java/locale/LocaleInformation_so.java,
	gnu/java/locale/LocaleInformation_so_DJ.java,
	gnu/java/locale/LocaleInformation_so_ET.java,
	gnu/java/locale/LocaleInformation_so_KE.java,
	gnu/java/locale/LocaleInformation_so_SO.java,
	gnu/java/locale/LocaleInformation_sq.java,
	gnu/java/locale/LocaleInformation_sr.java,
	gnu/java/locale/LocaleInformation_sr_Latn.java,
	gnu/java/locale/LocaleInformation_sw.java,
	gnu/java/locale/LocaleInformation_sw_KE.java,
	gnu/java/locale/LocaleInformation_sw_TZ.java,
	gnu/java/locale/LocaleInformation_ta.java,
	gnu/java/locale/LocaleInformation_te.java,
	gnu/java/locale/LocaleInformation_th.java,
	gnu/java/locale/LocaleInformation_th_TH.java,
	gnu/java/locale/LocaleInformation_ti.java,
	gnu/java/locale/LocaleInformation_ti_ER.java,
	gnu/java/locale/LocaleInformation_ti_ET.java,
	gnu/java/locale/LocaleInformation_tt.java,
	gnu/java/locale/LocaleInformation_tt_RU.java,
	gnu/java/locale/LocaleInformation_uk.java,
	gnu/java/locale/LocaleInformation_ur.java,
	gnu/java/locale/LocaleInformation_uz.java,
	gnu/java/locale/LocaleInformation_uz_AF.java,
	gnu/java/locale/LocaleInformation_vi.java,
	gnu/java/locale/LocaleInformation_zh.java,
	gnu/java/locale/LocaleInformation_zh_CN_Hans.java,
	gnu/java/locale/LocaleInformation_zh_HK_Hant.java,
	gnu/java/locale/LocaleInformation_zh_Hant.java,
	gnu/java/locale/LocaleInformation_zh_MO_Hant.java,
	gnu/java/locale/LocaleInformation_zh_SG_Hans.java,
	gnu/java/locale/LocaleInformation_zh_TW_Hant.java:
	New locale files.
	* gnu/java/locale/LocaleInformation_ar_AE.java,
	gnu/java/locale/LocaleInformation_ar_BH.java,
	gnu/java/locale/LocaleInformation_ar_EG.java,
	gnu/java/locale/LocaleInformation_ar_OM.java,
	gnu/java/locale/LocaleInformation_ar_SD.java,
	gnu/java/locale/LocaleInformation_fr_FR.java,
	gnu/java/locale/LocaleInformation_hr_HR.java,
	gnu/java/locale/LocaleInformation_ka_GE.java,
	gnu/java/locale/LocaleInformation_mk_MK.java,
	gnu/java/locale/LocaleInformation_sl_SI.java,
	gnu/java/locale/LocaleInformation_sr_YU.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_zh_CN.java,
	gnu/java/locale/LocaleInformation_zh_HK.java,
	gnu/java/locale/LocaleInformation_zh_SG.java,
	gnu/java/locale/LocaleInformation_zh_TW.java:
	Removed.

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

	* gnu/java/locale/LocaleInformation.java (LocaleInformation):
	Don't inherit LocaleInformation_en and put all default values into
	this class.
	* gnu/java/locale/LocaleInformation_af_ZA.java
	gnu/java/locale/LocaleInformation_ar_DZ.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_QA.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_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.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_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_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.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_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_ja_JP.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_mr_IN.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nl.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_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_sk_SK.java,
	gnu/java/locale/LocaleInformation_sq_AL.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_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java:
	Removed all redundant stuff.

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

	* gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_ar_DZ.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_QA.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_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.java,
	gnu/java/locale/LocaleInformation_de_AT.java,
	gnu/java/locale/LocaleInformation_de_CH.java,
	gnu/java/locale/LocaleInformation_de_LU.java,
	gnu/java/locale/LocaleInformation_el.java,
	gnu/java/locale/LocaleInformation_el_GR.java,
	gnu/java/locale/LocaleInformation_en.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_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.java,
	gnu/java/locale/LocaleInformation_fi_FI.java,
	gnu/java/locale/LocaleInformation_fo_FO.java,
	gnu/java/locale/LocaleInformation_fr.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_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.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_hu_HU.java,
	gnu/java/locale/LocaleInformation_id_ID.java,
	gnu/java/locale/LocaleInformation_it_IT.java,
	gnu/java/locale/LocaleInformation_ja_JP.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_mr_IN.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nl.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_pa.java,
	gnu/java/locale/LocaleInformation_pa_IN.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_sk_SK.java,
	gnu/java/locale/LocaleInformation_sq_AL.java,
	gnu/java/locale/LocaleInformation_sv.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_tr.java,
	gnu/java/locale/LocaleInformation_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java:
	Updated to latest gnu.localegen and locale date.

2004-12-18  Robert Schuster <thebohemian@gmx.net>

	* javax/swing/JComboBox.java
	added support for no item being selected
	(JComboBox): select first or nothing depending on element
	count
	(setModel): cleaned up unneeded "this." usage, added more
	docs, made exception behavior match that of the JDK
	(setLighWeightPopupEnabled): removed unneeded "this." usage
	(setEditable): dito
	(setMaximumRowCount): dito
	(setRenderer): dito
	(setPrototypeDisplayValue): dito
	(getSelectedItem): simplified, added more user doc
	(setSelectedIndex): corrected exception behavior, added more user
	doc
	(getSelectedIndex): fixed hardcoded dependency on DefaultComboBoxModel
	 (see bug #11255), added performance warning to user doc
	(addItem): fixed exception behavior, added user doc
	(insertItemAt): dito
	(removeItem): dito
	(removeItemAt): dito
	(removeAll): fixed exception behavior, added user doc, added support
	for model not being instance of DefaultComboBoxModel (see bug #11255)
	(getSelectedItemObjects): simplified
	(getItemCount): fixed dependency on DefaultComboBoxModel (see bug #11255)
	(getItemAt): fixed dependency on MutableComboBoxModel (see bug #11255)
	* javax/swing/DefaultComboBoxModel.java:
	(setSelectedItem): updates selected item only if new 
	value is null or known (match JDK behavior)
	* javax/swing/plaf/basic/BasicComboBoxUI.java:
	(paintCurrentValue): renders "" if no item is selected

2004-12-18  Tom Tromey  <tromey@redhat.com>

	* java/lang/String.java (String(StringBuilder)): Rewrote.
	* java/lang/StringBuilder.java (shared): Removed.
	(ensureCapacity): Updated.
	(substrinng): Likewise.
	(toString): Likewise.

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

	* gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_de_DE.java,
	gnu/java/locale/LocaleInformation_el_GR.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_fi_FI.java,
	gnu/java/locale/LocaleInformation_fr_BE.java,
	gnu/java/locale/LocaleInformation_fr_FR.java,
	gnu/java/locale/LocaleInformation_oc_FR.java,
	gnu/java/locale/LocaleInformation_sv_FI.java,
	gnu/java/locale/LocaleInformation_sv_SE.java,
	gnu/java/locale/LocaleInformation_tr_TR.java:
	Updated.
	* gnu/java/locale/LocaleInformation_el.java,
	gnu/java/locale/LocaleInformation_fi.java,
	gnu/java/locale/LocaleInformation_fr.java,
	gnu/java/locale/LocaleInformation_sv.java,
	gnu/java/locale/LocaleInformation_tr.java:
	New files.

2004-12-17  Mark Wielaard  <mark@klomp.org>

	* INSTALL: We need jikes 1.19 or higher now.
	* lib/Makefile.am: Add +Pno-shadow to JIKES compilation.

2004-12-17  Mark Wielaard  <mark@klomp.org>

	* scripts/.cvsignore: New file.

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

	* gnu/java/locale/LocaleInformation_ar_QA.java,
	gnu/java/locale/LocaleInformation_ar_SY.java,
	gnu/java/locale/LocaleInformation_cy_GB.java,
	gnu/java/locale/LocaleInformation_de_BE.java,
	gnu/java/locale/LocaleInformation_en_GB.java,
	gnu/java/locale/LocaleInformation_es_ES.java,
	gnu/java/locale/LocaleInformation_es_US.java,
	gnu/java/locale/LocaleInformation_fo_FO.java,
	gnu/java/locale/LocaleInformation_fr_CH.java,
	gnu/java/locale/LocaleInformation_it_CH.java,
	gnu/java/locale/LocaleInformation_kl_GL.java,
	gnu/java/locale/LocaleInformation_nl_BE.java,
	gnu/java/locale/LocaleInformation_pt_BR.java,
	gnu/java/locale/LocaleInformation_sv_SE.java,
	gnu/java/locale/LocaleInformation_te_IN.java,
	gnu/java/locale/LocaleInformation_gd_GB.java:
	Updated.
	gnu/java/locale/LocaleInformation_mi_NZ.java
	gnu/java/locale/LocaleInformation_tl_PH.java
	gnu/java/locale/LocaleInformation_yi_US.java:
	Removed.

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

	* gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_ar_DZ.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_QA.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_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_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_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.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_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_ja_JP.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_mr_IN.java,
	gnu/java/locale/LocaleInformation_mt_MT.java,
	gnu/java/locale/LocaleInformation_nl_BE.java,
	gnu/java/locale/LocaleInformation_nn_NO.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_sk_SK.java,
	gnu/java/locale/LocaleInformation_sq_AL.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_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java:
	Updated.

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

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

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

	* gnu/java/locale/LocaleInformation_de.java,
	gnu/java/locale/LocaleInformation_de_DE.java:
	Updated.

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

	* gnu/java/locale/LocaleInformation_nl.java,
	gnu/java/locale/LocaleInformation_nl_NL.java:
	Updated.

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

	* javax/swing/JTable.java
	(addColumn): New method.
	(getColumnClass): Likewise.
	(getColumnName): Likewise.

2004-12-17  Paul Jenner  <psj.home@ntlworld.com>

	* javax/swing/TransferHandler.java
	(createTransferable): Made protected.

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

	* javax/swing/JTable.java,
	javax/swing/plaf/basic/BasicTableHeaderUI.java,
	javax/swing/plaf/basic/BasicTableUI.java:
	Use fixed get/setIntercellSpacing() methods.

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

	* javax/swing/JTable.java
	(getIntercellSpacing): Fixed typo in method name.
	(setIntercellSpacing): Likewise.

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

	* javax/swing/text/JTextComponent.java
	(focusAccelerator): New variable.
	(getFocusAccelerator): New method.
	(setFocusAccelerator): Likewise.

2004-12-15  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JComponent.java
	(setTransferHandler): Made public. Fire property change event.
	* javax/swing/TransferHandler.java: Implemented.
	* javax/swing/text/JTextComponent.java
	(DefaultTransferHandler): New inner class.
	(defaultTransferHandler): New variable.
	(copy): New method.
	(cut): Likewise.
	(paste): Likewise.
	(doTransferAction): Likewise.

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

	* java/text/NumberFormat.java (getIntegerInstance):
	Make sure that doubles get formatted as integers.

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

	* javax/swing/JTree.java
	(collapsePath): New method.
	(collapseRow): Likewise.
	(expandPath): Likewise.
	(expandRow): Likewise.
	(checkExpandParents): Likewise.
	(doExpandParents): Likewise.
	(setExpandedState): Likewise.
	(makeVisible): Likewise.

2004-12-13  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JPasswordField.java: Updated javadocs.

2004-12-13  Michael Koch  <konqueror@gmx.de>

	* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
	Regenerated.

2004-12-13  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLayeredPane.java
	(getLayer): Fixed return type, made public.
	(getPosition): Use new getLayer().
	(SetPosition): Likewise.
	(getIndexOf): Likewise.
	(remove): Likewise.
	* javax/swing/JInternalFrame.java
	(getLayer): Use new JLayeredPane.getLayer().


2004-12-13  Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/TableColumn.java: Added/fixed javadocs over all.
	(setHeaderValue): Simplified. Do nothing when old value == new value.

2004-12-13  Michael Koch  <konqueror@gmx.de>

	* vm/reference/java/lang/VMClassLoader.java:
	Reworked import statements.

2004-12-12  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/zip/ZipFile.java
	(getEntry): Fix to find dir entries without slash.
	* java/util/zip/ZipEntry.java
	(ZipEntry(ZipEntry,String)): New constructor to copy and change name.
	(ZipEntry(ZipEntry)): Delegate to new constructor.

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

	* gnu/java/awt/peer/gtk/GdkGraphics.java (setClip): Protect
	against null clip region.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (create): Call
	gtkWindowSetResizable.
	(postConfigureEvent): Only revalidate if frame size has changed.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postConfigureEvent):
	Only revalidate if frame size has changed.
	* java/awt/Component.java (reshape): Only repaint and post
	component events if component is showing.
	* java/awt/Container.java (addImpl): Only post container event if
	container is showing.
	(remove): Likewise.
	* java/awt/Window.java (setLocationRelativeTo): Implement.
	(setBoundsCallback): Only post component events if component is
	showing.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (clearRect):
	Protect against null graphics structure.  Flush gdk event queue.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* NEWS: Clarify VMRuntime and String/StringBuffer VMSystem usage.

	* vm/reference/gnu/classpath/VMSystemProperties.java (postInit):
	Provide empty default implementation.

	* java/lang/String.java: Replace all usage of System.arraycopy() with
	VMSystem.arraycopy().
	* java/lang/StringBuffer.java: Likewise.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* LICENSE: Add text about org.ietf.jgss documentation.
	* org/ietf/jgss/ChannelBinding.java: Merge top two comment blocks.
	* org/ietf/jgss/GSSCredential.java: Likewise.
	* org/ietf/jgss/GSSException.java: Likewise.
	* org/ietf/jgss/GSSManager.java: Likewise.
	* org/ietf/jgss/GSSName.java: Likewise.
	* org/ietf/jgss/MessageProp.java: Likewise.
	* org/ietf/jgss/Oid.java: Likewise.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* java/io/FileDescriptor.java (sync): Add real exception to
	SyncFailedException.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* java/text/MessageFormat.java (scanFormat): Chain thrown exception.

2004-12-07  Mark Wielaard  <mark@klomp.org>

	* java/util/zip/ZipEntry.java (KNOWN_EXTRA): New static field.
	(setExtra): Don't parse bytes.
	(parseExtra): New private method.
	(getTime): Call parseExtra.

2004-12-07  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPURLConnection.java: Added support
	for http.agent, http.keepAlive, and http.maxConnections system
	properties (and LRU connection pool).

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

	* gnu/java/locale/LocaleInformation_pa.java,
	gnu/java/locale/LocaleInformation_pa_IN.java:
	New locale files.

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

	* javax/imageio/stream/FileImageOutputStream.java:
	Implemented.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/Timer.java
	(run): Stop the queue if a task throws an exception.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* java/beans/PropertyDescriptor.java
	(PropertyDescriptor,setReadMethod): Set propertyType.

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

	* javax/imageio/stream/FileCacheImageInputStream.java,
	javax/imageio/stream/FileCacheImageOutputStream.java,
	javax/imageio/stream/FileImageInputStream.java,
	javax/imageio/stream/ImageInputStreamImpl.java,
	javax/imageio/stream/ImageOutputStreamImpl.java,
	javax/imageio/stream/MemoryCacheImageInputStream.java,
	javax/imageio/stream/MemoryCacheImageOutputStream.java:
	Added all missing methods in javax.imageio.stream.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/BufferedInputStream.java
	(skip): Don't return -1 on EOF.

2004-12-06  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/LineInputStream.java: (read) fixed possible infinite
	loop (inetlib bug #11200).

2004-12-06  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPURLConnection.java:
	(getHeaderField) return null if there are less than (index+1) fields.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(readObject): Fix to consume TC_ENDBLOCKDATA after readExternal.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* vm/reference/gnu/classpath/VMSystemProperties.java:
	Added import to make it compile.

2004-12-07  Jeroen Frijters  <jeroen@frijters.net>

	* include/java_lang_VMSystem.h:
	Removed isWordsBigEndian.

2004-12-06  Jeroen Frijters  <jeroen@frijters.net>

	* NEWS: Updated.

2004-12-06  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/classpath/SystemProperties.java: New file.
	* vm/reference/gnu/classpath/VMSystemProperties.java: New file.
	* gnu/java/io/EncodingManager.java,
	gnu/java/net/protocol/file/Connection.java,
	java/io/File.java,
	java/lang/Throwable.java,
	java/security/Security.java,
	java/security/cert/X509CRLSelector.java,
	java/security/cert/X509CertSelector.java,
	java/util/Locale.java,
	vm/reference/java/lang/VMClassLoader.java:
	Modified to use SystemProperties.
	* java/lang/Class.java: Modified to use SecurityManager.current.
	* java/lang/ClassLoader.java
	(StaticData.systemClassLoader): New field.
	(StaticData.static): New static initializer to install default
	security manager.
	(ClassLoader()): Modified to use StaticData.systemClassLoader.
	ClassLoader(ClassLoader)): Modified to use SecurityManager.current.
	(findSystemClass): Modified to use StaticData.systemClassLoader.
	(getParent): Modified to use SecurityManager.current.
	(getSystemResource,getSystemResources): Modified to use
	StaticData.systemClassLoader.
	(getSystemClassLoader): Modified to use SecurityManager.current and
	StaticData.systemClassLoader.
	(getExtClassLoaderUrls,getSystemClassLoaderUrls): Modified to use
	SystemProperties.
	(defaultGetSystemClassLoader): Modified to use SecurityManager.current
	and SystemProperties.
	(getSystemProperty): Removed.
	* java/lang/Runtime.java
	(securityManager): Removed.
	(defaultProperties): Removed.
	(static): Removed.
	(Runtime): Modified to use SystemProperties.
	(exit,removeShutdownHook,halt,runFinalizersOnExit,exec,load,loadLib):
	Modified to use SecurityManager.current.
	(loadLibrary): Modified to use SecurityManager.current and changed
	call to System.mapLibraryName to VMRuntime.mapLibraryName.
	* java/lang/SecurityManager.java
	(current): New field.
	* java/lang/System.java
	(systemClassLoader): Removed.
	(properties): Removed.
	(in,out,err): Initialize in-line.
	(static): Removed.
	(initLoadLibrary): Removed.
	(initProperties): Removed.
	(initSystemClassLoader): Removed.
	(initSecurityManager): Removed.
	(setIn,setOut,setErr,setSecurityManager,getSecurityManager,getenv):
	Modified to use SecurityManager.current.
	(getProperties,setProperties,getProperty(String),
	getProperty(String,String),setProperty): Modified to use
	SecurityManager.current and SystemProperties.
	(mapLibraryName): Modified to call VMRuntime.mapLibraryName.
	* java/lang/Thread.java: Modified to use SecurityManager.current.
	* java/lang/ThreadGroup.java: Modified to use SecurityManager.current.
	* native/jni/java-lang/java_lang_VMSystem.c
	(Java_java_lang_VMSystem_isWordsBigEndian): Removed.
	* vm/reference/java/lang/VMRuntime.java
	(nativeGetLibname): Removed (renamed to mapLibraryName).
	(mapLibraryName): New method.
	(insertSystemProperties): Removed.
	* vm/reference/java/lang/VMSystem.java
	(isWordsBigEndian): Removed.

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

	* include/java_io_ObjectInputStream.h: Regenerated.

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

	* javax/swing/DefaultListCellRenderer.java
	(serialVersionUID): Made private.
	(getListCellRendererComponent): Set horizontal alignment.
	* javax/swing/JLabel.java
	(setVerticalAlignment): Re-implemented.
	(setHorizontalAlignment): Do nothing if old value = new value.
	* javax/swing/JList.java
	(setCellRenderer): Likewise.
	(setModel): Re-implemented.
	(setSelectionModel): Likewise.

2004-12-06  David Gilbert <david.gilbert@object-refinery.com>

	* java/awt/Component.java,
	java/awt/geom/Rectangle2D.java:
	Javadoc fixes.

2004-12-06  Guilhem Lavaux  <guilhem@kaffe.org>
	Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java
	(newObject): Changed prototype. Get a constructor reflect object
	directly.
	(callConstructor): Removed.
	(allocateObject): Changed prototype.
	(readClassDescriptor): Build the constructor reflection directly.
	(readObject): Invoke newObject using the new prototype.

	* java/io/ObjectStreamClass.java
	(firstNonSerializableParent): Removed.
	(firstNonSerializableParentConstructor): Added.
	
	* include/java_io_ObjectInputStream.h: Regenerated.

	* native/jni/java-io/java_io_ObjectInputStream.c
	(allocateObject): Allocate an object and call the requested
	constructor.
	(callConstructor): Removed.
	
2004-12-06  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/BufferedInputStream.java
	(read(byte,int,int)): Handle case when zero bytes are requested.

2004-12-06  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/color/ICC_Profile.java
	(finalize): Removed pointless field assignments.

2004-12-05  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPURLConnection.java:
	HTTPURLConnection now derives from HttpsURLConnection.

2004-12-01  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPConnection.java:
	HTTPConnection's default User-Agent header set to "classpath/" plus
	the version of Classpath in use.

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

	* gnu/java/net/protocol/ftp/package.html,
	gnu/java/net/protocol/http/package.html:
	Add missing files.

2004-12-02  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/EventDispatchThread.java,
	java/awt/Toolkit.java,
	java/io/ObjectStreamClass.java,
	java/lang/reflect/Proxy.java,
	java/net/URL.java,
	java/security/SecureRandom.java,
	java/util/Timer.java,
	java/util/prefs/AbstractPreferences.java,
	vm/reference/java/lang/VMProcess.java:
	Don't catch java.lang.ThreadDeath.

2004-12-02  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/net/protocol/file/Connection.java
	(StaticData): New inner class to contain statics.
	(connect, getHeaderField): Modified to use StaticData.
	* java/lang/Class.java
	(desiredAssertionStatus): Modified to use ClassLoader.StaticData.
	* java/lang/ClassLoader.java
	(StaticData): New inner class to contain statics.
	(defineClass, setPackageAssertionStatus, setClassAssertionStatus):
	Modified to use StaticData.

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

	* javax/swing/AbstractListModel.java
	(fireContentsChanged): Simplified.
	(fireIntervalAdded): Likewise.
	(fireIntervalRemoved): Likewise.
	* javax/swing/DefaultSingleSelectionModel.java:
	Reformatted.
	(fireStateChanged): Simplified.
	* javax/swing/JPopupMenu.java
	(setSelectionModel): Set property.

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

	* gnu/java/nio/SelectorImpl.java
	(register): Removed redundant code.

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

	* java/awt/print/Book.java: Reformatted.

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

	* java/awt/geom/Area.java
	(QuadSegment.curveArea): Remove unused variables.
	(CubicSegment.curveArea): Likewise.

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

	* gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_nl.java:
	Removed unneeded comments.

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

	* gnu/java/locale/LocaleInformation_de.java:
	Re-generated with current gnu.localegen.

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

	* gnu/java/locale/LocaleInformation_af_ZA.java,
	gnu/java/locale/LocaleInformation_ar_DZ.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_QA.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_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_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_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_LU.java,
	gnu/java/locale/LocaleInformation_ga_IE.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_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_ja_JP.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_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_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_sk_SK.java,
	gnu/java/locale/LocaleInformation_sq_AL.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_tr_TR.java,
	gnu/java/locale/LocaleInformation_uk_UA.java:
	Updated to match by gnu.localegen generated locales more.

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

	* gnu/java/awt/peer/gtk/GdkGraphics.java (drawImage variants):
	Update image observer.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (createImage):
	Start image production.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setMenuBar): Protect
	against negative menu bar widths.
	(setBounds): Likewise.
	(postConfigureEvent): Likewise.
	* gnu/java/awt/peer/gtk/GtkImage.java (imageComplete): Don't
	remove consumer unless only a single frame has completed.
	* gnu/java/awt/peer/gtk/GtkImagePainter.java (GtkImagePainter):
	Add observer parameter.
	(setPixels): Update image observer.
	(imageComplete): Likewise.
	* java/applet/Applet.java (width): New field.
	(height): Likewise.
	(setStub): Set size if width or height field has been set.
	(resize): If stub is null save width and height values.
	* java/awt/Component.java (reshape): Protect against null
	parent.
	* java/awt/image/MemoryImageSource.java
	(MemoryImageSource(int,int,ColorModel,byte[],int,int)):
	Document.
	(MemoryImageSource(int,int,ColorModel,int[],int,int)):
	Likewise.
	(MemoryImageSource(int,int,ColorModel,byte[],int,int,Hashtable)):
	Reference pixel array directly, rather than creating a local
	copy.
	(MemoryImageSource(int,int,ColorModel,int[],int,int,Hashtable)):
	Likewise.
	(newPixels(int,int,int,int)): Fix for loop and array copy
	bounds.
	(newPixels(int,int,int,int,boolean)): Likewise.
	(startProduction): If animated call imageComplete with
	SINGLEFRAME.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Uncomment
	gdk_flush lines.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c
	(drawPixels): Return if g is null or g->drawable is not a gdk
	drawable.

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

	* javax/swing/JTree.java
	(ANCHOR_SELECTION_PATH_PROPERTY): Added @since tag.
	(LEAD_SELECTION_PATH_PROPERTY): Likewise.
	(EXPANDS_SELECTED_PATHS_PROPERTY): Likewise.
	(EXPANDED): New constant.
	(COLLAPSED): Likewise.
	(nodeStates): New field.
	(cellEditor): New method.
	(cellRenderer): Likewise.
	(selectionModel): Likewise.
	(treeModel): Likewise.
	(scrollPathToVisible): Likewise.
	(scrollRowToVisible): Likewise.
	(isCollapsed): Likewise.
	(isExpanded): Likewise.
	(clearToggledPaths): Likewise.
	(getDescendantToggledPaths): Likewise.
	(hasBeenExpanded): Likewise.
	(isVisible): Likewise.
	(isPathEditable): Likewise.

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

	* javax/swing/JLayeredPane.java: Reformatted.

2004-12-01  Chris Burdess  <dog@gnu.org>

	* gnu/java/net/protocol/http/HTTPURLConnection.java:
	HTTPURLConnection now returns Lists as getHeaderFields() values.

2004-12-01  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectOutputStream.java
	(writeObject, callWriteMethod): Replaced reflection with accessing
	cached info in ObjectStreamClass.
	(getMethod): Removed.
	* java/io/ObjectStreamClass.java
	(findMethod): Added check to make sure the method found has the
	right modifiers.
	(cacheMethods): Added writeReplace and writeObject methods.
	(setFlags): Look at new writeObjectMethod field instead of doing
	reflection again.
	(writeReplaceMethod): New field.
	(writeObjectMethod): New field.

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

	* gnu/java/net/BASE64.java,
	gnu/java/net/CRLFInputStream.java,
	gnu/java/net/CRLFOutputStream.java,
	gnu/java/net/EmptyX509TrustManager.java,
	gnu/java/net/GetLocalHostAction.java,
	gnu/java/net/GetSystemPropertyAction.java,
	gnu/java/net/LineInputStream.java,
	gnu/java/net/protocol/http/Authenticator.java,
	gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java,
	gnu/java/net/protocol/http/ByteArrayResponseBodyReader.java,
	gnu/java/net/protocol/http/ChunkedInputStream.java,
	gnu/java/net/protocol/http/Cookie.java,
	gnu/java/net/protocol/http/CookieManager.java,
	gnu/java/net/protocol/http/Credentials.java,
	gnu/java/net/protocol/http/HTTPConnection.java,
	gnu/java/net/protocol/http/HTTPDateFormat.java,
	gnu/java/net/protocol/http/HTTPURLConnection.java,
	gnu/java/net/protocol/http/Headers.java,
	gnu/java/net/protocol/http/Request.java,
	gnu/java/net/protocol/http/RequestBodyWriter.java,
	gnu/java/net/protocol/http/Response.java,
	gnu/java/net/protocol/http/ResponseBodyReader.java,
	gnu/java/net/protocol/http/ResponseHeaderHandler.java,
	gnu/java/net/protocol/http/SimpleCookieManager.java,
	gnu/java/net/protocol/http/event/ConnectionEvent.java,
	gnu/java/net/protocol/http/event/ConnectionListener.java,
	gnu/java/net/protocol/http/event/RequestEvent.java,
	gnu/java/net/protocol/http/event/RequestListener.java:
	New files
	* gnu/java/net/protocol/http/Connection.java:
	gnu/java/net/protocol/http/TODO: Removed
	* gnu/java/net/protocol/http/Handler.java: Updated.
	Merged HTTP protocol implementation from GNU inetlib.

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

	* gnu/java/net/protocol/ftp/ActiveModeDTP.java,
	gnu/java/net/protocol/ftp/BlockInputStream.java,
	gnu/java/net/protocol/ftp/BlockOutputStream.java,
	gnu/java/net/protocol/ftp/CompressedInputStream.java,
	gnu/java/net/protocol/ftp/CompressedOutputStream.java,
	gnu/java/net/protocol/ftp/DTP.java,
	gnu/java/net/protocol/ftp/DTPInputStream.java,
	gnu/java/net/protocol/ftp/DTPOutputStream.java,
	gnu/java/net/protocol/ftp/FTPConnection.java,
	gnu/java/net/protocol/ftp/FTPException.java,
	gnu/java/net/protocol/ftp/FTPResponse.java,
	gnu/java/net/protocol/ftp/FTPURLConnection.java,
	gnu/java/net/protocol/ftp/Handler.java,
	gnu/java/net/protocol/ftp/PassiveModeDTP.java,
	gnu/java/net/protocol/ftp/StreamInputStream.java,
	gnu/java/net/protocol/ftp/StreamOutputStream.java:
	New files. Merged from GNU inetlib.

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

	* javax/swing/tree/DefaultMutableTreeNode.java:
	Completely Revised.
	* javax/swing/tree/MutableTreeNode.java:
	Reformatted.

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

	* javax/swing/JFormattedTextField.java
	(setDocument): Call setDocument of super class. Don't fire property
	change event.

2004-11-28  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Fix typo.
  
2004-11-27  Sven de Marothy  <sven@physto.se>
  
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
        Reformatted.
        (drawRaster): Added FIXME.
        (drawRaster): Changed to work with packed-sample models.
  
2004-11-26  Michael Koch  <konqueror@gmx.de>
  
	* javax/swing/JList.java, javax/swing/JTree.java:
	Added much new methods and fixed much methods setting bound properties.
  
2004-11-26  Sven de Marothy  <sven@physto.se>
  
        * gnu/java/awt/peer/gtk/GdkGraphics2D.java
        (drawRaster): Set alpha component to opaque if image has no alpha
	
2004-11-26  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/io/File.java
	(canWrite): Moved directory write test to VMFile.
	* vm/reference/java/io/VMFile.java
	(canWriteDirectory): New method.
  
2004-11-25  Sven de Marothy  <sven@physto.se>
  
	* java/awt/image/MultiPixelPackedSampleModel.java
	(MultiPixelPackedSampleModel): Corrected parameters, order of bit 
	shifts and masks, stride length off by one.		
  	
2004-11-25  Sven de Marothy  <sven@physto.se>
  
	* java/awt/image/IndexColorModel.java
	(IndexColorModel): Add FIXME with respect to alpha handling.
	(getAlpha): Default to returning opaque pixels.
  
2004-11-25  Mark Wielaard  <mark@klomp.org>
  
	* doc/vmintegration.texinfo: Fix link to Japhar.
	* doc/www.gnu.org/stories.wml: Likewise.
	* doc/www.gnu.org/announce/19990206.wml: Likewise.
	* doc/www.gnu.org/announce/20001120.wml: Likewise.
	* doc/www.gnu.org/announce/20010106.wml: Likewise.
	* doc/www.gnu.org/downloads/19990206.wml: Likewise.
	* doc/www.gnu.org/downloads/20001120.wml: Likewise.
	* doc/www.gnu.org/downloads/20010106.wml: Likewise.

2004-11-23 Jerry Quinn <jlquinn@optonline.net>

	* java/awt/Menu.java (AccessibleAWTMenu
	getAccessibleContext): Implement.
	* java/awt/PopupMenu.java (AccessibleAWTPopupMenu
	getAccessibleContext): Implement.
	* java/awt/TextComponent.java (AccessibleAWTTextComponent
	getAccessibleContext): Implement.
	(TextComponent): Extends Accessible.
	(getIndexAtPoint, getCharacterBounds): New methods.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Button.java
	(AccessibleAWTButton.getAccessibleActionDescription): Explain the
	source of 'click'.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Checkbox.java: Remove stub comments.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Button.java
	(AccessibleAWTButton.getAccessibleActionDescription): Return
	'click'.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Checkbox.java (AccessibleAWTCheckBox): Remove todo
	comments.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Checkbox.java (itemStateChanged): Implement function.
	(getAccessibleContext): Add AccessibleAWTCheckBox to item listeners.
	
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/TextArea.java (AccessibleAWTTextArea,
	getAccessibleContext): Implement.
	* java/awt/TextField.java (AccessibleAWTTextField,
	getAccessibleContext): Implement.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Checkbox.java (AccessibleAWTCheckBox): Implement.
	(getAccessibleContext): Implement.
	
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/MenuItem.java (AccessibleAWTMenuItem): Implement.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/Choice.java (AccessibleAWTChoice): Implement.
  
2004-11-23 Jerry Quinn <jlquinn@optonline.net>
  
	* java/awt/MenuItem.java (AccessibleAWTMenuItem): Implement.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/JPasswordField.java,
	javax/swing/tree/AbstractLayoutCache.java:
	Reformatted and javadocs cleaned up.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(register): Only reuse valid selection keys.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/nio/NIOServerSocket.java
	(getPlainSocketImpl): Removed debug code.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/Component.java:
	Fixed argument names to match javadocs.
	(setFont): Rewritten set property first and then fire event.
	(setLocale): Likewise.
	* javax/swing/text/JTextComponent.java
	(setEditable): Likewise.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* java/util/zip/InflaterInputStream.java
	(onebytebuffer): Little reformatting to match libgcj's version.
	(read): Likewise.
  
2004-11-23  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/nio/NIOServerSocket.java
	(getPlainSocketImpl): Implemented in java with reflection.
	* include/gnu_java_nio_NIOServerSocket.h,
	native/jni/java-nio/gnu_java_nio_NIOServerSocket.c: Removed.
	* include/Makefile.am:
	Don't generate include/gnu_java_nio_NIOServerSocket.h.
	* native/jni/java-nio/Makefile.am:
	Don't build native/jni/java-nio/gnu_java_nio_NIOServerSocket.c.
  
2004-11-22  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/nio/SocketChannelImpl.java
	(read): Made check for blocking un-ambiguous.
	Removed wrong check for data array length.
  
2004-11-22  Patrik Reali  <reali@acm.org>
  
	* doc/www.gnu.org/newsitems.txt doc/www.gnu.org/announce/20041115.wml
	doc/www.gnu.org/downloads/downloads.wml: classpath 0.12 announcement
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/nio/SocketChannelImpl.java
	(read): Only return 0 when no bytes for reading available in
	non-blocking mode.
	* java/nio/channels/SocketChannel.java:
	Added some missing @return tags.

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

	* java/beans/PropertyChangeSupport.java
	(propertyChangeSupportSerializedDataVersion): Made static.
	* java/beans/VetoableChangeSupport.java
	(propertyChangeSupportSerializedDataVersion): Likewise.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/CardLayout.java:
	Made some constants static.
	(serialVersionUID): Made private.
	(addLayoutComponent): Simplified code.
	* java/awt/event/InputEvent.java
	(getModifiersEx): Added missing @param tag.
	* java/awt/image/RGBImageFilter.java
	(filterRGBPixels): Reformatted, removed wrong @param tag.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* java/net/URLConnection.java
	(getContent): Added missing @return tag.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* javax/swing/text/FieldView.java,
	javax/swing/text/JTextComponent.java:
	Removed debug code.
  
2004-11-21  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/nio/DirectByteBufferImpl.java
	(ReadOnly): New inner subclass.
	(ReadWrite): New inner subclass.
	(owner): Made final and private.
	(address): Made final.
	(DirectByteBufferImpl(int)): New constructor.
	(DirectByteBufferImpl(Object,RawData,int,int,int)): New constructor.
	(DirectByteBufferImpl(Object,RawData,int,int,int,boolean)): Removed.
	(allocate): Modified to instantiate ReadWrite subclass.
	(finalize): Fixed to only free the buffer, if we own it.
	(put): Removed read-only check.
	(slice, duplicate): Modified to instantiate appropriate subclass.
	(isReadOnly): Removed.
	* java/nio/MappedByteBufferImpl.java
	(slice, duplicate): Modified to instantiate appropriate
	DirectByteBufferImpl subclass.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* javax/swing/BorderFactory.java
	(BorderFactory): Added private constructor.
	* javax/swing/SwingUtilities.java
	(SwingUtilities): Likewise.
	(computeStringWidth): New method.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/color/ICC_Profile.java
	(icSigNamedColorTag): Removed.
	* java/awt/datatransfer/DataFlavor.java
	(isMimeTypeEqual): Made final.
	* java/awt/image/AffineTransformOp.java:
	Reworked javadocs.
	(TYPE_BICUBIC): Added @since tag.
  
2004-11-21  Michael Koch  <konqueror@gmx.de>
  
	* gnu/classpath/RawData.java: Made abstract.
	* gnu/classpath/RawData32.java,
	gnu/classpath/RawData64.java: New files.
	* include/Makefile.am:
	Don't generate java_nio_DirectByteBufferImpl.h anymore
	and generate java_nio_VMDirectByteBuffer.h now.
	* java/nio/DirectByteBufferImpl.java:
	Moved native methods to VMDirectByteBuffer.
	* java/nio/MappedByteBufferImpl.java:
	Use methods from VMDirectBteBuffer.
	* native/jni/java-nio/Makefile.am:
	Removed java_nio_DirectByteBufferImpl.c
	and added java_nio_VMDirectByteBuffer.c
	* include/java_nio_DirectByteBufferImpl.h,
	native/jni/java-nio/java_nio_DirectByteBufferImpl.c:
	Removed.
	* include/java_nio_VMDirectByteBuffer.h,
	* native/jni/java-nio/java_nio_VMDirectByteBuffer.c,
	* vm/reference/java/nio/VMDirectByteBuffer.java:
	New files.
  
2004-11-20  Tom Tromey  <tromey@redhat.com>
  
	* java/util/ResourceBundle.java (tryBundle): Use
	Class.isAssignableFrom rather than catching ClassCastException.
  
2004-11-20  Bryce McKinlay  <mckinlay@redhat.com>
  
	* java/util/ResourceBundle.java (bundleCache): Renamed from
	resourceBundleCache. Update comments.
	(getObject): Don't catch MissingResourceException.
	(getBundle(String)): Remove 'final'. Use system classloader if
	getCallingClassLoader returned null.
	(getBundle(String, Locale)): Likewise.
	(BundleKey): New private class. HashMap key for bundle cache lookup.
	(lookupKey): New. Singleton instance of BundleKey.
	(nullEntry): New. Cache entry to represent failed lookups.
	(getBundle(String, Locale, ClassLoader)): Re-written to use new 
	caching strategy, no-allocation lookup, and new tryBundle methods.
	(tryBundle(String, ClassLoader)): New. Load a locale-qualified bundle 
	name using given classloader.
	(tryBundle(String, Locale, ClassLoader, boolean): New. Qualify 
	baseName for given Locale and attempt to load bundle.
  
2004-11-18  Jeroen Frijters  <jeroen@frijters.net>
  
	* gnu/java/io/decode/DecoderUTF8.java
	(charsInByteArray, convertToChars, read): Added surrogate pair
	support.
	(pendingChar): New field.
	* gnu/java/io/encode/EncoderUTF8.java
	(bytesInCharArray, convertToBytes): Added surrogate pair support.

2004-11-18  Casey Marshall  <csm@gnu.org>

	* gnu/java/nio/FileLock.java (isValid): locks are valid if the
	channel is open.

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

	* gnu/java/io/decode/DecoderUTF8.java
	(read): Fixed EOF bug introduced in last commit.

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

	* gnu/java/io/decode/Decoder.java: Removed throws
	CharConversionException from the various methods.
	* gnu/java/io/decode/DecoderUTF8.java
	(REPLACEMENT_CHARACTER): New field.
	(charsInByteArray, convertToChars, read): Removed throws
	CharConversionException and reimplemented algorithm to replace
	illegal UTF-8 sequences with REPLACEMENT_CHARACTER instead of
	throwing an exception.
	* gnu/java/io/encode/Encoder.java
	(bad_char, bad_char_set, setBadCharValue): Removed.
	(bytesInCharArray, convertToBytes): Removed throws
	CharConversionException.
	* gnu/java/io/encode/EncoderEightBitLookup.java
	(BAD_CHARACTER): New field.
	(convertToBytes): Changed to always replace invalid characters with
	BAD_CHARACTER instead of throwing an exception if bad_char hadn't
	been set.
	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Removed call to Encoder.setBadCharValue().
	* java/lang/String.java: Removed try/catch block around
	Encoder/Decoder calls that no longer throw CharConversionException.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/print/PrinterJob.java: Reformatted.
  
2004-11-17  Jerry Quinn  <jlquinn@optonline.net>
  
	* java/awt/print/PrinterJob.java (lookupPrintServices,
	getPrintService, setPrintService): Implement.
	(lookupStreamPrintServices): Add commented out implementation.
	(printer): New field.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/net/Socket.java (getPort): Return 0 in error case.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	*  java/nio/DirectByteBufferImpl.java
	(owner): Updated comment.
	(allocate): New method.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/net/URL.java (URL): Handle case when argument is null.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/beans/Beans.java,
	java/beans/PropertyChangeEvent.java,
	java/beans/PropertyEditorSupport.java:
	Fixed javadocs.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/util/Timer.java (DEFAULT_SIZE): Made static.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/image/AffineTransformOp.java,
	java/awt/image/ColorConvertOp.java,
	java/awt/image/LookupOp.java,
	java/awt/image/RescaleOp.java:
	Added final keywords where they belong.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/CardLayout.java,
	java/awt/Component.java,
	java/awt/Font.java,
	java/awt/image/SinglePixelPackedSampleModel.java:
	Fixed javadocs and argument names all over.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/image/DataBufferShort.java: Fixed file header.
	* java/awt/image/DataBufferUShort.java: Likewise.
	(DataBufferUShort): Throw NullPointerException if dataArray is null.
  
2004-11-17  Michael Koch  <konqueror@gmx.de>
  
	* java/net/InetAddress.java (getCanonicalHostName):
	Support IPv6 addresses.
  
2004-11-17  Sven de Marothy  <sven@physto.se>
  
	* java/awt/geom/Arc2D.java,
	(setAngleStart): Corrected (wrong sign on atan2 y parameter)
	(setAngles): Likewise
	(containsAngle): Return false on zero extent, don't include final angle
	(contains): Treat OPEN-type arcs like CHORD ones, not as PIE ones.
  
2004-11-16  Sven de Marothy  <sven@physto.se>
  
	* java/awt/geom/AffineTransform.java,
	(inverseTransform): Fixed bug and simplified code.
	(createTransformedShape): Return null on null parameter.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* java/util/Collections.java (synchronizedSortedMap):
	Removed some cruft in javadoc.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/locale/LocaleInformation_de.java:
	Added some new locale informations to the contents object.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* java/io/BufferedReader.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/FileWriter.java,
	java/io/OutputStreamWriter.java,
	java/io/PipedInputStream.java,
	java/io/PipedOutputStream.java,
	java/io/PipedReader.java,
	java/io/PipedWriter.java,
	java/io/PrintStream.java,
	java/io/PushbackInputStream.java,
	java/io/RandomAccessFile.java,
	java/io/Reader.java,
	java/io/StreamTokenizer.java,
	java/io/StringReader.java,
	java/net/NetworkInterface.java,
	java/net/URLClassLoader.java,
	java/nio/ByteOrder.java,
	java/nio/channels/Channel.java:
	Fixed javadocs all over.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ICC_ProfileGray.java,
	java/awt/color/ICC_ProfileRGB.java:
	Re-indent copyright header to be standardish.
	* java/awt/datatransfer/StringSelection.java:
	Reformatted.
	* java/awt/geom/Area.java
	(EPSILON): Made static.
	(RS_EPSILON): Likewise.
	(PE_EPSILON): Likewide.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/locale/LocaleInformation_de.java:
	Fix compile error.
  
2004-11-16  Sven de Marothy  <sven@physto.se>
  
	* javax/swing/SwingUtilities.java:
	(computeDifference): Implemented
	(computeIntersection): Likewise
	(computeUnion): Likewise
	(isRectangleContainingRectangle): Likewise
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* java/awt/BasicStroke.java,
	java/awt/Button.java,
	java/awt/Canvas.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Container.java,
	java/awt/EventQueue.java,
	java/awt/FileDialog.java,
	java/awt/FlowLayout.java,
	java/awt/FontMetrics.java,
	java/awt/Graphics.java,
	java/awt/GridLayout.java,
	java/awt/KeyboardFocusManager.java,
	java/awt/Label.java,
	java/awt/LayoutManager2.java,
	java/awt/List.java,
	java/awt/MenuBar.java,
	java/awt/Scrollbar.java,
	java/awt/Toolkit.java,
	java/awt/Window.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/FlavorTable.java,
	java/awt/event/ActionListener.java,
	java/awt/event/HierarchyBoundsAdapter.java,
	java/awt/geom/Arc2D.java,
	java/awt/geom/Rectangle2D.java,
	java/awt/geom/RectangularShape.java,
	java/awt/im/spi/InputMethod.java,
	java/awt/image/ByteLookupTable.java,
	java/awt/image/ColorModel.java,
	java/awt/image/DirectColorModel.java,
	java/awt/image/ShortLookupTable.java,
	java/awt/print/Book.java:
	Fixed javadocs and method argument names all over.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/locale/LocaleInformation_de.java: Reordered entries in
	contents array, added support for ap/pm and territorial names.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/locale/LocaleInformation_de.java: Reformatted. Replaced
	some definitions with their generated counterparts.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/locale/LocaleInformation_de.java: Removed some comments to
	make it easier to merge this with the new generated classes.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* configure.ac: Added scripts/Makefile to output files.
	* Makefile.am (SUBDIRS): Add scripts
	* scripts/Makefile.am: New file.
  
2004-11-16  Michael Koch  <konqueror@gmx.de>
  
	* gnu/java/awt/peer/gtk/GdkFontPeer.java
	(buildString): Optimise String building.
  
2004-11-15  Michael Koch  <konqueror@gmx.de>
  
	* native/jni/Makefile.am: Add checking of JNI methods.
	* scripts/check_jni_methods.sh: New file.
  
2004-11-15  Michael Koch  <konqueror@gmx.de>
  
	* acinclude.m4 (CLASSPATH_WITH_GLIBJ): Added support to not build the
	class files/glibj.zip. Handle --disable-examples argument.
	* Makefile.am: Build examples subdir conditionally.
  
2004-11-15  Craig Black  <craig.black@aonix.com>
  
	* gnu/java/beans/BeanInfoEmbryo.java: Use TreeMap for proper sorting.
  
2004-11-15  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/lang/StackTraceElement.java: Made final.
	* java/nio/channels/Channels.java: Added private constructor.
	* java/rmi/Naming.java: Added private constructor.
	* java/rmi/registry/LocateRegistry.java: Added private constructor.
	* java/rmi/server/RMIClassLoader.java: Added private constructor.
	* java/security/KeyPairGeneratorSpi.java
	(clone): Made protected and simplified implementation.
	* java/text/DateFormat.java
	(allFields): Made package accessible.
	* java/text/DecimalFormat.java
	(formatInternal): Made private.
	* java/text/Format.java
	(formatInternal): Made private.
	* java/util/logging/Handler.java: Made constructor protected.
	* java/util/regex/Matcher.java: Made final.
	* java/util/regex/Pattern.java: Made final.
	* java/util/zip/InflaterHuffmanTree.java: Made package.
	* javax/crypto/CipherInputStream.java
	(mark): Corrected mark parameter type (from long to int).
	* javax/crypto/ExemptionMechanism.java
	(finalize): Added.
	* javax/crypto/Mac.java
	(getMacLength): Made final.
	(clone): Made final.
	* javax/imageio/ImageIO.java: Added private constructor.
	* javax/imageio/stream/ImageInputStreamImpl.java
	(checkClosed): Made final.
	* javax/net/ssl/SSLPermission.java: Made final.
	* javax/print/DocFlavor.java
	(hostEncoding): Added work-around to prevent the field from being
	a compile time constant.
	* javax/print/attribute/AttributeSetUtilities.java: Added private
	constructor.
	(UnmodifiableDocAttributeSet): Made private.
	(UnmodifiablePrintJobAttributeSet): Made private.
	(UnmodifiablePrintRequestAttributeSet): Made private.
	(UnmodifiablePrintServiceAttributeSet): Made private.
	(SynchronizedAttributeSet): Made private.
	(SynchronizedDocAttributeSet): Made private.
	(SynchronizedPrintJobAttributeSet): Made private.
	(SynchronizedPrintRequestAttributeSet): Made private.
	(SynchronizedPrintServiceAttributeSet): Made private.
	* javax/security/auth/PrivateCredentialPermission.java: Made final.
  
2004-11-14  Mark Wielaard  <mark@klomp.org>
  
	* configure.ac: Set version to 0.12+cvs.
  
2004-11-14  Mark Wielaard  <mark@klomp.org>
  
	* configure.ac: Set version to 0.12.
	* NEWS: Add new items for this release.
  
2004-11-14  Mattias Rehnberg  <Mattias.Rehnberg@home.se>
  
	* java/net/Inet6Address.java (getHostAddress): Fix textual
	representation of IPv6 address with embedded zeroes 
	to conform to RFC 2373.
  
2004-11-14  Mark Wielaard  <mark@klomp.org>
  
	* configure.ac (--disable-Werror): Make no the default.
  
2004-11-14  Mark Wielaard  <mark@klomp.org>
  
	* javax/swing/ToolTipManager.java (mouseMoved): Set currentComponent
	when not yet set.
  
2004-11-13  Robert Schuster <thebohemian@gmx.net>
  
	Complete 1.4 support
	* java/beans/PropertyDescriptor.java:
	(setReadMethod): New method
	(setWriteMethod): New method
	(equals): Implemented (1.4)
	(checkMethods): operates on arguments now (private)
  
2004-11-12  Steven Augart  <augart@watson.ibm.com>
  
	* gnu/classpath/Configuration.java.in: Added
	JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION. 
	* configure.ac: Added
	--enable-java-lang-system-explicit-initialization. 
	* java/lang/System.java: Added support for
	JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION. 
	
2004-11-12  Sven de Marothy  <sven@physto.se>
  
	* java/awt/Polygon.java (contains): Reimplemented.
  
2004-11-11  Mark Wielaard  <mark@klomp.org>
  
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Indentation fixups.
	* gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise.
  
2004-11-11  Paul Jenner  <psj.home@ntlworld.com>
  
	* java/awt/image/Raster.java
	(createPackedRaster): Implemented.
  
2004-11-11  Mark Wielaard  <mark@klomp.org>
  
	* javax/swing/plaf/basic/BasicTableHeaderUI.java: Indentation fixups.
	* javax/swing/plaf/basic/BasicViewportUI.java: Likewise.
	* javax/swing/text/PlainDocument.java: Likewise.
	* javax/swing/text/SimpleAttributeSet.java: Likewise.
	* javax/swing/text/Utilities.java: Likewise.
  
2004-11-11  Graydon Hoare  <graydon@redhat.com>
  
	* javax/swing/plaf/basic/BasicTextUI.java:
	Listen to focus events, indicate focus via caret.
	* javax/swing/text/GapContent.java (getString): Return substring.
	* javax/swing/text/PlainDocument.java (reindex): New method.
	(createDefaultRoot): Call it.
	(insertUpdate): Likewise.
	(removeUpdate): Likewise.
	* javax/swing/text/Utilities.java (drawTabbedText): Always advance
	on tab and newline, even if no painting happens.
  
2004-11-11  Thomas Fitzsimmons  <fitzsim@redhat.com>
  
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c (setFont):
	Set pango context's description and language.
  
2004-11-11  Mark Wielaard  <mark@klomp.org>
  
	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkClipboard.h: Likewise.
	* include/gnu_java_net_PlainDatagramSocketImpl.h: Likewise.
	* include/java_io_ObjectInputStream.h: Likewise.
	* include/java_io_VMFile.h: Likewise.
	* include/java_lang_Math.h: Likewise.
	* include/java_lang_VMProcess.h: Likewise.
	* include/java_net_InetAddress.h: Likewise.
  
2004-11-11  Graydon Hoare  <graydon@redhat.com>
  
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(GdkGraphics2D): Set clip after transform.
	(drawImage): Protect against null image.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(setIconImage): Protect against non-GtkImage args.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(checkImage): Protect against non-GtkImage args.
	* java/awt/print/PrinterJob.java:
	(print): Add variant taking PrintRequestAttributeSet.
	(printDialog): Likewise.
	* javax/swing/JComponent.java:
	(transferHandler): New field.
	(getComponentGraphics): Build new Graphics for each sub-paint.
	(getTransferHandler): New method.
	(setTransferHandler): New method.
	* javax/swing/JDesktopPane.java
	(setDragMode): Force LIVE_DRAG_MODE.
	* javax/swing/JMenuItem.java
	(menuSelectionChanged): Protect against null parent.
	* javax/swing/JTable.java (setDefaultRenderer): New method.
	* javax/swing/JTree.java: Get basic ctors and UI working.
	* javax/swing/JViewport.java (JViewport): Set scroll mode.
	* javax/swing/RepaintManager.java
	(addDirtyRegion): Skip empty regions.
	* javax/swing/ScrollPaneLayout.java (minimumLayoutSize): Do not
	bound scrollpane minimum by central view minimum.
	* javax/swing/ToolTipManager.java
	(showTip): Guard against null component.
	* javax/swing/TransferHandler.java: Stub out.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Add entry for TextPaneUI, change Tree icons to pngs.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(installDefaults): Set text position and alignment.
	(paintMenuItem): Layout icon with normal compound function.
	* javax/swing/plaf/basic/BasicTableHeaderUI.java:
	(getMaximumSize): Delete.
	(getMinimumSize): Delete.
	(getPreferredSize): Use column model's total width.
	* javax/swing/plaf/basic/BasicTextPaneUI.java: New file.
	* javax/swing/plaf/basic/BasicTextUI.java
	(modelChanged): Make resilient against nulls.
	* javax/swing/plaf/basic/BasicTreeUI.java:
	Add some simplistic config / painting functions.
	* javax/swing/plaf/basic/BasicViewportUI.java
	(paintSimple): Add new non-backingstore paint mode.
	(paintBackingStore): Split out backing store code.
	(paint): Switch on painting mode.
	* javax/swing/text/SimpleAttributeSet.java
	(SimpleAttributeSet): Resist nulls.
	* javax/swing/tree/DefaultTreeCellRenderer.java: Implement.
	* javax/swing/tree/DefaultTreeModel.java: Partially implement.

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

	* java/util/jar/JarFile.java (verify): Make package private.
	(signaturesRead): Likewise.
	(verified): Likewise.
	(entryCerts): Likewise.
	(DEBUG): Likewise.
	(debug): Likewise.
	(entries): Construct new JarEnumeration with reference to this.
	(JarEnumeration): Make static.
	(JarEnumeration.jarfile): New field.
	(JarEnumeration.nextElement): Use and synchronize on jarfile.
	Compare verified value to Boolean.TRUE or Boolean.False only
	when verify is true.
	(getEntry): Make synchronized. Compare value of verified to
	Boolean.TRUE.
	(getInputStream): Construct EntryInputStream with reference to this.
	(getManifest): Make synchronized.
	(EntryInputStream): Make static.
	(EntryInputStream.jarfile): New field.
	(EntryInputStream.EntryInputStream): Check if manifest exists,
	before getting attributes.
	(eof): Synchronize on jarfile.
	
2004-11-11  Mark Wielaard  <mark@klomp.org>

	* lib/gen-classlist.sh.in: Split in classes list in standard, awt
	and standardx lists.
	* lib/Makefile.am (FOUND_GCJ): Split compilation in three parts.
	(CLEANFILES): Add classes.standard, classes.awt and classes.standardx.

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

	* scripts/classpath-build: Use autogen.sh script. Added
	--with-glibj=both to configure. Make sure logfile is empty.

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

	* scripts/eclipse-gnu.xml: New file.

	* java/io/File.java (directory.getName): Removed redundant cast.
	Changed "mask" to be of type "long".

2004-11-08  Casey Marshall  <csm@gnu.org>

	* java/util/jar/JarFile.java (verify): return if the jar is signed
	with an unsupported algorithm.

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

	* java/util/GregorianCalendar.java: Removed unused imports.
	* java/util/Vector.java: Removed unused import.

	* java/io/PrintStream.java (ForwardStream): New constructor.

2004-11-08  Robert Schuster <thebohemian@gmx.net>

	Fixed regression:
	* gnu/java/beans/IntrospectionIncubator.java:
	(addMethod): corrected classification of normal and property methods
	(capitalize): added documentation
	(DoubleKey): [class] added documentation
	(isReachable): new method, refactoring of a large expression
  
2004-11-08  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/net/URLStreamHandler.java
	(parseURL): Fixed file path canonicalisation.
  
2004-11-08  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/io/File.java:
	(createTempFile): Use VMFile.IS_DOS_8_3 instead of separatorChar
	to determine file system naming restrictions.
	* vm/reference/java/io/VMFile.java
	(caseSensitive): Renamed to IS_CASE_SENSITIVE.
	(IS_DOS_8_3): New field.

2004-11-08  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/ClassLoader.java: Updated some comments.
	(systemClassLoader): Moved to java.lang.System to remove
	circular initialization dependency.
	* java/lang/System.java: Moved initialization of static fields
	to static initializers to make ordering more explicit.
	(static): Added creation of system class loader.
	(static): Added support for setting the default security manager.

2004-11-07  Mark Wielaard  <mark@klomp.org>

	* java/awt/image/LookupOp.java: Comments and indentation fixes.

2004-11-07  Casey Marshall  <csm@gnu.org>

	* gnu/java/security/provider/GnuDSAPrivateKey.java
	(encodedKey): new field.
	(getFormat): return "PKCS#8".
	(getEncoded): implemented.
	(toString): check for 'null' values.
	* gnu/java/security/provider/GnuDSAPublicKey.java
	(encodedKey): new field.
	(getFormat): return "X.509".
	(getEncoded): implemented.
	(toString): check for 'null' values.

2004-11-07  Casey Marshall  <csm@gnu.org>

	* NEWS: started 0.12 entry; mention signed JAR files and X.509
	improvements.

2004-11-07  Mark Wielaard  <mark@klomp.org>

	* java/util/jar/JarFile.java (EntryInputStream): Add actual
	InputStream as argument.
	(getInputStream): Construct a new EntryInputStream with the result of
	super.getInputStream(entry).

2004-11-07  Casey Marshall  <csm@gnu.org>

	Signed JAR file support.
	* java/net/URLClassLoader.java
	(JarURLResource.getCertificates): re-read jar entry to ensure
	certificates are picked up.
	(findClass): fill in class `signers' field, too.
	* java/util/jar/JarFile.java (META_INF): new constant.
	(PKCS7_DSA_SUFFIX): new constant.
	(PKCS7_RSA_SUFFIX): new constant.
	(DIGEST_KEY_SUFFIX): new constant.
	(SF_SUFFIX): new constant.
	(MD2_OID): new constant.
	(MD4_OID): new constant.
	(MD5_OID): new constant.
	(SHA1_OID): new constant.
	(DSA_ENCRYPTION_OID): new constant.
	(RSA_ENCRYPTION_OID): new constant.
	(signaturesRead): new field.
	(verified): new field.
	(entryCerts): new field.
	(DEBUG): new constant.
	(debug): new method.
	(JarEnumeration.nextElement): fill in entry certificates, read
	signatures if they haven't been read.
	(getEntry): likewise.
	(getInputStream): verify stream if it hasn't been verified
	yet.
	(readSignatures): new method.
	(verify): new method.
	(verifyHashes): new method.
	(readManifestEntry): new method.
	(EntryInputStream): new class.
	* java/util/zip/InflaterInputStream.java
	Don't defer to underlying stream for mark/reset.
	(markSupported): new method; return `false'.
	(mark): new method.
	(reset): new method.
	* gnu/java/io/Base64InputStream.java (decode): new class
	method.
	* gnu/java/security/der/DERReader.java don't make class
	final.
	(in): made protected.
	(encBuf): likewise.
	(readLength): likewise.
	* gnu/java/security/ber/BER.java,
	* gnu/java/security/ber/BEREncodingException.java,
	* gnu/java/security/ber/BERReader.java,
	* gnu/java/security/ber/BERValue.java,
	* gnu/java/security/pkcs/PKCS7SignedData.java,
	* gnu/java/security/pkcs/SignerInfo.java:
	new files.
  
2004-11-07  Casey Marshall  <csm@gnu.org>
  
	* gnu/java/security/provider/Gnu.java
	(<init>): add entries in a priviliged action.
	Add new algorithms.
	* gnu/java/security/provider/X509CertificateFactory.java
	(engineGenerateCertificate): chain exceptions.
	(engineGenerateCertificates): likewise.
	(engineGenerateCRL): likewise.
	(engineGenerateCRLs): likewise.
	(engineGenerateCertPath): new methods.
	(generateCert): throw exception if 'inStream' is null.
	(generateCRL): likewise.
	* gnu/java/security/x509/X500DistinguishedName.java: replaced with
	version from GNU Crypto CVS.
	* gnu/java/security/x509/X509CRL.java: likewise.
	* gnu/java/security/x509/X509CRLEntry.java: likewise.
	* gnu/java/security/x509/X509Certificate.java: likewise.
	* java/security/cert/TrustAnchor.java: call 'toString' and not
	toRFC2253.
	* gnu/java/security/provider/CollectionCertStoreImpl.java,
	* gnu/java/security/provider/EncodedKeyFactory.java,
	* gnu/java/security/provider/GnuDHPublicKey.java,
	* gnu/java/security/provider/GnuRSAPrivateKey.java,
	* gnu/java/security/provider/GnuRSAPublicKey.java,
	* gnu/java/security/provider/MD2withRSA.java,
	* gnu/java/security/provider/MD4withRSA.java,
	* gnu/java/security/provider/MD5withRSA.java,
	* gnu/java/security/provider/PKIXCertPathValidatorImpl.java,
	* gnu/java/security/provider/RSA.java,
	* gnu/java/security/provider/RSAKeyFactory.java,
	* gnu/java/security/provider/SHA1withRSA.java,
	* gnu/java/security/x509/GnuPKIExtension.java,
	* gnu/java/security/x509/PolicyNodeImpl.java,
	* gnu/java/security/x509/Util.java,
	* gnu/java/security/x509/X509CRLSelectorImpl.java,
	* gnu/java/security/x509/X509CertPath.java,
	* gnu/java/security/x509/X509CertSelectorImpl.java,
	* gnu/java/security/x509/ext/AuthorityKeyIdentifier.java,
	* gnu/java/security/x509/ext/BasicConstraints.java,
	* gnu/java/security/x509/ext/CRLNumber.java,
	* gnu/java/security/x509/ext/CertificatePolicies.java,
	* gnu/java/security/x509/ext/ExtendedKeyUsage.java,
	* gnu/java/security/x509/ext/Extension.java,
	* gnu/java/security/x509/ext/GeneralNames.java,
	* gnu/java/security/x509/ext/IssuerAlternativeNames.java,
	* gnu/java/security/x509/ext/KeyUsage.java,
	* gnu/java/security/x509/ext/PolicyConstraint.java,
	* gnu/java/security/x509/ext/PolicyMappings.java,
	* gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java,
	* gnu/java/security/x509/ext/ReasonCode.java,
	* gnu/java/security/x509/ext/SubjectAlternativeNames.java,
	* gnu/java/security/x509/ext/SubjectKeyIdentifier.java:
	new files.
  
2004-11-07  Sven de Marothy  <sven@physto.se>
  
	* java/awt/geom/GeneralPath.java (evaluateCrossings):
	Fixed epsilon value, should always be nonzero.
  
2004-11-07  Jerry Quinn  <jlquinn@optonline.net>
  
	* java/awt/image/BandedSampleModel.java (scanlineStride): Remove
	field hiding ComponentSampleModel.scanlineStride.
  
2004-11-06  Thomas Fitzsimmons  <fitzsim@redhat.com>
  
	* java/awt/DefaultKeyboardFocusManager.java (dispatchEvent):
	Track Window focus owner on FOCUS_GAINED events.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* doc/hacking.texinfo (Source Code Style Guide): Fixed
	grammatical error.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* gnu/java/rmi/server/UnicastConnectionManager.java (clients): Now
	package-private.
	(connections): Likewise.
	(scavenger): Likewise.
	* gnu/java/rmi/server/ConnectionRunnerPool.java (freelist): Now
	package-private.
	* gnu/java/rmi/server/UnicastRemoteCall.java (vec): Now
	package-private.
	(ptr): Likewise.
	* gnu/java/security/PolicyFile.java (debug): Now package-private.
	* gnu/classpath/ServiceFactory.java (log): Now package-private.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* javax/naming/directory/BasicAttributes.java (attributes): Now
	package-private.
	* javax/imageio/spi/ServiceRegistry.java (categories): Now
	package-private.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* java/net/URLClassLoader.java (URLClassLoader): Now
	package-private.
	* java/nio/charset/CoderResult.java (CoderResult): Now
	package-private.
	(get): Likewise.
	(Cache): Likewise.  Don't synchronize on `this'.
	* java/rmi/server/RMIClassLoader.java (MyClassLoader): Now
	package-private.
	* java/util/TimeZone.java (timezones): Now package-private.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* java/security/Permissions.java (perms): Now package-private.
	* java/security/UnresolvedPermission.java (permissions): Now
	package-private.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* java/io/FilePermission.java: Reindented.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* java/io/ObjectOutputStream.java (currentObjectStreamClass): Now
	package-private.
	(setBlockDataMode): Likewise.
	* java/io/DeleteFileHelper.java (DeleteFileHelper): Now
	package-private.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* gnu/java/nio/charset/ISO_8859_1.java (Decoder): Now
	package-private.
	(Encoder): Likewise.
	* gnu/java/nio/charset/UTF_8.java (Decoder): Now package-private.
	(Encoder): Likewise.
	* gnu/java/nio/charset/US_ASCII.java (Decoder): Now
	package-private.
	(Encoder): Likewise.
  
2004-11-06  Robert Schuster  <theBohemian@gmx.net>
  
	Fixes bug #10908
	* gnu/java/beans/IntrospectionIncubator.java:
	(addMethod): static methods are discarded now, too.

2004-11-06  Sven de Marothy  <sven@physto.se>

	* java/awt/image/ConvolveOp.java: Added missing copyright notice.

2004-11-06  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/AffineTransformOp.java (filter): Implement
	filtering and bilinear interpolation for Rasters.
	 Add TYPE_BICUBIC.
	* java/awt/image/IndexColorModel.java (IndexColorModel): Actually
	use the provided colormap.  Throw documented exceptions.  Document
	exceptions.
	* java/awt/image/ComponentSampleModel.java (getDataElements,
	setDataElements): Implement SHORT, FLOAT, and INT transfer types.
	* java/awt/image/Raster.java (createBandedRaster): Implement.
	* java/awt/image/SampleModel.java (createSubsetSampleModel): Add
	javadocs.
	* java/awt/image/RescaleOp.java,
	java/awt/image/ColorConvertOp.java: Fix loop bounds.
	* java/awt/image/BandCombineOp.java,
	java/awt/image/LookupOp.java,
	java/awt/image/ConvolveOp.java: New classes.
  
2004-11-06  Andrew Haley  <aph@redhat.com>
  
	* java/io/ObjectInputStream.java
	(readObject): ENDBLOCKDATA is generated if the class has a write
	method, not if it has a read method.
  
2004-11-06  Mark Wielaard  <mark@klomp.org>
  
	* java/util/Vector.java (readObject): Removed.
  
2004-11-06  Tom Tromey  <tromey@redhat.com>
  
	* gnu/java/net/protocol/http/Connection.java (sendRequest): Fix
	typo.
  
2004-11-06  Michael Koch  <konqueror@gmx.de>
  
	PR libjava/14009
	* gnu/java/net/protocol/http/Connection.java
	(sendRequest): Handle case when url.getFile() returns an empty string.
  
2004-11-06  Patrik Reali  <reali@acm.org>
  
	* doc/www.gnu.org/newsitems.txt: JDK 1.0 compatibility news
  
2004-11-06  Tom Tromey  <tromey@redhat.com>

	* java/lang/Void.java (TYPE): Added cast to initializer.
	* java/lang/Short.java (TYPE): Added cast to initializer.
	* java/lang/Long.java (TYPE): Added cast to initializer.
	* java/lang/Integer.java (TYPE): Added cast to initializer.
	* java/lang/Float.java (TYPE): Added cast to initializer.
	* java/lang/Double.java (TYPE): Added cast to initializer.
	* java/lang/Character.java (TYPE): Added cast to initializer.
	* java/lang/Byte.java (TYPE): Added cast to initializer.
	* java/lang/Boolean.java (TYPE): Added cast to initializer.
	* java/util/Hashtable.java (elements): Fixed return type.

2004-11-05  Noa Resare  <noa@resare.com>
  
	* java/net/Socket.java(getPort): Return 0 instead of -1 on
	unconnected sockets.
  
2004-11-05  Sven de Marothy <sven@physto.se>
	
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(createImage): Created bitmap should be filled with bg color
  
2004-11-04  Torsten Rupp  <rupp@aicas.com>
  
	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c:
	Replaced 'this' arguments by 'obj' to make source compatible with
	C++ compilers.
  
2004-11-04  Torsten Rupp  <rupp@aicas.com>
  
	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c:
	Add dummy return values for WITHOUT_NETWORK code path.
	(Java_gnu_java_net_PlainDatagramSocketImpl_receive0): Check fid not
	NULL for maxlen field id.
  
2004-11-04  Torsten Rupp  <rupp@aicas.com>
  
	* native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Added missing
	return values for WITHOUT_NETWORK code path.
  
2004-11-03  Tom Tromey  <tromey@redhat.com>
  
	* Makefile.am (EXTRA_DIST): Added ChangeLog-2003.
  
2004-11-03  Tom Tromey  <tromey@redhat.com>
  
	* include/jni.h (struct JNINativeInterface) <NewObjectArray>: Now
	returns jobjectArray.
	(_Jv_JNIEnv::NewObjectArray): Likewise.
  
2004-11-03  Tom Tromey  <tromey@redhat.com>

	* java/util/Collection.java (iterator): Fixed return type.

	* java/util/AbstractSet.java (removeAll): Fixed iterator
	declaration.
	* java/util/AbstractList.java (RandomAccessSubList): RandomAccess
	is not generic.

2004-11-02  Mattias Rehnberg  <Mattias.Rehnberg@home.se>

	* java/io/Vector.java
	(readObject, writeObject): New function to match Sun's
	serialized output for Vector.
  
  	* java/io/ObjectOutputStream.java
	(writeObject): Move the assignment of the class handle to after
	the assignment of class descriptor handle.
  
2004-11-02  Thomas Fitzsimmons  <fitzsim@redhat.com>
  
	* java/awt/Font.java (name): New field.
	(size): Likewise.
	(style): Likewise.
  
2004-11-01  Andrew John Hughes <gnu_andrew@member.fsf.org>
  
	* java/util/GregorianCalendar.java:
	Added/amended documentation.
	
2004-11-01  Jeroen Frijters  <jeroen@frijters.net>
  
	* java/lang/ClassLoader.java:
	(addFileURL): New method.
	(getSystemClassLoaderUrls): Fixed to treat lone separators as
	current directory.
  
2004-11-01  Tom Tromey  <tromey@redhat.com>

	* java/util/AbstractMap.java: Removed old FIXME comment.

	* java/lang/Long.java (rotateRight): Fixed return type.
	* java/lang/Integer.java (reverse): Use correct name for
	variable.
	* java/lang/Character.java (valueOf): Use MIN_VALUE, not
	MIN_CACHE.
	* java/lang/Byte.java (valueOf): Use MIN_VALUE, not MIN_CACHE.

	* gnu/java/util/DoubleEnumeration.java: Genericized.

	* java/lang/Appendable.java (append): Throws IOException.

	* java/util/Hashtable.java: Genericized.

	* java/util/HashMap.java (putAll): Use correct type for iterator.
	(putAllInternal): Likewise.
	* java/lang/Class.java (cast): Call VMClass.cast.
	* java/util/Collections.java (UnmodifiableMap.remove): Corrected
	return type.
	(entrySet): Likewise.
	(entries): Corrected type.

	* vm/reference/java/lang/reflect/Constructor.java
	(getTypeParameters): Stubbed.

2004-10-31  Robert Schuster <thebohemian@gmx.net>
  
	Fixes documentation and indentation
	* java/beans/PropertyEditorSupport.java:
	 reworked initial API doc
	(value): changed name from val
  
2004-10-31  Robert Schuster <thebohemian@gmx.net>
  
	Updates to 1.5
	* java/beans/PropertyEditorSupport.java
	(PropertyEditorSupport()): Changed modifier to public
	(PropertyEditorSupport(Object): Changed modifier to public
	(setSource): New method
	(getSource): New method
  
2004-10-31  Robert Schuster <thebohemian@gmx.net>
  
	Fixes bug #10799
	* java/beans/PropertyEditorSupport.java
	(setValue): Fire property change event
  
2004-10-31  Noa Resare  <noa@resare.com>
  
	* java/util/Calendar.java (explicitDSTOffset): New instance field.
	(set(int,int)): Set and use new field.
	(set(int,int,int)): Check new field.
  
2004-10-29  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/ColorConvertOp.java: New class.
	* java/awt/image/ColorModel.java (cloneColorModel): New method.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkWidgetSetVisible): Unused. Removed.
	(connectJObject): Likewise.
	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
	(gtkScrolledWindowSetScrollPosition): Commented out.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,
	include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h:
	Regenerated.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(cairoShowGlyphs) Removed.

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

	* native/jni/java-nio/java_nio.c
	(Java_gnu_java_nio_FileChannelImpl_lengthInternal): Removed.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,
	native/jni/java-lang/java_lang_Double.c,
	native/jni/java-lang/java_lang_Math.c,
	native/jni/java-lang/java_lang_Object.c,
	native/jni/java-lang/java_lang_VMDouble.c,
	native/jni/java-lang/java_lang_VMFloat.c,
	native/jni/java-lang/java_lang_reflect_Array.c:
	Fixed method names to start at begin of line. This is desired by GNU
	coding style guide.

2004-10-28  Sven de Marothy  <sven@physto.se>

	* gnu/java/awt/color/CieXyzConverter.java,
	gnu/java/awt/color/GrayScaleConverter.java,
	gnu/java/awt/color/SrgbConverter.java,
	gnu/java/awt/color/ClutProfileConverter.java,
	gnu/java/awt/color/LinearRGBConverter.java,
	gnu/java/awt/color/TagEntry.java,
	gnu/java/awt/color/ColorLookUpTable.java,
	gnu/java/awt/color/ProfileHeader.java,
	gnu/java/awt/color/ToneReproductionCurve.java,
	gnu/java/awt/color/ColorSpaceConverter.java,
	gnu/java/awt/color/PyccConverter.java,
	gnu/java/awt/color/GrayProfileConverter.java,
	gnu/java/awt/color/RgbProfileConverter.java:
	New files.
	* java/awt/color/ICC_ColorSpace.java,
	java/awt/color/ICC_Profile.java,
	java/awt/color/ICC_ProfileGray.java,
	java/awt/color/ICC_ProfileRGB.java:
	Implemented (sans PhotoYCC color space).
	
2004-10-28  Michael Koch  <konqueror@gmx.de>

	* java/awt/font/TextAttribute.java
	(RUN_DIRECTION_LTR): Initialie with static value instead of
	calculating it.
	(RUN_DIRECTION_RTL): Likewise.
	(STRIKETHROUGH_ON): Likewise.
	(SWAP_COLORS_ON): Likewise.

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

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(releasePeerGraphicsResource): Fixed typo in method name.
	* gnu/java/awt/peer/gtk/GdkFontPeer.java
	(finalize): Fixed typo in releasePeerGraphicsResource.
	* include/gnu_java_awt_peer_gtk_GdkGraphics2D.h:
	Regenerated.

2004-10-28  Noa Resare  <noa@resare.com>

	* java/awt/geom/GeneralPath.java (currentSegment):
	Fix typo in transform.transform() invocation.

2004-10-27  Mark Wielaard  <mark@klomp.org>

	* java/security/cert/X509Certificate.java: Fully qualify extends to
	java.security.cert.Certificate.

2004-10-27  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c
	(Java_gnu_java_awt_peer_gtk_GdkTextLayout_setText): Installed and
	and renamed from Java_gnu_java_awt_peer_gtk_GdkGlyphVector_setText.

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

	* native/jni/gtk-peer/Makefile.am (AM_CFLAGS): Add ERROR_CFLAGS.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c
	(Java_gnu_java_awt_peer_gtk_GdkGlyphVector_setText): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(init_dpi_conversion_factor): Correct prototype.

2004-10-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c 
	(nativeSetIconImage): Rename to nativeSetIconImageFromDecoder.

2004-10-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
	(Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun):
	Fix pointer warning.

2004-10-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFilenameFilter):
	Fix pointer warning.

	* native/jni/gtk-peer/gtkpeer.h: Introduce widget_union to fix type
	punned warnings.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Use widget_union
	to fix type punned pointer warning.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Likewise.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_get_new_state): Introduce unions to fix warnings as above.
	(window_property_changed_cb): Likewise.
	(window_active_state_change_cb): Mark unused variables unused.
	(window_focus_state_change_cb): Likewise.
	(window_focus_in_cb): Likewise.
	(window_focus_out_cb): Likewise.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
	(Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Convert
	PangoFontMap correctly with PANGO_FT2FONT_MAP macro.

2004-10-26  Andreas Tobler  <a.tobler@schweiz.ch>

 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
 	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Use the
 	GTK_TEXT_VIEW macro.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
 	(connect_awt_hook_cb): Mark unused variable unused.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
	(selection_get): Do the cast right.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
 	(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_create): According to
 	the gtk API gtk_combo_box_new_text actually returns a GtkWidget.
 	Remove unused var menu.
 	(selection_changed): Remove unused value.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
 	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_setNativeBounds): Fix pointer
 	warning with using an intermediate variable.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
 	(area_updated): Fix unused var warning for BE archs.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
 	(Java_gnu_java_awt_peer_gtk_GdkGraphics_connectSignals): Remove unused
 	var.
 	(realize_cb): Mark unused variable unused.
 
 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c
 	(seek_glyphstring_idx): Fix a C90 warning.

2004-10-26  Andreas Tobler  <a.tobler@schweiz.ch>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
	(Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun):
	Mark unused arguments unused.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c
	(Java_gnu_java_awt_peer_gtk_GdkGlyphVector_initState),
	(Java_gnu_java_awt_peer_gtk_GdkGlyphVector_setGlyphCodes),
	(Java_gnu_java_awt_peer_gtk_GdkGlyphVector_glyphCharIndex),
	(Java_gnu_java_awt_peer_gtk_GdkGlyphVector_glyphIsHorizontal):
	Likewise.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(Java_gnu_java_awt_peer_gtk_GdkFontMetrics_getPeerFontMetrics),
	(Java_gnu_java_awt_peer_gtk_GdkFontMetrics_getPeerTextMetrics):
	Likewise.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkFileDialogPeer_nativeSetFilenameFilter):
	Likewise.
	(filenameFilterCallback): Remove unused var.
	(handle_response): Declare str_fileName and remove last else statement.

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

	* configure.ac (CLASSPATH_MODULE): Add -no-undefined.
	(Werror): New configure flag.
	(gtk-peer): Remove comma from help string.
	(AM_CFLAGS): Replace by...
	(WARNING_CFLAGS, STRICT_WARNING_CFLAGS, ERROR_CFLAGS): New gcc flags.
	(AM_CPPFLAGS): Replace by...
	(CLASSPATH_INCLUDES): New -I gcc flags.
	* native/fdlibm/Makefile.am: Use new AM_LDFLAGS, AM_CPPFLAGS and
	AM_CFLAGS when not library specific flags are used.
	* native/jni/gtk-peer/Makefile.am: Likewise.
	* native/jni/java-io/Makefile.am: Likewise.
	* native/jni/java-lang/Makefile.am: Likewise.
	* native/jni/java-net/Makefile.am: Likewise.
	* native/jni/java-nio/Makefile.am: Likewise.
	* native/jni/java-util/Makefile.am: Likewise.

	* native/jni/java-io/java_io_ObjectInputStream.c: Mark function
	arguments unused where necessary.
	* native/jni/java-io/java_io_VMFile.c: Likewise.
	* native/jni/java-io/java_io_VMObjectStreamClass.c: Likewise.
	(getFieldReference): Make sure we allocate the_type ourselves if we
	free it later. Removed unused argument object.
	* native/jni/java-io/javaio.c (javaio_read): Removed unused argument
	obj.
	(javaio_write): Likewise.
	* native/jni/java-io/javaio.h: Mark function arguments unused where
	necessary.
	* native/jni/java-lang/java_lang_Double.c: Likewise.
	(Java_java_lang_Double_parseDouble): Declare buf as const char*.
	* native/jni/java-lang/java_lang_Math.c: Mark function arguments
	unused where necessary.
	* native/jni/java-lang/java_lang_VMDouble.c: Likewise.
	* native/jni/java-lang/java_lang_VMFloat.c: Likewise.
	* native/jni/java-lang/java_lang_VMSystem.c: Likewise.
	* native/jni/java-lang/java_lang_reflect_Array.c: Likewise.
	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
	(Java_gnu_java_net_PlainDatagramSocketImpl_receive0): Mark only
	maxlen and offset as unsigned.
	* native/jni/java-net/java_net_InetAddress.c: Mark function arguments
	unused where necessary.
	(Java_java_net_InetAddress_getHostByName): New local int variable
	max_addresses.
	* native/jni/java-net/java_net_NetworkInterface.c: Mark function
	arguments unused where necessary.
	* native/jni/java-net/javanet.c (_javanet_set_int_field): Removed
	unused argument class.
	(_javanet_accept): Check result variable after it has been assigned.
	* native/jni/java-nio/gnu_java_nio_NIOServerSocket.c: Mark function
	arguments unused where necessary.
	* native/jni/java-nio/gnu_java_nio_VMPipe.c: Likewise.
	* native/jni/java-nio/gnu_java_nio_VMSelector.c: Likewise.
	* native/jni/java-nio/gnu_java_nio_VMSelector.c: Likewise.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
	Likewise.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c: Likewise.
	* native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Likewise.
	* native/jni/java-nio/java_nio_channels_Channels.c: Likewise.
	* native/jni/java-util/java_util_VMTimeZone.c (jint_to_charbuf):
	Mark as static function.
	(Java_java_util_VMTimeZone_getSystemTimeZoneId): Mark clazz argument
	as unused. Cast _timezone to long before use.
	* native/target/generic/target_generic_network.h: Remove asserts.
	
2004-10-25  Noa Resare  <noa@resare.com>

	* java/awt/Choice.java (add):
	Implement correct selection behavior when peer == null.
	(insert): Likewise.
	(remove): Likewise.

2004-10-25  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/peer/gtk/GtkChoicePeer.java (GtkChoicePeer):
	Call select() when Choice has a selected item.

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

	* gnu/java/net/protocol/http/Connection.java
	(getOutputStream): Implicitely switch to POST method.

2004-10-25  Tom Tromey  <tromey@redhat.com>

	* gnu/java/text/WordBreakIterator.java (WordBreakIterator): Don't
	initialize `iter'.
	* gnu/java/text/SentenceBreakIterator.java
	(SentenceBreakIterator): Don't initialize `iter'.
	* gnu/java/text/LineBreakIterator.java (LineBreakIterator): Don't
	initialize `iter'.
	* gnu/java/text/CharacterBreakIterator.java
	(CharacterBreakIterator): Don't initialize `iter'.
	* gnu/java/text/BaseBreakIterator.java (BaseBreakIterator): New
	constructor.
	* java/text/BreakIterator.java: Updated documentation.

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

	* javax/swing/JMenuBar.java
	(updateUI): Simplified.
	* javax/swing/tree/DefaultTreeSelectionModel.java:
	Reorganized import statements.

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

	* java/net/InetAddress.java
	(toString): Rename 'address' to 'addr'.

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

	* java/awt/font/TextAttribute.java,
	javax/swing/JComponent.java,
	javax/swing/JInternalFrame.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/StyleConstants.java:
	Replaced "new Boolean(boolean)" with "Boolean.valueOf(boolean)".

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

	* javax/security/auth/spi/package.html: New file.

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

	* scripts/checkstyle.css,
	scripts/checkstyle2html.xsl:
	New files

2004-10-24  Casey Marshall  <csm@gnu.org>

	* gnu/java/security/action/GetSecurityPropertyAction.java: new file.
	* javax/security/auth/login/Configuration.java
	(getConfig): new method.
	* javax/security/auth/login/LoginContext.java: implemented.
	* javax/security/auth/spi/LoginModule.java: new file.

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

	* javax/swing/tree/DefaultTreeCellEditor.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java:
	Jalopied.

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

	* javax/swing/tree/DefaultTreeCellEditor.java
	(EditorContainer.EditorContainer): Fixed arguments.
	(EditorContainer.EditorContainer): New method.
	(DefaultTextField.DefaultTextField): Fixed arguments, implemented.
	(DefaultTextField.getBorder): Implemented.
	(listenerList): New field.
	(addCellEditorListener): Implemented.
	(removeCellEditorListener): Implemented.
	(getCellEditorListeners): New method.
	* javax/swing/tree/DefaultTreeModel.java
	(addTreeModelListener): Fixed javadoc.
	(removeTreeModelListener): Likewise.
	(getTreeModelListeners): New method.
	(fireTreeNodesChanged): Implemented.
	(fireTreeNodesInserted): Likewise.
	(fireTreeNodesRemoved): Likewise.
	(fireTreeStructureChanged): Likewise.
	(getListeners): Fixed javadoc.
	* javax/swing/tree/DefaultTreeSelectionModel.java
	(addTreeSelectionListener): Implemented.
	(removeTreeSelectionListener): Likewise.
	(fireValueChanged): Likewise.
	(getListeners): Likewise.
	(addPropertyChangeListener): Likewise.
	(removePropertyChangeListener): Likewise.
	(getTreeSelectionListeners): New method.
	(getPropertyChangeListeners): Likewise.

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

	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(maximumThumbSize): Removed static keyword.
	(minimumThumbSize): Likewise.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
	(CloseAction): Made public.
	(IconifyAction): Likewise.
	(MaximizeAction): Likewise.
	(MoveAction): Likewise.
	(RestoreAction): Likewise.
	(SizeAction): Likewise.
	(SystemMenuBar): Likewise.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(TrackListener): Likewise.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java
	(KeyboardDownRightHandler): Likewise.
	(KeyboardEndHandler): Likewise.
	(KeyboardHomeHandler): Likewise.
	(KeyboardResizeToggleHandler): Likewise.
	(KeyboardUpLeftHandler): Likewise.
	(PropertyHandler): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(PropertyChangeHandler): Likewise.
	(TabSelectionHandler): Likewise.

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

	* javax/print/DocFlavor.java,
	javax/print/attribute/standard/JobStateReason.java,
	javax/print/attribute/standard/MultipleDocumentHandling.java:
	Added missing constants.

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

	* javax/swing/text/JTextComponent.java
	(getKeymap): Made public.

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

	* java/lang/Character.java,
	scripts/unicode-blocks.pl:
	Reordered modifiers.

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

	* javax/swing/JEditorPane.java
	(getStream): Throws IOException.
	(read): Likewise.
	* javax/swing/JRootPane.java
	(createContentPane): Fixed return type.
	* javax/swing/JSpinner.java
	(commitEdit): Throws ParseException.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(serialVersionUID): New field.
	* javax/swing/table/TableColumn.java
	(resizedPostingDisableCount): Added @deprecated tag.
	(disableResizedPosting): Likewise.
	(enableResizedPosting): Likewise.
	* javax/swing/text/Document.java
	(TitleProperty): Fixed value.
	* javax/swing/tree/TreeCellEditor.java
	(TreeCellEditor): Extends CellEditor.

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

	* scripts/checkstyle-config.xml: Uncomment checks for modifiers.

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

	* java/lang/Class.java,
	java/lang/StringBuffer.java,
	java/lang/Throwable.java,
	java/security/spec/DSAParameterSpec.java,
	java/util/Currency.java,
	java/util/ResourceBundle.java,
	java/util/zip/DeflaterConstants.java,
	java/util/zip/DeflaterEngine.java,
	java/util/zip/DeflaterHuffman.java,
	java/util/zip/GZIPInputStream.java,
	java/util/zip/InflaterHuffmanTree.java,
	java/util/zip/OutputWindow.java,
	java/util/zip/ZipEntry.java,
	java/util/zip/ZipFile.java,
	java/util/zip/ZipInputStream.java,
	java/util/zip/ZipOutputStream.java:
	Removed redundant and reordered modifiers.

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

	* javax/swing/JWindow.java
	javax/swing/SpinnerModel.java
	javax/swing/Timer.java
	javax/swing/event/MenuKeyEvent.java
	javax/swing/plaf/basic/BasicButtonUI.java
	javax/swing/plaf/basic/BasicIconFactory.java
	javax/swing/plaf/basic/BasicTabbedPaneUI.java
	javax/swing/text/AttributeSet.java
	javax/swing/text/Highlighter.java
	javax/swing/text/StyleConstants.java
	javax/swing/tree/TreeCellEditor.java:
	Removed redundant and reordered modifiers.

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

	* java/lang/Math.java,
	java/lang/StackTraceElement.java,
	java/nio/Buffer.java,
	java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java,
	java/nio/charset/Charset.java,
	java/rmi/server/RMIClassLoader.java,
	java/rmi/server/RMISocketFactory.java,
	java/security/Policy.java,
	java/text/ChoiceFormat.java,
	java/text/CollationElementIterator.java,
	java/text/DateFormat.java,
	java/text/DecimalFormat.java,
	java/text/DecimalFormatSymbols.java,
	java/text/MessageFormat.java,
	java/text/NumberFormat.java,
	java/text/RuleBasedCollator.java,
	java/text/SimpleDateFormat.java,
	java/util/BitSet.java,
	java/util/Calendar.java,
	java/util/Collections.java,
	java/util/IdentityHashMap.java,
	java/util/Locale.java,
	java/util/TreeMap.java,
	java/util/logging/LogRecord.java,
	java/util/logging/XMLFormatter.java,
	java/util/prefs/AbstractPreferences.java,
	java/util/prefs/Preferences.java,
	javax/crypto/interfaces/DHPrivateKey.java,
	javax/crypto/interfaces/DHPublicKey.java,
	javax/crypto/interfaces/PBEKey.java,
	javax/net/ssl/HandshakeCompletedEvent.java,
	javax/security/auth/Subject.java:
	Removed redundant and reordered modifiers.

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

	* javax/swing/plaf/basic/BasicToolTipUI.java:
	Reformatted copyright header.

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

	* javax/swing/AbstractAction.java,
	javax/swing/AbstractButton.java,
	javax/swing/AbstractCellEditor.java,
	javax/swing/AbstractListModel.java,
	javax/swing/AbstractSpinnerModel.java,
	javax/swing/ActionMap.java,
	javax/swing/BorderFactory.java,
	javax/swing/Box.java,
	javax/swing/ButtonModel.java,
	javax/swing/CellEditor.java,
	javax/swing/CellRendererPane.java,
	javax/swing/DefaultBoundedRangeModel.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultCellEditor.java,
	javax/swing/DefaultDesktopManager.java,
	javax/swing/DefaultListCellRenderer.java,
	javax/swing/DefaultListSelectionModel.java,
	javax/swing/DefaultSingleSelectionModel.java,
	javax/swing/GrayFilter.java,
	javax/swing/InputMap.java,
	javax/swing/JApplet.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/JInternalFrame.java,
	javax/swing/JLabel.java,
	javax/swing/JLayeredPane.java,
	javax/swing/JList.java,
	javax/swing/JMenu.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/JRadioButtonMenuItem.java,
	javax/swing/JRootPane.java,
	javax/swing/JSpinner.java,
	javax/swing/JSplitPane.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JTable.java,
	javax/swing/JTextArea.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/ListModel.java,
	javax/swing/LookAndFeel.java,
	javax/swing/MenuSelectionManager.java,
	javax/swing/ProgressMonitorInputStream.java,
	javax/swing/RepaintManager.java,
	javax/swing/RootPaneContainer.java,
	javax/swing/ScrollPaneLayout.java,
	javax/swing/SpringLayout.java,
	javax/swing/SwingUtilities.java,
	javax/swing/Timer.java,
	javax/swing/ToolTipManager.java,
	javax/swing/UIDefaults.java,
	javax/swing/UIManager.java,
	javax/swing/border/MatteBorder.java,
	javax/swing/colorchooser/AbstractColorChooserPanel.java,
	javax/swing/colorchooser/ColorSelectionModel.java,
	javax/swing/colorchooser/DefaultColorSelectionModel.java,
	javax/swing/colorchooser/DefaultHSBChooserPanel.java,
	javax/swing/colorchooser/DefaultPreviewPanel.java,
	javax/swing/colorchooser/DefaultRGBChooserPanel.java,
	javax/swing/colorchooser/DefaultSwatchChooserPanel.java,
	javax/swing/event/AncestorEvent.java,
	javax/swing/event/HyperlinkEvent.java,
	javax/swing/event/InternalFrameEvent.java,
	javax/swing/event/MenuDragMouseEvent.java,
	javax/swing/event/TableColumnModelEvent.java,
	javax/swing/event/TableModelEvent.java,
	javax/swing/event/TreeExpansionEvent.java,
	javax/swing/event/TreeModelEvent.java,
	javax/swing/event/TreeSelectionEvent.java,
	javax/swing/event/TreeWillExpandListener.java,
	javax/swing/event/UndoableEditEvent.java,
	javax/swing/filechooser/FileView.java,
	javax/swing/plaf/BorderUIResource.java,
	javax/swing/plaf/ComponentUI.java,
	javax/swing/plaf/FileChooserUI.java,
	javax/swing/plaf/IconUIResource.java,
	javax/swing/plaf/ListUI.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/BasicArrowButton.java,
	javax/swing/plaf/basic/BasicBorders.java,
	javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java,
	javax/swing/plaf/basic/BasicColorChooserUI.java,
	javax/swing/plaf/basic/BasicComboBoxEditor.java,
	javax/swing/plaf/basic/BasicComboBoxRenderer.java,
	javax/swing/plaf/basic/BasicComboBoxUI.java,
	javax/swing/plaf/basic/BasicComboPopup.java,
	javax/swing/plaf/basic/BasicDesktopIconUI.java,
	javax/swing/plaf/basic/BasicDesktopPaneUI.java,
	javax/swing/plaf/basic/BasicIconFactory.java,
	javax/swing/plaf/basic/BasicInternalFrameTitlePane.java,
	javax/swing/plaf/basic/BasicInternalFrameUI.java,
	javax/swing/plaf/basic/BasicListUI.java,
	javax/swing/plaf/basic/BasicLookAndFeel.java,
	javax/swing/plaf/basic/BasicMenuBarUI.java,
	javax/swing/plaf/basic/BasicMenuItemUI.java,
	javax/swing/plaf/basic/BasicMenuUI.java,
	javax/swing/plaf/basic/BasicOptionPaneUI.java,
	javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java,
	javax/swing/plaf/basic/BasicPopupMenuUI.java,
	javax/swing/plaf/basic/BasicProgressBarUI.java,
	javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java,
	javax/swing/plaf/basic/BasicRootPaneUI.java,
	javax/swing/plaf/basic/BasicScrollBarUI.java,
	javax/swing/plaf/basic/BasicSeparatorUI.java,
	javax/swing/plaf/basic/BasicSliderUI.java,
	javax/swing/plaf/basic/BasicSpinnerUI.java,
	javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	javax/swing/plaf/basic/BasicSplitPaneUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicTableHeaderUI.java,
	javax/swing/plaf/basic/BasicTableUI.java,
	javax/swing/plaf/basic/BasicTextAreaUI.java,
	javax/swing/plaf/basic/BasicTextFieldUI.java,
	javax/swing/plaf/basic/BasicTextUI.java,
	javax/swing/plaf/basic/BasicToolBarSeparatorUI.java,
	javax/swing/plaf/basic/BasicToolBarUI.java,
	javax/swing/plaf/basic/BasicToolTipUI.java,
	javax/swing/plaf/basic/BasicTreeUI.java,
	javax/swing/plaf/basic/BasicViewportUI.java,
	javax/swing/plaf/basic/ComboPopup.java,
	javax/swing/table/AbstractTableModel.java,
	javax/swing/table/DefaultTableCellRenderer.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/DefaultTableModel.java,
	javax/swing/table/JTableHeader.java,
	javax/swing/table/TableCellEditor.java,
	javax/swing/table/TableCellRenderer.java,
	javax/swing/table/TableColumn.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/Caret.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/DefaultEditorKit.java,
	javax/swing/text/DefaultHighlighter.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/LayeredHighlighter.java,
	javax/swing/text/PasswordView.java,
	javax/swing/text/SimpleAttributeSet.java,
	javax/swing/text/StyleConstants.java,
	javax/swing/text/StyleContext.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/text/TextAction.java,
	javax/swing/text/View.java,
	javax/swing/tree/AbstractLayoutCache.java,
	javax/swing/tree/DefaultTreeCellRenderer.java,
	javax/swing/tree/DefaultTreeModel.java,
	javax/swing/tree/DefaultTreeSelectionModel.java,
	javax/swing/tree/FixedHeightLayoutCache.java,
	javax/swing/tree/TreeCellRenderer.java,
	javax/swing/tree/TreeSelectionModel.java,
	javax/swing/tree/VariableHeightLayoutCache.java,
	javax/swing/undo/AbstractUndoableEdit.java,
	javax/swing/undo/UndoableEditSupport.java:
	Imports cleaned up.

2004-10-22  Andreas Tobler  <a.tobler@schweiz.ch>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c:
	New File.
	(nativeGetNumFontsFamilies) New function.
	(nativeGetFontFamilies) Likewise.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
	(getAvailableFontFamilyNames): Implement.

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

	* include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h:
	New file.
	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h,
	include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerated,
	* include/Makefile.am:
	Added gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h.
	* native/jni/gtk-peer/Makefile.am:
	Added gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c.

2004-10-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/ClasspathFontPeer.java
	(setStandardAttributes(String,Map)): If size attribute doesn't
	exist, default to size 12.  Clamp size value to a minimum of 1.

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

	* javax/swing/AbstractButton.java
	(getLabel): Added @deprecated tag.
	(setLabel): Likewise.
	* javax/swing/FocusManager.java
	(disableSwingFocusManager): Likewise.
	(isFocusManagerEnabled): Likewise.
	* javax/swing/JComponent.java
	(isManagingFocus): Added version to @deprecated tag.
	(getNextFocusableComponent): Moved @deprecated tag to bottom of
	javadoc.
	(getConditionForKeyStroke): Likewise.
	(getActionForKeyStroke): Likewise.
	* javax/swing/JDesktopPane.java
	(LIVE_DRAG_MODE): Added @specnote tag.
	(OUTLINE_DRAG_MODE): Likewise.
	* javax/swing/JInternalFrame.java
	(MENU_BAR_PROPERTY): Fixed value.
	(getMenuBar): Added @deprecated tag.
	(setMenuBar): Likewise.
	* javax/swing/JViewport.java
	(isBackingStoreEnabled): Likewise.
	(setBackingStoreEnabled): Likewise.
	* javax/swing/plaf/basic/BasicDesktopPaneUI.java
	(closeKey): Likewise.
	(maximizeKey): Likewise.
	(minimizeKey): Likewise.
	(navigateKey): Likewise.
	(navigateKey2): Likewise.
	* javax/swing/plaf/basic/BasicInternalFrameUI.java
	(openMenuKey): Likewise.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java
	(keyboardDownRightListener): Likewise.
	(keyboardEndListener): Likewise.
	(keyboardHomeListener): Likewise.
	(keyboardResizeToggleListener): Likewise.
	(keyboardUpLeftListener): Likewise.
	(dividerResizeToggleKey): Likewise.
	(downKey): Likewise.
	(endKey): Likewise.
	(homeKey): Likewise.
	(leftKey): Likewise.
	(rightKey): Likewise.
	(upKey): Likewise.
	(createKeyboardUpLeftListener): Likewise.
	(createKeyboardDownRightListener): Likewise.
	(createKeyboardHomeListener): Likewise.
	(createKeyboardEndListener): Likewise.
	(createKeyboardResizeToggleListener): Likewise.
	(getDividerBorderSize): Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(downKey): Likewise.
	(leftKey): Likewise.
	(rightKey): Likewise.
	(upKey): Likewise.

2004-10-22  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/Date.java
	Added missing documentation.
	

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

	* java/awt/Container.java,
	java/awt/Font.java,
	java/awt/font/TextLayout.java,
	java/lang/ClassLoader.java,
	java/lang/Process.java,
	java/lang/System.java,
	java/util/zip/CheckedInputStream.java,
	java/util/zip/InflaterInputStream.java,
	java/util/zip/ZipFile.java,
	java/util/zip/ZipInputStream.java:
	Import cleanups.

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

	* java/net/NetworkInterface.java,
	java/text/Format.java,
	javax/security/auth/x500/X500Principal.java,
	javax/security/auth/x500/X500PrivateCredential.java,
	javax/security/cert/X509CertBridge.java,
	javax/security/sasl/Sasl.java,
	javax/sql/XAConnection.java:
	Import cleanup.

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

	* javax/net/ssl/HandshakeCompletedEvent.java,
	javax/net/ssl/KeyManagerFactory.java,
	javax/net/ssl/SSLContext.java,
	javax/net/ssl/SSLServerSocketFactory.java,
	javax/net/ssl/SSLSession.java,
	javax/net/ssl/SSLSocketFactory.java,
	javax/net/ssl/TrustManagerFactory.java:
	Import cleanup.

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

	* javax/naming/directory/BasicAttribute.java,
	javax/naming/directory/BasicAttributes.java,
	javax/naming/directory/InitialDirContext.java,
	javax/naming/event/NamingEvent.java,
	javax/naming/ldap/ControlFactory.java,
	javax/naming/ldap/ExtendedRequest.java,
	javax/naming/ldap/InitialLdapContext.java,
	javax/naming/ldap/LdapReferralException.java,
	javax/naming/spi/DirObjectFactory.java,
	javax/naming/spi/DirStateFactory.java,
	javax/naming/spi/DirectoryManager.java,
	javax/naming/spi/InitialContextFactory.java,
	javax/naming/spi/InitialContextFactoryBuilder.java,
	javax/naming/spi/NamingManager.java,
	javax/naming/spi/ObjectFactory.java,
	javax/naming/spi/ObjectFactoryBuilder.java,
	javax/naming/spi/StateFactory.java:
	Import cleanup.

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

	* javax/imageio/event/IIOReadProgressListener.java,
	javax/imageio/event/IIOReadUpdateListener.java,
	javax/imageio/event/IIOReadWarningListener.java,
	javax/imageio/event/IIOWriteProgressListener.java,
	javax/imageio/event/IIOWriteWarningListener.java,
	javax/imageio/metadata/IIOMetadataFormat.java,
	javax/imageio/stream/FileCacheImageInputStream.java,
	javax/imageio/stream/FileCacheImageOutputStream.java,
	javax/imageio/stream/ImageInputStreamImpl.java:
	Import cleanup.
	* javax/imageio/metadata/package.html: New file.

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

	* javax/crypto/Cipher.java,
	javax/crypto/EncryptedPrivateKeyInfo.java,
	javax/crypto/ExemptionMechanism.java,
	javax/crypto/KeyAgreement.java,
	javax/crypto/KeyGenerator.java,
	javax/crypto/Mac.java,
	javax/crypto/SecretKeyFactory.java,
	javax/crypto/SecretKeyFactorySpi.java,
	javax/crypto/spec/SecretKeySpec.java:
	Import cleanup.

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

	* java/security/AlgorithmParameterGenerator.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/DigestInputStream.java,
	java/security/DigestOutputStream.java,
	java/security/GuardedObject.java,
	java/security/KeyFactory.java,
	java/security/KeyFactorySpi.java,
	java/security/KeyPairGenerator.java,
	java/security/KeyStore.java,
	java/security/KeyStoreSpi.java,
	java/security/Permissions.java,
	java/security/Security.java,
	java/security/Signature.java,
	java/security/UnresolvedPermission.java,
	java/security/cert/CertPathBuilder.java,
	java/security/cert/CertPathValidator.java,
	java/security/cert/CertStore.java,
	java/security/cert/Certificate.java,
	java/security/cert/CertificateFactory.java,
	java/security/cert/PolicyQualifierInfo.java,
	java/security/cert/TrustAnchor.java,
	java/security/cert/X509CRL.java,
	java/security/cert/X509CRLSelector.java,
	java/security/cert/X509CertSelector.java:
	Import cleanup.

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

	* java/rmi/MarshalledObject.java,
	java/rmi/Naming.java,
	java/rmi/activation/Activatable.java,
	java/rmi/activation/ActivationGroup.java,
	java/rmi/activation/ActivationGroupDesc.java,
	java/rmi/activation/ActivationInstantiator.java,
	java/rmi/activation/ActivationMonitor.java,
	java/rmi/activation/ActivationSystem.java,
	java/rmi/activation/Activator.java,
	java/rmi/registry/LocateRegistry.java,
	java/rmi/registry/Registry.java,
	java/rmi/server/LogStream.java,
	java/rmi/server/ObjID.java,
	java/rmi/server/RMIClientSocketFactory.java,
	java/rmi/server/RMIServerSocketFactory.java,
	java/rmi/server/RMISocketFactory.java,
	java/rmi/server/RemoteCall.java,
	java/rmi/server/RemoteServer.java,
	java/rmi/server/ServerRef.java,
	java/rmi/server/UID.java,
	java/rmi/server/UnicastRemoteObject.java:
	Import cleanup.

2004-10-21  Steven Augart  <augart@watson.ibm.com>

	* autogen.sh: Invoke $ACLOCAL with the flag "-I .".

2004-10-20  Andrew John Hughes <gnu_andrew@member.fsf.org>

	* java/util/Currency.java
	Documented variables and methods more fully.
	Caches the currency instances, so that a request
	for a locale, l, only ever returns the same
	instance (i.e. successive calls to getInstance(l)
	are reference equivalent (==)).
	
2004-10-20  Andrew John Hughes <gnu_andrew@member.fsf.org>

	* java/util/Collections.java
	Added documentation.
	* java/util/SortedMap.java
	Clarified some method examples.
	* java/util/SortedSet.java
	Clarified some method examples.
	
2004-10-20  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/ColorSupported.java,
	javax/print/attribute/standard/Compression.java,
	javax/print/attribute/standard/Copies.java,
	javax/print/attribute/standard/CopiesSupported.java,
	javax/print/attribute/standard/DateTimeAtCompleted.java,
	javax/print/attribute/standard/DateTimeAtCreation.java,
	javax/print/attribute/standard/DateTimeAtProcessing.java,
	javax/print/attribute/standard/DocumentName.java,
	javax/print/attribute/standard/Fidelity.java,
	javax/print/attribute/standard/Finishings.java,
	javax/print/attribute/standard/JobHoldUntil.java,
	javax/print/attribute/standard/JobImpressions.java,
	javax/print/attribute/standard/JobImpressionsCompleted.java,
	javax/print/attribute/standard/JobImpressionsSupported.java,
	javax/print/attribute/standard/JobKOctets.java,
	javax/print/attribute/standard/JobKOctetsProcessed.java,
	javax/print/attribute/standard/JobKOctetsSupported.java,
	javax/print/attribute/standard/JobMediaSheets.java,
	javax/print/attribute/standard/JobMediaSheetsCompleted.java,
	javax/print/attribute/standard/JobMediaSheetsSupported.java,
	javax/print/attribute/standard/JobMessageFromOperator.java,
	javax/print/attribute/standard/JobName.java,
	javax/print/attribute/standard/JobOriginatingUserName.java,
	javax/print/attribute/standard/JobPriority.java,
	javax/print/attribute/standard/JobPrioritySupported.java,
	javax/print/attribute/standard/JobSheets.java,
	javax/print/attribute/standard/JobState.java,
	javax/print/attribute/standard/JobStateReason.java,
	javax/print/attribute/standard/JobStateReasons.java,
	javax/print/attribute/standard/Media.java,
	javax/print/attribute/standard/MultipleDocumentHandling.java,
	javax/print/attribute/standard/NumberOfDocuments.java,
	javax/print/attribute/standard/NumberOfInterveningJobs.java,
	javax/print/attribute/standard/NumberUp.java,
	javax/print/attribute/standard/NumberUpSupported.java,
	javax/print/attribute/standard/OrientationRequested.java,
	javax/print/attribute/standard/OutputDeviceAssigned.java,
	javax/print/attribute/standard/PDLOverrideSupported.java,
	javax/print/attribute/standard/PageRanges.java,
	javax/print/attribute/standard/PagesPerMinute.java,
	javax/print/attribute/standard/PagesPerMinuteColor.java,
	javax/print/attribute/standard/PrintQuality.java,
	javax/print/attribute/standard/PrinterInfo.java,
	javax/print/attribute/standard/PrinterIsAcceptingJobs.java,
	javax/print/attribute/standard/PrinterLocation.java,
	javax/print/attribute/standard/PrinterMakeAndModel.java,
	javax/print/attribute/standard/PrinterMessageFromOperator.java,
	javax/print/attribute/standard/PrinterMoreInfo.java,
	javax/print/attribute/standard/PrinterMoreInfoManufacturer.java,
	javax/print/attribute/standard/PrinterName.java,
	javax/print/attribute/standard/PrinterStateReason.java,
	javax/print/attribute/standard/PrinterStateReasons.java,
	javax/print/attribute/standard/PrinterURI.java,
	javax/print/attribute/standard/ReferenceUriSchemesSupported.java,
	javax/print/attribute/standard/RequestingUserName.java:
	Reorganized imports and removed redundant final modifiers.

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

	* javax/imageio/spi/ImageReaderSpi.java
	(isOwnReader): New method.
	* javax/imageio/spi/ImageWriterSpi.java
	(isOwnWriter): Likewise.

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

	* javax/security/sasl/SaslClient.java,
	javax/security/sasl/SaslClientFactory.java,
	javax/security/sasl/SaslException.java,
	javax/security/sasl/SaslServer.java,
	javax/security/sasl/SaslServerFactory.java:
	Remvoed CVS tags.

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

	* javax/security/auth/login/NullConfiguration.java,
	javax/security/auth/x500/X500Principal.java,
	javax/security/cert/X509Certificate.java,
	javax/security/sasl/AuthenticationException.java,
	javax/security/sasl/AuthorizeCallback.java,
	javax/security/sasl/RealmCallback.java,
	javax/security/sasl/RealmChoiceCallback.java,
	javax/security/sasl/Sasl.java,
	javax/security/sasl/SaslClient.java,
	javax/security/sasl/SaslClientFactory.java,
	javax/security/sasl/SaslException.java,
	javax/security/sasl/SaslServer.java,
	javax/security/sasl/SaslServerFactory.java:
	Cleaned up import statements and copyright notices.

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

	* javax/imageio/ImageWriter.java
	(convertImageMetadata): New abstract method.
	(convertStreamMetadata): Likewise.
	(write): Likewise.
	* javax/imageio/stream/FileCacheImageInputStream.java
	(close): Fixed setting of stream to null.
	(checkStreamClosed): Throws IOException.

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

	* gnu/java/rmi/rmic/RMIC.java: Reformatted.

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

	* javax/imageio/stream/FileCacheImageInputStream.java,
	javax/imageio/stream/FileCacheImageOutputStream.java,
	javax/imageio/stream/FileImageInputStream.java,
	javax/imageio/stream/FileImageOutputStream.java,
	javax/imageio/stream/MemoryCacheImageInputStream.java,
	javax/imageio/stream/MemoryCacheImageOutputStream.java:
	New files.

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

	* java/io/File.java:
	Fixed @author tag to be HTML compatible.
	* java/sql/Timestamp.java,
	java/text/AttributedCharacterIterator.java,
	java/text/AttributedString.java,
	java/util/zip/CheckedOutputStream.java,
	java/util/zip/DeflaterOutputStream.java,
	java/util/zip/GZIPInputStream.java,
	java/util/zip/ZipFile.java,
	javax/crypto/Cipher.java,
	javax/crypto/ExemptionMechanismException.java,
	javax/crypto/SecretKey.java,
	javax/crypto/SecretKeyFactory.java,
	javax/naming/directory/ModificationItem.java,
	javax/naming/directory/SearchControls.java,
	javax/naming/event/NamingListener.java,
	javax/naming/ldap/Control.java,
	javax/naming/ldap/ExtendedResponse.java,
	javax/net/ssl/SSLSocketFactory.java:
	Reorganized imports and fixed copyright headers.

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

	* java/util/logging/ConsoleHandler.java,
	java/util/logging/ErrorManager.java,
	java/util/logging/FileHandler.java,
	java/util/logging/Filter.java,
	java/util/logging/Formatter.java,
	java/util/logging/Handler.java,
	java/util/logging/Level.java,
	java/util/logging/LogManager.java,
	java/util/logging/LogRecord.java,
	java/util/logging/Logger.java,
	java/util/logging/LoggingPermission.java,
	java/util/logging/MemoryHandler.java,
	java/util/logging/SimpleFormatter.java,
	java/util/logging/SocketHandler.java,
	java/util/logging/StreamHandler.java,
	java/util/logging/XMLFormatter.java:
	Standardized copyrigth header.

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

	* java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java,
	java/security/DigestInputStream.java,
	java/security/Identity.java,
	java/security/KeyFactory.java,
	java/security/KeyPairGenerator.java,
	java/security/KeyStore.java,
	java/security/MessageDigest.java,
	java/security/MessageDigestSpi.java,
	java/security/Policy.java,
	java/security/SecureRandom.java,
	java/security/Security.java,
	java/security/Signature.java,
	java/security/SignatureSpi.java,
	java/security/cert/CertPathBuilder.java,
	java/security/cert/CertPathValidator.java,
	java/security/cert/CertStore.java,
	java/security/cert/Certificate.java,
	java/security/cert/CertificateFactory.java,
	java/security/cert/PolicyQualifierInfo.java,
	java/security/cert/TrustAnchor.java,
	java/security/cert/X509CRL.java,
	java/security/cert/X509CRLEntry.java,
	java/security/cert/X509Certificate.java,
	java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java:
	Import statements reorganized, some little formatting issues,
	used java-style array declarations, added comments in empty catch
	blocks.

2004-10-19  Jeroen Frijters  <jeroen@frijters.net>

	* vm/reference/java/lang/VMClassLoader.java: Added imports
	that I forgot in the previous commit.

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

	* java/text/RuleBasedCollator.java:
	Reorganized import statements.

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

	* gnu/java/security/provider/DSAParameters.java:
	Fixed copyright years.

2004-10-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/ClassLoader.java
	(getExtClassLoaderUrls): New method.
	(getSystemClassLoaderUrls): New method.
	(defaultGetSystemClassLoader): New method.
	(getSystemProperty): New method.
	* vm/reference/java/lang/VMClassLoader.java
	(getResource): Changed to provide default implementation.
	(getResources): Likewise.
	(getSystemClassLoader): Removed broken default implementation
	and changed to call ClassLoader.defaultGetSystemClassLoader.

2004-10-17  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/Calendar.java
	(setTimeInMillis): Added call to clear, removed computeFields call.
	* java/util/Date.java
	(Date(int,int,int,int,int,int)): Removed workaround for
	GregorianCalendar bug.
	* java/util/GregorianCalendar.java
	(GregorianCalendar): Chained all constructors to a (new)
	common constructor.
	(computeTime): Fixed support for lenient month treatment.
	(getLinearDay): Return long instead of int.
	(calculateDay): Added fields argument and changed day argument
	to long.

2004-10-16  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(setNativeBounds): Set GtkEventBox, GtkButton and GtkLabel size
	requests.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(setNativeBounds): Make package private.  Set size request even
	if GTK parent is NULL.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(setNativeBounds): Set GtkEventBox and GtkLabel size requests.

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

	* vm/reference/java/lang/reflect/Method.java
	(toString): Fix names of arguments.
	(getUserTypeName): New Method.

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

	* autogen.sh: Fixed check for AUTOGEN_SUBDIR_MODE.

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

	* java/rmi/activation/ActivationSystem.java
	(SYSTEM_PORT): Initialize with correct port number.

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

	* java/rmi/server/RemoteRef.java
	(serialVersionUID): Revert latest change to it.
	* java/rmi/server/ServerRef.java
	(serialVersionUID): Revert latest change to it.

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

	* java/net/InetAddress.java
	(InetAddress): Don't initialize address field. Its only used during
	serialization.
	(toString): Simplified.

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

	* java/rmi/MarshalledObject.java,
	java/rmi/Naming.java,
	java/rmi/RMISecurityManager.java,
	java/rmi/Remote.java,
	java/rmi/activation/Activatable.java,
	java/rmi/activation/ActivationDesc.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/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/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/RMIClassLoaderSpi.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/ServerRef.java,
	java/rmi/server/Skeleton.java,
	java/rmi/server/SkeletonMismatchException.java,
	java/rmi/server/UID.java,
	java/rmi/server/UnicastRemoteObject.java,
	java/rmi/server/Unreferenced.java:
	Fixed file headers and import statements.

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

	* java/net/HttpURLConnection.java: Removed redundant parenthesis.
	* java/net/MimeTypeMapper.java: Reformatted.
	* java/net/NetworkInterface.java: Added comment to empty catch block.
	* java/net/PasswordAuthentication.java: Reformatted.
	* java/net/ServerSocket.java: Added comment to empty catch block.
	* java/net/Socket.java: Reworked import statements.
	* java/net/SocketPermission.java: Removed redundant parenthesis.
	* java/net/URI.java: Removed redundant parenthesis.
	* java/net/URL.java: Reworked import statements.
	* java/net/URLStreamHandler.java: Removed redundant semicolon.

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

	* java/net/Inet4Address.java
	(writeReplace): Use two-argument constructor of InetAddress.
	(Inet4Address): Remove unused constructors. Use two-argument
	constructor of InetAddress in remaining constructor.
	* java/net/Inet6Address.java
	(Inet6Address): Use two-argument constructor of InetAddress.
	* java/net/InetAddress.java
	(LOCALHOST): New static field to store object for localhost.
	(static): Initialize LOCALHOST.
	(hostname_alias): Removed.
	(InetAdress): Removed hostname_alias argument.
	(getHostName): Don't handle alias anymore.
	(getCanonicalHostName): New method.
	(toString): Don't handle alias anymore.
	(getByName): Simply call getAllByName() and return its first result
	entry.
	(getAllByName): Handle null argument properly.

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

	* gnu/java/nio/charset/UTF_16Encoder.java
	(UTF_16Encoder): Fixed maxBytesPerChar handling.

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

	* java/lang/Object.java (equals): Rename 'o' to 'obj'.
	* java/lang/Runtime.java, java/lang/Thread.java,
	java/lang/ThreadLocal.java, java/lang/Void.java:
	Improved javadocs to be valid XHTML.

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

	* java/lang/reflect/Proxy.java: Improved javadocs.

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

	* java/lang/reflect/AccessibleObject.java
	(checkPermission): Removed redundant final modifier.
	(secureSetAccessible): Likewise.
	* java/lang/reflect/Proxy.java:
	Reworked import statements.
	(generate): Removed redundant final modifier.
	* java/lang/reflect/ReflectPermission.java:
	Reorder package declaration and import statement.

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

	* java/nio/ByteOrder.java,
	java/nio/MappedByteBuffer.java,
	java/nio/MappedByteBufferImpl.java,
	java/nio/channels/Channels.java,
	java/nio/channels/spi/SelectorProvider.java,
	java/nio/charset/Charset.java:
	Cleanup.

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

	* configure.ac: Removed CNI "support".
	* native/Makefile.am (SUBDIRS): Don't compile cni subdir
	* native/cni/.cvsignore, native/cni/Makefile.am: Removed.

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

	* autogen.sh: Replaced with a GNOME-like script that aborts when the
	versions of autoconf, automake or libtool are not sufficient.


2004-10-14  Tom Tromey  <tromey@redhat.com>

	* java/lang/StringBuilder.java (append): Typo fix; indentation
	fix.
	* java/beans/BeanDescriptor.java (BeanDescriptor): Typo fix.

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

	* java/awt/image/ByteLookupTable.java
	(ByteLookupTable) :Fixed HTML entities in javadocs.
	(lookupPixel): Fix case when dst is null.
	* java/awt/image/ShortLookupTable.java
	(ShortLookupTable) :Fixed HTML entities in javadocs.
	(lookupPixel): Fix case when dst is null.

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

	* gnu/java/awt/BitwiseXORComposite.java,
	gnu/java/awt/ClasspathToolkit.java,
	gnu/java/awt/image/XBMDecoder.java,
	gnu/java/awt/peer/GLightweightPeer.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/io/EncodingManager.java,
	gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/protocol/http/Connection.java,
	gnu/java/nio/NIODatagramSocket.java,
	gnu/java/nio/ServerSocketChannelImpl.java,
	gnu/java/nio/charset/UTF_16.java,
	gnu/java/nio/charset/UTF_16BE.java,
	gnu/java/nio/charset/UTF_16LE.java,
	gnu/java/rmi/RMIMarshalledObjectOutputStream.java,
	gnu/java/rmi/rmic/RMIC.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/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastServer.java,
	gnu/java/rmi/server/UnicastServerRef.java,
	gnu/java/security/OID.java,
	gnu/java/security/provider/DSAParameters.java,
	gnu/java/security/provider/DSASignature.java,
	gnu/java/security/x509/X500DistinguishedName.java,
	gnu/java/security/x509/X509CRL.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/PortableServer.java:
	Reorganized import statements.

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

	* gnu/java/beans/ExplicitBeanInfo.java:
	Explicitely import java.awt.Image.
	(getIcon): Fixed off-by-one error.

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

	* java/awt/image/DataBufferByte.java,
	java/awt/image/DataBufferDouble.java,
	java/awt/image/DataBufferFloat.java,
	java/awt/image/DataBufferInt.java,
	java/awt/image/DataBufferShort.java,
	java/awt/image/DataBufferUShort.java:
	Fix initialization of bankData in constructors.

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

	* java/net/BindException.java, java/net/ConnectException.java,
	java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
	java/net/DatagramPacket.java, java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java, java/net/DatagramSocketImplFactory.java,
	java/net/FileNameMap.java, java/net/JarURLConnection.java,
	java/net/MalformedURLException.java, java/net/MulticastSocket.java,
	java/net/NoRouteToHostException.java, java/net/PortUnreachableException.java,
	java/net/ProtocolException.java, java/net/SocketException.java,
	java/net/SocketImpl.java, java/net/SocketImplFactory.java,
	java/net/SocketOptions.java, java/net/SocketTimeoutException.java,
	java/net/URISyntaxException.java, java/net/URL.java,
	java/net/URLDecoder.java, java/net/URLEncoder.java,
	java/net/URLStreamHandlerFactory.java, java/net/UnknownHostException.java,
	java/net/UnknownServiceException.java:
	Fixed @author tags to be valid HTML.

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

	* java/lang/Character.java, java/lang/Class.java,
	java/lang/Math.java, java/lang/Object.java,
	java/lang/Package.java, java/lang/Runtime.java,
	java/lang/StrictMath.java, java/lang/System.java:
	Reorganized import statements. Reworked modifiers.
	Fix @author tags to be valid HTML.

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

	* java/math/BigDecimal.java, java/math/BigInteger.java:
	Reorganized import statements, removed redundant and reorganized
	modifiers.

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

	* java/util/zip/GZIPInputStream.java
	(GZIP_MAGIC): Fixed value.
	(readHeader): Fixed GZIP_MAGIC handling.
	* java/util/zip/GZIPOutputStream.java
	(GZIPOutputStream): Likewise.

2004-10-12  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/SecurityManager.java
	(checkPackageAccess, checkPackageDefinition): Pass complete
	restriction.
	(checkPackageList): Simplified and corrected the code.

2004-10-12  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/Date.java
	(Date(int,int,int), Date(int,int,int,int,int)): Delegate to other
	constructor.
	(Date(int,int,int,int,int,int)): Fixed to handle out-of-range
	arguments.
	(getTimezoneOffset): Inverted sign.

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/ClassLoader.java
	(defineClass(String,byte[],int,int,ProtectionDomain)):
	Reverted previous commit.

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/ClassLoader.java
	(defineClass(String,byte[],int,int,ProtectionDomain)):
	Added call to SecurityManager.checkPackageDefinition().

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/PrintStream.java
	(ForwardStream): New inner class.
	(PrintStream(OutputStream,boolean),
	PrintStream(OutputStream,boolean,String)):
	Changed to use ForwardStream.
	(write(int), write(byte[],int,int)):
	Don't consume thread interrupts.

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/logging/LogManager.java
	(findAncestor): Fixed IndexOutOfBoundsException.

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/SecurityManager.java
	(checkPackageList): Use AccessController.doPrivileged to get
	security property.
	* java/security/Security.java
	(static): Use AccessController.doPrivileged to get system property.

2004-10-11  Jeroen Frijters  <jeroen@frijters.net>

	* java/awt/EventDispatchThread.java
	(dispatchThreadNum): Removed initializer.
	(EventDispatchThread): Pre-increment dispatchThreadNum.
	* java/awt/Button.java
	(next_button_number): Removed useless initializer.
	* java/awt/Frame.java
	(next_frame_number): Likewise.
	* java/awt/Scrollbar.java
	(next_scrollbar_number): Likewise.
	* java/awt/TextArea.java
	(next_text_number): Likewise.
	* java/io/ObjectInputStream.java
	(dump): Likewise.
	* java/lang/reflect/Proxy.java
	(count): Likewise.
	* java/security/IdentityScope.java
	(systemScope): Likewise.
	* java/security/Policy.java
	(currentPolicy): Likewise.
	* java/util/Timer.java
	(nr): Likewise.
	* java/util/logging/LogRecord.java
	(lastSeqNum): Likewise.
	* javax/naming/spi/NamingManager.java
	(icfb, ofb): Likewise.
	* javax/swing/JDialog.java
	(decorated): Likewise.
	* javax/swing/JFrame.java
	(defaultLookAndFeelDecorated): Likewise.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(offset, regular): Made final.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(DECREASE_HIGHLIGHT, INCREASE_HIGHLIGHT, NO_HIGHLIGHT,
	POSITIVE_SCROLL, NEGATIVE_SCROLL): Made final.	
	* java/util/zip/ZipEntry.java
	(KNOWN_SIZE, KNOWN_CSIZE, KNOWN_CRC, KNOWN_TIME): Made final.
	* java/net/HttpURLConnection.java
	(valid_methods): Made final.	

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

	* java/io/DataInputStream.java
	(readUTF): Reorder modifiers.
	* java/io/DataOutputStream.java
	(writeUTF): Likewise.
	* java/io/ObjectInputStream.java
	(GetField): Likewise.
	* java/io/ObjectOutputStream.java
	(PutField): Likewise.
	(BUFFER_SIZE): Likewise.
	* java/io/InputStreamReader.java:
	Merged file header.

2004-10-10  Sven de Marothy  <sven@physto.se>

        * native/jni/java-lang/java_lang_Double.c
        (parseDouble): Add handling of NaN/Infinity (bug #10491)
        * java/nio/ByteBufferHelper.java
        (putDouble): Use Double.toRawLongBits instead (bug #9106)

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

	* jni/gtk-peer/gdkfont.h: Mark native_text_layout_state_table extern.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Use
	native_text_layout_state_table here.

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

	* javax/imageio/metadata/IIOInvalidTreeException.java,
	javax/imageio/metadata/IIOMetadataFormatImpl.java,
	javax/imageio/metadata/IIOMetadataNode.java:
	New stub files.

2004-10-09  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Don't create a link to the VM specific files.
	* include/Makefile.am: Remove vm/current with topsrc_dir vm/reference.
	* lib/Makefile.am: Likewise.
	* lib/gen-classlist.sh.in: Likewise.
	* lib/mkdep.pl.in: Likewise.

2004-10-09  Mark Wielaard  <mark@klomp.org>

	* include/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.h: Removed.
	* include/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.h:
	Removed.

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

	* javax/imageio/stream/ImageInputStreamImpl.java,
	javax/imageio/stream/ImageOutputStreamImpl.java:
	New files.

2004-10-09  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gdkfont.h: Include gtkpeer.h not gtkcairopeer.h.

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

	* gnu/java/rmi/server/UnicastConnectionManager.java:
	Fix file header.

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

	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS as
	we don't support cross compiling anyway.

2004-10-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* javax/swing/JList.java (init): Revert accidental commit.

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

	* java/beans/EventHandler.java (create): Now generic methods.
	* java/beans/Beans.java (getInstanceOf): Updated argument type.
	(isInstanceOf): Likewise.
	* java/beans/BeanDescriptor.java (beanClass, customizerClass):
	Updated type.
	(BeanDescriptor): Updated argument types.
	(getBeanClass, getCustomizerClass): Updated return types.

	* java/lang/reflect/Proxy.java (getProxyClass): Updated argument
	and return types.
	(isProxyClass): Likewise.
	(newProxyInstance): Likewise.

	* java/applet/AppletContext.java (getApplets): Updated return
	type.
	(getStreamKeys): Likewise.

	* java/lang/String.java: Implement Comparable<String>.

	* java/util/Properties.java: Extend Hashtable<Object, Object>.
	(save): Mark as @Deprecated.
	* java/lang/System.java (clearProperty): New method.
	(setProperty): Check for empty key.
	(getProperty): Likewise.

	* java/lang/SecurityManager.java (currentLoadedClass): Updated
	return type.

	* java/lang/Float.java: Updated status.
	* java/lang/Void.java: Updated status.
	* java/lang/Double.java: Updated status.
	* java/lang/Long.java: Updated status.
	* java/lang/Character.java: Updated status.
	* java/lang/Integer.java: Updated status.
	* java/lang/Short.java: Updated status.
	* java/lang/Byte.java: Updated status.
	* java/lang/Boolean.java: Updated status.

	* java/lang/ClassLoader.java (defineClass): New method.
	(findClass): Updated return type.
	(findLoadedClass): Likewise.
	(findSystemClass): Likewise.
	(findResources): Likewise.
	(getSystemResources): Likewise.
	(loadClass): Likewise.
	(resolveClass): Updated argument type.
	(setSigners): Likewise.
	(loadedClasses, definedPackages): Updated types.
	(packageAssertionStatus): Likewise.
	(systemClassAssertionStatus): Likewise.
	(classAssertionStatus): Likewise.
	(defineClass): Updated return type.
	(getResource): Likewise.
	(clearAssertionStatus): Clear packageAssertionStatus and
	classAssertionStatus.

	* java/lang/Void.java (TYPE): Changed type.
	* java/lang/Character.java: Implement Comparable<Character>.
	(TYPE): Changed type.
	(SIZE): New field.
	(MAX_CACHE, charCache): New fields.
	(valueOf): New method.
	(reverseBytes): Likewise.
	* java/lang/Double.java: Implement Comparable<Double>.
	(TYPE): Changed type.
	(SIZE): New field.
	(valueOf): New method.
	* java/lang/Float.java: Implement Comparable<Float>
	(TYPE): Changed type.
	(SIZE): New field.
	(valueOf): New method.
	* java/lang/Short.java: Implement Comparable<Short>.
	(TYPE): Changed type.
	(MIN_CACHE, MAX_CACHE, shortCache): New fields.
	(valueOf): New method.
	(reverseBytes): Likewise.
	* java/lang/Byte.java: Implement Comparable<Byte>.
	(TYPE): Changed type.
	(SIZE): New field.
	(byteCache): Likewise.
	(valueOf): New method.
	* java/lang/Boolean.java (TYPE): Changed type.
	* java/lang/Long.java (TYPE): Changed type.
	(SIZE): New field.
	(valueOf): New method.
	(bitCount, rotateLeft, rotateRight, highestOneBit,
	numberOfLeadingZeros, lowestOneBit, numberOfTrailingZeros,
	signum, reverseBytes, reverse): New methods.
	Implement Comparable<Long>.
	* java/lang/Integer.java: Implement Comparable<Integer>.
	(SIZE): New field.
	(intCache): Likewise.
	(MIN_CACHE, MAX_CACHE): Likewise.
	(valueOf): New method.
	(bitCount, rotateLeft, rotateRight, highestOneBit,
	numberOfLeadingZeros, lowestOneBit, numberOfTrailingZeros,
	signum, reverseBytes, reverse): New methods.
	(TYPE): Changed type.

2004-10-08  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/Calendar.java (set): Invalidate DST_OFFSET
	field as a DST boundary may have been crossed.
	* java/util/GregorianCalendar.java (add): Throw 
	IllegalArgumentException on attempt to add to DST_OFFSET or 
	ZONE_OFFSET fields. Update javadoc.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
	Removed.
	* native/jni/gtk-peer/Makefile.am: Removed files.

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

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java,
	gnu/java/awt/peer/gtk/GdkGraphics.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	java/awt/font/TextLayout.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	native/jni/gtk-peer/gtkpeer.h:
	Merged whitespace stuff with java-gui-branch.

2004-10-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate):
	Don't call setParentAndBounds on GtkWindowPeers.

2004-10-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/Component.java (static): Don't set default keyboard
	focus manager.
	* java/awt/KeyboardFocusManager.java
	(getCurrentKeyboardFocusManager): If current keyboard focus
	manager is null set a default.

2004-10-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkWidgetSetBackground): New method.
	(block_expose_events_cb): New function.
	(connectSignals): Block the AWT's expose event processing on
	button press and release.
	(gtkSetLabel): Set text on proper widget.
	(gtkWidgetModifyFont): Modify font on proper widget.
	(gtkWidgetSetBackground): Set normal, active and prelight
	colours.
	(gtkWidgetSetForeground): Set forground colour of proper widget.
	(gtkActivate): Activate the correct widget.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (clearRect):
	Only clear rectangle if the backing component is not an event
	box.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(beginNativeRepaintID): New variable.
	(endNativeRepaintID): Likewise.
	(gtkInit): Initialize new fields with method IDs.
	* jni/gtk-peer/gtkpeer.h (beginNativeRepaintID): Declare extern.
	(endNativeRepaintID): Likewise.

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

	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Regenerated.

2004-10-09  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (GdkGraphics):
	Call initComponentGraphics or connectSignals depending on
	component's realization status.
	(realize_cb): New function.
	(initComponentGraphics): New method.
	(connectSignals): New method.
	(clipRect): Return immediately if component is not realized.
	(setClip): Likewise.
	(translate): Likewise.
	(drawImage variants): Return false immediately if component is
	not realized.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(connectSignals): New method.
	(GdkGraphics2D): Call initComponentGraphics2D or connectSignals
	depending on component's realization status.  Move other
	initialization calls to ...
	(initComponentGraphics2D): New method.
	(realize_cb): New function.
	(cairoSetMatrix): Return immediately if gr is NULL.
	(cairoNewPath): Likewise.
	(cairoRectangle): Likewise.
	(cairoClip): Likewise.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetRepaintArea): Remove method.
	(isRealized): New method.
	(GtkComponentPeer): Move setParent, connectJObject and setCursor
	calls to setParentAndBounds.  Call setParentAndBounds.
	(setParentAndBounds): New method.
	(setComponentBounds): Return immediately if bounds are all zero.
	(repaint): Remove call to gtkWidgetRepaintArea.  Return
	immediately if requested paint region is 0x0.
	(setCursor): New method.
	(gtkWidgetSetParent): Only set widget's parent if its parent is
	currently NULL.
	(setNativeBounds): Only set widget's bounds if it has a parent.
	(connectSignals): Don't call gtk_widget_realize.  Connect
	"realize" signal to connect_awt_hook_cb handler.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java (isValidating):
	New field.
	(beginValidate): Set isValidating true.
	(endValidate): Set parents and bounds for children first, then
	for this.  Set isValidating false.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(connectJObject): Remove method.
	(connectSignals): Don't call gtk_widget_realize.
	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(connectJObject): Remove method.
	(connectSignals): Don't call gtk_widget_realize.
	* gnu/java/awt/peer/gtk/GtkPanelPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
	(connectJObject): Remove method.
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(connectJObject): Remove method.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(create): Don't call gtk_widget_realize.
	(connectJObject): Remove method.
	(connectSignals): Don't call gtk_widget_realize.  Connect
	"realize" signal to connect_awt_hook_cb handler.
	(nativeSetBounds): Don't attempt to move GDK window if it is
	NULL.
	* java/awt/Container.java (addImpl): Don't call comp.addNotify
	if peer is not null.
	(validateTree): Create peers for all children before calling
	doLayout.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(connectSignals): Don't call gtk_widget_realize.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(connect_awt_hook_cb): New function.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(initComponentGraphicsID): New variable.
	(initComponentGraphics2DID): Likewise.
	(setCursorID): Likewise.
	(gtkInit): Initialize new fields with method IDs.
	* jni/gtk-peer/gtkpeer.h (initComponentGraphicsID): Declare
	extern.
	(initComponentGraphics2DID): Declare extern.
	(setCursorID): Likewise.
	(connect_awt_hook_cb): Declare function.

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

	* include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	include/gnu_java_awt_peer_gtk_GdkGraphics2D.h,
	include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,
	include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h,
	include/gnu_java_awt_peer_gtk_GtkListPeer.h,
	include/gnu_java_awt_peer_gtk_GtkPanelPeer.h,
	include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h,
	include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
	Regenerated.

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

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(install_font_peer): Minor bug fixes to track cairo font
	semantics.

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

	* examples/.cvsignore,
	lib/.cvsignore,
	gnu/classpath/.cvsignore:
	Fixes for builddir == srcdir.

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

	* gnu/java/awt/ClasspathToolkit.java
	(getClasspathTextLayoutPeer) Add.
	* gnu/java/awt/peer/ClasspathFontPeer.java
	(copyStyleToAttrs)
	(copySizeToAttrs): Make public.
	* gnu/java/awt/peer/ClasspathTextLayoutPeer.java: New file.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java: Remove.
	* gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.java: Remove.
	* gnu/java/awt/peer/gtk/GdkFontMetrics.java: Rewrite.
	* gnu/java/awt/peer/gtk/GdkFontPeer.java: New file.
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java: Adjust type names.
	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(getFontPeer): New function.
	(drawString): Pass font peer to native side.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(cairoSetFont)
	(cairoShowGlyphs)
	(PainterThread): Remove.
	(GdkGraphics2D): Set hints during construction.
	(shifted)
	(walkPath)
	(draw)
	(setRenderingHint)
	(setRenderingHints): Reimplement normalization logic.
	(getDefaultHints)
	(updateBufferedImage)
	(isBufferedImageGraphics)
	(updateImagePixels)
	(drawImage): Make final.
	(drawImage): Always paint synchronously.
	(drawString)
	(drawGlyphVector): Rewrite.
	(releasePeerGraphicResource)
	(getPeerTextMetrics)
	(getPeerFontMetrics)
	(drawGdkGlyphVector)
	(drawGdkTextLayout)
	(cairoDrawGdkGlyphVector)
	(cairoDrawGdkTextLayout)
	(cairoDrawString)
	(getFontPeer): New functions.
	* gnu/java/awt/peer/gtk/GdkTextLayout.java: New file.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(getFontMetrics): Get metrics via toolkit, to hit cache.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Use getFontMetrics.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (LRUCache): New class.
	(fontCache)
	(metricsCache)
	(imageCache): New members.
	(getFontMetrics)
	(getImage)
	(getClasspathFontPeer): Use caches.
	(getFontPeer): Route through getClasspathFontPeer.
	* java/awt/Font.java (attrsToMap): Remove, adjust ctors.
	* java/awt/font/TextLayout.java: Implement in terms of peer.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(paintThumb): Use polyline rather than polygon.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java:
	Update comment but, alas, still do not switch to using TextLayouts.
	* javax/swing/text/Utilities.java (drawTabbedText):
	Draw text run-at-a-time, not char-at-a-time.
	* jni/gtk-peer/gdkfont.h: Publicize some of the font interface, add
	layout table.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
	Remove files.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c: Rewrite to
	incorporate brains of old GdkClasspathFontPeerMetrics.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c: Rewrite to
	incorporate brains of old GdkClasspathFontPeer.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: New file.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(drawString): Rewrite to use persistent layout in peer font.
	Comment out extraneous gdk_flush calls.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(metrics_cairo)
	(metrics_surface): New static variables.
	(paint_glyph_run)
	(install_font_peer): New helper functions.
	(releasePeerGraphicResource)
	(getPeerTextMetrics)
	(getPeerFontMetrics)
	(cairoDrawGdkTextLayout)
	(cairoDrawGdkGlyphVector): New native methods.
	(cairoDrawString): Rewrite, leaving layout-based version
	commented out for the time being.
	* jni/gtk-peer/gtkpeer.h (graphics): Add fields for pango stuff.

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

	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h,
	include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GdkFontPeer.h,
	include/gnu_java_awt_peer_gtk_GdkTextLayout.h: New files
	* include/Makefile.am: Added new files.
	* native/jni/gtk-peer/Makefile.am: Added new files.

2004-10-08 Andreas Tobler <a.tobler@schweiz.ch>

	* configure.ac: Introduce AC_C_BIGENDIAN_CROSS for WORDS_BIGENDIAN.
	* native/jni/gtk-peer/gtkpeer.h (SWAPU32): Introduce macro to swap pixels.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c: Moved SWAPU32
	macro to gtkpeer.h.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics2D_getImagePixels): Convert
	pixels from  0xBBGGRRAA to 0xAARRGGBB only on Little Endian
	architectures.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	(area_updated): Likewise.

2004-10-08  Paul Jenner  <psj.home@ntlworld.com>

	* javax/swing/JTree.java
	(isRootVisible): Fixed typo in method name.
	* javax/swing/JScrollBar.java
	(setValues): Likewise.
	* javax/swing/JScrollPane.java
	(createScrollListener): Call JScrollBar.setValues.

2004-10-07  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/BufferedImageFilter.java: Implement.

2004-10-06  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/README: a few custom tag documented
	* doc/www.gnu.org/external.wml: external package table reformatted,
	added external tools from tools.wml page (only those without website)
	* doc/www.gnu.org/home.wml: added "news" anchor for news
	* doc/www.gnu.org/inetlib.wml: first version
	* doc/www.gnu.org/newsitems.txt: cp-tools savannah merge
	* doc/www.gnu.org/include/layout.wml doc/www.gnu.org/include/macros.wml
	doc/www.gnu.org/stories.wml: custom tag jvm renamed to project and
	moved to macros.wml, custom tags moved from layout to macros

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

	* javax/imageio/ImageIO.java:
	Added much new methods.

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

	* javax/imageio/ImageReader.java,
	javax/imageio/ImageWriter.java,
	javax/imageio/spi/ImageWriterSpi.java:
	Add SOME new methods.

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

	* javax/imageio/IIOParam.java,
	javax/imageio/ImageReadParam.java,
	javax/imageio/ImageReader.java,
	javax/imageio/ImageWriter.java:
	Mostly implemented.
	* javax/imageio/spi/ImageReaderSpi.java,
	javax/imageio/spi/ImageWriterSpi.java:
	New files.

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

	* javax/imageio/ImageWriteParam.java,
	javax/imageio/metadata/IIOMetadataFormat.java:
	Implemented.

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

	* javax/imageio/ImageTypeSpecifier.java:
	Mostly implemented.

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

	* javax/imageio/metadata/IIOMetadata.java:
	Mostly implemented.

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

	* javax/imageio/IIOImage.java,
	javax/imageio/ImageReadParam.java,
	javax/imageio/metadata/IIOMetadataController.java,
	javax/imageio/metadata/IIOMetadataFormat.java:
	New files.
	* javax/imageio/stream/ImageOutputStream.java:
	Implemented.

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

	* javax/imageio/IIOParam.java,
	javax/imageio/IIOParamController.java,
	javax/imageio/ImageTypeSpecifier.java,
	javax/imageio/ImageWriteParam.java,
	javax/imageio/metadata/IIOMetadata.java:
	New files.
	* javax/imageio/ImageTranscoder.java:
	Implemented.

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

	* javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java:
	Reworked import startments.
	* javax/imageio/spi/ServiceRegistry.java:
	Reworked import startments. Fixed XHTML in javadocs.
	(ServiceRegistry): Added @param tag to javadoc.
	* javax/imageio/stream/ImageInputStream.java
	(mark): Doesn't throws IOException;

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

	* javax/imageio/ImageIO.java:
	New file.

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

	* javax/imageio/spi/IIORegistry.java
	(static): Don't register ImageReaderSpi.class and
	ImageWriterSpi.class yet.

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

	* javax/imageio/spi/IIORegistry.java:
	New file.

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

	* resource/java/util/logging/.cvsignore: New file.

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

	* java/io/CharArrayWriter.java
	(resize): Remove redundant final modifier.
	* java/io/FileDescriptor.java,
	java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/ObjectOutputStream.java,
	java/io/ObjectStreamClass.java,
	java/io/PipedInputStream.java,
	java/io/RandomAccessFile.java:
	Reworked import statements.

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

	* gnu/java/rmi/rmic/RMIC.java,
	gnu/java/rmi/server/RMIHashes.java,
	gnu/java/rmi/server/RMIObjectInputStream.java,
	gnu/java/rmi/server/UnicastConnection.java,
	gnu/java/rmi/server/UnicastConnectionManager.java,
	gnu/java/rmi/server/UnicastRemoteCall.java,
	gnu/java/rmi/server/UnicastServerRef.java:
	Import statements cleaned up.

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

	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java,
	gnu/java/awt/peer/gtk/GdkClasspathFontPeerMetrics.java,
	gnu/java/awt/peer/gtk/GdkGlyphVector.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java,
	gnu/java/awt/peer/gtk/GdkPixbufDecoder.java,
	gnu/java/awt/peer/gtk/GtkButtonPeer.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/GtkFontPeer.java,
	gnu/java/awt/peer/gtk/GtkListPeer.java,
	gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	gnu/java/awt/peer/gtk/GtkToolkit.java,
	gnu/java/awt/peer/gtk/GtkWindowPeer.java: Import statements reworked.
	Some little reformattings.

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

	* java/awt/image/AffineTransformOp.java
	(TYPE_BILINEAR): Initialize with 2.
	* java/awt/print/Printable.java: Jalopied.
	(PAGE_EXISTS): Initialize with 0;
	(NO_SUCH_PAGE): Initialized with 1.

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

	* java/io/DataInputStream.java
	(readFully): Throw IndexOutOfBoundsException if len is negative.

2004-10-01  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/geom/AffineTransform.java:
	Fixed javadocs overall.

2004-10-01  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/IndexColorModel.java: Fix use of immutable
	BigIntegers.
	* java/awt/image/ComponentColorModel.java: Remove FIXME comment
	since it's correct.

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

	* java/net/InetAddress.java: Reformatted.
	Removed redundant parenthesis.
	(getHostAddress): Merged with version from llibgcj.

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

	* java/beans/Beans.java,
	java/beans/EventHandler.java,
	java/beans/EventSetDescriptor.java,
	java/beans/Introspector.java,
	java/beans/PropertyEditorManager.java,
	java/beans/beancontext/BeanContext.java,
	java/beans/beancontext/BeanContextChild.java,
	java/beans/beancontext/BeanContextChildSupport.java,
	java/beans/beancontext/BeanContextMembershipEvent.java:
	Reordered import statements and removed redundant modifiers.

2004-09-30   Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicComboPopup.java
	(SCROLL_DOWN): made final.
	(SCROLL_UP): made final.

2004-09-30  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/RescaleOp.java: Fix formatting.

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

	* javax/swing/plaf/basic/BasicOptionPaneUI.java (MessageIcon):
	Renamed from 'messageIcon'.
	(errorIcon, infoIcon, warningIcon, questionIcon): Updated.

2004-09-28  Tom Tromey  <tromey@redhat.com>

	* java/text/MessageFormat.java (Field): Constructor now
	protected.

	* java/net/URLConnection.java (setFileNameMap): Now synchronized.

	* javax/crypto/MacSpi.java: Fixed typo.

	* java/lang/System.java (getenv): Added @specnote.

2004-09-28  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/IndexColorModel.java: Add class docs.
	(getRGBs, convertToIntDiscrete): Implement.
	(isValid, getValidPixels): Implement.
	* java/awt/image/RescaleOp.java: Implement.

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

	* java/net/URLConnection.java:
	Reformatted.
	(getContent): Make sure we are connected. Moved code to get content
	handler to getContentHandler() method for easier merging with libgcj's
	version.
	(getContentHandler): New method.

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

	* java/net/URLClassLoader.java:
	Reformated.
	(addURLImpl): Partly merged with libgcj's version.

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

	* java/awt/AWTKeyStroke.java,
	java/awt/Canvas.java,
	java/awt/CardLayout.java,
	java/awt/CheckboxMenuItem.java,
	java/awt/Component.java,
	java/awt/Container.java,
	java/awt/DefaultKeyboardFocusManager.java,
	java/awt/EventDispatchThread.java,
	java/awt/FileDialog.java,
	java/awt/FlowLayout.java,
	java/awt/Font.java,
	java/awt/Frame.java,
	java/awt/Graphics2D.java,
	java/awt/GraphicsEnvironment.java,
	java/awt/GridBagConstraints.java,
	java/awt/GridBagLayout.java,
	java/awt/GridLayout.java,
 	java/awt/Image.java,
	java/awt/KeyboardFocusManager.java,
 	java/awt/Label.java,
 	java/awt/List.java,
	java/awt/MediaTracker.java,
 	java/awt/Menu.java,
 	java/awt/MenuBar.java,
 	java/awt/MenuComponent.java,
 	java/awt/Panel.java,
 	java/awt/PopupMenu.java,
	java/awt/ScrollPane.java,
 	java/awt/Scrollbar.java,
 	java/awt/SystemColor.java,
 	java/awt/TextArea.java,
 	java/awt/TextField.java,
 	java/awt/Toolkit.java,
	java/awt/Window.java,
	java/awt/color/ICC_Profile.java,
	java/awt/datatransfer/DataFlavor.java,
	java/awt/datatransfer/StringSelection.java,
	java/awt/datatransfer/SystemFlavorMap.java,
	java/awt/dnd/Autoscroll.java,
	java/awt/dnd/DropTarget.java,
	java/awt/dnd/DropTargetContext.java,
	java/awt/dnd/DropTargetDragEvent.java,
	java/awt/dnd/peer/DropTargetContextPeer.java,
 	java/awt/event/AdjustmentEvent.java,
	java/awt/event/InputEvent.java,
	java/awt/event/InvocationEvent.java,
	java/awt/event/KeyEvent.java,
	java/awt/event/MouseEvent.java,
	java/awt/font/TextLayout.java,
	java/awt/geom/GeneralPath.java,
	java/awt/geom/Point2D.java,
	java/awt/im/InputContext.java,
	java/awt/im/spi/InputMethodContext.java,
	java/awt/image/AffineTransformOp.java,
	java/awt/image/BufferedImage.java,
	java/awt/image/ColorModel.java,
	java/awt/image/ComponentColorModel.java,
	java/awt/image/CropImageFilter.java,
	java/awt/image/DirectColorModel.java,
	java/awt/image/MemoryImageSource.java,
	java/awt/image/PackedColorModel.java,
	java/awt/image/PixelGrabber.java,
	java/awt/image/RasterOp.java,
	java/awt/peer/MenuBarPeer.java:
	Some fixes for checkstyle. Import statement and modifier order
	redordering.

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

	* javax/swing/JTable.java
	(setModel): Reimplemented.

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

	* javax/swing/JTextArea.java
	(insert): Renaming of method local variables.

2004-09-27  Per Bothner  <per@bothner.com>

	* java/util/Collections.java (sort):  Copy from array in forwards
	order, rather than reverse order which may be much less
	efficient.

2004-09-27  Bryce McKinlay  <mckinlay@redhat.com>
 
	* java.util.Calendar.java (cache): New private static field. Cached
	mappings of locales->calendar classes.
	(ctorArgTypes): New private static field. Singleton argument for
	calendar class constructor lookup.
	(getInstance): Cache Locale->Calendar class mappings using HashMap.
	Optimize by bypassing reflection instantiation for the
	GregorianCalendar case.

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

	* javax/swing/SpinnerNumberModel.java
	(SpinnerNumberModel): Implements java.io.Serializable.

2004-09-27  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/BandedSampleModel.java: Implement.
	* java/awt/image/ColorModel.java (getDataElement,
	getDataElements): Document since 1.4.
	* java/awt/image/ComponentColorModel.java (ComponentColorModel):
	Implement missing 1.4 constructor.
	* java/awt/image/IndexColorModel.java (IndexColorModel): Implement
	missing constructor.

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

	* javax/swing/JFrame.java,
	javax/swing/JRadioButton.java,
	javax/swing/JRootPane.java,
	javax/swing/JTextField.java,
	javax/swing/SpinnerNumberModel.java,
	javax/swing/plaf/basic/BasicArrowButton.java,
	javax/swing/plaf/basic/BasicScrollBarUI.java,
	javax/swing/plaf/basic/BasicSplitPaneDivider.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/JTableHeader.java,
	javax/swing/text/DocumentFilter.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/NavigationFilter.java:
	Whitespace cleanup.

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

	* javax/swing/JTextArea.java
	(getColumnWidth): New method.
	(getLineCount): Likewise.
	(getLineStartOffset): Likewise.
	(getLineEndOffset): Likewise.
	(getLineOfOffset): Likewise.
	(getRowHeight): Likewise.
	(replaceRange): Likewise.
 	(insert): Reformatted.

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

	* javax/swing/JSpinner.java:
	Some Re-formatting.
	(spinner): New field.
	(DefaultEditor): New method.
	(getSpinner): Likewise.
	(NumberEdito): Likewise.
	(getModel): Likewise.
	(setModel): Likewise.

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

	* java/lang/Deprecated.java: Fixed retention.

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

	* javax/swing/JTextField.java
	(scrollOffset): new field.
	(getScrollOffset): New method.
	(setScrollOffset): Likewise.
	(getColumnWidth): Likewise.
	(action): New field.
	(actionCommand): Likewise.
	(actionPropertyChangeListener): Likewise.
	(setHorizontalAlignment): Abort soon if new value == old value. Fire
	event before repainting.
	(postActionEvent): New method.
	(getAction): Likewise.
	(setAction): Likewise.
	(getActionCommand): Likewise.
	(setActionCommand): Likewise.
	(createActionPropertyChangeListener): Likewise.
	(configurePropertiesFromAction): Likewise.

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

	* javax/swing/text/JTextComponent.java
	(dragEnabled): New field.
	(getSelectedText): New method.
	(getDragEnabled): Likewise.
	(setDragEnabled): Likewise.
	(replaceSelection): Reimplemented.

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

	* javax/swing/JRootPane.java
	(NONE): New static field.
	(FRAME): Likewise.
	(PLAIN_DIALOG): Likewise.
	(INFORMATION_DIALOG): Likewise.
	(ERROR_DIALOG): Likewise.
	(COLOR_CHOOSER_DIALOG): Likewise.
	(FILE_CHOOSER_DIALOG): Likewise.
	(QUESTION_DIALOG): Likewise.
	(WARNING_DIALOG): Likewise.
	(defaultButton): New field.
	(getDefaultButton): New method.
	(setDefaultButton): Likewise.

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

	* javax/swing/text/DefaultHighlighter.java
	(drawsLayeredHighlights): New field.
	(getDrawsLayeredHighlights): New method.
	(setDrawsLayeredHighlights): Likewise.

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

	* javax/swing/SpringLayout.java
	(Constraints): May not be final.

2004-09-26  Mark Wielaard  <mark@klomp.org>

	* java/lang/Throwable.java (StaticData.nl): Make package private.

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

	* javax/swing/SpinnerNumberModel.java
	(SpinnerNumberModel): Implements java.io.Serializable.
	(serialVersionUID): New field.
	(SpinnerNumberModel): Added missing @throws tags to javadocs.
	(getMinimum): New method.
	(setMinimum): Likewise.
	(getMaximum): Likewise.
	(setMaximum): Likewise.
	(getStepSize): Likewise.
	(setStepSize): Likewise.

2004-09-26  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicArrowButton.java:
	Jalopy. Reimplement.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Jalopy.
	(arrowIcon, upIcon, downIcon, leftIcon,
	rightIcon): Removed.
	(createIncreaseButton): Use BasicArrowButton.
	(createDecreaseButton): Ditto.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java:
	(createRightOneTouchButton): Remove button border.
	(createLeftOneTouchButton): Ditto.

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

	* javax/swing/JTree.java
	(ANCHOR_SELECTION_PATH_PROPERTY): New static field.
	(CELL_EDITOR_PROPERTY): Likewise.
	(CELL_RENDERER_PROPERTY): Likewise.
	(EDITABLE_PROPERTY): Likewise.
	(EXPANDS_SELECTED_PATHS_PROPERTY): Likewise.
	(INVOKES_STOP_CELL_EDITING_PROPERTY): Likewise.
	(LARGE_MODEL_PROPERTY): Likewise.
	(LEAD_SELECTION_PATH_PROPERTY): Likewise.
	(ROOT_VISIBLE_PROPERTY): Likewise.
	(ROW_HEIGHT_PROPERTY): Likewise.
	(SCROLLS_ON_EXPAND_PROPERTY): Likewise.
	(SELECTION_MODEL_PROPERTY): Likewise.
	(SHOWS_ROOT_HANDLES_PROPERTY): Likewise.
	(TOGGLE_CLICK_COUNT_PROPERTY): Likewise.
	(TREE_MODEL_PROPERTY): Likewise.
	(VISIBLE_ROW_COUNT_PROPERTY): Likewise.
	(cellEditor): New field.
	(invokesStopCellEditing): Likewise.
	(largeModel): Likewise.
	(rowHeight): Likewise.
	(scrollsOnExpand): Likewise.
	(selectionModel): Likewise.
	(toggleClickCount): Likewise.
	(visibleRowCount): Likewise.
	(setShowsRootHandles): Fixed typo in method name.
	(getCellEditor): New method.
	(setCellEditor): Likewise.
	(getSelectionModel): Likewise.
	(setSelectionModel): Likewise.
	(getVisibleRowCount): Likewise.
	(setVisibleRowCount): Likewise.
	(isLargeModel): Likewise.
	(setLargeModel): Likewise.
	(getRowHeight): Likewise.
	(setRowHeight): Likewise.
	(getInvokesStopCellEditing): Likewise.
	(setInvokesStopCellEditing): Likewise.
	(getToggleClickCount): Likewise.
	(setToggleClickCount): Likewise.
	(getScrollsOnExpand): Likewise.
	(setScrollsOnExpand): Likewise.
	* javax/swing/table/DefaultTableColumnModel.java
	(addColumnModelListener): Fixed javadoc.
	(removeColumnModelListener): Implemented. Fixed javadoc.
	(getColumnModelListeners): New method.
	* javax/swing/table/JTableHeader.java
	(columnModel): Made protected.
	(draggedColumn): Likewise.
	(draggedDistance): Likewise.
	(reorderingAllowed): Likewise.
	(resizingAllowed): Likewise.
	(resizingColumn): Likewise.
	(table): Likewise.
	(updateTableInRealTime): Likewise.
	(createDefaultColumnModel): Renamed from
	createDefaultTableColumnModel.
	(setDefaultRenderer): New method.
	* javax/swing/table/TableColumn.java
	(getPropertyChangeListeners): New method.

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

	* javax/swing/JPasswordField.java:
	Reformated. Implemented construtors.
	* javax/swing/plaf/basic/BasicPasswordFieldUI.java
	(create): New method.
	* javax/swing/text/PlainView.java
	(selectedColor): Made package-private to allow access from sub-classes
	in same package too.
	(unselectedColor): Likewise.
	(font): Likewise.
	(drawSelectedText): Make protected.
	(drawUnselectedText): Likewise.
	* javax/swing/text/PasswordView.java: New file.

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

	* javax/swing/text/DocumentFilter.java
	(FilterBypass): New inner class.
	(insertString): New method.
	(remove): Likewise.
	(replace): Likewise.
	* javax/swing/text/NavigationFilter.java
	(FilterBypass): New inner class.
	(NavigationFilter): New method.
	(moveDot): Likewise.
	(setDot): Likewise.

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

	* javax/swing/text/SimpleAttributeSet.java
	(EMPTY): Made public final.

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

	* javax/swing/UIManager.java
	(get): New method.
	(getBoolean): Likewise.
	(getBorder): Likewise.
	(getColor): Likewise.
	(getDimension): Likewise.
	(getFont): Likewise.
	(getIcon): Likewise.
	(getInsets): Likewise.
	(getInt): Likewise.
	(getString): Likewise.

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

	* javax/swing/UIDefaults.java
	(removePropertyChangeListener): Made public.

2004-09-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/lang/Appendable.java
	Documented this class.
	(append(CharSequence, int, int)): added.

2004-09-26  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/lang/Comparable.java
	Updated status to be 1.5.
	* java/lang/Iterable.java
	Added missing documentation.
	* java/lang/Readable.java
	Added documentation.
	* java/lang/Thread.java
	(UncaughtExceptionHandler): documented.
	
2004-09-25  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JApplet.java:
	Whitespace fixes.

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

	* javax/swing/JApplet.java
	(rootPaneCheckingEnabled): Renamed from checking.

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

	* javax/swing/JTable.java
	(getUI): Javadoc added.
	(setUI): New method.

2004-09-25  Shashank Bapat  <shashankbapat@yahoo.com>
           Mark Wielaard  <mark@klomp.org>

	* gnu/regexp/RE.java (initialize): Add RETokenLookAhead support.
	* gnu/regexp/RETokenLookAhead.java: New file.

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

	* javax/swing/JViewport.java
	(getUI): New method.
	(setUI): Likewise.

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

	* javax/swing/JScrollPane.java
	(getUI): New method.
	(setUI): Likewise.

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

	* javax/swing/JMenu.java
	(getMenuListeners): New method.
	(fireMenuSelected): Simplified.

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

	* javax/swing/JFrame.java
	Re-formatted a bit and reordered some methods.
	(rootPaneCheckingEnabled): Renamed from checking.
	(getPreferredSize): Simplified.

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

	* javax/swing/JComponent.java
	(isMaximumSizeSet): New method.
	(isMinimumSizeSet): Likewise.
	(isPreferredSizeSet): Likewise.

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

	* javax/swing/JComponent.java
	(JComponent): Added javadoc comment.
	(setBorder): Fire property change event.
	(setEnabled): Likewise.
	(setMaximumSize): Likewise.
	(setMinimumSize): Likewise.
	(setPreferredSize): Likewise.
	(setOpaque): Likewise.

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

	* javax/swing/JCheckBox.java
	(BORDER_PAINTED_FLAT_CHANGED_PROPERTY): New static field.

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

	* javax/swing/JApplet.java, javax/swing/JFrame.java:
	Re-indented.

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

	* java/security/BasicPermission.java: Don't check wildcards.

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

	* java/io/ObjectInputStream.java
	(readObject): Save and restore this.currentObject and
	this.currentObjectStreamClass around calls to callReadMethod().

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

	* java/io/ObjectOutputStream.java
	(readObject): Save and restore this.currentObject and
	this.currentObjectStreamClass around calls to callReadMethod().

2004-09-24  David Daney  <ddaney@avtrex.com>

	* java/net/URL.java (URL): Copy userInfo from context.
	(getUserInfo): Return cached userInfo if present.

2004-09-23  Mark Wielaard  <mark@klomp.org>

	* javax/swing/table/DefaultTableModel.java: Whitespace cleanup.

2004-09-23  Mark Wielaard  <mark@klomp.org>

	* java/awt/Component.java: Whitespace cleanup.
	* java/awt/Container.java: Likewise.
	* java/awt/DefaultFocusTraversalPolicy.java: Likewise.
	* java/awt/DefaultKeyboardFocusManager.java: Likewise.
	* java/awt/KeyboardFocusManager.java: Likewise.

2004-09-23  Mark Wielaard  <mark@klomp.org>

	* examples/gnu/classpath/examples/awt/Demo.java: Add help menu
	example.

	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Regenerate with gcjh
	from CVS.
	* include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkGenericPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkListPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Likewise.

2004-09-23  David Jee  <djee@redhat.com>

	PR AWT/17059
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
	(nativeSetHelpMenu): New native method declaration.
	(addHelpMenu): Call nativeSetHelpMenu().
	(addMenu): Remove.
	* java/awt/MenuBar.java
	(setHelpMenu): Call addNotify() on the new help menu.
	(add): Call addNotify() on the new menu.
	(addNotify): Set the help menu if one exists.
	* java/awt/peer/MenuBarPeer.java
	(addMenu): Remove.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
	(nativeSetHelpMenu): New method.

2004-09-23  Mark Wielaard  <mark@klomp.org>

	* javax/swing/AbstractButton.java: Whitespace cleanup.
	* javax/swing/DefaultButtonModel.java: Likewise.
	* javax/swing/JLabel.java: Likewise.
	* javax/swing/KeyStroke.java: Likewise.
	* javax/swing/plaf/basic/BasicButtonListener.java: Likewise.
	* javax/swing/plaf/basic/BasicComboBoxUI.java: Likewise.
	* javax/swing/plaf/basic/BasicComboPopup.java: Likewise.
	* javax/swing/plaf/basic/BasicTableHeaderUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTableUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTextUI.java: Likewise.
	* javax/swing/table/DefaultTableCellRenderer.java: Likewise.
	* javax/swing/text/AbstractDocument.java: Likewise.
	* javax/swing/text/AttributeSet.java: Likewise.
	* javax/swing/text/DefaultEditorKit.java: Likewise.

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

	* javax/swing/InputVerifier.java:
	Re-formatted.
	* javax/swing/JComponent.java
	(inputVerifier): New property field.
	(getInputVerifier): New method.
	(setInputVerifier): Likewise.

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

	* javax/swing/DebugGraphics.java:
	Re-formatted. Fixed some javadocs.

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

	* javax/swing/AbstractButton.java:
	Little re-formatting.
	(changeEvent): Made protected.
	(fireStateChanged): Removed argument.
	(setHorizontalAlignment): Abort method when old value is equal too new
	value.
	(setHorizontalTextPosition): Likewise.
	(setVerticalAlignment): Likewise.
	(setVerticalTextPosition): Likewise.
	(setBorderPainted): Likewise.
	(setIcon): Likewise.
	(setText): Likewise.
	(setIconTextGap): Likewise.
	(setMargin): Likewise.
	(setPressedIcon): Likewise.
	(setFocusPainted): Likewise.
	(setDisabledSelectedIcon): Likewise.
	(setRolloverIcon): Likewise.
	(setRolloverSelectedIcon): Likewise.
	(setSelectedIcon): Likewise.
	(setContentAreaFilled): Likewise.

2004-09-23  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/ComponentSampleModel.java: Add documentation.

2004-09-22  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/announce/20040913.wml: classpath 0.11 release announce
	* doc/www.gnu.org/downloads/downloads.wml: classpath 0.11 download added
	* doc/www.gnu.org/newsitems.txt: classpath 0.11, inetlib 1.1 

2004-09-22  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	(setEnabled): Make it a native method.
	* java/awt/DefaultKeyboardFocusManager.java
	(postProcessKeyEvent): Only post event if the menu item
	is active.
	* java/awt/MenuItem.java:
	Private field 'enabled' should be true by default.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(setEnabled): New function.

2004-09-22  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/ColorModel.java (getDataElement): Implemented.
	Update javadoc.
	(getDataElements): Add missing version.  Remove bogus version.
	Update javadoc.
	* java/awt/image/MultiPixelPackedSampleModel.java: Implement.
	* java/awt/image/Raster.java
	(createPackedRaster(int,int,int,int,int,Point)): Implement for
	bands>1.
	(getNumBands): Implement.
	* java/awt/image/SinglePixelPackedSampleModel.java
	(SinglePixelPackedSampleModel): Throw exception for unsupported
	datatype.
			

2004-09-22  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicComboBoxUI.java:
	(paintCurrentValue): Pass correct parameters to 
	getListCellRendererComponent().
	(ListDataHandler.intervalRemoved): Implemented. 
	(PropertyChangeHandler.propertyChange): Handle changes in
	MODEL_CHANGED_PROPERTY of the JComboBox
	* javax/swing/plaf/basic/BasicComboPopup.java:
	(BasicComboPopup): Moved code that configures popup to 
	configurePopup() and call it instead. 
	(firePopupMenuWillBecomeVisible): Implemented.
	(firePopupMenuWillBecomeInvisible): Likewise.
	(firePopupMenuCanceled): Likewise.
	(configureList): Set list's visibleRowCount same as 
	comboBox's visibleRowCount.
	(configurePopup): Implemented.
	(getPopupHeightForRowCount): Get item's from JComboBox's model and 
	not from model of the JList.
	(ListMouseMotionHandler.mouseMoved): Implemented.
	(PropertyChangeHandler.propertyChange): Handles change in the
	JComboBox's model.

2004-09-22  Kim Ho  <kho@redhat.com>

	* javax/swing/colorchooser/DefaultHSBChooserPanel.java:
	(stateChanged): Only update the image and the track if
	the values are not being adjusted.
	(updateChooser): Grab the new mouse point from the
	spinner values. Update the image and track only if 
	the values are not being adjusted. 
	(getHSBValues): New method.
	* javax/swing/colorchooser/DefaultRGBChooserPanel.java:
	(SliderHandler::stateChanged): Changed internalChange 
	to updateChange. Set sliderChange.
	(SpinnerHandler::stateChanged): Ditto. Set spinnerChange.
	(spinnerChange): New variable.
	(sliderChange): Ditto.
	(updateChange): Renamed from internalChange.
	(updateChooser): Do not update sliders if the sliders
	were the original source of the change. Ditto for spinners.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(mousePress): Don't scroll the JViewport if there will
	be extra space at the end of the run. Change layout() to
	revalidate().
	(calculateSize): Use the component's width/height unless
	it is smaller than the max tab width/height.
	(calculateTabRects): Subtract the tab run overlay.
	(rotateTabRuns): Don't rotate if there's only one run.
	(layoutContainer): Reuse the viewport point.
	(createLayoutManager): Set the viewport to use no layout.
	(paintTabArea): Don't paint the tabs that are not visible
	to the JViewport.
	(paintContentBorderTopEdge): Check for scroll tab layout before
	looking for gap.
	(paintContentBorderLeftEdge): Ditto.
	(paintContentBorderBottomEdge): Ditto.
	(paintContentBorderRightEdge): Ditto.

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

	* gnu/java/awt/peer/gtk/GtkClipboard.java,
	java/awt/datatransfer/Clipboard.java,
	java/awt/datatransfer/ClipboardOwner.java:
	Reformated to make it use our coding standard.

2004-09-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setMenuBar): Set menu
	bar's width.
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (nativeSetHelpMenu):
	Add FIXME comment.
	(addHelpMenu): Elide call to nativeSetHelpMenu.
	* java/awt/Menu.java (isTearOff): Rename to tearOff.
	(menuSerializedDataVersion): Initialize to 1.
	(separatorLabel): Mark transient.
	(insert(MenuItem,int)): Implement.
	* java/awt/MenuBar.java (setHelpMenu): Call getPeer to retrieve
	peer.
	(countMenus): Count help menu.
	* java/awt/MenuItem.java: Remove event mask FIXME.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(gtkWidgetModifyFont): Only set font if label is non-NULL.
	(setLabel): Don't treat "-" specially.

2004-09-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkWidgetSetFont):
	Rename ...
	(gtkWidgetModifyFont): New method.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
	(setMenuBarWidth): New method.
	(setBounds): Set the menu bar width.
	(postConfigureEvent): Set the menu bar width if the window's
	width has changed.
	* gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (GtkMenuBarPeer):
	Don't call create.
	(setFont): New method.
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): New
	method.
	(setFont): Likewise.
	(GtkMenuComponentPeer): Call create and setFont.
	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(connectSignals): Make package private.
	(gtkWidgetModifyFont): New method.
	(create): Likewise.
	(GtkMenuItemPeer): Don't call create.
	(setFont): New method.
	* java/awt/CheckboxMenuItem.java (addNotify): Fix peer == null
	condition.
	* java/awt/Container.java (validateTree): Fix comment typos.
	* java/awt/MenuComponent.java (getFont): Return parent's font if
	our font is null.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
	(create): Remove call to deprecated
	gtk_check_menu_item_set_show_toggle function.

2004-09-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java:
	(gtkFixedMove): Remove method.

2004-09-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* Makefile.am (gtk_c_source_files): Add
	gnu_java_awt_peer_gtk_GtkFramePeer.c.
	* Makefile.in: Regenerate.
	* gnu/java/awt/peer/gtk/GdkGraphics.java (getClipBounds): Remove
	comment.
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(create): Pack GtkButton in GtkEventBox.
	(connectJObject): Remove.
	(focus_in_cb): New function.
	(focus_out_cb): Likewise.
	(connectSignals): Connect focus-in-event and focus-out-event
	signals.
	(gtkSetFont): Rename to ...
	(gtkWidgetModifyFont): New method.
	(gtkWidgetRequestFocus): New method.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(gtkSetFont): Rename to ...
	(gtkWidgetModifyFont): New method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(isInRepaint): New field.
	(gtkSetFont): Remove method.
	(addExposeFilter): Likewise.
	(removeExposeFilter): Likewise.
	(gtkWidgetQueueDrawArea): Rename to ...
	(gtkWidgetRepaintArea): New method.
	(beginNativeRepaint): New method.
	(endNativeRepaint): New method.
	(setComponentBounds): Move implementation here from
	GtkComponentPeer.
	(paint): Remove implementation.
	(repaint): Wrap call to gtkWidgetRepaintArea with calls to
	beginNativeRepaint and endNativeRepaint.
	(setBounds): Use menu bar height in bounds calculation.
	(postExposeEvent): Only post paint event if we're not doing a
	native repaint.
	(gtkWidgetSetParent): Replace gtk_layout_put with gtk_fixed_put.
	(setNativeBounds): Replace gtk_layout_move with gtk_fixed_move.
	(find_gtk_layout): Remove function.
	(filter_expose_event_handler): Likewise.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (postExposeEvent):
	Likewise.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	(setComponentBounds): Call GtkComponentPeer's
	setComponentBounds.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (getMenuBarHeight):
	New method.
	(moveLayout): Rename to ...
	(gtkFixedMove): New method.
	(gtkLayoutSetVisible): Rename to ...
	(gtkFixedSetVisible): New method.
	(setMenuBar): Rearrange, to make the three separate cases
	clearer.
	(postExposeEvent): Only post paint event if we're not doing a
	native repaint.
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c
	(gtkWidgetModifyFont): New method.
	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(GtkImagePainter(GtkImage,GdkGraphics,int,int,int,int,Color)):
	Call run directly, rather than spawning a new thread.
	(GtkImagePainter(GtkImage,GdkGraphics,int,int,int,int,int,int,int,int,Color)):
	Likewise.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c (gtkSetFont):
	Rename to ...
	(gtkWidgetModifyFont): New method.
	(create): Rename ebox to eventbox.
	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c (gtkSetFont):
	Rename to ...
	(gtkWidgetModifyFont): New method.
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
	(GtkMenuComponentPeer): Set the default font.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkSetFont): Rename to ...
	(gtkWidgetModifyFont): New method.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: Likewise.
	* java/awt/Component.java (locale): Initialize to default
	locale.
	* java/awt/Container.java (invalidateTree): Make
	package-private.
	(paint): Paint self first.
	(setMenuBar): Call invalidateTree.
	* java/awt/Panel.java (dispatchEventImpl): Remove method.
	* java/awt/Window.java (show): Call no-parameter variant of
	requestFocusInWindow.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (initState):
	Remove special case for window widget.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(grab_current_drawable): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
	(create): Replace GtkLayout with GtkFixed.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Remove special cases for GDK_EXPOSE events.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c: New file.
	Move all GtkFramePeer native method implementations here from
	gnu_java_awt_peer_gtk_GtkWindowPeer.c.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c (create):
	Replace GtkLayout with GtkFixed.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(find_layout): Remove function.
	(create): Replace GtkLayout with GtkFixed.
	(connectSignals): Remove find_layout call.
	(toBack): Replace XFlush with gdk_flush.
	(toFront): Replace XFlush with gdk_flush.
	Move GtkFramePeer native method implementations to
	gnu_java_awt_peer_gtk_GtkFramePeer.c.
	* jni/gtk-peer/gtkpeer.h: Remove declaration of find_gtk_layout.

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

	* native/jni/gtk-peer/Makefile.am:
	Added new file gnu_java_awt_peer_gtk_GtkFramePeer.c.

2004-09-21  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/util/VMTimeZone.java
	(getDefaultTimeZoneId): Remove debug output.

2004-09-21  Mark Wielaard  <mark@klomp.org>

	Fixes bug #10447
	* java/util/Collections.java
	(binarySearch(List, Object, Comparator): Explicitly reverse direction
	in list iterator.

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

	* java/applet/Applet.java,
	java/applet/AppletContext.java,
	java/applet/AppletStub.java,
	java/applet/AudioClip.java:
	Jalopied and checkstyle clean.

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

	* scripts/jalopy-gnu.xml: throws clauses have to be indented by
	two spaces.

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

	* scripts/checkstyle-config.xml:
	Enabled check for ordered import statements.
	* scripts/jalopy-gnu.xml:
	Fix grouping of import statements.

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

	* scripts/jalopy-gnu.xml: Converted to use Unix-style EOL.

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

	* javax/crypto/package.html,
	javax/crypto/interfaces/package.html,
	javax/crypto/spec/package.html,
	javax/net/package.html,
	javax/net/ssl/package.html,
	javax/security/package.html,
	javax/security/auth/package.html,
	javax/security/auth/callback/package.html,
	javax/security/auth/login/package.html,
	javax/security/cert/package.html,
	javax/security/sasl/package.html:
	New files for package documentation.

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

	* java/net/Socket.java
	(getLocalAddress): Return InetAddress.ANY_IF if not bound yet.

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

	* scripts/checkstyle-config.xml,
	scripts/checkstyle-header.regex,
	scripts/checkstyle-suppressions.xml:
	New files to check GNU classpath with checkstyle.

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

	* .settings/org.eclipse.core.resources.prefs: New file.
	* .classpath: Updated.

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

	* scripts/jalopy-gnu.xml: New file.

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

	* javax/net/ssl/SSLServerSocket.java:
	Removed comment about "Do not edit this file, it's generated.".

2004-09-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/StackTraceElement.java
	(className): Renamed field to declaringClass to be compatible
	with Sun serialization format.

2004-09-20  Ilya Perminov  <iperminov@logicalsoft.com>

	* gnu/java/rmi/server/UnicastServer.java
	(incomingMessageCall): Added code to handle Errors.
	* gnu/java/rmi/server/UnicastServerRef.java
	(incomingMessageCall): Added code to handle Errors.

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

	* gnu/java/net/protocol/file/Handler.java
	(openConnection): Clarified comment.

2004-09-20  Jeroen Frijters  <jeroen@frijters.net>

	* javax/swing/JInternalFrame.java
	(CONTENT_PANE_PROPERTY,FRAME_ICON_PROPERTY,GLASS_PANE_PROPERTY,
	IS_CLOSED_PROPERTY,IS_ICON_PROPERTY,IS_MAXIMUM_PROPERTY,
	IS_SELECTED_PROPERTY,LAYERED_PANE_PROPERTY,MENU_BAR_PROPERTY,
	ROOT_PANE_PROPERTY,TITLE_PROPERTY): Made final as per API spec.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
	(CLOSE_CMD,ICONIFY_CMD,MAXIMIZE_CMD,MOVE_CMD,RESTORE_CMD,SIZE_CMD):
	Made final as per API spec.

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

	* java/lang/ClassLoader.java (loadedClasses): Declare as HashMap.
	(definedPackages): Likewise.

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

	* java/util/Collections.java (rotate): Just return when list is empty.

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

	Fixes bug #10383 reported by Ilya Perminov.
	* java/util/TreeMap.java (root): Don't initialize.
	(TreeMap(Comparator)): Call fabricateTree(0).
	(fabricateTree): Initialize root and size when count is 0.

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

	* configure.ac: Set version to 0.11+cvs.

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

	* java/lang/annotation/Retention.java: Documented.
	* java/lang/annotation/RetentionPolicy.java: Documented.
	* java/lang/StringBuilder.java: Updated documentation.

2004-09-17  Tom Tromey  <tromey@redhat.com>

	* vm/reference/java/lang/VMProcess.java (ProcessThread): Added
	explicit constructor.

2004-09-17  Dalibor Topic  <robilad@kaffe.org>

	* java/awt/Component.java (postEvent):
	Only delegate to parent if a parent exists.

	Reported by: Stephane Meslin-Weber <steph@tangency.co.uk>

2004-09-17  Sven de Marothy <sven@physto.se>

	* java/nio/ByteBuffer.java:
	(hashCode): Implemented.
	* java/nio/CharBuffer.java:
	* java/nio/DoubleBuffer.java:
	* java/nio/FloatBuffer.java:
	* java/nio/LongBuffer.java:
	* java/nio/IntBuffer.java:
	* java/nio/ShortBuffer.java:
	Likewise.

2004-09-13  Mark Wielaard  <mark@klomp.org>

	* NEWS: Set release date.
	* configure.ac: Set version to 0.11. Add java/util/logging/Makefile.

	* java/util/logging/logging.properties: Removed.
	* resource/java/util/Makefile.am (SUBDIRS): Add logging.
	* resource/java/util/logging/Makefile.am: Added.
	* resource/java/util/logging/logging.properties: Added.

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

	* javax/naming/CompoundName.java (CompoundName): Don't check for
	separator in "flat" case.

2004-09-11  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/MenuComponent.java
	(newEventsOnly): added additional serialization
	comment
	
2004-09-11  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/Component.java
	(translateEvent): made static with package access
	rather than private
	* java/awt/MenuBar.java
	Added documentation
	(getAccessibleContext()): implemented
	(AccessibleAWTMenuBar): new class
	(AccessibleAWTMenuBar()): new constructor
	(getAccessibleRole()): implemented
	* java/awt/MenuComponent.java
	(accessibleContext, newEventsOnly, nameExplicitlySet,
	focusHandler): new variables
	(setName(String)): adding setting of nameExplicitlySet
	(dispatchEventImpl(java.awt.AWTEvent)): converts 1.1 events
	to 1.0
	(processEvent): added focus handling for accessible component
	(getAccessibleContext()): implemented
	(AccessibleAWTMenuComponent): new class
	(AccessibleAWTMenuComponent()): new constructor
	(addAccessibleSelection(int)): stub for subclasses
	(addFocusListener(java.awt.event.FocusListener)): implemented
	(clearAccessibleSelection()): stub for subclasses
	(contains(java.awt.Point)): implemented against getBounds()
	(getAccessibleAt(java.awt.Point)): stub for subclasses
	(getAccessibleChild(int)): stub for subclasses
	(getAccessibleChildrenCount()): stub for subclasses
	(getAccessibleComponent()): implemented
	(getAccessibleDescription()): implemented
	(getAccessibleIndexInParent()): implemented
	(getAccessibleName()): implemented
	(getAccessibleParent()): implemented
	(getAccessibleRole()): implemented
	(getAccessibleSelection()): implemented
	(getAccessibleSelection(int)): stub for subclasses
	(getAccessibleSelectionCount()): stub for subclasses
	(getAccessibleStateSet()): implemented
	(getBackground()): implemented
	(getBounds()): stub for subclasses
	(getCursor()): implemented
	(getFont()): implemented
	(getFontMetrics(java.awt.Font)): implemented
	(getForeground()): implemented
	(getLocale()): implemented
	(getLocation()): implemented against getBounds()
	(getLocationOnScreen()): stub for subclasses
	(getSize()): implemented against getBounds()
	(isAccessibleChildSelected(int)): stub for subclasses
	(isEnabled()): stub for subclasses
	(isFocusTraversable()): stub for subclasses
	(isShowing()): stub for subclasses
	(isVisible()): stub for subclasses
	(removeAccessibleSelection(int)): stub for subclasses
	(removeFocusListener(java.awt.event.FocusListener)): implemented
	(selectAllAccessibleSelection()): implemented against addAccessibleSelection(int)
	(setBackground(java.awt.Color)): stub for subclasses
	(setBounds(java.awt.Rectangle)): stub for subclasses
	(setCursor(java.awt.Cursor)): stub for subclasses
	(setEnabled(boolean)): stub for subclasses
	(setFont(java.awt.Font)): implemented
	(setForeground(java.awt.Color)): stub for subclasses
	(setLocation(java.awt.Point)): implemented against setBounds()
	(setSize(java.awt.Dimension)): implemented against setBounds()
	(setVisible(boolean)): stub for subclasses

2004-09-10  Bryce McKinlay  <mckinlay@redhat.com>

	* gnu/java/net/protocol/file/Connection.java
	(dateFormat): New static field.
	(getHeaderField): Implemented.

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

	* gnu/java/net/protocol/file/Connection.java
	(exists): Removed.
	(isDirectory): Likewise.
	(getListing): Likewise.

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

	Fixes bug #8991.
	* java/net/URLConnection.java (getContent): Add support for
	explicit mime types. Call getInputStream() if no handler found.
	* gnu/java/net/content/text/plain.java: Removed

2004-09-09  Casey Marshall  <csm@gnu.org>

	* java/io/ObjectInputStream.java (callReadMethod): re-throw
	`ClassNotFoundException'.

2004-09-09  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/SystemColor.java: Fix @link doc entries.

2004-09-09  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/image/DataBuffer.java: Update API documentation.
	* java/awt/image/DataBufferByte.java: Likewise.
	* java/awt/image/DataBufferDouble.java: Likewise.
	* java/awt/image/DataBufferFloat.java: Likewise.
	* java/awt/image/DataBufferInt.java: Likewise.
	* java/awt/image/DataBufferShort.java: Likewise.
	* java/awt/image/DataBufferUShort.java: Likewise.

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

	* NEWS: Mention JColorChooser, JComboBox and JTextField addition.
	Set release date.

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

	* LICENSE: Reindent. List examples and all external libraries
	distributed together with GNU Classpath.
	* examples/README: Fix is/are as indicated by FSF legal.

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

	* gnu/java/net/protocol/file/Connection.java
	(lineSeparator): Made non-final.
	(static): Removed.
	(connect): Initialize lineSeparator lazily. Use ByteArrayInputStream
	instead of StringBufferInputStream.

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

	* gnu/java/net/protocol/file/Connection.java
	(connect): Handle file is a directory case.

2004-09-08  Sven de Marothy  <sven@physto.se>
	
	Patch from David Gilbert <david.gilbert@object-refinery.com>:
	* java/awt/AWTEventMulticaster.java:
	Fix a big number of documentation errors.
	* java/awt/Adjustable.java
	* java/awt/Point.java
	* java/awt/Polygon.java
	* java/awt/Rectangle.java
	* java/awt/Shape.java
	* java/awt/geom/Area.java
	* java/awt/geom/Ellipse2D.java
	* java/awt/geom/PathIterator.java 
	* java/awt/geom/Point2D.java
	* java/awt/geom/Rectangle2D.java 
	* java/lang/Comparable.java
	* java/util/Arrays.java:
	Likewise. Thank you David!

2004-09-07  Sven de Marothy  <sven@physto.se>

	* java/awt/geom/doc-files/Area-1.png:
	Graphics for Area documentation. New file.

	* java/awt/geom/doc-files/Ellipse-1.png:
	Graphics for Ellipse2D documentation. New file.

	* java/awt/geom/doc-files/GeneralPath-1.png:
	Graphics for GeneralPath documentation. New file.

	* java/awt/geom/Arc2D.java:
	(intersects): Fix: Now checks the arc segment.
	(contains): Cleaned up.

	* java/awt/geom/Area.java:
	(isRectangular): Should return true on an empty path.
	(equals): Check for null.
	(rayIntersects): Fix insideness-test

	* java/awt/geom/CubicCurve2D.java:
	Fix insideness-test to comply with the correct behavior on edges
	* java/awt/geom/GeneralPath.java:
	Likewise
	* java/awt/geom/QuadCurve2D.java:
	Likewise
	
2004-09-07  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/TimeZone.java
	(getDefaultTimeZone): Fixed test to distinguish between hours and
	minutes in specified timezone.

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

	* java/lang/SuppressWarnings.java: Document.

	* java/lang/StringBuilder.java: New file.
	* java/lang/String.java (String(StringBuilder)): New constructor.
	* java/lang/StringBuffer.java: Added comment.

	* java/lang/Override.java: Documented.
	* java/lang/Deprecated.java: Documented.

2004-09-06  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/Canvas.java
	(AccessibleAWTCanvas): added serialization UID
	* java/awt/Label.java
	(AccessibleAWTLabel): added serialization UID
	* java/net/Inet4Address.java
	(Inet4Address): added comment to serialization UID
	* java/text/Format.java
	(Format): added comment to serialization UID
	* javax/rmi/CORBA/Stub.java
	(Stub): added serialization UID
	* javax/security/auth/PrivateCredentialPermission.java
	(PrivateCredentialPermission): added serialization UID
	* javax/swing/JRootPane.java
	(AccessibleJRootPane): added comment to existing UID
	* javax/swing/JSpinner.java
	(DefaultEditor): added serialization UID
	(NumberEditor): added serialization UID
	* javax/swing/SpinnerListModel.java
	(SpinnerListModel): added serialization UID
	* javax/swing/SpinnerNumberModel.java
	(SpinnerNumberModel): added serialization UID
	* javax/swing/text/html/HTML.java
	(UnknownTag): added serialization UID
	* org/ietf/jgss/GSSException.java
	(GSSException): added serialization UID
	
2004-09-06  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Runtime.java
	(load): Added link security check.
	(loadLib): Changed link security check to read check.
	(loadLibrary): Added link security check and throw if ClassLoader
	supplied library doesn't exist.

2004-09-06  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/io/EncodingManager.java
	(decoder_cons): Removed.
	(encoder_cons): Removed.
	(getSystemProperty): New method. Replaced all direct calls to
	System.getProperty with calls to this new helper that goes
	via AccessController.doPrivileged.
	(findDecoderConstructor): Removed unused caching support.
	(findEncoderConstructor): Removed unused caching support.
	(getDecoder(String,boolean)): Removed unused method.
	(getDecoder(InputStream)): Added exception chaining.
	(getDecoder(InputStream,String,boolean)): Removed unused method.
	(getEncoder(String,boolean)): Removed unused method.
	(getEncoder(OutputStream)): Added exception chaining.
	(getEncoder(OutputStream,String,boolean)): Removed unused method.
	(getEncoder(OutputStream,String)): Added exception chaining.

2004-09-05  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/swing/AbstractButton.java
	Fixed a typo.
	* javax/swing/JToggleButton.java
	Added missing documentation.
	(AccessibleJToggleButton): new inner class
	(AccessibleJToggleButton()): new constructor
	(getAccessibleRole()): new method
	(itemStateChanged(ItemEvent)): new method
	(JToggleButton(Icon, boolean)): new constructor
	(getAccessibleContext()): implemented
	(updateUI()): style cleanup
	* javax/swing/JRadioButton.java
	Added missing documentation.
	(AccessibleJRadioButton): new inner class
	(AccessibleJRadioButton()): new constructor
	(getAccessibleRole()): new method
	(JRadioButton(Icon, boolean)): new constructor
	(JRadioButton(String, boolean)): new constructor
	(JRadioButton(String, Icon, boolean)): new constructor
	(getAccessibleContext()): implemented
	(updateUI()): new method

2004-09-05  Mark Wielaard  <mark@klomp.org>

 	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c
	(setChars): Only call pango_itemize() when vec->glyphitems != NULL.
	Only call pango_shape() when gi->glyphs->num_glyphs > 0.

2004-09-05  Mark Wielaard  <mark@klomp.org>
	
	* gnu/java/awt/peer/gtk/GdkGraphics.java (setColor): Use
	Color.BLACK if c == null, don't create new Color object each time.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java (comp): New private
	field.
	(setColor): Use Color.BLACK when argument null.
	(setComposite): Set this.comp field.
	(getComposite): Return this.comp, or AlphaComposite.SrcOver when null.
	(DrawState.comp): New private field.
	(DrawState.save): Save Composite.
	(DrawState.restore): Restore comp field.
	* java/awt/FontMetrics.java (gRC): New static final private field.
	(getLineMetrics(String, Graphics)): New method.
	(getLineMetrics(String, int, int, Graphics)): Likewise.
	(getLineMetrics(char[], int, int, Graphics)): Likewise.
	(getLineMetrics(CharacterIterator, int, int, Graphics)): Likewise.
	* javax/swing/JMenu.java (JMenu(String, boolean)): Ignore tearoff
	argument. PR SWING/17294.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java (): Always use
	the fall-back code since none of the TextArea methods are really
	implemented now. PR SWING/17296.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c
	(GdkGlyphVector_setChars): Replace assert() with if block when
	pango_itemize() returns null. PR AWT/17295.
	(GdkGlyphVector_allInkExtents): Likewise when vec->glyphitems is null.
	
2004-09-05  Mark Wielaard  <mark@klomp.org>

	* examples/gnu/classpath/examples/swing/Demo.java (mkComboBox):
	New method.

2004-09-05  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/ComboBoxEditor.java: Added javadocs.
	* javax/swing/ComboBoxModel.java: Likewise.
	* javax/swing/DefaultComboBoxModel.java: Implemented.
	* javax/swing/DefaultListCellRenderer.java: Added javadocs
	and ran through jalopy to fix formatting style.
	(getListCellRendererComponent): Use appropriate border
	if renderer has focus and use noFocusBorder when it doesn't.
	* javax/swing/JComboBox.java: Implemented.
	* javax/swing/JList.java:
	(locationToIndex): New Method. Implemented.
	(indexToLocation): New Method.
	* javax/swing/JPopupMenu.java: 
	(visible): New field.
	(isVisible): Changed to use new field above.
	(setVisible): Likewise.
	* javax/swing/MutableComboBoxModel.java: Added javadocs.
	* javax/swing/plaf/basic/BasicArrowButton.java: 
	(shadow): Changed default color to Color.gray.
	* javax/swing/plaf/basic/BasicComboBoxUI.java: New File.
	UI delegate for JComboBox.
	* javax/swing/plaf/basic/BasicComboPopup.java: New File.
	Popup menu containing list of JComboBox's items.
	* javax/swing/plaf/basic/BasicComboBoxEditor.java: New File.
	* javax/swing/plaf/basic/BasicComboBoxRenderer.java: New File.
	* javax/swing/plaf/basic/BasicComboBoxUI.java: New File.
	* javax/swing/plaf/basic/BasicComboPopup.java: New File.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	(popupMenuWillBecomeVisible): Set selected path to the first
	element only if it is of type MenuElement. Also fix formatting
	style.
	* javax/swing/plaf/basic/ComboPopup.java: Added javadocs and missing
	methods signatures.

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

	* java/awt/dnd/package.html: Fixed typo.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/Box.java: Fix setting of layout in ctor.
	* javax/swing/JScrollPane.java: Scroll headers as well.
	* javax/swing/JTable.java: Reimplement.
	* javax/swing/JViewPort.java: Only add non-null children.
	* javax/swing/ScrollPaneLayout.java: Correct header calculations.
	* javax/swing/Timer.java: Fix stopping null waker.
	* javax/swing/plaf/basic/BasicTableHeaderUI.java: New file.
	* javax/swing/plaf/basic/BasicTableUI.java: New file.
	* javax/swing/table/DefaultTableCellRenderer.java: Configure.
	* javax/swing/table/DefaultTableColumnModel.java: Flesh out.
	* javax/swing/table/DefaultTableModel.java: Clean up.
	* javax/swing/table/JTableHeader.java: Implement.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/DefaultButtonModel.java:
	Skip group notification when no group is set.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JComponent.java
	(resetKeyboardActions): Add null checks.

2004-09-04  Mark Wielaard  <mark@klomp.org>

	* examples/gnu/classpath/examples/swing/Demo.java (mkColorChooser):
	New method.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JColorChooser.java:
	Make a couple inner classes static, for jikes.

2004-09-04  Kim Ho  <kho@redhat.com>

	* java/awt/Color.java: Fix documentation.
	(RGBtoHSB): Use floats for conversions.
	* javax/swing/ButtonGroup.java: Run Jalopy.
	(setSelected): Reimplement.
	* javax/swing/DefaultButtonModel.java: Run Jalopy.
	(changeState): Let ButtonGroup know that the button 
	is changing state.
	* javax/swing/JColorChooser.java: Implement.
	* javax/swing/JLabel.java: Run Jalopy.
	* javax/swing/JSpinner.java: Run Jalopy.
	(setValue): New method.
	* javax/swing/JTabbedPane.java: Run Jalopy.
	(removeTabAt): Call correct remove method.
	* javax/swing/SpinnerNumberModel.java: Run Jalopy.
	(getPreviousValue): Compare minimum value.
	* javax/swing/Timer.java: Run Jalopy.
	(run): Comment out println.
	* javax/swing/ToolTipManager.java:
	(mouseMoved): Get new tooltip text for location.
	* javax/swing/colorchooser/AbstractColorChooserPanel.java:
	Jalopy and Javadoc.
	* javax/swing/colorchooser/ColorChooserComponentFactory.java:
	Implement.
	* javax/swing/colorchooser/DefaultColorSelectionModel.java:
	Run Jalopy.
	(setSelectedColor): Fire ChangeEvent.
	* javax/swing/colorchooser/DefaultHSBChooserPanel.java:
	New file. Implement.
	* javax/swing/colorchooser/DefaultPreviewPanel.java:
	Ditto.
	* javax/swing/colorchooser/DefaultRGBChooserPanel.java:
	Ditto.
	* javax/swing/colorchooser/DefaultSwatchChooserPanel.java:
	Ditto.
	* javax/swing/plaf/basic/BasicArrowButton.java:
	(getArrow): Fix size of upward pointing button.
	* javax/swing/plaf/basic/BasicColorChooserUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	(getWidthOfWidestLabel): Use preferred dimensions.
	(getHeightOfTallestLabel): Ditto.
	* javax/swing/plaf/basic/BasicSpinnerUI.java:
	Run Jalopy.
	(mousePressed): Disable changes to spinner if it is not enabled.

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

	* java/io/DeleteFileHelper.java (DeleteFileHelper): No longer
	public.

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

	* javax/swing/JTextArea.java
	(lineWrap): Renamed from "wrapping".
	(wrapStyleWord): NEw field.
	(getLineWrap): Re-edited javadoc comment.
	(setLineWrap): Likewise.
	(getWrapStyleWord): New method.
	(setWrapStyleWord): Likewise.

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

	* javax/swing/plaf/basic/BasicTextAreaUI.java
	(create): New method.
	* javax/swing/text/DefaultHighlighter.java
	(DefaultHighlightPainter.debugRect): Removed.
	* javax/swing/text/StyleContext.java
	(DEFAULT_STYLE): New field.

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

	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initComponentDefaults): Add keybindings for selection.backward and
	selection-forward for text components.
	* javax/swing/plaf/basic/BasicTextUI.java
	(paintSafely): Paint highlight only when something is actually
	selected.
	* javax/swing/text/DefaultCaret.java
	(handleHighlight): New method.
	(setSelectionVisible): Don't do anything when nothing changes.
	Handle highlight.
	(moveDot): Reimplemented. Handle highlight.
	(setDot): Set mark too. Handle highlight.
	(getSelectionPainter): New method.
	* javax/swing/text/DefaultEditorKit.java
	(defaultActions): Added new actions for text selection.
	* javax/swing/text/DefaultHighlighter.java
	(DefaultHighlightPainter): New inner class.
	(DefaultPainter): New field.
	(paint): Implemented.
	* javax/swing/text/PlainView.java
	(paint): Don't draw background here again.
	* javax/swing/text/Utilities.java
	(getTabbedTextWidth): Use width of ' ' instead of 'm' for tabsize.
	(drawTabbedText): Likewise.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Component.java
	(isFocusTraversable): Predicate on isLightweight()
	(setFocusable): Set isFocusTraversableOverridden.
	(requestFocus): Predicate peer dispatch on !isLightweight()
	(requestFocusInWindow): Likewise.
	(dispatchEventImpl): Coordinate with KeyboardFocusManager.
	* java/awt/Container.java
	(dispatchEventImpl): Predicate on event mask.
	(LightweightDispatcher): Remove focus machinery.
	* java/awt/DefaultFocusTraversalPolicy.java
	(accept): Expand predicate to include isFocusable().
	* java/awt/DefaultKeyboardFocusManager.java:
	Globally change c.dispatchEvent(e) to redispatchEvent(c,e)
	* java/awt/KeyboardFocusManager.java
	(redispatchEvent): Synchronize on event to prevent feedback.
	* javax/swing/AbstractButton.java
	(ButtonFocusListener): Remove class.
	(init): Set focusPainted, focusable.
	* javax/swing/ActionMap.java (get): Check parent for null.
	* javax/swing/InputMap.java (get): Likewise.
	* javax/swing/JComponent.java
	(inputMap_whenFocused): New InputMap.
	(inputMap_whenAncestorOfFocused): Likewise.
	(inputMap_whenInFocusedWindow): Likewise.
	(getActionForKeyStroke): Rewrite.
	(getConditionForKeystroke): Likewise.
	(ActionListenerProxy): New private class.
	(setInputMap): Implement.
	(getInputMap): Likewise.
	(setActionMap): Likewise.
	(getActionMap): Likewise.
	(processComponentKeyEvent): New empty method.
	(processKeyEvent): Implement.
	(processKeyBinding): Likewise.
	(resetKeyboardActions): Rewrite.
	* javax/swing/KeyStroke.java: Rewrite.
	* javax/swing/SwingUtilities.java
	(notifyAction): Implement.
	(replaceUIActionMap): Likewise.
	(replaceUIInputMap): Likewise.
	* javax/swing/plaf/basic/BasicButtonListener.java
	(focusGained): Implement.
	(focusLost): Repaint if focusPainted().
	(installKeyboardActions): Install pressed / released actions.
	(uninstallKeyboardActions): Implement.
	* javax/swing/plaf/basic/BasicButtonUI.java
	(focusColor): New field.
	(installDefaults): Load focus color, install input map.
	(installKeyboardActions): Implement.
	(uninstallKeyboardActions): Likewise.
	(paintFocus): Rewrite.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(Button.focus): New default, midPurple.
	* javax/swing/plaf/basic/BasicTextUI.java
	(kit): Make static.
	(installUI): Get doc from kit, load defaults.
	(getKeymapName): Implement.
	(createKeymap): Likewise.
	(installKeyboardActions): Likewise.
	(getInputMap): Likewise.
	(getActionMap): Likewise.
	(createActionMap): Likewise.
	* javax/swing/text/AbstractDocument.java
	(getStartPosition): Implement.
	(getEndPosition): Likewise.
	* javax/swing/text/DefaultEditorKit.java
	(CopyAction): New class.
	(CutAction): Likewise.
	(DefaultKeyTypedAction): Likewise.
	(InsertBreakAction): Likewise.
	(InsertContentAction): Likewise.
	(InsertTabAction): Likewise.
	(PasteAction): Likewise.
	(defaultActions): New static table.
	(createCaret): Implement.
	(getActions): Likewise.
	* javax/swing/text/JTextComponent.java
	(KeymapWrapper): New private class.
	(KeymapActionMap): Likewise.
	(DefaultKeymap): New class.
	(keymaps): New static table.
	(keymap): New field.
	(getKeymap): Implement.
	(removeKeymap): Likewise.
	(addKeymap): Likewise.
	(setKeymap): Likewise.
	(loadKeymap): Likewise.
	(getActions): Likewise.
	(margin): New field.
	(JTextComponent): Build and install default keymap.
	* javax/swing/text/TextAction.java
	(textAction): Call super properly.
	(getTextComponent): Implement.
	* javax/swing/text/Utilities.java
	(drawTabbedText): Adjust position by ascent.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(RottView.modelToView): New method.
	(UpdateHandler): Renamed from EventHandler.
	(updateHandler): Renamed from eventHandler.
	(modelToView): Implemented.
	* javax/swing/text/AbstractDocument.java
	(BranchElement.getElement): Return null for non-existing indeces.
	(BranchElement.getElementIndex): Return 0 in some corner cases.
	* javax/swing/text/FieldView.java
	(modelToView): New method.
	* javax/swing/text/PlainView.java
	(modelToView): Made public.
 
2004-09-04  Michael Koch  <konqueror@gmx.de>

	* javax/swing/text/AbstractDocument.java
	(createBranchElement): Use new constructor of BranchElement.
	(createLeafElement): Renamed arguments.
	(getRootElements): Implemented.
	(BranchElement.start): Removed.
	(BranchElement.end): Likewise.
	(BranchElement.BranchElement): Fixed arguments.
	(BranchElement.getEndOffset): Reimplemented.
	(BranchElement.getStartOffset): Likewis.
	* javax/swing/text/DefaultCaret.java
	(paint): Draw simple vertical line as caret instead of a rectangle.
	* javax/swing/text/JTextComponent.java
	(setText): Use doc directly.
	* javax/swing/text/PlainView.java
	(nextTabStop): Implemented.
	* javax/swing/text/Utilities.java
	(drawTabbedText): nextTabStop() returns an absolute x position.
	(getTabbedTextWidth): Likewise.

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

	* javax/swing/text/PlainView.java
	(selectedColor): New field.
	(unselectedColor): Likewise.
	(font): Likewise.
	(updateMetrics): New method.
	(lineToRect): Likewise.
	(modelToView): Likewise.
	(drawSelectedText): Use color from JTextComponent ad draw with
	Utilities class.
	(drawUnselectedText): Likewise.
	(paint): Initialize helper fields.
	* javax/swing/text/View.java
	(getChildAllocation): New method.
	(getViewIndex): Likewise.
	(getToolTipText): Likewise.

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

	* javax/swing/text/Utilities.java
	(drawTabbedText): Reimplemented.
	(getTabbedTextWidth): Likewise.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(installDefaults): Install caret and highlighter.
	(modelToView): Use Bias.Forward when calling sibling.
	* javax/swing/text/AbstractDocument.java
	(ElementEdit): Implements DocumentEvent.ElementChange.
	(ElementEdit.ElementEdit): New method.
	(ElementEdit.getChildrenAdded): Likewise.
	(ElementEdit.getChildrenRemoved): Likewise.
	(ElementEdit.getElement): Likewise.
	(ElementEdit.getIndex): Likewise.
	* javax/swing/text/DefaultCaret.java
	(color): Removed.
	(textComponent): Renamed from parent, made private.
	(selectionVisible): Renamed from vis_sel, made private.
	(blinkRate): Renamed from blink, made private.
	(magicCaretPosition): Renamed from magic, made private.
	(visible): Renamed from vis, made private.
	(dot): Made private.
	(mark): Likewise.
	(deinstall): Remove as MouseMotionListener.
	(install): Initialize textComponent first. Add as 
	MouseMotionListener.
	(paint): Reimplemented.
	* javax/swing/text/JTextComponent.java
	(setCaret): Deinstall old caret, install new one and fire property
	change after setting property.
	(setHighlighter): Deinstall old highlighter, install new one and fire
	property change after setting property.
	(setCaretColor): Fire property change after setting property.
	(setDisabledTextColor): Likewise.
	(setSelectedTextColor): Likewise.
	(setSelectionColor): Likewise.
	(modelToView): New method.

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

	* javax/swing/text/AbstractDocument.java
	(getText): Simplified.
	* javax/swing/text/Segment.java
	(current): New field.
	(current): Reimplemented.
	(first): Likewise.
	(getIndex): Likewise.
	(last): Likewise.
	(next): Likewise.
	(previous): Likewise.
	(setIndex): Likewise.

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

	* javax/swing/plaf/basic/BasicButtonUI.java
	(defaultTextIconGap): Made protected.
	(defaultTextShiftOffset): Likewise.
	(textShiftOffset): New field.
	(clearTextShiftOffset): New method.
	(getTextShiftOffset): Likewise.
	(setTextShiftOffset): Likewise.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(installUI): Add eventHandler as property listener.
	(uninstallUI): remove eventHandler as propert listener.
	(installDefaults): Added comment.
	(installListeners): Likewise.
	(installKeyboardActions): Likewise.
	(uninstallDefaults): Likewise.
	(uninstallListeners): Likewise.
	(uninstallKeyboardActions): Likewise.

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

	* javax/swing/text/AbstractDocument.java:
	Fixed some typos in comments.
	(insertString): Reimplemented.
	(remove): Likewise.
	(replace): New method.
	(children): Dont use fully qualified class name.
	(DefaultDocumentEvent.offset): Renamed from off.
	(DefaultDocumentEvent.length): Renamed from len.
	(DefaultDocumentEvent.type): New field.
	(DefaultDocumentEvent.DefaultDocumentEvent): New constructor.
	(DefaultDocumentEvent.getType): Implemented.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(RootView.textComponent): Removed.
	(RootView.RootView): Don't initialize textComponent.
	(RootView.getViewFactory): New method.
	(EventHandler): New inner class.
	(rootView): Initialize at instance creation.
	(eventHandler): New field.
	(installUI): Don't create view hierarchy directly,
	call modelChanged() instead.
	(modelChanged): New method.
	* javax/swing/text/JTextComponent.java
	(setDocument): Fire property change event.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(RootView.paint): Removed debug output.
	(paintSafely): Draw highlighter before text.
	(paintBackground): Use background color of text component.
	* javax/swing/plaf/basic/BasicToggleButtonUI.java:
	Reformatted.

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

	* javax/swing/plaf/basic/BasicToolBarUI.java
	(BasicToolBarUI): Fixed arguments for constructor.
	(createUI): Fixed creation of object.

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

	* javax/swing/text/TabSet.java
	(TabSet): Implements java.io.Serializable.
	* javax/swing/text/TabStop.java
	(TabStop): Implements java.io.Serializable.
	(TabStop): Made public.

2004-09-04  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/text/SimpleAttributeSet.java: New file.
	* javax/swing/text/StyleConstants.java: New file.
	* javax/swing/text/StyleContext.java: New file.
	* javax/swing/text/TabSet.java: New file.
	* javax/swing/text/TabStop.java: New file.
	* javax/swing/text/AbstactDocument.java:
	(AbstractElement): Implement attribute support.
	* javax/swing/text/AttributeSet.java
	(NameAttribute): New static field.
	(ResolveAttribute): New static field.

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

	* javax/swing/JComponent.java
	(setUI): Fire PropertyChange.
	* javax/swing/JLabel.java
	(text): Renamed from labelText.
	(horizontalAlignment): New default vlaue.
	(icon): Renamed from activeIcon.
	(displayedMnemonic): Renamed from mnemonicKey, added default value.
	(displayedMnemonicIndex): Renamed from underlineChar.
	(setDisplayedMnemonic): Reimplemented.
	* javax/swing/JRadioButton.java
	(JRadioButton): New constructors.
	* javax/swing/JTextField.java
	(JTextField): Throw exception if colums < 0, initialitialz
	this.columns directly and initialize document with text 
	conditionally.

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

	* javax/swing/plaf/basic/BasicFormattedTextFieldUI.java,
	javax/swing/plaf/basic/BasicPasswordFieldUI.java,
	javax/swing/plaf/basic/BasicTextAreaUI.java: New files.
	* javax/swing/text/FieldView.java
	(paint): Just call super method for now.

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

	* javax/swing/TransferHandler.java,
	javax/swing/plaf/basic/ComboPopup.java: New files

2004-09-04  Roman Kennke  <roman@ontographics.com>

	* javax/swing/text/Utilities.java: New file.

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

	* examples/gnu/classpath/examples/swing/Demo.java:
	Added demo for JTextField.


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

	* java/lang/SuppressWarnings.java: Added imports.
	* java/lang/Override.java: Added imports.
	* java/lang/Deprecated.java: Added imports.

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

	* Makefile.am (SUBDIRS): Remove external.
	* configure.ac (AC_CONFIG_FILES): Remove external/Makefile.
	* doc/api/Makefile.am: Don't refer to external directory
	* lib/Makefile.am: Likewise.
	* lib/gen-classlist.sh.in: Likewise.
	* external/*: Removed.
	* NEWS: Mention GNU JAXP.

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

	* java/util/EnumMap.java: New file.
	* java/util/EnumSet.java: New file.
	* java/util/BitSet.java (containsAll): New method.

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

	* NEWS: Add new news.

2004-08-29  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Check for sys/time.h, localtime_r, tm_gmtoff in
	struct tm and for for global timezone variable.
	* include/Makefile.am: Generate include/java_util_VMTimeZone.h.
	* include/java_util_TimeZone.h: Removed.
	* include/java_util_VMTimeZone.h: Added.
	* java/util/TimeZone.java (defaultZone): Use VMTimeZone.
	(getDefaultTimeZone): Make package private. Check that GMToffset
	contains at least one digit.
	(getDefaultTimeZoneId, readTimeZoneFile, readtzFile): (Re)Moved to
	VMTimeZone.
	* vm/reference/java/util/VMTimeZone.java: New file with above methods.
	* native/jni/java-util/Makefile.am: Compile new java_util_VMTimeZone.c.
	* native/jni/java-util/java_util_TimeZone.c: Removed.
	* native/jni/java-util/java_util_VMTimeZone.c: New file.
	* native/target/generic/target_generic_misc.h
	(TARGET_NATIVE_MISC_GET_TIMEZONE_STRING): Removed unused macro.
	* NEWS: Mention TimeZone/VMTimeZone split.
	
2004-08-31  Michael Koch  <konqueror@gmx.de>

	* javax/swing/DefaultListSelectionModel.java
	(fireValueChanged): Renamed from fireSelectionValueChanged,
	made protected.

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

	* vm/reference/java/io/VMFile.java:
	Reindented.


2004-08-29  Mark Wielaard  <mark@klomp.org>

	* resource/org/.cvsignore: New file.
	* resource/org/ietf/.cvsignore: Likewise.
	* resource/org/ietf/jgss/.cvsignore: Likewise.

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

	* configure.ac: Depend on automake 1.9.
	* INSTALL: Likewise.
	* INSTALL: Updated to depend on automake 1.9 and libtool 1.5.
	* autogen.sh: Likewise.
	* configure.ac (AM_INIT_AUTOMAKE): Depend on automake 1.9, support
	long paths in dist tarball.

2004-08-28  Mark Wielaard  <mark@klomp.org>

	* java/util/TimeZone.java (defaultZone): Try a couple of ways to get
	a TimeZoneId string and then try to convert that to a TimeZone with
	getDefaultSystemTimeZone(String).
	(timezones0): Changed type from Hashtable to HashMap.
	(timezones): Create HashMap, not Hashtable.
	(getDefaultTimeZone): New method, rewritten from CNI version.
	(readTimeZoneFile): New method.
	(readtzFile): Likewise.
	(skipFully): Likewise.

2004-08-28  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (getenv): Do security checks and call
	VMSystem.getenv().
	* vm/reference/java/lang/VMSystem.java (getenv): New static native
	method.
	* native/jni/java-lang/java_lang_VMSystem.c (getenv): New function.
	* include/java_lang_VMSystem.h: Regenerated.
	* NEWS: Mention new VMSystem.getenv() method and reference
	implementation in Runtime Interface section.

2004-08-27  Mark Wielaard  <mark@klomp.org>

	* java/util/Arrays.java
	(sort(byte[], int, int)): Check fromIndex < 0.
	(sort(char[], int, int)): Likewise.
	(sort(short[], int, int)): Likewise.
	(sort(int[], int, int)): Likewise.
	(sort(long[], int, int)): Likewise.
	(sort(float[], int, int)): Likewise.
	(sort(double[], int, int)): Likewise.
	(sort(Object[], int, int, Comparator)): Likewise.
	(qsort(byte[], int, int)): Honor lower bound from in insertion sort.
	(qsort(char[], int, int)): Honor lower bound from in insertion sort.
	(qsort(short[], int, int)): Honor lower bound from in insertion sort.
	(qsort(int[], int, int)): Honor lower bound from in insertion sort.
	(qsort(long[], int, int)): Honor lower bound from in insertion sort.
	(qsort(float[], int, int)): Honor lower bound from in insertion sort.
	(qsort(double[], int, int)): Honor lower bound from in insertion sort.

2004-08-27  David Gilbert  <david.gilbert@object-refinery.com>

	* java/awt/RenderingHints.java: Documented.
	(RenderingHints): Accept null init Map.
	(putAll): Preprocess map to generate appropriate exceptions.
	(remove): Cast object to Key and remove from hintMap.

2004-08-27  Sven de Marothy  <sven@physto.se>

 	* java/awt/geom/Area.java
	Implemented.

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

	* java/lang/reflect/AnnotatedElement.java: New file.
	* vm/reference/java/lang/reflect/Constructor.java (Constructor):
	Now generic.  Implements GenericDeclaration.
	(clazz): Now generic.
	(getDeclaringClass): Likewise.
	(getExceptionTypes): Likewise.
	(getParameterTypes): Likewise.
	(newInstance): Likewise.
	(constructNative): Likewise.
	* java/lang/reflect/GenericDeclaration.java: New file.
	* java/lang/reflect/GenericSignatureFormatError.java: New file.
	* java/lang/reflect/WildcardType.java: New file.
	* java/lang/reflect/TypeVariable.java: New file.
	* java/lang/reflect/ParameterizedType.java: New file.
	* java/lang/MalformedParameterizedTypeException.java: New file.
	* java/lang/TypeNotPresentException.java: New file.
	* java/lang/reflect/GenericArrayType.java: New file.
	* java/lang/reflect/Type.java: New file.

	* java/io/Writer.java (Writer): Implements Closeable, Flushable,
	Appendable.
	(append): New methods.
	* java/io/OutputStream.java (OutputStream): Implements Closeable,
	Flushable.
	* java/io/Reader.java (Reader): Implements Closeable.
	* java/io/InputStream.java (InputStream): Implements Closeable.
	* java/nio/channels/Channel.java (Channel): Extends Closeable.
	* java/io/Flushable.java: New file.
	* java/io/Closeable.java: New file.

2004-08-25  Mark Wielaard  <mark@klomp.org>

	* java/awt/geom/Arc2D.java (ArcIterator): Make package private.

2004-08-25  Sven de Marothy <sven@physto.se>

	* java/awt/geom/Arc2D.java
	Reformatted.
	(setArc()): Correct documentation to say 'upper left corner'.
	(setArcByTangent,contains,intersects): Implemented.
	(containsAngle): Corrected to handle negative extents.
	ArcIterator: Set to private.
	ArcIterator: Corrected for CHORD-type arcs, negative extents.
	* java/awt/geom/Ellipse2D.java
	Documented.
	(contains,intersects): Implemented.
	* java/awt/geom/Line2D.java
	(linesIntersect): Correct handling of special cases.

2004-08-24  Andrew John Hughes <gnu_andrew@member.fsf.org>

	* java/awt/Label.java, java/awt/Canvas.java
	Added accessibility classes to AWT Label and Canvas,
	as well as additional documentation for Canvas.
	
2004-08-24  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/awt/KeyboardFocusManager.java
	Added missing documentation.
 
2004-08-22  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: news on JSpinner and java crypto

2004-08-22  Casey Marshall  <csm@gnu.org>

	* java/security/cert/X509CRLSelector.java
	(match): remove unreachable try-catch clauses.
	Reported by: Dalibor Topic <robilad@kaffe.org>

2004-08-21  Casey Marshall  <csm@gnu.org>

	* java/security/AccessController.java
	Removed FIXME comment.
	(doPriviliged(PrivilegedAction)): push and pop a null context.
	(doPrivileged(PrivilegedExceptionAction)): likewise.
	(doPrivileged(PrivilegedAction,AccessControlContext)): only pass
	the context to `VMAccessController.pushContext'.
	(doPrivileged(PrivilegedExceptionAction,AccessControlContext)):
	likewise.
	* vm/reference/java/security/VMAccessController.java
	(contexts): use a ThreadLocal for this field.
	(pushContext): only take the context as parameter; insert it
	into a thread local stack.
	(popContext): take no arguments. Handle new form of `contexts'
	stack.
	(getContext): set `inGetContext' as early as possible.
	Include the call just prior to `doPrivileged' too.
	Handle new form of `contexts' stack.
 
2004-08-20  Casey Marshall  <csm@gnu.org>

	* java/security/cert/X509CRLSelector.java: new file.
	* java/security/cert/X509CertSelector.java: new file.

2004-08-18  Casey Marshall  <csm@gnu.org>

	* lib/Makefile.am (dist-hook): add `org' to remove commands, too.

2004-08-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* javax/swing/JTextArea.java
	Implemented insert() method and added additional
	documentation.
 
2004-08-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
	* javax/swing/SpinnerListModel.java, javax/swing/SpinnerModel.java
	Implemented SpinnerListModel.  Added documentation to
	SpinnerModel.
 
2004-08-18  Bryce McKinlay  <mckinlay@redhat.com>
 
 	PR libgcj/17081
	* java/net/URI.java (string): New field. Make all other fields
	transient.
	(readObject): Implemented.
	(writeObject): Implemented.
	(URI): Set 'string'.

2004-08-18  Bryce McKinlay  <mckinlay@redhat.com>

	PR libgcj/17079
	* java/util/logging/Handler.java (isLoggable): Accept record if its
	log level equals the threshold level. From Robin Green.

2004-08-17  Casey Marshall <csm@gnu.org>

	* lib/Makefile.am (dist-hook): copy `org' too.

2004-08-17  Casey Marshall <csm@gnu.org>

	* autogen.sh: use `head -n 1' instead of `head -1'.

2004-08-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/AbstractCollection.java, java/util/AbstractList.java,
	java/util/AbstractMap.java, java/util/AbstractSequentialList.java,
	java/util/ArrayList.java, java/util/Arrays.java,
 	java/util/BitSet.java, java/util/Calendar.java,
 	java/util/Collection.java, java/util/ListIterator.java,
 	java/util/Map.java, java/util/SortedSet.java:
 	Added additional exceptions to documentation, along
 	with some additions and corrections.
 
2004-08-16  Tom Tromey  <tromey@redhat.com>

	* .classpath: Updated.

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

 	Bug 9596.
	* java/lang/Class.java (getName): Fixed javadoc.
 
2004-08-16  Tom Tromey  <tromey@redhat.com>

        Bug 9949.
	* java/text/AttributedString.java (AttributedString): Use
	ArrayList to build array of attribute ranges.  Don't use
	`attribs' before it is set.

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

	Bug 9948.
	* javax/swing/JDesktopPane.java (LIVE_DRAG_MODE): Now final.
	(OUTLINE_DRAG_MODE): LIVE_DRAG_MODE.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java
	(NON_CONTINUOUS_DIVIDER): Now final.  Initialize.

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

	Bug 9946.
	* gnu/java/security/util/Prime.java (generateRandomPrime): Use
	return result from `add'.

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

	Bug 9944.
	* java/rmi/server/UID.java (UID): Read `nextCount', not count.

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

	* NEWS: Mention VMCompiler.
	* java/lang/Compiler.java: Rewrote in terms of VMCompiler.
	* vm/reference/java/lang/VMCompiler.java: New file.

2004-08-16  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/File.java File(String,String): Fixed handling of empty
	path.

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

	* java/util/AbstractQueue.java (addAll): Return a result.
	(element): Fixed typo.
	* java/util/PriorityQueue.java: New file.

2004-08-15  Casey Marshall  <csm@gnu.org>

	* java/security/DummyKeyPairGenerator.java (clone): removed
	useless instanceof check.
	* java/security/DummyMessageDigest.java (clone): likewise.
	* java/security/DummySignature.java (clone): likewise.
	* java/security/MessageDigest.java (clone): remove useless
	instanceof check.
	* java/security/MessageDigestSpi.java (clone): likewise.
	* java/security/Signature.java (clone): provide meaningful
	implementation.
	* java/security/SignatureSpi.java (clone): likewise.
	* javax/crypto/MacSpi.java (clone): likewise.

2004-08-15  Matthias Pfisterer  <Matthias.Pfisterer@web.de>
	    Tom Tromey  <tromey@redhat.com>

	* java/util/HashMap.java (HashMap): Fixed parameterization in
	`new'.
	(putAll): Fixed parameterization.
	(containsValue): Likewise.
	(clone): Likewise.
	(getEntry): Likewise.
	* java/util/Dictionary.java (remove): Fixed parameterization.
	* java/util/Collections.java (shuffle): Fixed indentation and
	type of iterator.
	(copy): Fixed argument types.
	(SingletonSet.containsAll): Fixed type parameterizations.
	(SingletonList.containsAll): Likewise.
	(EmptyMap.get): Likewise.
	(isSequential): Likewise.
	(EmptySet): Genericized.
	(EmptyList): Likewise.
	(EmptyMap): Likewise.
	(compare): Likewise.
	(SynchronizedCollection.containsAll): Fixed type
	parameterization.
	(SynchronizedCollection.iterator): Likewise.
	(SynchronizedList.listIterator): Likewise.
	(SynchronizedList.subList): Likewise.
	(SynchronizedMap.keySet): Likewise.
	(SynchronizedMap.values): Likewise.
	(synchronizedSortedSet): Likewise.
	(UnmodifiableCollection.containsAll): Likewise.
	(UnmodifiableList.listIterator): Likewise.
	* java/util/Calendar.java: Implement Comparable<Calendar>.
	(compareTo): New method.
	* java/util/Arrays.java (sort): Declare type variable.
	(asList): Corrected argument type.
	(ArrayList): Genericized.
	* java/util/ArrayList.java: Genericized.
	* java/util/AbstractSet.java (removeAll): Fix type errors in
	iterator declarations.
	* java/util/AbstractSequentialList.java (addAll): Genericize
	iterator `i'.

2004-08-14  Ka-Hing Cheung  <kahing@javabsp.org>

	* javax/swing/AbstractSpinnerModel.java,
 	javax/swing/JSpinner.java,
	javax/swing/SpinnerNumberModel.java,
 	javax/swing/plaf/basic/BasicSpinnerUI.java:
 	New files.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
 	(initClassDefaults): Added defaults for BasicSpinnerUI.
 
2004-08-14  Mark Wielaard  <mark@klomp.org>
 
	* examples/gnu/classpath/examples/swing/Demo.java (mkSpinner):
 	New method.
 	(mkButtonBar): Add Spinner.

2004-08-14  Casey Marshall <csm@gnu.org>
 
	The Big Crypto Merge of 2004.
 
	* configure.ac: generate jgss resource Makefiles.

	* lib/Makefile.am: updated for jgss resources.
 
	* lib/gen-classlist.sh.in: updated for classes in org/.

	* javax/security/auth/x500/X500Principal.java: replaced with GNU
 	Crypto's version.
 
	* resource/org/Makefile.am,
	* resource/org/ietf/Makefile.am,
	* resource/org/ietf/jgss/Makefile.am:
	new files.
 
	Files imported from GNU Crypto.
	* javax/crypto/BadPaddingException.java
	* javax/crypto/Cipher.java
	* javax/crypto/CipherInputStream.java
	* javax/crypto/CipherOutputStream.java
	* javax/crypto/CipherSpi.java
	* javax/crypto/EncryptedPrivateKeyInfo.java
	* javax/crypto/ExemptionMechanism.java
	* javax/crypto/ExemptionMechanismException.java
	* javax/crypto/ExemptionMechanismSpi.java
	* javax/crypto/IllegalBlockSizeException.java
	* javax/crypto/KeyAgreement.java
	* javax/crypto/KeyAgreementSpi.java
	* javax/crypto/KeyGenerator.java
	* javax/crypto/KeyGeneratorSpi.java
	* javax/crypto/Mac.java
	* javax/crypto/MacSpi.java
	* javax/crypto/Makefile.am
	* javax/crypto/NoSuchPaddingException.java
	* javax/crypto/NullCipher.java
	* javax/crypto/NullCipherImpl.java
	* javax/crypto/SealedObject.java
	* javax/crypto/SecretKey.java
	* javax/crypto/SecretKeyFactory.java
	* javax/crypto/SecretKeyFactorySpi.java
	* javax/crypto/ShortBufferException.java
	* javax/crypto/interfaces/DHKey.java
	* javax/crypto/interfaces/DHPrivateKey.java
	* javax/crypto/interfaces/DHPublicKey.java
	* javax/crypto/interfaces/PBEKey.java
	* javax/crypto/spec/DESKeySpec.java
	* javax/crypto/spec/DESedeKeySpec.java
	* javax/crypto/spec/DHGenParameterSpec.java
	* javax/crypto/spec/DHParameterSpec.java
	* javax/crypto/spec/DHPrivateKeySpec.java
	* javax/crypto/spec/DHPublicKeySpec.java
	* javax/crypto/spec/IvParameterSpec.java
	* javax/crypto/spec/PBEKeySpec.java
	* javax/crypto/spec/PBEParameterSpec.java
	* javax/crypto/spec/RC2ParameterSpec.java
	* javax/crypto/spec/RC5ParameterSpec.java
	* javax/crypto/spec/SecretKeySpec.java
	* javax/security/auth/AuthPermission.java
	* javax/security/auth/DestroyFailedException.java
	* javax/security/auth/Destroyable.java
	* javax/security/auth/Policy.java
	* javax/security/auth/PrivateCredentialPermission.java
	* javax/security/auth/RefreshFailedException.java
	* javax/security/auth/Refreshable.java
	* javax/security/auth/Subject.java
	* javax/security/auth/SubjectDomainCombiner.java
	* javax/security/auth/callback/Callback.java
	* javax/security/auth/callback/CallbackHandler.java
	* javax/security/auth/callback/ChoiceCallback.java
	* javax/security/auth/callback/ConfirmationCallback.java
	* javax/security/auth/callback/LanguageCallback.java
	* javax/security/auth/callback/NameCallback.java
	* javax/security/auth/callback/PasswordCallback.java
	* javax/security/auth/callback/TextInputCallback.java
	* javax/security/auth/callback/TextOutputCallback.java
	* javax/security/auth/callback/UnsupportedCallbackException.java
	* javax/security/auth/login/AccountExpiredException.java
	* javax/security/auth/login/AppConfigurationEntry.java
	* javax/security/auth/login/Configuration.java
	* javax/security/auth/login/CredentialExpiredException.java
	* javax/security/auth/login/FailedLoginException.java
	* javax/security/auth/login/LoginContext.java
	* javax/security/auth/login/LoginException.java
	* javax/security/auth/login/NullConfiguration.java
	* javax/security/auth/x500/X500PrivateCredential.java
	* javax/security/sasl/AuthenticationException.java
	* javax/security/sasl/AuthorizeCallback.java
	* javax/security/sasl/RealmCallback.java
	* javax/security/sasl/RealmChoiceCallback.java
	* javax/security/sasl/Sasl.java
	* javax/security/sasl/SaslClient.java
	* javax/security/sasl/SaslClientFactory.java
	* javax/security/sasl/SaslException.java
	* javax/security/sasl/SaslServer.java
	* javax/security/sasl/SaslServerFactory.java
	* org/ietf/jgss/ChannelBinding.java
	* org/ietf/jgss/GSSContext.java
	* org/ietf/jgss/GSSCredential.java
	* org/ietf/jgss/GSSException.java
	* org/ietf/jgss/GSSManager.java
	* org/ietf/jgss/GSSName.java
	* org/ietf/jgss/MessageProp.java
	* org/ietf/jgss/Oid.java
	* resources/org/ietf/jgss/MessagesBundle.properties

	Files imported from Jessie <http://www.nongnu.org/jessie/>
	* javax/net/ServerSocketFactory.java
	* javax/net/SocketFactory.java
	* javax/net/VanillaServerSocketFactory.java
	* javax/net/VanillaSocketFactory.java
	* javax/net/ssl/HandshakeCompletedEvent.java
	* javax/net/ssl/HandshakeCompletedListener.java
	* javax/net/ssl/HostnameVerifier.java
	* javax/net/ssl/HttpsURLConnection.java
	* javax/net/ssl/KeyManager.java
	* javax/net/ssl/KeyManagerFactory.java
	* javax/net/ssl/KeyManagerFactorySpi.java
	* javax/net/ssl/ManagerFactoryParameters.java
	* javax/net/ssl/SSLContext.java
	* javax/net/ssl/SSLContextSpi.java
	* javax/net/ssl/SSLException.java
	* javax/net/ssl/SSLHandshakeException.java
	* javax/net/ssl/SSLKeyException.java
	* javax/net/ssl/SSLPeerUnverifiedException.java
	* javax/net/ssl/SSLPermission.java
	* javax/net/ssl/SSLProtocolException.java
	* javax/net/ssl/SSLServerSocket.java
	* javax/net/ssl/SSLServerSocketFactory.java
	* javax/net/ssl/SSLSession.java
	* javax/net/ssl/SSLSessionBindingEvent.java
	* javax/net/ssl/SSLSessionBindingListener.java
	* javax/net/ssl/SSLSessionContext.java
	* javax/net/ssl/SSLSocket.java
	* javax/net/ssl/SSLSocketFactory.java
	* javax/net/ssl/TrivialHostnameVerifier.java
	* javax/net/ssl/TrustManager.java
	* javax/net/ssl/TrustManagerFactory.java
	* javax/net/ssl/TrustManagerFactorySpi.java
	* javax/net/ssl/X509KeyManager.java
	* javax/net/ssl/X509TrustManager.java
	* javax/security/cert/Certificate.java
	* javax/security/cert/CertificateEncodingException.java
	* javax/security/cert/CertificateException.java
	* javax/security/cert/CertificateExpiredException.java
	* javax/security/cert/CertificateNotYetValidException.java
	* javax/security/cert/CertificateParsingException.java
	* javax/security/cert/X509CertBridge.java
	* javax/security/cert/X509Certificate.java

2004-08-14  Casey Marshall <csm@gnu.org>

	Author e-mail updated for all files.
	* gnu/java/security/OID.java (equals): test if the aurgment is an
	instance of OID.
	(compareTo): use `equals'.
	* gnu/java/security/der/BitString.java (equals): test if the
	argument is an instance of BitString.
	* gnu/java/security/der/DERReader.java: Removed NIO imports.  Made
	class final. Made fields private.
	(<init>): new constructor.
	(skip): new method.
	(makeString): made static; don't use NIO.
	(fromIso88591, fromUtf16Be, fromUtf8): new methods.
	* gnu/java/security/der/DERWriter.java: fixed imports.
	(writeString): don't use NIO.
	(toIso88591, toUtf16Be, toUtf8): new methods.
	* gnu/java/security/der/DERValue.java: formatting changes only.
	* gnu/java/security/der/DER.java: likewise.
 
2004-08-14  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Add --enable-gtk-cairo checking (cairo, pangoft2).
	* include/Makefile.am: Add rules for
	gnu_java_awt_peer_gtk_GdkClasspathFontPeer.h,
	gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.h,
	gnu_java_awt_peer_gtk_GdkGlyphVector.h and
	gnu_java_awt_peer_gtk_GdkGraphics2D.h.
	* include/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.h: New generated
	file.
	* include/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.h: Idem.
	* include/gnu_java_awt_peer_gtk_GdkGlyphVector.h: Idem.
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: New generated file.
	* include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated.
	* native/jni/gtk-peer/Makefile.am: Add gtk_cairo_c_source_files when
	GTK_CAIRO is set.
	* native/jni/gtk-peer/
	gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c: Declare variables
	at top of functions/block.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Likewise.

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

	* examples/.cvsignore: New file.

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

	* java/lang/Rectangle.java (intersects): Check r.width and r.height
	first.
 
2004-08-13  Tom Tromey  <tromey@redhat.com>

	* java/nio/CharBuffer.java (put): Fix typo.
	* java/nio/DoubleBuffer.java (put): Fix typo.
	* java/nio/FloatBuffer.java (put): Fix typo.
	* java/nio/IntBuffer.java (put): Fix typo.
	* java/nio/LongBuffer.java (put): Fix typo.
	* java/nio/ShortBuffer.java (put): Fix typo.

2004-08-12  Guilhem Lavaux  <guilhem@kaffe.org>

 	* java/net/URL.java (URL): Delete whitespaces in the protocol string.

2004-08-12  Tom Tromey  <tromey@redhat.com>

	* vm/reference/java/lang/VMClassLoader.java: Added security
	comment.

2004-08-10  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: added newitem about generics branch 

2004-08-09  Florian Weimer  <fw@deneb.enyo.de>

	* java/nio/ByteBuffer.java (put): Fix typo.

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

PR AWT/16121
	* native/jni/gtk-peer/gthread-jni.c: Include stdio.h.  Eliminate
	type-punning compiler warnings using unions.
	(throw): Replace bzero with memset.
 
2004-08-09  Andreas Tobler  <a.tobler@schweiz.ch>
          Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: Move
	NSA_PB macros to gtkpeer.h.  Include gtkpeer.h.
	* native/jni/gtk-peer/gtkpeer.h: Move NSA_PB macros here.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(nativeSetIconImageFromDecoder): Use NSA_GET_PB_PTR macro.

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

	* javax/swing/JMenuItem.java
	(getMenuDragMouseListeners): New method.
	(getMenuKeyListeners): Likewise.

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

	* javax/swing/AbstractButton.java
	(model): Made protected.
	(actionListener): Likewise.
	(changeListener): Likewise.
	(itemListener): Likewise.
	(multiClickThreshhold): New field.
	(getActionListeners): New method.
	(getChangeListeners): Likewise.
	(getItemListeners): Likewise.
	(fireItemStateChanged): Simplified implementation.
	(fireActionPerformed): Likewise.
	(fireStateChanged): Likewise.
	(getMultiClickThreshhold): New method.
	(setMultiClickThreshhold): Likewise.

2004-08-09  Craig Black  <craig.black@aonix.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java 
	(drawImage): Add support for scaling pixmaps.
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(copyAndScalePixmap): New native method.

2004-08-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/Button.java (Button()): Use empty string rather than
	null in no-label constructor.

2004-08-08  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:
	#include gdk.h, not gtk.h. #include jni.h, native_state.h, string.h
	and stdlib.h, not gtkpeer.h.
	(*vm): New static variable.
	(areaPreparedID): Make static.
	(areaUpdatedID): Likewise.
	(area_prepared): Get and use JNIEnv through stored JavaVM *vm.
	(area_prepared): Likewise.
	(area_updated): Likewise.
	(closed): Likewise.
	(initStaticState): Initialize *vm javaVM.
	(pumpBytes): Use given env, not global gdk_env.

2004-08-08  Mark Wielaard  <mark@klomp.org>

	* java/awt/geom/CubicCurve2D.java (solveCubic): Removed duplicate
	comments.

2004-08-08  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: Reindent.

2004-08-08  David Jee  <djee@redhat.com>

	PR AWT/16682
	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(nativeSetIconImage): Rename to nativeSetIconImageFromDecoder.
	(nativeSetIconImageFromData): New native method declaration.
	(setIconImage): Handle images not produced from GdkPixbufDecoder.
	* gnu/java/awt/peer/gtk/GtkImage.java
	(getPixelCache): New method.
	(getColorModel): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(nativeSetIconImage): Rename to nativeSetIconImageFromDecoder.
	(free_pixbuf_data): New helper function.
	(nativeSetIconImageFromData): New function.
 
2004-08-08  Kim Ho  <kho@redhat.com>

	* java/awt/Component.java:
	(processMouseEvent): Consume event after
	listeners process it.
	(processMouseMotionEvent): ditto.
	(processMouseWheelEvent): ditto.
	* java/awt/Container.java:
	(acquireComponentForMouseEvent):
	Do not dispatch to events that have been
	removed from the Container.
	(handleEvent): Consume the MouseEvents.
	* javax/swing/RepaintManager.java:
	(paintDirtyRegions): Do not add to list of 
	damaged areas if the component has no root.

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

	PR SWING/16576
	* javax/swing/JLayeredPane.java
	(setLayer): Permit changing layer after addition.
	(setPosition): Permit over-length positions.
	(layerToRange): Compare intValue()s.
	* javax/swing/Box.java (createHorizontalBox): Implement.
	(createRigidArea): Likewise.
	(createVerticalBox): Likewise.

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

	* java/lang/Enum.java: Added package declaration.

	* java/util/Collections.java (reverseOrder): Syntax fix.

	* external/jaxp/source/gnu/xml/aelfred2/XmlParser.java: Don't use
	`enum' keyword.

	* java/lang/Class.java, java/lang/Enum.java,
	java/lang/InheritableThreadLocal.java,
	java/util/AbstractCollection.java, java/util/Arrays.java,
	java/util/Collections.java, java/util/LinkedList.java,
	java/util/TreeSet.java, java/util/Vector.java: Fixed minor syntax
	errors.

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

	* java/util/AbstractQueue.java: New file.
	* java/util/LinkedList.java (element): New method.
	(offer): Likewise.
	(peek): Likewise.
	(poll): Likewise.
	(remove): Likewise.
	(LinkedList): Implement Queue.
	* java/util/Queue.java: New file.

	* java/lang/Enum.java: New file.
	* java/lang/Object.java (getClass): Now generic.

	* java/lang/StringBuffer.java (StringBuffer(CharSequence)): New
	constructor.
	(append(CharSequence)): New method
	(append(CharSequence,int,int)): Likewise.
	(StringBuffer): Implements Appendable.

	* java/lang/ref/WeakReference.java: Now generic.
	* java/lang/ref/SoftReference.java: Now generic.
	* java/lang/ref/ReferenceQueue.java: Now generic.
	* java/lang/ref/Reference.java: Now generic.
	* java/lang/ref/PhantomReference.java: Now generic.

	* java/lang/annotation/AnnotationFormatError.java: New file.
	* java/lang/annotation/IncompleteAnnotationException.java: New
	file.
	* java/lang/annotation/AnnotationTypeMismatchException.java: New
	file.
	* java/lang/annotation/RetentionPolicy.java: New file.
	* java/lang/annotation/ElementType.java: New file.
	* java/lang/annotation/Target.java: New file.
	* java/lang/annotation/Retention.java: New file.
	* java/lang/annotation/Inherited.java: New file.
	* java/lang/annotation/Documented.java: New file.
	* java/lang/annotation/Annotation.java: New file.
	* java/lang/Override.java: Fixed formatting.
	* java/lang/Deprecated.java: Now Documented.

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

	* java/net/DatagramSocket.java: Fixed typo.

	* java/awt/image/Kernel.java (clone): Use super.clone().

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

	* java/lang/Class.java (asSubClass): Cast `this', not argument.

	* vm/reference/java/lang/VMClass.java (cast): Declare.
	* java/io/SequenceInputStream.java (SequenceInputStream):
	Constructor now generic.
	(e): Updated.
	(getNextStream): Likewise.
	* java/lang/Thread.java (UncaughtExceptionHandler): New
	interface.
	(State): New enum.
	* java/lang/Readable.java: New file.
	* java/lang/Appendable.java: New file.
	* java/lang/Iterable.java: Documented.
	* java/lang/Class.java (asSubClass): New method.
	(Class): Now generic.
	* java/lang/Boolean.java (parseBoolean): New methods.
	(compareTo): Likewise.
	(Boolean): Now implements Comparable.
	* java/lang/ThreadLocal.java: Now generic.
	* java/lang/InheritableThreadLocal.java: Now generic.
	* java/lang/Deprecated.java: New file.
	* java/lang/Override.java: New file.
	* java/lang/SuppressWarnings.java: New file.

2004-08-05  Tom Tromey  <tromey@redhat.com>

	* java/lang/Iterable.java: New file.
	* java/lang/Comparable.java, java/util/AbstractCollection.java,
	java/util/AbstractList.java, java/util/AbstractMap.java,
	java/util/AbstractSequentialList.java, java/util/AbstractSet.java,
	java/util/Arrays.java, java/util/Collection.java,
	java/util/Collections.java, java/util/Comparator.java,
	java/util/Dictionary.java, java/util/Enumeration.java,
	java/util/HashMap.java, java/util/HashSet.java,
	java/util/Iterator.java, java/util/LinkedHashSet.java,
	java/util/LinkedList.java, java/util/List.java,
	java/util/ListIterator.java, java/util/Map.java,
	java/util/Set.java, java/util/SortedMap.java,
	java/util/SortedSet.java, java/util/Stack.java,
	java/util/TreeSet.java, java/util/Vector.java: Updated to use
	generics.

2004-08-04  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: latest AWT+SWING screenshots
	* doc/www.gnu.org/faq/faq.wml: [BUG9846] entry on proprietary
	VM integration

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

	* java/sql/Timestamp.java (valueOf): Synchronize access to dateFormat.

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

	* doc/api/Makefile.am,
	external/Makefile.am,
	lib/Makefile.am:
	Fixed usage of find.

2004-08-01  Sven de Marothy  <sven@physto.se>

	* java/awt/geom/CubicCurve2.java: Reindent.
	(contains): Implemented.
	(intersects): Implemented.
	* java/awt/geom/QuadCurve2D.java: Likewise.
	* java/awt/geom/GeneralPath.java: Reindent and document.
	Fully (re)implemented using separate xpoints and ypoints
	float[] coords.
	* java/awt/geom/RoundRectangle2D.java: Several bugfixes (Bug #6007).

2004-08-01  Sven de Marothy  <sven@physto.se>

	* java/awt/geom/CubicCurve2.java: Reindent.
	(contains): Implemented.
	(intersects): Implemented.
	* java/awt/geom/QuadCurve2D.java: Likewise.
	* java/awt/geom/GeneralPath.java: Reindent and document.
	Fully (re)implemented using separate xpoints and ypoints
	float[] coords.
	* java/awt/geom/RoundRectangle2D.java: Several bugfixes (Bug #6007).

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

	* NEWS: Mention new examples.
	* Makefile.am (SUBDIRS): Add examples directory.
	* configure.ac (AC_CONFIG_FILES): Add examples/Makefile.
	* lib/standard.omit: Remove TestAWT.java and Test.java
	* gnu/java/awt/peer/gtk/TestAWT.java: Removed.
	* gnu/java/awt/peer/gtk/Test.java: Removed.
	* examples/README: New file.
	* examples/Makefile.am: New file.
	* examples/gnu/classpath/examples/icons/*.png: New icon resources.
	* examples/gnu/classpath/examples/awt/Demo.java: New class.
	* examples/gnu/classpath/examples/swing/Demo.java: New class.

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

	* native/jni/gtk-peer/Makefile.am
	(EXTRA_DIST): Removed.

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

	* javax/swing/table/DefaultTableColumnModel.java
	(serialVersionUID): Made private.
	(listenerList): Initialize.
	(changeEvent): Initialize.
	* javax/swing/table/JTableHeader.java
	(JTableHeader): New constructors.
	(createDefaultColumnModel): New method.
	* javax/swing/table/TableColumn.java
	(setHeaderRenderer): Simplified code.
	(setCellRenderer): Likewise.
	(setWidth): Likewise.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* javax/swing/text/AbstractDocument.java: Reindent.
	* javax/swing/text/AttributeSet.java: Reindent.
	* javax/swing/text/DefaultEditorKit.java: Reindent.
	* javax/swing/text/EditorKit.java: Reindent.
	* javax/swing/text/Position.java: Reindent.
	* javax/swing/text/StyledEditorKit.java: Reindent.
	* javax/swing/text/TextAction.java: Reindent.
	* javax/swing/text/ViewFactory.java: Reindent.

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

	* javax/swing/JFormattedTextField.java
	(JFormattedTextField): Implemented.
	* javax/swing/text/DefaultEditorKit.java
	(BeepAction): New inner class.
	* javax/swing/text/Segment.java
	(partialReturn): New field.
	(setPartialReturn): New method.
	(isPartialReturn): Likewise.
	* javax/swing/text/View.java
	(createFragment): Fixed typo.
	(getStartOffset): New method.
	(getEndOffset): Likewise.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* javax/swing/plaf/basic/BasicArrowButton.java: Reindent.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Reindent.
	* javax/swing/plaf/basic/BasicInternalFrameUI.java: Reindent.
	* javax/swing/plaf/basic/BasicLabelUI.java: Reindent.
	* javax/swing/plaf/basic/BasicListUI.java: Reindent.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Reindent.
	* javax/swing/plaf/basic/BasicMenuUI.java: Reindent.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java: Reindent.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java: Reindent.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Reindent.
	* javax/swing/plaf/basic/BasicRootPaneUI.java: Reindent.
	* javax/swing/plaf/basic/BasicScrollBarUI.java: Reindent.
	* javax/swing/plaf/basic/BasicScrollPaneUI.java: Reindent.
	* javax/swing/plaf/basic/BasicSliderUI.java: Reindent.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java: Reindent.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java: Reindent.
	* javax/swing/plaf/basic/BasicTextUI.java: Reindent.
	* javax/swing/plaf/basic/BasicToolBarUI.java: Reindent.

2004-07-31  Roman Kennke  <roman@ontographics.com>

	* javax/swing/Box.java:
	(createGlue): Implemented
	(createHorizontalGlue): Implemented
	(createHorizontalStrut): Implemented
	(createVerticalGlue): Implemented
	(createVerticalStrut): Implemented

2004-07-31  Roman Kennke  <roman@ontographics.com>

	* javax/swing/BoxLayout.java: Reimplement.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* java/awt/Component.java: Reindent.
	* java/awt/im/InputContext.java: Reindent.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:
	Reindent.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Reindent.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated.

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

	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (create): Use tf
	variable in setEditable call.

	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(gtkWidgetSetBackground): New method.
	(gtkWidgetSetForeground): Likewise.
	(create): Set peer's editable state based on awtComponent's.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetGetPreferredDimensions): For widgets extending GtkWindow,
	use their default sizes rather than their natural requisitions.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(gtkWidgetSetSensitive): Removed.
	(gtkWidgetSetParent): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetSensitive): New method.
	(gtkWidgetSetParent): Likewise.
	Remove all set methods.
	* include/gnu_java_awt_peer_gtk_GtkChoicePeer.h: Regenerated.

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

	* gnu/java/awt/peer/gtk/GtkChoicePeer.java
	(GtkChoicePeer): Do not automatically select first item.
	(getHistory): Remove.
	(nativeGetSelected): New method.
	(nativeRemoveAll): New method.
	(add): Use nativeGetSelected() instead of getHistory().
	(remove): Likewise.
	(removeAll): Call nativeRemoveAll().
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(create): Migrate to GtkComboBox.
	(append): Likewise.
	(nativeAdd): Likewise.
	(nativeRemove): Likewise.
	(select): Likewise.
	(nativeRemoveAll): New method.
	(nativeGetSelected): New method.
	(selection_changed): New method.
	(getHistory): Remove.
	(item_activate): Remove.
	(item_removed): Remove.
	(connect_choice_item_selectable_hook): Remove.

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

	* java/awt/Component.java: Document AWT 1.0 event handler
	methods.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/EmbeddedWindow.java: Reindent.
	* gnu/java/awt/image/ImageDecoder.java: Reindent.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Reindent.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java: Reindent.
	* java/awt/DefaultKeyboardFocusManager.java: Reindent.
	* java/awt/Frame.java: Reindent.
	* javax/swing/JCheckBox.java: Reindent.
	* javax/swing/JCheckBoxMenuItem.java: Reindent.
	* javax/swing/UIDefaults.java: Reindent.
	* javax/swing/UIManager.java: Reindent.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* java/awt/image/DirectColorModel.java: Reindent.
	* java/awt/image/MemoryImageSource.java: Likewise.
	* java/awt/image/RGBImageFilter.java: Likewise.

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

	PR AWT/16040
	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
	* gnu/java/awt/peer/gtk/GtkListPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Likewise.
	* java/awt/AWTKeyStroke.java: Remove old modifier masks.
	* java/awt/Component.java: Replace old modifier masks with new
	ones.
	* java/awt/Container.java: Call getModifiersEx, not
	getModifiers.
	* java/awt/DefaultKeyboardFocusManager.java: Likewise.  Remove
	old modifier masks.
	* javax/swing/JMenuItem.java: Replace old button masks with new
	ones.
	* javax/swing/KeyStroke.java: Call getModifiersEx, not
	getModifiers.
	* javax/swing/SwingUtilities.java: Likewise.
	* javax/swing/plaf/basic/BasicButtonListener.java: Likewise.
	* javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Replace old
	mask macros with new ones.
	* native/jni/gtk-peer/gtkpeer.h: Replace old button and modifier mask
	macros with new ones representing new masks.

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

	* java/awt/DefaultKeyboardFocusManager.java
	(postProcessKeyEvent): Only activate MenuShortcuts on KEY_PRESSED
	event.  Fix shift modifier checking.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(accel_attach): Remove.
	(setupAccelGroup): Remove calls to accel_attach.

2004-07-31  Patrik Reali  <reali@acm.org>

	* gnu/java/nio/SelectorImpl.java,
	include/Makefile.am,
	include/gnu_java_nio_SelectorImpl.h,
	include/gnu_java_nio_VMSelector.h,
	native/jni/java-nio/Makefile.am,
	native/jni/java-nio/gnu_java_nio_SelectorImpl.c,
	native/jni/java-nio/gnu_java_nio_VMSelector.c,
	vm/reference/gnu/java/nio/VMSelector.java: native method moved from
	gnu/java/nio/SelectorImpl to vm/reference/gnu/java/nio/VMSelector

2004-07-31  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java:
	(acquireComponentForMouseEvent): Respect
	the event mask when looking for candidate.
	* javax/swing/JComponent.java:
	Remove toolTip field.
	(createToolTip): Create a tooltip on demand.
	(setToolTipText): Register with the ToolTipManager.
	(getToolTipText(MouseEvent)): Return getToolTipText().
	* javax/swing/JToolTip.java: Implement.
	* javax/swing/Timer.java: Jalopy.
	(restart): Call stop, then start.
	(stop): Interrupt the timer rather than wait for
	the timer to come to a stop naturally.
	* javax/swing/ToolTipManager.java: Implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Change ToolTip.background color.
	* javax/swing/plaf/basic/BasicToolTipUI.java:
	Implement.

2004-07-31  Mark Wielaard  <mark@klomp.org>

	* include/Makefile.am: Add rules to generate
	gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h.
	* include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h: New
	generated header file.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h:
	Removed
	* native/jni/gtk-peer/gthread-jni.c: Define MIN_, MAX_ and NORM_
	PRIORITY when not already defined in header file.

2004-07-31  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: AWT bug reports on GCC bugzilla
	* doc/www.gnu.org/faq/faq.wml: how to edit the web pages

2004-07-30  Mark Wielaard  <mark@klomp.org>

	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Likewise.

	* include/gnu_java_nio_VMPipe.h: Regenerated.

2004-07-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkArg.java: Remove file.
	* gnu/java/awt/peer/gtk/GtkArgList.java: Remove file.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(create(String)): New method.
	(create): Call new create method.
	(getArgs): Remove method.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 
	(nativeCreate): Rename to create.
	(gtkSetLabel): Rename to gtkButtonSetLabel.
	(gtkToggleButtonSetActive): New method.
	(create): Call gtkToggleButtonSetActive and gtkButtonSetLabel.
	(setState): Replace set call with gtkToggleButtonSetActive.
	(setLabel): Replace gtkSetLabel call with gtkButtonSetLabel.
	(getArgs): Remove method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetSensitive): New method.
	(gtkWidgetSetParent): Likewise.
	(GtkComponentPeer): Call setParent, setComponentBounds and
	setVisibleAndEnabled.
	(setParent): New method.
	(setComponentBounds): New method.
	(setVisibleAndEnabled): New method.
	(setEnabled): Call gtkWidgetSetSensitive.
	(getArgs): Remove method.
	Remove all set methods.
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Call
	gtkWindowSetModal, setTitle and setResizable.
	(getArgs): Remove method.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	(setComponentBounds): New method.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable):
	Replace set call with gtkWindowSetResizable.
	(getArgs): Remove method.
	(create): Call setTitle and setResizable.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(gtkWindowSetTitle): New method.
	(gtkWindowSetResizable): New method.
	(gtkWindowSetModal): New method.
	(setParent): New method.
	(setVisibleAndEnabled): New method.
	(getArgs): Remove method.
	(setTitle): Call gtkWindowSetTitle.
	(setResizable): Call gtkWindowSetResizable.
	* native/jni/gtk-peer/gtkpeer.h [DEBUG_LOCKING]: New define to turn on
	and off locking instrumentation.

2004-07-30  Mark Wielaard  <mark@klomp.org>

	* javax/swing/AbstractButton.java: Reformat.
	* javax/swing/ActionMap.java: Likewise.
	* javax/swing/ComponentInputMap.java: Likewise.
	* javax/swing/DefaultDesktopManager.java: Likewise.
	* javax/swing/ImageIcon.java: Likewise.
	* javax/swing/InputMap.java: Likewise.
	* javax/swing/JButton.java: Likewise.
	* javax/swing/JEditorPane.java: Likewise.
	* javax/swing/JInternalFrame.java: Likewise.
	* javax/swing/JMenu.java: Likewise.
	* javax/swing/JMenuBar.java: Likewise.
	* javax/swing/JMenuItem.java: Likewise.
	* javax/swing/JOptionPane.java: Likewise.
	* javax/swing/JPopupMenu.java: Likewise.
	* javax/swing/JRootPane.java: Likewise.
	* javax/swing/JScrollPane.java: Likewise.
	* javax/swing/JTable.java: Likewise.
	* javax/swing/JTextField.java: Likewise.
	* javax/swing/JToolBar.java: Likewise.
	* javax/swing/MenuSelectionManager.java: Likewise.
	* javax/swing/RepaintManager.java: Likewise.
	* javax/swing/ScrollPaneLayout.java: Likewise.
	* javax/swing/UIManager.java: Likewise.
	* javax/swing/ViewportLayout.java: Likewise.

2004-07-30  Craig Black  <craig.black@aonix.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java 
	(drawRoundRect): Implemented.
	(fillRoundRect): Implemented.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java 
	(drawRoundRect): Reimplemented to match GdkGraphics.
	(fillRoundRect): Reimplemented to match GdkGraphics.

2004-07-30  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(initState(GtkComponentPeer)): Don't return array of colour
	values.
	(GdkGraphics(int,int)): Set default font to size 12.
	(GdkGraphics(GtkComponentPeer)): Set graphics colour to
	component's foreground colour.
	* gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(initState(GtkComponentPeer)): Don't return array of colour
	values.
	(GdkGraphics2D(GtkComponentPeer)): Set foreground and background
	colours to component's colours.
	(current_colors_of_widget): Remove function.
	* gnu/java/awt/peer/gtk/GtkOffScreenImage.java (getGraphics):
	Return a new graphics object.
	* java/awt/Font.java (toString): Fix format.
	* java/awt/Graphics.java (toString): Likewise.

2004-07-30  Mark Wielaard  <mark@klomp.org>

	* include/gnu_java_awt_peer_gtk_GdkGraphics.h: Regenerated

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

	* gnu/java/awt/ClasspathToolkit.java (createImageProducer): New.
	Default implementation.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (createImageProducer): New.
	Implement using GdkPixbufDecoder.

2004-07-30  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/lang/Runtime.java
	(addShutdownHook): Improved error messages.

2004-07-29  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	* java/util/Collection.java, java/util/List.java,
	java/util/Map.java, java/util/Set.java,
	java/util/SortedMap.java, java/util/SortedSet.java:
	Added additional exceptions to documentation.
	
2004-07-29  Mark Wielaard  <mark@klomp.org>

	* lib/Makefile.am: Default to gcj as source to bytecode compiler.

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

	* lib/Makefile.am: Don't include glibj.zip into dist tarball.

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

	* gnu/java/awt/EmbeddedWindow.java
	(addNotify): Use AccessController to allow execution of privileged
	code.

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

	* gnu/java/awt/peer/GLightweightPeer.java,
	gnu/java/awt/peer/gtk/GdkGraphics2D.java,
	gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	gnu/javax/rmi/CORBA/StubDelegateImpl.java,
	javax/swing/JScrollPane.java: Removed
	redundant imports.

	* configure.ac: Correct text for --disable-gtk-peer option.

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

	* gnu/java/security/action/GetPropertyAction.java (setParameters):
	Renamed from 'setName'. New 2-argument form with default value.
	(run): Pass default 'value' parameter to System.getProperty().
	* gnu/java/security/action/SetAccessibleAction.java: Fix javadoc
	typos.
	* gnu/java/net/protocol/http/Connection.java: Use 'setParameters'
	not 'setName'.

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

	* Makefile.am
	(SUBIDRS): Removed gnu, java, javax and vm.
	* configure.ac
	(AC_CONFIG_FILES): Removed all now unused Makefiles.
	* lib/Makefile.am
	(dist-hook): New target to put all files in the gnu, java, javax and
	vm directories into the dist tarball.
	* lib/gen-classlist.sh.in: Don't search for class files in
	${top_builddir}/java and ${top_builddir}/javax. There are none.
	* gnu/classpath/.cvsignore,
	gnu/classpath/Makefile.am,
	gnu/.cvsignore,
	gnu/java/awt/.cvsignore,
	gnu/java/awt/image/.cvsignore,
	gnu/java/awt/image/Makefile.am,
	gnu/java/awt/Makefile.am,
	gnu/java/awt/peer/.cvsignore,
	gnu/java/awt/peer/gtk/.cvsignore,
	gnu/java/awt/peer/gtk/Makefile.am,
	gnu/java/awt/peer/Makefile.am,
	gnu/java/beans/.cvsignore,
	gnu/java/beans/editors/.cvsignore,
	gnu/java/beans/editors/Makefile.am,
	gnu/java/beans/info/.cvsignore,
	gnu/java/beans/info/Makefile.am,
	gnu/java/beans/Makefile.am,
	gnu/java/.cvsignore,
	gnu/java/io/.cvsignore,
	gnu/java/io/decode/.cvsignore,
	gnu/java/io/decode/Makefile.am,
	gnu/java/io/encode/.cvsignore,
	gnu/java/io/encode/Makefile.am,
	gnu/java/io/Makefile.am,
	gnu/java/lang/.cvsignore,
	gnu/java/lang/Makefile.am,
	gnu/java/lang/reflect/.cvsignore,
	gnu/java/lang/reflect/Makefile.am,
	gnu/java/locale/.cvsignore,
	gnu/java/locale/Makefile.am,
	gnu/java/Makefile.am,
	gnu/java/math/.cvsignore,
	gnu/java/math/Makefile.am,
	gnu/java/net/content/.cvsignore,
	gnu/java/net/content/Makefile.am,
	gnu/java/net/content/text/.cvsignore,
	gnu/java/net/content/text/Makefile.am,
	gnu/java/net/.cvsignore,
	gnu/java/net/Makefile.am,
	gnu/java/net/protocol/.cvsignore,
	gnu/java/net/protocol/file/.cvsignore,
	gnu/java/net/protocol/file/Makefile.am,
	gnu/java/net/protocol/http/.cvsignore,
	gnu/java/net/protocol/http/Makefile.am,
	gnu/java/net/protocol/jar/.cvsignore,
	gnu/java/net/protocol/jar/Makefile.am,
	gnu/java/net/protocol/Makefile.am,
	gnu/java/nio/channels/.cvsignore,
	gnu/java/nio/channels/Makefile.am,
	gnu/java/nio/charset/.cvsignore,
	gnu/java/nio/charset/Makefile.am,
	gnu/java/nio/.cvsignore,
	gnu/java/nio/Makefile.am,
	gnu/java/rmi/.cvsignore,
	gnu/java/rmi/dgc/.cvsignore,
	gnu/java/rmi/dgc/Makefile.am,
	gnu/java/rmi/Makefile.am,
	gnu/java/rmi/registry/.cvsignore,
	gnu/java/rmi/registry/Makefile.am,
	gnu/java/rmi/rmic/.cvsignore,
	gnu/java/rmi/rmic/Makefile.am,
	gnu/java/rmi/server/.cvsignore,
	gnu/java/rmi/server/Makefile.am,
	gnu/java/security/action/Makefile.am,
	gnu/java/security/.cvsignore,
	gnu/java/security/der/.cvsignore,
	gnu/java/security/der/Makefile.am,
	gnu/java/security/Makefile.am,
	gnu/java/security/provider/.cvsignore,
	gnu/java/security/provider/Makefile.am,
	gnu/java/security/util/.cvsignore,
	gnu/java/security/util/Makefile.am,
	gnu/java/security/x509/.cvsignore,
	gnu/java/security/x509/Makefile.am,
	gnu/java/text/.cvsignore,
	gnu/java/text/Makefile.am,
	gnu/java/util/.cvsignore,
	gnu/java/util/Makefile.am,
	gnu/java/util/prefs/.cvsignore,
	gnu/java/util/prefs/Makefile.am,
	gnu/javax/.cvsignore,
	gnu/javax/Makefile.am,
	gnu/javax/rmi/CORBA/.cvsignore,
	gnu/javax/rmi/CORBA/Makefile.am,
	gnu/javax/rmi/.cvsignore,
	gnu/javax/rmi/Makefile.am,
	gnu/Makefile.am,
	gnu/regexp/.cvsignore,
	gnu/regexp/Makefile.am,
	java/applet/.cvsignore,
	java/applet/Makefile.am,
	java/awt/color/.cvsignore,
	java/awt/color/Makefile.am,
	java/awt/.cvsignore,
	java/awt/datatransfer/.cvsignore,
	java/awt/datatransfer/Makefile.am,
	java/awt/dnd/.cvsignore,
	java/awt/dnd/Makefile.am,
	java/awt/dnd/peer/.cvsignore,
	java/awt/dnd/peer/Makefile.am,
	java/awt/event/.cvsignore,
	java/awt/event/Makefile.am,
	java/awt/font/.cvsignore,
	java/awt/font/Makefile.am,
	java/awt/geom/.cvsignore,
	java/awt/geom/Makefile.am,
	java/awt/image/.cvsignore,
	java/awt/image/Makefile.am,
	java/awt/image/renderable/.cvsignore,
	java/awt/image/renderable/Makefile.am,
	java/awt/im/.cvsignore,
	java/awt/im/Makefile.am,
	java/awt/im/spi/.cvsignore,
	java/awt/im/spi/Makefile.am,
	java/awt/Makefile.am,
	java/awt/peer/.cvsignore,
	java/awt/peer/Makefile.am,
	java/awt/print/.cvsignore,
	java/awt/print/Makefile.am,
	java/beans/beancontext/.cvsignore,
	java/beans/beancontext/Makefile.am,
	java/beans/.cvsignore,
	java/beans/Makefile.am,
	java/.cvsignore,
	java/io/.cvsignore,
	java/io/Makefile.am,
	java/lang/.cvsignore,
	java/lang/Makefile.am,
	java/lang/ref/.cvsignore,
	java/lang/reflect/.cvsignore,
	java/lang/reflect/Makefile.am,
	java/lang/ref/Makefile.am,
	java/Makefile.am,
	java/math/.cvsignore,
	java/math/Makefile.am,
	java/net/.cvsignore,
	java/net/Makefile.am,
	java/nio/channels/.cvsignore,
	java/nio/channels/Makefile.am,
	java/nio/channels/spi/.cvsignore,
	java/nio/channels/spi/Makefile.am,
	java/nio/charset/.cvsignore,
	java/nio/charset/Makefile.am,
	java/nio/charset/spi/.cvsignore,
	java/nio/charset/spi/Makefile.am,
	java/nio/.cvsignore,
	java/nio/Makefile.am,
	java/rmi/activation/.cvsignore,
	java/rmi/activation/Makefile.am,
	java/rmi/.cvsignore,
	java/rmi/dgc/.cvsignore,
	java/rmi/dgc/Makefile.am,
	java/rmi/Makefile.am,
	java/rmi/registry/.cvsignore,
	java/rmi/registry/Makefile.am,
	java/rmi/server/.cvsignore,
	java/rmi/server/Makefile.am,
	java/security/acl/.cvsignore,
	java/security/acl/Makefile.am,
	java/security/cert/.cvsignore,
	java/security/cert/Makefile.am,
	java/security/.cvsignore,
	java/security/interfaces/.cvsignore,
	java/security/interfaces/Makefile.am,
	java/security/Makefile.am,
	java/security/spec/.cvsignore,
	java/security/spec/Makefile.am,
	java/sql/.cvsignore,
	java/sql/Makefile.am,
	java/text/.cvsignore,
	java/text/Makefile.am,
	java/util/.cvsignore,
	java/util/jar/.cvsignore,
	java/util/jar/Makefile.am,
	java/util/logging/.cvsignore,
	java/util/logging/Makefile.am,
	java/util/Makefile.am,
	java/util/prefs/.cvsignore,
	java/util/prefs/Makefile.am,
	java/util/regex/.cvsignore,
	java/util/regex/Makefile.am,
	java/util/zip/.cvsignore,
	java/util/zip/Makefile.am,
	javax/accessibility/.cvsignore,
	javax/accessibility/Makefile.am,
	javax/.cvsignore,
	javax/imageio/.cvsignore,
	javax/imageio/event/.cvsignore,
	javax/imageio/event/Makefile.am,
	javax/imageio/Makefile.am,
	javax/imageio/spi/.cvsignore,
	javax/imageio/spi/Makefile.am,
	javax/imageio/stream/.cvsignore,
	javax/imageio/stream/Makefile.am,
	javax/Makefile.am,
	javax/naming/.cvsignore,
	javax/naming/directory/.cvsignore,
	javax/naming/directory/Makefile.am,
	javax/naming/event/.cvsignore,
	javax/naming/event/Makefile.am,
	javax/naming/ldap/.cvsignore,
	javax/naming/ldap/Makefile.am,
	javax/naming/Makefile.am,
	javax/naming/spi/.cvsignore,
	javax/naming/spi/Makefile.am,
	javax/print/attribute/.cvsignore,
	javax/print/attribute/Makefile.am,
	javax/print/attribute/standard/Makefile.am,
	javax/print/.cvsignore,
	javax/print/event/.cvsignore,
	javax/print/event/Makefile.am,
	javax/print/Makefile.am,
	javax/rmi/CORBA/.cvsignore,
	javax/rmi/CORBA/Makefile.am,
	javax/rmi/.cvsignore,
	javax/rmi/Makefile.am,
	javax/security/auth/.cvsignore,
	javax/security/auth/Makefile.am,
	javax/security/auth/x500/.cvsignore,
	javax/security/auth/x500/Makefile.am,
	javax/security/.cvsignore,
	javax/security/Makefile.am,
	javax/sql/.cvsignore,
	javax/sql/Makefile.am,
	javax/swing/border/.cvsignore,
	javax/swing/border/Makefile.am,
	javax/swing/colorchooser/.cvsignore,
	javax/swing/colorchooser/Makefile.am,
	javax/swing/.cvsignore,
	javax/swing/event/.cvsignore,
	javax/swing/event/Makefile.am,
	javax/swing/filechooser/.cvsignore,
	javax/swing/filechooser/Makefile.am,
	javax/swing/Makefile.am,
	javax/swing/plaf/basic/.cvsignore,
	javax/swing/plaf/basic/Makefile.am,
	javax/swing/plaf/.cvsignore,
	javax/swing/plaf/Makefile.am,
	javax/swing/plaf/metal/.cvsignore,
	javax/swing/plaf/metal/Makefile.am,
	javax/swing/table/.cvsignore,
	javax/swing/table/Makefile.am,
	javax/swing/text/.cvsignore,
	javax/swing/text/html/.cvsignore,
	javax/swing/text/html/Makefile.am,
	javax/swing/text/html/parser/.cvsignore,
	javax/swing/text/html/parser/Makefile.am,
	javax/swing/text/Makefile.am,
	javax/swing/tree/.cvsignore,
	javax/swing/tree/Makefile.am,
	javax/swing/undo/.cvsignore,
	javax/swing/undo/Makefile.am,
	javax/transaction/.cvsignore,
	javax/transaction/Makefile.am,
	javax/transaction/xa/.cvsignore,
	javax/transaction/xa/Makefile.am,
	vm/reference/gnu/.cvsignore,
	vm/reference/gnu/java/.cvsignore,
	vm/reference/gnu/java/Makefile.am,
	vm/reference/gnu/java/nio/.cvsignore,
	vm/reference/gnu/java/nio/Makefile.am,
	vm/reference/gnu/Makefile.am,
	vm/reference/java/.cvsignore,
	vm/reference/java/io/.cvsignore,
	vm/reference/java/io/Makefile.am,
	vm/reference/java/lang/.cvsignore,
	vm/reference/java/lang/Makefile.am,
	vm/reference/java/lang/reflect/.cvsignore,
	vm/reference/java/lang/reflect/Makefile.am,
	vm/reference/java/Makefile.am,
	vm/reference/java/security/.cvsignore,
	vm/reference/java/security/Makefile.am:
	Removed.

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

	* .cvsignore: Added 'compile'.

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

	* gnu/java/net/http/.cvsignore: Removed.

2004-07-28  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/io/VMFile.java (toCanonicalForm): Made
	static.

2004-07-27  Jeroen Frijters  <jeroen@frijters.net>

	* vm/reference/java/io/VMFile.java (toCanonicalForm): New method.
	* java/io/File.java (dupSeparator): New field. (File(String)):
	Modified to use new normalizePath method. (normalizePath): New method
	merged from libgcj.
	(File(String,String)): Modified to use new normalizePath method.
	(File(File,String)): Modified to forward to File(String,String).
	(File(URI)): New constructor. (getAbsolutePath): Merged from libgcj.
	(getCanonicalPath): New implementation that forwards to VMFile.
	(getParent): Merged from libgcj. (isAbsolute): Merged from libgcj.
	(list(FilenameFilter)): Removed unnecessary path normalization.
	(toURL): Merged from libgcj. (mkdir): Removed unnecessary path
	normalization. (compareTo): Removed incorrect canonicalization.

2004-07-27  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Class.java (getClassLoader): Removed special case for
	java. and gnu.java. classes and fixed class loader security rule.

2004-07-26  Archie Cobbs  <archie@dellroad.org>

	* native/jni/gtk-peer/gthread-jni.c: don't #include nonexistent files

2004-07-26  Patrik Reali  <reali@acm.org>
	
	* doc/www.gnu.org/home.wml doc/www.gnu.org/newsitems.txt: link to
	mauve test results updated

2004-07-26  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: AWT commit and inetlib HTTP client 
	* doc/www.gnu.org/faq/faq.wml: add dependencies and CVS udpate to
	the installation (3.4) section

2004-07-25 Patrik Reali  <reali@acm.org>

	* INSTALL: gtk+2.4 requirement updated (was 2.2)

2004-07-25 Dalibor Topic <robilad@kaffe.org>

	* gnu/java/awt/ComponentDataBlitOp.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/io/ClassLoaderObjectInputStream.java,
	gnu/java/io/decode/Decoder.java,
	gnu/java/io/encode/Encoder.java,
	gnu/java/lang/ClassHelper.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_de.java,
	gnu/java/locale/LocaleInformation_en.java,
	gnu/java/locale/LocaleInformation_nl.java:
	Cleaned up imports.

2004-07-25 Dalibor Topic <robilad@kaffe.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(filenameFilterCallback): Declare local variable accepted before use.

2004-07-25  Mark Wielaard  <mark@klomp.org>

	* configure.ac (AC_CONFIG_FILES): gnu/java/security/action/Makefile
	added.

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

	* gnu/java/net/protocol/http/Connection.java: Use GetPropertyAction
	for privileged getProperty calls.
	* java/io/ObjectOutputStream.java (getField): No longer static. Use
	SetAccessibleAction instead of anonymous class for doPrivileged call.
	(getMethod): Likewise.
	(setAccessible): New field. PrivilegedAction object to use when
	calling setAccessible.
	* java/io/ObjectStreamClass.java (calculateOffsets): Use
	SetAccessibleAction instead of anonymous class for diPrivileged call.
	(setFields): Likewise.
	(getClassUID): Likewise.
	(findMethod): Likewise.
	* gnu/java/security/action/GetPropertyAction.java: New class.
	* gnu/java/security/action/SetAccessibleAction.java: New class.
	* gnu/java/security/action/Makefile.am: New file.	
	* gnu/java/security/Makefile.am: Updated.

2004-07-23  Craig Black  <craig.black@aonix.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(addTearOff_: New function.
	include/gnu_java_awt_peer_gtk_GtkMenuPeer.h: Regenerated.
	* gnu/java/awt/peer/gtk/GtkMenuPeer.java (addTearOff):
	New native method.
	(init): Call addTearOff() when menu.isTearOff().

2004-07-23  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (static): Set http.agent system property when
	not yet set.
	* gnu/java/net/protocol/http/Connection.java (static): Get httpAgent
	from system property inside AccessController.doPrivileged() call.
	(proxyPort): Made package private.
	(proxyInUse): Likewise.
	(proxyHost): Likewise.
	(userAgent): Likewise.

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

	* java/awt/image/Makefile.am (EXTRA_DIST): Add ByteLookupTable.java,
	Kernel.java, LookupTable.java and ShortLookupTable.java.
	* javax/swing/Makefile.am (EXTRA_DIST): Add Spring.java and
	SpringLayout.java.
	* javax/swing/plaf/basic/Makefile.am (EXTRA_DIST): Add
	BasicTextFieldUI.java and BasicToolBarSeparatorUI.java.
	* javax/swing/text/Makefile.am (EXTRA_DIST): Add
	DefaultHighlighter.java, FieldView.java, Highlighter.java,
	LayeredHighlighter.java, PlainView.java, TabExpander.java and
	TabableView.java. Remove CharacterIterator.java and
	PlainEditorKit.java

	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h: Likewise.

	* configure.ac: Test for PKG_CHECK_MODULES gtk+-2.0 >= 2.4.
	* NEWS: Add overview of new GUI functionality.

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

	* javax/swing/JTextArea.java
	(setLineWrap): Fire property change event after new value is set.
	(setTabSize): Likewise.

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

	* javax/swing/JTable.java
	(autoCreateColumnsFromModel): New field.
	(autoResizeMode): Likewise.
	(cellEditor): Likewise.
	(cellSelectionEnabled): Likewise.
	(columnModel): Likewise.
	(dataModel): Likewise.
	(defaultEditorsByColumnClass): Likewise.
	(defaultRenderersByColumnClass): Likewise.
	(editingColumn): Likewise.
	(editingRow): Likewise.
	(gridColor): Likewise.
	(preferredViewportSize): Likewise.
	(rowHeight): Likewise.
	(rowMargin): Likewise.
	(rowSelectionAllowed): Likewise.
	(selectionBackground): Likewise.
	(selectionForeground): Likewise.
	(selectionModel): Likewise.
	(showHorizontalLines): Likewise.
	(showVerticalLines): Likewise.
	(tableHeader): Likewise.
	(JTable): Implemented.
	(getColumnModel): Likewise.
	(getSelectedRow): Likewise.
	(getSelectionModel): Likewise.
	(setModel): Likewise.
	(setSelectionModel): Likewise.
	(createScrollPaneForTable): New method.
	(createDefaultDataModel): Likewise.
	(createDefaultListSelectionModel): Likewise.
	(getModel): Likewise.
	(getTableHeader): Likewise.
	(setTableHeader): Likewise.
	(getColumnSelectionAllowed): Likewise.
	(setColumnSelectionAllowed): Likewise.
	(getRowSelectionAllowed): Likewise.
	(setRowSelectionAllowed): Likewise.
	(getAutoResizeMode): Likewise.
	(setAutoResizeMode): Likewise.
	(getColumnCount): Likewise.
	(getRowCount): Likewise.
	(getCellRenderer): Likewise.
	* javax/swing/JTree.java
	(cellRenderer): New field.
	(editable): Likewise.
	(rootVisible): Likewise.
	(showsRootHandles): Likewise.
	(getModel): New method.
	(setModel): Likewise.
	(isEditable): Likewise.
	(setEditable): Likewise.
	(isRootVisbile): Likewise.
	(setRootVisible): Likewise.
	(getShowsRootHandles): Likewise.
	(setShowRootHandles): Likewise.
	(getCellRenderer): Likewise.
	(setCellRenderer): Likewise.

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

	* javax/swing/JFormattedTextField.java
	(setDocument): Implemented.
	* javax/swing/JRootPane.java:
	Fixed javadocs.
	* javax/swing/JTable.java
	(getDefaultRenderer): New method.
	* javax/swing/JTextField.java
	(setFont): Likewise.
	(getPreferredSize): Likewise.
	* javax/swing/JToggleButton.java
	(getAccessibleContext): Fix javadoc.
	* javax/swing/JTree.java:
	Add some javadocs.
	* javax/swing/JViewport.java:
	Likewise.

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

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java:
	Collect all native method declaration at the top.
	(create): Set the filename filter if necessary.
	(setDirectory): Call nativeSetDirectory().
	(setFilenameFilter): Implement.
	(filenameFilterCallback): New method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(create): Configure dialog to show hidden files.
	(filenameFilterCallback): New function. 
	(nativeSetFilenameFilter): New function.
	(nativeSetDirectory): New function.

2004-07-21  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicSliderUI.java:
	Ran Jalopy.
	(paintTrack): Fill the track before painting
	the borders.

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

	patch from Roman Kennke <roman@ontographics.com>
	* javax/swing/Spring.java: New file.
	* javax/swing/SpringLayout.java: New file.
	* Makefile.am: Add new files.
	* Makefile.in: Regenerate.

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

	* javax/swing/plaf/basic/BasicSplitPaneUI.java: Minor layout fixes.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise.
	* javax/swing/ScrollPaneLayout.java: Likewise.

2004-07-21  Kim Ho  <kho@redhat.com>

	* javax/swing/DefaultDesktopManager.java:
	(findMinimum): Removed.
	(resizeFrame): Trust the UI to pass valid 
	bounds.
	* javax/swing/JOptionPane.java:
	Implemented showInternalXXXDialog methods.
	(startModal): New method.
	* javax/swing/plaf/basic/BasicInternalFrameUI.java:
	(BorderListener::mouseDragged): Verify that the new 
	bounds are valid before passing them to the DesktopManager.
	(preferredLayoutSize): Delegate
	to getSize.
	(minimumLayoutSize): Ditto.
	(getSize): New method.
	(GlassPaneDispatcher): Reimplemented by copying 
	a stripped down LightweightDispatcher from Container.
	(getMinimumSize): Call minimumLayoutSize.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Ran Jalopy.
	(mousePressed): Add ability to properly close 
	JInternalFrames.
	* javax/swing/plaf/basic/BasicToolBarUI.java:
	(DragWindow): Set owner for DragWindow.

2004-07-21  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/ShortLookupTable.java: New file.
	* java/awt/image/ByteLookupTable.java: New file.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

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

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	(create(GtkContainerPeer)): New native method.
	(create()): Call native create(), passing in the parent frame
	as the paramter. Natively set the current file and directory.
	(setFile): Construct an absolute filename before passing it to
	the native peer.
	(nativeGetDirectory): New method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(window_closed): Removed.
	(ok_clicked): Likewise.
	(cancel_clicked): Likewise.
	(handle_response): New method.
	(create): Use GtkFileChooserDialog.
	(connectSignals): Connect to handle_response.
	(nativeGetDirectory): New method.
	(nativeSetFile): Use GtkFileChooserDialog.

2004-07-21  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/LookupTable.java: New file.
	* Makefile.am: Added new file.
	* Makefile.in: Regenerated.

2004-07-21  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/image/Kernel.java: New file.
	* Makefile.am: Added new file.
	* Makefile.in: Regenerated.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java: Fixed Javadocs.
	* javax/swing/JMenu.java: Likewise.
	* javax/swing/JMenuBar.java: Likewise.
	(MARGIN_CHANGED_PROPERTY): New property.
	(setMargin): Implemented.
	* javax/swing/JMenuItem.java: Fixed javadocs.
	* javax/swing/JPopupMenuUI.java: Fixed javadocs.
	(LABEL_CHANGED_PROPERTY): New property.
	(add): changed to use createActionComponent.
	(createActionComponent): Implemented.	
	(setLabel): Fire PropertyChangeEvent if label property
	changes.
	* javax/swing/JRadioButtonMenuItem.java: Fixed javadocs.
	* javax/swing/plaf/basic/BasicMenuBarUI.java: Likewise.
	(ContainerHandler): Repaint if margin property has changed.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(installUI): Call installComponents().
	(uninstallUI): Call uinstallComponents().
	* javax/swing/plaf/basic/BasicMenuUI.java:
	Fixed javadocs.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	Likewise.

2004-07-21  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicToolBarUI.java:
	(DragWindow): Use the right constructor.

2004-07-21  Kim Ho  <kho@redhat.com>

	* javax/swing/JToolBar.java:
	(layoutContainer): Use getComponents.
	* javax/swing/plaf/basic/BasicToolBarUI.java:
	(DragWindow): Don't use SwingUtilities' 
	getOwnerFrame
	(ToolBarDialog): ditto.

2004-07-21  Kim Ho  <kho@redhat.com>

	* javax/swing/JRootPane.java:
	Ran jalopy.
	(layoutContainer): Set the glasspane's size to 
	be the same as the content pane.
	(createGlassPane): Set opaque property to false.

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

	* java/awt/Component.java (requestFocus()): Don't handle Panels
	specially.
	(requestFocus(boolean)): Likewise.
	(requestFocusInWindow(boolean)): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c (create):
	Set GTK_CAN_FOCUS flag.

2004-07-21  Kim Ho  <kho@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerated.
	* gcj/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* javax/swing/AbstractButton.java:
	Add rollOverEnabled property.
	(setRolloverEnabled): Use new property.
	(isRolloverEnabled): Use new property.
	* javax/swing/JTabbedPane.java:
	(setComponent): Remove useless JTabbedPane.this.
	* javax/swing/JToolBar.java: Finish implementation.
	* javax/swing/plaf/basic/BasicArrowButton.java:
	(paint): Moved border painting to a border.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Change JToolBar look and feel defaults.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java
	(actionPerformed): Return Integer index instead of name.
	(addButtonComponents): Check to see if component is
	JButton last.
	(createMessageArea): Don't use components that are not
	completed yet.
	(getIconForType): Use temporary icons.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	(mousePressed): Do not return if it's on thumb.
	(paintMinorTickForHorizSlider): Use BLACK to paint ticks.
	(paintMinorTickForVertSlider): ditto.
	(paintMajorTickForHorizSlider): ditto.
	(paintMajorTickForVertSlider): ditto.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java:
	Add a border around the SplitPaneDivider.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java:
	Remove comments.
	* javax/swing/plaf/basic/BasicToolBarSeparatorUI.java:
	New file. Implemented.
	* javax/swing/plaf/basic/BasicToolBarUI.java:
	Implemented.
	* testsuite/Makefile.in: Regenerated.

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

	* javax/swing/Timer.java (run): Queue events each time cycle.

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

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(imageComplete): Call image.imageComplete().
	* java/awt/image/MemoryImageSource.java:
	Reimplement consumers as a Vector instead of a Hashtable.  This is
	because enumeration on a Hashtable is not thread-safe.
	(addConsumer): Adapt to Vector consumers.
	(isConsumer): Adapt to Vector consumers.
	(removeConsumer): Adapt to Vector consumers.
	(startProduction): Adapt to Vector consumers. Call imageComplete()
	with STATICIMAGEDONE flag instead of SINGLEFRAME flag.
	(newPixels): Adapt to Vector consumers.
	(sendPicture): Set the color model of the image consumer.
	(newPixels(IIII)): Adapt to Vector consumers.
	(newPixels(IIIIB)): Adapt to Vector consumers.

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

	* java/awt/Component.java (deliverEvent): Implement.
	(postEvent): Implement.
	(handleEvent): Implement.
	(translateEvent): New method.
	(dispatchEventImpl): Document.  Add AWT 1.0 event handling.
	* java/awt/Container.java (deliverEvent): Implement.
	* java/awt/Event.java (paramString): Fix formatting.
	* java/awt/Font.java (toString): Likewise.
	* java/awt/Window.java (postEvent): Implement.

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

	* java/awt/DefaultKeyboardFocusManager.java (dispatchEvent):
	Set window's focus owner upon receiving a FOCUS_LOST event.
	* java/awt/Window.java (Window()): Refocus the previously
	focused component within the window when the window regains the
	top-level focus.
	(setFocusOwner): New method.
	* java/awt/Component.java (requestFocus): Add FIXME.

	* libgcj.pc.in: Remove library flags.

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

	* gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Handle
	MOUSE_PRESSED event.
	* java/awt/Component.java (requestFocus()): Handle Panel
	specially.  Post FOCUS_LOST event on opposite component.
	(requestFocus(boolean)): Likewise.
	(requestFocusInWindow(boolean)): Likewise.
	(paramString): Reorder dimension fields.
	* java/awt/Container.java (paramString): Fix string format.
	* java/awt/DefaultKeyboardFocusManager.java (dispatchEvent):
	Handle FOCUS_LOST events.  Don't handle Windows specially.  Only
	process key events if the focus owner is non-null.
	(dispatchKeyEvent): Likewise.
	* java/awt/Frame.java (paramString): Fix formatting.
	(generateName): New method.
	(getUniqueLong): Likewise.
	* java/awt/KeyboardFocusManager.java (getFocusOwner): Check if
	the temporary focus owner is null.  If so, return the permanent
	focus owner.
	* java/awt/Panel.java (generateName): New method.
	(getUniqueLong): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: Rework
	signal handling to make callbacks more specific.

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

	* javax/swing/text/Position.java
	(Bias): Implemented.

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

	* javax/swing/LookAndFeel.java
	(provideErrorFeedback): New method.

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

	* javax/swing/JTextArea.java
	(tabSize): New field.
	(getTabSize): New method.
	(setTabSize): Likewise.

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

	* javax/swing/ActionMap.java:
	Fixed javadocs all over.
	(serialVersionUID): Made private.
	(parent): Don't explicitely initialize with default value.
	(get): SImplified.
	(keys): Reimplemented.
	(allKeys): Likewise.
	(convertSet): Removed.
	* javax/swing/ComponentInputMap.java:
	Fixed javadocs all over.
	(ComponentInputMap): Implemented.
	(put): Likewise.
	(clear): Likewise.
	(remove): Likewise.
	(SetParent): Likewise.
	(getComponent): Likewise.
	* javax/swing/InputMap.java:
	Fixed javadocs all over.
	(serialVersionUID): Made private.
	(parent): Don't explicitely initialize with default value.
	(get): SImplified.
	(keys): Reimplemented.
	(allKeys): Likewise.
	(convertSet): Removed.

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

	* javax/swing/ActionMap.java,
	javax/swing/ComponentInputMap.java,
	javax/swing/InputMap.java,
	javax/swing/table/DefaultTableColumnModel.java,
	javax/swing/table/TableColumn.java,
	javax/swing/table/TableColumnModel.java,
	javax/swing/table/TableModel.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/TextAction.java:
	Reformated.

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java (bufferedImageOrError): 
	Make method non-static.
	* javax/swing/AbstractButton.java:
	Rename fields to match property names where possible.
	(iconTextGap): New property.
	* javax/swing/JCheckBox.java: Match AbstractButton changes.
	(init) New method, call from after various constructors.
	* javax/swing/JComponent.java (revalidate): 
	Invalidate before queueing repair.
	* javax/swing/JList.java (getPreferredScrollableViewportSize):
	Reimplement in terms of visibleRowCount property.
	* javax/swing/JMenuButton.java: Match AbstractButton changes.
	* javax/swing/JScrollPane.java (createScrollListener): 
	Remove tracing chatter.
	* javax/swing/JToggleButton.java: Match AbstractButton changes.
	* javax/swing/RepaintManager.java (addInvalidComponent): 
	Don't invalidate.
	* javax/swing/ScrollPaneLayout.java: Various corrections to layout
	calculations.
	* javax/swing/SwingUtilities.java (layoutCompoundLabel): 
	Mimic sun behavior on top left/right positioning.
	* javax/swing/ViewportLayout.java (preferredLayoutSize):
	Remove mistaken use of preferredScrollableViewportSize here.
	(layoutContainer): Use view's preferred size as basis.
	* javax/swing/plaf/basic/BasicButtonUI.java:
	Set, get, and use textIconGap property.
	(paint) Paint text returned from layout (with ellipsis).
	* javax/swing/plaf/basic/BasicListUI.java:
	Remove tracing chatter, correct various minor calculations.
	(getCellBounds): Update layout state before calculating.
	* javax/swing/plaf/basic/BasicLookAndFeel.java (Button.Margin):
	Use margin default similar to sun's.	
	* javax/swing/plaf/basic/BasicScrollBarUI.java (ArrowIcon):
	(createIncreaseIcon): Center icon, minimize margins.
	(createDecreaseIcon): Likewise.
	* javax/swing/plaf/basic/BasicScrollPaneUI.java (installDefaults):
	Implement.
	(installUI): Call it.
	(uninstallDefaults): Implement.
	(uninstallUI): Call it.
	* javax/swing/plaf/basic/BasicToolBarUI.java (DragWindow):
	Call existing Window constructor.
	* javax/swing/plaf/basic/BasicViewportUI.java (paint):
	Set clip before painting.

2004-07-21  Olga Rodimina <rodimina@redhat.com>
	
	* javax/swing/JMenuItem.java:
	(processMouseEvent): Reimplemented to deal with
	mouse drag events.
	(createMenuDragMouseEvent): New private helper method.
	Creates MenuDragMouseEvent.
	* javax/swing/MenuSelectionManager.java
	(componentForPoint): Implemented.
	(isComponentPartOfCurrentMenu): Made public.
	(processMouseEvent): Reimplemented to deal with 
	mouse drag events.
	(setSelectedPath): Corrected small mistake that caused
	path to be set incorrectly.
	(getPath): If given component is JMenu then also add this
	menu's popup menu to the selected path.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(getPath): Ditto.
	(getPreferredSize): Call getPreferredMenuItemSize().
	(getPreferredItemSize): Moved code from getPreferredSize to here.
	(installListeners): Install MouseMotionListeners.
	(MouseInputHandler): Pass mouse release event to MenuSelectionManager 
	if mouse wasn't released in the bounds of this menu item.
	(MenuDragMouseHandler): Implemented.
	* javax/swing/plaf/basic/BasicMenuUI.java:
	(installListeners): Install MouseMotionListener and 
	MenuDrageMouseListener.
	(MenuDragMouseHandler): Implemented.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	(uninstallListeners): Implemented.
	
2004-07-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JCheckBox.java: Reformated.
	(JCheckBox): Fixed all constructors.
	(isBorderPaintedFlat): New method.
	(setBorderPaintedFlat): New method.
	* javax/swing/JEditorPane.java
	(createEditorKitForContentType): Made public.
	(scrollToReference): Likewise.
	* javax/swing/JTextArea.java
	(setLineWrap): Fire property change.
	* javax/swing/JToggleButton.java
	(JToggleButton): New constructor.
	(JToggleButton): Simplified.
	* javax/swing/text/AttributeSet.java
	(FontAttribute): Renamed from FontCharacterAttribute.
	* javax/swing/text/JTextComponent.java
	(KeyBinBinding): Added javadoc.
	(JTextComponent): Likewise.
	(getAccessibleContext): Fixed javadoc.
	* javax/swing/text/View.java
	(View): Added javadoc.
	* javax/swing/text/TabableView.java: New file.
	* Makefile.am: Added javax/swing/text/TabableView.java.
	* Makefile.in: Regenerated.

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

	* java/awt/image/BufferedImage.java (getSource): Remove tracing chatter.
	* gnu/java/awt/peer/gtk/GtkToolkit.java 
	(GtkErrorImage): New helper class.
	(bufferedImageOrError): New helper method.
	(createImage): Use it.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(setCaretPosition): Scroll the text view so the new caret position
	is visible on screen.

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

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setBounds): Do not validate awtComponent here.
	* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
	(getPreferredSize): New method.
	* java/awt/ScrollPane.java
	(ScrollPane): Set default size to 100x100.
	(addNotify): If child is not a Panel, wrap it with a new Panel.
	(paramString): Implement.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenu.java:
	(setSelected): Display popup menu only if this menu 
	is showing on the screen.
	* javax/swing/JPopupMenu.java:
	(processMouseEvent): Added comment.
	(processKeyEvent): Likewise.
	* javax/swing/MenuSelectionManager.java:
	(clearSelectedPath): Only fireStateChanged() after
	selected path was changed, not before.
	(setSelectedPath): Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(paintMenuItem): Corrected position of menu item's
	icon.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	(installUI): Correct setDefaultLightWeightPopupEnabled call.
	(popupMenuCanceled): Reimplemented.
	(popupMenuWillBecomeVisible): Select first menu item by default 
	when displaying free floating popup menus.
	(TopWindowListener): Reimplemented.

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

	* java/awt/Panel.java (dispatchEventImpl): Override to prevent
	Panel from being painted twice when it is first shown.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* java/awt/Window.java: Reverted changes from my 
	previous patch for creating window without an owner.
	* javax/swing/SwingUtilities.java: 
	(SwingUtilities.OwnerFrame): made static.
	(OwnerFrame.setVisible): New method. Overridden with
	empty implementation.
	(OwnerFrame.isShowing): New method. Ovverridden
	to return always true.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(GtkComponentPeer): Remove temporary try/catch block.
	(setVisible): Call show and hide.
	(show): Make native.
	(hide): Likewise.
	(getArgs): Don't add "visible" argument.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(property_notify_predicate): Return Bool instead of int.
	(find_layout): New function.
	(connectJObject): Call find_layout.
	(connectSignals): Likewise.
	(moveLayout): Likewise.
	(gtkLayoutSetVisible): Likewise.

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

	* java/awt/event/InvocationEvent.java (dispatch): Synchronize
	on notifier object before calling notifyAll().

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* java/awt/Window.java: Changed constructors to use new
	method that is described below. Constructors call this
	methods only if newly created window should have an owner.
	(setWindowOwner): New method. Implementation for
	this method is moved from this(owner,configuration).
	* javax/swing/JWindow.java:
	(JWindow): Reimplement to use SwingUtilities.ownerFrame
	instead of owner.
	* javax/swing/SwingUtilities.java:
	(ownerFrame): Change type of this field to OwnerFrame.
	(getOwnerFrame): Changed to return object of type OwnerFrame.
	(SwingUtilities.OwnerFrame): New class. Represents owner
	of a Window that is not provided with one.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	*  javax/swing/AbstractButton.java: 
	(configurePropertiesFromAction): Set action command
	to button's text by default if action command is not 
	explicitely specified.
	* javax/swing/JMenu.java: Remove unnecessary listener
	and methods relevant to it.
	(setSelected): Reimplemented.
	(menuSelectionChanged): Moved most part of implementation to
	setSelected() and call it instead.
	* javax/swing/JMenuItem.java: 
	(init): Comment out statement that sets paint_border to false.
	(configurePropertiesFromAction): Do not set accelerator
	for JMenu.
	(menuSelectionChanged): Change selected index in the selection
	model of menu item's parent.
	* javax/swing/JPopupMenu.java:
	(remove): Set constraints.fill field to GridBagConstraints.BOTH
	instead of GridBagConstraints.HORIZONTAL.
	(insert): Likewise.
	(createActionChangeListener): Implemented.
	(setVisible): Correct location of HeavyWeightMenu and 
	don't firePopupMenuCanceled().
	(menuSelectionChanged): Implemented.
	(ActionChangeListener): New Listener. Implemented.
	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	(BasicMenuBarUI.ContainerHandler): Implemented.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(paintMenuItem): Uncommented out code that paints 
	icon, now that icons are working properly.
	(PropertyChangeListener): Implemented.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	Added javadocs.
	(topWindowListener): New field.
	(Constructor): initialize topWindowListener.
	(BasicPopupMenuUI.TopWindowListener): Implemented.	
	(BasicPopupMenuUI.PopupMenuHandler): Implemented.
	(BasicPopupMenuUI.TopWindowListener): New ComponentListener.
	Implemented.
	
2004-07-21  Michael Koch  <konqueror@gmx.de>

	* javax/swing/plaf/basic/BasicButtonUI.java
	(paintFocus): Fixed method signature.
	(paintButtonPressed): Likewise.
	(paintButtonNormal): Likewise.
	(paintText): New method.
	* javax/swing/plaf/basic/BasicLabelUI.java
	(paint): Re-indented.
	* javax/swing/plaf/basic/BasicTextUI.java
	(installUI): Set parent textComponent to opaque.
	* javax/swing/text/DefaultHighlighter.java
	(checkPositions): New helper method.
	(addHighlight): Throws BadLocationException, check positions.
	(changeHighlight): Likewise.
	* javax/swing/text/EditorKit.java
	(EditorKit): Implements Serializable.
	* javax/swing/text/JTextComponent.java
	(getUI): Added javadoc.
	(setUI): Likewise.
	(upadteUI): Added javadoc, don't revalidate and repaint.

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

	* java/awt/GridBagLayout.java
	(ArrangeGrid): Use PREFERREDSIZE instead of MINSIZE.
	* javax/swing/AbstractButton.java
	(setText): Reindent.
	* javax/swing/RepaintManager.java
	(addInvalidComponent): Find the first ancestor that isValidateRoot().

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

	* javax/swing/JFormattedTextField.java
	(value): New field.
	(JFormattedTextField): Implemented.
	(getValue): Likewise.
	(setValue): Likewise.
	* javax/swing/LookAndFeel.java
	(getSupportsWindowDecorations): New method.
	* javax/swing/UIDefaults.java:
	Use java.beans.PropertyChangeSupport instead of doing all ourself.
	(addPropertyChangeListener): Made public.
	(addResourceBundle): Likewise.
	(removeResourceBundle): Likewise.
	(setDefaultLocale): Likewise.
	* javax/swing/plaf/basic/BasicRootPaneUI.java
	(BasicRootPaneUI): Implements PropertyChangeListener.
	(propertyChange): New method.
	* javax/swing/plaf/basic/BasicTextUI.java
	(BasicHighlighter): New inner class.
	(createHighlighter): New method.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(DragWindow): Extends java.awt.Window.
	* javax/swing/text/JTextComponent.java
	(getDocument): Removed debug output.
	* javax/swing/plaf/basic/BasicTextFieldUI.java,
	javax/swing/text/DefaultHighlighter.java,
	javax/swing/text/FieldView.java,
	javax/swing/text/PlainView.java: New files.
	* Makefile.am: Added new files.
	* Makefile.in: Regenerated.

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

	* javax/swing/JEditorPane.java
	(createDefaultEditorKit): Use javax.swing.text.DefaultEditorKit.
	(createEditorKitForContentType): Likewise.
	* javax/swing/text/DefaultEditorKit.java
	(serialVersionUID): Added constant field.
	(EndOfLineStringPropery): Fixed typo.
	(DefaultEditorKit): New constructor.
	* javax/swing/text/Segment.java:
	Import java.text.CharacterIterator.
	* javax/swing/text/CharacterIterator.java,
	javax/swing/text/PlainEditorKit.java: Removed.
	* Makefile.am: Removed javax/swing/text/CharacterIterator.java and
	javax/swing/text/PlainEditorKit.java.
	* Makefile.in: Regenerated.

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

	* javax/swing/JButton.java,
	javax/swing/text/DefaultEditorKit.java,
	javax/swing/text/EditorKit.java,
	javax/swing/text/Segment.java,
	javax/swing/text/StyledEditorKit.java:
	Reformatted.

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

	* javax/swing/ImageIcon.java
	(file): Removed.
	(description): Renamed from descr.
	(ImageIcon): Added missing constructors.
	(setParent): Removed.
	(setImageObserver): New method.
	(getImageObserver): New method.
	(paintIcon): Handle observer = null.
	* javax/swing/JButton.java
	(removeNotify): Fixed javadoc.
	(updateUI): Simplified.
	* javax/swing/JRootPane.java
	(serialVersionUID): New constant field.
	* javax/swing/UIManager.java:
	Fixed javadocs all over.
	(setLookAndFeel): Throws UnsupportedLookAndFeelException.
	* javax/swing/text/AbstractDocument.java
	(createPosition): Throws BadLocationException.
	(getText): Likewise.
	(remove): Likewise.
	* javax/swing/text/ComponentView.java
	(modelToView): Likewise.
	* javax/swing/text/DefaultEditorKit.java:
	Made all public methods public.
	(read): Throws BadLocationException and IOException.
	(write): Likewise.
	* javax/swing/text/EditorKit.java:
	Made all public methods public.
	(serialVersionUID): New constant field.
	(clone): New method.
	(read): Throws BadLocationException and IOException.
	(write): Likewise.
	* javax/swing/text/Segment.java
	(array): Made public.
	(count): Likewise.
	(offset): Likewise.
	(Segment): New constructors.
	(clone): Reimplemented.
	* javax/swing/text/StyledEditorKit.java
	(serialVersionUID): New constant field.

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

	* java/awt/image/BufferedImage.java 
	(getSource): Implement.
	* javax/swing/ImageIcon.java 
	(ImageIcon): Implement ctor.
	* javax/swing/ScrollPaneLayout.java 
	(preferredLayoutSize): Be more careful about nulls.

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

	* javax/swing/text/AttributeSet.java
	(CharacterAttribute): New interface
	(ColorAttribute): Likewise.
	(FontCharacterAttribute): Likewise.
	(ParagraphAttribute): Likewise.
	* javax/swing/text/DefaultCaret.java
	(moveCaret): New method.
	(positionCaret): Likewise.
	(repaint): Made protected.
	* javax/swing/text/JTextComponent.java
	(KeyBinding): Made it static.
	* javax/swing/text/View.java
	(getContainer): Honor parent == null.

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

	* javax/swing/text/AbstractDocument.java:
	Reformatted.

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

	* javax/swing/plaf/basic/BasicRootPaneUI.java:
	Import javax.swing.UIManager explicitely.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(ScrollingButton): Made it static.

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

	* javax/swing/UIDefaults.java
	(ActiveValue): Made public.
	(LazyValue): Likewise.
	* javax/swing/plaf/basic/BasicTextUI.java
	(RootView): Reintroduced.
	(view): Removed.
	(rootView): New field.
	(installUI): Create document if needed, initialize rootView.
	(uninstallUI): Hanle rootView.
	(paint): Likewise.
	(getRootView): Likewise.
	(setView): Likewise.
	* javax/swing/text/DefaultCaret.java:
	Renamed all "evt" variables to "event".

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

	* java/awt/Component.java
	(move): Delegate to setBounds().
	(resize): Likewise.
	(reshape): Fix so it repaints parent and self only when necessary.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(GtkComponentPeer): Revert previous patch from 2004-06-22.
	(setVisible): Likewise.
	(show): Likewise.
	(hide): Likewise.
	(getArgs): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(property_notify_predicate): Likewise.
	(find_layout): Likewise.
	(connectJObject): Likewise.
	(connectSignals): Likewise.
	(moveLayout): Likewise.
	(gtkLayoutSetVisible): Likewise.

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

	* javax/swing/text/AbstractDocument.java
	(replace): Dont use protected method of java.util.Vector directly.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(installUI): Call specialized install methods.
	(installDefaults): New method.
	(installListeners): Likewise.
	(installKeyboardActions): Likewise.
	(uninstallUI): Likewise.
	(uninstallDefaults): New method.
	(uninstallListeners): Likewise.
	(uninstallKeyboardActions): Likewise.
	(getPropertyPrefix): New abstract method.
	(paint): Made final, just call paintSafely().
	(paintSavely): New method.
	(paintBackground): Likewise.
	(getVisibleEditorRect): Likewise.
	* javax/swing/text/LayeredHighlighter.java,
	javax/swing/text/TabExpander.java: New files.
	* Makefile.am: Added javax/swing/text/LayeredHighlighter.java
	and javax/swing/text/TabExpander.java.
	* Makefile.in: Regenerated.

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

	* javax/swing/plaf/basic/BasicTextUI.java
	(BasicTextUI): Made abstract.
	(BasicCaret): New inner class.
	(view): Don't explicitely initialize with "null".
	(textComponent): New field.
	(textColor): Removed.
	(disabledTextColor): Removed.
	(normalBackgroundColor): Removed.
	(RootView): Removed commented out inner class.
	(createUI): Removed.
	(createCaret): New method.
	(getComponent): Likewise.
	(installUI): Initialize textComponent only.
	(getPreferredSize): Use installed JTextComponent.
	(setView): New method.
	(create): Likewise.
	* javax/swing/text/JTextComponent.java
	(highlighter): New field.
	(caretColor): Likewise.
	(disabledTextColor): Likewise.
	(seletedTextColor): Likewise.
	(selectionColor): Likewise.
	(setUI): New method.
	(getCaretColor): Likewise.
	(setCaretColor): Likewise.
	(getDisabledColor): Likewise.
	(setDisabledColor): Likewise.
	(getSelectedTextColor): Likewise.
	(setSelectedTextColor): Likewise.
	(getSelectionColor): Likewise.
	(setSelectionColor): Likewise.
	(getHighlighter): Likewise.
	(setHighlighter): Likewise.
	(replaceSelection): Likewise.

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

	* javax/swing/plaf/basic/BasicScrollPaneUI.java
	(BasicScrollPaneUI): Implements ScrollPaneConstants.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	(BasicToolBarUI): Implements SwingConstants.

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

	* javax/swing/JPopupMenu.java: Removed CVS tags.
	* javax/swing/UIDefaults.java: Reformatted.
	* javax/swing/plaf/basic/BasicRootPaneUI.java:
	Explicitely import used classes.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(GtkComponentPeer): Remove temporary try/catch block.
	(setVisible): Call show and hide.
	(show): Make native.
	(hide): Likewise.
	(getArgs): Don't add "visible" argument.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(property_notify_predicate): Return Bool instead of int.
	(find_layout): New function.
	(connectJObject): Call find_layout.
	(connectSignals): Likewise.
	(moveLayout): Likewise.
	(gtkLayoutSetVisible): Likewise.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/AbstractButton.java:
	(setDisplayedMnemonicIndex): Check if button
	text is not null before checking its length.
	* javax/swing/JMenuItem.java:
	(processMouseEvent): Disarm menu item if mouse has
	exited it.
	* javax/swing/plaf/basic/BasicMenuUI.java:
	(MouseInputHandler.mouseEntered): Do not raise
	popup menu if this menu is already selected.
	(MouseInputHandler.mousePressed): Do not fire 
	MenuEvents.
	(MenuHandler): Implemented.	

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java: Added Javadoc.
	(getSelectedObjects): Implemented.
	* javax/swing/JRadioButtonMenuItem.java: Added Javadoc.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: 
	Added javadoc for few methods.
	(processMouseEvent): Made public.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java
	(processMouseEvent): Likewise.

2004-07-21  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/AbstractButton.java:
	(init): Set display mnemonic index to -1.
	(setMnemonic(char)): Use setMnemonic(int).
	(setMnemonic(int)): Set display mnemonic index.
	(getDisplayedMnemonicIndex): Change method signature
	by removing 'index' parameter.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Added default for Menu.selectionBackground.	
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(paintMenuItem): Change background color of the selected
	menu item.
	(paintText): Paint differently when menu item is disabled.
	Also paint mnemonic if it appears in the menu item's label.
	(paintAccelerator): Paint accelerator differently
	if menu item is disabled.
	* javax/swing/plaf/basic/BasicMenuUI.java:
	(installDefaults): Install defaults for 
	selectionForeground and selectionBackground.
	(uninstallDefaults): Uninstall defauls for 
	selectionForeground and selectionBackground.

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

	* javax/swing/text/AbstractDocument.java
	(BranchElement): Implemented.
	(LeafElement): Implemented.
	* javax/swing/text/DefaultCaret.java:
	Import used classes.
	(serialVersionUID): New constant.
	* javax/swing/text/JTextComponent.java
	(AccessibleJTextComponent): Removed dead declaration.
	(caretPos): Removed.
	(setCaret): New method.
	* javax/swing/text/PlainDocument.java
	(rootElement): New field.
	(PlainDocument): Initialize rootElement.
	(createDefaultRoot): New method.
	(getDefaultRootElement): Implemented.
	* javax/swing/text/View.java: Reformatted.
	* javax/swing/text/ViewFactory.java
	(create): Added javadoc.

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

	* javax/swing/ToolTipManager.java: Reformatted.

2004-07-21  Rodimina Olga  <rodimina@redhat.com>

	* javax/swing/AbstractButton.java
	(changeEvent): New field.
	(fireItemStateChanged): Change source of the event
	to 'this' before firing it to button listeners.
	(fireActionPerformed): Likewise.
	(fireStateChanged): Likewise.
	(createActionListener): Do not set source 
	of the event to AbstractButton.                                  
	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	(ContainerHandler.componentAdded): Removed 
	print out statement.
	(ContainerHandler.componentRemoved): Likewise.

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

	* javax/swing/text/Highlighter.java: New file.
	* Makefile.am: Added javax/swing/text/Highlighter.java.
	* Makefile.in: Regenerated.

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

	* javax/swing/ToolTipManager.java
	(stillInsideTimerAction): Fixed constructor arguments.
	(outsideTimerAction): Likewise.
	(insideTimerAction): Likewise.

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

	* javax/swing/JButton.java: Reformatted.
	* javax/swing/JFormattedTextField.java
	(getUIClassID): Implemented.
	* javax/swing/JRootPane.java
	(serialVersionUID): New constant.
	* javax/swing/JTextField.java
	(align): New field.
	(JTextField): Simplified.
	(getUIClassID): New method.
	(getActionListeners): Added @since tag.
	(setColumns): Invalidate layout and repaint.
	(getHorizontalAlignment): New method.
	(setHorizontalAlignment): New method.
	(selectAll): Removed.
	* javax/swing/SwingUtilities.java
	(getAncestorOfClass): Removed redundant @see tag.
	(isLeftMouseButton): Fixed implementation.
	(isMiddleMouseButton): Likewise.
	(isRightMouseButton): Likewise.
	* javax/swing/text/AbstractDocument.java
	(AttributeContext.addAttribute): New method.
	(AttributeContext.addAttributes): New method.
	(AttributeContext.getEmptySet): New method.
	(AttributeContext.reclaim): New method.
	(AttributeContext.removeAttribute): New method.
	(AttributeContext.removeAttributes): New method.
	* javax/swing/text/Document.java
	(createPosition): Throws BadLocationException.
	(getText): Likewise.
	(remove): Likewise.
	* javax/swing/text/JTextComponent.java
	(getText): Return null if no document is set. Catch
	BadLocationException.
	(getUI): Return ui.
	(updateUI): Simplified.

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

	* javax/swing/JButton.java
	(removeNotify): Fixed javadoc.
	(updateUI): Simplified.

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

	* gnu/java/awt/image/ImageDecoder.java
	(startProduction): Only add consumer if it's not added yet.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
	(GdkPixbufDecoder): Don't call initState() here.
	(produce): Call initState() here, to ensure area_prepared and
	area_updated signals are properly connected.
	* gnu/java/awt/peer/gtk/GtkImage.java
	(setColorModel): Use equals() to compare ColorModel objects.
	(setPixels): Likewise.
	* java/awt/image/ColorModel.java
	(equals): Fix typo. Use Arrays.equals() to compare int arrays.
	* java/awt/image/RGBImageFilter.java
	(setColorModel): Set consumer's color model.
	(setPixels): Use equals() to compare ColorModel objects.

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

	* java/io/ObjectInputStream.java:
	Merge debug code with libgcj.
	(depth): New field.
	* java/io/ObjectOutputStream.java
	(writeObject): Revert not intended change in my last commit.

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

	* java/lang/String.java: Fixed javadocs all over.

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

	* include/Makefile.am: Don't generate gnu_java_awt_EmbeddedWindow.h.
	* include/gnu_java_awt_EmbeddedWindow.h: Removed.

2004-07-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Class.java (pd): Made final. (unknownProtectionDomain):
	Removed. (StaticData): New inner class.
	(Class(Object, ProtectionDomain): New constructor.
	(getProtectionDomain): Get unknownProtectionDomain from StaticData
	inner class.

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

	* java/net/URLConnection.java (position): New field.
	(dateFormat1, dateFormat2, dateFormat3): Removed.
	(dateFormats): New field.
	(getHeaderFieldDate): Use new dateFormats array. Re-use parsePosition
	each time instead of re-allocating.
	(initializeDateFormats): Initialize 'dateFormats'.

2004-07-20  Patrik Reali  <reali@acm.org>

	* gnu/java/nio/PipeImpl.java,
	include/Makefile.am,
	include/gnu_java_nio_VMPipe.h,
	include/gnu_java_nio_VMPipeImpl.h,
	native/jni/java-nio/Makefile.am,
	native/jni/java-nio/gnu_java_nio_VMPipe.c,
	native/jni/java-nio/gnu_java_nio_VMPipeImpl.c,
	vm/reference/gnu/java/nio/Makefile.am,
	vm/reference/gnu/java/nio/VMPipe.java,
	vm/reference/gnu/java/nio/VMPipeImpl.java: VMPipeImpl renamed to VMPipe

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

	* include/Makefile.am: Fixed generation of VMPipeImpl.h

2004-07-20  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/faq/faq.wml: entry on lib/standard.omit

2004-07-20  Patrik Reali  <reali@acm.org>

	* configure.ac, 
	gnu/java/nio/PipeImpl.java, 
	include/Makefile.am, 
	include/gnu_java_nio_PipeImpl.h,
	include/gnu_java_nio_VMPipeImpl.h, 
	native/jni/java-nio/Makefile.am, 
	native/jni/java-nio/gnu_java_nio_PipeImpl.c, 
	native/jni/java-nio/gnu_java_nio_VMPipeImpl.c,
	vm/reference/Makefile.am,
	vm/reference/gnu/.cvsignore,
	vm/reference/gnu/Makefile.am,
	vm/reference/gnu/java/.cvsignore, 
	vm/reference/gnu/java/Makefile.am,
	vm/reference/gnu/java/nio/.cvsignore,
	vm/reference/gnu/java/nio/Makefile.am,
	vm/reference/gnu/java/nio/VMPipeImpl.java: native method init moved
	from gnu.java.nio.PipeImpl to gnu.java.nio.VMPipeImpl

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

	* java/net/Socket.java (getImpl): Now private. Remove comment.

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

	* java/io/BufferedWriter.java (BufferedWriter): Use existing lock
	of chained Writer when calling super-constructor.
	* java/io/FilterWriter.java (FilterWriter): Likewise.
	* java/io/PrintWriter.java (PrintWriter): Likewise.

2004-07-20  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/home.wml doc/www.gnu.org/newsitems.txt: mauve
	reports added to news and homepage

2004-06-19  Archie Cobbs  <archie@dellroad.org>

	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
	(receive0): Don't byte-swap already-swapped remote port

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

	* java/net/DatagramSocket.java
	(getLocalAddress): Check if socket is bound or not.
	* java/net/Socket.java
	(getLocalAddrss): Check if socket is bound or not.
	(getPort): Return -1 when not connected. Dont check getImpl() for
	null.
	(setReuseAddress): Check if socket is closed.
	(isConnected): Check if getImpl() returns null.

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

	* java/beans/EventHandler.java: New file.
	* java/beans/Makefile.am
	(EXTRA_DIST): Added EventHandler.java.

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

	* configure.ac
	(AC_CONFIG_FILES): Removed native/jni/java-awt/Makefile.
	* gnu/java/awt/EmbeddedWindow.java
	(static): Removed.
	(addNotify): Set peer via reflection.
	(setWindowPeer): Removed.
	* native/jni/Makefile.am
	(SUBDIRS): Removed java-awt.
	(DIST_SUBDIRS): Likewise.
	* native/jni/java-awt/.cvsignore,
	native/jni/java-awt/Makefile.am,
	native/jni/java-awt/gnu_java_awt_EmbeddedWindow.c:
	Removed.

2004-07-16  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URL.java (URL(String,String,int,String,URLStreamHandler):
	Don't set authority if host isn't specified.

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

	* java/nio/ByteOrder.java
	(static): Removed. Not needed.
	Thanks to Patrick Reali for noticing.

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

	* java/util/zip/GZIPOutputStream.java:
	Fixed javadocs.

2004-07-16  Michael Koch  <konqueror@gmx.de> 
	    Matthias Klose  <doko@debian.org> 

	* java/awt/im/InputContext.java: Initialize in, line.

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

	PR libgcj/16574
	* java/sql/Timestamp.java (dateFormat): Renamed from sdf.
	(decimalFormat): New static variable.
	(sbuf): Likewise.
	(getTime): New. Override Date.getTime().
	(toString): Synchronize. Use decimalFormat to format nanos value
	correctly. Truncate extra zeros.
	(before): Compare getNanos() only if getTime() is equal.
	(after): Likewise.

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

	* java/util/zip/OutputWindow.java:
	Fixed javadocs all over.
	(WINDOW_SIZE): Made static.
	(WINDOW_MASK): Made static.

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

	* java/security/Security.java: Fixed javadocs all over.

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

	* java/nio/charset/CharsetDecoder.java
	(decode): Fix for bug #9177: Reset state before flipping.

2004-07-15  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/CollationElementIterator.java
	(text_decomposition): Changed type to RuleBasedCollator.CollationElement[]
	(setText): Use ArrayList instead of Vector.

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

	* include/Makefile.am: Distclean jni_md.h.

2004-07-15  Andrew Haley  <aph@redhat.com>

	* java/io/ObjectOutputStream.java: Add DEBUG statements
	everywhere.
	(dumpElementln): New method.
	(depth): New field.

2004-07-14  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: SableVM and JC releases
	* doc/www.gnu.org/tasks.wml: General Paths task removed

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

	* java/net/URLStreamHandler.java (parseURL): Canonicalize
	file portion of URL in addition to spec for file: protocol.

2004-07-12  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.10+cvs.

2004-07-12  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/newsitems.txt: Link to html file, not wml file.

2004-07-12  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/announce/20040712.wml: New file.
	* doc/www.gnu.org/downloads/downloads.wml: Add 0.10 release.
	* doc/www.gnu.org/newsitems.txt: Add announcement.

2004-07-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/BufferedInputStream.java (count, pos, marklimit): Removed
	unnecessary initialization. (marktarget, CHUNKSIZE): Removed.
	(bufferSize): New field. (close): Reset state. (read()): Removed
	unnecessary cast. (read(byte[],int,int): Try harder to read the
	requested number of bytes. (mark,reset,refill): Fixed handling of
	marking. (skip): Added stream closed check and removed mark handling.

2004-07-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java (readObject): Delegate instantation
	of Externalizable classes to ObjectStreamClass.
	* java/io/ObjectStreamClass.java (newInstance): New method to
	instantiate Externalizable (while ignoring the accessibility of
	the constructor). (constructor): New field to cache the constructor.

2004-07-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/reflect/Proxy.java (getPackage, ClassFactory): Fixed
	handling of default package. (generate): Removed confused comments
	and code about making Method and Field accessible.

2004-07-10  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/DatagramPacket.java (setAddress): Removed check for
	null address.

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

	* configure.ac: Set version to 0.10.
	* NEWS: Add new features of 0.10.
	* README: Mention additional GNU library packages.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): Initialize
	gdk_env before calling any gdk or gtk function.

	* gnu/java/awt/peer/gtk/GtkMainThread.java (gtkInitCalled): New field.
	(GtkMainThread): Call wait() in while loop waiting for gtkInitCalled.
	(run): Seet gtkInitCalled.

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

	* native/jni/gtk-peer/gthread-jni.c (setup_cache): Call
	ExceptionOccurred, not ExceptionCheck, when we don't have JNI 1.2.

2004-07-08  Mark Wielaard  <mark@klomp.org>

	* javax/swing/Box.java: Put FIXME comment above class declaration.
	* javax/swing/JButton.java: Remove illegal L&F HTML from comments.
	* javax/swing/JCheckBox.java: Likewise.
	* javax/swing/JDialog.java: Likewise.
	* javax/swing/JRadioButton.java: Likewise.
	* javax/swing/JToggleButton.java: Likewise.
	* javax/swing/UIManager.java: Likewise.
	* javax/swing/border/TitledBorder.java: Likewise.
	* javax/swing/plaf/basic/BasicLabelUI.java: Likewise.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise.
	* javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java: Likewise.
	* javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicSeparatorUI.java: Likewise.
	* javax/swing/text/JTextComponent.java: Likewise.
	
2004-07-08  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (static): Set file.encoding to 8859_1 when
	not set yet.
	* vm/reference/java/lang/VMRuntime.java (insertSystemProperties):
	Document file.encoding property.

2004-07-08  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/io/File.java
	(toURI): Use new URI(scheme, userInfo, host, port, path,
	query, fragment).

2004-07-08  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/text/MessageFormat.java
	(formatInternal): Append "{n}" if argument n is unavailable.
	(format(Object, StringBuffer, FieldPosition)): This
	should be equivalent to format(Object[], StringBuffer, FieldPosition).

2004-07-07  Guilhem Lavaux <guilhem@kaffe.org>

	* include/jni.h: Fixed compilation in C++ mode.

2004-07-07  Steven Augart  <augart@watson.ibm.com>

	* gnu/java/awt/peer/gtk/GtkMainThread.java (run): Pass the value of 
	the gnu.classpath.awt.gtk.portable.native.sync system property to C.

	* configure.ac: Correct description of PORTABLE_NATIVE_SYNC
	config.h definition.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	include/gnu_java_awt_peer_gtk_GtkMainThread.h
	(Java_gnu_java_awt_peer_gtk_GtkMainThread_gtkInit): New argument,
	portableNativeSync.  Delegate PORTABLE_NATIVE_SYNC work to
	init_glib_threads. 
	(init_glib_threads): New function.

	* doc/vmintegration.texinfo (VM Threading Model): Explain the
	gnu.classpath.awt.gtk.portable.native.sync system property. 

	* NEWS: Mention the gnu.classpath.awt.gtk.portable.native.sync
	new system property.
	
2004-07-06  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: mail about emacs with GNU Classpath
	style support added

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

	* java/util/Locale.java (readObject): Intern strings read from object
	stream.

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

	* java/util/Locale.java (hashcode): Made transient.
	(hashCode): No longer synchronized.
	(equals): Remove comment.
	(writeObject): No longer synchronized. Implement using writeObject 
	calls instead of tweaking hashCode field. Update doc.
	(readObject): Implement using readObject calls.

2004-07-04  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.10-pre1.

2004-07-04  Stephen Crawley <crawley@dstc.edu.au>

	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(Java_gnu_java_nio_channels_FileChannelImpl_read___3BII):
	Check zero length early.
	(Java_gnu_java_nio_channels_FileChannelImpl_write___3BII):
	Check zero length early. Return immediatly when exception is thrown.

2004-07-04  Casey Marshall <csm@gnu.org>

	* java/security/AccessControlContext.java
	(checkPermission): check for empty context.
	* vm/reference/java/security/VMAccessController.java
	(getContext): combine debugging statements.
	(getStack): implemented.

	* NEWS: Describe new platform dependent VMAccessController class.

2004-07-04  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (static): Add (fake) ASCII support to
	defaultProperties encoding_scheme_alias.

2004-07-04  Mark Wielaard  <mark@klomp.org>

	* INSTALL: Make needed texinfo version (4.2+) more explicit.

2004-07-04  Mark Wielaard  <mark@klomp.org>

	* java/beans/Expression.java: New class from libgcj.
	* java/beans/Statement.java: Likewise.
	* java/beans/Makefile.am (EXTRA_DIST): Add new files.

2004-07-03  Mark Wielaard  <mark@klomp.org>
	    Anthony Green  <green@redhat.com>

	* java/net/URL.java (getFile): Clarify return value doc.
	(getPath): Return null if file is empty - not
	empty String.

2004-07-03  Mark Wielaard  <mark@klomp.org>
	    Anthony Green  <green@redhat.com>

	* java/net/URL.java (set): Convert protocol to lower case before
	doing anything.
	Only change the protocol handler if it's different.

2004-07-03  Anthony Green  <green@redhat.com>

	* java/net/URL.java (URL): Convert protocol to lower case before
	doing anything, so we getURLStreamHandler() with the proper
	value.

2004-07-01  Mark Wielaard  <mark@klomp.org>

	Reported by Roman Kennke <roman@ontographics.com> (bug #9331)
	* java/net/URLStreamHandler.java (parseURL): When url file part
	doesn't contain a '/' just ignore context.

2004-07-01  Mark Wielaard  <mark@klomp.org>

	* java/net/URL.java (systemClassLoader): New static field.
	(getURLStreamHandler): Always use system/application classloader
	for finding URLStreamhandler. Remove unecessary instanceof checks.

2004-07-01  Mark Wielaard  <mark@klomp.org>

	* java/awt/event/InvocationEvent.java (dispatch): Synchronize
	on notifier object before calling notifyAll().

2004-07-01  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter):
	Define hid at start of function.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter):
	Likewise.

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

	* gnu/java/awt/EmbeddedWindow.java:
	Load native library for setWindowPeer method.

2003-06-30  Dalibor Topic  <robilad@kaffe.org>

	* gnu/regexp/CharIndexedInputStream.java: Reorganized imports.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* doc/www.gnu.org/faq/faq.wml: Update CVS locations.

2004-06-29  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Thread.java (sleep(long,int)): Added argument checking.

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

	* java/text/DateFormat.java (parse):
	Improved javadoc. Improved exception message.

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

	* vm/reference/java/lang/VMThread.java (holdsLock):
	Implemented in java.
	* NEWS: Document new java version.

2004-06-27  Mark Wielaard  <mark@klomp.org>

	* gnu/java/net/protocol/http/Connection.java (userAgent): New static
	final field.
	(sendRequest): Use new field in user-agent http agent.

2004-06-27  Jerry Quinn  <jlquinn@optonline.net>

	* java/util/zip/ZipEntry.java (setTime): Remove scaling.

2004-06-27  Andreas Tobler  <a.tobler@schweiz.ch>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(init_dpi_conversion_factor): Check for int_dpi < 0 in case gtk-xft-dpi
	can not calculate the right value.
	(dpi_changed_cb): Likewise. Mark *pspec as unused.

2004-06-27  Mark Wielaard  <mark@klomp.org>

	* java/awt/EventQueue.java (postEvent): Throw NullPointerException
	when argument is null.

2004-06-26  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(ok_clicked): Use Ljava/lang/String; not Ljava.lang.String; in JNI
	GetMethodID call.
	(cancel_clicked): Likewise.

2004-06-26  Mark Wielaard  <mark@klomp.org>

	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: Regenerated.

	* javax/swing/plaf/basic/BasicMenuUI.java (mousePressed): Don't call
	protected JMenu methods fireMenuCanceled() and fireMenuSelected().

	* javax/swing/Makefile.am (EXTRA_DIST): Add jTextArea.
	* javax/swing/plaf/basic/Makefile.am (EXTRA_DIST): Add
	BasicDesktopIconUI.java, BasicDesktopPaneUI.java,
	BasicInternalFrameTitlePane.java, BasicInternalFrameUI.java,
	BasicPopupMenuSeparatorUI.java and BasicToolBarUI.java.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Fix up non-ansi comments.

2004-06-26  Ranjit Mathew  <rmathew@hotmail.com>

	* javax/swing/text/AbstractDocument.java: Adding missing import
	for javax.swing.event.EventListenerList.
	* javax/swing/text/DefaultCaret.java: Likewise.

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

	* javax/swing/JToolBar.java
	(name): Removed.
	(JToolBar): Use Component.setName(String) instead of doing it all
	alone.
	* javax/swing/Timer.java
	(queueEvent): Added missing modifier.

2004-06-26  Olga Rodimina  <rodimina@redhat.coom>

	* javax/swing/JMenu.java:
	(insertSeparator): Implemented.
	* javax/swing/JPopupMenu.java:
	(JPopupMenu.Separator): Implemented.
	* javax/swing/MenuSelectionManager.java:
	(processMouseEvent): Use java.awt.Component 
	for event source instead of javax.swing.JComponent. 
	* javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java:
	New File. Implemented.
	
2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/GridBagLayout.java
	(GetLayoutInfo): Adjust cell sizes iff parent size is not zero.
	Make sure pos_x and pos_y are never negative.

2004-06-26  Andrew Overholt  <overholt@redhat.com>

	* javax/swing/JToolBar.java
	Partially implemented.
	* javax/swing/plaf/basic/BasicToolBarUI.java
	New file. Partially implemented.

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

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java 
	(setComposite): Accept AlphaComposite arguments.
	* gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
	(createBufferedImage): Add new overloads.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(createImage): Use GdkPixbufDecoder.createBufferedImage
	when useGraphics2D() is true.
	(getImage): Delegate to createImage.
	* javax/swing/JList.java
	(isSelectionEmpty):
	(getFirstVisibleIndex):
	(getLastVisibleIndex):
	(setSelectedValue):
	(ensureIndexIsVisible): New methods.
	* javax/swing/Timer.java: Reimplement.

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

	* javax/swing/text/AbstractDocument.java
	(AbstracElement): Made public, implements java.io.Serializable.
	(AttributeContext): Made public.
	(BranchElement): Likewise.
	(Content): Likewise.
	(DefaultDocumentEvent): Made public, extends
	javax.swing.undo.CompoundEdit.
	(ElementEdit): Made public, extends
	javax.swing.undo.AbstractUndoableEdit.
	(LeafElement): Made public.
	(LeafElement.LeafElement): Made public.

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

	* javax/swing/text/JTextComponent.java: Totally reworked. Removed many
	methods (that were obviously never be intended to get included hi this
	class. Added some methods too.

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

	* javax/swing/text/PlainDocument.java
	(serialVersionUID): New constant.
	(lineLimitAttribute): Likewise.
	(tabSizeAttribute): Likewise.
	(tabSize): New field.
	(PlainDocument): Made public.
	(PlainDocument): New constructor.

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

	* javax/swing/text/AbstractDocument.java
	(insertString): Throws BadLocationException.
	* javax/swing/text/Document.java
	(insertString): Likewise.
	* javax/swing/text/JTextComponent.java:
	Javadocs and comments cleaned up.

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

	* javax/swing/event/UndoableEditListener.java: Reformatted.
	* javax/swing/text/AbstractDocument.java
	(AbstractDocument): Implements java.io.Serializable.
	(doc_list): Removed.
	(undo_list): Removed.
	(AbstractElement.serialVerionUID): New field.
	(BranchElement.serialVerionUID): Likewise.
	(DefaultDocumentEvent.serialVerionUID): Likewise.
	(ElementEdit.serialVerionUID): Likewise.
	(LeafElement.serialVerionUID): Likewise.
	(serialVerionUID): Likewise.
	(BAD_LOCATION): New constant.
	(BidiElementName): Likewise.
	(ContentElementName): Likewise.
	(ParagraphElementName): Likewise.
	(SectionElementName): Likewise.
	(ElementNameAttribute): Likewise.
	(AbstractDocument): Made protected.
	(AbstractDocument): New construtor.
	(listenerList): New field.
	(fireChangedUpdate): Implemented.
	(fireInsertUpdate): Likewise.
	(fireRemoveUpdate): Likewise.
	(fireUndoableEditUpdate): Likewise.
	(getListeners): Likewise.
	(addDocumentListener): Likewise.
	(removeDocumentListener): Likewise.
	(addUndoableEditListener): Likewise.
	(removeUndoableEditListener): Likewise.
	(getDocumentListeners): New method.
	(getUndoableEditListeners): Likewise.
	(getAsynchronousLoadPriority): Made public.
	(getBidiRootElement): Likewise.
	(setAsynchronousLoadPriority): Likewise.
	(setDocumentProperties): Likewise.
	* javax/swing/text/BadLocationException.java
	(serialVerionUID): New field.
	* javax/swing/text/DefaultCaret.java
	(changeEvent): New field.
	(listenerList): Likewise.
	(changes): Removed.
	(addChangeListener): Reimplemented.
	(removeChangeListener): Likewise.
	(getListeners): New method.
	(getChangeListeners): Likwise.
	(getComponent): Likewise.
	* javax/swing/text/GapContent.java
	(GapContent): Implements java.io.Serializable.
	(serialVerionUID): New field.

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

	* javax/swing/JTree.java
	(treeModel): New field.
	(JTree): New constructors, one existing one made public.
	(createTreeModel): New method.
	(addTreeExpansionListener): Likewise.
	(removeTreeExpansionListener): Likewise.
	(getTreeExpansionListeners): Likewise.
	(fireTreeCollapsed): Likewise.
	(fireTreeExpanded): Likewise.
	(addTreeSelectionListener): Likewise.
	(removeTreeSelectionListener): Likewise.
	(getTreeSelectionListeners): Likewise.
	(fireValueChanged): Likewise.
	(addTreeWillExpandListener): Likewise.
	(removeTreeWillExpandListener): Likewise.
	(getTreeWillExpandListeners): Likewise.
	(fireTreeWillCollapse): Likewise.
	(fireTreeWillExpand): Likewise.

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

	* javax/swing/JTree.java: Reformatted.

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

	* javax/swing/JTextArea.java: New file.
	* javax/swing/JTextField.java
	(actions): Removed.
	(notifyAction): New constant.
	(columns): New field.
	(JTextField): New constructors.
	(createDefaultModel): New method.
	(addActionListener): Reimplmemented.
	(removeActionListener): Reimplemented.
	(getActionListeners): New method.
	(fireActionPerformed): New method.
	(getColumns): New method.
	(setColumne): New method.
	* javax/swing/text/JTextComponent.java
	(AccessibleJTextComponent.serialVersionUID): New field.
	(serialVersionUID): Likewise.
	(DEFAULT_KEYMAP): Likewise.
	(FOCUS_ACCELERATOR_KEY): Likewise.
	(doc): Made private.
	(icon_gap): Likewise.
	(icon): Likewise.
	(align): Likewise.
	(JTextComponent): Some constructors removed.
	(getScrollableTracksViewportHeight): New method.
	(getScrollableTracksViewportWidth): Likewise.

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

	* javax/swing/ImageIcon.java (ImageIcon): New constructor.
	* javax/swing/JFrame.java (defaultLookAndFeelDecorated): New property.
	* javax/swing/JViewport.java 
	(getExtentSize): Return size rather than preferred size.
	(toViewCoordinates): New methods.
	(getViewSize): Return size rather than preferred size.
	(setViewSize): Note view size as set.
	* javax/swing/ViewportLayout.java (layoutContainer): Reimplement.
	* javax/swing/plaf/basic/BasicScrollBarUI.java 
	(getPreferredSize): Don't redo layout.
	* javax/swing/plaf/basic/BasicViewportUI.java 
	(paint): Translate image properly and eat exceptions.

2004-06-26  Kim Ho  <kho@redhat.com>

	* javax/swing/JTabbedPane.java
	(setComponent): Remove old component and
	add new component.
	(setSelectedIndex): Don't operate on the 
	components if they're null. Don't set index
	on the model if the index is the same.
	(insertTab): Don't add or hide the component
	if it's null. Repaint the container.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	Change colors for TabbedPane.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(mousePressed): Re-layout and paint the component.
	(layoutContainer): Don't set location on the view.
	(ScrollingViewport::paint): Remove.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetDispatchKeyEvent): Change warning message to comment.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Wrap baseline y value in PANGO_PIXELS macro, rather than simply
	dividing by PANGO_SCALE.  Call gdk_flush before leaving GDK
	critical region.
	(drawLine): Call gdk_flush before leaving GDK critical region.
	(fillRect): Likewise.
	(drawRect): Likewise.
	(copyArea): Likewise.
	(copyPixmap): Likewise.
	(clearRect): Likewise.
	(drawArc): Likewise.
	(drawPolyline): Likewise.
	(drawPolygon): Likewise.
	(fillPolygon): Likewise.
	(fillArc): Likewise.
	(drawOval): Likewise.
	(fillOval): Likewise.

	* gnu/java/awt/peer/gtk/GdkFontMetrics.java (initState): Add
	style parameter.
	(GdkFontMetrics): Add style argument to initState call.
	(stringWidth(String,int,int,String)): Add style parameter.
	(stringWidth(String)): Add style argument to stringWidth call.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c
	(initState): Set pango font style and weight based on AWT style
	parameter.  Pass default GTK language to
	pango_context_get_metrics.  Use PANGO_PIXELS macro rather than
	simply dividing by PANGO_SCALE.
	(stringWidth): Set pango font style and weight based on AWT style
	parameter.

	* java/awt/Button.java (next_button_number): New field.
	(paramString): Change output.
	(generateName): New method.
	(getUniqueLong): New method.

2004-06-26  Kim Ho  <kho@redhat.com>

	* javax/swing/JTabbedPane.java:
	(setComponentAt): Set the component, not
	the enabled status.
	* javax/swing/plaf/basic/BasicDesktopIconUI.java
	(actionPerformed): Let deiconize catch exception.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JPopupMenu.java:
	(setVisible): Corrected location of a 
	heavyweight popup menu.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/MenuSelectionManager.java: 
	Ran through jalopy to fix formatting style.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>
	
	* javax/swing/JLayeredPane.java: 
	(remove): Revalidate and repaint layered pane after
	the component was removed.
	javax/swing/JMenu.java:
	(setVisible): Display popup menu at the user location,
	if one was set by the user.
	(setMenuLocation): Reimplemented. Fixed javadoc.
	* javax/swing/JMenuBar.java: Added javadoc.
	(BORDER_PAINTED_CHANGED_PROPERTY): New Property.
	(MODEL_CHANGED_PROPERTY): New Property.
	(isSelected): Implemented.
	(setBorderPainted): Fire PropertyChangeEvent
	if paintBorder property changes.
	(setSelected): Implemented.
	(setSelectionModel): Implemented.
	* javax/swing/JPopupMenu.java: Added Javadoc
	(pack): Implemented.
	(setVisible): Reimplemented.
	(show): Fixed location.
	(JPopupMenu.LigthWeightPopup): Reimplemented to use
	Container instead of JPanel.
	* javax/swing/MenuSelectionManager.java: Added Javadocs.
	(clearSelectedPath): Reimplemented to clear selectedPath
	in reverse order.
	(processMouseEvent): Reimplemented.
	(setSelectedPath): Fire stateChange event indicating that
	selected menu path has changed.
	(getPath): Change to use ArrayList instead of Vector.
	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	(installUI): call installKeyboardActions().
	(uninstallUI): call uninstallKeyboardActions().

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

	* javax/swing/text/DefaultCaret.java,
	javax/swing/text/BadLocationException.java:
	Reformatted.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (DEFAULT_ROWS,
	DEFAULT_COLS): New variables.
	(create): Don't allow 0 rows or 0 columns.  Instead, set the
	values to DEFAULT_ROWS or DEFAULT_COLS.
	(getMinimumSize): Likewise.
	(getPreferredSize): Likewise.
	(minimumSize): Likewise.
	(preferredSize): Likewise.
	(create): Set peer's editable state.
	* java/awt/TextArea.java (TextArea()): Set rows and columns to
	zero.  Update javadocs.
	(TextArea(String)): Likewise.
	(TextArea(int,int)): Fix javadocs.
	(TextArea(String,int,int,int)): Only throw exception if one of
	rows or columns is zero.  Fix javadocs.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/AWTEvent.java (toString): Handle MenuComponents in
	addition to Components.

	* java/awt/MenuItem.java (dispatchEventImpl): If the event
	wasn't consumed by normal processing, send it to the parent
	menu.

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(setPixels(int,int,int,int,ColorModel,int[],int,int)): Remove
	translation.

2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/MediaTracker.java
	(addImage(Image,int)): Call imageUpdate() to udpate image status.
	(addImage(Image,int,int,int)): Likewise.

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

	* javax/swing/text/AbstractDocument.java,
	javax/swing/text/Document.java,
	javax/swing/text/GapContent.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/PlainDocument.java:
	Reformatted.

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

	* javax/swing/JRootPane.java
	(AccessibleJRootPane.serialVersionUID): New field.
	(AccessibleJRootPane.AccessibleJRootPane): New constructor.
	(AccessibleJRootPane.getAccessibleRole): New method.
	(RootLayout): Implements Serializable.
	(RootLayout.serialVersionUID): New field.
	(RootLayout.RootLayout): New constructor.
	(setJMenuBar): Made public.
	(getJMenuBar): Likewise.
	(JRootPane): Likewise.
	(createContentPane): Likewise.
	(createGlassPane): Likewise.
	(createLayeredPane): Likewise.

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

	* javax/swing/SwingUtilities.java
	(isLeftMouseButton): Fixed javadoc.
	(isMiddleMouseButton): Likewise.
	(isRightMouseButton): Likewise.

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

	* javax/swing/JScrollPane.java
	(serialVersionUID): New field.
	(columnHeader): Made protected.
	(rowHeader): Likewise.
	(lowerLeft): Likewise.
	(lowerRight): Likewise.
	(upperLeft): Likewise.
	(upperRight): Likewise.
	(horizontalScrollBar): Likewise.
	(horizontalScrollBarPolicy): Likewise.
	(verticalScrollBar): Likewise.
	(verticalScrollBarPolicy): Likewise.
	(viewport): Likewise.

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

	* javax/swing/LookAndFeel.java: Fixed javadocs.

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

	* javax/swing/JEditorPane.java: Fixed javadocs.
	(JEditorPane): Removed redundant call to to this().
	(fireHyperlinkUpdate): Implemented.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenu.java: Fixed file name 
	in the file comment.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenu.java: Added javadoc.
	(JMenu): Added MenuChangeListener to listen to 
	ChangeEvents occuring in menu's model. 
	(insert): Throw IllegalArgumentException if 
	index is less than 0
	(setSelected): Reimplement.
	(setPopupMenuVisible): Call menu's model isEnabled()
	(setDelay): Throw IllegalArgumentException if 
	given amount of delay is less than 0.
	(createActionComponent): Implemented.
	(createActionChangeListener): Implemented.
	(addSeparator): Implemented.
	(getItem): Throw IllegalArgumentException if index is 
	less than 0.
	(getItemCount): Implemented.
	(fireMenuSelected): Changed to use menuEvent.
	(fireMenuDeselected): Likewise.
	(fireMenuCanceled): Likewise.
	(setAccelerator): Changed to throw an error if this 
	method is used. 
	(doClick): Implemented.
	(JMenu.ActionChangedListener): New inner class to handle
	PropertyChangeEvents occuring in the actions associated with menu.
	* javax/swing/plaf/basic/BasicMenuUI.java: Added javadoc.
	(BasicMenuUI): Added PropertyChangeListener to the menu.
	(createChangeListener): Implemented.
	(createMenuDragMouseListener): Likewise.
	(createMenuKeyListener): Likewise.
	(createPropertyChangeListener): Likewise.
	(uninstallListeners): Likewise.
	(BasicMenuUI.MouseInputHandler): Reimplemented.
	(BasicMenuUI.PropertyChangeHandler): New class. Not implemented yet.
	(BasicMenuUI.ChangeHandler): Likewise.
	(BasicMenuUI.MenuDragMouseHandler): Likewise.
	(BasicMenuUI.MenuKeyHandler): Likewise.

2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/MediaTracker.java
	(imageUpdate): Only do notifyAll() if the image is complete.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JApplet.java:
	(getJMenuBar): Made public.
	(setJMenuBar): Likewise.
	* javax/swing/JFrame.java:
	(getJMenuBar): Made public.
	(setJMenuBar): Likewise.
	* javax/swing/JWindow.java:
	(getJMenuBar): Removed.
	(setJMenuBar): Removed.

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

	* javax/swing/JEditorPane.java
	(createEditorKitForContentType): Fixed visibility.
	(fireHyperlinkUpdate): Likewise.
	(getContentType): Likewise.
	(getEditorKit): Likewise.
	(getEditorKitForContentType): Likewise.
	(getPage): Likewise.
	(read): Likewise.
	(registerEditorKitForContentTyoe): Likewise.
	(replaceSelection): Likewise.
	(setContentType): Likewise.
	(setEditorKit): Likewise.
	(setPage): Likewise.

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

	* javax/swing/Timer.java
	(Timer): New constructor.
	* javax/swing/plaf/basic/BasicProgressBarUI.java
	(animationTimer): Don't initialize at construction.
	(startAnimationTimer): Added since tag.
	(stopAnimationTimer): Likewise.
	(installUI): Use new Timer constructor.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(installUI): Likewise.
	* javax/swing/plaf/basic/BasicSliderUI.java
	(installUI): Likewise.

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

	* javax/swing/ButtonGroup.java
	(serialVersionUID): Made private.
	(buttons): Renamed from v, added javadoc.
	(sel): Added javadoc.
	(ButtonGroup): Likewise.
	(add): Likewise.
	(remove): Likewise.
	(getElements): Likewise.
	(getSelection): Likewise.
	(setSelected): Likewise.
	(isSelected): Likewise.
	(getButtonCount): Likewise.

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

	* javax/swing/ButtonGroup.java,
	javax/swing/ImageIcon.java,
	javax/swing/JEditorPane.java,
	javax/swing/JRootPane.java,
	javax/swing/JTextField.java,
	javax/swing/LookAndFeel.java,
	javax/swing/plaf/basic/BasicTextUI.java:
	Reindented.

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

	* javax/swing/text/Style.java: Added javadocs.

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

	* javax/swing/JComponent.java
	(fireVetoableChange): Removed redundant cast.
	* javax/swing/JLabel.java
	(getDisabledIcon): Save icon for next call.

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

	* javax/swing/KeyStroke.java
	(getKeyStroke(char,boolean)): Marked deprecated.

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

	* javax/swing/DefaultCellEditor.java,
	javax/swing/GrayFilter.java,
	javax/swing/event/DocumentEvent.java,
	javax/swing/text/JTextComponent.java,
	javax/swing/text/MutableAttributeSet.java:
	Reindented.

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

	* javax/swing/plaf/BorderUIResource.java:
	Added serialVersionUID all over.

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

	* javax/swing/DefaultButtonModel.java
	(ARMED): Made public final, fixed value.
	(ENABLED): Likewise.
	(PRESSED): Likewise.
	(ROLLOVER): Likewise.
	(SELECTED): Likewise.
	(stateMask): Initialize directly.
	(listenerList): Likewise.
	(mnemonic): Likewise.
	(fireStateChanged): Removed argument, use changeEvent as event.
	All places where this method is called are fixed too.
	(getActionCommant): Fixed javadoc.
	(setGroup): Fixed javadoc.
	(getGroup): New method.

2004-06-26  Olga Rodimina <rodimina@redhat.com>

	* javax/swing/AbstractButton.java
	(AbstractButton): Use init() to initialize the button.
	(init): New Method. Initializes AbstractButton.
	* javax/swing/JMenuItem.java: Documented.
	(JMenuItem): Reimplemented.
	(init): Implemented.
	(setEnabled): Changed to call super.setEnabled()
	(processMouseEvent): Reimplemented.
	(fireMenuKeyPressed): Implemented.
	(fireMenuKeyReleased): Implemented.
	(fireMenuKeyTyped): Implemented.
	(menuSelectionChanged): disarm the model if the menu item was
	deselected.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:Documented.
	(getPath): Change to use ArrayList instead of Vector.
	(getPreferredSize): Renamed variable.
	(paintMenuItem): Paint margin area of menu item.
	(MouseInputHandler.mouseEntered): Set selection in MenuSelectionManager.
	(MouseInputHandler.mouseReleased): Check if mouse was pressed inside
	menu item's bounds before clearing the selection. 	

2004-06-26  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
	(GtkTextComponentPeer): Set caret position to 0.
	* java/awt/TextComponent.java
	(setText): Set caret position to 0.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter):
	Handle GtkScrolledWindow separately. Fix signal handler blocking.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter):
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_create): Make cursor
	visible.

2004-06-26  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java
	(getComponentAt): Removed.
	* javax/swing/AbstractAction.java
	(ENABLED_PROPERTY): New property.
	(putValue): Fire PropertyChangeEvents.
	(setEnabled): ditto.
	(firePropertyChange): Javadoc and implement
	convenience method.
	* javax/swing/AbstractButton.java
	(setAction): Don't create PropertyChangeListener
	if new Action is null.
	(setIcon): Don't set icon till after comparing
	it.
	(configurePropertiesFromAction): Check mnemonic
	key before calling intValue().
	(createActionPropertyChangeListener): Check
	properties rather than bulk change.
	* javax/swing/DefaultDesktopManager.java:
	Implement.
	* javax/swing/DesktopManager.java:
	Jalopy and javadoc.
	* javax/swing/JComponent.java
	(fireVetoableChange): Implement.
	(paintImmediately): Use root component.
	* javax/swing/JDesktopPane.java: Implement
	* javax/swing/JInternalFrame.java: Implement
	* javax/swing/JLabel.java
	(getDisabledIcon): Return grayscaled icon if
	no disabled icon specified.
	* javax/swing/JMenuBar.java
	(getComponentAtIndex): Use getComponent
	* javax/swing/JOptionPane.java
	(getDesktopPaneForComponent): Use SwingUtilities'
	getAncestorOfClass
	(getFrameForComponent): ditto.
	* javax/swing/JSplitPane.java
	(remove): Use getComponent.
	* javax/swing/SwingUtilities.java
	(convertPoint): Implement.
	* javax/swing/plaf/basic/BasicButtonUI.java
	(paintButtonNormal): Check opaqueness before
	filling background.
	* javax/swing/plaf/basic/BasicDesktopIconUI.java:
	Implement
	* javax/swing/plaf/basic/BasicDesktopPaneUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java:
	Implement.
	* javax/swing/plaf/basic/BasicInternalFrameUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Change InternalFrame and Desktop colors.

2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/Container.java
	(remove): Do not set component to invisible.

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

	* javax/swing/tree/DefaultMutableTreeNode.java
	(getLeafCount): Renamed enum to e.

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

	* javax/swing/plaf/basic/BasicSplitPaneDivider.java
	(positionForMouseEvent): Removed redundant semicolon.
	(continueDrag): Use method arguments.

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

	* javax/swing/border/TitledBorder.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/plaf/basic/BasicButtonListener.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java,
	javax/swing/plaf/basic/BasicScrollBarUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicSliderUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicToggleButtonUI.java,
	javax/swing/table/JTableHeader.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/tree/DefaultTreeCellEditor.java:
	Reworked import statements.

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

	* javax/swing/Box.java: Temporarily comment out code
	broken due to visibility bug.

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

	* javax/swing/ImageIcon.java
	(ImageIcon): Added missing constructor.

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

	* javax/swing/JToggleButton.java
	(JToggleButton): New constructor.
	(getAccessibleContext): Moved documentation into javadoc.
	(getUIClassID): Likewise.

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

	* javax/swing/AbstractButton.java
	(getDisabledIcon): Create disabled icon if none exists yet.

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

	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(initClassDefaults): Added FormattedTextFieldUI.
	(loadResourceBundle): Renamed enum to e.

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

	* javax/swing/plaf/basic/BasicButtonUI.java
	(paintIcon): Simplified.
	(paintText): Paint disabled button correctly.

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

	* javax/swing/JComponent.java
	(createToolTip): Use official JToolTip API.

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

	* javax/swing/JToolTip.java
	(JToolTip): No arguments in API.
	(setTipText): New method.

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

	* javax/swing/SwingUtilities.java
	(isLeftMouseButton): New method.
	(isMiddleMouseButton): New method.
	(isRightMouseButton): New method.

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

	* javax/swing/AbstractButton.java,
	javax/swing/CellRendererPane.java,
	javax/swing/JCheckBoxMenuItem.java,
	javax/swing/JColorChooser.java,
	javax/swing/JComboBox.java,
	javax/swing/JComponent.java,
	javax/swing/JDesktopPane.java,
	javax/swing/JFileChooser.java,
	javax/swing/JMenu.java,
	javax/swing/JMenuItem.java,
	javax/swing/JOptionPane.java,
	javax/swing/JPasswordField.java,
	javax/swing/JPopupMenu.java,
	javax/swing/JProgressBar.java,
	javax/swing/JRadioButtonMenuItem.java,
	javax/swing/JScrollBar.java,
	javax/swing/JSeparator.java,
	javax/swing/JSlider.java,
	javax/swing/JSplitPane.java,
	javax/swing/JTabbedPane.java,
	javax/swing/JTextField.java,
	javax/swing/JToolBar.java,
	javax/swing/text/JTextComponent.java:
	Fixed all constructors of accessibility classes.

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

	* javax/swing/ScrollPaneLayout.java: Renamed all memeber variables all
	over.

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

	* javax/swing/Box.java
	(AccessibleBoxFiller): Extends AccessibleAWTComponent.
	(AccessibleBoxFiller.serialVersionUID): New member variable.
	* javax/swing/DefaultButtonModel.java
	(stateMask): Made protected.
	(listenerList): Likewise.
	(changeEvent): Likewise.
	(group): Likewise.
	(mnemonic): Likewise.
	(actionCommand): Likewise.
	(getListeners): New method.
	(getActionListeners): New method.
	(getItemListeners): New method.
	(getChangeListeners): New method.
	(fireItemStateChanged): Simplified.
	(fireActionPerformed): Simplified.
	(fireStateChanged): Simplified.
	* javax/swing/JFrame.java
	(JFrame): Implements WindowContants.
	(HIDE_ON_CLOSE): Removed.
	(EXIT_ON_CLOSE): Removed.
	(DISPOSE_ON_CLOSE): Removed.
	(DO_NOTHING_ON_CLOSE): Removed.
	(processWindowEvent): Exit with code 0.
	(setDefaultCloseOperation): Do security check before setting value.
	* javax/swing/JOptionPane.java
	(message): Initialize only in constructor.
	* javax/swing/JToolTip.java: Removed unused imports.
	* javax/swing/JViewport.java
	(serialVersionUID): New member variable.
	(SIMPLE_SCROLL_MODE): Made final, fixed value.
	(BLIT_SCROLL_MODE): Likewise.
	(BACKINGSTORE_SCROLL_MODE): Likewise.
	(scrollUnderway): Made protected.
	(isViewSizeSet): Likewise.
	* javax/swing/ListModel.java: Fixed javadoc.
	* javax/swing/Popup.java: Likewise.
	* javax/swing/RepaintManager.java
	(paintDirtyRegions): Don't use internal classes of
	java.util.AbstractMap.
	* javax/swing/ScrollPaneConstants.java: Reindented.
	* javax/swing/ScrollPaneLayout.java
	(viewport): Made protected.
	(verticalScrollBar): Made protected, renamed to vsb.
	(horizontalScrollBar): Made protected, renamed to hsb.
	(rowHeader): Made protected, renamed to rowHead.
	(columnHeader): Made protected, renamed to colHead.
	(lowerLeft): Made protected.
	(lowerRight): Made protected.
	(upperLeft): Made protected.
	(upperRight): Made protected.
	(verticalScrollBarPolicy): Made protected, renamed to vsbPolicy.
	(horizontalScrollBarPolicy): Made protected, renamed to hsbPolicy.

2004-06-26  Bernd Schmidt  <bernds@btinternet.com>

	* java/awt/MediaTracker.java (imageUpdate): Only set status to
	LOADING if flags has SOMEBITS set.

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

	* javax/swing/AbstractButton.java: Reorganized imports.
	* javax/swing/ActionMap.java: Likewise.
	* javax/swing/DefaultButtonModel.java: Likewise.
	* javax/swing/DefaultListModel.java: Likewise.
	* javax/swing/ImageIcon.java: Likewise.
	(serialVersionUID): New member variable.
	* javax/swing/JComboBox.java: Reorganized imports.
	* javax/swing/JComponent.java: Likewise.
	(ui): Made protected.
	(listenerList): Made protected.
	(TOOL_TIP_TEXT_KEY): New constant.
	(scrollRectToVisible): Removed redundant null check.
	* javax/swing/JFrame.java: Reorganized imports.
	* javax/swing/JInternalFrame.java: Reorganized imports.
	* javax/swing/JProgressBar.java: Likewise.
	* javax/swing/JRootPane.java: Likewise.
	* javax/swing/JScrollBar.java: Likewise.
	* javax/swing/JSeparator.java: Likewise.
	* javax/swing/JSlider.java: Likewise.
	* javax/swing/JTabbedPane.java: Likewise.
	* javax/swing/JTextField.java: Likewise.
	* javax/swing/JToolBar.java: Likewise.
	* javax/swing/JTree.java: Likewise.
	* javax/swing/JViewport.java: Likewise.
	* javax/swing/JWindow.java: Likewise.
	* javax/swing/KeyStroke.java: Likewise.
	* javax/swing/LookAndFeel.java: Likewise.
	* javax/swing/MenuSelectionManager.java: Likewise.
	* javax/swing/SwingUtilities.java: Likewise.
	* javax/swing/Timer.java: Likewise.
	* javax/swing/DefaultBoundedRangeModel.java: Fixed javadoc.
	* javax/swing/JList.java
	(HORIZONTAL_WRAP): Made final, fixed value.
	(VERTICAL): Likewise.
	(VERTICAL_WRAP): Likewise.

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

	* javax/swing/AbstractButton.java
	(serialVersionUID): New member variable.
	(AccessibleAbstractButton.serialVersionUID): Likewise.
	(AbstractButton): Made public.
	* javax/swing/Box.java
	(AccessibleBox.serialVersionUID): New member variable.
	(Filler.serialVersionUID): Likewise.
	* javax/swing/DefaultListSelectionModel.java
	(serialVersionUID): Likewise.
	* javax/swing/JApplet.java
	(serialVersionUID): Likewise.
	* javax/swing/JCheckBox.java
	(serialVersionUID): Likewise.
	* javax/swing/JCheckBoxMenuItem.java
	(serialVersionUID): Likewise.
	(AccessibleJCheckBoxMenuItem.serialVersionUID): Likewise.
	* javax/swing/JColorChooser.java
	(serialVersionUID): Likewise.
	(AccessibleJColorChooser.serialVersionUID): Likewise.
	* javax/swing/JComponent.java
	(serialVersionUID): Made private.
	(AccessibleJComponent.serialVersionUID): New member variable.
	* javax/swing/JDesktopPane.java
	(serialVersionUID): Likewise.
	* javax/swing/JDialog.java
	(serialVersionUID): Likewise.
	* javax/swing/JFormattedTextField.java
	(serialVersionUID): Fixed value.
	* javax/swing/JFrame.java
	(serialVersionUID): New member variable.
	(getDefaultCloseOpertation): Made public.
	* javax/swing/JLayeredPane.java
	(serialVersionUID): Likewise.
	(LAYER_PROPERTY): Made final, fixed value.
	(JLayeredPane): Made public.
	* javax/swing/JMenu.java
	(AccessibleJMenu.serialVersionUID): New member variable.
	(WinListener.serialVersionUID): Likewise.
	* javax/swing/JMenuBar.java
	(serialVersionUID): Likewise.
	(getComponentAtIndex): Added @deprecated tag.
	* javax/swing/JMenuItem.java
	(serialVersionUID): New member variable.
	(AccessibleJMenuItem.serialVersionUID): Likewise.
	* javax/swing/JOptionPane.java
	(serialVersionUID): Likewise.
	(AccessibleJOptionPane.serialVersionUID): Likewise.
	* javax/swing/JPopupMenu.java
	(serialVersionUID): Likewise.
	(AccessibleJPopupMenu.serialVersionUID): Likewise.
	(getPopupMenuListeners): New method.
	(getComponentAtIndex): Added @deprecated tag.
	* javax/swing/JProgressBar.java
	(serialVersionUID): New member variable.
	(AccessibleJProgressBar.serialVersionUID): Likewise.
	* javax/swing/JRadioButton.java
	(serialVersionUID): Likewise.
	* javax/swing/JRadioButtonMenuItem.java
	(serialVersionUID): Likewise.
	(AccessibleJRadioButtonMenuItem.serialVersionUID): Likewise.
	* javax/swing/JScrollBar.java
	(serialVersionUID): Likewise.
	(AccessibleJScrollBar.serialVersionUID): Likewise.
	* javax/swing/JSeparator.java
	(serialVersionUID): Likewise.
	(AccessibleJSeparator.serialVersionUID): Likewise.
	* javax/swing/JSlider.java: Fixed javadocs.
	(AccessibleJSlider.serialVersionUID): New member variable.
	* javax/swing/JSplitPane.java: Added copyright statement.
	(serialVersionUID): New member variable.
	(AccessibleJSplitPane.serialVersionUID): Likewise.
	* javax/swing/JTabbedPane.java
	(serialVersionUID): Likewise.
	(AccessibleJTabbedPane.serialVersionUID): Likewise.
	(ModelListener.serialVersionUID): Likewise.
	(ModelListener.ModelListener): New constructor.
	(SCROLL_TAB_LAYOUT): Made public final, fixed value.
	(WRAP_TAB_LAYOUT): Likewise.
	* javax/swing/JTable.java
	(serialVersionUID): New member variable.
	* javax/swing/JToggleButton.java
	(serialVersionUID): Likewise.
	(ToggleButtonModel): Made static.
	(ToggleButtonModel.serialVersionUID): New member variable.
	* javax/swing/JToolTip.java
	(serialVersionUID): Likewise.
	* javax/swing/JTree.java
	(serialVersionUID): Likewise.
	* javax/swing/JWindow.java
	(serialVersionUID): Likewise.
	* javax/swing/Timer.java
	(serialVersionUID): Likewise.

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

	* javax/swing/SwingConstants.java
	(NEXT): New constant.
	(PREVIOUS): Likewise.
	* javax/swing/UIManager.java
	(LookAndFeel): Made public.
	(LookAndFeel.getClassName): Likewise.
	(LookAndFeel.getName): Likewise.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java:
	Removed CVS tags.
	* javax/swing/JMenu.java: Likewise.
	* javax/swing/JMenuBar.java: Likewise.
	* javax/swing/JMenuItem.java: Likewise.
	* javax/swing/JPopupMenu.java: Likewise.
	* javax/swing/JRadioButtonMenuItem.java: Likewise.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java:Likewise.
	* javax/swing/plaf/basic/BasicMenuBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuUI.java: Likewise.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java: Likewise.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise.

2004-06-26  Olga Rodimina  <rodimina@redhat.com>
	
	* javax/swing/plaf/basic/BasicMenuUI.java:
	(MouseEntered): Do not call getPath() from MenuSelectionManager.
	Call getPath() from super class instead.

2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/Container.java
	(remove): Set component visibility to false after removing it.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/awt/Component.java (getForeground): Return SystemColor if
	parent is null.
	(getBackground): Likewise.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(item_highlighted): New function.
	(connectSignals): Set item_highlighted as list's select
	function.

	* java/applet/Applet.java: Revert changes from 2004-04-29,
	2004-03-15 and 2004-03-14.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Divide baseline y coordinate by PANGO_SCALE, not DPI conversion
	factor.

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (create): Set
	"Dialog" as the default font.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (create):
	Likewise.
	* java/awt/Component.java (getFont): Return "Dialog" font by
	default.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeer.c:
	Multiply size argument to pango_font_description_set_size by the
	DPI conversion factor rather than by PANGO_SCALE.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontMetrics.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c: Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
	Divide baseline y coordinate by DPI conversion factor rather
	than by PANGO_SCALE.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
	(area_prepared): Fix typo.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(gtkSetFont): Move gtk_bin_get_child inside GDK critical region.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(dpi_conversion_factor): New global variable.
	(init_dpi_conversion_factor): New function to calculate and
	track DPI conversion factor.
	(dpi_changed_cb): New callback.
	* native/jni/gtk-peer/gtkpeer.h (dpi_conversion_factor): Declare.

2004-06-26  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(getGraphics): Return a new GdkGraphics instance.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(getGraphics): Call super.getGraphics().

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(setNativeBounds): Clamp width and height values to >= 0.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(find_fg_color_widget): Handle GtkOptionMenu specially.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Only post configure events to visible
	top-level windows.

2004-06-26  David Jee  <djee@redhat.com>

	* java/awt/BorderLayout.java
	(layoutContainer): Fix size calculations.

2004-06-26  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_wm_protocols_filter): Remove function.
	(create): Remove filter that removes WM_TAKE_FOCUS client
	messages.

2004-06-25  Anthony Green  <green@redhat.com>

	* java/util/zip/ZipFile.java (getInputStream): Return null if
	entry not found.

2004-06-25  Mark Wielaard  <mark@klomp.org>

	* java/io/FilePermission.java (usingPerms): Removed.
	(actionsString): Made final.
	(cachePerms): Renamed to checkPerms.
	(checkPerms): Renamed from cachePerms. Call trim() and toLowerCase()
	on action String.
	(FilePermission): Check arguments, call checkPerms().
	(equals): Remove cachePerms() call.
	(implies): Likewise.

2004-06-24  Mark Wielaard  <mark@klomp.org>

	* gnu/java/nio/SelectorImpl.java (select): Call static Thread
	interrupted() method to clear interupt flag of our Thread.

2004-06-21  Steven Augart  <augart@watson.ibm.com>

	* native/jni/classpath/jcl.h, native/jni/classpath/jcl.c
	(JCL_free_cstring): "cstr" argument back to const.

2004-06-21  Steven Augart <augart@watson.ibm.com>

	* native/jni/classpath/jcl.c, native/jni/classpath/jcl.h
	(JCL_FindClass): Fixed const/non-const warning in function prototype.
	(JCL_ThrowException): Idem.
	(JCL_free_cstring): Fixed logical const/non-const problem in
	function prototype.

	* native/jni/classpath/jnilink.c, native/jni/classpath/jnilink.h
	(LINK_ReallyLinkClass): Fix const/non-const warning in function
	prototype. 
	(LINK_RelinkClass): Idem.
	(LINK_RelinkMethod): Idem.
	(LINK_RelinkStaticMethod): Idem.
	(LINK_RelinkField): Idem.
	(LINK_RelinkStaticField): Idem.
	
	* native/jni/classpath/primlib.c (nativeWrapClassName): Make const.
	(nativeWrapClassConstructorSig): Idem.
	(nativeWrapClassAccessorName): Idem.
	(nativeWrapClassAccessorSig): Idem.
	
2004-06-21  Steven Augart <augart@watson.ibm.com>

	* native/jni/classpath/jcl.c, native/jni/classpath/jcl.h,
	native/jni/classpath/jnilink.c, native/jni/classpath/jnilink.h,
	native/jni/classpath/native_state.c, 
	native/jni/classpath/native_state.h,
	native/jni/classpath/primlib.c, native/jni/classpath/primlib.h:
	Reformatted according to GNU Coding standards.

2004-06-21  Steven Augart  <augart@watson.ibm.com>

	* gnu/java/awt/peer/gtk/Makefile.am (EXTRA_DIST): Fixed
	alphabetization.

2004-06-21  David Grove <groved@us.ibm.com> 
	    Steven Augart <augart@watson.ibm.com>

	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
	Trivial formatting (trim trailing spaces).
	(native_fd_fieldID): New variable.
	(Java_gnu_java_nio_channels_FileChannelImpl_init): 
	Cache native_fd_fieldID. 
	Fix "return with value in function returning void" warning.
	(get_native_fd): Use cached native_fd_fieldID.
	
2004-06-20  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/Makefile.am (EXTRA_DIST): Add
	gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h.
	(libgtkpeer_la_SOURCES): Add
	gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c.
	* gnu/java/awt/peer/gtk/Makefile.am (EXTRA_DIST): Add
	GThreadNativeMethodRunner.java and GThreadMutex.java

2004-06-18  Steven Augart  <augart@watson.ibm.com>

	* configure.ac: Complain if user types --enable-gtk-peers.

2003-06-15  Dalibor Topic  <robilad@kaffe.org>

	* java/nio/Buffer.java,
	java/nio/ByteBuffer.java,
	java/nio/ByteBufferHelper.java,
	java/nio/ByteBufferImpl.java,
	java/nio/CharBuffer.java,
	java/nio/CharBufferImpl.java,
	java/nio/CharViewBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBuffer.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/DoubleViewBufferImpl.java,
	java/nio/FloatBuffer.java,
	java/nio/FloatBufferImpl.java,
	java/nio/FloatViewBufferImpl.java,
	java/nio/IntBuffer.java,
	java/nio/IntBufferImpl.java,
	java/nio/IntViewBufferImpl.java,
	java/nio/LongBuffer.java,
	java/nio/LongBufferImpl.java,
	java/nio/LongViewBufferImpl.java,
	java/nio/MappedByteBufferImpl.java,
	java/nio/ShortBuffer.java,
	java/nio/ShortBufferImpl.java,
	java/nio/ShortViewBufferImpl.java:
	Fixed javadocs all over. Improved input error
	checking.

	* java/nio/Buffer.java
	(checkForUnderflow, checkForOverflow, checkIndex,
	checkIfReadOnly, checkArraySize): New helper methods
	for error checking.

	* java/nio/ByteBufferHelper.java
	(checkRemainingForRead, checkRemainingForWrite,
	checkAvailableForRead, checkAvailableForWrite): Removed
	no longer needed methods.

2004-06-15  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/Calendar.java: Use getSystemClassLoader as argument for
	ResourceBundle.getBundle() calls.
	* java/util/GregorianCalendar.java: Likewise.
	* java/util/Currency.java: Likewise.
	* java/text/BreakIterator.java: Likewise.
	* java/text/Collator.java: Likewise.
	* java/text/DateFormat.java: Likewise.
	* java/text/DateFormatSymbols.java: Likewise.
	* java/text/DecimalFormatSymbols.java: Likewise.
	* java/text/NumberFormat.java: Likewise.
	* java/awt/Window.java: Likewise.

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

	* javax/swing/SwingConstants.java
	(NEXT): New constant.
	(PREVIOUS): Likewise.
	* javax/swing/UIManager.java
	(LookAndFeel): Made public.
	(LookAndFeel.getName): Likewise.
	(LookAndFeel.getClassName): Likewise.

2004-06-15  Jerry Quinn  <jlquinn@optonline.net>

	* java/util/GregorianCalendar.java (computeTime):  Skip buggy formulae
	when we already know the answer.
	* java/util/SimpleTimeZone.java (serialVersionOnStream): Bump to 2.
	(setStartRule,setEndRule): Don't take abs of day number.
	(getOffset): Clarify docs.  Add argument checks.
	(isBefore): Take abs of day number in DOW_LE_DOM_MODE.
	(equals,hasSameRules,toString,readObject): Use startTimeMode and
	endTimeMode.

2004-06-15  Bryce McKinlay  <mckinlay@redhat.com>

	* java/util/Calendar.java: Change ResourceBundle.getBundle() calls
	to pass ClassLoader argument.
	* java/util/GregorianCalendar.java: Likewise.
	* java/util/Currency.java: Likewise.
	* java/text/BreakIterator.java: Likewise.
	* java/text/Collator.java: Likewise.
	* java/text/DateFormat.java: Likewise.
	* java/text/DateFormatSymbols.java: Likewise.
	* java/text/DecimalFormatSymbols.java: Likewise.
	* java/text/NumberFormat.java: Likewise.
	* java/awt/Window.java: Likewise.

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

	* java/util/zip/DeflaterOutputStream.java:
	Reformatted.
	* java/util/zip/InflaterInputStream.java
	(InflaterInputStream): Removed redundant initialization of len to 0.
	(available): Check for closed stream.
	(read): Likewise.
	(skip): Check for closed stream, simplified implementation.

2004-06-14  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: consistent layout and latest news

2004-06-12  Mark Wielaard  <mark@klomp.org>

	* javax/swing/RepaintManager.java
	(paintDirtyRegions): Use entrySet(), not values().

2004-06-12  Steven Augart  <augart@watson.ibm.com>

	* java/lang/String.java: Doc fix.

2004-06-11  Steven Augart  <augart@watson.ibm.com>

	* NEWS: Added info on bug fix.

2004-06-09  Steven Augart  <augart@watson.ibm.com>

	* configure.ac: Add SIZEOF_VOID_P to include/config.h.
	Quote '.*86'.

2004-06-07  Archie Cobbs  <archie@dellroad.org>

	* gnu/java/io/EncodingManager.java, java/util/ResourceBundle.java:
	Replace ``Class.forName("Foo")'' with ``Foo.class''.

2004-06-07  Steven Augart  <augart@watson.ibm.com>

	* native/jni/gtk-peer/gthread-jni.c (c-font-lock-extra-types): 
	Added jfieldID, jmethodID.
	* include/jni.h (c-font-lock-extra-types): Added.

2004-06-06  Steven Augart  <augart@watson.ibm.com>

	* doc/vmintegration.texinfo (JNI Version): New section.
	(VM Threading Model): New section.
	(Miscellaneous VM Requirements): New chapter.

2004-06-06  Steven Augart  <augart@watson.ibm.com>

	--portable-native-sync implemented for GTK2:
	
	* native/jni/gtk-peer/gthread-jni.c: Indentation fixes.
	Implemented missing functions for GTK2.
	Added error handling.
	Renamed static functions out of the g_ namespace.
	Added TRACE_API_CALLS, EXPLAIN_TROUBLE, EXPLAIN_BROKEN, 
	EXPLAIN_BADLY_BROKEN, and DELETE_LOCAL_REFS options.
	Rewrote global-reference code.
	Eliminated cascading errors.
	(mutex_trylock_jni_impl) Fully implemented.
	(cond_timed_wait_jni_impl) Went from millisecond to microsecond
	resolution.
	(setup_cache) New function.
	(mutex_cond_wait_jni_impl, mutex_cond_timed_wait_jni_impl) Fixed
	bug where they were not unlocking the GMutex associated with the
	condition variable during the wait on that condition variable.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c,
	native/jni/gtk-peer/gthread-jni.c,
	native/jni/gtk-peer/gthread-jni.h
	(g_thread_jni_functions): Renamed to ...
	(portable_native_sync_jni_functions): this name.
	(gdk_vm): Renamed to...
	(the_vm): this name.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
	(gdk_vm): Removed duplicate definition.
	(gtkInit): Removed stray message to stdout.
	(gtkInit): Use g_malloc and g_free instead of malloc and free.
	(gtkInit): Fix a const assignment bug.
	(gtkInit): Simplified code.

	* gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h,
	gnu/java/awt/peer/gtk/GThreadMutex.java:
	New files.
	
2004-06-05  Steven Augart  <augart@watson.ibm.com>

	* doc/vmintegration.texinfo: Added formatting.  Fixed some typos.
	(Introduction): Added Jikes RVM and JamVM to the VM list.
	Minor updates to other VM descriptions.

2004-06-04  Steven Augart  <augart@watson.ibm.com>

	* resource/gnu/regexp/MessagesBundle.properties, 
	resource/gnu/regexp/MessagesBundle_fr.properties:
	Corrected apostrophes.
	Replaced "expected" with "unexpected".
	
	* resource/gnu/regexp/MessagesBundle_it.properties: New file.
	
2004-06-04  Steven Augart  <augart@watson.ibm.com>

	* doc/hacking.texinfo: Formatting fixes.  
	(Utility Classes) New TeXinfo node.

2004-06-04  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/RuleBasedCollator.java
	(mergeRules): Use ArrayList instead of Vector.
	(subParseString): likewise.
	(parseString): likewise.
	(buildCollationVector): likewise.
	(getCollationKey): likewise.

2004-06-04  Casey Marshall <csm@gnu.org>

	* java/lang/SecurityManager.java
	(getSecurityContext): return `AccessController.getContext'.
	(checkPermission(Permission)): use AccessController.
	(checkPermission(Permission,Object)): likewise.
	(checkRead): likewise.
	(checkConnect): likewise.

2004-06-03  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/Makefile: dependency to newsitems.txt added

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

	* java/io/ObjectInputStream.java (readFields): Use long datatype
	when shifting byte values more then 24 bits left.

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

	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated.

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

	* doc/hacking.texinfo: Fixed path to jnilink.h

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

	* gnu/java/lang/MainThread.java: Reformated to match our coding style.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(requestFocus): Call gtkWidgetFocus() and post focus event.
	(gtkRequestFocus): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
	Renamed to ...
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus):
	New method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPopupMenuPeer_setupAccelGroup):
	Merged comment with libgcj's version.

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

	* java/security/AccessControlContext.java
	(equals): Renamed protectionDomain to protectionDomains.
	(hashCode): Likewise.
	* vm/reference/java/security/.cvsignore: New file.

2004-06-03  Casey Marshall  <csm@gnu.org>

	* java/security/AccessController.java
	(doPrivileged(PrivilegedAction,AccessControlContext)): call
	VMAccessController.pushContext and popContext.
	(doPrivileged(PrivilegedExceptionAction,AccessControlContext)):
	likewise.
	(getContext): call VMAccessController.getContext.
	* java/security/Makefile.am
	(EXTRA_DIST): add IntersectingDomainCombiner.java.
	* gnu/java/security/Makefile.am
	(EXTRA_DIST): add PolicyFile.java
	* vm/reference/java/Makefile.am
	(SUBDIRS): add security.
	* java/security/IntersectingDomainCombiner.java: new file.
	* gnu/java/security/PolicyFile.java: new file.
	* vm/reference/java/security/VMAccessController.java: new file.
	* vm/reference/java/security/Makefile.am: new file

2004-06-03  Michael Koch  <konqerorq@gmx.de>

	* configure.ac: Added vm/runtime/java/security/Makefile to output
	files.

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

	* java/security/AccessControlContext.java,
	java/security/ProtectionDomain.java,
	java/security/SecureClassLoader.java,
	java/util/PropertyPermissionCollection.java:
	Fixed javadocs all over.

2004-06-03  Casey Marshall <csm@gnu.org>

	* java/security/AccessControlContext.java
	(protectionDomain): mark final.
	(combiner): likewise.
	(<init>(ProtectionDomain[])): use HashSet to uniquify domains.
	(<init>(ProtectionDomain[],AccessControlContext,DomainCombiner)):
	new constructor.
	(checkPermission): only succeed if `perm' is implied by all
	protection domains.
	(equal): do unordered comparison.
	* java/security/ProtectionDomain.java
	(<init>(CodeSource,PermissionCollection)): set `staticBinding' to
	`true'.
	* java/security/SecureClassLoader.java
	(defineClass): make protection domain dynamically bound.
	(getPermissions): call `getCurrentPolicy' to avoid permission
	check.
	* java/util/PropertyPermissionCollection.java
	(implies): avoid infinite loop.

2004-06-03  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java: Removed CVS tags.
	* javax/swing/JMenu.java: Likewise.
	* javax/swing/JMenuBar.java: Likewise.
	* javax/swing/JMenuItem.java: Likewise.
	* javax/swing/JPopupMenu.java: Likewise.
	* javax/swing/JRadioButtonMenuItem.java: Likewise.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuUI.java: Likewise.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java: Likewise.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise.

2004-05-31  David Jee  <djee@redhat.com>

	* java/awt/Container.java
	(remove): Set component's parent to null only after we removed the
	component from its parent's layout manager.

2004-05-31  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(GtkComponentPeer): Set bounds regardless of whether awtComponent
	is valid.
	* gnu/java/awt/peer/gtk/GtkListPeer.java
	(getSize): Change native method declaration.
	(minimumSize): Pass visible row count into getSize().
	(preferredSize): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkListPeer_getSize): Use scroll window's
	natural size. Use visible row count to determine the final height
	value to return.

2004-05-31  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(setClip): Minor correction to order of operations.

	* javax/swing/JScrollPane.java: Extend sketchy implementation.
	* javax/swing/ScrollPaneLayout.java: Likewise.
	* javax/swing/JViewPort.java: Likewise.
	* javax/swing/ViewportLayout.java: Likewise.

	* javax/swing/JComponent.java: Rewrite.
	* javax/swing/RepaintManager.java: Likewise.

	* javax/swing/JLayeredPane.java: Change validate() to revalidate().
	* javax/swing/JList.java
	(setSelectedIndices):
	(getSelectedIndices):
	(getSelectedValues): New functions.
	(getPreferredScrollableViewportSize): Return preferred size.
	(getScrollableUnitIncrement):
	(getScrollableBlockIncrement): Initial implementations.
	* javax/swing/JRootPane.java: Clean up slightly.
	(getUI):
	(setUI):
	(updateUI):
	(getUIClassID):
	(isValidateRoot): Add overrides from JComponent.
	* javax/swing/JScrollBar.java: Set default orientation to VERTICAL.
	* javax/swing/UIManager.java (getDimension): Return the dimension.

	* javax/swing/plaf/basic/BasicButtonUI.java: Set component opaque.
	* javax/swing/plaf/basic/BasicLabelUI.java: Likewise.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise.
	* javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise.
	* javax/swing/plaf/basic/BasicSeparatorUI.java: Likewise.
	* javax/swing/plaf/basic/BasicSliderUI.java: Likewise.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise.
	* javax/swing/plaf/basic/BasicRootPaneUI.java:
	Likewise, and set background.
	* javax/swing/plaf/basic/BasicListUI.java:
	Likewise, and improve a bit.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Likewise, and adjust calculations.
	* javax/swing/plaf/basic/BasicViewportUI.java:
	Likewise, and improve a bit.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	(Button.margin): Shrink.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c:
	Hack to set horizontal always, workaround pango.

	* jni/gtk-peer/gtkcairopeer.h: Change to match pattern API.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	Synchronize more often, check cairo status after ops,
	handle changes to cairo pattern API, check for disposal.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(BasicMenuItemUI): Create propertyChangeListener.
	(getPath):Implemented.
	(installListeners): Add propertyChangeListener to menuItem.
	(uninstallListeners): Remove propertyChangeListener from menuItem.
	(update): Implemented.
	* javax/swing/plaf/basic/BasicMenuUI.MouseInputHandler:
	(mouseEntered): Take insets of popup menu into account when
	calculating position of popup menu.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JMenuBar.java:
	Started implementation.
	* javax/swing/JPopupMenu.java:
	(setVisible): Fixed location of lightweight/mediumweight
	popup menu.
	(show): Fixed location of PopupMenu.
	* javax/swing/plaf/basic/BasicMenuBarUI.java:
	New file. UI Delegate for JMenuBar.
	* javax/swing/plaf/basic/BasicMenuUI.MouseInputHandler:
	(mouseEntered): Corrected position of the submenu.

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

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Remove calls
	to _gtk_accel_group_attach.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
	Likewise.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java: Give gtkSetFont
	package access.  Don't override setFont.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Give
	gtkWidgetRequestFocus package access.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java: Don't override
	setFont.
	* gnu/java/awt/peer/gtk/GtkListPeer.java: Override gtkSetFont.
	Give gtkWidgetRequestFocus package access.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java: Give
	gtkWidgetRequestFocus package access.  Don't override setFont.
	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java: Don't override
	setFont.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(gtkSetLabel): Move call to gtk_bin_get_child into GDK critical
	region.
	(gtkSetFont): Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c (gtkSetFont):
	Implement.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkSetFont): Whitespace fix.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkWidgetSetUsize): Remove method.

2004-05-31  David Jee  <djee@redhat.com>

	* java/awt/image/MemoryImageSource.java
	(newPixels(int,int,int,int,boolean)): Set only the specified
	rectangle of pixels.
	(newPixels(byte[],ColorModel,int,int)): Implement.
	(newPixels(int[],ColorModel,int,int)): Implement.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JMenu.java: Started
	implementation.
	* javax/swing/JPopupMenu.java:
	(insert): If specified index is -1, then
	add component at the end.
	(isPopupTrigger): Reimplemented.
	(JPopupMenu.LightWeightPopup): setBounds
	of the lightWeightPopup before adding it
	to the layeredPane.
	(javax/swing/plaf/basic/BasicIconFactory.java):
	(getMenuArrowIcon): Implemented.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(getPreferredSize): Add size of the arrow icon
	if this menu item is instance of JMenu.
	(paintMenuItem): Paint arrow icon if this
	menu item is a submenu.
	* javax/swing/plaf/basic/BasicMenuUI.java:
	New File. UI Delegate for JMenu.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent):
	Post KEY_TYPED events.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(generates_key_typed_event): Remove function.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JRootPane.java
	(JRootPane.RootLayout): Reimplemented to
	set bounds of contentPane and menuBar.
	(setJMenuBar): Add menu bar to the layered pane.
	(createLayeredPane): Set layout of layeredPane
	to null.
	* javax/swing/JLayeredPane.java:
	(addImpl): Calculate index of the component in the
	layeredPane according to the specified position within
	the layer.

2004-05-31  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(setPixels): Change color model to the default model after
	converting pixels.
	* java/awt/image/MemoryImageSource.java
	(newPixels): Set only the specified rectangle of pixels.

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

	* libgcj.spec.in (lib): Add -l-java-awt -l-java-applet
	-l-java-beans -l-javax-accessibility -l-javax-swing.

	* java/awt/AWTEvent.java (toString): Print source's name rather
	than the source itself.

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java (loadSystemColors): Make
	native.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
	(gdk_color_to_java_color): New function.
	* jni/gtk-peer/gtkpeer.h: Add SystemColor defines.

2004-05-31  David Jee  <djee@redhat.com>

	* java/awt/image/RGBImageFilter.java:
	Initialize origmodel as null.
	(makeColor): Fix pixel component order.
	(filterRGBPixels): Fix pixel iteration.
	(setPixels): Add extra checks for index color model. Convert pixels
	to default color model if necessary.
	(convertColorModelToDefault): New override method for byte pixels.
	(convertColorModelToDefault): For int pixels, fix pixel iteration.
	(makeColorbyDefaultCM): New override method for byte pixels.
	(makeColorbyDefaultCM): For int pixel, add color model as argument.
	(makeColor): Fix pixel component order.

2004-05-31  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	Comment out more parts of Box.Filler.

2004-05-31  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	Remove reference to AccessibleAWTComponent so
	it compiles again.

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

	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Update
	implementation of list peer to use GtkTreeView instead of
	deprecated GtkCList.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkWidgetDispatchKeyEvent): Remove keyChar parameter.
	(handleEvent): Remove keyChar argument to
	gtkWidgetDispatchKeyEvent calls.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Fix
	compiler warnings.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	Likewise.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkWidgetRequestFocus): Mark protected.
	(GtkComponentPeer): Only set the peer's bounds if its component
	is valid.
	* java/awt/Component.java (static): Set the default keyboard
	focus manager.
	(requestFocus(), requestFocus(boolean), requestFocusInWindow(),
	requestFocusInWindow(temporary)): Don't request focus if the
	component is not showing.  Get tree lock before traversing
	component hierarchy.
	* java/awt/DefaultKeyboardFocusManager.java (dispatchEvent):
	Only set the global focus owner if it is not a Window.
	(processKeyEvent): Consume keystrokes associated with the focus
	traversal keystroke.
	(focusPreviousComponent, focusNextComponent, upFocusCycle,
	downFocusCycle): Call requestFocusInWindow instead of
	requestFocus.
	* java/awt/EventDispatchThread.java (run): Move setting of
	default keyboard focus manager to Component.java.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(awt_keycode_to_keysym): New function.
	(gtkWidgetDispatchKeyEvent): Finish implementation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Add FIXME comment.

	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(gtkWidgetRequestFocus): New method.
	* java/awt/TextArea.java (TextArea): Set focus traversal keys to
	disable Tab and Shift-Tab keystrokes.
	(addNotify, appendText, insertText, replaceText): Simplify peer
	retrieval code.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
	(connectSignals): Remove connections to "commit" signals.
	Remove C++-style comments.

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(handleEvent): Activate GTK button when the space bar key is
	pressed.
	(gtkActivate): New method.

2004-05-31  David Jee  <djee@redhat.com>

	* java/awt/image/CropImageFilter.java
	(setPixels): Implement for byte array pixels.
	* java/awt/image/ReplicateScaleFilter.java
	(setPixels): Implement for byte array pixels.
	(replicatePixels): Overload for byte array pixels.

2004-05-31  Kim Ho  <kho@redhat.com>

	* javax/swing/Box.java:
	(getAccessibleContext): Return an instance of the
	correct class.

2004-05-31  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(drawImage): When component is null, use SystemColor.window as
	the default bgcolor.
	* gnu/java/awt/peer/gtk/GtkImage.java
	(setPixels): We can avoid iterating through the pixel rows only
	when height is 1.
	* java/awt/Image.java
	(getScaledInstance): Partially implement.
	* java/awt/image/CropImageFilter.java
	(setProperties): Fix "filter" property.
	(setPixels): Implement.
	* java/awt/image/ReplicateScaleFilter.java
	(setDimensions): Use scaled dimensions.
	(setPixels): Implement.
	(replicatePixels): New method.

2004-05-31  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkImagePainter.java
	(convertPixels): If either pixels or model is null, return null.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c
	(Java_gnu_java_awt_peer_gtk_GtkImagePainter_drawPixels): If jpixels
	is null, do nothing and return.

2004-05-31  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkDialogPeer.java:
	(getGraphics): Like GtkFramePeer, the Graphics
	object needs to be translate to account for
	window decorations.
	(postMouseEvent): New method. Account for
	translation.
	(postExposeEvent): ditto.
	* javax/swing/Box.java: Stubbed.
	* javax/swing/JDialog.java: Ran through jalopy
	to fix indentation.
	(JDialog): Call SwingUtilities' getOwnerFrame
	for null owners.
	(setLayout): Check isRootPaneCheckingEnabled
	* javax/swing/JOptionPane.java: Re-implemented.
	* javax/swing/SwingUtilities.java:
	(getOwnerFrame): Static method to grab a default
	owner frame for Dialogs that don't specify owners.
	* javax/swing/event/SwingPropertyChangeSupport.java:
	(firePropertyChange): Fix early exit condition.
	* javax/swing/plaf/basic/BasicLabelUI.java:
	(paint): Avoid painting text if it is null
	or empty.
	* javax/swing/plaf/basic/BasicOptionPaneUI.java:
	Implement.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added new file.
	* Makefile.in: Regenerate.
	* javax/swing/JPopupMenu.java:
	Started implementation.
	* javax/swing/JWindow.java
	(JWindow): call super() if parent for window
	is not specified.
	* javax/swing/plaf/basic/BasicPopupMenuUI.java:
	New File. UI Delegate for JPopupMenu.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JApplet.java: Indicated that JApplet
	implements RootPaneContainer and made method of this
	interface public.
	* javax/swing/JFrame.java: Ditto.
	* javax/swing/JWindow.java: Ditto.

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

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(nativeSetBounds): Call gdk_window_move in addition to
	gtk_window_move.

	* java/applet/Applet.java (preferredSize): Call parent's
	preferredSize if the applet stub is null.
	(minimumSize): Likewise for parent's minimumSize.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenuItem.java
	(createActionPropertyChangeListener): Implemented.
	(processMouseEvent): Ditto.
	(fireMenuDragMouseEntered): Ditto.
	(fireMenuDragMouseExited): Ditto.
	(fireMenuDragMouseDragged): Ditto.
	(fireMenuDragMouseReleased): Ditto.
	(menuSelectionChanged): Ditto.
	(getSubElements): Ditto.
	(getComponent): Ditto.
	(addMenuDragMouseListener): Ditto.
	(removeMenuDragMouseListener):Ditto.
	(addMenuKeyListener): Ditto.
	(removeMenuKeyListener): Ditto.
	* javax/swing/plaf/basic/BasicMenuItemUI.java
	(doClick): Imlemented.
	* javax/swing/plaf/basic/BasicMenuItemUI.MouseInputHandler:
	Don't handle mouse events here. Pass them to
	MenuSelectionManager.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>
	Used correct version of jalopy configuration
	file to fix style in the files below.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JCheckBoxMenuItem.java:
	Fixed style and removed unnecessary comments.
	* javax/swing/JMenuItem.java: Ditto.
	* javax/swing/JRadioButtonMenuItem.java: Ditto.
	* javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Ditto.
	* javax/swing/plaf/basic/BasicMenuItemUI.java: Ditto.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Ditto.

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

	* gnu_java_awt_peer_gtk_GtkWindowPeer.c: Change FIXME comment to
	C-style.

	* gnu_java_awt_peer_gtk_GtkWindowPeer.c: Add FIXME comment.

	* java/awt/ContainerOrderFocusTraversalPolicy.java
	(getComponentAfter): Start from current component and work up
	the component hierarchy until an acceptable component is found.
	Synchronize on tree lock.
	(getComponentBefore): Likewise.

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Remove
	focus-related debugging messages.
	* java/awt/DefaultKeyboardFocusManager.java: Likewise.
	* java/awt/EventDispatchThread.java: Likewise.
	* java/awt/KeyboardFocusManager.java: Likewise.
	* java/awt/Window.java: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Change
	new C++-style comments to C-style comments.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c: Likewise.

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(handleEvent): Dispatch key press and key release events to
	backing widget.
	(requestFocus): Post a FOCUS_GAINED event to the event queue.
	(gtkWidgetRequestFocus): New method.
	(gtkWidgetDispatchKeyEvent): Likewise.
	* java/awt/Component.java (requestFocus, requestFocus(boolean),
	requestFocusInWindow, requestFocusInWindow(boolean),
	getFocusCycleRootAncestor, nextFocus, transferFocus,
	transferFocusBackward, transferFocusUpCycle, hasFocus,
	isFocusOwner): Implement and document focus-handling methods.
	(setFocusTraversalKeys): Inherit focus traversal keys when
	keystrokes argument is null.  Fix focus-handling documentation
	throughout class.
	* java/awt/Container.java (setFocusTraversalKeys,
	getFocusTraversalKeys, areFocusTraversalKeysSet,
	isFocusCycleRoot, setFocusTraversalPolicy,
	getFocusTraversalPolicy, isFocusTraversalPolicySet,
	setFocusCycleRoot, isFocusCycleRoot, transferFocusDownCycle):
	Implement and document focus-handling methods.
	(transferFocusBackward): Remove method.
	(readObject, writeObject): Implement and document serialization
	methods.
	* java/awt/ContainerOrderFocusTraversalPolicy.java: Implement
	and document.
	* java/awt/DefaultFocusTraversalPolicy.java: Implement and
	document.
	* java/awt/DefaultKeyboardFocusManager.java: Implement and
	partially document.
	* java/awt/EventDispatchThread.java (run): Set default keyboard
	focus manager.  Attempt to dispatch each event to the keyboard
	focus manager before normal dispatch.
	* java/awt/KeyboardFocusManager.java: Implement and partially
	document.
	* java/awt/Window.java (Window): Set focusCycleRoot to true.
	(show): Focus initial component when window is shown for the
	first time.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Replace complex key press and key release
	logic with simple callbacks into GtkComponentPeer.
	* jni/gtk-peer/gtkpeer.h: Fix FOCUS_GAINED/FOCUS_LOST reversal.

2004-05-31  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/MenuSelectionManager.java
	(componentForPoint): Added new method.
	(defaultManager): New Method. Implemented.
	(getSelectedPath): Ditto.
	(isComponentPartOfCurrentMenu): Ditto.
	(processKeyEvent): Added new method.
	(processMouseEvent): New Method. Implemented.
	(setSelectedPath): Ditto.
	(getPath): Ditto.

2004-05-31  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java:
	(remove): Set the component's parent to null.
	(getComponentAt): Implement.
	* javax/swing/JComponent.java:
	(JComponent): Initialize defaultLocale
	(getDefaultLocale): Implement.
	(setDefaultLocale): ditto.
	* javax/swing/JSlider.java:
	(JSlider): Fix calculation of value.
	* javax/swing/JSplitPane.java: Implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Change SplitPane's default divider size.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	(paint): Remove unused code.
	* javax/swing/plaf/basic/BasicSplitPaneDivider.java:
	Added comments and ran through jalopy.
	(setBasicSplitPaneUI): Get reference to hidden divider
	and set up one touch buttons if necessary.
	(setBorder): Fire propertyChangeEvent only if
	borders are different.
	(getPreferredSize): Defer to layout manager.
	(propertyChange): Implement.
	(oneTouchExpandableChanged): ditto.
	(createLeftOneTouchButton): Use BasicArrowButton.
	(createRightOneTouchButton): ditto.
	(moveDividerTo): New method. Moves the divider
	to a set location based on the last divider location.
	(BasicSplitPaneDivider::MouseHandler): Implement.
	(BasicSplitPaneDivider::OneTouchButton): Removed.
	(BasicSplitPaneDivider::DragController): Implement.
	(BasicSplitPaneDivider::VerticalDragController):
	ditto.
	(BasicSplitPaneDivider::DividerLayout): ditto.
	* javax/swing/plaf/basic/BasicSplitPaneUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(calculateLayoutInfo): Don't show component if it's
	null.
	(paintTab): Fix title paint logic.

2004-05-30  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/RuleBasedCollator.java
	(CollationElement.CollationElement): Removed unused constructor.
	New argument for the other one.
	(subParseString): Mark the element as ignorable but do not erase
	them from the database.
	(compare): Take into account the ignore field for ignorable
	elements.
	(buildCollationVector): Use the ignore field now.
	* java/text/CollationElementIterator.java
	(setText): Keep ignorable characters.

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

	* java/io/RandomAccessFile.java
	(setLength): Only extend file if new size is bigger.

2004-05-28  Mark Wielaard <mark@klomp.org>

	* include/Makefile.am: Add java_lang_VMDouble.h. Remove
	java.lang.VMRuntime.

	* include/gnu_java_awt_EmbeddedWindow.h: Regenerated.
	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkChoicePeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkClipboard.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkGenericPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkImagePainter.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkListPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMainThread.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkMenuPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkPanelPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkTextComponentPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkToolkit.h: Likewise.
	* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Likewise.
	* include/gnu_java_net_PlainDatagramSocketImpl.h: Likewise.
	* include/gnu_java_net_PlainSocketImpl.h: Likewise.
	* include/gnu_java_nio_NIOServerSocket.h: Likewise.
	* include/gnu_java_nio_PipeImpl.h: Likewise.
	* include/gnu_java_nio_SelectorImpl.h: Likewise.
	* include/gnu_java_nio_channels_FileChannelImpl.h: Likewise.
	* include/java_io_ObjectInputStream.h: Likewise.
	* include/java_io_VMFile.h: Likewise.
	* include/java_io_VMObjectStreamClass.h: Likewise.
	* include/java_lang_Double.h: Likewise.
	* include/java_lang_Math.h: Likewise.
	* include/java_lang_Object.h: Likewise.
	* include/java_lang_VMDouble.h: Likewise.
	* include/java_lang_VMFloat.h: Likewise.
	* include/java_lang_VMProcess.h: Likewise.
	* include/java_lang_VMSystem.h: Likewise.
	* include/java_lang_reflect_Array.h: Likewise.
	* include/java_net_InetAddress.h: Likewise.
	* include/java_net_NetworkInterface.h: Likewise.
	* include/java_nio_DirectByteBufferImpl.h: Likewise.
	* include/java_nio_MappedByteBufferImpl.h: Likewise.
	* include/java_nio_channels_Channels.h: Likewise.
	* include/java_util_TimeZone.h: Likewise.

	* include/gnu_java_nio_MappedByteFileBuffer.h: Removed.
	* include/java_lang_Thread.h: Removed.
	* include/java_lang_VMClass.h: Removed.
	* include/java_lang_VMRuntime.h: Removed.
	* include/java_lang_reflect_Constructor.h: Removed.
	* include/java_lang_reflect_Field.h: Removed.
	* include/java_lang_reflect_Method.h: Removed.
	* include/java_lang_reflect_Proxy.h: Removed.

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (requestFocus):
	Implement by calling gtkRequestFocus.
	(gtkRequestFocus): New native method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_requestFocus__):
	Renamed to ...
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
	New function name.
	(filter_expose_event_handler): Mark static.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(menu_pos): Mark static.

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

	* configure.ac: Removed include/jni.h from output files.
	* include/jni.h: New file.
	* include/jni.h.in: Removed.

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

	* java/security/Security.java
	(insertProviderAt): Use equals() instead of ==.
	(removeProvicer): Likewise.
	(getProvider): Likewise.

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

	* java/nio/CharBuffer.java
	(wrap): Fixed arguments, added javadocs.

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

	* java/nio/Buffer.java
	(limit): Fixed off by one error.

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

	* acinclude.m4: Don't set USER_SPECIFIED_* conditionals.
	* lib/Makefile.am: Big cleanup. Use commandline arguments directly.

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

	* acinclude.m4
	(CLASSPATH_CHECK_KAFFE): Removed.
	(CLASSPATH_WITH_KAFFE): Removed.
	(CLASSPATH_CHECK_JAVA): Removed.
	(CLASSPAHT_WITH_JAVA): Removed.
	(CLASSPAHT_FIND_JAVA): Removed.
	(CLASSPATH_CHECK_KJC): Rewritten to check for kjc script.
	(CLASSPATH_WITH_KJC): New macro.
	* configure.ac: Dont call CLASSPAHT_FIND_JAVA.
	* lib/Makefile.am
	(KJC_CLASSPATH): Removed.
	(KJC_MAIN): Removed.
	(JAVAC): Set correctly when using kjc.

2004-05-25  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/news.wml: show first 9999 entries

2004-05-25  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/news.wml, doc/www.gnu.org/home.wml, 
	doc/www.gnu.org/include/layout.wml: added page with all newsitems, 
	newsitems on home limited to 8

	* doc/www.gnu.org/newsitems.txt: news updated

2004-05-24  Steven Augart  <augart@watson.ibm.com>

	* acinclude.m4
	(CLASSPATH_CHECK_GCJ):  Fixed the version number check to work
	with GCC 3's --version message.

2004-05-23  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/home.wml: Fixup archive and cvs links.

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

	* doc/www.gnu.org/tasks.wml: Added security tasks.

2004-05-21  Mark Wielaard <mark@klomp.org>

	* README: Update cvs instructions.

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

	* java/io/DeleteFileHelper.java (static): Removed.

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

	* gnu/java/beans/BeanInfoEmbryo.java,
	java/awt/im/InputContext.java,
	java/io/SequenceInputStream.java,
	java/util/zip/ZipOutputStream.java,
	javax/swing/plaf/basic/BasicLookAndFeel.java,
	javax/swing/tree/DefaultMutableTreeNode.java:
	Rename enum to e because enum is a keyword in Java 1.5.

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

	* acinclude.m4 (CLASSPATH_WITH_INCLUDEDIR): Removed.
	* configure.ac (EXTRA_INCLUDES): Removed.
	(AM_CPPFLAGS): New variable to store needed includes.
	* native/fdlibm/Makefile.am (INCLUDES): Removed.
	* native/jni/classpath/Makefile.am (INCLUDES): Removed.
	* native/jni/gtk-peer/Makefile.am: Use libgtkpeer_la_CPPFLAGS
	instead of INCLUDES.
	* native/jni/java-awt/Makefile.am (INCLUDES): Removed.
	* native/jni/java-io/Makefile.am (INCLUDES): Removed.
	* native/jni/java-lang/Makefile.am: Use libjavalang_la_CFLAGS and
	libjavalangreflect_la_CFLAGS instead of INCLUDES.
	* native/jni/java-net/Makefile.am (INCLUDES): Removed.
	* native/jni/java-nio/Makefile.am (INCLUDES): Removed.
	* native/jni/java-util/Makefile.am (INCLUDES): Removed.

2004-05-21  Mark Wielaard  <mark@klomp.org>

	* native/fdlibm/e_pow.c: CYGNUS LOCAL should be GCJ LOCAL.
	* native/fdlibm/fdlibm.h: Likewise.

2004-05-21  Richard Henderson  <rth@redhat.com>

	* native/fdlibm/mprec.c (lo0bits): Fix paren typo.

2004-05-21  Matt Kraai  <kraai@alumni.cmu.edu>

	* native/fdlibm/w_exp.c (o_threshold, u_threshold): Define only
	if _IEEE_LIBM is undefined.

2004-05-21  Bo Thorsen  <bo@berlioz.suse.de>

	* native/fdlibm/ieeefp.h: Add x86-64 support.

2004-05-21  Gerhard Tonn  <GerhardTonn@swol.de>

	* native/fdlibm/ieeefp.h: Define __IEEE_BIG_ENDIAN for S/390.

2004-05-21  Anthony Green  <green@redhat.com>

	* native/fdlibm/ieeefp.h: Add arm thumb support.

2004-05-21  Richard Earnshaw  <rearnsha@arm.com>

	* native/fdlibm/ieeefp.h: Handle ARM platforms that have pure-endian
	floating point.

2002-1-1  Andrew Pinski  <pinskia@physics.uc.edu>

	* native/fdlibm/ieeefp.h: Define __IEEE_BIG_ENDIAN for
	PPC Darwin, not for all of Darwin.

2004-05-20  Mark Wielaard  <mark@klomp.org>

	* java/lang/System.java (properties): Make package private.
	* java/lang/Throwable.java (StaticData.nl): Initialize through
	directly accessing System.properties.getProperty().

2004-05-20  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(requestFocus): Re-add function.

2004-05-20  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/CollationElementIterator.java
	(nextBlock, previousBlock): Use text_indexes to compute
	textIndex.
	(setOffset): Use text_indexes to chose the right position.
	(text_indexes): New field.
	(setText): Build text_indexes. Better handling of expansion
	ordering.
	* java/text/RuleBasedCollator.java
	(CollationElement, CollationSorter): Made static.
	(last_tertiary_value, SPECIAL_UNKNOWN_SEQ): Introduced special
	collation elements for unknown character this is for sequence
	using resets.
	(mergeRules): Fixed insertion point.
	(buildCollationVector): Initialize last_tertiary_value.
	(compare): Handle special cases of accented characters.
	(getDefaultAccentedElement): New method.
	(getCollationFixed): Fixed key building.
	* java/text/DecimalFormat.java
	(parse): Fixed parsing of decimal strings. Number of maximum
	digits to be read should now work.
	* java/text/SimpleDateFormat.java:
	(SimpleDateFormat): Set maximumFractionDigit to 0 for the number
	formatter. This fixes DateFormatTest. 

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

	* configure.ac (AM_CFLAGS): Added -Wmissing-declarations
	-Wmissing-prototypes and -Wstring-prototypes.

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

	* java/io/Makefile.am (EXTRA_DIST): Added DeleteFileHelper.java.

2004-05-19  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/io/DeleteFileHelper.java: New file.
	* java/io/File.java
	(deleteOnExit): Implemented.

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

	* native/testsuite/Makefile.am: Removed more dead Japhar code.

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

	* acinclude.m4: Removed all Japhar specific stuff. Japhar is dead
	since a long time. This also includes the macro
	CLASSPATH_CHECK_THREADS.

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

	* configure.ac: Use AC_CONFIG_COMMANDS instead of obsoleted
	AC_OUTPUT_COMMANDS.

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

	* acinclude.m4: Fixed typo.

2004-05-17  Mark Wielaard  <mark@klomp.org>

	* java/io/Writer.java (Writer(Object)): Fixed API doc.

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

	* java/io/ObjectStreamField.java: Merge copyright year with libgcj.

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

	* acinclude.m4: Depend on GCJ 3.3 or newer.

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

	* acinclude.m4: Fix escaping of arguments to AC_ARG_WITH and use
	AS_HELP_STRING for ./configure --help output.

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

	* vm/kaffe/.cvsignore,
	vm/kaffe/Makefile.am,
	vm/kaffe/java/.cvsignore,
	vm/kaffe/java/Makefile.am,
	vm/kaffe/kaffe/.cvsignore,
	vm/kaffe/kaffe/Makefile.am,
	vm/kaffe/native/.cvsignore,
	vm/kaffe/native/Makefile.am: Removed.

2004-05-16  Steven Augart  <augart@watson.ibm.com>
	
	* ChangeLog: Restore corrupted umlauts.  
	
	Some time between 2004-04-07 and 2004-05-01, somebody used
	an editing tool on ChangeLog that converted Bernd Mösli's surname
	to Mvsli, and similarly corrupted the names of Jörg Prante and
	H. Väisänen.  It looks as if the editing tool read in latin1
	characters, then masked them with 0x7F and wrote them out again.
	
	* ChangeLog: Explicitly set coding system to latin-1.
	Added a "Local Variables" section.
	
2004-05-16  Mark Wielaard  <mark@klomp.org>

	* java/awt/Toolkit.java (loadSystemColors): Make ACTIVE_CAPTION color
	0xFF000080. Line out values.

2004-05-14  Mark Wielaard  <mark@klomp.org>

	* java/io/Writer.java (Writer(Object)): Check for null lock object.

2004-05-14  Mark Wielaard  <mark@klomp.org>

	* java/awt/Toolkit.java (loadSystemColors): Implement.
	
2004-05-14  Steven Augart  <augart@watson.ibm.com>

	* include/jni.h.in (_Jv_func): Removed.
	(struct JNINativeInterface): Use `void *' for reserved slots.
	(struct JNIInvokeInterface): Likewise.

2004-05-08  Casey Marshall  <rsdio@metastatic.org>

	* java/security/Signature.java
	(sign): Don't set state to UNINITIALIZED.
	(verify): Likewise.

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

	* gnu/java/io/decode/Decoder.java,
	gnu/java/io/encode/Encoder.java,
	gnu/java/math/MPN.java,
	gnu/java/rmi/rmic/CompilerProcess.java,
	java/awt/geom/Arc2D.java:
	Fixed javadocs all over.

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

	* javax/print/event/.cvsignore: New file.

2004-05-07  Jerry Quinn  <jlquinn@optonline.net>

	* java/util/SimpleTimeZone.java (startTimeMode, endTimeMode,
	WALL_TIME, STANDARD_TIME, UTC_TIME): New members.
	(SimpleTimeZone): Tweak docs.  Add new variation.
	(setStartRule,setEndRule): Add new variations.  Use
	startTimeMode and endTimeMode.

2004-05-07  Jerry Quinn  <jlquinn@optonline.net>

	* java/util/Calendar.java (getActualMinimum,
	getActualMaximum):  Remove abstract.  Implement.

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

	* native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
	(receive0): Fix usage of java.net.DatagramPacket class.

2004-05-07  Stephen Crawley <crawley@dstc.edu.au>

	* vm/reference/java/lang/VMProcess.java (destroy) :
	fix the infinite loop that occurs if you try to destroy a Process
	that hasn't terminated yet.

09-20-03 Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/File.java:
	(File(File,String)): fixed the behaviour according to JDK 1.4.1.
	dirPath should not be initialized to the full path if directory
	is null, but to "/" if directory.getPath() is "" and the full path
	in the other cases. A null name should throw a NullPointerException.

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

	* javax/imageio/spi/ImageReaderWriterSpi.java
	(ImageReaderWriterSpi): Made it public.

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

	* java/util/logging/Level.java:
	Explicitly import java.io.Serializable.

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

	* java/util/zip/GZIPOutputStream.java
	(GZIPOutputStream): Initialize crc.

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

	* java/io/File.java
	(getParent): Fixed javadoc.

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

	* include/java_lang_Double.h: Regenerated.

2004-05-05  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/DocumentName.java,
	javax/print/attribute/standard/JobHoldUntil.java,
	javax/print/attribute/standard/JobImpressionsCompleted.java,
	javax/print/attribute/standard/JobMessageFromOperator.java,
	javax/print/attribute/standard/JobName.java,
	javax/print/attribute/standard/JobOriginatingUserName.java,
	javax/print/attribute/standard/JobPriority.java,
	javax/print/attribute/standard/JobPrioritySupported.java,
	javax/print/attribute/standard/NumberOfInterveningJobs.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/QueuedJobCount.java,
	javax/print/attribute/standard/RequestingUserName.java:
	Fixed javadocs all over.

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

	* javax/print/DocFlavor.java,
	javax/print/attribute/standard/ColorSupported.java,
	javax/print/attribute/standard/Compression.java,
	javax/print/attribute/standard/CopiesSupported.java,
	javax/print/attribute/standard/Fidelity.java,
	javax/print/attribute/standard/Finishings.java,
	javax/print/attribute/standard/JobImpressionsSupported.java,
	javax/print/attribute/standard/JobKOctetsSupported.java,
	javax/print/attribute/standard/JobMediaSheetsSupported.java,
	javax/print/attribute/standard/JobSheets.java,
	javax/print/attribute/standard/JobState.java,
	javax/print/attribute/standard/JobStateReason.java,
	javax/print/attribute/standard/JobStateReasons.java,
	javax/print/attribute/standard/Media.java,
	javax/print/attribute/standard/MediaSizeName.java,
	javax/print/attribute/standard/MultipleDocumentHandling.java,
	javax/print/attribute/standard/NumberUpSupported.java,
	javax/print/attribute/standard/OrientationRequested.java,
	javax/print/attribute/standard/PDLOverrideSupported.java,
	javax/print/attribute/standard/PageRanges.java,
	javax/print/attribute/standard/PresentationDirection.java,
	javax/print/attribute/standard/PrintQuality.java,
	javax/print/attribute/standard/PrinterIsAcceptingJobs.java,
	javax/print/attribute/standard/PrinterMoreInfo.java,
	javax/print/attribute/standard/PrinterMoreInfoManufacturer.java,
	javax/print/attribute/standard/PrinterResolution.java,
	javax/print/attribute/standard/PrinterState.java,
	javax/print/attribute/standard/PrinterStateReason.java,
	javax/print/attribute/standard/PrinterStateReasons.java,
	javax/print/attribute/standard/PrinterURI.java,
	javax/print/attribute/standard/ReferenceUriSchemesSupported.java,
	javax/print/attribute/standard/Severity.java,
	javax/print/attribute/standard/SheetCollate.java,
	javax/print/attribute/standard/Sides.java:
	Added serialVersionUID and removed final keyword where it doenst
	belong.

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

	* javax/print/package.html,
	javax/print/event/package.html: New files.
	* javax/print/Makefile.am
	(EXTRA_DIST): Added package.html.
	* javax/print/event/Makefile.am
	(EXTRA_DIST): Added package.html.

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

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

2004-05-02  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.09+cvs.

2004-05-02  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt doc/www.gnu.org/announce/20040502.wml 
	doc/www.gnu.org/downloads/downloads.wml  updated with release 0.09
	information

2004-05-02  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.09.
	* README: Move text around. Add section on active projects which use
	modified versions of the libraries.
	* NEWS: Add important updates for this release.

2004-05-02  Mark Wielaard  <mark@klomp.org>

	Reverting bad commit from 2004-04-29
	* javax/swing/JComponent.java (reshape): Call super.reshape().
	* javax/swing/ViewportLayout.java (layoutContainer): Call
	parent.countComponents().

2004-05-02  Mark Wielaard  <mark@klomp.org>

	* gnu/java/nio/channels/FileChannelImpl.java (finalize): New method.

2004-05-01  Mark Wielaard  <mark@klomp.org>

	* javax/swing/AbstractButton.java: Replace special HTML entities with
	ASCII equivalent.
	* javax/swing/DefaultBoundedRangeModel.java: Likewise.
	* javax/swing/DefaultButtonModel.java: Likewise.
	* javax/swing/DefaultListModel.java: Likewise.
	* javax/swing/JList.java: Likewise.
	* javax/swing/JSlider.java: Likewise.
	* javax/swing/ListModel.java: Likewise.
	* javax/swing/Popup.java: Likewise.
	* javax/swing/SwingUtilities.java: Likewise.

2004-05-01  Mark Wielaard  <mark@klomp.org>

	Import GNU JAXP 2004-02-01
	* external/jaxp/source/gnu/xml/aelfred2/JAXPFactory.java: Imported.
	* external/jaxp/source/gnu/xml/aelfred2/SAXDriver.java: Idem.
	* external/jaxp/source/gnu/xml/aelfred2/XmlParser.java: Idem.
	* external/jaxp/source/gnu/xml/aelfred2/XmlReader.java: Idem.
	* external/jaxp/source/gnu/xml/aelfred2/package.html: Idem.
	* external/jaxp/source/gnu/xml/dom/Consumer.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomAttr.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomCDATA.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomCharacterData.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomComment.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomDoctype.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomDocument.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomElement.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomEntity.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomEntityReference.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomEvent.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomEx.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomExtern.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomFragment.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomImpl.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomIterator.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomNamedNodeMap.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomNode.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomNotation.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomNsNode.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomPI.java: Idem.
	* external/jaxp/source/gnu/xml/dom/DomText.java: Idem.
	* external/jaxp/source/gnu/xml/dom/JAXPFactory.java: Idem.
	* external/jaxp/source/gnu/xml/dom/package.html: Idem.
	* external/jaxp/source/gnu/xml/pipeline/CallFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/DomConsumer.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/EventConsumer.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/EventFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/LinkFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/NSFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/PipelineFactory.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/TeeConsumer.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/TextConsumer.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/ValidationConsumer.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/WellFormednessFilter.java:
	Idem.
	* external/jaxp/source/gnu/xml/pipeline/XIncludeFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/XsltFilter.java: Idem.
	* external/jaxp/source/gnu/xml/pipeline/package.html: Idem.
	* external/jaxp/source/gnu/xml/util/DoParse.java: Idem.
	* external/jaxp/source/gnu/xml/util/DomParser.java: Idem.
	* external/jaxp/source/gnu/xml/util/Resolver.java: Idem.
	* external/jaxp/source/gnu/xml/util/SAXNullTransformerFactory.java:
	Idem.
	* external/jaxp/source/gnu/xml/util/XCat.java: Idem.
	* external/jaxp/source/gnu/xml/util/XHTMLWriter.java: Idem.
	* external/jaxp/source/gnu/xml/util/XMLWriter.java: Idem.
	* external/jaxp/source/gnu/xml/util/package.html: Idem.
	* external/jaxp/source/javax/xml/parsers/ClassStuff.java: Idem.
	* external/jaxp/source/javax/xml/parsers/DocumentBuilder.java: Idem.
	* external/jaxp/source/javax/xml/parsers/DocumentBuilderFactory.java:
	Idem.
	* external/jaxp/source/javax/xml/parsers/
	FactoryConfigurationError.java: Idem.
	* external/jaxp/source/javax/xml/parsers/
	ParserConfigurationException.java: Idem.
	* external/jaxp/source/javax/xml/parsers/SAXParser.java: Idem.
	* external/jaxp/source/javax/xml/parsers/SAXParserFactory.java: Idem.
	* external/jaxp/source/javax/xml/transform/ClassStuff.java: Idem.
	* external/jaxp/source/javax/xml/transform/ErrorListener.java: Idem.
	* external/jaxp/source/javax/xml/transform/OutputKeys.java: Idem.
	* external/jaxp/source/javax/xml/transform/Result.java: Idem.
	* external/jaxp/source/javax/xml/transform/Source.java: Idem.
	* external/jaxp/source/javax/xml/transform/SourceLocator.java: Idem.
	* external/jaxp/source/javax/xml/transform/Templates.java: Idem.
	* external/jaxp/source/javax/xml/transform/Transformer.java: Idem.
	* external/jaxp/source/javax/xml/transform/
	TransformerConfigurationException.java: Idem.
	* external/jaxp/source/javax/xml/transform/TransformerException.java:
	Idem.
	* external/jaxp/source/javax/xml/transform/TransformerFactory.java:
	Idem.
	* external/jaxp/source/javax/xml/transform/
	TransformerFactoryConfigurationError.java: Idem.
	* external/jaxp/source/javax/xml/transform/URIResolver.java: Idem.
	* external/jaxp/source/javax/xml/transform/dom/DOMLocator.java: Idem.
	* external/jaxp/source/javax/xml/transform/dom/DOMResult.java: Idem.
	* external/jaxp/source/javax/xml/transform/dom/DOMSource.java: Idem.
	* external/jaxp/source/javax/xml/transform/sax/SAXResult.java: Idem.
	* external/jaxp/source/javax/xml/transform/sax/SAXSource.java: Idem.
	* external/jaxp/source/javax/xml/transform/sax/
	SAXTransformerFactory.java: Idem.
	* external/jaxp/source/javax/xml/transform/sax/TemplatesHandler.java:
	Idem.
	* external/jaxp/source/javax/xml/transform/sax/
	TransformerHandler.java: Idem.
	* external/jaxp/source/javax/xml/transform/stream/StreamResult.java:
	Idem.
	* external/jaxp/source/javax/xml/transform/stream/StreamSource.java:
	Idem.
	* external/jaxp/source/org/xml/sax/AttributeList.java: Idem.
	* external/jaxp/source/org/xml/sax/Attributes.java: Idem.
	* external/jaxp/source/org/xml/sax/ContentHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/DTDHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/DocumentHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/EntityResolver.java: Idem.
	* external/jaxp/source/org/xml/sax/ErrorHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/HandlerBase.java: Idem.
	* external/jaxp/source/org/xml/sax/InputSource.java: Idem.
	* external/jaxp/source/org/xml/sax/Locator.java: Idem.
	* external/jaxp/source/org/xml/sax/Parser.java: Idem.
	* external/jaxp/source/org/xml/sax/SAXException.java: Idem.
	* external/jaxp/source/org/xml/sax/SAXNotRecognizedException.java:
	Idem.
	* external/jaxp/source/org/xml/sax/SAXNotSupportedException.java:
	Idem.
	* external/jaxp/source/org/xml/sax/SAXParseException.java: Idem.
	* external/jaxp/source/org/xml/sax/XMLFilter.java: Idem.
	* external/jaxp/source/org/xml/sax/XMLReader.java: Idem.
	* external/jaxp/source/org/xml/sax/package.html: Idem.
	* external/jaxp/source/org/xml/sax/ext/Attributes2.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/Attributes2Impl.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/DeclHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/DefaultHandler2.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/EntityResolver2.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/LexicalHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/Locator2.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/Locator2Impl.java: Idem.
	* external/jaxp/source/org/xml/sax/ext/package.html: Idem.
	* external/jaxp/source/org/xml/sax/helpers/AttributeListImpl.java:
	Idem.
	* external/jaxp/source/org/xml/sax/helpers/AttributesImpl.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/DefaultHandler.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/LocatorImpl.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/NamespaceSupport.java:
	Idem.
	* external/jaxp/source/org/xml/sax/helpers/NewInstance.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/ParserAdapter.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/ParserFactory.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/XMLFilterImpl.java: Idem.
	* external/jaxp/source/org/xml/sax/helpers/XMLReaderAdapter.java:
	Idem.
	* external/jaxp/source/org/xml/sax/helpers/XMLReaderFactory.java:
	Idem.
	* external/jaxp/source/org/xml/sax/helpers/package.html: Idem.

2004-05-01  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/DecimalFormat.java
	(MAXIMUM_INTEGER_DIGITS): New constant to keep the numeric value 309.
	(applyPatternWithSymbols): Use MAXIMUM_INTEGER_DIGITS.
	(parse): Fixed handling of exponentiation notation and grouping.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c:
	New files.
	* native/jni/gtk-peer/Makefile.am:
	Added new files to build.

2004-04-30  Mark Wielaard  <mark@klomp.org>

	* gnu/java/nio/channels/FileChannelImpl.java (truncate): Only truncate
	when size is smaller.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(implTruncate): Always save current position. Only reposition file
	pointer to where we started if not beyond new lenght. Reposition file
	pointer to file length if it points beyond the end of file.
	* java/io/RandomAccessFile.java (setLength): Use truncate for
	shrinking the file and seek plus write for expanding the file.

2004-04-30  Tom Tromey  <tromey@redhat.com>
	    Mark Wielaard  <mark@klomp.org>

	* java/io/File.java (toURI): New method.
	(toURL): Use isDirectory() directly.

2004-04-30  Ingo Proetel  <proetel@aicas.com>

	* java/util/zip/InflaterInputStream.java (skip): Copied implementation
	from java.io.InputStream.

2004-04-30  Grzegorz B. Prokopski <gadek@debian.org>

	* java/lang/Object.java (static): Remove static initializer.
	* java/lang/Throwable.java (nl): Remove static field.
	(StaticData): New private static inner class.
	(stackTraceStringBuffer): Use StaticData.nl.

2004-04-30  Mark Wielaard  <mark@klomp.org>

	Reported by David Holmes
	* java/lang/Class.java: Clean up confusing stateements about system
	classloader versus bootstrap classloader.

2004-04-30  Mark Wielaard  <mark@klomp.org>

	Reported by Nikolay Fiykov [bugs #8611]
	* java/lang/Runtime.java (loadLib): New private method.
	(load): Call loadLib.
	(loadLibrary): Call loadLib.

	* java/lang/Runtime.java (runShutdownHooks): Use Thread.yield().

2004-04-30  Mark Wielaard  <mark@klomp.org>

	* README: Update end user dev environments and hackers runtime lists.
	* INSTALL: Update needed library versions, add texinfo version
	requirement, mention website/hacker guide.
	* doc/hacking.texinfo: Include item on texinfo.

2004-04-30  Michael Koch  <konqueror@gmx.de>

	* include/gnu_java_awt_peer_gtk_GdkFontMetrics.h,
	include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h,
	include/gnu_java_awt_peer_gtk_GtkLabelPeer.h,
	include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h,
	include/gnu_java_awt_peer_gtk_GtkMenuPeer.h,
	include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h,
	include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h,
	include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h,
	include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h,
	include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h,
	include/gnu_java_awt_peer_gtk_GtkWindowPeer.h:
	Fixed stange method signatures produced by buggy gcjh.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c:
	Include gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(dispose): Removed.
	(remove): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(dispose): Removed.
	(requestFocus): Removed.
	(gtkWidgetSetUSize): Removed.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(setTitle): Removed.
	* native/jni/gtk-peer/gthread-jni.c
	(gdk_threads_wake): Removed
	* native/jni/java-io/javaio.h
	(_javaio_open_read): Added prototype.
	(_javaio_open_readwrite): Likewise.
	* native/jni/java-lang/java_lang_VMDouble.c:
	Include java_lang_VMDouble.h.
	* native/jni/java-lang/java_lang_reflect_Array.c
	(getLength): Removed.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(nativeGetLength): Removed.

2004-04-30  Michael Koch  <konqueror@gmx.de>

	* include/java_nio_channels_Channels.h,
	native/jni/java-nio/java_nio_channels_Channels.c:
	New files.
	* include/Makefile.am:
	Generate include/java_nio_channels_Channels.h.
	* native/jni/java-nio/Makefile.am:
	Compile java_nio_channels_Channels.c.

2004-04-30  Michael Koch  <konqueror@gmx.de>

	* java/util/prefs/AbstractPreferences.java
	(AbstractPreferences): Added parenthesis for clarity. Closes bug #7940.

2004-04-29  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/BitwiseXORComposite.java
	(compose(Raster, Raster, WritableRaster)): Removed unused variable
	transferType.
	* gnu/java/awt/peer/gtk/GtkTextAreaPeer.java (minimumSize): Removed
	unused variables hScrollbarHeight and vScrollbarWidth.
	(preferredSize): Likewise.
	* gnu/java/security/provider/DSAParameters.java (engineToString):
	Removed unused call to System.getProperty("line.seperator");
	* java/security/Security.java (loadProviders): Return result.

2004-04-29  Mark Wielaard  <mark@klomp.org>

	Reported by f.haeglsperger@gmx.de [patch #2485]
	* java/util/HashMap.java (rehash): Add entry at start of bucket.

2004-04-29  Mark Wielaard  <mark@klomp.org>

	* java/io/RandomAccessFile.java (setLength): Set position to new
	length when new length is smaller then current position.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* java/net/InetAddress.java
	(static): ANY_IF should be an instance of Inet4Address.
	(InetAddress): Remove unused constructors.
	(getByName): Create instance of Inet4Address for IPv4 addresses.
	(getAllByName): Likewise.
	(getInaddrAny): Likewise.
	* java/net/Inet4Address.java
	(Inet4Address): New constructor which takes hostname_alias. route all
	other construtors through this one.
	* java/net/Inet6Address.java
	(Inet6Address): Call correct super constructor.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java:
	(compareTo): Fixed bogus implementation in all buffer classes.

2004-04-29  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (preferredSize): Call parent's
	preferredSize if the applet stub is null.
	(minimumSize): Likewise for parent's minimumSize.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* include/gnu_java_net_PlainSocketImpl.h
	(connect): Fixed signature of method.
	* include/gnu_java_nio_channels_FileChannelImpl.h
	(lock): Likewise.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(lock): Likewise.

2004-04-29  Tom Tromey  <tromey@redhat.com>

	* .classpath: New file.
	* .project: New file.

2004-04-29  Tom Tromey  <tromey@redhat.com>

	* java/text/AttributedString.java: Cleaned up imports.
	* java/util/zip/Deflater.java (strategy): Removed.
	* java/util/zip/DeflaterEngine.java (buffer): Removed.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* include/java_nio_MappedByteBufferImpl.h:
	New file.
	* include/Makefile.am:
	Generate java_nio_MappedByteBufferImpl.h.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(implTruncate): Fixed typo.
	* native/jni/java-nio/java_nio_MappedByteBufferImpl.c:
	New file.
	* native/jni/java-nio/Makefile.am:
	Compile java_nio_MappedByteBufferImpl.c.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/print/PrintServiceLookup.java: New file.
	* javax/print/Makefile.am (EXTRA_DIST):
	Added PrintServiceLookup.java.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/print/DocFlavor.java:
	Implemented all flavor classes.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/ColorSupported.java,
	javax/print/attribute/standard/Compression.java,
	javax/print/attribute/standard/CopiesSupported.java,
	javax/print/attribute/standard/Fidelity.java,
	javax/print/attribute/standard/Finishings.java,
	javax/print/attribute/standard/JobImpressionsSupported.java,
	javax/print/attribute/standard/JobKOctetsSupported.java,
	javax/print/attribute/standard/JobMediaSheetsSupported.java,
	javax/print/attribute/standard/JobSheets.java,
	javax/print/attribute/standard/JobState.java,
	javax/print/attribute/standard/JobStateReason.java,
	javax/print/attribute/standard/JobStateReasons.java,
	javax/print/attribute/standard/Media.java,
	javax/print/attribute/standard/MediaSizeName.java,
	javax/print/attribute/standard/MultipleDocumentHandling.java,
	javax/print/attribute/standard/NumberUpSupported.java,
	javax/print/attribute/standard/OrientationRequested.java,
	javax/print/attribute/standard/PDLOverrideSupported.java,
	javax/print/attribute/standard/PageRanges.java,
	javax/print/attribute/standard/PresentationDirection.java,
	javax/print/attribute/standard/PrintQuality.java,
	javax/print/attribute/standard/PrinterIsAcceptingJobs.java,
	javax/print/attribute/standard/PrinterMoreInfo.java,
	javax/print/attribute/standard/PrinterMoreInfoManufacturer.java,
	javax/print/attribute/standard/PrinterResolution.java,
	javax/print/attribute/standard/PrinterState.java,
	javax/print/attribute/standard/PrinterStateReason.java,
	javax/print/attribute/standard/PrinterStateReasons.java,
	javax/print/attribute/standard/PrinterURI.java,
	javax/print/attribute/standard/ReferenceUriSchemesSupported.java,
	javax/print/attribute/standard/Severity.java,
	javax/print/attribute/standard/SheetCollate.java,
	javax/print/attribute/standard/Sides.java: New files.
	* javax/print/attribute/standard/Makefile.am
	(EXTRA_DIST): Added new files.

2004-04-29  Mark Wielaard  <mark@klomp.org>

	* gnu/java/lang/Makefile.am (EXTRA_DIST): Removed
	ClassLoaderHelper.java.
	* javax/print/Makefile.am (EXTRA_DIST): Fixed DonPrintJob.java typo
	by DocPrintJob.java.

2004-04-29  Stephen Crawley  <crawley@dstc.edu.au>
	    Mark Wielaard  <mark@klomp.org>

	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(Java_gnu_java_nio_channels_FileChannelImpl_read___3BII):
	Fill buffer with a  do-while bytes_read < 1 loop.
	Check for length == 0.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* javax/swing/AbstractButton.java,
	javax/swing/ActionMap.java,
	javax/swing/DefaultButtonModel.java,
	javax/swing/DefaultListModel.java,
	javax/swing/ImageIcon.java,
	javax/swing/JComboBox.java,
	javax/swing/JComponent.java,
	javax/swing/JFrame.java,
	javax/swing/JInternalFrame.java,
	javax/swing/JMenuBar.java,
	javax/swing/JMenuItem.java,
	javax/swing/JOptionPane.java,
	javax/swing/JProgressBar.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/JToolBar.java,
	javax/swing/JToolTip.java,
	javax/swing/JTree.java,
	javax/swing/JViewport.java,
	javax/swing/JWindow.java,
	javax/swing/KeyStroke.java,
	javax/swing/LookAndFeel.java,
	javax/swing/SwingUtilities.java,
	javax/swing/Timer.java,
	javax/swing/ToolTipManager.java,
	javax/swing/UIDefaults.java,
	javax/swing/ViewportLayout.java,
	javax/swing/border/TitledBorder.java,
	javax/swing/filechooser/FileSystemView.java,
	javax/swing/plaf/basic/BasicButtonListener.java,
	javax/swing/plaf/basic/BasicButtonUI.java,
	javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java,
	javax/swing/plaf/basic/BasicGraphicsUtils.java,
	javax/swing/plaf/basic/BasicLabelUI.java,
	javax/swing/plaf/basic/BasicMenuItemUI.java,
	javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java,
	javax/swing/plaf/basic/BasicRootPaneUI.java,
	javax/swing/plaf/basic/BasicScrollBarUI.java,
	javax/swing/plaf/basic/BasicScrollPaneUI.java,
	javax/swing/plaf/basic/BasicSliderUI.java,
	javax/swing/plaf/basic/BasicTabbedPaneUI.java,
	javax/swing/plaf/basic/BasicToggleButtonUI.java,
	javax/swing/table/JTableHeader.java,
	javax/swing/table/TableColumn.java,
	javax/swing/text/AbstractDocument.java,
	javax/swing/text/DefaultCaret.java,
	javax/swing/text/StyledEditorKit.java,
	javax/swing/tree/DefaultTreeCellEditor.java:
	Clean ip imports.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(create): Declare variable on top of function.

2004-04-29  Michael Koch  <konqueror@gmx.de>

	* native/jni/java-io/java_io_VMObjectStreamClass.c
	(getFieldReference): Use char* for strings, not jbyte*.
	* native/jni/java-lang/java_lang_VMProcess.c
	(copy_string): Likewise.
	* native/jni/java-lang/java_lang_VMSystem.c:
	Include jcl.h for JCL_FindClass definition.
	* native/jni/java-nio/gnu_java_nio_NIOServerSocket.c
	(getPlainSocketImpl): Return NULL.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c
	(getImpl): Don't return anything.
	(adjustAddress): Return NULL.

2004-04-28  Tom Tromey  <tromey@redhat.com>

	* java/io/ObjectStreamField.java: Cleaned up imports.
	* javax/imageio/stream/ImageInputStream.java: Removed unused import.
	* java/io/BufferedReader.java (skip): Removed unused
	variable.

2004-04-28  Michael Koch  <konqueror@gmx.de>

	* include/jni.h.in (GetStringUTFChars):
	Made it return const char * instead of const jbyte *.

2004-04-28  Guilhem Lavaux <guilhem@kaffe.org>

	* gnu/java/text/FormatBuffer.java,
	gnu/java/text/AttributedFormatBuffer.java,
	gnu/java/text/StringFormatBuffer.java: New classes to implement
	attributed iterators in java.text.

	* gnu/java/text/FormatCharacterIterator.java: Moved 
	from java/text as it is an internal class.

	* gnu/java/text/Makefile.am: Added new files to EXTRA_DIST.

	* java/text/Makefile.am: Removed moved classes from EXTRA_DIST.
	
2004-04-28  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/MessageFormat.java:
	(class Field): New class.
	(formatToCharacterIterator): New method.
	(format): Use formatInternal now.
	(formatInternal): New method. String formatter should
	be done here (with attributes). Attributes merging supported.
	(parse): More documentation.
	(getFormatsByArgumentIndex): New method.
	(setFormatByArgumentIndex): New method.
	(setFormatsByArgumentIndex): New method.

2004-04-28  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/SimpleDateFormat.java:
	(formatWithAttribute): New method. It implements
	the formatting process with attributes.
	(format): Use formatWithAttribute.
	(formatToCharacterIterator): New method. Use
	formatWithAttribute.

2004-04-28  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/DecimalFormat.java
	(scanFix): Build attribute array. Fixed error reporting.
	(applyPatternWithSymbols): Store attributes for the prefix and
	suffix.
	(formatInternal): New method. Changed the way the string is
	computed. Implemented attributes. Cleant up rounding in
	exponential notation.
	(format): Use formatInternal.
	(formatToCharacterIterator): New method.
	(exponentRound, negativePrefixRanges, positivePrefixRanges,
	negativePrefixAttrs, positivePrefixAttrs, negativeSuffixRanges,
	positiveSuffixRanges, negativeSuffixAttrs, positiveSuffixAttrs):
	New fields.

2004-04-28  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/Format.java: Updated importations. Removed unnecessary
	classes.

2004-04-28  Ingo Proetel  <proetel@aicas.com>

	* java/awt/image/ColorModel.java (getRGBdefault): Default ColorModel has
	32 bit pixels not 8 bit pixels.
	(isCompatibleRaster): Added javadoc comment.

2004-04-28  Ingo Proetel  <proetel@aicas.com>

	* java/awt/image/ComponentSampleModel.java (setDataSamples):Do not reset
	scanline stride.

2004-04-28  Ingo Proetel  <proetel@aicas.com>

	* java/awt/ColorPaintContext.java (<init>): Added ColorModel to signature.
	(getColorModel): Return the actual color model.
	(getRaster): Implemented.
	(ColorRaster): New inner class.
	* java/awt/SystemColor.java (createContext): Use ColorModel when creating
	a PaintContext.
	* java/awt/Color.java (<init>): Make exception more verbose.
	(createContext): Use ColorModel when creating a PaintContext.

2004-04-27  Archie Cobbs  <archie@dellroad.org>

	* include/Makefile.am: add java_lang_VMProcess.h
	* include/java_lang_VMProcess.h: new file
	* include/java_lang_VMRuntime.h: regenerate
	* native/jni/java-lang/Makefile.am: add java_lang_VMProcess.c
	* native/jni/java-lang/java_lang_VMProcess.c: new file
	* vm/reference/java/lang/Makefile.am: add VMProcess.java
	* vm/reference/java/lang/VMProcess.java: new file
	* vm/reference/java/lang/VMRuntime.java (exec): use VMProcess

2004-04-27  Michael Koch  <konqueror@gmx.de>

	* javax/print/Doc.java
	(getPrintData): Throws IOException.
	(getReaderForText): Likewise.
	(getStreamForBytes): Likewise.
	* javax/print/DocFlavor.java:
	Fixed filename in copyright.
	(serialVersionUID): New field.
	* javax/print/ServiceUIFactory.java:
	Made all constants final.
	* javax/print/AttributeException.java
	javax/print/MultiDoc.java
	javax/print/MultiDocPrintJob.java
	javax/print/MultiDocPrintService.java
	javax/print/StreamPrintService.java
	javax/print/URIException.java: New files.
	* javax/print/Makefile.am
	(EXTRA_DIST): Added all new files.

2004-04-27  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/standard/Copies.java,
	javax/print/attribute/standard/DateTimeAtCompleted.java,
	javax/print/attribute/standard/DateTimeAtCreation.java,
	javax/print/attribute/standard/DateTimeAtProcessing.java,
	javax/print/attribute/standard/DocumentName.java,
	javax/print/attribute/standard/JobHoldUntil.java,
	javax/print/attribute/standard/JobImpressions.java,
	javax/print/attribute/standard/JobImpressionsCompleted.java,
	javax/print/attribute/standard/JobKOctets.java,
	javax/print/attribute/standard/JobKOctetsProcessed.java,
	javax/print/attribute/standard/JobMediaSheets.java,
	javax/print/attribute/standard/JobMediaSheetsCompleted.java,
	javax/print/attribute/standard/JobMessageFromOperator.java,
	javax/print/attribute/standard/JobName.java,
	javax/print/attribute/standard/JobOriginatingUserName.java,
	javax/print/attribute/standard/JobPriority.java,
	javax/print/attribute/standard/JobPrioritySupported.java,
	javax/print/attribute/standard/NumberOfDocuments.java,
	javax/print/attribute/standard/NumberOfInterveningJobs.java,
	javax/print/attribute/standard/NumberUp.java,
	javax/print/attribute/standard/OutputDeviceAssigned.java,
	javax/print/attribute/standard/PagesPerMinute.java,
	javax/print/attribute/standard/PagesPerMinuteColor.java:
	Fixed @return tag all over.

2004-04-26  Michael Koch  <konqueror@gmx.de>

	* javax/print/event/PrintEvent.java,
	javax/print/event/PrintJobAdapter.java,
	javax/print/event/PrintJobAttributeEvent.java,
	javax/print/event/PrintJobAttributeListener.java,
	javax/print/event/PrintJobEvent.java,
	javax/print/event/PrintJobListener.java,
	javax/print/event/PrintServiceAttributeEvent.java,
	javax/print/event/PrintServiceAttributeListener.java,
	javax/print/event/Makefile.am: New files.
	* configure.ac: Generate javax/print/event/Makefile.
	* javax/print/Makefile.am (SUBDIRS): Added event.

2004-04-26  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/AttributeSetUtilities.java
	(verifyCategoryForValue): Fixed typo in javadoc.
	* javax/print/attribute/HashAttributeSet.java
	(containsKey): Fixed @return tag.
	(comtainsValue): Likewise.
	(equals): Likewise.
	* javax/print/attribute/IntegerSyntax.java
	(equals): Likewise.
	* javax/print/attribute/ResolutionSyntax.java
	(equals): Likewise.
	(getCrossFeedResolution): Removed unused code.
	(getFeedResolution): Likewise.
	* javax/print/attribute/SetOfIntegerSyntax.java
	(SetOfIntegerSyntax): Fixed HTML entities in javadoc.
	(equals): Fixed @return tag.
	* javax/print/attribute/TextSyntax.java
	(TextSyntax): Take locale into account.
	(hashCode): Better implementation.

2004-04-26  Michael Koch  <konqueror@gmx.de>

	* javax/print/CancelablePrintJob.java,
	javax/print/Doc.java,
	javax/print/DocFlavor.java,
	javax/print/DocPrintJob.java,
	javax/print/FlavorException.java,
	javax/print/PrintException.java,
	javax/print/PrintService.java,
	javax/print/ServiceUIFactory.java: New files.
	* javax/print/Makefile.am (EXTRA_DIST): Added all new files.

2004-04-26  Michael Koch  <konqueror@gmx.de>

	* java/io/File.java: Moved all native methods to the new class
	VMFile and removed the "Internal" suffix.
	* vm/reference/java/io/VMFile.java: New file.
	* vm/reference/java/io/Makefile.am (EXTRA_DIST): Added VMFile.java.
	* include/java_io_File.h: Removed.
	* include/java_io_VMFile.h: New file.
	* include/Makefile.am: Generate java_io_VMFile.h.
	* native/jni/java-io/java_io_File.c: Moved all methods to
	java_io_VMFile.c and renamed them accordingly.
	* native/jni/java-io/java_io_VMFile.c: New file.
	* native/jni/java-io/Makefile.am: Removed java_io_File.c and added
	java_io_VMFile.c to build.

2004-04-25  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-net/javanet.c (_javanet_accept): Retry when we get
	EINTR.

2004-04-25  Michael Koch  <konqueror@gmx.de>

	* java/awt/FileDialog.java: Import java.io.Serializable explicitetly.

2004-04-25  Mark Wielaard  <mark@klomp.org>

	* vm/reference/java/lang/VMClass.java: Make final and package local.
	Add private constructor.  Removed all instance fields and methods.

2004-04-23  Mark Wielaard  <mark@klomp.org>

	* java/io/OutputStreamWriter.java (getEncoding): Return null when
	out == null, otherwise call out.getSchemeName.
	* gnu/java/io/decode/Decoder.java (scheme_name): Make non-static
	private final.
	(scheme_description): Removed.
	(in): Make final.
	(getSchemeName): Make non-static.
	(getSchemeDescription): Removed.
	(Decoder): Make protected and add name parameter.
	gnu/java/io/decode/Decoder8859_1.java (lookup_table_8859_1): Make
	private static final.
	(static): Removed block.
	(Decoder8859_1): Call super(in, name, table).
	* gnu/java/io/decode/Decoder8859_2.java: Likewise.
	* gnu/java/io/decode/Decoder8859_3.java: Likewise.
	* gnu/java/io/decode/Decoder8859_4.java: Likewise.
	* gnu/java/io/decode/Decoder8859_5.java: Likewise.
	* gnu/java/io/decode/DecoderEightBitLookup.java (lookup_table): Make
	private final.
	(DecoderEightBitLookup): Make protected. Add name and table
	parameters. Call super(in, name).
	* gnu/java/io/decode/DecoderUTF8.java (static): Remove block.
	(DecoderUTF8): Call super(in, name).
	* gnu/java/io/encode/Encoder.java (scheme_description): Remove field.
	(scheme_name): Make non-static private final.
	(out): Make final.
	(getSchemeName): Make non-static.
	(getSchemeDescription): Removed.
	(Encoder): Make protected and add parameter name to initialize
	scheme_name.
	* gnu/java/io/encode/Encoder8859_1.java (lookup_table_8859_1): Make
	private and final.
	(static): Remove block.
	(Encoder8859_1): Call super(out, name, table).
	gnu/java/io/encode/Encoder8859_2.java: Likewise.
	gnu/java/io/encode/Encoder8859_3.java: Likewise.
	gnu/java/io/encode/Encoder8859_4.java: Likewise.
	gnu/java/io/encode/Encoder8859_5.java: Likewise.
	* gnu/java/io/encode/EncoderEightBitLookup.java (lookup_table):
	Removed field.
	(encoding_table): Make non-static and final.
	(loadTable): Make non-static private and return byte[] table.
	(EncoderEightBitLookup): Add parameters name and table. Call
	super(out, name) and initialize encoding_table with loadTable(table).
	* gnu/java/io/encode/EncoderUTF8.java (static): Remove block.
	(EncoderUTF8): Call super(out, name).

2004-04-23  Mark Wielaard  <mark@klomp.org>

	* configure.ac (AC_CHECK_HEADERS): Check for sys/filio.h.
	* native/target/generic/target_generic_file.h
	(TARGET_NATIVE_FILE_AVAILABLE): First include headers if they exist,
	then check for FIONREAD.

2004-04-23  Tom Tromey  <tromey@redhat.com>

	* gnu/java/lang/ClassLoaderHelper.java: Removed.

2004-04-23  Tom Tromey  <tromey@redhat.com>

	* java/lang/System.java (runFinalizersOnExit): Updated javadoc.
	Cleaned up imports.

2004-04-23  Tom Tromey  <tromey@redhat.com>

	* java/net/URLStreamHandler.java (toExternalForm): Removed
	unused variables.
	* java/net/URLConnection.java: Removed unused imports.
	* java/net/URLClassLoader.java (URLClassLoader): Removed
	unused constructor.
	* java/math/BigDecimal.java (divide): Removed unused variable.
	* java/lang/Throwable.java: Cleaned up imports.
	* java/lang/String.java: Cleaned up imports.
	* java/lang/ClassLoader.java: Cleaned up imports.
	* java/io/FilePermission.java (implies): Removed unused
	variable.
	* java/awt/TextComponent.java: Removed unused import.
	* gnu/java/util/prefs/NodeReader.java: Cleaned up imports.
	* gnu/java/util/DoubleEnumeration.java: Removed unused import.
	* gnu/java/text/WordBreakIterator.java: Removed unused import.
	* gnu/java/text/SentenceBreakIterator.java: Removed unused
	import.
	* gnu/java/text/LineBreakIterator.java: Removed unused import.
	* gnu/java/text/CharacterBreakIterator.java: Removed
	unused import.
	* gnu/java/security/provider/DSAKeyPairGenerator.java:
	Cleaned up imports.
	* gnu/java/security/der/DERWriter.java: Cleaned up imports.
	* gnu/java/nio/charset/UTF_16Decoder.java (put): Removed
	unused method.
	* gnu/java/nio/SocketChannelImpl.java: Cleaned up imports.
	* gnu/java/nio/FileLockImpl.java: Cleaned up imports.
	* gnu/java/io/Base64InputStream.java: Cleaned up imports.
	* gnu/java/beans/info/ComponentBeanInfo.java: Cleaned up imports.
	* gnu/classpath/ServiceFactory.java: Cleaned up imports.
	(lookupProviders): Removed unused variable.
	(loadNextServiceProvider): Likewise.
	* gnu/java/beans/BeanInfoEmbryo.java: Cleaned up imports.

2004-04-23  Tom Tromey  <tromey@redhat.com>

	* java/text/Format.java: Cleaned up imports.
	* java/text/DecimalFormat.java: Cleaned up imports.
	* java/security/SecureRandom.java: Cleaned up imports.
	(SecureRandom): Removed unused variable.
	* java/security/UnresolvedPermission.java: Cleaned up imports.
	* java/util/Date.java (parse): Removed unused variable.
	* java/util/ResourceBundle.java: Cleaned up imports.
	(getBundle): Removed unused variable.
	(tryBundle): Likewise.
	* java/util/regex/Pattern.java (Pattern): Removed unused constructor.
	* java/util/zip/DeflaterHuffman.java (buildCodes): Removed unused
	variable.

2004-04-23  Tom Tromey  <tromey@redhat.com>

	* javax/naming/CompoundName.java (endsWith): Look at correct
	element of source name.

2004-04-23  Dalibor Topic  <robilad@kaffe.org>

	* java/security/interfaces/DSAKeyPairGenerator.java,
	java/security/interfaces/DSAPrivateKey.java,
	java/security/interfaces/DSAPublicKey.java,
	java/security/interfaces/RSAPrivateKey.java,
	java/security/interfaces/RSAPublicKey.java:
	Cleaned up imports.

2004-04-23  Mark Wielaard  <mark@klomp.org>

	* gnu/java/security/der/DERReader.java: Call static methods staticly.
	* java/awt/TextComponent.java (select): Use selectionEnd parameter.
	* java/lang/System.java (runFinalizersOnExit): Call static
	Runtime.runFinalizersOnExit staticly.
	* java/net/URL.java
	(set(String, String, int, String, String, String, String, String)):
	Assign this.file to path or path + "?" + query.
	* java/text/RuleBasedCollator.java: Call static methods staticly.A
	* java/util/Arrays.java: Likewise.
	* java/util/zip/ZipEntry.java: Likewise.
	* javax/swing/plaf/basic/BasicArrowButton.java (setDirection): Assign
	dir to this.direction.
	* javax/swing/table/DefaultTableCellRenderer.java (noFocusBorder):
	Assign static field only once.
	(DefaultTableCellRenderer): Don't reassign noFocusBorder each time.

2004-04-23  Dalibor Topic  <robilad@kaffe.org>

	* ChangeLog: Fixed my last entry to follow
	coding conventions.

2004-04-23  Dalibor Topic  <robilad@kaffe.org>

	* java/text/AttributedString.java,
	java/text/AttributedStringIterator.java,
	java/text/CollationElementIterator.java,
	java/text/Collator.java,
	java/text/DecimalFormatSymbols.java,
	java/text/NumberFormat.java,
	java/text/RuleBasedCollator.java:
	Cleaned up imports.

2004-04-23  Michael Koch  <konqueror@gmx.de>

	* java/net/URL.java,
	java/net/URLConnection.java:
	Fixed coding style.

2004-04-23  Guilhem Lavaux <guilhem@kaffe.org>

	* gnu/java/net/protocol/file/Handler.java: 
	Imported GCJ implementation. The URL parsing is completely handled
	by URLStreamHandler now.

2004-04-23  Michael Koch  <konqueror@gmx.de>

	* java/nio/charset/IllegalCharsetNameException.java
	(charsetName): Made private.
	(IllegalCharsetNameException): Added @param tag to javadoc.
	(getCharsetName): Added @return tag to javadoc.
	* java/nio/charset/MalformedInputException.java
	(MalformedInputException): Added @param tag to javadoc.
	(getInputLength): Revised method description, added @return tag.
	(getMessage): Added @return tag.

2004-04-23  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/channels/FileChannelImpl.java
	(SET, CUR): Unused, removed.

2004-04-23  Michael Koch  <konqueror@gmx.de>

	* scripts/unicode-muncher.pl: Fixed typo.

2004-04-23  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractInterruptibleChannel.java
	(end): Throw AsynchronousCloseException if stream is close.

2004-04-22  Thomas Fitzsimmons  <fitzsim@redhat.com>

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

2004-04-22  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Class.java: Changed all calls to VMClass to static calls.
	(vmClass) Removed. (vmdata) Added. (Class) Changed argument type
	from VMClass to Object.
	* vm/reference/java/lang/VMClass.java: Changed all instance methods
	to static methods.
	* NEWS: Added entry to describe Class/VMClass interface change.

2004-04-22 Dalibor Topic <robilad@kaffe.org>

	* java/sql/DriverManager.java:
	Cleaned up imports.

2004-04-22 Dalibor Topic <robilad@kaffe.org>

	* java/util/jar/JarFile.java,
	java/util/jar/JarInputStream.java,
	java/util/jar/JarOutputStream.java,
	java/util/jar/Manifest.java:
	Cleaned up imports.

2004-04-22 Dalibor Topic <robilad@kaffe.org>

	* java/util/ArrayList.java,
	java/util/Calendar.java,
	java/util/Currency.java,
	java/util/HashMap.java,
	java/util/HashSet.java,
	java/util/Hashtable.java,
	java/util/LinkedList.java,
	java/util/Properties.java,
	java/util/PropertyPermission.java,
	java/util/TimeZone.java,
	java/util/TreeMap.java,
	java/util/TreeSet.java,
	java/util/Vector.java,
	java/util/WeakHashMap.java:
	Cleaned up imports.

2004-04-22  Dalibor Topic  <robilad@kaffe.org>

	* java/util/logging/FileHandler.java,
	java/util/logging/Formatter.java,
	java/util/logging/Handler.java,
	java/util/logging/Logger.java,
	java/util/logging/SimpleFormatter.java,
	java/util/logging/XMLFormatter.java:
	Cleaned up imports.

2004-04-22  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-io/java_io_VMObjectStreamClass.c
	(getFieldReference): Allocate type_len + 1 bytes for type.

2004-04-22  Michael Koch  <konqueror@gmx.de>

	* java/nio/DirectByteBufferImpl.java
	(shiftDown): Overwrite shiftDown method from ByteBuffer.
	* java/nio/MappedByteBufferImpl.java
	(compact): Use optimized shiftDown() method.

2004-04-22  Jerry Quinn  <jlquinn@optonline.net>

	* java/awt/Font.java (deriveFont): Implement missing variants.
	* gnu/java/awt/peer/ClasspathFontPeer.java (deriveFont): Implement
	missing variants.

2004-04-21  Michael Koch  <konqueror@gmx.de>

	* javax/imageio/IIOException.java,
	javax/imageio/event/IIOReadProgressListener.java,
	javax/imageio/event/IIOReadUpdateListener.java,
	javax/imageio/event/IIOReadWarningListener.java,
	javax/imageio/event/IIOWriteProgressListener.java,
	javax/imageio/event/IIOWriteWarningListener.java: New files.
	* configure.ac: Added all Makefiles under javax.imageio to
	AC_OUTPUT_FILES.
	* javax/Makefile.am
	(SUBDIRS): Added imageio.
	* javax/imageio/Makefile.am
	(SUBDIRS): Added event.
	(EXTRA_DIST): Added IIOException.java.
	* javax/imageio/event/Makefile.am: New file.
	* javax/imageio/event/.cvsignore,
	javax/imageio/spi/.cvsignore,
	javax/imageio/stream/.cvsignore: New files to ignore generated files.

2004-04-21  Dalibor Topic  <robilad@kaffe.org>

	* java/util/prefs/Preferences.java,
	java/util/prefs/InvalidPreferencesFormatException.java,
	java/util/prefs/BackingStoreException.java,
	java/util/prefs/AbstractPreferences.java:
	Cleaned up imports.

2004-04-21  Dalibor Topic  <robilad@kaffe.org>

	* java/util/regex/Matcher.java,
	java/util/regex/Pattern.java:
	Cleaned up imports.

2004-04-21  Michael Koch  <konqueror@gmx.de>

	* native/jni/java-net/javanet.h
	(BIND_EXCEPTION): New define.
	* native/jni/java-net/javanet.c
	(_javanet_bind): Throw correct exception on failed bind().

2004-04-21  Michael Koch  <konqueror@gmx.de>

	* java/nio/channels/spi/AbstractSelectableChannel.java
	(register): Check ops for validity.

2004-04-21  Michael Koch  <konqueror@gmx.de>

	* java/net/Socket.java
	(impl): Made package-private.
	* java/net/ServerSocket.java
	(implAccept): Access Socket.impl field directly.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/text/AttributedCharacterIterator.java
	(Attribute): Made public.
	* javax/naming/spi/DirStateFactory.java
	(Result): Made public static.

2004-04-20  Graydon Hoare  <graydon@redhat.com>

	* java/text/AttributedString.java 
	(addAttribute): Fix off-by-one.
	(getIterator): Likewise.	
	* java/text/AttributedStringIterator.java 
	(getRunLimit): Correct logic.
	(getRunStart): Likewise.
	(getAttribute): Fix inequality.
	(getAttributes): Likewise.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/lang/SecurityManager.java
	(checkAWTEventQueueAccess): Implemented.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/security/AccessController.java:
	Merged coypright year from libgcj.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/text/DateFormatSymbols.java:
	Fixed file name in copyright.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/io/StringWriter.java
	(close): Fixed typo in javadoc.

2004-04-20  Jeroen Frijters <jeroen@sumatra.nl>

	* java/io/File.java
	(toURL): Correct the file path before constructing the URL.

	* java/net/URLStreamHandler.java
	(parseURL): Convert the file path to using '/' instead of native
	file separator.

2004-04-20  Guilhem Lavaux <guilhem@kaffe.org>

	* java/net/URL.java
	(userInfo): New field.
	(URL): Set authority to the right value.
	(getContent, openStream): Made final as in the Java spec.
	(setURL): Fixed authority and file initialization.

	* java/net/URLStreamHandler.java
	(parseURL): Take care of the query tag. Build authority.
	(toExternalForm): Fixed URL building using authority.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* java/io/FilterInputStream.java
	(markSupported): Removed unneeded whitespace.
	(available): Likewise.

2004-04-20  Michael Koch  <konqueror@gmx.de>

	* autogen.sh: Added "-I ." to aclocal call.

2004-04-19  Patrik Reali  <reali@acm.org>
	* doc/www.gnu.org/faq/faq.wml: new entry "How do you keep your
	sources synchronized"

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/accessibility/AccessibleText.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/naming/AuthenticationException.java,
	javax/naming/AuthenticationNotSupportedException.java,
	javax/naming/CannotProceedException.java,
	javax/naming/CommunicationException.java,
	javax/naming/CompoundName.java,
	javax/naming/ConfigurationException.java,
	javax/naming/ContextNotEmptyException.java,
	javax/naming/InitialContext.java,
	javax/naming/InsufficientResourcesException.java,
	javax/naming/InterruptedNamingException.java,
	javax/naming/LimitExceededException.java,
	javax/naming/LinkException.java,
	javax/naming/LinkLoopException.java,
	javax/naming/LinkRef.java,
	javax/naming/MalformedLinkException.java,
	javax/naming/Name.java,
	javax/naming/NameAlreadyBoundException.java,
	javax/naming/NameNotFoundException.java,
	javax/naming/NamingSecurityException.java,
	javax/naming/NoInitialContextException.java,
	javax/naming/NoPermissionException.java,
	javax/naming/NotContextException.java,
	javax/naming/PartialResultException.java,
	javax/naming/ReferralException.java,
	javax/naming/ServiceUnavailableException.java,
	javax/naming/SizeLimitExceededException.java,
	javax/naming/TimeLimitExceededException.java,
	javax/naming/directory/Attribute.java,
	javax/naming/directory/Attributes.java,
	javax/naming/directory/SearchResult.java,
	javax/naming/event/NamingExceptionEvent.java,
	javax/naming/spi/ResolveResult.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/swing/JSlider.java:
	Fixed HTML tags in comments.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/CORBA/PortableRemoteObjectDelegate.java,
	javax/rmi/CORBA/Stub.java,
	javax/rmi/CORBA/Util.java,
	javax/rmi/CORBA/ValueHandler.java,
	javax/rmi/CORBA/ValueHandler.java,
	javax/rmi/PortableRemoteObject.java,
	javax/security/auth/x500/X500Principal.java:
	Added 2004 to copyright notices.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/CORBA/PortableRemoteObjectDelegate.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/CORBA/Stub.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/CORBA/Util.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/CORBA/ValueHandler.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/rmi/PortableRemoteObject.java:
	Cleaned up imports.

2004-04-19  Dalibor Topic  <robilad@kaffe.org>

	* javax/security/auth/x500/X500Principal.java:
	Cleaned up imports.

2004-04-18  Mark Wielaard  <mark@klomp.org>

	* include/Makefile.am: Remove java_nio_FileLockImpl.h generation.
	* include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h: Regenerate.
	* include/gnu_java_awt_peer_gtk_GtkPanelPeer.h: Regenerate.
	* include/gnu_java_nio_FileLockImpl.h: Removed.
	* native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): Removed
	java_nio_FileLockImpl.c.
	* native/jni/java-nio/java_nio_FileLockImpl.c: Removed.

2004-04-18  Mark Wielaard  <mark@klomp.org>

	* java/io/File.java (canWrite): Only do checkWrite() security
	check, use internal methods for actual actions.
	(createTempFile): Don't do security checks for temp files that
	won't be created.
	(setReadOnly): Do checkWrite() security check before trying to
	do anything else.
	(renameTo): Add checkWrite() security check for destination file.

2004-04-18  Michael Koch  <konqueror@gmx.de>

	* javax/swing/JLayeredPane.java
	* javax/swing/plaf/BorderUIResource.java
	* javax/swing/plaf/ComponentUI.java
	* javax/swing/undo/CompoundEdit.java
	* javax/swing/undo/StateEdit.java

2004-04-18  Michael Koch  <konqueror@gmx.de>

	* javax/print/attribute/EnumSyntax.java
	(getOffset): Has to be protected.
	* javax/print/attribute/HashAttributeSet.java
	(HashAttributeSet): Likewise.
	* javax/print/attribute/ResolutionSyntax.java
	(getFeedResolution): Fixed typo in exception name in javadoc.
	(getCrossFeedResolution): Likewise.
	* javax/print/attribute/TextSyntax.java
	(equals): Fixed typo in @return tag.
	(toString): New method.

2004-04-18  Michael Koch  <konqueror@gmx.de>

	* java/rmi/Naming.java,
	java/rmi/RemoteException.java,
	java/rmi/activation/ActivationException.java,
	java/rmi/server/ServerCloneException.java,
	javax/naming/NamingException.java:
	Fixed HTML tags in javadocs.

2004-04-18  Michael Koch  <konqueror@gmx.de>

	* java/sql/Array.java,
	java/sql/DatabaseMetaData.java,
	java/sql/ResultSet.java:
	Fixed HTML tags in javadocs.

2004-04-17  Mark Wielaard  <mark@klomp.org>

	* javax/swing/plaf/basic/Makefile.am: Add BasicArrowButton.java,
	BasicCheckBoxMenuItemUI.java, BasicMenuItemUI.java and
	BasicRadioButtonMenuItemUI.java.

	* javax/swing/JToggleButton.java (ToggleButtonModel):
	Make public static inner class.
	* javax/swing/JTabbedPane.java (setComponentAt):
	Call Page.setComponent().
	(SCROLL_TAB_LAYOUT): Make public, value is 1.
	(WRAP_TAB_LAYOUT): Make public, value is 0.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java (ScrollingButton):
	Make private static inner class.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Changed C++ comments into C comments.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c:
	Likewise.

2004-04-17  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkPanelPeer.java (connectSignals):
	Remove method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c: Remove
	unused code.

2004-04-17  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/ImageIcon.java: 
	(ImageIcon(file)): set description of the icon 
	to the file name
	* javax/swing/JCheckBoxMenuItem.java:
	Mostly Implemented. Work in progress.
	* javax/swing/JRadioButtonMenuItem.java:
	Reimplement constructors to use JToggleButtonModel.
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(getCheckBoxMenuItemIcon): return check box
	icon.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	paint menu item selected only when it is armed and 
	pressed. 

2004-04-17  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	(GtkMenuItemPeer): Only connect signals if this isn't a Menu peer.
	* java/awt/Component.java
	(add): Set the parent of the popup as this component.
	* java/awt/PopupMenu.java
	(addNotify): Create popup menu when peer is null.
	(show): Call addNotify() if peer is null.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkPopupMenuPeer_show): Set the button
	argument for gtk_menu_popup() as zero. This causes the popup menu to
	respond to any mouse button.

2004-04-17  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JRadioButtonMenuItem.java:
	Implemented.
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(getRadioButtonMenuItemIcon): Return
	radio button icon.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	(getPreferredSize): Add size of checkIcon if it
	exists.
	(installDefaults): Don't initialize checkIcon.
	It's value will be set in subclasses. 
	(uninstallDefaults): remove uninstallation of 
	checkIcon.
	(paint): Moved code to paintMenuItem().
	(paintMenuItem): Implemented.
	* javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java:
	UI delegate for JRadioButtonMenuItem.
	
2004-04-17  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	Corrected position of the accelerator.

2004-04-17  Olga Rodimina  <rodimina@redhat.com>

	* javax/swing/JMenuItem.java: Partly 
	implemented. Work in progress
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Changed default value of acceleratorDelimiter.
	* javax/swing/plaf/basic/BasicMenuItemUI.java:
	New class. Partly implemented.
		
2004-04-17  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuPeer.java
	(addSeparator): Remove.
	* java/awt/Menu.java
	(separator): Remove static final MenuItem field.
	(separatorLabel): New static final String field.
	(addSeparator): Do not use peer method; use add(MenuItem) instead.
	Use separatorLabel to denote that it is a separator.
	(insertSeparator): Create a new MenuItem with separatorLabel, instead
	of reusing the static separator instance, because a MenuItem instance
	can't be added more than once without being cloned.
	* java/awt/peer/MenuPeer.java
	(addSeparator): Remove from interface.

2004-04-17  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
	(connectSignals): New native method declaration.
	(GtkMenuItemPeer): Connect signals if the parent is a Menu.
	* java/awt/MenuItem.java
	(getActionCommand): Return the label if the action command is not set.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_addMenu): Use
	gtk_menu_shell_append().
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
	(item_activate): Fix argument type.
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_create): Do not connect
	signal here.
	(Java_gnu_java_awt_peer_gtk_GtkMenuItemPeer_connectSignals): New
	method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_create): Check if a label is
	given. Add the menu widget's top-level GtkWindow to the global window
	group, so it can grab the pointer.
	(Java_gnu_java_awt_peer_gtk_GtkMenuPeer_addItem): Use
	gtk_menu_shell_append().

2004-04-17  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	(calculateSizes): Return real width and height.

2004-04-17  Kim Ho  <kho@redhat.com>

	* javax/swing/plaf/basic/BasicTabbedPaneUI.java
	(calculateTabRects): Set the selectedRun before
	trying to rotate tabs.

2004-04-17  Kim Ho  <kho@redhat.com>

	* javax/swing/DefaultSingleSelectionModel.java
	(isSelected): Return true if the selected index
	is not -1.
	* javax/swing/JLabel.java: Do not change mnemonic
	index if text is null.
	* javax/swing/JProgressBar.java: Use JComponent's
	EventListenerList.
	* javax/swing/JScrollBar.java: Ditto.
	* javax/swing/JSlider.java: Ditto.
	* javax/swing/JTabbedPane.java: Reimplement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Add defaults for TabbedPane.
	* javax/swing/plaf/basic/BasicArrowButton.java:
	Implement
	* javax/swing/plaf/basic/BasicProgressBarUI.java:
	(paintDeterminate): Don't paint String if it's
	empty.
	(paintIndeterminate): ditto.
	* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
	Reimplement.

2004-04-17  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/JComponent.java: Turn off double buffer by default.
	* javax/swing/plaf/basic/BasicViewportUI.java: Clear rects before
	painting.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics2D_gdkDrawDrawable): 
	Use cairo to copy areas.
	(Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoClip):
	Initialize and set clip region.

2004-04-17  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (preferredSize): Override deprecated
	variant of getPreferredSize.
	(minimumSize): Override deprecated variant of getMinimumSize.

2004-04-17  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(drawImage(img,xform,bgcolor,obs)): New Method.
	Helper function that every drawImage method will
	use.
	(drawRaster): Added new parameter, bgcolor. All
	transparent pixels are changed to bgcolor before 
	image is drawn.
	(drawRenderedImage): Fixed to use changed drawRaster().
	(drawImage(image,xform,obs): Fixed to use new helper function 
	(drawImage(image,op,x,y)): Ditto.
	(drawImage (img,x,y,observer)): Ditto.
	((PainterThread) bgcolor): New Field.
	((PainterThread) (setPixels)): Changed all transparent pixels 
	to bgcolor.	
	(drawImage(img,x,y,width,height,bgcolor,observer)): 
	Fixed FIXME - all the transparent pixels are 
	changed to the specified bgcolor. 
	(drawImage(img, x, y, width, height, observer): Changed to 
	use function above.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,bgcolor,observer)): 
	Fixed FIXME- changed all transparent pixels to bgcolor.
	(drawImage (img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, observer)):
	Changed to use function above. 

2004-04-17  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (dimensions): New field.
	(getDimensions): New method.
	(getPreferredSize): Call getDimensions.
	(getMinimumSize): Likewise.

2004-04-17  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* java/applet/Applet.java (getPreferredSize): New method.
	(getMinimumSize): New method.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/util/Collections.java,
	java/util/PropertyResourceBundle.java,
	java/util/ResourceBundle.java,
	java/util/StringTokenizer.java,
	java/util/jar/Attributes.java,
	java/util/logging/ConsoleHandler.java,
	java/util/logging/LogManager.java,
	java/util/logging/MemoryHandler.java,
	java/util/logging/SocketHandler.java:
	Fixed HTML tags in javadocs all over.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/security/AlgorithmParameterGenerator.java,
	java/security/AlgorithmParameters.java,
	java/security/CodeSource.java,
	java/security/Identity.java,
	java/security/IdentityScope.java,
	java/security/KeyPairGenerator.java,
	java/security/KeyStore.java,
	java/security/Signature.java,
	java/security/SignatureSpi.java,
	java/security/SignedObject.java:
	Fixed HTML tags in javadoc comments all over.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/net/JarURLConnection.java,
	java/net/NetPermission.java,
	java/net/SocketPermission.java,
	java/net/URLConnection.java:
	Fixed HTML tags in javadocs all over.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/text/ChoiceFormat.java,
	java/text/CollationElementIterator.java,
	java/text/CollationKey.java,
	java/text/Collator.java,
	java/text/DateFormat.java,
	java/text/DateFormatSymbols.java,
	java/text/DecimalFormatSymbols.java,
	java/text/Format.java,
	java/text/ParsePosition.java,
	java/text/RuleBasedCollator.java,
	java/text/SimpleDateFormat.java,
	java/text/StringCharacterIterator.java:
	Fixed HTML tags in javadocs all over

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/io/DataInput.java,
	java/io/File.java,
	java/io/InputStream.java,
	java/io/InputStreamReader.java,
	java/io/PushbackInputStream.java,
	java/io/RandomAccessFile.java:
	Fixed javadocs all over.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/lang/Byte.java
	(parseByte): Fixed <code> tag in javadoc.
	* java/lang/CharSequence.java
	(subSequence): Likewise.
	* java/lang/Class.java
	(forName): Added @return tag.
	(getConstructor): Fixed argument name.
	(getDeclaredConstructor): Likewise.
	(getDeclaredMethod): Fixed argument name and HTML tag in javadoc.
	(getMethod): Likewise.
	(getName): Added missing </pre> tag.
	* java/lang/ClassLoader.java
	(getParent): Added @return tag.
	* java/lang/Double.java
	(parseDouble): Fixed argument name.
	* java/lang/Float.java
	(parseFloat): Likewise.
	* java/lang/Integer.java
	(parseInt): Fixed javadoc.
	(getInteger): Likewise.
	(decode): Likewise.
	* java/lang/Long.java
	(parseLong): Likewise.
	(decode): Likewise.
	(getLong): Likewise.
	* java/lang/Number.java
	(digits): Added comma to array definition.
	* java/lang/Object.java
	(equals): Fixed HTML tag.
	* java/lang/Package.java
	(isCompatibleWith): Added @return tag.
	* java/lang/Runtime.java
	(loadLibrary): Fixed @param tag.
	* java/lang/SecurityManager.java:
	Fixed javadocs all over.
	* java/lang/String.java
	(regionMatches): Fixed @param tag.
	(startsWith): Likewise.
	(substring): Likewise.
	* java/lang/StringBuffer.java
	(append): Likewise.
	* java/lang/ThreadGroup.java
	(parentOf): Use group as argument name.
	(uncaughtException): Fixed @param tag.
	* java/lang/Throwable.java
	(printStackTrace): Likewise.

2004-04-17  Michael Koch  <konqueror@gmx.de>

	* java/awt/AWTPermission.java,
	java/awt/Component.java,
	java/awt/ComponentOrientation.java,
	java/awt/Dialog.java,
	java/awt/FontMetrics.java,
	java/awt/datatransfer/DataFlavor.java,
	java/beans/Introspector.java,
	java/beans/PropertyEditor.java,
	java/beans/PropertyEditorManager.java,
	java/beans/beancontext/BeanContextServiceProvider.java:
	Fixed HTML tags in javadocs.

2004-04-16  Guilhem Lavaux <guilhem@kaffe.org>

	Reported by Nektarios Papadopoulos <npapadop@inaccessnetworks.com>
	* java/io/FileOutputStream.java
	(FileOutputStream) Reorganized constructors. Constructors now
	check whether the given path is directory.

2004-04-15  Mark Wielaard  <mark@klomp.org>

	* javax/awt/JFrame.java: Implement WindowConstants. Remove final
	static fields defined in interface.
	* javax/awt/JDialog.java: Likewise.
	(JDialog): Make constructors public.
	(getDefaultCloseOperation): Make public.
	(processWindowEvent): Call System.exit(0) when EXIT_ON_CLOSE set.
	(setDefaultCloseOperation): Make public. Check argument. Add API doc.

2004-04-15  Mark Wielaard  <mark@klomp.org>

	* javax/awt/JFrame.java (close_action): Default to HIDE_ON_CLOSE.
	(getDefaultCloseOperation): Make public.
	(processWindowEvent): Call System.exit(0) when EXIT_ON_CLOSE set.
	(setDefaultCloseOperation): Make public. Check argument. Add API doc.

2004-04-15  Sascha Brawer  <brawer@dandelis.ch>

	* javax/imageio/package.html, javax/imageio/spi/package.html,
	javax/imageio/stream/package.html: Added boilerplate docs.

	* javax/imageio/Makefile.am, javax/imageio/spi/Makefile.am,
	javax/imageio/stream/Makefile.am: New files.

	* gnu/classpath/Makefile.am (EXTRA_DIST): Include
	ServiceFactory.java and ServiceProviderLoadingAction.java.

2004-04-15  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/ComponentColorModel.java
	(createCompatibleSampleModel): Return PixelInterleavedSampleModel
	for TYPE_BYTE and TYPE_USHORT transferTypes, in order to pass the
	Mauve tests on this method. Improved documentation.

2004-04-14  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/DataBufferShort.java,
	java/awt/image/DataBufferFloat.java,
	java/awt/image/DataBufferDouble.java: New files.

	* java/awt/image/Makefile.am (EXTRA_DIST): Added
	DataBufferShort.java, DataBufferFloat.java, and
	DataBufferDouble.java.

	* gnu/java/awt/Buffers.java (createBuffer, createBufferFromData,
	getData): Added support	for TYPE_SHORT, TYPE_FLOAT and TYPE_DOUBLE.

2004-04-14  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/Makefile.am (EXTRA_DIST):
	Added PixelInterleavedSampleModel.java

2004-04-14  Sascha Brawer  <brawer@dandelis.ch>

	* javax/imageio/spi/ImageReaderWriterSpi.java (getFormatNames):
	Return cloned names, for compatibility with JDK.

2004-04-14  Sascha Brawer  <brawer@dandelis.ch>

	* java/awt/image/PixelInterleavedSampleModel.java: New class.

2004-04-13  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: SableVM, Jikes RVM, JC releases

2004-04-13  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-io/java_io_VMObjectStreamClass.c
	getFieldReference(): Array types are different from reference
	types.

2004-04-13  Sascha Brawer  <brawer@dandelis.ch>

	* javax/imageio/spi/IIOServiceProvider.java,
	javax/imageio/spi/ImageInputStreamSpi.java,
	javax/imageio/spi/ImageOutputStreamSpi.java,
	javax/imageio/spi/ImageReaderWriterSpi.java,
	javax/imageio/spi/ImageTranscoderSpi.java: Implemented.

	* javax/imageio/stream: New directory.

	* javax/imageio/stream/IIOByteBuffer.java,
	javax/imageio/stream/ImageInputStream.java: Implemented,
	but not documented.
	
	* javax/imageio/ImageReader.java,
	javax/imageio/ImageWriter.java,
	javax/imageio/ImageTranscoder.java,
	javax/imageio/stream/ImageOutputStream.java:
	Added empty class/interface in order to allow compilation of
	javax.imageio.spi.

2004-04-13  Jeroen Frijters <jeroen@frijters.net>

	* gnu/java/nio/channels/FileChannelImpl.java:
	(FileChannelImpl(int,int)) Made package private instead of private.

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

	* java/io/CharArrayWriter.java,
	java/io/PipedInputStream.java,
	java/io/PipedReader.java,
	java/io/SerializablePermission.java,
	java/io/StreamTokenizer.java,
	java/io/WriteAbortedException.java:
	Fixed HTML in javadocs.

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

	* native/jni/java-io/FileDescriptor.c: Removed.
	* native/jni/java-io/Makefile.am: Don't compile FileDescriptor.c
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
	Dont include java_io_FileDescriptor.h.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c
	(shiftDown): Method signature fixed.

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

	* java/lang/ClassLoader.java,
	java/lang/Compiler.java,
	java/lang/Double.java,
	java/lang/Float.java,
	java/lang/Long.java,
	java/lang/Math.java,
	java/lang/Runtime.java,
	java/lang/RuntimePermission.java,
	java/lang/Short.java,
	java/lang/System.java,
	java/lang/reflect/InvocationHandler.java,
	java/lang/reflect/Proxy.java:
	Fixed HTML in javadocs.

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

	* java/nio/DirectByteBufferImpl.java
	(shiftDown): Made static and give address of memory block as argument.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c:
	Replaced "class" with "clazz".
	(shiftDown): Changed to new method signature.
	* include/java_nio_DirectByteBufferImpl.h: Regenerated.

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

	* include/java_io_FileDescriptor.h: Removed.
	* include/Makefile.am: Dont regenerate java_io_FileDescriptor.h.

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

	* java/util/zip/DeflaterOutputStream.java
	(write): Removed debug code.
	* java/util/zip/GZIPInputStream.java: Jalopied.
	* java/util/zip/GZIPOutputStream.java: Jalopied
	(write): Update CRC sum after actually writing data.
	* java/util/zip/InflaterInputStream.java: Jalopied.
	(InflaterInputStream): Check arguments before setting fields.
	(markSupported): Removed.

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

	* java/net/InetAddress.java,
	java/net/SocketPermission.java:
	Jalopied.

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

	* configure.ac: Initialize CLASSPATH_MODULE.
	* native/fdlibm/Makefile.am,
	native/jni/classpath/Makefile.am,
	native/jni/gtk-peer/Makefile.am,
	native/jni/java-awt/Makefile.am,
	native/jni/java-io/Makefile.am,
	native/jni/java-lang/Makefile.am,
	native/jni/java-net/Makefile.am,
	native/jni/java-nio/Makefile.am,
	native/jni/java-util/Makefile.am:
	Use new @CLASSPATH_MODULE@.

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

	* configure.ac: Call only CLASSPATH_WITH_GLIBJ to get what to install.
	* acinclude.m4
	(CLASSPATH_WITH_GLIBJ): New function to specify what to install.
	(CLASSPATH_ENABLE_GLIBJ): Removed.
	(CLASSPATH_ENABLE_CLASS_INSTALL): Removed.
	* lib/Makefile.am: Handle INSTALL_GLIBJ_ZIP and INSTALL_CLASS_FILES.

2004-04-11  Mark Wielaard  <mark@klomp.org>

	* configure.ac (CFLAGS): Remove definition.
	(AM_CFLAGS): Remove -std=c89 option.

2004-04-11  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-io/java_io_VMObjectStreamClass.c
	(throwInternalError): Just return when everything fails.
	(getFieldReference): Get field declaring class, not object class.
	Calculate field type descriptor if not yet given.

2004-04-11  Mark Wielaard  <mark@klomp.org>

	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(Java_gnu_java_nio_channels_FileChannelImpl_size): Implemented.

2004-04-11  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/nio/channels/FileChannelImpl.java:
	(FileChannelImpl(int,int)) Restored previously removed constructor
	and made it private.

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

	* .cvsignore: Ignore ltmain.sh.
	* gnu/java/nio/channels/.cvsignore,
	gnu/regexp/.cvsignore: New files.

2004-04-10  Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/FieldPosition.java
	(FieldPosition) Constructor now behaves as it should according
	to the java documentation.

2004-04-10  Mark Wielaard  <mark@klomp.org>

	* native/fdlibm/Makefile.am (libfdlibm_la_SOURCES): Add java-assert.h.

2004-04-09  Mark Wielaard  <mark@klomp.org>

	* configure.ac (AM_CFLAGS): Don't define _POSIX_SOURCE.

	* native/jni/gtk-peer/gthread-jni.c (maybe_rethrow): Explicitly
	malloc and free buf.

	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
	(GET_NATIVE_FD): Remove macro.
	(get_native_fd): Replace GET_NATIVE_FD macro.

	* native/target/generic/target_generic_misc.h
	(TARGET_NATIVE_MISC_FORMAT_STRING): Remove unused macro.

2004-04-09  Mark Wielaard  <mark@klomp.org>

	* autogen.sh: Check for explicit versions of the autotools installed
	in /usr/bin.

2004-03-25  Archie Cobbs  <archie@dellroad.org>

	* INSTALL: Document GNU make requirement for building.

2004-04-09  Dalibor Topic  <robilad@kaffe.org>

	* java/lang/SecurityManager.java: (checkAccess): Use getThreadGroup().
	Improved documentation.

2004-04-09  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URLConnection.java: (setContentHandlerFactory): Fixed
	to check static field instead of argument.

2004-04-09  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/nio/channels/FileChannelImpl.java: (fd, mode) Made private.
	(length, pos) Removed. (FileChannelImpl (int, int)) Removed.
	(implPosition, seek, implTruncate, unlock, lock) Added throws clause.

2004-04-09  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/FileDescriptor.java: (FileDescriptor) Added public
	constructor. (valid) Added null check.

2004-04-09  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set AM_CFLAGS to ISO C90 pedantic ansi, but with
	longlong (jlong) support and modern POSIX and BSD C library
	funtions/prototypes.
	* native/fdlibm/Makefile.am: Cancel out project wide AM_CFLAGS.
	* native/fdlibm/mprec.h: Remove C++ comments.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Turn C++
	comments into C comments.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
	Likewise.
	* native/jni/java-io/FileDescriptor.c: Likewise.
	* native/jni/java-io/java_io_File.c: Likewise.
	* native/jni/java-io/javaio.c: Remove unused fprintf calls.
	* native/jni/java-net/javanet.c: Turn C++ comments into C comments.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c:
	Likewise.
	* native/target/generic/target_generic_file.h: Likewise.
	* native/target/generic/target_generic_network.h: Likewise.

2004-04-09  Mark Wielaard  <mark@klomp.org>

	* config.guess: Removed automatically generated file.
	* config.sub: Likewise.
	* .cvsignore: Ignore config.guess and config.sub.

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

	* include/gnu_java_nio_PipeImpl.h,
	include/gnu_java_nio_SelectorImpl.h,
	native/jni/java-nio/gnu_java_nio_PipeImpl.c,
	native/jni/java-nio/gnu_java_nio_SelectorImpl.c:
	New files.
	* native/jni/java-nio/Makefile.am:
	Build gnu_java_nio_PipeImpl.c and gnu_java_nio_SelectorImpl.c.
	* include/Makefile.am:
	Generate gnu_java_nio_PipeImpl.h and gnu_java_nio_SelectorImpl.h.

2004-04-08  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
	(accel_attach): Comment out _gtk_accel_group_attach call.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(setupAccelGroup): Likewise.

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

	* java/security/AccessController.java:
	Fixed all @return tags.

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

	* java/nio/DirectByteBufferImpl.java,
	java/nio/MappedByteBuffer.java,
	java/nio/MappedByteBufferImpl.java:
	Forgot to commit this during the big NIO commit.

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

	* java/io/BufferedWriter.java,
	java/io/FilterInputStream.java,
	java/io/ObjectInputStream.java:
	More javadoc and coding style work.

2004-04-08  Michael Koch  <konqueror@gmx.de>
,
	* java/nio/channels/DatagramChannel.java,
	java/nio/channels/FileChannel.java,
	java/nio/channels/FileLock.java,
	java/nio/channels/Pipe.java,
	java/nio/channels/ServerSocketChannel.java,
	java/nio/channels/SocketChannel.java,
	java/nio/channels/spi/AbstractInterruptibleChannel.java,
	java/nio/channels/spi/AbstractSelectableChannel.java,
	java/nio/channels/spi/AbstractSelectionKey.java,
	java/nio/channels/spi/AbstractSelector.java,
	java/nio/channels/spi/SelectorProvider.java:
	Reworked coding style and javadocs.

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

	* resource/gnu/regexp/.cvsignore: New file.

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

	* java/nio/Buffer.java,
	java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.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/ShortBufferImpl.java,
	java/nio/ShortViewBufferImpl.java,
	java/nio/channels/AlreadyConnectedException.java,
	java/nio/channels/AsynchronousCloseException.java,
	java/nio/channels/ByteChannel.java,
	java/nio/channels/CancelledKeyException.java,
	java/nio/channels/Channel.java,
	java/nio/channels/ClosedByInterruptException.java,
	java/nio/channels/ClosedChannelException.java,
	java/nio/channels/ClosedSelectorException.java,
	java/nio/channels/ConnectionPendingException.java,
	java/nio/channels/FileLockInterruptionException.java,
	java/nio/channels/GatheringByteChannel.java,
	java/nio/channels/IllegalBlockingModeException.java,
	java/nio/channels/IllegalSelectorException.java,
	java/nio/channels/InterruptibleChannel.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/ReadableByteChannel.java,
	java/nio/channels/ScatteringByteChannel.java,
	java/nio/channels/SelectableChannel.java,
	java/nio/channels/SelectionKey.java,
	java/nio/channels/Selector.java,
	java/nio/channels/UnresolvedAddressException.java,
	java/nio/channels/UnsupportedAddressTypeException.java,
	java/nio/channels/WritableByteChannel.java,
	java/nio/charset/spi/CharsetProvider.java:
	Reworked coding style and javadocs.

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

	* ChangeLog, acinclude.m4, lib/Makefile.am:
	Added support for building and installing glibj.zip and separate
	class files.

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

	* autogen.sh: New script to generate configure and friends.
	* ltmain.sh: Removed. This gets added now by calling libtoolize.

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

	* configure.ac: Added gnu/java/nio/channels/Makefile to output files.
	* gnu/java/nio/Makefile.am: Added subdir channels.
	* include/gnu_java_nio_channels_FileChannelImpl.h: New file.
	* include/java_io_FileDescriptor.h,
	include/java_nio_DirectByteBufferImpl.h: Updates.
	* include/java_nio_channels_FileChannelImpl.h: Removed.
	* include/Makefile.am: Handle generation of
	gnu_java_nio_channels_FileChannelImpl.h.
	* java/nio/channels/Makefile.am (EXTRA_DIST): Removed FileChannelImpl.java.
	* native/jni/java-nio/Makefile.am
	(libjavanio_la_SOURCES): Removed java_nio_FileChannelImpl.c and
	added gnu_java_nio_channels_FileChannelImpl.c.
	* native/jni/java-io/FileDescriptor.c: Commented out all code.
	* native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: New file.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c: Fixed method names.
	* native/jni/java-nio/java_nio_FileChannelImpl.c: Removed.

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

	* java/nio/channels/Channels.java (newInputStream, newOutputStream):
	Optimize when argument is a FileChannelImpl.
	(newInputStream(FileChannelImpl), newOutputStream(FileChannelImpl)):
	New native methods.

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

	* java/nio/channels/FileChannelImpl.java:  Moved to package
	gnu/java/nio/channels, since we need to refer to it from java.io.
	* java/nio/channels/natFileChannelImpl.cc:  Removed file.
	* gnu/java/nio/channels/FileChannelImpl.java:  New class, renamed
	from java/nio/channels.  Don't depend on FileDescriptor.
	(in, out, err):  New static fields.
	(mode):  New field.
	(SET, CUR, READ, WRITE, APPEND, EXCL, SYNC, DSYNC):  Moved constants
	from FileDescriptor.
	(by):  Removed MappedByteBuffer field.
	(map):  New working implementation.
	* java/io/FileDescriptor.java:  Implement on top of FileChannel.
	Remove native methods.
	* gnu/java/nio/FileLockImpl.java (fd):  Remove field, replacing it by:
	(ch):  New FileChannelImpl field.  Update constructor to match.
	(releaseImpl):  Remove native method.  Instead ...
	(release):  Call unlock on channel.
	* java/io/FileInputStream.java (ch):  Change type to FileChannelImpl.
	(<init>(File)):  Allocate a FileChannelImpl, not a FileDescriptor.
	(<init>(FileChannelImpl)):  New package-private constructor.
	(<init>(FileDescriptor)):  Extract FileChannelImpl from arg.
	(available, close, read, skip):  Implement using FileChannelImpl.
	(getFD):  Allocate FileDescriptor if needed.
	(getChannel):  Is now trivial.
	* java/io/FileOutputStream.java:  Corresponding changes.
	* java/io/RandomAccessFile.java:  Corresponding changes.
	* java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl,
	unmapImpl):  New dummy methods, to be overridden by subclass.
	(finalize, isLoaded, load, force):  New methods.
	* java/nio/MappedByteBufferImpl.java:  More-or-less rewrite.
	Now works, at least for read mapping.

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

	* java/nio/CharBufferImpl.java:  Inline super constructor.
	* java/nio/DoubleBufferImpl.java:  Likewise.
	* java/nio/FloatBufferImpl.java:  Likewise.
	* java/nio/IntBufferImpl.java:  Likewise.
	* java/nio/LongBufferImpl.java:  Likewise.
	* java/nio/ShortBufferImpl.java:  Likewise.
	* java/nio/CharBuffer.java:  Remove unused constructor.
	* java/nio/DoubleBuffer.java:  Likewise.
	* java/nio/FloatBuffer.java:  Likewise.
	* java/nio/IntBuffer.java:  Likewise.
	* java/nio/LongBuffer.java:  Likewise.
	* java/nio/ShortBuffer.java:  Likewise.
	* java/nio/CharViewBufferImpl.java:  New convenience constructor.
	Fix buggy call to super constructor.
	* 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/ByteBuffer.java (endian):  Make non-private so other
	java.nio classes can inherit it.
	(<init>):  Don't bother clearing array_offset.
	* java/nio/ByteBuffer.java (allocate):  Re-implement using wrap.
	* java/nio/ByteBuffer.java (get(byte[],int,int)):  Check underflow.
	Remove redundant test.
	* java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer,
	asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer):
	Use new XxxViewBufferImpl constructors.
	* java/nio/MappedByteBufferImpl.java:  Likewise.
	* java/nio/DirectByteBufferImpl.java:  Likewise.
	* java/nio/ByteBufferImpl.java:  Remove one constructor.
	Inline super in remaining constructor.
	* java/nio/ByteBuffer.java:  Remove unused constructor.
	* java/nio/ByteBufferImpl.java (shiftDown):  New optimized method.
	* java/nio/ByteBufferImpl.java (get, put):  Add array_offset.
	* java/nio/DirectByteBufferImpl.java (owner):  New field.
	(offset):  Remove unused field.
	(<init>):  Modify one and add another constructor.  Change callers.
	(allocateDirect):  Removed - not used.
	(getImpl, putImpl):  Make static and pass address explicitly,
	to make them useful for MappedByteBufferImpl.
	(get, put):  Check for underflow.  Modify for new getImpl.
	(getImpl):  New native method where target is array.
	(get(byte[],int,int)):  Use the above.
	(adjustAddress):  New static native method.
	(slice, duplicate, asReadOnly):  New implementations.

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

	* java/nio/ByteBuffer.java (shiftDown):  New helper method.
	* 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-04-08  Michael Koch  <konqueror@gmx.de>

	* java/net/ContentHandler.java,
	java/net/ContentHandlerFactory.java,
	java/net/Inet4Address.java,
	java/net/Inet6Address.java,
	java/net/JarURLConnection.java,
	java/net/MimeTypeMapper.java,
	java/net/URI.java,
	java/net/URL.java,
	java/net/URLClassLoader.java,
	java/net/URLConnection.java,
	java/net/URLStreamHandler.java:
	Reworked javadocs and coding style.

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

	* java/net/Authenticator.java,
	java/net/BindException.java,
	java/net/ConnectException.java,
	java/net/DatagramPacket.java,
	java/net/DatagramSocket.java,
	java/net/DatagramSocketImpl.java,
	java/net/DatagramSocketImplFactory.java,
	java/net/FileNameMap.java,
	java/net/HttpURLConnection.java,
	java/net/InetSocketAddress.java,
	java/net/MalformedURLException.java,
	java/net/MulticastSocket.java,
	java/net/NetPermission.java,
	java/net/NetworkInterface.java,
	java/net/NoRouteToHostException.java,
	java/net/PasswordAuthentication.java,
	java/net/PortUnreachableException.java,
	java/net/ProtocolException.java,
	java/net/ServerSocket.java,
	java/net/Socket.java,
	java/net/SocketAddress.java,
	java/net/SocketException.java,
	java/net/SocketImpl.java,
	java/net/SocketImplFactory.java,
	java/net/SocketOptions.java,
	java/net/SocketTimeoutException.java,
	java/net/URISyntaxException.java,
	java/net/URLDecoder.java,
	java/net/URLEncoder.java,
	java/net/URLStreamHandlerFactory.java,
	java/net/UnknownHostException.java,
	java/net/UnknownServiceException.java:
	Reworked javadoc and coding style all over.

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

	* java/io/ByteArrayInputStream.java,
	java/io/DataInput.java,
	java/io/DataInputStream.java,
	java/io/InputStream.java,
	java/io/InputStreamReader.java,
	java/io/ObjectStreamClass.java,
	java/io/ObjectStreamField.java,
	java/io/PushbackReader.java,
	java/io/StringWriter.java,
	java/io/Writer.java:
	Fixed javadocs and style all over.

2004-04-06  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/ObjectStreamField.java
	(setBooleanField, setCharField, setByteField, setShortField,
	setIntField, setLongField, setFloatField, setDoubleField,
	setObjectField): Use native methods directly to be able to set
	final fields.

	* vm/reference/java/io/VMObjectStreamClass.java
	(setBooleanNative, setCharNative, setByteNative, setShortNative,
	setIntNative, setLongNative, setFloatNative, setDoubleNative,
	setObjectNative): New methods for serialization to be able to
	set final fields.

	* native/jni/java-io/java_io_VMObjectStreamClass.c:
	Implemented new native methods of java.io.VMObjectStreamClass
	accordingly.

	* include/java_io_VMObjectStreamClass.h: Regenerated.

	* NEWS: Added a warning clause about the VM Interface change.

2004-04-07  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/events/fosdem04.wml: link to group picture added

2004-04-07  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:
	Changed C++ comments into C comments. Removed commented out code.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:
	Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c:
	Likewise.
	* native/jni/gtk-peer/gthread-jni.c:
	Likewise.

2004-04-07  Ingo Proetel  <proetel@aicas.com>

	* java/awt/image/SampleModel.java (<init>): Added error cause
	information to thrown exception.

2004-04-07  Ingo Proetel  <proetel@aicas.com>

	* java/awt/image/SinglePixelPackedSampleModel.java (getDataElements):
	New method.
	(setDataElements): New method.
	(setPixels): New method.
	(toString): New method.

2004-04-07  Ingo Proetel  <proetel@aicas.com>

	* java/awt/Polygon.java (getBoundingBox): Use correct y-coordinate
	in Rectangle constructor.

2004-04-07  Ingo Proetel  <proetel@aicas.com>

	* java/awt/image/Raster.java (toString): Added method. 

2004-04-07  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/newsitems.txt: JamVM release; ServiceFactory release

2004-04-06  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/downloads/downloads.wml: removed download links
	0.00 to 0.05 because they do not exist; link to 0.07 fixed

2004-04-06  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/downloads/downloads.wml: link to 0.08 corrected

2004-04-05  Patrik Reali  <reali@acm.org>

	* doc/www.gnu.org/README: some custom tags documented
	* doc/www.gnu.org/newsitems.txt: planet classpath added
	* doc/www.gnu.org/faq/faq.wml doc/www.gnu.org/include/layout.wml 
	doc/www.gnu.org/include/macros.wml: faq entry on installing classpath
	and mauve, custom tags for commented code

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

	* doc/hacking.texinfo (Source Code Style Guide): Mention `extends
	Object' and `import java.lang.Integer' as redundant.

	* java/rmi/MarshalledObject.java (MarshalledObject): Removed
	redundant `extends'.
	* java/security/Security.java (Security): Removed redundant
	`extends'.
	* java/security/spec/DSAPublicKeySpec.java (DSAPublicKeySpec):
	Removed redundant `extends'.
	* java/security/spec/DSAPrivateKeySpec.java (DSAPrivateKeySpec):
	Removed redundant `extends'.
	* java/security/spec/DSAParameterSpec.java (DSAParameterSpec):
	Removed redundant `extends'.
	* javax/naming/directory/SearchControls.java (SearchControls):
	Removed redundant `extends'.
	* javax/naming/spi/DirStateFactory.java (Result): Removed
	redundant modifiers.
	* java/util/Map.java (Entry): Removed redundant modifiers.
	* java/text/AttributedCharacterIterator.java (Attribute): Removed
	redundant modifiers.
	* java/security/Security.java (provides): Removed unused label.

2004-04-02  Mark Wielaard  <mark@klomp.org>

	* doc/hacking.texi: Added sections on needed libraries, coding
	conventions, hacking on the code, writing ChangeLog
	entries. Updated old/deprecated information.

	* HACKING: Moved all content to doc/hacking.text. Add pointer to
	above document.

2004-04-01  Mark Wielaard  <mark@klomp.org>

	* javax/swing/JViewport.java (JViewport): Make constructor public.

2004-04-01  Jeroen Frijters  <jeroen@frijters.net>

	* java/text/DecimalFormat.java (scanFix): Removed suffix check
	for percent and permill check.

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

	* include/gnu_java_nio_ByteBufferImpl.h,
	include/gnu_java_nio_CharBufferImpl.h,
	include/gnu_java_nio_DoubleBufferImpl.h,
	include/gnu_java_nio_FloatBufferImpl.h,
	include/gnu_java_nio_IntBufferImpl.h,
	include/gnu_java_nio_LongBufferImpl.h,
	include/gnu_java_nio_ShortBufferImpl.h:
	Removed, unused.

2004-03-29  Steven Augart  <steve+freejava@augart.com>

	* doc/vmintegration.texinfo; Added dir entry.
	* doc/hacking.texinfo: Likewise.

2004-03-28  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/OutputStreamWriter.java
	(OutputStreamWriter): Added call to set bad character value for the
	encoder.

2004-03-28  Etienne M. Gagnon  <gagnon.etienne_m@uqam.ca>

	* doc/vmintegration.texinfo, doc/www.gnu.org/stories.wml: Update
	SableVM related descriptions.

2004-03-19  Ito Kazumitsu <kaz@maczuka.gcd.org>

	* libraries/javalib/java/util/Properties (load): Delete leading
	whitespaces before checking comment characters.

2004-03-26  Peter Moon  <peterm@miraculum.com>

	* java/text/NumberFormat.java: Fix spelling of setCurrency
	method.

2004-03-26  Mark Wielaard  <mark@klomp.org>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
	(item_activate): Declare label before use.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(gtkSetFont): Removed unused variable label.
	(addExposeFilter): Declare variables before use.
	(removeExposeFilter): Likewise.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
	(ok_clicked): Declare str_fileName before use.

2004-03-25  Archie Cobbs  <archie@dellroad.org>

	* configure.ac: Use the more portable ``:'' expr(1)
	keyword instead of ``match''.

2004-03-25  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java: Use fallback when
	MissingResourceException is thrown.
	* gnu/java/awt/peer/gtk/GtkToolkit.java (getFontPeer): Don't return
	null when a MissingResourceException is thrown. Should never happen.

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

	* doc/hacking.texinfo (Serialization): Typo.

2004-03-24  Sascha Brawer  <brawer@dandelis.ch>

	* javax/imageio, javax/imageio/spi: New directories.
	* javax/imageio/spi/ServiceRegistry.java: Implemented.
	* javax/imageio/spi/RegisterableService.java: Implemented.

2004-03-24  Sascha Brawer  <brawer@dandelis.ch>

	* gnu/classpath/ServiceFactory.java: Implemented a general
	facility for loading plug-in services specified via resources
	in META-INF/services.

	* gnu/classpath/ServiceProviderLoadingAction.java: New file.

2004-03-22  Ingo Proetel  <proetel@aicas.com>

	* java/awt/event/MouseEvent.java (<init>): fixed field assignment 

2004-03-22 Ingo Proetel <proetel@aicas.com>

	* java/awt/Graphics.java (draw3DRect): fixed lower horizontal line

2004-03-22  Ingo Proetel  <proetel@aicas.com>

	* java/awt/FontMetrics.java:
	(charsWidth): fixed accumulation of total_width
	(getWidth): simple default implementation

2004-03-21  Ito Kazumitsu <kaz@maczuka.gcd.org>

	* libraries/javalib/java/net/ServerSocket.java
	(accept): Close the socket when error occured.

2004-03-21  Norbert Frese  <postfach@nfrese.net>

	* gnu/java/rmi/server/RMIIncomingThread.java: New file.
	* gnu/java/rmi/server/UnicastConnection.java:
	Create a new RMIObjectOuputStream/RMIObjectInputStream for every
	rmi-message.
	(getObjectInputStream): Return object reference, throw IOException if null.
	(startObjectInputStream): Create new RMIObjectInputStream on top of 'din'.
	(getObjectOutputStream): Return object reference, throw IOException if null.
	(startObjectOutputStream): Create new RMIObjectOutputStream on top of 'dout'.
	* gnu/java/rmi/server/UnicastConnectionManager.java:
	(UnicastConnectionManager): Throw RemoteException if port is not available.
	(getInstance): Throw RemoteException.
	(run): Lookup client host and attach it to new RMIIncomingThread for later retrieval.
	* gnu/java/rmi/server/UnicastRef.java:
	Start a new RMIObjectInputStream/RMIObjectOutputStream for every rmi-message.
	Collect Exceptions which are returned by a rmi-call and fix void returns.
	* gnu/java/rmi/server/UnicastRemoteCall.java:
	Start a new RMIObjectInputStream/RMIObjectOutputStream for every rmi-message.
	* gnu/java/rmi/server/UnicastServer.java:
	(dispatch): Answer ping messages which are sent by other java implementions.
	(incomingMessageCall): Start a new RMIObjectInputStream/RMIObjectOutputStream
	for every rmi-message and fix void return problems.
	* gnu/java/rmi/server/UnicastServerRef.java
	(UnicastServerRef): Throw RemoteException.
	(exportObject): Find the class up the class hierarchy which has a _Stub generated by rmic.
	In some situations it is necessary to export a subclass of the class which has the _Stub.
	For instance when the class with has the _Stub is abstract.
	(findStubSkelClass): New method which looks for the class which has the _Stub.
	(getClientHost): Implementated.
	* java/rmi/server/RemoteServer.java
	(getClientHost): Implemented.
	* gnu/java/rmi/server/Makefile.am
	(EXTRA_DIST): RMIIncomingThread.java.

2004-03-20  Jeroen Frijters  <jeroen@frijters.net>

	* java/net/URI.java (parseURI): Added unquoting.
	(unquote): New method.
	(quoteAuthority): Implemented.
	(quote(String,String)): New method.
	(quotePath): Implemented.
	(getRawSchemeSpecificPart): Return new rawSchemeSpecificPart field.
	(getSchemeSpecificPart): Removed FIXME comment.
	(getRawAuthority): Return new rawAuthority field.
	(getAuthority): Removed FIXME comment.
	(getRawUserInfo): Return new rawUserInfo field.
	(getUserInfo): Removed FIXME comment.
	(getRawPath): Return new rawPath field.
	(getPath): Removed FIXME comment.
	(getRawQuery): Return new rawQuery field.
	(getQuery): Removed FIXME comment.
	(getRawFragment): Return new rawFragment field.
	(getFragment): Removed FIXME comment.

2004-03-20  Norbert Frese  <postfach@nfrese.net>

	* java/net/InetAddress.java
	(getByName): Handle hostname == "" case.

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

	* java/net/InetAddress.java: Reformated.
	(equals): Removed unneeded pointer check.

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

	* gnu/java/net/protocol/http/Connection.java
	(getOutputStream): Dont set POST method.

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

	* gnu/java/nio/PipeImpl.java
	(SourceChannelImpl): Made final.
	(read): Implemented.
	(SinkChannelImpl): Made final.
	(write): Implemented.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:
	Merged from libgcj. I actually forgot this in my last commit.

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

	* java/net/HttpURLConnection.java:
	Fixed typos in javadoc.

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

	* gnu/java/awt/peer/ClasspathFontPeer.java:
	Fixed javadoc to be correct xhtml.

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

	* gnu/java/awt/peer/gtk/Makefile.am,
	java/awt/image/Makefile.am,
	javax/swing/plaf/basic/Makefile.am:
	Added new files.
	* include/gnu_java_awt_peer_gtk_GdkGraphics.h,
	include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h,
	include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,
	include/gnu_java_awt_peer_gtk_GtkLabelPeer.h:
	Regenerated.

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

	* java/awt/image/AffineTransformOp.java
	(AffineTransformOp): Made public.
	* javax/swing/JComponent.java
	(listenerList): Made protected.
	(accessibleContext): Likewise.
	* javax/swing/JList.java
	(valueChanged): Dont use internal fields of ListSelectionEvent.
	* javax/swing/JViewport.java
	(getView): Dont use internal fields of Component.
	(addImpl): Likewise.
	* javax/swing/Timer.java
	(isRunning): Made public.
	(start): Likewise.
	(stop): Likewise.
	* javax/swing/UIDefaults.java
	(getInt): Made public.
	* javax/swing/plaf/basic/BasicListUI.java
	(mousePressed): Dont use internal fields of MouseEvent.
	(propertyChanged): Dont use internal fields of PropertyChangeEvent.
	* javax/swing/plaf/basic/BasicScrollBarUI.java
	(arrowIcon): Made static.
	* javax/swing/plaf/basic/BasicViewportUI.java
	(stateChanged): Dont use internal field on ChangeEvent.
	* javax/swing/text/JTextComponent.java
	(getUI): Call UIManager.getUI().
	(updateUI): Use getUI().

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Clipping fixes.
	* javax/swing/JComponent.java (paint): Use persistent double buffer. 
	* javax/swing/JList.java (ListListener): Revalidate on changes.
	* javax/swing/JScrollPane.java: Reimplement.
	* javax/swing/JViewport.java: Reimplement.
	* javax/swing/ScrollPaneLayout.java: Reimplement.
	* javax/swing/ViewportLayout.java: Tidy up.
	* javax/swing/plaf/basic/BasicButtonListener.java: Remove printlns.
	* javax/swing/plaf/basic/BasicScrollPaneUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicSliderUI.java: Handle missing labels.
	* javax/swing/plaf/basic/BasicViewportUI.java: Implement in terms of
	backing store only.

2004-03-19  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_wm_protocols_filter): New function.
	(window_focus_in_cb): Remove function.
	(window_focus_out_cb): Likewise.
	(window_focus_or_active_state_change_cb): New function.
	(create): Add filter that removes WM_TAKE_FOCUS client messages.
	(connectSignals): Don't attach handlers to focus-in-event or
	focus-out-event signals.  Handle notify signal.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	(gtkSetLabel): New native method declaration.
	(setLabel): Use gtkSetLabel.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetLabel): New method.

2004-03-19  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java (setColor): Default to
	black when color argument is null.

2004-03-19  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: Remove check
	for drag events.

2004-03-19  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: (visitChild):
	Remove candidate clip. Use the component
	clip to intersect.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java:
	(handleEvent): Use the PaintEvent's clip.

2004-03-19  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java:
	(handleEvent): Don't set the clip for the
	Graphics object.

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGlyphVector.c: 
	Fix double <-> fixed macros, reset font transform.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkClasspathFontPeerMetrics.c:
	Likewise.

2004-03-19  Kim Ho  <kho@redhat.com>

	* java/awt/Container.java: (visitChild): Move
	the x and y coordinate of the component rectangle
	to correct position.
	(handleEvent): Forward drag events to the pressed
	component.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Fix comments.
	(ArrowButtonListener::mousePressed): Stop the
	existing timer.
	(mouseDragged): Implement.
	(TrackListener::mousePressed): Only react if
	the press doesn't occur on the thumb, otherwise
	just set the offset.
	(TrackListener::mouseReleased): Unset the isAdjusting
	value.
	(createIncreaseIcon): Switch icon.
	(createDecreaseIcon): Switch icon.
	(calculatePreferredSize): Use width.
	(getThumbBounds): Use the top as the lower value.
	(layoutVScrollBar): Switch the button locations.
	(paintIncreaseHighlight): Paint correct side of thumb.
	(paintDecreaseHighlight): ditto.
	(valueForYPosition): Use top as the lower value.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	Fix comments.
	(mouseDragged): Implement.
	(mousePressed): Only react when the thumb isn't
	pressed, otherwise just set offset.
	(mouseReleased): Handle a release of the thumb.
	(scrollDueToClickInTrack): Stop the timer first.
	* javax/swing/JProgressBar.java:
	(setString): Fix change condition.
	* javax/swing/JSeparator.java:
	Remove println's.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/image/AffineTransformOp.java:
	(filter): Use Graphics2D interface instead of directly using the
	GdkGraphics2D peer.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	(handleEvent): Action events are generated upon MOUSE_RELEASED.
	* java/awt/Container.java
	(acquireComponentForMouseEvent): Fixed.
	(handleEvent): Fixed.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(state_to_awt_mods_with_button_states): New method.
	(pre_event_handler): Fixed mouse event generation.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(GdkGraphics2D (BufferedImage)): Initialize
	pixmap associated with specified BufferedImage.
	(setPaint): Changed implementation of Texture
	Paint to use AffineTransformOp.
	* java/awt/image/AffineTransformOp.java
	(createCompatibleDestRaster): Throw RasterFormatException 
	if resulting width or height of raster is 0.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* java/awt/image/AffineTransformOp.java:
	Removed unnecessary field interpolationType.
	Formatted some of the lines to be consistent with 
	the GNU style.
	(AffineTransformOp): Create new RenderingHints 
	containing specified interpolation type.
	(createCompatibleDestImage): Implemented.
	(createCompatibleDestRaster): Implemented.
	(filter): Implemented.
	(getBounds2D(BufferedImage)): Implemented.
	(getBounds2D(Raster)): Implemented.
	(getInterpolationType): Get interpolation value from 
	rendering hints.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setFont): Check if child peers are null.

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* testsuite/lib/libjava.exp (libjava_find_lib): Don't include
	.libs in -L option.
	(libjava_arguments): Add new libraries to argument list.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added java/awt/image/AffineTransformOp.java
	* Makefile.in: Re-generated.
	* java/awt/image/AffineTransformOp.java: New Class.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(setPaint): Interpret correctly TexturePaint's
	anchor rectangle.
	(drawImage): Fixed scale factors of the affine
	transform.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics.java
	(GdkGraphics(Component)): Inherit font from component.
	(drawString): Use font style.
	* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
	(gtkSetFont): New native method declaration.
	(setFont): New method.
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(gtkSetFont): New native method declaration.
	(setFont): Call new native method gtkSetFont.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(setFont): For all child components who do not their fonts set,
	set their peers' fonts with this container's font.
	* gnu/java/awt/peer/gtk/GtkLabelPeer.java:
	Move all native method declarations to the top for readability.
	(gtkSetFont): New native method declaration.
	(setFont): New method.
	* java/awt/Component.java
	(setFont): Invalidate after setting the font.
	* java/awt/Container.java
	(invalidateTree): New method.
	(setFont): Invalidate the container tree after setting the font.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString): Use font style.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetFont): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkSetFont): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkLabelPeer_gtkSetFont): New method.

2004-03-19  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(updateBufferedImage): New helper function.
	Updates BufferedImage in memory if it was changed.
	(draw): changed to update BufferedImage in memory after
	this drawing operation
	(fill): Ditto.
	(draw3DRect): Ditto.
	(fill3DRect): Ditto.
	(clearRect): Ditto.
	(drawRaster): Ditto.
	(drawImage) : Ditto. Update only in case of GtkOffScreenImage with 
	no affine transformation.
	(drawGlyphVector): Ditto.

2004-03-19  Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(isBufferedImageGraphics): New Helper function. 
	Returns true if this graphics2d can be used to draw 
	into buffered image and false otherwise.
	(updateImagePixels): New Helper function. 
	Updates pixels in the BufferedImage.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
	(getImagePixels): New function. Returns pixels
	of the buffered image associated with 
	this Graphics2D.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/BorderLayout.java
	(layoutContainer): Fix width and height calculations to ensure
	that they're non-negative.
	* java/awt/Component.java
	(setBackground): If c is null, inherit from closest ancestor whose
	background color is set.

2004-03-19  Kim Ho  <kho@redhat.com>

	* Makefile.am: Add new files.
	* Makefile.in: Re-generate.
	* javax/swing/JProgressBar.java: 
	(JProgressBar(int, int int)): Throw
	IllegalArgumentException if orientation is
	invalid.
	(JProgressBar(BoundedRangeModel)): Create
	ChangeListener and register it. UpdateUI.
	(getChangeListeners): Implement.
	(setModel): Reset ChangeListener.
	* javax/swing/JScrollBar.java: Implement.
	* javax/swing/JSeparator.java: Implement.
	* javax/swing/JSlider.java:
	(JSlider(int, int, int, int)): Throw 
	IllegalArgumentException if orientation
	is invalid.
	(getChangeListeners): Fix method name.
	* javax/swing/SwingUtilities.java:
	(layoutCompoundLabel): If there is no text,
	set the text rectangle dimensions to 0.
	* javax/swing/plaf/basic/BasicButtonUI.java:
	(paint): If there is no text, don't paint it.
	* javax/swing/plaf/basic/BasicScrollBarUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicSeparatorUI.java:
	Implement.
	* javax/swing/plaf/basic/BasicSliderUI.java: 
	(propertyChange): If the model changes, change
	the listeners accordingly.

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/AbstractButton.java: Add "final" qualifiers.
	* javax/swing/JList.java: Reimplement.
	* javax/swing/DefaultListSelectionModel.java: Reimplement.
	* javax/swing/plaf/basic/BasicListUI.java: Reimplement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Add "purple" values.
	* javax/swing/ListModel.java: Javadoc.
	* javax/swing/ListSelectionModel.java: Add missing methods.
	* javax/swing/AbstractListModel.java: Javadoc and corrections.
	* javax/swing/DefaultListModel.java: Javadoc and corrections.
	* javax/swing/ListModel.java: Javadoc and corrections.
	* javax/swing/DefaultListCellRenderer.java: Minor tidying.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java
	(GtkFontPeer): Change default size to 12.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getFontPeer): Change default size to 12.
	(getClasspathFontPeer): Likewise. Set default name to "Default".
	* java/awt/Font.java
	(Font(Map)): Call Font(String,Map).
	(Font(String,Map)): If attrs is null, initialize it as an empty
	HashMap, which will ensure that the Font will get default attributes.

2004-03-19  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java
	(GtkFontPeer(String,int)): Call the new constructor with size 1.
	(GtkFontPeer(String,int,int)): New constructor with size attribute.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getFontPeer(String,int)): Call the new overload method with size 1.
	(getFontPeer(String,int,int)): New method. Overloaded with size
	attribute.
	(getClasspathFontPeer): Set the size of the font.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(bimage): New field.
	(GdkGraphics2D): New Constructor. Constructs Graphics
	object that can be used to draw into the Buffered Image.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java:
	(GdkGraphicsEnvironment): Fixed to include public 
	keyword.
	(createGraphics): Implemented.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	(getLocalGraphicsEnvironment): Implemented.
	* java/awt/GraphicsEnvironment.java:
	(getLocalGraphicsEnvironment): Implemented.
	* java/awt/image/BufferedImage.java:
	(createGraphics): Implemented.
		
2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(eventTypeEnabled): Add MOUSE_MOVED and MOUSE_DRAGGED event types.
	* java/awt/Container.java
	(addNotifyContainerChildren): Fix event enabling.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* Makefile.am: Added 
	gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
	* Makefile.in: Re-generated.
	* gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java:
	New Class. 
	
2004-03-19  Kim Ho  <kho@redhat.com>

	* Makefile.am: Add BasicProgressBarUI
	* Makefile.in: Regenerate.
	* javax/swing/JProgressBar.java: 
	Re-implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java
	Add constants for JProgressBar.
	* javax/swing/plaf/basic/BasicProgressBarUI.java
	Implement.
	* javax/swing/plaf/basic/BasicSliderUI.java
	Change comments.
	(calculateGeometry): New method
	(paint): Remove unnecessary size calculations.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java
	(drawRaster): Fixed small error that caused
	imageToUser transformation to be set incorrectly.
	(toString): Implemented.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/CardLayout.java
	(addLayoutComponent): Show the first component added as the default.
	(removeLayoutComponent): After removing, show the next component.
	(gotoComponent): If there is only one component, show it and return.

2004-03-19  Kim Ho  <kho@redhat.com>

	* javax/swing/JSlider.java: Re-order
	modifiers.
	* javax/swing/JLabel.java: Re-order
	modifiers.
	* javax/swing/JComponent.java: 
	(addPropertyChangeListener):
	Implement.
	(removePropertyChangeListener):
	ditto.
	(firePropertyChangeEvent):
	ditto.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(show): Dispatch ComponentEvent via system event queue.
	(hide): Likewise.
	(move): Likewise.
	(resize): Likewise.
	(reshape): Likewise.
	* java/awt/Window.java
	(setBoundsCallback): Likewise.

2004-03-19  David Jee  <djee@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds):
	Use gtk_widget_set_size_request() instead of the deprecated
	gtk_widget_set_usize().

2004-03-19  Kim Ho  <kho@redhat.com>

	* javax/swing/JSlider.java: Fix comments and
	make property strings constants.
	(createStandardLabels): Use the labels
	preferred size as bounds.
	* javax/swing/plaf/basic/BasicSliderUI.java
	Fix comments.
	(ScrollHandler::actionPerformed): Don't
	calculate the timer stop value. Let the
	MouseListeners find the stop location.
	(getPreferredHorizontalSize): Re-implement.
	(getPreferredVerticalSize): ditto.
	(getMinimumHorizontalSize): ditto.
	(getMinimumVerticalSize): ditto.
	(getPreferredSize): ditto.
	(getMinimumSize): ditto.
	(getMaximumSize): ditto.
	(paintTicks): Use doubles to find the
	tick location.
	(paintHorizontalLabel):  Use preferredSize
	as initial width and height.
	(paintVerticalLabel): ditto.

2004-03-19  Kim Ho  <kho@redhat.com>

	* javax/swing/JLabel.java: Changed 
	property strings to constants.
	(DISPLAYED_MNEMONIC_INDEX_CHANGED_PROPERTY):
	New property.
	(setText): Change mnemonic index if
	text is too short.
	(setDisplayedMnemonicIndex): Fire property
	change event.
	(getDisplayedMnemonicIndex): Remove check
	against short text.

2004-03-19 Olga Rodimina <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	(drawImage(img,xform,obs)): Invert xform before
	passing the xform to cairo.
	(drawImage(img,x,y,bgcolor,obs)): Implemented.
	(drawImage (img,x,y,w,h,bgcolor,obs)): Partly
	implemented.
	(drawImage (img,x,y,w,h,obs)): Implemented.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,
	bgcolor,obs)): Partly implemented.
	(drawImage (img,dx1,dy1,dx2,dy2,sx1,sy1,sx2,sy2,obs)):
	Implemented.
	* java/awt/image/BufferedImage.java:
	(copyData): if dest is null, create raster with same
	dimensions as the current image.

2004-03-19  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/plaf/basic/BasicLabelUI.java 
	(getPreferredSize): Use layoutCL.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java 
	(getPreferredButtonSize): Start with empty view rect, layout using
	component's preferred alignment.
	* javax/swing/plaf/basic/BasicLookAndFeel.java: Add some Label and
	List defaults.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/Component.java
	(show): Dispatch COMPONENT_SHOWN ComponentEvent.
	(hide): Dispatch COMPONENT_HIDDEN ComponentEvent.
	(move): Erase old bounds and repaint new bounds. Dispatch
	COMPONENT_MOVED ComponentEvent.
	(resize): Erase old bounds and repaint new bounds. Dispatch
	COMPONENT_RESIZED ComponentEvent.
	(reshape): Dispatch COMPONENT_RESIZED and COMPONENT_MOVED
	ComponentEvents.
	* java/awt/Window.java
	(setBoundsCallback): Dispatch COMPONENT_RESIZED and COMPONENT_MOVED
	ComponentEvents.

2004-03-19  Olga Rodimina  <rodimina@redhat.com>

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java:
	(setRenderingHint): Added implementation of 
	Interpolation rendering hints.
	(setRenderingHints): Ditto.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
	(drawPixels): fixed to allow user to choose type 
	of filtering that should be used when displaying images.
	(cairoSurfaceSetFilter): New method. Sets filter type for 
	interpolation of pixel values.

2004-03-19  David Jee  <djee@redhat.com>

	* java/awt/GridBagLayout.java
	(calcCellSizes): Rows or columns with zero sizes should still be
	considered for extra space distribution.

2004-03-19  Kim Ho  <kho@redhat.com>

	* javax/swing/JLabel.java: Re-implement.
	* javax/swing/plaf/basic/BasicLabelUI.java
	Re-implement.
	* javax/swing/plaf/basic/BasicLookAndFeel.java:
	Added constant.

2004-03-19  Kim Ho  <kho@redhat.com>

	* javax/swing/JSlider.java: Fix indentation and comments.
	(setModel): Remove null check to conform with Sun's.
	(setOrientation): Throw exception if not
	HORIZONTAL or VERTICAL.
	(getInverted): Use private variable instead of 
	ComponentOrientation.
	(setInverted): ditto.
	* javax/swing/plaf/basic/BasicSliderUI.java:
	Fix indentation and comments.
	(propertyChange): Remove check for inverted slider, handle
	in main paint.
	(getMinimumSize): Return preferred size.
	(getMaximumSize): ditto.
	(calculateFocusRect): Don't relocate rectangle.
	(drawInverted): Return XOR of the slider's inversion and 
	the component's orientation.
	(paint): Update leftToRightCache

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

	* gnu/java/net/PlainDatagramSocketImpl.java:
	Some reformating to match libgcj's version better.
	* gnu/java/net/PlainSocketImpl.java:
	Some reformating to match libgcj's version better.
	(connect): Javadoc added.
	(SocketInputStream.impl): Not needed, removed.
	(SocketInputStream.SocketInputStream): Likewise.
	(SocketInputStream.mark): Likewise.
	(SocketInputStream.markSupported): Likewise.
	(SocketInputStream.reset): Likewise.
	(SocketInputStream.available): Use implicit pointer to outer class.
	(SocketInputStream.close): Likewise.
	(SocketInputStream.read): Javadoc refined, use implicit pointer to outer class.
	(SocketOutputStream.impl): Not needed, removed.
	(SocketOutputStream.SocketOutputStream): Likewise.
	(SocketOutputStream.close): Use implicit pointer to outer class.
	(SocketOutputStream.flush): Not needed, removed.
	(SocketOutputStream.write): Javadoc refined, use implicit pointer to outer class.

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

	* java/util/Locale.java
	(getISO3Country): Added comment for string comparison optimization.
	(getISO3Language): Likewise.
2004-03-15  Mark Wielaard  <mark@klomp.org>

	* include/Makefile.am: Add java_io_VMObjectStreamClass.h generation.
	* include/java_io_VMObjectStreamClass.h: New file.
	* native/jni/java-io/Makefile.am (SOURCES): Add new file.
	* native/jni/java-io/java_io_VMObjectStreamClass.c: New file.

2004-03-15  Patrik Reali  <reali@acm.org>
	* doc/hacking.texinfo doc/www.gnu.org/benchmarks.wml: link to japitools
	fixed
	* doc/www.gnu.org/home.wml: short news moved to page top
	* doc/www.gnu.org/downloads/downloads.wml: release 0.08 added

2004-03-15  Patrik Reali  <reali@acm.org>
	* doc/www.gnu.org/announce/20040313.wml doc/www.gnu.org/Makefile
	doc/www.gnu.org/announce/Makefile doc/www.gnu.org/newsitems.txt:
	classpath 0.08 release news item
	* doc/www.gnu.org/home.wml: broken links to JDK comparison fixed
	* doc/www.gnu.org/events/fosdem04.wml: link to Tom's slides
	* doc/www.gnu.org/faq/faq.wml: entry on free java needs

2004-03-13  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Class.java (resourcePath): If the resource path is
	absolute chop off the leading / and if it is relative, but the
	class doesn't have a package, don't prepend the /.

2004-03-13  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Thread.java: Removed unnecessary initialization of
	static field.
	* java/lang/ThreadGroup.java (list): Changed print to println.

2004-03-12  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.08+cvs.

2004-03-12  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Set version to 0.08.
	* NEWS: Update with interesting items.
	* TODO: Point to http://www.gnu.org/software/classpath/tasks.html

2004-03-12  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/peer/gtk/GtkFontPeer.java: Use fallback when
	MissingResourceException is thrown.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getVScrollbarWidth):
	Don't access ws when it is null.
	(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getHScrollbarHeight):
	Likewise.

2004-03-12  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(connectJObject): Replace printf calls with g_assert statements.
	Move property-notify-event signal connection to ...
	(connectSignals): Connect property-notify-event signal.  Iterate
	through the vbox's children to find layout.

2004-03-12  Mark Wielaard  <mark@klomp.org>

	* java/io/BufferedReader.java: Use &lt;=, not &lt;&eq; to make gjdoc
	happy.

2004-03-12  Mark Wielaard  <mark@klomp.org>

	Reported by Stephen Crawley
	* java/io/FilePermission.java (implies): Use String.length() -1 to
	access last char of String.

2004-03-11  Ito Kazumitsu  <ito.kazumitsu@hitachi-cable.co.jp>

	* java/net/URI.java (toURL): Implemented.

2003-03-11  Ito Kazumitsu  <ito.kazumitsu@hitachi-cable.co.jp>

	* java/net/URI.java
	(URI_REGEXP) updated to contain scheme specific part.
	(SCHEME_SPEC_PART_GROUP) new constant.
	(AUTHORITY_GROUP, PATH_GROUP, QUERY_GROUP, FRAGMENT_GROUP)
	updated to make room for SCHEME_SPEC_PART_GROUP.
	(parseURI) parse scheme specific part.
	(resolve, isAbsolute, isOpaque, getRawSchemeSpecificPart,
	getSchemeSpecificPart, getAuthority, getUserInfo, getPath,
	getQuery, getFragment) implemented.

2002-03-11  Dalibor Topic  <robilad@kaffe.org>

	* libraries/javalib/java/net/URI.java
	partially implemented using java.util.regex.
	(URI_REGEXP) new constant. Used to parse URIs.
	(SCHEME_GROUP) new constant representing index of scheme group
	in parsed URI.
	(AUTHORITY_GROUP) new constant representing index of authority
	group in parsed URI.
	(PATH_GROUP) new constant representing index of path group in
	parsed URI.
	(QUERY_GROUP) new constant representing index of query group in
	parsed URI.
	(FRAGMENT_GROUP) new constant representing index of fragment
	group in parsed URI.
	(getURIGroup) new static utility method.
	(parseURI) implemented.
	(quote) stub for new static utility method.
	(quoteAuthority) stub for new static utility method.
	(quoteHost) stub for new static utility method.
	(quotePath) stub for new static utility method.
	(quoteUserInfo) stub for new static utility method.
	(URI) implemented.
	(create) don't throw URISyntaxException. Implemented.
	(toString) implemented.

2004-03-11  Dalibor Topic  <robilad@kaffe.org>

	Reported by: Adam Heath <doogie@debian.org>
	* gnu/javax/rmi/CORBA/DelegateFactory.java (getInstance): Use context
	class loader.

2004-03-09  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/io/BufferedInputStream.java (marktarget): New field for max
	mark limit.
	(CHUNKSIZE): New constant for incremental mark buffer allocation.
	(mark): Use new fields.
	(read): Likewise.
	(read(byte[],int,int)): Likewise.
	(skip): Likewise.
	(refill): Likewise.

2004-03-08  Dalibor Topic  <robilad@kaffe.org>

	* java/text/AttributedString.java
	(addAttribute(AttributedCharacterIterator.Attribute,Object,int,int)):
	Use HashMap instead of Hashtable since value can be null, and
	you can not store a null value in a Hashtable.

2004-03-08  Guilhem Lavaux  <guilhem@kaffe.org>

	* java/text/DateFormatSymbols.java: Fixed copyright notice.

2004-03-08  Mark Wielaard  <mark@klomp.org>

	* java/beans/BeanDescriptor.java (BeanDescriptor):
	Set the FeatureDescriptor programmatic name.

2004-03-07  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Add gnu/regexp/Makefile and
	resource/gnu/regexp/Makefile
	* gnu/Makefile.am (SUBDIRS): Add regexp.
	* gnu/regexp/Makefile.am: New file.
	* gnu/regexp/CharIndexed.java: Imported.
	* gnu/regexp/CharIndexedCharArray.java: Likewise.
	* gnu/regexp/CharIndexedInputStream.java: Likewise.
	* gnu/regexp/CharIndexedString.java: Likewise.
	* gnu/regexp/CharIndexedStringBuffer.java: Likewise.
	* gnu/regexp/RE.java: Likewise.
	* gnu/regexp/REException.java: Likewise.
	* gnu/regexp/REFilterInputStream.java: Likewise.
	* gnu/regexp/REMatch.java: Likewise.
	* gnu/regexp/REMatchEnumeration.java: Likewise.
	* gnu/regexp/RESyntax.java: Likewise.
	* gnu/regexp/REToken.java: Likewise.
	* gnu/regexp/RETokenAny.java: Likewise.
	* gnu/regexp/RETokenBackRef.java: Likewise.
	* gnu/regexp/RETokenChar.java: Likewise.
	* gnu/regexp/RETokenEnd.java: Likewise.
	* gnu/regexp/RETokenEndSub.java: Likewise.
	* gnu/regexp/RETokenOneOf.java: Likewise.
	* gnu/regexp/RETokenPOSIX.java: Likewise.
	* gnu/regexp/RETokenRange.java: Likewise.
	* gnu/regexp/RETokenRepeated.java: Likewise.
	* gnu/regexp/RETokenStart.java: Likewise.
	* gnu/regexp/RETokenWordBoundary.java: Likewise.
	* gnu/regexp/UncheckedRE.java: Likewise.
	* java/util/regex/Matcher.java: Add gnu.regexp wrappers.
	* java/util/regex/Pattern.java: Likewise.
	* resource/gnu/Makefile.am (SUBDIRS): Add regexp.
	* resource/gnu/regexp/Makefile.am: New file.
	* resource/gnu/regexp/MessagesBundle.properties: Imported.
	* resource/gnu/regexp/MessagesBundle_fr.properties: Likewise.

2004-03-07  Mark Wielaard  <mark@klomp.org>

	* lib/Makefile.am (propertydirs, propertyfiles): New variables.
	(resources): Create dirs and install property files.

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

	* gnu/java/net/PlainSocketImpl.java
	(SocketInputStream): Made final.
	(read(byte[] buf)): Removed, redundant.
	(SocketOutputStream): Made final.
	(write(byte[] buf)): Removed, redundant.

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

	* java/io/File.java: Reformated.
	(isAbsolute): Simplified code.
	(isHidden): Likewise.
	(mkdir): Likewise.
	(compareTo): Handle case sensitiveness.

2004-02-28    Guilhem Lavaux <guilhem@kaffe.org>

	* java/text/AttributedStringIterator.java
	(getAllAttributesKey): Return only keys concerned
	by the current iterator.
	(getAttributes): Use strict inequality for
	end_index. 

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

	* java/lang/Thread.java: Rearranged some methods. Renamed some
	variables.
	(runnable): Renamed from 'toRun'.
	(destroy): Just throw NoSuchMedthodError as Sun does.
	(setContextClassLoader): Made sychronized.

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

	* javax/swing/AbstractButton.java: Made several constants final.

2004-02-27  Anthony Green  <green@redhat.com>

	* java/lang/StringBuffer.java: No need to NULL out remainder of
	buffer since ensureCapacity_unsynchronized will have done this for
	us.

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

	* gnu/java/nio/DatagramChannelImpl.java
	(send): Check if target address is resolved.
	* gnu/java/nio/FileLockImpl.java
	(finalize): Made protected.
	* java/nio/channels/FileChannel.java
	(MapMode.READ_ONLY): Made final.
	(MapMode.READ_WRITE): Made final.
	(MapMode.PRIVATE): Made final.
	* java/nio/channels/SocketChannel.java
	(open): Simplified code.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(registered): Unused, removed.
	(keyFor): Check channel is open, only locate key
	and not add a new one.
	(register): Don't delete attachments.

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

	* gnu/java/net/protocol/jar/Handler.java
	(): Removed unneeded check for file != null. java.net.URL.getFile()
	returns an empty string but never null.

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

	* java/net/URLConnection.java
	(dateFormat1, dateformat2, dateformat3): New fields.
	(dateformats_initialized): New field for lazy initialization of date
	format fields.
	(getHeaderFieldDate): Rewritten to use DateFormat.parse() instead of
	the deprecated Date(String) constructor. This implementation
	(initializeDateFormats): New method,

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

	* gnu/java/awt/ComponentDataBlitOp.java
	(INSTANCE): Made final.
	* gnu/java/awt/image/ImageDecoder.java:
	Reworked imports.
	(cm): Unused, removed.

2004-02-25  Guilhem Lavaux <guilhem@kaffe.org>

	* java/io/ObjectInputStream.java
	(readClassDescriptor): Keep elements of the mapping non null.
	(checkTypeConsistency): New method.
	(readFields): Fixed main loop and base logic. Small reindentation.

	* java/io/ObjectStreamField.java
	(lookupField): New method to update the field reference.
	(checkFieldType): New method.
	
	* java/io/ObjectStreamClass.java
	(setClass, setFields): Call lookupField when building the field
	database. Check the real field type.

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

	* java/nio/CharBufferImpl.java:  Inline super constructor.
	* java/nio/DoubleBufferImpl.java:  Likewise.
	* java/nio/FloatBufferImpl.java:  Likewise.
	* java/nio/IntBufferImpl.java:  Likewise.
	* java/nio/LongBufferImpl.java:  Likewise.
	* java/nio/ShortBufferImpl.java:  Likewise.
	* java/nio/CharBuffer.java:  Remove unused constructor.
	* java/nio/DoubleBuffer.java:  Likewise.
	* java/nio/FloatBuffer.java:  Likewise.
	* java/nio/IntBuffer.java:  Likewise.
	* java/nio/LongBuffer.java:  Likewise.
	* java/nio/ShortBuffer.java:  Likewise.
	* java/nio/CharViewBufferImpl.java:  New convenience constructor.
	Fix buggy call to super constructor.
	* 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/ByteBuffer.java (endian):  Make non-private so other
	java.nio classes can inherit it.
	(<init>):  Don't bother clearing array_offset.
	* java/nio/ByteBuffer.java (allocate):  Re-implement using wrap.
	* java/nio/ByteBuffer.java (get(byte[],int,int)):  Check underflow.
	Remove redundant test.

	* java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer,
	asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer):
	Use new XxxViewBufferImpl constructors.
	* java/nio/MappedByteBufferImpl.java:  Likewise.
	* java/nio/DirectByteBufferImpl.java:  Likewise.

	* java/nio/ByteBufferImpl.java:  Remove one constructor.
	Inline super in remaining constructor.
	* java/nio/ByteBuffer.java:  Remove unused constructor.

	* java/nio/ByteBufferImpl.java (shiftDown):  New optimized method.

	* java/nio/ByteBufferImpl.java (get, put):  Add array_offset.

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

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

2004-02-14  Mark Wielaard  <mark@klomp.org>

	* javax/swing/Makefile.am (EXTRA_DIST): Remove ToggleButtonModel.java.
	* javax/swing/plaf/basic/Makefile.am (EXTRA_DIST): Remove
	BasicDefaults.java. Add BasicButtonListener.java and
	BasicRootPaneUI.java.

2004-02-14  Mark Wielaard  <mark@klomp.org>

	* javax/swing/AbstractButton.java (getSelectedIcon): Make public
	(getRolloverSelectedIcon): Likewise.

2004-02-14  Graydon Hoare  <graydon@redhat.com>

	* javax/swing/ToggleButtonModel.java: Remove dead class.
	* javax/swing/plaf/basic/BasicDefaults.java: Remove dead class.
	* javax/swing/plaf/basic/BasicButtonListener.java: New class.
	* javax/swing/plaf/basic/BasicRootPaneUI.java: New class.
	* Makefile.am: Update for new and removed files.
	* Makefile.in: Regenerate.

	* gnu/java/awt/peer/gtk/GdkGraphics2D.java: Initialize default hints.
	* javax/swing/AbstractButton.java 
	(AbstractButton): Initialize fields correctly in ctor.
	* javax/swing/JCheckbox.java 
	(JCheckBox): Override painting flags.
	* javax/swing/DefaultButtonModel.java: Conform to sun.
	* javax/swing/JComponent.java (paint): Fill with background color
	if available.
	(processComponentKeyEvent)
	(processFocusEvent)
	(processKeyEvent)
	(processMouseMotionEvent): Remove event-consuming empty methods.
	(getUIClassID): Return "ComponentUI" not "JComponent"
	* javax/swing/JFrame.java: Remove some debugging chatter.
	(JFrame): Subscribe to window events.
	* javax/swing/JRadioButton.java 
	(JRadioButton): Override painting flags.
	* javax/swing/JRootPane.java 
	(JRootPane): Set background from UIDefaults.
	* javax/swing/JToggleButton.java 
	(ToggleButtonModel): New inner class.
	(JToggleButton): Override layout alighment.
	* javax/swing/SwingUtilities.java:
	(getLocalBounds): Return width and height, not x and y.
	(calculateInnerArea): Use local bounds, not bounds.
	(layoutCompoundLabel): Provide overridden form.
	(layoutCompoundLabel): Correct bugs.
	* javax/swing/UIDefaults.java: Correct comment.
	* javax/swing/plaf/basic/BasicButtonUI.java: 
	Move most logic into defaults, external listener.
	(paintIcon): Implement icon painting.
	(paint): Fix state painting to conform to changes in model.
	* javax/swing/plaf/basic/BasicCheckBoxUI.java:
	Remove most dead/wrong methods.
	(getDefaultIcon): Return defaults.getIcon("CheckBox.icon").
	* javax/swing/plaf/basic/BasicIconFactory.java:
	(DummyIcon): New class.
	(getMenuItemCheckIcon)
	(getMenuItemArrowIcon) 
	(getMenuArrowIcon)
	(getCheckBoxMenuItemIcon)
	(getRadioButtonMenuItemIcon)
	(createEmptyFrameIcon): Return DummyIcons, not null.
	(getCheckBoxIcon): Implement an icon that looks like sun's.
	(getRadioButtonIcon): Implement an icon that looks like sun's.
	* javax/swing/plaf/basic/BasicLookAndFeel.java 
	(initComponentDefaults): Fix impossible values, add some missing.
	* javax/swing/plaf/basic/BasicPanelUI.java (gap): Remove field.
	* javax/swing/plaf/basic/BasicRadioButtonUI.java:
	Remove most dead/wrong methods.
	(icon): New field.
	(getDefaultIcon): New method.
	* javax/swing/plaf/basic/BasicToggleButtonUI.java:
	Remove most dead/wrong methods.
	* javax/swing/plaf/metal/MetalLookAndFeel.java
	(getDefaults): Return super.getDefaults(), not BasicDefaults.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
	(Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect):
	Implement "clearing" as drawing, when on pixmap drawables.

	* javax/swing/JButton.java (getUIClassID): 
	* javax/swing/JCheckBox.java (getUIClassID):
	* javax/swing/JEditorPane.java (getUIClassID):
	* javax/swing/JLabel.java (getUIClassID): 
	* javax/swing/JList.java (getUIClassID): 
	* javax/swing/JOptionPane.java (getUIClassID): 
	* javax/swing/JPanel.java (getUIClassID): 
	* javax/swing/JPasswordField.java (uiClassID): 
	* javax/swing/JRadioButton.java (getUIClassID): 
	* javax/swing/JRootPane.java (getUIClassID): 
	* javax/swing/JScrollPane.java (getUIClassID): 
	* javax/swing/JTabbedPane.java (getUIClassID): 
	* javax/swing/JToggleButton.java (getUIClassID): 
	* javax/swing/JTree.java (getUIClassID): 
	* javax/swing/JViewport.java (getUIClassID): 
	* javax/swing/text/JTextComponent.java (getUIClassID):
	Return "fooUI" not "Jfoo"

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
	New file. Forgot this to add in a previous commit.

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

	* gnu/java/awt/EmbeddedWindow.java,
	gnu/java/awt/EmbeddedWindowSupport.java,
	gnu/java/awt/peer/EmbeddedWindowPeer.java,
	gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
	include/gnu_java_awt_EmbeddedWindow.h,
	include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h,
	native/jni/java-awt/gnu_java_awt_EmbeddedWindow.c,
	native/jni/java-awt/Makefile.am,
	native/jni/java-awt/.cvsignore: New files.
	* gnu/java/awt/peer/gtk/GtkToolkit.java
	* configure.ac (AC_OUTPUT_FILES): Added native/jni/java-awt/Makefile
	* gnu/java/awt/Makefile.am
	(EXTRA_DIST): Added EmbeddedWindow.java and
	EmbeddedWindowSupport.java.
	* gnu/java/awt/peer/Makefile.am
	(EXTRA_DIST): Added EmbeddedWindowPeer.java.
	* gnu/java/awt/peer/gtk/Makefile.am
	(EXTRA_DIST): Added GtkEmbeddedWindowPeer.java.
	* include/Makefile.am: Generate gnu_java_awt_EmbeddedWindow.h and
	gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h.
	* native/jni/Makefile.am: Added subdir java-awt.
	* native/jni/gtk-peer/Makefile.am: Added
	gnu_java_awt_EmbeddedWindow.c.

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

	* java/net/DatagramSocket.java
	(setReuseAddress): Use Boolean.valueOf() instead of creating a new
	Boolean object.
	(setBroadcast): Likewise.
	* java/net/MulticastSocket.java
	(setLoopbackMode): Likewise.
	* java/net/ServerSocket.java
	(setReuseAddress): Likewise.
	* java/net/Socket.java
	(setTcpNoDelay): Likewise.
	(setSoLinger): Likewise.
	(setOOBInline): Likewise.
	(setKeepAlive): Likewise.
	(setReuseAddress): Likewise.
	* java/net/URLStreamHandler.java
	(hostSEquals): Fix checking host addresses.
	(toExternalForm): Dont check protocol for null. We know already its
	not null.

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

	* gnu/java/net/protocol/file/Connection.java:
	Reformated copyright boilerplate.

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

	* java/nio/ByteBuffer.java (shiftDown):  New helper method.
	* 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-11  Michael Koch  <konqueror@gmx.de>

	* include/java_nio_DirectByteBufferImpl.h: Regenerated.
	* native/jni/java-nio/java_nio_DirectByteBufferImpl.c
	(shiftDown): New method.

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

	* java/lang/ref/Reference.java
	(Reference): Fixed typo.

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

	* javax/swing/undo/UndoManager.java: Re-written from scratch.

2004-02-10  David Jee  <djee@redhat.com>

	* java/awt/BorderLayout.java
	(calcCompSize): Invisible components get zero dimensions.
	* java/awt/Button.java
	(setLabel): Set actionCommand.
	* java/awt/Component.java
	(show): Invalidate component and parent container.
	(hide): Likewise.

2004-02-10  David Jee  <djee@redhat.com>

	* java/awt/GridBagLayout.java
	(GridBagLayout): New private field, internalcomptable.
	(lookupInternalConstraints): New method.
	(ArrangeGrid): Use components' MINSIZE. Use internalcomptable.
	(GetLayoutInfo): Reimplement.
	(calcCellSizes): Ignore rows/columns with size 0.

2004-02-10  David Jee  <djee@redhat.com>

	* gnu/java/awt/peer/gtk/GtkButtonPeer.java
	(gtkSetLabel): New native method definition.
	(setLabel): Use gtkSetLabel.
	* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Regenerated.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetLabel): New method.

2004-02-10  Ito Kazumitsu  <kaz@maczuka.gcd.org>

	* java/io/ObjectInputStream.java (readClassDescriptor): Avoid the
	overflow of fieldmapping.

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

	* java/io/BufferedReader.java (sbuf): New field.
	(readLine): Use String.valueOf instead of new String() as per
	Per Bothner's suggestion. Use instance sbuf field instead of a
	local StringBuffer instance.

2004-02-06  Scott Gilbertson  <scottg@mantatest.com>

	* gnu/java/awt/peer/ClasspathFontPeer.java (getTransform): Never
	return null. 

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

	* javax/swing/SwingUtilities.java: Many new functions.
	* java/awt/Container.java (LightweightDispatcher): Reimplement.
	* javax/swing/basic/BasicGraphicsUtils.java 
	(getPreferredButtonSize): Start layout from top-left corner.

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

	* java/awt/Scrollbar.java
	(setBlockIncrement): Fixed.

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

	* java/awt/datatransfer/DataFlavor.java
	(imageFlavor): Javadoc added.
	(javaJVMLocalObjectType): Fixed.

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

	* gnu/java/nio/GenericBuffer.cpp,
	* gnu/java/nio/GenericMappedByteFileBuffer.cpp:
	Removed.

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

	* java/awt/Component.java (getFont): Return a default font
	instead of null.

2004-02-05  Olga Rodimina <rodimina@redhat.com>

	* java/awt/geom/AffineTransform.java:
	Corrected comments on the field definitions 
	for m11 and m10
	(shear): Fixed few errors that caused shear 
	transformation to be performed incorrectly.
	(createInverse): Fixed to return correct inverse
	of the given matrix.

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

	* java/awt/Scrollbar.java (next_scrollbar_number): New field.
	(Scrollbar (int, int, int, int, int)): Make default page
	increment 10.
	(setValues): Only call peer.setValues if one of the values has
	changed.
	(generateName): New method.
	(getUniqueLong): New method.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
	(range_scrollbar): Remove structure.
	(post_adjustment_event): Remove function.
	(post_change_event): Accept jobject argument.
	(create): Cast jints to gdoubles.  Round scrollbar values to the
	nearest integer.  Clamp min, max and value settings.
	(connectJObject): Connect hook to widget->window.
	(connectSignals): Remove range_scrollbar structure variables.
	Remove "move-slider" connection.  Pass global peer reference to
	"value-changed" callback.
	(setLineIncrement): Cast jint value to gdouble.
	(setPageIncrement): Likewise.
	(setValues): Likewise.  Clamp min, max and value settings.

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

	* javax/swing/AbstractCellEditor.java
	(getCellEditorValue): Removed.
	* javax/swing/Box.java: Reformated.
	(serialVersionUID): New field.
	* javax/swing/ButtonGroup.java:
	Removed some weird whitespace.
	* javax/swing/CellEditor.java: Reformated.
	* javax/swing/CellRendererPane.java
	(serialVersionUID): New field.
	(AccessibleCellRendererPaneserialVersionUID): New field.
	* javax/swing/DefaultListModel.java
	(serialVersionUID): New field.
	* javax/swing/JEditorPane.java
	(serialVersionUID): New field.
	(setPage): Throws IOException.
	(addHyperlinkListener): Implemented.
	(removeHyperlinkListener): Implemented.
	(getHyperlinkListener): New method.
	* javax/swing/JFileChooser.java
	(serialVersionUID): New field.
	(AccessibleJFileChooser.serialVersionUID): New field.
	(addActionListener): Implemented.
	(removeActionListener): Implemented.
	(getActionListeners): New method.
	* javax/swing/JFormattedTextField.java
	(serialVersionUID): New field.
	(AbstractFormatter.serialVersionUID): New field.
	(clone): Throws CloneNotSupportedException
	(setEditValid): Add missing argument.
	(stringToValue): Throws ParseExcpetion.
	(valueToString): Throws ParseException.
	(commitEdit): Throws ParseException.
	* javax/swing/JLabel.java
	(serialVersionUID): New field.
	* javax/swing/JList.java
	(serialVersionUID): New field.
	(addListSelectionListener): Reformated.
	(removeListSelectionListener): Reformated.
	(getListSelectionListeners): New method.
	* javax/swing/colorchooser/AbstractColorChooserPanel.java:
	Reformated.
	(serialVersionUID): New field.
	* javax/swing/table/AbstractTableModel.java
	(getValueAt): Removed.
	(getColumnCount): Removed.
	(getRowCount): Removed.

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

	* javax/naming/directory/Makefile.am,
	javax/naming/event/Makefile.am,
	javax/naming/ldap/Makefile.am,
	javax/naming/spi/Makefile.am,
	javax/rmi/CORBA/Makefile.am,
	javax/rmi/Makefile.am,
	javax/security/auth/x500/Makefile.am,
	javax/transaction/Makefile.am,
	javax/transaction/xa/Makefile.am
	(EXTRA_DIST): Added package.html.
	* javax/naming/directory/package.html,
	javax/naming/event/package.html,
	javax/naming/ldap/package.html,
	javax/naming/spi/package.html,
	javax/rmi/CORBA/package.html,
	javax/rmi/package.html,
	javax/security/auth/x500/package.html,
	javax/transaction/package.html,
	javax/transaction/xa/package.html: New files.

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

	* pkg.m4: New file.

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

	* configure.ac: Fixed little bug (s/gthread/gthread-2.0/).
	* doc/hacking.texinfo (API COmpatibility): Added menu to make makeinfo silent.

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

	* java/lang/Thread.java
	(Thread): Merged extensive javadoc from libgcj.
	(setName): Do explicit null pointer check.
	(toString): Reformated. Simplified javadoc.

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

	* configure.ac: No need to call AC_PROG_MAKE_SET explicitely.
	Define conditiional for building glibj.zip. Simplified GTK checks.
	* lib/Makefile.am: Build glibj.zip conditionally.
	* native/jni/gtk-peer/Makefile.am: Removed references of GTHREAD_*
	and LIBART_*, all is now in GTK_*.

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

	* java/util/zip/Deflater.java,
	java/util/zip/DeflaterOutputStream.java,
	java/util/zip/GZIPInputStream.java,
	java/util/zip/GZIPOutputStream.java:
	Merged class head with libgcj.

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

	* gnu/java/awt/peer/gtk/GtkListPeer.java,
	java/awt/BorderLayout.java, java/awt/CardLayout.java,
	java/awt/CheckboxGroup.java, java/awt/Choice.java,
	java/awt/Component.java, java/awt/Container.java,
	java/awt/FontMetrics.java, java/awt/GridBagLayout.java,
	java/awt/LayoutManager2.java, java/awt/List.java,
	java/awt/Menu.java, java/awt/MenuBar.java,
	java/awt/MenuItem.java, java/awt/Polygon.java,
	java/awt/Rectangle.java, java/awt/ScrollPane.java,
	java/awt/Scrollbar.java, java/awt/TextArea.java,
	java/awt/TextField.java,
	java/awt/image/renderable/RenderContext.java,
	javax/swing/JApplet.java: Fix handling of alias methods, where a
	method has been deprecated in favour of a new one with the same
	funtion but a different name.  Put the method implementation in
	the deprecated method and have the new method call the
	deprecated one.  Make all other code call the new method.

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

	* doc/hacking.texinfo (Serialization): Add section header.
	(Deprecated Methods): New section.

2004-02-02  Jeroen Frijters  <jeroen@frijters.net>

	* java/lang/Thread.java (setDaemon): Allow daemon state to be
	changed for dead threads.

2004-02-02  Jeroen Frijters  <jeroen@frijters.net>

	* java/io/ObjectInputStream.java: Made all calls
	to dumpElement[ln] conditional on dump flag. (readObject): Changed to
	use cached info from ObjectStreamClass. (readClassDescriptor):
	Cache more information in ObjectStreamClass. (processResolution,
	readFields): Use cached info from ObjectStreamClass.
	(newObject): Throw exception instead of returning null for failure.
	(getField, getMethod, callReadMethod, setBooleanField, setByteField,
	setCharField, setDoubleField, setFloatField, setIntField,
	setLongField, setShortField, setObjectField, readObjectParams):
	Removed. (dumpElement, dumpElementln): Removed dump flag condition
	check.
	* java/io/ObjectStreamField.java (hasReadMethod): Removed.
	(setClass): Added call to cacheMethods() (findMethod): New method.
	(cacheMethods): New method. (ObjectStreamClass): Added call to
	cacheMethods(). (setFields): Cache fields. (getClassUID): Use
	AccessController.doPrivileged to invoke setAccessible.
	(readObjectMethod, readResolveMethod, realClassIsSerializable,
	realClassIsExternalizable, fieldMapping, firstNonSerializableParent):
	New fields.
	* java/io/ObjectStreamField.java (ObjectStreamField): New constructor.
	(ObjectStreamField): Removed FIXME workaround. (getTypeString,
	isPrimitive): Made safe for cases where type == null.
	(setBooleanField, setByteField, setCharField, setShortField,
	setIntField, setLongField, setFloatField, setDoubleField,
	setObjectField): New methods.

2004-02-02  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/net/protocol/file/Handler.java (parseURL): Fixed support
	for relative file: urls.

2004-02-01  Mark Wielaard  <mark@klomp.org>

	* configure.ac: Add PKG_CHECK_MODULES check for GTHREAD.
	* native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): Remove
	GLIB_LIBS, add GTHREAD_LIBS.
	(INCLUDES): Add GTHREAD_CFLAGS.

2004-02-01  Mark Wielaard  <mark@klomp.org>

	* doc/hacking.texinfo (Programming Standards): Escape { and } with @
	in examples.

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

	* resource/java/security/Makefile.am: Removed comment that does not
	apply anymore.

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

	* doc/hacking.texinfo (Programming Standards): Added more
	guidelines.

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

	* java/util/logging/Makefile.am: Include logging.properties in dist
	tarball.
	* native/jni/Makefile.am: Reworked subdir handling.
	* native/Makefile.am: Likewise.
	* resource/java/security/Makefile.am: Simplified classpath.security
	handling.

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

	* gnu/java/net/protocol/http/Connection.java
	(getOutputStream): Fixed typo.

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

	* configure.ac (AC_CONFIG_FILES): Removed lib/gen_nio.sh and fixed
	quotation.
	* java/nio/GenericBuffer.cpp: Removed.
	* lib/gen_nio.sh.in: Removed.
	* lib/Makefile.am: Removed rule to regenerate NIO buffer classes.

2004-01-29  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(gtkLayoutSetVisible): New method
	(setMenuBar): Hide layout before setting MenuBar
	and reshow it after.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(gtkLayoutSetVisible): Hide or show the Gtk Layout.
	* include/gnu_java_awt_peer_gtk_GtkFramePeer.h:
	Regenerated.

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

	* java/lang/Thread.java: Reordered methods to match libgcj.

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

	* javax/swing/JComponent.java
	(listenerList): Initalize globally.
	(ancestor_list): Removed.
	(veto_list): Removed.
	(change_list): Removed.
	(get_veto_list): Removed.
	(get_change_list): Removed.
	(get_ancestor_list): Removed.
	(removeAncestorListener): Reimplemented.
	(removePropertyChangeListener): Likewise.
	(removeVetoableChangeListener): Likewise.
	(addAncestorListener): Likewise.
	(addPropertyChangeListener): Likewise.
	(addVetoableChangeListener): Likewise.
	(getListeners): New method.
	(getAncestorListeners): Likewise.
	(getVetoableChangeListeners): Likewise.
	(fireVetoableChange): Throws PropertyVetoException.
	* javax/swing/JEditorPane.java
	(JEditorPane): Throws IOException.

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

	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(create): Set the default foreground color to
	java.awt.SystemColor.windowText.

2004-01-28  Kim Ho  <kho@redhat.com>

	* include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h:
	New file.
	* include/Makefile.am: Updated.

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

	* gnu/java/awt/peer/gtk/GtkFramePeer.java:
	Merged formating with libgcj.

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

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable):
	Override GtkWindowPeer's setResizable method to account for menu
	bar height when setting the frame's size.

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

	* java/awt/Container.java: Merged formating with libgcj.

2004-01-27  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	(gtkWidgetGetDimensions): Remove.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(gtkWidgetGetDimensions): Remove.
	
	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): If
	it is a FileDialog and has dimensions of 0 by 0, then the initial
	size is set to size request plus insets.
	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
	(gtkWidgetGetDimensions): Override method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(gtkWidgetGetDimensions): Override method. Returns size request plus
	insets.

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

	* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java: Merged copyright year.

2004-01-27  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (moveLayout): New
	method.
	(setMenuBar): Shift the Gtk layout up/down by the MenuBar
	height and let the Layout Managers readjust anything that
	needs to move.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(moveLayout): New method. Shift everything in the Gtk
	layout in the Y direction by an offset.

	* gnu/java/awt/peer/gtk/GtkFramePeer.java
	(removeMenuBarPeer): Remove MenuBarPeer argument.
	* gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
	(dispose): Call native method.
	* java/awt/Frame.java (setMenuBar): Create and remove
	MenuBar peers only if the Frame has a peer.
	(addNotify): Create the MenuBar peer if one exists.
	(removeNotify): Remove MenuBar peer if one exists.
	* java/awt/Menu.java: Fix imports.
	(addNotify): Don't use full class name.
	(removeNotify): Call removeNotify on all children.
	* java/awt/MenuBar.java (removeNotify): Call
	removeNotify on all children.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(removeMenuBarPeer): Remove MenuBarPeer argument.
	Iterate through children to find the Frame's MenuBar.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.c
	New file.
	(dispose): Remove references to the MenuComponent.

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (menuBarHeight): Mark
	private.
	(setMenuBar): Grab MenuBar height and change insets.
	(setBounds): Account for MenuBar height.
	(postInsetsChangedEvent): Ditto.
	(postSizeAllocateEvent): Remove.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(menubar_resize_cb): Remove
	(setMenuBarPeer): Remove callback.
	(getMenuBarHeight): Use size requisition instead of
	allocation.

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (postConfigureEvent):
	Fix comments.
	(removeMenuBarPeer): Make package private.
	(setMenuBarPeer): Make package private.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(menubar_resize_cb): Mark attributes unused.
	(getMenuBarHeight): Ditto.

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(connectJObject): Iterate through the vbox's children to find layout.
	And fixed date on last Changelog entry.

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

	* HACKING, INSTALL, configure.ac, doc/hacking.texinfo:
	Updated to depend on autoconf 2.59 and automake 1.7.
	Also depend on GCJ 3.3 in all files.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(addExposeFilter): Handle GtkFramePeer separately.
	(removeExposeFilter): Likewise.

2004-01-27  Kim Ho  <kho@redhat.com>

	* gnu/java/awt/peer/gtk/GtkFramePeer.java (getMenuBarHeight): Added
	MenuBarPeer parameter.
	(removeMenuBarPeer): New native method.
	(setMenuBar): Call remove if menu bar is null. Adjust insets
	appropriately.
	(postSizeAllocateEvent): New method. Called when menu bar size is
	allocated. Adjust insets and redo layout.
	(GtkFramePeer): Set menu bar during frame creation.
	(postConfigureEvent): Adjust position and size to accomodate
	menu bar.
	* java/awt/Frame.java (setMenuBar): addNotify to create menu bar.
	* java/awt/Menu.java (addSeparator): Use peer's addSeparator.
	(addNotify): Create the peer if it doesn't exist and call addNotify
	for the menu's items.
	* java/awt/MenuBar.java (addNotify): Create this menu bar's menus.
	* java/awt/MenuItem.java (addNotify): Create the peer if it
	doesn't exist.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(removeMenuBarPeer): New method. Remove menu bar on the current
	frame.
	(setMenuBarPeer): Add the menu bar to the current frame and the
	callback for size-allocate events on the menu bar.
	(getMenuBarHeight): Add menu bar parameter.
	(menubar_resize_cb): New callback method for postSizeAllocate events.

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

	* native/target/generic/target_generic_file.h:
	Include fcntl.h

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

	* javax/swing/AbstractAction.java: Reformated.

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

	* include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h: Updated with
	current gnu.java.awt.peer.gtk.GtkFileDialogPeer class.

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

	* javax/swing/AbstractAction.java: Reformated.
	(getPropertyChangeListeners): New method.
	* javax/swing/AbstractCellEditor.java: Reformated.
	(getCellEditorListeners): New method.
	* javax/swing/DefaultListSelectionModel.java
	(listenerList): New field.
	(listeners): Removed.
	(get_listeners): Removed.
	(addListSelectionListener): Rewritten.
	(removeListSelectionListener): Rewritten.
	(getListSelectionListeners): New method.
	(getListeners): New method.
	* javax/swing/JComboBox.java: Imports reworked.
	(addActionListener): Implemented.
	(removeActionListener): Implemented.
	(addItemListener): Implemented.
	(removeItemListener): Implemented.
	(addPopupMenuListener): Implemented.
	(removePopupMenuListener): Implemented.
	(getActionListeners): New method.
	(getItemListeners): New method.
	(getPopupMenuListeners): New method.

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

	* javax/swing/table/JTableHeader.java: Extend JComponent

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

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java
	(handleEvent): Implemented. Handles PaintEvents.
	(paint): Implemented. Use GTK native methods to queue updates
	for this heavyweight peer.
	* gnu/java/awt/peer/gtk/GtkContainerPeer.java
	(handleEvent): Removed.
	* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated.
	* java/awt/Component.java
	(paint): Implemented. Explictly paint the heavyweight peer.
	(update): Clear the background for heavyweight components.
	(paintAll): No need to call peer.paint() anymore.
	(processEvent): Don't process PaintEvents here. It's now done in
	the peer's handleEvent().
	(processPaintEvent): Removed.
	* java/awt/Container.java
	(paint): No need to call super.paint(). Visit heavyweight
	children as well.
	(update): Don't clear the background here.  It's done in
	Component.update().
	(visitChildren): Added check to not recurse into Containers.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(filter_expose_event_handler): New method.  Filter unwanted
	expose events while painting heavyweight peers.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_addExposeFilter):
	New method. Connect filter and block pre_event_handler.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_removeExposeFilter):
	New method. Disconnect filter and unblock pre_event_handler.
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetQueueDrawArea):
	New method. Invalidate and update given area.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Add checks for unwanted expose events.

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

	* gnu/java/awt/peer/gtk/GdkClasspathFontPeer.java: 
	* gnu/java/awt/peer/gtk/GdkGlyphVector.java:
	Predicate static initialization on GtkToolkit.useGraphics2D().
	* java/awt/Component.java (processPaintEvent): Consume event.
	* javax/swing/AbstractButton.java: Reimplement, document.
	* javax/swing/DefaultButtonModel.java: Reimplement, document.
	* javax/swing/JComponent.java (paint): Use double buffer.
	(listenerList): Enable member.
	* javax/swing/ToggleButtonModel.java: Remove incorrect constructor.
	* javax/swing/JToggleButton.java 
	(JToggleButton): Modify model constructor.
	* javax/swing/SwingUtilities.java 
	(layoutCompoundLabel): Adjust arithmetic.
	* javax/swing/plaf/basic/BasicButtonUI.java: Reimplement, document.
	* javax/swing/plaf/basic/BasicGraphicsUtils.java 
	(getPreferredButtonSize): Include margins in calculation.
	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals):
	Receive up events from subordinate layout component.

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.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(find_bg_color_widget): For GtkButton, return its child.

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

	* java/awt/EventQueue.java (invokeAndWait): Use list-aware
	isDispatchThread method to replace wrong test condition.
	(pop): Prevent racing condition to add events to the queue out of order
	by acquiring locks in the proper order and not by releasing one before
	acquiring the other.
	(getCurrentEvent): Consider that system events may be handled by any
	queue in the stack.

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

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
	(pre_event_handler): Discard GDK_ENTER_NOTIFY related to ungrabs.

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

	* java/awt/EventQueue.java (pop): Prevent breaking the chain if pop
	is called for an intermediate queue.

2004-01-26  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-26  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-26  Fernando Nasser  <fnasser@redhat.com>

	* gnu/java/awt/peer/gtk/TestAWT.java (DialogWindow): Make text not
	visible so that dialog can be reused.

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

	* gnu/java/awt/peer/gtk/TestAWT.java (DialogWindow): Add WindowAdapter
	to handle Window "Closing" events.

2004-01-26  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-26  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-26  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.
	* native/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-25  Tom Tromey  <tromey@redhat.com>

	* java/lang/Class.java (internalGetMethod): Now private.

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

	* java/awt/Component.java (show): Set visible to true before
	showing the peer.

	* java/awt/TextArea.java: Fix indentation.  Flesh out javadocs.
	(getMinimumSize (int, int)): Fix FIXME -- return Dimension (0,0)
	when peer is null.
	(setColumns): Remove FIXME -- peer will retrieve number of
	columns by calling getColumns.
	(setRows): Likewise for number of rows.
	(next_text_number): New field.
	(paramString): Fix param string.
	(generateName): New method.
	(getUniqueLong): New method.

	* gnu/java/awt/peer/gtk/GtkToolkit.java (checkImage): Inform
	image observer of image loading status.
	(getImage (String)): Start image production.
	(getImage (URL)): Likewise.

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

	* java/lang/Class.java
	(getInterfaces): Change html tags to lower case.
	(getPackagePortion): Made private, moved around.

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

	* java/lang/Class.java
	(getDeclaredMethod): Renamed argument "name" to "methodName".
	(getField): Renamed argument "name" to "fieldName".
	(getResource): Renamed argument "name" to "resourceName".
	Call resourcePath() instead of doing the work here.
	(getResourceAsStream): Renamed argument "name" to "resourceName".
	Call resourcePath() instead of doing the work here.
	(resourcePath): New method.

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

	* java/lang/Class.java: Moved all methods to get it in order with
	libgcj.

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

	* gnu/java/lang/ClassHelper.java
	(getPackagePortion): Moved to java.lang.Class.
	* java/lang/Class.java: Merged more with libgcj, renamed some
	variables.
	(toString): Moved.
	(getPackagePortion): New method.
	
2004-01-25  Michael Koch  <konqueror@gmx.de>

	* java/net/URLConnection.java
	(fileNameMap): Don't initialize. Initialization should be lazy.
	(guessContentTypeFromName): Get filename map from getFileNameMap().
	(getFileNameMap): Made it synchronized. Initialize fileNameMapa if
	needed.

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

	* java/io/FileDescriptor.java
	(open): Javadoc added.
	(close): Likewise.
	(write): Likewise.
	(read): Likewise.
	(available): Likewise.
	(seek): Likewise.
	(getFilePointer): Likewise.
	(getLength): Likewise.
	(setLength): Likewise.

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

	* gnu/java/nio/FileLockImpl.java:
	Fixed filename in copyright.
	(released): Removed.
	(finalize): New method.

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

	* java/io/FileDescriptor.java: Reformated.

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

	* java/util/logging/logging.properties: New file.
	* java/util/logging/Makefile.am: Install logging.properties.

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

	* java/awt/Container.java
	(LightweightDispatcher.handleEvent): Add an extra check to avoid
	dispatching MOUSE_ENTERED event twice. Translate the point for
	the mouse event target before dispatching the event.

2004-01-21  Jeroen Frijters  <jeroen@frijters.net>

	* gnu/java/io/PlatformHelper.java (isRootDirectory): Fixed, by
	delegating to beginWithRootPathPrefix.

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

	* include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerate.

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (setBounds):
	Calculate proper offsets for heavyweight components packed in
	lightweight containers.

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
	(window_property_changed_cb): Set id_set.

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

	* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
	jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
	(native create): Add width parameter.
	(create): Calculate text entry width based on current font's
	metrics and number of columns.  Set TextField's font if not
	already set.  Call native create.
	(gtkEntryGetBorderWidth): New native method.
	(gtkEntryGetSize): Remove method.
	(getMinimumSize): Call minimumSize.
	(getPreferredSize): Call preferredSize.
	(minimumSize): Calculate minimum size based on backing
	GtkEntry's borders, font metrics and number of columns.
	(preferredSize): Likewise for preferred size.
	(get_border_width): New static function.

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

	* scripts/classpath-build,
	scripts/classpath-daily: New files for regular classpath
	compilation/testing.

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

	* configure.in: Removed.
	* configure.ac: New file.

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

	* configure.in: Fix AC_CONFIG_FILES usage and use AC_OUTPUT_COMMANDS.

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

	* HACKING: Updated autoconf and automake prerequisite descriptions.
	* acinclude.m4 (CLASSPATH_ENABLE_GJDOC): Use AS_HELP_STRING,
	fix quotation.
	* configure.in: Rewrote AC_ARG_ENABLE usage to use AC_HELP_STRING and
	to use a correct quotation. Use pkgconfig to search for glib, gtk and
	libart. Ported AC_OUTPUT() to new AC_CONFIG_FILES()/AC_OUTPUT.

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

	* java/awt/Container.java: Typo and indentation fixes.

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

	* acinclude.m4: Fixed quotation to get rid of warnings with
	automake 1.8.x.

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

	* java/io/File.java
	(list): Return null in error case.
	* native/jni/java-io/java_io_File.c
	(Java_java_io_File_listInternal): release local reference.
	This fixes classpath bug #6898.

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

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

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  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-12  David Jee  <djee@redhat.com>

	* gnu/java/net/protocol/http/Connection.java
	(sendRequest): Fix a small typo.
	* java/awt/Container.java
	(update): Clear only the clipped region, instead of clearing the
	entire Container.
	(visitChildren): Visit children in descending order.

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

	* javax/swing/table/DefaultTableCellRenderer.java:
	Compile fixes.

2004-01-12  Arnaud Vandyck  <arnaud.vandyck@ulg.ac.be>
	    Michael Koch  <konqueror@gmx.de>

	* javax/swing/table/DefaultTableCellRenderer.java
	(DefaultTableCellRenderer): Added javadoc for the class and for
	the constructor, Border instance, create an EmptyBorder.
	(UIResource): Removed the comment at the end of the class
	(setForeground): New method.
	(setBackground): New method.
	(updateUI): New method.
	(getTableCellRendererComponent): Rewritten with the help of
	dvholten and Stephane Meslin-Weber.
	(validate): New method.
	(repaint): New method.
	(firePropertyChange): New method.
	(setValue): New method.

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

	* gnu/java/net/protocol/http/Connection.java
	(connect): Dont initialize bufferedOutputStream.
	(sendRequest): Handle case when bufferedOutputStream is null.
	(getOutputStream): Throw exception if called after it got connected.
	Initialize bufferedOutputStream.

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

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

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

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

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

	* gnu/java/awt/peer/gtk/GtkToolkit.java: Don't import
	ClasspathFontPeer twice.

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>

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

	* doc/hacking.texinfo (Programming Standards): Added some more
	standards.

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

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

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

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

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

	* doc/hacking.texinfo (Programming Standards): Added note about
	NullPointerException.

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

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

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

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

2004-01-08  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.

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

	* gnu/java/nio/DatagramChannelImpl.java
	(blocking): Removed.
	(DatagramChannelImpl): Call configureBlocking().
	(implConfigureBlocking): Don't initialize blocking.
	* 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/ServerSocketChannelImpl.java
	(serverSocket): Made private.
	(connected): Made private, don't re-initialize with default value.
	(blocking): Removed.
	(ServerSocketChannelImpl): Call configureBlocking().
	(implConfigureBlocking): Don't initialize blocking.
	* gnu/java/nio/SocketChannelImpl.java
	(blocking): Removed.
	(connectionPending): Don't re-initialize with default value.
	(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-08  Michael Koch  <konqueror@gmx.de>

	* java/text/CollationElementIterator.java
	(setText): Fixed argument name in documentation.
	* java/text/CollationKey.java
	(equals): Directly compare parent collators.

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

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

2004-01-07  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.
	* javax/print/attribute/standard/Makefile.am (EXTRA_DIST):
	Added new files.

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

	* java/text/CollationElementIterator.java
	(collator): Made package-private.
	(text): Likewise.
	(index): Likewise.
	(textIndex): Likewise.
	(setText): Fixed documentation.
	(setText): Renamed some variables to match libgcj's version.
	(getOffset): Added @since tag to documentation.
	* java/text/CollationKey.java
	(hashCode): Reimplemented.
	* java/text/RuleBasedCollator.java:
	Some Reformating to match libgcj's version more.

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

	* java/lang/reflect/Array.java:
	Reformated to match libgcj's version more.

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

	* javax/swing/undo/UndoableEditSupport.java (UndoableEditSupport):
	Set realSource field. Improve documentation.
	(_postEdit): Iterate over cloned listener vector.
	
	Fix for Classpath bug #7119.
	* javax/swing/undo/UndoableEditSupport.java (toString): Don't emit
	realSource.

2004-01-06  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.

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

	* gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
	of ActionEvents for mouse double-clicks.

2004-01-06  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-06  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/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.

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

2004-01-06  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.

2004-01-06  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. 

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

	* java/text/CollationElementIterator.java:
	Renamed "char_seq" to "key" all over.
	* java/text/RuleBasedCollator.java:
	Fixed class documentation, reordered methods to match libgcj's
	version.
	(CollationElement.key): Renamed from char_seq.

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

	Fix for Classpath bug #7109.
	* javax/swing/undo/UndoableEditSupport.java: Re-format, document.
	(beginUpdate, endUpdate): Support nested updates.
	(postEdit): Use compound edit if present.
	
2004-01-06  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/event/EventListenerList.java (toString): Implemented.

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

	Fix for Classpath bug #7107.
	* javax/swing/DefaultBoundedRangeModel.java: Documented API.
	(changeEvent): Create event object on demand.
	(DefaultBoundedRangeModel, toString, setValue, setExtent,
	setMinimum, setMaximum, setValueIsAdjusting, setRangeProperties,
	fireStateChanged): Re-written.
	* NEWS: Mention fixed bug.
	
2004-01-06  Michael Koch  <konqueror@gmx.de>

	* include/Makefile.am: Generate gnu_java_nio_NIOServerSocket.h.
	* include/gnu_java_nio_NIOServerSocket.h,
	native/jni/java-nio/gnu_java_nio_NIOServerSocket.c: New files.
	* native/jni/java-nio/Makefile.am: Compile
	gnu_java_nio_NIOServerSocket.c.
	
2004-01-06  Sascha Brawer  <brawer@dandelis.ch>

	* javax/swing/event/EventListenerList.java: Document typical usage.
	(getListeners): Re-written.

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

	* gnu/java/net/protocol/file/Connection.java
	(Connection): Don't re-initialize doOutput with the default value.
	* java/net/JarURLConnection.java
	(JarURLConnection): Initialize entryName with null if no entry
	present, fixed off by one error.
	* java/net/URLConnection.java: Reformating.
	(getHeaderFields): Return empty map.
	(getPermission): Don't use package in class name.

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

	* java/lang/SecurityManager.java
	(currentClassLoader): Use VMSecurityManager to get current class
	loader.
	(checkPackageList): Put array length into local variable.

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

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

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

	Fix for Classpath bug #7105.
	* javax/swing/event/EventListenerList.java (remove): Re-written.
	* NEWS: Mention fixed bug.

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

	Fix for Classpath bug #7104.
	* javax/swing/event/EventListenerList.java (add): Re-written.
	* NEWS: Mention fixed bug.

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

	* javax/swing/event/EventListenerList.java (NO_LISTENERS): New
	singleton field.
	(listenerList): Declare as transient; document.
	(serialVersionUID): Document.
	
2004-01-06  Sascha Brawer  <brawer@dandelis.ch>

	Fix for Classpath bug #7099.
	* javax/swing/event/EventListenerList.java (getListenerCount(Class)):
	More efficient implementation, also accepts null argument.
	Improve Javadoc.
	* NEWS: Mention fixed bug.
	
	* javax/swing/event/EventListenerList.java (getListenerCount()):
	Remove unnecessary cast; docfix.

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

	* javax/swing/event/EventListenerList.java: Reformatted.

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

	Fix for Classpath bug #6095
	Thanks to Brian Gough <bjg@network-theory.com>
	* java/awt/geom/CubicCurve2D.java (solveCubic): Implemented.
	* java/awt/geom/QuadCurve2D.java (solveQuadratic): Re-written.
	* NEWS: Mention the new capability for solving equations.
	* THANKYOU: Add Brian Gough.

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

	* java/net/JarURLConnection.java
	(jarFileURLConnection): New field.
	* gnu/java/net/protocol/jar/Connection.java
	(Connection): Made class final.
	(Connection): Made constructor protected.
	(getJarFile): Check doInput.
	(getInputStream): Likewise.

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

	* java/util/HashMap.java (HashMap(Map)): As above.
	(putAllInternal): As above.
	* java/util/Hashtable.java (Hashtable(Map)): Use putAll, not
	putAllInternal.
	(putAllInternal): Correct comment.
	(internalContainsValue): Removed.
	(containsValue): Don't delegate to internalContainsValue.


Local Variables:
coding: iso-latin-1-unix	
End:
