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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-09  Florian Weimer  <fw@deneb.enyo.de>

	* java/nio/ByteBuffer.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  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
	listene	rs 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-06  Tom Tromey  <tromey@redhat.com>

	* java/net/DatagramSocket.java: Fixed typo.

	* java/awt/image/Kernel.java (clone): Use super.clone().

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