From e1bea0c0687c5f4551b3a6058ec37ce3705fa6cc Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Sun, 3 Jun 2007 23:18:43 +0000 Subject: [PATCH] libjava/classpath/ChangeLog.gcj: 2007-05-31 Matthias Klose * javax/management/NotificationBroadcasterSupport.java (getNotificationInfo): Add cast. * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include directories. * native/jni/qt-peer/Makefile.in: Regenerate. libjava/ChangeLog: 2007-06-03 Matthias Klose * java/io/natFileWin32.cc (setFilePermissions): New (stub only). _access: Handle EXEC query, stub only. 2007-06-03 Matthias Klose Merged from classpath: * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. * java/lang/System.java(inheritedChannel): New. * java/lang/Character.java: Remove stray`;'. * java/net/MulticastSocket.java: Merged. * java/text/DateFormatSymbols.java(getInstance): New, comment updates. * java/text/Collator.java(getInstance): Merged. * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. getDisplayName, getDisplayNames: New. * java/util/logging/Logger.java: Merged. * Regenerate .class and .h files. 2007-06-03 Matthias Klose * java/io/File.java: Merge with classpath-0.95, new method setFilePermissions, new attribute EXEC. * java/io/natFilePosix.cc (setFilePermissions): New. _access: Handle EXEC query. * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. 2007-06-03 Matthias Klose Imported GNU Classpath 0.95. * classpath/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/include/Makefile.in, classpath/examples/Makefile.in: Regenerate. * classpath/config.guess, classpath/config.sub, classpath/ltmain.sh : Update. * classpath/configure, classpath/depcomp, classpath/missing, classpath/aclocal.m4, classpath/install-sh: Regenerate. * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. * sources.am: Regenerate. * Makefile.in: Regenerate. * Update the .class files and generated CNI header files, add new .class and generated CNI header files. * Remove generated files for removed java source files: classpath/gnu/java/net/BASE64.java, classpath/gnu/java/security/util/Base64.java, classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, classpath/gnu/java/awt/font/autofit/Scaler.java, classpath/gnu/classpath/jdwp/util/Value.java, classpath/gnu/javax/net/ssl/Base64.java. * Remove empty directories. * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. * java/lang/Class.java(setAccessible): Merge from classpath. * java/util/Locale.java: Remove. * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. * gcj/javaprims.h: Update class declarations. * scripts/classes.pl: Update usage. * HACKING: Mention to build all peers. From-SVN: r125302 --- libjava/ChangeLog | 88 + libjava/HACKING | 2 + libjava/Makefile.am | 1 + libjava/Makefile.in | 124 +- libjava/classpath/ChangeLog | 38369 +--------------- libjava/classpath/ChangeLog-2006 | 37380 +++++++++++++++ libjava/classpath/ChangeLog.gcj | 8 + libjava/classpath/INSTALL | 5 + libjava/classpath/LICENSE | 36 + libjava/classpath/Makefile.am | 2 +- libjava/classpath/Makefile.in | 11 +- libjava/classpath/NEWS | 50 +- libjava/classpath/aclocal.m4 | 6428 +-- libjava/classpath/autogen.sh | 11 +- libjava/classpath/config.guess | 677 +- libjava/classpath/config.sub | 239 +- libjava/classpath/configure | 1487 +- libjava/classpath/configure.ac | 22 +- libjava/classpath/depcomp | 243 +- libjava/classpath/doc/Makefile.am | 28 +- libjava/classpath/doc/Makefile.in | 92 +- libjava/classpath/doc/api/Makefile.in | 29 +- libjava/classpath/doc/cp-hacking.texinfo | 363 +- .../classpath/doc/cp-vmintegration.texinfo | 31 +- libjava/classpath/doc/texi2pod.pl | 478 + libjava/classpath/doc/texinfo.tex | 7057 +-- libjava/classpath/examples/Makefile.am | 13 +- libjava/classpath/examples/Makefile.in | 38 +- .../examples/awt/AicasGraphicsBenchmark.java | 4 +- .../classpath/examples/awt/HintingDemo.java | 377 + .../examples/{awt => icons}/aicas.png | Bin .../examples/{awt => icons}/palme.gif | Bin .../examples/java2d/J2dBenchmark.java | 4 +- .../gnu/classpath/examples/java2d/aicas.png | Bin 2320 -> 0 bytes .../gnu/classpath/examples/java2d/palme.gif | Bin 502 -> 0 bytes .../classpath/examples/management/TestOS.java | 1 + .../swing/ClasspathSwingActivityBoard.launch | 19 - .../examples/swing/NavigationFilterDemo.java | 2 +- libjava/classpath/external/Makefile.in | 29 +- libjava/classpath/external/jsr166/Makefile.in | 29 +- .../concurrent/ConcurrentSkipListMap.java | 2 +- .../java/util/concurrent/atomic/package.html | 158 - .../java/util/concurrent/locks/package.html | 50 - .../jsr166/java/util/concurrent/package.html | 222 - .../external/relaxngDatatype/Makefile.in | 29 +- libjava/classpath/external/sax/Makefile.in | 29 +- .../classpath/external/w3c_dom/COPYRIGHT.html | 106 - .../classpath/external/w3c_dom/Makefile.in | 29 +- .../gnu/CORBA/DynAn/gnuDynValue.java | 6 - libjava/classpath/gnu/CORBA/Poa/gnuPOA.java | 1 - libjava/classpath/gnu/classpath/Pair.java | 126 + .../gnu/classpath/ServiceFactory.java | 83 +- .../gnu/classpath/jdwp/util/Value.java | 0 .../classpath/jdwp/util/VariableTable.java | 2 +- .../gnu/classpath/jdwp/value/ArrayValue.java | 2 +- .../classpath/gnu/java/awt/AWTUtilities.java | 203 +- .../awt/ClasspathGraphicsEnvironment.java} | 57 +- .../gnu/java/awt/ClasspathToolkit.java | 45 +- .../gnu/java/awt/font/FontDelegate.java | 10 +- .../gnu/java/awt/font/GNUGlyphVector.java | 49 +- .../gnu/java/awt/font/autofit/AutoHinter.java | 83 + .../gnu/java/awt/font/autofit/AxisHints.java | 69 +- .../gnu/java/awt/font/autofit/Constants.java | 25 + .../gnu/java/awt/font/autofit/Edge.java | 80 + .../gnu/java/awt/font/autofit/GlyphHints.java | 579 +- .../autofit/{Scaler.java => HintScaler.java} | 5 +- .../gnu/java/awt/font/autofit/Latin.java | 1214 +- .../gnu/java/awt/font/autofit/LatinAxis.java | 11 +- .../gnu/java/awt/font/autofit/LatinBlue.java | 59 + .../java/awt/font/autofit/LatinMetrics.java | 15 + .../gnu/java/awt/font/autofit/Script.java | 6 +- .../java/awt/font/autofit/ScriptMetrics.java | 6 +- .../gnu/java/awt/font/autofit/Segment.java | 50 +- .../gnu/java/awt/font/autofit/Utils.java | 255 + .../gnu/java/awt/font/autofit/Width.java | 16 + .../gnu/java/awt/font/opentype/Hinter.java | 63 + .../java/awt/font/opentype/OpenTypeFont.java | 38 +- .../gnu/java/awt/font/opentype/Scaler.java | 3 +- .../awt/font/opentype/truetype/Fixed.java | 20 +- .../font/opentype/truetype/GlyphLoader.java | 33 +- .../awt/font/opentype/truetype/Point.java | 285 + .../opentype/truetype/TrueTypeScaler.java | 10 +- .../java/awt/font/opentype/truetype/Zone.java | 146 +- .../opentype/truetype/ZonePathIterator.java | 24 +- .../java/awt/java2d/AbstractGraphics2D.java | 500 +- .../gnu/java/awt/java2d/ActiveEdges.java | 195 + .../gnu/java/awt/java2d/PolyEdge.java | 71 +- .../gnu/java/awt/java2d/Scanline.java | 91 + .../java/awt/java2d/ScanlineConverter.java | 404 + .../java/awt/peer/ClasspathDesktopPeer.java | 301 + .../gnu/java/awt/peer/ClasspathFontPeer.java | 32 +- .../gnu/java/awt/peer/GnomeDesktopPeer.java | 153 + .../gnu/java/awt/peer/KDEDesktopPeer.java | 135 + .../gnu/java/awt/peer/gtk/AsyncImage.java | 10 +- .../awt/peer/gtk/BufferedImageGraphics.java | 116 +- .../java/awt/peer/gtk/CairoGraphics2D.java | 521 +- .../gnu/java/awt/peer/gtk/CairoSurface.java | 299 +- .../awt/peer/gtk/CairoSurfaceGraphics.java | 123 +- .../java/awt/peer/gtk/ComponentGraphics.java | 108 +- .../awt/peer/gtk/FreetypeGlyphVector.java | 157 +- .../gnu/java/awt/peer/gtk/GThreadMutex.java | 109 - .../peer/gtk/GThreadNativeMethodRunner.java | 303 - .../gnu/java/awt/peer/gtk/GdkFontPeer.java | 40 +- .../awt/peer/gtk/GdkGraphicsEnvironment.java | 16 +- .../java/awt/peer/gtk/GdkPixbufDecoder.java | 137 +- .../awt/peer/gtk/GdkScreenGraphicsDevice.java | 4 +- .../java/awt/peer/gtk/GtkCheckboxPeer.java | 19 +- .../gnu/java/awt/peer/gtk/GtkChoicePeer.java | 26 +- .../gnu/java/awt/peer/gtk/GtkClipboard.java | 190 +- .../awt/peer/gtk/GtkClipboardNotifier.java | 81 +- .../java/awt/peer/gtk/GtkComponentPeer.java | 70 +- .../java/awt/peer/gtk/GtkFileDialogPeer.java | 20 +- .../gnu/java/awt/peer/gtk/GtkFramePeer.java | 20 +- .../gnu/java/awt/peer/gtk/GtkImage.java | 138 +- .../java/awt/peer/gtk/GtkImageConsumer.java | 74 +- .../gnu/java/awt/peer/gtk/GtkLabelPeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkListPeer.java | 26 +- .../gnu/java/awt/peer/gtk/GtkMainThread.java | 14 +- .../gnu/java/awt/peer/gtk/GtkMenuBarPeer.java | 16 +- .../awt/peer/gtk/GtkMenuComponentPeer.java | 6 +- .../gnu/java/awt/peer/gtk/GtkMenuPeer.java | 8 +- .../java/awt/peer/gtk/GtkMouseInfoPeer.java | 6 +- .../java/awt/peer/gtk/GtkScrollPanePeer.java | 6 +- .../java/awt/peer/gtk/GtkScrollbarPeer.java | 14 +- .../gnu/java/awt/peer/gtk/GtkSelection.java | 630 +- .../java/awt/peer/gtk/GtkTextAreaPeer.java | 12 +- .../java/awt/peer/gtk/GtkTextFieldPeer.java | 4 +- .../gnu/java/awt/peer/gtk/GtkToolkit.java | 114 +- .../gnu/java/awt/peer/gtk/GtkWindowPeer.java | 60 +- .../awt/peer/gtk/VolatileImageGraphics.java | 20 +- .../gnu/java/awt/peer/qt/QtToolkit.java | 51 +- .../java/awt/print/JavaPrinterGraphics.java | 3 +- .../java/awt/print/PostScriptGraphics2D.java | 3 +- .../gnu/java/beans/encoder/ScanEngine.java | 2 +- .../gnu/java/io/Base64InputStream.java | 10 +- .../gnu/java/io/class-dependencies.conf | 75 - .../gnu/java/lang/management/BeanImpl.java | 237 +- .../management/OperatingSystemMXBeanImpl.java | 5 + .../lang/management/ThreadMXBeanImpl.java | 62 +- .../gnu/java/locale/LocaleHelper.java | 127 +- libjava/classpath/gnu/java/math/Fixed.java | 207 + libjava/classpath/gnu/java/net/BASE64.java | 190 - .../net/DefaultContentHandlerFactory.java | 4 +- .../gnu/java/net/GetLocalHostAction.java | 4 +- .../gnu/java/net/HeaderFieldHelper.java | 19 +- .../gnu/java/net/IndexListParser.java | 8 +- .../gnu/java/net/loader/JarURLLoader.java | 20 +- .../gnu/java/net/loader/URLLoader.java | 2 +- .../net/loader/URLStreamHandlerCache.java | 9 +- .../gnu/java/net/local/LocalServerSocket.java | 1 - .../gnu/java/net/local/LocalSocket.java | 1 - .../java/net/protocol/ftp/FTPConnection.java | 4 +- .../net/protocol/ftp/FTPURLConnection.java | 15 +- .../net/protocol/http/ChunkedInputStream.java | 4 - .../net/protocol/http/HTTPConnection.java | 14 +- .../net/protocol/http/HTTPURLConnection.java | 13 +- .../gnu/java/net/protocol/http/Headers.java | 45 +- .../gnu/java/net/protocol/http/Request.java | 17 +- .../protocol/http/SimpleCookieManager.java | 28 +- .../gnu/java/net/protocol/jar/Connection.java | 5 +- .../gnu/java/net/protocol/jar/Handler.java | 4 +- .../gnu/java/nio/ChannelInputStream.java | 12 +- .../gnu/java/nio/SelectorProviderImpl.java | 1 + .../gnu/java/nio/charset/ByteCharset.java | 7 +- .../gnu/java/nio/charset/EncodingHelper.java | 11 + .../gnu/java/security/util/Base64.java | 349 - .../java/security/x509/X509Certificate.java | 64 +- .../x509/ext/CertificatePolicies.java | 70 +- .../security/x509/ext/ExtendedKeyUsage.java | 10 +- .../gnu/java/security/x509/ext/Extension.java | 16 +- .../java/security/x509/ext/GeneralName.java | 232 + .../java/security/x509/ext/GeneralNames.java | 92 +- .../security/x509/ext/GeneralSubtree.java | 156 + .../x509/ext/IssuerAlternativeNames.java | 4 +- .../security/x509/ext/NameConstraints.java | 161 + .../x509/ext/SubjectAlternativeNames.java | 4 +- .../{javax/net/ssl => java/util}/Base64.java | 39 +- .../gnu/java/util/prefs/EventDispatcher.java | 4 +- .../util/prefs/GConfBasedPreferences.java | 20 +- .../util/prefs/MemoryBasedPreferences.java | 6 +- .../util/prefs/gconf/GConfNativePeer.java | 8 +- .../gnu/java/util/regex/RETokenChar.java | 5 +- .../gnu/javax/imageio/png/PNGICCProfile.java | 4 +- .../gnu/javax/management/Translator.java | 544 + .../gnu/javax/net/ssl/PrivateCredentials.java | 5 +- .../javax/net/ssl/provider/SSLEngineImpl.java | 2 +- .../net/ssl/provider/SSLRSASignatureImpl.java | 3 +- .../security/auth/login/ConfigFileParser.java | 8 +- .../midi/alsa/AlsaMidiSequencerDevice.java | 6 +- .../javax/sound/midi/alsa/AlsaPortDevice.java | 5 +- .../sound/midi/dssi/DSSISynthesizer.java | 5 +- .../html/CharacterAttributeTranslator.java | 2 +- .../javax/swing/text/html/css/CSSParser.java | 7 +- .../javax/swing/text/html/parser/gnuDTD.java | 1 - .../text/html/parser/support/Parser.java | 2 +- .../gnu/xml/dom/DomDocumentBuilder.java | 55 +- .../classpath/gnu/xml/dom/ls/DomLSParser.java | 11 +- .../gnu/xml/pipeline/DomConsumer.java | 2 +- .../classpath/gnu/xml/stream/SAXParser.java | 4 +- .../classpath/gnu/xml/stream/XMLParser.java | 18 +- libjava/classpath/gnu/xml/util/XCat.java | 2 +- libjava/classpath/include/Makefile.am | 4 +- libjava/classpath/include/Makefile.in | 33 +- libjava/classpath/include/config-int.h | 9 + libjava/classpath/include/config.h.in | 28 + .../gnu_java_awt_peer_gtk_CairoGraphics2D.h | 3 +- .../gnu_java_awt_peer_gtk_CairoSurface.h | 12 +- ...nu_java_awt_peer_gtk_FreetypeGlyphVector.h | 10 +- ...a_awt_peer_gtk_GThreadNativeMethodRunner.h | 19 - .../gnu_java_awt_peer_gtk_GtkToolkit.h | 3 +- ...g_management_VMOperatingSystemMXBeanImpl.h | 19 + libjava/classpath/include/java_io_VMFile.h | 4 + libjava/classpath/install-sh | 624 +- libjava/classpath/java/awt/AWTEvent.java | 12 +- libjava/classpath/java/awt/AWTKeyStroke.java | 6 +- .../classpath/java/awt/AlphaComposite.java | 6 +- libjava/classpath/java/awt/Canvas.java | 14 +- libjava/classpath/java/awt/CardLayout.java | 2 +- libjava/classpath/java/awt/Component.java | 60 +- libjava/classpath/java/awt/Desktop.java | 268 + .../java/awt/EventDispatchThread.java | 3 + libjava/classpath/java/awt/EventQueue.java | 6 +- libjava/classpath/java/awt/Frame.java | 85 +- .../java/awt/GraphicsConfiguration.java | 31 +- .../classpath/java/awt/RenderingHints.java | 10 +- libjava/classpath/java/awt/Toolkit.java | 24 +- libjava/classpath/java/awt/Window.java | 32 +- .../awt/datatransfer/SystemFlavorMap.java | 154 +- .../classpath/java/awt/geom/GeneralPath.java | 11 +- .../java/awt/image/BufferedImage.java | 327 +- .../java/awt/image/ComponentSampleModel.java | 448 +- .../java/awt/image/IndexColorModel.java | 17 +- .../image/SinglePixelPackedSampleModel.java | 152 +- .../classpath/java/awt/peer/DesktopPeer.java | 64 + .../classpath/java/awt/print/PrinterJob.java | 15 +- .../java/beans/ConstructorProperties.java | 72 + libjava/classpath/java/beans/XMLEncoder.java | 2 +- libjava/classpath/java/io/File.java | 179 + .../classpath/java/io/ObjectInputStream.java | 175 +- .../classpath/java/io/ObjectOutputStream.java | 88 +- .../classpath/java/io/StreamTokenizer.java | 2 + .../classpath/java/io/class-dependencies.conf | 100 - libjava/classpath/java/lang/Character.java | 2 +- libjava/classpath/java/lang/Class.java | 30 +- libjava/classpath/java/lang/Enum.java | 13 + libjava/classpath/java/lang/StrictMath.java | 5 +- libjava/classpath/java/lang/String.java | 17 +- libjava/classpath/java/lang/System.java | 25 +- .../java/lang/class-dependencies.conf | 58 - .../java/lang/management/LockInfo.java | 114 + .../lang/management/ManagementFactory.java | 265 + .../java/lang/management/MemoryUsage.java | 16 +- .../java/lang/management/MonitorInfo.java | 179 + .../management/OperatingSystemMXBean.java | 16 + .../java/lang/management/ThreadInfo.java | 433 +- .../java/lang/management/ThreadMXBean.java | 167 +- libjava/classpath/java/math/BigInteger.java | 5 +- .../java/math/class-dependencies.conf | 58 - .../classpath/java/net/MimeTypeMapper.java | 13 +- .../classpath/java/net/MulticastSocket.java | 6 +- .../classpath/java/net/NetworkInterface.java | 7 +- libjava/classpath/java/net/Proxy.java | 2 +- libjava/classpath/java/net/ResolverCache.java | 4 +- libjava/classpath/java/net/ServerSocket.java | 7 +- libjava/classpath/java/net/Socket.java | 23 +- libjava/classpath/java/net/URI.java | 2 +- libjava/classpath/java/net/URL.java | 11 +- .../classpath/java/net/URLClassLoader.java | 29 +- .../java/net/class-dependencies.conf | 122 - libjava/classpath/java/nio/ByteOrder.java | 4 +- .../nio/channels/spi/SelectorProvider.java | 27 + .../java/nio/class-dependencies.conf | 58 - .../java/rmi/activation/ActivationID.java | 2 +- .../java/rmi/server/UnicastRemoteObject.java | 5 +- .../java/security/BasicPermission.java | 3 +- .../classpath/java/security/Permission.java | 17 +- .../java/security/SecureClassLoader.java | 2 +- .../classpath/java/security/SignatureSpi.java | 13 +- .../java/security/cert/X509CertSelector.java | 1549 +- .../java/security/cert/X509Certificate.java | 4 +- .../java/text/AttributedStringIterator.java | 8 +- .../classpath/java/text/BreakIterator.java | 117 +- libjava/classpath/java/text/Collator.java | 50 +- libjava/classpath/java/text/DateFormat.java | 148 +- .../java/text/DateFormatSymbols.java | 159 +- .../classpath/java/text/DecimalFormat.java | 31 +- .../java/text/DecimalFormatSymbols.java | 89 +- .../classpath/java/text/MessageFormat.java | 120 +- libjava/classpath/java/text/NumberFormat.java | 135 +- .../classpath/java/text/SimpleDateFormat.java | 16 +- .../java/text/class-dependencies.conf | 220 - .../java/text/spi/BreakIteratorProvider.java | 124 + .../java/text/spi/CollatorProvider.java | 79 + .../java/text/spi/DateFormatProvider.java | 129 + .../text/spi/DateFormatSymbolsProvider.java | 79 + .../spi/DecimalFormatSymbolsProvider.java | 79 + .../java/text/spi/NumberFormatProvider.java | 129 + .../getopt => java/text/spi}/package.html | 15 +- libjava/classpath/java/util/AbstractMap.java | 29 +- libjava/classpath/java/util/Arrays.java | 998 +- libjava/classpath/java/util/Calendar.java | 250 +- libjava/classpath/java/util/Collections.java | 217 +- libjava/classpath/java/util/Currency.java | 33 +- libjava/classpath/java/util/Date.java | 2 +- .../java/util/GregorianCalendar.java | 18 +- libjava/classpath/java/util/HashMap.java | 16 +- libjava/classpath/java/util/Hashtable.java | 18 +- libjava/classpath/java/util/LinkedList.java | 271 +- libjava/classpath/java/util/Locale.java | 76 +- .../classpath/java/util/PriorityQueue.java | 1 + .../java/util/ServiceConfigurationError.java | 94 + .../classpath/java/util/ServiceLoader.java | 274 + .../classpath/java/util/StringTokenizer.java | 8 +- libjava/classpath/java/util/TreeMap.java | 1978 +- libjava/classpath/java/util/TreeSet.java | 244 +- .../java/util/class-dependencies.conf | 78 - .../util/concurrent/CopyOnWriteArrayList.java | 3 +- .../java/util/logging/LogManager.java | 16 +- .../classpath/java/util/logging/Logger.java | 18 +- .../java/util/prefs/AbstractPreferences.java | 17 +- .../java/util/prefs/Preferences.java | 6 +- .../classpath/java/util/regex/Pattern.java | 14 +- .../java/util/spi/CurrencyNameProvider.java | 100 + .../java/util/spi/LocaleNameProvider.java | 135 + .../java/util/spi/LocaleServiceProvider.java | 125 + .../java/util/spi/TimeZoneNameProvider.java | 97 + .../util/spi/package.html} | 26 +- .../java/util/zip/DeflaterEngine.java | 3 +- .../java/util/zip/ZipInputStream.java | 1 + .../activity/ActivityCompletedException.java | 90 + .../activity/ActivityRequiredException.java | 90 + .../activity/InvalidActivityException.java} | 81 +- .../registry => javax/activity}/package.html | 9 +- .../javax/crypto/CipherOutputStream.java | 4 +- .../javax/imageio/ImageWriteParam.java | 4 +- .../javax/imageio/spi/IIORegistry.java | 3 + .../javax/imageio/spi/ServiceRegistry.java | 2 +- .../stream/FileCacheImageOutputStream.java | 119 +- .../imageio/stream/ImageOutputStreamImpl.java | 100 +- .../AttributeChangeNotification.java | 166 + .../AttributeChangeNotificationFilter.java | 137 + .../javax/management/AttributeValueExp.java | 181 + .../management/DefaultLoaderRepository.java | 148 + .../javax/management/Descriptor.java | 392 + .../management/DescriptorAccess.java} | 53 +- .../javax/management/DescriptorRead.java | 59 + libjava/classpath/javax/management/JMX.java | 342 + .../javax/management/MBeanAttributeInfo.java | 5 + .../javax/management/MBeanFeatureInfo.java | 15 + .../MBeanServerInvocationHandler.java | 400 + .../classpath/javax/management/MXBean.java | 82 + .../javax/management/Notification.java | 23 +- .../NotificationBroadcasterSupport.java | 390 + .../management/NotificationFilterSupport.java | 139 + .../javax/management/PersistentMBean.java | 126 + libjava/classpath/javax/management/Query.java | 1901 + .../classpath/javax/management/QueryEval.java | 95 + .../javax/management/StandardMBean.java | 233 +- .../javax/management/StringValueExp.java | 133 + .../loading/ClassLoaderRepository.java | 6 +- .../javax/management/openmbean/ArrayType.java | 417 +- .../management/openmbean/CompositeData.java | 4 +- .../CompositeDataInvocationHandler.java | 190 + .../openmbean/CompositeDataSupport.java | 12 +- .../management/openmbean/CompositeType.java | 34 +- .../OpenMBeanAttributeInfoSupport.java | 48 +- .../openmbean/OpenMBeanOperationInfo.java | 2 +- .../OpenMBeanOperationInfoSupport.java | 8 +- .../openmbean/OpenMBeanParameterInfo.java | 8 +- .../OpenMBeanParameterInfoSupport.java | 38 +- .../javax/management/openmbean/OpenType.java | 43 +- .../management/openmbean/SimpleType.java | 72 +- .../management/openmbean/TabularData.java | 6 +- .../openmbean/TabularDataSupport.java | 16 +- .../management/openmbean/TabularType.java | 8 +- .../classpath/javax/naming/CompositeName.java | 28 +- .../classpath/javax/naming/CompoundName.java | 34 +- .../javax/naming/InitialContext.java | 9 +- libjava/classpath/javax/naming/Reference.java | 14 +- .../naming/directory/BasicAttribute.java | 8 +- .../naming/directory/BasicAttributes.java | 59 +- .../javax/naming/ldap/InitialLdapContext.java | 6 +- .../classpath/javax/naming/spi/Resolver.java | 13 +- .../javax/net/ssl/SSLServerSocketFactory.java | 55 +- .../javax/net/ssl/SSLSocketFactory.java | 66 +- .../javax/sound/sampled/AudioFileFormat.java | 8 +- .../javax/sound/sampled/AudioFormat.java | 8 +- .../javax/sound/sampled/AudioSystem.java | 38 +- .../javax/sound/sampled/BooleanControl.java | 1 - .../javax/swing/DefaultDesktopManager.java | 34 +- libjava/classpath/javax/swing/JComponent.java | 21 +- .../classpath/javax/swing/JEditorPane.java | 2 +- .../javax/swing/JFormattedTextField.java | 2 +- libjava/classpath/javax/swing/JScrollBar.java | 4 +- libjava/classpath/javax/swing/JToolTip.java | 2 +- libjava/classpath/javax/swing/JViewport.java | 30 +- .../javax/swing/TransferHandler.java | 136 +- .../colorchooser/DefaultHSBChooserPanel.java | 1 - .../swing/plaf/basic/BasicComboBoxUI.java | 123 +- .../swing/plaf/basic/BasicComboPopup.java | 33 +- .../javax/swing/plaf/basic/BasicLabelUI.java | 108 +- .../swing/plaf/basic/BasicRadioButtonUI.java | 97 +- .../swing/plaf/basic/BasicTabbedPaneUI.java | 2 +- .../javax/swing/plaf/basic/BasicTreeUI.java | 16 +- .../javax/swing/plaf/metal/MetalButtonUI.java | 3 +- .../swing/plaf/metal/MetalComboBoxUI.java | 6 +- .../swing/plaf/metal/MetalFileChooserUI.java | 4 +- .../swing/plaf/metal/MetalLookAndFeel.java | 16 +- .../swing/plaf/metal/MetalMenuBarUI.java | 2 +- .../javax/swing/table/JTableHeader.java | 2 +- .../javax/swing/text/AbstractDocument.java | 28 +- .../javax/swing/text/AsyncBoxView.java | 2 +- .../swing/text/DefaultStyledDocument.java | 4 +- .../classpath/javax/swing/text/FieldView.java | 2 +- .../swing/text/InternationalFormatter.java | 5 +- .../javax/swing/text/JTextComponent.java | 2 +- .../javax/swing/text/html/CSSParser.java | 5 +- libjava/classpath/lib/Makefile.am | 18 +- libjava/classpath/lib/Makefile.in | 44 +- .../lib/gnu/CORBA/CDR/gnuRuntime$1.class | Bin 984 -> 984 bytes .../CORBA/CDR/gnuRuntime$Redirection.class | Bin 656 -> 672 bytes .../lib/gnu/CORBA/CDR/gnuRuntime.class | Bin 4831 -> 4831 bytes .../lib/gnu/CORBA/CollocatedOrbs.class | Bin 2494 -> 2544 bytes .../lib/gnu/CORBA/Connected_objects.class | Bin 3540 -> 3553 bytes .../lib/gnu/CORBA/DynAn/gnuDynValue.class | Bin 8072 -> 8072 bytes .../CORBA/GIOP/CodeSetServiceContext.class | Bin 3524 -> 3621 bytes .../lib/gnu/CORBA/GIOP/ErrorMessage.class | Bin 1769 -> 1819 bytes .../lib/gnu/CORBA/HolderLocator.class | Bin 2952 -> 2956 bytes .../lib/gnu/CORBA/IOR$Internet_profile.class | Bin 2834 -> 2861 bytes libjava/classpath/lib/gnu/CORBA/IOR.class | Bin 8912 -> 8940 bytes .../gnu/CORBA/Interceptor/gnuIcCurrent.class | Bin 4277 -> 4332 bytes .../gnu/CORBA/NamingService/NameParser.class | Bin 9739 -> 9789 bytes .../gnu/CORBA/NamingService/NamingMap.class | Bin 2648 -> 2703 bytes .../NamingServiceTransient$1.class | Bin 701 -> 701 bytes .../NamingServiceTransient.class | Bin 2390 -> 2390 bytes .../NamingService/TransientContext.class | Bin 6742 -> 6800 bytes .../lib/gnu/CORBA/ObjectCreator.class | Bin 10180 -> 10174 bytes .../classpath/lib/gnu/CORBA/OrbFocused.class | Bin 6441 -> 6600 bytes .../lib/gnu/CORBA/OrbFunctional$1.class | Bin 635 -> 635 bytes .../lib/gnu/CORBA/OrbFunctional$2.class | Bin 1116 -> 1137 bytes .../OrbFunctional$sharedPortServer.class | Bin 872 -> 893 bytes .../lib/gnu/CORBA/OrbFunctional.class | Bin 24752 -> 24797 bytes .../lib/gnu/CORBA/OrbRestricted.class | Bin 10136 -> 10175 bytes libjava/classpath/lib/gnu/CORBA/Poa/AOM.class | Bin 4383 -> 4387 bytes .../lib/gnu/CORBA/Poa/ForwardedServant.class | Bin 4682 -> 4762 bytes .../lib/gnu/CORBA/Poa/LocalDelegate.class | Bin 8751 -> 8788 bytes .../lib/gnu/CORBA/Poa/LocalRequest.class | Bin 12849 -> 12839 bytes .../classpath/lib/gnu/CORBA/Poa/ORB_1_4.class | Bin 7622 -> 7741 bytes .../gnu/CORBA/Poa/ServantDelegateImpl.class | Bin 4010 -> 4047 bytes .../classpath/lib/gnu/CORBA/Poa/gnuPOA.class | Bin 25936 -> 25950 bytes .../lib/gnu/CORBA/Poa/gnuPoaCurrent.class | Bin 2741 -> 2796 bytes .../lib/gnu/CORBA/Poa/gnuServantObject.class | Bin 14471 -> 14508 bytes .../lib/gnu/CORBA/SocketRepository.class | Bin 1958 -> 2013 bytes .../lib/gnu/CORBA/TypeCodeHelper.class | Bin 4997 -> 5036 bytes .../lib/gnu/CORBA/gnuRequest$1.class | Bin 567 -> 567 bytes .../lib/gnu/CORBA/gnuRequest$2.class | Bin 623 -> 623 bytes .../classpath/lib/gnu/CORBA/gnuRequest.class | Bin 23103 -> 23157 bytes .../lib/gnu/awt/j2d/Graphics2DImpl.class | Bin 12314 -> 12413 bytes .../lib/gnu/awt/xlib/XCanvasPeer.class | Bin 12098 -> 12200 bytes .../lib/gnu/awt/xlib/XEventLoop.class | Bin 5313 -> 5310 bytes .../lib/gnu/awt/xlib/XOffScreenImage.class | Bin 5339 -> 5391 bytes .../lib/gnu/classpath/Configuration.class | Bin 857 -> 857 bytes .../classpath/lib/gnu/classpath/Pair.class | Bin 0 -> 1363 bytes .../ServiceFactory$ServiceIterator.class | Bin 3903 -> 4651 bytes .../lib/gnu/classpath/ServiceFactory.class | Bin 3194 -> 3536 bytes .../lib/gnu/classpath/SystemProperties.class | Bin 2655 -> 2655 bytes .../lib/gnu/classpath/jdwp/Jdwp$1.class | Bin 804 -> 804 bytes .../lib/gnu/classpath/jdwp/Jdwp.class | Bin 6780 -> 6780 bytes .../jdwp/JdwpConstants$CommandSet.class | Bin 1924 -> 1924 bytes .../gnu/classpath/jdwp/JdwpConstants.class | Bin 1279 -> 1279 bytes .../jdwp/VMIdManager$IdFactory.class | Bin 3138 -> 3132 bytes .../classpath/jdwp/event/EventManager.class | Bin 4558 -> 4540 bytes .../gnu/classpath/jdwp/id/ClassObjectId.class | Bin 874 -> 871 bytes .../classpath/jdwp/id/ReferenceTypeId.class | Bin 1033 -> 1030 bytes .../ClassLoaderReferenceCommandSet.class | Bin 2722 -> 2719 bytes .../processor/VirtualMachineCommandSet.class | Bin 9307 -> 9298 bytes .../lib/gnu/classpath/jdwp/util/Value.class | Bin 4871 -> 0 bytes .../lib/gnu/gcj/runtime/BootClassLoader.class | Bin 3402 -> 3401 bytes .../gnu/gcj/runtime/HelperClassLoader$1.class | Bin 896 -> 896 bytes .../gnu/gcj/runtime/HelperClassLoader.class | Bin 2189 -> 2189 bytes .../PersistentByteMap$AccessMode.class | Bin 991 -> 1044 bytes .../PersistentByteMap$HashIterator.class | Bin 1509 -> 1528 bytes .../gnu/gcj/runtime/PersistentByteMap.class | Bin 9645 -> 9663 bytes .../lib/gnu/gcj/runtime/SharedLibHelper.class | Bin 5568 -> 5553 bytes .../lib/gnu/gcj/tools/gcj_dbtool/Main.class | Bin 10855 -> 10918 bytes ...mponentList$VisibleComponentIterator.class | Bin 2389 -> 2389 bytes .../AWTUtilities$VisibleComponentList.class | Bin 1070 -> 1070 bytes .../lib/gnu/java/awt/AWTUtilities.class | Bin 5941 -> 7547 bytes .../awt/BitwiseXORComposite$IntContext.class | Bin 2306 -> 2331 bytes .../awt/ClasspathGraphicsEnvironment.class | Bin 0 -> 602 bytes .../lib/gnu/java/awt/ClasspathToolkit.class | Bin 2455 -> 2951 bytes .../lib/gnu/java/awt/font/FontDelegate.class | Bin 792 -> 1086 bytes .../gnu/java/awt/font/GNUGlyphVector.class | Bin 6624 -> 7384 bytes .../java/awt/font/autofit/AutoHinter.class | Bin 0 -> 2086 bytes .../gnu/java/awt/font/autofit/AxisHints.class | Bin 362 -> 1689 bytes .../gnu/java/awt/font/autofit/Constants.class | Bin 258 -> 402 bytes .../lib/gnu/java/awt/font/autofit/Edge.class | Bin 0 -> 1636 bytes .../java/awt/font/autofit/GlyphHints.class | Bin 972 -> 9490 bytes .../java/awt/font/autofit/HintScaler.class | Bin 0 -> 459 bytes .../lib/gnu/java/awt/font/autofit/Latin.class | Bin 4407 -> 20236 bytes .../gnu/java/awt/font/autofit/LatinAxis.class | Bin 450 -> 689 bytes .../gnu/java/awt/font/autofit/LatinBlue.class | Bin 0 -> 999 bytes .../java/awt/font/autofit/LatinMetrics.class | Bin 417 -> 773 bytes .../gnu/java/awt/font/autofit/Scaler.class | Bin 426 -> 0 bytes .../gnu/java/awt/font/autofit/Script.class | Bin 447 -> 659 bytes .../java/awt/font/autofit/ScriptMetrics.class | Bin 424 -> 504 bytes .../gnu/java/awt/font/autofit/Segment.class | Bin 347 -> 1926 bytes .../lib/gnu/java/awt/font/autofit/Utils.class | Bin 0 -> 4272 bytes .../lib/gnu/java/awt/font/autofit/Width.class | Bin 338 -> 823 bytes .../java/awt/font/opentype/CharGlyphMap.class | Bin 2377 -> 2377 bytes .../gnu/java/awt/font/opentype/Hinter.class | Bin 0 -> 277 bytes .../java/awt/font/opentype/OpenTypeFont.class | Bin 8291 -> 8951 bytes .../font/opentype/OpenTypeFontFactory.class | Bin 1609 -> 1651 bytes .../gnu/java/awt/font/opentype/Scaler.class | Bin 656 -> 692 bytes .../awt/font/opentype/truetype/Fixed.class | Bin 1969 -> 2303 bytes .../font/opentype/truetype/GlyphLoader.class | Bin 7309 -> 7728 bytes .../font/opentype/truetype/GlyphLocator.class | Bin 1073 -> 1073 bytes .../awt/font/opentype/truetype/Point.class | Bin 0 -> 3821 bytes .../opentype/truetype/TrueTypeScaler.class | Bin 4706 -> 4892 bytes .../awt/font/opentype/truetype/Zone.class | Bin 4834 -> 5577 bytes .../opentype/truetype/ZonePathIterator.class | Bin 2814 -> 2919 bytes .../java/awt/java2d/AbstractGraphics2D.class | Bin 33135 -> 27288 bytes .../lib/gnu/java/awt/java2d/ActiveEdges.class | Bin 0 -> 2545 bytes .../gnu/java/awt/java2d/CubicSegment.class | Bin 3098 -> 3146 bytes .../lib/gnu/java/awt/java2d/LineSegment.class | Bin 2054 -> 2094 bytes .../lib/gnu/java/awt/java2d/PolyEdge.class | Bin 1559 -> 1930 bytes .../java/awt/java2d/PolyEdgeComparator.class | Bin 752 -> 746 bytes .../lib/gnu/java/awt/java2d/QuadSegment.class | Bin 4635 -> 4683 bytes .../lib/gnu/java/awt/java2d/Scanline.class | Bin 0 -> 733 bytes .../java/awt/java2d/ScanlineConverter.class | Bin 0 -> 5849 bytes .../java/awt/peer/ClasspathDesktopPeer.class | Bin 0 -> 5479 bytes .../awt/peer/ClasspathFontPeer$LRUCache.class | Bin 0 -> 964 bytes .../gnu/java/awt/peer/ClasspathFontPeer.class | Bin 8543 -> 9119 bytes .../gnu/java/awt/peer/GLightweightPeer.class | Bin 7416 -> 7541 bytes .../gnu/java/awt/peer/GnomeDesktopPeer.class | Bin 0 -> 2612 bytes .../gnu/java/awt/peer/KDEDesktopPeer.class | Bin 0 -> 2336 bytes .../peer/gtk/AsyncImage$NullImageSource.class | Bin 1614 -> 1690 bytes .../gnu/java/awt/peer/gtk/AsyncImage.class | Bin 3561 -> 3678 bytes .../awt/peer/gtk/BufferedImageGraphics.class | Bin 10724 -> 10519 bytes .../java/awt/peer/gtk/CairoGraphics2D.class | Bin 36423 -> 39018 bytes .../gtk/CairoSurface$CairoDataBuffer.class | Bin 1519 -> 0 bytes .../gnu/java/awt/peer/gtk/CairoSurface.class | Bin 5276 -> 7530 bytes .../awt/peer/gtk/CairoSurfaceGraphics.class | Bin 7704 -> 8555 bytes .../java/awt/peer/gtk/ComponentGraphics.class | Bin 16536 -> 17173 bytes .../awt/peer/gtk/FreetypeGlyphVector.class | Bin 8741 -> 9244 bytes .../gnu/java/awt/peer/gtk/GThreadMutex.class | Bin 439 -> 0 bytes .../peer/gtk/GThreadNativeMethodRunner.class | Bin 2869 -> 0 bytes .../gnu/java/awt/peer/gtk/GdkFontPeer.class | Bin 9155 -> 9399 bytes .../peer/gtk/GdkGraphicsConfiguration.class | Bin 3231 -> 3277 bytes .../awt/peer/gtk/GdkGraphicsEnvironment.class | Bin 2766 -> 3341 bytes .../GdkPixbufDecoder$GdkPixbufReader.class | Bin 5200 -> 5490 bytes .../GdkPixbufDecoder$GdkPixbufReaderSpi.class | Bin 1825 -> 1851 bytes .../GdkPixbufDecoder$GdkPixbufWriter.class | Bin 5158 -> 5314 bytes .../GdkPixbufDecoder$GdkPixbufWriterSpi.class | Bin 1878 -> 1904 bytes .../GdkPixbufDecoder$ImageFormatSpec.class | Bin 1003 -> 1075 bytes .../java/awt/peer/gtk/GdkPixbufDecoder.class | Bin 7774 -> 7974 bytes .../peer/gtk/GdkScreenGraphicsDevice.class | Bin 5577 -> 5668 bytes .../java/awt/peer/gtk/GtkCheckboxPeer.class | Bin 3001 -> 3093 bytes .../gnu/java/awt/peer/gtk/GtkClipboard.class | Bin 6435 -> 6419 bytes .../awt/peer/gtk/GtkClipboardNotifier.class | Bin 1567 -> 1567 bytes .../java/awt/peer/gtk/GtkComponentPeer.class | Bin 18251 -> 18274 bytes .../java/awt/peer/gtk/GtkFileDialogPeer.class | Bin 4290 -> 4290 bytes .../gnu/java/awt/peer/gtk/GtkFramePeer.class | Bin 4563 -> 4696 bytes .../lib/gnu/java/awt/peer/gtk/GtkImage.class | Bin 7420 -> 7620 bytes .../java/awt/peer/gtk/GtkImageConsumer.class | Bin 3184 -> 3314 bytes .../gnu/java/awt/peer/gtk/GtkMainThread.class | Bin 2319 -> 2319 bytes .../java/awt/peer/gtk/GtkScrollPanePeer.class | Bin 1785 -> 1777 bytes .../gnu/java/awt/peer/gtk/GtkSelection.class | Bin 7019 -> 7340 bytes .../awt/peer/gtk/GtkToolkit$LRUCache.class | Bin 672 -> 945 bytes .../gnu/java/awt/peer/gtk/GtkToolkit.class | Bin 17432 -> 18908 bytes .../gnu/java/awt/peer/gtk/GtkWindowPeer.class | Bin 7753 -> 7737 bytes .../awt/peer/gtk/VolatileImageGraphics.class | Bin 7987 -> 8035 bytes .../java/awt/peer/qt/QtComponentPeer.class | Bin 16303 -> 16405 bytes .../lib/gnu/java/awt/peer/qt/QtGraphics.class | Bin 17525 -> 17791 bytes .../lib/gnu/java/awt/peer/qt/QtToolkit.class | Bin 12257 -> 12257 bytes .../java/awt/peer/qt/QtVolatileImage$1.class | Bin 716 -> 716 bytes .../java/awt/peer/qt/QtVolatileImage.class | Bin 7103 -> 7103 bytes .../awt/peer/swing/SwingComponentPeer.class | Bin 12438 -> 12563 bytes .../awt/peer/swing/SwingMenuBarPeer.class | Bin 3584 -> 3657 bytes .../java/awt/print/JavaPrinterGraphics.class | Bin 12394 -> 12394 bytes .../gnu/java/awt/print/JavaPrinterJob.class | Bin 6418 -> 6491 bytes .../java/awt/print/PostScriptGraphics2D.class | Bin 30082 -> 30318 bytes .../gnu/java/awt/print/SpooledDocument.class | Bin 1252 -> 1325 bytes .../lib/gnu/java/beans/BeanInfoEmbryo.class | Bin 4796 -> 4851 bytes .../gnu/java/beans/decoder/ArrayHandler.class | Bin 2748 -> 2745 bytes .../gnu/java/beans/decoder/MethodFinder.class | Bin 3321 -> 3318 bytes ...ersistenceParser$ArrayHandlerCreator.class | Bin 971 -> 989 bytes ...sistenceParser$BooleanHandlerCreator.class | Bin 979 -> 997 bytes ...PersistenceParser$ByteHandlerCreator.class | Bin 967 -> 985 bytes ...PersistenceParser$CharHandlerCreator.class | Bin 967 -> 985 bytes ...ersistenceParser$ClassHandlerCreator.class | Bin 971 -> 989 bytes ...rsistenceParser$DoubleHandlerCreator.class | Bin 975 -> 993 bytes ...ersistenceParser$FloatHandlerCreator.class | Bin 971 -> 989 bytes .../PersistenceParser$IntHandlerCreator.class | Bin 963 -> 981 bytes ...PersistenceParser$JavaHandlerCreator.class | Bin 934 -> 952 bytes ...PersistenceParser$LongHandlerCreator.class | Bin 967 -> 985 bytes ...PersistenceParser$NullHandlerCreator.class | Bin 967 -> 985 bytes ...rsistenceParser$ObjectHandlerCreator.class | Bin 975 -> 993 bytes ...ersistenceParser$ShortHandlerCreator.class | Bin 971 -> 989 bytes ...rsistenceParser$StringHandlerCreator.class | Bin 975 -> 993 bytes ...PersistenceParser$VoidHandlerCreator.class | Bin 967 -> 985 bytes .../beans/decoder/PersistenceParser.class | Bin 8449 -> 8449 bytes .../lib/gnu/java/io/Base64InputStream.class | Bin 2758 -> 2762 bytes .../lib/gnu/java/lang/MainThread.class | Bin 3204 -> 3242 bytes .../gnu/java/lang/management/BeanImpl.class | Bin 15568 -> 11094 bytes .../OperatingSystemMXBeanImpl.class | Bin 1085 -> 1242 bytes .../lang/management/RuntimeMXBeanImpl.class | Bin 3865 -> 3901 bytes .../lang/management/ThreadMXBeanImpl.class | Bin 5137 -> 6515 bytes .../VMOperatingSystemMXBeanImpl.class | Bin 0 -> 393 bytes .../lang/management/VMThreadMXBeanImpl.class | Bin 1742 -> 1860 bytes .../lang/reflect/UnresolvedTypeVariable.class | Bin 1893 -> 1892 bytes .../lib/gnu/java/locale/LocaleData.class | Bin 6225 -> 6225 bytes .../lib/gnu/java/locale/LocaleHelper.class | Bin 2636 -> 1798 bytes .../classpath/lib/gnu/java/math/Fixed.class | Bin 0 -> 1290 bytes .../classpath/lib/gnu/java/net/BASE64.class | Bin 3190 -> 0 bytes .../net/DefaultContentHandlerFactory.class | Bin 1353 -> 1415 bytes .../lib/gnu/java/net/GetLocalHostAction.class | Bin 564 -> 722 bytes .../lib/gnu/java/net/HeaderFieldHelper.class | Bin 1930 -> 2166 bytes .../lib/gnu/java/net/IndexListParser.class | Bin 2568 -> 2845 bytes .../gnu/java/net/loader/JarURLLoader.class | Bin 5457 -> 6040 bytes .../lib/gnu/java/net/loader/URLLoader.class | Bin 1716 -> 1795 bytes .../net/loader/URLStreamHandlerCache.class | Bin 1273 -> 1530 bytes .../java/net/local/LocalServerSocket.class | Bin 3487 -> 3487 bytes .../lib/gnu/java/net/local/LocalSocket.class | Bin 5583 -> 5583 bytes .../java/net/protocol/ftp/FTPConnection.class | Bin 16843 -> 16992 bytes .../FTPURLConnection$ClosingInputStream.class | Bin 969 -> 969 bytes ...FTPURLConnection$ClosingOutputStream.class | Bin 977 -> 977 bytes .../net/protocol/ftp/FTPURLConnection.class | Bin 5875 -> 6380 bytes .../protocol/http/ChunkedInputStream.class | Bin 2748 -> 2676 bytes .../http/HTTPConnection$Pool$Reaper.class | Bin 1482 -> 1482 bytes .../protocol/http/HTTPConnection$Pool.class | Bin 3489 -> 3583 bytes .../net/protocol/http/HTTPConnection.class | Bin 10087 -> 10243 bytes .../protocol/http/HTTPURLConnection$1.class | Bin 976 -> 976 bytes .../net/protocol/http/HTTPURLConnection.class | Bin 12123 -> 12299 bytes .../protocol/http/Headers$HeaderElement.class | Bin 571 -> 571 bytes .../gnu/java/net/protocol/http/Headers.class | Bin 5178 -> 6192 bytes .../gnu/java/net/protocol/http/Request.class | Bin 15584 -> 15685 bytes .../protocol/http/SimpleCookieManager.class | Bin 3051 -> 3722 bytes .../jar/Connection$JarFileCache.class | Bin 2288 -> 2375 bytes .../java/net/protocol/jar/Connection.class | Bin 3397 -> 3397 bytes .../gnu/java/net/protocol/jar/Handler.class | Bin 3822 -> 3908 bytes .../lib/gnu/java/nio/ChannelInputStream.class | Bin 1104 -> 1365 bytes .../java/nio/PipeImpl$SinkChannelImpl.class | Bin 1856 -> 1906 bytes .../java/nio/PipeImpl$SourceChannelImpl.class | Bin 1865 -> 1917 bytes .../classpath/lib/gnu/java/nio/PipeImpl.class | Bin 1072 -> 1200 bytes .../java/nio/ServerSocketChannelImpl.class | Bin 2266 -> 2266 bytes .../lib/gnu/java/nio/VMChannel.class | Bin 2528 -> 2632 bytes .../java/nio/channels/FileChannelImpl.class | Bin 7914 -> 7955 bytes .../nio/charset/ByteCharset$Decoder.class | Bin 1300 -> 1392 bytes .../nio/charset/ByteCharset$Encoder.class | Bin 2042 -> 2042 bytes .../gnu/java/nio/charset/EncodingHelper.class | Bin 3137 -> 3279 bytes .../lib/gnu/java/nio/charset/Provider$1.class | Bin 581 -> 581 bytes .../lib/gnu/java/nio/charset/Provider.class | Bin 5340 -> 5340 bytes .../gnu/java/nio/charset/UTF_16Decoder.class | Bin 2637 -> 2427 bytes .../gnu/java/nio/charset/UTF_16Encoder.class | Bin 2308 -> 2258 bytes .../gnu/java/nio/charset/UTF_8$Decoder.class | Bin 3229 -> 2759 bytes .../gnu/java/nio/charset/UTF_8$Encoder.class | Bin 2124 -> 1974 bytes .../lib/gnu/java/rmi/dgc/DGCImpl_Stub.class | Bin 4340 -> 4344 bytes .../gnu/java/rmi/dgc/LeaseRenewingTask.class | Bin 3205 -> 3202 bytes .../java/rmi/registry/RegistryImpl_Stub.class | Bin 6139 -> 6151 bytes .../java/rmi/server/RMIClassLoaderImpl.class | Bin 5117 -> 5117 bytes .../server/UnicastConnectionManager$1.class | Bin 1917 -> 1917 bytes .../rmi/server/UnicastConnectionManager.class | Bin 7404 -> 7404 bytes .../java/rmi/server/UnicastRemoteCall.class | Bin 6149 -> 6149 bytes .../gnu/java/rmi/server/UnicastServer.class | Bin 6736 -> 6772 bytes .../java/rmi/server/UnicastServerRef.class | Bin 9296 -> 9293 bytes .../lib/gnu/java/security/PolicyFile$1.class | Bin 2136 -> 2136 bytes .../lib/gnu/java/security/PolicyFile.class | Bin 12883 -> 12896 bytes .../lib/gnu/java/security/Properties$1.class | Bin 753 -> 753 bytes .../lib/gnu/java/security/Properties.class | Bin 5002 -> 5002 bytes .../lib/gnu/java/security/der/DERReader.class | Bin 6819 -> 6823 bytes .../gnu/java/security/provider/Gnu$1.class | Bin 12433 -> 12433 bytes .../lib/gnu/java/security/provider/Gnu.class | Bin 805 -> 805 bytes .../provider/PKIXCertPathValidatorImpl.class | Bin 14032 -> 14116 bytes .../lib/gnu/java/security/util/Base64.class | Bin 4996 -> 0 bytes .../java/security/util/IntegerUtil$1.class | Bin 689 -> 749 bytes .../gnu/java/security/util/IntegerUtil.class | Bin 1193 -> 1193 bytes .../lib/gnu/java/security/util/Util.class | Bin 7616 -> 7620 bytes .../security/x509/X500DistinguishedName.class | Bin 11414 -> 11414 bytes .../lib/gnu/java/security/x509/X509CRL.class | Bin 9760 -> 9799 bytes .../gnu/java/security/x509/X509CRLEntry.class | Bin 5338 -> 5377 bytes .../java/security/x509/X509Certificate.class | Bin 17078 -> 18477 bytes .../x509/ext/AuthorityKeyIdentifier.class | Bin 2707 -> 2788 bytes .../security/x509/ext/BasicConstraints.class | Bin 2690 -> 2771 bytes .../java/security/x509/ext/CRLNumber.class | Bin 1879 -> 1960 bytes .../x509/ext/CertificatePolicies.class | Bin 4908 -> 6368 bytes .../security/x509/ext/ExtendedKeyUsage.class | Bin 2069 -> 2271 bytes .../security/x509/ext/Extension$Value.class | Bin 1195 -> 1195 bytes .../java/security/x509/ext/Extension.class | Bin 4712 -> 4903 bytes .../security/x509/ext/GeneralName$Kind.class | Bin 0 -> 2271 bytes .../java/security/x509/ext/GeneralName.class | Bin 0 -> 3536 bytes .../java/security/x509/ext/GeneralNames.class | Bin 3599 -> 2039 bytes .../security/x509/ext/GeneralSubtree.class | Bin 0 -> 2528 bytes .../x509/ext/IssuerAlternativeNames.class | Bin 1334 -> 1498 bytes .../gnu/java/security/x509/ext/KeyUsage.class | Bin 1954 -> 2035 bytes .../security/x509/ext/NameConstraints.class | Bin 0 -> 3099 bytes .../security/x509/ext/PolicyConstraint.class | Bin 2187 -> 2268 bytes .../security/x509/ext/PolicyMappings.class | Bin 2433 -> 2514 bytes .../x509/ext/PrivateKeyUsagePeriod.class | Bin 2082 -> 2163 bytes .../java/security/x509/ext/ReasonCode.class | Bin 1609 -> 1690 bytes .../x509/ext/SubjectAlternativeNames.class | Bin 1337 -> 1501 bytes .../x509/ext/SubjectKeyIdentifier.class | Bin 1612 -> 1693 bytes .../java/text/AttributedFormatBuffer.class | Bin 4054 -> 4193 bytes .../lib/gnu/java/text/FormatBuffer.class | Bin 613 -> 752 bytes .../java/text/FormatCharacterIterator.class | Bin 7158 -> 7254 bytes .../gnu/java/text/StringFormatBuffer.class | Bin 2306 -> 2445 bytes .../classpath/lib/gnu/java/util/Base64.class | Bin 0 -> 3647 bytes .../gnu/java/util/WeakIdentityHashMap$1.class | Bin 2951 -> 2992 bytes ...IdentityHashMap$WeakBucket$WeakEntry.class | Bin 2038 -> 2073 bytes .../WeakIdentityHashMap$WeakEntrySet.class | Bin 996 -> 996 bytes .../gnu/java/util/WeakIdentityHashMap.class | Bin 5474 -> 5494 bytes .../lib/gnu/java/util/ZoneInfo.class | Bin 15456 -> 15436 bytes .../lib/gnu/java/util/jar/JarUtils.class | Bin 8687 -> 8716 bytes .../gnu/java/util/prefs/EventDispatcher.class | Bin 1264 -> 1330 bytes .../util/prefs/FileBasedPreferences$1.class | Bin 924 -> 924 bytes .../util/prefs/FileBasedPreferences.class | Bin 4473 -> 4466 bytes .../util/prefs/GConfBasedPreferences.class | Bin 5305 -> 5363 bytes .../util/prefs/MemoryBasedPreferences.class | Bin 2204 -> 2284 bytes .../util/prefs/gconf/GConfNativePeer.class | Bin 2599 -> 2702 bytes .../lib/gnu/java/util/regex/RE.class | Bin 29673 -> 29677 bytes .../lib/gnu/java/util/regex/RETokenChar.class | Bin 2786 -> 2825 bytes .../util/regex/RETokenNamedProperty$1.class | Bin 831 -> 849 bytes .../RETokenNamedProperty$POSIXHandler.class | Bin 1238 -> 1256 bytes ...kenNamedProperty$UnicodeBlockHandler.class | Bin 948 -> 1014 bytes ...medProperty$UnicodeCategoriesHandler.class | Bin 868 -> 886 bytes ...NamedProperty$UnicodeCategoryHandler.class | Bin 782 -> 800 bytes .../util/regex/RETokenNamedProperty.class | Bin 6298 -> 6346 bytes .../gnu/java/util/regex/RETokenOneOf.class | Bin 6619 -> 6662 bytes .../regex/RETokenRepeated$DoablesFinder.class | Bin 2400 -> 2420 bytes .../RETokenRepeated$FindMatchControl.class | Bin 596 -> 675 bytes ...ETokenRepeated$FindMatchControlStack.class | Bin 1698 -> 1725 bytes .../regex/RETokenRepeated$StackedInfo.class | Bin 999 -> 1138 bytes .../gnu/java/util/regex/RETokenRepeated.class | Bin 9441 -> 9461 bytes .../gnu/javax/crypto/assembly/Cascade.class | Bin 5202 -> 5199 bytes .../gnu/javax/crypto/cipher/Blowfish.class | Bin 21891 -> 21891 bytes .../crypto/cipher/TripleDES$Context.class | Bin 732 -> 814 bytes .../gnu/javax/crypto/cipher/TripleDES.class | Bin 3879 -> 3887 bytes .../gnu/javax/crypto/jce/GnuCrypto$1.class | Bin 26862 -> 28598 bytes .../lib/gnu/javax/crypto/jce/GnuCrypto.class | Bin 1116 -> 1116 bytes .../lib/gnu/javax/crypto/jce/GnuSasl$1.class | Bin 2082 -> 2082 bytes .../lib/gnu/javax/crypto/jce/GnuSasl.class | Bin 927 -> 927 bytes .../gnu/javax/crypto/jce/cipher/PBES2.class | Bin 4591 -> 4591 bytes .../gnu/javax/crypto/keyring/Properties.class | Bin 3479 -> 3534 bytes .../javax/crypto/mac/UHash32$L1Hash32.class | Bin 3648 -> 3686 bytes .../lib/gnu/javax/crypto/prng/CSPRNG$1.class | Bin 697 -> 697 bytes .../gnu/javax/crypto/prng/CSPRNG$Poller.class | Bin 3788 -> 3779 bytes .../lib/gnu/javax/crypto/prng/CSPRNG.class | Bin 12837 -> 12816 bytes .../javax/crypto/sasl/srp/PasswordFile.class | Bin 11585 -> 11564 bytes .../gnu/javax/imageio/bmp/DecodeRLE4.class | Bin 3651 -> 3655 bytes .../gnu/javax/imageio/bmp/DecodeRLE8.class | Bin 3241 -> 3245 bytes .../gnu/javax/imageio/bmp/EncodeRLE4.class | Bin 4023 -> 4027 bytes .../gnu/javax/imageio/bmp/EncodeRLE8.class | Bin 3631 -> 3635 bytes .../javax/imageio/gif/GIFImageReader.class | Bin 5068 -> 5114 bytes .../gnu/javax/imageio/jpeg/JPEGDecoder.class | Bin 9405 -> 9409 bytes .../gnu/javax/imageio/png/PNGICCProfile.class | Bin 2711 -> 2711 bytes .../lib/gnu/javax/management/Server.class | Bin 24096 -> 24106 bytes .../lib/gnu/javax/management/Translator.class | Bin 0 -> 13369 bytes .../javax/naming/giop/CorbalocParser.class | Bin 7202 -> 7252 bytes .../giop/GiopNamingServiceFactory$1.class | Bin 908 -> 908 bytes .../giop/GiopNamingServiceFactory.class | Bin 3622 -> 3635 bytes .../lib/gnu/javax/net/ssl/Base64.class | Bin 3230 -> 0 bytes .../javax/net/ssl/PrivateCredentials.class | Bin 9537 -> 9533 bytes .../ssl/provider/AbstractHandshake$1.class | Bin 1157 -> 1157 bytes .../AbstractHandshake$CertVerifier.class | Bin 3995 -> 3995 bytes .../net/ssl/provider/AbstractHandshake.class | Bin 19585 -> 19668 bytes .../net/ssl/provider/Alert$Description.class | Bin 4176 -> 4176 bytes .../javax/net/ssl/provider/Alert$Level.class | Bin 1724 -> 1724 bytes .../gnu/javax/net/ssl/provider/Alert.class | Bin 3279 -> 3279 bytes .../net/ssl/provider/AlertException.class | Bin 1895 -> 2000 bytes .../javax/net/ssl/provider/Certificate.class | Bin 3965 -> 4045 bytes ...ificateRequest$ClientCertificateType.class | Bin 2127 -> 2127 bytes .../net/ssl/provider/CertificateRequest.class | Bin 2520 -> 2577 bytes .../provider/CertificateRequestBuilder.class | Bin 2972 -> 3027 bytes ...ateStatusRequest$ResponderIdIterator.class | Bin 1355 -> 1355 bytes .../provider/CertificateStatusRequest.class | Bin 5846 -> 5904 bytes .../CertificateURL$CertChainType.class | Bin 1447 -> 1447 bytes .../provider/CertificateURL$Iterator.class | Bin 1434 -> 1529 bytes .../net/ssl/provider/CertificateURL.class | Bin 5717 -> 5775 bytes .../net/ssl/provider/CertificateVerify.class | Bin 1646 -> 1726 bytes .../provider/CipherSuiteList$Iterator.class | Bin 2597 -> 2597 bytes .../net/ssl/provider/CipherSuiteList.class | Bin 4200 -> 4200 bytes .../ClientCertificateTypeList$Iterator.class | Bin 2872 -> 2955 bytes .../provider/ClientCertificateTypeList.class | Bin 3931 -> 4014 bytes .../ClientHandshake$ClientDHGen.class | Bin 3697 -> 3790 bytes .../ssl/provider/ClientHandshake$RSAGen.class | Bin 3763 -> 3836 bytes .../ssl/provider/ClientHandshake$State.class | Bin 2213 -> 2213 bytes .../net/ssl/provider/ClientHandshake.class | Bin 30697 -> 31108 bytes .../javax/net/ssl/provider/ClientHello.class | Bin 5069 -> 5149 bytes .../net/ssl/provider/ClientKeyExchange.class | Bin 3437 -> 3517 bytes .../CompressionMethodList$Iterator.class | Bin 2681 -> 2681 bytes .../ssl/provider/CompressionMethodList.class | Bin 3860 -> 3860 bytes .../net/ssl/provider/DelegatedTask.class | Bin 1606 -> 1599 bytes .../net/ssl/provider/Extension$Type.class | Bin 1970 -> 1970 bytes .../ExtensionList$ExtensionsIterator.class | Bin 2697 -> 2697 bytes .../net/ssl/provider/ExtensionList.class | Bin 5666 -> 5681 bytes .../gnu/javax/net/ssl/provider/Finished.class | Bin 3117 -> 3197 bytes .../net/ssl/provider/Handshake$Type.class | Bin 2593 -> 2593 bytes .../javax/net/ssl/provider/HelloRequest.class | Bin 905 -> 985 bytes .../gnu/javax/net/ssl/provider/Jessie$1.class | Bin 1944 -> 1944 bytes .../gnu/javax/net/ssl/provider/Jessie.class | Bin 943 -> 943 bytes .../net/ssl/provider/MaxFragmentLength.class | Bin 1780 -> 1861 bytes .../net/ssl/provider/SSLEngineImpl$Mode.class | Bin 1197 -> 1197 bytes .../net/ssl/provider/SSLEngineImpl.class | Bin 21687 -> 21827 bytes .../ssl/provider/SSLRSASignatureImpl.class | Bin 5048 -> 5048 bytes .../net/ssl/provider/SSLSocketImpl$1.class | Bin 885 -> 885 bytes .../SSLSocketImpl$SocketInputStream.class | Bin 3668 -> 3711 bytes .../SSLSocketImpl$SocketOutputStream.class | Bin 3392 -> 3435 bytes .../net/ssl/provider/SSLSocketImpl.class | Bin 15480 -> 15523 bytes .../ssl/provider/ServerHandshake$State.class | Bin 2284 -> 2284 bytes .../net/ssl/provider/ServerHandshake.class | Bin 34821 -> 35303 bytes .../javax/net/ssl/provider/ServerHello.class | Bin 4424 -> 4504 bytes .../net/ssl/provider/ServerHelloDone.class | Bin 988 -> 1068 bytes .../net/ssl/provider/ServerKeyExchange.class | Bin 4255 -> 4335 bytes .../provider/ServerNameList$Iterator.class | Bin 1410 -> 1489 bytes .../provider/ServerNameList$NameType.class | Bin 1354 -> 1354 bytes .../provider/ServerNameList$ServerName.class | Bin 3814 -> 3833 bytes .../net/ssl/provider/ServerNameList.class | Bin 4498 -> 4556 bytes .../javax/net/ssl/provider/SessionImpl.class | Bin 4385 -> 4432 bytes .../ssl/provider/SimpleSessionContext$1.class | Bin 1347 -> 1391 bytes .../ssl/provider/SimpleSessionContext.class | Bin 2957 -> 3005 bytes .../net/ssl/provider/TruncatedHMAC.class | Bin 1125 -> 1206 bytes ...ustedAuthorities$AuthoritiesIterator.class | Bin 1497 -> 1592 bytes .../TrustedAuthorities$IdentifierType.class | Bin 1597 -> 1597 bytes .../TrustedAuthorities$TrustedAuthority.class | Bin 3221 -> 3246 bytes .../net/ssl/provider/TrustedAuthorities.class | Bin 3425 -> 3483 bytes .../provider/UnresolvedExtensionValue.class | Bin 1413 -> 1494 bytes .../gnu/javax/net/ssl/provider/Util$1.class | Bin 692 -> 692 bytes .../gnu/javax/net/ssl/provider/Util$2.class | Bin 725 -> 725 bytes .../lib/gnu/javax/net/ssl/provider/Util.class | Bin 7423 -> 7423 bytes .../provider/X500PrincipalList$Iterator.class | Bin 2566 -> 2566 bytes .../net/ssl/provider/X500PrincipalList.class | Bin 4562 -> 4562 bytes .../X509KeyManagerFactory$Manager.class | Bin 5311 -> 5309 bytes .../X509TrustManagerFactory$Manager.class | Bin 3262 -> 3261 bytes .../lib/gnu/javax/print/CupsServer.class | Bin 4232 -> 4214 bytes .../print/PrinterDialog$AppearancePanel.class | Bin 2445 -> 2445 bytes .../print/PrinterDialog$PageSetupPanel.class | Bin 2129 -> 2129 bytes .../lib/gnu/javax/print/PrinterDialog.class | Bin 7369 -> 7369 bytes .../gnu/javax/print/ipp/DocPrintJobImpl.class | Bin 10253 -> 10244 bytes .../gnu/javax/print/ipp/IppPrintService.class | Bin 20077 -> 20186 bytes .../ipp/IppResponse$ResponseReader.class | Bin 13159 -> 13156 bytes .../gnu/javax/print/ipp/IppUtilities.class | Bin 15597 -> 15594 bytes .../PortableRemoteObjectDelegateImpl.class | Bin 7327 -> 7387 bytes .../gnu/javax/rmi/CORBA/RmiUtilities$1.class | Bin 863 -> 863 bytes .../gnu/javax/rmi/CORBA/RmiUtilities$2.class | Bin 822 -> 822 bytes .../gnu/javax/rmi/CORBA/RmiUtilities.class | Bin 18745 -> 18745 bytes .../javax/rmi/CORBA/UtilDelegateImpl.class | Bin 12840 -> 12877 bytes .../auth/callback/GnuCallbacks$1.class | Bin 1268 -> 1268 bytes .../security/auth/callback/GnuCallbacks.class | Bin 745 -> 745 bytes .../callback/SwingCallbackHandler$1.class | Bin 1388 -> 1388 bytes .../callback/SwingCallbackHandler$2.class | Bin 1802 -> 1802 bytes .../callback/SwingCallbackHandler$3.class | Bin 1869 -> 1869 bytes .../callback/SwingCallbackHandler$4.class | Bin 1692 -> 1692 bytes .../callback/SwingCallbackHandler$5.class | Bin 1727 -> 1727 bytes .../callback/SwingCallbackHandler$6.class | Bin 1714 -> 1714 bytes .../callback/SwingCallbackHandler$7.class | Bin 1255 -> 1255 bytes .../auth/callback/SwingCallbackHandler.class | Bin 12162 -> 12162 bytes .../auth/login/ConfigFileParser.class | Bin 5453 -> 5506 bytes .../auth/login/GnuConfiguration.class | Bin 5617 -> 5608 bytes .../sound/midi/alsa/AlsaInputPortDevice.class | Bin 1398 -> 1591 bytes .../AlsaMidiDeviceProvider$AlsaInfo.class | Bin 732 -> 780 bytes ...MidiDeviceProvider$AlsaInputPortInfo.class | Bin 919 -> 942 bytes ...idiDeviceProvider$AlsaOutputPortInfo.class | Bin 923 -> 946 bytes .../AlsaMidiDeviceProvider$AlsaPortInfo.class | Bin 753 -> 772 bytes ...MidiDeviceProvider$AlsaSequencerInfo.class | Bin 870 -> 889 bytes .../midi/alsa/AlsaMidiDeviceProvider.class | Bin 2276 -> 2324 bytes .../midi/alsa/AlsaMidiSequencerDevice.class | Bin 5607 -> 5776 bytes .../midi/alsa/AlsaOutputPortDevice.class | Bin 1274 -> 1441 bytes .../alsa/AlsaPortDevice$AlsaReceiver.class | Bin 900 -> 900 bytes .../alsa/AlsaPortDevice$AlsaTransmitter.class | Bin 1602 -> 1679 bytes .../sound/midi/alsa/AlsaPortDevice.class | Bin 912 -> 1109 bytes .../midi/dssi/DSSIMidiDeviceProvider$1.class | Bin 748 -> 748 bytes .../DSSIMidiDeviceProvider$DSSIInfo.class | Bin 849 -> 897 bytes .../midi/dssi/DSSIMidiDeviceProvider.class | Bin 3095 -> 3143 bytes .../dssi/DSSISynthesizer$DSSIInstrument.class | Bin 978 -> 978 bytes .../DSSISynthesizer$DSSIMidiChannel.class | Bin 3148 -> 3148 bytes .../dssi/DSSISynthesizer$DSSIReceiver.class | Bin 1835 -> 1835 bytes .../dssi/DSSISynthesizer$DSSISoundbank.class | Bin 2595 -> 2595 bytes .../sound/midi/dssi/DSSISynthesizer.class | Bin 6305 -> 6391 bytes .../sampled/AU/AUReader$AUFormatType.class | Bin 507 -> 563 bytes .../sound/sampled/AU/AUReader$AUHeader.class | Bin 2587 -> 2690 bytes .../gnu/javax/sound/sampled/AU/AUReader.class | Bin 2634 -> 2634 bytes .../javax/sound/sampled/WAV/WAVReader.class | Bin 4349 -> 4406 bytes .../html/CharacterAttributeTranslator.class | Bin 3502 -> 3591 bytes .../text/html/ImageViewIconFactory.class | Bin 852 -> 852 bytes .../swing/text/html/css/CSSParser$1.class | Bin 1508 -> 1508 bytes .../javax/swing/text/html/css/CSSParser.class | Bin 5677 -> 5677 bytes .../parser/GnuParserDelegator$gnuParser.class | Bin 3083 -> 3231 bytes .../text/html/parser/GnuParserDelegator.class | Bin 1712 -> 1778 bytes .../html/parser/SmallHtmlAttributeSet$1.class | Bin 1076 -> 1076 bytes .../html/parser/SmallHtmlAttributeSet.class | Bin 3164 -> 3230 bytes .../javax/swing/text/html/parser/gnuDTD.class | Bin 6936 -> 6988 bytes .../text/html/parser/htmlAttributeSet$1.class | Bin 1270 -> 1332 bytes .../text/html/parser/htmlAttributeSet.class | Bin 2379 -> 2441 bytes .../text/html/parser/htmlValidator$hTag.class | Bin 1850 -> 1932 bytes .../text/html/parser/htmlValidator.class | Bin 10443 -> 10489 bytes .../text/html/parser/support/Parser$1.class | Bin 859 -> 859 bytes .../text/html/parser/support/Parser$2.class | Bin 1742 -> 1742 bytes .../text/html/parser/support/Parser.class | Bin 20690 -> 20727 bytes .../xml/aelfred2/XmlParser$EntityInfo.class | Bin 528 -> 610 bytes .../lib/gnu/xml/aelfred2/XmlParser.class | Bin 52439 -> 52436 bytes .../lib/gnu/xml/dom/Consumer$Backdoor.class | Bin 5882 -> 5934 bytes .../classpath/lib/gnu/xml/dom/Consumer.class | Bin 851 -> 911 bytes .../classpath/lib/gnu/xml/dom/DomAttr.class | Bin 5205 -> 5209 bytes .../lib/gnu/xml/dom/DomDocument.class | Bin 23664 -> 23668 bytes .../lib/gnu/xml/dom/DomDocumentBuilder.class | Bin 4375 -> 4805 bytes .../lib/gnu/xml/dom/DomElement.class | Bin 8101 -> 8105 bytes .../lib/gnu/xml/dom/DomNode$ShadowList.class | Bin 1025 -> 1048 bytes .../classpath/lib/gnu/xml/dom/DomNode.class | Bin 22734 -> 22818 bytes .../gnu/xml/dom/html2/DomHTMLDocument.class | Bin 10676 -> 10673 bytes .../gnu/xml/dom/html2/DomHTMLElement.class | Bin 4725 -> 4795 bytes .../lib/gnu/xml/dom/html2/DomHTMLParser.class | Bin 4808 -> 4877 bytes .../lib/gnu/xml/dom/ls/DomLSParser.class | Bin 10699 -> 10784 bytes .../lib/gnu/xml/libxmlj/dom/GnomeNode.class | Bin 9182 -> 9218 bytes .../lib/gnu/xml/libxmlj/sax/Namespaces.class | Bin 1840 -> 1831 bytes .../pipeline/PipelineFactory$Pipeline.class | Bin 1433 -> 1449 bytes .../xml/pipeline/PipelineFactory$Stage.class | Bin 5275 -> 5294 bytes .../gnu/xml/pipeline/PipelineFactory.class | Bin 3857 -> 3857 bytes ...alidationConsumer$ChildrenRecognizer.class | Bin 5547 -> 5616 bytes .../ValidationConsumer$ElementInfo.class | Bin 1680 -> 1834 bytes .../ValidationConsumer$EmptyRecognizer.class | Bin 850 -> 946 bytes .../ValidationConsumer$MixedRecognizer.class | Bin 2369 -> 2412 bytes .../ValidationConsumer$Recognizer.class | Bin 1170 -> 1192 bytes .../gnu/xml/pipeline/ValidationConsumer.class | Bin 18791 -> 18791 bytes .../lib/gnu/xml/pipeline/XIncludeFilter.class | Bin 10814 -> 10814 bytes .../lib/gnu/xml/stream/SAXParser.class | Bin 22005 -> 22221 bytes .../lib/gnu/xml/stream/SAXParserFactory.class | Bin 2605 -> 2641 bytes .../stream/XMLParser$AnyContentModel.class | Bin 594 -> 617 bytes .../gnu/xml/stream/XMLParser$Attribute.class | Bin 1789 -> 1805 bytes .../xml/stream/XMLParser$AttributeDecl.class | Bin 897 -> 897 bytes .../xml/stream/XMLParser$ContentModel.class | Bin 787 -> 787 bytes .../stream/XMLParser$ContentParticle.class | Bin 595 -> 595 bytes .../gnu/xml/stream/XMLParser$Doctype.class | Bin 5857 -> 5914 bytes .../XMLParser$ElementContentModel.class | Bin 964 -> 1059 bytes .../stream/XMLParser$EmptyContentModel.class | Bin 600 -> 623 bytes .../xml/stream/XMLParser$ExternalIds.class | Bin 556 -> 556 bytes .../lib/gnu/xml/stream/XMLParser$Input.class | Bin 6256 -> 6256 bytes .../stream/XMLParser$MixedContentModel.class | Bin 965 -> 988 bytes .../lib/gnu/xml/stream/XMLParser.class | Bin 67815 -> 67987 bytes .../lib/gnu/xml/transform/Bindings.class | Bin 5257 -> 5240 bytes .../xml/transform/GenerateIdFunction.class | Bin 3112 -> 3109 bytes .../lib/gnu/xml/transform/SAXSerializer.class | Bin 6506 -> 6494 bytes .../gnu/xml/transform/StreamSerializer.class | Bin 17808 -> 17799 bytes .../lib/gnu/xml/transform/Stylesheet.class | Bin 38666 -> 38670 bytes .../TransformerOutputProperties.class | Bin 3335 -> 3339 bytes .../lib/gnu/xml/transform/XSLComparator.class | Bin 2203 -> 2207 bytes ...SAXNullTransformerFactory$DomHandler.class | Bin 997 -> 1042 bytes ...AXNullTransformerFactory$DomTerminus.class | Bin 874 -> 955 bytes ...llTransformerFactory$ListenerAdapter.class | Bin 2042 -> 2093 bytes ...AXNullTransformerFactory$NullHandler.class | Bin 3212 -> 3234 bytes ...llTransformerFactory$NullTransformer.class | Bin 5136 -> 5158 bytes .../xml/util/SAXNullTransformerFactory.class | Bin 5459 -> 5459 bytes .../lib/gnu/xml/util/XCat$Catalog.class | Bin 5817 -> 5842 bytes .../lib/gnu/xml/util/XCat$Loader.class | Bin 10205 -> 10223 bytes libjava/classpath/lib/gnu/xml/util/XCat.class | Bin 7607 -> 7607 bytes .../validation/datatype/DateTimeType.class | Bin 4310 -> 4314 bytes .../xml/validation/datatype/DateType.class | Bin 3469 -> 3473 bytes .../xml/validation/datatype/TimeType.class | Bin 3776 -> 3780 bytes .../relaxng/FullSyntaxBuilder.class | Bin 32653 -> 32644 bytes .../lib/gnu/xml/xpath/XPathImpl.class | Bin 3800 -> 3902 bytes .../lib/gnu/xml/xpath/XPathParser.class | Bin 15434 -> 15438 bytes .../lib/gnu/xml/xpath/XPathTokenizer.class | Bin 7206 -> 7255 bytes .../java/applet/Applet$AccessibleApplet.class | Bin 1235 -> 1284 bytes libjava/classpath/lib/java/awt/AWTEvent.class | Bin 3487 -> 3646 bytes .../lib/java/awt/AWTKeyStroke$1.class | Bin 1001 -> 1061 bytes .../lib/java/awt/AWTKeyStroke$2.class | Bin 1451 -> 1451 bytes .../lib/java/awt/AWTKeyStroke$3.class | Bin 1214 -> 1214 bytes .../classpath/lib/java/awt/AWTKeyStroke.class | Bin 7354 -> 7351 bytes .../lib/java/awt/AlphaComposite$1.class | Bin 715 -> 775 bytes .../lib/java/awt/AlphaComposite.class | Bin 3106 -> 3106 bytes .../classpath/lib/java/awt/BasicStroke.class | Bin 11709 -> 11749 bytes .../java/awt/Button$AccessibleAWTButton.class | Bin 2322 -> 2379 bytes .../java/awt/Canvas$AccessibleAWTCanvas.class | Bin 783 -> 840 bytes .../awt/Canvas$CanvasBltBufferStrategy.class | Bin 947 -> 1022 bytes .../awt/Canvas$CanvasFlipBufferStrategy.class | Bin 972 -> 1048 bytes libjava/classpath/lib/java/awt/Canvas.class | Bin 3756 -> 3606 bytes .../classpath/lib/java/awt/CardLayout.class | Bin 6645 -> 6652 bytes .../awt/Checkbox$AccessibleAWTCheckbox.class | Bin 2701 -> 2758 bytes ...nuItem$AccessibleAWTCheckboxMenuItem.class | Bin 734 -> 789 bytes .../java/awt/Choice$AccessibleAWTChoice.class | Bin 1502 -> 1559 bytes ...ponent$AccessibleAWTComponentHandler.class | Bin 1391 -> 1391 bytes ...TComponent$AccessibleAWTFocusHandler.class | Bin 1188 -> 1188 bytes .../Component$AccessibleAWTComponent.class | Bin 7344 -> 7344 bytes .../awt/Component$BltBufferStrategy.class | Bin 3260 -> 3283 bytes .../awt/Component$FlipBufferStrategy.class | Bin 3406 -> 3475 bytes ...ent$HeavyweightInLightweightListener.class | Bin 1500 -> 1500 bytes .../classpath/lib/java/awt/Component.class | Bin 57337 -> 57212 bytes .../lib/java/awt/ComponentOrientation.class | Bin 1996 -> 1986 bytes .../Container$AccessibleAWTContainer.class | Bin 1986 -> 2043 bytes .../awt/Container$GfxPaintAllVisitor.class | Bin 801 -> 822 bytes .../java/awt/Container$GfxPaintVisitor.class | Bin 789 -> 810 bytes .../awt/Container$GfxPrintAllVisitor.class | Bin 801 -> 822 bytes .../java/awt/Container$GfxPrintVisitor.class | Bin 789 -> 810 bytes .../classpath/lib/java/awt/Container.class | Bin 25778 -> 25778 bytes .../lib/java/awt/Desktop$Action.class | Bin 0 -> 1181 bytes libjava/classpath/lib/java/awt/Desktop.class | Bin 0 -> 1954 bytes .../java/awt/Dialog$AccessibleAWTDialog.class | Bin 1304 -> 1355 bytes .../lib/java/awt/EventDispatchThread.class | Bin 1751 -> 1789 bytes .../classpath/lib/java/awt/EventQueue.class | Bin 7265 -> 7146 bytes libjava/classpath/lib/java/awt/Font.class | Bin 14714 -> 14900 bytes .../java/awt/Frame$AccessibleAWTFrame.class | Bin 1302 -> 1353 bytes libjava/classpath/lib/java/awt/Frame.class | Bin 7975 -> 8696 bytes .../lib/java/awt/GradientPaint.class | Bin 2918 -> 2957 bytes .../classpath/lib/java/awt/Graphics2D.class | Bin 2479 -> 2578 bytes .../lib/java/awt/GraphicsConfiguration.class | Bin 1797 -> 2064 bytes .../java/awt/Label$AccessibleAWTLabel.class | Bin 900 -> 957 bytes ...ssibleAWTList$AccessibleAWTListChild.class | Bin 1888 -> 1945 bytes .../lib/java/awt/List$AccessibleAWTList.class | Bin 3495 -> 3552 bytes .../lib/java/awt/Menu$AccessibleAWTMenu.class | Bin 760 -> 815 bytes .../awt/MenuBar$AccessibleAWTMenuBar.class | Bin 806 -> 871 bytes .../awt/MenuItem$AccessibleAWTMenuItem.class | Bin 2507 -> 2572 bytes .../java/awt/Panel$AccessibleAWTPanel.class | Bin 773 -> 830 bytes .../classpath/lib/java/awt/Polygon$1.class | Bin 1484 -> 1484 bytes libjava/classpath/lib/java/awt/Polygon.class | Bin 5355 -> 5355 bytes .../PopupMenu$AccessibleAWTPopupMenu.class | Bin 799 -> 846 bytes .../lib/java/awt/RenderingHints$KeyImpl.class | Bin 956 -> 970 bytes .../lib/java/awt/RenderingHints.class | Bin 7812 -> 7886 bytes libjava/classpath/lib/java/awt/Robot$1.class | Bin 526 -> 526 bytes libjava/classpath/lib/java/awt/Robot.class | Bin 5749 -> 5749 bytes .../ScrollPane$AccessibleAWTScrollPane.class | Bin 820 -> 877 bytes .../Scrollbar$AccessibleAWTScrollBar.class | Bin 2221 -> 2278 bytes .../awt/TextArea$AccessibleAWTTextArea.class | Bin 734 -> 799 bytes ...Component$AccessibleAWTTextComponent.class | Bin 4191 -> 4248 bytes .../TextField$AccessibleAWTTextField.class | Bin 743 -> 808 bytes .../classpath/lib/java/awt/Toolkit$1.class | Bin 616 -> 616 bytes .../classpath/lib/java/awt/Toolkit$2.class | Bin 3538 -> 3538 bytes libjava/classpath/lib/java/awt/Toolkit.class | Bin 14310 -> 14598 bytes .../java/awt/Window$AccessibleAWTWindow.class | Bin 1243 -> 1300 bytes .../awt/Window$WindowBltBufferStrategy.class | Bin 947 -> 1022 bytes .../awt/Window$WindowFlipBufferStrategy.class | Bin 972 -> 1048 bytes libjava/classpath/lib/java/awt/Window.class | Bin 17825 -> 17703 bytes .../lib/java/awt/datatransfer/MimeType.class | Bin 4293 -> 4348 bytes .../awt/datatransfer/SystemFlavorMap$1.class | Bin 0 -> 2065 bytes .../awt/datatransfer/SystemFlavorMap.class | Bin 5169 -> 7485 bytes .../lib/java/awt/font/GraphicAttribute.class | Bin 1382 -> 1452 bytes .../java/awt/font/ImageGraphicAttribute.class | Bin 2224 -> 2263 bytes .../lib/java/awt/font/NumericShaper.class | Bin 4638 -> 4709 bytes .../java/awt/font/ShapeGraphicAttribute.class | Bin 2387 -> 2426 bytes .../lib/java/awt/font/TextAttribute.class | Bin 4769 -> 4855 bytes .../lib/java/awt/font/TextLayout.class | Bin 23555 -> 23678 bytes .../lib/java/awt/geom/AffineTransform.class | Bin 12490 -> 12530 bytes .../lib/java/awt/geom/Arc2D$Double.class | Bin 2281 -> 2289 bytes .../lib/java/awt/geom/Arc2D$Float.class | Bin 2314 -> 2322 bytes .../classpath/lib/java/awt/geom/Arc2D.class | Bin 8744 -> 8760 bytes .../lib/java/awt/geom/Area$AreaIterator.class | Bin 2481 -> 2499 bytes .../lib/java/awt/geom/Area$CubicSegment.class | Bin 8297 -> 8483 bytes .../lib/java/awt/geom/Area$Intersection.class | Bin 672 -> 722 bytes .../lib/java/awt/geom/Area$LineSegment.class | Bin 5193 -> 5372 bytes .../lib/java/awt/geom/Area$QuadSegment.class | Bin 6012 -> 6191 bytes .../lib/java/awt/geom/Area$Segment.class | Bin 6120 -> 6182 bytes .../classpath/lib/java/awt/geom/Area.class | Bin 23638 -> 23671 bytes .../lib/java/awt/geom/CubicCurve2D$1.class | Bin 2038 -> 2038 bytes .../java/awt/geom/CubicCurve2D$Double.class | Bin 2454 -> 2528 bytes .../java/awt/geom/CubicCurve2D$Float.class | Bin 2694 -> 2768 bytes .../lib/java/awt/geom/CubicCurve2D.class | Bin 9086 -> 9086 bytes .../lib/java/awt/geom/Ellipse2D$Double.class | Bin 1308 -> 1347 bytes .../lib/java/awt/geom/Ellipse2D$Float.class | Bin 1459 -> 1498 bytes .../lib/java/awt/geom/Ellipse2D.class | Bin 1989 -> 2052 bytes .../GeneralPath$GeneralPathIterator.class | Bin 1905 -> 1905 bytes .../lib/java/awt/geom/GeneralPath.class | Bin 10364 -> 10388 bytes .../lib/java/awt/geom/Line2D$1.class | Bin 1797 -> 1797 bytes .../lib/java/awt/geom/Line2D$Double.class | Bin 1886 -> 1933 bytes .../lib/java/awt/geom/Line2D$Float.class | Bin 2038 -> 2085 bytes .../classpath/lib/java/awt/geom/Line2D.class | Bin 7219 -> 7219 bytes .../lib/java/awt/geom/QuadCurve2D$1.class | Bin 1927 -> 1927 bytes .../java/awt/geom/QuadCurve2D$Double.class | Bin 2038 -> 2112 bytes .../lib/java/awt/geom/QuadCurve2D$Float.class | Bin 2232 -> 2306 bytes .../lib/java/awt/geom/QuadCurve2D.class | Bin 7376 -> 7376 bytes .../lib/java/awt/geom/Rectangle2D$1.class | Bin 1986 -> 1986 bytes .../lib/java/awt/geom/Rectangle2D.class | Bin 5149 -> 5149 bytes .../lib/java/awt/geom/RectangularShape.class | Bin 3979 -> 4019 bytes .../java/awt/geom/RoundRectangle2D$1.class | Bin 3069 -> 3111 bytes .../awt/geom/RoundRectangle2D$Double.class | Bin 1665 -> 1704 bytes .../awt/geom/RoundRectangle2D$Float.class | Bin 1862 -> 1901 bytes .../lib/java/awt/geom/RoundRectangle2D.class | Bin 2622 -> 2638 bytes .../lib/java/awt/im/InputContext.class | Bin 5168 -> 5265 bytes .../lib/java/awt/im/InputMethodRequests.class | Bin 623 -> 762 bytes .../lib/java/awt/im/InputSubset.class | Bin 915 -> 980 bytes .../lib/java/awt/im/spi/InputMethod.class | Bin 735 -> 832 bytes .../java/awt/image/AffineTransformOp.class | Bin 9727 -> 9797 bytes .../lib/java/awt/image/BufferedImage$1.class | Bin 2235 -> 2308 bytes .../lib/java/awt/image/BufferedImage.class | Bin 14436 -> 14708 bytes .../lib/java/awt/image/ColorConvertOp.class | Bin 7929 -> 7999 bytes .../java/awt/image/ComponentSampleModel.class | Bin 10746 -> 7959 bytes .../lib/java/awt/image/IndexColorModel.class | Bin 7385 -> 7590 bytes .../lib/java/awt/image/PixelGrabber$1.class | Bin 826 -> 826 bytes .../lib/java/awt/image/PixelGrabber.class | Bin 6014 -> 6014 bytes .../image/SinglePixelPackedSampleModel.class | Bin 7808 -> 7186 bytes .../lib/java/awt/peer/ComponentPeer.class | Bin 2110 -> 2235 bytes .../lib/java/awt/peer/DesktopPeer.class | Bin 0 -> 491 bytes .../lib/java/awt/print/PrinterJob.class | Bin 2499 -> 3026 bytes .../java/beans/ConstructorProperties.class | Bin 0 -> 483 bytes .../classpath/lib/java/beans/Encoder$1.class | Bin 623 -> 623 bytes .../classpath/lib/java/beans/Encoder.class | Bin 5974 -> 5974 bytes .../java/beans/PropertyChangeSupport.class | Bin 7022 -> 7074 bytes .../java/beans/VetoableChangeSupport.class | Bin 6761 -> 6813 bytes .../classpath/lib/java/beans/XMLEncoder.class | Bin 3443 -> 3443 bytes ...BeanContextServicesSupport$BCSSChild.class | Bin 892 -> 958 bytes ...nContextServicesSupport$ServiceLease.class | Bin 996 -> 1014 bytes ...ontextServicesSupport$ServiceRequest.class | Bin 1145 -> 1163 bytes .../BeanContextServicesSupport.class | Bin 12765 -> 12828 bytes .../lib/java/io/DeleteFileHelper$1.class | Bin 739 -> 739 bytes .../lib/java/io/DeleteFileHelper.class | Bin 1228 -> 1228 bytes libjava/classpath/lib/java/io/File.class | Bin 13330 -> 14275 bytes .../lib/java/io/ObjectInputStream$1.class | Bin 1152 -> 1152 bytes .../lib/java/io/ObjectInputStream$2.class | Bin 6148 -> 6167 bytes .../java/io/ObjectInputStream$GetField.class | Bin 1025 -> 1025 bytes ...jectInputStream$ValidatorAndPriority.class | Bin 786 -> 786 bytes .../lib/java/io/ObjectInputStream.class | Bin 29581 -> 30634 bytes .../lib/java/io/ObjectOutputStream$1.class | Bin 4699 -> 4718 bytes .../java/io/ObjectOutputStream$PutField.class | Bin 818 -> 818 bytes .../lib/java/io/ObjectOutputStream.class | Bin 18198 -> 18476 bytes .../lib/java/io/ObjectStreamClass$1.class | Bin 946 -> 946 bytes .../lib/java/io/ObjectStreamClass$2.class | Bin 834 -> 834 bytes .../lib/java/io/ObjectStreamClass.class | Bin 17956 -> 17956 bytes .../lib/java/io/ObjectStreamField$1.class | Bin 810 -> 810 bytes .../lib/java/io/ObjectStreamField.class | Bin 6794 -> 6794 bytes .../lib/java/io/StreamTokenizer.class | Bin 6870 -> 6870 bytes .../Character$UnicodeBlock$NameType.class | Bin 1270 -> 1270 bytes .../java/lang/Character$UnicodeBlock.class | Bin 18175 -> 18189 bytes .../classpath/lib/java/lang/Character.class | Bin 13096 -> 13096 bytes libjava/classpath/lib/java/lang/Class$1.class | Bin 0 -> 677 bytes libjava/classpath/lib/java/lang/Class.class | Bin 15250 -> 15635 bytes .../classpath/lib/java/lang/ClassLoader.class | Bin 12510 -> 12507 bytes libjava/classpath/lib/java/lang/Enum.class | Bin 2931 -> 3093 bytes libjava/classpath/lib/java/lang/Package.class | Bin 5278 -> 5277 bytes .../lib/java/lang/PosixProcess.class | Bin 4098 -> 4098 bytes .../lib/java/lang/ProcessBuilder.class | Bin 2812 -> 2860 bytes .../lib/java/lang/SecurityManager$1.class | Bin 871 -> 871 bytes .../lib/java/lang/SecurityManager.class | Bin 9305 -> 9305 bytes .../classpath/lib/java/lang/StrictMath.class | Bin 24574 -> 24574 bytes .../String$CaseInsensitiveComparator.class | Bin 953 -> 953 bytes libjava/classpath/lib/java/lang/String.class | Bin 10265 -> 10265 bytes .../lang/System$EnvironmentCollection.class | Bin 2428 -> 2428 bytes .../lib/java/lang/System$EnvironmentMap.class | Bin 3407 -> 3464 bytes .../lib/java/lang/System$EnvironmentSet.class | Bin 1021 -> 1053 bytes libjava/classpath/lib/java/lang/System.class | Bin 5896 -> 6168 bytes .../lib/java/lang/Thread$State.class | Bin 1242 -> 1242 bytes libjava/classpath/lib/java/lang/Thread.class | Bin 10274 -> 10274 bytes .../classpath/lib/java/lang/ThreadGroup.class | Bin 8558 -> 8616 bytes .../classpath/lib/java/lang/VMCompiler.class | Bin 6711 -> 6752 bytes .../classpath/lib/java/lang/VMProcess.class | Bin 1926 -> 1962 bytes .../lib/java/lang/management/LockInfo.class | Bin 0 -> 1169 bytes ...tFactory$ManagementInvocationHandler.class | Bin 0 -> 5238 bytes .../lang/management/ManagementFactory.class | Bin 8693 -> 11126 bytes .../java/lang/management/MemoryUsage.class | Bin 3061 -> 3087 bytes .../java/lang/management/MonitorInfo.class | Bin 0 -> 2410 bytes .../management/OperatingSystemMXBean.class | Bin 263 -> 300 bytes .../lib/java/lang/management/ThreadInfo.class | Bin 7798 -> 11980 bytes .../java/lang/management/ThreadMXBean.class | Bin 1008 -> 1236 bytes .../lang/reflect/Proxy$ClassFactory.class | Bin 11555 -> 11575 bytes .../java/lang/reflect/Proxy$ProxyData.class | Bin 4102 -> 4144 bytes .../lang/reflect/Proxy$ProxySignature.class | Bin 3655 -> 3649 bytes .../lib/java/lang/reflect/Proxy.class | Bin 4465 -> 4462 bytes .../lib/java/lang/reflect/VMProxy.class | Bin 1005 -> 1116 bytes .../classpath/lib/java/math/BigInteger.class | Bin 30692 -> 30684 bytes .../lib/java/net/DatagramSocket.class | Bin 10347 -> 10333 bytes .../lib/java/net/MimeTypeMapper.class | Bin 11230 -> 11632 bytes .../lib/java/net/MulticastSocket.class | Bin 6058 -> 6058 bytes .../classpath/lib/java/net/Proxy$Type.class | Bin 1121 -> 1121 bytes .../lib/java/net/ResolverCache.class | Bin 3355 -> 3512 bytes .../classpath/lib/java/net/ServerSocket.class | Bin 6796 -> 6899 bytes libjava/classpath/lib/java/net/Socket.class | Bin 11289 -> 11464 bytes libjava/classpath/lib/java/net/URI.class | Bin 16370 -> 16397 bytes libjava/classpath/lib/java/net/URL$1.class | Bin 629 -> 788 bytes libjava/classpath/lib/java/net/URL.class | Bin 10907 -> 11000 bytes .../lib/java/net/URLClassLoader$1.class | Bin 1022 -> 1197 bytes .../lib/java/net/URLClassLoader$2.class | Bin 908 -> 1099 bytes .../lib/java/net/URLClassLoader.class | Bin 14476 -> 14666 bytes .../classpath/lib/java/nio/ByteOrder.class | Bin 838 -> 838 bytes .../lib/java/nio/MappedByteBufferImpl.class | Bin 8128 -> 8190 bytes .../nio/channels/spi/SelectorProvider.class | Bin 2066 -> 2231 bytes .../lib/java/nio/charset/CoderResult$1.class | Bin 561 -> 577 bytes .../lib/java/nio/charset/CoderResult$2.class | Bin 561 -> 577 bytes .../lib/java/nio/charset/CoderResult.class | Bin 2826 -> 2826 bytes .../java/rmi/activation/ActivationGroup.class | Bin 5542 -> 5658 bytes .../java/rmi/server/UnicastRemoteObject.class | Bin 3032 -> 3032 bytes ...Permission$BasicPermissionCollection.class | Bin 2446 -> 2446 bytes .../lib/java/security/BasicPermission.class | Bin 1944 -> 1944 bytes .../lib/java/security/Permission.class | Bin 1670 -> 1736 bytes .../lib/java/security/Permissions$1.class | Bin 1225 -> 1225 bytes .../lib/java/security/Permissions.class | Bin 1988 -> 1988 bytes .../lib/java/security/SecureClassLoader.class | Bin 2507 -> 2605 bytes .../lib/java/security/SignatureSpi.class | Bin 2716 -> 2863 bytes .../UnresolvedPermissionCollection$1.class | Bin 1297 -> 1294 bytes .../UnresolvedPermissionCollection.class | Bin 1616 -> 1613 bytes .../security/cert/CertPathValidator$1.class | Bin 718 -> 718 bytes .../security/cert/CertPathValidator.class | Bin 3933 -> 3933 bytes .../lib/java/security/cert/CertStore$1.class | Bin 678 -> 678 bytes .../lib/java/security/cert/CertStore.class | Bin 4728 -> 4728 bytes .../java/security/cert/X509CertSelector.class | Bin 13958 -> 19449 bytes .../lib/java/text/AttributedString.class | Bin 5877 -> 5897 bytes .../java/text/AttributedStringIterator.class | Bin 5196 -> 5288 bytes libjava/classpath/lib/java/text/Bidi.class | Bin 10729 -> 10825 bytes .../lib/java/text/BreakIterator.class | Bin 3564 -> 4752 bytes .../java/text/CollationElementIterator.class | Bin 5230 -> 5280 bytes .../classpath/lib/java/text/Collator.class | Bin 3558 -> 4071 bytes .../lib/java/text/DateFormat$Field.class | Bin 3570 -> 3600 bytes .../classpath/lib/java/text/DateFormat.class | Bin 8501 -> 10043 bytes .../lib/java/text/DateFormatSymbols.class | Bin 5265 -> 6194 bytes .../lib/java/text/DecimalFormat.class | Bin 23996 -> 24288 bytes .../lib/java/text/DecimalFormatSymbols.class | Bin 6861 -> 7794 bytes .../lib/java/text/FieldPosition.class | Bin 2447 -> 2508 bytes .../lib/java/text/Format$Field.class | Bin 492 -> 555 bytes .../lib/java/text/MessageFormat$Field.class | Bin 1176 -> 1206 bytes .../MessageFormat$MessageFormatElement.class | Bin 2477 -> 2471 bytes .../lib/java/text/MessageFormat.class | Bin 11574 -> 11610 bytes .../lib/java/text/NumberFormat$Field.class | Bin 2098 -> 2128 bytes .../lib/java/text/NumberFormat.class | Bin 8151 -> 9372 bytes .../lib/java/text/SimpleDateFormat.class | Bin 17953 -> 18183 bytes .../java/text/spi/BreakIteratorProvider.class | Bin 0 -> 500 bytes .../lib/java/text/spi/CollatorProvider.class | Bin 0 -> 389 bytes .../java/text/spi/DateFormatProvider.class | Bin 0 -> 505 bytes .../text/spi/DateFormatSymbolsProvider.class | Bin 0 -> 425 bytes .../spi/DecimalFormatSymbolsProvider.class | Bin 0 -> 437 bytes .../java/text/spi/NumberFormatProvider.class | Bin 0 -> 499 bytes .../lib/java/util/AbstractList$1.class | Bin 2205 -> 2205 bytes .../lib/java/util/AbstractList$2.class | Bin 1499 -> 1499 bytes .../lib/java/util/AbstractList$3.class | Bin 2389 -> 2389 bytes .../AbstractList$RandomAccessSubList.class | Bin 865 -> 883 bytes .../lib/java/util/AbstractList$SubList.class | Bin 3945 -> 3945 bytes .../lib/java/util/AbstractList.class | Bin 4911 -> 4911 bytes .../lib/java/util/AbstractMap$1.class | Bin 1129 -> 1129 bytes .../lib/java/util/AbstractMap$2.class | Bin 1269 -> 1304 bytes .../lib/java/util/AbstractMap$3.class | Bin 1154 -> 1154 bytes .../lib/java/util/AbstractMap$4.class | Bin 1271 -> 1306 bytes .../java/util/AbstractMap$SimpleEntry.class | Bin 2423 -> 2522 bytes .../AbstractMap$SimpleImmutableEntry.class | Bin 1736 -> 1835 bytes .../classpath/lib/java/util/AbstractMap.class | Bin 5285 -> 5301 bytes .../java/util/ArrayDeque$DeqIterator.class | Bin 1664 -> 1664 bytes .../util/ArrayDeque$DescendingIterator.class | Bin 1692 -> 1692 bytes .../classpath/lib/java/util/ArrayDeque.class | Bin 10291 -> 10291 bytes .../lib/java/util/Arrays$ArrayList.class | Bin 2662 -> 2662 bytes libjava/classpath/lib/java/util/Arrays.class | Bin 26617 -> 32272 bytes .../classpath/lib/java/util/Calendar.class | Bin 13907 -> 17103 bytes .../Collections$1$SynchronizedMapEntry.class | Bin 2194 -> 2229 bytes .../lib/java/util/Collections$1.class | Bin 1138 -> 1138 bytes .../lib/java/util/Collections$2.class | Bin 1103 -> 1152 bytes .../lib/java/util/Collections$3.class | Bin 1511 -> 1545 bytes .../lib/java/util/Collections$4.class | Bin 1543 -> 1640 bytes .../lib/java/util/Collections$5.class | Bin 1611 -> 1708 bytes .../lib/java/util/Collections$6.class | Bin 1487 -> 1553 bytes .../lib/java/util/Collections$7.class | Bin 1809 -> 1844 bytes .../lib/java/util/Collections$8.class | Bin 889 -> 889 bytes .../lib/java/util/Collections$9.class | Bin 902 -> 930 bytes .../util/Collections$CheckedCollection.class | Bin 3768 -> 3874 bytes .../util/Collections$CheckedIterator.class | Bin 1272 -> 1272 bytes .../java/util/Collections$CheckedList.class | Bin 3851 -> 3930 bytes .../Collections$CheckedListIterator.class | Bin 2065 -> 2091 bytes ...llections$CheckedMap$CheckedEntrySet.class | Bin 1781 -> 1810 bytes .../java/util/Collections$CheckedMap.class | Bin 4991 -> 5166 bytes .../Collections$CheckedRandomAccessList.class | Bin 963 -> 985 bytes .../java/util/Collections$CheckedSet.class | Bin 1290 -> 1318 bytes .../util/Collections$CheckedSortedMap.class | Bin 2347 -> 2368 bytes .../util/Collections$CheckedSortedSet.class | Bin 2153 -> 2174 bytes .../java/util/Collections$CopiesList.class | Bin 2693 -> 2693 bytes .../lib/java/util/Collections$EmptyList.class | Bin 2671 -> 2671 bytes .../lib/java/util/Collections$EmptyMap.class | Bin 2143 -> 2143 bytes .../lib/java/util/Collections$EmptySet.class | Bin 2422 -> 2422 bytes .../lib/java/util/Collections$LIFOQueue.class | Bin 0 -> 2279 bytes .../lib/java/util/Collections$MapSet.class | Bin 0 -> 2571 bytes .../util/Collections$ReverseComparator.class | Bin 1024 -> 1024 bytes .../java/util/Collections$SingletonList.class | Bin 3063 -> 3063 bytes .../java/util/Collections$SingletonMap.class | Bin 2981 -> 2981 bytes .../java/util/Collections$SingletonSet.class | Bin 2438 -> 2438 bytes .../Collections$SynchronizedCollection.class | Bin 3969 -> 4000 bytes .../Collections$SynchronizedIterator.class | Bin 1366 -> 1366 bytes .../util/Collections$SynchronizedList.class | Bin 3835 -> 3903 bytes ...Collections$SynchronizedListIterator.class | Bin 2030 -> 2061 bytes .../util/Collections$SynchronizedMap.class | Bin 4720 -> 4779 bytes ...ections$SynchronizedRandomAccessList.class | Bin 1461 -> 1488 bytes .../util/Collections$SynchronizedSet.class | Bin 1550 -> 1583 bytes .../Collections$SynchronizedSortedMap.class | Bin 2611 -> 2637 bytes .../Collections$SynchronizedSortedSet.class | Bin 2577 -> 2603 bytes .../Collections$UnmodifiableCollection.class | Bin 3096 -> 3127 bytes .../Collections$UnmodifiableIterator.class | Bin 1182 -> 1182 bytes .../util/Collections$UnmodifiableList.class | Bin 3136 -> 3204 bytes ...Collections$UnmodifiableListIterator.class | Bin 1745 -> 1776 bytes ...ifiableEntrySet$UnmodifiableMapEntry.class | Bin 2188 -> 2223 bytes ...UnmodifiableMap$UnmodifiableEntrySet.class | Bin 2503 -> 2441 bytes .../util/Collections$UnmodifiableMap.class | Bin 3698 -> 3757 bytes ...ections$UnmodifiableRandomAccessList.class | Bin 883 -> 910 bytes .../util/Collections$UnmodifiableSet.class | Bin 1193 -> 1226 bytes .../Collections$UnmodifiableSortedMap.class | Bin 2105 -> 2131 bytes .../Collections$UnmodifiableSortedSet.class | Bin 2032 -> 2058 bytes .../classpath/lib/java/util/Collections.class | Bin 21075 -> 21874 bytes libjava/classpath/lib/java/util/Date.class | Bin 11037 -> 11034 bytes .../classpath/lib/java/util/EnumMap$1.class | Bin 1315 -> 1315 bytes .../classpath/lib/java/util/EnumMap$2.class | Bin 1460 -> 1460 bytes .../classpath/lib/java/util/EnumMap$3.class | Bin 1053 -> 1053 bytes .../classpath/lib/java/util/EnumMap$4.class | Bin 1233 -> 1233 bytes .../classpath/lib/java/util/EnumMap$5.class | Bin 1839 -> 1874 bytes .../classpath/lib/java/util/EnumMap$6.class | Bin 1753 -> 1821 bytes .../classpath/lib/java/util/EnumMap$7.class | Bin 1307 -> 1416 bytes libjava/classpath/lib/java/util/EnumMap.class | Bin 5826 -> 5825 bytes .../classpath/lib/java/util/EnumSet$1.class | Bin 1389 -> 1389 bytes libjava/classpath/lib/java/util/EnumSet.class | Bin 8349 -> 8348 bytes .../util/Formatter$BigDecimalLayoutForm.class | Bin 1177 -> 1177 bytes .../lib/java/util/GregorianCalendar.class | Bin 14113 -> 14242 bytes .../classpath/lib/java/util/HashMap$1.class | Bin 1222 -> 1222 bytes .../classpath/lib/java/util/HashMap$2.class | Bin 898 -> 898 bytes .../classpath/lib/java/util/HashMap$3.class | Bin 1494 -> 1514 bytes .../lib/java/util/HashMap$HashEntry.class | Bin 1008 -> 1057 bytes .../lib/java/util/HashMap$HashIterator.class | Bin 1854 -> 1874 bytes libjava/classpath/lib/java/util/HashMap.class | Bin 8875 -> 9025 bytes libjava/classpath/lib/java/util/HashSet.class | Bin 3994 -> 4070 bytes .../classpath/lib/java/util/Hashtable$1.class | Bin 1217 -> 1239 bytes .../classpath/lib/java/util/Hashtable$2.class | Bin 926 -> 950 bytes .../classpath/lib/java/util/Hashtable$3.class | Bin 1530 -> 1574 bytes .../java/util/Hashtable$EntryEnumerator.class | Bin 1475 -> 1555 bytes .../java/util/Hashtable$EntryIterator.class | Bin 1861 -> 1941 bytes .../lib/java/util/Hashtable$HashEntry.class | Bin 1054 -> 1103 bytes .../java/util/Hashtable$KeyEnumerator.class | Bin 1278 -> 1384 bytes .../lib/java/util/Hashtable$KeyIterator.class | Bin 1132 -> 1236 bytes .../java/util/Hashtable$ValueEnumerator.class | Bin 1286 -> 1392 bytes .../java/util/Hashtable$ValueIterator.class | Bin 1140 -> 1244 bytes .../classpath/lib/java/util/Hashtable.class | Bin 10367 -> 10573 bytes .../lib/java/util/IdentityHashMap$1.class | Bin 1915 -> 1977 bytes .../lib/java/util/IdentityHashMap$2.class | Bin 1786 -> 1813 bytes .../lib/java/util/IdentityHashMap$3.class | Bin 1412 -> 1439 bytes .../util/IdentityHashMap$IdentityEntry.class | Bin 2554 -> 2589 bytes .../IdentityHashMap$IdentityIterator.class | Bin 1900 -> 1924 bytes .../lib/java/util/IdentityHashMap.class | Bin 6772 -> 6772 bytes .../lib/java/util/LinkedHashMap$1.class | Bin 1521 -> 1547 bytes .../util/LinkedHashMap$LinkedHashEntry.class | Bin 1630 -> 1673 bytes .../lib/java/util/LinkedHashMap.class | Bin 3388 -> 3468 bytes .../lib/java/util/LinkedList$1.class | Bin 0 -> 1701 bytes .../lib/java/util/LinkedList$Entry.class | Bin 719 -> 719 bytes .../java/util/LinkedList$LinkedListItr.class | Bin 3062 -> 3078 bytes .../classpath/lib/java/util/LinkedList.class | Bin 9888 -> 11356 bytes libjava/classpath/lib/java/util/Locale.class | Bin 16086 -> 13857 bytes .../classpath/lib/java/util/Map$Entry.class | Bin 480 -> 480 bytes libjava/classpath/lib/java/util/Map.class | Bin 935 -> 935 bytes .../lib/java/util/NavigableMap.class | Bin 1538 -> 1621 bytes .../lib/java/util/PriorityQueue$1.class | Bin 1094 -> 1094 bytes .../lib/java/util/PriorityQueue.class | Bin 5551 -> 5551 bytes .../classpath/lib/java/util/Properties.class | Bin 12084 -> 12141 bytes .../lib/java/util/PropertyPermission.class | Bin 3334 -> 3395 bytes .../lib/java/util/ResourceBundle$1.class | Bin 662 -> 722 bytes .../lib/java/util/ResourceBundle.class | Bin 6232 -> 6232 bytes .../java/util/ServiceConfigurationError.class | Bin 0 -> 621 bytes .../lib/java/util/ServiceLoader$1.class | Bin 0 -> 1868 bytes .../lib/java/util/ServiceLoader.class | Bin 0 -> 3382 bytes .../lib/java/util/StringTokenizer.class | Bin 2332 -> 2332 bytes .../classpath/lib/java/util/TimeZone$1.class | Bin 1026 -> 1026 bytes .../classpath/lib/java/util/TimeZone.class | Bin 31288 -> 31294 bytes .../lib/java/util/Timer$Scheduler.class | Bin 1292 -> 1312 bytes libjava/classpath/lib/java/util/Timer.class | Bin 4067 -> 4067 bytes .../classpath/lib/java/util/TreeMap$1.class | Bin 2442 -> 1557 bytes .../classpath/lib/java/util/TreeMap$2.class | Bin 1770 -> 1383 bytes .../classpath/lib/java/util/TreeMap$3.class | Bin 1318 -> 1087 bytes .../classpath/lib/java/util/TreeMap$4.class | Bin 1913 -> 1612 bytes .../classpath/lib/java/util/TreeMap$5.class | Bin 1456 -> 1310 bytes .../classpath/lib/java/util/TreeMap$6.class | Bin 938 -> 1401 bytes .../classpath/lib/java/util/TreeMap$7.class | Bin 0 -> 961 bytes .../lib/java/util/TreeMap$DescendingMap.class | Bin 0 -> 8707 bytes .../lib/java/util/TreeMap$DescendingSet.class | Bin 0 -> 6891 bytes .../lib/java/util/TreeMap$EntrySet.class | Bin 0 -> 2058 bytes .../lib/java/util/TreeMap$KeySet.class | Bin 0 -> 1717 bytes .../java/util/TreeMap$NavigableEntrySet.class | Bin 0 -> 6005 bytes .../java/util/TreeMap$NavigableKeySet.class | Bin 0 -> 4003 bytes .../lib/java/util/TreeMap$Node.class | Bin 976 -> 1025 bytes .../java/util/TreeMap$SubMap$EntrySet.class | Bin 0 -> 2608 bytes .../lib/java/util/TreeMap$SubMap$KeySet.class | Bin 0 -> 2118 bytes .../TreeMap$SubMap$NavigableEntrySet.class | Bin 0 -> 6159 bytes .../util/TreeMap$SubMap$NavigableKeySet.class | Bin 0 -> 4202 bytes .../lib/java/util/TreeMap$SubMap.class | Bin 5456 -> 9314 bytes .../lib/java/util/TreeMap$TreeIterator.class | Bin 1805 -> 1790 bytes libjava/classpath/lib/java/util/TreeMap.class | Bin 13896 -> 18433 bytes libjava/classpath/lib/java/util/TreeSet.class | Bin 5980 -> 8019 bytes .../classpath/lib/java/util/VMTimeZone.class | Bin 3964 -> 3964 bytes .../classpath/lib/java/util/Vector$1.class | Bin 977 -> 977 bytes libjava/classpath/lib/java/util/Vector.class | Bin 10887 -> 10941 bytes .../lib/java/util/WeakHashMap$1.class | Bin 584 -> 584 bytes .../lib/java/util/WeakHashMap$2.class | Bin 2719 -> 2760 bytes .../WeakHashMap$WeakBucket$WeakEntry.class | Bin 2131 -> 2166 bytes .../java/util/WeakHashMap$WeakBucket.class | Bin 1472 -> 1472 bytes .../java/util/WeakHashMap$WeakEntrySet.class | Bin 880 -> 880 bytes .../classpath/lib/java/util/WeakHashMap.class | Bin 6368 -> 6388 bytes .../concurrent/AbstractExecutorService.class | Bin 8804 -> 8804 bytes .../concurrent/ArrayBlockingQueue$Itr.class | Bin 2191 -> 2191 bytes .../util/concurrent/ArrayBlockingQueue.class | Bin 9946 -> 9890 bytes .../ConcurrentHashMap$EntryIterator.class | Bin 1504 -> 1635 bytes .../ConcurrentHashMap$EntrySet.class | Bin 1751 -> 1810 bytes .../ConcurrentHashMap$HashEntry.class | Bin 1373 -> 1373 bytes .../ConcurrentHashMap$HashIterator.class | Bin 2413 -> 2451 bytes .../ConcurrentHashMap$KeyIterator.class | Bin 1138 -> 1181 bytes .../concurrent/ConcurrentHashMap$KeySet.class | Bin 1274 -> 1296 bytes .../ConcurrentHashMap$Segment.class | Bin 6776 -> 6796 bytes .../ConcurrentHashMap$ValueIterator.class | Bin 1146 -> 1189 bytes .../concurrent/ConcurrentHashMap$Values.class | Bin 1151 -> 1175 bytes .../ConcurrentHashMap$WriteThroughEntry.class | Bin 1272 -> 1321 bytes .../util/concurrent/ConcurrentHashMap.class | Bin 10684 -> 10700 bytes .../ConcurrentLinkedQueue$Itr.class | Bin 1874 -> 1889 bytes .../ConcurrentLinkedQueue$Node.class | Bin 3245 -> 3245 bytes .../concurrent/ConcurrentLinkedQueue.class | Bin 6269 -> 6269 bytes ...kipListMap$ComparableUsingComparator.class | Bin 1303 -> 1303 bytes .../ConcurrentSkipListMap$EntryIterator.class | Bin 1420 -> 1568 bytes .../ConcurrentSkipListMap$EntrySet.class | Bin 3244 -> 3296 bytes .../ConcurrentSkipListMap$HeadIndex.class | Bin 1570 -> 1654 bytes .../ConcurrentSkipListMap$Index.class | Bin 3030 -> 3045 bytes .../ConcurrentSkipListMap$Iter.class | Bin 1873 -> 1892 bytes .../ConcurrentSkipListMap$KeyIterator.class | Bin 1106 -> 1136 bytes .../ConcurrentSkipListMap$KeySet.class | Bin 6690 -> 6742 bytes .../ConcurrentSkipListMap$Node.class | Bin 4161 -> 4219 bytes ...ipListMap$SubMap$SubMapEntryIterator.class | Bin 1564 -> 1718 bytes ...currentSkipListMap$SubMap$SubMapIter.class | Bin 2947 -> 2966 bytes ...SkipListMap$SubMap$SubMapKeyIterator.class | Bin 1250 -> 1286 bytes ...ipListMap$SubMap$SubMapValueIterator.class | Bin 1090 -> 1111 bytes .../ConcurrentSkipListMap$SubMap.class | Bin 18179 -> 18313 bytes .../ConcurrentSkipListMap$ValueIterator.class | Bin 946 -> 961 bytes .../ConcurrentSkipListMap$Values.class | Bin 2209 -> 2226 bytes .../concurrent/ConcurrentSkipListMap.class | Bin 29603 -> 29644 bytes .../concurrent/ConcurrentSkipListSet.class | Bin 9070 -> 9128 bytes .../concurrent/CopyOnWriteArrayList.class | Bin 6845 -> 6853 bytes .../java/util/concurrent/CyclicBarrier.class | Bin 3723 -> 3673 bytes .../java/util/concurrent/DelayQueue$Itr.class | Bin 1914 -> 1904 bytes .../lib/java/util/concurrent/DelayQueue.class | Bin 8027 -> 7987 bytes .../java/util/concurrent/Exchanger$Node.class | Bin 624 -> 624 bytes .../java/util/concurrent/Exchanger$Slot.class | Bin 791 -> 791 bytes .../lib/java/util/concurrent/Exchanger.class | Bin 5987 -> 5987 bytes ...utorCompletionService$QueueingFuture.class | Bin 1361 -> 1361 bytes .../ExecutorCompletionService.class | Bin 4452 -> 4452 bytes .../java/util/concurrent/Executors$1.class | Bin 1313 -> 1313 bytes .../java/util/concurrent/Executors$2.class | Bin 2030 -> 2023 bytes .../java/util/concurrent/Executors$3.class | Bin 1437 -> 1445 bytes .../java/util/concurrent/Executors$4.class | Bin 1349 -> 1349 bytes .../java/util/concurrent/Executors$5.class | Bin 867 -> 867 bytes .../java/util/concurrent/Executors$6.class | Bin 951 -> 951 bytes ...rs$DelegatedScheduledExecutorService.class | Bin 2190 -> 2225 bytes ...$FinalizableDelegatedExecutorService.class | Bin 718 -> 753 bytes .../Executors$PrivilegedCallable.class | Bin 2052 -> 2052 bytes ...legedCallableUsingCurrentClassLoader.class | Bin 2834 -> 2834 bytes .../Executors$PrivilegedThreadFactory.class | Bin 1674 -> 1705 bytes .../Executors$RunnableAdapter.class | Bin 1067 -> 1067 bytes .../lib/java/util/concurrent/Executors.class | Bin 6410 -> 6410 bytes .../lib/java/util/concurrent/FutureTask.class | Bin 3262 -> 3262 bytes .../LinkedBlockingDeque$AbstractItr.class | Bin 1533 -> 1599 bytes .../LinkedBlockingDeque$DescendingItr.class | Bin 1589 -> 1626 bytes .../concurrent/LinkedBlockingDeque$Itr.class | Bin 1537 -> 1574 bytes .../concurrent/LinkedBlockingDeque$Node.class | Bin 1107 -> 1107 bytes .../util/concurrent/LinkedBlockingDeque.class | Bin 15659 -> 15499 bytes .../concurrent/LinkedBlockingQueue$Itr.class | Bin 3118 -> 3133 bytes .../concurrent/LinkedBlockingQueue$Node.class | Bin 792 -> 792 bytes .../util/concurrent/LinkedBlockingQueue.class | Bin 11808 -> 11788 bytes .../PriorityBlockingQueue$Itr.class | Bin 1869 -> 1859 bytes .../concurrent/PriorityBlockingQueue.class | Bin 8073 -> 8033 bytes .../ScheduledThreadPoolExecutor$1.class | Bin 1597 -> 1597 bytes ...dThreadPoolExecutor$DelayedWorkQueue.class | Bin 5234 -> 5234 bytes ...readPoolExecutor$ScheduledFutureTask.class | Bin 4323 -> 4323 bytes .../ScheduledThreadPoolExecutor.class | Bin 9440 -> 9440 bytes .../util/concurrent/Semaphore$FairSync.class | Bin 962 -> 977 bytes .../concurrent/Semaphore$NonfairSync.class | Bin 657 -> 672 bytes .../lib/java/util/concurrent/Semaphore.class | Bin 3504 -> 3504 bytes .../SynchronousQueue$EmptyIterator.class | Bin 1052 -> 1052 bytes .../SynchronousQueue$FifoWaitQueue.class | Bin 600 -> 620 bytes .../SynchronousQueue$LifoWaitQueue.class | Bin 600 -> 620 bytes .../SynchronousQueue$TransferQueue.class | Bin 5213 -> 5234 bytes .../SynchronousQueue$TransferStack.class | Bin 5011 -> 5032 bytes .../util/concurrent/SynchronousQueue.class | Bin 6851 -> 6851 bytes .../util/concurrent/ThreadPoolExecutor.class | Bin 14974 -> 14974 bytes .../lib/java/util/concurrent/TimeUnit$1.class | Bin 1382 -> 1382 bytes .../lib/java/util/concurrent/TimeUnit$2.class | Bin 1414 -> 1414 bytes .../lib/java/util/concurrent/TimeUnit$3.class | Bin 1417 -> 1417 bytes .../lib/java/util/concurrent/TimeUnit$4.class | Bin 1440 -> 1440 bytes .../lib/java/util/concurrent/TimeUnit$5.class | Bin 1445 -> 1445 bytes .../lib/java/util/concurrent/TimeUnit$6.class | Bin 1468 -> 1468 bytes .../lib/java/util/concurrent/TimeUnit$7.class | Bin 1482 -> 1482 bytes .../lib/java/util/concurrent/TimeUnit.class | Bin 3823 -> 3823 bytes ...pdater$AtomicIntegerFieldUpdaterImpl.class | Bin 4605 -> 4671 bytes .../atomic/AtomicIntegerFieldUpdater.class | Bin 2744 -> 2744 bytes .../AtomicLongFieldUpdater$CASUpdater.class | Bin 4511 -> 4577 bytes ...AtomicLongFieldUpdater$LockedUpdater.class | Bin 4539 -> 4605 bytes .../atomic/AtomicLongFieldUpdater.class | Bin 2909 -> 2909 bytes ...rkableReference$ReferenceBooleanPair.class | Bin 1189 -> 1189 bytes .../atomic/AtomicMarkableReference.class | Bin 3193 -> 3193 bytes ...ater$AtomicReferenceFieldUpdaterImpl.class | Bin 5338 -> 5404 bytes .../atomic/AtomicReferenceFieldUpdater.class | Bin 1995 -> 1995 bytes ...tampedReference$ReferenceIntegerPair.class | Bin 1186 -> 1186 bytes .../atomic/AtomicStampedReference.class | Bin 3208 -> 3208 bytes ...euedLongSynchronizer$ConditionObject.class | Bin 6818 -> 6833 bytes .../AbstractQueuedLongSynchronizer.class | Bin 14442 -> 14458 bytes ...ctQueuedSynchronizer$ConditionObject.class | Bin 6683 -> 6698 bytes .../locks/AbstractQueuedSynchronizer.class | Bin 14257 -> 14273 bytes .../locks/ReentrantLock$FairSync.class | Bin 1304 -> 1319 bytes .../locks/ReentrantLock$NonfairSync.class | Bin 960 -> 975 bytes .../concurrent/locks/ReentrantLock$Sync.class | Bin 2389 -> 2415 bytes .../util/concurrent/locks/ReentrantLock.class | Bin 4600 -> 4685 bytes .../ReentrantReadWriteLock$FairSync.class | Bin 837 -> 852 bytes .../ReentrantReadWriteLock$NonfairSync.class | Bin 856 -> 871 bytes .../ReentrantReadWriteLock$ReadLock.class | Bin 2473 -> 2488 bytes ...riteLock$Sync$ThreadLocalHoldCounter.class | Bin 1021 -> 1043 bytes .../locks/ReentrantReadWriteLock$Sync.class | Bin 5082 -> 5108 bytes .../ReentrantReadWriteLock$WriteLock.class | Bin 2795 -> 2970 bytes .../locks/ReentrantReadWriteLock.class | Bin 5343 -> 5428 bytes .../lib/java/util/jar/Attributes.class | Bin 3812 -> 3812 bytes .../lib/java/util/jar/JarEntry.class | Bin 1895 -> 1892 bytes .../util/jar/JarFile$EntryInputStream.class | Bin 5747 -> 5779 bytes .../util/jar/JarFile$JarEnumeration.class | Bin 2148 -> 2148 bytes .../classpath/lib/java/util/jar/JarFile.class | Bin 14110 -> 14108 bytes .../lib/java/util/logging/LogManager$1.class | Bin 2265 -> 2265 bytes .../lib/java/util/logging/LogManager.class | Bin 13528 -> 13528 bytes .../lib/java/util/logging/Logger$1.class | Bin 588 -> 588 bytes .../lib/java/util/logging/Logger.class | Bin 12065 -> 12107 bytes .../util/prefs/AbstractPreferences$1.class | Bin 1009 -> 1009 bytes .../util/prefs/AbstractPreferences$2.class | Bin 1104 -> 1104 bytes .../java/util/prefs/AbstractPreferences.class | Bin 15751 -> 16200 bytes .../lib/java/util/prefs/Preferences$1.class | Bin 1282 -> 1454 bytes .../lib/java/util/prefs/Preferences.class | Bin 5352 -> 5352 bytes .../lib/java/util/regex/Pattern.class | Bin 4266 -> 4324 bytes .../java/util/spi/CurrencyNameProvider.class | Bin 0 -> 415 bytes .../java/util/spi/LocaleNameProvider.class | Bin 0 -> 474 bytes .../java/util/spi/LocaleServiceProvider.class | Bin 0 -> 374 bytes .../java/util/spi/TimeZoneNameProvider.class | Bin 0 -> 422 bytes .../lib/java/util/zip/ZipFile$1.class | Bin 1024 -> 1024 bytes .../zip/ZipFile$ZipEntryEnumeration.class | Bin 1173 -> 1173 bytes .../classpath/lib/java/util/zip/ZipFile.class | Bin 7716 -> 7716 bytes .../lib/java/util/zip/ZipInputStream.class | Bin 6130 -> 6130 bytes .../activity/ActivityCompletedException.class | Bin 0 -> 742 bytes .../activity/ActivityRequiredException.class | Bin 0 -> 739 bytes .../activity/InvalidActivityException.class | Bin 0 -> 736 bytes .../lib/javax/crypto/CipherOutputStream.class | Bin 1742 -> 1769 bytes .../lib/javax/imageio/ImageIO$1.class | Bin 1187 -> 1187 bytes .../imageio/ImageIO$ImageReaderIterator.class | Bin 1779 -> 1779 bytes .../imageio/ImageIO$ImageWriterIterator.class | Bin 1779 -> 1779 bytes .../imageio/ImageIO$ReaderFormatFilter.class | Bin 996 -> 1052 bytes .../ImageIO$ReaderMIMETypeFilter.class | Bin 996 -> 1052 bytes .../imageio/ImageIO$ReaderObjectFilter.class | Bin 843 -> 899 bytes .../imageio/ImageIO$ReaderSuffixFilter.class | Bin 994 -> 1050 bytes .../imageio/ImageIO$TranscoderFilter.class | Bin 1392 -> 1448 bytes .../imageio/ImageIO$WriterFormatFilter.class | Bin 996 -> 1052 bytes .../ImageIO$WriterMIMETypeFilter.class | Bin 996 -> 1052 bytes .../imageio/ImageIO$WriterObjectFilter.class | Bin 1193 -> 1249 bytes .../imageio/ImageIO$WriterSuffixFilter.class | Bin 994 -> 1050 bytes .../classpath/lib/javax/imageio/ImageIO.class | Bin 13182 -> 13284 bytes .../metadata/IIOMetadataFormatImpl$1.class | Bin 818 -> 818 bytes ...ormatImpl$IIOMetadataNodeAttrBounded.class | Bin 1379 -> 1409 bytes ...atImpl$IIOMetadataNodeAttrEnumerated.class | Bin 1283 -> 1313 bytes ...taFormatImpl$IIOMetadataNodeAttrList.class | Bin 1187 -> 1217 bytes ...IOMetadataFormatImpl$NodeObjectArray.class | Bin 1284 -> 1305 bytes ...MetadataFormatImpl$NodeObjectBounded.class | Bin 1499 -> 1520 bytes ...adataFormatImpl$NodeObjectEnumerated.class | Bin 1253 -> 1274 bytes .../metadata/IIOMetadataFormatImpl.class | Bin 16110 -> 16110 bytes .../IIOMetadataNode$IIONamedNodeMap.class | Bin 2445 -> 2525 bytes .../imageio/metadata/IIOMetadataNode.class | Bin 10716 -> 10796 bytes .../lib/javax/imageio/spi/IIORegistry.class | Bin 2596 -> 2761 bytes .../javax/imageio/spi/ServiceRegistry$1.class | Bin 1076 -> 1076 bytes .../javax/imageio/spi/ServiceRegistry$2.class | Bin 1168 -> 1225 bytes .../javax/imageio/spi/ServiceRegistry.class | Bin 8702 -> 8693 bytes .../stream/FileCacheImageOutputStream.class | Bin 1740 -> 3099 bytes .../stream/ImageOutputStreamImpl.class | Bin 4842 -> 5705 bytes .../AttributeChangeNotification.class | Bin 0 -> 1386 bytes .../AttributeChangeNotificationFilter.class | Bin 0 -> 1646 bytes .../javax/management/AttributeValueExp.class | Bin 0 -> 2392 bytes .../management/DefaultLoaderRepository.class | Bin 0 -> 1974 bytes .../lib/javax/management/Descriptor.class | Bin 0 -> 766 bytes .../javax/management/DescriptorAccess.class | Bin 0 -> 228 bytes .../lib/javax/management/DescriptorRead.class | Bin 0 -> 184 bytes .../classpath/lib/javax/management/JMX.class | Bin 0 -> 3004 bytes .../javax/management/MBeanAttributeInfo.class | Bin 3515 -> 3579 bytes .../javax/management/MBeanFeatureInfo.class | Bin 1654 -> 1925 bytes .../MBeanServerInvocationHandler.class | Bin 0 -> 6525 bytes .../lib/javax/management/MXBean.class | Bin 0 -> 434 bytes .../lib/javax/management/Notification.class | Bin 2790 -> 3137 bytes ...ationBroadcasterSupport$DispatchTask.class | Bin 0 -> 1287 bytes .../NotificationBroadcasterSupport.class | Bin 0 -> 4524 bytes .../NotificationFilterSupport.class | Bin 0 -> 1857 bytes .../lib/javax/management/ObjectName.class | Bin 10576 -> 10625 bytes .../javax/management/PersistentMBean.class | Bin 0 -> 340 bytes .../javax/management/Query$AndQueryExp.class | Bin 0 -> 1080 bytes .../management/Query$BetweenQueryExp.class | Bin 0 -> 1501 bytes .../management/Query$BinaryOpValueExp.class | Bin 0 -> 2123 bytes .../management/Query$BinaryRelQueryExp.class | Bin 0 -> 2219 bytes .../management/Query$BooleanValueExp.class | Bin 0 -> 1111 bytes .../Query$ClassAttributeValueExp.class | Bin 0 -> 1691 bytes .../javax/management/Query$InQueryExp.class | Bin 0 -> 1443 bytes .../management/Query$InstanceOfQueryExp.class | Bin 0 -> 1712 bytes .../management/Query$MatchQueryExp.class | Bin 0 -> 2516 bytes .../javax/management/Query$NotQueryExp.class | Bin 0 -> 997 bytes .../management/Query$NumericValueExp.class | Bin 0 -> 4515 bytes .../javax/management/Query$OrQueryExp.class | Bin 0 -> 1077 bytes .../Query$QualifiedAttributeValueExp.class | Bin 0 -> 1815 bytes .../lib/javax/management/Query.class | Bin 0 -> 6495 bytes .../lib/javax/management/QueryEval.class | Bin 0 -> 1041 bytes .../lib/javax/management/StandardMBean.class | Bin 14615 -> 16898 bytes .../lib/javax/management/StringValueExp.class | Bin 0 -> 1435 bytes .../loading/ClassLoaderRepository.class | Bin 405 -> 550 bytes .../management/openmbean/ArrayType.class | Bin 3898 -> 9802 bytes .../management/openmbean/CompositeData.class | Bin 545 -> 595 bytes .../CompositeDataInvocationHandler.class | Bin 0 -> 2879 bytes .../openmbean/CompositeDataSupport.class | Bin 5405 -> 5699 bytes .../management/openmbean/CompositeType.class | Bin 4543 -> 5171 bytes .../OpenMBeanAttributeInfoSupport.class | Bin 7086 -> 8111 bytes .../openmbean/OpenMBeanOperationInfo.class | Bin 483 -> 548 bytes .../OpenMBeanOperationInfoSupport.class | Bin 3539 -> 3841 bytes .../openmbean/OpenMBeanParameterInfo.class | Bin 651 -> 793 bytes .../OpenMBeanParameterInfoSupport.class | Bin 6517 -> 7528 bytes .../javax/management/openmbean/OpenType.class | Bin 2746 -> 3588 bytes .../management/openmbean/SimpleType.class | Bin 3353 -> 4740 bytes .../management/openmbean/TabularData.class | Bin 885 -> 966 bytes .../openmbean/TabularDataSupport.class | Bin 7234 -> 7765 bytes .../management/openmbean/TabularType.class | Bin 3680 -> 3878 bytes .../lib/javax/naming/CompositeName.class | Bin 6437 -> 6538 bytes .../lib/javax/naming/CompoundName.class | Bin 9469 -> 9575 bytes .../lib/javax/naming/InitialContext.class | Bin 10044 -> 10254 bytes .../naming/directory/BasicAttributes$1.class | Bin 0 -> 1606 bytes ...ttributes$BasicAttributesEnumeration.class | Bin 1671 -> 1837 bytes .../naming/directory/BasicAttributes.class | Bin 4910 -> 5270 bytes .../naming/ldap/InitialLdapContext.class | Bin 2605 -> 2677 bytes .../javax/naming/spi/DirectoryManager.class | Bin 5499 -> 5539 bytes .../javax/net/ssl/KeyManagerFactory$1.class | Bin 717 -> 717 bytes .../lib/javax/net/ssl/KeyManagerFactory.class | Bin 4221 -> 4221 bytes .../lib/javax/net/ssl/SSLEngine.class | Bin 2522 -> 2657 bytes .../ssl/SSLEngineResult$HandshakeStatus.class | Bin 1388 -> 1388 bytes .../net/ssl/SSLEngineResult$Status.class | Bin 1265 -> 1265 bytes .../lib/javax/net/ssl/SSLEngineResult.class | Bin 2115 -> 2115 bytes ...cketFactory$ErrorServerSocketFactory.class | Bin 0 -> 1564 bytes .../net/ssl/SSLServerSocketFactory.class | Bin 2694 -> 2954 bytes .../SSLSocketFactory$ErrorSocketFactory.class | Bin 0 -> 2015 bytes .../lib/javax/net/ssl/SSLSocketFactory.class | Bin 2826 -> 3003 bytes .../javax/net/ssl/TrustManagerFactory$1.class | Bin 727 -> 727 bytes .../javax/net/ssl/TrustManagerFactory.class | Bin 4189 -> 4189 bytes .../classpath/lib/javax/print/DocFlavor.class | Bin 5538 -> 5570 bytes .../classpath/lib/javax/print/SimpleDoc.class | Bin 2719 -> 2841 bytes ...tilities$SynchronizedDocAttributeSet.class | Bin 776 -> 811 bytes ...ies$SynchronizedPrintJobAttributeSet.class | Bin 806 -> 841 bytes ...SynchronizedPrintRequestAttributeSet.class | Bin 830 -> 865 bytes ...SynchronizedPrintServiceAttributeSet.class | Bin 830 -> 865 bytes ...tilities$UnmodifiableDocAttributeSet.class | Bin 776 -> 811 bytes ...ies$UnmodifiablePrintJobAttributeSet.class | Bin 806 -> 841 bytes ...UnmodifiablePrintRequestAttributeSet.class | Bin 830 -> 865 bytes ...UnmodifiablePrintServiceAttributeSet.class | Bin 830 -> 865 bytes .../attribute/AttributeSetUtilities.class | Bin 4904 -> 4904 bytes .../attribute/SetOfIntegerSyntax$1.class | Bin 745 -> 745 bytes .../print/attribute/SetOfIntegerSyntax.class | Bin 5008 -> 5008 bytes .../print/attribute/standard/MediaSize.class | Bin 3575 -> 3575 bytes .../standard/PrinterStateReasons.class | Bin 3545 -> 3581 bytes .../kerberos/DelegationPermission$1.class | Bin 1699 -> 1699 bytes .../auth/kerberos/DelegationPermission.class | Bin 1471 -> 1471 bytes .../auth/kerberos/ServicePermission$1.class | Bin 1681 -> 1681 bytes .../auth/kerberos/ServicePermission.class | Bin 2220 -> 2220 bytes .../security/auth/login/Configuration$1.class | Bin 747 -> 747 bytes .../security/auth/login/Configuration.class | Bin 1789 -> 1789 bytes .../security/auth/login/LoginContext.class | Bin 6202 -> 6258 bytes .../security/auth/x500/X500Principal.class | Bin 11344 -> 11356 bytes .../lib/javax/sound/midi/MidiSystem.class | Bin 8221 -> 8292 bytes .../sound/midi/spi/MidiDeviceProvider.class | Bin 927 -> 998 bytes .../javax/sound/sampled/AudioFileFormat.class | Bin 2977 -> 2984 bytes .../lib/javax/sound/sampled/AudioFormat.class | Bin 3884 -> 3891 bytes .../lib/javax/sound/sampled/AudioSystem.class | Bin 11940 -> 12598 bytes .../sound/sampled/BooleanControl$Type.class | Bin 659 -> 700 bytes .../javax/sound/sampled/BooleanControl.class | Bin 1626 -> 1664 bytes .../sound/sampled/CompoundControl$Type.class | Bin 476 -> 517 bytes .../javax/sound/sampled/CompoundControl.class | Bin 1195 -> 1241 bytes .../javax/sound/sampled/DataLine$Info.class | Bin 2896 -> 2934 bytes .../sound/sampled/EnumControl$Type.class | Bin 584 -> 625 bytes .../lib/javax/sound/sampled/EnumControl.class | Bin 1633 -> 1679 bytes .../sound/sampled/FloatControl$Type.class | Bin 1080 -> 1121 bytes .../javax/sound/sampled/FloatControl.class | Bin 2914 -> 2960 bytes .../lib/javax/sound/sampled/Line.class | Bin 683 -> 769 bytes .../lib/javax/sound/sampled/Mixer.class | Bin 995 -> 1038 bytes .../lib/javax/sound/sampled/Port$Info.class | Bin 2235 -> 2273 bytes .../sound/sampled/spi/AudioFileWriter.class | Bin 1500 -> 1579 bytes .../spi/FormatConversionProvider.class | Bin 2222 -> 2264 bytes .../sound/sampled/spi/MixerProvider.class | Bin 839 -> 908 bytes .../lib/javax/swing/AbstractButton$1.class | Bin 1793 -> 1793 bytes ...tractButton$AccessibleAbstractButton.class | Bin 8947 -> 9052 bytes .../AbstractButton$ButtonChangeListener.class | Bin 954 -> 977 bytes .../lib/javax/swing/AbstractButton.class | Bin 20618 -> 20618 bytes .../lib/javax/swing/Box$AccessibleBox.class | Bin 662 -> 719 bytes .../Box$Filler$AccessibleBoxFiller.class | Bin 753 -> 810 bytes ...dererPane$AccessibleCellRendererPane.class | Bin 878 -> 935 bytes .../DefaultCellEditor$JCheckBoxDelegate.class | Bin 1387 -> 1412 bytes .../DefaultCellEditor$JComboBoxDelegate.class | Bin 1514 -> 1539 bytes ...DefaultCellEditor$JTextFieldDelegate.class | Bin 1367 -> 1392 bytes .../lib/javax/swing/DefaultCellEditor.class | Bin 3457 -> 3457 bytes .../javax/swing/DefaultDesktopManager.class | Bin 7571 -> 7704 bytes .../lib/javax/swing/ImageIcon$1.class | Bin 372 -> 372 bytes .../classpath/lib/javax/swing/ImageIcon.class | Bin 4406 -> 4399 bytes .../swing/JApplet$AccessibleJApplet.class | Bin 509 -> 560 bytes .../swing/JButton$AccessibleJButton.class | Bin 753 -> 820 bytes .../swing/JCheckBox$AccessibleJCheckBox.class | Bin 770 -> 835 bytes ...MenuItem$AccessibleJCheckBoxMenuItem.class | Bin 894 -> 951 bytes .../lib/javax/swing/JCheckBoxMenuItem.class | Bin 2645 -> 2704 bytes ...ColorChooser$AccessibleJColorChooser.class | Bin 865 -> 924 bytes .../lib/javax/swing/JComboBox$1.class | Bin 997 -> 997 bytes .../swing/JComboBox$AccessibleJComboBox.class | Bin 3980 -> 4039 bytes ...JComboBox$DefaultKeySelectionManager.class | Bin 1348 -> 1378 bytes .../classpath/lib/javax/swing/JComboBox.class | Bin 15989 -> 15989 bytes .../lib/javax/swing/JComponent$1.class | Bin 586 -> 586 bytes .../JComponent$AccessibleJComponent.class | Bin 4520 -> 4577 bytes .../JComponent$ActionListenerProxy.class | Bin 1101 -> 1101 bytes .../lib/javax/swing/JComponent.class | Bin 36725 -> 36587 bytes .../JDesktopPane$AccessibleJDesktopPane.class | Bin 855 -> 914 bytes .../swing/JDialog$AccessibleJDialog.class | Bin 506 -> 557 bytes .../lib/javax/swing/JEditorPane$1.class | Bin 914 -> 914 bytes .../lib/javax/swing/JEditorPane$2.class | Bin 971 -> 971 bytes .../JEditorPane$AccessibleJEditorPane.class | Bin 999 -> 1071 bytes ...EditorPane$AccessibleJEditorPaneHTML.class | Bin 738 -> 818 bytes ...eAccessibleHypertextSupport$HTMLLink.class | Bin 3759 -> 3779 bytes ...EditorPaneAccessibleHypertextSupport.class | Bin 3232 -> 3329 bytes .../javax/swing/JEditorPane$PageLoader.class | Bin 2158 -> 2172 bytes .../swing/JEditorPane$PlainEditorKit.class | Bin 674 -> 674 bytes .../lib/javax/swing/JEditorPane.class | Bin 12028 -> 12028 bytes .../lib/javax/swing/JFileChooser$1.class | Bin 744 -> 744 bytes .../JFileChooser$AccessibleJFileChooser.class | Bin 791 -> 850 bytes .../lib/javax/swing/JFileChooser.class | Bin 18403 -> 18403 bytes ...edTextField$AbstractFormatterFactory.class | Bin 567 -> 650 bytes .../javax/swing/JFrame$AccessibleJFrame.class | Bin 494 -> 543 bytes ...ternalFrame$AccessibleJInternalFrame.class | Bin 1792 -> 1851 bytes ...$JDesktopIcon$AccessibleJDesktopIcon.class | Bin 1831 -> 1890 bytes .../javax/swing/JLabel$AccessibleJLabel.class | Bin 5379 -> 5484 bytes .../JLayeredPane$AccessibleJLayeredPane.class | Bin 791 -> 850 bytes .../classpath/lib/javax/swing/JList$1.class | Bin 790 -> 790 bytes .../classpath/lib/javax/swing/JList$2.class | Bin 846 -> 846 bytes .../classpath/lib/javax/swing/JList$3.class | Bin 829 -> 829 bytes .../javax/swing/JList$AccessibleJList.class | Bin 4910 -> 4969 bytes libjava/classpath/lib/javax/swing/JList.class | Bin 18892 -> 18938 bytes .../javax/swing/JMenu$AccessibleJMenu.class | Bin 3677 -> 3707 bytes libjava/classpath/lib/javax/swing/JMenu.class | Bin 14040 -> 14060 bytes .../swing/JMenuBar$AccessibleJMenuBar.class | Bin 2223 -> 2282 bytes .../lib/javax/swing/JMenuItem$1.class | Bin 997 -> 997 bytes .../swing/JMenuItem$AccessibleJMenuItem.class | Bin 2194 -> 2261 bytes .../classpath/lib/javax/swing/JMenuItem.class | Bin 10317 -> 10317 bytes .../lib/javax/swing/JOptionPane$1.class | Bin 441 -> 441 bytes .../lib/javax/swing/JOptionPane$2.class | Bin 447 -> 447 bytes .../JOptionPane$AccessibleJOptionPane.class | Bin 845 -> 904 bytes .../lib/javax/swing/JOptionPane.class | Bin 17932 -> 17925 bytes .../javax/swing/JPanel$AccessibleJPanel.class | Bin 730 -> 789 bytes ...sswordField$AccessibleJPasswordField.class | Bin 874 -> 933 bytes .../lib/javax/swing/JPopupMenu$1.class | Bin 592 -> 592 bytes .../lib/javax/swing/JPopupMenu$2.class | Bin 639 -> 639 bytes .../JPopupMenu$AccessibleJPopupMenu.class | Bin 835 -> 894 bytes .../lib/javax/swing/JPopupMenu.class | Bin 12623 -> 12623 bytes .../lib/javax/swing/JProgressBar$1.class | Bin 780 -> 780 bytes .../JProgressBar$AccessibleJProgressBar.class | Bin 2399 -> 2458 bytes .../lib/javax/swing/JProgressBar.class | Bin 7973 -> 7973 bytes .../JRadioButton$AccessibleJRadioButton.class | Bin 864 -> 929 bytes ...uItem$AccessibleJRadioButtonMenuItem.class | Bin 924 -> 981 bytes .../javax/swing/JRadioButtonMenuItem.class | Bin 2374 -> 2433 bytes .../swing/JRootPane$AccessibleJRootPane.class | Bin 825 -> 884 bytes .../JScrollBar$AccessibleJScrollBar.class | Bin 2501 -> 2560 bytes .../lib/javax/swing/JScrollBar.class | Bin 7898 -> 7894 bytes .../JScrollPane$AccessibleJScrollPane.class | Bin 1495 -> 1554 bytes .../JSeparator$AccessibleJSeparator.class | Bin 834 -> 893 bytes .../classpath/lib/javax/swing/JSlider$1.class | Bin 750 -> 750 bytes .../swing/JSlider$AccessibleJSlider.class | Bin 2348 -> 2407 bytes .../classpath/lib/javax/swing/JSlider.class | Bin 11001 -> 11001 bytes .../lib/javax/swing/JSpinner$DateEditor.class | Bin 2032 -> 2266 bytes .../lib/javax/swing/JSpinner$ListEditor.class | Bin 693 -> 717 bytes .../javax/swing/JSpinner$NumberEditor.class | Bin 2057 -> 2293 bytes .../classpath/lib/javax/swing/JSpinner.class | Bin 4828 -> 4828 bytes .../JSplitPane$AccessibleJSplitPane.class | Bin 2425 -> 2484 bytes .../JTabbedPane$AccessibleJTabbedPane.class | Bin 3122 -> 3196 bytes ...cessibleJTable$AccessibleTableHeader.class | Bin 4585 -> 4622 bytes .../javax/swing/JTable$AccessibleJTable.class | Bin 13524 -> 13583 bytes .../classpath/lib/javax/swing/JTable.class | Bin 37074 -> 37074 bytes .../swing/JTextArea$AccessibleJTextArea.class | Bin 768 -> 840 bytes .../lib/javax/swing/JTextField$1.class | Bin 791 -> 791 bytes .../lib/javax/swing/JTextField$2.class | Bin 1275 -> 1275 bytes .../JTextField$AccessibleJTextField.class | Bin 841 -> 913 bytes .../lib/javax/swing/JTextField.class | Bin 8146 -> 8146 bytes ...ToggleButton$AccessibleJToggleButton.class | Bin 1479 -> 1546 bytes .../swing/JToolBar$AccessibleJToolBar.class | Bin 955 -> 1014 bytes .../swing/JToolTip$AccessibleJToolTip.class | Bin 1019 -> 1078 bytes .../classpath/lib/javax/swing/JToolTip.class | Bin 2448 -> 2448 bytes .../javax/swing/JTree$AccessibleJTree.class | Bin 4836 -> 4895 bytes libjava/classpath/lib/javax/swing/JTree.class | Bin 29327 -> 29373 bytes .../swing/JViewport$AccessibleJViewport.class | Bin 760 -> 819 bytes .../classpath/lib/javax/swing/JViewport.class | Bin 12807 -> 12870 bytes .../swing/JWindow$AccessibleJWindow.class | Bin 506 -> 557 bytes .../lib/javax/swing/KeyboardManager.class | Bin 4273 -> 4267 bytes .../lib/javax/swing/LookAndFeel$1.class | Bin 852 -> 900 bytes .../lib/javax/swing/LookAndFeel.class | Bin 5733 -> 5791 bytes .../lib/javax/swing/PopupFactory.class | Bin 1903 -> 1999 bytes .../lib/javax/swing/ProgressMonitor$1.class | Bin 742 -> 742 bytes .../lib/javax/swing/ProgressMonitor.class | Bin 3912 -> 3912 bytes .../lib/javax/swing/RepaintManager.class | Bin 9873 -> 9873 bytes .../classpath/lib/javax/swing/Spring$1.class | Bin 1114 -> 1114 bytes .../classpath/lib/javax/swing/Spring$2.class | Bin 1218 -> 1218 bytes .../classpath/lib/javax/swing/Spring$3.class | Bin 1218 -> 1218 bytes .../classpath/lib/javax/swing/Spring.class | Bin 2675 -> 2675 bytes .../swing/SpringLayout$DeferredHeight.class | Bin 1175 -> 1203 bytes .../swing/SpringLayout$DeferredSpring.class | Bin 1875 -> 1897 bytes .../swing/SpringLayout$DeferredWidth.class | Bin 1169 -> 1197 bytes .../lib/javax/swing/SpringLayout.class | Bin 5789 -> 5789 bytes .../lib/javax/swing/SwingUtilities.class | Bin 19713 -> 19721 bytes .../classpath/lib/javax/swing/Timer$1.class | Bin 557 -> 557 bytes libjava/classpath/lib/javax/swing/Timer.class | Bin 4981 -> 4981 bytes .../lib/javax/swing/ToolTipManager.class | Bin 7320 -> 7320 bytes ...TransferHandler$PropertyTransferable.class | Bin 2735 -> 2735 bytes ...erHandler$SwingDragGestureRecognizer.class | Bin 0 -> 1463 bytes .../TransferHandler$SwingDragHandler.class | Bin 0 -> 2689 bytes .../TransferHandler$TransferAction.class | Bin 2022 -> 2022 bytes .../lib/javax/swing/TransferHandler.class | Bin 6249 -> 6903 bytes .../lib/javax/swing/UIDefaults$1.class | Bin 1211 -> 1231 bytes .../lib/javax/swing/UIDefaults$2.class | Bin 1308 -> 1328 bytes .../lib/javax/swing/UIDefaults$3.class | Bin 1379 -> 1399 bytes .../lib/javax/swing/UIDefaults$4.class | Bin 1477 -> 1497 bytes .../javax/swing/UIDefaults$LazyInputMap.class | Bin 1156 -> 1176 bytes .../swing/UIDefaults$ProxyLazyValue.class | Bin 2228 -> 2248 bytes .../lib/javax/swing/UIDefaults.class | Bin 9901 -> 9901 bytes .../DefaultHSBChooserPanel$1.class | Bin 1434 -> 1434 bytes .../DefaultHSBChooserPanel$2.class | Bin 1077 -> 1077 bytes .../colorchooser/DefaultHSBChooserPanel.class | Bin 9940 -> 9940 bytes ...ltSwatchChooserPanel$MainSwatchPanel.class | Bin 7923 -> 7945 bytes ...faultSwatchChooserPanel$MouseHandler.class | Bin 1620 -> 1670 bytes ...SwatchChooserPanel$RecentSwatchPanel.class | Bin 2954 -> 2976 bytes .../DefaultSwatchChooserPanel.class | Bin 3119 -> 3119 bytes .../lib/javax/swing/plaf/TextUI.class | Bin 1455 -> 1560 bytes .../BasicBorders$RadioButtonBorder.class | Bin 2394 -> 2417 bytes .../BasicBorders$RolloverButtonBorder.class | Bin 1786 -> 1809 bytes .../BasicBorders$SplitPaneDividerBorder.class | Bin 2559 -> 2563 bytes .../BasicBorders$ToggleButtonBorder.class | Bin 1704 -> 1727 bytes .../javax/swing/plaf/basic/BasicBorders.class | Bin 4045 -> 4182 bytes .../plaf/basic/BasicButtonListener$1.class | Bin 1175 -> 1175 bytes .../plaf/basic/BasicButtonListener$2.class | Bin 1175 -> 1175 bytes .../plaf/basic/BasicButtonListener.class | Bin 6685 -> 6685 bytes .../plaf/basic/BasicColorChooserUI$1.class | Bin 924 -> 924 bytes .../plaf/basic/BasicColorChooserUI.class | Bin 4904 -> 4904 bytes ...asicComboBoxUI$ComboBoxLayoutManager.class | Bin 2168 -> 2086 bytes .../basic/BasicComboBoxUI$FocusHandler.class | Bin 1191 -> 1191 bytes .../basic/BasicComboBoxUI$ItemHandler.class | Bin 1308 -> 1308 bytes .../basic/BasicComboBoxUI$KeyHandler.class | Bin 1593 -> 1593 bytes .../BasicComboBoxUI$ListDataHandler.class | Bin 3136 -> 3136 bytes ...asicComboBoxUI$PropertyChangeHandler.class | Bin 2581 -> 2868 bytes .../swing/plaf/basic/BasicComboBoxUI.class | Bin 16273 -> 16210 bytes ...BasicComboPopup$InvocationKeyHandler.class | Bin 734 -> 734 bytes ...sicComboPopup$InvocationMouseHandler.class | Bin 2308 -> 2308 bytes ...boPopup$InvocationMouseMotionHandler.class | Bin 1954 -> 1954 bytes .../basic/BasicComboPopup$ItemHandler.class | Bin 1152 -> 1152 bytes .../BasicComboPopup$ListDataHandler.class | Bin 940 -> 940 bytes .../BasicComboPopup$ListMouseHandler.class | Bin 1081 -> 1081 bytes ...sicComboPopup$ListMouseMotionHandler.class | Bin 1296 -> 1296 bytes ...BasicComboPopup$ListSelectionHandler.class | Bin 799 -> 799 bytes ...asicComboPopup$PropertyChangeHandler.class | Bin 1878 -> 1878 bytes .../swing/plaf/basic/BasicComboPopup.class | Bin 14150 -> 13949 bytes .../plaf/basic/BasicDesktopIconUI$1.class | Bin 1713 -> 1758 bytes .../plaf/basic/BasicDesktopIconUI$2.class | Bin 814 -> 814 bytes .../BasicDesktopIconUI$BoundButton.class | Bin 1306 -> 1361 bytes ...BasicDesktopIconUI$MouseInputHandler.class | Bin 2401 -> 2424 bytes .../swing/plaf/basic/BasicDesktopIconUI.class | Bin 4991 -> 5014 bytes .../plaf/basic/BasicDirectoryModel$1.class | Bin 856 -> 856 bytes .../plaf/basic/BasicDirectoryModel.class | Bin 5555 -> 5555 bytes .../swing/plaf/basic/BasicFileChooserUI.class | Bin 13666 -> 13714 bytes .../swing/plaf/basic/BasicGraphicsUtils.class | Bin 8236 -> 8276 bytes .../plaf/basic/BasicHTML$HTMLRootView.class | Bin 4406 -> 4488 bytes .../swing/plaf/basic/BasicIconFactory$1.class | Bin 1221 -> 1221 bytes .../swing/plaf/basic/BasicIconFactory$2.class | Bin 1188 -> 1188 bytes .../swing/plaf/basic/BasicIconFactory.class | Bin 1847 -> 1847 bytes .../basic/BasicInternalFrameTitlePane.class | Bin 10171 -> 10171 bytes .../plaf/basic/BasicInternalFrameUI.class | Bin 12010 -> 12010 bytes .../swing/plaf/basic/BasicLabelUI$1.class | Bin 1068 -> 1068 bytes .../javax/swing/plaf/basic/BasicLabelUI.class | Bin 9298 -> 9591 bytes .../javax/swing/plaf/basic/BasicListUI.class | Bin 15521 -> 15521 bytes .../swing/plaf/basic/BasicLookAndFeel$1.class | Bin 920 -> 968 bytes .../swing/plaf/basic/BasicLookAndFeel$2.class | Bin 913 -> 961 bytes .../swing/plaf/basic/BasicLookAndFeel$3.class | Bin 918 -> 966 bytes .../swing/plaf/basic/BasicLookAndFeel$4.class | Bin 921 -> 969 bytes .../swing/plaf/basic/BasicLookAndFeel$5.class | Bin 1557 -> 1679 bytes .../swing/plaf/basic/BasicLookAndFeel$6.class | Bin 996 -> 1044 bytes .../swing/plaf/basic/BasicLookAndFeel$7.class | Bin 916 -> 964 bytes .../swing/plaf/basic/BasicLookAndFeel.class | Bin 54628 -> 54909 bytes .../swing/plaf/basic/BasicMenuBarUI.class | Bin 5909 -> 5909 bytes .../swing/plaf/basic/BasicMenuItemUI.class | Bin 17650 -> 17650 bytes .../javax/swing/plaf/basic/BasicMenuUI.class | Bin 6078 -> 6110 bytes .../plaf/basic/BasicOptionPaneUI$1.class | Bin 1325 -> 1347 bytes .../plaf/basic/BasicOptionPaneUI$2.class | Bin 1389 -> 1411 bytes .../plaf/basic/BasicOptionPaneUI$3.class | Bin 1406 -> 1428 bytes .../plaf/basic/BasicOptionPaneUI$4.class | Bin 1282 -> 1304 bytes .../swing/plaf/basic/BasicOptionPaneUI.class | Bin 14568 -> 14568 bytes .../basic/BasicPopupMenuSeparatorUI.class | Bin 1533 -> 1604 bytes .../BasicPopupMenuUI$PopupMenuHandler.class | Bin 2391 -> 2482 bytes .../swing/plaf/basic/BasicPopupMenuUI.class | Bin 6526 -> 6526 bytes .../swing/plaf/basic/BasicProgressBarUI.class | Bin 13071 -> 13071 bytes .../swing/plaf/basic/BasicRadioButtonUI.class | Bin 5547 -> 5736 bytes .../swing/plaf/basic/BasicScrollBarUI$1.class | Bin 1190 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$2.class | Bin 1191 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$3.class | Bin 1190 -> 1190 bytes .../swing/plaf/basic/BasicScrollBarUI$4.class | Bin 1191 -> 1191 bytes .../swing/plaf/basic/BasicScrollBarUI$5.class | Bin 1122 -> 1122 bytes .../swing/plaf/basic/BasicScrollBarUI$6.class | Bin 1122 -> 1122 bytes ...BasicScrollBarUI$ArrowButtonListener.class | Bin 1555 -> 1580 bytes ...sicScrollBarUI$PropertyChangeHandler.class | Bin 2087 -> 2170 bytes .../BasicScrollBarUI$ScrollListener.class | Bin 1651 -> 1675 bytes .../BasicScrollBarUI$TrackListener.class | Bin 3012 -> 3037 bytes .../swing/plaf/basic/BasicScrollBarUI.class | Bin 16908 -> 16908 bytes .../plaf/basic/BasicScrollPaneUI$1.class | Bin 1344 -> 1344 bytes .../plaf/basic/BasicScrollPaneUI$10.class | Bin 1345 -> 1345 bytes .../plaf/basic/BasicScrollPaneUI$2.class | Bin 1359 -> 1359 bytes .../plaf/basic/BasicScrollPaneUI$3.class | Bin 1341 -> 1341 bytes .../plaf/basic/BasicScrollPaneUI$4.class | Bin 1343 -> 1343 bytes .../plaf/basic/BasicScrollPaneUI$5.class | Bin 1342 -> 1342 bytes .../plaf/basic/BasicScrollPaneUI$6.class | Bin 1344 -> 1344 bytes .../plaf/basic/BasicScrollPaneUI$7.class | Bin 1359 -> 1359 bytes .../plaf/basic/BasicScrollPaneUI$8.class | Bin 1342 -> 1342 bytes .../plaf/basic/BasicScrollPaneUI$9.class | Bin 1341 -> 1341 bytes .../swing/plaf/basic/BasicScrollPaneUI.class | Bin 10659 -> 10659 bytes .../swing/plaf/basic/BasicSliderUI$1.class | Bin 1165 -> 1165 bytes .../swing/plaf/basic/BasicSliderUI$2.class | Bin 1165 -> 1165 bytes .../swing/plaf/basic/BasicSliderUI$3.class | Bin 1166 -> 1166 bytes .../swing/plaf/basic/BasicSliderUI$4.class | Bin 1166 -> 1166 bytes .../swing/plaf/basic/BasicSliderUI$5.class | Bin 1142 -> 1142 bytes .../swing/plaf/basic/BasicSliderUI$6.class | Bin 1142 -> 1142 bytes .../basic/BasicSliderUI$ScrollListener.class | Bin 1574 -> 1598 bytes .../swing/plaf/basic/BasicSliderUI.class | Bin 25517 -> 25517 bytes .../swing/plaf/basic/BasicSpinnerUI$1.class | Bin 1216 -> 1216 bytes .../swing/plaf/basic/BasicSpinnerUI$2.class | Bin 1703 -> 1703 bytes .../swing/plaf/basic/BasicSpinnerUI$3.class | Bin 784 -> 784 bytes .../swing/plaf/basic/BasicSpinnerUI$4.class | Bin 1711 -> 1711 bytes .../swing/plaf/basic/BasicSpinnerUI$5.class | Bin 784 -> 784 bytes .../swing/plaf/basic/BasicSpinnerUI.class | Bin 4321 -> 4345 bytes .../BasicSplitPaneDivider$MouseHandler.class | Bin 1691 -> 1749 bytes ...itPaneDivider$VerticalDragController.class | Bin 1197 -> 1222 bytes .../plaf/basic/BasicSplitPaneDivider.class | Bin 7162 -> 7162 bytes .../swing/plaf/basic/BasicSplitPaneUI$1.class | Bin 855 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$2.class | Bin 977 -> 977 bytes .../swing/plaf/basic/BasicSplitPaneUI$3.class | Bin 985 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$4.class | Bin 985 -> 985 bytes .../swing/plaf/basic/BasicSplitPaneUI$5.class | Bin 1182 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$6.class | Bin 1182 -> 1182 bytes .../swing/plaf/basic/BasicSplitPaneUI$7.class | Bin 855 -> 855 bytes .../swing/plaf/basic/BasicSplitPaneUI$8.class | Bin 855 -> 855 bytes ...litPaneUI$BasicVerticalLayoutManager.class | Bin 701 -> 740 bytes .../BasicSplitPaneUI$PropertyHandler.class | Bin 1987 -> 2026 bytes .../swing/plaf/basic/BasicSplitPaneUI.class | Bin 14032 -> 14032 bytes .../BasicTabbedPaneUI$FocusHandler.class | Bin 1350 -> 1436 bytes .../BasicTabbedPaneUI$MouseHandler.class | Bin 4164 -> 4304 bytes ...icTabbedPaneUI$PropertyChangeHandler.class | Bin 2309 -> 2397 bytes ...cTabbedPaneUI$TabbedPaneScrollLayout.class | Bin 6417 -> 6498 bytes .../swing/plaf/basic/BasicTabbedPaneUI.class | Bin 32391 -> 32391 bytes .../plaf/basic/BasicTableHeaderUI$1.class | Bin 1270 -> 1270 bytes ...BasicTableHeaderUI$MouseInputHandler.class | Bin 5270 -> 5270 bytes .../javax/swing/plaf/basic/BasicTableUI.class | Bin 11558 -> 11558 bytes .../plaf/basic/BasicTextUI$Handler.class | Bin 2400 -> 2419 bytes .../plaf/basic/BasicTextUI$RootView.class | Bin 4656 -> 4738 bytes .../javax/swing/plaf/basic/BasicTextUI.class | Bin 17718 -> 17826 bytes .../BasicToolBarUI$DockingListener.class | Bin 2955 -> 2976 bytes .../swing/plaf/basic/BasicToolBarUI.class | Bin 16635 -> 16658 bytes .../swing/plaf/basic/BasicTreeUI$1.class | Bin 1001 -> 1001 bytes .../basic/BasicTreeUI$CellEditorHandler.class | Bin 901 -> 901 bytes .../basic/BasicTreeUI$ComponentHandler.class | Bin 2143 -> 2143 bytes .../plaf/basic/BasicTreeUI$FocusHandler.class | Bin 1242 -> 1242 bytes .../plaf/basic/BasicTreeUI$KeyHandler.class | Bin 2114 -> 2114 bytes .../plaf/basic/BasicTreeUI$MouseHandler.class | Bin 2514 -> 2514 bytes .../basic/BasicTreeUI$MouseInputHandler.class | Bin 2338 -> 2338 bytes .../BasicTreeUI$NodeDimensionsHandler.class | Bin 2351 -> 2418 bytes .../BasicTreeUI$PropertyChangeHandler.class | Bin 2241 -> 2241 bytes ...$SelectionModelPropertyChangeHandler.class | Bin 966 -> 966 bytes .../BasicTreeUI$TreeCancelEditingAction.class | Bin 987 -> 987 bytes .../BasicTreeUI$TreeExpansionHandler.class | Bin 1477 -> 1477 bytes .../basic/BasicTreeUI$TreeHomeAction.class | Bin 2637 -> 2637 bytes .../BasicTreeUI$TreeIncrementAction.class | Bin 3035 -> 3035 bytes .../basic/BasicTreeUI$TreeModelHandler.class | Bin 1898 -> 1898 bytes .../basic/BasicTreeUI$TreePageAction.class | Bin 3700 -> 3700 bytes .../BasicTreeUI$TreeSelectionHandler.class | Bin 1558 -> 1558 bytes .../BasicTreeUI$TreeStartEditingAction.class | Bin 1115 -> 1115 bytes .../basic/BasicTreeUI$TreeToggleAction.class | Bin 1673 -> 1673 bytes .../BasicTreeUI$TreeTraverseAction.class | Bin 2504 -> 2504 bytes .../javax/swing/plaf/basic/BasicTreeUI.class | Bin 37315 -> 37502 bytes .../MetalBorders$RolloverButtonBorder.class | Bin 760 -> 783 bytes .../metal/MetalBorders$TextFieldBorder.class | Bin 1378 -> 1402 bytes .../MetalBorders$ToggleButtonBorder.class | Bin 2043 -> 2066 bytes .../javax/swing/plaf/metal/MetalBorders.class | Bin 3427 -> 3565 bytes .../swing/plaf/metal/MetalButtonUI.class | Bin 4967 -> 4883 bytes .../swing/plaf/metal/MetalCheckBoxIcon.class | Bin 2082 -> 2169 bytes .../plaf/metal/MetalComboBoxEditor.class | Bin 1094 -> 1094 bytes ...omboBoxUI$MetalComboBoxLayoutManager.class | Bin 1060 -> 1136 bytes .../MetalComboBoxUI$MetalComboPopup.class | Bin 866 -> 866 bytes ...mboBoxUI$MetalPropertyChangeListener.class | Bin 2089 -> 2165 bytes .../swing/plaf/metal/MetalComboBoxUI.class | Bin 5757 -> 5760 bytes ...ileChooserUI$DirectoryComboBoxAction.class | Bin 1224 -> 1257 bytes ...eChooserUI$DirectoryComboBoxRenderer.class | Bin 1992 -> 2046 bytes ...talFileChooserPropertyChangeListener.class | Bin 7109 -> 7139 bytes .../swing/plaf/metal/MetalFileChooserUI.class | Bin 19113 -> 19114 bytes .../swing/plaf/metal/MetalIconFactory$1.class | Bin 1188 -> 1188 bytes .../swing/plaf/metal/MetalIconFactory$2.class | Bin 1192 -> 1192 bytes .../swing/plaf/metal/MetalIconFactory$3.class | Bin 1221 -> 1221 bytes ...lIconFactory$FileChooserUpFolderIcon.class | Bin 1204 -> 1239 bytes .../MetalIconFactory$TreeFolderIcon.class | Bin 637 -> 660 bytes .../metal/MetalIconFactory$TreeLeafIcon.class | Bin 629 -> 650 bytes .../swing/plaf/metal/MetalIconFactory.class | Bin 6422 -> 6422 bytes ...lFrameTitlePanePropertyChangeHandler.class | Bin 1838 -> 1926 bytes .../plaf/metal/MetalInternalFrameUI$1.class | Bin 1205 -> 1205 bytes .../plaf/metal/MetalInternalFrameUI.class | Bin 2982 -> 3077 bytes .../swing/plaf/metal/MetalLookAndFeel$1.class | Bin 916 -> 964 bytes .../swing/plaf/metal/MetalLookAndFeel.class | Bin 30873 -> 31116 bytes .../swing/plaf/metal/MetalMenuBarUI.class | Bin 1225 -> 1223 bytes .../MetalRootPaneUI$MetalRootLayout.class | Bin 4344 -> 4369 bytes ...ootPaneUI$MetalTitlePane$CloseAction.class | Bin 1617 -> 1621 bytes .../MetalRootPaneUI$MetalTitlePane.class | Bin 8217 -> 8217 bytes .../swing/plaf/metal/MetalRootPaneUI.class | Bin 3207 -> 3207 bytes ...$MetalScrollBarPropertyChangeHandler.class | Bin 1557 -> 1634 bytes .../MetalSliderUI$MetalPropertyListener.class | Bin 1242 -> 1316 bytes .../MetalTabbedPaneUI$TabbedPaneLayout.class | Bin 1097 -> 1151 bytes ...etalToolBarUI$MetalContainerListener.class | Bin 662 -> 735 bytes .../MetalToolBarUI$MetalDockingListener.class | Bin 1188 -> 1257 bytes ...MetalToolBarUI$MetalRolloverListener.class | Bin 656 -> 726 bytes .../swing/plaf/metal/MetalToolBarUI.class | Bin 3159 -> 3180 bytes .../javax/swing/plaf/metal/MetalUtils.class | Bin 7703 -> 7774 bytes .../javax/swing/plaf/metal/OceanTheme.class | Bin 5545 -> 5638 bytes .../javax/swing/plaf/multi/MultiTextUI.class | Bin 7018 -> 7123 bytes .../javax/swing/table/DefaultTableModel.class | Bin 7491 -> 7479 bytes .../JTableHeader$AccessibleJTableHeader.class | Bin 1638 -> 1697 bytes .../AbstractDocument$AbstractElement.class | Bin 7275 -> 7302 bytes .../text/AbstractDocument$BidiElement.class | Bin 1170 -> 1192 bytes .../AbstractDocument$BidiRootElement.class | Bin 775 -> 799 bytes .../text/AbstractDocument$BranchElement.class | Bin 3805 -> 3831 bytes .../swing/text/AbstractDocument$Bypass.class | Bin 1368 -> 1428 bytes ...bstractDocument$DefaultDocumentEvent.class | Bin 2879 -> 2958 bytes .../text/AbstractDocument$ElementEdit.class | Bin 1266 -> 1327 bytes .../text/AbstractDocument$LeafElement.class | Bin 2890 -> 2916 bytes .../javax/swing/text/AbstractDocument.class | Bin 19878 -> 20008 bytes .../text/AsyncBoxView$ChildLocator.class | Bin 4547 -> 4614 bytes .../swing/text/AsyncBoxView$ChildState.class | Bin 3896 -> 3919 bytes .../swing/text/AsyncBoxView$FlushTask.class | Bin 1889 -> 1910 bytes .../lib/javax/swing/text/AsyncBoxView.class | Bin 10236 -> 10343 bytes .../lib/javax/swing/text/BoxView.class | Bin 13114 -> 13294 bytes .../javax/swing/text/ComponentView$1.class | Bin 1200 -> 1200 bytes .../lib/javax/swing/text/ComponentView.class | Bin 4965 -> 5011 bytes .../lib/javax/swing/text/CompositeView.class | Bin 8179 -> 8248 bytes .../swing/text/DefaultCaret$Bypass.class | Bin 960 -> 1104 bytes .../lib/javax/swing/text/DefaultCaret.class | Bin 14143 -> 14460 bytes .../DefaultEditorKit$BackwardAction.class | Bin 750 -> 818 bytes .../text/DefaultEditorKit$DownAction.class | Bin 731 -> 797 bytes .../text/DefaultEditorKit$ForwardAction.class | Bin 745 -> 813 bytes ...ultEditorKit$SelectionBackwardAction.class | Bin 782 -> 850 bytes ...DefaultEditorKit$SelectionDownAction.class | Bin 763 -> 829 bytes ...aultEditorKit$SelectionForwardAction.class | Bin 777 -> 845 bytes .../DefaultEditorKit$SelectionUpAction.class | Bin 755 -> 821 bytes .../text/DefaultEditorKit$UpAction.class | Bin 723 -> 789 bytes .../javax/swing/text/DefaultEditorKit.class | Bin 9767 -> 9767 bytes ...ultFormatter$FormatterDocumentFilter.class | Bin 2934 -> 3007 bytes .../javax/swing/text/DefaultFormatter.class | Bin 3572 -> 3600 bytes .../swing/text/DefaultFormatterFactory.class | Bin 2826 -> 2967 bytes ...tHighlighter$DefaultHighlightPainter.class | Bin 3060 -> 3170 bytes .../DefaultHighlighter$HighlightEntry.class | Bin 1259 -> 1391 bytes ...faultHighlighter$LayerHighlightEntry.class | Bin 2281 -> 2482 bytes .../javax/swing/text/DefaultHighlighter.class | Bin 6755 -> 6859 bytes .../DefaultStyledDocument$ElementBuffer.class | Bin 18010 -> 18202 bytes ...DefaultStyledDocument$SectionElement.class | Bin 800 -> 863 bytes ...ltStyledDocument$StyleChangeListener.class | Bin 1181 -> 1181 bytes .../swing/text/DefaultStyledDocument.class | Bin 15413 -> 15654 bytes .../swing/text/EmptyAttributeSet$1.class | Bin 891 -> 891 bytes .../javax/swing/text/EmptyAttributeSet.class | Bin 1728 -> 1728 bytes .../lib/javax/swing/text/FieldView$1.class | Bin 813 -> 813 bytes .../lib/javax/swing/text/FieldView.class | Bin 6268 -> 6350 bytes .../swing/text/FlowView$FlowStrategy.class | Bin 5963 -> 6009 bytes .../text/GapContent$GapContentPosition.class | Bin 736 -> 751 bytes .../javax/swing/text/GapContent$Mark.class | Bin 1400 -> 1429 bytes .../swing/text/GapContent$UndoPosRef.class | Bin 908 -> 923 bytes .../lib/javax/swing/text/GapContent.class | Bin 12279 -> 12336 bytes .../text/GlyphView$DefaultGlyphPainter.class | Bin 4860 -> 4929 bytes .../swing/text/GlyphView$GlyphPainter.class | Bin 1753 -> 1835 bytes .../text/GlyphView$J2DGlyphPainter.class | Bin 4332 -> 4401 bytes .../lib/javax/swing/text/GlyphView.class | Bin 12332 -> 12414 bytes .../swing/text/Highlighter$Highlight.class | Bin 334 -> 412 bytes .../lib/javax/swing/text/IconView.class | Bin 2347 -> 2452 bytes .../swing/text/InternationalFormatter.class | Bin 3849 -> 4035 bytes ...xtComponent$AccessibleJTextComponent.class | Bin 10550 -> 10641 bytes .../lib/javax/swing/text/JTextComponent.class | Bin 18400 -> 18471 bytes .../LayeredHighlighter$LayerPainter.class | Bin 614 -> 675 bytes .../text/NavigationFilter$FilterBypass.class | Bin 544 -> 626 bytes .../javax/swing/text/NavigationFilter.class | Bin 1419 -> 1501 bytes .../lib/javax/swing/text/ParagraphView.class | Bin 6072 -> 6118 bytes .../lib/javax/swing/text/PasswordView.class | Bin 4121 -> 4226 bytes .../lib/javax/swing/text/PlainDocument.class | Bin 6235 -> 6434 bytes .../lib/javax/swing/text/PlainView.class | Bin 11774 -> 11887 bytes .../text/StringContent$StickyPosition.class | Bin 1163 -> 1178 bytes .../swing/text/StringContent$UndoPosRef.class | Bin 815 -> 830 bytes .../lib/javax/swing/text/StringContent.class | Bin 5574 -> 5631 bytes .../StyleConstants$CharacterConstants.class | Bin 1428 -> 1541 bytes .../text/StyleConstants$ColorConstants.class | Bin 776 -> 865 bytes .../text/StyleConstants$FontConstants.class | Bin 858 -> 946 bytes .../StyleConstants$ParagraphConstants.class | Bin 1091 -> 1155 bytes .../lib/javax/swing/text/StyleContext$1.class | Bin 995 -> 995 bytes .../text/StyleContext$SmallAttributeSet.class | Bin 4021 -> 4021 bytes .../lib/javax/swing/text/StyleContext.class | Bin 11737 -> 11800 bytes .../StyledEditorKit$AlignmentAction.class | Bin 1181 -> 1208 bytes .../text/StyledEditorKit$BoldAction.class | Bin 1692 -> 1719 bytes .../StyledEditorKit$FontFamilyAction.class | Bin 1220 -> 1247 bytes .../text/StyledEditorKit$FontSizeAction.class | Bin 1180 -> 1207 bytes .../StyledEditorKit$ForegroundAction.class | Bin 1231 -> 1258 bytes .../text/StyledEditorKit$ItalicAction.class | Bin 1704 -> 1731 bytes .../StyledEditorKit$UnderlineAction.class | Bin 1722 -> 1749 bytes .../javax/swing/text/StyledEditorKit.class | Bin 4297 -> 4297 bytes .../lib/javax/swing/text/TabStop.class | Bin 2174 -> 2178 bytes .../lib/javax/swing/text/TableView.class | Bin 3781 -> 3893 bytes .../lib/javax/swing/text/Utilities.class | Bin 8224 -> 8293 bytes .../classpath/lib/javax/swing/text/View.class | Bin 12065 -> 12178 bytes .../text/WrappedPlainView$WrappedLine.class | Bin 5765 -> 5847 bytes .../WrappedPlainView$WrappedLineCreator.class | Bin 889 -> 911 bytes .../javax/swing/text/WrappedPlainView.class | Bin 8465 -> 8489 bytes .../lib/javax/swing/text/ZoneView.class | Bin 5663 -> 5775 bytes .../lib/javax/swing/text/html/BlockView.class | Bin 9557 -> 9629 bytes .../lib/javax/swing/text/html/CSSBorder.class | Bin 7458 -> 7532 bytes .../lib/javax/swing/text/html/CSSParser.class | Bin 4348 -> 4348 bytes .../swing/text/html/FormSubmitEvent.class | Bin 1362 -> 1468 bytes .../javax/swing/text/html/FormView$1.class | Bin 1669 -> 1669 bytes .../text/html/FormView$SubmitThread.class | Bin 5391 -> 5515 bytes .../lib/javax/swing/text/html/FormView.class | Bin 10767 -> 10801 bytes .../javax/swing/text/html/FrameSetView.class | Bin 3609 -> 3661 bytes .../lib/javax/swing/text/html/FrameView.class | Bin 4334 -> 4429 bytes .../lib/javax/swing/text/html/HTML$Tag.class | Bin 6702 -> 6692 bytes .../swing/text/html/HTML$UnknownTag.class | Bin 546 -> 560 bytes .../swing/text/html/HTMLDocument$1.class | Bin 1352 -> 1541 bytes .../text/html/HTMLDocument$BlockElement.class | Bin 1326 -> 1389 bytes .../HTMLDocument$HTMLReader$AreaAction.class | Bin 1106 -> 1208 bytes .../HTMLDocument$HTMLReader$BaseAction.class | Bin 1330 -> 1452 bytes .../HTMLDocument$HTMLReader$BlockAction.class | Bin 1103 -> 1205 bytes ...LDocument$HTMLReader$CharacterAction.class | Bin 1544 -> 1630 bytes ...TMLDocument$HTMLReader$ConvertAction.class | Bin 2417 -> 2542 bytes .../HTMLDocument$HTMLReader$FormAction.class | Bin 5253 -> 5311 bytes ...TMLDocument$HTMLReader$FormTagAction.class | Bin 913 -> 1017 bytes .../HTMLDocument$HTMLReader$HeadAction.class | Bin 1714 -> 1818 bytes ...HTMLDocument$HTMLReader$HiddenAction.class | Bin 1106 -> 1208 bytes ...TMLDocument$HTMLReader$IsindexAction.class | Bin 1202 -> 1268 bytes .../HTMLDocument$HTMLReader$LinkAction.class | Bin 2414 -> 2539 bytes .../HTMLDocument$HTMLReader$MapAction.class | Bin 1103 -> 1205 bytes .../HTMLDocument$HTMLReader$MetaAction.class | Bin 1106 -> 1208 bytes ...LDocument$HTMLReader$ParagraphAction.class | Bin 1086 -> 1190 bytes .../HTMLDocument$HTMLReader$PreAction.class | Bin 1471 -> 1590 bytes ...TMLDocument$HTMLReader$SpecialAction.class | Bin 971 -> 1073 bytes .../HTMLDocument$HTMLReader$StyleAction.class | Bin 1084 -> 1186 bytes .../HTMLDocument$HTMLReader$TagAction.class | Bin 993 -> 1075 bytes .../HTMLDocument$HTMLReader$TitleAction.class | Bin 1109 -> 1211 bytes .../text/html/HTMLDocument$HTMLReader.class | Bin 15313 -> 15608 bytes .../text/html/HTMLDocument$Iterator.class | Bin 612 -> 694 bytes .../text/html/HTMLDocument$LeafIterator.class | Bin 1732 -> 1833 bytes .../text/html/HTMLDocument$RunElement.class | Bin 1364 -> 1425 bytes .../javax/swing/text/html/HTMLDocument.class | Bin 14134 -> 14693 bytes .../text/html/HTMLEditorKit$HTMLFactory.class | Bin 3016 -> 3062 bytes .../html/HTMLEditorKit$HTMLTextAction.class | Bin 3248 -> 3359 bytes .../HTMLEditorKit$InsertHTMLTextAction.class | Bin 5648 -> 5755 bytes .../html/HTMLEditorKit$LinkController.class | Bin 5330 -> 5416 bytes .../text/html/HTMLEditorKit$Parser.class | Bin 542 -> 623 bytes .../html/HTMLEditorKit$ParserCallback.class | Bin 1710 -> 1792 bytes .../javax/swing/text/html/HTMLEditorKit.class | Bin 10381 -> 10427 bytes .../text/html/HTMLFrameHyperlinkEvent.class | Bin 1753 -> 1844 bytes .../javax/swing/text/html/HTMLWriter.class | Bin 13091 -> 13180 bytes .../javax/swing/text/html/ImageView$1.class | Bin 842 -> 842 bytes .../lib/javax/swing/text/html/ImageView.class | Bin 8743 -> 8916 bytes .../javax/swing/text/html/InlineView.class | Bin 4798 -> 4872 bytes .../lib/javax/swing/text/html/ListView.class | Bin 1920 -> 1965 bytes .../lib/javax/swing/text/html/NullView.class | Bin 1284 -> 1389 bytes .../lib/javax/swing/text/html/Option.class | Bin 1511 -> 1586 bytes .../javax/swing/text/html/ParagraphView.class | Bin 4882 -> 4977 bytes .../html/ResetableToggleButtonModel.class | Bin 655 -> 737 bytes .../text/html/StyleSheet$BoxPainter.class | Bin 3498 -> 3549 bytes ...yleSheet$CSSStyleSheetParserCallback.class | Bin 2235 -> 2315 bytes .../text/html/StyleSheet$ListPainter.class | Bin 2672 -> 2769 bytes .../javax/swing/text/html/StyleSheet.class | Bin 17082 -> 17237 bytes .../swing/text/html/TableView$CellView.class | Bin 1794 -> 1846 bytes .../swing/text/html/TableView$RowView.class | Bin 3261 -> 3280 bytes .../lib/javax/swing/text/html/TableView.class | Bin 12518 -> 12636 bytes .../swing/text/html/ViewAttributeSet.class | Bin 2824 -> 2944 bytes .../text/html/parser/AttributeList$1.class | Bin 944 -> 944 bytes .../text/html/parser/AttributeList.class | Bin 2576 -> 2576 bytes .../parser/DocumentParser$gnuParser.class | Bin 3356 -> 3504 bytes .../text/html/parser/DocumentParser.class | Bin 2434 -> 2500 bytes .../swing/text/html/parser/Element$1.class | Bin 653 -> 653 bytes .../swing/text/html/parser/Element.class | Bin 2752 -> 2752 bytes .../swing/text/html/parser/Entity$1.class | Bin 783 -> 783 bytes .../javax/swing/text/html/parser/Entity.class | Bin 1637 -> 1637 bytes .../swing/text/html/parser/Parser$1.class | Bin 2671 -> 2671 bytes .../javax/swing/text/html/parser/Parser.class | Bin 4563 -> 4563 bytes .../parser/ParserDelegator$gnuParser.class | Bin 3250 -> 3398 bytes .../text/html/parser/ParserDelegator.class | Bin 2400 -> 2483 bytes .../swing/text/html/parser/TagElement.class | Bin 1863 -> 1921 bytes ...MutableTreeNode$PostorderEnumeration.class | Bin 1720 -> 1717 bytes ...tMutableTreeNode$PreorderEnumeration.class | Bin 1623 -> 1617 bytes .../swing/tree/DefaultMutableTreeNode.class | Bin 10962 -> 10962 bytes .../swing/tree/DefaultTreeCellEditor.class | Bin 9819 -> 9819 bytes .../tree/VariableHeightLayoutCache.class | Bin 8001 -> 8026 bytes .../lib/javax/xml/datatype/Duration.class | Bin 3881 -> 3968 bytes .../javax/xml/validation/SchemaFactory.class | Bin 5071 -> 5068 bytes libjava/classpath/lib/jazzlib/index.html | 47 - .../classpath/lib/jazzlib/makeJazzlibDist.sh | 121 - libjava/classpath/lib/mkcollections.pl.in | 17 + libjava/classpath/lib/mkdep.pl.in | 336 - .../classpath/lib/org/omg/CORBA/DynAny.class | Bin 2088 -> 2107 bytes .../lib/org/omg/CORBA/DynArray.class | Bin 303 -> 322 bytes .../classpath/lib/org/omg/CORBA/DynEnum.class | Bin 264 -> 283 bytes .../lib/org/omg/CORBA/DynFixed.class | Bin 263 -> 282 bytes .../lib/org/omg/CORBA/DynSequence.class | Bin 347 -> 366 bytes .../lib/org/omg/CORBA/DynStruct.class | Bin 433 -> 452 bytes .../lib/org/omg/CORBA/DynUnion.class | Bin 408 -> 427 bytes .../lib/org/omg/CORBA/DynValue.class | Bin 459 -> 478 bytes libjava/classpath/lib/org/omg/CORBA/ORB.class | Bin 10975 -> 11017 bytes .../lib/org/omg/CORBA/_IDLTypeStub.class | Bin 2887 -> 2880 bytes .../lib/org/omg/CORBA/_PolicyStub.class | Bin 2534 -> 2527 bytes .../omg/CosNaming/_BindingIteratorStub.class | Bin 3449 -> 3442 bytes .../omg/CosNaming/_NamingContextExtStub.class | Bin 4329 -> 4329 bytes .../omg/CosNaming/_NamingContextStub.class | Bin 8173 -> 8192 bytes .../_IORInterceptor_3_0Stub.class | Bin 4213 -> 4178 bytes ...DatatypeLibraryLoader$Service$Loader.class | Bin 1749 -> 1769 bytes ...atatypeLibraryLoader$Service$Loader2.class | Bin 1756 -> 1793 bytes .../DatatypeLibraryLoader$Service.class | Bin 4546 -> 4546 bytes .../DOMImplementationRegistry$1.class | Bin 1248 -> 1248 bytes .../DOMImplementationRegistry$2.class | Bin 842 -> 842 bytes .../DOMImplementationRegistry$3.class | Bin 786 -> 786 bytes .../DOMImplementationRegistry$4.class | Bin 1067 -> 1067 bytes .../bootstrap/DOMImplementationRegistry.class | Bin 5443 -> 5443 bytes .../AnnotationInvocationHandler.class | Bin 8487 -> 8486 bytes libjava/classpath/ltconfig | 4 +- libjava/classpath/ltmain.sh | 8 +- libjava/classpath/m4/acinclude.m4 | 80 +- .../m4/ax_func_which_gethostbyname_r.m4 | 165 + libjava/classpath/missing | 193 +- libjava/classpath/native/Makefile.in | 29 +- libjava/classpath/native/fdlibm/Makefile.in | 35 +- libjava/classpath/native/jawt/Makefile.am | 2 +- libjava/classpath/native/jawt/Makefile.in | 37 +- libjava/classpath/native/jni/Makefile.in | 29 +- .../native/jni/classpath/Makefile.in | 35 +- .../native/jni/gconf-peer/Makefile.am | 2 +- .../native/jni/gconf-peer/Makefile.in | 37 +- .../classpath/native/jni/gtk-peer/Makefile.am | 5 +- .../classpath/native/jni/gtk-peer/Makefile.in | 45 +- .../classpath/native/jni/gtk-peer/gdkfont.h | 2 + .../gnu_java_awt_peer_gtk_CairoGraphics2D.c | 48 +- .../gnu_java_awt_peer_gtk_CairoSurface.c | 227 +- ...nu_java_awt_peer_gtk_FreetypeGlyphVector.c | 141 +- .../gnu_java_awt_peer_gtk_GdkFontPeer.c | 31 +- .../gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c | 5 +- .../gnu_java_awt_peer_gtk_GtkToolkit.c | 115 +- .../native/jni/gtk-peer/gthread-jni.c | 2592 -- .../classpath/native/jni/java-io/Makefile.in | 35 +- .../native/jni/java-io/java_io_VMFile.c | 153 + .../native/jni/java-lang/Makefile.am | 6 +- .../native/jni/java-lang/Makefile.in | 57 +- ...g_management_VMOperatingSystemMXBeanImpl.c | 60 + .../native/jni/java-lang/java_lang_VMDouble.c | 22 +- .../classpath/native/jni/java-net/Makefile.in | 35 +- .../java-net/java_net_VMNetworkInterface.c | 7 +- libjava/classpath/native/jni/java-net/local.c | 9 +- .../classpath/native/jni/java-nio/Makefile.in | 35 +- .../jni/java-nio/gnu_java_nio_VMChannel.c | 19 +- .../gnu_java_nio_charset_iconv_IconvDecoder.c | 29 +- .../gnu_java_nio_charset_iconv_IconvEncoder.c | 29 +- .../classpath/native/jni/java-nio/javanio.c | 28 +- .../native/jni/java-util/Makefile.in | 35 +- .../native/jni/midi-alsa/Makefile.am | 2 +- .../native/jni/midi-alsa/Makefile.in | 37 +- .../native/jni/midi-dssi/Makefile.am | 2 +- .../native/jni/midi-dssi/Makefile.in | 37 +- .../native/jni/native-lib/Makefile.in | 35 +- .../classpath/native/jni/native-lib/cpio.c | 70 + .../classpath/native/jni/native-lib/cpio.h | 5 + .../classpath/native/jni/native-lib/cpnet.c | 65 +- .../classpath/native/jni/native-lib/cpnet.h | 2 + .../classpath/native/jni/native-lib/cpproc.c | 4 + .../classpath/native/jni/qt-peer/Makefile.am | 9 +- .../classpath/native/jni/qt-peer/Makefile.in | 50 +- libjava/classpath/native/jni/xmlj/Makefile.in | 35 +- libjava/classpath/native/plugin/Makefile.am | 2 +- libjava/classpath/native/plugin/Makefile.in | 43 +- libjava/classpath/org/omg/CORBA/DynAny.java | 4 +- libjava/classpath/org/omg/CORBA/DynArray.java | 4 +- libjava/classpath/org/omg/CORBA/DynEnum.java | 4 +- libjava/classpath/org/omg/CORBA/DynFixed.java | 4 +- .../classpath/org/omg/CORBA/DynSequence.java | 4 +- .../classpath/org/omg/CORBA/DynStruct.java | 4 +- libjava/classpath/org/omg/CORBA/DynUnion.java | 4 +- libjava/classpath/org/omg/CORBA/DynValue.java | 6 +- libjava/classpath/org/omg/CORBA/ORB.java | 25 +- .../java.util.prefs.PreferencesFactory | 1 + .../javax.xml.parsers.DocumentBuilderFactory | 1 - .../javax.xml.parsers.SAXParserFactory | 1 - .../javax.xml.parsers.TransformerFactory | 1 - ...rg.relaxng.datatype.DatatypeLibraryFactory | 1 - .../META-INF/services/org.xml.sax.driver | 1 - libjava/classpath/resource/Makefile.in | 29 +- libjava/classpath/scripts/Makefile.in | 29 +- libjava/classpath/scripts/build_mathnamespace | 6 - .../classpath/scripts/checkstyle-config.xml | 132 - .../classpath/scripts/checkstyle-header.regex | 38 - .../scripts/checkstyle-suppressions.xml | 34 - libjava/classpath/scripts/checkstyle.css | 42 - libjava/classpath/scripts/checkstyle2html.xsl | 102 - libjava/classpath/scripts/classpath-build | 68 - libjava/classpath/scripts/classpath-daily | 17 - libjava/classpath/scripts/eclipse-gnu.xml | 246 - libjava/classpath/scripts/jalopy-gnu.xml | 378 - libjava/classpath/scripts/japi | 135 - libjava/classpath/scripts/kissme-mauve | 346 - libjava/classpath/scripts/loc | 44 - libjava/classpath/scripts/math_symbols | 69 - libjava/classpath/scripts/patches.pl | 164 - libjava/classpath/scripts/sanitize-jsr166 | 6 - libjava/classpath/scripts/timezones.pl | 399 - libjava/classpath/scripts/tzabbrevs | 40 - libjava/classpath/scripts/unicode-blocks.pl | 364 - libjava/classpath/scripts/unicode-muncher.pl | 868 - libjava/classpath/tools/Makefile.am | 18 +- libjava/classpath/tools/Makefile.in | 48 +- .../asm/org/objectweb/asm/ClassReader.class | Bin 22135 -> 22143 bytes .../asm/attrs/StackMapTableAttribute.class | Bin 10012 -> 10016 bytes .../objectweb/asm/commons/AdviceAdapter.class | Bin 7757 -> 7758 bytes .../org/objectweb/asm/tree/MethodNode$1.class | Bin 803 -> 803 bytes .../org/objectweb/asm/tree/MethodNode.class | Bin 8683 -> 8683 bytes ...ContentHandler$AnnotationDefaultRule.class | Bin 1399 -> 1414 bytes ...ntentHandler$AnnotationParameterRule.class | Bin 1849 -> 1864 bytes .../ASMContentHandler$AnnotationRule.class | Bin 1890 -> 1905 bytes ...andler$AnnotationValueAnnotationRule.class | Bin 1576 -> 1591 bytes ...tentHandler$AnnotationValueArrayRule.class | Bin 1497 -> 1512 bytes ...ntentHandler$AnnotationValueEnumRule.class | Bin 1358 -> 1373 bytes ...SMContentHandler$AnnotationValueRule.class | Bin 1393 -> 1408 bytes .../asm/xml/ASMContentHandler$ClassRule.class | Bin 1839 -> 1854 bytes .../xml/ASMContentHandler$ExceptionRule.class | Bin 1267 -> 1279 bytes .../ASMContentHandler$ExceptionsRule.class | Bin 1802 -> 1814 bytes .../asm/xml/ASMContentHandler$FieldRule.class | Bin 1851 -> 1866 bytes .../ASMContentHandler$InnerClassRule.class | Bin 1433 -> 1448 bytes .../xml/ASMContentHandler$InterfaceRule.class | Bin 1267 -> 1279 bytes .../ASMContentHandler$InterfacesRule.class | Bin 1867 -> 1879 bytes .../asm/xml/ASMContentHandler$LabelRule.class | Bin 1268 -> 1283 bytes .../ASMContentHandler$LineNumberRule.class | Bin 1457 -> 1472 bytes .../xml/ASMContentHandler$LocalVarRule.class | Bin 1709 -> 1724 bytes ...ContentHandler$LookupSwitchLabelRule.class | Bin 1460 -> 1469 bytes .../ASMContentHandler$LookupSwitchRule.class | Bin 2474 -> 2483 bytes .../asm/xml/ASMContentHandler$MaxRule.class | Bin 1312 -> 1327 bytes .../xml/ASMContentHandler$MethodRule.class | Bin 1704 -> 1719 bytes .../xml/ASMContentHandler$OpcodesRule.class | Bin 3082 -> 3114 bytes .../ASMContentHandler$OuterClassRule.class | Bin 1331 -> 1346 bytes .../xml/ASMContentHandler$SourceRule.class | Bin 1254 -> 1269 bytes ...MContentHandler$TableSwitchLabelRule.class | Bin 1364 -> 1376 bytes .../ASMContentHandler$TableSwitchRule.class | Bin 2394 -> 2406 bytes .../xml/ASMContentHandler$TryCatchRule.class | Bin 1526 -> 1541 bytes .../objectweb/asm/xml/ASMContentHandler.class | Bin 16825 -> 16825 bytes .../Processor$ASMContentHandlerFactory.class | Bin 839 -> 871 bytes .../xml/Processor$InputSlicingHandler.class | Bin 2363 -> 2395 bytes .../xml/Processor$OutputSlicingHandler.class | Bin 3077 -> 3132 bytes .../asm/xml/Processor$SAXWriterFactory.class | Bin 815 -> 867 bytes .../asm/xml/Processor$SingleDocElement.class | Bin 907 -> 930 bytes .../Processor$SubdocumentHandlerFactory.class | Bin 749 -> 781 bytes .../Processor$TransformerHandlerFactory.class | Bin 1724 -> 1756 bytes .../asm/xml/Processor$ZipEntryElement.class | Bin 1140 -> 1163 bytes .../asm/org/objectweb/asm/xml/Processor.class | Bin 11122 -> 11122 bytes .../classpath/tools/appletviewer/Main$1.class | Bin 828 -> 828 bytes .../tools/appletviewer/Main$10.class | Bin 801 -> 801 bytes .../classpath/tools/appletviewer/Main$2.class | Bin 828 -> 828 bytes .../classpath/tools/appletviewer/Main$3.class | Bin 828 -> 828 bytes .../classpath/tools/appletviewer/Main$4.class | Bin 973 -> 973 bytes .../classpath/tools/appletviewer/Main$5.class | Bin 974 -> 974 bytes .../classpath/tools/appletviewer/Main$6.class | Bin 915 -> 915 bytes .../classpath/tools/appletviewer/Main$7.class | Bin 1067 -> 1067 bytes .../classpath/tools/appletviewer/Main$8.class | Bin 831 -> 831 bytes .../classpath/tools/appletviewer/Main$9.class | Bin 799 -> 799 bytes .../classpath/tools/appletviewer/Main.class | Bin 8053 -> 8053 bytes .../StandaloneAppletWindow$1.class | Bin 1119 -> 1119 bytes .../appletviewer/StandaloneAppletWindow.class | Bin 11928 -> 11928 bytes .../tools/common/ClasspathToolParser$1.class | Bin 1028 -> 1028 bytes .../tools/common/ClasspathToolParser.class | Bin 1394 -> 1394 bytes .../tools/common/ProviderUtil$1.class | Bin 891 -> 891 bytes .../tools/common/ProviderUtil$2.class | Bin 705 -> 705 bytes .../classpath/tools/common/ProviderUtil.class | Bin 2879 -> 2879 bytes .../gnu/classpath/tools/getopt/Parser$1.class | Bin 1061 -> 1061 bytes .../gnu/classpath/tools/getopt/Parser$2.class | Bin 1119 -> 1119 bytes .../gnu/classpath/tools/getopt/Parser$3.class | Bin 904 -> 904 bytes .../gnu/classpath/tools/getopt/Parser.class | Bin 8099 -> 8099 bytes .../gnu/classpath/tools/jar/Creator.class | Bin 6303 -> 6679 bytes .../gnu/classpath/tools/jar/Indexer.class | Bin 4105 -> 4234 bytes .../gnu/classpath/tools/jar/Main$1.class | Bin 964 -> 964 bytes .../gnu/classpath/tools/jar/Main$2.class | Bin 903 -> 903 bytes .../gnu/classpath/tools/jar/Main$3.class | Bin 899 -> 899 bytes .../gnu/classpath/tools/jar/Main$4.class | Bin 904 -> 904 bytes .../gnu/classpath/tools/jar/Main$5.class | Bin 1014 -> 1014 bytes .../gnu/classpath/tools/jar/Main$6.class | Bin 966 -> 966 bytes .../gnu/classpath/tools/jar/Main$7.class | Bin 910 -> 910 bytes .../gnu/classpath/tools/jar/Main.class | Bin 5565 -> 5642 bytes .../gnu/classpath/tools/jar/WorkSet.class | Bin 1498 -> 1560 bytes .../classpath/tools/jarsigner/HashUtils.class | Bin 2539 -> 2530 bytes .../tools/jarsigner/JarVerifier.class | Bin 9109 -> 9461 bytes .../classpath/tools/jarsigner/Main$1.class | Bin 1187 -> 1187 bytes .../classpath/tools/jarsigner/Main$10.class | Bin 1136 -> 1136 bytes .../classpath/tools/jarsigner/Main$11.class | Bin 1138 -> 1138 bytes .../classpath/tools/jarsigner/Main$12.class | Bin 1201 -> 1201 bytes .../classpath/tools/jarsigner/Main$2.class | Bin 1188 -> 1188 bytes .../classpath/tools/jarsigner/Main$3.class | Bin 1192 -> 1192 bytes .../classpath/tools/jarsigner/Main$4.class | Bin 1190 -> 1190 bytes .../classpath/tools/jarsigner/Main$5.class | Bin 1193 -> 1193 bytes .../classpath/tools/jarsigner/Main$6.class | Bin 1199 -> 1199 bytes .../classpath/tools/jarsigner/Main$7.class | Bin 1130 -> 1130 bytes .../classpath/tools/jarsigner/Main$8.class | Bin 1129 -> 1129 bytes .../classpath/tools/jarsigner/Main$9.class | Bin 1131 -> 1131 bytes .../tools/jarsigner/Main$ToolParser.class | Bin 3938 -> 3938 bytes .../jarsigner/Main$ToolParserCallback.class | Bin 1000 -> 1000 bytes .../gnu/classpath/tools/jarsigner/Main.class | Bin 11988 -> 12108 bytes .../classpath/tools/jarsigner/Messages.class | Bin 2620 -> 2707 bytes .../classpath/tools/jarsigner/SFHelper.class | Bin 11138 -> 11445 bytes .../classpath/tools/javah/GcjhMain$1.class | Bin 1182 -> 1182 bytes .../classpath/tools/javah/GcjhMain$2.class | Bin 1182 -> 1182 bytes .../classpath/tools/javah/GcjhMain$3.class | Bin 1182 -> 1182 bytes .../classpath/tools/javah/GcjhMain$4.class | Bin 1182 -> 1182 bytes .../classpath/tools/javah/GcjhMain$5.class | Bin 977 -> 977 bytes .../classpath/tools/javah/GcjhMain$6.class | Bin 915 -> 915 bytes .../classpath/tools/javah/GcjhMain$7.class | Bin 915 -> 915 bytes .../classpath/tools/javah/GcjhMain$8.class | Bin 915 -> 915 bytes .../classpath/tools/javah/GcjhMain$9.class | Bin 915 -> 915 bytes .../gnu/classpath/tools/javah/GcjhMain.class | Bin 2981 -> 2981 bytes .../gnu/classpath/tools/javah/Main$1.class | Bin 1002 -> 1002 bytes .../gnu/classpath/tools/javah/Main$10.class | Bin 928 -> 928 bytes .../gnu/classpath/tools/javah/Main$2.class | Bin 1106 -> 1106 bytes .../gnu/classpath/tools/javah/Main$3.class | Bin 1111 -> 1111 bytes .../gnu/classpath/tools/javah/Main$4.class | Bin 994 -> 994 bytes .../gnu/classpath/tools/javah/Main$5.class | Bin 1056 -> 1056 bytes .../gnu/classpath/tools/javah/Main$6.class | Bin 926 -> 926 bytes .../gnu/classpath/tools/javah/Main$7.class | Bin 1051 -> 1051 bytes .../gnu/classpath/tools/javah/Main$8.class | Bin 1051 -> 1051 bytes .../gnu/classpath/tools/javah/Main$9.class | Bin 960 -> 960 bytes .../gnu/classpath/tools/javah/Main.class | Bin 10962 -> 10991 bytes .../tools/javah/PathOptionGroup$1.class | Bin 939 -> 939 bytes .../tools/javah/PathOptionGroup$2.class | Bin 1104 -> 1104 bytes .../tools/javah/PathOptionGroup$3.class | Bin 1103 -> 1104 bytes .../tools/javah/PathOptionGroup$4.class | Bin 1108 -> 1103 bytes .../tools/javah/PathOptionGroup$5.class | Bin 1107 -> 1108 bytes .../tools/javah/PathOptionGroup$6.class | Bin 0 -> 1107 bytes .../tools/javah/PathOptionGroup.class | Bin 3290 -> 3382 bytes .../classpath/tools/keytool/CACertCmd$1.class | Bin 1036 -> 1036 bytes .../classpath/tools/keytool/CACertCmd$2.class | Bin 1030 -> 1030 bytes .../classpath/tools/keytool/CACertCmd$3.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/CACertCmd$4.class | Bin 1034 -> 1034 bytes .../classpath/tools/keytool/CACertCmd$5.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/CACertCmd$6.class | Bin 972 -> 972 bytes .../classpath/tools/keytool/CACertCmd.class | Bin 6606 -> 6606 bytes .../tools/keytool/CertReqCmd$1.class | Bin 1035 -> 1035 bytes .../tools/keytool/CertReqCmd$10.class | Bin 987 -> 987 bytes .../tools/keytool/CertReqCmd$2.class | Bin 1042 -> 1042 bytes .../tools/keytool/CertReqCmd$3.class | Bin 1045 -> 1045 bytes .../tools/keytool/CertReqCmd$4.class | Bin 1038 -> 1038 bytes .../tools/keytool/CertReqCmd$5.class | Bin 1036 -> 1036 bytes .../tools/keytool/CertReqCmd$6.class | Bin 1035 -> 1035 bytes .../tools/keytool/CertReqCmd$7.class | Bin 1040 -> 1040 bytes .../tools/keytool/CertReqCmd$8.class | Bin 1047 -> 1047 bytes .../tools/keytool/CertReqCmd$9.class | Bin 978 -> 978 bytes .../classpath/tools/keytool/CertReqCmd.class | Bin 10386 -> 10372 bytes .../classpath/tools/keytool/DeleteCmd$1.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/DeleteCmd$2.class | Bin 1030 -> 1030 bytes .../classpath/tools/keytool/DeleteCmd$3.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/DeleteCmd$4.class | Bin 1034 -> 1034 bytes .../classpath/tools/keytool/DeleteCmd$5.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/DeleteCmd$6.class | Bin 972 -> 972 bytes .../classpath/tools/keytool/DeleteCmd.class | Bin 5720 -> 5720 bytes .../classpath/tools/keytool/ExportCmd$1.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/ExportCmd$2.class | Bin 1036 -> 1036 bytes .../classpath/tools/keytool/ExportCmd$3.class | Bin 1030 -> 1030 bytes .../classpath/tools/keytool/ExportCmd$4.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/ExportCmd$5.class | Bin 1034 -> 1034 bytes .../classpath/tools/keytool/ExportCmd$6.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/ExportCmd$7.class | Bin 968 -> 968 bytes .../classpath/tools/keytool/ExportCmd$8.class | Bin 972 -> 972 bytes .../classpath/tools/keytool/ExportCmd.class | Bin 6748 -> 6735 bytes .../classpath/tools/keytool/GenKeyCmd$1.class | Bin 1029 -> 1029 bytes .../tools/keytool/GenKeyCmd$10.class | Bin 1036 -> 1036 bytes .../tools/keytool/GenKeyCmd$11.class | Bin 1043 -> 1043 bytes .../tools/keytool/GenKeyCmd$12.class | Bin 974 -> 974 bytes .../classpath/tools/keytool/GenKeyCmd$2.class | Bin 1036 -> 1036 bytes .../classpath/tools/keytool/GenKeyCmd$3.class | Bin 1034 -> 1034 bytes .../classpath/tools/keytool/GenKeyCmd$4.class | Bin 1036 -> 1036 bytes .../classpath/tools/keytool/GenKeyCmd$5.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/GenKeyCmd$6.class | Bin 1032 -> 1032 bytes .../classpath/tools/keytool/GenKeyCmd$7.class | Bin 1035 -> 1035 bytes .../classpath/tools/keytool/GenKeyCmd$8.class | Bin 1030 -> 1030 bytes .../classpath/tools/keytool/GenKeyCmd$9.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/GenKeyCmd.class | Bin 12086 -> 12086 bytes .../tools/keytool/IdentityDBCmd$1.class | Bin 1059 -> 1059 bytes .../tools/keytool/IdentityDBCmd$2.class | Bin 1054 -> 1054 bytes .../tools/keytool/IdentityDBCmd$3.class | Bin 1053 -> 1053 bytes .../tools/keytool/IdentityDBCmd$4.class | Bin 1058 -> 1058 bytes .../tools/keytool/IdentityDBCmd$5.class | Bin 1065 -> 1065 bytes .../tools/keytool/IdentityDBCmd$6.class | Bin 996 -> 996 bytes .../tools/keytool/IdentityDBCmd.class | Bin 4563 -> 4563 bytes .../classpath/tools/keytool/ImportCmd$1.class | Bin 1029 -> 1029 bytes .../tools/keytool/ImportCmd$10.class | Bin 974 -> 974 bytes .../classpath/tools/keytool/ImportCmd$2.class | Bin 1036 -> 1036 bytes .../classpath/tools/keytool/ImportCmd$3.class | Bin 1032 -> 1032 bytes .../classpath/tools/keytool/ImportCmd$4.class | Bin 973 -> 973 bytes .../classpath/tools/keytool/ImportCmd$5.class | Bin 977 -> 977 bytes .../classpath/tools/keytool/ImportCmd$6.class | Bin 1030 -> 1030 bytes .../classpath/tools/keytool/ImportCmd$7.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/ImportCmd$8.class | Bin 1034 -> 1034 bytes .../classpath/tools/keytool/ImportCmd$9.class | Bin 1041 -> 1041 bytes .../classpath/tools/keytool/ImportCmd.class | Bin 17535 -> 17528 bytes .../tools/keytool/KeyCloneCmd$1.class | Bin 1041 -> 1041 bytes .../tools/keytool/KeyCloneCmd$2.class | Bin 1045 -> 1045 bytes .../tools/keytool/KeyCloneCmd$3.class | Bin 1044 -> 1044 bytes .../tools/keytool/KeyCloneCmd$4.class | Bin 1047 -> 1047 bytes .../tools/keytool/KeyCloneCmd$5.class | Bin 1042 -> 1042 bytes .../tools/keytool/KeyCloneCmd$6.class | Bin 1041 -> 1041 bytes .../tools/keytool/KeyCloneCmd$7.class | Bin 1046 -> 1046 bytes .../tools/keytool/KeyCloneCmd$8.class | Bin 1053 -> 1053 bytes .../tools/keytool/KeyCloneCmd$9.class | Bin 984 -> 984 bytes .../classpath/tools/keytool/KeyCloneCmd.class | Bin 8733 -> 8733 bytes .../tools/keytool/KeyPasswdCmd$1.class | Bin 1047 -> 1047 bytes .../tools/keytool/KeyPasswdCmd$2.class | Bin 1050 -> 1050 bytes .../tools/keytool/KeyPasswdCmd$3.class | Bin 1053 -> 1053 bytes .../tools/keytool/KeyPasswdCmd$4.class | Bin 1048 -> 1048 bytes .../tools/keytool/KeyPasswdCmd$5.class | Bin 1047 -> 1047 bytes .../tools/keytool/KeyPasswdCmd$6.class | Bin 1052 -> 1052 bytes .../tools/keytool/KeyPasswdCmd$7.class | Bin 1059 -> 1059 bytes .../tools/keytool/KeyPasswdCmd$8.class | Bin 990 -> 990 bytes .../tools/keytool/KeyPasswdCmd.class | Bin 8305 -> 8305 bytes .../classpath/tools/keytool/ListCmd$1.class | Bin 1017 -> 1017 bytes .../classpath/tools/keytool/ListCmd$2.class | Bin 1018 -> 1018 bytes .../classpath/tools/keytool/ListCmd$3.class | Bin 1017 -> 1017 bytes .../classpath/tools/keytool/ListCmd$4.class | Bin 1022 -> 1022 bytes .../classpath/tools/keytool/ListCmd$5.class | Bin 1029 -> 1029 bytes .../classpath/tools/keytool/ListCmd$6.class | Bin 960 -> 960 bytes .../classpath/tools/keytool/ListCmd$7.class | Bin 956 -> 956 bytes .../gnu/classpath/tools/keytool/ListCmd.class | Bin 8719 -> 8706 bytes .../gnu/classpath/tools/keytool/Main.class | Bin 8761 -> 8838 bytes .../tools/keytool/PrintCertCmd$1.class | Bin 1054 -> 1054 bytes .../tools/keytool/PrintCertCmd$2.class | Bin 990 -> 990 bytes .../tools/keytool/PrintCertCmd.class | Bin 3871 -> 3871 bytes .../tools/keytool/SelfCertCmd$1.class | Bin 1041 -> 1041 bytes .../tools/keytool/SelfCertCmd$10.class | Bin 986 -> 986 bytes .../tools/keytool/SelfCertCmd$2.class | Bin 1048 -> 1048 bytes .../tools/keytool/SelfCertCmd$3.class | Bin 1041 -> 1041 bytes .../tools/keytool/SelfCertCmd$4.class | Bin 1044 -> 1044 bytes .../tools/keytool/SelfCertCmd$5.class | Bin 1047 -> 1047 bytes .../tools/keytool/SelfCertCmd$6.class | Bin 1042 -> 1042 bytes .../tools/keytool/SelfCertCmd$7.class | Bin 1041 -> 1041 bytes .../tools/keytool/SelfCertCmd$8.class | Bin 1046 -> 1046 bytes .../tools/keytool/SelfCertCmd$9.class | Bin 1053 -> 1053 bytes .../classpath/tools/keytool/SelfCertCmd.class | Bin 8750 -> 8750 bytes .../tools/keytool/StorePasswdCmd$1.class | Bin 1065 -> 1065 bytes .../tools/keytool/StorePasswdCmd$2.class | Bin 1060 -> 1060 bytes .../tools/keytool/StorePasswdCmd$3.class | Bin 1059 -> 1059 bytes .../tools/keytool/StorePasswdCmd$4.class | Bin 1064 -> 1064 bytes .../tools/keytool/StorePasswdCmd$5.class | Bin 1071 -> 1071 bytes .../tools/keytool/StorePasswdCmd$6.class | Bin 1002 -> 1002 bytes .../tools/keytool/StorePasswdCmd.class | Bin 7050 -> 7050 bytes .../tools/native2ascii/Native2ASCII$1.class | Bin 1264 -> 1264 bytes .../tools/native2ascii/Native2ASCII$2.class | Bin 1019 -> 1019 bytes .../tools/native2ascii/Native2ASCII.class | Bin 4073 -> 4063 bytes .../gnu/classpath/tools/orbd/Main$1.class | Bin 1106 -> 1106 bytes .../gnu/classpath/tools/orbd/Main$2.class | Bin 1052 -> 1052 bytes .../gnu/classpath/tools/orbd/Main$3.class | Bin 1048 -> 1048 bytes .../gnu/classpath/tools/orbd/Main$4.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/orbd/Main$5.class | Bin 721 -> 721 bytes .../gnu/classpath/tools/orbd/Main.class | Bin 5449 -> 5476 bytes .../classpath/tools/orbd/PersistentMap.class | Bin 5523 -> 5547 bytes .../rmic/ClassRmicCompiler$MethodRef.class | Bin 2725 -> 2719 bytes .../tools/rmic/ClassRmicCompiler.class | Bin 30617 -> 30611 bytes .../gnu/classpath/tools/rmic/Main$1.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmic/Main$10.class | Bin 971 -> 971 bytes .../gnu/classpath/tools/rmic/Main$11.class | Bin 900 -> 900 bytes .../gnu/classpath/tools/rmic/Main$12.class | Bin 971 -> 971 bytes .../gnu/classpath/tools/rmic/Main$13.class | Bin 971 -> 971 bytes .../gnu/classpath/tools/rmic/Main$14.class | Bin 971 -> 971 bytes .../gnu/classpath/tools/rmic/Main$15.class | Bin 1039 -> 1039 bytes .../gnu/classpath/tools/rmic/Main$16.class | Bin 972 -> 972 bytes .../gnu/classpath/tools/rmic/Main$17.class | Bin 1039 -> 1039 bytes .../gnu/classpath/tools/rmic/Main$18.class | Bin 900 -> 900 bytes .../gnu/classpath/tools/rmic/Main$2.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmic/Main$3.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmic/Main$4.class | Bin 1048 -> 1048 bytes .../gnu/classpath/tools/rmic/Main$5.class | Bin 1048 -> 1048 bytes .../gnu/classpath/tools/rmic/Main$6.class | Bin 960 -> 960 bytes .../gnu/classpath/tools/rmic/Main$7.class | Bin 960 -> 960 bytes .../gnu/classpath/tools/rmic/Main$8.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmic/Main$9.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmic/Main.class | Bin 6058 -> 6058 bytes .../tools/rmic/SourceGiopRmicCompiler.class | Bin 12424 -> 12415 bytes .../tools/rmid/ActivationSystemImpl.class | Bin 5243 -> 5285 bytes .../gnu/classpath/tools/rmid/Main$1.class | Bin 1084 -> 1084 bytes .../gnu/classpath/tools/rmid/Main$2.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmid/Main$3.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmid/Main$4.class | Bin 969 -> 969 bytes .../gnu/classpath/tools/rmid/Main$5.class | Bin 1048 -> 1048 bytes .../gnu/classpath/tools/rmid/Main$6.class | Bin 983 -> 983 bytes .../gnu/classpath/tools/rmid/Main.class | Bin 5921 -> 5921 bytes .../tools/rmid/PersistentBidiHashTable.class | Bin 4185 -> 4185 bytes .../classpath/tools/rmiregistry/Main$1.class | Bin 1011 -> 1011 bytes .../classpath/tools/rmiregistry/Main$2.class | Bin 1011 -> 1011 bytes .../classpath/tools/rmiregistry/Main$3.class | Bin 1011 -> 1011 bytes .../classpath/tools/rmiregistry/Main$4.class | Bin 1090 -> 1090 bytes .../classpath/tools/rmiregistry/Main$5.class | Bin 965 -> 965 bytes .../classpath/tools/rmiregistry/Main$6.class | Bin 883 -> 883 bytes .../classpath/tools/rmiregistry/Main.class | Bin 5715 -> 5715 bytes .../tools/rmiregistry/RegistryImpl.class | Bin 2942 -> 2984 bytes .../tools/serialver/SerialVer$1.class | Bin 1171 -> 1171 bytes .../tools/serialver/SerialVer$2.class | Bin 1197 -> 1197 bytes .../tools/serialver/SerialVer$3.class | Bin 950 -> 950 bytes .../classpath/tools/serialver/SerialVer.class | Bin 4402 -> 4636 bytes .../classpath/tools/tnameserv/Main$1.class | Bin 1136 -> 1136 bytes .../classpath/tools/tnameserv/Main$2.class | Bin 1082 -> 1082 bytes .../gnu/classpath/tools/tnameserv/Main.class | Bin 2391 -> 2391 bytes .../tools/gc_analyze/BlockMap$SizeKind.class | Bin 1004 -> 1004 bytes .../gnu/gcj/tools/gc_analyze/BlockMap.class | Bin 5408 -> 5443 bytes .../gnu/gcj/tools/gc_analyze/ItemList.class | Bin 3358 -> 3477 bytes .../gc_analyze/MemoryAnalyze$1$Info.class | Bin 510 -> 510 bytes .../tools/gc_analyze/MemoryAnalyze$1.class | Bin 1109 -> 1109 bytes .../tools/gc_analyze/MemoryAnalyze$2.class | Bin 1109 -> 1109 bytes .../tools/gc_analyze/MemoryAnalyze$3.class | Bin 1073 -> 1073 bytes .../tools/gc_analyze/MemoryAnalyze$4.class | Bin 1086 -> 1086 bytes .../MemoryAnalyze$OptionParser.class | Bin 2636 -> 2636 bytes .../MemoryAnalyze$SubstringComparator.class | Bin 1269 -> 1269 bytes .../gcj/tools/gc_analyze/MemoryAnalyze.class | Bin 10627 -> 10680 bytes .../MemoryMap$RangeComparator.class | Bin 1064 -> 1080 bytes .../gnu/gcj/tools/gc_analyze/MemoryMap.class | Bin 7398 -> 7398 bytes .../gnu/gcj/tools/gc_analyze/ObjectMap.class | Bin 4105 -> 4140 bytes .../gcj/tools/gc_analyze/SymbolTable.class | Bin 5725 -> 5783 bytes libjava/classpath/tools/external/README | 9 - .../classpath/tools/external/asm/LICENSE.txt | 28 - .../asm/org/objectweb/asm/attrs/package.html | 48 - .../org/objectweb/asm/commons/package.html | 33 - .../objectweb/asm/optimizer/shrink.properties | 225 - .../asm/org/objectweb/asm/package.html | 87 - .../org/objectweb/asm/signature/package.html | 36 - .../objectweb/asm/tree/analysis/package.html | 36 - .../asm/org/objectweb/asm/tree/package.html | 149 - .../org/objectweb/asm/util/attrs/package.html | 36 - .../asm/org/objectweb/asm/util/package.html | 40 - .../objectweb/asm/xml/ASMContentHandler.java | 2 +- .../asm/org/objectweb/asm/xml/asm-xml.dtd | 340 - .../asm/org/objectweb/asm/xml/package.html | 96 - libjava/classpath/tools/gnative2ascii.in | 2 +- .../tools/appletviewer/TagParser.java | 2 +- .../gnu/classpath/tools/jar/Creator.java | 14 +- .../gnu/classpath/tools/jar/Indexer.java | 2 +- .../tools/gnu/classpath/tools/jar/Main.java | 2 +- .../gnu/classpath/tools/jar/WorkSet.java | 4 +- .../classpath/tools/jarsigner/HashUtils.java | 4 +- .../tools/jarsigner/JarVerifier.java | 29 +- .../gnu/classpath/tools/jarsigner/Main.java | 8 +- .../classpath/tools/jarsigner/Messages.java | 11 +- .../classpath/tools/jarsigner/SFHelper.java | 28 +- .../tools/javah/PathOptionGroup.java | 7 + .../classpath/tools/keytool/CertReqCmd.java | 6 +- .../classpath/tools/keytool/ExportCmd.java | 6 +- .../gnu/classpath/tools/keytool/ListCmd.java | 6 +- .../tools/native2ascii/Native2ASCII.java | 5 +- .../tools/rmid/ActivationSystemImpl.java | 2 +- .../classpath/tools/serialver/SerialVer.java | 6 +- libjava/classpath/tools/gserialver.in | 2 +- libjava/classpath/tools/toolwrapper.c | 8 +- .../reference/gnu/classpath/jdwp/VMFrame.java | 30 +- .../gnu/classpath/jdwp/VMIdManager.java | 8 + .../gnu/classpath/jdwp/VMVirtualMachine.java | 149 +- .../VMOperatingSystemMXBeanImpl.java | 68 + .../lang/management/VMThreadMXBeanImpl.java | 29 + .../vm/reference/java/io/VMFile.java | 28 +- .../reference/java/lang/reflect/Method.java | 15 +- .../java/net/VMNetworkInterface.java | 7 +- .../vm/reference/java/util/VMTimeZone.java | 219 +- libjava/gcj/javaprims.h | 29 + libjava/gnu/classpath/Configuration.java | 5 +- libjava/gnu/classpath/Pair.h | 37 + .../ServiceFactory$ServiceIterator.h | 3 +- libjava/gnu/classpath/ServiceFactory.h | 1 + libjava/gnu/classpath/jdwp/util/Value.h | 50 - libjava/gnu/java/awt/AWTUtilities.h | 1 + .../java/awt/ClasspathGraphicsEnvironment.h | 45 + libjava/gnu/java/awt/ClasspathToolkit.h | 5 + libjava/gnu/java/awt/font/FontDelegate.h | 8 +- libjava/gnu/java/awt/font/GNUGlyphVector.h | 2 + .../gnu/java/awt/font/autofit/AutoHinter.h | 59 + libjava/gnu/java/awt/font/autofit/AxisHints.h | 10 + libjava/gnu/java/awt/font/autofit/Constants.h | 5 + libjava/gnu/java/awt/font/autofit/Edge.h | 55 + .../gnu/java/awt/font/autofit/GlyphHints.h | 34 +- .../font/autofit/{Scaler.h => HintScaler.h} | 13 +- libjava/gnu/java/awt/font/autofit/Latin.h | 58 +- libjava/gnu/java/awt/font/autofit/LatinAxis.h | 7 +- libjava/gnu/java/awt/font/autofit/LatinBlue.h | 48 + .../gnu/java/awt/font/autofit/LatinMetrics.h | 5 + libjava/gnu/java/awt/font/autofit/Script.h | 9 +- .../gnu/java/awt/font/autofit/ScriptMetrics.h | 4 +- libjava/gnu/java/awt/font/autofit/Segment.h | 31 +- libjava/gnu/java/awt/font/autofit/Utils.h | 60 + libjava/gnu/java/awt/font/autofit/Width.h | 4 +- libjava/gnu/java/awt/font/opentype/Hinter.h | 45 + .../gnu/java/awt/font/opentype/OpenTypeFont.h | 7 +- libjava/gnu/java/awt/font/opentype/Scaler.h | 3 +- .../java/awt/font/opentype/truetype/Fixed.h | 4 + .../awt/font/opentype/truetype/GlyphLoader.h | 11 +- .../java/awt/font/opentype/truetype/Point.h | 99 + .../font/opentype/truetype/TrueTypeScaler.h | 3 +- .../java/awt/font/opentype/truetype/Zone.h | 22 +- .../font/opentype/truetype/ZonePathIterator.h | 3 +- .../gnu/java/awt/java2d/AbstractGraphics2D.h | 14 +- libjava/gnu/java/awt/java2d/ActiveEdges.h | 52 + libjava/gnu/java/awt/java2d/PolyEdge.h | 26 +- libjava/gnu/java/awt/java2d/Scanline.h | 42 + .../gnu/java/awt/java2d/ScanlineConverter.h | 80 + .../gnu/java/awt/peer/ClasspathDesktopPeer.h | 86 + .../awt/peer/ClasspathFontPeer$LRUCache.h | 40 + libjava/gnu/java/awt/peer/ClasspathFontPeer.h | 3 + libjava/gnu/java/awt/peer/GnomeDesktopPeer.h | 55 + libjava/gnu/java/awt/peer/KDEDesktopPeer.h | 45 + .../java/awt/peer/gtk/BufferedImageGraphics.h | 1 - .../gnu/java/awt/peer/gtk/CairoGraphics2D.h | 13 +- .../peer/gtk/CairoSurface$CairoDataBuffer.h | 44 - libjava/gnu/java/awt/peer/gtk/CairoSurface.h | 42 +- .../gnu/java/awt/peer/gtk/ComponentGraphics.h | 3 + .../java/awt/peer/gtk/FreetypeGlyphVector.h | 17 +- libjava/gnu/java/awt/peer/gtk/GThreadMutex.h | 41 - .../awt/peer/gtk/GThreadNativeMethodRunner.h | 58 - .../gnu/java/awt/peer/gtk/GdkFontMetrics.h | 74 - libjava/gnu/java/awt/peer/gtk/GdkFontPeer.h | 2 +- .../awt/peer/gtk/GdkGraphicsEnvironment.h | 11 +- libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h | 40 - libjava/gnu/java/awt/peer/gtk/GtkToolkit.h | 8 +- libjava/gnu/java/lang/management/BeanImpl.h | 3 - .../MemoryMXBeanImpl$ListenerData.h | 55 - .../management/OperatingSystemMXBeanImpl.h | 1 + .../java/lang/management/ThreadMXBeanImpl.h | 7 + .../management/VMOperatingSystemMXBeanImpl.h | 37 + .../VMOperatingSystemMXBeanImpl.java | 68 + .../java/lang/management/VMThreadMXBeanImpl.h | 3 + .../lang/management/VMThreadMXBeanImpl.java | 29 + .../natVMOperatingSystemMXBeanImpl.cc | 18 + .../lang/management/natVMThreadMXBeanImpl.cc | 18 +- libjava/gnu/java/locale/LocaleHelper.h | 2 +- libjava/gnu/java/math/Fixed.h | 43 + libjava/gnu/java/net/BASE64.h | 41 - libjava/gnu/java/net/GetLocalHostAction.h | 8 + .../net/protocol/http/ChunkedInputStream.h | 3 - libjava/gnu/java/net/protocol/http/Headers.h | 2 - .../net/protocol/http/SimpleCookieManager.h | 2 +- libjava/gnu/java/nio/ChannelInputStream.h | 3 + libjava/gnu/java/nio/EpollSelectionKeyImpl.h | 63 - libjava/gnu/java/nio/KqueueSelectionKeyImpl.h | 71 - .../gnu/java/nio/SelectorProviderImpl.java | 1 + libjava/gnu/java/nio/charset/EncodingHelper.h | 1 + libjava/gnu/java/security/util/Base64.h | 53 - .../gnu/java/security/x509/X509Certificate.h | 1 + .../security/x509/ext/CertificatePolicies.h | 1 + .../java/security/x509/ext/GeneralName$Kind.h | 57 + .../gnu/java/security/x509/ext/GeneralName.h | 55 + .../gnu/java/security/x509/ext/GeneralNames.h | 9 - .../java/security/x509/ext/GeneralSubtree.h | 50 + .../java/security/x509/ext/NameConstraints.h | 49 + .../gnu/{javax/net/ssl => java/util}/Base64.h | 19 +- libjava/gnu/javax/management/Translator.h | 56 + .../provider/CertificateRequest$ClientType.h | 53 - libjava/gnu/javax/net/ssl/provider/Context.h | 82 - .../net/ssl/provider/DigestInputStream.h | 60 - .../net/ssl/provider/DigestOutputStream.h | 60 - .../gnu/javax/net/ssl/provider/Enumerated.h | 42 - .../gnu/javax/net/ssl/provider/Extensions.h | 54 - .../net/ssl/provider/GNUSecurityParameters.h | 98 - .../javax/net/ssl/provider/Handshake$buffer.h | 44 - .../net/ssl/provider/JCESecurityParameters.h | 76 - .../net/ssl/provider/JDBCSessionContext.h | 87 - .../net/ssl/provider/JessieDHPrivateKey.h | 68 - .../net/ssl/provider/JessieDHPublicKey.h | 68 - .../net/ssl/provider/JessieRSAPrivateKey.h | 58 - .../net/ssl/provider/JessieRSAPublicKey.h | 58 - libjava/gnu/javax/net/ssl/provider/KeyPool.h | 60 - .../net/ssl/provider/OverflowException.h | 40 - .../gnu/javax/net/ssl/provider/RecordInput.h | 56 - .../net/ssl/provider/RecordInputStream.h | 52 - .../net/ssl/provider/RecordOutputStream.h | 54 - .../net/ssl/provider/RecordingInputStream.h | 52 - .../javax/net/ssl/provider/SSLRSASignature.h | 79 - .../javax/net/ssl/provider/SSLServerSocket.h | 104 - .../net/ssl/provider/SSLServerSocketFactory.h | 81 - .../gnu/javax/net/ssl/provider/SSLSocket.h | 240 - .../javax/net/ssl/provider/SSLSocketFactory.h | 81 - .../net/ssl/provider/SSLSocketInputStream.h | 52 - .../net/ssl/provider/SSLSocketOutputStream.h | 51 - .../net/ssl/provider/SecurityParameters.h | 54 - .../gnu/javax/net/ssl/provider/Session$ID.h | 49 - libjava/gnu/javax/net/ssl/provider/Session.h | 134 - .../javax/net/ssl/provider/SessionContext.h | 70 - .../net/ssl/provider/SynchronizedRandom.h | 62 - .../provider/XMLSessionContext$SAXHandler.h | 102 - .../net/ssl/provider/XMLSessionContext.h | 69 - .../swing/text/html/parser/HTML_401Swing.h | 65 - libjava/gnu/xml/stream/XMLParser.h | 2 + libjava/java/awt/Canvas.h | 6 +- libjava/java/awt/Component.h | 1 - libjava/java/awt/Desktop$Action.h | 41 + libjava/java/awt/Desktop.h | 52 + libjava/java/awt/Frame.h | 3 + libjava/java/awt/GraphicsConfiguration.h | 1 + libjava/java/awt/Toolkit.h | 3 + libjava/java/awt/Window.h | 4 - .../java/awt/datatransfer/SystemFlavorMap$1.h | 38 + .../java/awt/datatransfer/SystemFlavorMap.h | 2 + libjava/java/awt/image/ComponentSampleModel.h | 4 - libjava/java/awt/image/IndexColorModel.h | 1 + .../awt/image/SinglePixelPackedSampleModel.h | 1 - libjava/java/awt/peer/DesktopPeer.h | 43 + libjava/java/awt/print/PrinterJob.h | 2 + libjava/java/beans/ConstructorProperties.h | 32 + libjava/java/io/File.h | 12 + libjava/java/io/File.java | 184 + libjava/java/io/ObjectInputStream.h | 12 +- libjava/java/io/ObjectOutputStream.h | 3 + libjava/java/io/natFilePosix.cc | 55 +- libjava/java/io/natFileWin32.cc | 25 +- libjava/java/lang/Character.java | 2 +- libjava/java/lang/Class$1.h | 24 + libjava/java/lang/Class.java | 22 +- libjava/java/lang/Enum.h | 3 + libjava/java/lang/SecurityContext.h | 23 - libjava/java/lang/System.h | 14 + libjava/java/lang/System.java | 22 + libjava/java/lang/management/LockInfo.h | 26 + ...ementFactory$ManagementInvocationHandler.h | 38 + .../java/lang/management/ManagementFactory.h | 2 + libjava/java/lang/management/MonitorInfo.h | 39 + .../lang/management/OperatingSystemMXBean.h | 1 + libjava/java/lang/management/ThreadInfo.h | 10 + libjava/java/lang/management/ThreadMXBean.h | 5 + libjava/java/net/MulticastSocket.java | 6 +- libjava/java/net/ServerSocket.h | 12 +- libjava/java/net/Socket.h | 1 + libjava/java/net/URL$1.h | 1 + libjava/java/net/URLClassLoader$1.h | 1 + libjava/java/net/URLClassLoader$2.h | 2 + .../java/net/URLClassLoader$CoreResource.h | 46 - .../java/net/URLClassLoader$CoreURLLoader.h | 36 - .../java/net/URLClassLoader$FileResource.h | 38 - .../java/net/URLClassLoader$FileURLLoader.h | 35 - .../java/net/URLClassLoader$JarURLLoader.h | 40 - .../java/net/URLClassLoader$JarURLResource.h | 48 - .../java/net/URLClassLoader$RemoteResource.h | 40 - .../java/net/URLClassLoader$RemoteURLLoader.h | 36 - libjava/java/net/URLClassLoader$Resource.h | 48 - libjava/java/net/URLClassLoader$SoResource.h | 38 - libjava/java/net/URLClassLoader$SoURLLoader.h | 47 - libjava/java/net/URLClassLoader$URLLoader.h | 45 - .../java/nio/channels/spi/SelectorProvider.h | 2 + libjava/java/security/cert/X509CertSelector.h | 99 +- libjava/java/text/Collator.java | 51 +- libjava/java/text/DateFormat.h | 1 + libjava/java/text/DateFormatSymbols.h | 3 + libjava/java/text/DateFormatSymbols.java | 103 +- libjava/java/text/DecimalFormatSymbols.h | 4 + libjava/java/text/DecimalFormatSymbols.java | 75 + libjava/java/text/spi/BreakIteratorProvider.h | 38 + libjava/java/text/spi/CollatorProvider.h | 35 + libjava/java/text/spi/DateFormatProvider.h | 37 + .../java/text/spi/DateFormatSymbolsProvider.h | 35 + .../text/spi/DecimalFormatSymbolsProvider.h | 35 + libjava/java/text/spi/NumberFormatProvider.h | 38 + libjava/java/util/AbstractMap$SimpleEntry.h | 2 + .../util/AbstractMap$SimpleImmutableEntry.h | 2 + libjava/java/util/Arrays.h | 29 + libjava/java/util/Calendar.h | 5 + libjava/java/util/Calendar.java | 250 +- libjava/java/util/Collections$LIFOQueue.h | 31 + libjava/java/util/Collections$MapSet.h | 30 + ...ons$UnmodifiableMap$UnmodifiableEntrySet.h | 3 +- libjava/java/util/Collections.h | 2 + libjava/java/util/LinkedList$1.h | 33 + libjava/java/util/LinkedList.h | 13 + libjava/java/util/Locale.h | 8 + libjava/java/util/Locale.java | 864 - libjava/java/util/ServiceConfigurationError.h | 23 + libjava/java/util/ServiceLoader$1.h | 28 + libjava/java/util/ServiceLoader.h | 37 + libjava/java/util/TreeMap$1.h | 15 +- libjava/java/util/TreeMap$2.h | 8 +- libjava/java/util/TreeMap$3.h | 5 +- libjava/java/util/TreeMap$4.h | 19 +- libjava/java/util/TreeMap$5.h | 19 +- libjava/java/util/TreeMap$6.h | 13 +- libjava/java/util/TreeMap$7.h | 26 + libjava/java/util/TreeMap$DescendingMap.h | 65 + libjava/java/util/TreeMap$DescendingSet.h | 57 + libjava/java/util/TreeMap$EntrySet.h | 28 + libjava/java/util/TreeMap$KeySet.h | 29 + libjava/java/util/TreeMap$NavigableEntrySet.h | 55 + libjava/java/util/TreeMap$NavigableKeySet.h | 40 + libjava/java/util/TreeMap$SubMap$EntrySet.h | 28 + libjava/java/util/TreeMap$SubMap$KeySet.h | 29 + .../util/TreeMap$SubMap$NavigableEntrySet.h | 55 + .../util/TreeMap$SubMap$NavigableKeySet.h | 40 + libjava/java/util/TreeMap$SubMap.h | 20 + libjava/java/util/TreeMap.h | 24 + libjava/java/util/TreeSet.h | 17 +- libjava/java/util/logging/Logger.java | 18 +- libjava/java/util/prefs/Preferences$1.h | 1 + libjava/java/util/regex/Pattern.h | 1 + libjava/java/util/spi/CurrencyNameProvider.h | 21 + libjava/java/util/spi/LocaleNameProvider.h | 23 + libjava/java/util/spi/LocaleServiceProvider.h | 23 + libjava/java/util/spi/TimeZoneNameProvider.h | 21 + .../activity/ActivityCompletedException.h | 32 + .../activity/ActivityRequiredException.h | 32 + .../javax/activity/InvalidActivityException.h | 32 + .../stream/FileCacheImageOutputStream.h | 10 +- .../management/AttributeChangeNotification.h | 43 + .../AttributeChangeNotificationFilter.h | 39 + libjava/javax/management/AttributeValueExp.h | 44 + .../management/DefaultLoaderRepository.h | 31 + libjava/javax/management/Descriptor.h | 41 + libjava/javax/management/DescriptorAccess.h | 31 + libjava/javax/management/DescriptorRead.h | 30 + libjava/javax/management/JMX.h | 45 + libjava/javax/management/MBeanAttributeInfo.h | 1 + libjava/javax/management/MBeanFeatureInfo.h | 1 + .../management/MBeanServerInvocationHandler.h | 46 + libjava/javax/management/MXBean.h | 30 + libjava/javax/management/Notification.h | 2 + ...ificationBroadcasterSupport$DispatchTask.h | 48 + .../NotificationBroadcasterSupport.h | 51 + .../management/NotificationFilterSupport.h | 39 + libjava/javax/management/PersistentMBean.h | 30 + libjava/javax/management/Query$AndQueryExp.h | 37 + .../javax/management/Query$BetweenQueryExp.h | 38 + .../javax/management/Query$BinaryOpValueExp.h | 39 + .../management/Query$BinaryRelQueryExp.h | 39 + .../javax/management/Query$BooleanValueExp.h | 37 + .../management/Query$ClassAttributeValueExp.h | 37 + libjava/javax/management/Query$InQueryExp.h | 39 + .../management/Query$InstanceOfQueryExp.h | 36 + .../javax/management/Query$MatchQueryExp.h | 37 + libjava/javax/management/Query$NotQueryExp.h | 36 + .../javax/management/Query$NumericValueExp.h | 42 + libjava/javax/management/Query$OrQueryExp.h | 37 + .../Query$QualifiedAttributeValueExp.h | 36 + libjava/javax/management/Query.h | 73 + libjava/javax/management/QueryEval.h | 36 + libjava/javax/management/StandardMBean.h | 1 + libjava/javax/management/StringValueExp.h | 41 + .../javax/management/openmbean/ArrayType.h | 15 +- .../CompositeDataInvocationHandler.h | 40 + libjava/javax/management/openmbean/OpenType.h | 1 + .../naming/directory/BasicAttributes$1.h | 47 + ...sicAttributes$BasicAttributesEnumeration.h | 8 +- ...erSocketFactory$ErrorServerSocketFactory.h | 52 + .../ssl/SSLSocketFactory$ErrorSocketFactory.h | 54 + libjava/javax/sound/sampled/BooleanControl.h | 3 +- libjava/javax/swing/AbstractButton$2.h | 42 - libjava/javax/swing/AbstractButton$3.h | 45 - libjava/javax/swing/JComponent.h | 1 - ...ansferHandler$SwingDragGestureRecognizer.h | 50 + .../swing/TransferHandler$SwingDragHandler.h | 53 + libjava/javax/swing/TransferHandler.h | 2 + .../javax/swing/plaf/basic/BasicComboPopup.h | 2 - libjava/javax/swing/plaf/basic/BasicLabelUI.h | 4 + .../swing/plaf/basic/BasicRadioButtonUI.h | 3 + .../javax/swing/plaf/basic/BasicTextUI$1.h | 52 - .../plaf/basic/BasicTextUI$DocumentHandler.h | 47 - .../basic/BasicTextUI$PropertyChangeHandler.h | 48 - .../javax/swing/plaf/basic/BasicTreeUI$2.h | 51 - .../javax/swing/plaf/metal/MetalLookAndFeel.h | 1 - ...MetalSplitPaneDivider$MetalDividerLayout.h | 59 - libjava/javax/swing/text/AbstractDocument$1.h | 38 - libjava/javax/swing/text/AbstractDocument$2.h | 38 - .../swing/text/DefaultStyledDocument$Edit.h | 52 - .../javax/swing/text/InternationalFormatter.h | 1 + .../swing/text/html/StyleSheet$CssParser.h | 69 - ...DefaultTreeCellEditor$RealEditorListener.h | 43 - libjava/scripts/classes.pl | 5 +- libjava/sources.am | 110 +- 2951 files changed, 80982 insertions(+), 68583 deletions(-) create mode 100644 libjava/classpath/ChangeLog-2006 create mode 100755 libjava/classpath/doc/texi2pod.pl create mode 100644 libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java rename libjava/classpath/examples/gnu/classpath/examples/{awt => icons}/aicas.png (100%) rename libjava/classpath/examples/gnu/classpath/examples/{awt => icons}/palme.gif (100%) delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/java2d/palme.gif delete mode 100644 libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html delete mode 100644 libjava/classpath/external/jsr166/java/util/concurrent/package.html delete mode 100644 libjava/classpath/external/w3c_dom/COPYRIGHT.html create mode 100644 libjava/classpath/gnu/classpath/Pair.java delete mode 100644 libjava/classpath/gnu/classpath/jdwp/util/Value.java rename libjava/classpath/{native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c => gnu/java/awt/ClasspathGraphicsEnvironment.java} (61%) create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Edge.java rename libjava/classpath/gnu/java/awt/font/autofit/{Scaler.java => HintScaler.java} (98%) create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java create mode 100644 libjava/classpath/gnu/java/awt/font/autofit/Utils.java create mode 100644 libjava/classpath/gnu/java/awt/font/opentype/Hinter.java create mode 100644 libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/Scanline.java create mode 100644 libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java create mode 100644 libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java create mode 100644 libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java create mode 100644 libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java delete mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java delete mode 100644 libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java delete mode 100644 libjava/classpath/gnu/java/io/class-dependencies.conf create mode 100644 libjava/classpath/gnu/java/math/Fixed.java delete mode 100644 libjava/classpath/gnu/java/net/BASE64.java delete mode 100644 libjava/classpath/gnu/java/security/util/Base64.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/GeneralName.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java create mode 100644 libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java rename libjava/classpath/gnu/{javax/net/ssl => java/util}/Base64.java (89%) create mode 100644 libjava/classpath/gnu/javax/management/Translator.java create mode 100644 libjava/classpath/include/config-int.h delete mode 100644 libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h create mode 100644 libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h create mode 100644 libjava/classpath/java/awt/Desktop.java create mode 100644 libjava/classpath/java/awt/peer/DesktopPeer.java create mode 100644 libjava/classpath/java/beans/ConstructorProperties.java delete mode 100644 libjava/classpath/java/io/class-dependencies.conf delete mode 100644 libjava/classpath/java/lang/class-dependencies.conf create mode 100644 libjava/classpath/java/lang/management/LockInfo.java create mode 100644 libjava/classpath/java/lang/management/MonitorInfo.java delete mode 100644 libjava/classpath/java/math/class-dependencies.conf delete mode 100644 libjava/classpath/java/net/class-dependencies.conf delete mode 100644 libjava/classpath/java/nio/class-dependencies.conf delete mode 100644 libjava/classpath/java/text/class-dependencies.conf create mode 100644 libjava/classpath/java/text/spi/BreakIteratorProvider.java create mode 100644 libjava/classpath/java/text/spi/CollatorProvider.java create mode 100644 libjava/classpath/java/text/spi/DateFormatProvider.java create mode 100644 libjava/classpath/java/text/spi/DateFormatSymbolsProvider.java create mode 100644 libjava/classpath/java/text/spi/DecimalFormatSymbolsProvider.java create mode 100644 libjava/classpath/java/text/spi/NumberFormatProvider.java rename libjava/classpath/{tools/gnu/classpath/tools/getopt => java/text/spi}/package.html (79%) create mode 100644 libjava/classpath/java/util/ServiceConfigurationError.java create mode 100644 libjava/classpath/java/util/ServiceLoader.java delete mode 100644 libjava/classpath/java/util/class-dependencies.conf create mode 100644 libjava/classpath/java/util/spi/CurrencyNameProvider.java create mode 100644 libjava/classpath/java/util/spi/LocaleNameProvider.java create mode 100644 libjava/classpath/java/util/spi/LocaleServiceProvider.java create mode 100644 libjava/classpath/java/util/spi/TimeZoneNameProvider.java rename libjava/classpath/{native/jni/gtk-peer/gthread-jni.h => java/util/spi/package.html} (77%) create mode 100644 libjava/classpath/javax/activity/ActivityCompletedException.java create mode 100644 libjava/classpath/javax/activity/ActivityRequiredException.java rename libjava/classpath/{tools/gnu/classpath/tools/keytool/package.html => javax/activity/InvalidActivityException.java} (58%) rename libjava/classpath/{tools/gnu/classpath/tools/rmi/registry => javax/activity}/package.html (87%) create mode 100644 libjava/classpath/javax/management/AttributeChangeNotification.java create mode 100644 libjava/classpath/javax/management/AttributeChangeNotificationFilter.java create mode 100644 libjava/classpath/javax/management/AttributeValueExp.java create mode 100644 libjava/classpath/javax/management/DefaultLoaderRepository.java create mode 100644 libjava/classpath/javax/management/Descriptor.java rename libjava/classpath/{tools/gnu/classpath/tools/jarsigner/package.html => javax/management/DescriptorAccess.java} (63%) create mode 100644 libjava/classpath/javax/management/DescriptorRead.java create mode 100644 libjava/classpath/javax/management/JMX.java create mode 100644 libjava/classpath/javax/management/MBeanServerInvocationHandler.java create mode 100644 libjava/classpath/javax/management/MXBean.java create mode 100644 libjava/classpath/javax/management/NotificationBroadcasterSupport.java create mode 100644 libjava/classpath/javax/management/NotificationFilterSupport.java create mode 100644 libjava/classpath/javax/management/PersistentMBean.java create mode 100644 libjava/classpath/javax/management/Query.java create mode 100644 libjava/classpath/javax/management/QueryEval.java create mode 100644 libjava/classpath/javax/management/StringValueExp.java create mode 100644 libjava/classpath/javax/management/openmbean/CompositeDataInvocationHandler.java create mode 100644 libjava/classpath/lib/gnu/classpath/Pair.class delete mode 100644 libjava/classpath/lib/gnu/classpath/jdwp/util/Value.class create mode 100644 libjava/classpath/lib/gnu/java/awt/ClasspathGraphicsEnvironment.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/AutoHinter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Edge.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/HintScaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/LatinBlue.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Scaler.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/autofit/Utils.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/Hinter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/font/opentype/truetype/Point.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ActiveEdges.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/Scanline.class create mode 100644 libjava/classpath/lib/gnu/java/awt/java2d/ScanlineConverter.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/ClasspathDesktopPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/GnomeDesktopPeer.class create mode 100644 libjava/classpath/lib/gnu/java/awt/peer/KDEDesktopPeer.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadMutex.class delete mode 100644 libjava/classpath/lib/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.class create mode 100644 libjava/classpath/lib/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.class create mode 100644 libjava/classpath/lib/gnu/java/math/Fixed.class delete mode 100644 libjava/classpath/lib/gnu/java/net/BASE64.class delete mode 100644 libjava/classpath/lib/gnu/java/security/util/Base64.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName$Kind.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralName.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/GeneralSubtree.class create mode 100644 libjava/classpath/lib/gnu/java/security/x509/ext/NameConstraints.class create mode 100644 libjava/classpath/lib/gnu/java/util/Base64.class create mode 100644 libjava/classpath/lib/gnu/javax/management/Translator.class delete mode 100644 libjava/classpath/lib/gnu/javax/net/ssl/Base64.class create mode 100644 libjava/classpath/lib/java/awt/Desktop$Action.class create mode 100644 libjava/classpath/lib/java/awt/Desktop.class create mode 100644 libjava/classpath/lib/java/awt/datatransfer/SystemFlavorMap$1.class create mode 100644 libjava/classpath/lib/java/awt/peer/DesktopPeer.class create mode 100644 libjava/classpath/lib/java/beans/ConstructorProperties.class create mode 100644 libjava/classpath/lib/java/lang/Class$1.class create mode 100644 libjava/classpath/lib/java/lang/management/LockInfo.class create mode 100644 libjava/classpath/lib/java/lang/management/ManagementFactory$ManagementInvocationHandler.class create mode 100644 libjava/classpath/lib/java/lang/management/MonitorInfo.class create mode 100644 libjava/classpath/lib/java/text/spi/BreakIteratorProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/CollatorProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DateFormatProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DateFormatSymbolsProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/DecimalFormatSymbolsProvider.class create mode 100644 libjava/classpath/lib/java/text/spi/NumberFormatProvider.class create mode 100644 libjava/classpath/lib/java/util/Collections$LIFOQueue.class create mode 100644 libjava/classpath/lib/java/util/Collections$MapSet.class create mode 100644 libjava/classpath/lib/java/util/LinkedList$1.class create mode 100644 libjava/classpath/lib/java/util/ServiceConfigurationError.class create mode 100644 libjava/classpath/lib/java/util/ServiceLoader$1.class create mode 100644 libjava/classpath/lib/java/util/ServiceLoader.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$7.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$DescendingMap.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$DescendingSet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$NavigableEntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$NavigableKeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$EntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$KeySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableEntrySet.class create mode 100644 libjava/classpath/lib/java/util/TreeMap$SubMap$NavigableKeySet.class create mode 100644 libjava/classpath/lib/java/util/spi/CurrencyNameProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/LocaleNameProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/LocaleServiceProvider.class create mode 100644 libjava/classpath/lib/java/util/spi/TimeZoneNameProvider.class create mode 100644 libjava/classpath/lib/javax/activity/ActivityCompletedException.class create mode 100644 libjava/classpath/lib/javax/activity/ActivityRequiredException.class create mode 100644 libjava/classpath/lib/javax/activity/InvalidActivityException.class create mode 100644 libjava/classpath/lib/javax/management/AttributeChangeNotification.class create mode 100644 libjava/classpath/lib/javax/management/AttributeChangeNotificationFilter.class create mode 100644 libjava/classpath/lib/javax/management/AttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/DefaultLoaderRepository.class create mode 100644 libjava/classpath/lib/javax/management/Descriptor.class create mode 100644 libjava/classpath/lib/javax/management/DescriptorAccess.class create mode 100644 libjava/classpath/lib/javax/management/DescriptorRead.class create mode 100644 libjava/classpath/lib/javax/management/JMX.class create mode 100644 libjava/classpath/lib/javax/management/MBeanServerInvocationHandler.class create mode 100644 libjava/classpath/lib/javax/management/MXBean.class create mode 100644 libjava/classpath/lib/javax/management/NotificationBroadcasterSupport$DispatchTask.class create mode 100644 libjava/classpath/lib/javax/management/NotificationBroadcasterSupport.class create mode 100644 libjava/classpath/lib/javax/management/NotificationFilterSupport.class create mode 100644 libjava/classpath/lib/javax/management/PersistentMBean.class create mode 100644 libjava/classpath/lib/javax/management/Query$AndQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BetweenQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BinaryOpValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BinaryRelQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$BooleanValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$ClassAttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$InQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$InstanceOfQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$MatchQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$NotQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$NumericValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$OrQueryExp.class create mode 100644 libjava/classpath/lib/javax/management/Query$QualifiedAttributeValueExp.class create mode 100644 libjava/classpath/lib/javax/management/Query.class create mode 100644 libjava/classpath/lib/javax/management/QueryEval.class create mode 100644 libjava/classpath/lib/javax/management/StringValueExp.class create mode 100644 libjava/classpath/lib/javax/management/openmbean/CompositeDataInvocationHandler.class create mode 100644 libjava/classpath/lib/javax/naming/directory/BasicAttributes$1.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.class create mode 100644 libjava/classpath/lib/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$SwingDragGestureRecognizer.class create mode 100644 libjava/classpath/lib/javax/swing/TransferHandler$SwingDragHandler.class delete mode 100644 libjava/classpath/lib/jazzlib/index.html delete mode 100755 libjava/classpath/lib/jazzlib/makeJazzlibDist.sh delete mode 100755 libjava/classpath/lib/mkdep.pl.in create mode 100644 libjava/classpath/m4/ax_func_which_gethostbyname_r.m4 delete mode 100644 libjava/classpath/native/jni/gtk-peer/gthread-jni.c create mode 100644 libjava/classpath/native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c create mode 100644 libjava/classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory delete mode 100644 libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory delete mode 100644 libjava/classpath/resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory delete mode 100644 libjava/classpath/resource/META-INF/services/org.xml.sax.driver delete mode 100644 libjava/classpath/scripts/build_mathnamespace delete mode 100644 libjava/classpath/scripts/checkstyle-config.xml delete mode 100644 libjava/classpath/scripts/checkstyle-header.regex delete mode 100644 libjava/classpath/scripts/checkstyle-suppressions.xml delete mode 100644 libjava/classpath/scripts/checkstyle.css delete mode 100644 libjava/classpath/scripts/checkstyle2html.xsl delete mode 100755 libjava/classpath/scripts/classpath-build delete mode 100755 libjava/classpath/scripts/classpath-daily delete mode 100644 libjava/classpath/scripts/eclipse-gnu.xml delete mode 100644 libjava/classpath/scripts/jalopy-gnu.xml delete mode 100755 libjava/classpath/scripts/japi delete mode 100755 libjava/classpath/scripts/kissme-mauve delete mode 100755 libjava/classpath/scripts/loc delete mode 100644 libjava/classpath/scripts/math_symbols delete mode 100755 libjava/classpath/scripts/patches.pl delete mode 100755 libjava/classpath/scripts/sanitize-jsr166 delete mode 100755 libjava/classpath/scripts/timezones.pl delete mode 100644 libjava/classpath/scripts/tzabbrevs delete mode 100755 libjava/classpath/scripts/unicode-blocks.pl delete mode 100755 libjava/classpath/scripts/unicode-muncher.pl create mode 100644 libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup$6.class delete mode 100644 libjava/classpath/tools/external/README delete mode 100644 libjava/classpath/tools/external/asm/LICENSE.txt delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/attrs/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/commons/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/optimizer/shrink.properties delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/signature/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/analysis/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/tree/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/attrs/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/util/package.html delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/asm-xml.dtd delete mode 100644 libjava/classpath/tools/external/asm/org/objectweb/asm/xml/package.html create mode 100644 libjava/classpath/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java create mode 100644 libjava/gnu/classpath/Pair.h delete mode 100644 libjava/gnu/classpath/jdwp/util/Value.h create mode 100644 libjava/gnu/java/awt/ClasspathGraphicsEnvironment.h create mode 100644 libjava/gnu/java/awt/font/autofit/AutoHinter.h create mode 100644 libjava/gnu/java/awt/font/autofit/Edge.h rename libjava/gnu/java/awt/font/autofit/{Scaler.h => HintScaler.h} (69%) create mode 100644 libjava/gnu/java/awt/font/autofit/LatinBlue.h create mode 100644 libjava/gnu/java/awt/font/autofit/Utils.h create mode 100644 libjava/gnu/java/awt/font/opentype/Hinter.h create mode 100644 libjava/gnu/java/awt/font/opentype/truetype/Point.h create mode 100644 libjava/gnu/java/awt/java2d/ActiveEdges.h create mode 100644 libjava/gnu/java/awt/java2d/Scanline.h create mode 100644 libjava/gnu/java/awt/java2d/ScanlineConverter.h create mode 100644 libjava/gnu/java/awt/peer/ClasspathDesktopPeer.h create mode 100644 libjava/gnu/java/awt/peer/ClasspathFontPeer$LRUCache.h create mode 100644 libjava/gnu/java/awt/peer/GnomeDesktopPeer.h create mode 100644 libjava/gnu/java/awt/peer/KDEDesktopPeer.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/CairoSurface$CairoDataBuffer.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadMutex.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.h delete mode 100644 libjava/gnu/java/awt/peer/gtk/GtkToolkit$1.h delete mode 100644 libjava/gnu/java/lang/management/MemoryMXBeanImpl$ListenerData.h create mode 100644 libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.h create mode 100644 libjava/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java create mode 100644 libjava/gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc create mode 100644 libjava/gnu/java/math/Fixed.h delete mode 100644 libjava/gnu/java/net/BASE64.h delete mode 100644 libjava/gnu/java/nio/EpollSelectionKeyImpl.h delete mode 100644 libjava/gnu/java/nio/KqueueSelectionKeyImpl.h delete mode 100644 libjava/gnu/java/security/util/Base64.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralName$Kind.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralName.h create mode 100644 libjava/gnu/java/security/x509/ext/GeneralSubtree.h create mode 100644 libjava/gnu/java/security/x509/ext/NameConstraints.h rename libjava/gnu/{javax/net/ssl => java/util}/Base64.h (57%) create mode 100644 libjava/gnu/javax/management/Translator.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientType.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Context.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/DigestInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/DigestOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Enumerated.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Extensions.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/GNUSecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$buffer.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JCESecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JDBCSessionContext.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPrivateKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieDHPublicKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPrivateKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/JessieRSAPublicKey.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/KeyPool.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/OverflowException.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInput.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/RecordingInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRSASignature.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocket.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactory.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocket.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketFactory.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketInputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketOutputStream.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SecurityParameters.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Session$ID.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/Session.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SessionContext.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/SynchronizedRandom.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext$SAXHandler.h delete mode 100644 libjava/gnu/javax/net/ssl/provider/XMLSessionContext.h delete mode 100644 libjava/gnu/javax/swing/text/html/parser/HTML_401Swing.h create mode 100644 libjava/java/awt/Desktop$Action.h create mode 100644 libjava/java/awt/Desktop.h create mode 100644 libjava/java/awt/datatransfer/SystemFlavorMap$1.h create mode 100644 libjava/java/awt/peer/DesktopPeer.h create mode 100644 libjava/java/beans/ConstructorProperties.h create mode 100644 libjava/java/lang/Class$1.h delete mode 100644 libjava/java/lang/SecurityContext.h create mode 100644 libjava/java/lang/management/LockInfo.h create mode 100644 libjava/java/lang/management/ManagementFactory$ManagementInvocationHandler.h create mode 100644 libjava/java/lang/management/MonitorInfo.h delete mode 100644 libjava/java/net/URLClassLoader$CoreResource.h delete mode 100644 libjava/java/net/URLClassLoader$CoreURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$FileResource.h delete mode 100644 libjava/java/net/URLClassLoader$FileURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$JarURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$JarURLResource.h delete mode 100644 libjava/java/net/URLClassLoader$RemoteResource.h delete mode 100644 libjava/java/net/URLClassLoader$RemoteURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$Resource.h delete mode 100644 libjava/java/net/URLClassLoader$SoResource.h delete mode 100644 libjava/java/net/URLClassLoader$SoURLLoader.h delete mode 100644 libjava/java/net/URLClassLoader$URLLoader.h create mode 100644 libjava/java/text/spi/BreakIteratorProvider.h create mode 100644 libjava/java/text/spi/CollatorProvider.h create mode 100644 libjava/java/text/spi/DateFormatProvider.h create mode 100644 libjava/java/text/spi/DateFormatSymbolsProvider.h create mode 100644 libjava/java/text/spi/DecimalFormatSymbolsProvider.h create mode 100644 libjava/java/text/spi/NumberFormatProvider.h create mode 100644 libjava/java/util/Collections$LIFOQueue.h create mode 100644 libjava/java/util/Collections$MapSet.h create mode 100644 libjava/java/util/LinkedList$1.h delete mode 100644 libjava/java/util/Locale.java create mode 100644 libjava/java/util/ServiceConfigurationError.h create mode 100644 libjava/java/util/ServiceLoader$1.h create mode 100644 libjava/java/util/ServiceLoader.h create mode 100644 libjava/java/util/TreeMap$7.h create mode 100644 libjava/java/util/TreeMap$DescendingMap.h create mode 100644 libjava/java/util/TreeMap$DescendingSet.h create mode 100644 libjava/java/util/TreeMap$EntrySet.h create mode 100644 libjava/java/util/TreeMap$KeySet.h create mode 100644 libjava/java/util/TreeMap$NavigableEntrySet.h create mode 100644 libjava/java/util/TreeMap$NavigableKeySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$EntrySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$KeySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$NavigableEntrySet.h create mode 100644 libjava/java/util/TreeMap$SubMap$NavigableKeySet.h create mode 100644 libjava/java/util/spi/CurrencyNameProvider.h create mode 100644 libjava/java/util/spi/LocaleNameProvider.h create mode 100644 libjava/java/util/spi/LocaleServiceProvider.h create mode 100644 libjava/java/util/spi/TimeZoneNameProvider.h create mode 100644 libjava/javax/activity/ActivityCompletedException.h create mode 100644 libjava/javax/activity/ActivityRequiredException.h create mode 100644 libjava/javax/activity/InvalidActivityException.h create mode 100644 libjava/javax/management/AttributeChangeNotification.h create mode 100644 libjava/javax/management/AttributeChangeNotificationFilter.h create mode 100644 libjava/javax/management/AttributeValueExp.h create mode 100644 libjava/javax/management/DefaultLoaderRepository.h create mode 100644 libjava/javax/management/Descriptor.h create mode 100644 libjava/javax/management/DescriptorAccess.h create mode 100644 libjava/javax/management/DescriptorRead.h create mode 100644 libjava/javax/management/JMX.h create mode 100644 libjava/javax/management/MBeanServerInvocationHandler.h create mode 100644 libjava/javax/management/MXBean.h create mode 100644 libjava/javax/management/NotificationBroadcasterSupport$DispatchTask.h create mode 100644 libjava/javax/management/NotificationBroadcasterSupport.h create mode 100644 libjava/javax/management/NotificationFilterSupport.h create mode 100644 libjava/javax/management/PersistentMBean.h create mode 100644 libjava/javax/management/Query$AndQueryExp.h create mode 100644 libjava/javax/management/Query$BetweenQueryExp.h create mode 100644 libjava/javax/management/Query$BinaryOpValueExp.h create mode 100644 libjava/javax/management/Query$BinaryRelQueryExp.h create mode 100644 libjava/javax/management/Query$BooleanValueExp.h create mode 100644 libjava/javax/management/Query$ClassAttributeValueExp.h create mode 100644 libjava/javax/management/Query$InQueryExp.h create mode 100644 libjava/javax/management/Query$InstanceOfQueryExp.h create mode 100644 libjava/javax/management/Query$MatchQueryExp.h create mode 100644 libjava/javax/management/Query$NotQueryExp.h create mode 100644 libjava/javax/management/Query$NumericValueExp.h create mode 100644 libjava/javax/management/Query$OrQueryExp.h create mode 100644 libjava/javax/management/Query$QualifiedAttributeValueExp.h create mode 100644 libjava/javax/management/Query.h create mode 100644 libjava/javax/management/QueryEval.h create mode 100644 libjava/javax/management/StringValueExp.h create mode 100644 libjava/javax/management/openmbean/CompositeDataInvocationHandler.h create mode 100644 libjava/javax/naming/directory/BasicAttributes$1.h create mode 100644 libjava/javax/net/ssl/SSLServerSocketFactory$ErrorServerSocketFactory.h create mode 100644 libjava/javax/net/ssl/SSLSocketFactory$ErrorSocketFactory.h delete mode 100644 libjava/javax/swing/AbstractButton$2.h delete mode 100644 libjava/javax/swing/AbstractButton$3.h create mode 100644 libjava/javax/swing/TransferHandler$SwingDragGestureRecognizer.h create mode 100644 libjava/javax/swing/TransferHandler$SwingDragHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$1.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$DocumentHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTextUI$PropertyChangeHandler.h delete mode 100644 libjava/javax/swing/plaf/basic/BasicTreeUI$2.h delete mode 100644 libjava/javax/swing/plaf/metal/MetalSplitPaneDivider$MetalDividerLayout.h delete mode 100644 libjava/javax/swing/text/AbstractDocument$1.h delete mode 100644 libjava/javax/swing/text/AbstractDocument$2.h delete mode 100644 libjava/javax/swing/text/DefaultStyledDocument$Edit.h delete mode 100644 libjava/javax/swing/text/html/StyleSheet$CssParser.h delete mode 100644 libjava/javax/swing/tree/DefaultTreeCellEditor$RealEditorListener.h diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 6b8d1394642..357c157fd34 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,91 @@ +2007-06-03 Matthias Klose + + * java/io/natFileWin32.cc (setFilePermissions): New (stub only). + _access: Handle EXEC query, stub only. + +2007-06-03 Matthias Klose + + Merged from classpath: + * gnu/java/nio/SelectorProviderImpl.java: Whitespace merge. + * java/lang/System.java(inheritedChannel): New. + * java/lang/Character.java: Remove stray`;'. + * java/net/MulticastSocket.java: Merged. + * java/text/DateFormatSymbols.java(getInstance): New, comment updates. + * java/text/Collator.java(getInstance): Merged. + * java/util/Calendar.java: New attributes ALL_STYLES, SHORT, LONG. + getDisplayName, getDisplayNames: New. + * java/util/logging/Logger.java: Merged. + * Regenerate .class and .h files. + +2007-06-03 Matthias Klose + + * java/io/File.java: Merge with classpath-0.95, new method + setFilePermissions, new attribute EXEC. + * java/io/natFilePosix.cc (setFilePermissions): New. + _access: Handle EXEC query. + * classpath/lib/java/io/File.class, java/io/File.h: Regenerate. + +2007-06-03 Matthias Klose + + Imported GNU Classpath 0.95. + + * classpath/Makefile.in, + classpath/native/jni/midi-dssi/Makefile.in, + classpath/native/jni/classpath/Makefile.in, + classpath/native/jni/Makefile.in, + classpath/native/jni/gconf-peer/Makefile.in, + classpath/native/jni/java-io/Makefile.in, + classpath/native/jni/native-lib/Makefile.in, + classpath/native/jni/java-util/Makefile.in, + classpath/native/jni/midi-alsa/Makefile.in, + classpath/native/jni/java-lang/Makefile.in, + classpath/native/jni/java-nio/Makefile.in, + classpath/native/jni/java-net/Makefile.in, + classpath/native/jni/xmlj/Makefile.in, + classpath/native/jni/qt-peer/Makefile.in, + classpath/native/jni/gtk-peer/Makefile.in, + classpath/native/Makefile.in, classpath/native/jawt/Makefile.in, + classpath/native/fdlibm/Makefile.in, + classpath/native/plugin/Makefile.in, + classpath/resource/Makefile.in, classpath/scripts/Makefile.in, + classpath/tools/Makefile.in, classpath/doc/Makefile.in, + classpath/doc/api/Makefile.in, classpath/lib/Makefile.in, + classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, + classpath/external/sax/Makefile.in, + classpath/external/w3c_dom/Makefile.in, + classpath/external/relaxngDatatype/Makefile.in, + classpath/include/Makefile.in, + classpath/examples/Makefile.in: Regenerate. + * classpath/config.guess, classpath/config.sub, + classpath/ltmain.sh : Update. + * classpath/configure, classpath/depcomp, classpath/missing, + classpath/aclocal.m4, classpath/install-sh: Regenerate. + + * gnu/classpath/Configuration.java (CLASSPATH_VERSION): Now 0.95. + * sources.am: Regenerate. + * Makefile.in: Regenerate. + + * Update the .class files and generated CNI header files, add new + .class and generated CNI header files. + * Remove generated files for removed java source files: + classpath/gnu/java/net/BASE64.java, + classpath/gnu/java/security/util/Base64.java, + classpath/gnu/java/awt/peer/gtk/GThreadMutex.java, + classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, + classpath/gnu/java/awt/font/autofit/Scaler.java, + classpath/gnu/classpath/jdwp/util/Value.java, + classpath/gnu/javax/net/ssl/Base64.java. + * Remove empty directories. + + * Makefile.am(nat_source_files): Add natVMOperatingSystemMXBeanImpl.cc. + * java/lang/Class.java(setAccessible): Merge from classpath. + * java/util/Locale.java: Remove. + * gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java, + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc: New. + * gcj/javaprims.h: Update class declarations. + * scripts/classes.pl: Update usage. + * HACKING: Mention to build all peers. + 2007-06-02 Paolo Bonzini * configure: Regenerate. diff --git a/libjava/HACKING b/libjava/HACKING index f32a3a577d9..dc5e144ed43 100644 --- a/libjava/HACKING +++ b/libjava/HACKING @@ -89,6 +89,8 @@ To import a new release: scripts/makemake.tcl > sources.am automake - Build, fix, till everything works. + Be sure to build all peers (--enable-java-awt=gtk,xlib,qt + --enable-gconf-peer) Be sure to update gnu/classpath/Configuration.java to reflect the new version Possibly update the gcj/javaprims.h file with scripts/classes.pl diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 3af6492a964..9cd5cbef1e0 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -864,6 +864,7 @@ gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 94654986abe..20f904b9dc3 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -244,11 +244,12 @@ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \ java/rmi/activation.lo java/rmi/dgc.lo java/rmi/registry.lo \ java/rmi/server.lo java/security.lo java/security/acl.lo \ java/security/cert.lo java/security/interfaces.lo \ - java/security/spec.lo java/sql.lo java/text.lo java/util.lo \ - java/util/concurrent.lo java/util/concurrent/atomic.lo \ - java/util/concurrent/locks.lo java/util/jar.lo \ - java/util/logging.lo java/util/prefs.lo java/util/regex.lo \ - java/util/zip.lo javax/accessibility.lo javax/crypto.lo \ + java/security/spec.lo java/sql.lo java/text.lo \ + java/text/spi.lo java/util.lo java/util/concurrent.lo \ + java/util/concurrent/atomic.lo java/util/concurrent/locks.lo \ + java/util/jar.lo java/util/logging.lo java/util/prefs.lo \ + java/util/regex.lo java/util/spi.lo java/util/zip.lo \ + javax/accessibility.lo javax/activity.lo javax/crypto.lo \ javax/crypto/interfaces.lo javax/crypto/spec.lo \ javax/management.lo javax/management/loading.lo \ javax/management/openmbean.lo javax/naming.lo \ @@ -314,6 +315,7 @@ am__libgcj_la_SOURCES_DIST = prims.cc jni.cc jvmti.cc exception.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ @@ -376,6 +378,7 @@ am__objects_2 = gnu/classpath/jdwp/natVMFrame.lo \ gnu/java/lang/management/natVMMemoryMXBeanImpl.lo \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo \ + gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo \ gnu/java/lang/management/natVMThreadMXBeanImpl.lo \ gnu/java/net/natPlainDatagramSocketImpl.lo \ @@ -1152,6 +1155,7 @@ gnu_awt_xlib_header_files = $(patsubst %.java,%.h,$(gnu_awt_xlib_source_files)) gnu_classpath_source_files = \ gnu/classpath/Configuration.java \ classpath/gnu/classpath/NotImplementedException.java \ +classpath/gnu/classpath/Pair.java \ classpath/gnu/classpath/Pointer.java \ classpath/gnu/classpath/Pointer32.java \ classpath/gnu/classpath/Pointer64.java \ @@ -1294,7 +1298,6 @@ classpath/gnu/classpath/jdwp/util/MethodResult.java \ classpath/gnu/classpath/jdwp/util/MonitorInfo.java \ classpath/gnu/classpath/jdwp/util/NullObject.java \ classpath/gnu/classpath/jdwp/util/Signature.java \ -classpath/gnu/classpath/jdwp/util/Value.java \ classpath/gnu/classpath/jdwp/util/VariableTable.java gnu_classpath_jdwp_util_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_classpath_jdwp_util_source_files))) @@ -1412,6 +1415,7 @@ classpath/gnu/java/awt/AWTUtilities.java \ classpath/gnu/java/awt/BitMaskExtent.java \ classpath/gnu/java/awt/BitwiseXORComposite.java \ classpath/gnu/java/awt/Buffers.java \ +classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java \ classpath/gnu/java/awt/ClasspathToolkit.java \ classpath/gnu/java/awt/ComponentDataBlitOp.java \ classpath/gnu/java/awt/ComponentReshapeEvent.java \ @@ -1453,22 +1457,27 @@ classpath/gnu/java/awt/font/GNUGlyphVector.java gnu_java_awt_font_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_source_files))) gnu_java_awt_font_autofit_source_files = \ +classpath/gnu/java/awt/font/autofit/AutoHinter.java \ classpath/gnu/java/awt/font/autofit/AxisHints.java \ classpath/gnu/java/awt/font/autofit/Constants.java \ +classpath/gnu/java/awt/font/autofit/Edge.java \ classpath/gnu/java/awt/font/autofit/GlyphHints.java \ +classpath/gnu/java/awt/font/autofit/HintScaler.java \ classpath/gnu/java/awt/font/autofit/Latin.java \ classpath/gnu/java/awt/font/autofit/LatinAxis.java \ +classpath/gnu/java/awt/font/autofit/LatinBlue.java \ classpath/gnu/java/awt/font/autofit/LatinMetrics.java \ -classpath/gnu/java/awt/font/autofit/Scaler.java \ classpath/gnu/java/awt/font/autofit/Script.java \ classpath/gnu/java/awt/font/autofit/ScriptMetrics.java \ classpath/gnu/java/awt/font/autofit/Segment.java \ +classpath/gnu/java/awt/font/autofit/Utils.java \ classpath/gnu/java/awt/font/autofit/Width.java gnu_java_awt_font_autofit_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_font_autofit_source_files))) gnu_java_awt_font_opentype_source_files = \ classpath/gnu/java/awt/font/opentype/CharGlyphMap.java \ classpath/gnu/java/awt/font/opentype/GlyphNamer.java \ +classpath/gnu/java/awt/font/opentype/Hinter.java \ classpath/gnu/java/awt/font/opentype/MacResourceFork.java \ classpath/gnu/java/awt/font/opentype/NameDecoder.java \ classpath/gnu/java/awt/font/opentype/OpenTypeFont.java \ @@ -1481,6 +1490,7 @@ classpath/gnu/java/awt/font/opentype/truetype/Fixed.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphLocator.java \ classpath/gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java \ +classpath/gnu/java/awt/font/opentype/truetype/Point.java \ classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java \ classpath/gnu/java/awt/font/opentype/truetype/VirtualMachine.java \ classpath/gnu/java/awt/font/opentype/truetype/Zone.java \ @@ -1494,6 +1504,7 @@ classpath/gnu/java/awt/image/XBMDecoder.java gnu_java_awt_image_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_image_source_files))) gnu_java_awt_java2d_source_files = \ classpath/gnu/java/awt/java2d/AbstractGraphics2D.java \ +classpath/gnu/java/awt/java2d/ActiveEdges.java \ classpath/gnu/java/awt/java2d/AlphaCompositeContext.java \ classpath/gnu/java/awt/java2d/CubicSegment.java \ classpath/gnu/java/awt/java2d/ImagePaint.java \ @@ -1502,15 +1513,20 @@ classpath/gnu/java/awt/java2d/PolyEdge.java \ classpath/gnu/java/awt/java2d/PolyEdgeComparator.java \ classpath/gnu/java/awt/java2d/QuadSegment.java \ classpath/gnu/java/awt/java2d/RasterGraphics.java \ +classpath/gnu/java/awt/java2d/Scanline.java \ +classpath/gnu/java/awt/java2d/ScanlineConverter.java \ classpath/gnu/java/awt/java2d/Segment.java \ classpath/gnu/java/awt/java2d/ShapeCache.java \ classpath/gnu/java/awt/java2d/TexturePaintContext.java gnu_java_awt_java2d_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_java2d_source_files))) gnu_java_awt_peer_source_files = \ +classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java \ classpath/gnu/java/awt/peer/ClasspathFontPeer.java \ classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java \ classpath/gnu/java/awt/peer/GLightweightPeer.java \ +classpath/gnu/java/awt/peer/GnomeDesktopPeer.java \ +classpath/gnu/java/awt/peer/KDEDesktopPeer.java \ classpath/gnu/java/awt/peer/NativeEventLoopRunningEvent.java gnu_java_awt_peer_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_awt_peer_source_files))) @@ -1523,8 +1539,6 @@ classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java \ classpath/gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java \ classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java \ -classpath/gnu/java/awt/peer/gtk/GThreadMutex.java \ -classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java \ classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java \ classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java \ @@ -1782,6 +1796,7 @@ gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java \ gnu/java/lang/management/VMMemoryMXBeanImpl.java \ gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java \ gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java \ +gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java \ gnu/java/lang/management/VMRuntimeMXBeanImpl.java \ gnu/java/lang/management/VMThreadMXBeanImpl.java @@ -1940,11 +1955,11 @@ gnu/java/locale/LocaleInformation_zh_TW.java gnu_java_locale_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_locale_source_files))) gnu_java_math_source_files = \ +classpath/gnu/java/math/Fixed.java \ classpath/gnu/java/math/MPN.java gnu_java_math_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_math_source_files))) gnu_java_net_source_files = \ -classpath/gnu/java/net/BASE64.java \ classpath/gnu/java/net/CRLFInputStream.java \ classpath/gnu/java/net/CRLFOutputStream.java \ classpath/gnu/java/net/DefaultContentHandlerFactory.java \ @@ -2371,7 +2386,6 @@ classpath/gnu/java/security/sig/rsa/RSASignatureFactory.java gnu_java_security_sig_rsa_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_security_sig_rsa_source_files))) gnu_java_security_util_source_files = \ -classpath/gnu/java/security/util/Base64.java \ classpath/gnu/java/security/util/ByteArray.java \ classpath/gnu/java/security/util/ByteBufferOutputStream.java \ classpath/gnu/java/security/util/DerUtil.java \ @@ -2405,9 +2419,12 @@ classpath/gnu/java/security/x509/ext/CRLNumber.java \ classpath/gnu/java/security/x509/ext/CertificatePolicies.java \ classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java \ classpath/gnu/java/security/x509/ext/Extension.java \ +classpath/gnu/java/security/x509/ext/GeneralName.java \ classpath/gnu/java/security/x509/ext/GeneralNames.java \ +classpath/gnu/java/security/x509/ext/GeneralSubtree.java \ classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java \ classpath/gnu/java/security/x509/ext/KeyUsage.java \ +classpath/gnu/java/security/x509/ext/NameConstraints.java \ classpath/gnu/java/security/x509/ext/PolicyConstraint.java \ classpath/gnu/java/security/x509/ext/PolicyMappings.java \ classpath/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java \ @@ -2429,6 +2446,7 @@ classpath/gnu/java/text/WordBreakIterator.java gnu_java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_java_text_source_files))) gnu_java_util_source_files = \ +classpath/gnu/java/util/Base64.java \ classpath/gnu/java/util/DoubleEnumeration.java \ classpath/gnu/java/util/EmptyEnumeration.java \ classpath/gnu/java/util/WeakIdentityHashMap.java \ @@ -2914,7 +2932,8 @@ classpath/gnu/javax/imageio/png/PNGTime.java gnu_javax_imageio_png_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_imageio_png_source_files))) gnu_javax_management_source_files = \ classpath/gnu/javax/management/ListenerData.java \ -classpath/gnu/javax/management/Server.java +classpath/gnu/javax/management/Server.java \ +classpath/gnu/javax/management/Translator.java gnu_javax_naming_giop_source_files = \ classpath/gnu/javax/naming/giop/ContextContinuation.java \ @@ -2946,7 +2965,6 @@ classpath/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java gnu_javax_naming_jndi_url_rmi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(gnu_javax_naming_jndi_url_rmi_source_files))) gnu_javax_net_ssl_source_files = \ classpath/gnu/javax/net/ssl/AbstractSessionContext.java \ -classpath/gnu/javax/net/ssl/Base64.java \ classpath/gnu/javax/net/ssl/EntropySource.java \ classpath/gnu/javax/net/ssl/NullManagerParameters.java \ classpath/gnu/javax/net/ssl/PreSharedKeyManager.java \ @@ -3754,6 +3772,7 @@ classpath/java/awt/ContainerOrderFocusTraversalPolicy.java \ classpath/java/awt/Cursor.java \ classpath/java/awt/DefaultFocusTraversalPolicy.java \ classpath/java/awt/DefaultKeyboardFocusManager.java \ +classpath/java/awt/Desktop.java \ classpath/java/awt/Dialog.java \ classpath/java/awt/Dimension.java \ classpath/java/awt/DisplayMode.java \ @@ -4059,6 +4078,7 @@ classpath/java/awt/peer/CheckboxPeer.java \ classpath/java/awt/peer/ChoicePeer.java \ classpath/java/awt/peer/ComponentPeer.java \ classpath/java/awt/peer/ContainerPeer.java \ +classpath/java/awt/peer/DesktopPeer.java \ classpath/java/awt/peer/DialogPeer.java \ classpath/java/awt/peer/FileDialogPeer.java \ classpath/java/awt/peer/FontPeer.java \ @@ -4101,6 +4121,7 @@ classpath/java/beans/AppletInitializer.java \ classpath/java/beans/BeanDescriptor.java \ classpath/java/beans/BeanInfo.java \ classpath/java/beans/Beans.java \ +classpath/java/beans/ConstructorProperties.java \ classpath/java/beans/Customizer.java \ classpath/java/beans/DefaultPersistenceDelegate.java \ classpath/java/beans/DesignMode.java \ @@ -4367,6 +4388,7 @@ java_lang_management_source_files = \ classpath/java/lang/management/ClassLoadingMXBean.java \ classpath/java/lang/management/CompilationMXBean.java \ classpath/java/lang/management/GarbageCollectorMXBean.java \ +classpath/java/lang/management/LockInfo.java \ classpath/java/lang/management/ManagementFactory.java \ classpath/java/lang/management/ManagementPermission.java \ classpath/java/lang/management/MemoryMXBean.java \ @@ -4375,6 +4397,7 @@ classpath/java/lang/management/MemoryNotificationInfo.java \ classpath/java/lang/management/MemoryPoolMXBean.java \ classpath/java/lang/management/MemoryType.java \ classpath/java/lang/management/MemoryUsage.java \ +classpath/java/lang/management/MonitorInfo.java \ classpath/java/lang/management/OperatingSystemMXBean.java \ classpath/java/lang/management/RuntimeMXBean.java \ classpath/java/lang/management/ThreadInfo.java \ @@ -4878,6 +4901,15 @@ classpath/java/text/SimpleDateFormat.java \ classpath/java/text/StringCharacterIterator.java java_text_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_text_source_files))) +java_text_spi_source_files = \ +classpath/java/text/spi/BreakIteratorProvider.java \ +classpath/java/text/spi/CollatorProvider.java \ +classpath/java/text/spi/DateFormatProvider.java \ +classpath/java/text/spi/DateFormatSymbolsProvider.java \ +classpath/java/text/spi/DecimalFormatSymbolsProvider.java \ +classpath/java/text/spi/NumberFormatProvider.java + +java_text_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_text_spi_source_files))) java_util_source_files = \ classpath/java/util/AbstractCollection.java \ classpath/java/util/AbstractList.java \ @@ -4931,7 +4963,7 @@ classpath/java/util/LinkedList.java \ classpath/java/util/List.java \ classpath/java/util/ListIterator.java \ classpath/java/util/ListResourceBundle.java \ -java/util/Locale.java \ +classpath/java/util/Locale.java \ classpath/java/util/Map.java \ classpath/java/util/MissingFormatArgumentException.java \ classpath/java/util/MissingFormatWidthException.java \ @@ -4950,6 +4982,8 @@ classpath/external/jsr166/java/util/Queue.java \ classpath/java/util/Random.java \ classpath/java/util/RandomAccess.java \ classpath/java/util/ResourceBundle.java \ +classpath/java/util/ServiceConfigurationError.java \ +classpath/java/util/ServiceLoader.java \ classpath/java/util/Set.java \ classpath/java/util/SimpleTimeZone.java \ classpath/java/util/SortedMap.java \ @@ -5093,6 +5127,13 @@ classpath/java/util/regex/Pattern.java \ classpath/java/util/regex/PatternSyntaxException.java java_util_regex_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_regex_source_files))) +java_util_spi_source_files = \ +classpath/java/util/spi/CurrencyNameProvider.java \ +classpath/java/util/spi/LocaleNameProvider.java \ +classpath/java/util/spi/LocaleServiceProvider.java \ +classpath/java/util/spi/TimeZoneNameProvider.java + +java_util_spi_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(java_util_spi_source_files))) java_util_zip_source_files = \ classpath/java/util/zip/Adler32.java \ classpath/java/util/zip/CRC32.java \ @@ -5144,6 +5185,12 @@ classpath/javax/accessibility/AccessibleTextSequence.java \ classpath/javax/accessibility/AccessibleValue.java javax_accessibility_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_accessibility_source_files))) +javax_activity_source_files = \ +classpath/javax/activity/ActivityCompletedException.java \ +classpath/javax/activity/ActivityRequiredException.java \ +classpath/javax/activity/InvalidActivityException.java + +javax_activity_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_activity_source_files))) javax_crypto_source_files = \ classpath/javax/crypto/BadPaddingException.java \ classpath/javax/crypto/Cipher.java \ @@ -5245,11 +5292,18 @@ classpath/javax/imageio/stream/MemoryCacheImageOutputStream.java javax_management_source_files = \ classpath/javax/management/Attribute.java \ +classpath/javax/management/AttributeChangeNotification.java \ +classpath/javax/management/AttributeChangeNotificationFilter.java \ classpath/javax/management/AttributeList.java \ classpath/javax/management/AttributeNotFoundException.java \ +classpath/javax/management/AttributeValueExp.java \ classpath/javax/management/BadAttributeValueExpException.java \ classpath/javax/management/BadBinaryOpValueExpException.java \ classpath/javax/management/BadStringOperationException.java \ +classpath/javax/management/DefaultLoaderRepository.java \ +classpath/javax/management/Descriptor.java \ +classpath/javax/management/DescriptorAccess.java \ +classpath/javax/management/DescriptorRead.java \ classpath/javax/management/DynamicMBean.java \ classpath/javax/management/InstanceAlreadyExistsException.java \ classpath/javax/management/InstanceNotFoundException.java \ @@ -5258,6 +5312,7 @@ classpath/javax/management/InvalidApplicationException.java \ classpath/javax/management/InvalidAttributeValueException.java \ classpath/javax/management/JMException.java \ classpath/javax/management/JMRuntimeException.java \ +classpath/javax/management/JMX.java \ classpath/javax/management/ListenerNotFoundException.java \ classpath/javax/management/MBeanAttributeInfo.java \ classpath/javax/management/MBeanConstructorInfo.java \ @@ -5276,19 +5331,26 @@ classpath/javax/management/MBeanServerConnection.java \ classpath/javax/management/MBeanServerDelegate.java \ classpath/javax/management/MBeanServerDelegateMBean.java \ classpath/javax/management/MBeanServerFactory.java \ +classpath/javax/management/MBeanServerInvocationHandler.java \ classpath/javax/management/MBeanServerNotification.java \ classpath/javax/management/MBeanServerPermission.java \ classpath/javax/management/MBeanTrustPermission.java \ +classpath/javax/management/MXBean.java \ classpath/javax/management/MalformedObjectNameException.java \ classpath/javax/management/NotCompliantMBeanException.java \ classpath/javax/management/Notification.java \ classpath/javax/management/NotificationBroadcaster.java \ +classpath/javax/management/NotificationBroadcasterSupport.java \ classpath/javax/management/NotificationEmitter.java \ classpath/javax/management/NotificationFilter.java \ +classpath/javax/management/NotificationFilterSupport.java \ classpath/javax/management/NotificationListener.java \ classpath/javax/management/ObjectInstance.java \ classpath/javax/management/ObjectName.java \ classpath/javax/management/OperationsException.java \ +classpath/javax/management/PersistentMBean.java \ +classpath/javax/management/Query.java \ +classpath/javax/management/QueryEval.java \ classpath/javax/management/QueryExp.java \ classpath/javax/management/ReflectionException.java \ classpath/javax/management/RuntimeErrorException.java \ @@ -5296,6 +5358,7 @@ classpath/javax/management/RuntimeMBeanException.java \ classpath/javax/management/RuntimeOperationsException.java \ classpath/javax/management/ServiceNotFoundException.java \ classpath/javax/management/StandardMBean.java \ +classpath/javax/management/StringValueExp.java \ classpath/javax/management/ValueExp.java javax_management_header_files = $(patsubst classpath/%,%,$(patsubst %.java,%.h,$(javax_management_source_files))) @@ -5306,6 +5369,7 @@ javax_management_loading_header_files = $(patsubst classpath/%,%,$(patsubst %.ja javax_management_openmbean_source_files = \ classpath/javax/management/openmbean/ArrayType.java \ classpath/javax/management/openmbean/CompositeData.java \ +classpath/javax/management/openmbean/CompositeDataInvocationHandler.java \ classpath/javax/management/openmbean/CompositeDataSupport.java \ classpath/javax/management/openmbean/CompositeType.java \ classpath/javax/management/openmbean/InvalidKeyException.java \ @@ -7423,6 +7487,7 @@ all_packages_source_files = \ java/security/spec.list \ java/sql.list \ java/text.list \ + java/text/spi.list \ java/util.list \ java/util/concurrent.list \ java/util/concurrent/atomic.list \ @@ -7431,8 +7496,10 @@ all_packages_source_files = \ java/util/logging.list \ java/util/prefs.list \ java/util/regex.list \ + java/util/spi.list \ java/util/zip.list \ javax/accessibility.list \ + javax/activity.list \ javax/crypto.list \ javax/crypto/interfaces.list \ javax/crypto/spec.list \ @@ -7670,6 +7737,7 @@ ordinary_header_files = \ $(java_security_spec_header_files) \ $(java_sql_header_files) \ $(java_text_header_files) \ + $(java_text_spi_header_files) \ $(java_util_header_files) \ $(java_util_concurrent_header_files) \ $(java_util_concurrent_atomic_header_files) \ @@ -7678,8 +7746,10 @@ ordinary_header_files = \ $(java_util_logging_header_files) \ $(java_util_prefs_header_files) \ $(java_util_regex_header_files) \ + $(java_util_spi_header_files) \ $(java_util_zip_header_files) \ $(javax_accessibility_header_files) \ + $(javax_activity_header_files) \ $(javax_crypto_header_files) \ $(javax_crypto_interfaces_header_files) \ $(javax_crypto_spec_header_files) \ @@ -7794,6 +7864,7 @@ property_files = \ classpath/resource/org/ietf/jgss/MessagesBundle.properties \ classpath/resource/sun/rmi/rmic/messages.properties \ classpath/resource/com/sun/tools/javac/messages.properties \ + classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory \ classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \ classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \ @@ -8002,6 +8073,7 @@ gnu/java/lang/management/natVMGarbageCollectorMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.cc \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.cc \ +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.cc \ gnu/java/lang/management/natVMRuntimeMXBeanImpl.cc \ gnu/java/lang/management/natVMThreadMXBeanImpl.cc \ gnu/java/net/natPlainDatagramSocketImpl.cc \ @@ -8443,6 +8515,9 @@ gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo: \ gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo: \ gnu/java/lang/management/$(am__dirstamp) \ gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) +gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo: \ + gnu/java/lang/management/$(am__dirstamp) \ + gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo: \ gnu/java/lang/management/$(am__dirstamp) \ gnu/java/lang/management/$(DEPDIR)/$(am__dirstamp) @@ -8930,6 +9005,8 @@ mostlyclean-compile: -rm -f gnu/java/lang/management/natVMMemoryManagerMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.$(OBJEXT) -rm -f gnu/java/lang/management/natVMMemoryPoolMXBeanImpl.lo + -rm -f gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.$(OBJEXT) + -rm -f gnu/java/lang/management/natVMOperatingSystemMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.$(OBJEXT) -rm -f gnu/java/lang/management/natVMRuntimeMXBeanImpl.lo -rm -f gnu/java/lang/management/natVMThreadMXBeanImpl.$(OBJEXT) @@ -9115,6 +9192,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryManagerMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMMemoryPoolMXBeanImpl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMOperatingSystemMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMRuntimeMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/lang/management/$(DEPDIR)/natVMThreadMXBeanImpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gnu/java/net/$(DEPDIR)/natPlainDatagramSocketImpl.Plo@am__quote@ @@ -11254,6 +11332,12 @@ java/text.list: $(java_text_source_files) -include java/text.deps +java/text/spi.list: $(java_text_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/text/spi/*.class > java/text/spi.list + +-include java/text/spi.deps + java/util.list: $(java_util_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/java/util/*.class > java/util.list @@ -11302,6 +11386,12 @@ java/util/regex.list: $(java_util_regex_source_files) -include java/util/regex.deps +java/util/spi.list: $(java_util_spi_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/java/util/spi/*.class > java/util/spi.list + +-include java/util/spi.deps + java/util/zip.list: $(java_util_zip_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/java/util/zip/*.class > java/util/zip.list @@ -11314,6 +11404,12 @@ javax/accessibility.list: $(javax_accessibility_source_files) -include javax/accessibility.deps +javax/activity.list: $(javax_activity_source_files) + @$(mkinstalldirs) $(dir $@) + echo $(srcdir)/classpath/lib/javax/activity/*.class > javax/activity.list + +-include javax/activity.deps + javax/crypto.list: $(javax_crypto_source_files) @$(mkinstalldirs) $(dir $@) echo $(srcdir)/classpath/lib/javax/crypto/*.class > javax/crypto.list diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index cf778b4a090..87a79568ab7 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -29,37 +29,833 @@ (unregisterMBean): Likewise. (notify): New method. +2007-04-23 Mark Wielaard + + * configure.ac (VERSION): Set to 0.95. + +2007-04-23 Mark Wielaard + + * NEWS: Add new 0.95 features. + +2007-04-23 Jeroen Frijters + + PR classpath/31646: + * java/util/Arrays.java (qsort): Corrected initial median calculation. + +2007-04-19 Andrew John Hughes + + * m4/acinclude.m4 + (CLASSPATH_FIND_JAVAC): Allow detected JAVAC. + +2007-04-19 Casey Marshall + + PR classpath/31626: + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + (createSocket): New method. + +2007-04-17 Andrew John Hughes + + * native/jni/java-net/local.c: + Fix import of FIONREAD. + * native/jni/java-nio/gnu_java_nio_VMChannel.c, + * native/jni/native-lib/cpnet.c: + Likewise. + +2007-04-16 Dalibor Topic + + * configure.ac (AM_PROG_CC_C_O): Added to fix automake 1.10 + warning. + +2007-04-16 Dalibor Topic + + * native/plugin/Makefile.am (libgcjwebplugin_la_LDFLAGS): + Added AM_LDFLAGS for automake 1.10. + +2007-04-15 Dalibor Topic + + * depcomp, install-sh, missing, mkinstalldirs, + doc/texinfo.tex: Removed files generated by autogen.sh. + + * .cvsignore: Ignore generated files depcomp, install-sh, + missing, mkinstalldirs. + + * doc/.cvsignore: Ignore generated file doc/texinfo.tex. + +2007-04-15 Dalibor Topic + + * native/jni/java-lang/Makefile.am (libjavalang_la_LIBADD): + Fix portability warnings from automake 1.10. + +2007-04-15 Dalibor Topic + + * Makefile.am (EXTRA_DIST): Add ChangeLog-2006. + +2007-04-15 Dalibor Topic + + * native/target/.cvsignore: Removed. + +2007-04-15 Roman Kennke + + * native/target/Linux/.cvsignore, + * native/target/generic/.cvsignore: Removed. + +2007-04-15 Dalibor Topic + + * doc/Makefile.am: Fix portability warnings from + automake 1.10. + +2007-04-15 Dalibor Topic + + * doc/cp-hacking.texinfo: Updated with information from + INSTALL file. Removed duplicate and outdated information. + Updated compiler information. Fixed versioning information + where entries diverged. Turned command, option, file and + URL strings into proper texinfo elements. + +2007-04-15 Dalibor Topic + + * configure.ac: Added support for Iceape libraries as + a substitute for Mozilla for Debian. + +2007-04-17 Tom Tromey + + https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236614 + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + (createSocket): Change order of delegation. + +2007-04-17 Casey Marshall + + PR classpath/31302: + * gnu/javax/net/ssl/provider/SSLSocketImpl.java (SSLSocketImpl): + Always make a new socket. + (bind, connect, getInetAddress, getLocalAddress, getPort, + getLocalPort, getRemoteSocketAddress, getLocalSocketAddress, + setTcpNoDelay, getTcpNoDelay, setSoLinger, getSoLinger, + setOOBInline, getOOBInline, setSoTimeout, getSoTimeout, + setSendBufferSize, getSendBufferSize, setReceiveBufferSize, + getReceiveBufferSize, setKeepAlive, getKeepAlive, setTrafficClass, + getTrafficClass, setReuseAddress, getReuseAddress, close, + shutdownInput, shutdownOutput, isConnected, isBound, isClosed, + isInputShutdown, isOutputShutdown): Always use + 'underlyingSocket'. + +2007-04-16 Mark Wielaard + + Fixes bug #31590 + * java/net/URI.java (parseServerAuthority): Allow empty portStr. + +2007-04-16 Chris Burdess + + * gnu/xml/stream/XMLParser.java: Work around a problem with + incorrectly formatted file URLs. + +2007-04-11 Christian Thalinger + + * configure.ac: Added AC_C_INLINE. + +2007-04-12 Christian Thalinger + + * LICENSE: Added m4/ax_func_which_gethostbyname_r.m4 license. + * configure.ac: Added AX_FUNC_WHICH_GETHOSTBYNAME_R check. + * m4/ax_func_which_gethostbyname_r.m4: New file. + * native/jni/native-lib/cpnet.c (cpnet_getHostByName): Check for + different number of arguments of gethostbyname_r. + +2007-04-11 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): Avoid + unneeded object reference. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getFontMetrics): Unlock font. + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Remove redundant + checks. + +2007-04-11 Christian Thalinger + + * native/jni/native-lib/cpproc.c (cpproc_forkAndExec): Fixed + warning on some compilers, e.g. MIPSpro. + +2007-04-11 Christian Thalinger + + * native/jni/java-nio/javanio.c: Include fcntl.h instead of + sys/fcntl.h. + +2007-04-12 Mark Wielaard + + * gnu/java/awt/peer/ClasspathFontPeer.java (LRUCache): New static + inner class. + (transCache): New static LRUChache field. + (copyTransformToAttrs): Check whether a TransformAttribute already + exists in the transCache for the given AffineTransform. + +2007-04-12 Mark Wielaard + + * configure.ac (COMPILE_GTK_PEER): Add check for cairo >= 1.1.8. + +2007-04-09 Andrew John Hughes + + * javax/management/ObjectName.java: + (parse(String)): Catch multiple wildcards, + initialise with an empty string (so null isn't + appended), and emit comma even when wildcard + ends the list. + (checkComponents()): Catch newlines. + (quote(String)): Handle newlines and quotes + correctly. + +2007-04-10 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initFromVolatile): + Destroy surface after it is used to create a cairo context. + +2007-04-09 Francis Kung + + PR 31311 + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (dispose): Removed method. + (disposeSurface): Removed method. + * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surfac +e + after it is used to create a cairo context. + + +2007-04-07 Andrew John Hughes + + * javax/management/ObjectName.java: + (parse(String)): Fix result of getKeyPropertyListString(). + +2007-04-07 Mark Wielaard + + * resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactor, + resource/META-INF/services/javax.xml.parsers.SAXParserFactory, + resource/META-INF/services/javax.xml.parsers.TransformerFactory, + resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory, + resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList, + resource/META-INF/services/org.xml.sax.driver: Removed. + +2007-04-07 Andrew John Hughes + + * javax/management/ObjectName.java + (parse(String)): Fix parsing where the wildcard + is juxtaposed between other pairs. + +2007-04-06 Mark Wielaard + + * configure.ac (VERSION): Set to 0.95-rc. + +2007-04-06 Andrew John Hughes + + * javax/management/MBeanAttributeInfo.java: + (serialVersionUID): Added. + * javax/management/MBeanFeatureInfo.java: + (writeObject(ObjectOutputStream)): Added for + later 1.6 support. + * javax/management/Notification.java: + (serialVersionUID): Added. + (Notification(String,Object,long,long)): Make + default message the empty string not null. + (Notification(String,Object,long,long,String)): + Set source explicitly. + (writeObject(ObjectOutputStream)): Added to match + Sun. + +2007-04-06 Andrew John Hughes + + * java/util/Hashtable.java: + (putAllInternal(Map)): Remove redundant semi-colon. + +2007-04-06 Mark Wielaard + + * lib/mkcollections.pl.in: Add externalclasses. + * java/util/Collections.java: Unroll enhanced for loops. + * java/util/HashMap.java: Likewise. + * java/util/Hashtable.java: Likewise. + * java/util/TreeMap.java: Likewise. + +2007-04-06 Andrew John Hughes + + * gnu/javax/management/Translator.java: + (getTypeName(type)): Move type name creation to its own method. + * javax/management/ObjectName.java: + (WILDCARD): Added. + +2007-04-04 Andrew Haley + + * javax/management/ObjectName.java: + (serialVersionUID): Declare. + Make all fields transient. + (parse): Break out from constructor. + (writeObject, readObject): New methods. + +2007-04-05 Francis Kung + + * include/Makefile.am: Remove old entry. + +2007-04-05 Francis Kung + + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createDragGestureRecognizer): Remove failing subClass call. + +2007-04-05 Gary Benson + + * java/util/GregorianCalendar.java + (computeFields): Fix WEEK_OF_MONTH calculation. + +2007-04-05 Christian Thalinger + + PR classpath/22800: + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) + (doubleToRawLongBits, longBitsToDouble): Swap the byte + ordering for little-endian arms without VFP. + +2007-04-05 Christian Thalinger + + * native/jni/java-net/java_net_VMNetworkInterface.c + [HAVE_IFADDRS_H && HAVE_GETIFADDRS] (free_netif_list): Added + #ifdef. + (getVMInterfaces): Added UNUSED argument attribute. + +2007-04-05 Christian Thalinger + + * native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c, + native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c + [HAVE_ICONV] (createRawData, getData, infid, outfid): Added + #ifdef. + (openIconv): Added UNUSED argument attribute, so we can build with + -Werror. + (decode): Likewise. + (closeIconv): Likewise. + +2007-04-05 Mark Wielaard + + * autogen.sh: Recognize automake 1.10. + * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-portability. + * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add AM_LDFLAGS. + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): Likewise. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): Likewise. + * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): Likewise. + * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): Likewise. + * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Likewise. + +2007-04-04 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (cp_gtk_image_get_pixbuf): Return NULL when pointer is NULL. + * gnu/java/awt/peer/gtk/GtkImage.java (setImage): Set loaded and + call deliver() after pixels have been set. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (setIconImage): Only + set icon when image has been properly loaded. + 2007-04-04 Francis Kung + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): Made protected. * gnu/java/awt/peer/gtk/ComponentGraphics.java (cairoDrawGlyphVector): Removed method. (cairoSetFont): Removed method. (disposeNative): Removed method. + (drawCairoSurface): New method. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Added locking. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont): Added locking. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Added locking. -2007-04-27 Keith Seitz +2007-04-04 Gary Benson - * gnu/classpath/jdwp/event/EventManager.java - (getEventRequest): Rename to... - (getEventRequests): ...this. - Change return type to array of requests. - Construct a list of all matching events and return - them all. - * gnu/classpath/jdwp/Jdwp.java (notify): Use getEventRequests - and send event notifications for all matching requests. + * java/util/GregorianCalendar.java + (GregorianCalendar(TimeZone, Locale)): Remove redundant complete(). -2007-04-27 Keith Seitz +2007-04-04 Roman Kennke - * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java - (matches): Use Location.equals to determine equality. - * gnu/classpath/jdwp/VMMethod.java (equals): - New method. - * gnu/classpath/jdwp/util/Location.java (equals): - New method. + * java/nio/channels/spi/SelectorProvider.java + (inheritedChannel): Make method concrete and move default impl + to here. Perform security checks as mandated by the spec. + * gnu/java/nio/SelectorProviderImpl.java + (inheritedChannel): Removed. Default impl is in SelectorProvider. + +2007-04-04 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (init_glib_threads): Create global reference on lock object. + +2007-04-04 Roman Kennke + + * java/awt/Frame.java + (weakFrames): Make private. + (weakFramesQueue): New field. A reference queue to collect + GCed references. + (getFrames): Only do one iterations to avoid collecting null + references. + (hasDisplayableFrames): New helper method. Checks if there + are any displayable frames. This is used by the event queue + shutdown check. + (noteFrame): Clean up GCed frames in the list. + * java/awt/EventQueue.java + (isShutdown): Move frame checking code into Frame. + +2007-04-03 Roman Kennke + + * java/lang/System.java + (inheritedChannel): New method, wraps + SelectorProvider.inheritedChannel(). + * java/nio/channels/spi/SelectorProvider.java + (inheritedChannel): New abstract method. + * gnu/java/nio/SelectorProviderImpl.java + (inheritedChannel): New method, return null as default. + +2007-04-03 Roman Kennke + + * java/nio/ByteOrder.java + (nativeByteOrder): Let this fail when the corresponding + property is not set properly. + +2007-04-03 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (getPathBounds): Consider the tree's insets. Added a bunch of + null checks. + +2007-04-03 Roman Kennke + + * javax/swing/plaf/basic/BasicLabelUI.java + (cachedInsets): New field. Used for reusing the insets instance. + (getFontMetrics): New helper method for fetching a suitable + FontMetrics object. + (getPreferredSize): Use new helper method for font metrics. + (paint): Only do something if we have an icon or text. + Use cached Insets instance and new font metrics helper. + (paintDisabledText): Don't restore the graphics' color. + (paintEnabledText): Don't restore the graphics' color. + +2007-04-03 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (paintButtonPressed): Fill the whole button not only visibleRect. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (LAF_defaults): Removed. + (getDefaults): Always fetch super's defaults. + * javax/swing/plaf/metal/MetalMenuBarUI.java + (update): Don't leave 2 pixel gap. + +2007-04-03 Roman Kennke + + * native/target/.cvsignore, + * native/target/Linux/.cvsignore, + * native/target/generic/.cvsignore: Some new ignores. + +2007-04-03 Roman Kennke + + * gnu/java/awt/peer/gtk/GThreadMutex.java, + * gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java, + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c, + * native/jni/gtk-peer/gthread-jni.c, + * native/jni/gtk-peer/gthread-jni.h: Removed. + * native/jni/gtk-peer/Makefile.am: Removed obsolete entries + for removed files. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + Removed unused bits from gthread-jni.c. + +2007-04-03 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphs(int[], int[], long[])): Return void. + +2007-04-03 Kyle Galloway + + * gnu/classpath/jdwp/value/ArrayValue.java: New file. + +2007-04-03 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (global_lock): New global variable that holds the object reference + to the global GTK lock. + (init_glib_threads): Add lock argument. Use + gdk_threads_set_lock_functions to replace GTK's locking function + with two callbacks that allow reentrant locking, based on + JNI's MonitorEnter() and MonitorExit(). + (jni_lock_cb): New callback function for GTK locking. + (jni_unlock_cb): New callback function for GTK unlocking. + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Add lock argument. + Call init_glib_threads() with lock object. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h + Regenerated. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (GTK_LOCK): New static field. This is used as the global lock for + GTK. + (gtkInit): Add lock parameter. + (static_init): Initialize global lock and call gtkInit() with + that lock. + +2007-04-02 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (fontSet): Initialize to null. + (FreetypeGlyphVector(Font, int[], FontRenderContext)): Populate fontSet + array with default font if needed. + (FreetypeGlyphVector(FreetypeGlyphVector)): Clone all fields. + (getNativeFontPointer): New native method. + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer): + New function. + +2007-04-02 Francis Kung + + * INSTALL: Document known bug in at-spi, atk, and gail packages prior to + version 1.18.0. + +2007-04-02 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoDrawGlyphVector): Added parameter. + (drawGlyphVector): Retrieve and pass fontset parameter. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (cairoDrawGlyphVector): Added parameter. + (lock): Removed unnecessary cast. + (unlock): Removed unnecessary cast and explicitly set to ONE variable. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (fontSet): New field. + (dispose): New native method. + (finalize): New method. + (getGlyphFonts): New method. + (getGlyphOutline): Pass fontSet parameter to native method. + (getGlyphOutlineNative): Added parameter. + (getGlyphs): Pass extra parameters to native method. + (getGlyphsNative): Added parameters. + (getKerning): Added fontSet parameter. + (getMetricsNative): Added fontSet parameter. + (performDefaultLayout): Only check kerning if glyphs use the same font. + (setupGlyphMetrics): Pass extra parameters to native methods. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_awt_peer_gtk_FreetypGlyphVector.h: Regenerated. + * native/jni/gtk-peer/gdkfont.h: Enable pango engine. + (peerfont): Add variable for fontset. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Accept + array of font pointers to use when drawing glyphs. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getFontSet): New function. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose): New function. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative): + Added and use new fontSet parameter. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): Use pango + to retrieve glyphs and estimate font, if the current font does not contain + a requested glyph. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning): Added and use + new fontSet parameter. + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative): Added + and use new fontSet parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_dispose): Free fontset. + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Load fontset. + +2007-04-02 Andrew Haley + + * javax/management/ObjectName.java: Handle 0-length names. + * javax/management/MBeanServerFactory.java: Use the domain that + we've been passed, not the fixed string "DefaultDomain". + +2007-04-01 Mark Wielaard + + * org/omg/CORBA/DynAny.java: Mark as deprecated. + * org/omg/CORBA/DynArray.java: Likewise. + * org/omg/CORBA/DynEnum.java: Likewise. + * org/omg/CORBA/DynFixed.java: Likewise. + * org/omg/CORBA/DynSequence.java: Likewise. + * org/omg/CORBA/DynStruct.java: Likewise. + * org/omg/CORBA/DynUnion.java: Likewise. + * org/omg/CORBA/DynValue.java: Likewise. + * org/omg/CORBA/ORB.java (create_basic_dyn_any): Likewise. + (create_dyn_any): Likewise. + (create_dyn_array): likewise. + (create_dyn_enum): Likewise. + (create_dyn_sequence): Likewise. + (create_dyn_struct): Likewise. + (create_dyn_union): Likewise. + +2007-04-01 Andrew John Hughes + + * gnu/javax/management/Translator.java: + (fromJava(Object[],Method)): Use the array from the + parameter not the newly created one... + (fromJava(Object, Type)): Support MXBeans. + * javax/management/JMX.java: + (newMXBeanProxy(MBeanServerConnection,ObjectName,Class)): + Call newMXBeanProxy rather than newMBeanProxy. + * javax/management/StandardMBean.java: + (setAttribute(Attribute)): Use InvocationTargetException + as cause. + +2007-03-31 Jeroen Frijters + + PR classpath/31402: + * java/util/concurrent/CopyOnWriteArrayList.java + (remove): Fixed ArrayIndexOutOfBoundsException when index == 0. + +2007-03-30 Andrew John Hughes + + * javax/management/openmbean/CompositeDataInvocationHandler.java: + New file. + +2007-03-30 Kyle Galloway + + * gnu/classpath/jdwp/util/VariableTable.java: Make argCnt and slots ints. + (write): Replace writeLong with writeInt for above. + +2007-03-30 Tom Tromey + + PR libgcj/29869: + * gnu/java/util/jar/JarUtils.java (log): Commented out. + (readSFManifest): Don't log. + +2007-03-29 Tom Tromey + + PR libgcj/29869: + * java/util/logging/LogManager.java (readConfiguration): Handle + comma-separated 'handlers'. Don't try to add a non-existing + handler. + +2007-03-29 Keith Seitz + + * gnu/classpath/jdwp/event/ThreadStartEvent.java (Event): + Event type is "THREAD_START" not "THERAD_END". + + * gnu/classpath/jdwp/transport/SocketTransport.java (ITransport): + Handle configure strings ":port" and "port". + +2007-03-29 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Revert last patch. + +2007-03-29 Mark Wielaard + + * native/jni/java-nio/Makefile.am (LIBADD): Add libclasspathnative. + +2007-03-28 Andrew John Hughes + + * javax/management/StandardMBean.java: + (setAttribute(Attribute)): Add handling of primitive + types and subtype parameters. + (getMutator(String,Class)): New helper method to + return the mutator. + +2007-03-28 Roman Kennke + + * java/io/OutputStreamWriter.java, + * java/io/InputStreamReader.java: Revert big stream patch due to + problems. + +2007-03-28 Tom Tromey + + PR classpath/31303: + * external/sax/org/xml/sax/helpers/XMLReaderFactory.java + (createXMLReader): Code in Classpath default. + +2007-03-28 Tom Tromey + + PR classpath/31276: + * native/jni/java-lang/java_lang_VMDouble.c + (parseDoubleFromChars): Use %p, not %i. + +2007-03-28 Mark Wielaard + + * native/jni/java-nio/Makefile.am (LIBADD): Don't add + libclasspathnative. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_open): Don't set and reset umask. + +2007-03-27 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit): Prevent loading of + accessibility modules as temporary workaround for Gnome bug. + +2007-03-27 Kyle Galloway + + * gnu/classpth/jdwp/processor/ThreadReferenceCommandSet.java + (executeResume): Change to call VMVirtualMachine.resumeThread. + +2007-03-27 Roman Kennke + + * java/io/InputStreamReader.java + (BUFFER_SIZE): New constant. + (bytesCache): Removed. + (cacheLock): Removed. + (hasSavedSurrogate): Removed. + (lastArray): New field. Used for caching CharBuffers. + (lastBuffer): New field. Used for caching CharBuffers. + (maxBytesPerChar): Removed. + (oneChar): New field. Caches a char array for read(). + (savedSurrogate): New field. + (InputStreamReader): (all constructors) Cleaned up. + Use initDecoderAndBuffer() method. Check for null parameters. + Use new EncodingHelper.getDefaultCharset() for fetching the + default charset. + (decode): New helper method. Decodes using the NIO decoder or + using a raw Latin1 decoding. + (getCharBuffer): New helper method. Implements caching of + CharBuffers for output arrays. + (initDecoderAndBuffer): New helper method. Initializes the decoder + and input buffer. + (read): Use cached array. + (read(char[],int,int)): Reworked using a cleaner NIO based + implementation. This decodes the incoming data in bigger chunks + rather then calling the decoder for each character. + (ready): Also check the input buffer. + (refillInputBuffer): New helper methods. Refills the input buffer + when it runs out of data. + * java/io/OutputStreamWriter.java + (lastArray): Implements caching of the output array buffer. + (lastBuffer): Implements caching of the output array buffer. + (oneChar): New field. Caches a char array for write(). + (outputBuffer): Make this a ByteBuffer. + (OutputStreamWriter): (all constructors) Cleaned up. + Use initEncoderAndBuffer() method. Check for null parameters. + Use new EncodingHelper.getDefaultCharset() for fetching the + default charset. + (encode): New helper method. Encodes the input buffer to the output + buffer using either the NIO encoder or a raw Latin1 encoding. + (encodeChars): New helper method. The encoding loop. + (flush): Directly use the array of the output buffer. + (getCharBuffer): New helper method. Implements caching of the + output buffer. + (initEncoderAndBuffer): New helper method for initialization. + (write(char[],int,int)): Reworked to make better use of the NIO + encoders. + (write): Use cached array. + (write(String,int,int)): Don't copy the string but rather wrap it + and handle it the same as the wrapped char array. + (writeConvert): Removed. + * gnu/java/nio/charset/EncodingHelper.java + (getDefaultCharset): New method. Returns the default charset for + the case when the file.encoding charset is not valid. This + always returns an UTF8 codec. + +2007-03-27 Roman Kennke + + * java/awt/Frame.java + (weakFrames): Make this generic and package private. + (noteFrame): Use generic WeakReference. + * java/awt/EventQueue.java + (isShutdown): Iterate over the weakFrames directly, rather than + using Frame.getFrames(). The latter iterates several times over + weakFrames completely and creates a new array on each call. The + former iterates only once and aborts when it finds a frame which + is displayable. + +2007-03-27 Roman Kennke + + * javax/swing/JScrollBar.java + (getUnitIncrement(int)): Don't multiply direction parameter. + (getBlockIncrement(int)): Don't multiply direction parameter. + +2007-03-26 Tom Tromey + + * doc/cp-tools.texinfo (gcjh Tool): Added more text. + (rmid Tool): Likewise. + +2007-03-26 Stepan Kasal + + * tools/gnu/classpath/tools/javah/Main.java (cniOrJniSeen): New + field. + (getParser): Use new field. + +2007-03-25 Dalibor Topic + + * doc/cp-tools.texinfo: Fix node ordering. + +2007-03-19 Matthias Klose + + * doc/Makefile.am: Build a gcjh(1) man page. + * doc/cp-tools.texinfo: Add documentation for gcjh. + +2007-03-23 Jeroen Frijters + + * java/net/ServerSocket.java (implAccept): set implCreated flag on + socket. + * java/net/Socket.java (implCreated): Make package accessible for + ServerSocket. + +2007-03-22 Casey Marshall + + * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): + check keyEncipherment bit of the certificate, and just pass the public + key to the cipher. + +2007-03-20 Mario Torre + + * configure.ac: GConf requirement for building the java.util.prefs backend + are relaxed down to version 2.6.0 (instead of 2.11.2). + +2007-03-19 Mario Torre + + * gnu/java/awt/peer/KDEDesktopPeer.java: + (mail): Fixed error dialog in KDE when the mail method is called without + argument; now opens the default mailer with a blank window. + (getCommand): Handle the use of kprinter as default print command for KDE. + (supportCommand): Enable the print command when a KDE desktop is detected. + +2007-03-19 Jeroen Frijters + + * java/net/Socket.java + (implCreated): New field. + (getImpl): Call impl.create() if it hasn't been called yet. + (bind): Removed explicit impl.create() call. + +2007-03-18 Mark Wielaard + + * javax/crypto/CipherOutputStream.java (write): Use out.write() + not super.write(). + +2007-03-18 Mark Wielaard + + * configure.ac (COMPILE_PLUGIN): Check for gtk+-2.0 >= 2.8 + gthread-2.0 >= 2.2 and gdk-pixbuf-2.0 + +2007-03-16 Tom Tromey + + * tools/gnu/classpath/tools/javah/Main.java (run): Use class' + name in File case. + +2007-03-16 Thomas Fitzsimmons + + * resource/com/sun/tools/javac/messages.properties + (Main.FailedToRead, Main.MalformedURL, Main.FailedToLoad): Clarify + messages for when --with-ecj-jar is not specified. + + * configure.ac (FOUND_ECJ_JAR): Remove conditional. + * tools/Makefile.am: Build com.sun.tools.javac package + unconditionally. + +2007-03-16 Mark Wielaard + + * configure.ac (COMPILE_PLUGIN): Stop when no plugin headers found. + Also check for gtk+ dependency. + +2007-03-16 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniStubPrinter.java + (printClass): Added filename argument. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (printClass): Added filename argument. + * tools/gnu/classpath/tools/javah/CniIncludePrinter.java + (printClass): Use user's file name. + * tools/gnu/classpath/tools/javah/CniStubPrinter.java + (printClass): Use user's file name. + * tools/gnu/classpath/tools/javah/Printer.java (printClass): Added + filename argument. + * tools/gnu/classpath/tools/javah/Main.java (getParser): Fix '-v' + argument order. + (writeHeaders): Use a HashMap. + (run): Put class name into HashMap for writeHeaders. 2007-03-16 Francis Kung @@ -137,9 +933,7 @@ (lock): Added documentation. (unlock): Added documentation. * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * lib/gnu/java/awt/peer/gtk/ComponentGraphics.class: Regenerated. - * lib/gnu/java/awt/peer/gtk/CairoGraphics2D.class: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawLine): Removed. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawRect): Removed. @@ -149,139 +943,44 @@ (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelLineTo): Removed. (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRelMoveTo): Removed. -2007-04-23 Jeroen Frijters +2007-03-11 Andrew John Hughes - PR classpath/31646: - * java/util/Arrays.java (qsort): Corrected initial median calculation. + * javax/management/openmbean/ArrayType.java: + (getArrayClassName(String, int)): Replaced by... + (getArrayClassName(OpenType, int, boolean)): + Returns appropriate class name for the array. + (getDimensions(OpenType, int)): New method. + (getPrimitiveType(Class)): Likewise. + (getPrimitiveTypeClass(OpenType)): Likewise. + (getElementType(OpenType)): Likewise. + (getElementTypeName(OpenType)): Likewise. + (ArrayType(int, OpenType)): Rewritten + to handle ArrayTypes as input. + (ArrayType(SimpleType, boolean)): New constructor. + (equals(Object)): Handle primitiveArray flag. + (hashCode()): Likewise. + (getArrayType(OpenType)): New method. + (getPrimitiveArrayType(Class)): Likewise. + (isPrimitiveArray()): Likewise. + (toString()): Updated to list primitiveArray + flag. + * javax/management/openmbean/OpenType.java: + (OpenType(String,String,String)): Use Class.forName() + and methods of Class to validate arrays. + * javax/management/openmbean/SimpleType.java: + Include causal exception when creating pre-defined types + throws an exception. + +2007-03-09 Andreas Tobler -2007-04-19 Casey Marshall + Port change from gcc: - PR classpath/31626: - * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java - (createSocket): New method. + 2007-03-06 Matthias Klose -2007-04-18 Tom Tromey + * doc/Makefile.am(gkeytool.pod): Don't use sed -i. - * tools/gnu/classpath/tools/javah/MethodHelper.java (print): - Changed arguments. Directly print method name. - * tools/gnu/classpath/tools/javah/ClassWrapper.java - (methodNameMap): New field. - (makeVtable): Initialize it. - (printMethods): Compute name for bridge targets. +2007-03-09 Kyle Galloway -2007-04-17 Andrew Haley - - * gnu/java/rmi/server/UnicastConnectionManager.java - (UnicastConnectionManager(int port, RMIServerSocketFactory)): - Listen on "localhost", not localhost. - -2007-04-17 Francis Kung - - PR classpath/31311 - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (dispose): Removed method. - (disposeSurface): Removed method. - * gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): Removed. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Destroy surface - after it is used to create a cairo context. - -2007-04-16 Tom Tromey - - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=236614 - * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java - (createSocket): Change order of delegation. - -2007-04-16 Andrew Haley - - * java/io/ObjectInputStream.java: (parseContent): Call (String, - Object) version of dumpElementln. - (dumpElementln(String, Object)): New method. - * java/io/ObjectOutputStream.java (writeObject): Call (String, - Object) version of dumpElementln. - (dumpElementln(String, Object)): New method. - -2007-04-16 Andrew John Hughes - - * javax/management/ObjectName.java: - (parse(String)): Catch multiple wildcards, - initialise with an empty string (so null isn't - appended), and emit comma even when wildcard - ends the list. - (checkComponents()): Catch newlines. - (quote(String)): Handle newlines and quotes - correctly. - -2007-04-16 Andrew Haley - - * org/omg/IOP/TaggedComponentHelper.java (read): Use - read_octet_array(), not read(). - (write): Use write_octet_array(), not write(). - - * org/omg/PortableServer/Servant.java (_get_delegate): Throw if no - delegate has been set. - - * javax/management/ObjectName.java serialVersionUID: Declare. - Make all fields transient. - (parse): Break out from constructor. - (writeObject, readObject): New methods. - -2007-04-02 Keith Seitz - - * gnu/classpath/jdwp/event/ThreadStartEvent.java (Event): - Event type is "THREAD_START" not "THREAD_END". - - * gnu/classpath/jdwp/transport/SocketTransport.java (ITransport): - Handle configure strings ":port" and "port". - -2007-03-30 Andrew Haley - - * javax/management/ObjectName.java: Handle 0-length names. - -2007-03-27 Andrew Haley - - * javax/management/MBeanServerFactory.java: Use the domain that - we've been passed, not the fixed string "DefaultDomain". - -2007-03-29 Tom Tromey - - PR libgcj/29869: - * gnu/java/util/jar/JarUtils.java (log): Commented out. - (readSFManifest): Don't log. - -2007-03-28 Casey Marshall - - * gnu/javax/net/ssl/provider/ClientHandshake.java (RSAGen.implRun): - check keyEncipherment bit of the certificate, and just pass the public - key to the cipher. - -2007-03-27 Casey Marshall - - PR classpath/31302: - * gnu/javax/net/ssl/provider/SSLSocketImpl.java (SSLSocketImpl): - Always make a new socket. - (bind, connect, getInetAddress, getLocalAddress, getPort, - getLocalPort, getRemoteSocketAddress, getLocalSocketAddress, - setTcpNoDelay, getTcpNoDelay, setSoLinger, getSoLinger, - setOOBInline, getOOBInline, setSoTimeout, getSoTimeout, - setSendBufferSize, getSendBufferSize, setReceiveBufferSize, - getReceiveBufferSize, setKeepAlive, getKeepAlive, setTrafficClass, - getTrafficClass, setReuseAddress, getReuseAddress, close, - shutdownInput, shutdownOutput, isConnected, isBound, isClosed, - isInputShutdown, isOutputShutdown): Always use - 'underlyingSocket'. - -2007-03-27 Tom Tromey - - PR classpath/31303: - * external/sax/org/xml/sax/helpers/XMLReaderFactory.java - (createXMLReader): Code in Classpath default. - -2007-03-27 Keith Seitz - - Merged from upstream: - 2007-03-09 Kyle Galloway * gnu/classpath/jdwp/exception/InvalidTagException.java: New file. * gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java (executeGetValues): Use Value type. @@ -298,8 +997,8 @@ * gnu/classpath/jdwp/processor/StackFrameCommandSet.java (executeGetValues): Use Value type. (executeSetValues): Ditto. - * gnu/classpath/jdwp/util/MethodResult.java: Add resType to store - return type. + * gnu/classpath/jdwp/util/MethodResult.java: Add resType to store return + type. (getResultType): New Method. (setResultType): Ditto. * gnu/classpath/jdwp/util/Value.java: Remove. @@ -318,7 +1017,156 @@ * gnu/classpath/jdwp/value/ValueFactory.java: New file. * gnu/classpath/jdwp/value/VoidValue.java: New file. - 2007-02-28 Keith Seitz +2007-03-09 Roman Kennke + + * java/awt/image/SinglePixelPackageSampleModel.java + (createDataBuffer): Avoid use of Buffers class and create + DataBuffer directly in place. + +2007-03-09 Roman Kennke + + * java/awt/image/ComponentSampleModel.java + (tightPixelPacking): Removed. + (ComponentSampleModel): Removed unnecessary 'optimization' code. + (createDataBuffer): Avoid use of Buffers helper class. + (getDataElements(int,int,int,int,Object,DataBuffer): Removed. + (getDataElements(int,int,Object,DataBuffer): Do not use Buffers + helper class and instead fetch the values directly. Don't expect + any specific DataBuffer subclass. + (setDataElements(int,int,int,int,Object,DataBuffer): Removed. + (setDataElements(int,int,Object,DataBuffer): Do not use Buffers + helper class and instead set the values directly. Don't expect + any specific DataBuffer subclass. + +2007-03-08 Tom Tromey + + PR libgcj/31093: + * java/net/MulticastSocket.java (setTimeToLive): Allow ttl==0. + +2007-03-08 Gary Benson + + PR classpath/30983: + * gnu/xml/dom/ls/DomLSParser.java (getInputSource): + Do not use the entity resolver to resolve the top-level document. + +2007-03-07 Tom Tromey + + PR classpath/31057: + * java/util/regex/Pattern.java (toString): New method. + +2007-03-07 Gary Benson + + PR classpath/30906: + * resource/META-INF/services/org.w3c.dom.DOMImplementationSourceList: + New file. + +2007-03-06 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Add horrible generics hacks + to make things work with the new type signatures. + * javax/management/loading/ClassLoaderRepository.java: + Added generic types. + * javax/management/openmbean/CompositeDataSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanOperationInfo.java: + Likewise. + * javax/management/openmbean/OpenMBeanParameterInfo.java: + Likewise. + +2007-03-06 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphOutline): Apply glyph position translation. + (getOutline): Do not apply glyph position translation. + +2007-03-06 Tom Tromey + + * tools/gnu/classpath/tools/javah/Main.java (getName): New + method. + (getParser): Now protected. Use getName. Add '-v' alias for + --verbose. + (postParse): New method. + (run): Now protected. Use postParse. + * tools/gnu/classpath/tools/javah/GcjhMain.java: New file. + +2007-03-05 Andrew John Hughes + + * gnu/javax/management/Translator.java: + (translate(String)): Use a Boolean array to + comply with the new typing. + * javax/management/openmbean/ArrayType.java: + Added generic types and updated copyright headers. + * javax/management/openmbean/CompositeData.java: + Likewise. + * javax/management/openmbean/CompositeDataSupport.java: + Likewise. + * javax/management/openmbean/CompositeType.java: + Likewise. + * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + Likewise. + * javax/management/openmbean/OpenType.java: + Updated copyright header. + * javax/management/openmbean/SimpleType.java: + Added generic types and updated copyright headers. + * javax/management/openmbean/TabularData.java: + Likewise. + * javax/management/openmbean/TabularDataSupport.java: + Likewise. + * javax/management/openmbean/TabularType.java: + Likewise. + +2007-03-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + Reference the new Translator class. + (translate(String)): Moved to Translator. + * gnu/javax/management/Translator.java: + New file. + * javax/management/JMX.java: + Likewise. + * javax/management/MBeanServerInvocationHandler.java: + Likewise. + * javax/management/MXBean.java: + Likewise. + * javax/management/ObjectName.java: + (ObjectName(String)): Catch a key without a value. + * javax/management/StandardMBean.java: + (StandardMBean(Class)): Handle MXBeans. + (StandardMBean(Object, Class)): Likewise. + (invoke(String,Object[],String[])): Disallow + calling attribute methods and handle null signatures. + (setAttribute(Attribute)): Search for mutators + with the appropriate signature. + * javax/management/openmbean/OpenType.java: + Add generic typing. + (ALLOWED_CLASSNAMES_LIST): New field. + +2007-03-02 Mario Torre + + PR classpath/31017: + committed for Petteri Räty + * configure.ac: fix broken build for gcj browser plugin + +2007-03-02 Mario Torre + + * java/awt/Desktop.java: new java 1.6 class. + * java/awt/peer/DesktopPeer.java: new inteface. + * gnu/java/awt/peer/GnomeDesktopPeer.java: new class. + * gnu/java/awt/peer/ClasspathDesktopPeer.java: new class. + * gnu/java/awt/peer/KDEDesktopPeer.java: new class. + * java/awt/Toolkit.java (createDesktopPeer): new method to support the + creation of DesktopPeer instances. + * gnu/java/awt/peer/qt/QtToolkit.java: update copyright notice and + organize import. + * gnu/java/awt/ClasspathToolkit.java (createDesktopPeer): new method. + +2007-02-28 Keith Seitz + * gnu/classpath/jdwp/processor/EventRequestCommandSet.java (executeSet): Check if VM has capability for field access or modification events. @@ -366,7 +1214,67 @@ (getCurrentContendedMonitor): Likewise. (popFrames): Likewise. - 2007-02-28 Keith Seitz +2007-03-01 Roman Kennke + + * java/awt/Canvas.java + (graphicsConfiguration): Removed duplicate (from Component) field. + (Canvas(GraphicsConfiguration)): Set the Component's graphicsConfig + field. + (getGraphicsConfigurationImpl): Removed. + * java/awt/Component.java + (getGraphicsConfiguration): Moved implementation here. Synchronize + on tree lock to prevent threading nastiness. Don't query peer + and instead return the setting of the graphicsConfig field. + (getGraphicsConfigurationImpl): Removed. + * java/awt/Window.java + (graphicsConfiguration): Removed duplicate (from Component) field. + (Window): Set the Component's graphicsConfig field. + (Window(GraphicsConfiguration)): Set the Component's graphicsConfig + field. + (Window(Window,GraphicsConfiguration)): Set the Component's + graphicsConfig field. + (getGraphicsConfigurationImpl): Removed. + (getGraphicsConfiguration): Fetch the local graphics env here + if not already done and return that. + +2007-02-28 Thomas Fitzsimmons + + * INSTALL: Document --with-ecj-jar configure option and ecj jar + requirement for com.sun.tools.javac support. + * configure.ac: Add --with-ecj-jar configure option. + * gnu/classpath/Configuration.java.in (ECJ_JAR): New field. + * tools/Makefile.am: Build decendents of com and sun directories. + * resource/com/sun/tools/javac/messages.properties, + resource/sun/rmi/rmic/messages.properties, + tools/com/sun/javadoc/ClassDoc.java, + tools/com/sun/javadoc/ConstructorDoc.java, + tools/com/sun/javadoc/Doc.java, + tools/com/sun/javadoc/DocErrorReporter.java, + tools/com/sun/javadoc/Doclet.java, + tools/com/sun/javadoc/ExecutableMemberDoc.java, + tools/com/sun/javadoc/FieldDoc.java, + tools/com/sun/javadoc/MemberDoc.java, + tools/com/sun/javadoc/MethodDoc.java, + tools/com/sun/javadoc/PackageDoc.java, + tools/com/sun/javadoc/ParamTag.java, + tools/com/sun/javadoc/Parameter.java, + tools/com/sun/javadoc/ProgramElementDoc.java, + tools/com/sun/javadoc/RootDoc.java, + tools/com/sun/javadoc/SeeTag.java, + tools/com/sun/javadoc/SerialFieldTag.java, + tools/com/sun/javadoc/SourcePosition.java, + tools/com/sun/javadoc/Tag.java, + tools/com/sun/javadoc/ThrowsTag.java, + tools/com/sun/javadoc/Type.java, + tools/com/sun/javadoc/TypeVariable.java, + tools/com/sun/tools/doclets/Taglet.java, + tools/com/sun/tools/javac/Main.java, + tools/com/sun/tools/javac/Messages.java, + tools/sun/rmi/rmic/Main.java, tools/sun/rmi/rmic/Messages.java: + New files. + +2007-02-28 Keith Seitz + * gnu/classpath/jdwp/processor/MethodCommandSet.java (executeLineTable): Use ReferenceTypeId instead of ClassReferenceTypeId. @@ -381,123 +1289,45 @@ (executeSetValues): Likewise. (executeThisObject): Likewise. - 2007-02-28 Kyle Galloway +2007-02-28 Kyle Galloway + * gnu/classpath/jdwp/id/NullObjectId.java: New class. * gnu/classpath/jdwp/util/NullObject.java: New class. * vm/reference/gnu/classpath/jdwp/VMIdManager.java (getObjectId): Handle null object. (get): Handle objectId of 0. - 2007-02-22 Keith Seitz - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getAllLoadedClassesCount): Remove. - (getAllLoadedClasses): Return a Collection. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeClassesBySignature): VMVirtualMachine.getAllLoadedClasses - now returns Collection. - (executeAllClasses): Likewise. - Get size of return from Colleciton instead of calling - getAllLoadedClassesCount. +2007-02-26 Francis Kung - 2007-02-22 Kyle Galloway - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Pass a signature byte to VMFrame.getValue. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (getValue): Add - signature parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_setFont): Stop using deprecated + function for creating new font map. - 2007-02-02 Kyle Galloway - * gnu/classpath/jdwp/processor/StackFrameCommandSet.java - (executeGetValues): Changed getFrame to use a jlong to pass frameID. - (executeSetValues): Ditto. - (executeThisObject): Ditto. - * vm/reference/gnu/classpath/jdwp/VMFrame.java: Added thread field - and a constructor used to create VMFrames. - (getThread): New method. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java(getFrame): - Changed to take a long instead of a ByteBuffer to pass the frameID. +2007-02-26 Francis Kung - 2007-01-15 Kyle Galloway - * gnu/classpath/jdwp/exception/InvalidSlotException.java: New file. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): Do not reset clip. + (drawImage(Image,AffineTransform,Color,ImageObserver)): Likewise. -2007-03-26 Tom Tromey +2007-02-23 Francis Kung - * doc/cp-tools.texinfo (gcjh Tool): Added more text. - (rmid Tool): Likewise. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawCairoSurface): New method. + (drawImage(Image,AffineTransform,Color,ImageObserver)): Use new + drawCairoSurface() method. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): Copy correct + width/height values, and copy sharedBuffer value. + (createWritableChild): Remove debug line. + (drawSurface): Removed method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (drawComposite): Translate image when drawing. -2007-03-25 Dalibor Topic - - * doc/cp-tools.texinfo: Fix node ordering. - -2007-03-19 Matthias Klose - - * doc/Makefile.am: Build a gcjh(1) man page. - * doc/cp-tools.texinfo: Add documentation for gcjh. - -2007-03-26 Stepan Kasal - - * tools/gnu/classpath/tools/javah/Main.java (cniOrJniSeen): New - field. - (getParser): Use new field. - -2007-03-17 Thomas Fitzsimmons - - * resource/com/sun/tools/javac/messages.properties - (Main.FailedToRead, Main.MalformedURL, Main.FailedToLoad): Clarify - messages for when --with-ecj-jar is not specified. - * configure.ac (FOUND_ECJ_JAR): Remove conditional. - * tools/Makefile.am: Build com.sun.tools.javac package - unconditionally. - * configure, doc/api/Makefile.in, doc/Makefile.in, - examples/Makefile.in, external/jsr166/Makefile.in, - external/Makefile.in, external/relaxngDatatype/Makefile.in, - external/sax/Makefile.in, external/w3c_dom/Makefile.in, - include/Makefile.in, lib/Makefile.in, Makefile.in, - native/fdlibm/Makefile.in, native/jawt/Makefile.in, - native/jni/classpath/Makefile.in, - native/jni/gconf-peer/Makefile.in, - native/jni/gtk-peer/Makefile.in, native/jni/java-io/Makefile.in, - native/jni/java-lang/Makefile.in, native/jni/java-net/Makefile.in, - native/jni/java-nio/Makefile.in, native/jni/java-util/Makefile.in, - native/jni/Makefile.in, native/jni/midi-alsa/Makefile.in, - native/jni/midi-dssi/Makefile.in, - native/jni/native-lib/Makefile.in, native/jni/qt-peer/Makefile.in, - native/jni/xmlj/Makefile.in, native/Makefile.in, - native/plugin/Makefile.in, resource/Makefile.in, - scripts/Makefile.in, tools/Makefile.in: Regenerate. - * tools/classes/com/sun/tools/javac: New directory. - * tools/classes/com/sun/tools/javac/Main.class, - tools/classes/com/sun/tools/javac/Messages.class: New files. - -2007-03-16 Tom Tromey - - * tools/gnu/classpath/tools/javah/Main.java (run): Use class' - name in File case. - -2007-03-16 Tom Tromey - - * tools/gnu/classpath/tools/javah/JniStubPrinter.java - (printClass): Added filename argument. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (printClass): Added filename argument. - * tools/gnu/classpath/tools/javah/CniIncludePrinter.java - (printClass): Use user's file name. - * tools/gnu/classpath/tools/javah/CniStubPrinter.java - (printClass): Use user's file name. - * tools/gnu/classpath/tools/javah/Printer.java (printClass): Added - filename argument. - * tools/gnu/classpath/tools/javah/Main.java (getParser): Fix '-v' - argument order. - (writeHeaders): Use a HashMap. - (run): Put class name into HashMap for writeHeaders. - -2007-03-02 Mario Torre - - PR classpath/31017: - committed for Petteri Räty - * configure.ac: fix broken build for gcj browser plugin - -2007-02-20 Jakub Jelinek +2007-02-23 Gary Benson + Jakub Jelinek + PR libgcj/17002 + PR classpath/28550 * java/util/Date.java (parse): Properly parse 09:01:02 as hours/minutes/seconds, not as hours/minutes/year. * java/util/SimpleTimeZone.java (SimpleTimeZone): Simplify @@ -525,9 +1355,166 @@ (getAvailableIDs(int)): Add locking. Handle zoneinfo_dir != null. (getAvailableIDs(File,String,ArrayList)): New private method. (getAvailableIDs()): Add locking. Handle zoneinfo_dir != null. - * gnu/java/util/ZoneInfo.java: New file. + * vm/reference/java/util/VMTimeZone.java (getDefaultTimeZoneId): + To read /etc/localtime, use ZoneInfo.readTZFile instead of + VMTimeZone.readtzFile. Get better timezone name for + /etc/localtime, either if it is a symlink or through + /etc/sysconfig/clock. + (readSysconfigClockFile): New static method. + (readtzFile): Removed. + * gnu/java/util/ZoneInfo.java: New file. + * java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments. + * NEWS: Documented TimeZone interface changes. -2007-02-20 Matthias Klose +2007-02-23 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Remove debug line. + +2007-02-22 Keith Seitz + + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getAllLoadedClassesCount): Remove. + (getAllLoadedClasses): Return a Collection. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeClassesBySignature): VMVirtualMachine.getAllLoadedClasses + now returns Collection. + (executeAllClasses): Likewise. + Get size of return from Colleciton instead of calling + getAllLoadedClassesCount. + +2007-02-22 Kyle Galloway + + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Pass a signature byte to VMFrame.getValue. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (getValue): Add + signature parameter. + +2007-02-22 Francis Kung + + * gnu/java/awt/peer/gtk/CairoSurface.java + (copyAreaNative): Pass surface pointer into copyAreaNative2(). + (copyAreaNative2): Add parameter for surface pointer. + (getFlippedBuffer): Add parameter for surface pointer. + (getGtkImage): Pass surface pointer into getFlippedBuffer(). + +2007-02-21 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphcs.java + (constructor): Add pre-multiplied colour model to types available for + optimization. + (updateBufferedImage): Change surface.getPixels() call to surface.getData(). + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Add checks before using CairoSurface optimization. + * gnu/java/awt/peer/gtk/CairoSurface.java + (bufferPointer): Removed field. + (sharedBuffer): New field. + (CairoSurface(GtkImage)): Copy array rather than using setPixels() call. + (CairoSurface(int,int,int)): Use getData() convenience method. + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): Remove reference + to deleted bufferPointer field. + (copyAreaNative): Update documentation, remove reference to bufferPointer. + (copyAreaNative2): Remove reference to deleted bufferPointer field. + (destroy): Remove reference to deleted bufferPointer field. + (dispose): Updated to reflect new method signature for destroy(). + (drawSurface): Added documentation. + (getData): New convience method. + (getFlippedBuffer): Removed method parameters. + (getGtkImage): Updated to reflect new method signature. + (getPixels): Removed method. + (nativeGetElem): Removed method. + (netiveGetPixels): Removed method. + (nativeSetElem): Removed method. + (nativeSetPixels): Removed method. + (setPixels): Removed method. + (syncJavaToNative): New method. + (syncNativeToJava): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (draw): Sync buffers if necessary. + (drawGlyphVector): Likewise. + (drawImage): Likewise. + (drawRenderedImage): Likewise, + (fill): Likewise. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2): Use pointer to + surface rather than pointer to buffer. + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Provide fall-back for + copied arrays. + (Java_gnu_java_awt_peer_gtk_CairoSurface_destroy): Handle copied arrays. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer): Retrieve + information on size using JNI calls. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getElem): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setElem): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Removed. + (Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative): New function. + (Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava): New function. + (BUFFER): Removed constant. + (SHARED): New constant. + +2007-02-20 Gary Benson + + * javax/management/ObjectName.java + (domainMatches): New method. + (apply): Rearranged to use the above. + +2007-02-19 Mark Wielaard + + * doc/.cvsignore: Add *.1. + * doc/Makefile.am (CLEANFILES): Add Tools_MANFILES. + +2007-02-19 Dalibor Topic + + * cp-hacking.texinfo, cp-tools.texinfo, + cp-vmintegration.texinfo: Prefix output file name + with cp. + +2007-02-19 Gary Benson + + * javax/management/ObjectName.java + (properties): Initialize when declared. + (ObjectName(String)): Don't initialize properties here. + (ObjectName(String, String, String): Likewise. + +2007-02-19 Chris Burdess + + Fixes #30831 + * gnu/xml/dom/ls/SAXEventSink.java: Only set extended document + properties when reader is available. + +2007-02-19 Andrew John Hughes + + * javax/management/MBeanServer.java: + (queryMBeans(ObjectName,QueryExp)): Returned + generically-typed Set. + (queryNames(ObjectName,QueryExp)): Likewise. + * javax/management/MBeanServerConnection.java: + (queryMBeans(ObjectName,QueryExp)): Returned + generically-typed Set. + (queryNames(ObjectName,QueryExp)): Likewise. + * javax/management/ObjectName.java: + Use a generically-typed TreeMap. + (ObjectName(String,Hashtable): + Genericized. + (getKeyPropertyList()): Likewise. + * javax/management/StandardMBean.java: + Use a generically-typed interface class. + (StandardMBean(Class)): Genericized. + (StandardMBean(T, Class)): Likewise. + (getImplementationClass()): Likewise. + (getMBeanInterface()): Likewise. + +2007-02-19 Andrew John Hughes + + * javax/management/Descriptor.java: + New file. + * javax/management/DescriptorRead.java: + Likewise. + * javax/management/DescriptorAccess.java: + Likewise. + +2007-02-16 Matthias Klose * doc/Makefile.am: Add rules to build and install man pages from texinfo docs. @@ -538,46 +1525,266 @@ gnative2ascii, gorbd, grmid, grmiregistry, gserialver, gtnameserv. doc/texi2pod.pl: New, taken from the GCC sources. +2007-02-16 Francis Kung + + * gnu/java/awt/ClasspathGraphicsEnvironment.java: New file. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoDataBuffer): Removed inner class. + (CairoSurface(int,int,int,int)): New constructor. + (CairoSurface(int,int)): Delegate to new constructor. + (CairoSurface(SampleModel,CairoSurface,Rectangle,Point)): New constructor + for creating child rasters. + (create): Added int[] parameter. + (createChild): New method. + (createCompatibleWritableRaster): New methods. + (createTranslatedChild): New method. + (createWritableChild): New method. + (createWritableTranslatedChild): New method. + (destroy): Added int[] parameter. + (dispose): Only free native resources if this Surface has no parents. + (isCompatibleColorModel): New method. + (isCompatibleSampleModel): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (draw): Set transform, smarter bounds generation. + (drawComposite): Improved clipping. + (drawImage): Fixed bounds translation. + (drawRenderedImage): Set transform in buffer. + (fill): Set transform in buffer. + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + (createRaster): New method. + * java/awt/image/BufferedImage.java + (BufferedImage(int,int,int)): Use optimized raster if possible. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_create): Share data buffer between + Cairo and Java. + (Java_gnu_java_awt_peer_gtk_CairoSurface_destroy): Free data array. + +2007-02-16 Francis Kung + + * javax/management/NotificationBroadcasterSupport.java: Update imports. + +2007-02-16 Andrew Haley + + * gnu/java/lang/management/MemoryMXBeanImpl.java, + javax/management/MBeanServerDelegate.java: Use + gnu.javax.management.ListenerData rather than + gnu.classpath.ListenerData. + * gnu/javax/management/ListenerData.java: Move here from + gnu/classpath/ListenerData.java. + 2006-10-14 Edwin Steiner PR classpath/28652: * javax/management/MBeanInfo.java (MBeanInfo): Use clone to duplicate the arrays in order to preserve the array type. + +2007-02-15 Gary Benson -2007-02-16 Andrew Haley + * gnu/javax/management/Server.java + (registerMBean): Always register objects that implement the + MBeanRegistration interface, and check the name returned by + preRegister before using it. - * gnu/java/lang/management/MemoryMXBeanImpl.java, - javax/management/MBeanServerDelegate.java: Use - gnu.javax.management.ListenerData rather than - gnu.classpath.ListenerData. - * gnu/javax/management/ListenerData.java: Move here from - gnu/classpath/ListenerData.java. +2007-02-15 Roman Kennke -2007-02-14 Jakub Jelinek - Andrew Haley + * java/nio/ByteOrder.java + (nativeOrder): Avoid NPE when comparing a system property. - * java/util/TimeZone.java (getDateParams): Negate dayOfWeek. +2007-02-13 Gary Benson + + * javax/management/ObjectName.java + (toString): Return this item's canonical name. + +2007-02-12 Francis Kung + + * gnu/java/awt/ClasspathToolkit.java: + * gnu/java/awt/peer/gtk/AsyncImage.java, + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java, + * gnu/java/awt/peer/gtk/CairoGraphics2D.java, + * gnu/java/awt/peer/gtk/CairoSurface.java, + * gnu/java/awt/peer/gtk/ComponentGraphics.java, + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java, + * gnu/java/awt/peer/gtk/GdkFontPeer.java, + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java, + * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java, + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java, + * gnu/java/awt/peer/gtk/GtkChoicePeer.java, + * gnu/java/awt/peer/gtk/GtkClipboard.java, + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java, + * gnu/java/awt/peer/gtk/GtkComponentPeer.java, + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java, + * gnu/java/awt/peer/gtk/GtkFramePeer.java, + * gnu/java/awt/peer/gtk/GtkImage.java, + * gnu/java/awt/peer/gtk/GtkImageConsumer.java, + * gnu/java/awt/peer/gtk/GtkLabelPeer.java, + * gnu/java/awt/peer/gtk/GtkListPeer.java, + * gnu/java/awt/peer/gtk/GtkMainThread.java, + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java, + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java, + * gnu/java/awt/peer/gtk/GtkMenuPeer.java, + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java, + * gnu/java/awt/peer/gtk/GtkScrollPanePeer.java, + * gnu/java/awt/peer/gtk/GtkSelection.java, + * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java, + * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + * gnu/java/awt/peer/gtk/GtkWindowPeer.java, + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java, + * java/awt/RenderingHints.java, + * java/awt/image/BufferedImage.java: Reformatted and added generics. + +2007-02-12 Tom Tromey + + * java/net/Socket.java (bind): Typo fix. + +2007-02-12 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java (getDefaultValue): + New method. + * sun/reflect/annotation/AnnotationInvocationHandler.java (create): + New method. + (arrayClone): New method. + (invoke): Clone array return results. + +2007-02-12 Jakub Jelinek + + PR 23566 + * scripts/timezones.pl: Parse each file in 2 passes, in one parse + just Rule lines, in the other everything else. Pass 0 instead of + $savings as second argument to parseRule when parsing the start + rule. + * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a. + +2007-02-12 Jakub Jelinek + + * vm/reference/java/util/VMTimeZone.java: Rewrite to handle both + the old 'TZif\0' format and the new one. + * java/util/TimeZone.java: Handle default (one hour) daylight + savings. + +2007-02-12 Andrew John Hughes + + * javax/management/Query.java: + New file. + * javax/management/StandardMBean.java: + Use the implementation's class loader. + +2007-02-10 Mark Wielaard + + * javax/swing/plaf/metal/MetalFileChooserUI.java: Import Date from + java.util, not from java.sql. + +2007-02-10 Roman Kennke + + * javax/imageio/stream/ImageOutputStreamImpl.java + (flushBits): Implemented. + (writeBit): Implemented. + (writeBits): Implemented. + +2007-02-10 Roman Kennke + + * javax/swing/TransferHandler.java + (SwingDragGestureRecognizer): New inner class. + (SwingDragHandler): New inner class. + (recognizer): New field. + (exportAsDrag): Implemented missing method. + +2007-02-10 Roman Kennke + + * java/awt/GraphicsConfiguration.java + (createCompatibleVolatileImage(int,int,ImageCapabilities): Provide + default implementation that delegates to + createCompatibleVolatileImage(int,int). + (createCompatibleVolatileImage(int,int,ImageCapabilities,int): + New method from JDK5 spec. Default implementation by delegating to + (createCompatibleVolatileImage(int,int,int). 2007-02-09 Tom Tromey PR libgcj/30647: - * configure: Rebuilt. * configure.ac: Also check for jack/jack.h. -2007-02-09 Jakub Jelinek +2007-02-09 Mario Torre - * java/util/TimeZone.java: Handle default (one hour) daylight - savings. + * java/io/File.java: remove import for + gnu.classpath.NotImplementedException. + (getUsableSpace): removed stub. + (getFreeSpace): likewise. + (getTotalSpace): likewise. -2007-02-09 Jakub Jelinek +2007-02-09 Mario Torre - PR 23566 - * scripts/timezones.pl: Parse each file in 2 passes, in one parse - just Rule lines, in the other everything else. Pass 0 instead of - $savings as second argument to parseRule when parsing the start - rule. - * java/util/TimeZone.java (timezones): Regenerate from tzdata2007a. + * vm/reference/java/io/VMFile.java: + (canExecute): new 1.6 native method. + (setReadable): likewise. + (setWritable): likewise. + (setExecutable): likewise. + * java/io/File.java: added import for gnu.classpath.NotImplementedException. + (setReadOnly): new 1.6 method. + (canExecute): likewise. + (setReadable): likewise. + (setWritable): likewise. + (setExecutable): likewise. + (getUsableSpace): added stub for new 1.6 method. + (getFreeSpace): likewise. + (getTotalSpace): likewise. + (checkExec): new private method to support new 1.6 additions. + * native/jni/java-io/java_io_VMFile.c: + set_file_permissions: new helper function. + Java_java_io_VMFile_setReadable: new native method to bakcup 1.6 methods + in VMFile.java. + Java_java_io_VMFile_setWritable: likewise. + Java_java_io_VMFile_setExecutable: likewise. + Java_java_io_VMFile_canExecute: likewise. + * native/jni/native-lib/cpio.h: added new flags: CPFILE_FLAG_EXEC, + CPFILE_FLAG_USR and CPFILE_FLAG_OFF. + cpio_chmod: new function declaration. + cpio_checkAccess: likewise. + * native/jni/native-lib/cpio.c: + cpio_chmod: new function definition. + cpio_checkAccess: likewise. + +2007-02-09 Gary Benson + + * javax/management/ObjectName.java + (quote): Initialize StringBuilder correctly. + +2007-02-09 Francis Kung + + * java/awt/image/BufferedImage: Reformatted. + +2007-02-09 Ito Kazumitsu + + Fixes bug #30732 + * gnu/java/util/regex/RETokenChar.java(chain): Check whether the next + token has a next token. + +2007-02-08 Roman Kennke + + PR 30347 + * javax/swing/JViewport.java + (scrollRectToVisible): Use correct X/Y offset for calculations. + (paintBackingStore): Update backbuffer when we are not the paint + root. + +2007-02-08 Roman Kennke + + * java/awt/image/SinglePixelPackedSampleModel.java + (getDataElements(int,int,Object,DataBuffer)): + Replace DataBuffer using method with simple + switch. This does not check for the exact type (class) of the + DataBuffer but instead checks the transfer type. + (getDataElements(int,int,int,intObject,DataBuffer)): Removed. + (setDataElements): Fixed indentation. + (setPixels): Removed unused statement. + +2007-02-07 Tom Tromey + + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Allow '-cp' as well. 2007-02-07 Chris Burdess @@ -586,6 +1793,14 @@ * gnu/xml/transform/XSLURIResolver.java: Add support for custom SAXSources without a backing URL or stream. +2007-02-06 Tom Tromey + + PR libgcj/30707: + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (printClass): Always print a header. + +2007-02-06 Chris Burdess + Fixes PR 27710. * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous LSParser if implementation does not support asynchronous. @@ -594,19 +1809,13 @@ java.net.URL to resolve to an an absolute URI, to avoid nonexistent protocol handler problems. -2007-02-06 Tom Tromey - - PR libgcj/30707: - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (printClass): Always print a header. - 2007-02-05 Andrew Haley - PR cp-tools/30706 - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: - (printClass): Replace '/' in filenames with '_'. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java - (printClass): Likewise. + PR cp-tools/30706 + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: + (printClass): Replace '/' in filenames with '_'. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java + (printClass): Likewise. 2007-02-05 Tom Tromey @@ -614,6 +1823,64 @@ (hashCode): Likewise. (toString): Likewise. +2007-02-04 Jeroen Frijters + + * java/lang/Class.java + (newInstance): Moved setAccessible call to helper method. + (getEnumConstants): Call new helper method to allow values method to be + called on non-public enum classes. + (setAccessible): New helper method. + * java/lang/Enum.java + (valueOf): Call new helper method in class to allow field value to + be read on non-public enum classes. + +2007-02-04 Jeroen Frijters + + Fix for #30693 + * gnu/java/nio/charset/ByteCharset.java + (ByteCharset.Decoder.decodeLoop): Reset input buffer position if + the byte read was unmappable. + +2007-02-02 Kyle Galloway + + * gnu/classpath/jdwp/processor/StackFrameCommandSet.java + (executeGetValues): Changed getFrame to use a jlong to pass frameID. + (executeSetValues): Ditto. + (executeThisObject): Ditto. + * vm/reference/gnu/classpath/jdwp/VMFrame.java: Added thread field and a + constructor used to create VMFrames. + (getThread): New method. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java(getFrame): Changed + to take a long instead of a ByteBuffer to pass the frameID. + +2007-02-01 Tom Tromey + + * java/util/logging/LogManager.java (reset): Remove bogus + 'while'. + +2007-01-31 Casey Marshall + + * gnu/javax/net/ssl/Base64.java: move to `gnu/java/util/Base64.java.' + * gnu/javax/net/ssl/PrivateCredentials.java: clean up unused imports. + (add): use `gnu.java.util.Base64.' + * gnu/java/net/protocol/http/Request.java (authenticate): use + `gnu.java.util.Base64.' + * tools/gnu/classpath/tools/jarsigner/HashUtils.java (hashStream): + likewise. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java (start): likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java (start): likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java (printRFC1421): + likewise. + * gnu/java/net/Base64.java: removed. + * gnu/java/security/util/Base64.java: removed. + +2007-01-31 Casey Marshall + + Fixes PR classpath/24191. + Fix suggested by Rafael Teixeira . + * javax/crypto/CipherOutputStream.java (write): check return value + of `update' for null. + 2007-01-31 Tom Tromey * resource/gnu/classpath/tools/jar/messages.properties @@ -623,36207 +1890,497 @@ (readNames): New method. (run): Use it. -2007-01-26 Andrew Haley +2007-01-30 Roman Kennke - * java/lang/SecurityManager.java: Load and initialize - java.security.Security. + PR 20577 + * javax/swing/DefaultDesktopManager.java + (activateFrame): Added a bunch of null checks. Don't call + JInternalFrame.setSelected() to avoid recursion. + +2007-01-29 Andrew Haley + + * java/lang/SecurityManager.java (SecurityManager): Load and + initialize java.security.Security. + +2007-01-28 Ito Kazumitsu + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_accept): Throw SocketTimeoutException + in case of timeout. + * native/jni/java-nio/javanio.c(cpnio_accept): Call select() if + SO_RCVTIMEO is set. 2007-01-26 Tom Tromey * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print 'volatile' after field type. -2007-01-23 Marco Trudel +2007-01-26 Chris Burdess + + Fixes #30597 + * gnu/xml/dom/DomDocumentBuilder.java: Throw IOException where cause + of LSException is an IOException. + * gnu/xml/dom/ls/DomLSParser.java, + gnu/xml/stream/SAXParser.java: Ensure coalescing feature is set + correctly during LS parsing. + +2007-01-21 Andrew John Hughes + + * javax/management/PersistentMBean.java: + New file. + +2007-01-21 Andrew John Hughes + + * javax/management/AttributeChangeNotificationFilter.java: + Correct typo. + * javax/management/NotificationFilterSupport.java: + New file. + +2007-01-21 Mark Wielaard + + * java/security/SecureClassLoader.java (defineClass): Method returns + Class. + * java/security/SignatureSpi.java (engineUpdate(ByteBuffer): + Does not throw SignatureException. Chain SignatureException inside + IllegalStateException. + +2007-01-21 Andrew John Hughes + + * javax/management/NotificationBroadcasterSupport.java: + New file. + +2007-01-20 Ito Kazumitsu + + * java/text/DecimalFormat.java(parse): Corrected the ParsePosition + settings. + +2007-01-20 Ito Kazumitsu + + * java/text/SimpleDateFormat(parse): Corrected the usage of + NumberFormat. + +2007-01-20 Ito Kazumitsu + + Fixes bug #30488 + * native/jni/native-lib/cpnet.c(SOCKET_NOSIGNAL): Deleted, + (setsockopt_NOSIGPIPE): New function, + (cpnet_send): Corrected the option setting to send(), + (cpnet_sendTo): Corrected the option setting to sendto(). + +2007-01-19 Marco Trudel * java/util/Arrays.java (binarySearch): Change comparison order. +2007-01-17 Keith Seitz + + * gnu/classpath/jdwp/events/filters/StepFilter.java: + Update javadoc. + (matches): Implement. + + * gnu/classpath/jdwp/event/EventManager.java (EventManager): Honor + agent startup suspension for VM_INIT. + 2007-01-17 Tom Tromey * tools/gnu/classpath/tools/javah/PathOptionGroup.java (PathOptionGroup): Set default boot class path. -2006-12-14 Andrew Haley +2007-01-17 Mark Wielaard - * tools/gnu/classpath/tools/jar/Creator.java: Close the - inputStream. - -2006-10-12 Andrew Haley - - * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. - * java/lang/ThreadLocal.java: Likewise. - -2006-09-13 Andrew Haley - - * external/jsr166/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java: - Revert previous gcj-specific disabling of checks. - * external/jsr166/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java: - Likewise. - * classpath/external/jsr166/java/util/concurrent/atomic/AtomicLongFieldUpdater.java: - Likewise. - -2006-09-13 Andrew Haley - - * java/util/PriorityQueue.java: Throw IllegalArgumentException for - capacity < 1. - (Iterator.remove()): Decrement index after removing element. - -2006-12-11 Jeroen Frijters - - * javax/net/ssl/SSLSocketFactory.java (getDefault): - Chain exception cause. - -2006-12-11 Roman Kennke - - * .classpath: Include ASM in Eclipse classpath. - -2006-12-11 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Trim strings of whitespace. - * javax/management/MBeanAttributeInfo.java: - (MBeanAttributeInfo(String,String,Method,Method)): - Use Class.getName() for normal (non-parameterized) cases. - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String, Constructor)): - Likewise. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String, Method)): - Likewise. - -2006-12-11 Andrew John Hughes - - * java/lang/Class.java: - (getClasses()): Return Class[]. - (internalGetClasses()): Likewise. - (getConstructor(Class...)): Add type parameter - to parameters. - (getDeclaredConstructor(Class...)): Likewise. - (getDeclaredClasses()): Return Class[]. - (getDeclaredClasses(boolean)): Likewise. - (getDeclaredConstructors()): Return Constructor[]. - (getDeclaredConstructors(boolean)): Likewise. - (getDeclaredMethod(String,Class...)): Add type - parameter to parameters. - (getInterfaces()): Return Class[]. - (getMethods(String,Class...)): Add type - parameter to parameters. - * java/text/CollationKey.java: - Make non-final. - * java/text/DecimalFormatSymbols.java: - Likewise. - -2006-12-11 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Handle Map and List as - Strings of the form "java.util.Map" and - "java.util.List" - * javax/management/MBeanAttributeInfo.java: - (MBeanAttributeInfo(String,String,Method,Method)): - Use generic parameter and return types. - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String, Constructor)): - Use generic parameter types. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String, Method)): - Use generic parameter and return types. - -2006-12-10 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Comment out code for using type - variables for Map and List. - * java/lang/Thread.java: - (Thread(ThreadGroup,Runnable,String,long)): Fix - incrementation of totalThreadsCreated to be prior to use. - -2006-12-10 Andrew John Hughes - - * javax/management/MBeanServerFactory.java: - (createMBeanServer(String)): Added security check. - (findMBeanServer(String)): Likewise. - (newMBeanServer(String)): Likewise. - (releaseMBeanServer(String)): Likewise. - * javax/management/MBeanServerPermission.java: - New file. - -2006-12-08 David Daney - - * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): - Fix comment. - -2006-12-08 David Daney - - * NEWS: Mention URLConnection.[get|set]ReadTimeout. - -2006-12-08 David Daney - - * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add - SocketException. - (HTTPConnection): Handle NumberFormatException in properties parsing. - (Pool.get): Set timeout on reused sockets. - * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort): - Initialize. - (HTTPURLConnection): Cleanup properties handling. - (getConnection): Use both connection and read timeouts. - (setConnectTimeout): Removed. - (setReadTimeout): New method. - * java/net/URLConnection.java (timeout): Renamed to... - (connectTimeout): ... connectTimeout throughout. - (readTimeout): New field. - (getReadTimeout): New method. - (setReadTimeout): New method. - -2006-12-08 Tania Bento - - * java/awt/ScrollPane.java - (doLayout): Change the location of the scrollpane's child - to (0, 0). - -2006-12-08 David Daney - - * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): - New method. - (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw - SocketTimeoutException if a blocking socket timesout. - (Java_gnu_java_nio_VMChannel_readScattering): Same. - (Java_gnu_java_nio_VMChannel_read__I): Same. - (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set. - (Java_gnu_java_nio_VMChannel_connect6): Same. - -2006-12-08 Mark Wielaard - - * configure.ac (VERSION): Set to 0.93-generics. - * NEWS: Add release date. - -2006-12-08 Tania Bento - - * java/awt/ScrollPane.java - (getScrollPosition): Throw NullPointerException if scrollpane - does have a child. - (setScrollPosition(int, int)): Throw NullPointerException if - scrollpane does have a child. Check that both ints are within - the allowed bounds; If they are not, scroll to the closest allowed - bound. - -2006-12-07 Roman Kennke - - * javax/swing/JEditorPane.java - (EditorKitMapping): New inner helper class. - (editorKits): New static field for caching editor kit instances. - (static_initiazer): Initialize static mappings here. - (createEditorKitForContentType): Try to use cached instance. - Use correct classloader for loading. - (getEditorKitClassNameForContentType): Make use of EditorKitMapping - class. - (getEditorKitForContentType): Store the fetched editor kit. - Fallback to createDefaultEditorKit(). - (init): Don't clean the static registry here. - (registerEditorKitForContentType(String,String,ClassLoader)): - Implemented. - (registerEditorKitForContentType(String,String)): Delegate to - the other version of this method with the thread's context - classloader. - -2006-12-07 Mark Wielaard - - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (setPage): Don't convert URL to String for setPage(). - -2006-12-07 Mark Wielaard - - * tools/Makefile.am (clean-local): Remove iasm and asm.lst. - -2006-12-07 Mark Wielaard - - * tools/Makefile.am: Explicitly define and use bootclasspath as - GLIBJ_BOOTCLASSPATH - -2006-12-07 Mark Wielaard - - * javax/swing/JEditorPane.java (createEditorKitForContentType): - Always load from system class loader. - -2006-12-07 Mark Wielaard - - * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New - private constructor. - (URL(URL,String,URLStreamHandler)): Call new constructor. - (URL(URL,String)): Likewise. - (URL(String)): Likewise. - -2006-12-07 Tom Tromey - - * NEWS: Mention ASM. - * INSTALL: Don't mention --with-asm. - * tools/external/README: New file. - * tools/toolwrapper.c (main): Don't use ASM_JAR. - * tools/gjavah.in: Don't use PATH_TO_ASM. - * tools/grmic.in: Likewise. - * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added - 'asm'. - (javah, rmic): Removed variables. - (bin_PROGRAMS): Updated. - (gappletviewer_CFLAGS): Don't define ASM_JAR. - (gjarsigner_CFLAGS): Likewise. - (gkeytool_CFLAGS): Likewise. - (gjar_CFLAGS): Likewise. - (gnative2ascii_CFLAGS): Likewise. - (gserialver_CFLAGS): Likewise. - (grmiregistry_CFLAGS): Likewise. - (gtnameserv_CFLAGS): Likewise. - (gorbd_CFLAGS): Likewise. - (grmid_CFLAGS): Likewise. - (gjavah_CFLAGS): Likewise. - (grmic_CFLAGS): Likewise. - (bin_SCRIPTS): Updated. - (TOOLS_JAVA_FILES): Updated. - ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files. - * configure.ac: Removed --with-asm. Always build gjavah. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: - New class. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (LoadActionListener): Call setPage() helper method. - (createContent): Register tweaked editor kit. For FormSubmitEvents - call submitForm(), otherwise setPage(). - (postData): Helper method for posting form data. - (setPage): Helper method for navigating to a new URL. - (submitForm): Helper method for submitting a form. - * examples/gnu/classpath/examples/swing/forms.html: - Added text/password fields and select boxes. - * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/FormView.java - (SubmitThread.postData): Implemented. - (SubmitThread.run): Pass data to postData(). - (actionPerformed): Reset form when reset button is activated. - (createComponent): Add support for select lists and comboboxes. - Don't set value of text and password fields here, this is done - now in HTMLDocument for consistency. - (getElementFormData): Add support for fetching form data from - select lists and comboboxes as well as textareas. - (getSelectData): New helper method. Fetches form data from - select boxes. - (getTextAreaData): New helper method. Fetches form data from - textareas. - (resetForm): New helper method. Resets the entire form. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.setModel): Initialize text and password - values here. Also, use the resetable special models. - Group radio buttons into ButtonGroup for exclusive selection. - (HTMLReader.FormTagAction): New class. Handles FORM tags. - (HTMLReader.buttonGroups): New field. - (HTMLReader.numOptions): New field. - (HTMLReader.option): New field. - (HTMLReader.selectModel): New field. - (HTMLReader.textAreaDocument): Make ResetablePlainDocument. - (HTMLReader.handleText): Handle OPTION text. - (HTMLReader.initTags): Map FORM tags to FormTagAction. - (HTMLReader.textAreaContent): Set initial content. - * javax/swing/text/html/Option.java - (Option): Make copy of attribute set. Initialize selected state. - (getValue): Fetch value from attribute set. - * javax/swing/text/html/ResetableModel.java: New interface. - * javax/swing/text/html/ResetablePlainDocument.java: New class. - Supports resetting the state. - * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. - * javax/swing/text/html/SelectComboBoxModel.java: Likewise. - * javax/swing/text/html/SelectListModel.java: Likewise. - -2006-12-06 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (appear): Adjust visibility here. - (setDotImpl): Don't adjust visibility here. - (moveDotImpl): Don't adjust visibility here. - -2006-12-06 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (Loader.run): Synchronize on the AsyncImage to avoid threading - issues. - (addObservers): Check for obs==null outside and synchronize on - this inside to avoid locking issues. - (checkImage): New helper method. - (notifyObservers): Check that the correct lock is held and - remove actual locking. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (checkImage): Added special handling for AsyncImages. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (getIcon): Made package private. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (hyperlinkUpdate): Convert URL to string. - -2006-12-06 Mark Wielaard - - * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify - null Observer. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/icons/back.png, - * examples/gnu/classpath/examples/icons/reload.png: - New icons for the HTML browser. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (history): New field. Manages the browsing history. - (HtmlDemo): Initialize history. - (createContent): Set location and add history. Add toolbar. - (createToolBar): New helper method. - (main): Make default size bigger. - * examples/gnu/classpath/examples/swing/frame1.html, - * examples/gnu/classpath/examples/swing/frame2.html, - * examples/gnu/classpath/examples/swing/frame3.html, - * examples/gnu/classpath/examples/swing/frame4.html, - * examples/gnu/classpath/examples/swing/frames.html, - * examples/gnu/classpath/examples/swing/tables.html: - New example pages. - * examples/gnu/classpath/examples/swing/welcome.html - Add a couple of links and new test pages. - -2006-12-06 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Buffer the stream for efficiency. - (setPage): Don't scroll the view at this point. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call RootView's setSize to get synchronization. - (RootView.setSize): Synchronize to prevent race in layout code. - * javax/swing/text/AbstractDocument.java - (notifyListeners): New field. - (fireChangedUpdate): Track notifyListener field. - (fireRemoveUpdate): Track notifyListener field. - (fireIndertUpdate): Track notifyListener field. - (writeLock): Check notifyListener and throw IllegalStateException. - * javax/swing/text/View.java - (preferenceChanged): Create local var for better thread safety and - more efficiency. - -2006-12-06 Thomas Fitzsimmons - - * java/awt/ScrollPane.java (addNotify): Add a parent panel for any - lightweight component, not just for non-Panel components. - (addImpl): Do not call doLayout. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c - (setNativeBounds): Ensure widget parent is a GtkFixed before - calling gtk_fixed_move. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (setNativeBounds): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setNativeBounds): Likewise. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Check column index for invalid value. - (updateGrid): Check column index for invalid value. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/BlockView.java - (getAlignment): Align blocks horizontally by the superclass. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Replace equals comparison by == for efficiency. - Add mapping for misplaced tr, td and th tags. Include object mapping. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid early. - (gridValid): Initialize with false. - (create): Only create RowView and CellView for correctly placed - tags. Avoid unnecessary casts. - (getAlignment): Removed. - (replace): Invalidate grid early. - -2006-12-06 Francis Kung - - * java/awt/geom/RectangularShape.java - (getBounds): Remove empty rectangle check. - -2006-12-06 Ben Konrath - - Fixes PR 29853. - * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and - newValue are the same. - * gnu/xml/dom/DomNode.java: Set parent if null during mutation. - -2006-12-06 Tania Bento - - * javax/swing/border/CompoundBorder.java: - (isBorderOpaque): If inside border is null, return true if outside - border is opaque, false otherwise; if outside border is null, return - true if inside border is opaque, false otherwise; if inside or - outside border are both not null, then return true only if both the - inside and outside border are opaque, false otherwise. - -2006-12-06 Tania Bento - - * javax/swing/border/CompoundBorder.java: - (isBorderOpaque): If inside and outside border both have a null - value, return true. - -2006-12-06 Chris Burdess - - Fixes PR 29272. - * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. - * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. - -2006-12-06 Chris Burdess - - Fixes PR 29264. - * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in - writeDTD method. - -2006-12-06 Chris Burdess - - Fixes PR 28816. - * javax/xml/validation/SchemaFactory.java: Use correct algorithm to - discover schema factory implementation class. - -2006-12-05 Francis Kung - - * java/awt/BasicStroke.java - (capEnd): Prevent division by zero. - * java/awt/geom/Arc2D.java - (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. - (ArcIterator.currentSegment): Handle a negative extent. - -2006-12-05 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Handle translated subimages properly, ie, if the image's - 0,0 position is not the data buffer's first element. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (Loader.run): Nullify observers after loading. - (observers): Made package private. - (addObserver): Check for null observers field. Create local - variable for thread safety. - (getHeight): Use addObserver() for checking state of field - and notifying observer when necessary. - (getWidth): Use addObserver() for checking state of field - and notifying observer when necessary. - (getProperty): Use addObserver() for checking state of field - and notifying observer when necessary. - (notifyObservers): Check for null observers field. Create local - variable for thread safety. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed debug output. - * javax/swing/text/html/InlineView.java - (getBreakWeight): Likewise. - * javax/swing/text/html/StyleSheet.java - (addRule): Likewise. - (ListPainter.paint): Removed debug output. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/BlockView.java - (painter): Made package visible. - * javax/swing/text/html/StyleSheet.java - (translateBorder): New helper method. - (translateHTMLToCSS): Add mappings for border attributes. - * javax/swing/text/html/TableView.java - Made class subclass of BlockView to get CSS goodness. - (CellView.rowSpan): New field. - (CellView.setPropertiesFromAttributes): Fetch rowspan. - (RowView.overlap): New field. - (RowView.rowIndex): New field. - (RowView.layoutMajorAxis): Skip overlapping cells. - (RowView.layoutMinorAxis): Layout cells that span more than 1 row. - (numColumns): New field. - (tmpRect): New field. - (TableView): Initialize tmpRect. - (calculateColumnRequirements): Adjusted and fixed for multirows. - (getAlignment): Overridden to center tables. - (paint): Overridden to fix clipping. - (getStyleSheet): Made protected. - (layoutMajorAxis): Invalidate rows. - (setPropertiesFromAttributes): Made protected and call super. - (updateGrid): Update the overlapping information for multirows. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java - (addObserver): Check for null and ignore null observers. - (getWidth): Check for null and ignore null observers. - (getHeight): Check for null and ignore null observers. - (getProperty): Check for null and ignore null observers. - -2006-12-05 Francis Kung - - * java/awt/BasicStroke.java - (capEnd): Prevent division by zero. - * java/awt/geom/Arc2D.java - (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. - (ArcIterator.currentSegment): Handle a negative extent. - -2006-12-05 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Handle translated subimages properly, ie, if the image's - 0,0 position is not the data buffer's first element. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/ImageView.java - (imageUpdate): Use spans field to determine if the CSS width/height - are set. Call safePreferenceChanged to protect view structure - from threading issues. - (spans): Made package private. - (ImageView): Initialize loadOnDemand with false. - (loadImage): Call Toolkit.prepareImage() to make sure we have - our Observer registered. - (safePreferenceChanged): New helper method. Calls preferenceChanged - in a thread safe environment. - -2006-12-05 Roman Kennke - - * NEWS: Add entry about improved HTML support. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/ImageView.java - (ImageView): Initialize spans array here. - (setPropertiesFromAttributes): Moved init of spans array to - constructor. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/BlockView.java - (painter): Made package visible. - * javax/swing/text/html/StyleSheet.java - (translateBorder): New helper method. - (translateHTMLToCSS): Add mappings for border attributes. - * javax/swing/text/html/TableView.java - Made class subclass of BlockView to get CSS goodness. - (CellView.rowSpan): New field. - (CellView.setPropertiesFromAttributes): Fetch rowspan. - (RowView.overlap): New field. - (RowView.rowIndex): New field. - (RowView.layoutMajorAxis): Skip overlapping cells. - (RowView.layoutMinorAxis): Layout cells that span more than 1 row. - (numColumns): New field. - (tmpRect): New field. - (TableView): Initialize tmpRect. - (calculateColumnRequirements): Adjusted and fixed for multirows. - (getAlignment): Overridden to center tables. - (paint): Overridden to fix clipping. - (getStyleSheet): Made protected. - (layoutMajorAxis): Invalidate rows. - (setPropertiesFromAttributes): Made protected and call super. - (updateGrid): Update the overlapping information for multirows. - -2006-12-05 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed debug output. - * javax/swing/text/html/InlineView.java - (getBreakWeight): Likewise. - * javax/swing/text/html/StyleSheet.java - (addRule): Likewise. - (ListPainter.paint): Removed debug output. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/BlockView.java - (getAlignment): Align blocks horizontally by the superclass. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Replace equals comparison by == for efficiency. - Add mapping for misplaced tr, td and th tags. Include object mapping. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid early. - (gridValid): Initialize with false. - (create): Only create RowView and CellView for correctly placed - tags. Avoid unnecessary casts. - (getAlignment): Removed. - (replace): Invalidate grid early. - - -2006-12-06 Roman Kennke - - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Check column index for invalid value. - (updateGrid): Check column index for invalid value. - -2006-12-06 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Buffer the stream for efficiency. - (setPage): Don't scroll the view at this point. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call RootView's setSize to get synchronization. - (RootView.setSize): Synchronize to prevent race in layout code. - * javax/swing/text/AbstractDocument.java - (notifyListeners): New field. - (fireChangedUpdate): Track notifyListener field. - (fireRemoveUpdate): Track notifyListener field. - (fireIndertUpdate): Track notifyListener field. - (writeLock): Check notifyListener and throw IllegalStateException. - * javax/swing/text/View.java - (preferenceChanged): Create local var for better thread safety and - more efficiency. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/icons/back.png, - * examples/gnu/classpath/examples/icons/reload.png: - New icons for the HTML browser. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (history): New field. Manages the browsing history. - (HtmlDemo): Initialize history. - (createContent): Set location and add history. Add toolbar. - (createToolBar): New helper method. - (main): Make default size bigger. - * examples/gnu/classpath/examples/swing/frame1.html, - * examples/gnu/classpath/examples/swing/frame2.html, - * examples/gnu/classpath/examples/swing/frame3.html, - * examples/gnu/classpath/examples/swing/frame4.html, - * examples/gnu/classpath/examples/swing/frames.html, - * examples/gnu/classpath/examples/swing/tables.html: - New example pages. - * examples/gnu/classpath/examples/swing/welcome.html - Add a couple of links and new test pages. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (getIcon): Made package private. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (hyperlinkUpdate): Convert URL to string. - -2006-12-06 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (appear): Adjust visibility here. - (setDotImpl): Don't adjust visibility here. - (moveDotImpl): Don't adjust visibility here. - -2006-12-06 Roman Kennke - - * javax/swing/text/html/FormView.java - (SubmitThread.postData): Implemented. - (SubmitThread.run): Pass data to postData(). - (actionPerformed): Reset form when reset button is activated. - (createComponent): Add support for select lists and comboboxes. - Don't set value of text and password fields here, this is done - now in HTMLDocument for consistency. - (getElementFormData): Add support for fetching form data from - select lists and comboboxes as well as textareas. - (getSelectData): New helper method. Fetches form data from - select boxes. - (getTextAreaData): New helper method. Fetches form data from - textareas. - (resetForm): New helper method. Resets the entire form. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. - (HTMLReader.FormAction.setModel): Initialize text and password - values here. Also, use the resetable special models. - Group radio buttons into ButtonGroup for exclusive selection. - (HTMLReader.FormTagAction): New class. Handles FORM tags. - (HTMLReader.buttonGroups): New field. - (HTMLReader.numOptions): New field. - (HTMLReader.option): New field. - (HTMLReader.selectModel): New field. - (HTMLReader.textAreaDocument): Make ResetablePlainDocument. - (HTMLReader.handleText): Handle OPTION text. - (HTMLReader.initTags): Map FORM tags to FormTagAction. - (HTMLReader.textAreaContent): Set initial content. - * javax/swing/text/html/Option.java - (Option): Make copy of attribute set. Initialize selected state. - (getValue): Fetch value from attribute set. - * javax/swing/text/html/ResetableModel.java: New interface. - * javax/swing/text/html/ResetablePlainDocument.java: New class. - Supports resetting the state. - * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. - * javax/swing/text/html/SelectComboBoxModel.java: Likewise. - * javax/swing/text/html/SelectListModel.java: Likewise. - -2006-12-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: - New class. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (LoadActionListener): Call setPage() helper method. - (createContent): Register tweaked editor kit. For FormSubmitEvents - call submitForm(), otherwise setPage(). - (postData): Helper method for posting form data. - (setPage): Helper method for navigating to a new URL. - (submitForm): Helper method for submitting a form. - * examples/gnu/classpath/examples/swing/forms.html: - Added text/password fields and select boxes. - * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. - -2006-12-07 Mark Wielaard - - * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New - private constructor. - (URL(URL,String,URLStreamHandler)): Call new constructor. - (URL(URL,String)): Likewise. - (URL(String)): Likewise. - -2006-12-07 Mark Wielaard - - * javax/swing/JEditorPane.java (createEditorKitForContentType): - Always load from system class loader. - -2006-12-06 Ben Konrath - - Fixes PR 29853. - * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and - newValue are the same. - * gnu/xml/dom/DomNode.java: Set parent if null during mutation. - -2006-12-06 Chris Burdess - - Fixes PR 29272. - * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. - * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. - -2006-12-06 Chris Burdess - - Fixes PR 29264. - * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in - writeDTD method. - -2006-12-056 Chris Burdess - - Fixes PR 28816. - * javax/xml/validation/SchemaFactory.java: Use correct algorithm to - discover schema factory implementation class. - -2006-12-05 Roman Kennke - - * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports - asynchronous loading of images. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Fetch real image from possibly AsyncImage. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Fetch real image from possibly AsyncImage. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage(URL)): Create async image. - (imageOrError): Made method static for easy access from AsyncImage. - (prepareImage): For async images, register the observer to the - image. - -2006-12-05 Roman Kennke - - (paintComponent): Include paint area from event. - (updateComponent): Include paint area from event. - -2006-12-06 Thomas Fitzsimmons - - * java/awt/ScrollPane.java (addNotify): Add a parent panel for any - lightweight component, not just for non-Panel components. - (addImpl): Do not call doLayout. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c - (setNativeBounds): Ensure widget parent is a GtkFixed before - calling gtk_fixed_move. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (setNativeBounds): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setNativeBounds): Likewise. - -2006-12-04 Thomas Fitzsimmons - - * java/awt/Component.java (getFontImpl): Return a default font if - topmost parent's font is null. - -2006-12-04 Mark Wielaard - - * javax/swing/text/html/CSS.java (parseMarginShorthand): - Remove debug output. - -2006-12-04 Roman Kennke - - * java/awt/font/TextLayout.java - (hitTestChar): Fixed conditions for inclusion of range. - Use layout information in the run for more efficiency. - -2006-12-04 Roman Kennke - - * javax/swing/text/GlyphView.java - (J2DGlyphPainter): New inner class. - (checkPainter): For Java2D capable environments create - a J2DGlyphPainter. - -2006-12-04 Roman Kennke - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreeTypeGlyphVector): Don't filter control chars here. - (getGlyphs): Filter control chars and replace them by - hair space char. - -2006-12-04 Roman Kennke - - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR. - -2006-12-04 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (translate(String)): Don't assume the list uses "E", - just use the first and only type variable. - * java/lang/management/ManagementFactory.java: - (getPlatformMBeanServer()): Register logging bean. - * javax/management/openmbean/OpenType.java: - (OpenType(String,String,String)): Actually use - the string created to handle arrays. - -2006-12-04 Mark Wielaard - - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (JCL_thread_interrupted): Use CallStaticBooleanMethod. - -2006-12-04 Mark Wielaard - - * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted): - Make static. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (JCL_thread_interrupted): Only take JNIEnv. - (vm_channel_class): New static variable. - (initID): Set vm_channel_class. - Wrap all reads() and writes() in do-while blocks that check - interrupted status. - -2006-12-04 Andrew John Hughes - - * gnu/javax/management/Server.java: - Make map final and initialise it. - (unregisterMBean(ObjectName)): Match against - delegate's object name and not the instance. - * java/lang/management/ManagementFactory.java: - Added constant fields. - (getPlatformMBeanServer()): Implemented. - * javax/management/MBeanServerFactory.java: New file. - -2006-12-04 Roman Kennke - - * javax/swing/text/BoxView.java - (paint): Replaced painting algorithm with more simple and more - reliable painting of the box. - * javax/swing/text/html/BlockView.java - (PositionInfo): New inner class. Stores additional CSS - positioning information. - (positionInfo): New field. - (BlockView): Initialize positionInfo field. - (fetchLayoutInfo): New helper method. Fetches additional - CSS positioning information. - (layoutMajorAxis): Perform additional CSS layout. - (layoutMinorAxis): Perform additional CSS layout. - (positionView): New helper method. - (replace): Overridden to fetch additional layout information. - * javax/swing/text/html/CSS.java - (Attribute.POSITION): New field. - (Attribute.LEFT): New field. - (Attribute.RIGHT): New field. - (Attribute.TOP): New field. - (Attribute.BOTTOM): New field. - (getValue): Create Length for left, right, top and bottom - attributes. - -2006-12-04 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (Sgml): Consume any whitespace that immediately follows - and sgml insertion. - (parseDocument): Consume any initial whitespace. - -2006-12-03 Mark Wielaard - - * gnu/javax/management/Server.java (beans): Initialize. - (registerMBean): Don't initialize beans. - -2006-12-03 Mark Wielaard - - * java/util/logging/LogManager.java (getLevelProperty): Check - whether value is null before passing to Level.parse(). - -2006-12-04 Robert Lougher - - * java/lang/management/ThreadInfo.java (ThreadInfo): Check - whether given a null lock and lockOwner. - -2006-12-03 Mark Wielaard - - * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream. - (PageLoader.page): Made package local. - (PageLoader.run): Don't reset loader. - (PageLoader.cancel): New method. - (loading): Renamed to loader. - (getPage): Return loader.page. - (setPage): Always set loader. Never reset to null. - -2006-12-03 Mark Wielaard - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether - path[k] is null. - (isLastChild): Return false when path is null. - -2006-12-03 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed - to currentPaintArea. - (paintComponent): Work with local reference to currentPaintArea. - (updateComponent): Likewise. - (coalescePaintEvent): Set currentPaintArea. - -2006-12-02 Andrew John Hughes - - * javax/management/MBeanServerBuilder.java: New file. - -2006-12-01 Mark Wielaard - - * java/text/DecimalFormat.java (parse): Always increment parsing - index and adjust pos result. - -2006-12-01 Roman Kennke - - * javax/swing/text/html/HTML.java - (Attribute.DYNAMIC_CLASS): New field. - (Attribute.PSEUDO_CLASS): New field. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.CharacterAction.start): Initialize anchor with link - pseudo attribute. - (updateSpecialClass): New helper method. Updates the dynamic - or pseudo class for anchor tags. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.lastAnchorElement): New field. For tracking - enter/exit of anchors. - (LinkController.activateLink): Set pseudo class to 'visited'. - (LinkController.mouseMoved): Added support for tracking - the 'hover' dynamic class. - * javax/swing/text/html/InlineView.java - (changedUpdate): Fetch new properties. - * javax/swing/text/html/StyleSheet.java - (attributeSetToMap): New helper method. - (getRule): Also append dynamic and pseudo class to key. - (resolveStyle): Resolve style based generally on all attributes. - * javax/swing/text/html/TableView.java - (RowView.layoutMajorAxis): Make sure the grid is valid. - (updateGrid): Made package private. - * gnu/javax/swing/text/html/css/Selector.java - (calculateSpecificity): Added support for dynamic and pseudo classes. - (matches): Changed to operate on general attributes. - Added support for dynamic and pseudo classes. - -2006-12-01 Mario Torre - - * java/text/DecimalFormat.java (formatInternal): move the formatting of - fractional portion in a separate method. - Also fixes the handling of decimal separator and its associated field. - (handleFractionalPart): new method, needed to relax a bit - formatInternal. - -2006-12-01 Andrew John Hughes - - * java/beans/beancontext/BeanContextServicesSupport.java: - (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices, - Class)): Implemented. - (BCSSProxyServiceProvider.getService(BeanContextServices, Object, - Class, Object)): Implemented. - (BCSSProxyServiceProvider.releaseService(BeanContextServices, - Object, Object)): Implemented. - (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)): - Implemented. - (initialiseBeanContextResources()): Implemented. - (releaseBeanContextResoures()): Implemented. - -2006-12-01 Mark Wielaard - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated. - -2006-12-01 Roman Kennke - - * gnu/javax/swing/text/html/css/BorderStyle.java: New class for - handling border styles. - * gnu/javax/swing/text/html/css/BorderWidth.java - (isValid): New method. - * gnu/javax/swing/text/html/css/Length.java - (isValid): New method. - * javax/swing/text/html/CSS.java - (addInternal): Added shorthand parsing for border, padding and - margin. - (parseBackgroundShorthand): Added API docs. - (parsePaddingShorthand): New method. Handles padding shorthand - values. - (parseMarginShorthand): New method. Handles margin shorthand - values. - (parseBorderShorthand): New method. Handles border shorthand - values. - * javax/swing/text/html/StyleSheet.java - (translateHTMLToCSS): Set specific padding attributes. - (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here. - These shorthands are now handled in CSS. - (BoxPainter.paint): Exclude the outer margin. - -2006-12-01 Roman Kennke - - * gnu/javax/swing/text/html/css/Length.java - (emBase): New field. - (exBase): New field. - (isFontEMRelative): New field. - (isFontEXRelative): New field. - (Length): Recognize and setup EM and EX relative values. - (getValue): Handle EM and EX relative values. - (isEMRelative): New method. - (isEXRelative): New method. - (setEMBase): New method. - (setEXBase): New method. - (setFontBases): New method. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEmptyTag): Use new isBlock() helper method. - (_handleEndTag_remaining): Use new isBlock() helper method. - (_handleStartTag): Consume whitespace after block start tag. - (Comment): Consume whitespace after a comment. - (isBlock): New helper method. - (readAttributes): Consider all characters in unquoted attribute - values. - * javax/swing/text/html/BlockView.java - (layoutMinorAxis): Use cached span value. - (paint): Added debug code (commented out). - (setPropertiesFromAttributes): Set the EM and EX base on lengths. - * javax/swing/text/html/CSSBorder.java - (CSSBorder): Take StyleSheet as argument. Call getBorderWidth() - with stylesheet. - (getBorderWidth): Set the EM and EX base on the length values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ParagraphAction.end): Do not set the inParagraph field. - (HTMLReader.ParagraphAction.start): Do not set the inParagraph field. - (HTMLReader.inImpliedParagraph): Removed. - (HTMLReader.inParagraph): Removed. - (HTMLReader.parseStack): New field. - (HTMLReader.addContent): Use new paragraph handling. - (HTMLReader.addSpecialElement): Use new paragraph handling. - (HTMLReader.blockClose): Use new paragraph handling. - (HTMLReader.blockOpen): Use new paragraph handling. - (HTMLReader.inImpliedParagraph): New helper method. - (HTMLReader.inParagraph): New helper method. - * javax/swing/text/html/ImageView.java - (attributes): New field. Caches view attributes. - (spans): New field. Caches CSS spans. - (getAttributes): Correctly setup CSS view attributes. - (getPreferredSpan): Use caches spans. - (getStyleSheet): Use the view's getDocument() method. - (setPropertiesFromAttributes): Cache spans and setup EM and EX. - (updateSize): Use cached spans. - * javax/swing/text/html/ParagraphView.java - (setPropertiesFromAttributes): Setup EM and EX. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.BoxPainter): Setup EM and EX correctly. - (getEMBase): New helper method. - (getEXBase): New helper method. - * javax/swing/text/html/TableView.java - (width): New field. Caches the table width. - (calculateMinorAxisRequirements): Use caches span. - (setPropertiesFromAttributes): Cache span and setup EM/EX. - (updateGrid): Correctly setup EM/EX. - -2006-11-30 Roman Kennke - - * javax/swing/text/html/FormSubmitEvent.java: New class. - * javax/swing/text/html/FormView.java - (SubmitThread): New class for submitting data in a separate thread. - (actionPerformed): Fetch the actual for data. - (addData): New helper method. - (getElementFormData): New helper method. - (getFormData): New helper method. - (getInputFormData): New helper method. - (submitData): Implemented. - * javax/swing/text/html/FrameView.java - (createComponent): Add this as hyperlink listener. - Set the target document as frame document. - (getTopEditorPane): New helper method. - (hyperlinkUpdate): Implementation of the HyperlinkListener interface. - (handleHyperlinkEvent): New helper method. - (handleFormSubmitEvent): New helper method. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.BaseAction.start): Track the base target. - (HTMLReader.BaseAction.end): Removed. - (baseTarget): New field. - (frameDocument): New field. - (getBaseTarget): New property accessor. - (isFrameDocument): New property accessor. - (processHTMLFrameHyperlinkEvent): Implemented. - (setFrameDocument): New property accessor. - (updateFrame): New helper method. - (updateFrameSet): New helper method. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.createHyperlinkEvent): Handle frame documents. - (autoFormSubmission): New field. - (HTMLEditorKit): Set autoFormSubmission to true. - (isAutoFormSubmission): New property accessor. - (setAutoFormSubmission): New property accessor. - -2006-11-30 Roman Kennke - - * javax/swing/text/ElementIterator.java - (ElementRef): New inner class. - (currentDepth): Removed. - (currentElement): Removed. - (previousItem): Removed. - (stack): New field. Holds the iteration stack. - (state): Removed. - (ElementIterator(Document)): Removed init of removed fields. - (ElementIterator(Element)): Removed init of removed fields. - (current): Changed to stack based algorithm. - (deepestLeaf): New helper method. - (depth): Changed to stack based algorithm. - (first): Changed to stack based algorithm. - (next): Changed to stack based algorithm. - (previous): Changed to stack based algorithm. - -2006-11-30 Francis Kung - - * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4. - * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses. - -2006-11-30 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (draw): Set transform in buffered composite. - (drawComposite): Do not transform bounds; round bounds. - (drawGlyphVector): Set transform in buffered composite. - (drawRenderedImage): Set transform in buffered composite. - (fill): Set transform in buffered composite. - (updateBufferedImage): Fix scanline & height calculations. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Simplify width & height calculation. - (drawImage): Also transform width & height. - -2006-11-30 Roman Kennke - - * javax/swing/text/html/FrameSetView.java: New class. Implements - HTML framesets. - * javax/swing/text/html/FrameView.java: New class. Implements - HTML frames. - * javax/swing/text/html/HTMLDocument.java: - (HTMLReader.addSpecialElement): Only add one artificial space. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Uncomment code for FrameSetView and FrameView. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEmptyTag): Also consume whitespace after frame tags. - -2006-11-30 Gary Benson - - * java/lang/Thread.java: Javadoc fixes. - -2006-11-29 Tom Tromey - - PR classpath/28203: - * java/lang/Class.java (getAnnotations): Rewrote. - -2006-11-29 Tania Bento - - * tools/gnu/classpath/tools/appletviewer/TagParser.java: - (parseParams): Unescape 'val' before putting it into the Map. - (unescapeString): New private method. - -2006-11-29 Tom Tromey - - * tools/gnu/classpath/tools/getopt/package.html: New file. - -2006-11-29 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint, - (VerticalSliderThumbIcon.paintIcon()): Likewise. - -2006-11-29 Mario Torre - - * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign - with the default international currency sign \u00A4. - * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol - table for string formatting. - (formatInternal): likewise. - (scanNegativePattern): likewise. - (applyPattern): likewise. - * java/text/DecimalFormatSymbols.java (clone): Revert to old version as - Locale is immutable and does not need clone. - -2006-11-29 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawLine): Remove hard-coded pixel shifting. - -2006-11-29 Roman Kennke - - * java/awt/Component.java - (isShowing): Simplified condition code and avoid unnecessary - if-codepaths. - (coalesceEvents): Always coalesce paint events and let the peer - figure out the expanding of the repaint area. - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (currentPaintEvents): Removed. Replaced by paintArea. - (paintArea): New field. Tracks the dirty area. - (SwingComponentPeer): Removed init of currentPaintEvents. - (coalescePaintEvent): Simplified to only union the dirty regions. - (handleEvent): Paint dirty region that was tracked in paintArea. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (paintArea): New field. Tracks the dirty region. - (coalescePaintEvent): Implemented to track the dirty region. - (paintComponent): Use the dirty region in paintArea. Protect - state by putting the paint and dispose code in a try-finally. - (updateComponent): Use the dirty region in paintArea. Protect - state by putting the paint and dispose code in a try-finally. - -2006-11-29 Roman Kennke - - * java/awt/font/TextLayout.java - (getVisualHighlightShape): Removed debug output. - -2006-11-28 Andrew Haley - - * vm/reference/sun/reflect/misc/ReflectUtil.java - (checkPackageAccess): Implement. - -2006-11-28 Dalibor Topic - - * native/jni/java-lang/java_lang_VMDouble.c: - (parseDoubleFromChars) New function. Factored out from ... - (Java_java_lang_VMDouble_parseDouble): Factored out the parsing. - (dtoa_toString): New function. Factored out from ... - (Java_java_lang_VMDouble_toString) : Factored out the conversion. - Changed conversion mode to 2, as modes 0 and 1 don't round - as the API spec demands. Invoke conversion function as often - as necessary with growing precision until a reversible - representation of the double in form of a string is reached. - -2006-11-28 Roman Kennke - - * javax/swing/JComponent.java - (putClientProperty): Do not fire event when both old and new - value are == null. - -2006-11-27 Andrew John Hughes - - * java/lang/Enum.java: - Make name and ordinal final. - -2006-11-27 Casey Marshall - - * java/util/jar/JarEntry.java (certs): removed. - (jarfile): new field. - (getCertificates): read the certificates from the containing JarFile. - * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't - fill in 'certs,' fill in 'jarfile' for the entry. - (getEntry): likewise. - -2006-11-27 Francis Kung - - * java/awt/image/WritableRaster.java - (createChild): Implemented. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (TextLayout(TextLayout,int,int)): Also layout the new runs. - (getVisualHighlightShape): Implemented. - (layoutRuns): Fixed boundary so that the last run is also laid out. - (left): New helper method. - (right): New helper method. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (getCaretShape(TextHitInfo,Rectangle2D)): Implemented. - (getCaretShape(TextHitInfo)): Use natural bounds. - (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method. - (getCaretShapes(int,Rectangle2D)): Delegate to new method - above with DEFAULT_CARET_POLICY. - (getCaretShapes(int)): Use natural bounds. - -2006-11-27 Roman Kennke - - * java/awt/font/TextLayout.java - (Run.font): New field. - (Run.location): New field. - (Run.Run): Initialize font. - (font): Removed field. This is moved into Run as the actual font - is something run-specific. - (TextLayout(String,Font,FontRenderContext)): Set font on the - single runs. Layout the runs here. - (TextLayout(TextLayout,int,int)): Copy over the run fonts. - (findRunAtIndex): New helper method. - (getCaretInfo): Implemented. - (layoutRuns): New helper method. - (toString): Don't put font in output string. - -2006-11-27 Raif S. Naffah - - * AUTHORS: Added Jeroen Fritjers. - -2006-11-27 neugens - - * java/text/DecimalFormat.java (formatInternal): Add an explicit test - for FieldPosition to be null. - Check if the factional part is just 0 and can be omitted from the - result. - (scanNegativePattern): Fixed index out of bound exception when searching - for international currency symbol in negative pattern. - -2006-11-27 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (readObject(ObjectInputStream)): Implemented. - (writeObject(ObjectOutputStream)): Likewise. - (BCSChild.getTargetChild()): Added. - (bcsPreDeserializationHook()): Implemented. - (bcsPreSerializationHook()): Likewise. - (childDeserializedHook(Object,BCSChild)): Likewise. - (isSerializing()): Likewise. - (readChildren(ObjectInputStream)): Likewise. - (writeChildren(ObjectOutputStream)): Likewise. - -2006-11-26 Roger Sayle eyesopen.com> - Ian Lance Taylor airs.com> - Paolo Bonzini gnu.org> - - Fixes bug #25557. - - * lib/gen-classlist.sh.in: Avoid using test's -ef operator for - increased portability. Likewise, use -f instead of -e. - -2006-11-26 Mark Wielaard - - * lib/Makefile.am (propertydirs): Removed. - (resources): Explicitly create all dirs. - -2006-11-26 Mark Wielaard - - * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket. - -2006-11-26 Dalibor Topic - - * native/target/.cvsignore, - native/target/generic/.cvsignore, - native/target/Linux/.cvsignore: - Removed no longer used files. - - * native/target: Removed no longer used directory. - -2006-11-26 Dalibor Topic - - Fixes bug #29133. - - * libraries/clib/nio/gnu_java_nio_VMSelector.c - (Java_gnu_java_nio_VMSelector_select): - Use strerror if strerror_r is not available. - - Reported by: Michael Franz , - Riccardo Mottola - -2006-11-26 Dalibor Topic - - Fixes bug #26756. - - * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed - STRICT_WARNING_CFLAGS since it caused the build to fail - on GNU/Linux. - -2006-11-26 Ian Rogers - - * doc/vmintegration.texinfo: Update VM Threading Model section. - -2006-11-26 Tom Tromey - - * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally - include ifaddrs.h. - (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated - conditional. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: - Conditionally include ifaddrs.h. - (getif_address): Updated conditional. - (getif_index): Likewise. - * configure.ac: Check for ifaddrs.h. - -2006-11-25 Mark Wielaard - - * java/io/File.java (list): Return empty list for unreadable dirs. - -2006-11-25 Mark Wielaard - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): - Synchronize on font peer. - (setFont): Likewise. - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark - synchronized. - (getTextMetrics): Likewise. - -2006-11-25 Roman Kennke - - * javax/swing/text/GapContent.java - (getPositionsInRange): Rewritten to use the more efficient - binary search searchFirst() and avoid an NPE that was caused - by GC'ed positions. - -2006-11-25 Mark Wielaard - - * javax/swing/text/CompositeView.java (modelToView): Never return - null. - -2006-11-25 Mark Wielaard - - * javax/swing/text/html/TableView.java (calculateColumnRequirements): - Check whether rowView instanceof RowView. - (updateGrid): Likewise. - -2006-11-25 Mario Torre - - PR28462 - * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5. - * java/text/NumberFormat.java (format): all format methods, fixed - FieldPosition argument should never be null. - (format(Object, StringBuffer, FieldPosition)): fixed signature, - method is not final. - * java/text/DecimalFormatSymbols.java (clone): fixed to also clone - locale. - * AUTHORS: added my name to the file. - -2006-11-25 Mark Wielaard - - * javax/swing/text/html/StyleSheet.java (paint): Guard against - getChildAllocation() returning null. - -2006-11-25 Mark Wielaard - - * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity): - Use clazzIndex for id substring. - -2006-11-25 Mark Wielaard - - * java/awt/EventQueue.java (pop): Only terminate dispatchThread when - it is still running. - -2006-11-25 Mark Wielaard - - Fixes bug #28822 - * doc/api/Makefile.am (create_html): Guard GJDOC invocation with - CREATE_API_DOCS - -2006-11-24 Tania Bento - - * java/awt/font/TextHitInfo.java - (equals(TextHitInfo)): If TextHitInfo parameter is null, return false. - (beforeOffset): Decreased first parameter by 1. - -2006-11-24 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (constructor): Check sample model when setting fastCM flag. - (updateBufferedImage): Check scanline and sample model offsets before - copying data directly into the image data buffer. - -2006-11-24 Francis Kung - - * gnu/java/awt/java2d/QuadSegment.java - (offsetSubdivided): Handle special straight-line cases. - -2006-11-24 Roman Kennke - - * java/awt/dnd/DropTarget.java - (DropTargetAutoScroller.HYSTERESIS): New constant. - (DropTargetAutoScroller.DELAY): New constant. - (DropTargetAutoScroller.inner): New field. A cached - Rectangle instance. - (DropTargetAutoScroller.outer): New field. A cached - Rectangle instance. - (DropTargetAutoScroller.timer): New field. The actual timer. - (DropTargetAutoScroller.DropTargetAutoScroller): - Initialize timer. - (DropTargetAutoScroller.actionPerformed): Implemented. - (DropTargetAutoScroller.stop): Implemented. - (DropTargetAutoScroller.updateLocation): Implemented. - (clearAutoscroll): Stop the autoscroller before nullifying it. - (createDropTargetAutoScroller): Don't set the field here, - only return a new instance. - (dragEnter): Only do something when active. Initialize - auto scrolling. - (dragExit): Only do something when active. Stop auto scrolling. - (dragOver): Only do something when active. Update auto scrolling. - (drop): Only do something when active. Update auto scrolling. - (dropActionChanged): Only do something when active. Update - auto scrolling. - (initializeAutoScrolling): Check if component is an instance - of Autoscroll, otherwise do nothing. - (setActive): Disable autoscrolling when deactivating. - (setComponent): When component is set to null, disable autoscrolling. - -2006-11-24 David Gilbert - - * java/beans/beancontext/BeanContextServicesSupport.java - (getChildBeanContextServicesListener): Implemented. - -2006-11-23 Roman Kennke - - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java - (createGraphics): Use constructor to create new instance of - BufferedImageGraphics. - * java/awt/Toolkit.java - (getDefaultToolkit): Really try to get a real toolkit. Only - use HeadlessToolkit if no other is available. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (checkHeadless): New helper method. Checks for headless environment - and throws HeadlessException if appropriate. - (createButton): Check for headless. - (createCanvas): Check for headless. - (createCheckbox): Check for headless. - (createCheckboxMenuItem): Check for headless. - (createChoice): Check for headless. - (createDialog): Check for headless. - (createDragGestureRecognizer): Check for headless. - (createDragSourceContextPeer): Check for headless. - (createEmbeddedWindow): Check for headless. - (createFileDialog): Check for headless. - (createFrame): Check for headless. - (createCheckbox): Check for headless. - (createLabel): Check for headless. - (createList): Check for headless. - (createMenu): Check for headless. - (createMenuBar): Check for headless. - (createMenuItem): Check for headless. - (createPanel): Check for headless. - (createPopupMenu): Check for headless. - (createScrollbar): Check for headless. - (createScrollPane): Check for headless. - (createTextArea): Check for headless. - (createTextField): Check for headless. - (createWindow): Check for headless. - -2006-11-23 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (deserialize): Implemented, - (serialize): Implemented. - -2006-11-23 Roman Kennke - - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java - (createGraphics): Try to use Cairo graphics if available. - -2006-11-22 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (toArray): Added API docs, - (toArray(Object[])): Added API docs, removed NotImplementedException. - -2006-11-22 Tania Bento - - * javax/swing/JRootPane.java - (setLayeredPane): Added documentation; throw - IllegalComponentStateException if layered pane parameter is null. - -2006-11-22 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (avoidingGui): Removed NotImplementedException. - -2006-11-22 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (drawGlyphVector): Clip updated area to glyph bounds. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Eliminate distortion when pixel-shifting rectangles; separate - x-coordinate and y-coordinate pixel shifting. - (shifted): Removed method. - (shiftX): New method, recognising scaling transforms. - (shiftY): New method, recognising scaling transforms. - (walkPath): Separate x-coordinate and y-coordinate pixel shifting. - -2006-11-22 Roman Kennke - - * java/awt/font/TextLayout.java - (hash): New field. Caches the hash code. - (hashCode): Implemented. - -2006-11-22 Roman Kennke - - * java/awt/image/ImageFilter.java - Reformat whole class. - (getFilterInstance): Don't touch the consumer field. Don't check - consumer. - (imageComplete): Don't check consumer. - (setColorModel): Don't check consumer. - (setDimensions): Don't check consumer. - (setHints): Don't check consumer. - (setPixels): Don't check consumer. - (setProperties): Pass the original property too. - * java/awt/image/IndexColorModel.java - (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the - transparent pixel by calling the new helper method. - (IndexColorModel(int,int,byte[],int,boolean,int)): Set the - transparent pixel by calling the new helper method. - (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the - transparent pixel by calling the new helper method. - (coerceData): Removed. This is not needed. - (getAlpha): Simply return value from color map. The transparent - pixel has to be there. - (setTransparentPixel): New helper method. Inserts the transparent - pixel. - * java/awt/image/RGBImageFilter.java - Reformat whole class. - (convertColorModelToDefault): Removed. No longer needed. - (filterIndexColorModel): Don't handle transparent pixels - separately. - (filterRGBPixels): Set pixels on consumer already. - (makeColor): Removed. No longer needed. - * java/awt/image/ReplicateScaleFilter.java - (replicatePixels): Removed. - (setDimension): Correctly compute destination size, avoid double - calculations. - (setPixels): Avoid double calculations. Fixed some boundary cases. - (setupSources): New helper method. - * java/awt/image/SampleModel.java - (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT - and TYPE_DOUBLE. - * java/awt/image/SinglePixelPackedSampleModel.java - (setDataElements(int,int,int,int,Object,DataBuffer)): Removed. - This is not needed as the superclass already copies line - by line. - (setDataElements(int,int,Object,DataBuffer)): Simplified code, - removed some checks that the RI also doesn't perform. Call - DataBuffer.setElem(). - -2006-11-22 Roman Kennke - - * java/awt/text/TextLayout.java - (getLogicalRangesForVisualSelection): Implemented. - -2006-11-21 Andrew John Hughes - - * sun/reflect/annotation/AnnotationParser.java, - * sun/reflect/annotation/AnnotationType.java, - * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, - * sun/reflect/annotation/ExceptionProxy.java: - Stubbed. - * sun/misc/ServiceConfigurationError.java, - * sun/misc/Service.java: - Implemented. - -2006-11-21 Roman Kennke - - * java/awt/text/TextLayout.java - (Run.isLeftToRight): New helper method. - (logicalToVisual): New field. Maps logical indices to visual - indices. - (visualToLogical): New field. Maps visual indices to logical - indices. - (TextLayout): Setup mappings. - (setupMappings): New method for setting up the mappings. - (getCharacterLevel): Reorganized code. - (getNextLeftHit(int)): Implemented. - (getNextLeftHit(int,CaretPolicy)): New method. - (getNextLeftHit(TextHitInfo)): Implemented. - (getNextRightHit(int)): Implemented. - (getNextRightHit(int,CaretPolicy)): New method. - (getNextRightHit(TextHitInfo)): New method. - (getVisualOtherHit): Implemented. - (checkHitInfo): New helper methods for checking parameters. - (hitToCaret): New helper method. Maps hit infos to caret locations. - (caretToHit): New helper method. Maps caret locations to hit infos. - (isCharacterLTR): New helper method. - (CaretPolicy.getStrongCaret): Implemented. - -2006-11-21 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (draw): Include stroke width when calculating bounds. - (updateBufferedImage): Round bounds more generously, handle negative - height/width values, and clip more intelligently. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Add shortcut optimization for lines. - (draw): Include stroke width when calculating bounds. - (drawLine): Delegate to main draw() method. - (drawRect): Likewise. - (fillRect): Delegate to main fill() method. - (findStrokedBounds): New method. - (setCustomPaint): Round bounds more generously. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawLine): Removed. - (drawRect): Removed. - (fillRect): Removed. - -2006-11-21 Francis Kung - - * gnu/java/awt/java2d/TexturePaintContext.java - (getRaster): Handle negative coordinate values. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Moved custom paint processing to a new method. - (setPaintPixels): Added x, y parameters. - (getRealBounds): Added documentation. - (copy): Copy clipping information. - (drawLine): Process custom paints. - (setCustomPaint): New method. - (fill): Process custom paints. - (drawGlyphVector): Process custom paints. - (drawRect): Process custom paints. - (draw): Process custom paints. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoCM_opaque): New constant. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (argb32): Removed constant. - (rgb32): Removed constant. - (BufferedImageGraphics(BufferedImage)): Updated constant names. - (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. - (updateBufferedImage): Transform to device-space before updating. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y - parameters. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern - source at designated x, y origin. - -2006-11-21 Roman Kennke - - * java/awt/text/TextLayout.java - (Run): New inner helper class. - (length): New field. - (naturalBounds): New field. - (offset): New field. - (runIndices): Removed. This is now encapsulate in a Run object. - (runs): Changed to Run[]. - (string): Changed to char[]. - (totalAdvance): New field. Caches advance value. - (TextLayout(String,Font,FontRenderContext)): Change to store - string as char[] and run layout as Run[]. Clean out empty - run items. - (TextLayout(TextLayout,int,int)): Change to store - string as char[] and run layout as Run[]. - (clone): Call private constructor for maximum efficiency. - (determineWhitespace): Adapted to use char[] data. - (draw): Adapted to use Run objects. - (getAdvance): Cache computed total advance. - (getBlackBoxBounds): Adapted to use Run objects. - (getCaretInfo): Use natural layout bounds. - (getCharacterCount): Return length field. - (getLogicalHighlightShape): Adapted to use Run objects. - (getNaturalBounds): New helper method. Calculates and returns the - natural bounds of this text layout. - (getOutline): Adapted to use Run objects. - (getStringProperties): Adapted to use char[] data. - (getVisibleAdvance): Adapted to use char[] and Run data. - (handleJustify): Adapted to use char[] and Run data. - (hitTestChar(float,float,Rectangle2D)): Implemented. - (hitTestChar(float,float)): Use natural bounds. - (setCharIndices): Adapted to use char[] and Run data. - (toString): Adapted to use char[] and Run data. - * java/text/Bidi.java - (requiresBidi): Exclude paragraph separators from bidi-triggers. - -2006-11-21 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkFontMetrics.java: - Removed. This is now an inner class in GdkFontPeer. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawString(float,float)): Use text layout cache from - GdkFontPeer. - (getFontMetrics): Delegate to GdkFontPeer. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getGlyphCodes): Also check array size. - (getGlyphPositions): Also check array size. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (GdkFontLineMetrics.fm): Removed. - (GdkFontLineMetrics.strikeThroughOffset): Removed. - (GdkFontLineMetrics.strikeThroughThickness): Removed. - (GdkFontLineMetrics.underlineOffset): Removed. - (GdkFontLineMetrics.underlineThickness): Removed. - (GdkFontLineMetrics.GdkFontLineMetrics): Don't take - FontMetrics argument. Don't init removed fields. - (GdkFontLineMetrics.getAscent): Return font peer's field. - (GdkFontLineMetrics.getDescent): Return font peer's field. - (GdkFontLineMetrics.getHeight): Return font peer's field. - (GdkFontLineMetrics.getLeading): Return font peer's field. - (GdkFontLineMetrics.getNumChars): Reformat. - (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. - (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. - (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. - (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. - (GdkFontMetrics): Moved class in here as inner class. - Make it use the font peer's fields and for the char(s) width - and string width method, use TextLayout to measure the actual widths. - (ascent): New field. - (bundle): Removed. - (DEFAULT_CTX): New constant field. - (descent): New field. - (FONT_METRICS_ASCENT): New constant. - (FONT_METRICS_DESCENT): New constant. - (FONT_METRICS_HEIGHT): New constant. - (FONT_METRICS_MAX_ADVANCE): New constant. - (FONT_METRICS_MAX_ASCENT): New constant. - (FONT_METRICS_MAX_DESCENT): New constant. - (FONT_METRICS_UNDERLINE_OFFSET): New constant. - (FONT_METRICS_UNDERLINE_THICKNESS): New constant. - (height): New field. - (maxAdvance): New field. - (maxAscent): New field. - (maxDescent): New field. - (metrics): New field. Stores a FontMetrics for this font. - (textLayoutCache): New field. Caches TextLayout instances. - (underlineOffset): New field. - (underlineThickness): New field. - (cinit): Don't initialize resource bundle. - (GdkFontPeer): Setup the metrics. - (getFontMetrics): Return stored metrics if possible. - (getLineMetrics): Adapt to new constructor. - (initFont): New helper method. - (setupMetrics): New helper method. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (LRUCache): Made class a static class. - (getFontMetrics): Delegate to GdkFontPeer. - * native/jni/gtk-peer/gdkfont.h - Added new constant defines. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): Rewritten to fetch the font metrics from - FreeType. - -2006-11-20 Tania Bento - - * javax/swing/ButtonGroup.java: - (setSelected): Select the ButtonModel if all conditions - are met. - -2006-11-20 Tania Bento - - * javax/swing/JSlider.java: - (updateLabelUIs): Removed casting. - -2006-11-20 Mark Wielaard - - * gnu/java/util/regex/RE.java (messages): Don't initialize. - (bundle): New static final String field. - (getLocalizedMessage): Initialize messages when still null. - * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed. - (set): Use RE.getLocalizedMessage(). - (clear): Likewise. - (setLineSeparator): Likewise. - -2006-11-20 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (linked): New field. - (styleSheet): Replaced by linked. - (addStyleSheet): Use an arraylist for simplicity. - (getRule): Removed useless instantiation. - (getStyleSheets): Convert array list to array. - (removeStyleSheet): Use an arraylist for simplicity. - (resolveStyle): Include styles from linked lists. - -2006-11-20 Roman Kennke - - * javax/swing/text/BoxView.java - (BoxView): Initialize with invalid req's. - (forwardUpdate): Trigger repaint when children changed the - major axis. - (getResizeWeight): Return resizable when the pref differs from - the min or the pref differs from the max size. - (layoutMajorAxis): Actually sum up the preferred sizes. - (paint): Made binary search more robust. - (replace): Let arrays shrink when needed. - (replaceLayoutArray): Let arrays shrink when needed. - (setAxis): Trigger preferenceChanged. - * javax/swing/text/CompositeView.java - (getInsideAllocation): Call insets method to take account - of overriding subclasses. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.finishEdit): Clear the stack and edits buffer. - (ElementBuffer.insertUpdate): Only remove the found element, not - all. - * javax/swing/text/GlyphView.java - (insertUpdate): Pass null in preferenceChanged. - (removeUpdate): Pass null in preferenceChanged. - (changedUpdate): Pass null in preferenceChanged. - * javax/swing/text/Utilities.java - (drawTabbedText): Avoid single calls to charWidth() and instead - call charsWidth() on whole chunks. - * javax/swing/text/html/HTMLDocument.java - (BlockElement.getName): Fall back to super when necessary. - (RunElement.getName): Fall back to super when necessary. - (HTMLReader.MAX_THRESHOLD): New constant field. - (HTMLReader.GROW_THRESHOLD): New constant field. - (HTMLReader.theshold): New field. - (HTMLReader.HTMLReader): Fetch threshold from document. - (HTMLReader.addContent): Sucessivly grow the threshold. - (createLeafElement): Don't create two elemens and don't set - attribute. - * javax/swing/text/html/TableView.java - (RowView.replace): Invalidate grid. - (gridValid): Made package private. - (layoutMinorAxis): Mark all rows as invalid. - (replace): Invalidate grid. - -2006-11-20 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (DefaultDocumentEvent.changes): Changed to be a HashMap. - (DefaultDocumentEvent.modified): Made private. - (DefaultDocumentEvent.THRESHOLD): New constant field. - (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize - changes table. - (DefaultDocumentEvent.addEdit): Switch to hashmap only when - exceeding threshold. - (DefaultDocumentEvent.getChange): Use iterative approach - when we have no hashmap yet. - (documentCV): Removed. - (numWriters): Renamed from numWritersWaiting. - (createPosition): Reformat. - (getCurrentWriter): Synchronized. - (readLock): Implement more straightforward. - (readUnlock): Implement more straightforward. - (writeLock): Implement more straightforward. - (writeUnlock): Implement more straightforward. - (remove): Write-lock here. - (removeImpl): Don't write-lock here. - -2006-11-20 Roman Kennke - - * javax/swing/JEditorPane.java - (setPage): Set priority on loading thread. - -2006-11-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Avoid allocation. - (cachedInsets): New field. Caches an Insets instance. - (getNextVisualPositionFrom): Read-lock the document to avoid - thread nastiness. Push allocation. - (getPreferredSize): Push fake allocation when not yet laid out. - (getVisibleEditorRect): Use cached insets. - (viewToModel): Read-lock the document to avoid - thread nastiness. Push allocation. - -2006-11-20 Roman Kennke - - * javax/swing/text/StyleContext.java - (attributeSetPool): Synchronize this map. - (addAttribute): Synchronize this method. - (addAttributes: Synchronize this method. - (readObject): Install synchronized map on target object. - (removeAttribute): Synchronize this method. - (removeAttributes): Synchronize this method. - (removeAttributes): Synchronize this method. - -2006-11-20 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.GapContentPosition): Removed constructor. - (Mark): Made subclass of WeakReference to refer directly to - the associated position. - (Mark.refCount): Removed. - (Mark.Mark(int,GapContentPosition,ReferenceQueue): - New constructor. Used to reference a position and register the - reference queue. - (Mark.Mark(index)): Call super and don't adjust mark offset. - (Mark.compareTo): Removed. - (Mark.equals): Removed. - (Mark.getOffset): Return at least null. Removed assert. - (Mark.getPosition): New helper method. - (garbageMarks): New field. - (positions): Removed. - (searchMark): New field. - (GapContent): Removed init of positions map. - (addImpl): New helper method. - (adjustPositionsInRange): Removed. - (compare): New helper method. - (createPosition): Rewritten for new datastructures. This now - performs a much more efficient binary search for finding - a position at the requested offste. - (garbageCollect): Rewritten to collect unused marks. - (getPositionsInRange): Adjusted for new data structures. - (removeImpl): New helper method. - (replace): Use new addImpl() and removeImpl() helper method for - correctly adjusting the positions and gap. - (search): Rewritten. Implements a more suitable binary search. - (searchFirst): New helper method. - (setPositionsInRange): Removed. - (shiftEnd): Update the marks here. - (shiftGap): Update the marks here. - (shiftGapEndUp): Update the marks here. - (shiftGapStartDown): Update the marks here. - -2006-11-20 Marco Trudel - - * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache - digest algorithm implementations. - (readSignatures): Parse the manifest once and reuse that data. - Add support for line breaks. - (verifyHashes): Use the parsed manifest entry. - (readManifestEntry): Removed. - -2006-11-20 Andrew John Hughes - - * java/beans/beancontext/BeanContextServicesSupport.java: - Added more documentation. - (addService(Class,BeanContextServiceProvider,boolean)): - Synchronized over global hierarchy lock. - (bcsPreDeserializationHook(ObjectInputStream)): Implemented. - (bcsPreSerializationHook(ObjectOutputStream)): Implemented. - (childJustRemovedHook(Object,BCSChild)): Implemented. - (createBCSSServiceProvider(Class,BeanContextServiceProvider)): - Implemented. - (fireServiceRevoked(BeanContextServiceRevokedEvent)): - Added revocation-only listeners. - (getBeanContextServicesPeer()): Implemented. - (getCurrentServiceClasses(Class)): Synchronized over global - hierarchy lock. - (getCurrentServiceSelectors(Class)): Synchronized over global - hierarchy lock, and fixed FIXME. - (getService(BeanContextChild,Object,Class,Object, - BeanContextServiceRevokedListener)): Implemented. - (hasService(Class)): Synchronized over global hierarchy lock. - (releaseService(BeanContextChild,Object,Object)): Implemented. - (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented. - * java/beans/beancontext/BeanContextSupport.java: - (remove(Object, boolean)): Documentation correction. - -2006-11-19 Roman Kennke - - * javax/swing/JEditorPane.java - (PageStream): New inner class. - (PageLoader): New inner class. - (loading): New field. - (setPage): Implemented asynchronous loading. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.create): New helper method. - (create): Use new ElementBuffer method instead of hack. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.flushImpl): New helper method. - (HTMLReader.addContent): Use flushImpl(). - (HTMLReader.blockClose): Added null check. - (HTMLReader.flush): Use flushImpl(). - * javax/swing/text/html/HTMLEditorKit.java - (createDefaultDocument): Set load priority to 4 and token threshold - to 100. - * javax/swing/text/html/TableView.java - (insertUpdate): Overridden to provide correct view factory. - (removeUpdate): Overridden to provide correct view factory. - (changedUpdate): Overridden to provide correct view factory. - -2006-11-19 Roman Kennke - - * javax/swing/text/BoxView.java - (clipRect): New field. - (tmpRect): New field. - (layout): Reorganized code. Now uses layoutAxis() helper method. - (layoutAxis): New helper method. - (paint): Optimized by using cached Rectangle objects and - a binary search for child views inside the clip. - * javax/swing/text/CompositeView.java - (insideAllocation): Made private and initialized in constructor. - (getInsideAllocation): Removed initialization block for - insideAllocation field. Avoid unnecessary allocations. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.paint): Only paint the actual glyphs here - The remaining stuff (background, underline and striking) is - done in the GlpyhView itself. Avoid unnecessary allocations. - (cached): A cached Segment instance. - (getText): Return cached segment. - (paint): Paint underline, strike and background here. Avoid - unecessary allocs. - -2006-11-19 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (getFontSize): Removed debug output. - (ListPainter.tmpRect): New field. - (ListPainter.paint): Align bullet vertically centered to - the first line of the paragraph. - -2006-11-17 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseDeclaration): Trim string before reporting. - * gnu/javax/swing/text/html/css/FontSize.java - (size): New field. - (isRelative): New field. - (sizeIndex): New field. - (FontSize): Initialize new fields. - (getValue): Changed to call getValue(int). - (getValue(int)): New method. Implements relative font sizes. - (isRelative): New method. - (mapAbsolute): Store index. - (mapEM): New helper method. - (mapLarger): New helper method. - (mapPercent): New helper method. - (mapRelative): New helper method. - (mapSmaller): New helper method. - (mapValue): New helper method. - * javax/swing/text/html/CSS.java - (parseBackgroundShorthand): Create CSSColor directly. - * javax/swing/text/html/StyleSheet.java - (addRule): Invalidate resolved styles. - (getFont): Call new getFontSize() method to resolve relative - font sizes. - (getFontSize): New helper method. Resolves relative font sizes. - (translateHTMLToCSS): Create CSS objects directly. - -2006-11-13 Andrew John Hughes - - * gnu/java/util/regex/RETokenNamedProperty.java: - (getHandler(String)): Add support for 'all'. - -2006-11-18 Andrew John Hughes - - * gnu/javax/management/Server.java: - Initial implementation of a GNU management server. - * javax/management/MBeanPermission.java, - * javax/management/MBeanRegistration.java, - * javax/management/MBeanTrustPermission.java: - Implemented. - -2006-11-17 Mark Wielaard - - * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement. - -2006-11-17 Gary Benson - - * java/net/DatagramSocket.java (getLocalAddress, connect, - receive): Perform security check on address not hostname. - -2006-11-16 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Fixed condition for consuming whitespace. - Removed validator check, this is superfluous now. - -2006-11-16 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseRuleset): Support 'combined' selectors. - (main): Adapt callback for combined selectors support. - * gnu/javax/swing/text/html/css/CSSParserCallback.java - (startStatement): Take selector array as argument, to - support combined selectors. - * javax/swing/text/html/BlockView.java - (calculateMinorAxisRequirements): Fetch and apply alignment. - * javax/swing/text/html/StyleSheet.java - (CSSStyle): Inverted the constants for correct precedence. - (CSSStyleSheetParserCallback.styles): New field. Stores the current - styles. - (CSSStyleSheetParserCallback.style): Removed. - (CSSStyleSheetParserCallback.declaration): Update multiple styles. - (CSSStyleSheetParserCallback.end): Push multiple styles. - (CSSStyleSheetParserCallback.start): Initialize multiple styles. - -2006-11-16 Roman Kennke - - * javax/swing/text/FlowView.java - (LogicalView.getPreferredSpan): Calculate maximum correctly. - * javax/swing/text/GlyphView.java - (tabExpander): New field. - (tabX): New field. - (breakView): Set tabX on broken view. - (getPartialSpan): Let the painter fetch the span. - (getTabbedSpan): Update the tab expander field. Maybe trigger - relayout. - (getTabExpander): Simply return the stored expander. - * javax/swing/text/Utilities.java - (getTabbedTextOffset): Made algoritm a little smarter and more - efficient. - (getTabbedTextWidth): Don't add single char widths, instead add - chunks of characters. - * javax/swing/text/html/ParagraphView.java - (calculateMinorAxisRequirements): Adjust margin only when the - CSS span is not fixed. - -2006-11-16 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getChildBeanContextMembershipListener): Implemented, - (getChildPropertyChangeListener): Implemented, - (getChildSerializable): Implemented, - (getChildVetoableChangeListener): Implemented, - (getChildVisibility): Implemented, - (setDesignTime): Use same property name as Sun's implementation. - -2006-11-16 David Gilbert - - * java/beans/DesignMode.java: Reformatted and removed a FIXME, - * java/beans/Statement.java - (toString): Updated to match reference implementation. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (InsertHTMLTextAction.actionPerformed): Also try inserting - the alternate tag. Adjust the selection accordingly. - (InsertHTMLTextAction.adjustSelection): New helper method. - Adjusts the selection after an insertion. - (insertAtBoundary): Delegate to deprecated method. - (insertAtBoundry): Implemented missing method. - (tryInsert): New helper method. - (defaultActions): Implemented to fill the array with - a couple of InsertHTMLTextActions. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/ImageView.java - (Observer): New class. Observes image loading. - (haveHeight): New field. - (haveWidth): New field. - (height): New field. - (width): New field. - (image): New field. - (imageIcon): New field. - (loading): New field. - (observer): New field. - (reloadImage): New field. - (reloadProperties): New field. - (ImageView): Initialize observer and some flags. - (getImage): Update the image state and return the image. - (loadImage): New helper method. Actually starts loading. - (paint): Rewritten to paint the image directly, not via Icon. - (reloadImage): Rewritten. Loads the image and its properties. - (renderIcon): Removed. No more necessary. - (setPropertiesFromAttributes): Don't nullify image here. - Added comment about missing impl. - (setSize): Added comment about missing impl. - (updateSize): New helper method. Updates the size attributes. - (updateState): New helper method. Makes sure the image - and its properties are valid. - -2006-11-15 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEndTag_remaining): Consume whitespace after a closing - block like tag. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ParagraphAction.end): Call super instead of blockClose() - directly. - (HTMLReader.ParagraphAction.start): Call super instead of blockOpen() - directly. - (HTMLReader.parseStack): Removed. - (HTMLReader.blockClose): Simply call addContent() with ' ' - instead of doing more complicated stuff. Removed parseStack - handling. - (HTMLReader.blockOpen): Removed parseStack handling. - (getInsertingReader): Removed parseStack init. - * gnu/javax/swing/text/html/parser/htmlValidator.java - (closeTag): Return true only when the tag actually should be - closed. - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleEndTag): Only actually close the tag when the validator - allows it. - -2006-11-15 Roman Kennke - - * javax/swing/text/html/CSS.java - (Attribute.BORDER_SPACING): New field for the CSS border-spacing - attribute. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.bottomPadding): New field. - (BoxPainter.leftPadding): New field. - (BoxPainter.rightPadding): New field. - (BoxPainter.topPadding): New field. - (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes - too. - (BoxPainter.getInset): Recognize and include the padding. - (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING. - javax/swing/text/html/TableView.java - (RowView.calculateMajorAxisRequirements): Adjust req's for - cellSpacing. - (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing. - (cellSpacing): New field. - (columnRequirements): Made package private to avoid accessor method. - (calculateMinorAxisRequirements): Include cellSpacing. - (calculateMajorAxisRequirements): Overridden to include cellSpacing. - (layoutMajorAxis): Likewise. - (layoutColumns): Respect cellSpacing. - (setParent): Overridden to fetch the CSS attributes when view gets - connected. - (setPropertiesFromAttributes): New method. Fetches the cell - spacing from the CSS attributes. - -2006-11-15 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Consume whitespace directly before a closing tag. - (restOfTag): Consume whitespace directly after opening. - * gnu/javax/swing/text/html/parser/support/textPreProcessor.java - (preprocess): Don't perform array boundary checking by - catch AIOOBE, instead check the boundary in loop condition. - * gnu/javax/swing/text/html/parser/support/low/Constants.java - (TAG_CLOSE): New constants. Describes the token pattern for - a closing tag. - -2006-11-14 Roman Kennke - - * javax/swing/text/html/ImageView.java - (getPreferredSpan): Use CSS length values. - * javax/swing/text/html/TableView.java - (CellView.calculateMajorAxisRequirements): Overridden to - set the maximum reqs to maximum. - (RowView.getMaximumSize): For the X_AXIS, set the maximum - span to maximum. - (RowView.getMinimumSpan): Overridden. For the X_AXIS, return - the total column reqs. - (RowView.getPreferredSpan): Overridden. For the X_AXIS, return - the total column reqs. - * gnu/javax/swing/text/html/css/CSSColor.java - (convertValue): Catch NumberFormatExceptions for more robustness. - * gnu/javax/swing/text/html/css/FontSize.java - (mapPixels): Actually map px values. Catch NFE for more robustness. - -2006-11-14 Roman Kennke - - * gnu/java/awt/font/autofit/AxisHints.java, - * gnu/java/awt/font/autofit/Constants.java, - * gnu/java/awt/font/autofit/GlyphHints.java, - * nu/java/awt/font/autofit/Latin.java, - * nu/java/awt/font/autofit/LatinAxis.java, - * gnu/java/awt/font/autofit/LatinMetrics.java, - * gnu/java/awt/font/autofit/Scaler.java, - * gnu/java/awt/font/autofit/Script.java, - * gnu/java/awt/font/autofit/ScriptMetrics.java, - * gnu/java/awt/font/autofit/Segment.java, - * gnu/java/awt/font/autofit/Width.java: - New classes. This is some skeleton stuff for the FreeType-alike - auto-gridfitter. - * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. - * gnu/java/awt/font/opentype/OpenTypeFont.java - (unitsPerEm): Made field public. - (getRawGlyphOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/Scaler.java - (getRawGlyphOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/truetype/GlyphLoader.java - (loadGlyph): New method. This is used to load raw outlines. - * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java - (getRawOutline): New method. Fetches the raw outline. - * gnu/java/awt/font/opentype/truetype/Zone.java: - Made class public. - -2006-11-14 Roman Kennke - - * javax/swing/RepaintManager.java - (RepaintManager): Fetch the default state for the double buffering - from a system property gnu.swing.doublebuffering. - -2006-11-14 Roman Kennke - - * javax/swing/plaf/basic/BasicLabelUI.java - (cachedInsets): New field. - (getFontMetrics): New helper method. Fetches the font metrics - from the component or the toolkit. - (getPreferredSize): Use getFontMetrics() helper method for - fetching the font metrics. - (paint): Use getFontMetrics() helper method for - fetching the font metrics. Only paint if icon or text - are != null. Use cached insets. - (paintDisabledText): Don't store/restore color object. The - JComponent painting mechanism takes care of this by calling - create(). - (paintEnabledText): Don't store/restore color object. The - JComponent painting mechanism takes care of this by calling - create(). - -2006-11-14 Roman Kennke - - * gnu/java/awt/peer/GLightweightPeer.java - (handleEvent): Try to do something reasonable and trigger painting - for the lightweight component. - (getFontMetrics): Fetch and return a font metrics object from - the Toolkit. - -2006-11-13 Andrew John Hughes - - * gnu/java/util/regex/RETokenNamedProperty.java: - (getHandler(String)): Add support for 'all'. - -2006-11-13 Andreas Tobler - - * AUTHORS: Add myself. - -2006-11-13 Thomas Fitzsimmons - - * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and - Dalibor Topic. Re-order 'K' section. Remove trailing space from - Roman Kennke's entry. - -2006-11-13 Roman Kennke - - * java/awt/image/IndexColorModel.java - (createCompatibleSampleModel): Implemented missing method. - -2006-11-11 Andreas Tobler - - * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data - from big endian systems correctly. - -2006-11-11 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSColor.java - (isValidColor): New helper method. Checks strings if they - form a valid color value. - * gnu/javax/swing/text/html/css/Length.java - (Length): Catch number format exceptions. - * javax/swing/text/html/CSS.java - (addInternal): New method. Checks for shorthand CSS attributes - and parses them. - (parseBackgroundShorthand): New method. Parses the background - shorthand attribute. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.LinkAction): Made class a subclass of HiddenAction. - (HTMLReader.LinkAction.start): Implemented to load the linked - stylesheet. - (HTMLReader.LinkAction.end): Removed. This is not needed. - * javax/swing/text/html/StyleSheet.java - (CSSStyleSheetParserCallback.declaration): Push declaration - through CSS.addInternal() to parse shorthand attributes. - (addCSSAttribute): Push declaration through CSS.addInternal() - to parse shorthand attributes. - (importStyleSheet): Implemented. This adds a stylesheet from - an URL. - * javax/swing/text/html/TableView.java - (calculateColumnRequirements): Increase column index for - non CellView children to avoid endless loop. - * javax/swing/text/CompositeView.java - (setParent): Comparen with numChildren not with real arraylength. - -2006-11-11 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getChildBeanContextChild): Implemented. - -2006-11-10 Roman Kennke - - * javax/swing/text/View.java - (updateLayout): Only repaint when needed. - -2006-11-10 David Gilbert - - * java/util/Collections.java - (sort(List)): Minor API doc addition, - (sort(List, Comparator)): Likewise. - -2006-11-10 David Fu - - * javax/swing/text/html/HTMLWriter.java - (traverse): Removed Classpath specific handling of implied - tags. - (traverseHtmlFragment): Removed Classpath specific handling of - implied tags. - -2006-11-10 Roman Kennke - - * javax/swing/text/ParagraphView.java - (Row.getMaximumSize): Removed. This method is not necessary. - * javax/swing/text/html/TableView.java - (CellView): Moved attribute init to setPropertiesFromAttributes(). - (setPropertiesFromAttributes): Fetch attributes here. - (RowView.RowView): Documented. - (RowView.getMaximumSpan): Overridden to restrict the max span - in the Y direction. - (RowView.layoutMajorAxis): Correctly layout the spans. - (columnWidths): New field. Stores the width attributes of - the columns. - (calculateColumnRequirements): Added support for relative - (== percent) width attributes. - (calculateMajorAxisRequirements): Removed. - (calculateMinorAxisRequirements): Removed unnecessary code. - (getMaximumSpan): Overridden to restrict the table's width. - (layoutColumns): Documented. Implement more clever table layout, - i.e. for relative columns etc. - (layoutMinorAxis): Don't mark rows invalid. - (updateGrid): Added docs. Initialize column widths. - -2006-11-09 Roman Kennke - - * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, - * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. - Implement basic headless toolkit. - * java/awt/Toolkit.java - (getDefaultToolkit): Check headless property and create - headless toolkit when true. - -2006-11-09 Ingo Proetel -2006-11-09 Roman Kennke - - * gnu/java/awt/peer/swing/SwingButtonPeer.java - (SwingButton.button): New field. - (SwingButton.SwingButton): Added constructor. - (SwingButton.isShowing): Access button field instead of - the surrounding class. - (SwingButton.getParent): Access button field instead of - the surrounding class. - (SwingButtonPeer): Call new SwingButton constructor. - * gnu/java/awt/peer/swing/SwingComponent.java: - Several documentation updates. - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (currentPaintEvents): New field. - (peerFont): New field. - (SwingComponentPeer): Initialize currentPaintEvents fields. - (coalescePaintEvents): Implemented. - (dispose): Unregister peer from heavyweight list of its container. - (getGraphics): Fetch graphics from parent component. - (handleEvent): Discard paint event if its coalesced. - (init): Register component with its container for proper painting. - (paint): Call peerPaint(). - (peerPaint): Added argument that indicates if we should update. - Call paint or update on the actual AWT component. - (peerPaintComponent): New method. Paints the peer (Swing) component. - (setFont): Set peerFont field. - * gnu/java/awt/peer/swing/SwingContainerPeer.java - (backbuffer): New field. - (focusOwner): New field. - (heavyweightDescendents): New field. - (SwingContainerPeer): Take Container as argument. Don't call init - yet. - (addHeavyweightDescendent): New method. - (getFocusOwner): New helper method. - (getInsets): Delegate to insets(). - (handleKeyEvent): Dispatch event to focus owner. - (handleMouseEvent): Dispatch to child component. - (isDoubleBuffering): New helper method. - (peerPaint): Overridden to implement container painting with - double buffering. - (peerPaintChildren): New method. Paints the descendents of this - container. - (removeHeavyweightDescendent): New helper method. - * gnu/java/awt/peer/swing/SwingFramePeer.java - (peerPaint): Removed. - (peerPaintComponent): Overridden to paint the menu bar. - * gnu/java/awt/peer/swing/SwingLabelPeer.java - (SwingLabel.label): New field. - (SwingLabel.SwingLabel): Added constructor with Label argument. - (SwingLabel.getGraphics): Implemented to fetch the graphics from - the actual AWT component. - (SwingLabel.getParent): Implemented to fetch the parent from - the AWT component. - (SwingLabel.isShowing): Access the label field. - (SwingLabelPeer): Set alignment from label. - * gnu/java/awt/peer/swing/SwingListPeer.java: New class. - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation - fixlet. - * gnu/java/awt/peer/swing/SwingPanelPeer.java: - Don't be a lighweight peer. - (SwingPanelPeer): Call init. - * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java - (SwingTextField.textField): New field. - (SwingTextField.SwingTextField): New constructor. - (SwingTextField.isShowing): Access field not enclosing class. - (SwingTextField.getGraphics): New method. - (SwingTextField.getParent): New method. - (SwingTextFieldPeer): Call new constructor. - (select): Renamed arguments. - * gnu/java/awt/peer/swing/SwingWindowPeer.java - (SwingWindowPeer): Call init. - -2006-11-09 Tania Bento - - * javax/swing/JLabel.java - (JLabel(Icon)): Changed documentation; Changed text to null. - (JLabel(Icon,int)): Likewise. - (JLabel(text)): Changed documenation. - (JLabel(text,int)): Likewise. - (JLabel(text,Icon,int)): Changed documentation; Throw - IllegalArgumentException if int is not one of LEFT, RIGHT, - CENTER, LEADING or TRAILING. - -2006-11-09 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (BeanContextSupport): Use correct dtime default, - (BeanContextSupport(BeanContext)): Likewise, - (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed - locale argument, - (BeanContextSupport(BeanContext, Locale, boolean)): Likewise, - (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise. - -2006-11-09 David Gilbert - - * java/beans/beancontext/BeanContextSupport.java - (getBeanContextPeer): Implemented. - -2006-11-09 Roman Kennke - - * javax/swing/text/html/BlockView.java - (cssHeight): Removed. - (cssWidth): Removed. - (cssSpans): New field. Replaces the two fields above. - (BlockView): Allocate cssSpans array. - (layoutMinorAxis): Fetch and use child span, not this view's span. - (setCSSSpan): Adjusted to use cssSpans array. - (setPropertiesFromAttributes): Adjusted to use cssSpans array. - -2006-11-09 Roman Kennke - - * javax/swing/text/html/InlineView.java - (nowrap): New field. - (getBreakWeight): Add support for nowrap. - (setPropertiesFromAttributes): Fetch the nowrap setting. - -2006-11-09 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java - (parseRuleset): Use new Selector class. - (parseValue): Parse multiple anys, not only one. - (main): Allow stylesheet be specified on the command line. - Use new Selector class. - * gnu/javax/swing/text/html/css/CSSParserCallback.java - (startStatement): Use Selector class. - * gnu/javax/swing/text/html/css/CSSScanner.java - (readName): Actually read a character in the loop to avoid - endless loop. - * gnu/javax/swing/text/html/css/Length.java - (getValue): Only multiply when we have a percentage value. - * gnu/javax/swing/text/html/css/Selector.java: - New class. Provides handling of CSS selectors. - * javax/swing/text/html/StyleSheet.java - (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field. - (CSSStyle.PREC_AUTHOR_NORMAL): New constant field. - (CSSStyle.PREC_NORM): New constant field. - (CSSStyle.PREC_UA): New constant field. - (CSSStyle.PREC_USER_IMPORTANT): New constant field. - (CSSStyle.precedence): New field. - (CSSStyle.priority): Removed. - (CSSStyle.selector): New field. - (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector - and precendence. - (CSSStyle.compareTo): Adjusted to use the precedence and - specificity of the selector. - (CSSStyleSheetParserCallback.precedence): New field. - (CSSStyleSheetParserCallback.selector): Removed. - (CSSStyleSheetParserCallback.style): New field. - (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback): - Initialize with precedence. - (CSSStyleSheetParserCallback.declaration): Don't look up - existing rule, simply create new one. - (CSSStyleSheetParserCallback.endStatement): Append style - to stylesheet. - (CSSStyleSheetParserCallback.startStatement): Use new Selector - class. - (css): Changed to be ArrayList. - (addRule): Create parser with author-normal precendence. - (getRule): Fixed implementation. - (loadRules): Create parser with UA precendence. - (resolveStyle): Use Selector class for resolving and matching - stylesheet rules. - (translateHTMLToCSS): Added mappings for a couple of HTML - attributes. - -2006-11-09 David Gilbert - - Fixes bug #29770 - * java/beans/SimpleBeanInfo.java - (loadImage): Check for nulls. - -2006-11-09 Robert Schuster - - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (getpeername): Added 16 byte offset to memcpy operation. - -2006-11-09 Robert Schuster - - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (getsockname): Added 16 byte offset to memcpy operation. - -2006-11-08 Mark Wielaard - - Fixes bug #29754 - * java/io/OutputStreamWriter.java - (OutputStreamWriter(OutputStream,Charset)): Set encodingName. - (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. - -2006-11-08 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (getParser): Use plain HTML_401F DTD. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.print): Removed method and all calls to it. - (HTMLReader.printBuffer): Removed method and all calls to it. - (HTMLReader.inImpliedParagraph): New field. - (HTMLReader.inParagraph): New field. - (HTMLReader.addContent): Create implied p-tag if necessary. - (HTMLReader.addSpecialElement): Create implied p-tag if necessary. - (HTMLReader.blockClose): Close implied p-tag if necessary. - (HTMLReader.blockOpen): Close implied p-tag if necessary. - * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed. - -2006-11-08 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Removed mapping for TD tag. This - is done in TableView. - * javax/swing/text/html/TableView.java: - Implemented from scratch. - -2006-11-07 Roman Kennke - - * gnu/javax/swing/text/html/parser/support/Parser.java - (_handleText): Check if text content is actually allowed before - passing empty text fragments on to the parser callbacks. - -2006-11-07 Mark Wielaard - - * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar - path. - (flat): New method. - -2006-11-07 Tania Bento - - * java/awt/FlowLayout.java - (getSize): If parent does not have a component, then a - different formula is used to calcuate the width. - -2006-11-07 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Include ListView. - * javax/swing/text/html/ListView.java - (paint): Removed comment. - * javax/swing/text/html/StyleSheet.java - (CSSStyle.priority): New field. - (CSSStyle.CSSStyle(int)): New constructor with priority. - (CSSStyle.compareTo): New method. Used for sorting the styles. - (CSSStyleSheetParserCallback.declaration): Store the style - with the complete selector. - (ListPainter.attributes): Renamed as field. - (ListPainter.styleSheet): New field. - (ListPainter.type): New field. - (ListPainter.ListPainter): Pass StyleSheet to constructor. - (ListPainter.paint): Provide simplistic implementation. - (getListPainter): Pass StyleSheet to constructor. - (resolveStyle): Fixed CSS style resolving. - -2006-11-07 Roman Kennke - - * gnu/javax/swing/text/html/css/BorderWidth.java: - New class. Handles CSS border width values. - * gnu/javax/swing/text/html/css/Length.java - (floatValue): Made protected so that BorderWidth can access it. - * javax/swing/text/html/CSS.java - (Attribute.BORDER_BOTTOM_COLOR): New static field. - (Attribute.BORDER_BOTTOM_STYLE): New static field. - (Attribute.BORDER_LEFT_COLOR): New static field. - (Attribute.BORDER_LEFT_STYLE): New static field. - (Attribute.BORDER_RIGHT_COLOR): New static field. - (Attribute.BORDER_RIGHT_STYLE): New static field. - (Attribute.BORDER_TOP_COLOR): New static field. - (Attribute.BORDER_TOP_STYLE): New static field. - (getValue): Added some mappings for the border color and - border width values. - * javax/swing/text/html/CSSBorder.java: New class. Implements - CSS borders. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.background): New field. - (BoxPainter.border): New field. - (BoxPainter.bottomInset): Documented. - (BoxPainter.leftInset): Documented. - (BoxPainter.rightInset): Documented. - (BoxPainter.topInset): Documented. - (BoxPainter.BoxPainter): Added support for borders and background. - (BoxPainter.getInset): Add border insets. - (BoxPainter.paint): Implemented. Paints the background and the - CSS border. - (addRule): Be less picky about parse and IO exceptions. - (getBoxPainter): Adjust to new BoxPainter constructor. - -2006-11-07 Andreas - - * examples/Makefile.am: Add rule to install the *.html files we use - in the Swing Demo. - -2006-11-06 Francis Kung - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (fillRect): Handle custom composites. - (drawRenderedImage): Handle custom composites. - (drawImage): Handle custom composites. - (createBuffer): New method. - (drawLine): Handle custom composites. - (drawComposite): New method. - (fill): Handle custom composites. - (getNativeCM): New method. - (drawGlyphVector): Handle custom composites. - (drawRect): Handle custom composites. - (draw): Handle custom composites. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (drawComposite): Unset composite during draw call, to prevent parent - from handling composite again. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (getBufferCM): Added comments. - (getNativeCM): Made abstract. - (setComposite): Removed comments. - -2006-11-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Fixed initial window size and start document. - -2006-11-06 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement): Removed comment about - htmlAttributeSet. - (HTMLReader.handleComment): Create SimpleAttributeSet instead - of htmlAttributeSet. - * javax/swing/text/html/parser/DocumentParser.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * javax/swing/text/html/parser/ParserDelegator.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * gnu/javax/swing/text/html/parser/GnuParserDelegator.java - (gnuParser.handleStartTag): Use SimpleAttributeSet instead - of htmlAttributeSet. - * gnu/javax/swing/text/html/parser/support/Parser.java - (getAttributes): Return a SimpleAttributeSet. - (restOfTag): Don't set resolving parent here. - -2006-11-06 Tania Bento - - * java/awt/TextComponent.java - (setSelectionStart): Added check. - -2006-11-06 Tania Bento - - * java/awt/TextField.java - (minimumSize(int)): Check if minimum size has been previously - set and changed values of Dimension returned if peer == null. - (preferredSize(int)): Check if preferred size has been previously - set and changed values of Dimension returned if peer == null. - -2006-11-06 Roman Kennke - - * javax/swing/JTree.java - (TreeModelHandler.treeNodesRemoved): Implemented. - (TreeModelHandler.treeStructureChanged): Implemented. - (nodeStates): Made package private. - -2006-11-06 Francis Kung - - PR 29420 - * javax/swing/JTree.java - (clearSelectionPathStates): New private method to clean up nodeStates. - (removeSelectionPath): Call clearSelectionPathStates(). - (removeSelectionPaths): Call clearSelectionPathStates(). - (removeSelectionRow): Call clearSelectionPathStates(). - (setSelectionPath): Call clearSelectionPathStates(). - (setSelectionPaths): Call clearSelectionPathStates(). - (setSelectionRow): Call clearSelectionPathStates(). - -2006-11-06 Ito Kazumitsu - - Fixes bug #29703 - * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. - -2006-11-06 Roman Kennke - - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Changed to implement a minimalistic browser. - * examples/gnu/classpath/examples/swing/forms.html, - * examples/gnu/classpath/examples/swing/textstyles.html, - * examples/gnu/classpath/examples/swing/welcome.html: - Some example content. - -2006-11-06 Roman Kennke - - * javax/swing/text/ComponentView.java - (setParent): Lock the document and repaint the hosting - container. - * javax/swing/text/FlowView.java - (FlowStrategy.createView): Removed comment. - (FlowView): Initialize span with Short.MAX_VALUE. - (getFlowStart): Return 0 unconditionally. - (layout): Moved code around to make it more readable. - (loadChildren): Always set the parent. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.fontMetrics): New field. - (DefaultGlyphPainter.getAscent): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getBoundedPosition): Use new helper method - to synchronize the font metrics. - (DefaultGlyphPainter.getDescent): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getHeight): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.getSpan): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.modelToView): Use new helper method to - synchronize the font metrics. - (DefaultGlyphPainter.updateFontMetrics): New helper method for - font metrics caching. - (DefaultGlyphPainter.viewToModel): Use new helper method to - synchronize the font metrics. Fixed view to model mapping. - * javax/swing/text/View.java - (removeAll): Pass null to replace(). - (setParent): Only reparent children that have this view as parent. - -2006-11-05 Mark Wielaard - - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. - * include/gnu_java_nio_channels_FileChannelImpl.h: Removed. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Removed. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - Removed. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): - Remove gnu_java_nio_channels_FileChannelImpl.c. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/BlockView.java - (attributes): New field. - (cssHeight): New field. - (cssWidth): New field. - (painter): New field. - (calculateMajorAxisRequirements): Overridden to account for - CSS settings. - (calculateMinorAxisRequirements): Overridden to account for - CSS settings. - (layoutMinorAxis): Overridden to account for CSS settings. - (changedUpdate): Formatting fixlet. - (constrainSize): New helper method. - (getAlignment): Fix alignment. - (getAttributes): Cache attributes for better performance. - (getStyleSheet): Fetch stylesheet from document rather than creating - a new one. - (paint): Remove comment. - (setCSSSpan): New helper method. - (setPropertiesFromAttributes): Implemented to fetch the - recognized properties. - * javax/swing/text/html/CSS.java - (getValue): Added mapping for width and height attributes. - * javax/swing/text/html/InlineView.java - (longestWord): New field. - (getLongestWord): New helper method. - (calculateLongestWord): New helper method. - (getMinimumSpan): Overridden to constrain the minimum span by the - longest word. - * javax/swing/text/html/ParagraphView.java - (cssHeight): New field. - (cssWidth): New field. - (calculateMinorAxisRequirements): Overridden to account for - CSS settings. - (setCSSSpan): New helper method. - (setPropertiesFromAttributes): Fetch CSS width and height. Added - null check. - * gnu/javax/swing/text/html/css/Length.java - (percentage): New field. - (Length): Determine percentage values. - (getValue(float)): New method for handling percentage values. - (isPercentage): New method. - -2006-11-03 Tania Bento - - * java/awt/TextArea.java - (getMinimumSize): Changed documentation. - (getPreferredSize): Changed documentation. - (getMinimumSize(int,int)): Changed documenation. - (getPreferredSize(int,int)): Changed documenation. - (minimumSize): Changed documentation. - (preferredSize): Changed documenation. - (minimumSize(int,int)): Changed documentation. Checked if - minimum size had been previously set and changed values of - Dimension returned if peer == null. - (preferredSize(int, int)): Checked if preferred size had been - previously set and changed values of Dimension returned if - peer = null. - -2006-11-03 Tania Bento - - * java/awt/event/ComponentEvent.java - (paramString): Changed format of string representation returned. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.start): Added support for textarea. - (HTMLReader.FormAction.end): Added support for textarea. - (HTMLReader.HeadAction.end): Call super to actually close the - block. - (HTMLReader.inTextArea): New field. - (HTMLReader.textAreaDocument): New field. - (HTMLReader.handleText): Call textAreaContent when inside - a textarea tag. - (HTMLReader.textAreaContent): Implemented to initialize - the text area's model. - * javax/swing/text/html/FormView.java - (createComponent): Added support for textarea tag. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.IsindexAction.start): Implemented. - -2006-11-03 Roman Kennke - - * javax/swing/text/html/StyleSheet.java - (addRule): Implemented. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.inStyleTag): New field. - (HTMLReader.styles): New field. - (HTMLReader.HeadAction.end): Implemented to read all stylesheets, - if any. - (HTMLReader.StyleAction.start): Set inStyleTag flag. - (HTMLReader.StyleAction.end): Set inStyleTag flag. - (HTMLReader.handleText): When inside a style tag, add - content to the styles array. - -2006-11-02 Roman Kennke - - * javax/swing/text/html/FormView.java - (maxIsPreferred): New field. - (createComponent): Initialize components correctly. - (getMaximumSpan): Return the preferred span for components - that need this. The maxIsPreferred flag is set accordingly - in createComponent. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.FormAction.start): Implemented to set the - correct model as attribute. - (HTMLReader.FormAction.setModel): New helper method. - (HTMLReader.FormAction.end): Call super to finish the element. - Added TODO about things left to do. - (HTMLReader.handleComment): Use SimpleAttributeSet rather - than htmlAttributeSet. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create BlockView for FORM tags. - Create FormView for INPUT, TEXTAREA and SELECT tags. - -2006-11-02 David Gilbert - - * java/awt/geom/GeneralPath.java: API doc fixes. - -2006-11-02 Roman Kennke - - * javax/swing/text/html/ImageView.java - (getImageURL): Fetch attribute from element. Consider the - base URL for relative image locations. - -2006-11-02 Roman Kennke - - * javax/swing/JEditorPane.java - (setContentType): Strip off attributes. - * javax/swing/text/html/HTMLEditorKit.java - (LinkController.activateLink(int,JEditorPane,int,int): New - method. Implements activation of a hyperlink. - (LinkController.activateLinke(int,JEditorPane)): Delegate - to the other activateLink() method. - (LinkController.createHyperlinkEvent): New helper method. - (LinkController.mouseClicked): Implemented to activate the link. - (LinkController.mouseDragged): Added comment that this - method does nothing. - (LinkController.mouseMoved): Update cursor for hyperlinks. - (mouseHandler): Renamed field to linkController. - (HTMLEditorKit): Create a link controller. - (clone): Give the clone a new link controller. - (deinstall): De-install link controller as mouseMotionListener too. - (install): Install link controller as mouseMotionListener too. - -2006-11-02 Roman Kennke - - PR 29644 - * javax/swing/text/FlowView.java - (FlowStrategy.changedUpdate): Reversed condition. This caused - wrong layout and bad performance. - (FlowStrategy.insertUpdate): Reversed condition. This caused - wrong layout and bad performance. - (FlowStrategy.removeUpdate): Reversed condition. This caused - wrong layout and bad performance. - (LogicalView): Changed to be a subclass of CompositeView. - (LogicalView()): Only take one Element argument. - (LogicalView.childAllocation): New method for implementing - the abstract CompositeView method. - (LogicalView.forwardUpdateToView): Overridden for correct - reparenting. - (getMinimumSpan): Overridden to handle line breaking correctly. - (getPreferredSpan): Implemented to handle line breaking correctly. - (getViewAtPoint): New method for implementing - the abstract CompositeView method. - (getViewIndexAtPosition): Overridden to handle leaf elements - correctly. - (isAfter): New method for implementing - the abstract CompositeView method. - (isBefore): New method for implementing - the abstract CompositeView method. - (loadChildren): Overridden to handle leaf elements - correctly. - (paint): New method for implementing - the abstract CompositeView method. - (calculateMinorAxisRequirements): Use preferredSpan in calculation. - (loadChildren): Initialize flow layout by sending a synthetic - insertUpdate() to the layout strategy. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's - font metrics if component is not available. Add initial offset - to result. - (breakView): Be more clever when breaking the view. - (getBreakLocation): New helper method to determine a good - break location. - (getBreakWeight): Be more clever when breaking the view. - (getTabbedSpan): Make sure we have a painter. Use view's - start and end offset rather than the element's. - * javax/swing/text/Utilities.java - (drawTabbedText): Avoid useless add and sub with the y offset. - -2006-11-02 Roman Kennke - - PR 29644 - * gnu/java/awt/peer/ClasspathFontPeer.java - (getStringBounds): Removed abstract method. This is replaced - in java.awt.Font to use a TextLayout. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (GtkWindowPeer): Set a font on the window object. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector(Font,String,FontRenderContext,int)): - Changed to take char,int,int instead of String. Filter - control characters. - (FreetypeGlyphVector(Font,String,FontRenderContext)): - Create char array out of string. - (getLogicalBounds): Don't translate bounds. They already are - translated. - * gnu/java/awt/peer/gtk/GdkFontMetrics.java - (stringWidth): Filter out control characters. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getStringBounds): Removed unneeded method. - (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector - constructor. - * gnu/java/awt/peer/qt/QtFontPeer.java - (getStringBounds): Removed unneeded method. - * gnu/java/awt/peer/x/XFontPeer.java - (getStringBounds): Removed unneeded method. - * gnu/java/awt/peer/x/XFontPeer2.java - (getStringBounds): Removed unneeded method. - * java/awt/Font.java - (getStringBounds(char[],int,int,FontRenderContext)): - Use TextLayout to determine the bounds. - (getStringBounds(CharacterIterator,int,int,FontRenderContext)): - Delegate to the char[] version of this method. - (getStringBounds(String,FontRenderContext)): - Delegate to the char[] version of this method. - (getStringBounds(String,int,int,FontRenderContext)): - Delegate to the String version of this method. - -2006-11-01 Tania Bento - - * java/awt/ScrollPaneAdjustable.java - (paramString): Changed format of string representation returned. - (paramStringHelper): New private method. - -2006-11-01 Tania Bento - - * java/awt/GridBagLayout.java - (toString): Implemented method. - -2006-10-30 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading - initialization to NP_Initialize. - (NP_Initialize): Initialize GLib threading. - -2006-10-31 Tania Bento - - * javax/swing/JTextField.java - (fireActionPerformed): When creating the new event, if - actionCommand == null, then getText() is used. - -2006-10-31 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (fillArc): Corrected arc type to Arc2D.PIE. - -2006-10-31 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.PreAction.end): Implemented. - (HTMLReader.PreAction.start): Implemented. - (HTMLReader.inPreTag): New field. - (HTMLReader.handleTag): When inside a pre tag, call preContent(). - (HTMLReader.preContent): Implemented. - -2006-10-31 Tania Bento - - * javax/swing/JTextField.java - (fireActionPerformed): When creating the new event, - actionCommand should be used as the command, not - getText(). - -2006-10-31 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (write): Use HTMLWriter or MinimalHTMLWriter for writing - HTML or Styled documents. - -2006-10-31 David Fu - - * javax/swing/text/html/HTMLWriter.java: New class. - -2006-10-30 Roman Kennke - - * java/awt/dnd/DragSourceContext.java - (dragExit): Use constant fields instead of 0. - (updateCurrentCursor): Completed implementation. - -2006-10-30 Roman Kennke - - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Added API docs. Do not replace the events object - but rather clear() it. Removed not implemented tag. - -2006-10-30 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (writeExternal): Remove not implemented tag. - -2006-10-30 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (javaFileListFlavor): Don't explicitly specify class. - (plainTextFlavor): Don't explicitly specify class. - (mimeType): Changed to type MimeType. Remove final. - (representationClass): Remove final. - (DataFlavor): Don't do anything here. - (DataFlavor(Class,String,String)): Removed. - (DataFlavor(Class,String)): Initialize here. - (DataFlavor(String,String,ClassLoader)): Initialize in init(). - (DataFlavor(String,String)): Initialize in init(). - (DataFlavor(String)): Initialize in init(). - (init): New initialization method. - (getMimeType): Delegate to MimeType.toString(). - (getParameter(String,String)): Removed. Is now done in MimeType. - (getParameter(String)): Delegate to MimeType. - (getPrimaryType): Delegate to MimeType. - (getRepresentationClassFromMime): Removed. - (getRepresentationClassFromMimeThrows): Removed. - (getSubType): Delegate to MimeType. - (hashCode): Take MimeType.toString() for the hashCode. - (isFlavorRemoveObjectType): Return true only when representation - class is remove and serializable and the mime type is remote. - (isFlavorSerializedObjectType): Return true only when representation - class is serializable and the mime type is serialized. - (isMimeTypeEqual): Rewritten to delegate to MimeType.matches(). - (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual(). - (readExternal): Implemented stub method. - (writeExternal): Implemented stub method. - * java/awt/datatransfer/MimeType.java: New helper class. - -2006-10-28 Roman Kennke - - * javax/swing/TransferHandler.java - (importData): Implemented stub method. Added API docs. - -2006-10-26 Christian Elias Naur - - * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New - function. - * native/jni/classpath/classpath_jawt.h: Likewise. - * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added - initializer for surface_info_x11->depth. - -2006-10-26 Tania Bento - - * java/awt/FileDialog.java: - (setFile): Changed if-clause condition. - -2006-10-25 Francis Kung - - * include/gnu_java_nio_VMChannel.h, - * include/java_net_VMNetworkInterface.h, - * include/gnu_java_nio_EpollSelectorImpl.h, - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, - * include/gnu_java_nio_FileChannelImpl.h, - * include/gnu_java_nio_KqueueSelectorImpl.h, - * include/gnu_java_nio_VMPipe.h, - * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated. - -2006-10-25 Tania Bento - - * java/awt/Dialog.java: Created new private variable - next_dialog_number. - (Dialog(Frame, String, boolean, GraphicsConfiguration)): - Set cursor to default cursor. - (Dialog(Dialog, STring, boolean, GraphicsConfiguration)): - Same. - (generateName): New method. - (getUniqueLong): New private method. - * java/awt/FileDialog.java: Created new private variable - next_file_dialog_number. - (setFile): If file == "", set it to null. - (generateName): New method. - (getUniqueLong): New private method. - -2006-10-25 Robert Schuster - - * java/net/MulticastSocket.java: - (setNetworkInterface): Rewritten. - -2006-10-25 Robert Schuster - - * native/jni/java-net/javanet.h: Added declaration for - _javanet_create_inetaddress. - * native/jni/java-net/javanet.c: - (_javanet_create_inetaddress): Removed static keyword. - -2006-10-25 Robert Schuster - - * gnu/java/net/PlainDatagramSocketImpl.java: - (connect): Use VMChannel instance for connect call. - (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. - (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. - (setOption): Handle multicast options. - (getOption): Handle multicast options. - * gnu/java/net/PlainSocketImpl.java: - (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. - (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. - (setOption): Filter unappropriate options. - (getOption): Filter unappropriate options. - (connect): Use given SocketAddress. - (close): Reset address and port. - (getInetAddress): - * include/Makefile.am: Removed all occurences of - gnu_java_net_VMPlainDatagramSocketImpl.h. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. - * native/jni/java-net/Makefile.am: Removed - gnu_java_net_VMPlainDatagramSocketImpl.c from sources. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Removed. - as SocketException, declare to throw SocketException. - * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions - for SocketException and ConnectException. - (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead - of IOException. - (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead - of IOException. - (Java_gnu_java_nio_VMChannel_accept): Rewritten. - (JCL_thread_interrupted): New function. - (initIDs): Added initialisation for isThreadInterrupted method id. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added - CPNET_IP_TTL to java_sockopt enum. - (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL - case, handle SO_LINGER case properly. - (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL - case, handle SO_LINGER case properly. - (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New - function. - (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be - IPV6_LEAVE_GROUP. - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed. - * vm/reference/gnu/java/nio/VMChannel.java: - (connect(int, byte[], int, int)): Declare to throw SocketException. - (connect6): Declare to throw SocketException. - (connect(InetSocketAddress, int)): Catch IOException and rethrow - (isThreadInterrupted): New method. - * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL - field. - (setTimeToLive): New method. - (getTimeToLive): New method. - (setMulticastInterface(int, InetAddress)): New method. - (setMulticastInterface(int, int, Inet4Address): New method. - (setMulticastInterface6(int, int, Inet6Address): New method. - (setOptions): Handle SO_LINGER case. - (getOptions): Add missing SO_REUSEADDR case. - * java/net/Socket.java: - (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket - when exception was thrown out of connect(). - (setSoLinger): Replaced instantiations with valueOf calls, replaced - Boolean.FALSE with Integer.valueOf(-1). - * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration. - * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation. - * NEWS: Documented VM interface changes. - -2006-10-25 Robert Schuster - - * java/net/Inet6Address.java: - (isMulticastAddress): Fixed check. - -2006-10-25 Robert Schuster - - Fixes PR29576 - * java/net/MulticastSocket.java: - (getNetworkInterface): Return a special NetworkInterface instance - if the socket's multicast interface is set to any. - -2006-10-25 Robert Schuster - - Fixes PR29576 - * java/net/NetworkInterface.java: - (createAnyInterface): New method. - (equals): Added if-statement to handle case where netif.name is null. - * vm/reference/java/net/VMNetworkInterface.java: - (hashCode): Rewritten. - (VMNetworkInterface): New constructor. - -2006-10-24 Thomas Fitzsimmons - - * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS. - * tools/toolwrapper.c (main): Set bootclasspath, not classpath. - Add ASM_JAR to bootclasspath. - -2006-10-24 Tania Bento - - * java/awt/Scrollbar.java: - (setLineIncrement): Removed unnecessary if-clause and if - lineIncrement == 0, then it should be set to 1, not 0. - (setPageIncrement): Removed unnecessary if-clause and if - pageIncrement == 0, then it should be set to 1, not 0. - (setValues): If visibleAmount <= 0, it should be set to 1, not 0. - If maximum <= minimum, maximum should be set to mininum + 1. The - actual value of maximum is maximum - visibleAmount, so I made - this change to the appropriate if-check. Remove the two unneccessary - if-clauses. - -2006-10-23 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoSetFont): New method. - (copy): Set font using setFont method. - (setFont): Call cairoSetFont. - (setup): Set font using setFont method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (install_font_peer): Removed. - (cairoDrawGlyphVector): Removed call to install_font_peer. - (cairoSetFont): New method. - -2006-10-23 Thomas Fitzsimmons - - * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. - * gnu/java/awt/peer/gtk/GtkMainThread.java: Post - NativeEventLoopRunningEvent after GTK main loop start and stop. - * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. - (getNextEvent): Set dispatchThread to null. - (postEventImpl): Set nativeLoopRunning. - (pop): Interrupt event dispatch thread. - * java/awt/Frame.java (noteFrame): Synchronize on weakFrames. - -2006-10-22 Christian Thalinger - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h): - Added include. - * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h): - Likewise. - -2006-10-23 Marco Trudel - - * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test. - * javax/crypto/CipherOutputStream.java: Re-implemented. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded - decryption mode and check if it is a complete block. - (engineUpdate(byte[], int, int, byte[], int)): Likewise. - (engineDoFinal(byte[], int, int)): In padded decryption mode, take - partially processed data into account. - -2006-10-21 Tom Tromey - - PR classpath/29086: - * java/util/AbstractCollection.java (toArray): Removed cast. - -2006-10-20 Tom Tromey - - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): - Don't use mangled class name for .h file. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): - Don't use mangled class name for .c file. - * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): - Handle classes from the default package. - -2006-10-20 Francis Kung - - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants. - -2006-10-19 Francis Kung - - PR 29510 - * java/awt/image/BufferedImage.java - (constructor): Updated some properties of default image types. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (argb32): Updated field to match default in BufferedImage. - -2006-10-18 Roman Kennke - - PR 29419 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copyArea): Changed size comparison to return when size == 0 - too. - * javax/swing/JViewport.java - (paintBackingStore): Check width and height of blitted area - and only do blit if its > 0. - (paintBlit): Check width and height of blitted area - and only do blit if its > 0. - -2006-10-18 Roman Kennke - - PR 27091 - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (maximize): New native method. - (unmaximize): New native method. - (iconify): New native method. - (deiconify): New native method. - (getState): Implemented. - (setState): Implemented. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (oldState): Rename to windowState and made protected, so that - the FramePeer can access it. - (postWindowEvent): Handle state change events more gently and - correctly. - * java/awt/Frame.java - (getState): Fetch state from getExtendedState(). - (setExtendedState): Update the peer. Check if the state change - is actually supported. - (getExtendedState): Update the state from the peer. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c - (maximize): New method. - (unmaximize): New method. - (iconify): New method. - (deiconify): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (AWT_FRAME_NORMAL): New macro. - (AWT_FRAME_ICONIFIED): New macro. - (AWT_FRAME_MAXIMIZED_BOTH): New macro. - (window_window_state_cb): Rewritten to handle window state changes - more gently (mostly on the java side of the world). - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated. - -2006-10-18 Tania Bento - - * java/awt/CardLayout.java: - (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as - its height and width if Container passed as argument is null. - (gotoComponent): Consider the case where the component is not visible. - -2006-10-18 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Rename file... - * resource/gnu/classpath/tools/appletviewer/messages.properties: - New file. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - Remove file. - * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: - Remove file. - * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/Messages.java: New file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: - Retrieve user-visible strings through Messages.getString. - * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: - Likewise. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: - Likewise. - -2006-10-18 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (AWT_WINDOW_OPENED): Remove unnecessary macro. - (window_show_cb): Removed unnecessary function. - (connect_signals): Don't connect signal for show. * - gnu/java/awt/peer/gtk/GtkWindowPeer.java - (hasBeenShown): Removed. This is handled in java.awt.Window. - (postWindowEvent): Removed handling of WINDOW_OPENED. This is done - in java.awt.Window. * java/awt/Window.java - (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED. - -2006-10-18 Francis Kung - - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - (drawRenderedImage): New method. - (drawImage): New method. - (CairoSurfaceGraphics): Set clip. - (createBuffer): New method. - (getBufferCM): New method. - (drawComposite): New method. - (fill): New method. - (getNativeCM): New method. - (drawGlyphVector): New method. - (draw): New method. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (getNativeCM): Reflect renamed field. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoCM_pre): Renamed from cairoColorModel. - (cairoColorModel): Set premultiplication to false. - -2006-10-18 Roman Kennke - - PR 28769 - * javax/swing/JScrollPane.java - (viewportBorder): Made field private. - (wheelScrollingEnabled): Made field private. - (JScrollPane): Enabled wheel scrolling by default. - * javax/swing/JTree.java - (TreeSelectionRedirector.valueChanged): Don't repaint anything - here. - (getScrollableUnitIncrement): Fixed thinko. - * javax/swing/plaf/basic/BasicScrollBarUI.java - (static scrollByBlock): New static method to avoid code duplication - for the BasicScrollPane wheel scrolling. - (static scrollByUnits): New static method to avoid code duplication - for the BasicScrollPane wheel scrolling. - (scrollByBlock): Delegate to static helper method. - (scrollByUnit): Delegate to static helper method. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI - static helper methods to avoid code duplication. - (MouseWheelHandler.bounds): Removed. - (MouseWheelHandler.getValue): Removed. - (MouseWheelHandler.scroll): Removed. - -2006-10-18 Roman Kennke - - PR 29502 - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (updateComponent): Don't override this here. - * java/awt/Window.java - (addWindowListener): Ignore null listener. Set newEventsOnly flag. - (addWindowFocusListener): Ignore null listener. Set newEventsOnly - flag. - (addWindowStateListener): Ignore null listener. Set newEventsOnly - flag. - -2006-10-18 Roman Kennke - - * javax/swing/JEditorPane.java - (getStream): Try to detect and set the content type of the - connection stream. - -2006-10-18 Roman Kennke - - * javax/swing/RepaintManager.java - (RepaintWorkerEvent): Pass full set of params to super. - (RepaintWorker.dispatch): Overridden to allow apps to call this - via reflection. - (addDirtyRegion): Synchronize a little more to protect the - dirtyComponents field and avoid NPEs. - (invokeLater): Pass full set of params to RepaintWorkerEvent - constructor. - -2006-10-18 Roman Kennke - - * javax/swing/JEditorPane.java - (page): Removed field. The page is now stored in the correct - document property. - (getPage): Fetch page URL from document property. - (read): Set the document for this JEditorPane. Use a Reader - for reading in the document. - (setPage): Call getStream() to get the stream from which we read. - Fire property change. Store page in document property. - -2006-10-18 Roman Kennke - - * java/awt/datatransfer/DataFlavor.java - (DataFlavor(String)): Removed check for space in mime string. - -2006-10-18 Roman Kennke - - * java/awt/Container.java - (validateTree): Call ContainerPeer.begin|endLayout() rather than - begin|endValidate(). - (validate): Call ContainerPeer.begin|endValidate() here. - Added some local vars to avoid NPEs. - -2006-10-18 Roman Kennke - - * native/target/.cvsignore - * native/target/Linux/.cvsignore - * native/target/generic/.cvsignore: - Added to let CVS ignore the generated Makefile and Makefile.in - files. - -2006-10-18 Roman Kennke - - PR 29448 - * java/awt/Window.java - (eventTypeEnabled): Overridden to handle WindowEvents. - (processEvent): Switch between processWindowEvent(), - processWindowFocusEvent() and processWindowStateEvent() here, - rather than simply calling processWindowEvent(). - (processWindowEvent): Only dispatch event to listener, do not - switch to processWindowFocusEvent() or processWindowStateEvent() - here. - * javax/swing/JFrame.java - (frameInit): Explicitly enable window and key events here. - (processWindowEvent): Throw out some unnecessary code. - * javax/swing/JWindow.java - (windowInit): Explicitly enable key events here. - * javax/swing/JDialog.java - (close_action): Renamed to closeAction. - (dialogInit): Explicitly enable window events here. - (getDefaultCloseOperation): Renamed close_action to closeAction. - (processWindowEvent): Throw out some unnecessary code. - Renamed close_action to closeAction. - (setDefaultCloseOperation): Renamed close_action to closeAction. - -2006-10-17 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag - to track native GTK event loop status. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and - clear running flag when native GTK event loop starts and stops. - -2006-10-17 Roman Kennke - - * javax/swing/TransferHandler.java - (exportToClipboard): Implemented. - -2006-10-17 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated - region to account for pixel-shifting. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made - proctected. - -2006-10-17 Francis Kung - - PR 29450 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getLogicalBounds): Translate individual glyphs before appending bounds. - (getOutline): Translate individual glyphs before appending outline. - -2006-10-17 Cameron McCormack - - PR 29014 - * java/awt/font/TextLayout.java - (bidi): New field. - (constructor): Store bidi in field. - (getCharacterLevel): Implemented. - -2006-10-17 Roman Kennke - - * javax/swing/TransferHandler.java - (PropertyTransferable): New inner class. Handles transfers - from component properties. - (createTransferable): Implemented. - -2006-10-17 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (drawComposite): Ensure composite does not extend beyond buffer - bounds. - * java/awt/image/Raster.java - (createChild): Ensure child does not extend beyond parent's - bounds. - * java/awt/image/WritableRaster.java - (createWritableChild): Ensure child does not extend beyond - parent's bounds. - -2006-10-17 Jeroen Frijters - - * native/jni/classpath/jcl.c - (JNI_OnLoad): Corrected calling convention. - -2006-10-16 Roman Kennke - - * javax/swing/TransferHandler.java - (propertyName): New field. - (TransferHandler(String)): Store property name in field. - (canImport): Implemented stub method. - (exportDone): This is a no-op. Removed not-implemented mark. - (getPropertyDataFlavor): New helper method. - (getPropertyDescriptor): New helper method. - -2006-10-16 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleJButton.getAfterIndex): Implemented. - (AccessibleJButton.getAtIndex): Implemented. - (AccessibleJButton.getBeforeIndex): Implemented. - (AccessibleJButton.getCharacterAttribute): Completed incomplete - method implementation. - -2006-10-16 Roman Kennke - - * javax/swing/JLabel.java - (AccessibleJLabel.getIndexAtPoint): Implemented. - (AccessibleJLabel.getCharacterBounds): Implemented. - (AccessibleJLabel.getTextRectangle): New helper method. - -2006-10-16 Roman Kennke - - * javax/swing/filechooser/FileSystemView.java - (getFileSystemView): Mark as implemented. - -2006-10-14 Roman Kennke - - PR 27957 - * javax/swing/JComponent.java - (toolTipText): Removed field. - (createToolTip): Don't set tooltip text here. This is done - in the ToolTipManager. - (setToolTipText): Set tooltip text as client property. - (getToolTipText): Get tooltip text from client property. - * javax/swing/ToolTipManager.java - (currentComponent): Made field non-static and of type JComponent. - (currentPoint): Made field non-static. - (currentTip): Made field non-static. - (popup): Made field non-static. - (toolTipText): New field. Stores the current tooltip text. - (checkTipUpdate): New helper method. Checks for updates of - the tooltip text and triggers the appropriate actions. - (getContentPaneDeepestComponent): Removed unneeded casts. - (mouseEntered): Removed unneeded cast. Initially fetch tooltip - text from component. - (mouseMoved): Check for tooltip text updates. - (showTip): Set tooltip text from current setting. - -2006-10-14 Roman Kennke - - PR 27956 - * javax/swing/JSlider.java - (setPaintLabels): Call setLabelTable() instead of setting - the field directly. This also updates the label's size. - -2006-10-13 Tom Tromey - - * tools/gnu/classpath/tools/javah/ClassWrapper.java (toString): New - method. - -2006-10-13 Tania Bento - - * java/awt/ScrollPane.java - (setLayout): Should throw AWTError whenever called. - -2006-10-13 Roman Kennke - - PR 29448 - * java/awt/Component.java - (dispatchEventImpl): Special handle ComponentReshapeEvents to - update the AWT's knowledge about a component's size. - * gnu/java/awt/ComponentReshapeEvent.java: New class. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (postConfigureEvent): Directly dispatch a ComponentReshapeEvent - to update the AWT's knowledge about the component bounds. - -2006-10-13 Tania Bento - - * java/awt/ScrollPaneAdjustable.java - (setMaximum): Should throw AWTError whenever called. - (setMinimum): Same. - (setVisibleAmount): Same. - -2006-10-13 Tania Bento - - * java/awt/ScrollPane.java - (addImpl): When calling super, index should be value passed, - not -1. - (getIsValidString): New helper method for paramString(). - (getScrollbarDisplayString): New helper method for paramString(). - (paramString): Changed format of outputted string. - -2006-10-13 David Gilbert - - * javax/swing/tree/DefaultTreeSelectionModel.java - (clone): Added cast to TreePath[]. - -2006-10-13 Roman Kennke - - PR 27780 - * javax/swing/JMenuItem.java - (isDragging): New field. Indicates if we are inside a mouse - drag. - (createMenuDragMouseEvent): Removed unneeded method. - (processMenuDragMouseEvent): Track if we are dragging. - (processMouseEvent): Simply forward to processMenuDragMouseEvent(). - * javax/swing/plaf/basic/BasicMenuItemUI.java - (MenuDragMouseHandler.menuDragMouseDragged): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseEntered): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseExited): Fetch - MenuSelectionManager from event. - (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse - release inside menu item, otherwise clear selection. - (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() - and getY(). Call doClick() rather than the doClick() of JMenuItem. - (doClick): Perform an immediate click. - -2006-10-13 Thomas Fitzsimmons - - * javax/swing/DefaultComboBoxModel.java (setSelectedItem): Simply - return if object is not in the list. - -2006-10-12 Andrew Haley - - * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. - * java/lang/ThreadLocal.java: Likewise. - -2006-10-12 Roman Kennke - - PR 27956 - * javax/swing/JSlider.java - (LabelUIResource): New inner class. A JLabel as UIResource. - (createStandardLabels): Don't set label bounds here. - Create LabelUIResource instances. - (setInverted): Repaint. - (setLabelTable): Update the label UIs. Revalidate and repaint. - (setMajorTickSpacing): Update the label table. Repaint if - necessary. - (setMinorTickSpacing): Repaint if necessary. - (setOrientation): Revalidate. - (setPaintLabels): Revalidate and repaint. - (setPaintTicks): Revalidate and repaint. - (setPaintTrack): Repaint. - (updateLabelUIs): Set the label sizes here. - (updateUI): Also update the label UIs. - * javax/swing/plaf/basic/BasicSliderUI.java - (ComponentHandler.componentResized): Don't revalidate. - (FocusHandler.focusGained): Don't set field. - (FocusHandler.focusLost): Don't set field. - (PropertyChangeHandler.propertyChange): Calculate geometry - and repaint for a couple more properties. - (TrackListener.mouseReleased): Repaint. - (hasFocus): Removed unneeded field. - (calculateContentRect): No need to check for content size < 0. - (calculateFocusRect): Use insets from insetCache. - (calculateLabelRect): Fixed calculation of label rectangle. - It is relative to the tick rectangle, rather than the content - rectangle. - (calculateTickRect): Small restructuring to avoid unnecessary - comparisons. - (calculateTrackRect): Fixed calculation of track rectangle. - (getMaximumSize): Fixed. Fetch preferred size and set - the height of width to Short.MAX_VALUE. - (getMinimumHorizontalSize): Fixed to return UIManager value. - (getMinimumVerticalSize): Fixed to return UIManager value. - (getPreferredHorizontalSize): Fixed to return UIManager value. - (getPreferredVerticalSize): Fixed to return UIManager value. - (getMinimumSize): Fixed to return the UIManager value plus - insets added. - (getPreferredSize): Fixed to return the UIManager value plus - insets added. - (getWidthOfWidestLabel): Restructured for more cleanness and - efficiency. - (hitClip): New helper method. - (paintHorizontalLabel): Replaced by more efficient and clean - implementation. - (paintVerticalLabel): Replaced by more efficient and clean - implementation. - (paintLabels): Replaced by more efficient and clean - implementation. - (paint): Check if rectangles intersect with clip for maximum - efficiency. - (recalculateIfInsetsChanged): Fixed. This method should - recalculate only when the insets changed. - (setThumbLocation): Repaint with a reasonable clip. - (xPositionForValue): Made more clean and efficient. - (yPositionForValue): Made more clean and efficient. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponenDefaults): Added Slider.horizontalSize, - Slider.verticalSize, Slider.minimumHorizontalSize and - Slider.minimumVerticalSize properties. - * javax/swing/plaf/metal/MetalSliderUI.java - (getTickLength): Add 1 for horizontal sliders and 3 for - vertical sliders. - (paintMajorTickForHorizSlider): Fix colors. Fix line locations. - (paintMinorTickForHorizSlider): Fix colors. Fix line locations. - (paintMajorTickForVertSlider): Fix colors. Fix line locations. - (paintMinorTickForVertSlider): Fix colors. Fix line locations. - -2006-10-12 Roman Kennke - - PR 28696 - * javax/swing/text/FlowView.java - (FlowStrategy.layout): Preserve logical views from getting lost. - (FlowStrategy.layoutRow): Fix line breaking. - (FlowStrategy.adjustRow): Fix line breaking. - (FlowStrategy.changedUpdate): Mark layout invalid, or repaint. - (FlowStrategy.insertUpdate): Mark layout invalid, or repaint. - (FlowStrategy.removeUpdate): Mark layout invalid, or repaint. - (createView): Don't check index. - (contains): New helper method. - (reparent): New helper method. - (layoutDirty): Removed unneeded field. - (FlowView): Removed layoutDirty field init. - (changedUpdate): Removed layoutDirty handling. - (insertUpdate): Removed layoutDirty handling. - (removeUpdate): Removed layoutDirty handling. - (layout): Use isLayoutValid() rather than the layoutDirty field. - * javax/swing/text/GlyphView.java - (startOffset): Removed. - (endOffset): Removed. - (offset): New field. - (length): New field. - (GlyphView): Initialize new fields. Removed old fields. - (createFragment): Create fragment with new relative offsets. - (getEndOffset): Work with new relative offsets. - (getStartOffset): Work with new relative offsets. - * javax/swing/text/ParagraphView.java - (Row.getStartOffset): Overidden to determine the minimum start - offset from the children. - (Row.getEndOffset): Overidden to determine the maximum end - offset from the children. - * javax/swing/text/html/BRView.java - Make subclass of InlineView. - (getBreakWeight): Fall back to super for Y_AXIS. - -2006-10-12 Roman Kennke - - PR 28733 - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabPaneLayout.normalizeTabRuns): Replaced algorithm with - one that avoids faulty state that could cause division by zero - error. - -2006-10-12 Roman Kennke - - PR 28057 - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Determine correct icon. Added support for HTML label. - Added small optimizations. - (getPreferredSize): Only consider the buttons iconTextGap, and - only when the text is not null. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Fetch border for RadioButton from - BasicButtons.getRadioButtonBorder(). - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (paintFocus): Paint focus rectangle one pixel smaller. - -2006-10-12 Roman Kennke - - PR 29418 - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions): Don't throw InternalError, but instead - return null. - (getRowsForPaths): Check for null here. - (isFixedRowHeight): Returns true when rowHeight > 0. - (setSelectionModel): Set this as the row mapper for the selection - model. - * javax/swing/tree/VariableHeightLayoutCache.java - (NodeRecord.NodeRecord): Initialize bounds field. - (getBounds): Simply return the bounds field. - (row2Node): Changed to be an ArrayList. - (RECT_CACHE): New field. Caches a Rectangle instance. - (countRows): Added y parameter and return value. The method - now takes the current y position as parameter, and returns - the updated y position. - (getBounds): Fixed to return the correct bounds. - (getPathForRow): Replaced by fixed implementation. - (getPreferredHeight): Replaced by more efficient implementation. - This simply fetches the last node record and returns its lower - bounds. - (getPreferredWidth): Added null check. - (getVisibleChildCount): Added null check. - (getVisiblePathsFrom): Added null check. - (setExpandedState): Also expand the ancestors of the node - to be expanded. - (setModel): Set dirty flag rather than updating for real. - (setNodeDimensions): Overridden to set the dirty flag. - (setRowHeight): Overridden to set the dirty flag. - (update): Don't special case the root here, this is done now - in countRows(). - -2006-10-12 Roman Kennke - - * javax/swing/JComponent.java - (paintImmediately2): Added support for components which need - to force themselves as paint root. - (isPaintRoot): New method. This should be overridden by components - which need to force themselves as paint root. - * javax/swing/JViewport.java - (isPaintRoot): Overridden to force the viewport as paint root - when running in backingstore mode. - -2006-10-12 Roman Kennke - - * javax/swing/tree/DefaultTreeSelectionModel.java - (PathPlaceHolder): New inner class. Wraps a path and its status - wrt to its newness. - (selectedPaths): New field. A supporting datastructure. - (tmpPaths): New field. A supporting datastructure. - (DefaultTreeSelectionModel): Initialize the list selection model, - the leadIndex and the supporting datastructures. - (addPropertyChangeListener): Create changeSupport object lazily. - (addSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (addSelectionPath): Delegate to addSelectionPaths(). - (arePathsContiguous): Replaced with more efficient implementation - using BitSet - (canPathBeAdded): Removed unneeded method. - (canPathsBeAdded): Replaced with more efficient implementation. - (clearSelection): Create correct event. Clear the fields correctly, - including the supporting datastructures. - (clone): Also clone the supporting datastructures and nullify - changeSupport field. - (getMaxSelectionRow): Delegate to list selection model. - (getMinSelectionRow): Delegate to list selection model. - (getPath): Removed unneeded method. - (getPropertyChangeListeners): Handle null changeSupport field - correctly. - (getRow): Handle null rowMapper field correctly. - (getSelectionRows): Handle invisible rows correctly. - (insureRowContinuity): Replaced by more efficient and correct - implementation. - (isRowSelected): Delegate to list selection model. - (notifyPathChange): Made more efficient by use of PathPlaceHolder - class. - (removePropertyChangeListener): Handle null changeSupport field. - (removeSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (removeSelectionPath): Delegate to removeSelectionPaths(). - (resetRowSelection): Handle list selection model. - (selectOne): Removed unneeded field. - (setRowMapper): Reset the row selection. - (setSelectionMode): Check for invalid mode and set to - DISCONTINUOUS_TREE_SELECTION in this case. Fire property change. - (setSelectionPaths): Mostly rewritten to handle the different - selection modes correctly. - (setSelectionPath): Delegate to setSelectionPaths(). - (updateLeadIndex): Made more efficient. - -2006-10-11 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (buffer, locked): New fields. - (constructors): Initialize new variables. - (createBuffer): New method. - (draw): Implement custom composites. - (drawComposite): New method. - (drawGlyphVector): Implement custom composites. - (drawImage): Implement custom composites. - (drawRenderedImage): Implement custom composites. - (fill): Implement custom composites. - (getBufferCM): New method. - (getNativeCM): New method. - (updateBufferedImage): Fix premultiplication. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Copy composite. - (drawImage): Set background properly. - (getBufferCM): New method. - (setComposite): Reset alpha composite when using custom composite. - * gnu/java/awt/peer/gtk/CairoSurface.java - (cairoColorModel): New field. - (nativeColorModel): Renamed. - (constructor): Use renamed createCairoSampleModel method. - (createCairoSampleModel): New method. - (createNativeSampleModel): Renamed. - (getBufferedImage): Use renamed cairoColorModel field. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - (gdkColorModel): New field. - (createGdkSampleModel): New method. - (getPixels): Added comments. - (getSnapshot): Use GDK colour and sample models. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (createBuffer): Use GDK colour and sample models. - (getNativeCM): Added comments. - * java/awt/image/BufferedImage.java - (constructor): Set premultiplied flag properly. - -2006-10-11 Edwin Steiner - - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE. - -2006-10-10 Francis Kung - - PR 29372 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (createPath): Added isDraw parameter. - (draw): Updated createPath call. - (fill): Updated createPath call. - -2006-10-10 Tom Tromey - - PR classpath/29362: - * gnu/xml/transform/TransformerImpl.java (transform): Only strip if - there is a stylesheet. - -2006-10-10 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultTookit): Make method synchronized to avoid - accidentally creating more than one toolkits from different - threads. - -2006-10-10 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Redispatch MOUSE_WHEEL events too. - (redispatch): Transfer the button to the redispatched event. - -2006-10-10 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Implemented. - -2006-10-09 Christian Elias Naur - - * vm/reference/java/lang/VMClassLoader.java: - (defineClassWithTransformers): Use proper class name format. - -2006-10-09 Gary Benson - - * java/net/ServerSocket.java - (implAccept): Add security check. - (accept): Close socket if security check fails. - (setSocketFactory): Add security check and already-set check. - -2006-10-09 Roman Kennke - - PR 29325 - * javax/swing/JSplitPane.java - (dividerLocation): New field. Stores the divider location. - (JSplitPane): Initialize dividerLocation with -1. - (addImpl): Removed unneeded local variables. - (getDividerLocation): Manage dividerLocation in the JSplitPane - class, not in the UI. - (setDividerLocation): Manage dividerLocation in the JSplitPane - class, not in the UI. Only call the UI method for notification. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Fetch divider - location from the JSplitPane. Honour the minimumSize, but only - if the divider location hasn't been set explicitly. - (BasicHorizontalLayoutManager.minimumLayoutSize): Removed unneeded - statement. - (BasicHorizontalLayoutManager.preferredLayoutSize): Removed unneeded - statement. - (BasicHorizontalLayoutManager.resetToPreferredSizes): Don't touch - the divider location. - (dividerLocationSet): New field. - (dividerLocation): Removed field. - (createActionMap): Fetch and set divider location on the JSplitPane. - (getDividerLocation): Return the actual real divider location. - (getMaximumSize): Removed unneeded cast. - (getPreferredSize): Removed unneeded cast. - (getMinimumSize): Removed unneeded cast. - (installUI): Initialize dividerLocationSet with false. - (uninstallUI): Initialize dividerLocationSet with false. - (setDividerLocation): Set dividerLocationSet to true. - -2006-10-09 Robert Schuster - - * native/jni/java-net/gnu_java_net/VMPlainSocketImpl.c: - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): Properly - convert jstring into char *. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): Dito. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): Dito. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): Dito. - (getif_address): Added const modifier to second argument. - (getif_index): Dito. - -2006-10-09 Roman Kennke - - * javax/swing/JTree.java - (isSelected): Added API docs. - -2006-10-09 Roman Kennke - - * javax/swing/JTree.java - (isSelected): Delegate to the selection model directly. - -2006-10-09 Robert Schuster - - * gnu/java/nio/KqueueSelectorImpl.java: Renamed field - sizeof_struct_kevent to _sizeof_struct_kevent. - -2006-10-07 Audrius Meskauskas - - * tools/gnu/classpath/tools/rmic/RMICException.java: - javadoc corrections, reformatted. - -2006-10-07 Christian Elias Naur - - * gnu/java/lang/InstrumentationImpl.java: - Made constructor package visible. - -2006-10-05 Gary Benson - - * java/net/Socket.java - (Socket): Perform security check on address not hostname. - -2006-10-04 Roman Kennke - - * javax/swing/tree/VariableHeightLayoutCache.java - (getBounds): When rect is null, create a new Rectangle. - -2006-10-04 Christian Thalinger - - * native/jni/java-nio/javanio.c (cpnio_read, cpnio_readv) - (cpnio_write, cpnio_writev, cpnio_socket, cpnio_connect) - (cpnio_accept, cpnio_sendto, cpnio_recvfrom, cpnio_fcntl) - (cpnio_select): Use CPNIO_EXPORT. - * native/jni/java-nio/javanio.h (CPNIO_EXPORT): Define to static - inline instead of extern inline, as newer GCCs changed their - behavior. - -2006-10-04 Gary Benson - - * java/net/InetAddress.java: Updated javadoc. - (, getByLiteral): Throw InternalError on failures. - -2006-10-03 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (compCtx): New field for composite context. - (copy): Copy composite. - (dispose): Dispose of composite context. - (getNativeCM): New method. - (setComposite): Discard old composite context and set up new context. - (setRenderingHints): Update composite context. - * gnu/java/awt/peer/gtk/CairoSurface.java - (nativeColorModel): New field, renamed from nativeModel. - (nativeModel): Renamed field to nativeColorModel. - (CairoSurface(int, int)): Call new method to create sample model. - (createNativeSampleModel): New method. - (getBufferedImage): Updated variable name. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (buffer): New field. - (createBuffer): New method. - (draw): New method. - (drawComposite): New method. - (drawGlyphVector): New method. - (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. - (drawImage(Image, int, int, ImageObserver)): Check composite. - (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. - (fill): New method. - (getNativeCM): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use - intermediary pixbuf to grab on-screen pixels. - -2006-10-03 Tom Tromey - - PR classpath/28987: - * java/util/IdentityHashMap.java (tombstone): Removed. - (emptyslot): Removed. - (nullslot): New field. - (IdentityHashMap): Don't fill array. - (clear): Fill with null. - (hash): Now final. Use linear probing. - (xform): New method. - (unxform): Likewise. - (removeAtIndex): Likewise. - (clone, containsKey, containsValue, entrySet, get, hashCode, - keySet, put, remove, values): Updated. - (IdentityIterator, IdentityEntry): Likewise. - (writeObject): Likewise. - -2006-10-03 Tom Tromey - - * java/util/Locale.java (hashcode): Updated javadoc. - (hashcodeCache): Removed. - (Locale): Updated. - (hashCode): Updated. - (writeObject): New method. - (readObject): Updated. - -2006-10-02 Francis Kung - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Recognise that raw data is alpha-premultiplied. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clearRect): Paint background colour with AlphaComposite.SRC rule. - (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha - pre-multiply data before drawing. - (fillRect): Draw using regular fill() method. - (setComposite): Handle null case with AlphaComposite.SrcOver default. - * gnu/java/awt/peer/gtk/CairoSurface.java - (nativeModel): Use correct value for alpha premultiplication (true). - * java/awt/image/BufferedImage.java - (coerceData): Update isPremultiplied field. - -2006-10-02 Andrew John Hughes - - * gnu/classpath/ListenerData.java: - New class for holding listener data. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - ListenerData class moved to its own file. - * javax/management/MBeanServerDelegate.java, - * javax/management/MBeanServerDelegateMBean.java, - * javax/management/MBeanServerNotification.java: - Implemented. - -2006-10-02 Tania Bento - - * java/ast/Rectangle.java: - (Rectangle(Rectangle)): Do not throw NPE. - (Rectangle(Point, Dimension)): Same. - (Rectangle(Point)): Same. - (Rectangle(Dimension)): Same. - -2006-09-29 Casey Marshall - - PR 29190 - * gnu/java/nio/EpollSelectionKeyImpl.java: extend - `AbstractSelectionKey.' - (cancel, isValid): removed. - * gnu/java/nio/EpollSelectorImpl.java (cancelledKeys): removed. - (events): new field. - (INITIAL_CAPACITY, MAX_DOUBLING_CAPACITY, CAPACITY_INCREMENT): new - fields. - (): initialize those constants. - (): don't initialize `cancelledKeys;' initialize `events.' - (doSelect): deregister cancelled keys; remove keys attached to - closed channels; wrap `epoll_wait' in `begin' and `end' calls; use - `events' buffer; reallocate `events' buffer if needed. - (register): reallocate `events' buffer if needed. - (reallocateBuffer): new method. - (cancel): removed. - -2006-09-29 Roman Kennke - - PR 28929 - * javax/swing/JViewport.java - (cinit): Renamed system property to gnu.swing.scrollmode - to avoid bloat. Default to BACKINGSTORE, this is much - more reliable. - (repaint): Forward repaint() to parent as is specified. - -2006-09-29 Tania Bento - - * javax/swing/plaf/basic/BasicTableUI.java - (getPreferredSize): The number of iterations for the for-loop should be - the number of columns in the table's column model, not the number of - columns of the table. - * javax/swing/JTable.java - (JTable(TableModel, TableColumnModel, ListSelectionModel): Removed 4 - lines that are not needed. - (initializeLocalVars): dragEnabled should be set to false, not true. - (getCellRenderer): Added a check to prevent an - ArrayIndexOutOfBoundsException. - (doLayout): The number of iterations for the for-loops should be the - number of columns in the table's column model, not the number of columns - of the table. - -2006-09-29 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: Updated - API docs. - (isOptimized): Initialize with true. - (paintRaster): Removed unneeded field. - (shapeCache): New static field. Caches certain shapes for reuse. - (computeIntersection): Removed unneeded casts. - (drawArc): Use shape cache. - (drawImage): Removed unneeded statement. - (drawLine): Use shape cache. Pass untranslated coordinates - to rawDrawLine(). - (drawOval): Use shape cache. - (drawPolygon): Use shape cache. - (drawRect): Overridden to provide accelerated rectangle drawing - if possible and to use the shape cache. - (drawRoundRect): Use shape cache. - (fillArc): Use shape cache. - (fillOval): Use shape cache. - (fillPolygon): Use shape cache. - (fillRect): Pass untranslated coordinates to rawFillRect(). - Use shape cache. - (fillRoundRect): Use shape cache. - (fillScanlineAA): Removed unneeded statement. - (fillScanline): Updated API docs. - (fillShapeAntialias): Removed unnecessary cast. - (fillShapeImpl): Update API docs. Removed unnecessary cast. - (fillShape): Updated API docs. - (getShapeCache): New helper method. - * gnu/java/awt/java2d/ShapeCache.java: New class. Caches - certain shapes for reuse in AbstractGraphics2D. - -2006-09-28 Andrew John Hughes - - * javax/management/BadBinaryOpValueExpException.java: - (getExp()): Implemented. - * javax/management/MBeanConnection.java: - Renamed to MBeanServerConnection. - * javax/management/MBeanServer.java: - (setAttribute(Attribute)): Fixed... - (setAttribute(ObjectName,Attribute)): to this. - * javax/management/MBeanServerConnection.java: - Renamed from MBeanConnection. - * javax/management/QueryExp.java: - Extend Serializable. - * javax/management/ValueExp.java: - Likewise. - * javax/management/loading/ClassLoaderRepository.java: - (loadClass(String)): Throw ClassNotFoundException. - (loadClassBefore(ClassLoader,String)): Likewise. - (loadClassWithout(String, ClassLoader): Fixed... - (loadClassWithout(ClassLoader,String)): to this. - -2006-09-28 Roman Kennke - - * javax/swing/tree/DefaultTreeCellRenderer.java - (DefaultTreeCellRenderer): Fetch drawsFocusBorderAroundIcon - property from UIManager. - (paint): Rewritten to use super's implementation and only paint - background and focus indicator before. - (paintFocus): New helper method. - (getXOffset): New helper method. - -2006-09-28 Andrew John Hughes - - * javax/management/BadBinaryOpValueExpException.java, - * javax/management/MBeanConnection.java, - * javax/management/MBeanServer.java, - * javax/management/ObjectInstance.java: - Implemented. - * javax/management/ObjectName.java: - (setMBeanServer(MBeanServer)): Implemented. - * javax/management/QueryExp.java, - * javax/management/ValueExp.java, - * javax/management/loading/ClassLoaderRepository.java: - Implemented. - -2006-09-27 Robert Schuster - - * gnu/java/nio/VMChannelOwner.java: Removed unneeded imports. - -2006-09-27 Robert Schuster - - * vm/reference/gnu/java/nio/VMChannel.java: Removed unneeded imports. - * vm/reference/gnu/java/nio/VMPipe.java: Removed unneeded imports. - * gnu/java/nio/EpollSelectorImpl.java: - (doSelect): Use Integer.valueOf() instead of constructor call. - (register): Use Integer.valueOf() instead of constructor call. - -2006-09-27 Roman Kennke - - * java/awt/Container.java - (addContainerListener): Activate newEventsOnly for the component. - Ignore null listeners. - -2006-09-27 Roman Kennke - - * java/awt/EventQueue.java - (Queue): New inner class. Implements the actual queue. - (LOW_PRIORITY): New constant field. - (NORM_PRIORITY): New constant field. - (queueHead): Removed. Moved into Queue. - (queueTail): Removed. Moved into Queue. - (queues): New field. - (EventQueue): Initialize two internal queues, one for - normal events, one for low priority events. - (getNextEventImpl): New helper method, fetches the next event. - (getNextEvent): Use getNextEventImpl() for fetching the event. - (peekEvent): Use getNextEventImpl() for fetching the event. - (peekEvent(int)): Search for event in all queues. - (postEventImpl(AWTEvent)): Moved actual posting into - postEventImpl(AWTEvent,int). Prioritize events here. - (postEventImpl(AWTEvent,int)): Take priority parameter and insert - event into correct queue. Re-enable event coalescing. - * gnu/java/awt/LowPriorityEvent.java: New marker interface. - * javax/swing/RepaintManager.java - (RepaintWorkerEvent): New internal class. This is a low priority - event for the repaint worker. - (addDirtyRegion): Use new internal invokeLater() for sending - a low priority event. - (addInvalidComponent): Use new internal invokeLater() for sending - a low priority event. - (commitBuffer): Added some null checks. - (invokeLater): New helper method. Sends a low priority - repaint worker event on the event queue. - -2006-09-27 Roman Kennke - - PR 29036 - PR 29161 - * javax/swing/plaf/basic/BasicButtonUI.java - (cachedInsets): New field. - (installListeners): Fire synthetic property change to initialize - TEXT_LAYOUT_CACHE for the button because the font has been - installed before. - (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. - (paint): Use cached insets. - (paintText): Let new method forward to old one, not vice versa. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (defaultAcceleratorLabelGap): Removed unused field. - (MenuGap): Removed unused field. - (propertyChangeListener): Made private. - (getAcceleratorRect): Removed unused method. - (getAcceleratorText): Removed unused method. - (getPath): Removed unnecessary cast. - (installListeners): Fire synthetic property change to initialize - TEXT_LAYOUT_CACHE for the button because the font has been - installed before. - (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. - (layoutMenuItem): Removed unused statements. - -2006-09-27 Roman Kennke - - PR 29218 - * javax/swing/tree/DefaultTreeModel.java - (isLeaf): Check if the node allows children when - asksAllowsChildren is true, otherwise fall back - to return the node's leaf property. - -2006-09-27 Mario Torre - - * scripts/check_jni_methods.sh: removed methods from the - ignore list: - Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class - Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache - Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key - * native/jni/gconf-peer/GConfNativePeer.c: fixed coding style - to better follow the GNU style. - * include/gnu_java_util_prefs_gconf_GConfNativePeer.h. - regenerated header file for GConfNativePeer. - -2006-09-27 Robert Schuster - - * INSTALL: Added information about grmic being built when ASM - is available, added information about gconf dependency, indented - Qt4 dependency section. - * configure.ac: Added information about grmic being built when ASM - is available. - -2006-09-27 Ian Rogers - - * native/jni/classpath/jcl.c (JNI_OnLoad): Don't call - DeleteGlobalRef on a local ref. - -2006-09-24 Mario Torre - - * scripts/check_jni_methods.sh: added two new methods in the - ignore list: - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key - and - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key - * native/jni/gconf-peer/GConfNativePeer.c: - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys): - refacored method name, renamed from - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys. - Added code to unescape escaped GConf key names. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes): - refacored method name, renamed from - Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes. - Added code to unescape escaped GConf key names. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key): - new function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key): - new function. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: removed - version javadoc tag. - (escapeString): new method. - (unescapeString): likewise. - (gconf_escape_key): new native method. - (gconf_unescape_key): likewise. - (gconf_client_suggest_sync): update native method signature, now - explicity throws BackingStoreException. - (gconf_client_all_nodes): update native method signature, now - explicity throws BackingStoreException. Refactored method name, - renamed from gconf_client_gconf_client_all_nodes. - (gconf_client_all_keys): update native method signature, now - explicity throws BackingStoreException. Refactored method name, - renamed from gconf_client_gconf_client_all_keys. - (getKeys): refactored to use the new method name - gconf_client_all_keys. - (getChildrenNodes): refactored to use the new method name - gconf_client_all_nodes. - * gnu/java/util/prefs/GConfBasedPreferences.java: removed - version javadoc tag. - (GConfBasedPreferences): Added code to escape node names from - invalid characters so that GConf now accept invalid node names. - (GConfBasedPreferences): Moved code to register the current - node to the list of nodes watched by GConf outside the constructor. - (childSpi): Added code to register the current node to the - list of nodes watched by GConf. - (getGConfKey): Added code to escape key names from - invalid characters so that GConf now accept invalid key names. - -2006-09-26 Tom Tromey - - * tools/gnu/classpath/tools/javah/Printer.java (Printer): Don't - call mkdirs in output-directory case. - (getPrintStream): Create output directory. - * tools/gnu/classpath/tools/javah/Main.java (makeOutputDirectory): - Don't call mkdirs. - -2006-09-27 Raif S. Naffah - - * tools/gnu/classpath/tools/javah/CniIncludePrinter.java (CniIncludePrinter): - Accept three additional arguments. - (writePreambleImpl): New method. - (getPrintStreamImpl): Likewise. - (printClass): Adapted to use new methods in Printer superclass. - * tools/gnu/classpath/tools/javah/CniStubPrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/JniStubPrinter.java: Likewise. - * tools/gnu/classpath/tools/javah/Main.java (outFileName): New field. - (force): Likewise. - (getParser): Add support for -o option. - Check that only one of -d or -o is defined. - Add support for -jni option. - Add support for -force option. - (makeOutputFile): New method. - (writeHeaders): Removed File argument from signature. - (run): Take into account newly added fields. - Invoke concrete PrintStream implementations with augmented constructors. - * tools/gnu/classpath/tools/javah/Printer.java (outputFileObject): New field. - (isDirectory): Likewise. - (force): Likewise. - (wrotePreamble): Likewise. - (Printer): Changed ctor to accept three additional arguments. - (printClass): Changed signature to accept one ClassWrapper argument. - (writePreambleImpl): New abstract method. - (getPrintStreamImpl): Likewise. - (getPrintStream): New method. - (writePreamble): Likewise. - -2006-09-26 Tania Bento - - * java/awt/GridLayout.java - (toString): There is no common before hgap. - * java/awt/Rectangle.java - (Rectangle(Rectangle)): Throw NPE if Rectangle is null. - (Rectangle(Point, Rectangle)): Throw NPE if either Point or - Rectangle is null. - (Rectangle(Point)): Throw NPE if Point is null. - (Rectangle(Dimension)): Throw NPE if Dimension is null. - -2006-09-26 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (FileIcon16.paintIcon): Apply vertical shift by the number of pixels - returned by getShift(), - (FileIcon16.getShift): Updated API docs, - (FolderIcon16.paintIcon): Apply vertical shift by the number of pixels - returned by getShift(), - (FolderIcon16.getShift): Updated API docs, - (TreeFolderIcon.getShift): Likewise, - (TreeLeafIcon.getShift): Likewise. - -2006-09-26 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (FileIcon16.paintIcon): Fetch colors from look and feel, - (FolderIcon16.paintIcon): Likewise. - -2006-09-25 Casey Marshall - - * gnu/java/nio/FileChannelImpl.java (read): revert back to using - `readScattering.' - (write): revert back to using `writeGathering.' - * vm/reference/gnu/java/nio/VMChannel.java (writeGathering): find - the first buffer that has data remaining, and start at that one. - -2006-09-25 Tom Tromey - - * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New - variable. - -2006-09-25 Tom Tromey - - * tools/.cvsignore: Updated. - -2006-09-25 Tom Tromey - - PR libgcj/29178: - * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. - (Encoder.canEncode): Likewise. - (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. - * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. - * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New - method. - (Encoder.canEncode): Likewise. - -2006-09-25 Tom Tromey - - * native/fdlibm/mprec.c (mprec_calloc): Renamed. - (Balloc): Updated. - -2006-09-25 Francis Kung - - * java/awt/image/ColorModel.java - (coerceData): Made abstract. - (coerceDataWorker): New protected method. - * java/awt/image/ComponentColorModel.java - (coerceData): Return new instance of proper ColorModel. - * java/awt/image/DirectColorModel.java - (coerceData): Return new instance of proper ColorModel. - * java/awt/image/IndexColorModel.java - (coerceData): New method. - -2006-09-24 Casey Marshall - - * gnu/java/nio/FileChannelImpl.java - (read): call `read' in a loop, don't use `readScattering.' - (write): call `write' in a loop, don't use `writeGathering.' - -2006-09-24 Mark Wielaard - - * configure.ac: Move -pedantic from WARNING to STRICT flags. - -2006-09-24 Jeroen Frijters - - * java/nio/channels/spi/AbstractSelectableChannel.java - (register): Set interestOps and attachment when the key already - exists. - -2006-09-24 Jeroen Frijters - - * java/net/ServerSocket.java - (bind(SocketAddress,int)): Added support for null address. - Throw proper exception if already bound. - Handle unresolved addresses correctly. Ignore exceptions that - happen during close in error path (to prevent losing the original - exception.) - -2006-09-24 Mark Wielaard - - Suggested by Aaron M. Ucko - Fixes bug #29203 - * native/fdlibm/mprec.c (ulp): Define L as int32_t. - -2006-09-24 Jeroen Frijters - - * java/nio/channels/spi/AbstractSelectableChannel.java - (implCloseChannel): Cancel all keys after closing the channel. - -2006-09-22 Casey Marshall - - * gnu/java/nio/EpollSelectorImpl.java (doSelect): remove keys - after we delete them. - (selectedKeys): return an empty set if nothing's been selected. - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): don't - throw an exception on EBADF. - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait): don't - throw exception on EINTR, just return 0. - -2006-09-22 Casey Marshall - - * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): - remove `const' from `filename.' - * native/jni/native-lib/cpio.c (cpio_readDir): remove `const' from - `filename.' - * native/jni/native-lib/cpio.h (cpio_readDir): likewise. - -2006-09-22 Casey Marshall - - * configure.ac (AC_CHECK_FUNCS): check for `readdir_r.' - * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): - allocate `filename,' and handle changes to `cpio_readDir.' - * native/jni/native-lib/cpio.c (cpio_readDir): use `readdir_r' if - available; copy the filename into the destination buffer; return - an error code if readdir returns NULL, but errno is 0. - * native/jni/native-lib/cpio.h (cpio_readDir): change second - parameter to `const char *.' - -2006-09-23 Andrew John Hughes - - * javax/management/ObjectName.java: - Implemented. - -2006-09-22 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/orbd: New directory. - * resource/gnu/classpath/tools/rmic: Likewise. - * resource/gnu/classpath/tools/rmid: Likewise. - * resource/gnu/classpath/tools/rmiregistry: Likewise. - * resource/gnu/classpath/tools/tnameserv: Likewise. - * tools/gnu/classpath/tools/giop: Move contents to... - * tools/gnu/classpath/tools/orbd, - tools/gnu/classpath/tools/tnameserv: New directories. - * tools/gnu/classpath/tools/rmi/rmic: Move contents to... - * tools/gnu/classpath/tools/rmic: New directory. - * tools/gnu/classpath/tools/rmi/rmid: Move contents to... - * tools/gnu/classpath/tools/rmid: New directory. - * tools/gnu/classpath/tools/rmi/registry: Move contents to... - * tools/gnu/classpath/tools/rmiregistry: New directory. - * resource/gnu/classpath/tools/orbd/messages.properties: New file. - * resource/gnu/classpath/tools/rmic/messages.properties: Likewise. - * resource/gnu/classpath/tools/rmid/messages.properties: Likewise. - * resource/gnu/classpath/tools/rmiregistry/messages.properties: - Likewise. - * resource/gnu/classpath/tools/tnameserv/messages.properties: - Likewise. - * tools/gnu/classpath/tools/orbd/Main.java, - tools/gnu/classpath/tools/orbd/Messages.java, - tools/gnu/classpath/tools/orbd/PersistentContext.java, - tools/gnu/classpath/tools/orbd/PersistentContextMap.java, - tools/gnu/classpath/tools/orbd/PersistentMap.java, - tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java, - tools/gnu/classpath/tools/rmic/CompilationError.java, - tools/gnu/classpath/tools/rmic/Generator.java, - tools/gnu/classpath/tools/rmic/GiopIo.java, - tools/gnu/classpath/tools/rmic/HashFinder.java, - tools/gnu/classpath/tools/rmic/Main.java, - tools/gnu/classpath/tools/rmic/Messages.java, - tools/gnu/classpath/tools/rmic/MethodGenerator.java, - tools/gnu/classpath/tools/rmic/RMICException.java, - tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmic/RmicBackend.java, - tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java, - tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, - tools/gnu/classpath/tools/rmic/Variables.java, - tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, - tools/gnu/classpath/tools/rmic/templates, - tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java, - tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java, - tools/gnu/classpath/tools/rmid/Main.java, - tools/gnu/classpath/tools/rmid/Messages.java, - tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, - tools/gnu/classpath/tools/rmiregistry/Main.java, - tools/gnu/classpath/tools/rmiregistry/Messages.java, - tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java, - tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java, - tools/gnu/classpath/tools/tnameserv/Main.java, - tools/gnu/classpath/tools/tnameserv/Messages.java: New files. - * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: Import - RMIC.java from cp-tools. - * configure.ac (AC_CONFIG_FILES): Add tools/grmiregistry, - tools/gtnameserv, tools/gorbd, tools/grmid and tools/grmic. - (AC_CONFIG_COMMANDS): Add grmiregistry, gtnameserv, gorbd, grmid - and grmic. - * examples/Makefile.am (GLIBJ_CLASSPATH): Add tools.zip. - * gnu/CORBA/NamingService/NamingServiceTransient.java (main): - Rename... - (start): New method. - * tools/Makefile.am: Add build support for new tool wrappers. - * tools/gorbd.in: New file. - * tools/grmic.in: Likewise. - * tools/grmid.in: Likewise. - * tools/grmiregistry.in: Likewise. - * tools/gtnameserv.in: Likewise. - * tools/gnu/classpath/tools/AbstractMethodGenerator.java: Move to... - * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java: New - file. - * tools/gnu/classpath/tools/HelpPrinter.java: Remove file. - * tools/gnu/classpath/tools/rmi/Persistent.java: Move to... - * tools/gnu/classpath/tools/common/Persistent.java: New file. - -2006-09-22 Ito Kazumitsu - - Fixes bug #29047 - * gnu/java/util/regex/RETokenRepeated.java - (findMatch): Rewriten without using recursive calls, - (FindMatchControlStack): New class, - (FindMatchControl): New class, - (TryAnotherResult): New class, - (tryAnother): New method. - -2006-09-22 Gary Benson - - * java/net/SocketPermission.java - (processHostport): Cope with IPv6 addresses with a - one-digit first component. - -2006-09-22 Roman Kennke - - * java/awt/Component.java - (enableEvents): Set newEventsOnly flag. - * java/awt/Container.java - (dispatchEventImpl): Consume event if lightweight dispatcher - dispatched the event. Don't call processEvent() here, this - is already done in Component.dispatchEventImpl(). For - heavyweights or when the lightweight dispatcher could - not dispatch, fall back to calling super. - (dispatchNoLightweight): New helper method to avoid - recursivly calling the lightweight dispatcher. - * java/awt/LightweightDispatcher.java - (dragButton): Removed field. - (dragTarget): Removed field. - (mouseEventTarget): New field. - (convertPointToChild): Removed method. - (dispatchEvent): Don't depend on component beeing - a window. - (findTarget): Improved algorithm for finding a target. - Before we went down to the deepest component and went - up again to find a suitable target. Now we go - down only once, without going up. - (handleMouseEvent): Broke method down into some smaller - helper methods. - (isDragging): New helper method. - (isMouseListening): New helper method. - (redispatch): New helper method. - (trackEnterExit): New helper method. - -2006-09-22 David Gilbert - - * javax/swing/SizeSequence.java - (getSize): Return 0 if index is out of bounds. - -2006-09-21 Tom Tromey - - * tools/gnu/classpath/tools/javah/PathOptionGroup.java - (PathOptionGroup): Make -I a joined option. - * tools/gnu/classpath/tools/keytool/CACertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/MainCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Updated. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Updated. - * tools/gnu/classpath/tools/appletviewer/Main.java: Updated. - * tools/gnu/classpath/tools/jar/Main.java: Updated. - * tools/gnu/classpath/tools/jarsigner/Main.java: Updated. - * tools/gnu/classpath/tools/javah/Main.java: Updated. - * tools/gnu/classpath/tools/native2ascii/Main.java: Updated. - * tools/gnu/classpath/tools/serialver/SerialVer.java: Updated. - * resource/gnu/classpath/tools/getopt/Messages.properties: Removed - unused entries. - * resource/gnu/classpath/tools/common/Messages.properties: New file. - * tools/gnu/classpath/tools/common/Messages.java: New file. - * tools/gnu/classpath/tools/getopt/Messages.java: Now package-private. - * tools/gnu/classpath/tools/common/ClasspathToolParser.java: Moved - from getopt. - (ClasspathToolParser): Add -J option here. - (ClasspathToolParser): Call other constructor in this class. - * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): - Handle joined options. - (handleShortOptions): Likewise. - (handleShortOption): Removed. - (finalGroup): New field. - (Parser): Initialize new field. Don't add -J option. - (addFinal): New method. - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Use - isJoined. - * tools/gnu/classpath/tools/getopt/Option.java (isJoined): New method. - (Option): Check short option for validity. - (Option): New constructors. - (joined): New field. - -2006-09-21 csm - - * gnu/java/net/PlainDatagramSocketImpl.java (send): ignore - `InterruptedIOException;' try again if it gets thrown. - (receive): likewise, but re-throw `SocketTimeoutException.' - * gnu/java/nio/EpollSelectorImpl.java (doSelect): just return 0 - if we have nothing to select. - -2006-09-21 Francis Kung - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (getLogicalBounds): Respect glyph transformations. - (getGlyphOutline): Added null pointer check. - (getGlyphTransform): Do not generate identity transform (API permits null). - (setGlyphPosition): Do not invalidate transform. - (setGlyphTransform): Do not modify glyph position. - -2006-09-21 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Set alpha premultiplied flag. - -2006-09-21 Francis Kung - - * java/awt/image/ColorModel.java (coerceData): Return proper colour model. - * java/awt/image/ComponentColorModel.java (coerceData): Likewise. - * java/awt/image/DirectColorModel.java (coerceData): Likewise. - -2006-09-21 Tania Bento - - * javax/swing/JTabbedPane.java: - (insertTab): Notify ChangeListeners if the tab inserted is selected. - (setModel): A ChangeListener should be created only if there does not - currently exist one. - -2006-09-21 David Gilbert - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (MaximizeAction.actionPerformed): Change icon on maxButton. - -2006-09-21 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (syncScrollPaneWithViewport): Fixed typo (hsb vs. vsb). - Use more efficient getViewPosition() and getViewSize() methods - to avoid creating a rectangle. - (HSBChangeListener.stateChanged): Update the view position - unconditionally. Let the Viewport figure out if something - changed. - (VSBChangeListener.stateChanged): Update the view position - unconditionally. Let the Viewport figure out if something - changed. - * javax/swing/JViewport.java - (ViewListener.componentResized): Fire state change, because - the extentSize changes. - (extentSize): Removed unneeded field. - (viewSize): Removed unneeded field. - (getExtentSize): Return the viewport's size here. - (getViewRect): Reformatted. - (getViewSize): Reordered for only one return statement. - (paintImmediately2): Fixed up javadoc. - (paint): Removed unneeded statement. - (setExtentSize): Set viewport size and check for actual change - of value. - (setViewPosition): Simplified condition. Set scrollUnderway - true and don't set isViewSizeSet. Avoid creating one Point - object. - (setViewSize): Fixed != comparison with equals(). Set scrollUnderway - to false. - * javax/swing/JScrollBar.java - (ScrollBarListener): New class. Forwards change events from - the model as adjustment events. - (sbChangeListener): New field. - (JScrollBar): Install listener on new model. - (fireAdjustmentValueChanged(int,int,int)): Delegate to new helper - method. - (fireAdjustmentValueChanged(int,int,int,boolean)): New helper - method to allow custom isAdjusting value. - (setMaximum): Only forward to model. - (setMinimum): Only forward to model. - (setValue): Only forward to model. - (setVisibleAmount): Only forward to model. - (setValues): Only forward to model. - (setModel): Update the change listener. - -2006-09-20 Christian Thalinger - - * java/util/Formatter.java (basicIntegralConversion): Removed - check for ZERO && !LEFT_JUSTIFY. - -2006-09-20 Roman Kennke - - PR 29036 - * javax/swing/plaf/metal/DefaultMetalTheme.java - (PLAIN_CONTROL_TEXT_FONT): New constant field. - (BOLD_CONTROL_TEXT_FONT): New constant field. - (PLAIN_MENU_TEXT_FONT): New constant field. - (BOLD_MENU_TEXT_FONT): New constant field. - (controlTextFont): Removed. - (menuTextFont): Removed. - (CONTROL_TEXT_FONT): New constant field. - (MENU_TEXT_FONT): New constant field. - (getControlTextFont): Use getFont() helper method for fetching - the correct font. - (getMenuTextFont): Use getFont() helper method for fetching - the correct font. - (getFont): New helper method. - (isBoldMetal): New helper method. - -2006-09-20 Casey Marshall - - * NEWS: mention epoll selector along with the kqueue one. - -2006-09-20 Casey Marshall - - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c - (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): ignore ENOENT. - -2006-09-20 Francis Kung - - PR 29011 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (getGlyphTransform): Use translation instead of scale. - (performDefaultLayout): Increment position values instead of resetting, and - pre-increment instead of post-increment. - (setGlyphTransform): Handle null case with identity transform. - -2006-09-20 Casey Marshall - - * configure.ac (AC_CHECK_HEADERS): check for `sys/epoll.h.' - (AC_CHECK_FUNCS): check for `epoll_create.' - * gnu/java/nio/EpollSelectionKeyImpl.java: new file. - * gnu/java/nio/EpollSelectorImpl.java: new file. - * gnu/java/nio/SelectorProviderImpl.java (epoll_failed): new class - field. - (openSelector): return epoll selector if requested and available. - * include/Makefile.am (H_FILES): add gnu_java_nio_EpollSelectorImpl.h. - (gnu_java_nio_EpollSelectorImpl.h): new target. - * include/gnu_java_nio_EpollSelectorImpl.h: new file. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): add - gnu_java_nio_EpollSelectorImpl.c. - * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c: new file. - -2006-09-20 Casey Marshall - - * gnu/java/nio/SocketChannelImpl.java (finishConnect): don't - call `isConnected.' - (isConnected): return false if `connectionPending' is true. - -2006-09-20 Francis Kung - - PR 29011 - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: - (constructor): Expanded glyphPositions array to accomodate Y-coordinates. - (getGlyphOutline): Call getGylphTransform to generate transform. - (getGylphPosition): Read position directly out of array. - (getGlyphPositions): Read positions directly out of array. - (getGlyphTransform): Generate transform based on gylphPositions array. - (performDefaultLayout): Populate glyphPositions array instead of transforms. - (setGlyphPosition): Set position directly into array. - (setGlyphTransform): Update positions array as well. - -2006-09-20 David Daney - - PR classpath/28661 - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add - default content-type for POST method. - -2006-09-20 David Gilbert - - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (BasicRadioButtonUI): Don't fetch icon here, - (installDefaults): Initialise icon here, - (getDefaultIcon): Just return icon. - -2006-09-20 Mark Wielaard - - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): - Add gnu_java_nio_channels_FileChannelImpl.c and javanio.h. - (EXTRA_DIST): Include javanio.c. - -2006-09-20 David Gilbert - - * java/awt/geom/RoundRectangle2D.java: - (getPathIterator): Reimplemented, - and updated various API doc comments. - -2006-09-20 Roman Kennke - - * java/awt/Container.java - (addImpl): Set the new component's parent after it has been - added to the array. Call addNotify() and invalidate() - after the component has been added, so that the peer - gets to know about the component structure when it is created. - * java/awt/Window.java - (dispatchEventImpl): Only revalidate when window is resized, - let the other stuff be processed by the superclass. - (dispose): Post WINDOW_CLOSED event only when some listener - is registered or event is explicitly enabled. - (show): Post WINDOW_OPENED event when appropriate. - -2006-09-20 Roman Kennke - - * java/awt/Component.java - (addNotify): Invalidate here. Fetch peer font. - (getFont): Delegate to helper method, to protect from - overriding client code. Lock the tree while fetching the font. - (getFontImpl): New helper method. Moved code from getFont() in - here. - (removeNotify): Nullify peerFont too. - (setFont): Synchronize on tree and component to avoid threading - issues. Update the peerFont correctly. - (validate): Update the peer font if necessary, before validating. - (getGraphics): Revert to recursive graphics fetching. - Set component font on the Graphics object. - (translateEvent): Removed unnecessary cast. - * java/awt/Container.java - (invalidateTree): Made final and private. Made implementation - slightly more efficient. - (setFont): Get old and new font via getFont() to account for - the real font, and only invalidate the tree when they are not - the same and not equal. - (visitChild): Set the font of the child on the component graphics. - * java/awt/Frame.java - (setMenuBar): Create local reference of peer for thread safety. - Only call simple invalidate, not invalidateTree(). - -2006-09-19 Cameron McCormack - - PR 29012 - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: - (constructor): Copy image field. - -2006-09-19 David Gilbert - - * javax/swing/JMenuBar.java - (getHelpMenu): Implemented to throw an Error, and added API docs, - (getMargin): Added API docs, - (setMargin): Likewise. - -2006-09-19 David Gilbert - - * javax/swing/AbstractButton.java - (AbstractButton): Don't call updateUI(), - * javax/swing/JButton.java - (JButton(String, Icon)): Call setModel() before init(), - * javax/swing/JMenuItem.java - (JMenuItem()): Delegate to another constructor, - (JMenuItem(Icon)): Likewise, - (JMenuItem(Action)): Set model, - (JMenuItem(String, Icon)): Likewise, - * javax/swing/JToggleButton.java - (init): Call setModel() before init(). - -2006-09-19 Mark Wielaard - - Fixes bug #29137 - * java/util/logging/LogManager.java (addLogger): Always check for - existing children of a new Logger. - -2006-09-19 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (HSBChangeListener.stateChanged): Moved handling of header to - syncScrollPaneWithViewport(). - (VSBChangeListener.stateChanged): Moved handling of header to - syncScrollPaneWithViewport(). - (ViewportChangedHandler.stateChanged): Removed unused statements. - (syncScrollPaneWithViewport): Added null checks. Use setValues - rather then the single setter methods to avoid multiple - adjustments and side effects. Also snyc the headers here. - (updateScrollBarDisplayPolicy): Revalidate and repaint here. - (uninstallUI): Removed unnecessary cast and this qualifier as well - as the call to super. - -2006-09-19 Gary Benson - - * java/net/ResolverCache.java: New class (a DNS cache). - * java/net/InetAddress.java - (internalGetCanonicalHostName, getAllByName): Use the above. - -2006-09-19 Jeroen Frijters - - * gnu/java/nio/SocketChannelImpl.java: Removed unused import. - * java/net/ServerSocket.java - (port): New field. - (bind): Set port field. - (close): Set impl to null. - (isClosed): Check impl and channel instead of using VMChannel. - (toString): Use port field and getLocalPort() method. - * java/net/Socket.java - (isClosed): Check impl and channel instead of using VMChannel. - -2006-09-18 Tom Tromey - - * java/util/concurrent/CopyOnWriteArrayList.java - (CopyOnWriteArrayList): New constructor. - -2006-09-18 Casey Marshall - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (Java_gnu_java_net_VMPlainSocketImpl_listen): remove debug printf. - -2006-09-18 Tom Tromey - - * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, - isConnected): Removed old comment. - (getRemoteSocketAddress): Uncommented. - (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, - setTrafficClass, getTrafficClass, setReuseAddress, - getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, - isOutputShutdown): Uncommented. - -2006-09-18 David Pirkle - - Fixes PR 28589 - * gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific - input stream during resolution. - -2006-09-18 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Correctly translate child coordinates. - Use Component.eventTypeEnabled() for checking if a component - has a certain event enabled. - (handleMouseEvent): Find the correct mouse event target. - Use Component.eventTypeEnabled() for checking if a component - has a certain event enabled. - -2006-09-18 Roman Kennke - - * java/awt/Component.java - (show): Test for the peer beeing lightweight directly. - (paintAll): Validate before painting. Don't paint when not - showing. Call peer.paint() when the component is heavyweight. - (repaint): Delegate to the parent when lightweight, rather - than skipping to the nearest heavyweight. - (createImage): Added null check to prevent NPE. - (dispatchEvent): Moved old event dispatching and toolkit - event dispatching to dispatchEventImpl. - (addComponentListener): Don't enable event. Only add listener - when not null. Switch to new event dispatching only. - (addFocusListener): Likewise. - (addHierarchyListener): Likewise. - (addHierarchyBoundsListener): Likewise. - (addKeyListener): Likewise. - (addMouseListener): Likewise. - (addMouseMotionListener): Likewise. - (addMouseWheelListener): Likewise. - (addInputMethodListener): Likewise. - (coalesceEvents): For mouse events coalesce them only when - their modifiers are equal. For paint events coalesce the events - when one contains the other, without going through complicated - heuristics. - (dispatchEventImpl): Moved old event dispatching and toolkit - event dispatching to dispatchEventImpl. - (coalescePaintEvents): Removed. - (HeavyweightInLightweightListener.componentHidden): - Fixed condition. - * java/awt/Container.java - (addImpl): Don't enable events on lightweights. - (remove): Reordered operations. Don't remove any listeners. - Throw ArrayIndexOutOfBoundsException when index >= ncomponents. - Only removeNotify() when peer is != null. Only invalidate if - not already invalid. Only fire ContainerEvent if there is - an interested listener or the event is enabled. Dispatch this - event directly without the event queue. - (removeAll): Likewise. - (paintComponents): Only paint when showing. Also paint heavyweights. - Don't paint the container itself. - (removeNotify): Create local variables for improved thread safety. - (addNotifyContainerChildren): Don't enable events for lightweights. - -2006-09-18 Roman Kennke - - * java/awt/EventQueue.java - (INITIAL_QUEUE_DEPTH): Removed obsolete field. - (next_in): Removed obsolete field. - (next_out): Removed obsolete field. - (queueHead): New field. Markes the head of the queue. - (queueTail): New field. Markes the tail of the queue. - (queue): Removed obsolete field. - (EventQueue): Documented empty block. - (getNextEvent): Changed array based implementation to single-linked - list based implementation. - (invokeAndWait): Use an Object as synchronization object rather - than the current thread. - (peekEvent(int)): Changed array based implementation to single-linked - list based implementation. - (peekEvent()): Changed array based implementation to single-linked - list based implementation. - (pop()): Changed array based implementation to single-linked - list based implementation. - (postEvent): Foward to postEventImpl. - (postEventImpl): Changed array based implementation to single-linked - list based implementation. - (push): Changed array based implementation to single-linked - list based implementation. - * java/awt/AWTEvent.java - (queueNext): New field. Implements a single-linked list for - the EventQueue. - -2006-09-17 Mark Wielaard - - * javax/swing/text/html/HTMLEditorKit (getStyleSheet): Load - resource from HTMLEditorKit.class. - -2006-09-17 Mark Wielaard - - * javax/swing/plaf/basic/BasicToolBarUI.java - (setBorderToNonRollover): Check whether border is null. - (setBorderToRollover): Likewise. - -2006-09-17 Mark Wielaard - - * javax/swing/JTree.java (setLeadSelectionPath): Handle null path. - -2006-09-17 Mark Wielaard - - * native/jni/java-nio/javanio.c (cpnio_fcntl): Last argument is long. - * native/jni/java-nio/javanio.h (cpnio_fcntl): Likewise. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (Java_gnu_java_nio_VMChannel_lock): Likewise. - (Java_gnu_java_nio_VMChannel_unlock): Likewise. - -2006-09-17 Casey Marshall - - * native/jni/classpath/jcl.c (JNI_OnLoad): mark `reserved' as - unused. - -2006-09-17 Chris Burdess - - Fixes PR 27610 27687. - * gnu/xml/dom/ls/SAXEventSink.java: Permit limited subclassing. - * gnu/xml/transform/SAXTemplatesHandler.java, - * gnu/xml/transform/SAXTransformerHandler.java: New files. - * gnu/xml/transform/TransformerFactoryImpl.java: Implement - SAXTransformerFactory. - -2006-09-16 Casey Marshall - - * NEWS: updated. - * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. - (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, - kqueue, and kevent. - (HAVE_INET6): define if IPv6 is supported. - * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. - (native_fd): removed. - (impl): new field. - (): throw IOException; initialize fields. - (finalize): removed. - (getNativeFD): removed. - (bind): use `PlainSocketImpl.bind.' - (create): use `PlainSocketImpl.initSocket.' - (disconnect): use `PlainSocketImpl.disconnect.' - (getLocalPort): new method. - (send): use `VMChannel.send.' - (receive): use `VMChannel.receive.' - (setOption): use `PlainSocketImpl.setOption.' - (getOption): use `PlainSocketImpl.getOption.' - (close): use `VMChannel.State.close.' - (join): use `PlainSocketImpl.join.' - (leave): use `PlainSocketImpl.leave.' - (joinGroup, leaveGroup): implemented. - * gnu/java/net/PlainSocketImpl.java: make non-final. - (native_fd): removed. - (impl): new field. - (channel): new field. - (): initialize `impl.' - (finalize, getNativeFD): removed. - (setOption): use `PlainSocketImpl.setOption.' - (getOption): use `PlainSocketImpl.getOption.' - (shutdownInput): use `PlainSocketImpl.shutdownInput.' - (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' - (create): create `channel,' initialize `impl's native state. - (connect): use `connect(SocketAddress, int).' - (connect): use `SocketChannelImpl.connect;' initialize `address' - and `port.' - (bind): use `VMPlainSocketImpl.bind.' - (listen): use `VMPlainSocketImpl.listen.' - (accept): use `SocketChannelImpl.accept.' - (available): use `VMChannel.available.' - (close): use `PlainSocketImpl.close.' - (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' - (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, - getPort): new methods. - (SocketInputStream.read): use `VMChannel.read.' - (SocketInputStream.read): use `SocketChannel.read.' - (SocketOutputStream.write): use `VMChannel.write.' - (SocketOutputStream.write): use `SocketChannel.write.' - * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. - (channel): new field. - (): initialize `channel.' - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (connect): use `VMChannel.connect.' - (disconnect): use `VMChannel.disconnect.' - (isConnected): use `VMChannel.getPeerAddress.' - (write): use `VMChannel.write.' - (write): use `VMChannel.writeGathering.' - (read): use `VMChannel.read.' - (read): use `VMChannel.readScattering.' - (receive): use `VMChannel.receive.' - (send): use `VMChannel.send.' - (getVMChannel): new method. - * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): - access native FD through VMChannel.State. - * gnu/java/nio/FileChannelImpl.java: moved from - gnu/java/nio/channels/FileChannelImpl.java. - * gnu/java/nio/FileLockImpl.java: fix imports. - * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. - * gnu/java/nio/KqueueSelectorImpl.java: new file. - * gnu/java/nio/NIOSocket.java (impl): removed. - (channel): new field. - (): init superclass with a `NIOSocketImpl;' init `channel.' - (getPlainSocketImpl, setChannel): removed. - (isConnected): new method. - * gnu/java/nio/NIOSocketImpl.java: new file. - * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement - `VMChannelOwner.' - (SourceChannelImpl.native_fd): removed. - (SourceChannelImpl.): init with a `VMChannel.' - (SourceChannelImpl.getNativeFD): removed. - (SourceChannelImpl.getVMChannel): new method. - (SourceChannelImpl.implCloseSelectableChannel): implement. - (SinkChannelImpl): implement `VMChannelOwner.' - (SinkChannelImpl.native_fd): removed. - (SinkChannelImpl.): init with a `VMChannel.' - (SinkChannelImpl.implCloseSelectableChannel): implement. - (SinkChannelImpl.getNativeFD): removed. - (SinkChannelImpl.getVMChannel): new method. - * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark - deprecated. - * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, - SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. - (openSelector): return kqueue selector if available. - * gnu/java/nio/ServerSocketChannelImpl.java: implement - `VMChannelOwner.' - (channel): new field. - (): init `channel.' - (finalizer): check if the `VMChannel.State' is valid. - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (accept): use `VMChannel.accept.' - (getVMChannel): new method. - * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): - access native FD through `VMChannel.State.' - * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' - (impl): removed. - (channel, connected, connectAddress): new field. - (): new constructors. - (getPlainSocketImpl): removed. - (implCloseSelectableChannel): use `VMChannel.close.' - (implConfigureBlocking): use `VMChannel.setBlocking.' - (connect): use `connect(SocketAddress,int).' - (connect): use `VMChannel.connect.' - (finishConnect): don't use a selector. - (isConnected): use `VMChannel.getPeerAddress.' - (read): use `VMChannel.read.' - (read): use `VMChannel.readScattering.' - (write): use `VMChannel.write.' - (write): use `VMChannel.writeGathering.' - (getVMChannel): new method. - * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get - native FD from `VMChannel.State.' - * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): - get native FD from `VMChannel.State.' - * gnu/java/nio/VMChannelOwner.java: new file. - * gnu/java/nio/channels/FileChannelImpl.java: removed. - * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' - and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate - `gnu_java_nio_channels_FileChannelImpl.h.' - * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. - * include/gnu_java_nio_FileChannelImpl.h: new file. - * include/gnu_java_nio_KqueueSelectorImpl.h: new file. - * include/gnu_java_nio_VMChannel.h: regenerated. - * include/gnu_java_nio_VMPipe.h: regenerated. - * include/java_net_VMNetworkInterface.h: regenerated. - * java/io/FileDescriptor.java: fix imports. - * java/io/FileInputStream.java (): handle exceptions. - (read): wrap the destination arary. - * java/io/FileOutputStream.java (): handle exceptions. - (write): wrap the source array. - * java/io/RandomAccessFile.java (): handle exceptions. - * java/net/DatagramSocket.java (): handle exceptions. - (receive): handle length/port setting. - (connect): bind to any address/port if the argument is null. - * java/net/NetworkInterface.java (name, inetAddress): removed. - (netif): new field. - (): make private. - (getName): return `netif.name.' - (getInetAddresses): access `netif.addresses.' - (getDisplayName): return `netif.name.' - (getByName, getByAddress): handle changes to `VMNetworkInterface.' - (condense): removed. - (getNetworkInterfaces): handle changes to `VMNetworkInterface.' - (equals): compare `netif' fields. - (hashCode): get hash codes from `netif.' - (toString): use a StringBuffer. - * java/net/ServerSocket.java (close): don't set `impl' to null. - (isClosed): use `VMChannel.State.isClosed.' - * java/net/Socket.java (getLocalAddress): don't use `getOption' if - the `SocketImpl' is a `PlainSocketImpl.' - (close): just close the `impl.' - (toString): use `super.toString' in the value we return. - (isConnected): just access `impl,' not `getImpl.' - (isBound): use `PlainSocketImpl' methods if we can. - (isClosed): look at `VMChannel.State.' - * native/jni/classpath/jcl.c (JNI_OnLoad): new function. - (JCL_NewRawDataObject): don't initialize cached fields here; throw - an exception if they were not. - (JCL_GetRawData): throw an exception if cached fields weren't - created. - * native/jni/java-lang/java_lang_VMProcess.c: handle - FileChannelImpl move. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, - THROW_NO_NETWORK): new macros. - (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. - (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. - (java_sockopt): new enum. - (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): - reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): - reimplemented. - (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new - function. - (Java_gnu_java_net_VMPlainSocketImpl_join): new function. - (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_read): removed. - (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. - (Java_gnu_java_net_VMPlainSocketImpl_write): removed. - (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. - (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. - (getif_address): new function. - (getif_index): new function. - * native/jni/java-net/java_net_VMNetworkInterface.c - (java_net_VMNetworkInterface_init, - java_net_VMNetworkInterface_addAddress): new file-scope globals. - (Java_java_net_VMNetworkInterface_initIds): new function. - (struct netif_entry): new struct. - (free_netif_list): new function. - (Java_java_net_VMNetworkInterface_getInterfaces): removed. - (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. - * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove - gnu_java_nio_channels_FileChannelImpl.c, add - gnu_java_nio_KqueueSelectorImpl.c. - * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. - * native/jni/java-nio/gnu_java_nio_VMChannel.c - (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, - ALIGN_DOWN): new macros. - (JCL_init_buffer): get the address through GetDirectBufferAddress - if possible. - (Java_gnu_java_nio_VMChannel_stdin_1fd, - Java_gnu_java_nio_VMChannel_stdout_1fd, - Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. - (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking - value. - (Java_gnu_java_nio_VMChannel_read): renamed... - (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to - this; handle interrupted IO; add HAVE_READ check. - (Java_gnu_java_nio_VMChannel_write): renamed... - (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to - this; handle zero-length write; add HAVE_WRITE check. - (Java_gnu_java_nio_VMChannel_receive): new function. - (Java_gnu_java_nio_VMChannel_send): new function. - (Java_gnu_java_nio_VMChannel_send6): new function. - (Java_gnu_java_nio_VMChannel_read__I): new function. - (Java_gnu_java_nio_VMChannel_write__II): new function. - (Java_gnu_java_nio_VMChannel_socket): new function. - (Java_gnu_java_nio_VMChannel_connect): new function. - (Java_gnu_java_nio_VMChannel_connect6): new function. - (Java_gnu_java_nio_VMChannel_getsockname): new function. - (Java_gnu_java_nio_VMChannel_getpeername): new function. - (Java_gnu_java_nio_VMChannel_accept): new function. - (Java_gnu_java_nio_VMChannel_disconnect): new function. - (Java_gnu_java_nio_VMChannel_close): new function. - (Java_gnu_java_nio_VMChannel_available): new function. - (FileChannel_mode): new enum. - (Java_gnu_java_nio_VMChannel_open): new function. - (Java_gnu_java_nio_VMChannel_position): new function. - (Java_gnu_java_nio_VMChannel_seek): new function. - (Java_gnu_java_nio_VMChannel_truncate): new funciton. - (Java_gnu_java_nio_VMChannel_lock): new function. - (Java_gnu_java_nio_VMChannel_unlock): new function. - (Java_gnu_java_nio_VMChannel_size): new function. - (Java_gnu_java_nio_VMChannel_map): new function. - (Java_gnu_java_nio_VMChannel_flush): new function. - * native/jni/java-nio/gnu_java_nio_VMPipe.c - (Java_gnu_java_nio_VMPipe_init): removed. - (Java_gnu_java_nio_VMPipe_pipe0): new function. - * native/jni/java-nio/javanio.c: new file. - * native/jni/java-nio/javanio.h: new file. - * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for - systems without `gethostbyname_r.' - * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new - field. - (, ): new constructors. - (setOption, getOption): make instance methods; defer to native - implementation. - (connect): removed. - (bind): make an instance method; defer to native methods. - (accept): removed. - (available): removed. - (listen): make an instance method; defer to native method. - (read): removed. - (join, leave): new methods. - (write): removed. - (joinGroup, leaveGroup): new methods. - (shutdownInput, shutdownOutput): make instance methods. - (sendUrgentData): removed. - (State): new class. - * vm/reference/gnu/java/nio/VMChannel.java: make final. - (fd): removed. - (nfd): new field. - (): new, public constructors. - (getVMChannel): methods removed. - (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, - stderr_fd): new methods. - (setBlocking): make an instance method. - (available): new method. - (read): get native fd from `nfd.' - (read): new single-byte read method. - (readScattering): get native fd from `nfd.' - (receive): new method. - (write, writeGathering): get native fd from `nfd.' - (send): new method. - (write): new single-byte write method. - (initSocket): new method. - (connect): new method. - (disconnect): new method. - (getLocalAddress): new method. - (getPeerAddress): new method. - (accept): new method. - (openFile): new method. - (position): new method. - (seek): new method. - (truncate): new method. - (lock): new method. - (unlock): new method. - (size): new method. - (map): new method. - (flush): new method. - (close): new method. - (State): new class. - (Kind): new class. - * vm/reference/gnu/java/nio/VMPipe.java (init): removed. - (pipe, pipe0): new method. - * vm/reference/java/net/VMNetworkInterface.java (name, addresses): - new fields. - (): call `initIds.' - (initIds): new method. - (getInterfaces): removed. - (getVMInterfaces): new method. - (addAddress): new method. - * vm/reference/java/nio/channels/VMChannels.java: fix imports. - -2006-09-16 Chris Burdess - - Fixes PR 28572. - * gnu/xml/transform/StreamSerializer.java: Don't escape XML entities - when in text output mode. - -2006-09-16 Chris Burdess - - Fixes PR 27293. - * gnu/xml/dom/DomNode.java: Increment length of node during insert. - -2006-09-14 Michael Koch - - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Recreated. - -2006-09-15 Chistian Elias Naur - - * java/io/ObjectStreamClass.java (setClass(Class, ObjectStreamClass)): - Added !cl.isArray() to serialVersionUID mismatch check. - -2006-09-14 Francis Kung - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient): Updated constants to - be compatibe with Cairo 1.2.x. - -2006-09-14 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. - (cairoSurfaceSetFilter): Removed method. - (drawImage): Pass interpolation type as argument to drawing methods. - (drawPixels): Added interpolation parameter. - (drawRaster): Pass interpolation type as argument to drawing method. - (getInterpolation): New method. - (setRenderingHint): Store hints, but do not set interpolation in cairo. - (setRenderingHints): Store hints, but do not set interpolation in cairo. - * gnu/java/awt/peer/gtk/CairoSurface.java - (drawSurface): Added interpolation parameter. - (nativeDrawSurface): Added interpolation parameter. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation - parameter. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. - * native/jni/gtk-peer/cairographics2d.h - (java_awt_rendering_hints_filter): Added bicubic interpolation constant. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation - parameter. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added - interpolation parameter. - -2006-09-14 Gary Benson - - * java/net/InetAddress.java - (internalGetCanonicalHostName): New method. - (getCanonicalHostName): Use internalGetCanonicalHostName. - (getByLiteral): New method. - (getAllByName): Use getByLiteral. - * java/net/SocketPermission.java - (host): Replaced with... - (hostname, address): New fields. - (equals, hashcode): Reflect the above. - (setHostPort): Parse host into hostname or address. - (implies): Rewrite host checks. - -2006-09-14 David Gilbert - - Fixes PR28699 - * java/awt/Menu.java - (insert(MenuItem, int)): Fixed loop range, - (insert(String, int)): Updated API docs. - -2006-09-14 Christian Thalinger - - Fixes PR22800 - * native/fdlibm/mprec.h (Storeinc): Define correctly for LE - architectures (like Arm). - * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits): - Reverted SWAP_DOUBLE patch. - (doubleToRawLongBits): Likewise. - (longBitsToDouble): Likewise. - -2006-09-14 David Gilbert - - * java/awt/Menu.java: Reformatted source file. - -2006-09-14 Jeroen Frijters - - * gnu/java/rmi/server/ActivatableRef.java - (readExternal, writeExternal): Partial fix for serialization format. - -2006-09-14 Jeroen Frijters - - PR classpath/28984 - * java/io/InputStreamReader.java - (read(char[],int,int)): Fixed bug. - -2006-09-13 Francis Kung - - * java/awt/image/BandCombineOp.java: Updated documentation. - (filter(Raster, WritableRaster)): Use int arrays, and added simple cache. - -2006-09-13 Tom Tromey - - PR classpath/29034: - * java/io/PipedReader.java (read): Return early if len==0. - * java/io/PipedInputStream.java (read): Return early if len==0. - -2006-09-13 Francis Kung - - * java/awt/image/ConvolveOp.java (filter(Raster, WritableRaster)): - Removed hard-coded max sample value. - * java/awt/image/RescaleOp.java (filter(Raster, WritableRaster)): - Fixed finding of max sample value. - -2006-09-12 David Gilbert - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Check null argument ('p'). - -2006-09-12 Francis Kung - - PR 27940 - * gnu/java/awt/java2d/TexturePaintContext.java - (constructor): Fixed typo, getMinY instead of getMaxX. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Implemented support for custom Paint classes. - (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. - (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels - to setPaintPixels, and added repeat parameter. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: - Renamed setTexturePixels to setPaintPixels, and added repeat parameter. - -2006-09-12 Gary Benson - - * java/net/NetworkInterface.java (getInetAddresses): - Fix port used in security check. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/DefaultMetalTheme.java - (CONTROL_TEXT_FONT): Renamed 'controlTextFont', - (MENU_TEXT_FONT): Renamed 'menuTextFont', - (getControlTextFont): Check 'swing.boldMetal' setting before - initialising font, - (getMenuTextFont): Likewise. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Added 'List.focusCellHighlightBorder' entry. - -2006-09-12 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (InternalFrameDefaultMenuIcon.paintIcon): Use theme colors. - -2006-09-12 David Gilbert - - * javax/swing/AbstractSpinnerModel.java: API doc updates. - -2006-09-12 David Gilbert - - * javax/swing/AbstractButton.java - (AbstractButton): Initialise textIconGap field. - -2006-09-11 Tom Tromey - - * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print - "volatile" when needed. - -2006-09-11 David Gilbert - - * java/text/AttributedCharacterIterator.java - (LANGUAGE): Initialise with lower case string, - (INPUT_METHOD_SEGMENT): Likewise, - (READING): Likewise, - * java/text/AttributedStringIterator.java - (getRunLimit): Check all attributes for changes. - -2006-09-11 David Gilbert - - * java/text/AttributedCharacterIterator.java: Added @since tag, - renamed some variables (no underscores) and removed some spaces to - match the common style, - * java/text/AttributedString.java: Likewise, - * java/text/AttributedStringIterator.java: Likewise. - -2006-09-11 Gary Benson - - * java/net/Inet4Address.java - (FAMILY): Renamed back to AF_INET. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (FAMILY): Renamed back to AF_INET6. - (): Reflect the above. - -2006-09-11 Cameron McCormack - - Fixes PR29010 - * java/text/AttributedString.java - (AttributedString(AttributedCharacterIterator, int, int, - AttributedCharacterIterator.Attribute[])): Fixed check for defined - attribute. - -2006-09-11 Gary Benson - - * java/net/Inet4Address.java - (AF_INET): Renamed to FAMILY. - (, writeReplace): Reflect the above. - * java/net/Inet6Address.java - (AF_INET6): Renamed to FAMILY. - (): Reflect the above. - -2006-09-10 Ito Kazumitsu - - Fixes bug #28867 - Originally in Kaffe: 2004-04-16 Helmer Kraemer - * java/net/ServerSocket.java(implAccept): Deleted socket.implCreated. - * java/net/Socket.java: Avoid creating a redundant file descriptor. - (implCreated): Deleted, (getImpl): Don't check impleCreated, - (bind): Call getImpl().create(true). - -2006-09-09 Chris Burdess - - * gnu/xml/xpath/Expr.java: Ensure that node-set evaluation returns - an instance of org.w3c.dom.NodeList. - -2006-09-08 Thomas Fitzsimmons - - * tools/gnu/classpath/tools/appletviewer/Main.java: Warn about - missing security manager when run in standalone mode. - -2006-09-08 Francis Kung - - * java/awt/image/AffineTransformOp.java: Updated documentation. - (createCompatibleDestRaster): Updated formatting. - (filter(BufferedImage, BufferedImage)): Updated formatting. - (filter(Raster, WritableRaster)): Delegated processing to native peers for - if colour model is compatible. - (filterBicubic): Get entire pixel at once, and use appropriate array type. - (filterBilinear): Get entire pixel at once, and use appropriate array type. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (family): Updated javadoc and made private. - (): Add an address family argument. - (readObject): Don't overwrite family. - * java/net/Inet4Address.java - (AF_INET): New constant. - (): Use AF_INET as the family. - (writeReplace): Likewise. - * java/net/Inet6Address.java - (AF_INET6): New constant. - (): Use AF_INET6 as the family. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (getHostName): Move lookup into getCanonicalHostName. - (getCanonicalHostName): Move lookup from getHostName, - Perform security check on canonical name (ie after lookup). - -2006-09-08 Gary Benson - - * java/net/Inet4Address.java (isMulticastAddress, - isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, - isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, - isMCSiteLocal, isMCOrgLocal, getHostAddress): Moved - implementations from InetAddress. - * java/net/InetAddress.java (isMulticastAddress, - isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, - isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, - isMCSiteLocal, isMCOrgLocal, getHostAddress): Replace - implementations with UnsupportedOperationExceptions. - -2006-09-08 Gary Benson - - * java/net/InetAddress.java - (inaddr_any): Removed. - (ANY_IF, LOCALHOST): Create using getByAddress. - (): Updated javadoc. - (getHostName): Cache hostname even if the lookup failed. - (getByAddress): Create Inet4Address objects when passed - IPv4-mapped IPv6 addresses. - (aton): Removed. - (getAllByName): Create address objects using getByAddress. - Do not perform security checks unless actually required. - Do not strip whitespace from the hostname. - (getInaddrAny): Removed. - (getLocalHost): Return the loopback address if getByName - throws a SecurityException. - (readResolve): Updated javadoc. - * vm/reference/java/net/VMInetAddress.java (aton): Declared. - * include/java_net_VMInetAddress.h - (Java_java_net_VMInetAddress_aton): Likewise. - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_aton): New method. - * native/jni/native-lib/cpnet.h (cpnet_aton): Declared. - * native/jni/native-lib/cpnet.c (cpnet_aton): New method. - * configure.ac (AC_CHECK_FUNCS): Checks for cpnet_aton. - * java/net/Inet4Address.java (writeReplace): Updated javadoc. - * NEWS: Added note about updated VM interface. - -2006-09-07 David Gilbert - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (setNorthPane): Assign component to titlePane. - -2006-09-07 Audrius Meskauskas - - * gnu/CORBA/NamingService/NameParser.java (corbaloc): - Remove unused variable alt_addr. - * gnu/CORBA/NamingService/NameTransformer.java (toName): - Remove unused variables. - -2006-09-07 David Gilbert - - * javax/swing/plaf/metal/MetalScrollBarUI.java - (installDefaults): Initialise scrollBarWidth from UI defaults here, - (createDecreaseButton): Don't fetch scrollBarWidth here, - (createIncreaseButton): Likewise. - -2006-09-07 David Gilbert - - * java/awt/image/MemoryImageSource.java: Added API docs. - -2006-09-06 David Gilbert - - * javax/swing/plaf/basic/BasicScrollBarUI.java - (installDefaults): Call configureScrollBarColors(). - -2006-09-06 Francis Kung - - * java/awt/image/RescaleOp.java: Updated documentation and formatting. - (constructor): Make copy of arrays. - (createCompatibleDestImage): Changed treatment of null ColorModel. - (filter(BufferedImage, BufferedImage)): Re-implemented. - (filter(Raster, WritableRaster, boolean[])): New method. - (filter(Raster, WritableRaster)): Re-implemented. - (getOffsets): Prevent ArrayIndexOutOfBoundsException. - (getPoint2D): Cleaned up formatting. - (getScaleFactors): Prevent ArrayIndexOutOfBoundsException. - -2006-09-06 David Gilbert - - * javax/swing/UIManager.java - (getBoolean(Object)): Reimplemented, - (getBoolean(Object, Locale)): Likewise, - (getBorder(Object)): Likewise, - (getBorder(Object, Locale)): Likewise, - (getColor(Object)): Likewise, - (getColor(Object, Locale)): Likewise, - (getDimension(Object)): Likewise, - (getDimension(Object, Locale)): Likewise, - (getFont(Object)): Likewise, - (getFont(Object, Locale)): Likewise, - (getIcon(Object)): Likewise, - (getIcon(Object, Locale)): Likewise, - (getInsets(Object)): Updated API docs, - (getInsets(Object, Locale)): Likewise, - (getInt(Object)): Reimplemented, - (getInt(Object, Locale)): Likewise, - (getString(Object)): Likewise, - (getString(Object, Locale)): Likewise. - -2006-09-06 David Gilbert - - * javax/swing/UIManager.java - (MultiplexUIDefaults.MultiplexUIDefaults()): Don't allow null fallback, - (getDefaults): Initialise MultiplexUIDefaults with empty fallback. - -2006-09-06 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Corrected various font defaults. - -2006-09-05 David Gilbert - - * java/awt/List.java: Added @since to various methods. - -2006-09-05 Andrew John Hughes - - * native/jni/native-lib/cpprocess.c: - (forkAndExec(char*,char*,int,int,pid_t,char*)): - Add redirection of stdout to stderr. - * native/jni/native-lib/cpprocess.h: - Added redirect argument. - * native/jni/java-lang/java_lang_VMProcess.c - (Java_java_lang_VMProcess_nativeSpawn): Readd redirect argument. - * vm/reference/java/lang/VMProcess.java: Likewise. - * include/java_lang_VMProcess.h: Regenerated. - -2006-09-05 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: Adjust - __attribute to __attribute__. - - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Remove duplicate - header include. - -2006-09-05 David Gilbert - - * java/awt/List.java: Source code reformatted. - -2006-09-05 Audrius Meskauskas - - * gnu/CORBA/CollocatedOrbs.java, - gnu/CORBA/SafeForDirectCalls.java: New files. - * gnu/CORBA/NamingService/Binding_iterator_impl.java: - Implement gnu.CORBA.SafeForDirectCalls. - * gnu/CORBA/NamingService/Ext.java: Likewise. - * gnu/CORBA/NamingService/TransientContext.java: Likewise. - * gnu/CORBA/OrbFunctional.java (createIor):Cache the address - of the local host. (ior_to_object): Return the local object - where possible. (run): Register/unregister this ORB. - * gnu/CORBA/Poa/LocalRequest.java (v_invoke): Call gnuPOA.checkDiscarding. - * gnu/CORBA/Poa/gnuPOA.java (checkDiscarding): Made package private. - * gnu/CORBA/Poa/gnuServantObject.java (noRetain): New field. - (constructors): Initialize noRetain. (_invoke): Drop servant - if noRetain is true. (getHandler): Always seach for the new servant - if noRetain is true. - * gnu/CORBA/SimpleDelegate.java (create_request): Implemented. - * NEWS: Added note about the new feature. - -2006-09-05 David Gilbert - - * java/awt/Choice.java - (addItem): Fixed API doc glitch. - -2006-09-05 Francis Kung - - * java/awt/image/LookupOp.java: Updated documentation & formatting. - (createCompatibleDestImage): Re-implemented. - (filter(BufferedImage, BufferedImage)): Added check for src/dest image - compatibility, and use ColorConvertOp for color conversion if needed. - (filter(Raster, WritableRaster)): Made exceptions more descriptive. - -2006-09-05 Audrius Meskauskas - - gnu/CORBA/CDR/Vio.java, - org/omg/CORBA_2_3/ORB.java, - org/omg/CORBA_2_3/portable/InputStream.java, - org/omg/CORBA_2_3/portable/OutputStream.java, - org/omg/CosNaming/BindingIteratorHelper.java, - org/omg/CosNaming/BindingTypeHelper.java, - org/omg/CosNaming/NameComponentHelper.java, - org/omg/CosNaming/NameHelper.java, - org/omg/CosNaming/NamingContextExtHelper.java, - org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java, - org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, - org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, - org/omg/CosNaming/NamingContextHelper.java, - org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, - org/omg/CosNaming/NamingContextPackage/InvalidName.java, - org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, - org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, - org/omg/DynamicAny/AnySeqHelper.java, - org/omg/DynamicAny/DynAnyFactoryHelper.java, - org/omg/DynamicAny/DynAnyFactoryOperations.java, - org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, - org/omg/DynamicAny/DynAnyHelper.java, - org/omg/DynamicAny/DynAnyOperations.java, - org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, - org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, - org/omg/DynamicAny/DynAnySeqHelper.java, - org/omg/DynamicAny/DynArrayHelper.java, - org/omg/DynamicAny/DynEnumHelper.java, - org/omg/DynamicAny/DynFixedHelper.java, - org/omg/DynamicAny/DynSequenceHelper.java, - org/omg/DynamicAny/DynStructHelper.java, - org/omg/DynamicAny/DynStructOperations.java, - org/omg/DynamicAny/DynUnionHelper.java, - org/omg/DynamicAny/DynValueHelper.java, - org/omg/DynamicAny/NameDynAnyPairHelper.java, - org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, - org/omg/IOP/CodecFactoryHelper.java, - org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, - org/omg/IOP/CodecOperations.java, - org/omg/IOP/CodecPackage/FormatMismatchHelper.java, - org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, - org/omg/IOP/CodecPackage/TypeMismatchHelper.java, - org/omg/IOP/ComponentIdHelper.java, - org/omg/IOP/ExceptionDetailMessage.java, - org/omg/IOP/MultipleComponentProfileHelper.java, - org/omg/IOP/ProfileIdHelper.java, - org/omg/IOP/ServiceContextListHelper.java, - org/omg/IOP/ServiceIdHelper.java, - org/omg/IOP/TAG_CODE_SETS.java, - org/omg/PortableInterceptor/ClientRequestInfoOperations.java, - org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, - org/omg/PortableInterceptor/CurrentHelper.java, - org/omg/PortableInterceptor/IORInfo.java, - org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, - org/omg/PortableInterceptor/ORBIdHelper.java, - org/omg/PortableInterceptor/ORBInitInfoOperations.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, - org/omg/PortableInterceptor/ORBInitializerOperations.java, - org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, - org/omg/PortableInterceptor/RequestInfoOperations.java, - org/omg/PortableInterceptor/ServerIdHelper.java, - org/omg/PortableInterceptor/ServerRequestInfoOperations.java, - org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, - org/omg/PortableServer/AdapterActivatorOperations.java, - org/omg/PortableServer/CurrentHelper.java, - org/omg/PortableServer/CurrentPackage/NoContextHelper.java, - org/omg/PortableServer/ForwardRequestHelper.java, - org/omg/PortableServer/IdAssignmentPolicyValue.java, - org/omg/PortableServer/IdUniquenessPolicyValue.java, - org/omg/PortableServer/ImplicitActivationPolicyValue.java, - org/omg/PortableServer/LifespanPolicyValue.java, - org/omg/PortableServer/POA.java, - org/omg/PortableServer/POAHelper.java, - org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, - org/omg/PortableServer/POAManagerPackage/State.java, - org/omg/PortableServer/POAOperations.java, - org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, - org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, - org/omg/PortableServer/POAPackage/InvalidPolicy.java, - org/omg/PortableServer/POAPackage/NoServantHelper.java, - org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, - org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, - org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, - org/omg/PortableServer/RequestProcessingPolicyValue.java, - org/omg/PortableServer/ServantActivatorHelper.java, - org/omg/PortableServer/ServantLocatorHelper.java, - org/omg/PortableServer/ServantLocatorOperations.java, - org/omg/PortableServer/ServantRetentionPolicyValue.java, - org/omg/PortableServer/ThreadPolicyValue.java, - org/omg/PortableServer/_ServantActivatorStub.java, - org/omg/PortableServer/_ServantLocatorStub.java, - org/omg/PortableServer/portable/Delegate.java: Documentation fixes. - -2006-09-05 Audrius Meskauskas - - * javax/rmi/CORBA/Tie.java, - org/omg/CORBA/AnyHolder.java, - org/omg/CORBA/AnySeqHelper.java, - org/omg/CORBA/AnySeqHolder.java, - org/omg/CORBA/BooleanHolder.java, - org/omg/CORBA/BooleanSeqHelper.java, - org/omg/CORBA/BooleanSeqHolder.java, - org/omg/CORBA/ByteHolder.java, - org/omg/CORBA/CharHolder.java, - org/omg/CORBA/CharSeqHelper.java, - org/omg/CORBA/CharSeqHolder.java, - org/omg/CORBA/Context.java, - org/omg/CORBA/CurrentHelper.java, - org/omg/CORBA/CustomValue.java, - org/omg/CORBA/DataOutputStream.java, - org/omg/CORBA/DefinitionKindHelper.java, - org/omg/CORBA/DomainManagerOperations.java, - org/omg/CORBA/DoubleHolder.java, - org/omg/CORBA/DoubleSeqHelper.java, - org/omg/CORBA/DoubleSeqHolder.java, - org/omg/CORBA/DynAny.java, - org/omg/CORBA/DynSequence.java, - org/omg/CORBA/DynValue.java, - org/omg/CORBA/DynamicImplementation.java, - org/omg/CORBA/FieldNameHelper.java, - org/omg/CORBA/FixedHolder.java, - org/omg/CORBA/FloatHolder.java, - org/omg/CORBA/FloatSeqHelper.java, - org/omg/CORBA/FloatSeqHolder.java, - org/omg/CORBA/IdentifierHelper.java, - org/omg/CORBA/IntHolder.java, - org/omg/CORBA/LocalObject.java, - org/omg/CORBA/LongHolder.java, - org/omg/CORBA/LongLongSeqHelper.java, - org/omg/CORBA/LongLongSeqHolder.java, - org/omg/CORBA/LongSeqHelper.java, - org/omg/CORBA/LongSeqHolder.java, - org/omg/CORBA/ORB.java, - org/omg/CORBA/ObjectHelper.java, - org/omg/CORBA/ObjectHolder.java, - org/omg/CORBA/OctetSeqHelper.java, - org/omg/CORBA/OctetSeqHolder.java, - org/omg/CORBA/PolicyErrorCodeHelper.java, - org/omg/CORBA/PolicyErrorHelper.java, - org/omg/CORBA/PolicyHelper.java, - org/omg/CORBA/PolicyListHelper.java, - org/omg/CORBA/PolicyTypeHelper.java, - org/omg/CORBA/PrincipalHolder.java, - org/omg/CORBA/RepositoryIdHelper.java, - org/omg/CORBA/Request.java, - org/omg/CORBA/ShortHolder.java, - org/omg/CORBA/ShortSeqHelper.java, - org/omg/CORBA/ShortSeqHolder.java, - org/omg/CORBA/StringSeqHelper.java, - org/omg/CORBA/StringSeqHolder.java, - org/omg/CORBA/ULongLongSeqHelper.java, - org/omg/CORBA/ULongLongSeqHolder.java, - org/omg/CORBA/ULongSeqHelper.java, - org/omg/CORBA/ULongSeqHolder.java, - org/omg/CORBA/UShortSeqHelper.java, - org/omg/CORBA/UShortSeqHolder.java, - org/omg/CORBA/ValueBaseHelper.java, - org/omg/CORBA/ValueBaseHolder.java, - org/omg/CORBA/VersionSpecHelper.java, - org/omg/CORBA/WCharSeqHelper.java, - org/omg/CORBA/WCharSeqHolder.java, - org/omg/CORBA/WStringSeqHelper.java, - org/omg/CORBA/WStringSeqHolder.java, - org/omg/CORBA/WrongTransactionHelper.java, - org/omg/CORBA/_IDLTypeStub.java, - org/omg/CORBA/_PolicyStub.java, - org/omg/CORBA/portable/BoxedValueHelper.java, - org/omg/CORBA/portable/Delegate.java, - org/omg/CORBA/portable/ObjectImpl.java, - org/omg/CORBA/portable/ServantObject.java, - org/omg/CORBA/portable/StreamableValue.java, - org/omg/CosNaming/BindingType.java, - org/omg/CosNaming/IstringHelper.java, - org/omg/DynamicAny/FieldNameHelper.java, - org/omg/PortableServer/Servant.java: Documentation fixes. - -2006-09-04 David Gilbert - - * java/awt/Rectangle.java - (setRect(double, double, double, double)): Modified rounding of input - values. - -2006-09-03 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): - Disallow H1 - H6 in the paragraphs. - * gnu/javax/swing/text/html/parser/support/textPreProcessor.java - (preprocess): Leave at most one leading and/or trailing space. - * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): - Do not add any text after closing the HTML tag. - -2006-09-02 Roman Kennke - - PR 28928 - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getPreferredSpan): Default to 10 when there is no - real view. - (RootView.getMinimumSpan): Forward to view and default to 10 - when there is no real view. - (RootView.getMaximumSpan): Return Integer.MAX_VALUE. - (getMaximumSize): Check for overflow. - * javax/swing/text/FieldView.java - (getResizeWeight): Removed unneeded assignment. - -2006-09-01 Francis Kung - * java/awt/image/ColorConvertOp.java - (copyImage): Updated javadoc and comments. - (copyRaster): Add javadoc. - (createCompatibleColorModel): Add javadocs and comments. - (createCompatibleDestImage): Use correct transfer type. - (createCompatibleDestRaster): Add new parameter for transfer type. - (filter): Use correct transfer type. - * java/awt/image/ConvolveOp.java: Updated javadocs. - (createCompatibleDestImage): Set new image properties correctly. - (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. - (filter(WritableRaster, Raster): Clip sample values to [0-255]. - -2006-09-01 Robert Schuster - - * javax/swing/table/DefaultTableModel.java: - (checkSize): Added null check for dataVector. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicSplitPaneUI.java: - (BasicHorizontalLayout.getAlignmentX): Return fixed value. - (BasicHorizontalLayout.getAlignmentY): Return fixed value. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/metal/MetalCheckBoxIcon.java: - (paintIcon): Removed unused import statements, lowered cast requirement - from JCheckBox to AbstractButton. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicLookAndFeel.java: - (initComponentDefaults): Added, changed and removed some - tabbed pane properties. - -2006-09-01 Robert Schuster - - * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: - (createContent): Changed menu item name and tab naming. - -2006-09-01 Roman Kennke - - PR 28922 - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView.getAttributes): Overridden to return null. - (HTMLRootView.getElement): Overridden to return the view's - element. - -2006-09-01 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (calculateTabAreaHeight): Use getTabRunOverlay method instead - of accessing variable directly. - (calculateTabAreaWidth): Dito. - -2006-08-31 Keith Seitz - - * include/jvmti.h: Include jvmti_md.h. - -2006-08-31 Keith Seitz - - From Martin Platter : - * Makefile.am (include_HEADERS): Include jvmti.h. - * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. - (jvmtiError): Remove superfluous comma after last entry. - (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". - (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. - (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. - (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to - character pointer. - (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. - (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. - (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to - character pointer. - -2006-08-31 Roman Kennke - - * javax/swing/text/BoxView.java - (getWidth): Return the width with insets added, not with one - added and one removed. - (getHeight): Return the height with insets added, not with one - added and one removed. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.viewToModel): Need to add the start offset. - * javax/swing/text/ParagraphView.java - (Row.getAlignment): Adjust alignment with respect to - the justification attribute. - (Row.getLeftInset): Overridden to adjust for firstLineIndent - attribute. - * javax/swing/text/html/CSS.java - (getValue): Convert length values. - * javax/swing/text/html/Paragraph.java - (painter): New field. - (paint): Implemented to delegate painting to the BoxPainter too. - (setPropertiesFromAttributes): Implemented to load attributes - from CSS. - * javax/swing/text/html/StyleSheet.java - (BoxPainter.as): Removed field. - (BoxPainter.leftInset): New field. - (BoxPainter.bottomInset): New field. - (BoxPainter.rightInset): New field. - (BoxPainter.topInset): New field. - (BoxPainter.BoxPainter): Implemented to load the insets from - CSS. - (BoxPainter.getInset): Implemented. - * gnu/javax/swing/text/html/Length.java: New class. - Converts CSS length units to usable values. - -2006-08-31 Andreas Tobler - - * configure.ac: Add check for gethostbyname_r. - Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. - * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define - SOCKET_NOSIGNAL according to the configure check. - (cpnet_send): Use SOCKET_NOSIGNAL. - (cpnet_sendTo): Likewise. - (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not - defined. - * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they - are not available. - - * lib/Makefile.am (cssfiles): Add new rule to install css files. - -2006-08-31 Roman Kennke - - * javax/swing/JEditorPane.java - (getPreferredSize): Replace preferred size with minimum - UI size only if the scrollable does _not_ track the viewport - size and only if the viewport's size is smaller than the - scrollable's size. - (getScrollableTracksViewportWidth): Avoid unnecessary multiple - method calls. - * javax/swing/plaf/basic/BasicTextUI.java - (getPreferredSize): Read-lock the document to avoid - concurrency problems. - (getMaximumSize): Return maximum size of the view. - Read-lock the document to avoid concurrency problems. - (getMinimumSize): Return minimum size of the view. - Read-lock the document to avoid concurrency problems. - -2006-08-31 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): Renamed to processHostport. - (processHostport): Also translate "" to "localhost". - (setHostPort): Remove special cases for empty hostport and for - extra colons in hostport (processHostport handles these now). - -2006-08-31 Mark Wielaard - - * javax/swing/text/ZoneView.java (Zone): Make static class. - Constructor takes axis parameter. - (createZone): Create Zone with getAxis() as major axis. - -2006-08-30 Roman Kennke - - * javax/swing/text/ZoneView.java - (loadChildren): Implemented. - (getViewIndexAtPosition): Implemented. - (checkZoneAt): New helper method. - (splitZone): New helper method. - (getPreferredZoneEnd): New helper method. - -2006-08-30 Roman Kennke - - * javax/swing/text/ZoneView.java: New class. - -2006-08-30 Roman Kennke - - * javax/swing/JMenu.java - (getMenu): Removed unneeded cast. - (getPopupMenuOrigin): Made positioning algorithm better respect - the screen bounds. - (setMenuLocation): Also set the location on the popup if it's - not null. - (setModel): Use menuChangeListener so that we don't override - the changeListener field from AbstractButton. - (setPopupMenuVisible): Use custom location if set, otherwise - fallback to getPopupMenuOrigin(). - -2006-08-29 Roman Kennke - - * javax/swing/text/InternationalFormatter.java - (stringToValue): Fixed bounds check. - * javax/swing/text/MaskFormatter.java - (MaskFormatter): Don't explicitly set allosInvalid property. - (convertStringToValue): New helper method. - (convertValueToString): New helper method. - (convertValue): Removed. Replaced by the 2 convert* methods - above. - (getPadCharAt): Removed. - (isCharValid): Removed. - (pad): Removed. - (stringToValue): Fixed stringToValue conversion. - (stripLiterals): Removed. - (valueToString): Fixed valueToString conversion. - * javax/swing/text/DefaultFormatter.java - (DefaultFormatter): Default to commitsOnValidEdit = false. - -2006-08-29 Roman Kennke - - * javax/swing/text/TextAction.java - (getTextComponent): Check event for null and return null in - this case. - (augmentList): Augment Actions based on their names. - * javax/swing/text/DefaultEditorKit.java - (BeginAction.actionPerformed): Check target for null. - (BeginLineAction.actionPerformed): Check target for null. - (CopyAction.actionPerformed): Check target for null. - (CutAction.actionPerformed): Check target for null. - (EndAction.actionPerformed): Check target for null. - (EndLineAction.actionPerformed): Check target for null. - (InsertBreakAction.actionPerformed): Check target for null. - (InsertTabAction.actionPerformed): Check target for null. - (PasteAction.actionPerformed): Check target for null. - (SelectAllAction.actionPerformed): Check target for null. - (SelectionBeginAction.actionPerformed): Check target for null. - (SelectionBeginLineAction.actionPerformed): Check target for null. - (SelectionEndAction.actionPerformed): Check target for null. - (SelectionEndLineAction.actionPerformed): Check target for null. - (SelectLineAction.actionPerformed): Check target for null. - (SelectWordAction.actionPerformed): Check target for null. - -2006-08-29 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (FocusHandler): New class. This is moved from the anonymous - inner focus listener class to a static member class, and - is now shared between components. - (DocumentHandler): This class is combined with the PropertyHandler - into the Handler class. - (PropertyChangeHandler): This class is combined with the - DocumentHandler into the Handler class. - (Handler): New class. This combines the Property and Document - handler into one class. - (RootView.changedUpdate): Only forward if real view != null. - (RootView.insertUpdate): Only forward if real view != null. - (RootView.removeUpdate): Only forward if real view != null. - (documentHandler): Removed field and replaced by handler. - (focuslistener): Made field static and renamed to focusListener. - (handler): New field. - (kit): Lazily initialize field. - (rootView): Lazily initialize field. - (updateHandler): Removed and replaced by handler. - (getEditorKit): Lazily instantiate field. - (installDefaults): Don't set margin twice. Install correct - property for disabledTextColor. Moved caret and highlighter - initialization to installFixedDefaults. - (installFixedDefaults): New method. Installs defaults that - can't be overridden by subclasses. - (installListeners): Only install focus handler when new - system property gnu.swing.text.no-xlike-clipboard is not set. - Lazily initialize focus handler. - (installUI): Lazily initialize rootView. Install handler - both for property and document changes. - (uninstallDefaults): Uninstall the UI defaults. - (uninstallFixedDefaults): New method. Uninstalls the fixed - defaults. - (installListeners): Only uninstall focus handler when not null. - (uninstallUI): Uninstall property and document listener here. - -2006-08-29 Gary Benson - - * java/net/SocketPermission.java - (maybeBracketIPv6Address): New method. - (): Pass the hostport argument through the above. - - * java/net/NetworkInterface.java (getInetAddresses): - Don't bracket IPv6 addresses. - -2006-08-28 Roman Kennke - - * javax/swing/text/BoxView.java - (calculateMinorAxisRequirements): Initialize max size - with Integer.MAX_VALUE. - * javax/swing/text/Utilities.java - (getBreakLocation): For simple chars, scan the text directly. - * javax/swing/text/WrappedPlainView.java - (tabBase): New field. - (tabSize): New field. - (calculateBreakPosition): Use Utilities. Fixed for correct - break calculation. - (changedUpdate): Update children directly. - (insertUpdate): Update children directly. Notify children. - (removeUpdate): Update children directly. Notify children. - (updateChildren): New helper method. - (nextTabStop): Fixed to return correct results. - (paint): Update tabBase. - (updateMetrics): Update tab size. - -2006-08-28 Roman Kennke - - * javax/swing/text/Position.java - (Bias.Forward): Initialize with 'Forward' rather then 'forward'. - (Bias.Backward): Initialize with 'Backward' rather then 'backward'. - -2006-08-28 Roman Kennke - - * javax/swing/text/View.java - (height): Removed unneeded field. - (width): Removed unneeded field. - (getBreakWeight): Return GoodBreakWeight when pos is after - the view's span. - (getToolTipText): Check view index more carefully. Avoid - Rectangle creation. - (insertUpdate): Only execute method body if view count > 0. - When updateChildren returns false, clear the ec variable. - (updateChildren): Added null checks. - (viewToModel): Initialize bias array correctly. - * javax/swing/text/CompositeView.java - (children): Made private. - (numChildren): New field. - (loadChildren): Check factory for null. Don't load children - when factory is null. - (replace): Removed null check. Nullify removed children. Made - growing the array more efficient. - (getViewCount): Return numChildren rather then the real array - size. - * javax/swing/text/BoxView.java - (getViewAtPoint): Fixed algorithm for finding the view. - (replace): Made array growing more efficient. - (replaceLayoutArray): New helper method for growing/patching - the layout arrays. - (viewToModel): Make sure we have a valid layout. - -2006-08-28 Tania Bento - - * java/awt/MenuShortcut.java - (MenuShortcut (int, boolean)): Set keyName. - (toString): Modified string output. - (setKeyName): New private method. - -2006-08-28 Roman Kennke - - * javax/swing/text/GapContent.java - (Mark.getOffset): Made assert less strict, include boundary. - (search): Made package private to avoid accessor method. - -2006-08-28 Roman Kennke - - * javax/swing/text/StringContent.java - (InsertUndo.positions): New field. - (InsertUndo.redo): Update the undo positions. - (InsertUndo.undo): Fetch the undo positions. - (Mark): New class. Layer of indirection to allow Positions - to be GC'ed while we still hold references to the Mark. - (RemoveUndo.len): New field. - (RemoveUndo.positions): New field. - (RemoveUndo.RemoveUndo): Fetch undo positions. - (RemoveUndo.redo): Re-fetch positions and string. - (RemoveUndo.undo): Update undo positions. - (StickyPosition.mark): New field. - (StickyPosition.offset): Removed field. - (StickyPosition.StickyPosition): Create new Mark. Register - Position in queueOfDeath. Update reference count on mark. - (StickyPosition.getOffset): Return offset stored in mark. - (StickyPosition.setOffset): Removed unneeded method. - (UndoPosRef): New class. Handles undo/redo on positions/marks. - (EMPTY): New field. - (marks): New field. Stores the marks. - (positions): Removed field. - (queueOfDeath): New field. Used for GCing the positions. - (StringContent): Initialize queueOfDeath. - (createPosition): Lazily create marks vector. - (garbageCollect): New helper method. Collects positions - to be GCed and updates their marks. - (getChars): Fixed bounds check. - (getPositionsInRange): When v == null, create new Vector, - otherwise use v. Store UndoPosRefs in vector. - (getString): Added comment about bug in RI. - (insertString): Use new helper method for replacing the array. - Correctly update positions. - (length): Removed this qualifier. - (remove): Use new helper method for replacing the array. - Correctly update positions. - (replace): New helper method for growing or patching the array. - (updateUndoPositions): Implemented. Updates the positions - for undo/redo operations. - -2006-08-27 Roman Kennke - - * javax/swing/text/StyleContext.java - (NamedStyle.attributes): Made field transient. - (NamedStyle.changeEvent): Made field transient. - (NamedStyle.name): Removed field. The name is stored as - attribute. - (NamedStyle.NamedStyle(String,Style)): Call setName() for - storing the name and check for null name and resolveParent. - Don't initialize changeEvent. - (NamedStyle.copyAttributes): Return a new NamedStyle, - rather than a plain copy of the attributes field. - (NamedStyle.fireStateChange): Lazily create changeEvent - field. - (NamedStyle.getName): Fetch name from attributes. - (NamedStyle.setName): Store name from attributes. - (NamedStyle.readObject): Implemented for correct - deserialization. - (NamedStyle.writeObject): Implemented for correct - serialization. - (NamedStyle.setResolveParent): When new parent is null, - remove resolveParent attribute. Use addAttribute() method - rather than StyleContext addAttribute(). - (NamedStyle.toString): Fixed to produce output equal to the - RI. - (SmallAttributeSet.resolveParent): New field. - (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update - the resolveParent field correctly. - (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy - array but store it directly. Update - the resolveParent field correctly. - (SmallAttributeSet.clone): Return this as the object is - immutable. - (SmallAttributeSet.containsAttributes): Make sure that keys - and values are the same. - (SmallAttributeSet.containsAttribute): Make sure that keys - and values are the same. - (SmallAttributeSet.copyAttributes): Return this as the object is - immutable. - (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet - are equal if they have the same number of attributes and - one contains the other. - (SmallAttributeSet.getAttribute): Improved lookup of - resolveParent. - (SmallAttributeSet.getResolveParent): Improved lookup of - resolveParent. - (SmallAttributeSet.isEqual): When comparing object is a - SmallAttributeSet, consider them equal only if they are the - same object. - (SmallAttributeSet.toString): Fixed to produce output equal to the - RI. - (attributeSetPool): New field. - (defaultStyleContext): Initialize lazily. - (defaultStyle): Removed field. This is stored in the style context - as attribute. - (listenerList): Removed field. The NamedStyle stores the - listeners. - (readAttributeKeys): New static field. Used for looking up - the serialization mappings when reading. - (search): New field. Used as search key. - (staticAttributeKeys): Replaced by read/writeAttributeKeys. - (styles): New field. Stores the styles and listeners. - (styleTable): Removed field. Replaced by styles field. - (writeAttributeKeys): New static field. Used for looking up - the serialization mappings when writing. - (static_initializer): Register mappings for all keys in - StyleConstants. - (StyleContext): Initialize styles correctly. - (addAttributes): Fixed caching of immutable attributes. - (addAttribute): Fixed caching of immutable attributes. - (removeAttributes): Fixed caching of immutable attributes. - (removeAttribute): Fixed caching of immutable attributes. - (addChangeListener): Add listener to styles field. - (removeChangeListener): Remove listener from styles field. - (getChangeListeners): Fetch listeners from styles field. - (addStyle): Add style to styles field. - (cleanupPool): New method. - (getDefaultStyleContext): Lazily create context. - (getEmptySet): Simply return SimpleAttributeSet.EMPTY. - (getMutableAttributeSet): New helper method. Used for - caching. - (getStaticAttribute): Fetch key from readAttributeKeys. - (getStyleNames): Return names from styles field. - (getStyle): Lookup style in styles field. - (removeStyle): Remove style from styles field. - (readAttributeSet): Fixed deserialization. - (writeAttributeSet): Fixed serialization. - (readObject): Fixed deserialization. - (writeObject): Fixed serialization. - (reclaim): Simply cleanup the pool. - (registerStaticAttributeKey): Store mapping in both ways. - (searchImmutableSet): New helper method for caching. - (toString): Fixed for output like the RI. - * javax/swing/text/StyleConstants.java - (keys): New field. Stores all known keys. - (StyleConstants): Store created key in keys list. - * javax/swing/event/EventListenerList.java - (readObject): Fixed deserialization. - (writeObject): Fixed serialization. - -2006-08-25 Roman Kennke - - * javax/swing/text/CompositeView.java - (insets): Removed. Replaced by single short fields. - (top): New field. Replaces insets. - (bottom): New field. Replaces insets. - (left): New field. Replaces insets. - (right): New field. Replaces insets. - (CompositeView): Initialize insets fields. - (createDefaultLocation): Removed unneeded method. - (getBottomInset): Return field directly. - (getTopInset): Return field directly. - (getLeftInset): Return field directly. - (getRightInset): Return field directly. - (getInsideAllocation): Adjusted to work on new insets fields. - (getViewIndex): Fixed check. - (loadChildren): Don't replace the old children. - (replace): Make sure that there is an array to operate on. - Only set parent to null, when it is this View. - (setInsets): Adjusted to work with new insets fields. - (setParagraphInsets): Fixed to pull insets directly from - StyleConstants. - -2006-08-25 Roman Kennke - - * javax/swing/text/ComponentView.java - (Interceptor): New inner helper class. Used to propagate - invalidate requests and cache component layout sizes. - (interceptor): New field. - (getAlignment): Fetch alignment from interceptor container. - (getComponent): Don't create component here. This is done - in setParent(). - (getMaximumSpan): Fetch layout info from interceptor. Check - for illegal axis. - (getMinimumSpan): Fetch layout info from interceptor. Check - for illegal axis. - (getPreferredSpan): Fetch layout info from interceptor. Check - for illegal axis. - (modelToView): Fixed model to view mapping. - (viewToModel): Fixed view to model mapping. - (paint): Check for null. Set bounds on interceptor rather - then component. - (setParentImpl): Install interceptor between component - and hosting container. - (setParent): Call super.setParent() immediately. - -2006-08-25 Roman Kennke - - * javax/swing/text/LabelView.java - (setPropertiesFromAttributes): Only set background when - the corresponding attribute is actually defined, otherwise - set to null, as the StyleConstants would return black. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.documentEvent): Removed obsolete field. - (ElementBuffer.change): Do prepareEdits() and finishEdits() - to correctly update the element structure. - (ElementBuffer.insertContentTag): Removed unused statement. - (ElementBuffer.recreateAfterFracture): Removed - unused obsolete method. - (setCharacterAttributes): Removed unused statement. - -2006-08-25 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - (LaterMain.run): Removed unused local variable. - (Demo): Don't put desktop in scrollpane. - (addChildren): Removed unused method. - (mkButtonBar): Added HTML demo. - (mkMenuBar): Added HTML demo. - (mkPanel): Removed unused method. - (mkScrollPane): Removed unused method. - (mkTree): Removed unused method. - (valign2str): Removed unused method. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Initialize text field with some HTML that already works. - (DEBUG): New field. Set to true for debugging output. - (createContent): Dump element tree after parsing. - -2006-08-25 Roman Kennke - - * javax/swing/text/html/CSS.java - (getValue): Added color value conversion. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.ConvertAction): New class, converts HTML style tags - to CSS attributes. - (HTMLReader.initTags): Register ConvertAction for tag. - * javax/swing/text/html/InlineView.java - (setPropertiesFromAttributes): Implemented to fetch - CSS character attributes. - * javax/swing/text/html/StyleSheet.java - (addCSSAttribute): Convert value. - (getBackground): Implemented to fetch CSS background color - attribute. - (getForeground): Implemented to fetch CSS color - attribute. - (getFont): Adjust font size for superscript and subscript. - (translateHTMLToCSS): Rudimentary implementation that - copies the original attributes, so that any CSS attributes in - there are preserved. - (stringToColor): Use CSSColor for conversion. - * gnu/javax/swing/text/html/css/CSSColor.java: - New class. Converts CSS color values to RGB color values. - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: - Removed. This is more or less replaced by CSSColor and the - ConvertAction in HTMLReader. - -2006-08-25 Roman Kennke - - * javax/swing/text/BoxView.java - (childReqs): Removed obsolete field. - (baselineLayout): Reimplemented for correct baseline layout. - (baselineRequirements): Reimplemented for correct baseline - layout. - (updateChildRequirements): Removed obsolete method. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.getSpan): Removed unused statement. - (DefaultGlyphPainter.paint): Dont paint subscript/superscript - specially. The subscript/superscript layout is performed - via the alignment, the font is supplied by the StyleContext. - (breakView): Removed unused statements. - (getAlignment): Adjust alignment according to the - superscript/subscript setting. - (getFont): Reimplemented to fetch the font from the style - context, or from the document if the stylecontext is not - available. - (getPreferredSpan): Adjust span for superscript. Use switch - instead of if-else. - * javax/swing/text/LabelView.java - (setPropertiesFromAttributes): Fetch background and foreground - from document / style context. - (isSubscript): Resync properties if needed. - * javax/swing/text/ParagraphView.java - (Row.calculateMinorAxisRequirements): Overridden to perform - a baseline layout. - (Row.layoutMinorAxis): Overridden to perform a baseline layout. - -2006-08-24 Roman Kennke - - * javax/swing/text/Utilities.java - (BUF_LENGTH): Removed unused field. - (drawTabbedText): Removed unneeded cast. - (getBreakLocation): Removed unneeded cast. - Fixed offset to account for Segments not starting at 0. - -2006-08-24 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. - (TabbedPaneScrollLayout.layoutContainer): Likewise. - (ScrollingPane.updateUI): Likewise. - (calculateTabWidth): Rewritten to correctly and efficiently - layout the tab width. - (layoutLabel): Call SwingUtilities method with the tabPane - as argument. - (paintContentBorderLeftEdge): Removed unused statement. - (paintContentBorderRightEdge): Removed unused statement. - (paintContentBorder): Removed unused statement. - -2006-08-24 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getAttributes): Overridden to return null, - as the RootView has no parent. - -2006-08-24 Roman Kennke - - * javax/swing/text/html/CSSParser.java: Removed. - * javax/swing/text/html/CSS.java - (getValue): New helper method. Returns special converter - instances for certain kinds of property values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.CharacterAction.start): Don't translate tags - here. Instead, store the attributes directly with the tag - as key. - (content): Removed field. The Content object is handled - by AbstractDocument. - (styleSheet): Removed field. The styleSheet is the styleContext - of this document and handled by the DefaultStyledDocument already. - (HTMLDocument(Content,StyleSheet): Simply call super here. - The super classes already handle the content and styleContext. - (HTMLDocument()): Call this() with a default GapContent and - StyleSheet. - (getStyleSheet): Return the styleContext here. - (insertUpdate): New method. Overridden to add the - CONTENT dummy tag to the element's attributes. - (setBase): Set the base on the styleContext. - * javax/swing/text/html/HTMLEditorKit.java - (styleContext): Removed unneeded field. - (styleSheet): Made field private. - (HTMLEditorKit): Do nothing here. The StyleSheet is - created lazily in getStyleSheet(). A styleContext is not - needed here. - (getStyleSheet): Create StyleSheet correctly. - (insertHTML): Removed unneeded cast. - * javax/swing/text/html/InlineView.java - (attributes): New field. - (changedUpdate): Reload attributes. Trigger preferenceChanged. - (getAttributes): Implemented to fetch the attributes from - the stylesheet. - * javax/swing/text/html/MultiAttributeSet.java: New class. - Multiplexes between several AttributeSets. - * javax/swing/text/html/MultiStyle.java: New class. - Multiplexes between several Styles. - * javax/swing/text/html/ParagraphView.java - (attributes): New field. - (getAttributes): Implemented to fetch the attributes from - the stylesheet. - * javax/swing/text/html/StyleSheet.java - (CssParser): Removed inner class. - (CSSStyle): New inner class. Represents a style defined - by a CSS rule. - (CSSStyleSheetParserCallback): New class, for parsing - CSS stylesheets. - (css): New field. Stores the CSS rules. - (resolvedStyles): New field. Stores resolved styles. - (StyleSheet): Initialize resolvedStyles map. - (addRule): Removed bogus impl. - (getFont): Implemented to fetch font, based on CSS rules. - (getResolvedStyle): New helper method. Looks up resolved - styles, and resolves a style if necessary. - (resolveStyle): New pair of helper methods. Resolves - CSS style rules. - (getRule(String)): Provide rudimentary implementation. - (getRule(Tag,Element)): Implemented. - (getViewAttributes): Implemented. - (loadRules): Implemented. - (translateHTMLToCSS): Tagged as not implemented. - * javax/swing/text/html/ViewAttributeSet.java: New class. - -2006-08-24 Roman Kennke - - * javax/swing/text/FlowView.java: - (LogicalView.getAttributes): New method. Overrides super - impl to return the attributes of the FlowView instance. - * javax/swing/text/LabelView.java: - (setPropertiesFromAttributes): Fetch attributes from - View, rather then from the Element. (In the HTML - package the getAttributes() method is overridden to - return different attributes). Fetch font from the StyledDocument. - -2006-08-24 Roman Kennke - - * javax/swing/text/DefaultEditorKit.java: - (DefaultKeyTypedAction.actionPerform): Also filter - ALT and CTRL modifiers. - -2006-08-24 Roman Kennke - - * gnu/javax/swing/text/html/css/FontSize.java, - * gnu/javax/swing/text/html/css/FontStyle.java, - * gnu/javax/swing/text/html/css/FontWeight.java: - New classes. Used to convert CSS font attributes to AWT/Swing - Font constants. - -2006-08-24 Francis Kung - * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. - * java/awt/image/ColorConvertOp.java: Updated javadocs. - (srccs, dstcs, rasterValid): Variables removed. - (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. - (copyRaster): Check for null rendering hints - (createCompatibleColorModel): New private method. - (createCompatibleDestImage): Re-implemented. - (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. - (createCompatibleDestRaster(Raster)): Re-implemented. - (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. - (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. - (getPoint2D): Clean up formatting. - * java/awt/image/ComponentColorModel.java - (constructor): use findBits method instead of passing null. - (findBits): New method. - -2006-08-24 Gary Benson - - * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 - addresses. - -2006-08-24 Jeroen Frijters - - * java/lang/ref/Reference.java - (queue, nextOnQueue): Made volatile. - (enqueue): Made thread safe. - * java/lang/ref/ReferenceQueue.java - (lock): New field. - (poll): Removed synchronized. - (enqueue): Changed to synchronize on lock object, to update Reference - state and return success status. - (dequeue, remove): Synchronize on lock object. - -2006-08-24 Jeroen Frijters - - * java/security/SecureClassLoader.java - (protectionDomainCache): Changed to HashMap. - (SecureClassLoader): Removed redundant security check. - (defineClass(String,byte[],int,int,CodeSource): Moved - protection domain lookup/construction to new method. - (defineClass(String,ByteBuffer,CodeSource): New method. - (getProtectionDomain): New method. - -2006-08-23 Roman Kennke - - * javax/swing/JComponent.java - (isRepainting): Made package private. - (paintChild): New field. - (findOpaqueParent): Removed method. This is now in - paintImmediately(). - (findOverlapFreeParent): Removed method. This is now - in paintImmediately2(). - (findPaintRoot): Removed method. This is now - in paintImmediately2(). - (isCompletelyObscured): Changed to take rectangle as single - ints as argument. - (isPaintingDoubleBuffered): Removed method. This is now - in paintImmediately2(). - (isPartiallyObscured): New helper method. - (onTop): New helper method for optimization. - (paintChildren): Paint only to specific child when - requested like this from paintImmediately2(). - (paintDoubleBuffered): Changed to take rectangle as single int - arguments. - (paintImmediately2): Changed to take rectangle as single int - arguments. Optimized determination of paint root. - (paintImmediately(Rectangle)): Change to delegate to - paintImmediately(int,int,int,int). - (paintImmediately(int,int,int,int)): Look for opaque ancestor - and start painting there. - (paint): Call paintDoubleBuffered() with int arguments. Only - paint component, when not completely occupied by opaque child. - (processKeyBinding): Removed unnecessary cast. - (isOccupiedByChild): New helper method. - * javax/swing/RepaintManager.java - (repaintUnderway): Removed obsolete field. - (commitRequests): Removed obsolete field. - (RepaintManager): Removed initialization of obsolete fields. - (addDirtyRegion): Removed unused statement. - (commitBuffer): Changed to take plain ints as argument. - (compileRepaintRoots): Optimized to avoid use of Rectangle. - Compute offsets in place, rather than using SwingUtilities. - (paintDirtyRegions): Removed unused field. - * javax/swing/JMenuItem.java - (onTop): Return true when not descendant of JInternalFrame. - * javax/swing/JPopupMenu.java - (onTop): Return true. - * javax/swing/JToolTip.java - (onTop): Return true. - * javax/swing/JViewport.java - (paintImmediately2): Change signature to match the - corresponding JComponent method. - -2006-08-23 Tania Bento - - * java/awt/Color.java - (brighter): Modified algorithm to correctly determine the - new brighter colour. - -2006-08-23 Roman Kennke - - * java/awt/Container.java - (maxSize): Removed field. This is already declared in Component. - (validateTree): Check for ContainerPeer. Don't addNotify here. - Only validate Component instances if they are invalid. - -2006-08-22 Roman Kennke - - * javax/swing/JComponent.java - (preferredSize): Removed field. - (maximumSize): Removed field. - (minimumSize): Removed field. - (getMaximumSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (getMinimumSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (getPreferredSize): Adjusted to delegate to Component, rather - then managing the size in JComponent. - (isMaximumSizeSet): Removed. - (isMinimumSizeSet): Removed. - (isPreferredSizeSet): Removed. - (setMaximumSize): Removed. - (setMinimumSize): Removed - (setPreferredSize): Removed. - -2006-08-22 Roman Kennke - - * javax/swing/AbstractButton.java - (ButtonChangeListener.stateChanged): Delegate to combined - handler. - (EventHandler): New inner class. Handles all three types - of events on the model. - (eventHandler): New field. Stores the combined event - handler. - (AbstractButton): Moved listener initialization to - setModel(). - (createActionListener): Return combined handler. - (createChangeListener): Return combined handler. - (createItemListener): Return combined handler. - (getEventHandler): New helper method for creating the combined - handler. - (setModel): Initialize listeners here. - * javax/swing/plaf/basic/BasicButtonListener.java - (ButtonAction): New class. Implements the keyboard action - for buttons. - (checkOpacity): Implemented. - (createDefaultActionMap): New helper method. - (installKeyboardActions): Rewritten to install InputMap - and ActionMap according to 'new' keyboard input method. - (mouseClicked): Commented as no-op. - (mouseDragged): Commented as no-op. - (mouseMoved): Commented as no-op. - (propertyChange): Check for contentAreaFilled change and - update opacity. Pull handling of HTLM in font and text handler. - (stateChanged): Repaint button. - (uninstallKeyboardActions): Properly uninstall keyboard actions. - * javax/swing/plaf/basic/BasicButtonUI.java - (listener): Removed. - (sharedListener): New static field. Stores the shared listener. - (sharedUI): New static field. Stores the shared UI. - (createButtonListener): Return shared instance here. - (createUI): Return shared instance here. - (getButtonListener): New helper method. Looks for the - BasicButtonListener installed on a button and returns it. - (installDefaults): Correctly install rollover property here. - Fetch defaultTextShiftOffset. Initialize opaqueness correctly. - (installKeyboardActions): Fetch listener with new helper method. - (installListeners): Don't use removed field. Check for null. - (installUI): Added comment about order of method invocations. - (uninstallDefaults): Don't uninstall non-uninstallable properties. - (uninstallKeyboardActions): Fetch listener with new helper method. - (uninstallListeners): Fetch listener with new helper method. - (paintIcon): Paint icon offset when pressed and armed. - * javax/swing/plaf/metal/MetalButtonListener.java: Removed. - * javax/swing/plaf/metal/MetalButtonUI.java - (sharedUI): New field. Stores the shared UI. - (MetalButtonUI): Don't initialize fields here. - (createButtonListener): Removed method. Use super impl. - (createUI): Return shared instance. - (getDisabledTextColor): Update field here. - (getFocusColor): Update field here. - (getSelectColor): Update field here. - (installDefaults): Don't handle rollover property here. - (uninstallDefaults): Don't handle rollover property here. - (paintButtonPressed): Use accessor method to update the - field value. - -2006-08-21 Mark Wielaard - - Merge NATIVE_LAYER branch. - - 2006-08-20 Mark Wielaard - - * doc/tools.texinfo: Add file from trunk. - * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. - * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink - headers. - * native/jni/java-lang/java_lang_VMProcess.c - (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. - * native/jni/native-lib/Makefile.am: Remove empty and nonexisting - files. - * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct - mask. - * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused - theaddr. - * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from - cpnet.h. - * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, - don't implement. - * vm/reference/java/lang/VMProcess.java: Removed unused redirect - argument. - * include/java_lang_VMProcess.h: Regenerated. - - 2006-07-09 Guilhem Lavaux - - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (nativeReceive): Fixed the type of the arrays (use java types). - (nativeSendTo): Force throwing an exception if port is 0. - - * native/jni/java-net/javanet.c: - (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is - returned. - (_javanet_recvfrom): Likewise. - (_javanet_sendto): Throw a NullPointerException if the socket is - not connected and no address is given. - - * native/jni/java-net/javanet.h - (NULL_EXCEPTION): Defined. - - 2006-06-16 Guilhem Lavaux - - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_getHostByName): Fix detection of - error. - - * native/jni/java-net/javanet.c - (_javanet_accept): Fixed bogus call to TARGET. - (_javanet_create_inetaddress): Fixed address generation. Fixed - bogus memory free. - (_javanet_bind): set "Reuse address" flag. - - * native/jni/native-lib/cpio.c - (cpio_getModificationTime): Fixed type. - (cpio_removeFile): Use rmdir too. - - * native/jni/native-lib/cpnet.c - (cpnet_getHostByName): Fixed error detection. - - * native/jni/native-lib/cpnet.h - (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the - memory. - (cpnet_IPV4AddressToBytes): Fixed types. - - 2006-06-10 Guilhem Lavaux - - * native/jni/native-lib/cpio.c - (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. - - * native/jni/native-lib/cpnet.h: - (cpnet_bytesToIPV4Address): Fixed type casting to avoid being - messed by signs in jbyte. - - * native/jni/native-lib/cpproc.h - (CPIO_EXEC_NUM_PIPES): Compilation fix. - - 2006-05-09 Guilhem Lavaux - - * native/jni/native-lib/cpnet.c - (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. - (waitForWritable, waitForReadable): New functions. - (socketTimeouts): New static global table to hold timeouts for all - socket fds. - (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): - Added waitForXXXX safeguards to handle socket timeouts. - - * native/jni/java-net/javanet.c - (_javanet_accept): Check for the right error value when a timeout - occurs. - - 2006-03-25 Guilhem Lavaux - - * native/jni/java-io/Makefile.am, - native/jni/java-lang/Makefile.am, - native/jni/java-net/Makefile.am, - native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. - - * native/jni/native-lib/Makefile.am: Added cpproc.c - - * native/jni/native-lib/cpio.c: Implemented missing functions for - CPIO. - - * native/jni/native-lib/cpnet.c - (cpnet_getHostByName): Fixed address array initialization. - - * native/jni/native-lib/cpproc.c: Implemented. - - 2006-02-19 Guilhem Lavaux - - * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. - - * m4/gcc_attribute.m4: New file from ac_archive. - - * native/jni/java-net/javanet.c: Adapted to cpnet API - modification. - - * native/jni/native-lib/cpnet.c: Implemented. - - * native/jni/native-lib/cpnet.h - (cpnet_openSocketDatagram, - cpnet_openSocketStream): These calls need an address family now. - (cpnet_IPV4AddressToBytes, - cpnet_bytesToIPV4Address): Convert the address to network order. - - 2006-02-19 Guilhem Lavaux - - * native/jni/java-io/java_io_VMFile.c, - native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, - native/jni/midi-dssi/dssi_data.h, - native/jni/native-lib/cpio.c, - native/jni/native-lib/cpmath.h: Removed cpmath - dependency. Fixed coding style. - - 2006-02-18 Guilhem Lavaux - - * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET - dependency. Simplified the JNI code by moving some part into the - native layer. - - * native/jni/native-lib/cpproc.h: New interface to handle processes. - - 2006-02-18 Guilhem Lavaux - - * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation - errors. Removed any remaining TARGET invocations. - - * native/jni/java-net/javanet.c - (_javanet_create_inetaddress): Removed spurious arr and - octets. Fixed compilation errors. - - * native/jni/native-lib/cpnet.h - (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, - cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, - cpnet_isIPV4Address): New functions. - (cpnet_bytesToIPV4Address): Fixed interface to be consistent with - the rest. - - 2006-01-28 Guilhem Lavaux - - * native/jni/java-io/java_io_VMFile.c, - native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, - native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, - native/jni/java-net/javanet.c, - native/jni/java-net/javanet.h: Adapted the VM layer code - to the new native layer. - - * native/jni/native-lib/cpnet.h - (cpnet_addMembership, - cpnet_dropMembership, - cpnet_getAvailableBytes): Added the declarations of - some new functions. - (cpnet_newIPV6Address, - cpnet_IPV6AddressToBytes, - cpnet_bytesToIPV6Address): Implemented. - (cpnet_newIPV4Address): Initialize the sin_family field. - - 2006-01-28 Guilhem Lavaux - - * native/target: Removed. - - * configure.ac: Removed target from CLASSPATH_INCLUDES and - Makefile generation. - - * native/jni/native-lib/Makefile.am, - native/jni/native-lib/cpnet.h, - native/jni/native-lib/cpnet.c - native/jni/native-lib/cpio.h, - native/jni/native-lib/cpio.c, - native/jni/native-lib/cpmath.h: Imported new native compatibility - layer. - -2006-08-21 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSParser.java: - New class. - * gnu/javax/swing/text/html/css/CSSParserCallback.java: - New interface. - * gnu/javax/swing/text/html/css/CSSParserException.java: - New exception. - * gnu/javax/swing/text/html/css/CSSScanner.java: - Adjusted API comments. Made all constants package private. - (EOF): New constant field. - (parseBuffer): Made package private. - (tokenEnd): Made package private. - (CSSScanner): Initialize lookahead buffer with -1. - (main): Print out to System.out rather then System.err. - (nextToken): Push back character after IDENT. - -2006-08-21 Jeroen Frijters - - * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". - -2006-08-21 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSScanner.java - (main): Use buffered input stream. - (nextToken): Removed 65536 workaround. Use int value directly - without cast to char. - (readComment): Use int value directly without cast to char. - Cast to char only when putting the character into the buffer. - (readEscape): Likewise. - (readIdent): Likewise. - (readName): Likewise. - (readNum): Likewise. - (readString): Likewise. - (readWhitespace): Likewise. - -2006-08-21 Ingo Proetel - - * java/io/InputStreamReader.java - (bytesCache): New field. - (cacheLock): New field. - (read(byte[],int,int): Avoid allocations of new byte - array on every call and reuse cached byte array if possible. - -2006-08-21 Roman Kennke - - * gnu/java/net/local/LocalSocketImpl.java - Only load native lib if this is supported by runtime. - * native/jni/java-net/local.c - Include config.h unconditionally. - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - Include config.h unconditionally. - -2006-08-21 Friedjof Siebert - - * java/io/ObjectInputStream.java - (objectLookupTable): Changed to be a Vector. - (ObjectInputStream): Initialize objectLookupTable as Vector. - (assignNewHandle): Store Object using handle index rather than - Hashtable, using the new rememberHandle() method. - (hierarchy): New method. This replaces inputGetObjectStreamClasses() - with a caching in ObjectStreamClass. - (inputGetObjectStreamClass): Replaced by hierarchy(). - (lookupHandle): New method. Looks up an object by it's handle - index. - (parseContent): Avoid creating of Integer objects. Use - hierarchy() method for looking up the class hierarchy. - (processResolution): Use rememberHandle() to store - handle per index, rather than Hashtabling the object. - (readFields): - (rememberHandle): New method. - * java/io/ObjectOutputStream.java - (OIDLookupTable): Use ObjectIdentityMap2Int instead of - Hashtable for improved lookup performance. - (ObjectOutputStream): Initialize OIDLookupTable as - ObjectIdentityMap2Int. - (assignNewHandle): Change to use ObjectIdentityMap2Int. - (findHandle): Change to use ObjectIdentityMap2Int. - (getBooleanField): Removed. - (getByteField): Removed. - (getCharField): Removed. - (getDoubleField): Removed. - (getField): Removed. - (getFloatField): Removed. - (getIntField): Removed. - (getLongField): Removed. - (getObjectField): Removed. - (writeFields(Object,ObjectStreamClass)): Use new helper method. - (writeFields(Object,ObjectStreamField)): New helper method. - Use switch rather then if-else cascade. - (writeObject): Use int handle, rather then Integer. - * java/io/ObjectStreamClass.java - (hierarchy): New field. Caches the class hierarchy. - (methodCache): New field. Caches methods. - (readObjectSignature): New field. Stores the read signature. - (uidCache): New field. Caches UIDs. - (writeObjectSignature): New field. Stores the write signature. - (cacheMethods): Cache methods in methodCache. - (calculateClassID): Outsourced from getClassUID() - for computing the UIDs. - (getClassUIDFromField): Outsourced from getClassUID() for - fetching the UID from the class field. - (getClassUID): Use cached uid if possible. Use new helper - methods for fetching the UID from the field or computing - from scratch. - (getObjectStreamClasses): Removed. Replaced by more - efficient hierarchy() method, that also caches the result. - (hierarchy): Replaces getObjectStreamClasses() for caching - the result. - (loadedByBootOrApplicationClassLoader): New helper method. - (setClass): Invalidate hierarchy cache. - (setSuperclass): Invalidate hierarchy cache. - * java/io/ObjectStreamField.java - (field): Made field package private for access from other - classes. - * gnu/java/io/ObjectIdentityWrapper.java: Removed. - * gnu/java/io/ObjectIdentityMap2Int.java: Efficient - hashtable for mapping objects to ints. - -2006-08-21 Roman Kennke - - * java/io/File.java - (getAbsolutePath): Fetch absolute path from - VMFile.getAbsolutePath(). Moved actual impl to there. - (isAbsolute): Let VMFile determine the absoluteness. - (toURL): Let VMFile convert the filename. - * vm/reference/java/io/VMFile.java - (getAbsolutePath): New method. - (isAbsolute): New method. - (toURL): New method. - -2006-08-21 Jeroen Frijters - - * NEWS: Added note about updated VM interface. - -2006-08-20 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - Updated documentation. - -2006-08-20 Ito Kazumitsu - - Fixes bug #28412 - * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): - New methods. - * gnu/java/util/regex/CharIndexedCharSequence.java, - gnu/java/util/regex/CharIndexedInputStream.java: Implemented the - new methods above. - * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, - (match): call the new method setHitEnd of the input, - (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, - Some optimization commented out, Use CharIndexed#move1 instead of move. - * gnu/java/util/regex/REMatch.java: Made some debugging methods public. - * gnu/java/util/regex/REToken.java(match): The method body has been - moved to an internal private method, (matchFake): New method, - (setHitEnd): New method. - * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd - if the match is not complete, (matchOneString): Count the number of - characters which matched the pattern. - * gnu/java/util/regex/RETokenEnd.java(fake): New field, - (setFake): New method, (match): Call super.match or super.matchFake. - * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. - * gnu/java/util/regex/RETokenOneOf.java(match): call the new method - setHitEnd of the input, - * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. - * java/util/regex/Matcher.java(lookingAt, match): Use the new flag - RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. - -2006-08-18 Tom Tromey - - * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push - the 'int', not the cast char. - -2006-08-18 Roger Sayle - - * scripts/check_jni_methods.sh: Don't use the "set -C" command - which isn't available in all shells. - -2006-08-18 Roger Sayle - - * lib/Makefile.am (resources): Fix some shell portability issues. - -2006-08-18 Thomas Fitzsimmons - - * configure.ac (tool-wrappers): Check for ltdl support when tool - wrapper binaries are enabled. - * tools/Makefile.am (LIBJVM): Remove variable. - (AM_CPPFLAGS): Add LIBJVM define. - (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, - gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, - gjavah_LDFLAGS): Remove variables. - * tools/toolwrapper.c (main): Use dlopen to load libjvm library. - -2006-08-18 Tom Tromey - - * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed - debugging prints. - * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging - print. - (readEntries): Likewise. - -2006-08-17 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutLabel): Reset the text and icon rectangles. - -2006-08-17 Thomas Fitzsimmons - - PR classpath/28537 - * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): - Transform gappletviewer name using program_transform_name. - -2006-08-17 Jeroen Frijters - - * javax/swing/filechooser/FileSystemView.java - (getFileSystemView): Always return UnixFileSystemView, since - that's the only one we got. Marked with NotImplementedException. - * javax/swing/plaf/basic/BasicFileChooserUI.java - (mouseClicked, installUI): Don't parse path by hand. - -2006-08-17 Roman Kennke - - * javax/swing/JComponent.java - (scrollRectToVisible): Handle intermediate non-JComponents - more gracefully. - -2006-08-17 Roman Kennke - - * javax/swing/RepaintManager.java - (blitBuffer): Removed. This is now done in commitBuffer(). - (commitBuffer): Always paint on the root window or applet. - No need to look for intermediate heavyweights. Optimized - rectangle translation. - (commitRemainingBuffers): Removed. Not needed anymore. - (getHeavyweightParent): Removed. Not needed anymore. - (getOffscreenBuffer): Fetch offscreen image from the - actual root component. - (paintDirtyRegions): Don't call commitRemainingBuffers(). - -2006-08-17 Roman Kennke - - * javax/swing/SwingUtilities.java - (clipString): New helper method for trimming strings. - (layoutCompoundLabelImpl): Fixed algorithm to conform - testsuites. Trim text if it's too long. Avoid creating - new Rectangles. Optimized for performance. - (layoutCompoundLabel): Use switch rather then if-else-chain. - * javax/swing/plaf/basic/BasicButtonUI.java - (viewR): New field. - (iconR): New field. - (textR): New field. - (paint): Reset and use cached rectangles. Only call paintIcon() - if icon is not null. Don't call paintButtonPressed() when - button is selected, only when it is both armed and pressed. - * javax/swing/plaf/basic/BasicGraphicsUtils.java - (getPreferredButtonSize): Reused cached rectangles rather - then creating new ones. Don't create new Rectangle via - Rectangle.union(). - * javax/swing/plaf/basic/BasicLabelUI.java - (getPreferredSize): Correctly reset cached rectangles. Especially - the view rect must have a big size to give it room for layouting. - Short cut layout when text == null. - (paint): Correctly reset cached rectangles. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (resetRectangles): New helper method. - (getPreferredMenuItemSize): Correctly reset the cached rectangles. - (paintMenuItem): Correctly reset the cached rectangles. - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (getPreferredSize): Use cached Rectangle objects and initialize - them correctly. - (paint): Use cached Rectangle objects and initialize - them correctly. - -2006-08-17 David Gilbert - - * java/util/Calendar.java: API doc additions. - -2006-08-17 Robert Schuster - - * javax/swing/DefaultButtonModel.java: - (setRollover): Simplified statement. - -2006-08-17 Jeroen Frijters - - * gnu/java/rmi/server/RMIClassLoaderImpl.java - (loadClass): Rewritten to use getClassLoader. - (loadProxyClass): Implemented. - (getClassLoader): Fixed support for null or empty codebase. - * gnu/java/rmi/server/RMIObjectInputStream.java - (resolveClass): Use user class loader as default class loader. - (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. - * gnu/javax/rmi/CORBA/UtilDelegateImpl.java - (loadClass): Simplified and use user class loader instead of - context class loader as default. - * java/io/ObjectInputStream.java - (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). - * vm/reference/gnu/classpath/VMStackWalker.java - (firstNonNullClassLoader): New method. - * vm/reference/java/io/VMObjectInputStream.java - (loaderAction, currentClassLoader): Removed. - -2006-08-17 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (getTabBounds(JTabbedPane, int)): Added code to shift rectangle - by current scroll offset, added method documention. - (getTabBounds(int, Rectangle)): Added method documentation. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: - (paintContentBorderLeftEdge): Changed y to 1. - -2006-08-17 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (MouseHandler.mouseReleased): Implemented. - (MouseHandler.mousePressed): Added delegation to tabbed pane. - (MouseHandler.mouseEntered): Dito. - (MouseHandler.mouseExited): Dito. - (MouseHandler.mouseMoved): Dito. - (MouseHandler.redispatchEvent): New method. - (PropertyChangeHandler.propertyChange): Added extra block level, - added code to handle tab placement changes, added comment. - (updateViewPosition): Set unneeded coordinate to 0, added comment. - -2006-08-16 Roman Kennke - - * gnu/javax/swing/text/html/css/CSSScanner.java: New file. - * gnu/javax/swing/text/html/css/CSSLexicalException.java: - New file. - -2006-08-16 Mark Wielaard - - * java/awt/Component.java (orientation): Renamed to - componentOrientation. - (setComponentOrientation): Use new field name. - (getComponentOrientation): Likewise. - -2006-08-16 Roman Kennke - - PR 28750 - * javax/swing/plaf/basic/BasicTreeUI.java - (CellEditorHandler.editingCancelled): Call completeEditing - directly. - (CellEditorHandler.editingStopped): Call completeEditing - directly. - (NodeDimensionHandler.getNodeDimensions): Rewritten - to use the preferred sizes of the renderer and editor. - (TreeExpansionHandler.treeCollapsed): Complete editing - here. - (TreeSelectionHandler.valueChanged): Complete editing - here. - (cancelEditing): Call completeEditing with false, false and - false. Don't call finish (removed method). - (completeEditing(boolean,boolean,boolean): Only do something when - stopEditingInCompleteEditing is true. Nullify editingComponent - and editingPath. Remove editingComponent from tree. Update - the layout when necessary and repaint. - (completeEditing): Stop editing when necessary. - (editorRequestFocus): New helper method. Request focus - on the actual editor. - (finish) Removed. This is now done in completeEditing(). - (prepareForUIInstall): Set stopEditingInCompleteEditing to true. - (setLargeModel): Complete editing here. - (setRootVisible): Complete editing here. - (setRowHeight): Complete editing here. - (setSelectionModel): Complete editing here. - (startEditing): Correctly initialize and start editing. - (updateExpandedDescendants): Complete editing here. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTextField): Fetch size from super and use renderer's height - if appropriate. - (EditorContainer.EditorContainer): Set layout to null, just - to make sure. - (EditorContainer.doLayout): Layout so that the editor - is offset to the right of the icon. - (EditorContainer.getPreferredSize): Implemented to - provide a reasonable preferred size. - (EditorContainer.paint): Position icon in the middle. - Also paint border if appropriate. - (EditorContainer.setBounds): Removed. - (RealEditorListener): Removed. - (DefaultTreeCellEditor): Set correct border. - (cancelCellEditing): Message real editor. Call finish(). - (createCellEditor): Don't add listener. - (determineOffset): Correctly determine offset, and update - the icon. - (finish): New helper method. - (getTreeCellEditorComponent): Set correct font. Call - prepareForEditing() and determineOffset() to correctly initialize - the state. - (stopCellEditing): Messsage realEditor to stop editing. Call - finish to clean up. - (stopEditingTimer): Removed. - (valueChanged): Correctly reset lastPath. - * javax/swing/tree/DefaultTreeCellRenderer.java - (getPreferredSize): Return super plus some extra space for - better readability. - -2006-08-16 Roman Kennke - - * javax/swing/plaf/metal/MetalTreeUI.java - (LineStyleListener): New property listener, that updates - the line style setting if the corresponding property - changes. - (lineStyleListener): New field. - (lineStyle): New field. - (LINE_STYLE_ANGLED): New constant field. - (LINE_STYLE_HORIZONTAL): New constant field. - (LINE_STYLE_NONE): New constant field. - (LINE_STYLE_VALUE_ANGLED): New constant field. - (LINE_STYLE_VALUE_HORIZONTAL): New constant field. - (LINE_STYLE_VALUE_NONE): New constant field. - (LINE_STYLE_PROPERTY): New constant field. - (decodeLineStyle): Implemented. - (installUI): Install line style listener. Set initial - lineStyle. - (uninstallUI): Uninstall line style listener. - (paintHorizontalPartOfLeg): Only call super for angled - lineStyle. - (paintVerticalPartOfLeg): Only call super for angled - lineStyle. - (paintHorizontalSeparators): Implemented. - (paint): If lineStyle==HORIZONTAL, call - paintHorizontalSeparators(). - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Add panel for selecting line styles. - -2006-08-16 Robert Schuster - - * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: - (createContent): Rewritten. - (createPlacementChangingMenuItem): New method. - (createLayoutPolicyChangingMenuItem): New method. - (createTabbedPane): New method. - (createTabContent): New method. - -2006-08-16 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (MouseHandler.mousePressed): Fixed indentation, intercept clicks on - disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. - -2006-08-16 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. - (calculateBreakPosition): Add p0 to return value. - -2006-08-15 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (MouseHandler.selectedOnPress): New field. - (MouseHandler.handleEvent): New helper method for handling - selection and start/stop editing for mouse events. - (MouseHandler.mouseDragged): Commented as no-op method. - (MouseHandler.mouseMoved): Commented as no-op method. - (MouseHandler.mousePressed): Use handleEvent() to handle - selection and editing handling. - (MouseHandler.mouseReleased): Use handleEvent() to handle - selection and editing handling. - (MouseInputHandler.MouseInputHandler): Register itself - as mouse listener on source. Redispatch event to - destination. - (MouseInputHandler.dispatch): New helper method. - (MouseInputHandler.mouseClicked): Dispatch event. - (MouseInputHandler.mouseDragged): Dispatch event. - (MouseInputHandler.mouseEntered): Stop dispatching - if dragging stopped. - (MouseInputHandler.mouseExited): Stop dispatching - if dragging stopped. - (MouseInputHandler.mouseMoved): Stop dispatching. - (MouseInputHandler.mousePressed): Marked as no-op. - (MouseInputHandler.mouseReleased): Dispatch and stop - dispatching afterwards. - (MouseInputHandler.removeFromSource): Implemented. - (PropertyChangeHandler.propertyChange): Also handle - editable property changes by calling setEditable(). - (SelectionModelPropertyChangeHandler.propertyChange): - Reset row selection. - (startEditTimer): Removed. - (setCellEditor): Call updateEditor(). - (setEditable): Call updateEditor(). - (startEditingAtPath): Make path fully visible before starting - editing. - (startEditing): Maybe cancel previous edit session. Add - editing component itself, not its parent container. - Register MouseInputHandler for correctly redispatching - initial events. - (stopEditing): Message cellEditor and only completeEditing() - when approved by cell editor. - (updateCellEditor): Complete editing before updating - the cell editor. Get cell editor from JTree if possible, - otherwise create default editor. Update the listeners - on the editor. - * javax/swing/tree/DefaultTreeCellEditor.java - (CLICK_COUNT_TO_START): Removed. - (DefaultTreeCellEditor): Install correct border. Let setTree() - update the listeners. Don't initialize lastPath and font yet. - (actionPerformed): Implemented to start editing. - (createTreeCellEditor): Set click count to start to 1, rather than - 3. - (isCellEditable): Prepare editor here. Determine if we can - start immediately, or if we trigger a timer to do so. - (prepareForEditing): Don't removeAll() (not necessary), - check editingComponent to be non-null. - (setTree): Update listeners. - (shouldStartEditingTimer): Check for left mouse button. - (startEditingTimer): Lazily create timer. - -2006-08-15 Lillian Angel - - * java/awt/dnd/DropTargetDragEvent.java - (getTransferable): Implemented. - -2006-08-15 Roman Kennke - - * java/util/Vector.java - (removeAll): Added comment about NPE. - (retainAll): Added comment about NPE. - -2006-08-15 Roman Kennke - - * java/util/zip/ZipFile.java - (UTF8DECODER): Removed. - (UTF8CHARSET): New constant field. Stores the UTF8 charset. - (utf8Decoder): New instance field. - (decodeChars): Lazily create UTF8 decoder. Use instance - field rather than a static field to avoid corruption. - -2006-08-15 Roman Kennke - - * java/io/PrintStream.java - (line_separator): Provide default for system property. - * java/io/FileDescriptor.java - (valid): Create local copy of channel field for better - threading safetly. - -2006-08-15 Ingo Proetel - - * java/util/zip/ZipFile.java - (PartialInputStream.UTF8DECODER): New constant field, used - for decoding UTF8 strings. - (readLeShort): Access buffer directly if it has enough bytes - available. - (readLeInt): Access buffer directly if it has enough bytes - available. - (decodeChars): New helper method for decoding UTF8 strings. - (readString): Avoid NIO charset decoder if possible. - -2006-08-15 Roman Kennke - - * java/util/Vector.java - (removeAll): Don't explicitly null-check here. The RI allows - null arguments when Vector is empty. In other cases we - implicitly throw an NPE. - (retainAll): Don't explicitly null-check here. The RI allows - null arguments when Vector is empty. In other cases we - implicitly throw an NPE. - -2006-08-14 Casey Marshall - - Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record - of changes made on this branch. - Files modified: - * gnu/classpath/debug/Component.java - * gnu/classpath/debug/SystemLogger.java - * gnu/java/security/action/GetPropertyAction.java - * gnu/java/security/action/GetSecurityPropertyAction.java - * gnu/javax/crypto/RSACipherImpl.java - * gnu/javax/net/ssl/PrivateCredentials.java - * gnu/javax/net/ssl/provider/Alert.java - * gnu/javax/net/ssl/provider/AlertException.java - * gnu/javax/net/ssl/provider/Certificate.java - * gnu/javax/net/ssl/provider/CertificateRequest.java - * gnu/javax/net/ssl/provider/CertificateType.java - * gnu/javax/net/ssl/provider/CertificateVerify.java - * gnu/javax/net/ssl/provider/CipherSuite.java - * gnu/javax/net/ssl/provider/ClientHello.java - * gnu/javax/net/ssl/provider/ClientKeyExchange.java - * gnu/javax/net/ssl/provider/CompressionMethod.java - * gnu/javax/net/ssl/provider/Constructed.java - * gnu/javax/net/ssl/provider/ContentType.java - * gnu/javax/net/ssl/provider/DiffieHellman.java - * gnu/javax/net/ssl/provider/Extension.java - * gnu/javax/net/ssl/provider/Finished.java - * gnu/javax/net/ssl/provider/Handshake.java - * gnu/javax/net/ssl/provider/Jessie.java - * gnu/javax/net/ssl/provider/ProtocolVersion.java - * gnu/javax/net/ssl/provider/Random.java - * gnu/javax/net/ssl/provider/ServerHello.java - * gnu/javax/net/ssl/provider/ServerKeyExchange.java - * gnu/javax/net/ssl/provider/Signature.java - * gnu/javax/net/ssl/provider/Util.java - * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java - * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java - * java/security/MessageDigest.java - * java/security/MessageDigestSpi.java - * java/security/Signature.java - * java/security/SignatureSpi.java - * javax/crypto/Mac.java - * javax/crypto/MacSpi.java - * javax/net/ssl/HandshakeCompletedEvent.java - * javax/net/ssl/HttpsURLConnection.java - * javax/net/ssl/SSLContext.java - * javax/net/ssl/SSLContextSpi.java - * javax/net/ssl/SSLSession.java - Files added: - * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java - * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java - * gnu/javax/net/ssl/provider/SimpleSessionContext.java - * gnu/javax/net/ssl/provider/ServerRSAParams.java - * gnu/javax/net/ssl/provider/SSLContextImpl.java - * gnu/javax/net/ssl/provider/ServerDHParams.java - * gnu/javax/net/ssl/provider/ClientHelloBuilder.java - * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java - * gnu/javax/net/ssl/provider/SignatureAlgorithm.java - * gnu/javax/net/ssl/provider/CipherSuiteList.java - * gnu/javax/net/ssl/provider/ServerNameList.java - * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java - * gnu/javax/net/ssl/provider/CompressionMethodList.java - * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java - * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java - * gnu/javax/net/ssl/provider/TrustedAuthorities.java - * gnu/javax/net/ssl/provider/CertificateStatusRequest.java - * gnu/javax/net/ssl/provider/ServerHelloDone.java - * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java - * gnu/javax/net/ssl/provider/SSLSocketImpl.java - * gnu/javax/net/ssl/provider/ServerHelloBuilder.java - * gnu/javax/net/ssl/provider/Record.java - * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java - * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java - * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java - * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java - * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java - * gnu/javax/net/ssl/provider/CertificateBuilder.java - * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java - * gnu/javax/net/ssl/provider/CertificateStatusType.java - * gnu/javax/net/ssl/provider/ExtensionList.java - * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java - * gnu/javax/net/ssl/provider/ClientPSKParameters.java - * gnu/javax/net/ssl/provider/X500PrincipalList.java - * gnu/javax/net/ssl/provider/ServerHandshake.java - * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java - * gnu/javax/net/ssl/provider/SessionImpl.java - * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java - * gnu/javax/net/ssl/provider/ServerPSKParameters.java - * gnu/javax/net/ssl/provider/TruncatedHMAC.java - * gnu/javax/net/ssl/provider/MaxFragmentLength.java - * gnu/javax/net/ssl/provider/HelloRequest.java - * gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java - * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java - * gnu/javax/net/ssl/provider/CipherAlgorithm.java - * gnu/javax/net/ssl/provider/ClientHandshake.java - * gnu/javax/net/ssl/provider/ExchangeKeys.java - * gnu/javax/net/ssl/provider/CertificateURL.java - * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java - * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java - * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java - * gnu/javax/net/ssl/provider/Builder.java - * gnu/javax/net/ssl/provider/Debug.java - * gnu/javax/net/ssl/provider/SSLEngineImpl.java - * gnu/javax/net/ssl/provider/MacAlgorithm.java - * gnu/javax/net/ssl/provider/DelegatedTask.java - * gnu/javax/net/ssl/provider/InputSecurityParameters.java - * gnu/javax/net/ssl/provider/ClientHelloV2.java - * gnu/javax/net/ssl/provider/OutputSecurityParameters.java - * gnu/javax/net/ssl/provider/AbstractHandshake.java - * javax/net/ssl/SSLEngine.java - * javax/net/ssl/CertPathTrustManagerParameters.java - * javax/net/ssl/KeyStoreBuilderParameters.java - * javax/net/ssl/X509ExtendedKeyManager.java - * javax/net/ssl/SSLEngineResult.java - * gnu/javax/net/ssl/PreSharedKeyManager.java - * gnu/javax/net/ssl/Session.java - * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java - * gnu/javax/net/ssl/SSLCipherSuite.java - * gnu/javax/net/ssl/AbstractSessionContext.java - * gnu/javax/net/ssl/SessionStoreException.java - * gnu/javax/net/ssl/SSLRecordHandler.java - * gnu/javax/net/ssl/SSLProtocolVersion.java - * gnu/javax/crypto/key/GnuPBEKey.java - * gnu/java/security/util/ByteBufferOutputStream.java - * gnu/java/security/Requires.java - * gnu/javax/security/auth/callback/CertificateCallback.java - Files removed: - * gnu/javax/net/ssl/provider/Context.java - * gnu/javax/net/ssl/provider/DigestInputStream.java - * gnu/javax/net/ssl/provider/DigestOutputStream.java - * gnu/javax/net/ssl/provider/Enumerated.java - * gnu/javax/net/ssl/provider/Extensions.java - * gnu/javax/net/ssl/provider/GNUSecurityParameters.java - * gnu/javax/net/ssl/provider/JCESecurityParameters.java - * gnu/javax/net/ssl/provider/JDBCSessionContext.java - * gnu/javax/net/ssl/provider/JessieDHPrivateKey.java - * gnu/javax/net/ssl/provider/JessieDHPublicKey.java - * gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java - * gnu/javax/net/ssl/provider/JessieRSAPublicKey.java - * gnu/javax/net/ssl/provider/KeyPool.java - * gnu/javax/net/ssl/provider/OverflowException.java - * gnu/javax/net/ssl/provider/RecordInput.java - * gnu/javax/net/ssl/provider/RecordInputStream.java - * gnu/javax/net/ssl/provider/RecordOutputStream.java - * gnu/javax/net/ssl/provider/RecordingInputStream.java - * gnu/javax/net/ssl/provider/SSLRSASignature.java - * gnu/javax/net/ssl/provider/SSLServerSocket.java - * gnu/javax/net/ssl/provider/SSLServerSocketFactory.java - * gnu/javax/net/ssl/provider/SSLSocket.java - * gnu/javax/net/ssl/provider/SSLSocketFactory.java - * gnu/javax/net/ssl/provider/SSLSocketInputStream.java - * gnu/javax/net/ssl/provider/SSLSocketOutputStream.java - * gnu/javax/net/ssl/provider/SecurityParameters.java - * gnu/javax/net/ssl/provider/Session.java - * gnu/javax/net/ssl/provider/SessionContext.java - * gnu/javax/net/ssl/provider/SynchronizedRandom.java - * gnu/javax/net/ssl/provider/XMLSessionContext.java - -2006-08-14 Roman Kennke - - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (DividerLayout.layoutContainer): Removed debug output. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.axis): New field. - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): - New constructor. - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): - Call new axis constructor. - (BasicHorizontalLayoutManager.getAvailableSize): Refactored to - handle direction. - (BasicHorizontalLayoutManager.getInitialLocation): Refactored to - handle direction. - (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): - Refactored to handle direction. - (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored - to handle direction. - (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to - handle direction. - (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored - to handle direction. - (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored - to handle direction. - (BasicHorizontalLayoutManager.setComponentToSize): Refactored - to handle direction. - (BasicHorizontalLayoutManager.updateComponents): Don't reset - divider size. - (BasicVerticalLayoutManager.BasicVerticalLayoutManager): - New explicit constructor. Calls super with vertical axis. - (BasicVerticalLayoutManager.getAvailableSize): Functionality moved - to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getInitialLocation): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getPreferredSizeOfComponent): - Functionality moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.getSizeOfComponent): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.minimumLayoutSize): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.minimumSizeOfComponent): - Functionality moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.preferredLayoutSize): Functionality - moved to BasicHorizontalLayoutManager. - (BasicVerticalLayoutManager.setComponentToSize): Functionality - moved to BasicHorizontalLayoutManager. - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. - (BUTTON_SPRITE_R): New constant field. - (MetalOneTouchButton.paint): Paint R sprite for right buttons, - L sprite for left buttons. - -2006-08-14 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (query_formats): g_free 'name' after usage. - g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. - g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. - -2006-08-14 Thomas Fitzsimmons - - PR classpath/27723 - * configure.ac (MOZILLA_FOUND): Add pkg-config check for - seamonkey-plugin. - -2006-08-14 Francis Kung - - PR 28694 - * java/awt/image/ColorModel.java - (coerceData): Added check for non-transparent images. - -2006-08-14 Francis Kung - - * java/awt/image/BandCombineOp.java - (BandCombineOp): Perform checks on validity of matrix. - (createCompatibleDestRaster): Add checks and choose raster type dynamically. - (filter): Updated to work with new matrix storage. - (getMatrix): Updated javadoc. - (getPoint2D): Formatting change. - -2006-08-14 Francis Kung - - * java/awt/image/AffineTransformOp.java - (AffineTransformOp): Updated javadoc. - (createCompatibleDestImage): Match behaviour of reference implementation. - (createCompatibleDestRaster): Formatting changes. - (filter(BufferedImage, BufferedImage)): Create compatible destination image. - (filter(Raster, WritableRaster)): Re-implemented. - (filterBicubic): New private method. - (filterBilinear): New private method. - (filterNearest): New private method. - (getBounds2D): No longer fixed around one point for rotations. - (getInterpolationType): Add support for bicubic interpolation. - -2006-08-14 Roman Kennke - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (MetalLookAndFeel): Moved theme initialization to - getDefaults(). - (createDefaultTheme): Forward to getCurrentTheme(). - (getDefaults): Initialize theme before doing anything else. - (getCurrentTheme): Recognize swing.metalTheme property. - -2006-08-14 Roman Kennke - - * javax/swing/JTable - (getScrollableUnitIncrement): Expose partially exposed - row in scrolling direction. - -2006-08-14 Audrius Meskauskas - - * javax/swing/JTable (getScrollableUnitIncrement): - Removing my name as the whole method body have been - recently completely replaced. - -2006-08-14 Roman Kennke - - PR 28028 - * javax/swing/text/Utilities.java - (getTabbedTextOffset): Don't add p0 here. - -2006-08-14 Roman Kennke - - PR 28719 - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler.mouseWheelMoved): Scroll negative delta - when wheel is going up. - -2006-08-14 Roman Kennke - - PR 28693 - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (BasicOneTouchButton): New inner class. - (DividerLayout.changeButtonOrientation): Removed. - (DividerLayout.positionButtons): Moved into layoutContainer. - (DividerLayout.layoutContainer): Reworked for correct layout. - (OneTouchAction): New inner class. - (centerOneTouchButtons): New field. - (BasicSplitPaneDivider): Initialize centerOneTouchButton from - UIManager. - (createLeftOneTouchButton): Reimplemented to return - BasicOneTouchButton. - (createRightOneTouchButton): Reimplemented to return - BasicOneTouchButton. - (getPreferredSize): Reimplemented to return fixed preferredSize. - (oneTouchExpandableChanged): Add OneTouchAction action to - buttons. Don't install mouse listeners. - (MouseHandler.mousePressed): Removed handling of one touch buttons. - (paint): Don't trigger extra paint for buttons. - (propertyChange): Revalidate splitPane when orientation is changed. - (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when - oneTouchExpandable is true. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (installDefaults): Install dividerSize on the divider too. - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (MetalDividerLayout): Removed. Functionality is already - in BasicSplitPaneDivider.DividerLayout. - (MetalOneTouchButton): New inner class. - (BUTTON_SPRITE): New constant field. - (MetalSplitPaneDivider): Don't change layout. - (createLeftOneTouchButton): Overridden to return custom button - for Metal. - (createRightOneTouchButton): Overridden to return custom button - for Metal. - (paint): Don't trigger button painting. Call super instead. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (installKeyboardAction): Unmarked as stub. Added comment - explaining that the RI seems to do nothing here. - (uninstallKeyboardAction): Unmarked as stub. Added comment - explaining that the RI seems to do nothing here. - -2006-08-13 Roman Kennke - - PR 28135 - * javax/swing/ScrollPaneLayout.java - (layoutContainer): Consider the viewportBorder of the - JScrollPane. - (minimumLayoutSize): Consider the viewportBorder of the - JScrollPane. - (preferredLayoutSize): Consider the viewportBorder of the - JScrollPane. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (installDefaults): Also install viewportBorder if specified. - (paint): Paint viewportBorder if present. - (uninstallDefaults): Uninstall viewportBorder if appropriate. - Don't nullify foreground, background and font. Uninstall - border via LookAndFeel helper method to avoid uninstall - user set border. - -2006-08-13 Roman Kennke - - PR 28696 - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView.HTMLRootView): Trigger initial layout. - (HTMLRootView.setSize): Overridden to forward to real view. - * javax/swing/plaf/basic/BasicToolTipUI.java - (PropertyChangeHandler): New inner class. Updates the HTML - renderer. - (propertyChangeHandler): New field. - (getMaximumSize): Add HTML width delta. - (getMinimumSize): Add HTML width delta. - (getPreferredSize): Reimplemented to use HTML view for size - calculation if appropriate, otherwise use simple stringWidth() - measurement. - (installListeners): Install propertyChangeHandler. - (uninstallListeners): Uninstall propertyChangeHandler. - (installUI): Update HTML renderer. - (uninstallUI): Update HTML renderer. - (paint): Reimplemented to use HTML view for rendering if - appropriate, simple drawString otherwise. - * javax/swing/plaf/metal/MetalToolTipUI.java - (getPreferredSize): Call super and add accelerator delta. - (paint): Simply call super. - -2006-08-13 Roman Kennke - - * javax/swing/JMenu.java - (changeListener): Renamed to menuChangeListener to avoid - shadowing changeListener field from AbstractButton. - -2006-08-13 Roman Kennke - - * javax/swing/JTree.java - (getScrollableUnitIncrement): Fixed direction. - (getScrollableBlockIncrement): Implemented to scroll one - page. - * javax/swing/tree/VariableHeightLayoutCache.java - (distance): Consider y + height already outside the node. - -2006-08-13 Roman Kennke - - * javax/swing/JTable.java - (getScrollableUnitIncrement): Fixed direction. Make it behave - like the RI. - (getScrollableBlockIncrement): Fixed direction. Make it behave - like the RI. - -2006-08-13 Roman Kennke - - * javax/swing/JList.java - (getScrollableUnitIncrement): Fixed direction. Implemented - horizontal scrolling. Improved usability. - (getScrollableBlockIncrement): Fixed direction. Improved usability. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollBarUI.java - (scrollByUnit): Scroll by -unit when direction is not positive - and +unit otherwise. - (scrollByBlock): Scroll by -unit when direction is not positive - and +unit otherwise. - -2006-08-13 Roman Kennke - - PR 28028 - * javax/swing/text/PlainView.java - (paint): Limit painted area to the lines inside the clip - and allocation. - -2006-08-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (uninstallListeners): Unregister document listener. - -2006-08-13 Sven de Marothy - - * java/util/Locale.java - (hashcodeCache): New field. - (hashCode): use the above field instead of the serialized one - (writeObject): Removed method. - (readObject): Intern strings. - (equals): Revert to previous method. - -2006-08-13 Roman Kennke - - * javax/swing/JTabbedPane.java - (JTabbedPane): Call setModel() here and let this install the - change listener correctly. - (setModel): Correctly uninstall and reinstall ChangeListener when - model changes. - -2006-08-13 Raif S. Naffah - - PR Classpath/23952 - * java/util/ResourceBundle.java (CACHE_SIZE): New constant. - (bundleCache): Replaced with an LRU of CACHE_SIZE elements. - (lastDefaultLocale): Removed. - (emptyLocale): Likewise. - (BundleKey.defaultLocale): New field. - (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. - (BundleKey.set): Likewise. - (BundleKey.equals): Take defaultLocal field into consideration. - (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. - -2006-08-13 Roman Kennke - - * javax/swing/JMenu.java - (MenuChangeListener): New inner class, helps firing menu events. - (changeListener): New field. - (add(text)): Create new JMenuItem here and call add(JMenuItem). - (add(Action)): Create Action using createActionComponent() - and add via add(Component). - (setModel): Install and uninstall MenuChangeListener here. - -2006-08-13 Raif S. Naffah - - PR Classpath/27372 - * java/math/BigInteger.java: Updated copyright year. - (init): Consume as little bytes as possible. - (BigInteger(int, int, Random)): Ensure bitLength bits are used. - (valueOf(String, int)): Throw NumberFormatException for malformed strings - as per RI's documentation. - -2006-08-13 Sven de Marothy - - * java/util/Locale.java - (hashcode): Is a serialized field, not transient. - (equals): Should NOT compare strings by reference. - (readObject/writeObject): Use the default methods and handle the hash - seperately. - -2006-08-13 Raif S. Naffah - - PR Classpath/28678 - * gnu/java/security/Engine.java (getInstance(String, String, Provider)): - Updated documentation. - Formatting. - (getInstance(String, String, Provider, Object[])): Likewise. - Separate checks for null and empty string arguments. - Include as much information as possible in the exception's message. - Do not swallow original exception; instead use it as the cause of the - resulting exception. - * gnu/javax/security/auth/callback/AbstractCallbackHandler.java - (getInstance(String)): Updated documentation. - Formatting. - Store last exception caught when iterating through all providers. - If no implementation found, raise last exception if one was caught. - (getInstance(String, String)): Updated documentation. - Formatting. - Check for null or empty provider as per RI-5's documentation. - (getInstance(String, Provider)): Updated documentation. - Formatting. - Use as much information as possible in the exception message. - Do not swallow original exception; instead use it as the cause for the - ultimate raised exception(s). - * java/security/cert/CertificateFactory.java: Likewise. - * java/security/cert/CertPathBuilder.java: Likewise. - * java/security/cert/CertPathValidator.java: Likewise. - * java/security/cert/CertStore.java: Likewise. - * java/security/AlgorithmParameterGenerator.java: Likewise. - * java/security/AlgorithmParameters.java: Likewise. - * java/security/KeyFactory.java: Likewise. - * java/security/KeyPairGenerator.java: Likewise. - * java/security/KeyStore.java: Likewise. - * java/security/MessageDigest.java: Likewise. - * java/security/SecureRandom.java: Likewise. - * java/security/Signature.java: Likewise. - * javax/crypto/Cipher.java: Likewise. - * javax/crypto/ExemptionMechanism.java: Likewise. - * javax/crypto/KeyAgreement.java: Likewise. - * javax/crypto/KeyGenerator.java: Likewise. - * javax/crypto/Mac.java: Likewise. - * javax/crypto/SecretKeyFactory.java: Likewise. - * javax/net/ssl/KeyManagerFactory.java: Likewise. - * javax/net/ssl/SSLContext.java: Likewise. - * javax/net/ssl/TrustManagerFactory.java: Likewise. - -2006-08-13 Roman Kennke - - * javax/swing/JEditorPane.java - (getScrollableTracksViewportHeight): Also check maximum size. - * javax/swing/JTextPane.java - (insertIcon): Use input attributes for adding the icon - attribute. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.setSize): Overridden to forward to real view. - (getPreferredSize): Trigger setSize() on the view. - (viewToModel(JTextComponent,Point)): Pass Position.Bias array - to viewToModel() call, rather then null. - * javax/swing/text/ParagraphView.java - (changedUpdate): Invalide layout. Call super. - * javax/swing/text/SimpleAttributeSet.java - (clone): Use super's clone method to create clone. - * javax/swing/text/StyleConstants.java - (setIcon): Also set element name attribute. - * javax/swing/text/StyledEditorKit.java - (BoldAction.actionPerformed): Actually set the bold attribute, - not italic. - (setCharacterAttributes): Replaced with more straightforward - impl. - * javax/swing/text/TextAction.java - (getFocusedComponent): Implemented. - * javax/swing/text/Utilities.java - (getNextVisualPositionFrom): Pass Position.Bias arrays instead - of null. - * javax/swing/text/View.java - (changedUpdate): Nullify element change when updateChildren - says so. - -2006-08-11 Andrew John Hughes - - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - Fix documentation typos. - -2006-08-11 David Daney - - PR classpath/28580 - * gnu/java/net/protocol/http/Request.java (readResponse): Call - createResponseBodyStream in more cases and with new parameter. - (createResponseBodyStream): Added new parameter mayHaveBody. Handle - HEAD and !mayHaveBody responses specially. - -2006-08-11 Roman Kennke - - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.modelToView): Fixed model->view mapping. - * javax/swing/text/LabelView.java - (valid): New flag indicating if the text attributes are valid. - (LabelView): Initialize valid field with false. - (setPropertiesFromAttributes): Call setter methods instead - of setting properties directly. Set valid to true. - (changedUpdate): Invalidate attributes. Call super. - (getBackground): Sync attributes if necessary. - (getForeground): Sync attributes if necessary. - (getFont): Sync attributes if necessary. - (isUnderline): Sync attributes if necessary. - (isSuperscript): Sync attributes if necessary. - (isStrikeThrough): Sync attributes if necessary. - (getFontMetrics): Sync attributes if necessary. Fetch font metrics - from toolkit if Container is not available yet. - -2006-08-11 Roman Kennke - - * javax/swing/text/PlainView.java - (tabBase): New field. - (tabSize): New field. - (updateMetrics): Update tabSize. - (lineToRect): Only allocate when really necessary. - (modelToView): Use tabBase for offset calculations. - (paint): Only allocate when really necessary. Update tabBase. - (nextTabStop): Fixed tab calculation. - (viewToModel): Correctly handle multiline text and locations - outside the view's bounds. Set bias. - (getLineLength): Use tabBase. - * javax/swing/text/Utilities.java - (drawTabbedText): Don't special case newlines. The views - must take care of this. - -2006-08-11 Roman Kennke - - * javax/swing/text/GapContent.java - (UndoPosRef): New inner class. Used for resetting positions - after undo/redo operations. - (InsertUndo.positions): New field. - (InsertUndo.undo): Store positions in removed range. - (InsertUndo.redo): Restore positions in re-inserted range. - (UndoRemove.positions): New field. - (UndoRemove.UndoRemove): Store positions in removed range. - (UndoRemove.undo): Restore positions in re-inserted range. - (UndoRemove.redo): Store positions in removed range. - (insertString): Create InsertUndo instance before actually - inserting the string. - (remove): Create UndoRemove instance before actually - removing. - (getPositionsInRange): Don't clear the Vector. Return Vector - of UndoPosRefs. - (updateUndoPositions): Implemented to reset all UndoPosRefs - in the vector. - -2006-08-11 Jeroen Frijters - - * java/io/ObjectInputStream.java (readClassDescriptor): - Use class's class loader to resolve field types. - * java/io/ObjectStreamField.java - (ObjectStreamField(String,String,ClassLoader)): Removed. - (ObjectStreamField(String,String)): Don't try to resolve typename. - (resolveType): New method. - -2006-08-10 Roman Kennke - - * javax/swing/text/BoxView.java - (calculateMajorAxisRequirements): Sum up the preferred and - maximum sizes. - (isAfter): Also add in the rectangle's with/height. - (childAllocation): Don't trigger layout here. - (layoutMinorAxis): Removed debug output. - (getWidth): Consider the insets. - (getHeight): Consider the insets. - (setSize): Consider the insets. - (updateRequirements): Check axis and throw - IllegalArgumentException. - -2006-08-10 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BidiRootName): New constant field, denotes the element name - for bidi root elements. - (AsyncLoadPriority): New constant field, denotes the property - to store the asynchronousLoadPriority. - (I18N): New constant field, denotes the property for - I18N support. - (bidiRoot): Made field type BidiRootElement. - (AbstractDocument): Build initial element structure for - bidi. - (getAsynchronousLoadPriority): Implemented. Returns the - value stored in the document properties. - (setAsynchronousLoadPriority): Implemented. Sets the - value stored in the document properties. - (getEndPosition): Implemented to use a Position from the - content. - (getStartPosition): Implemented to use a Position from the - content. - (insertStringImpl): Update the I18N setting if necessary. - (insertUpdate): Update the bidi structure if necessary. - (postRemoveUpdate): Update the bidi structure if necessary. - (putProperty): Update the I18N setting and bidi structure - if necessary. - (updateBidi): New helper method for updating the bidi - structure. - (getBidis): New helper method. Fetches the Bidi analysers - for the paragraphs of the range to check. - (dump): Also dump the bidi structure. - (AbstractElement.dump): Indent the '>' correctly. - (AbstractElement.children): Check numChildren rather then - children.length. - (BidiRootElement): New inner class. - (BidiElement): New inner class. - -2006-08-10 Roman Kennke - - * javax/swing/text/GapContent.java - (getChars): Optimized to only copy array when really necessary. - Respect the partialReturn property. - -2006-08-10 Lillian Angel - - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (getComponentPeer): Added check to prevent NPE. - -2006-08-10 Gary Benson - - * java/security/AccessControlContext.java (): - Avoid a duplicated AccessController.getContext() call. - -2006-08-09 Mark Wielaard - - * doc/www.gnu.org/newsitems.txt: Add 0.92. - * doc/www.gnu.org/downloads/downloads.wml: Likewise. - * doc/www.gnu.org/announce/20060809.wml: New file. - -2006-08-09 Mark Wielaard - - * configure.ac (VERSION): Set to 0.92-generics. - * NEWS: Add updates for 0.92 release. - -2006-08-09 Tom Tromey - - PR classpath/28658: - * java/text/SimpleDateFormat.java (parse): Let an unquoted space in - the pattern match any number of spaces in the text. - -2006-08-09 Sven de Marothy - - * java/awt/image/BufferedImage.java - (BufferedImage): Reimplement predefined-type constructor. - (observers/tileObservers): Field renamed to tileObservers. - (createDefaultIndexedColorModel): New method. - -2006-08-09 Tom Tromey - - PR classpath/28666: - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c - (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): - Create a 'short' array. - -2006-08-09 Tom Tromey - - * tools/gnu/classpath/tools/javah/JniHelper.java (getName): Properly - handle arrays. - * tools/gnu/classpath/tools/javah/JniIncludePrinter.java - (writeFields): Print "L" after int constant. Don't mangle the field - name. Only print int/long fields. - -2006-08-09 Tom Tromey - - * tools/gnu/classpath/tools/javah/Main.java (getParser): Name program - "javah". - -2006-08-09 Sven de Marothy - - * javax/swing/JTree.java - (JTree): Default SelectionModel should be DefaultTreeSelectionModel. - (setSelectionModel): Null parameter should create an EmptySelectionM. - -2006-08-09 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (insertString): Perform modifications inside a write lock. - (insertStringImpl): Don't lock here. This is already done - in insertString(). - (replace): Perform modifications inside a write lock. - (AbstractElement.AbstractElement): Call addAttributes() to - add the attributes. - (AbstractElement.getName): Fetch name from the ElementNameAttibute. - (BranchElement.lastIndex): New field. Optimizes getElementIndex(). - (BranchElement.BranchElement): Set lastIndex to -1. - (BranchElement.getElementIndex): Implemented more efficient - search. - -2006-08-09 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (Edit): Moved this inner class into ElementBuffer where it - is actually needed. - (edits): Moved this field into ElementBuffer. - (getEditForParagraphAndIndex): Removed obsolete method. - (insertUpdate): Added some optimizations and fixes. Split - out handling insertion after newlines. - (insertAfterNewline): New helper method. Handles insertions - after a newline. - (ElementBuffer.Edit): New inner class. Moved here from - DefaultStyledDocument. - (ElementBuffer.createdFracture): New field. - (ElementBuffer.documentEvent): Made private. - (ElementBuffer.edits): New field. Moved here from - DefaultStyledDocument. - (ElementBuffer.fracNotCreated): Replaced by createdFracture. - (ElementBuffer.fracturedChild): New field. - (ElementBuffer.fracturedParent): New field. - (ElementBuffer.insertPath): New field. - (ElementBuffer.lastFractured): Removed. Replaced by fracturedChild and - fracturedParent. - (ElementBuffer.offsetLastIndex): New field. - (ElementBuffer.offsetLastIndexReplace): New field. - (ElementBuffer.recreateLeafs): New field. - (ElementBuffer.ElementBuffer): Don't initialize stack here. - (ElementBuffer.canJoin): New helper method. - (ElementBuffer.changeUpdate): Changed to use elementStack with - Edits rather than Elements. Let the split method do the work. - (ElementBuffer.cloneAsNecessary): New helper method. - (ElementBuffer.createFracture): Changed to fracture the bottommost - child in the stack. - (ElementBuffer.finishEdit): New helper method. Moved out - from insertUpdate to perform the actual changes and update - the event. - (fracture): New helper method. - (insertContentTag): Fixed some bugs and changed to use Edit - instances in the stack, rather then Elements. - (insertElement): New helper method. Moved out from insertUpdate() - to process the ElementSpecs. - (insertFirstContentTag): Fixed some problems and changed to use Edit - instances in the stack, rather then Elements. - (insertFracture): Removed. Basically moved into createFracture() - and fracture(). - (insertParagraph): Removed. - (insertUpdate): Split out the ElementSpec processing into - insertElement(). Use Edit instances in the stack. Fixed some - problems. - (insert): Split out the preparation and finishing code into - prepareEdit() and finishEdit(). - (join): New helper method. - (pop): New helper method. - (prepareEdit): New helper method. - (recreateFracturedElement): New helper method. - (recreateLeaves): Removed. - (recreate): New helper method. - (removeElements): New helper method. Split out from removeUpdate(). - (removeUpdate): Split out the actual removal. Use the - Edit stack to perform removal and perform the remove actions - and event updates afterwards, just like in insertImpl(). - (remove): Use prepareEdit() and finishEdit(). - (split): Replaced with more flexible impl. - -2006-08-09 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - Change class to extend WritableRaster and not DataBuffer. - (CairoDataBuffer): New inner class. - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java - Accomodate the above change. - -2006-08-09 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkMainThread.java - New file. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - Replace GtkToolkit.mainThread with GtkMainThread.mainThread. - * gnu/java/awt/peer/gtk/GtkToolkit.java - Minor style fixes; removed unused fields, - set fields to private where possible. - (createDialog, createFrame, createWindow, createEmbeddedWindow): - Call GtkMainThread.createWindow(). - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (dispose): New method. - * include/gnu_java_awt_peer_gtk_GtkToolkit.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c - (gtkQuit): New native method. - -2006-08-08 Lillian Angel - - * java/awt/Component.java - (setDropTarget): Added check. - -2006-08-08 Lillian Angel - - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (GtkDragSourceContextPeer): Added FIXME. Changed call - to setTarget. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java - (GtkDropTargetContextPeer): Removed target initialization. - * java/awt/Component.java - (setTarget): Removed commented out code. - -2006-08-08 Mark Wielaard - - * javax/swing/text/DefaultHighlighter.java: Qualify - Highlighter.HighlightPainter class name for gcj. - -2006-08-05 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-05 Roman Kennke - - PR 28650 - * javax/swing/plaf/basic/BasicMenuBarUI.java - (getActionMap): Store ActionMap in MenuBar.actionMap, rather - than Tree.actionMap. - * javax/swing/plaf/basic/BasicTreeUI.java - (action): Removed obsolete field. - (uninstallKeyboardActions): Removed action field handling. - (installKeyboardActions): Removed action field handling. - (createDefaultActions): Don't install removed TreeAction. - (TreeAction): Removed obsolete inner class. - (ActionListenerProxy): Removed obsolete inner class. - (MouseHandler.mousePressed): Request focus on JTree component - on mouse press. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mousePressed): Request focus on list - component. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange(JTextComponent,int,int)): Call damageRange() with - correct biases, rather than null. - (damageRange(JTextComponent,int,int,Bias,Bias)): Rewritten - to use simpler modelToView() approach without much special - casing. This seems not worth the effort and actually - caused problems. Added locking of the document. - * javax/swing/text/BoxView.java - (requirementsValid): New field. - (calculateMajorAxisRequirements): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (calculateMinorAxisRequirements): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (getAlignment): Simply return the alignment of the cached - requirements. - (getMaximumSpan): Add insets. - (getMinimumSpan): Add insets. - (getPreferredSpan): Add insets. - (layoutMajorAxis): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (layoutMinorAxis): Rewritten without using - SizeRequirements. The SizeRequirements algorithms are slightly - different and too inefficient. - (modelToView): Call setSize() rather than layout(). - (paint): Check clip for more efficient painting. - (preferenceChanged): Invalidate requirements here. - (replace): Invalidate requirements here. - (updateRequirements): Update requirements only when requirements - are marked invalid. - * javax/swing/text/CompositeView.java - (modelToView): Added some more checks and handling of corner cases. - * javax/swing/text/FlowView.java - (calculateMinorAxisRequirements): Set aligment to 0.5 and maximum - span to Integer.MAX_VALUE. Limit preferredSize to minimumSize. - * javax/swing/text/IconView.java - (getAlignment): Implemented to return 1.0 for vertical alignment. - * javax/swing/text/ParagraphView.java - (Row.getMaximumSpan): Implemented to let Rows span the whole - ParagraphView. - (getAlignment): Fixed horizontal alignment and vertical alignment - for empty paragraphs to be 0.5. - -2006-08-08 Roman Kennke - - * javax/swing/text/View.java - (modelToView): Added special handling for corner case at the end - of the view and for multiline views. - -2006-08-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (modelToView): Read-lock the document. Set size of the - root view before fetching the model-to-view mapping. - (getViewIndex): Check of the position is inside the range and - return -1 if this is not the case. - (getViewAtPosition(int,Rectangle): Update child allocation for valid - view index. - (getViewIndexAtPosition(int)): Delegate the index search to - the element since we have a 1:1 mapping between elements and - views here. - * javax/swing/text/DefaultCaret.java - (appear): Ignore BadLocationException. - (paint): Ignore BadLocationException. - * javax/swing/text/FlowView.java - (changedUpdate): Also notify the layoutPool view. - (removeUpdate): Also notify the layoutPool view. - * javax/swing/text/ParagraphView.java - (Row.getViewIndexAtPosition): Overridden to search linearily - through the view instead of relying on a 1:1 model to view - mapping. - * javax/swing/text/View.java - (removeUpdate): Clear ElementChange object if updateChildren - returns false. - (forwardUpdate): Special handle some boundary cases. - -2006-08-07 Raif S. Naffah - - * gnu/java/security/key/dss/DSSKey.java: Updated documentation. - (hasInheritedParameters): New method. - (equals): Updated documentation. - Take into consideration the outcome of hasInheritedParameters invocation. - (toString): Call hasInheritedParameters and adjust the result accordingly. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java (encodePublicKey): - Updated documentation. - Handle case of public keys with null p, q, and g MPIs. - (decodePublicKey): Handle case of absent or NULL p, q and g MPIs. - -2006-08-07 Tom Tromey - - PR libgcj/23682: - * java/nio/channels/SelectionKey.java (attach): Now synchronized. - (attachment): Likewise. - * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now - synchronized. - (isValid): Likewise. - * gnu/java/nio/SelectionKeyImpl.java (impl): Now final - (ch): Likewise. - (interestOps): Synchronize. - (readyOps): Likewise. - * gnu/java/nio/SelectorImpl.java (register): Synchronize around - interestOps call. - -2006-08-07 C. Scott Marshall - - Fixes PR 28608. - * java/nio/DirectByteBufferImpl.java (duplicate): only reset if - the mark has been set. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (Java_java_nio_VMDirectByteBuffer_allocate): zero out the - allocated data. - -2006-08-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Synchronize against font object when drawing. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (nativeDrawGlyphVector): Use pango locking when drawing. - (install_font_peer): Use pango locking when creating the cairo face. - -2006-08-06 Roman Kennke - - PR 28571 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java - (getPreferredSize): Renamed method to preferredSize(). That's - the one that gets called from java.awt.*. - * java/awt/peer/ComponentPeer.java - (getPreferredSize): Added specnote about this method never - beeing called in the RI. - (getMinimumSize): Added specnote about this method never - beeing called in the RI. - -2006-08-03 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (grab, nativeGrab): New methods. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (nativeGrab): New method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (print): Implement. - * java/awt/Component.java - (printAll): Should call peer print method. - -2006-08-06 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - - * java/net/URL.java (getContent(Class[])): Implement. - -2006-08-06 Mark Wielaard - - PR 28555 - Suggested by Matthew Burgess - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - withParams is null. - * gnu/xml/transform/ForEachNode.java (clone): Check whether - sortKeys is null. - -2006-08-06 Roman Kennke - - * NEWS: Added note about the X peers. - * INSTALL: Added install notes about the X peers. - -2006-08-06 Raif S. Naffah - Paul Jenner - - * README: Update bug, patches and cvs instructions plus new URLs of - various external projects. - -2006-08-06 Thomas Fitzsimmons - - * configure.ac (MOZILLA_FOUND): Fall back to - mozilla-firefox-plugin. - -2006-08-06 Mario Torre - - Reported by Raif S. Naffah - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - g_type_init earlier in function to correctly initialize the - type system used by the backend. - -2006-08-05 Roman Kennke - - * javax/swing/text/DefaultHighlight.java - (DefaultHighlightPainter.paintHighlight): Removed method. - (DefaultHighlightPainter.paintLayer): Implemented. - (DefaultHighlightPainter.paint): Implemented more efficient - painting for multiline-highlights. - (HighlightEntry.p0): Changed to be a Position. - (HighlightEntry.p1): Changed to be a Position. - (HighlightEntry.HighlightEntry): Changed to take Position - arfuments. - (HighlightEntry.getStartOffset): Changed to return p0.getOffset(); - (HighlightEntry.getEndOffset): Changed to return p1.getOffset(); - (LayerHighlightEntry): New inner class. Extends HighlightEntry - and tracks the painted rectangle for efficient repainting. - (addHighlight): Handle layered highlight. - (changeHighlight): Handle layered highlight. - (paintLayeredHighlights): Implemented. - (paint): Paint only non-layered highlights here. - (removeAllHighlights): Trigger correct repaint. - (removeHighlight): Handle layered highlight here for - more efficient repainting. - * javax/swing/text/GlyphView.java - (paint): Handle layered highlights. - * javax/swing/text/PlainView.java - (paint): Handle layered highlights. - * javax/swing/text/WrappedPlainView.java - (WrappedLine.paint): Handle layered highlights. - -2006-08-07 Audrius Meskauskas - - PR 26972 - * NEWS: As suggested by Paul Jennier, added note about the fix of - the InitialContext. - -2006-08-07 Audrius Meskauskas - - * NEWS: Added entry about the context factories for JNDI. - -2006-08-07 Audrius Meskauskas - - PR 27383 - * gnu/CORBA/Connected_objects.java (size): New method. - * gnu/CORBA/OrbFunctional.java (countConnectedObjects): - New method. - * javax/naming/spi/NamingManager.java (getURLContext): - Also search for the URL context factories in - gnu/javax/naming/jndi/url. - * gnu/javax/naming/giop/ContextContinuation.java, - gnu/javax/naming/giop/CorbalocParser.java, - gnu/javax/naming/giop/GiopNamingEnumeration.java, - gnu/javax/naming/giop/GiopNamingServiceFactory.java, - gnu/javax/naming/giop/GiopNamingServiceURLContext.java, - gnu/javax/naming/giop/ListBindingsEnumeration.java, - gnu/javax/naming/giop/ListEnumeration.java, - gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java, - gnu/javax/naming/jndi/url/rmi/ContextContinuation.java, - gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java, - gnu/javax/naming/jndi/url/rmi/ListEnumeration.java, - gnu/javax/naming/jndi/url/rmi/RmiContinuation.java, - gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java, - gnu/javax/naming/jndi/url/rmi/rmiURLContext.java, - gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java: New files. - -2006-08-06 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Synchronize against font object when drawing. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (nativeDrawGlyphVector): Use pango locking when drawing. - (install_font_peer): Use pango locking when creating the cairo face. - -2006-08-06 C. Scott Marshall - - Fixes PR 28608. - * java/nio/DirectByteBufferImpl.java (duplicate): only reset if - the mark has been set. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (Java_java_nio_VMDirectByteBuffer_allocate): zero out the - allocated data. - -2006-08-06 Mark Wielaard - - PR 28555 - Suggested by Matthew Burgess - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - withParams is null. - * gnu/xml/transform/ForEachNode.java (clone): Check whether - sortKeys is null. - -2006-08-06 Raif S. Naffah - Paul Jenner - - * README: Update bug, patches and cvs instructions plus new URLs of - various external projects. - -2006-08-05 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (cacheMBeanInfo(MBeanInfo)): Override given MBeanInfo - with open variant. - (getCachedMBeanInfo()): Return open variant. - (getMBeanInfo()): Likewise. - (getTypeFromClass(Class)): Implemented. - (translateSignature(MBeanParameterInfo)): Likewise. - (translate(String)): Likewise. - * javax/management/StandardMBean.java: - (getMBeanInfo()): Return attribute names with capital letters, - as in docs for java.lang.management.ManagementFactory, and - ensure descriptions are not "". - * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, - * javax/management/openmbean/OpenMBeanInfoSupport.java, - * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: - (toString()): Use Arrays.toString(). - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - (OpenMBeanParameterInfoSupport(String, String, OpenType)): - Set open type here rather than in other constructors. - -2006-08-05 Andrew John Hughes - - * javax/management/MBeanFeatureInfo.java: - Make string variable package-private. - * javax/management/StandardMBean.java: - (getMBeanInterface()): Made final. - * javax/management/openmbean/SimpleType.java: - Made final. - -2006-08-05 Jeroen Frijters - - * java/awt/Component.java (setDropTarget): Commented out GTK specific - code. - -2006-08-05 Andrew John Hughes - - * examples/gnu/classpath/examples/swing/FillRect.java, - * gnu/CORBA/Focused_ORB.java, - * gnu/CORBA/interfaces/gnuSocketFactory.java, - * gnu/classpath/ByteArray.java, - * gnu/classpath/ObjectPool.java, - * gnu/java/awt/peer/ClasspathTextLayoutPeer.java, - * gnu/java/awt/peer/x/fonts.properties, - * gnu/java/security/util/Prime2.java, - * gnu/javax/imageio/gif/GIFStream.java, - * javax/swing/text/html/HTMLTableView.java, - * native/cni/Makefile.am, - * org/omg/CORBA/SendingContext/RunTimeOperations.java, - * org/omg/CORBA/SendingContext/Runtime.java, - * resource/gnu/regexp/MessagesBundle.properties, - * resource/gnu/regexp/MessagesBundle_fr.properties, - * resource/gnu/regexp/MessagesBundle_it.properties, - * tools/appletviewer.in, - * tools/jarsigner.in, - * tools/keytool.in, - * vm/reference/java/lang/management/VMThreadInfo.java: - Removed. - * examples/gnu/classpath/examples/awt/aicas.png, - * examples/gnu/classpath/examples/awt/palme.gif, - * examples/gnu/classpath/examples/java2d/aicas.png, - * examples/gnu/classpath/examples/java2d/palme.gif, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png, - * java/awt/doc-files/capjoin.png, - * java/awt/geom/doc-files/Area-1.png, - * java/awt/geom/doc-files/Ellipse-1.png, - * java/awt/geom/doc-files/GeneralPath-1.png: - Added. - -2006-08-05 Andrew John Hughes - - * configdiag.jnlp: - Removed. - -2006-08-05 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - (getAttribute(String)): Implemented. - -2006-08-05 Roman Kennke - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent.dot): Renamed field into caretDot. - (AccessibleJTextComponent.textComp): Removed field - and replace with JTextComponent.this construct. - (AccessibleJTextComponent.AccessibleJTextComponent): - Fetch caret position. - (caretUpdate): Implemented. Fires property change events and - updates the caretDot field. - (changedUpdate): Implemented. Fires property change events. - (insertUpdate): Implemented. Fires property change events. - (removeUpdate): Implemented. Fires property change events. - (cut): Replaced textComp with JTextComponent.this construct. - (paste): Replaced textComp with JTextComponent.this construct. - (replaceText): Replaced textComp with JTextComponent.this construct. - (selectText): Replaced textComp with JTextComponent.this construct. - (getCaretPosition): Replaced textComp with JTextComponent.this - construct. - (getCharCount): Replaced textComp with JTextComponent.this construct. - (getSelectedText): Replaced textComp with JTextComponent.this - construct. - (getSelectionEnd): Replaced textComp with JTextComponent.this - construct. - (getSelectionStart): Replaced textComp with JTextComponent.this - construct. - (getTextRange): Replaced textComp with JTextComponent.this - construct. - (doAccessibleAction): Implemented. - (getAccessibleActionCount): Implemented. - (getAccessibleActionDescription): Implemented. - (getAccessibleStateSet): Implemented. - (getAfterIndex): Implemented. - (getBeforeIndex): Implemented. - (getAtIndex): Implemented. - (getAtIndexImpl): New helper method. - (getCharacterAttribute): Implemented. - (getCharacterBounds): Implemented. - (getIndexAtPoint): Implemented. - (insertTextAtIndex): Implemented. - (setAttributes): Implemented. - (setTextContents): Implemented. - -2006-08-05 Raif S. Naffah - - * configure.ac: Better handling of default-preferences-peer option. - -2006-08-04 Andreas Tobler - - * java/awt/BasicStroke.java (dashedStroke): Cast coords.clone to - double[]. - -2006-08-04 Andrew John Hughes - - * javax/management/openmbean/TabularData.java: - Documentation corrections. - * javax/management/openmbean/TabularDataSupport.java: - New file. - -2006-08-04 Francis Kung - - * java/awt/BasicStroke.java - (dashedStroke): Implemented. - -2006-08-04 Andrew John Hughes - - * javax/management/BadAttributeValueExpException.java, - * javax/management/BadStringOperationException.java, - * javax/management/InstanceAlreadyExistsException.java, - * javax/management/InstanceNotFoundException.java, - * javax/management/InvalidApplicationException.java, - * javax/management/MBeanRegistrationException.java, - * javax/management/MalformedObjectNameException.java, - * javax/management/RuntimeErrorException.java, - * javax/management/RuntimeMBeanException.java, - * javax/management/ServiceNotFoundException.java: - New files. - -2006-08-04 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel(JComponent,FontMetrics,String,Icon,int,int,int, - int,Rectangle,Rectangle,Rectangle,int)): Delegate to new - layoutCompoundLabelImpl(). - (layoutCompoundLabel(FontMetrics,String,Icon,int,int,int,int, - Rectangle,Rectangle,Rectangle,int)): Delegate to new - layoutCompoundLabelImpl(). - (layoutCompoundLabelImpl): New helper method. Moved impl from - layoutCompoundLabel() to here and added handling of HTML. - * javax/swing/plaf/basic/BasicButtonUI.java - (installUI): Update HTML view if appropriate. - (uninstallUI): New method. Do the usual uninstallUI things - and uninstall HTML view. - (getMinimumSize): New method. Adjusts the minimum size - by the HTML view minimum size. - (getMaximumSize): New method. Adjusts the maximum size - by the HTML view maximum size. - (getPreferredSize): Pass the button's iconTextGap to the - BasicGraphicsUtils method. - (paint): Let HTML view paint the text, if present. - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Update the HTML view when the button's - text is changed. - -2006-08-04 Mario Torre - - Reported by Raif S. Naffah - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - g_type_init earlier in function to correctly initialize the - type system used by the backend. - -2006-08-04 Audrius Meskauskas - - PR 26972 - * javax/naming/Name.java (addAll, getPrefix, getSuffix): - Documented. - * gnu/javax/naming/ictxImpl/trans/GnuName.java: New file. - -2006-08-04 Robert Schuster - - Reported by Henrik Gulbrandsen - Fixes PR27864. - * gnu/xml/dom/DomIterator.java: - (successor): Added if-statement. - -2006-08-04 Mark Wielaard - - * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. - -2006-08-04 Robert Schuster - - * javax/swing/plaf/metal/MetalMenuBarUI.java: - (update): Check size and paint smaller gradient. - * javax/swing/plaf/metal/MetalBorders.java: - (MenuBarBorder): Removed borderColor field. - (MenuBarBorder.paintBorder): Added note, fetch color from UIManager or - MetalLookAndFeel. - -2006-08-03 Roman Kennke - - PR 27637 - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (ComponentHandler.componentResized): Reimplemented to handle - arbitrary parents. - (InternalFramePropertyChangeHandler.propertyChange): (Un)install - component listener on changed ancestor. - (installListeners): Install componentListener. - (uninstallListeners): Uninstall componentListener. - -2006-08-03 Carsten Neumann - - * StrictMath.java (cbrt): Return argument if it is a NaN. - (cosh): Likewise. - (expm1): Likewise. - (sinh): Likewise. - -2006-08-03 Carsten Neumann - - * java/lang/StrictMath.java (tanh): New method. - -2006-08-03 Raif S. Naffah - - * scripts/import-cacerts.sh: Batch CA certificates import script. - -2006-08-03 Roman Kennke - - PR 27606 - * javax/swing/plaf/basic/BasicListUI.java - (paintCell): Pass row index to cell renderer. - * javax/swing/plaf/basic/MetalFileChooserUI.java - (DirectoryComboBoxRenderer.indentIcon): New field. - (DirectoryComboBoxRenderer.DirectoryComboBoxRenderer): - Initialize indentIcon. - (DirectoryComboBoxRenderer.getListCellRendererComponent): - Fall back to super and removed standard functionality. - Handle indentation. - (IndentIcon): New class. Wraps and indents another icon. - -2006-08-02 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - (MBeanConstructorInfo(String,String,MBeanParameterInfo[]): - Copy array rather than directly assigning. - * javax/management/MBeanInfo.java: - (MBeanInfo(String,String,MBeanAttributeInfo[], - MBeanConstructorInfo[], MBeanOperationInfo[], - MBeanNotificationInfo[])): Likewise. - * javax/management/MBeanOperationInfo.java: - (MBeanOperationInfo(String,String,MBeanParameterInfo[],String,int)): - Likewise. - * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, - * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java: - New files. - * javax/management/openmbean/OpenMBeanInfo.java: - Corrected documentation. - * javax/management/openmbean/OpenMBeanInfoSupport.java: - New file. - * javax/management/openmbean/OpenMBeanOperationInfo.java: - Corrected documentation. - * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: - New file. - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - (MBeanParameterInfo(String,String,OpenType,Object,Object[])): - Call other constructor rather than reimplementing. - -2006-08-02 Lillian Angel - - * java/awt/dnd/DragSource.java - (isDragImageSupported): Implemented. - (getDragThreshold): Changed default value. - * java/awt/dnd/DropTarget.java - (DropTarget): Default action is changed to ACTION_COPY_OR_MOVE. - (DropTarget): Likewise. - (DropTarget): If FlavorMap passed in is null, we should use the system default. - (addDropTargetListener): Added check to determine if new DropTargetListener - is this class. If so, an IllegalArgumentException is thrown. If the - new listener is null, nothing happens. - -2006-08-02 Thomas Fitzsimmons - - * configure.ac (MOZILLA_FOUND): Fall back to - mozilla-firefox-plugin. - -2006-08-02 Sven de Marothy - - * java/awt/geom/AffineTransform.java - (hashCode): Tweak impl. - * java/awt/font/FontRenderContext.java - (hashCode): Implement. - -2006-08-02 Carsten Neumann - - * java/lang/StrictMath.java (sinh): New method. - -2006-08-02 Roman Kennke - - PR 27605 - * javax/swing/JComboBox.java - (setSelectedItem): Fire ActionEvent here. - * javax/swing/plaf/basic/BasicDirectoryModel.java - (directories): Changed to type Vector. - (files): New field. - (loadThread): New field. - (DirectoryLoadThread): New inner class. This loads the contents - of directories asynchronously. - (getDirectories): Return cached Vector. - (getFiles): Return cached Vector. - (getSize): Return plain size of contents Vector. - (propertyChange): Reread directory also for DIRECTORY_CHANGED, - FILE_FILTER_CHANGED, FILE_HIDING_CHANGED and FILE_VIEW_CHANGED. - (sort): Don't store sorted list in contents. This must be done - asynchronously from the EventThread. - (validateFileCache): Rewritten for asynchronous reading - of directory contents. - * javax/swing/plaf/basic/BasicFileChooserUI.java - (installListeners): Install model as PropertyChangeListener. - (uninstallListeners): Uninstall model as PropertyChangeListener. - (createPropertyChangeListener): Return null just like the - RI. - -2006-08-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (remove): Force event on removing item 0 when it's selected. - (handleEvent): Always call Choice.selected(). - * java/awt/Choice.java: - (remove): Simplify and correct. - -2006-08-02 Mark Wielaard - - PR 28535 - * configure.ac (gconf-peer): Check for gdk-2.0. - * native/jni/gconf-peer/Makefile.am - (AM_LDFLAGS): Use GDK_LIBS. - (AM_CFLAGS): Use GDK_CFLAGS. - -2006-08-02 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - - * java/net/URL.java (getContent(Class[])): Implement. - -2006-08-02 Roman Kennke - - PR 27624 - * javax/swing/JMenu.java - (JMenu()): Removed setting of delay. - (JMenu(String)): Removed setting of delay. - (JMenu(Action)): Removed setting of delay. - (JMenu(String,boolean)): Removed setting of delay. - (setSelectedHelper): Removed unneeded method. - (setSelected): Simply set the model state. - (setPopupMenuVisible): Recognize the popup location - determined by getPopupMenuOrigin(). - (getPopupMenuOrigin): Recognize the UI properties for - X and Y offset. - (menuSelectionChanged): Call setSelected() directly. - * javax/swing/JPopupMenu.java - (menuSelectionChanged): If invoker is a JMenu, then delegate - to that to get the position right. - * javax/swing/Popup.java - (LightweightPopup.show): Insert the popup as first component - in the layer, so that it overlaps it's caller. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (getPath): Don't include the popup. - * javax/swing/plaf/basic/BasicMenuUI.java - (SelectMenuAction): New class. This invokes the popup when - a menu is selected. - (installDefaults): Install delay of 200 ms. - (setupPostTimer): Implemented. - (MouseInputHandler.mouseClicked): Do nothing here. - (MouseInputHandler.mouseEntered): Use MenuSelectionManager - magic to handle the selection. Open the menu via a timer. - (MouseInputHandler.mousePressed): Use MenuSelectionManager - magic to handle the selection. Open the menu via a timer. - (MenuDragMouseHandler.menuMouseDragged): Probably use - timer. - (menuDragMouseEntered): Do nothing here. - -2006-08-02 Andrew John Hughes - - * javax/management/openmbean/InvalidOpenTypeException.java, - * javax/management/openmbean/KeyAlreadyExistsException.java: - New files. - -2006-08-02 Roman Kennke - - PR 27604 - * javax/swing/plaf/basic/BasicChooserUI.java - (BasicFileView.getName): Fetch the real name from the - file chooser's FileSystemView. - * javax/swing/plaf/metal/MetalChooserUI.java - (DirectoryComboBoxRenderer.getListCellRendererComponent): - Set the text fetched from the JFileChooser.getName(). - * javax/swing/FileSystemView.java - (createFileObject): When file is a filesystem root, - create a filesystem root object first. - (getSystemDisplayName): Return the filename. Added specnote - about ShellFolder class that is mentioned in the spec. - * javax/swing/UnixFileSystemView.java - (getSystemDisplayName): Implemented to return the real name - of a file, special handling files like '.' or '..'. - -2006-08-03 Mark Wielaard - - * examples/gnu/classpath/examples/icons/badge.png: Add file. - -2006-08-03 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Cleanly reinstall - components when visual property chanegs. - -2006-08-03 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Uninstall and reinstall - component when visual properties change. - -2006-08-03 Roman Kennke - - PR 28534 - * javax/swing/JTree.java - (JTree(TreeModel)): Set cell renderer to null. - * javax/swing/plaf/basic/BasicTreeUI.java - (setCellRenderer): Finish editing before setting the - cell renderer. Refresh the layout. Don't set the - currentCellRenderer field here (that's done in updateRenderer). - (updateRenderer): Handle createdRenderer field here too. - Set renderer to a default handler when the current renderer - in the JTree is null. - -2006-08-02 Raif S. Naffah - - PR Classpath/23899 - * java/security/SecureRandom.java (next): Call nextBytes as per specs. - -2006-08-02 Raif S. Naffah - - PR Classpath/28556 - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (encodePrivateKey): - Updated documentation to clarify that RFC-2459 states that the parameters - field of the AlgorithmIdentifier element MUST be NULL if present. - Amended the code to reflect the specs. - (decodePrivateKey): Handle case of NULL AlgorithmIdentifier.parameters. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - Call parameter 'defaultValue' not 'defValue'. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: - New file. - -2006-08-01 Roman Kennke - - PR 28562 - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (PropertyChangeHandler.propertyChange): Cleanly reinstall - components when visual property chanegs. - -2006-08-01 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanAttributeInfo.java: - (toString()): Corrected documentation. - * javax/management/openmbean/OpenMBeanConstructorInfo.java, - * javax/management/openmbean/OpenMBeanInfo.java, - * javax/management/openmbean/OpenMBeanOperationInfo.java: - New files. - * javax/management/openmbean/OpenMBeanParameterInfo.java: - (toString()): Corrected documentation. - -2006-08-01 Tania Bento - - * java/awt/Choice.java - (remove(int)): Added documentation. - -2006-08-01 Tania Bento - - * java/awt/Choice.java - (remove(int)): An IllegalArgumentException should not be thrown - if int is invalid. Update selectedIndex and peer selection. - -2006-08-01 Tania Bento - - * java/awt/CardLayout.java - (toString): Changed format of string outputted. - (goToComponent): Changed the order of the if-clause. - -2006-07-31 Tom Tromey - - * INSTALL: Updated for ASM. - -2006-07-31 Tom Tromey - - PR libgcj/23682: - * java/nio/channels/SelectionKey.java (attach): Now synchronized. - (attachment): Likewise. - * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now - synchronized. - (isValid): Likewise. - * gnu/java/nio/SelectionKeyImpl.java (impl): Now final - (ch): Likewise. - (interestOps): Synchronize. - (readyOps): Likewise. - * gnu/java/nio/SelectorImpl.java (register): Synchronize around - interestOps call. - -2006-07-31 Roman Kennke - - * NEWS: Added note about the X peers. - * INSTALL: Added install notes about the X peers. - -2006-07-31 Carsten Neumann - - * StrictMath.java (getLowDWord): Return long instead of int. - (getHighDWord): Likewise. - (buildDouble): Take two long arguments. - (cbrt): Adapted to int -> long change. - (expm1): Likewise. - (cosh): Likewise. - -2006-07-31 Thomas Fitzsimmons - - * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add - -avoid-version. - -2006-07-31 Raif S. Naffah - - * java/security/Provider.java: Updated copyright year. - Updated documentation. - Formatting. - (put): Updated documentation. - Added security manager check. - Canonicalize the key before adding its mapping. - (get): Override superclass implementation to use canonicalized keys. - (remove): Updated documentation. - Added security manager check. - Canonicalize the key before removing its mapping. - (clear): Updated documentation. - Added security manager check. - (toCanonicalKey): New method. - -2006-07-30 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Ignore self referencing aliases. - -2006-07-30 Mark Wielaard - - * javax/swing/JComponent.java (getListeners): Revert - un-genericization. - -2006-07-30 Mark Wielaard - - * resource/java/security/classpath.security: Add /dev/urandom as - default securerandom.source. - -2006-07-30 Mark Wielaard - - * java/util/GregorianCalendar.java (maximums): Months can have up to - 6 weeks. - (nonLeniencyCheck): weeks is either 5 or 6. - -2006-07-30 Andrew John Hughes - - * javax/management/openmbean/OpenMBeanAttributeInfo.java, - * javax/management/openmbean/OpenMBeanParameterInfo.java: - New files. - -2006-07-30 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Ignore self referencing aliases. - -2006-07-30 Sven de Marothy - - * java/awt/Choice.java: - (accessibleAction): Call select() directly. - (add, insert, remove): Reimplement. - (dispatchEventImpl): Always call super. - (processItemEvent): Does not set the index. - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (append): removed. - (nativeAdd): Name changed to add. - (selection_changed_cb): Simplify callback. - * gnu/java/awt/peer/gtk/GtkChoicePeer.java - (selected): New field. - (add): Replaced with native impl. - (handleEvent): New method. - -2006-07-30 Sven de Marothy - - * java/awt/Choice.java: - Reformat, fix copyright year. - -2006-07-29 Mark Wielaard - - * javax/swing/JComponent.java (paintingDoubleBuffered): Renamed - static field isPaintingDoubleBuffered to not have the same name - as a method. - -2006-07-29 Andrew John Hughes - - * examples/gnu/classpath/examples/management/TestBeans.java: - New file. - * javax/management/MBeanAttributeInfo.java: - (toString()): Implemented. - * javax/management/MBeanConstructorInfo.java: - (toString()): Implemented. - * javax/management/MBeanFeatureInfo.java: - (toString()): Implemented. - * javax/management/MBeanInfo.java: - (toString()): Implemented. - * javax/management/MBeanNotificationInfo.java: - (toString()): Implemented. - * javax/management/MBeanOperationInfo.java: - (toString()): Implemented. - * javax/management/MBeanParameterInfo.java: - (toString()): Implemented. - * javax/management/StandardMBean.java: - (getMBeanInfo()): Fix attribute naming. - -2006-07-29 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - Extended javax.management.StandardMBean. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * gnu/java/lang/management/CompilationMXBeanImpl.java, - * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, - * gnu/java/lang/management/MemoryMXBeanImpl.java, - * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java, - * gnu/java/lang/management/RuntimeMXBeanImpl.java, - * gnu/java/lang/management/ThreadMXBeanImpl.java: - Call the superclass with the appropriate class. - * java/lang/management/ManagementFactory.java: - (getOperatingSystemMXBean()): Catch exception from - StandardMBean. - (getRuntimeMXBean()): Likewise. - (getClassLoadingMXBean()): Likewise. - (getThreadMXBean()): Likewise. - (getMemoryMXBean()): Likewise. - (getCompilationMXBean()): Likewise. - (getMemoryPoolMXBeans()): Likewise. - (getMemoryManagerMXBeans()): Likewise. - (getGarbageCollectorMXBeans()): Likewise. - * javax/management/MBeanFeatureInfo.java: - hashCode()): Fixed to check for null values. - -2006-07-29 Matt Wringe - - * gnu/java/security/Engine.java - (getInstance): Add case insentivity to algorithm names - * java/security/Provider.java - (put): Stop using canonical key naming - (remove): Likewise - (toCanonicalKey): Method removed - (get): Method removed, no longer needs to overwrite - parent implementation - -2006-07-29 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Removed. - * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: - Removed. - -2006-07-29 Sven de Marothy - - * java/math/BigDecimal.java - Adjust copyright date. - (divide(BigDecimal): Implement. - (precision): Reimplement. - (numDigitsInBigInteger, numDigitsInLong): Removed. - (toString): Get exponent from string length, - fix negative values with exponential form. - (toEngineeringString): Same as for toString. - (setScale): Throw ArithmeticException if scale < 0. - -2006-07-27 Francis Kung - - * gnu/java/awt/java2d/CubicSegment.java: Added import. - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (getDisplacedSegments): Implemented. - (last): Renamed to cp2(). - * gnu/java/awt/java2d/LineSegment.java - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (last): Renamed to cp2(). - * gnu/java/awt/java2d/QuadSegment.java - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first): Renamed to cp1(). - (last): Renamed to cp2(). - * gnu/java/awt/java2d/Segment.java: Added comments. - (first): New field. - (Segment): Keep track of first element in list. - (add): Update first & last element variables. - (cp1): Renamed from first(). - (c2): Renamed from last(). - (first()): Renamed to cp1() to reduce ambiguity. - (last()): Renamed to cp2() to reduce ambiguity. - (reverseAll): Update first element variable.. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (draw): Remove flattening path iterator. - * java/awt/BasicStroke.java: Clarified comments. - (addSegments): Refactored some code into joinSegments and - joinInnerSegments. - (capEnd): Rename of Segment.first() and Segment.end(). - (joinInnerSegments): New method. - (joinOuterSegments): New method. - (joinSegments): Refactored some code into joinOuterSegments. - (solidStroke): Connect segments together properly. - -2006-07-28 Thomas Fitzsimmons - - * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add - -avoid-version. - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): - Likewise. - * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): - Likewise. - * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): - Likewise. - -2006-07-28 Tom Tromey - - * configure.ac: Enable -Werror by default on Linux-with-gcc. - -2006-07-28 Lillian Angel - - * native/jni/gtk-peer/GtkDragSourceContextPeer.c: - Removed function declarations. - (connect_signals_for_widget): Removed implementation because - stub functions have been removed. - (drag_begin_cb): Removed function. - (drag_motion_cb): Likewise. - (drag_data_get_cb): Likewise. - (drag_data_delete_cb): Likewise. - (drag_drop_cb): Likewise. - (drag_end_cb): Likewise. - (drag_data_received_cb): Likewise. - -2006-07-28 Mark Wielaard - - * configure.ac: Set version to 0.93-pre. - -2006-07-29 Raif S. Naffah - - * tools/Makefile.am: Added source 1.4 compliance option when ECJ is used. - -2006-07-29 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java: Removed unused import. - (getCallbackHandler): Fully qualify linked class in javadoc. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (cmdOptionsParser): Removed. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (imported): Likewise. - * tools/gnu/classpath/tools/keytool/Main.java (printHelp): Likewise. - -2006-07-27 Tom Tromey - - PR classpath/28486: - * java/net/URLStreamHandler.java (equals): Properly handle default - port. Rewrote javadoc. Don't compare 'authority' parts of URLs. - -2006-07-27 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (documentCV): Made field private. - (bypass): Made field private. - (bidiRoot): New field. - (AbstractDocument): Initialize bidiRoot. - (getBidiRootElement): Return bidiRoot. - (getRootElements): Adjusted to also return the bidiRoot element. - (BranchElement.startOffset): Removed unneeded field. - (BranchElement.endOffset): Removed unneeded field. - (BranchElement.BranchElement): Removed unneeded fields. - (BranchElement.getEndOffset): Don't explicitly throw NPE here. This is - done automatically when there's no element left in the array. - (BranchElement.getStartOffset): Likewise. - (BranchElement.replace): Reordered calculations to avoid double - calculations. - (removeImpl): Silently ignore requests with length <= 0. - * javax/swing/text/GapContent.java - (createPosition): Removed explicit check for correct offset. - This class can deal with offsets outside the document. - (shiftEnd): Update all positions, even those outside the - document. - (adjustPositionsInRange): Fixed to also adjust positions outside - the document boundary. - -2006-07-18 Kyle Galloway - - * gnu/classpath/jdwp/event/ExceptionEvent.java: Added _klass field to hold - defining class. - (getParameter): Returns _klass field instead of determining - class from _instance. - (setCatchLoc): New method. - (writeData): Now assumes Location deals with empty locations instead of - using null. - * gnu/classpath/jdwp/util/Location.java (write): Check for empty - locations and write out accordingly. - (getEmptyLocation): New method. - -2006-07-27 Roman Kennke - - * javax/swing/text/SimpleAttributeSet.java - (EMPTY): Use EmptyAttributeSet for this field rather than - SimpleAttributeSet. - * javax/swing/text/EmptyAttributeSet.java: New class. Implements - an empty and immutable AttributeSet. - -2006-07-27 Roman Kennke - - * java/awt/Component.java - (reshape): Invalidate the component itself only when the - size has changed. Invalidate the parent always. Fixed - repainting. Pulled out the notification into - notifyReshape(). - (notifyReshape): New helper method. Notify interested listeners - about a reshape. - (update): Simply call paint() without clearing the background. - This is done in Container.update() if appropriate. - (repaint): Delagate the repaint to the nearest heavyweight - parent (for lightweights) and send an UPDATE event, rather than - calling ComponentPeer.repaint(). - * java/awt/Container.java - (backCleared): Removed field. - (paint): Removed handling of backCleared flag. - (update): Only paint if the container is actually - showing. Removed handling of backCleared flag. - -2006-07-27 Robert Schuster - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Fixed copyright and - authorship. - (NavigateAction): New inner class. - (NavigatePageDownAction): New inner class. - (NavigatePageUpAction): New inner class. - (RequestFocusAction): New inner class. - (RequestFocusForVisibleComponentAction): New inner class. - (FocusHandler.focusGained): Implemented. - (FocusHandler.focusLost): Implemented. - (MouseHandler.mouseReleased): Implemented. - (MouseHandler.mousePressed): Rewritten. - (PropertyChangeHandler.propertyChange): Reset currentScrollOffset and - currentScrollLocation to 0. - (TabbedPaneLayout.calculateSize): Stored tab count in local variable, - removed local variables, fixed indentation to stay under 80 column - limit. - (TabbedPaneLayout.calculateTabRects): Decrease tab area position by - one, set selectedIndex to 0 if its negative, corrected start values - for normalization, suppressed padding when only one tab run, - (TabbedPaneLayout.minimumLayoutSize): Toggled argument value. - (TabbedPaneLayout.normalizeTabRuns): Fixed indentation to stay under - 80 column limit, corrected the starting value for the bounds fixing - phase. - (TabbedPaneLayout.preferredTabAreaWidth): Fixed indentation. - (TabbedPaneLayout.rotateTabInRuns): Corrected comparison value for - selectedRun, set start index for loop to 0. - (TabbedPaneScrollLayout.preferredLayoutSize): Toggled argument value. - (TabbedPaneScrollLayout.calculateTabRects): Rewritten. - (TabbedPaneScrollLayout.layoutContainer): Added scrolling button - alignment and visibility handling. - (TabSelectionHandler.stateChanged): Do revalidation only in wrap tab - layout mode. - (ScrollingPanel.ScrollingPanelUI.paint): Rewritten. - (currentScrollOffset): New field. - (tabRuns): Rewritten documentation. - (selectedColor): New field. - (tempTextRect): New field. - (tempIconRect): New field. - (scrollTab): New method. - (updateButtons): New method. - (updateViewPosition): New method. - (createLayoutManager): Reordered method calls, predefine new fields, - register proper listeners. - (uninstallComponents): Implemented. - (installDefaults): Corrected property names, fixed indentation,. - (uninstallDefaults): Set new fields to null. - (uninstallListeners): Remove listeners from components neccessary for - scrolling tab layout. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (paint): Paint tab area background. - (paintTabArea): Fixed indentation, removed usage of local Rectangle - objects. - (getTabLabelShiftX): Rewritten. - (getTabLabelShiftY): Rewritten. - (paintFocusIndicator): Reindented. - (paintTabBorder): Rewritten. - (paintTabBackground): Corrected color usage, rewritten background - rectangle painting. - (paintContentBorderTopEdge): Rewritten. - (paintContentBorderBottomEdge): Rewritten. - (paintContentBorderLeftEdge): Rewritten. - (paintContentBorderRightEdge): Rewritten. - (tabForCoordinate): Return selected index when no tab could be - found, removed FIXME note. - (getRunForTab): Changed return value for first if-statement. - (navigateSelectedTab): Fixed last argument for both - getTabRunOffset() calls. - (selectedNextTabInRun): Added scrolling code. - (selectedPreviousTabInRun): Added scrolling code. - (selectedNextTab): Added scrolling code. - (selectedPreviousTab): Added scrolling code. - (selectAdjacentRunTab): Added scrolling code. - (getTextViewForTab): Added FIXME note. - (calculateTabHeight): Changed FIXME note. - (getTabRunOffset): Fixed indentation. - (getNextTabIndexInRun): Corrected return value. - (rotateInsets): Make TOP case the default in switch-statement. - (getActionMap): New method. - (createActionMap): New method. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: - (createLayoutManager): Rewritten. - (paintLeftTabBorder): Do not paint left line when previous tab - is selected but current tab is the first in its run, do not paint - left line when current tab is selected and is first in its run. - (paintRightTabBorder): Added missing setColor() call, fixed color - usage, do not paint right line if previous tab is selected but - current tab is the first in its run. - (paintBottomTabBorder): Do not paint left line if tab is selected - and is the first tab in the last run. - (paintFocusIndicator): New method. - (getLabelShiftX): New method. - (getLabelShiftY): New method. - -2006-07-27 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): Remove - g_assert from unused obj. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Mark - obj as unused and remove g_assert on it. - -2006-07-26 Roman Kennke - - * javax/swing/RepaintManager.java - (markCompletelyDirty): Add dirty region with Integer.MAX_VALUE - for the component. - (isCompletelyDirty): Consider a component completely dirty - when it has a dirty region with Integer.MAX_VALUE. - -2006-07-26 Roman Kennke - - * java/awt/KeyboardFocusManager.java - (getGlobalFocusOwner): Explicitly check for thread security. - (getGlobalPermanentFocusOwner): Explicitly check for thread security. - (getGlobalFocusedWindow): Explicitly check for thread security. - (getGlobalActiveWindow): Explicitly check for thread security. - (getGlobalCurrentFocusCycleRoot): Explicitly check for thread security. - (getGlobalObject): Added new argument for specifying if - a security check should be performed or not. - (setGlobalObject): Don't check for thread security when - calling getGlobalObject. - -2006-07-26 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - Documentation fix. - * javax/management/MBeanInfo.java: - (MBeanInfo(String,String,MBeanAttributeInfo[], - MBeanConstructorInfo[], MBeanOperationInfo[], - MBeanNotificationInfo[])): Implemented. - (equals(Object)): Likewise. - (getAttributes()): Likewise. - (getConstructors()): Likewise. - (getOperations()): Likewise. - (hashCode()): Likewise. - * javax/management/MBeanOperationInfo.java, - * javax/management/NotCompliantMBeanException.java, - * javax/management/StandardMBean.java: - New files. - -2006-07-26 Sven de Marothy - - * java/awt/geom/GeneralPath.java: Fix severe typo. - -2006-07-26 Sven de Marothy - - * include/java_lang_VMSystem.h - * vm/reference/java/lang/VMSystem.java - * native/jni/java-lang/java_lang_VMSystem.c - (nanoTime, currentTimeMillis): Switch the former to native code and - the latter to java. - -2006-07-26 Andreas Tobler - - * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Removed unneeded imports. - * gnu/java/awt/peer/qt/QtComponentGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtContainerPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtDialogPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtFontMetrics.java: Likewise. - * gnu/java/awt/peer/qt/QtFontPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtGraphicsEnvironment.java: Likewise. - * gnu/java/awt/peer/qt/QtImage.java: Likewise. - * gnu/java/awt/peer/qt/QtImageConsumer.java: Likewise. - * gnu/java/awt/peer/qt/QtImageDirectGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtImageGraphics.java: Likewise. - * gnu/java/awt/peer/qt/QtMenuBarPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtPopupMenuPeer.java: Likewise. - * gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java: Likewise. - * gnu/java/awt/peer/qt/QtScrollPanePeer.java: Likewise. - * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. - * gnu/java/awt/peer/qt/QtVolatileImage.java: Likewise. - -2006-07-26 Roman Kennke - - * java/awt/KeyboardFocusManager.java - (getFocusOwner): Don't check permanent owner. - (getGlobalFocusOwner): Don't check permanent owner. - -2006-07-26 Carsten Neumann - - * StrictMath.java (cosh): New method. - (expm1): New method. - (EXPM1_Q1): New field. - (EXPM1_Q2): Likewise. - (EXPM1_Q3): Likewise. - (EXPM1_Q4): Likewise. - (EXPM1_Q6): Likewise. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (mousePressed): Request focus if appropriate. - * javax/swing/text/DefaultCaret.java - (mousePressed): Also handle the focus of the text component - as specified. Don't consume events. - -2006-07-26 Roman Kennke - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (focusRequest): Removed field. - (postFocusEvent(int,boolean,Component)): Removed. - (postFocusEvent(int,boolean)): Reverted to post event using - the heavyweight component. - (requestFocus): Post focus event using the heavyweight - component. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (requestFocus): Post focus event using the heavyweight - component. - * java/awt/AWTEvent.java - (isFocusManagerEvent): New field, indicating if this is - an event that is redispatched by the KeyboardFocusManager. - * java/awt/Component.java - (requestFocusImpl): Register component for - heavyweight->lightweight mapping. - (dispatchEventImpl): Retarget focus events before dispatching - to the KeyboardFocusManager. Use new AWTEvent flag instead - of locking hack. Dispatch all events through the - KeyboardFocusManager. Don't request focus on lightweight - components. - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Pulled out handling of FOCUS_GAINED and - FOCUS_LOST. - (handleFocusGained): Fixed handling of temporary vs permanent - focus changes. Added some checks. - (handleFocusLost): Fixed handling of temporary vs permanent - focus changes. Added some checks. - * java/awt/EventDispatchThread.java - (run): Don't dispatch to KeyboardFocusManager here. This - is done in Component.dispatchEventImpl(). - * java/awt/KeyboardFocusManager.java - (redispatchEvent): Use new AWTEvent flag instead of locking hack. - (focusRequests): New field. - (retargetFocusEvent): New method. Retargets focus events - that come from heavyweights to the correct lightweight component. - (addLightweightFocusRequest): New method. Stores a mapping - for later retargetting of heavyweight focus events. - * java/awt/Window.java - (addFocusListener): Removed bogus method. If at all, this - should be performed in the KeyboardFocusManager. - (Window): Don't install a focus listener on the Window. - -2006-07-26 Robert Schuster - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (drawLine): Apply shift to line coordinates. - -2006-07-26 Robert Schuster - - * java/awt/image/ColorConvertOp.java: Fixed copyright header. - (copyimage): Do not call setRenderingHints() when the respective map - does not exist. - (filter): Removed code to clone the ColorModel instance. - * java/awt/image/ColorModel.java: - (cloneColorModel): Removed. - -2006-07-26 Robert Schuster - - * javax/swing/JTabbedPane.java: - (setSelectedIndex): Removed updating of component visibility status, - added note. - (remove(Component)): Use indexOfComponent() to find whether we have - to use super.remove(int) or removeTabAt(). - -2006-07-26 Roman Kennke - - * javax/swing/JOptionPane.java - (createDialog): Add property change handler for closing - the dialog when the value property changes. - (ValuePropertyHandler): New inner helper class. - * javax/swing/plaf/basic/BasicOptionPaneUI.java - (OptionPaneCloseAction): New class. - (messageForeground): Removed field. - (messageBorder): Removed field. - (buttonBorder): Removed field. - (addIcon): Configure the new label. - (addMessageComponents): Configure newly created labels. - (burstStringInto): Likewise. - (createButtonArea): Install border here. - (createMessageArea): Install border and foreground here. - (createSeparator): Added comment and removed - NotImplementedException. - (installComponents): Don't install the UI defaults for the - message and button area here. This is moved to the - corresponding create* methods. Adjusted comment about - separator. - (installDefaults): Removed initialization of removed fields. - (installKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (uninstallDefaults): Removed de-initialization of removed fields. - (uninstallKeyboardActions): Implemented. - (configureLabel): New helper method. - * javax/swing/plaf/basic/BasicTableUI.java - (getActionMap): Fixed the UI property names. - * javax/swing/plaf/basic/BasicToolBarUI.java - (getActionMap): Fixed the UI property names. - -2006-07-26 David Gilbert - - * java/awt/image/BandedSampleModel.java - (getDataElements): Check for negative x or y, - (getPixels): Likewise, - (getSamples): Likewise, - (setSamples): Likewise. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicToolBarUI.java - (ToolBarAction): New inner class for handling keyboard - actions. - (installKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (installListeners): Install focus listener on toolbar's - children, rather than the toolbar itself. - (navigateFocusedComp): Implemented. - (uninstallKeyboardActions): Implemented. - (uninstallListeners): Uninstall focus listener from - toolbar's children, rather than the toolbar itself. - (ToolBarContListener.componentAdded): Install focus - listener on added child. - (ToolBarContListener.componentRemoved): Uninstall focus - listener from removed child. - (ToolBarFocusListener.ToolBarFocusListener): Nothing to do here. - (ToolBarFocusListener.focusGained): Implemented. - (ToolBarFocusListener.focusLost): Implemented. - -2006-07-26 Roman Kennke - - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Notify old focus owner when it has lost - focus. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (FocusHandler.focusGained): Implemented to refresh the - lead cell. - (FocusHandler.focusLost): Implemented to refresh the - lead cell. - (FocusHandler.repaintLeadCell): New helper method. - (MouseInputHandler.mouseEntered): Do nothing here. - (MouseInputHandler.mouseExited): Do nothing here. - (MouseInputHandler.mouseMoved): Do nothing here. - (installKeyboardActions): Rewritten to use a shared InputMap - and ActionMap and correctly install the maps via SwingUtilities - methods. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (ActionListenerProxy): Removed unneeded class. - (TableAction): Made class static. - (TableAction.actionPerformed): Determine table by fetching - the event source. Pass the table to helper methods. - Use __command__ hack to determine the action command. - (TableAction.getFirstVisibleColumnIndex): Get table as argument. - (TableAction.getLastVisibleColumnIndex): Get table as argument. - (TableAction.getFirstVisibleRowIndex): Get table as argument. - (TableAction.getLastVisibleRowIndex): Get table as argument. - (TableAction.advanceMultipleSelection): Get table as argument. - (uninstallDefaults): Do nothing here. - (uninstallKeyboardActions): Uninstall the keyboard actions. - -2006-07-26 Roman Kennke - - * javax/swing/JComponent.java - (processKeyBinding): Store the action command as property - in the Action instance that we call. This allows for - improvement on the side of the Action. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Use fillRect() instead of drawLine() to - fill single pixels. - -2006-07-26 Roman Kennke - - * javax/swing/text/GapContent.java - (getChars): Check for negative length and throw - BadLocationException. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuBarUI.java - (FocusAction): Made class static. - -2006-07-26 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Add keyboard bindings for - PopupMenu. - -2006-07-26 Roman Kennke - - * javax/swing/UIManager.java - (getLookAndFeelDefaults): Return the look and feel defaults. - (setLookAndFeel): Improved exception messsage. - -2006-07-26 David Gilbert - - * javax/swing/text/StringContent.java - (StringContent): Changed initialLength to 10. - -2006-07-26 David Gilbert - - * java/util/Vector.java: Fixed API doc typo. - -2006-07-26 David Gilbert - - * java/awt/image/BandedSampleModel.java - (createCompatibleSampleModel): Fixed typo in loop increment, set - correct scanlineStride, and updated API docs. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (NavigateAction): New inner class. This is responsible for - keyboard navigation through menus. - (KeyboardHelper): New inner class. This manages the - keyboard mappings and focus when a popup opens or closes. - (keyboardHelper): New static field. - (numPopups): New static field. - (installUI): Create KeyboardHelper for first popup. - Call installKeyboardActions(). - (installKeyboardActions): Removed NotImplementedException. - This method is a no-op. - (installKeyboardActionsImpl): New method. Installs keyboard - mapping when a popup is opened. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - (uninstallUI): Uninstall KeyboardHelper when last Popup is - uninstalled. Call uninstallKeyboardActions(). - (uninstallKeyboardActions): Removed NotImplementedException. - This method is a no-op. - (uninstallKeyboardActionsImpl): New method. Uninstalls keyboard - mapping when a popup is closed. - -2006-07-25 Roman Kennke - - * java/awt/Component.java - (requestFocus()): Reimplemented to use requestFocusImpl(). - (requestFocus(boolean)): Reimplemented to use requestFocusImpl(). - (requestFocusInWindow()): Reimplemented to use requestFocusImpl(). - (requestFocusInWindow(boolean)): Reimplemented to use - requestFocusImpl(). - (requestFocusImpl): Reimplemented focus request to use - new peer method. Also added some obvious additional checks - for rejecting focus requests early. - * java/awt/ComponentPeer.java - (requestFocus(Component,boolean,boolean,long)): Documented - this method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (requestFocus): New field. - (gtkWidgetHasFocus): New native method. - (gtkWidgetCanFocus): New native method. - (requestFocus): Replaced with assert false to prevent - usage of obsolete method. - (postFocusEvent(int,boolean,Component)): New overloaded method - for posting the focus event to a specific target. - (postFocusEvent(int,boolean)): Post event to requestFocus - component. - (requestFocus(Component,boolean,boolean,long)): Implemented. - (getWindowFor): New helper method. - (isLightweightDescendant): New helper method. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (gtkWindowHasFocus): New native method. - (requestFocus(Component,boolean,boolean,long)): New method. - Overrides GtkComponentPeer method to specially handly the - case when a Window receives a focus request for a lightweight - child. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetHasFocus): New native method. - (gtkWidgetCanFocus): New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (gtkWindowHasFocus): New native method. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: - Regenerated. - -2006-07-25 Francis Kung - - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Add check for valid component. - -2006-07-25 Andrew John Hughes - - * javax/management/MBeanConstructorInfo.java: - New file. - * javax/management/MBeanNotificationInfo.java: - Documentation fix. - * javax/management/MBeanParameterInfo.java: - New file. - -2006-07-25 Robert Schuster - - * java/awt/peer/gtk/CairoGraphics.java: - (drawLine): Added special case for 1 pixel lines. - -2006-07-25 Robert Schuster - - Fixes PR27844. - * java/awt/peer/gtk/CairoGraphics.java: - (drawLine): Removed calls to shifted(). - -2006-07-25 Robert Schuster - - * javax/swing/JTabbedPane.java: - (remove(Component)): Rewritten. - (setSelectedIndex): Implemented updating of component visibility state. - -2006-07-25 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (init): Default to the actual depth in the worst case. - - * java/awt/Font.java - (createFont(int, File)): New method. - -2006-07-25 Ito Kazumitsu - - Fixes bug #28413 - * gnu/java/util/regex/RETokenEnd.java(check_java_line_terminators): - New field. - (RETokenEnd): New constructer to set check_java_line_terminators. - (matchThis): Checck line terminators if check_java_line_terminators. - * gnu/java/util/regex/RETokenStart.java: Likewise. - * gnu/regexp/RE.java(initialize): Use the new constructors for - RETokenEnd and RETokenStart if REG_MULTILINE is set. - * java/util/regex/Pattern.java(Patteren): Changed so that - gnu/regexp/RE.java may use the new the new constructors. - -2006-07-25 Roman Kennke - - * java/awt/Container.java - (focusTraversalPolicyProvider): New field. - (isFocusTraversalPolicyProvider): New method. - (setFocusTraversalPolicyProvider): New method. - * java/awt/ContainerOrderFocusTraversalPolicy.java - (getFirstComponent): Use accept() instead of lengthy checks. - Don't fetch getComponents() to avoid copying of array. - Traverse down the hierarchy to find the first focused component. - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Let the initial component request focus. - -2006-07-25 David Gilbert - - * javax/swing/text/Segment.java - (last): Update current index before returning DONE for zero count. - -2006-07-24 Mark Wielaard - - * javax/swing/tree/TreePath.java (equals): Swap path equals call. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuBarUI.java - (FocusAction): New inner class. Used to grab focus. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (getActionMap): New helper method. - (createDefaultActions): New helper method. - -2006-07-25 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Install instantiable basic look and feel. - (InstantiableBasicLookAndFeel): New inner class. - -2006-07-25 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (GlassPaneDispatcher.dragTarget): New field. - (GlassPaneDispatcher.isDragging): New field. - (GlassPaneDispatcher.pressedComponent): Removed field. - (GlassPaneDispatcher.tempComponent): Removed field. - (GlassPaneDispatcher.pressCount): Removed field. - (GlassPaneDispatcher.mousePressed): Call - borderListener.mousePressed() to activate the frame. - (acquireComponentForMouseEvent): Removed method. - (handleEvent): Rewritten. - (redispatch): New method. - (InternalFramePropertyChangeListener.propertyChange): - Make glasspane invisible when frame is selected, and visible - if it gets deselected. - -2006-07-25 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Dispatch event to real target if - the dragTarget has become invisible in the meantime. - -2006-07-25 David Gilbert - - * javax/swing/text/TabSet.java - (equals): New method override for 1.5, - (hashCode): Likewise, - (toString): Added spaces to match reference implementation. - -2006-07-24 Andrew John Hughes - - * javax/management/IntrospectionException.java, - * javax/management/MBeanAttributeInfo.java: - New files. - * javax/management/MBeanNotificationInfo.java: - Documentation cleanups. - -2006-07-24 David Gilbert - - * javax/swing/text/TabSet.java - (TabSet): Check for null argument, - (getTab): Throw IllegalArgumentException for index out of bounds, - (getTabIndexAfter): Changed test to '<=', - and updated API docs all over, - * javax/swing/text/TabStop.java: Updated API docs. - -2006-07-24 David Gilbert - - * javax/swing/text/TabStop.java - (toString): Don't use 'left ' prefix, and added space between tab - location and '(w/leader)' suffix. - -2006-07-24 Francis Kung - - * javax/swing/JComboBox.java - (DefaultKeySelectionManager): Implemented. - (createDefaultKeySelectionManager): Implemented. - (getKeySelectionManager): Implemented. - (processKeyEvent): Removed duplicate code. - * javax/swing/JPopupMenu.java - (selectionModel): Changed visibility. - * javax/swing/plaf/basic/BasicComboBoxUI.java - (KeyHandler.keyPressed): Added navigation keys. - (configureEditor): Add key listener. - (installListeners): Install focus listener to combo box. - (isNavigationKey): Added enter, escape, and tab. - (selectPreviousPossibleValue): Added out of bounds check. - (unconfigureEditor): Remove key listener. - * javax/swing/plaf/metal/MetalComboBoxButton.java - (paintComponent): Highlight combo box when in focus. - -2006-07-24 Roman Kennke - - * javax/swing/SwingUtilities.java - (isLeftMouseButton): Fixed condition. - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Dispatch MOUSE_ENTERED even when mouse - is dragged. - -2006-07-24 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (setPaint): Fixed scaleX and scaleY. - -2006-07-24 Roman Kennke - - * javax/swing/JTable.java - (handleInsert): Repaint the whole table for variable row - height tables and an optimized region otherwise. - (handleDelete): Likewise. - (handleUpdate): Likewise. - -2006-07-24 Mario Torre - - * gnu/java/awt/peer/gtk/GtkToolkit.java (createDragGestureRecognizer): - now explicity registerListeners on GtkMouseDragGestureRecognizer - instance. - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java - (unregisterListeners): new method, overrided from base class - to rise visibility (from protected to public). - (registerListeners): Likewise. - (GtkMouseDragGestureRecognizer): fixed potential threading issue: - removed call to registerListeners from the constructor. - -2006-07-23 Andrew John Hughes - - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * java/lang/management/MemoryPoolMXBean.java: - (getType()): Changed return type to MemoryType. - * java/lang/management/MemoryType.java: - New file. - -2006-07-23 Mark Wielaard - - * configure.ac: Check for moc and moc-qt4. - -2006-07-23 David Gilbert - - * java/awt/image/Kernel.java: API doc updates. - -2006-07-22 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java: Optimize pixel swap code a - bit more. - -2006-07-22 Mark Wielaard - - * java/lang/Iterable.java: Import all of java.util. - * lib/mkcollections.pl.in (javautilclasses): Add Iterable. - * lib/Makefile.am: Only search for .java files in COLLECTIONS_PREFIX. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Document getType(String). - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, - * java/lang/management/MemoryPoolMXBean.java: - (getType()): Implemented. - * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java - (getType(String)): Implemented. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Move end of itemization block. - -2006-07-22 Robert Schuster - - * javax/swing/plaf/metal/MetalLookAndFeel.java: - (initComponentDefaults): Added new properties, added comments. - -2006-07-22 Andrew John Hughes - - * doc/vmintegration.texinfo: - Mention callback methods. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (fireNotification(String,String,long,long,long,long,long)): - Made package-private. - (fireThresholdExceededNotification(String,long,long,long, - long,long)): Likewise. - (fireCollectionThresholdExceededNotification(String,long, - long,long,long,long)): Likewise. - * java/lang/management/MemoryMXBean.java: - Document notifications. - -2006-07-22 Andrew John Hughes - - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (fireNotification(String,String,long,long,long,long,long)): - Implemented. - (fireThresholdExceededNotification(String,long,long,long, - long,long)): Likewise. - (fireCollectionThresholdExceededNotification(String,long, - long,long,long,long)): Likewise. - * java/lang/management/MemoryNotificationInfo.java: - Use composite type from MemoryMXBeanImpl. - * javax/management/openmbean/CompositeData.java: - Correct documentation. - * javax/management/openmbean/CompositeDataSupport.java, - * javax/management/openmbean/InvalidKeyException.java: - New files. - -2006-07-22 Raif S. Naffah - - * gnu/java/security/util/IntegerUtil.java: New file. - -2006-07-22 Raif S. Naffah - - PR Classpath/28100 - * gnu/javax/crypto/cipher/TripleDES.java: Updated documentation. - (KEY_SIZE): Likewise. - (adjustParity(int,byte[],int): New method. - (adjustParity(byte[],int): Call above method with 3 as 1st argument. - (isParityAdjusted(int,byte[],int)): New method. - (isParityAdjusted): Call above method with 3 as 1st argument. - (keySizes): Add 8 and 16 as other valid key sizes. - (makeKey): Amended to cater for 1, 2 and 3 independent DES keys. - -2006-07-22 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java (CairoSurface): Rearrange - code for the pixel swap routine to be more efficient. - -2006-07-21 Carsten Neumann - - * java/util/CopyOnWriteArrayList.java (indexOf(E, int)): New method. - (lastIndexOf(E, int)): Likewise. - (add(E)): Increase the size of newData array by one. - (add(int, E)): Likewise. - -2006-07-20 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: - Removed unused fields. - (GtkMouseDragGestureRecognizer): Removed initializations. - -2006-07-20 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java - (GtkMouseDragGestureRecognizer): New constructor. - (GtkMouseDragGestureRecognizer): New constructor. - (GtkMouseDragGestureRecognizer): New constructor. - (mouseClicked): Removed FIXME. - (mousePressed): Implemented. - (mouseReleased): Implemented. - (mouseEntered): Implemented. - (mouseDragged): Implemented to check mouse point and trigger origin. - (mouseMoved): Removed FIXME. - (getDropActionFromEvent): New helper function used to convert mouse event - modifiers to a drop action. - * java/awt/dnd/DragSource.java - (getDragThreshold): Changed to return some arbitrary value for testing - purposes. - -2006-07-20 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Also consider components that have their eventMask - set, for compatibility with stonage AWT. Optimized check - for MouseListener. - (handleMouseEvent): Likewise. - -2006-07-20 Roman Kennke - - * javax/swing/JTable.java - (tableChanged): Split out handling of the event into multiple - subroutines. - (handleCompleteChange): New method. Clear the selection and - check the lead/anchor indices. - (handleInsert): New method. Check the lead/anchor indices. - Optimized repainting. - (handleDelete): New method. Check the lead/anchor indices. - Optimized repainting. - (handleUpdate): New method. Optimized repainting. - (checkSelection): New helper method. - (setSelectionModel): Update lead/anchor indices. - -2006-07-20 Lillian Angel - - PR 28440 - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (dispose): Reset all fields. - -2006-07-20 Roman Kennke - - * gnu/java/awt/peer/x/XToolkit.java - (createImage(InputStream)): Only copy image to Pixmap if - it's actually opaque. Transparent images are left as - BufferedImage and composited later onto the screen. - * gnu/java/awt/peer/x/XGraphics.java - (XGraphics): Fetch some parameters for image rendering. - (drawImage): Added special handling of transparent images. - (getRGB): New helper method. - (setRGB): New helper method. - -2006-07-20 Roman Kennke - - * gnu/javax/imageio/IIOInputStream.java: New class. Wraps - ImageInputStreams as normal InputStreams. - * gnu/javax/imageio/gif/GIFStream.java: - Moved to gnu/javax/imageio/IIOInputStream.java. - * gnu/javax/imageio/gif/GIFImageReader.java - (readImage): Use IIOInputStream. - * gnu/javax/imageio/gif/GIFImageReaderSpi.java - (canDecodeInput): Use IIOInputStream. - * gnu/javax/imageio/png/PNGException.java: Make subclass - of IOException. - * gnu/javax/imageio/png/PNGImageReader.java: New class. - Implements the ImageIO ImageReader for PNG. - * gnu/javax/imageio/png/PNGImageReaderSpi.java: New class. - Implements the ImageIO ImageReaderSpi for PNG. - * javax/imageio/spi/IIORegistry.java: - (IIORegistry): Add PNGImageReaderSpi. - -2006-07-20 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (getPixel): Added argument check, - (getSample): Modified exception message. - -2006-07-20 David Gilbert - - PR Classpath/28422 - * java/awt/image/ConvolveOp.java - (filter(Raster, WritableRaster)): Reimplemented, - (fillEdge): New private method. - -2006-07-19 Keith Seitz - - * include/jvmti.h (JVMTI_VERSION_1_0): Define. - (JVMTI_VERSION): Define. - -2006-07-19 Roman Kennke - - * resource/gnu/regexp/MessagesBundle.properties, - * resource/gnu/regexp/MessagesBundle_fr.properties, - * resource/gnu/regexp/MessagesBundle_it.properties: - Moved to resource/gnu/java/util/regex. - * resource/gnu/java/util/regex/MessagesBundle.properties, - * resource/gnu/java/util/regex/MessagesBundle_fr.properties, - * resource/gnu/java/util/regex/MessagesBundle_it.properties: - New files. - * gnu/java/util/regex/RE.java - Use new resource bundle location. - -2006-07-19 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Refactored. The paintChildrenOptimized method - has been moved back in here. Added locking of the tree and - only check for completely obscured child components - when not optimized drawing enabled. Use Graphics.create() to - protect from irreversible changes. - (isCompletelyObscured): New helper method. - (paintComponent): Also use Graphics.create() for Graphics2D, - to protect from irreverible changes. - (clipAndTranslateGraphics): Refactored to use more efficient - iterative (vs recursive) approach. - * javax/swing/RepaintManager.java - (getOffscreenBuffer): Create image from root component. - -2006-07-19 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (translate): Don't set the clip on the X server. - (clipRect): Use setXClip() to set the clip on the X server. - (hitClip): More efficient and correct implementation. - (setClip): Use setXClip() to set the clip on the X server. - (setClip(Shape)): Use setXClip() to set the clip on the X server. - (copyArea): Translate and clip the source rectangle correctly. - (dispose): Only flush when object is not yet disposed. - (clone): Use setXClip() to set the clip on the X server. - -2006-07-19 Sven de Marothy - - * gnu/javax/imageio/png/PNGChunk.java, - * gnu/javax/imageio/png/PNGData.java, - * gnu/javax/imageio/png/PNGDecoder.java, - * gnu/javax/imageio/png/PNGEncoder.java, - * gnu/javax/imageio/png/PNGException.java, - * gnu/javax/imageio/png/PNGFile.java, - * gnu/javax/imageio/png/PNGFilter.java, - * gnu/javax/imageio/png/PNGGamma.java, - * gnu/javax/imageio/png/PNGHeader.java, - * gnu/javax/imageio/png/PNGICCProfile.java, - * gnu/javax/imageio/png/PNGPalette.java, - * gnu/javax/imageio/png/PNGPhys.java, - * gnu/javax/imageio/png/PNGTime.java: - New files. - -2006-07-19 Sven de Marothy - - * java/net/Inet6Address.java: - (getScopedId, getScopedInterface): New methods. - -2006-07-19 Lillian Angel - - * examples/gnu/classpath/examples/awt/Demo.java - (DragDropWindow): Fixed typo in Label text. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java - (GtkDragSourceContextPeer): Removed unneeded initialization for field. - (startDrag): Initialized context field. - (transferablesFlavorsChanged): Removed FIXME. Nothing is done in this - function. - (dragEnter): New function. - (dragExit): Likewise. - (dragDropEnd): Likewise. - (dragMouseMoved): Likewise. - (dragOver): Likewise. - (dragActionChanged): Likewise. - -2006-07-19 Raif S. Naffah - - PR Classpath/26302 - * resource/java/security/classpath.security: Updated copyright year. - (auth.login.defaultCallbackHandler): New property; set to our default - callback handler. This is needed by the LoginContext when no callback - handler was specified. - * javax/security/auth/login/LoginContext.java: Updated copyright year. - (LoginContext(4)): Assign passed parameters to local fields before invoking - lookup method. - -2006-07-19 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Fixed ordering of parameters. - -2006-07-18 Andrew John Hughes - - * gnu/java/lang/management/MemoryMXBeanImpl.java: - (MemoryMXBeanImpl()): Implemented. - (ListenerData): New private class. - (addNotificationListener(NotificationListener, - NotificationFilter, Object)): Implemented. - (getNotificationInfo()): Likewise. - (removeNotificationListener(NotificationListener)): - Likewise. - (removeNotificationListener(NotificationListener, - NotificationFilter, Object)): Likewise. - -2006-07-18 Roman Kennke - - * gnu/java/awt/peer/x/XFontPeer.java - (encodeFont): Be more flexible with font sizes. - (validSize): New helper method. - * gnu/java/awt/peer/x/XGraphics.java - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): - Implemented. - * gnu/java/awt/peer/x/XImage.java - (properties): New field. - (getProperty): Implemented. - * resource/gnu/java/awt/peer/x/fonts.properties: - Added copyright header. Fixed font size field. - -2006-07-18 David Gilbert - - * java/awt/image/BandedSampleModel.java - (createDataBuffer): New method override, - * java/awt/image/ByteLookupTable.java - (ByteLookupTable(int, byte[][])): Create new array to hold references, - (ByteLookuptable(int, byte[])): Check for null array, - * java/awt/image/ComponentSampleModel.java - (createDataBuffer): Removed unnecessary braces, - (getSample): Check (x, y) is within bounds, - * java/awt/image/ShortLookupTable.java - (ShortLookupTable(int, short[][])): Create new array to hold references, - (ShortLookupTable(int, short[])): Check for null array, - (getTable): Added API docs, - (lookupPixel): Source reformatting. - -2006-07-18 Tania Bento - - * java/awt/GridLayout.java - (setHgap): Illegal Argument Exception should not be thrown if - hgap < 0. - (setVgap): Illegal Argument Exception should not be thrown if - vgap < 0. - (toString): Opening square braket ([) should appear before hgap - value, not the name of the class. - -2006-07-18 Roman Kennke - - * lib/copy-vmresources.sh.in: Reverted. - * gnu/java/awt/peer/x/fonts.properties: Moved to resource/ - * resource/gnu/java/awt/peer/x/fonts.properties: New file. - -2006-07-18 Roman Kennke - - * lib/copy-vmresources.sh.in: Include properties from X peers. - -2006-07-18 Raif S. Naffah - - PR Classpath/27205 - * tools/gnu/classpath/tools/jarsigner/SFHelper.java (writeDSA): Check - certificate validity. - (getIssuerName): New method. - (getSubjectName): Likewise. - (getNotAfterDate): Likewise. - (getNotBeforeDate): Likewise. - * resource/gnu/classpath/tools/jarsigner/messages.properties: Added - messages for newly added messages in SFHelper. - -2006-07-18 Roman Kennke - - * gnu/java/awt/peer/x/XDialogPeer.java: New class. - * gnu/java/awt/peer/x/XEventPump.java - (handleEvent): Cast to XWindowPeer rather than XFramePeer. - * gnu/java/awt/peer/x/XFramePeer.java - Made a subclass of XWindowPeer, rather than SwingFramePeer. - * gnu/java/awt/peer/x/XGraphics.java - Made subclass of Graphics rather than Graphics2D. Removed - all Graphics2D specific method stubs. - (setColor): Map colors using the X color map that is - stored in XToolkit. - * gnu/java/awt/peer/x/XToolkit.java - (colorMap): New field. - (getLocalGraphicsEnvironment): Return new XGraphicsEnvironment - instance. - (createDialog): Implemented. - (createImage(ImageProducer)): Implemented. - (createImage(InputStream)): Use createImage(ImageProducer) - to convert the BufferedImage to an XImage. - * gnu/java/awt/peer/x/XWindowPeer.java - (XWindowPeer): Removed debug output. - -2006-07-18 David Gilbert - - * java/awt/image/BufferedImageOp.java: API docs added, - * java/awt/image/RasterOp.java: Likewise. - -2006-07-18 David Gilbert - - * java/awt/Graphics2D.java: API docs updated. - -2006-07-18 David Gilbert - - * java/awt/image/WritableRaster.java: Added API docs and reformatted - source code. - -2006-07-18 Sven de Marothy - - * java/net/Inet6Address.java: - Add 1.5 serialized fields. - (getByAddress): New methods. - (readObject, writeObject): New methods. - (equals): Reimplement. - -2006-07-18 David Gilbert - - * java/awt/image/Raster.java: Added API docs and reformatted source - code. - -2006-07-18 Andreas Tobler - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: Remove unneeded - imports. - * gnu/java/awt/peer/gtk/CairoSurface.java: Likewise. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java: Likewise. - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java: Likewise. - * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. - * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java: Likewise. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkImage.java: Likewise. - * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java: Likewise. - -2006-07-17 Andreas Tobler - - * javax/swing/text/html/HTMLEditorKit.java: Rearrange import statements - to make it compile again under jikes. Note added. - -2006-07-17 Lillian Angel - - * examples/gnu/classpath/examples/awt/Demo.java - (Demo): Added new window for DnD demo. - (DragDropWindow): New class. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: - Added new fields and declarations for native functions. - (GtkDragSourceContextPeer): Implemented. - (getComponentPeer): New function. - (startDrag): Partially implemented. - (getCursor): Implemented. - (setCursor): Implemented. - * include/GtkDragSourceContextPeer.h: New file. - * include/Makefile.am: Added new header file. - * java/awt/Component.java - (addNotify): Added call to the dropTarget's addNotify. - * java/awt/dnd/DragSource.java - (startDrag): Fixed code to use shared instances of peer and - context. - (getDragThreshold): Added stub. - * java/awt/dnd/DropTarget.java - (DropTarget): Implemented fully. - (addNotify): Added code to get the peer of the parent that is - not lightweight. - * java/awt/dnd/DropTargetDragEvent.java - (getTransferable): Added stub. - * native/jni/gtk-peer/GtkDragSourceContextPeer.c: New file. - * native/jni/gtk-peer/Makefile.am: Added new c file. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: - Changed to extend GtkGenericPeer. - (GtkDropTargetContextPeer): New constructor. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: - Changed to extend GtkGenericPeer. - (GtkDropTargetContextPeer): New constructor. - -2006-07-17 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (createSubsetSampleModel): Added argument check and API docs. - -2006-07-17 Roman Kennke - - * gnu/java/awt/peer/x/XGraphics.java - (copyArea): Implemented. - -2006-07-17 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (getSampleSize): Return copy of array, - (getOffset): Added API docs, - (getScanlineStride): Likewise, - (hashCode): Implemented. - -2006-07-17 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (getOffset): Updated API docs and source reformatting, - (getBitOffset): Source reformatting only, - (getDataElements): Likewise, - (getPixel): Likewise, - (getPixels): Removed method override, - (setDataElements): Reimplemented. - -2006-07-17 Gary Benson - - * resource/META-INF/services/.cvsignore: New file. - * lib/.cvsignore: Updated. - -2006-07-17 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Only do the text layout caching as long - as the noGraphics2D property isn't set. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (PropertyChangeHandler.propertyChange): Only do the text layout - caching as long as the noGraphics2D property isn't set. - -2006-07-17 Roman Kennke - - * gnu/java/awt/peer/x/XGraphicsEnvironment.java - (XGraphicsEnvironment): Make constructor public so that it - can be called via Class.forName().newInstance(). - * gnu/java/awt/peer/x/XImage.java - (XImage): Fetch GraphicsEnvironment via - GraphicsEnvironment.getLocalGraphicsEnvironment() rather - than the XToolkit method, to avoid double instantiation - of the XGraphicsEnvironment. - * gnu/java/awt/peer/x/XToolkit.java - (env): Removed field. - (getLocalGraphicsEnvironment): Removed impl. This method - should not be called since we set the graphicsenv property - in the constructor. - -2006-07-16 Andrew John Hughes - - * java/util/UUID.java: - (compareTo(Object)): Call compareTo(UUID). - (compareTo(UUID)): Implemented. - -2006-07-16 Tom Tromey - - * java/lang/StrictMath.java (cbrt): Added '@since'. - -2006-07-16 Carsten Neumann - - * java/lang/StrictMath.java (cbrt): New method. - (getLowDWord): New helper method. - (getHighDWord): Likewise. - (buildDouble): Likewise. - (CBRT_B1): New field. - (CBRT_B2): Likewise. - (CBRT_C): Likewise. - (CBRT_D): Likewise. - (CBRT_E): Likewise. - (CBRT_F): Likewise. - (CBRT_G): Likewise. - -2006-07-16 Andrew John Hughes - - * javax/management/MBeanInfo.java: - (getNotifications()): Implemented. - * javax/management/NotificationBroadcaster.java: - (removeNotificationListener(NotificationListener)): - Renamed from removeListener. - * javax/management/NotificationEmitter.java: - (removeNotificationListener(NotificationListener, - NotificationFilter, Object)): Likewise. - * javax/management/NotificationFilter.java: - Implement Serializable. - * javax/management/NotificationListener.java: - Implement java.util.EventListener. - * javax/rmi/ssl/SslRMIClientSocketFactory.java: - Implement Serializable. - -2006-07-16 Andrew John Hughes - - * java/lang/management/MemoryNotificationInfo.java: - New file. - -2006-07-16 Audrius Meskauskas - - PR 28392 - * gnu/javax/swing/text/html/parser/htmlValidator.java - (tagIsValidForContext): If it is not possible to insert any tag, but - is possible to insert a P, insert a P. - * gnu/javax/swing/text/html/parser/HTML_401Swing.java - (newInstance): Removed print statement. (getBodyElements): - Removed ABBR, ACRONYM, BDO, Q, S, SUB, SUP and ADDRESS from the - valid body level tags (will be enclosed into P's). - -2006-07-17 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (setKeystoreURLParam): - Condition the creation of .keystore (a default keystore) based on the - createIfNotFound argument as well. - -2006-07-16 Audrius Meskauskas - - PR 28392 - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Removed heading p tag from the parsing example. - * gnu/javax/swing/text/html/parser/HTML_401F.java: - (createHtmlContentModel): Explained. - (defineElements): Call getBodyElements to get the body - elements. (getBodyElements): New method. (model): - Made protected from private. - * gnu/javax/swing/text/html/parser/htmlValidator.java - (openTag): Mind that current content model may be null. - (tagIsValidForContext): If the tag is PCDATA, and it is not - valid for context, but the paragraph (P) is valid for context, - suggest to insert the P tag here. - * javax/swing/text/html/HTMLDocument.java (HTMLReader.addContent, - HTMLReader.blockOpen, HTMLReader.blockClose): Do not handle - implied P tags here. - * javax/swing/text/html/HTMLEditorKit.java (getParser): - Get the custom parser, using HTML_401Swing.java DTD. - * javax/swing/text/html/parser/ParserDelegator.java: - Removed the obsolete note that HTMLEditorKit does not exist. - * gnu/javax/swing/text/html/parser/GnuParserDelegator.java, - gnu/javax/swing/text/html/parser/HTML_401Swing.java: New files. - -2006-07-16 Andrew John Hughes - - * javax/management/ListenerNotFoundException.java: - New file. - * javax/management/MBeanFeatureInfo.java: - (hashCode()): Use summation instead of multiplication - for consistency with other classes. - * javax/management/MBeanNotificationInfo.java, - * javax/management/Notification.java, - * javax/management/NotificationBroadcaster.java, - * javax/management/NotificationEmitter.java, - * javax/management/NotificationFilter.java, - * javax/management/NotificationListener.java: - New files. - * javax/management/OperationsException.java: - (serialVersionUID): Added. - -2006-07-16 Thomas Minor <1nocentrabidlamb@sexMagnet.com> - Mark Wielaard - - * java/io/PrintStream.java: Added four constructors, for File and - String describing a filename with or without explicit encoding. - -2006-07-16 Sven de Marothy - - * javax/rmi/ssl/SslRMIServerSocketFactory.java, - * javax/rmi/ssl/SslRMIClientSocketFactory.java: - New files. - -2006-07-16 Raif S. Naffah - - PR Classpath/28391 - * tools/gnu/classpath/tools/keytool/Command.java (setKeyStoreParams(5)): - New method. - (setKeyStoreParams(4)): Call the above method with false as its 1st arg. - (setProviderClassNameParam): Made private. - (setKeystoreTypeParam): Likewise. - (setKeyPasswordParam): Likewise - (setKeystorePasswordParam): Likewise. - (setKeystoreURLParam): Now accepts 2 more arguments; the first a boolean to - create or not the keystore if it's not there, and the second is the store's - password to process before loading the keystore. Amended the code - accordingly. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Call super's - setKeyStoreParams(5) with true as its first argument. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. - -2006-07-16 Sven de Marothy - - * java/util/UUID.java: New file. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java: New file. - * gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java: New file. - * gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (.run): Added mappings for newly - added Key Wrapping Algorithm SPIs. - -2006-07-16 Raif S. Naffah - - * javax/crypto/Cipher.java (getOutputSize): Allow SPIs initialised for key - wrapping/unwrapping to invoke their engineGetOutputSize. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/kwa/TripleDESKeyWrap.java (rnd): New field. - (engineInit): If a SecureRandom was specified then use it. - (nextRandomBytes): New method. - (engineWrap): Use above method. - * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java (prng): New field. - (getDefaultPRNG): New method. - * gnu/javax/crypto/kwa/AESKeyWrap.java (engineInit): Reset underlying AES. - * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java (SOURCE_OF_RANDOMNESS): - New constant. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/jce/params/BlockCipherParameters.java - (engineGetParameterSpec): Should be able to return an IvParameterSpec. - -2006-07-16 Raif S. Naffah - - * gnu/javax/crypto/cipher/DES.java (adjustParity): Index limit now takes - offset into consideration. - -2006-07-16 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): - Fixed comment. This functions now requires to be called - with gdk lock held, the comment states that. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache): - Introduces gdk locks around critical regions of code. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1suggest_1sync): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): - * native/jni/gconf-peer/Makefile.am: The GConf peer now depends on GTK. - -2006-07-15 Sven de Marothy - - * javax/swing/JFileChooser.java - Change default selection mode to FILES_ONLY. - * javax/swing/plaf/basic/BasicDirectoryModel.java - Document, fix selection mode filtering. - (renameFile): Implement - * javax/swing/plaf/basic/BasicFileChooserUI.java - (selectedDir): New field to handle selected directories, - disallow selecting of directories in FILES_ONLY mode. - * javax/swing/plaf/metal/MetalFileChooserUI.java: - (EditingActionListener.actionPerformed): - Stop editing on all actions (e.g. return-key press) - -2006-07-15 Mark Wielaard - - * doc/vmintegration.texinfo (gnu.java.lang.management): Change xref - to code. - (JNI Implementation): Mark JVMTI Implementation as next. - (JVMTI Implementation): Mark JNI Implementation as prev. - -2006-07-15 Mark Wielaard - - * include/Makefile.am: Remove - include/gnu_java_awt_peer_gtk_GdkTextLayout.h. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. - * native/jni/gtk-peer/Makefile.am: Remove - gnu_java_awt_peer_gtk_GdkTextLayout.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: - Removed. - - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Regenerated. - -2006-07-15 Mark Wielaard - - * autogen.sh: Recognize autoconf 2.60. - -2006-07-15 Keith Seitz - - * NEWS: Update for JVMTI and jvmti.h. - * doc/vmintegration.texinfo: Likewise. - * include/jvmti.h: New file. - -2006-07-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: - Removed C++ style comment. - -2006-07-15 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, - * java/awt/MouseInfo.java, - * java/awt/PointerInfo.java, - * java/awt/peer/MouseInfoPeer.java: - New files. - - * java/awt/Image.java - (accelerationPriority): New field. - (setAccelerationPriority, getAccelerationPriority): New methods.. - - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c, - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: - (getMouseCoordinates): New method. - - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (updateAlwaysOnTop): Remove stub overload. - - * gnu/java/awt/ClasspathToolkit.java, - * gnu/java/awt/peer/gtk/GtkToolkit.java, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: - (getMouseInfoPeer): New method. - (getMouseNumberOfButtons): New method. - - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (gtkWindowSetAlwaysOnTop): New method. - (updateAlwaysOnTop): Implement. - - * java/awt/Toolkit.java, - (getMouseInfoPeer): New method. - - * java/awt/Window.java - (alwaysOnTop): New field. - (isAlwaysOnTop, setAlwaysOnTop): New methods. - - * java/awt/peer/WindowPeer.java: Doc fix. - -2006-07-14 Sven de Marothy - - * java/awt/font/TextLayout.java: - (hitTestChar): Stub method. - * java/awt/font/TextMeasurer.java: - (getLayout): Throw exception on invalid argument. - -2006-07-14 Sven de Marothy - - * java/awt/image/DataBuffer.java - (DataBuffer): Call constructors in the correct order, - -2006-07-14 Mark Wielaard - - Revert to previous implementation. - * java/awt/GridBagLayout.java (AdjustForGravity): Only adjust for - constraints insets. - -2006-07-14 Roman Kennke - - * gnu/java/awt/peer/x/XToolkit.java - (XToolkit): Install properties to SystemProperties - rather than System, to avoid SecurityManager. - (getImage(String)): Return error image when string is invalid. - (createImage(URL)): Moved image loading to helper method. - (createImage(ImageProducer)): Implemented. - (createImage(byte[],int,int)): Implemented. - (createImage(InputStream)): New helper method. - -2006-07-14 Tania Bento - - * java/awt/FlowLayout.java - (setHgap): No Excpetion should be thrown if hgap has - a negative value. - (setVgap): No Exception should be thrown if vgap has - a negative value. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java: - Added API docs all over. - -2006-07-14 Matt Wringe - - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineInit): Throw InvalidAlgorithmParameterException - for invalid IVParameterSpec IV length. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createDataBuffer): Include dataBitOffset in calculating the size for - the data buffer. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (getSampleSize()): Return a copy of the array, - (getTransferType()): New method override. - -2006-07-14 Roman Kennke - - * java/awt/CardLayout.java - (show): Validate parent to make sure that the layout is - valid. - -2006-07-14 Roman Kennke - - * java/awt/Component.java - (enable): Added tree locking. - (disable): Added tree locking. - (show): Added tree locking. - (hide): Added tree locking. - (getLocationOnScreen): Added tree locking. - (reshape): Added tree locking. - (addHierarchyListener): Added tree locking. - (removeHierarchyListener): Added tree locking. - (addHierarchyBoundsListener): Added tree locking. - (removeHierarchyBoundsListener): Added tree locking. - (addNotify): Added tree locking. - (removeNotify): Added tree locking. - * java/awt/Container.java - (invalidateTree): Added tree locking. - (getAlignmentX): Added tree locking. - (getAlignmentY): Added tree locking. - (addNotify): Added tree locking. - (setComponentZOrder): Added tree locking. - (getComponentZOrder): Added tree locking. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createSubsetSampleModel): Restored argument check, but let null - through. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (createSubsetSampleModel): Removed argument check. - -2006-07-14 Roman Kennke - - * java/awt/Component.java - (numHierarchyListeners): New field. - (numHierarchyBoundsListeners): New field. - (show): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (hide): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (reshape): Fire hierarchy events here. Only fire component event - if there is actually a listener for it. - (addHierarchyListeners): Update listener counters. - (removeHierarchyListeners): Update listener counters. - (addHierarchyBoundsListeners): Update listener counters. - (removeHierarchyBoundsListeners): Update listener counters. - (fireHierarchyEvent): New helper method for firing hierarchy - events. - * java/awt/Container.java - (addImpl): Update listener counters. Fire hierarchy event. - (remove): Update listener counters. Fire hierarchy event. - (fireHierarchyEvent): New helper method for firing hierarchy - events. - (updateHierarchyListenerCount): New helper method for - updating the listener counters. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (equals): New method override, - (hashCode): Likewise. - -2006-07-14 David Gilbert - - * java/awt/image/MultiPixelPackedSampleModel.java - (MultiPixelPackedSampleModel(int, int, int, int, int, int)): - Corrected scanlineStride calculation. - -2006-07-14 Raif S. Naffah - - * gnu/java/security/Registry.java (KWA_PREFIX): New constant. - (AES_KWA): Likewise. - (AES128_KWA): Likewise. - (AES192_KWA): Likewise. - (AES256_KWA): Likewise. - (RIJNDAEL_KWA): Likewise. - (TRIPLEDES_KWA): Likewise. - (DESEDE_KWA): Likewise. - * gnu/javax/crypto/kwa/AESKeyWrap.java: New file - * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java: Likewise. - * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java: Likewise. - * gnu/javax/crypto/kwa/KeyUnwrappingException.java: Likewise. - * gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java: Likewise. - * gnu/javax/crypto/kwa/TripleDESKeyWrap.java: Likewise. - -2006-07-14 Raif S. Naffah - - * gnu/javax/crypto/pad/IPad.java: Updated class documentation. - (PADDING_BLOCK_SIZE): New constant. - (init(Map attributes)): New method. - * gnu/javax/crypto/pad/BasePad.java (init): New method. - -2006-07-14 Mario Torre - - * gnu/java/security/OID.java (OID): Private Constructor removed as - it is not needed anymore. - (clone): Fixed. Now uses super.clone instead of the private - constructor as per specification of clone method. - (serialVersionUID): added new field to allow serialization. - -2006-07-13 Sven de Marothy - - * gnu/javax/imageio/gif/GIFImageReader.java - (read): Remove old debugging trace. - -2006-07-13 Andreas Tobler - - PR awt/28369: - * gnu/java/awt/peer/gtk/CairoSurface.java (ColorModel): Swap red and - blue mask. - -2006-07-13 Roman Kennke - - * java/awt/Component.java - (DEFAULT_MAX_SIZE): New static constant. - (preferredSize): Return copy of the actual value computed - by new helper method. - (preferredSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (minimumSize): Return copy of the actual value computed - by new helper method. - (minimumSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (getMaximumSize): Return copy of the actual value computed - by new helper method. - (maximumSizeImpl): New helper method. Adds locking and - correct handling of cached value. - (invalidate): Correct handling of cached layout information. - Added locking. - * java/awt/Container.java - (preferredSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - (minimumSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - (getMaximumSize): Minimized locking. Corrected handling of cached - values. Return copy of real value. - -2006-07-13 Tania Bento - - * gnu/java/awt/peer/ClasspathFontPeer.java - (isLogicalFontName): Return true if name == default. - (logicalFontNameToFaceName): Check if name == default, - and if so, return "Dialog.plain". - (setStandardAttributes(String, Map)): If name == null, - it should be set to "Default", not "SansSerif". - * java/awt/Canvas.java - (generateName): Fixed documentation. - * java/awt/CheckboxMenuItem.java - Added static variable "next_chkmenuitem_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Choice.java - Added static variable "next_choice_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Cursor.java - (Cursor(int)): Set name depending on the type passed. - * java/awt/List.java - Added static variable "next_list_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/Menu.java - Added static variable "next_menu_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/MenuBar.java - Added static variable "next_menubar_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/MenuComponent.java - (getName): Before returning name, check if name == null - and name is not explicity set. If this is the case, - name will be generated. - (generateName): Added and implemented method. - * java/awt/MenuItem.java - Added static variable "next_menuitem_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/PopupMenu.java - Added static variable "next_popup_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/ScrollPane.java - Added static variable "next_scrollpane_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - * java/awt/TextField.java - Added static variable "next_textfield_number". - (generateName): Added and implemented method. - (getUniqueLong): Likewise. - - -2006-07-13 David Gilbert - - * java/awt/image/SinglePixelPackedSampleModel.java - (SinglePixelPackageSampleModel(int, int, int, int, int[])): Convert - mask correctly as an unsigned integer, - (equals): New method override. - -2006-07-13 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java (insertAfterEnd, - insertAfterStart, insertBeforeEnd): Removed stub markings. - -2006-07-13 David Gilbert - - * java/awt/image/BandedSampleModel.java: API doc updates and source - code reformatting, - * java/awt/image/SinglePixelPackageSampleModel.java: Likewise. - -2006-07-13 David Gilbert - - * java/awt/image/BandedSampleModel.java: API doc updates. - -2006-07-13 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java (HTMLReader.parseStack): - Made package private. (HTMLReader.charAttr, HTMLReader.charAttrStack, - HTMLReader.insertTag, HTMLReader.insertTagEncountered, - HTMLReader.pushDepth, HTMLReader.popDepth): Documented. - (HRMLReader.blockClose): Mind that parser stack may be empty. - (HTMLReader.handeComment, HTMLReader.handleStartTag, - HTMLReader.handleEndTag, HTMLReader.handleSimpleTag): Rewritten. - (HTMLReader.shouldInsert): New method. (getElement(String)): - Pass HTML.Atrribute.ID. (insertAfterEnd, insertBeforeEnd, - insertAfterStart, insertBeforeStart, setInnerHTML, setOuterHTML): - Implemented. (getInsertingReader): New method. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: - Added buttons to demonstrate the work of the insert actions. - -2006-07-13 David Gilbert - - * java/awt/image/SampleModel.java: API doc updates and additions, - * java/awt/image/SinglePixelPackedSampleModel.java: Likewise. - -2006-07-12 Sven de Marothy - - * javax/swing/JFileChooser.java: - (createDialog): Close operation should cause a cancel. - -2006-07-12 Francis Kung - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Organized imports. - (cairoArc): New native method. - (cairoRestore): New native method. - (cairoSave): New native method. - (cairoScale): New native method. - (createPath): New method to centralize code from draw and fill. - (draw): Modified to use createPath method. - (fill): Modified to use createPath method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added - function declarations. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoScale): New - method. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSave): New - method. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc): New - method. - -2006-07-12 Tom Tromey - - PR libgcj/27271: - * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte - on PartialInputStream. - (PartialInputStream.dummyByteCount): New field. - (PartialInputStream.fillBuffer): Handle dummy byte. - (PartialInputStream.read): Likewise. - (PartialInputStream.addDummyByte): New method. - -2006-07-12 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Fixed C++ style comment. - -2006-07-12 David Gilbert - - * java/util/Arrays.java - (asList): Updated API docs. - -2006-07-11 Robert Schuster - - Fixes PR28350. - * native/jni/gconf-peer/GConfNativePeer.c: - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - Changed if-expression. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Added check for _value not being NULL. - -2006-07-11 Roman Kennke - - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - (read): Use fd when local sockets are disabled to make the - compiler quite. - (write): Likewise. - -2006-07-11 Roman Kennke - - * java/awt/image/MultiPixelPackedSampleModel.java - (MultiPixelPackedSampleModel): Substract -1 so that the integer - division gets rounded up. - -2006-07-11 Andrew John Hughes - - * java/lang/management/ManageFactory.java: - (getMemoryManagerMXBeans()): Use addAll, not add. - -2006-07-11 Vivek Lakshmanan - - PR 27649: - * gnu/classpath/ByteArray.java: Removed (moved). - * gnu/java/security/util/ByteArray.java: New File. - * gnu/javax/crypto/RSACipherImpl.java: Reference - gnu.java.security.util.ByteArray instead of gnu.classpath.ByteArray. - -2006-07-11 Roman Kennke - - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c - (available): Pass fd as argument and avoid JNI class/field - lookup. - (read): Likewise. - (write): Likewise. - * include/gnu_java_net_local_LocalSocketImpl.h: - Regenerated. - * gnu/java/net/local/LocalSocketImpl.h - (available): Pass fd as argument and avoid JNI class/field - lookup. - (read): Likewise. - (write): Likewise. - -2006-07-11 Sven de Marothy - - * gnu/javax/sound/sampled/AU/AUReader.java: - Correct file extension from .as to .au. - -2006-07-11 Sven de Marothy - - * gnu/javax/sound/sampled/AU/AUReader.java: - New file. - * resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: - Added new provider. - -2006-07-11 David Gilbert - - * javax/swing/JTable.java - (setRowSelectionAllowed): Fire required PropertyChangeEvent, - (setColumnSelectionAllowed): Likewise. - -2006-07-10 Vivek Lakshmanan - - PR 27649: - * gnu/classpath/debug/Simple1LineFormatter.java: Use - AccessController.doPrivileged instead of SystemProperties.getProperty. - * gnu/classpath/debug/SystemLogger.java: Likewise. - * gnu/java/security/PolicyFile.java: Likewise and cut unnecessary - repeated getProperty calls for "file.seperator". - (refresh): Since already in privileged block, call System.getProperty - instead of SystemProperties.getProperty. - * gnu/java/security/key/dss/DSSKey.java - (toString): Use AccessController.doPrivileged instead of - SystemProperties.getProperty. - * gnu/java/security/key/dss/DSSPrivateKey.java - (toString): Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java - (toString): Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java - (toString): Likewise. - * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKey.java - (toString): Likewise. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java - (toString): Likewise. - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java - (toString): Likewise. - -2006-07-11 David Gilbert - - * javax/swing/AbstractButton.java - (disabledIcon): Fixed name (was 'disabeldIcon'), - (getDisabledIcon): Updated for corrected field name, - (setDisabledIcon): Fire a PropertyChangeEvent. - -2006-07-11 David Gilbert - - * javax/swing/DefaultBoundedRangeModel.java - (readObject): New private method, - (writeObject): Likewise. - -2006-07-11 David Gilbert - - * javax/swing/ButtonGroup.java - (add): Ignore null argument, - (remove): Ignore null argument. If removing selected button, clear the - sel field, - (findButton): Changed case for method name, and documented, - (setSelected): Updated for modification to findButton() method name, - (isSelected): Updated API docs. - -2006-07-11 David Gilbert - - * java/awt/image/BufferedImage.java - (BufferedImage(int, int, int)): Use correct color space for - TYPE_BYTE_GRAY and TYPE_USHORT_GRAY, and throw an - IllegalArgumentException for an unrecognised type. - -2006-07-10 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - (getMemoryPoolMXBeans): Genericized fully. - (getMemoryManagerMXBeans): Likewise. - (getGarbageCollectorMXBeans): Likewise. - -2006-07-10 Tom Tromey - - * java/lang/management/ManagementFactory.java (getMemoryPoolMXBeans): - Genericized. - (getMemoryManagerMXBeans): Likewise. - (getGarbageCollectorMXBeans): Likewise. - -2006-07-10 Mario Torre - - * java/awt/BasicStroke.java: Removed unused import. - * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. - * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. - * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. - -2006-07-10 Matt Wringe - - PR classpath/28212: - * javax/crypto/spec/SecretKeySpec.java - (equals): Check object type. - -2006-07-10 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/StructureToPassHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/StructureToReturnHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/TreeNodeHelper.java, - examples/gnu/classpath/examples/CORBA/SimpleCommunication/ - communication/WeThrowThisExceptionHelper.java, - gnu/CORBA/ForwardRequestHelper.java, - org/omg/CORBA/CompletionStatusHelper.java, - org/omg/CORBA/CurrentHelper.java, - org/omg/CORBA/DefinitionKindHelper.java, - org/omg/CORBA/IDLTypeHelper.java, - org/omg/CORBA/NameValuePairHelper.java, - org/omg/CORBA/ObjectHelper.java, - org/omg/CORBA/ParameterModeHelper.java, - org/omg/CORBA/PolicyErrorCodeHelper.java, - org/omg/CORBA/PolicyErrorHelper.java, - org/omg/CORBA/PolicyHelper.java, - org/omg/CORBA/PolicyListHelper.java, - org/omg/CORBA/PolicyTypeHelper.java, - org/omg/CORBA/ServiceDetailHelper.java, - org/omg/CORBA/ServiceInformationHelper.java, - org/omg/CORBA/SetOverrideTypeHelper.java, - org/omg/CORBA/StringValueHelper.java, - org/omg/CORBA/UnionMemberHelper.java, - org/omg/CORBA/UnknownUserExceptionHelper.java, - org/omg/CORBA/VisibilityHelper.java, - org/omg/CORBA/WStringValueHelper.java, - org/omg/CORBA/WrongTransactionHelper.java, - org/omg/CosNaming/BindingHelper.java, - org/omg/CosNaming/BindingIteratorHelper.java, - org/omg/CosNaming/BindingListHelper.java, - org/omg/CosNaming/BindingTypeHelper.java, - org/omg/CosNaming/NameComponentHelper.java, - org/omg/CosNaming/NameHelper.java, - org/omg/CosNaming/NamingContextExtHelper.java, - org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, - org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, - org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, - org/omg/CosNaming/NamingContextHelper.java, - org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, - org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java, - org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, - org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java, - org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, - org/omg/DynamicAny/AnySeqHelper.java, - org/omg/DynamicAny/DynAnyFactoryHelper.java, - org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, - org/omg/DynamicAny/DynAnyHelper.java, - org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, - org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, - org/omg/DynamicAny/DynAnySeqHelper.java, - org/omg/DynamicAny/DynArrayHelper.java, - org/omg/DynamicAny/DynEnumHelper.java, - org/omg/DynamicAny/DynFixedHelper.java, - org/omg/DynamicAny/DynSequenceHelper.java, - org/omg/DynamicAny/DynStructHelper.java, - org/omg/DynamicAny/DynUnionHelper.java, - org/omg/DynamicAny/DynValueHelper.java, - org/omg/DynamicAny/NameDynAnyPairHelper.java, - org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, - org/omg/DynamicAny/NameValuePairHelper.java, - org/omg/DynamicAny/NameValuePairSeqHelper.java, - org/omg/IOP/CodecFactoryHelper.java, - org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, - org/omg/IOP/CodecPackage/FormatMismatchHelper.java, - org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, - org/omg/IOP/CodecPackage/TypeMismatchHelper.java, - org/omg/IOP/ComponentIdHelper.java, - org/omg/IOP/IORHelper.java, - org/omg/IOP/MultipleComponentProfileHelper.java, - org/omg/IOP/ProfileIdHelper.java, - org/omg/IOP/ServiceContextHelper.java, - org/omg/IOP/ServiceContextListHelper.java, - org/omg/IOP/ServiceIdHelper.java, - org/omg/IOP/TaggedComponentHelper.java, - org/omg/IOP/TaggedProfileHelper.java, - org/omg/PortableInterceptor/AdapterManagerIdHelper.java, - org/omg/PortableInterceptor/AdapterNameHelper.java, - org/omg/PortableInterceptor/AdapterStateHelper.java, - org/omg/PortableInterceptor/CurrentHelper.java, - org/omg/PortableInterceptor/ForwardRequestHelper.java, - org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, - org/omg/PortableInterceptor/InvalidSlotHelper.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java, - org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, - org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, - org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java, - org/omg/PortableServer/CurrentHelper.java, - org/omg/PortableServer/CurrentPackage/NoContextHelper.java, - org/omg/PortableServer/ForwardRequestHelper.java, - org/omg/PortableServer/POAHelper.java, - org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, - org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, - org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, - org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java, - org/omg/PortableServer/POAPackage/NoServantHelper.java, - org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, - org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, - org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, - org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, - org/omg/PortableServer/ServantActivatorHelper.java, - org/omg/PortableServer/ServantLocatorHelper.java: Remove the - typecode caching and always use OrbRestricted.Singleton. - -2006-07-09 Tom Tromey - - * java/util/logging/LoggingMXBean.java (getLoggerNames): Genericized. - -2006-07-09 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasXRenderExtension): - New static final boolean field. - (getComponentGraphics): Use hasXRenderExtension. - (setClip): Override method for locking. - -2006-07-09 David Gilbert - - * javax/swing/AbstractButton.java - (setHorizontalTextPosition): Added check for illegal argument, - (setVerticalTextPosition): Likewise. - -2006-07-09 David Gilbert - - * javax/swing/Timer.java - (setDelay): Throw IllegalArgumentException for negative delay, - (setInitialDelay): Likewise, - * javax/swing/ToolTipManager.java - (setInitialDelay): Document IllegalArgumentException, - (setDismissDelay): Likewise, - (setReshowDelay): Likewise. - -2006-07-09 Andrew John Hughes - - * java/lang/management/MemoryUsage.java: - (from(javax.management.openmbean.CompositeData)): - Implemented. - * java/lang/management/ThreadInfo.java: - Changed to use open types throughout for the state. - (ThreadInfo(long,String,String,long,long,String, - long,String,long,long,boolean,StackTraceElement[])): - New constructor. - (checkAttribute(javax.management.openmbean.CompositeType, - String, javax.management.openmbean.OpenType)): New method. - (from(javax.management.openmbean.CompositeData)): - Implemented. - (getLockName()): Fixed to use new variable. - (getLockOwnerId()): Likewise. - (getLockOwnerName()): Likewise. - (getThreadId()): Likewise. - (getThreadName()): Likewise. - (getThreadState()): Likewise. - (toString()): Refactored to use new variables. - * javax/management/openmbean/ArrayType.java: - New file. - * javax/management/openmbean/CompositeType.java: - Variables should be transient, not volatile. - * javax/management/openmbean/OpenDataException.java: - (serialVersionUID): Added. - * javax/management/openmbean/SimpleType.java: - New file. - * javax/management/openmbean/TabularType.java - Variables should be transient, not volatile. - -2006-07-09 Tom Tromey - - * tools/.cvsignore: Updated for new tools. - -2006-07-09 Andrew John Hughes - - * javax/management/openmbean/CompositeData.java, - * javax/management/openmbean/CompositeType.java, - * javax/management/openmbean/OpenDataException.java, - * javax/management/openmbean/OpenType.java, - * javax/management/openmbean/TabularData.java, - * javax/management/openmbean/TabularType.java, - * javax/management/openmbean/package.html: - New files. - -2006-07-09 Mark Wielaard - - * gnu/javax/print/ipp/IppRequest.java: Remove double assignment. - * gnu/java/rmi/server/UnicastServerRef.java: Likewise. - * gnu/java/rmi/server/ActivatableServerRef.java: Likewise. - -2006-07-08 Anthony Green - - * gnu/javax/sound/sampled/WAV/WAVReader.java, - resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: - New files. - -2006-07-09 Mario Torre - - * native/jni/gconf-peer/GConfNativePeer.c: - Fixed indentation to be more compliant to the GNU coding - guidelines. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): - Added explicit test for errors in the GConf backend. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): - Added explicit test for errors in the GConf backend. - Fixed Segmentation Fault when non valid key names are given as input. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): - likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Added explicit test for errors in the GConf backend. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: - Added javadoc comments for all native methods. - (nodeExist): removed test to check for valid absolute path name - for nodes. - (startWatchingNode): likewise. - (stopWatchingNode): likewise. - (setString): likewise, plus fixed javadoc comments. - (unset): likekwise. - (getKey): likewise. - (getKeys): likewise, also fixed javadoc comments. - (getChildrenNodes): likewise. - * gnu/java/util/prefs/GConfBasedPreferences.java: - changed DEFAULT_USER_ROOT to /apps/classpath. - (constructor): Test to check for a valid absolute path for nodes - is now in the contructor for that node, instead of being on - each method of the backend. - (getGConfKey): removed empty new line. - -2006-07-08 Mark Wielaard - - * .classpath: Add gnu/java/awt/peer/x/ to excludes. - -2006-07-08 Audrius Meskauskas - - * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): - Handle the forced break in the same way as exceeding the - available row space. - * javax/swing/text/html/HRuleView.java: Rewritten. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement):Reserve two characters for - the special elements. - * examples/gnu/classpath/examples/swing/HtmlDemo.java - (text): Extended the HTML example to parse. - -2006-07-07 David Gilbert - - * javax/swing/AbstractButton.java - (setHorizontalAlignment): Check for illegal argument, - (setVerticalAlignment): Likewise. - -2006-07-07 Audrius Meskauskas - - * javax/swing/text/html/TableView.java - (getStyleSheet): New method. (RowView.getStyleSheet): - New method. - -2006-07-07 David Gilbert - - * javax/swing/AbstractButton.java - (setRolloverIcon): Call setRolloverEnabled(true), - (setRolloverSelectedIcon): Likewise. - -2006-07-07 David Gilbert - - * javax/swing/border/TitledBorder.java - (setTitlePosition): Added message to exception, - (setTitleJustification): Likewise. - -2006-07-07 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (createDefaultTheme): Corrected API docs, - (initComponentDefaults): Added entry for 'TitledBorder.border', - (getCurrentTheme): Initialise theme if it is null. - -2006-07-07 Roman Kennke - - * java/awt/Component.java - (isValid): Return false when component has no peer, - don't query the showing state. - -2006-07-07 Audrius Meskauskas - - * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): - Advance the offset also in the case of the enforced break. - -2006-07-07 David Gilbert - - * javax/swing/plaf/basic/BasicArrowButton.java - (MAXIMUM_SIZE): Removed field, - (MINIMUM_SIZE): Likewise, - (PREFERRED_SIZE): Likewise, - (getMaximumSize): Return new instance every time, - (getMinimumSize): Likewise, - (getPreferredSize): Likewise. - -2006-07-07 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Avoid array copying in - Container.getComponents(). - -2006-07-07 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenWithOverlap): Avoid array copying in - Container.getComponents(). - (paintChildrenOptimized): Avoid array copying in - Container.getComponents(). - (fireAncestorEvent): Avoid array copying in - Container.getComponents(). - (findOverlapFreeParent): Avoid array copying in - Container.getComponents(). - -2006-07-07 Matt Wringe - - * javax/crypto/spec/PBEKeySpec.java: Updated copyright year. - (passwordValid): New field. - (setPassword): New method. - (setSalt): Likewise. - (setIterationCount): Likewise. - (setKeyLength): Likewise. - (PBEKeySpec(char[])): Use new setter methods. - (PBEKeySpec(char[], byte[], int)): Likewise. - (PBEKeySpec(char[], byte[], int, int)): Likewise. - (clearPassword): Set passwordValid to false. - (getPassword): Check that clearPassword() was not called earlier. - Return a clone of the password. - (getSalt): Return a clone of the salt if it was not null. - -2006-07-07 Roman Kennke - - * java/awt/Component.java - (isValid): Always return false when component is - not showing. - (setFont): Always set font, even when setting - the same or equal font again. - -2006-07-07 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (CheckBoxMenuItemIcon): Implement UIResource, - (FileChooserDetailViewIcon): Likewise, - (FileChooserHomeFolderIcon): Likewise, - (FileChooserListViewIcon): Likewise, - (FileChooserNewFolderIcon): Likewise, - (FileChooserUpFolderIcon): Removed redundant 'implements', - (RadioButtonMenuItemIcon): Implement UIResource, - (HorizontalSliderThumbIcon): Likewise, - (InternalFrameCloseIcon): Likewise, - (InternalFrameDefaultMenuIcon): Likewise, - (InternalFrameAltMaximizeIcon): Likewise, - (InternalFrameMaximizeIcon): Likewise, - (InternalFrameMinimizeIcon): Likewise, - (VerticalSliderThumbIcon): Likewise, - (TreeHardDriveIcon): Likewise, - (TreeFloppyDriveIcon): Likewise, - (TreeComputerIcon): Likewise, - (horizontalSliderThumbIcon): New field, - (verticalSliderThumbIcon): New field, - (getHorizontalSliderThumbIcon): Cache icon, - (getVerticalSliderThumbIcon): Likewise. - -2006-07-06 Mark Wielaard - - * lib/Makefile.am (CLEANFILES): Add Makefile.deps. - (DISTCLEANFILES): Add standard.omit. - (clean-local): Remove Makefile.deps, only remove dirs. - -2006-07-06 Roman Kennke - - * java/awt/Component.java - (setFont): Only invalidate when component is valid. - * java/awt/Container.java - (setLayout): Only invalidate when component is valid. - -2006-07-06 Lillian Angel - - * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: - New class not fully implemented. - * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: - New class not fully implemented. - * nu/java/awt/peer/gtk/GtkToolkit.java: - Fixed Imports. - (createDragSourceContextPeer): Implemented. - (createDragGestureRecognizer): New function to override - java.awt.Toolkit.createDragGestureRecognizer. - * java/awt/dnd/DragSource.java - (NoDragGestureRecognizer): Removed inner class. - (createDragGestureRecognizer): Re-Implemented to - call Toolkit's createDragGestureRecognizer. - (createDefaultDragGestureRecognizer): Re-Implemented to - call Toolkit's createDragGestureRecognizer. - * java/awt/dnd/DropTarget.java - (addNotify): Added check to determine type of peer and call - addDropTarget. - (removeNotify): Added call to removeDropTarget. - -2006-07-06 Tom Tromey - - * gnu/java/util/prefs/EventDispatcher.java (dispatch): Notify - 'queue'. - (run): Wait on queue, not 'this'. - -2006-07-06 Lillian Angel - - * java/awt/dnd/DragSource.java - (startDrag): Implemented. Added comments describing - what the function should do. Removed FIXME. - -2006-07-06 Tania Bento - - * gnu/java/awt/Canvas.java - Added new private variable 'next_canvas_number'. - (generateName): Added. - (getUniqueLong): Added. - -2006-07-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Made public. - * javax/swing/text/html/StyleSheet.java (stringToColor): - Use CharacterAttributeTranslator.getColor(String) - -2006-07-06 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java: - (HTMLFactory.createElement): Update reference to the html table view. - * javax/swing/text/html/HTMLTableView.java: Removed (renamed). - * javax/swing/text/html/TableView.java: New file. - -2006-07-06 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java: - (HTMLFactory.createElement): Uncomment - code for BRView and HRuleView. - * javax/swing/text/html/BRView.java, - javax/swing/text/html/HRuleView.java: New files. - -2006-07-05 Andrew John Hughes - - * java/lang/Thread.java: - (getAllStackTraces(Map)): - Added generic type signature. - -2006-07-05 Andrew John Hughes - - * NEWS: Updated. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestGarbageCollector.java, - * examples/gnu/classpath/examples/management/TestMemoryManager.java, - * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, - * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, - * java/lang/management/GarbageCollectorMXBean.java: - New files. - * java/lang/management/ManagementFactory.java: - (getGarbageCollectorMXBeans()): Implemented. - (getMemoryManagerMXBeans()): Likewise. - * vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, - * vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java: - New files. - * vm/reference/java/lang/management/VMManagementFactory.java: - (getMemoryManagerNames()): Added. - (getGarbageCollectorNames()): Added. - -2006-07-05 Thomas Fitzsimmons - - * native/plugin/Makefile.am (nativeexeclib_LTLIBRARIES): Rename - from lib_LTLIBRARIES. - (install-plugin): Depend on nativeexeclib_LTLIBRARIES. - -2006-07-05 Lillian Angel - - * java/awt/dnd/DragGestureEvent.java: - Added new fields. - (DragGestureEvent): Initialized new fields, added to check and - added documentation. - (getSourceAsDragGestureRecognizer): Added documentation and - changed to use getSource. - (getComponent): Added documentation and fixed to return the proper - value. - (getDragSource): Likewise. - (getDragOrigin): Added documentation. - (iterator): Implemented and added documentation. - (toArray): Likewise. - (toArray): Likewise. - (getDragAction): Likewise. - (getTriggerEvent): Likewise. - (startDrag): Likewise. - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Added FIXME. - * java/awt/dnd/DragSource.java: - Added new field. - (DragSource): Set ds to be null if headless. - (getDefaultDragSource): Added documentation and implemented. - (isDragImageSupported): Marked as unimplemented. - (startDrag): Likewise. - (createDragSourceContext): Implemented. - (NoDragGestureRecognizer): Formatted inner class. - * java/awt/dnd/DropTarget.java - (stop): Marked as unimplemented. - (actionPerformed): Likewise. - (addDropTargetListener): Added code to throw exception. - (removeDropTargetListener): Added check, removed FIXME. - (dragEnter): Implemented. - (dragOver): Implemented. - (dropActionChanged): Implemented. - (dragExit): Implemented. - (drop): Implemented. - (addNotify): Implemented. - (removeNotify): Implemented. - (createDropTargetContext): Implemented. - (createDropTargetAutoScroller): Implemented. - (initializeAutoscrolling): Implemented. - (updateAutoscroll): Implemented. - (clearAutoscroll): Implemented. - * java/awt/dnd/DropTargetContext.java - (dropComplete): Implemented. - (acceptDrag): Implemented. - (rejectDrag): Implemented. - (acceptDrop): Implemented. - (rejectDrop): Implemented. - (getCurrentDataFlavors): Implemented. - (getTransferable): Partially implemented. - * java/awt/dnd/DropTargetDragEvent.java - (getDropAction): Uncommented correct code. - * java/awt/dnd/DropTargetDropEvent.java - (dropComplete) :Implemented. - * java/awt/dnd/InvalidDnDOperationException.java - (InvalidDnDOperationException): Added call to super. - -2006-07-05 Robert Schuster - - * javax/swing/plaf/basic/BasicArrowButton.java: - (paint): Removed getBounds() call, changed center point - calculation. - -2006-07-05 David Gilbert - - * javax/swing/InputMap.java - (inputMap): Don't initialize yet, - (InputMap): Removed TODO, - (get): Check for null inputMap, - (put): Return immediately for null keyStroke, check for null inputMap - and initialize if necessary, - (remove): Check for null inputMap, - (size): Likewise, - (clear): Likewise, - (keys): Likewise, - (allKeys): Likewise, - (writeObject): Removed, - (readObject): Removed. - -2006-07-05 David Gilbert - - * gnu/classpath/examples/swing/TabbedPaneDemo.java - (createContent): Use different labels for buttons. - -2006-07-04 Andrew John Hughes - - * NEWS: Updated. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestMemoryPool.java, - * gnu/java/lang/management/MemoryPoolMXBeanImpl.java: - New files. - * java/lang/management/ManagementFactory.java: - (getMemoryPoolMXBeans()): Implemented. - * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, - * vm/reference/java/lang/management/VMManagementFactory.java: - New files. - -2006-07-04 Lillian Angel - - * java/awt/dnd/DragSourceContext.java: - Removed FIXMEs from fields. - (DragSourceContext): Added code to initialize cursor and sourceActions. - (getDragSource): Added documentation. - (getComponent): Likewise. - (getTrigger): Likewise. - (getSourceActions): Added documentation and implemented. - (setCursor): Implemented. Added documentation. - (getCursor): Implemented. Added documentation. - (dragEnter): Added code to notify DragSource's listeners. - (dragOver): Likewise. - (dragExit): Likewise. - (dropActionChanged): Likewise. - (dragDropEnd): Likewise. - (dragMouseMoved): Implemented. - (getTransferable): Added API documentation. - (updateCurrentCursor): Added API documentation and partially implemented. - -2006-07-04 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (KeyHandler): Implemented. - -2006-07-04 Lillian Angel - - * java/awt/dnd/DragSourceContext.java - (DragSourceContext): Implemented fully. Fixed API docs. - (transferablesFlavorsChanged): Implemented. - (dragEnter): Implemented. - (dragOver): Implemented. - (dragExit): Implemented. - (dropActionChanged): Implemented. - (dragDropEnd): Implemented. - -2006-07-04 Lillian Angel - - * javax/swing/plaf/basic/BasicOptionPaneUI.java: - Fixed name of constant. - (getIconWidth): Changed name of constant returned. - (getIconHeight): Likewise. - (paint): Likewise. - (createSeparator): Marked as unimplemented. - * javax/swing/plaf/basic/BasicTableUI.java - (focusGained): Marked as unimplemented. - (focusLost): Marked as unimplemented. - (mouseEntered): Likewise. - (mouseMoved): Likewise. - (uninstallDefaults): Likewise. - * javax/swing/plaf/basic/BasicToolBarUI.java - (mouseClicked): Changed comment. - (mouseEntered): Likewise. - (mouseExited): Likewise. - (mouseMoved): Likewise. - (setOrientation): Implemented. - (ToolBarFocusListener): Marked as unimplemented. - (focusGained): Marked as unimplemented. - (focusLost): Marked as unimplemented. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (isLocationInExpandControl): - Mind the effect of the root visibility on the position of the control. - Quess icon width 18. (paintVerticalPartOfLeg): Do no paint the - vertical line over first level nodes. - -2006-07-04 Lillian Angel - - * javax/swing/plaf/basic/BasicMenuUI.java - (installKeyboardActions): Implemented to call super. Nothing else - needs to be done here. - (setupPostTimer): Marked as unimplemented. - (uninstallKeyboardActions): Implemented to call super. Nothing else - needs to be done here. - (mouseMoved): Removed TODO. Nothing to be done here. - (ChangeHandler): Implemented. - (menuDragMouseExited): Removed TODO. Nothing to be done here. - (menuDragMouseReleased): Removed TODO. Nothing to be done here. - (menuKeyReleased): Removed TODO. Nothing to be done here. - (menuKeyTyped): Marked as unimplemented. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java - (getDefaults): Set hash color to black. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Set hash color to grey blue. - * javax/swing/plaf/basic/BasicTreeUI.java - (instellDefaults): Set hash color. - * javax/swing/plaf/metal/MetalIconFactory.java - (TreeControlIcon.paint): Rewritten. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Always cancel the current editing session before doing anything else, - return immediately if this fails. - (TreeHomeAction): Ensure that the lead selection path is visible after - the action is performed. TreeIncrementAction: Likewise. TreeToggleAction: - Likewise. TreeTraverseAction: Likewise. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Returned back the code to handle the start of the click-pause-click - editing initiation, explained about this code. - (TreeStartEditingAction): New inner class. - (stopEditingInCompleteEditing): Explained about this field. - (completeEditing(boolean, boolean, boolean): Only return early - if there is no current editing session. - (createDefaultActions): Install TreeStartEditingAction and - TreeCancelEditingAction. - -2006-07-04 Mario Torre - - * configure.ac: Added new option --enable-default-preferences-peer - to pass user specified default preference backend. - If the GConf peer is built, GConf become the default backend. - * resource/META-INF/services/java.util.prefs.PreferencesFactory.in: - new file. - * lib/Makefile.am: excludes files terminating in 'in' from - the metafiles list. - * lib/copy-vmresources.sh.in: excludes files terminating in 'in' - from copy into META-INF. - * java/util/prefs/Preferences.java: added two new import - classes gnu.classpath.ServiceFactory and java.util.Iterator. - (getFactory): Now try to check for - a system defined default preference backend before to fall back on - FileBasedPreference. - -2006-07-04 Audrius Meskauskas - - PR 28061 - * javax/swing/JTree.java (COLLAPSED): Initialise to Boolean.FALSE. - (EXPANDED): Initialise to Boolean.TRUE. - * javax/swing/plaf/basic/BasicTreeUI.java (completeUIInstall): - First configure layout cache and then set the assigned value - as row mapper. Set the root visibility property. - (toggleExpandState): Obtains expansion state from the layout cache. - -2006-07-03 Andrew John Hughes - - * java/lang/management/MemoryPoolMXBean.java: - New file. - -2006-07-03 Raif S. Naffah - - * gnu/javax/crypto/RSACipherImpl.java: Source formatting. - -2006-07-03 Raif S. Naffah - - * gnu/javax/crypto/sasl/anonymous/AnonymousClient.java: Source formatting. - * gnu/javax/crypto/sasl/anonymous/AnonymousServer.java: Likewise. - * gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Client.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Server.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/CramMD5Util.java: Likewise. - * gnu/javax/crypto/sasl/crammd5/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainClient.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainRegistry.java: Likewise. - * gnu/javax/crypto/sasl/plain/PlainServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/CALG.java: Likewise. - * gnu/javax/crypto/sasl/srp/ClientStore.java: Likewise. - * gnu/javax/crypto/sasl/srp/IALG.java: Likewise. - * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. - * gnu/javax/crypto/sasl/srp/PasswordFile.java: Likewise. - * gnu/javax/crypto/sasl/srp/SecurityContext.java: Likewise. - * gnu/javax/crypto/sasl/srp/ServerStore.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRP.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPRegistry.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/StoreEntry.java: Likewise. - * gnu/javax/crypto/sasl/AuthInfo.java: Likewise. - * gnu/javax/crypto/sasl/AuthInfoProviderFactory.java: Likewise. - * gnu/javax/crypto/sasl/ClientFactory.java: Likewise. - * gnu/javax/crypto/sasl/ClientMechanism.java: Likewise. - * gnu/javax/crypto/sasl/ConfidentialityException.java: Likewise. - * gnu/javax/crypto/sasl/IAuthInfoProvider.java: Likewise. - * gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java: Likewise. - * gnu/javax/crypto/sasl/IllegalMechanismStateException.java: Likewise. - * gnu/javax/crypto/sasl/InputBuffer.java: Likewise. - * gnu/javax/crypto/sasl/IntegrityException.java: Likewise. - * gnu/javax/crypto/sasl/NoSuchMechanismException.java: Likewise. - * gnu/javax/crypto/sasl/NoSuchUserException.java: Likewise. - * gnu/javax/crypto/sasl/OutputBuffer.java: Likewise. - * gnu/javax/crypto/sasl/SaslEncodingException.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslUtil.java: Likewise. - * gnu/javax/crypto/sasl/ServerFactory.java: Likewise. - * gnu/javax/crypto/sasl/ServerMechanism.java: Likewise. - * gnu/javax/crypto/sasl/UserAlreadyExistsException.java: Likewise. - -2006-07-02 Anthony Green - - * gnu/javax/sound/midi/file/MidiFileWriter.java (writeTrack): Make - sure that every track written ends with an End Of Track meta - message. - -2006-07-02 Andrew John Hughes - - * java/lang/management/MemoryUsage.java: - (toString()): Fix missing MB for maximum memory usage. - -2006-07-02 Andrew John Hughes - - * NEWS: - Updated to include VMCompilationMXBeanImpl. - * doc/vmintegration.texinfo: - Likewise, along with update to VMMemoryMXBeanImpl - as below. - * examples/gnu/classpath/examples/management/TestCompilation.java, - * gnu/java/lang/management/CompilationMXBeanImpl.java, - * java/lang/management/CompilationMXBeanImpl.java: - New files. - * java/lang/management/ManagementFactory.java: - (getCompilationMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java: - New file. - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - (getHeapMemoryUsage()): Added default implementation. - -2006-07-02 Anthony Green - - * NEWS: Mention MIDI file reader/writer providers. - -2006-07-02 Anthony Green - - * resource/META-INF/services/javax.sound.midi.spi.MidiFileWriter, - gnu/javax/sound/midi/file/MidiFileWriter.java, - gnu/javax/sound/midi/file/MidiDataOutputStream.java: New files. - -2006-07-01 Andrew John Hughes - - * NEWS: - Updated to include VMMemoryMXBeanImpl. - * doc/vmintegration.texinfo: Likewise. - * examples/gnu/classpath/examples/management/TestMemory.java: - New file. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: - Remove redundant import. - * gnu/java/lang/management/MemoryMXBeanImpl.java: - New file. - * gnu/java/lang/management/ThreadMXBeanImpl.java: - Remove redundant import. - * java/lang/management/ManagementFactory.java: - (getMemoryMXBean()): Implemented. - * java/lang/management/MemoryMXBean.java, - * java/lang/management/MemoryUsage.java: - New files. - * java/lang/management/ThreadInfo.java: - (toString()): Updated documentation. - * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: - New file. - -2006-07-01 Anthony Green - - * resource/META-INF/services/javax.sound.midi.spi.MidiFileReader, - gnu/javax/sound/midi/file/MidiFileReader.java, - gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java, - gnu/javax/sound/midi/file/MidiDataInputStream.java: New files. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/prng/ARCFour.java: Source formatting. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/prng/Fortuna.java: Likewise. - * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. - * gnu/javax/crypto/prng/PBKDF2.java: Likewise. - * gnu/javax/crypto/prng/PRNGFactory.java: Likewise. - * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/pad/BasePad.java: Source formatting. - * gnu/javax/crypto/pad/IPad.java: Likewise. - * gnu/javax/crypto/pad/PadFactory.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/SSL3.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/pad/TLS1.java: Likewise. - * gnu/javax/crypto/pad/WrongPaddingException.java: Likewise. - -2006-07-01 Anthony Green - - * javax/sound/midi/SysexMessage.java (setMessage): Fix sysex - status byte test. - (setMessage): Fix it again, in a different setMessage method. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/mode/BaseMode.java: Source formatting. - * gnu/javax/crypto/mode/CBC.java: Likewise. - * gnu/javax/crypto/mode/CFB.java: Likewise. - * gnu/javax/crypto/mode/CTR.java: Likewise. - * gnu/javax/crypto/mode/EAX.java: Likewise. - * gnu/javax/crypto/mode/ECB.java: Likewise. - * gnu/javax/crypto/mode/IAuthenticatedMode.java: Likewise. - * gnu/javax/crypto/mode/ICM.java: Likewise. - * gnu/javax/crypto/mode/IMode.java: Likewise. - * gnu/javax/crypto/mode/ModeFactory.java: Likewise. - * gnu/javax/crypto/mode/OFB.java: Likewise. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/mac/BaseMac.java: Source formatting. - * gnu/javax/crypto/mac/HMac.java: Likewise. - * gnu/javax/crypto/mac/HMacFactory.java: Likewise. - * gnu/javax/crypto/mac/IMac.java: Likewise. - * gnu/javax/crypto/mac/MacFactory.java: Likewise. - * gnu/javax/crypto/mac/MacInputStream.java: Likewise. - * gnu/javax/crypto/mac/MacOutputStream.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/mac/TMMH16.java: Likewise. - * gnu/javax/crypto/mac/UHash32.java: Likewise. - * gnu/javax/crypto/mac/UMac32.java: Likewise. - -2006-07-01 Anthony Green - - * javax/sound/midi/Track.java (vector, eventSet): Initialize. - -2006-07-02 Raif S. Naffah - - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Source formatting. - * gnu/javax/crypto/keyring/BaseKeyring.java: Likewise. - * gnu/javax/crypto/keyring/BinaryDataEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. - * gnu/javax/crypto/keyring/CompressedEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/IPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/MalformedKeyringException.java: Likewise. - * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/MeteredInputStream.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PrimitiveEntry.java: Likewise. - * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Likewise. - * gnu/javax/crypto/keyring/Properties.java: Likewise. - * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. - -2006-07-01 David Gilbert - - * javax/swing/AbstractCellEditor.java: Source code formatting, - * javax/swing/AbstractSpinnerModel.java: Likewise, - * javax/swing/Box.java: Likewise, - * javax/swing/BoxLayout.java: Likewise, - * javax/swing/DefaultListModel.java: Likewise, - * javax/swing/GrayFilter.java: Likewise, - * javax/swing/LookAndFeel.java: Likewise, - * javax/swing/ProgressMonitor.java: Likewise, - * javax/swing/ProgressMonitorInputStream.java: Likewise, - * javax/swing/ScrollPaneLayout.java: Likewise, - * javax/swing/SpringLayout.java: Likewise, - * javax/swing/event/EventListenerList.java: Likewise, - * javax/swing/event/MenuEvent.java: Likewise, - * javax/swing/event/TreeExpansionListener.java: Likewise. - -2006-07-01 Andrew John Hughes - - * NEWS: - Mention threading bean and getState(). - * doc/vmintegration.texinfo: - Update documentation for threading bean and new - method of VMThread. - -2006-07-01 Andrew John Hughes - - * examples/gnu/classpath/examples/management/TestClassLoading.java, - * examples/gnu/classpath/examples/management/TestOS.java, - * examples/gnu/classpath/examples/management/TestRuntime.java, - * examples/gnu/classpath/examples/management/TestThread.java: - New files. - -2006-07-01 Jeroen Frijters - - * java/lang/ThreadGroup.java - (getThreadFromId, getThreadFromIdImpl): New methods. - -2006-07-01 Jeroen Frijters - - * java/lang/Thread.java: - Make thread IDs start from 1 in a more efficient way. - -2006-07-01 Andrew John Hughes - - * java/lang/Thread.java: - Make thread IDs start from 1. - -2006-07-01 Andrew John Hughes - - * gnu/java/lang/management/BeanImpl.java: - New superclass for all bean implementations. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: - Extend BeanImpl and call permission code there. - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: - Extend BeanImpl. - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - Extend BeanImpl and call permission code there. - * gnu/java/lang/management/ThreadMXBeanImpl.java: - New file. - * java/lang/management/ManagementFactory.java: - (getThreadMXBean()): Implemented. - * java/lang/management/ThreadInfo.java: - (ThreadInfo(Thread,int)): Replaced... - (ThreadInfo(Thread,long,long,Object,Thread,long,long, - boolean, boolean, StackTraceElement[])): with this. - (getBlockedCount()): Refactored to use local variables. - (getBlockedTime()): Likewise. - (getLockName()): Likewise. - (getLockOwnerId()): Likewise. - (getLockOwnerName()): Likewise. - (getStackTrace()): Likewise. - (getWaitedCount()): Likewise. - (getWaitedTime()): Likewise. - (isInNative()): Likewise. - (isSuspended()): Likewise. - (toString()): Changed to use new local variables. - * java/lang/management/ThreadMXBean.java: - (getThreadInfo(long, int)): Corrected documentation. - (getThreadInfo(long[], int)): Likewise. - * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: - New file. - * vm/reference/java/lang/management/VMThreadInfo.java: - Removed. - -2006-07-01 Raif S. Naffah - - * gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java: Source formatting. - * gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java: Likewise. - * gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java: Likewise. - * gnu/javax/crypto/key/dh/DiffieHellmanSender.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalReceiver.java: Likewise. - * gnu/javax/crypto/key/dh/ElGamalSender.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKey.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java: Likewise. - * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6Host.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6SaslClient.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6SaslServer.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6TLSClient.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6TLSServer.java: Likewise. - * gnu/javax/crypto/key/srp6/SRP6User.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKey.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPPrivateKey.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPPublicKey.java: Likewise. - * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. - * gnu/javax/crypto/key/GnuSecretKey.java: Likewise. - * gnu/javax/crypto/key/IKeyAgreementParty.java: Likewise. - * gnu/javax/crypto/key/IncomingMessage.java: Likewise. - * gnu/javax/crypto/key/KeyAgreementException.java: Likewise. - * gnu/javax/crypto/key/KeyAgreementFactory.java: Likewise. - * gnu/javax/crypto/key/OutgoingMessage.java: Likewise. - -2006-07-01 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (transform): Make field protected. - (getDestinationRaster): Provide default implementation for - previously abstract method. - -2006-06-30 Tania Bento - - * java/awt/TextArea.java - (TextArea(String, int, int, int)): No longer throws - IllegalArgumentException if rows, columns, or scrollbarVisibility - values are invalid. - (TextArea(String, int, int, int)): If rows or columns are < 0, - they get set to 0. If scrollbarVisibility is < 0 or > 4, it - gets set to the default value of 0 (SCROLLBARS_BOTH). - (appendText): Added case when peer = null. - (insertText): Added case when peer == null. - (replaceText): Added case when peer == null. - * java/awt/TextComponent.java - (TextComponent(String)): If text == null, set it to "". - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Added synchronized block around groupMap.get calls. - (setCheckboxGroup): Likewise. - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Changed to be non-synchronized. - (setLabel): Likewise. - (setCheckboxGroup): Likewise. - (addToGroupMap): Likewise. Added synchronized block around - code. - (dispose): Changed to be non-synchronized. - -2006-06-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: - Changed all return values of native functions to void. - (create): Changed function to be synchronized. Removed - call to put value in groupMap, this is now done from - the native code. - (setState): Changed function to be synchronized. - (setLabel): Changed function to be synchronized. - (setCheckboxGroup): Changed function to be synchronized. Removed - call to put value in groupMap, this is now done from - the native code. - (postItemEvent): Changed function to be synchronized. - (addToGroupMap): New function. Called by native code to add - new value to the group. - (dispose): Changed function to be synchronized. - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Updated - all functions. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (cp_gtk_checkbox_init_jni): Added code to link to - java function. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): - Changed return value to void. Added call - to java function to set pointer in groupMap. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addtoGroup): Likewise. Also, - changed check to an assert. Also, removed call to set/del pointer. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): - Likewise. Also, added check to determine if native_group should be - set to NULL. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): Likewise. - -2006-06-30 Sven de Marothy - - * gnu/java/awt/ClasspathToolkit.java, - * gnu/java/awt/peer/x/XToolkit.java, - * gnu/java/awt/peer/qt/QtToolkit.java, - * gnu/java/awt/peer/gtk/GtkToolkit.java, - Remove ClasspathTextLayoutPeer. - * gnu/java/awt/peer/gtk/GdkTextLayout.java, - * gnu/java/awt/peer/ClasspathTextLayoutPeer: - Files removed. - -2006-06-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (drawGlyphVector): Don't draw empty vectors. - -2006-06-30 Lillian Angel - Tom Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed class. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: - Added current_group, groupMap fields. Added definitions for - new native functions. - (create): Removed FIXME. Added code to create the check button or - radio button when appropriate. Updated groupMap to contain - pointer to the newly created group. - (setCheckboxGroup): Added code to handle all cases. Removing - a button from a group, adding a button to a group, or changing the - group of a button. - (dispose): Changed to call super. - * include/Makefile.am: Removed reference to - gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h. - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed file. - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Added definitions - for new functions. - * native/jni/gtk-peer/Makefile.am: Removed reference to - gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: - Removed file. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_combobox_get_widget): - Renamed to checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): - Changed to use checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup): - Removed. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkWidgetModifyFont): - Changed to use checkbox_get_widget. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel): - Likewise. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createCheckButton): - New function. Creates checkbutton without a group. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): - Creates a radio button in a group, using groupPointer. If groupPointer - is 0, then a new group is created. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addToGroup): Adds the - check button to a group, using groupPointer. A radio button is created - in its place. If groupPointer is 0, then a new group is created. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): The - radio button is removed from the group. A check button is created in - its place. - (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): The - radio button is moved to a new group. - -2006-06-30 Mark Wielaard - - * configure.ac: Move standard.omit creation after dirs are created. - Cat standard.omit.in from srcdir. Make exclude regex more explicit. - * lib/Makefile.am (EXTRA_DIST): Add standard.omit.in. - (clean-local): Remove standard.omit. - * lib/gen-classlist.sh.in: Use omit file in build dir. - * lib/standard.omit.in: Make exclude regex more explicit. - -2006-06-30 Roman Kennke - - * lib/Makefile.am: Added Escher dir/jar to classpath when - requested. - * configure.ac: Moved handling of standard.omit to a place - where it actually gets executed. - -2006-06-30 David Gilbert - - * java/awt/TextComponent.java: Reformatted source code, - * java/awt/TextField.java: Likewise. - -2006-06-29 Jeroen Frijters - - * java/lang/Thread.java: - (getState()): Handle case of no VMThread - correctly. - -2006-06-29 Andrew John Hughes - - * java/lang/Thread.java, - * java/lang/VMThread.java: - Reverted patch from 2006-06-28. - -2006-06-29 Roman Kennke - - * gnu/java/awt/peer/x/GLGraphics.java, - * gnu/java/awt/peer/x/ImageConverter.java, - * gnu/java/awt/peer/x/KeyboardMapping.java, - * gnu/java/awt/peer/x/XEventPump.java, - * gnu/java/awt/peer/x/XFontPeer.java, - * gnu/java/awt/peer/x/XFontPeer2.java, - * gnu/java/awt/peer/x/XFramePeer.java, - * gnu/java/awt/peer/x/XGraphics.java, - * gnu/java/awt/peer/x/XGraphics2D.java, - * gnu/java/awt/peer/x/XGraphicsConfiguration.java, - * gnu/java/awt/peer/x/XGraphicsDevice.java, - * gnu/java/awt/peer/x/XGraphicsEnvironment.java, - * gnu/java/awt/peer/x/XImage.java, - * gnu/java/awt/peer/x/XLightweightPeer.java, - * gnu/java/awt/peer/x/XToolkit.java, - * gnu/java/awt/peer/x/XWindowPeer.java, - * gnu/java/awt/peer/x/fonts.properties: New files. - * lib/standard.omit: Removed. - * lib/standard.omit.in: Added. - * configure.ac: Added configure option --with-escher. Added some - configury for omitting gnu.java.awt.peer.x package when - this option is not specified. - -2006-06-29 David Gilbert - - * javax/swing/JComponent.java - (JComponent()): Initialize the locale here, not the default locale, - (getDefaultLocale): If null, return Locale.getDefault(), - (setDefaultLocale): Added API docs. - -2006-06-29 Tania Bento - - * java/awt/Container.java - (applyComponentOrientation): Implemented method. - -2006-06-29 Gary Benson - - * java/io/File.java (listRoots): Merge security checks from libgcj. - -2006-06-29 Gary Benson - - * java/io/FilePermission.java (implies): Work when path is "/". - -2006-06-28 Andrew John Hughes - - * java/lang/Thread.java: - (Thread(ThreadGroup,Runnable,String,long)): Update - state. - (Thread(VMThread,String,int,boolean)): Likewise. - (join(long,int)): Likewise. - (resume()): Likewise. - (sleep(long,int)): Likewise. - (start()): Likewise. - (stop()): Likewise. - (suspend()): Likewise. - (die()): Likewise. - (getState()): Return either state or use VMThread. - * java/lang/VMThread.java: - (getState()): Added default implementation to return - thread.state - -2006-06-28 Andreas Tobler - - * gnu/java/awt/peer/gtk/CairoSurface.java: Swap the data from the - GdkPixbuf correctly on big endian systems. Fix a typo in the little - endian swapping code. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Swap the pixeldata - without alpha information correctly on big endian systems. - -2006-06-28 Roman Kennke - - * gnu/java/net/local/LocalSocket.java - (setSoTimeout): Don't throw exception and ignore request. - (getSoTimeout): Don't throw exception and always return 0. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (getRegisteredKeyStrokes): Implemented. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (verifyInputWhenFocusTarget): Initialise to true. - -2006-06-28 David Gilbert - - * java/beans/VetoableChangeSupport.java - (addVetoableChangeListener(VetoableChangeListener)): Do nothing for - null listener, - (addVetoableChangeListener(String, VetoableChangeListener)): Do nothing - for null property name and/or listener, - * javax/swing/JComponent.java - (getListeners): Handle VetoableChangeListener.class as a special case, - (getVetoableChangeListeners): Fetch these from the - vetoableChangeSupport object. - -2006-06-28 David Gilbert - - * javax/swing/JComponent.java - (componentPopupMenu): New field, - (inheritsPopupMenu): New field, - (getInheritsPopupMenu): Implemented, - (setInheritsPopupMenu): Likewise, - (getComponentPopupMenu): Likewise, - (setComponentPopupMenu): Likewise, - * javax/swing/JLabel.java - (JLabel(String, Icon, int)): Set inheritsPopupMenu to true. - -2006-06-28 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/GnuDHKey.java (str): New field. - (toString): New method. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java (encodePrivateKey): - Handle case when Q is null. - (decodePrivateKey): Likewise. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java (encodePublicKey): - Likewise. - (decodePublicKey): Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added AlgorithmParameters - aliases for all block ciphers. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java (result): Changed to byte[]. - (engineDoPhase): Compute fully the shared secret. - (checkState): New method. - (reset): Likewise. - (engineGenerateSecret()): Reset key-agreement before returning. - (engineGenerateSecret(byte[],int)): Check for short-buffer. - Reset key-agreement before returning. - (engineGenerateSecret(String)): Reset key-agreement before returning. - (engineInit(Key,SecureRandom)): Call reset() before returning. - * gnu/javax/crypto/jce/params/BlockCipherParameters.java (log): New field. - (engineInit): Replace printing to System.out with conditional logging. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java (engineInitHandler): - When the key-size is not specified, attempt best effort to find a suitable - value among those advertised by the cipher before setting it to the length - of provided key material. - -2006-06-28 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (changeEvent): Don't initialize yet, removed FIXME, - (fireColumnModelChanged): Initialize changeEvent if necessary. - -2006-06-27 Andrew John Hughes - - * java/lang/Thread.java: - (getAllStackTraces()): Implemented. - (getStackTrace()): Likewise. - -2006-06-27 Tania Bento - - * java/awt/Component.java - (setComponentOrientation): NPE should not be thrown. - -2006-06-27 Tom Tromey - - * configure.ac: Create gjar, gnative2ascii, gserialver. - * tools/gappletviewer.in: Quote $@. - * tools/gkeytool.in: Likewise. - * tools/gjarsigner.in: Likewise. - * tools/gjar.in: New file. - * tools/gnative2ascii.in: Likewise. - * tools/gserialver.in: Likewise. - * tools/Makefile.am (bin_PROGRAMS): Added gjar, gnative2ascii, - gserialver. - (bin_SCRIPTS): Likewise. - -2006-06-27 Andrew John Hughes - - * java/lang/management/ThreadMXBean.java: - (getThreadInfo(long[])): Corrected return type. - (getThreadInfo(long[], int)): Likewise. - -2006-06-27 Mark Wielaard - - * java/awt/datatransfer/Clipboard.java (addFlavorListener): Do - nothing when listener is null. - (removeFlavorListener): Likewise. - - * java/awt/datatransfer/DataFlavor.java - (getRepresentationClassFromMime): Renamed to - getRepresentationClassFromMimeThrows. - (isRepresentationClassInputStream): Use Class.isAssignableFrom(). - (isRepresentationClassSerializable): Likewise. - (isFlavorJavaFileListType): Likewise and check primary and - subtype. - (getParameter): Parameters are separated by semi-colons. - (DataFlavor(Class,String,String)): Do some sanity checks. - (DataFlavor(String,String,ClassLoader)): Call - getRepresentationClassFromMimeThrows. - (DataFlavor(String)): Likewise. - (equals(DataFlavor)): Special case primary type text and charset - parameter. - -2006-06-27 David Gilbert - - * java/awt/Component.java - (setName): Fire required PropertyChangeEvent, - * java/awt/Label.java - (getText): Removed redundant brackets, - (generateName): New method (override), - (nextLabelNumber): New field, - (getUniqueLong): New method. - -2006-06-27 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (createImage): Delegate this to the parent. - (handleEvent): Only handle PAINT/UPDATE events when the - component is actually showing. - (hide): Repaint the parent after hiding a component. - (prepareImage): Have only one return point. - (setVisible): Delegate to show() and hide(). - (createVolatileImage): Added null check to avoid NPE. - -2006-06-27 David Gilbert - - * java/awt/Label.java: Reformatted source code. - -2006-06-27 Roman Kennke - - * java/awt/image/BufferedImage.java - (getSource): Use a fixed DirectColorModel to deliver the - RGB pixels to the ImageConsumer. - -2006-06-27 David Gilbert - - * java/awt/Point.java - (setLocation(double, double)): Round to nearest integer coordinates. - -2006-06-27 David Gilbert - - * java/awt/Component.java - (minSizeSet): New field, - (maxSize): Likewise, - (maxSizeSet): Likewise, - (isMaximumSizeSet): Implemented, - (isMinimumSizeSet): Likewise, - (isPreferredSizeSet): Likewise, - (setMaximumSize): Likewise, - (setMinimumSize): Likewise, - (setPreferredSize): Likewise. - -2006-06-27 Roman Kennke - - * javax/imageio/spi/IIORegistry.java - (IIORegistry): Added BMP codec. - -2006-06-27 Mark Wielaard - - * javax/swing/JComponent.java - (firePropertyChange(String,char,char)): New override method. - -2006-06-26 Andrew John Hughes - - * java/lang/Thread.java: - (getState()): New method. - * java/lang/management/ClassLoadingMXBean.java: - Corrected class documentation. - * java/lang/management/ManagementFactory.java: - Added new temporary marked stub to get thread bean. - * java/lang/management/OperatingSystemMXBean.java: - Corrected class documentation. - * java/lang/management/RuntimeMXBean.java: - Corrected class documentation. - * java/lang/management/ThreadInfo.java, - * java/lang/management/ThreadMXBean.java: - New classes. - * vm/reference/java/lang/VMThread.java: - (getState()): New method. - * vm/reference/java/lang/management/VMThreadInfo.java: - New VM class. - -2006-06-26 Sven de Marothy - - * gnu/javax/imageio/gif/GIFFile.java - * gnu/javax/imageio/gif/GIFImageReader.java - * gnu/javax/imageio/gif/GIFImageSpi.java - * gnu/javax/imageio/gif/GIFStream.java - New files. - * javax/imageio/spi/IIORegistry.java: Load new GIF decoder plugin. - -2006-06-26 Tania Bento - - * java/awt/List.java - (List): A list should have at least 4 visible rows. - (replaceItem): Should throw an ArrayIndexOutOfBoundsException, - not an IllegalArgumentException. - (makeVisible): Should not throw an IllegalArgumentException if - the specified index is out of range. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (getNextMatch): Reimplemented to perform a circular search for the - matching item. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (init): Set default value for visibleRowCount to 8, - (setVisibleRowCount): Fire PropertyChangeEvent when value changes. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (valueIsAdjusting): Removed, - (init): Removed initialization of valueIsAdjusting field, - (getValueIsAdjusting): Fetch value from selection model, - (setValueIsAdjusting): Store value in selection model. - -2006-06-26 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (installKeyboardActions): Rewritten to fit with the - ActionMap/InputMap architecture. - (uninstallKeyboardActions): Implemented. - (ListAction): Made private. Added TODO for splitting - up this bulk Action. - (ListAction.ListAction): New constructor. This one - takes a cmd parameter to be installed as actionCommand. - -2006-06-26 Raif S. Naffah - - * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Remove RCS Revision. - * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. - -2006-06-26 Raif S. Naffah - - * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Source formatting. - * gnu/javax/crypto/jce/GnuSasl.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java: Likewise. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java: Likewise. - * gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/FortunaImpl.java: Likewise. - * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/params/DERWriter.java: Likewise. - * gnu/javax/crypto/jce/params/DERReader.java: Likewise. - * gnu/javax/crypto/jce/params/DEREncodingException.java: Likewise. - * gnu/javax/crypto/jce/params/BlockCipherParameters.java: Likewise. - * gnu/javax/crypto/jce/mac/UMac32Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/UHash32Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/TMMH16Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacTwofishImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacSquareImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacSerpentImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacKhazadImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacDESImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacCast5Impl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacAnubisImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/MacAdapter.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacTigerSpi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD5Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD4Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacMD2Spi.java: Likewise. - * gnu/javax/crypto/jce/mac/HMacHavalSpi.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/cipher/TwofishSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/TripleDESSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/SquareSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/SerpentSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/RijndaelSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. - * gnu/javax/crypto/jce/cipher/NullCipherSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/KhazadSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/DESSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. - * gnu/javax/crypto/jce/cipher/Cast5Spi.java: Likewise. - * gnu/javax/crypto/jce/cipher/BlowfishSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/ARCFourSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AnubisSpi.java: Likewise. - * gnu/javax/crypto/jce/cipher/AESSpi.java: Likewise. - -2006-06-26 David Gilbert - - * javax/swing/JList.java - (setLayoutOrientation): Check for valid argument. - -2006-06-26 Roman Kennke - - * javax/swing/JComponent.java - (firePropertyChange(String,int,int)): New method. Overrides - Component method and makes it public. - (firePropertyChange(String,boolean,boolean)): Likewise. - -2006-06-25 Vivek Lakshmanan - - * gnu/java/security/.cvsignore: New File. - * gnu/java/security/Configuration.java.in: New File. - * gnu/java/security/Properties.java: Change import from - gnu.classpath.Configuration to gnu.java.security.Configuration. - * gnu/java/security/hash/Whirlpool.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. - * gnu/java/security/pkcs/SignerInfo.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/x509/X509CRL.java: Likewise. - * gnu/java/security/x509/X509CRLEntry.java: Likewise. - * gnu/java/security/x509/ext/Extension.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/pad/BasePad.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Likewise. - * gnu/javax/security/auth/login/GnuConfiguration.java - (getAppConfigurationEntry): Change reference to - gnu.classpath.Configuration.DEBUG to gnu.java.security.Configuration.DEBUG. - (getConfigFromUserHome): Likewise. - (getInputStreamFromURL): Likewise. - (getUserHome): Likewise. - (init): Likewise. - (processSecurityProperties): Likewise. - (processSystemProperty): Likewise. - (processUserHome): Likewise. - * configure.ac: Add gnu/java/security/Configuration.java to AC_CONFIG_FILES list. - * lib/Makefile.am: Remove gnu/java/security/Configuration.java when required. - - -2006-06-25 Carsten Neumann - - * javax/swing/text/DefaultCaret.java (isActive): New method. - -2006-06-26 Andrew John Hughes - - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * java/lang/management/ClassLoadingMXBean.java: - (getTotalLoadedClassCount()): Corrected return type. - (getUnloadedClassCount()): Likewise. - * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: - (getUnloadedClassCount()): Likewise. - -2006-06-25 Raif S. Naffah - - * gnu/javax/crypto/cipher/WeakKeyException.java: Source formatting. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/cipher/TripleDES.java: Likewise. - * gnu/javax/crypto/cipher/Square.java: Likewise. - * gnu/javax/crypto/cipher/Serpent.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/NullCipher.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipher.java: Likewise. - * gnu/javax/crypto/cipher/DES.java: Likewise. - * gnu/javax/crypto/cipher/CipherFactory.java: Likewise. - * gnu/javax/crypto/cipher/Cast5.java: Likewise. - * gnu/javax/crypto/cipher/Blowfish.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - -2006-06-25 Raif S. Naffah - - * gnu/javax/crypto/assembly/TransformerException.java: Source formatting. - * gnu/javax/crypto/assembly/Transformer.java: Likewise. - * gnu/javax/crypto/assembly/Stage.java: Likewise. - * gnu/javax/crypto/assembly/PaddingTransformer.java: Likewise. - * gnu/javax/crypto/assembly/Operation.java: Likewise. - * gnu/javax/crypto/assembly/ModeStage.java: Likewise. - * gnu/javax/crypto/assembly/LoopbackTransformer.java: Likewise. - * gnu/javax/crypto/assembly/Direction.java: Likewise. - * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. - * gnu/javax/crypto/assembly/CascadeTransformer.java: Likewise. - * gnu/javax/crypto/assembly/CascadeStage.java: Likewise. - * gnu/javax/crypto/assembly/Cascade.java: Likewise. - * gnu/javax/crypto/assembly/Assembly.java: Likewise. - -2006-06-24 Andrew John Hughes - - * NEWS, - * doc/vmintegration.texinfo: - Updated with information on new VM interface. - * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, - * java/lang/management/ClassLoadingMXBean.java: - New files implementing the class loading bean. - * java/lang/management/ManagementFactory.java: - (getClassLoadingMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: - New VM interface file. - -2006-06-24 Andrew John Hughes - - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - (isBootClassPathSupported()): Use SystemProperties - rather than System.getProperty. - -2006-06-24 Raif S. Naffah - - * gnu/java/security/Properties.java: Source formatting. - * gnu/java/security/Registry.java: Likewise. - -2006-06-24 Raif S. Naffah - - * gnu/java/security/util/Util.java: Source formatting. - * gnu/java/security/util/SimpleList.java: Likewise. - * gnu/java/security/util/Sequence.java: Likewise. - * gnu/java/security/util/PRNG.java: Likewise. - * gnu/java/security/util/ExpirableObject.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/sig/SignatureFactory.java: Likewise. - * gnu/java/security/sig/ISignatureCodec.java: Likewise. - * gnu/java/security/sig/ISignature.java: Likewise. - * gnu/java/security/sig/BaseSignature.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java: Likewise. - * gnu/java/security/sig/rsa/RSA.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Likewise. - * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java: Likewise. - * gnu/java/security/sig/dss/DSSSignatureRawCodec.java: Likewise. - * gnu/java/security/sig/dss/DSSSignature.java: Likewise. - * gnu/java/security/provider/X509CertificateFactory.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/provider/Gnu.java: Likewise. - * gnu/java/security/prng/RandomEventListener.java: Likewise. - * gnu/java/security/prng/RandomEvent.java: Likewise. - * gnu/java/security/prng/PRNGFactory.java: Likewise. - * gnu/java/security/prng/MDGenerator.java: Likewise. - * gnu/java/security/prng/LimitReachedException.java: Likewise. - * gnu/java/security/prng/IRandom.java: Likewise. - * gnu/java/security/prng/EntropySource.java: Likewise. - * gnu/java/security/prng/BasePRNG.java: Likewise. - -2006-06-23 Francis Kung - - * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java - (Harness.actionPerformed): Process additional options. - (J2dBenchmarkWrapper): Defer init call until after options are processed. - (J2dBenchmarkWrapper.setAlias): New method. - (J2dBenchmarkWrapper.setComposite): New method. - (J2dBenchmarkWrapper.setFill): New method. - (J2dBenchmarkWrapper.setRotation): New method. - (J2dBenchmarkWrapper.setShear): New method. - (J2dBenchmarkWrapper.setStroke): New method. - (J2dBenchmarkWrapper.setTranslation): New method. - (run): Add additional options to GUI. - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: - Added protected fields for various options. - (GraphicsTest.runSet_noClipping): Reset graphics settings between tests. - (GraphicsTest.runSet_withClipping): Reset graphics settings between tests. - (GraphicsTest.runSet_zeroClipping): Reset graphics settings between tests. - (getNextColor): Renamed to setRandom. - (init): Load additional image for texturing if needed. - (loadBufferedImage): New method. - (main): Accept additional command-line switches. - (prepareGraphics): New method. - (resetGraphics): New method. - (runTestSuite): Accept additional image-processing options. - (setRandom): Renamed from getNextColor; generate various random options - (test_drawArc): Rename getNextColor to setRandom. - (test_drawCubic): Likewise. - (test_drawEllipse): Likewise. - (test_drawGeneralPath): Likewise. - (test_drawImage): Likewise. - (test_drawLine): Likewise. - (test_drawQuadCurve): Likewise. - (test_drawRectangle): Likewise. - (test_drawRoundRectangle): Likewise. - (test_drawTransparentImage): Likewise. - (test_fillArc): Rename getNextColor to setRandom. - (test_fillEllipse): Likewise. - (test_fillGeneralPath): Likewise. - (test_fillRectangle): Likewise. - (test_fillRoundRectangle): Likewise. - (TestRecorder.getAverage): Round the average time. - -2006-06-23 Tom Tromey - - * java/util/logging/LoggingMXBean.java: New file. - * java/util/logging/LogManager.java (LOGGING_MXBEAN_NAME): New field. - (loggingBean): New field. - (getLoggingMXBean): New method. - -2006-06-23 Tania Bento - - * java/awt/TextField.java - (TextField): Default number of columns should be 0, not 1. - (TextField): Check if number of columns given as argument - is valid (>= 0) and set the number of columns accordingly. - (TextField): Check if the string passed is null. If it is, - set columns to 0, else columns is set to the length of - the string. - -2006-06-23 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (InternalFramePropertyChangeListener.propertyChange): - Don't call getPropertyName() repeatedly. Added null checks - to avoid NPEs. Call closeFrame() if the closed property - changes. - -2006-06-23 Roman Kennke - - * javax/swing/JInternalFrame.java - (maxTransition): Removed. - (JInternalFrame): Set maxium=false. Initialize desktopIcon here. - Don't initialize storedBounds here. - (dipose): Rewritten to correctly dispose the JInternalFrame. - (getDesktopIcon): Don't initialize desktopIcon here. - (getLayer): Delegate to JLayeredPane.getLayer(). - (getNormalBounds): Return bounds when storedBounds == null, - otherwise storedBounds. - (hide): Don't change selection. Also hide the desktopIcon. - (moveToBack): Call getParent() only once. - (moveToFront): Call getParent() only once. - (pack): Call validate() to make sure that the layout is - propagated to the children. - (setClosed): Fire InternalFrameEvent first, before the - PropertyVetoEvent. - (setJMenuBar): Fire PropertyChangeEvent for this property. - (setLayer): Delegate to JLayeredPane. - (setLayeredPane): Check for null and throw IllegalArgumenException. - (setMaximum): Remove handling of maxTransition and normalBounds. - Should probably be done in the UI. - (setNormalBounds): Store Rectangle object directly, not a copy. - (setRootPane): Go into rootPaneCheckingEnabled mode so that - adding the RootPane doesn't add it to the contentPane. - Fire PropertyChangeEvent. - (setSelected): Added condition for when this property must not - be changed. - (show): Don't ask the DesktopPane to select the frame. Moved - code around to fire InternalFrameEvent before actually calling - super.show(). Also make the desktopIcon visible. - (setTitle): Fire PropertyChangeEvent unconditionally. - -2006-06-23 Roman Kennke - - * javax/swing/JLayeredPane.java - (getPosition): Moved code around to avoid unnecessary method calls. - (setPosition): Delegate to setLayer(). - (insertIndexForLayer(int,int)): Delegate to new private helper method. - (insertIndexForLayer(Component,int,int)): New helper method - to support the use of setComponentZOrder() which doesn't remove - the component and thus the insertIndexForLayer must ignore - the component to be moved to get the index right. - (setLayer): Added check to prevent unnecessary execution of - method body. Changed to update the component order here. - Added repaint() to make sure that the update becomes visible. - (addImpl): Call setLayer() only when a constraint has been specified. - Validate and repaint the JLayeredPane. - -2006-06-23 Roman Kennke - - * java/awt/Container.java - (getComponentZOrder): Use ncomponents instead of - component.length so that we don't consider the empty space - after the last component. - -2006-06-22 Roman Kennke - - * javax/swing/JComponent.java - (vetoableChangeSupport): New field. - (removeVetoableChangeListener): Rewritten to use - vetoableChangeSupport. - (addVetoableChangeListener): Rewritten to use - vetoableChangeSupport. - (fireVetoableChange): Rewritten to use - vetoableChangeSupport. - (addPropertyChangeListener): Removed. This is handled in - Component already. - (firePropertyChange(String,boolean,boolean)): Likewise. - (firePropertyChange(String,char,char)): Likewise. - (firePropertyChange(String,int,int)): Likewise. - (revalidate): Don't do anything when the commponent has no - parent. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java: Updated API docs. - -2006-06-22 Robert Schuster - - * java/awt/Insets.java: Updated copyright year. - (toString): Changed string, removed a line from the - documentation. - -2006-06-22 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (AbstractDocument): Set the i18n document property. - (removeImpl): Added checks for correct boundaries. - -2006-06-22 Roman Kennke - - * javax/swing/text/PlainDocument.java - (rootElement): Changed type to Element. - (tabSize): Removed field. This is stored in the document properties - instead. - (PlainDocument): Set tabSize property. Init rootElement without - cast. - (insertUpdate): Rewritten. The previous implementation did not - handle some corner cases properly and was a mess. - (removeUpdate): Cast rootElement to BranchElement. - -2006-06-22 David Gilbert - - * javax/swing/plaf/basic/BasicLabelUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (propertyChange): Add handling for 'displayedMnemonic' and 'labelFor' - properties. - -2006-06-22 Robert Schuster - - * javax/swing/JMenu.java: - (removeAll): Added check for popupMenu not being null. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (getText): Updated API docs, - (setText): Corrected the check for an unchanged value, and the update - of the displayedMnemonicIndex. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (setDisplayedMnemonic(int)): Fire property change event AFTER updating - field, - (setDisplayedMnemonicIndex): Modified argument checking to handle case - where label text is null. - -2006-06-22 David Gilbert - - * javax/swing/JLabel.java - (setDisplayedMnemonic): Updated API docs, - (getDisplayedMnemonic): Removed unnecessary type-cast, - (setDisplayedMnemonicIndex): Removed unnecessary validation, - (getDisplayedMnemonicIndex): Updated API docs. - -2006-06-21 Jeroen Frijters - - * java/util/Collections (entrySet): Fixed compile error. - -2006-06-21 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (getSelectionMode): Updated API docs, - (setAnchorSelectionIndex): Added ListSelectionEvent generation, - (addSelectionInterval): If mode is SINGLE_SELECTION, just call - setSelectionInterval(), - (setSelectionInterval): Reimplemented SINGLE_SELECTION and - SINGLE_INTERVAL_SELECTION cases. - -2006-06-21 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BranchElement.numChildren): New field. - (BranchElement.BranchElement): Initialize children array with - one element (that's the least number of elements that makes sense). - Initialize numChildren. - (BranchElement.children): Use numChildren as boundary. - (BranchElement.getElement): Use numChildren as boundary. - (BranchElement.getElementCount): Use numChildren as boundary. - (BranchElement.getElementIndex): Use numChildren as boundary. - (BranchElement.getEndOffset): Use numChildren as boundary. - (BranchElement.getStartOffset): Use numChildren as boundary. - (BranchElement.positionToElement): Use numChildren as boundary. - (BranchElement.replace): Handle the children array more efficiently - by growing in blocks > 1, and reusing space from removed elements. - (LeafElement.startDelta): Removed. - (LeafElement.endDelta): Removed. - (LeafElement.LeafElement): Removed handling of deltas. - (LeafElement.getEndOffset): Likewise. - (LeafElement.getStartOffset): Likewise. - * javax/swing/text/JTextComponent.java - (setDocument): Added locking of the old document to avoid dangling - notification beeing delivered while the document is beeing - disconnected. - (getScrollableTracksViewportWidth): Fixed condition. - * javax/swing/text/PlainDocument.java - (createDefaultRoot): Create elements without AttributeSet. - * javax/swing/text/rtf/RTFParser.java - (parseFile): Handle slightly incorrect RTF gracefully. - * javax/swing/text/rtf/RTFScanner.java - (lastToken): New field. - (readTokenImpl): New method. - (peekToken): New method. - (readToken): Changed to call readTokenImpl or return the lastToken - if there's one present. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - (remove): An IllegalArgumentException should be thrown if - either index < 0 or if index > 0 and there are no menu - components. Also, a check was added that ensures there are - menu components before removing the desired the component. - -2006-06-21 Lillian Angel - - * javax/swing/text/DefaultCaret.java - (install): Added check to prevent NPE. - (propertyChange): Added checks to prevent NPEs. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - Changed instantiation of popupMenu to null. - (JMenu): Instantiated popupMenu to new JPopupMenu. - (JMenu): Instantiated popupMenu to new JPopupMenu. - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (add): Changed popupMenu to getPopupMenu(). - (remove): Changed popupMenu to getPopupMenu(). - (remove): Changed popupMenu to getPopupMenu(). - (insert): Changed popupMenu to getPopupMenu(). - (setSelectedHelper): Changed popupMenu to getPopupMenu(). - (isPopupMenuVisible): Changed popupMenu to getPopupMenu(). - (setPopupMenuVisible): Changed popupMenu to getPopupMenu(). - (getMenuComponentCount): Changed popupMenu to getPopupMenu(). - (getMenuComponents): Changed popupMenu to getPopupMenu(). - (getPopupMenu): Check first if popupMenu is null and if so, - instantiate it to a new JPopupMenu and set the invoker. - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (popupMenuWillBecomeVisible): Component Listener should only - be added to the root container if the root container is not - null. This avoids a null pointer exception. - -2006-06-21 Tania Bento - - * javax/swing/JMenu.java - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (JMenu): Delay should be set to 200, not default of 0. - (remove): Added check that index >= 0 before removing - the component. - (getItem): Return null if item count equals 0. - (isTearOff): Should throw new error and not return false. - (getMenuComponent): Return null if popupMenu is null or - if there are no menu components. - -2006-06-21 Roman Kennke - - * java/awt/font/FontRenderContext.java: - (equals): Added special conditions for affineTransform beeing - null. - -2006-06-21 Roman Kennke - - * javax/swing/UIManager.java - (MultiplexUIDefaults.clear): Removed method. The fallback UIDefaults - must not be cleared. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (paintHorizontalGradient): Use paintHorizontalGradient2D when - Graphics2D is available. Use fillRect instead of drawLine, this - is much faster. - (paintVerticalGradient): Use paintHorizontalGradient2D when - Graphics2D is available. Use fillRect instead of drawLine, this - is much faster. - (paintHorizontalGradient2D): New method. Paints gradient - using Graphics2D functions. - (paintVerticalGradient2D): New method. Paints gradient - using Graphics2D functions. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (propertyChange): Create a TextLayout and store it in the button - when the 'text' property changes. - * javax/swing/plaf/basic/BasicButtonUI.java - (paintText): Call BasicGraphicsUtils utility method for - drawing strings, instead of Graphics.drawString(). - * javax/swing/plaf/basic/BasicGraphicsUtils.java - (CACHE_TEXT_LAYOUT): New constant field. Used as a key for storing - cached text layouts as client properties in JComponents. - (drawString(JComponent,Graphics,String,int,int)): New helper method. - (drawStringUnderlineCharAt): New helper method. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (PropertyChangeHandler.propertyChange): Update cached text layout - when 'text' property changes. Use equals() instead of == for - string comparison. - (paintText): Use new BasicGraphicsUtils methods for painting - the cached text layout. - (installListeners): Call super.installListeners() and remove - the unneeded listener installs. - (uninstallListeners): Call super.uninstallListeners() and remove - the unneeded listener uninstalls. - -2006-06-21 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (PropertyChangeHandler.propertyChange): Handle document listener - update here. - (background): Removed unneeded fields. - (inactiveBackground): Remove unneeded fields. - (installUI): Install the document listener. Slightly changed - order of operations. Don't trigger modelChanged(). - (installDefaults): Only install properties when the - current properties are null or instances of UIResource. - (installListeners): Removed unnecessary listener installs. - (installDocumentListeners): Removed unneeded method. - (uninstallListeners): Removed unnecessary listener uninstalls. - (modelChanged): Removed call to installDocumentListeners(). - * javax/swing/plaf/basic/BasicTextFieldUI.java - (propertyChange): Update the colors by fetching them from - SharedUIDefaults. Fixed conditions. - * javax/swing/plaf/basic/SharedUIDefaults.java - (getColor): New method. - -2006-06-21 Roman Kennke - - * javax/swing/SizeSequence.java - (SizeSequence): Initialize array with correct number of entries. - -2006-06-21 Roman Kennke - - * javax/swing/JSplitPane.java - (setDividerLocation): Substract divider size when computing - the absolute size. - -2006-06-21 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenWithOverlap): Determine opaque property by - calling the corresponding Component method, without requiring - a JComponent. - (paintChildrenOptimized): Removed old unneeded code. - (paintImmediately): Use JComponent's convertRectangleToAncestor() - method instead of SwingUtilities.convertRectangle(). This is - more efficient. - -2006-06-21 Roman Kennke - - * javax/swing/AbstractButton.java - (init): Call setText() instead of setting the property directly, - so that listeners (especially in the UI) get notified. - -2006-06-21 Roman Kennke - - * javax/swing/UIManager.java - (MultiplexUIDefaults): New inner class. - (currentUIDefaults): Changed type to be MultiplexUIDefaults. - (userUIDefaults): Changed name to be lookAndFeelDefaults. - (): Call setLookAndFeel(String) instead of trying to load - directly. Print stacktrace if something goes wrong. - (get): Delegate call to currentUIDefaults. - (getDefaults): If currentUIDefaults is null, then lazily instantiate - it. - (getUI): Delegate call to currentUIDefaults. - (put): Delegate call to currentUIDefaults. - (setLookAndFeel): Initialize currentUIDefaults with - MultiplexUIDefaults. Set lookAndFeelDefaults. - (setLookAndFeel): Use current thread's context classloader for - loading the L&F. - -2006-06-21 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.GapContentPosition): Replace - Collections.binarySearch with call to local search() to make - sure we find the first object that equals the searched object. - (setPositionsInRange): Likewise. - (adjustPositionsInRange): Likewise. - (search): New helper method. - -2006-06-21 Gary Benson - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Add security check. - * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. - * gnu/java/awt/java2d/AbstractGraphics2D.java: Likewise. - -2006-06-20 Thomas Fitzsimmons - - * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): Define - APPLETVIEWER_EXECUTABLE to gappletviewer. - -2006-06-20 Tom Tromey - - PR classpath/28095: - * java/net/URL.java (URL): Throw MalformedURLException if a - RuntimeException is caught. Chain exceptions. - -2006-06-20 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java - (create): Added check to prevent Seg Fault. Should not - set the label if it is null. - * gnu/java/awt/peer/gtk/GtkLabelPeer.java - (setText): Changed to be a non-native function. Calls - setNativeText if the String parameter is non-null. - (setNativeText): Replaces old native setText function. - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c - (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText): Removed. - Replaced by Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText. - (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText): Replaced - Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText. - -2006-06-20 Lillian Angel - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Rewrote all javadocs - for this inner class. - -2006-06-20 Francis Kung - - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: - Changed many members to be protected. - (J2dBenchmark): moved to init() instead. - (init): New method. - (main): Call init() after creating object - (testComplete): New method. - (test_drawArc): Use maxTests varialbe instead of constant. - (test_drawCubicCurve): Likewise. - (test_drawEllipse): Likewise. - (test_drawGeneralPath): Likewise. - (test_drawImage): Likewise. - (test_drawLine): Likewise. - (test_drawQuadCurve): Likewise. - (test_drawRectangle): Likewise. - (test_drawRoundRectangle): Likewise. - (test_drawTransparentImage): Likewise. - (test_fillArc): Likewise. - (test_fillEllipse): Likewise. - (test_fillGeneralPath): Likewise. - (test_fillRectangle): Likewise. - (test_fillRoundRectangle): Likewise. - (GraphicsTest.runSetNoClipping): Added runCount parameter. - (GraphicsTest.runSetWithClipping): Likewise. - (GraphicsTest.runSetZeroClipping): Likewise. - (GraphicsTest.run): Added checks for more option flags. - * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java: - New file. - -2006-06-20 Roman Kennke - - * javax/swing/text/GapContent.java - (GapContentPosition.mark): New field. - (GapContentPosition.index): Removed. - (GapContentPosition.GapContentPosition): Changed to take the - real offset as parameter. Added handling of reference counter. - Try to cleanup before creating new instances. - (getOffset): Delegate to the Mark method with same name. - (Mark): New class, encapsulating a mark. - (positionMarks): Removed field. - (numMarks): Removed field. - (marks): New field. - (queueOfDeath): New field. - (GapContent): Removed init of old fields, added init of new fields. - (createPosition): Added check for validity of arguments. - Create GapContentPosition directly with offset. - (shiftEnd): Pass end of buffer directly to adjustPositionsInRange. - (shiftGap): Pass end of buffer directly to adjustPositionsInRange. - (shiftGapStartDown): Call resetMarksAtZero(). - (shiftGapEndUp): Call resetMarksAtZero(). - (replace): Don't call resetMarksAtZero(). - (setPositionInRange): Replaced by simpler algorithm, similar to - adjustPositionsInRange. - (adjustPositionsInRange): Adapted to use of Mark objects. - (resetMarksAtZero): Reset all marks that point to zero instead - of only the first one. - (dumpMarks): Adjusted to dump Mark objects. - (insertMark): Removed. - (garbageCollect): New method. Cleans up the marks list. - (binarySearch): Removed. - -2006-06-20 Lillian Angel - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Added call to updateColor because - Cairo seems to lose the current color. - -2006-06-20 Gary Benson - - * java/awt/Toolkit.java: Add security check. - * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. - * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. - -2006-06-20 Raif S. Naffah - - * gnu/java/security/key/dss/DSSKey.java: Source formatting. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairRawCodec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. - * gnu/java/security/key/dss/FIPS186.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/IKeyPairCodec.java: Likewise. - * gnu/java/security/key/IKeyPairGenerator.java: Likewise. - * gnu/java/security/key/KeyPairCodecFactory.java: Likewise. - * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. - -2006-06-19 Lillian Angel - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Should always use getRGB to get the pixels. - getData returns an incorrect array of pixels. - -2006-06-19 Raif S. Naffah - - * gnu/java/security/jce/hash/HavalSpi.java: Source formatting. - * gnu/java/security/jce/hash/MD2Spi.java: Likewise. - * gnu/java/security/jce/hash/MD4Spi.java: Likewise. - * gnu/java/security/jce/hash/MD5Spi.java: Likewise. - * gnu/java/security/jce/hash/MessageDigestAdapter.java: Likewise. - * gnu/java/security/jce/hash/RipeMD128Spi.java: Likewise. - * gnu/java/security/jce/hash/RipeMD160Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha160Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha256Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha384Spi.java: Likewise. - * gnu/java/security/jce/hash/Sha512Spi.java: Likewise. - * gnu/java/security/jce/hash/TigerSpi.java: Likewise. - * gnu/java/security/jce/hash/WhirlpoolSpi.java: Likewise. - * gnu/java/security/jce/prng/HavalRandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. - * gnu/java/security/jce/prng/Sha160RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. - * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. - * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. - * gnu/java/security/jce/sig/DSSKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/jce/sig/DSSParameters.java: Likewise. - * gnu/java/security/jce/sig/DSSRawSignatureSpi.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - -2006-06-19 Raif S. Naffah - - * NEWS: Updated (delayed) for security tools and tools.texinfo. - -2006-06-19 Roman Kennke - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Clip volatile image correctly. - (drawVolatileImage): Added arguments for clipping. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (drawVolatileImage): Added arguments for clipping. Clip image - correctly. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - -2006-06-19 Audrius Meskauskas - - PR 28035 - * java/rmi/server/UID.java (constructor): Synchronized - the whole constructor on the UID class. - -2006-06-19 Roman Kennke - - * javax/swing/RepaintManager.java - (addInvalidComponent): Only add component that are displayable, - that have displayable parents and that have a validateRoot. - Also, don't validate components that have a CellRendererPane - ancestor. - -2006-06-19 David Gilbert - - * javax/swing/plaf/IconUIResource.java - (IconUIResource): Throw IllegalArgumentException for null icon. - -2006-06-18 Audrius Meskauskas - - PR 28035 - * java/rmi/server/UID.java (constructor): First increment - uidCounter, and then use the value. - -2006-06-18 Thomas Fitzsimmons - - * java/awt/GridBagLayout.java (AdjustForGravity): Implement. - * java/awt/GridBagConstraints.java: Indent. - -2006-06-18 Tom Tromey - - * native/jni/gconf-peer/.cvsignore: New file. - -2006-06-18 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): - Also handle short options. - -2006-06-18 Jim Huang - - PR classpath/28076: - * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LIBADD): - Fixed typo. - -2006-06-19 Mark Wielaard - - * include/Makefile.am: gnu_java_util_prefs_gconf_%.h should depend - on gnu/java/util/prefs/gconf/%.class. - * Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class: Fix - chache typo, should be cache. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): - Declare tmp early. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): - Don't return a value for void function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir) - Likewise. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): - Mark clazz as unused. Return JNI_FALSE, not NULL for jboolean - function. - (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): - Mark clazz ad unused. - -2006-06-18 Raif S. Naffah - - * gnu/java/security/hash/Whirlpool.java: Source formatting. - * gnu/java/security/hash/Tiger.java: Likewise. - * gnu/java/security/hash/Sha512.java: Likewise. - * gnu/java/security/hash/Sha384.java: Likewise. - * gnu/java/security/hash/Sha256.java: Likewise. - * gnu/java/security/hash/Sha160.java: Likewise. - * gnu/java/security/hash/RipeMD160.java: Likewise. - * gnu/java/security/hash/RipeMD128.java: Likewise. - * gnu/java/security/hash/MD5.java: Likewise. - * gnu/java/security/hash/MD4.java: Likewise. - * gnu/java/security/hash/MD2.java: Likewise. - * gnu/java/security/hash/IMessageDigest.java: Likewise. - * gnu/java/security/hash/Haval.java: Likewise. - * gnu/java/security/hash/HashFactory.java: Likewise. - * gnu/java/security/hash/BaseHash.java: Likewise. - -2006-06-18 Sven de Marothy - - * java/awt/event/KeyEvent.java: - (VK_WINDOWS, VK_CONTEXT_MENU, VK_BEGIN): Add new keysym fields. - * natve/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: - Implement WINDOWS, ALT_GR and CONTEXT_MENU keysyms. - -2006-06-18 Raif S. Naffah - - * gnu/java/security/util/Prime2.java: Removed. - * gnu/java/security/key/dss/FIPS186.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Remove unused imports. - (generate): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/dh/RFC2631.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Remove unused imports. - (checkParams): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Remove unused imports. - (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. - * gnu/javax/net/ssl/provider/KeyPool.java: Remove unused imports. - (generateRSAKeyPair): Use isProbablePrime() in BigInteger instead of Prime2. - -2006-06-18 Sven de Marothy - - * java/awt/GridBagLayout.java (AdjustForGravity): Implement. - * java/awt/font/TextMeasurer.java: Fix copyright date, - remove commented-out code. - -2006-06-18 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector, clone): Implement cloning. - (getGlyphLogicalBounds): Bounds should be offset to the glyph position. - * java/awt/font/TextMeasurer.java: Implement. - * java/awt/font/LineBreakMeasurer.java: - Reimplement to use TextMeasurer. - * java/awt/font/TextLayout.java - New constructors. - (getBlackboxBounds, getLogicalHighlightShape): Reimplement. - (getText, getFont): New private static methods. - (setCharIndices): New method. - * java/text/AttributedString.java - (AttributedString): Fix constructor to stop at end point. - -2006-06-17 Tom Tromey - - * lib/gen-classlist.sh.in: Search all top-level directories, not - just 'org', in external. - -2006-06-12 Mario torre - - * gnu/java/util/prefs/GConfBasedPreferences.java: new class. - * gnu/java/util/prefs/GConfBasedFactory.java: new class. - * gnu/java/util/prefs/gconf/GConfNativePeer.java: new class. - * gnu_java_util_prefs_gconf_GConfNativePeer.h: generated - header file. - * classpath/native/jni/gconf-peer/GConfNativePeer.c: new C file. - * configure.ac: update to introduce new files. Added options - to build gconf native peer used by the GConf preference backend. - * include/Makefile.am: update to introduce new files. - * native/jni/Makefile.am update to introduce new files. - * scripts/check_jni_methods.sh: added three new ignored file - from check. - * native/jni/gconf-peer/Makefile.am: new Makefile needed to - build gconf-peer shared library. - -2006-06-17 Raif S. Naffah - - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: - Use Integer.valueOf() instead of new Integer(). - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. - * gnu/java/security/util/Sequence.java: Likewise. - * gnu/java/security/x509/ext/GeneralNames.java: Likewise. - * gnu/java/security/x509/X509Certificate.java: Likewise. - * gnu/javax/crypto/assembly/ModeStage.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/javax/crypto/cipher/Blowfish.java: Likewise. - * gnu/javax/crypto/cipher/Cast5.java: Likewise. - * gnu/javax/crypto/cipher/DES.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/NullCipher.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/Serpent.java: Likewise. - * gnu/javax/crypto/cipher/Square.java: Likewise. - * gnu/javax/crypto/cipher/TripleDES.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. - * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. - * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. - * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: Likewise. - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. - * gnu/javax/crypto/mac/UHash32.java: Likewise. - * gnu/javax/crypto/mac/UMac32.java: Likewise. - * gnu/javax/crypto/mode/BaseMode.java: Likewise. - * gnu/javax/crypto/mode/EAX.java: Likewise. - * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. - * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. - * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. - * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Likewise. - * java/security/cert/X509CertSelector.java: Likewise. - -2006-06-17 Andrew John Hughes - - * javax/management/DynamicMBean.java: - (setAttribute): Fixed to return void. - * javax/management/MBeanFeatureInfo.java: - New file. - -2006-06-17 Raif S. Naffah - - On behalf of Vivek Lakshmanan - * gnu/javax/crypto/jce/cipher/CipherAdapter.java - (engineInit(int, Key, SecureRandom)): Seperate common initialization logic - into engineInitHandler and reuse the code in - engineInit(int, Key, AlgorithmSpec, SecureRandom). - (engineInitHandler): New method. - (engineInit(int, Key, AlgorithmParameterSpec, SecureRandom)): When param is - null, use random or default information when possible. - -2006-06-16 Francis Kung - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkButtonBar): Rename FillRect to JNIOverhead. - (mkMenuBar): Rename FillRect to JNIOverhead. - * examples/gnu/classpath/examples/swing/FillRect.java: Removed. - * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: New file. - * examples/gnu/classpath/examples/java2d/JNIOverhead.java: - Moved from old FillRect. - -2006-06-16 Tom Tromey - - * tools/.cvsignore: Added new tool names. - -2006-06-16 Keith Seitz - - * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo - instantiation so that EventManager is created when getDefault - is first called. - * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation - of EventManager. - -2006-06-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_initLock): New field. - (_initCount): New field. - (Jdwp): Don't set isDebugging until fully initialized. - (subcomponentInitialized): New method. - (run): Wait for PacketProcessor and JdwpConnection to - startup, then set isDebugging, and then let this thread - die. - * gnu/classpath/jdwp/transport/JdwpConnection.java - (run): Add synchronization notification. - * gnu/classpath/jdwp/processor/PacketProcessor.java - (run): Likewise. - -2006-06-16 Tom Tromey - - * NEWS: Updated for JSR 166. - -2006-06-16 Tom Tromey - - * lib/Makefile.am (compile_classpath): Added jsr166. - * configure.ac: Added external/jsr166/Makefile. - * external/Makefile.am (SUBDIRS): Added jsr166. - * external/jsr166/Makefile.am: New file. - * lib/gen-classlist.sh.in: Look in external/jsr166. - -2006-06-16 Kyle Galloway - - * gnu/classpath/jdwp/event/ExceptionEvent: - Added Object instance to javadoc in constructor - * gnu/classpath/jdwp/event/MethodEntryEvent: - Ditto. - * gnu/classpath/jdwp/event/MethodExitEvent: - Ditto, - * gnu/classpath/jdwp/event/SingleStepEvent: - Ditto. - -2006-06-16 Tom Tromey - - Imported JSR 166 reference implementation: - * .classpath: Added external/jsr166. - * java/util/concurrent/CopyOnWriteArrayList.java: New file. - * java/util/AbstractQueue.java: Removed. - * java/util/Queue.java: Removed. - * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java - (runPeriodic): Added explicit cast. - * external/jsr166/java/util/ArrayDeque.java (clone): Use - elements.clone. - -2006-06-16 Tom Tromey - - * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): - Removed. - (getCallerClass): Now static. - * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. - -2006-06-16 Lillian Angel - - * java/awt/FileDialog.java - (FileDialog): Added @since tag to API docs. - (FileDialog): Likewise. - (FileDialog): Likewise. - * java/awt/Font.java: - Added @since tag to TYPE1_FONT field docs. - * javax/swing/plaf/basic/BasicScrollBarUI.java: - (isThumbRollover): Likewise. - (setThumbRollover): Likewise. - (getSupportsAbsolutePositioning): Likewise. - * javax/swing/plaf/basic/BasicSliderUI.java: - (isDragging): Likewise. - -2006-06-16 Lillian Angel - - * java/awt/FileDialog.java - (FileDialog): Implemented. - (FileDialog): Implemented. - (FileDialog): Implemented. - * java/awt/Font.java: - Added TYPE1_FONT constant field. - -2006-06-16 Lillian Angel - - * java/awt/font/TextLayout.java: - Removed unneeded imports. - * javax/swing/plaf/basic/BasicScrollBarUI.java: - Added new thumbRollover field. - (mouseMoved): Added code to set thumbRollover field. - (isThumbRollover): New function. - (setThumbRollover): New function. - (getSupportsAbsolutePositioning): Implemented. This - needs to be changed once the feature has been - implemented. - * javax/swing/plaf/basic/BasicSliderUI.java: - Added new dragging field. - (mouseDragged): Initialized dragging field. - (isDragging): New function. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (focusGained): Marked as not implemented. - (focusLost): Likewise. - -2006-06-16 Kyle Galloway - - * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: - Added check for null ThreadId to avoid null pointer - exception. - -2006-06-16 David Gilbert - - * javax/swing/DefaultComboBoxModel.java - (removeElementAt): Set new selected item by calling setSelectedItem(). - -2006-06-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setSelected): Use 'this', not null, for the item in the ItemEvent. - -2006-06-16 David Gilbert - - * javax/swing/event/ListDataEvent.java: updated API docs, plus - (ListDataEvent): Handle case where index0 > index1, - (toString): Implemented. - -2006-06-16 Robert Schuster - - * javax/swing/plaf/metal/MetalMenuBarUI.java: - (update): Added subexpression to if-statement. - -2006-06-16 Robert Schuster - - * javax/swing/plaf/basic/BasicRadioButtonUI.java: - (installDefaults): Removed unneccessary code. - (paint): Removed complex if-cascade, revert to default icon if - icon property is not set. - (getPreferredSize): New method. - -2006-06-16 Roman Kennke - - PR 28027 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Don't use setClip() but instead clipRect() to - intersect the current clip with a new one. - -2006-06-15 Tom Tromey - - * scripts/sanitize-jsr166: New file. - * external/jsr166/IMPORTING: New file. - * vm/reference/sun/reflect/Reflection.java: New file. - * vm/reference/gnu/classpath/Unsafe.java: Moved... - * vm/reference/sun/misc/Unsafe.java: ...here. - -2006-06-15 Thomas Fitzsimmons - - * configure.ac: Rename appletviewer to gappletviewer, jarsigner to - gjarsigner and keytool to gkeytool. - * doc/tools.texinfo: Add note about tool exectable names. - * tools/Makefile.am: Rename appletviewer to gappletviewer, - jarsigner to gjarsigner and keytool to gkeytool. - * tools/appletviewer.in: Rename ... - * tools/gappletviewer.in: New file. - * tools/jarsigner.in: Rename ... - * tools/gjarsigner.in: New file. - * tools/keytool.in: Rename ... - * tools/gkeytool.in: New file. - * tools/toolwrapper.c: Simplify TOOLS_ZIP macro. - -2006-06-15 Andrew John Hughes - - * javax/management/AttributeList.java: - Add serialization UID. - * javax/management/DynamicMBean.java: - New file. - * javax/management/JMRuntimeException.java: - Add serialization UID and correct name - of serialized field. - * javax/management/MBeanInfo.java: New file. - -2006-06-15 Andrew John Hughes - - * javax/management/AttributeList.java, - * javax/management/JMRuntimeException.java, - * javax/management/RuntimeOperationsException.java: - New files. - -2006-06-15 Lillian Angel - - * java/awt/font/TextLayout.java: - DEFAULT_CARET_POLICY changed to be public static final. - -2006-06-15 Tania Bento - - * javax/swing/plaf/metal/MetalScrollButton.java - (MetalScrollButton): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/plaf/basic/BasicArrowButton.java - (BasicArrowButton): Should set 'focusable' to false. - (BasicArrowButton): Should set 'focusable' to false. - -2006-06-15 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (getGraphicsConfiguration): Return default screen device. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java (component): - New field. - (GtkVolatileImage): Record initiating component. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (getDeviceConfiguration): Return configuration of image component. - -2006-06-15 Mark Wielaard - - * java/awt/geom/GeneralPath.java (closePath): Return if path already - closed. - -2006-06-15 Mark Wielaard - - * java/awt/BasicStroke.java (createStrokedShape): Call getPathIterator - with null argument. - -2006-06-15 Kyle Galloway - - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (matches): Added explicit brackets to return statement. - -2006-06-15 Tania Bento - - * javax/swing/JRadioButtonMenuItem.java - (JRadioButtonMenuItem): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/JCheckBoxMenuItem.java - (JCheckBoxMenuItem): Should set 'focusable' to false. - -2006-06-15 Tania Bento - - * javax/swing/AbstractButton.java: - (AbstractButton): 'Focusable' should be set to true and not false. - -2006-06-15 Andrew John Hughes - - * java/lang/management/ManagementFactory.java: - Add private constructor to prevent instance creation. - * java/lang/management/ManagementPermission.java: - Make final. - -2006-06-15 Francis Kung - - * javax/swing/plaf/basic/BasicArrowButton.java: - (BasicArrowButton): move client property for not triggering out - of consturctor - * javax/swing/plaf/basic/BasicComboBoxUI.java: - (configureArrowButton): set client property for not triggering - (installUI): set client property for not triggering - * javax/swing/plaf/basic/BasicLookAndFeel.java: - (PopupHelper.mousePressed): check client property for triggering - -2006-06-15 Roman Kennke - - PR 28037 - * javax/swing/RepaintManager.java - (blitBuffer): Substract coordinates the other way around. - -2006-06-15 Roman Kennke - - PR 28027 - * javax/swing/JComponent.java - (paintImmediately2): Only paint component without double buffering - when all of it's parents have also double buffering disabled. - (isPaintingDoubleBuffered): New helper method. - -2006-06-15 David Gilbert - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (draw(Shape)): Pass null transform to getPathIterator(), - (getClip): Likewise, - * gnu/java/print/PostscriptGraphics2D.java - (drawStringShape): Pass null transform to getPathIterator(), - (writeShape): Likewise, - * java/awt/Shape.java: Small updates to API docs. - -2006-06-14 Andrew John Hughes - - * javax/naming/InitialContext.java: - (list(javax.naming.Name)): Fixed generic type. - (list(String)): Likewise. - (listBindings(javax.naming.Name)): Likewise. - (listBindings(String)): Likewise. - -2006-06-14 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxUI.java - (getAccessibleChildrenCount): Implemented. - (getAccessibleChild): Implemented. - (isNavigationKey): Implemented. - (KeyHandler.keyPressed): Implemented. - -2006-06-14 Andrew John Hughes - - * java/lang/management/ManagementPermission.java: - Added serialization UID. - * javax/management/Attribute.java: Likewise. - * javax/management/MBeanException.java, - * javax/management/ReflectionException.java: - Added serialization UID and changed to extend - javax.management.JMException. - -2006-06-14 Lillian Angel - - * java/awt/Component.java - (ignoreOldMouseEvents): Made static. - (translateEvent): Made static. - * java/awt/TextComponent.java - (ignoreOldMouseEvents): Made static. - -2006-06-14 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawLine): Lock and - call super. - (drawRect): Likewise. - (fillRect): Likewise. - -2006-06-14 Lillian Angel - - * java/awt/Component.java - (ignoreOldMouseEvents): New helper function. - (translateEvent): Changed to be non-static and use new helper. - * java/awt/TextComponent.java - (ignoreOldMouseEvents): New helper function. - -2006-06-14 Roman Kennke - - * javax/swing/RepaintManager.java - (MERGE_REGIONS): New constant flag. - (commitBuffer): Exclude the merging of regions by default. This - was causing painting artifacts in some applications, especially - when different areas of the GUI are updated synchronously. - -2006-06-14 Roman Kennke - - * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java: - New file. This is a benchmark for AWT 1.1 style graphics operations. - * examples/gnu/classpath/examples/awt/palme.gif: New file. - * examples/gnu/classpath/examples/awt/aicas.gif: New file. - -2006-06-14 Tom Tromey - - * java/io/File.java (getParent): Javadoc fix. - -2006-06-14 Tom Tromey - - * gnu/java/net/loader/JarURLLoader.java (initialize): Skip our own - jar. - * gnu/java/net/IndexListParser.java (IndexListParser): Call clearAll - when index entry does not exist. - -2006-06-14 Tania Bento - - * javax/swing/AbstractButton.java - (AbstractButton): Set focusable to false, not true. - -2006-06-14 Tania Bento - - * javax/swing/JMenuItem.java - (init): Changed horizontalAlignment from JButton.LEFT to JButton.LEADING. - -2006-06-14 Tania Bento - - * javax/swing/JCheckBoxMenuItem.java - (JCheckBoxMenuItem): Added check to set the selected state. - -2006-06-14 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoDrawLine): New native method. - (cairoDrawRect): New native method. - (cairoFillRect): New native method. - (drawLine): Use special native method. - (drawRect): Use special native method. - (fillRect): Use special native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (cairoDrawLine): New native method. - (cairoDrawRect): New native method. - (cairoFillRect): New native method. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - -2006-06-14 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Return when array - cannot be allocated. - -2006-06-14 Tom Tromey - - PR java/28024: - * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). - * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). - -2006-06-14 Roman Kennke - - * javax/swing/JComponent.java - (isRepainting): New flag. - (paintImmediately2): Set isRepainting flag. - (getRoot): Removed obsolete method. - (paintDoubleBuffered): Differenciate between paint calls from - RepaintManager and from AWT refresh. Call - RepaintManager.commitBuffer with this and local coordinates. - (findOpaqueParent): Stop searching at heavyweight component. These - are always opaque. - (paintChildrenOptimized): Don't paint heavyweight children. These - should care for themselves. - (paintChildrenWithOverlap): Don't paint heavyweight children. These - should care for themselves. - * javax/swing/RepaintManager.java - (getOffscreenBuffer): Associate offscreen buffer with toplevel - windows only. - (getVolatileOffscreenBuffer): Associate offscreen buffer with - toplevel windows only. - (getRoot): Removed obsolete method. - (commitBuffer): Blit buffer on nearest heavyweight. - (blitBuffer): New helper method. - (getHeavyweightParent): New helper method. - (commitRemainingBuffers): Call blitBuffer instead of commitBuffer. - * javax/swing/SwingUtilities.java - (convertRectangleToAncestor): New helper method. - -2006-06-14 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Fixed a typo. - Condition all trace/debug code based on Configuration.DEBUG. - Use logger instead of STDOUT and ot STDERR. - -2006-06-13 Lillian Angel - - * native/plugin/gcjwebplugin.cc - (NP_Initialize): Removed code to create whitelist file. - (GCJ_New): Added code to create whitelist file. - (plugin_user_trusts_documentbase): Fixed error message. - -2006-06-13 David Gilbert - - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.gradientMask): Modified by 1 pixel to - prevent overwriting border, - (VerticalSliderThumbIcon.gradientMask): Likewise. - -2006-06-13 Andrew John Hughes - - * javax/management/AttributeNotFoundException.java, - * javax/management/InvalidAttributeValueException.java, - * javax/management/JMException.java, - * javax/management/MBeanException.java, - * javax/management/OperationsException.java, - * javax/management/ReflectionException.java: - New files. - -2006-06-13 Roman Kennke - - * java/awt/Component.java - (dispatchEvent): Handle events even when consumed (this might be - picked up later in the dispatching chain). - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.mousePressed): Don't consume event. Only close popup - when target component isn't flagged as DONT_CANCEL_POPUP. - (DONT_CANCEL_POPUP): New package private constant for flagging - special components that don't trigger popup closing. - * javax/swing/plaf/basic/BasicArrowButton.java - (BasicArrowButton): Set client property for not triggering closing - of popups. - -2006-06-13 Lillian Angel - - * java/awt/image/PixelGrabber.java - (PixelGrabber): Added to API documentation. - -2006-06-13 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (ExceptionOnlyFilter): Allow null refId. - - * gnu/classpath/jdwp/event/BreakpointEvent.java: Added _instance for - compatibility with filters. - (getParameter): Modified to allow access to above. - -2006-06-13 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (create): Use stride in ints. - -2006-06-13 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/ClassUnloadEvent.java: New file. - -2006-06-13 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (calculateThumbSize): Removed unnecessary code, - (calculateThumbLocation): Shift position by one, - (calculateTickRect): Shift position by one when ticks are displayed, - (calculateLabelRect): Calculate rect differently according to whether - or not the labels are visible, - (paintTrack): Shift track down one pixel. - -2006-06-13 Lillian Angel - - * java/awt/image/PixelGrabber.java - (PixelGrabber): Removed check to throw exception. JDK does - not do this. - (startGrabbing): Removed line to print stacktrace. - -2006-06-13 Mark Wielaard - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): Don't - allocate unused AffineTransform. Add comment about conversion to - BufferedImage. - * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawImage): - Recognize identity transform as "easy". Always convert to - BufferedImage before calling super. - -2006-06-13 Roman Kennke - - * java/awt/Component.java - (getGraphics): Translate child graphics correctly. - (dispatchEvent): Only dispatch event if it hasn't been consumed - yet by the global dispatcher. - * javax/swing/plaf/basic/BasicLookAndFeel.java - Added some API docs. - (PopupHelper.mousePressed): Consume the event after closing - opened menus. - -2006-06-13 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java: Source code formatting - changes only, - * javax/swing/plaf/basic/BasicComboBoxUI.java: Likewise, - * javax/swing/plaf/basic/BasicComboPopup.java: Likewise, - * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise, - * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise, - * javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicRadioButtonUI.java: Likewise, - * javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicSliderUI.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/plaf/basic/BasicToolBarUI.java: Likewise, - * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. - -2006-06-12 Sven de Marothy - - * java/awt/font/LineBreakMeasurer.java): Implement. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/SingleStepEvent.java: New file. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/MethodEntryEvent.java: New file. - - * gnu/classpath/jdwp/event/MethodExitEvent.java: New file. - -2006-06-12 Roman Kennke - - * javax/swing/JComponent.java - (paintDoubleBuffered): Correctly translate and clip the Graphics - instance. - (clipAndTranslateGraphics): New helper method. - -2006-06-12 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Use getClip() to copy the clip. Make copied transform - null when original transform is null. Set clip here. - (setTransform): Correctly update the clip. - (setTransformImpl): New method. Updates the actual transform for - Cairo. - (transform): Correctly update the clip. - (translate): Correctly update the clip. - (clip): Handle null clip and argument correctly. - (clipRect): Avoid creating new Rectangle objects. - (getClip): Get the correct copy of the clip. - (setClip): Correctly handle null argument. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - (CairoSurfaceGraphics): Don't set the clip here. The clip can either - be null or whatever has been set in copy(). - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Add translation to the image coordinates. - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics): Don't set clip here. The clip can either - be null or whatever has been set in copy(). - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (forCaught): Removed unused/unnecessary method. - (forUncaught): Likewise. - (matches): Implement. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/ExceptionEvent.java: New file. - -2006-06-12 Keith Seitz - - From Kyle Galloway : - * gnu/classpath/jdwp/event/Event.java: Added constants for - type. - (getParameter): Changed parameter type from Class to int. - * gnu/classpath/jdwp/event/BreakpointEvent.java (getParameter): - Changed from Class type to constants. - * gnu/classpath/jdwp/event/ClassPrepareEventEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ThreadEndEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ThreadStartEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/VmDeathEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/VmInitEvent.java (getParameter): - Likewise. - * gnu/classpath/jdwp/event/ClassMatchFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/ClassOnlyFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/InstanceOnlyFilter.java (matches): - Likewise. - * gnu/classpath/jdwp/event/ThreadOnlyFilter.java (matches): - Likewise. - -2006-06-12 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java - (StandaloneAppletWindow): Changed title of standalone window. - -2006-06-12 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutContainer): Added missing selectedComponent assignment. - -2006-06-12 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (layoutContainer): Added check to prevent exception. - -2006-06-12 Tom Tromey - - * java/lang/Thread.java (uncaughtException): Javadoc fix. - -2006-06-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasLock): - New static field. - (ONE): Likewise. - (lock): New method. - (unlock): Likewise. - (draw): Use lock() and unlock(). - (fill): Likewise. - (drawRenderedImage): Likewise. - (drawImage): Likewise. - (drawGlyphVector): Likewise. - -2006-06-12 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawPixels): Include alpha in parameter list. - (cairoFill): Include alpha in parameter list. - (setComposite): Don't modify the color. - (draw(Shape))): Use fill when the current composite has an alpha - of != 1.0, so that the stroked shaped will be composited. - (fill(Shape)): Call cairoFill() with alpha. - (drawImage): Call drawPixels or drawSurface with alpha. - (drawGlyphVector): When composite alpha is != 1.0, render the - outline using fill() to enable compositing for text. - (drawRaster): Call drawPixels with alpha. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (nativeDrawSurface): Include alpha in parameter list. - (drawSurface): Include alpha in parameter list. Pass it to - nativeDrawSurface(). - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - * include/gnu_java_awt_peer_gtk_CairoSurface.h: - Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (drawPixels): Handle possible alpha for compositing. - (cairoFill): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeDrawSurface): Handle possible alpha for compositing. - -2006-06-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): - Notify data when completely done. Wait for worker thread to finish. - Rethrow any pending exceptions. - (exception): New field. - (run): Store pending exception. - -2006-06-12 Andrew John Hughes - - * java/lang/management/ManagementPermission.java: - New file. - -2006-06-12 Raif S. Naffah - - * doc/tools.texinfo: Replaced original author with "The GNU Classpath Team". - -2006-06-12 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): - Use String.charAt(). - -2006-06-11 Thomas Fitzsimmons - - * doc/tools.texinfo - (Applet Tools): New chapter. - (appletviewer Tool): New section. - (gcjwebplugin): New section. - -2006-06-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): - Takes GdkPixbufWriter. - (GdkPixbufWriter): Implements Runnable. - (write(IIOMetadata,IIOImage,ImageWriteParam)): Start Thread for - data processing. - (DATADONE): New static final field. - (data): New field. - (write(byte[])): New method. - (run): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initStaticState): - Get dataOutputWriteID from writeClass. - (stream_save_request): Change stream field to writer. - (save_to_stream): Remove FIXME, call writer. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): - Store writer. - -2006-06-11 Andrew John Hughes - - * NEWS: - Mention new VM interface and use of properties. - * doc/vmintegration.texinfo: - Update with new gnu.java.lang.management section. - * gnu/java/lang/management/RuntimeMXBeanImpl.java: - New file. - * java/lang/management/ManagementFactory.java: - (getRuntimeMXBean()): Implemented. - * vm/reference/gnu/java/lang/management/RuntimeMXBeanImpl.java: - New VM interface file. - -2006-06-11 Raif S. Naffah - - PR Classpath/26065 - * gnu/javax/security/auth/login/GnuConfiguration.java: Condition all trace/ - debug code based on Configuration.DEBUG. - Use logger instead of STDOUT and ot STDERR. - * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. - * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. - * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. - * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. - * gnu/javax/crypto/prng/CSPRNG.java: Likewise. - * gnu/javax/crypto/pad/TBC.java: Likewise. - * gnu/javax/crypto/pad/PKCS7.java: Likewise. - * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. - * gnu/javax/crypto/pad/BasePad.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. - * gnu/javax/crypto/keyring/Entry.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. - * gnu/javax/crypto/cipher/Twofish.java: Likewise. - * gnu/javax/crypto/cipher/Khazad.java: Likewise. - * gnu/javax/crypto/cipher/Rijndael.java: Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. - * gnu/javax/crypto/cipher/Anubis.java: Likewise. - * gnu/java/security/Properties.java: Likewise. - * gnu/java/security/x509/X509CRLEntry.java: Likewise. - * gnu/java/security/x509/X509CRL.java: Likewise. - * gnu/java/security/x509/ext/Extension.java: Likewise. - * gnu/java/security/util/Prime2.java: Likewise. - * gnu/java/security/util/Base64.java: Likewise. - * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. - * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. - * gnu/java/security/pkcs/SignerInfo.java: Likewise. - * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. - * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. - * gnu/java/security/hash/Whirlpool.java: Likewise. - -2006-06-11 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): - Remove unused variable glyph_index. - -2006-06-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): - Don't recurse, return false if not an BufferedImage and no image - source available. - * gnu/java/awt/peer/gtk/ComponentGraphics.java (draw): Add - end_gdk_drawing() to finally block. - (fill): Likewise. - (drawRenderedImage): Likewise. - (drawImage): Likewise. - (drawGlyphVector): Likewise. - -2006-06-11 Raif S. Naffah - - * doc/tools.texinfo: Added text for new -cacert command. - Re-structured sections. - * resource/gnu/classpath/tools/keytool/messages.properties: Added messages - for -cacert command. - * tools/gnu/classpath/tools/keytool/Main.java (CACERT_CMD): New constant. - (_CACERT): Likewise. - (shutdownThread): New field. - (Main): Install shutdown thread. - (main): Uninstall shutdown thread. - (start): Handle new -cacert command. - (getParser): Likewise. - (teardown): Increased visibility. - (ShutdownHook): New inner class. - * tools/gnu/classpath/tools/keytool/CACertCmd.java: New file. - -2006-06-11 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (setupGlyphMetrics): New method. Add glyphmetrics caching. - (getOutline): Operate on the shape directly. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getGlyphMetrics,putGlyphMetrics): Add GlyphMetrics caching. - * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h - (getGlyph renamed getGlyphs) - * java/awt/geom/AffineTransform.java - (getTranslateInstance): Set fields directly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (getGlyphs): Get all glyph codes at once. - -2006-06-11 Raif S. Naffah - - PR Classpath/27853 - * gnu/javax/crypto/RSACipherImpl.java (engineDoFinal): Was short by 1 byte. - -2006-06-11 Sven de Marothy - - * java/awt/font/TextLayout.java - (getLogicalHighlightShape): Add check. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (getLogicalBounds, getGlyphPositions): Cache bounds, positions. - -2006-06-11 Raif S. Naffah - - * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): - Check that every component of 'cn' starts with a valid Java identifier char. - -2006-06-10 Tom Tromey - - * java/io/File.java (pathSeparator): Typo fix. - -2006-06-10 Mark Wielaard - - * native/jni/gtk-peer/cairographics2d.h (cp_gtk_get_cairo_t): - Removed. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - Mark all unused parameters. - (cp_gtk_get_cairo_t): Removed. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): - Don't mix declerations and statements. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: - Mark all unused parameters. - (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): - Get cairographics2d pointer directly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Use jlong to pass pointer. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Mark all unused parameters. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: Regenerated. - * include/java_io_VMFile.h: Regenerated. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics(VolatileImageGraphics)): Use clipRect() - instead of setClip(), so that an already present clip is intersected - and not resetted. - -2006-06-10 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkFontPeer.java (GdkFontLineMetrics): - Call getSize() to avoid accessor method. - -2006-06-10 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (addSpecialElement): - Qualify ElementSpec. - -2006-06-10 Mark Wielaard - - * lib/.cvsignore: Add sun. - * lib/Makefile.am (dist-hook): Likewise. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/CairoSurface.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - * native/jni/gtk-peer/cairographics2d.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Changed method signatures and calls to pass native pointers directly - into the JNI code, in order to avoid costly lookups on each - JNI call. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, - * include/gnu_java_awt_peer_gtk_CairoSurface.h, - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h, - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: - Regenerated - -2006-06-10 Audrius Meskauskas - - PR 27973 - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insertContentTag): - Do not recreate leaves and do not remove elements here. - -2006-06-10 Audrius Meskauskas - - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.HiddenAction): Implemented. - -2006-06-10 Roman Kennke - - * javax/swing/RepaintManager.java - (getVolatileOffscreenBuffer): Store the created buffer. - * javax/swing/JComponent.java - (paintDoubleBuffered): Try to use a volatile offscreen buffer - for better performance. - -2006-06-10 Roman Kennke - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - (VolatileImageGraphics(VolatileImageGraphics)): Initialize native - context correctly. - (getRealBounds): Overridden to return the correct bounds. - -2006-06-10 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Fixed to paint the gradient under the correct conditions. - (updateWidthGradient): Removed. - (isToolbarButton): New helper method. - (isDrawingGradient): New helper method. - -2006-06-09 Roman Kennke - - * javax/swing/JTabbedPane.java - (setSelectedIndex): Don't change the visibility of the components, - this is done by the UI class. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.layoutContainer): Change visibility of component - here, depending on the selected index. Only do this if the new - selected component is not null. Some programs seem to expect - this. - (visibleComponent): New field. - (getVisibleComponent): Changed to return visibleComponent field. - (setVisibleComponent): Changed to set the visibility of - the old and new visible component. - -2006-06-09 Roman Kennke - - * javax/swing/JComponent.java - (paintChildrenOptimized): Paint component with a new Graphics - object to protect the other painting code from modifications - done in that object, and avoid cleanup ops on possibly dispose()ed - Graphics object. - -2006-06-09 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): - Use GTK locks while disposing (Xlib) surface. - -2006-06-09 Tom Tromey - - * lib/Makefile.am (install-data-local): Copy 'sun' files. - (uninstall-local): Delete 'sun' directory. - (glibj.zip): Include 'sun' classes. - (clean-local): Delete 'sun' directory. - * lib/gen-classlist.sh.in: Search 'sun' subdirectories. - -2006-06-09 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawImage): Fixed scaling. - (fillShape): Removed offset handling. - (fillShapeImpl): Limit scanlining to device bounds. - (getSegments): Removed offset handling. - * gnu/java/awt/java2d/PolyEdge.java - (toString): Include isClip flag in output. - -2006-06-08 Sven de Marothy - - * java/awt/font/TextLayout.java - (getOutline): Allow null transform. - -2006-06-08 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawString): Use TextLayout instead of GlyphVector. - -2006-06-08 Sven de Marothy - - * java/text/Bidi.java: Treat WS as neutral for rules N1 & N2. - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - New constructor for bidirectionality. - (getGlyphMetrics): Return whitespace glyphs. - (getLogicalBounds): Offset rectangles to correct positions. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getBaselineFor): Default to ROMAN_BASELINE. - (GdkFontLineMetrics): Guess some values for underline and - strikethrough. - (layoutGlyphVector): Use bidirectionality. - * java/awt/font/TextLayout.java: Implement, mostly. - -2006-06-09 Anthony Green - - PR classpath/27888: - * javax/swing/text/GapContent.java (binarySearch): Use unsigned shift. - * java/util/Collections.java (binarySearch): Use unsigned shift. - * java/util/Arrays.java (binarySearch): Use unsigned shift. - -2006-06-09 Tom Tromey - - * tools/.cvsignore: Added .deps. - -2006-06-09 Kazuya Ujihara - - PR classpath/27966: - * gnu/javax/security/auth/login/ConfigFileParser.java - (validateClassName): Quote '.' in regexp. - -2006-06-09 Tom Tromey - - PR classpath/23863: - * native/fdlibm/dtoa.c (_dtoa): Free contents of _Jv_reent when - finished. - * native/fdlibm/mprec.c: New version from newlib. Commented out - some includes. Added . - (_reent, _Bigint): New defines. - (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S): Likewise. - (__ULong, __Long): New types. - (_calloc_r): New function. - (Balloc): Dynamically add new _freelist entries as needed. - * native/fdlibm/mprec.h (struct _Jv_Bigint): Don't use - MAX_BIGNUMS to size _x[]. - (struct _Jv_reent): _freelist now a _Jv_Bigint**. Removed - _allocation_map, num. Added _max_k. - -2006-06-09 Roman Kennke - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawGlyphVector): Added fallback for non-FreetypeGlyphVector - implementations. - -2006-06-09 David Gilbert - - * java/awt/image/BufferedImage.java - (BufferedImage(int, int, int)): Added API docs, - (getProperty(String)): Return correct value for undefined properties, - (getPropertyNames()): Added comments and removed FIXME. - -2006-06-09 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (PLUGIN_ERROR_THREE): New macro. - (NP_Initialize): Use PLUGIN_ERROR_THREE in place of g_strconcat. - -2006-06-09 Francis Kung - - * javax/swing/plaf/basic/BasicComboBoxRenderer.java: - (getPreferredSize): Return correct height for null or empty - items. - -2006-06-09 David Gilbert - - * java/awt/datatransfer/DataFlavor.java - (readExternal): Mark as stub, - (writeExternal): Likewise, - * java/awt/dnd/DropTargetContext.java - (dropComplete): Mark as stub, - (acceptDrag): Likewise, - (rejectDrag): Likewise, - (acceptDrop): Likewise, - (rejectDrop): Likewise, - (getCurrentDataFlavors): Likewise, - (getTransferable): Likewise, - * java/awt/dnd/DropTargetDropEvent.java - (dropComplete): Mark as stub. - -2006-06-09 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java - (constructor): Do not lowercase the values. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.addSpecialElement): Implemented. - * examples/gnu/classpath/examples/swing/HtmlDemo.java: New file. - -2006-06-09 Raif S. Naffah - - On behalf of Matthew Wringe - * gnu/java/security/Registry.java (ISO10126_PAD): New constant. - * gnu/javax/crypto/pad/ISO10126.java: New class. - * gnu/javax/crypto/pad/PadFactory.java (names): New field. - (getInstance): Added support for ISO-10126 scheme. - (getNames): Likewise. - Cache result for speed. - -2006-06-09 Raif S. Naffah - - * gnu/javax/crypto/pad/BasePad.java (selfTest): Re-factored to allow more - flexible self-test by sub-classes. - (test1BlockSize): New method. - -2006-06-09 David Gilbert - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Corrected 'ScrollBar.focusInputMap' entry, - * javax/swing/plaf/basic/BasicScrollBarUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installUI): Call installKeyboardActions(), - (uninstallUI): Call uninstallKeyboardActions(). - -2006-06-09 David Gilbert - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (getActionMap): Use correct key to store action map. - -2006-06-09 Jeroen Frijters - - * gnu/java/awt/font/opentype/truetype/VirtualMachine.java - (executeInstruction): Added NOT support. - -2006-06-09 Jeroen Frijters - - * sun/reflect/annotation/AnnotationInvocationHandler.java: - New file. - -2006-06-08 Tom Tromey - - * java/text/Bidi.java (resolveNeutralTypes): Set j'th slot - of 'types'. - -2006-06-09 Andrew John Hughes - - * java/lang/management/RuntimeMXBean.java: - New file. - -2006-06-08 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - (NP_Shutdown): Freed whitelist_filename. - -2006-06-08 Lillian Angel - - * native/plugin/Makefile.am: - Removed DATA_DIRECTORY. - * native/plugin/gcjwebplugin.cc: - Added new global fields for whitelist_file - and data_directory. Removed WHITELIST_FILE. - (NP_Initialize): Initialized new fields. Also, - Changed to use new fields. - (NP_Shutdown): Freed data_directory. - (GCJ_New): Changed to use new fields. - (plugin_ask_user_about_documentbase): Likewise. - -2006-06-08 Lillian Angel - - * native/plugin/Makefile.am: - Changed DATA_DIRECTORY to be ~/.gcjwebplugin. - * native/plugin/gcjwebplugin.cc: - Changed all instances of PLUGIN_DATA_DIRECTORY - to DATA_DIRECTORY. - -2006-06-08 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Replaced calls to AWTUtilities.convertPoint() - with convertPointToChild(). This is more efficient and avoids - problems with getLocationOnScreen(). - (findTarget): Check for component beeing showing() early. - Simplified AWTUtilities.convertPoint() to a simple substraction - operation. - (convertPointToChild): New helper method. - -2006-06-08 Thomas Fitzsimmons - - * native/plugin/gcjwebplugin.cc (SECURITY_DESCRIPTION): Update - message. - -2006-06-08 Tom Fitzsimmons - Lillian Angel - - * native/plugin/gcjwebplugin.cc - (NP_Shutdown): Added code to free plugin mutex and whitelist file. - Also, reset initialized field. - -2006-06-08 Lillian Angel - - * javax/swing/plaf/basic/BasicProgressBarUI.java - (paintString): Fixed to paint string at the correct location. - -2006-06-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (createDefaultActions): Added new actions. - (TreePageAction.TreePageAction): Set action name. - (TreePageAction.actionPerformed): Implemented. - (TreePageAction.isEnabled): Implemented. - (TreeToggleAction.TreePageAction): Set action name. - (TreeToggleAction.actionPerformed): Implemented. - (TreeToggleAction.isEnabled): Implemented. - (TreeTraverseAction.TreeTraverseAction): Set action name. - (TreeTraverseAction.actionPerformed): Use action name as command. - (TreeTraverseAction.isEnabled): Implemented. - -2006-06-08 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (installKeyboardActions): Rewritten to correctly install the UI - input and action maps. - (getActionMap): New helper method. - (createDefaultActionMap): New helper method. - (TreeHomeAction.TreeHomeAction()): Implemented. - (TreeHomeAction.actionPerformed): Implemented. - (TreeHomeAction.isEnabled): Implemented. - (TreeIncrementAction.TreeIncrementAction()): Implemented. - (TreeIncrementAction.actionPerformed): Use action name as command. - (TreeIncrementAction.isEnabled): Implemented. - -2006-06-08 Mark Wielaard - - PR 27917 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Ref pixbuf - and unref loader. - -2006-06-08 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (attrs): Removed unused static. - -2006-06-08 David Gilbert - - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented. - -2006-06-08 Robert Schuster - - * javax/swing/border/MatteBorder.java: - (MatteBorder(int,int,int,int,Icon)): Removed if-statement and exception - throwing. - (paintBorder): Added if-statement to abort painting early. - -2006-06-08 Robert Schuster - - Fixes PR27864. - * gnu/xml/dom/DomIterator.java: - (successor): Changed expression. - -2006-06-08 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (defaultLayout): Do kerning. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - (getKerning): Correct class name, removed unused variable. - -2006-06-07 Thomas Fitzsimmons - - * gnu/java/awt/peer/qt/QtToolkit.java (initToolkit): Load - libqtpeer.so unconditionally. - -2006-06-07 Andrew John Hughes - - * java/util/InputMismatchException.java: - Documented. - -2006-06-07 Andreas Tobler - - * native/jawt/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. - -2006-06-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (completeUIUninstall): Implemented. - (uninstallUI): Moved some bits to completeUIUninstall(). Complete - editing before uninstalling anything. - (isToggleEvent): Implemented. - (selectPathForEvent): Make use of isToggleEvent(). - (ComponentHandler.componentMoved): Implemented. - (ComponentHandler.startTimer): Implemented. - (ComponentHandler.getScrollPane): Implemented. - (ComponentHandler.actionPerformed): Implemented. - -2006-06-07 Francis Kung - - * javax/swing/JMenuBar.java: - (getSubElements): Do not return null values. - -2006-06-07 Roman Kennke - - PR 27902 - * gnu/regexp/BacktrackStack.java - * gnu/regexp/CharIndexed.java - * gnu/regexp/CharIndexedCharArray.java - * gnu/regexp/CharIndexedCharSequence.java - * gnu/regexp/CharIndexedInputStream.java - * gnu/regexp/CharIndexedString.java - * gnu/regexp/CharIndexedStringBuffer.java - * gnu/regexp/RE.java - * gnu/regexp/REException.java - * gnu/regexp/REFilterInputStream.java - * gnu/regexp/REMatch.java - * gnu/regexp/REMatchEnumeration.java - * gnu/regexp/RESyntax.java - * gnu/regexp/REToken.java - * gnu/regexp/RETokenAny.java - * gnu/regexp/RETokenBackRef.java - * gnu/regexp/RETokenChar.java - * gnu/regexp/RETokenEnd.java - * gnu/regexp/RETokenEndOfPreviousMatch.java - * gnu/regexp/RETokenEndSub.java - * gnu/regexp/RETokenIndependent.java - * gnu/regexp/RETokenLookAhead.java - * gnu/regexp/RETokenLookBehind.java - * gnu/regexp/RETokenNamedProperty.java - * gnu/regexp/RETokenOneOf.java - * gnu/regexp/RETokenPOSIX.java - * gnu/regexp/RETokenRange.java - * gnu/regexp/RETokenRepeated.java - * gnu/regexp/RETokenStart.java - * gnu/regexp/RETokenWordBoundary.java - * gnu/regexp/UncheckedRE.java - * gnu/java/util/regex/BacktrackStack.java - * gnu/java/util/regex/CharIndexed.java - * gnu/java/util/regex/CharIndexedCharArray.java - * gnu/java/util/regex/CharIndexedCharSequence.java - * gnu/java/util/regex/CharIndexedInputStream.java - * gnu/java/util/regex/CharIndexedString.java - * gnu/java/util/regex/CharIndexedStringBuffer.java - * gnu/java/util/regex/RE.java - * gnu/java/util/regex/REException.java - * gnu/java/util/regex/REFilterInputStream.java - * gnu/java/util/regex/REMatch.java - * gnu/java/util/regex/REMatchEnumeration.java - * gnu/java/util/regex/RESyntax.java - * gnu/java/util/regex/REToken.java - * gnu/java/util/regex/RETokenAny.java - * gnu/java/util/regex/RETokenBackRef.java - * gnu/java/util/regex/RETokenChar.java - * gnu/java/util/regex/RETokenEnd.java - * gnu/java/util/regex/RETokenEndOfPreviousMatch.java - * gnu/java/util/regex/RETokenEndSub.java - * gnu/java/util/regex/RETokenIndependent.java - * gnu/java/util/regex/RETokenLookAhead.java - * gnu/java/util/regex/RETokenLookBehind.java - * gnu/java/util/regex/RETokenNamedProperty.java - * gnu/java/util/regex/RETokenOneOf.java - * gnu/java/util/regex/RETokenPOSIX.java - * gnu/java/util/regex/RETokenRange.java - * gnu/java/util/regex/RETokenRepeated.java - * gnu/java/util/regex/RETokenStart.java - * gnu/java/util/regex/RETokenWordBoundary.java - * gnu/java/util/regex/UncheckedRE.java - Moved gnu.regexp classes to gnu.java.util.regex package. - * java/util/regex/Matcher.java - * java/util/regex/Pattern.java - Adjusted import statements for new package name for gnu regexp. - -2006-06-07 Tom Tromey - - PR classpath/27905: - * gnu/java/nio/charset/Provider.java (loadExtended): Now synchronized. - Added missing charsets. - (charsetForName): Don't check 'extendedLoaded'. - -2006-06-07 Roman Kennke - - PR 27833 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clip(Shape)): Implemented correctly, so that the current shape - gets intersected by the parameter shape. - -2006-06-07 Lillian Angel - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (getTabBounds): If this method is called with a tab index - that is not in the rects array, we need to re-layout the container - so it is created. - -2006-06-07 Lillian Angel - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - (FreetypeGlyphVector): Removed assignment. Caused compilation error. - * java/lang/String.java - (codePointCount): Fixed check to match API. Shouldn't throw exception - if end == count. end is 1 more than the endIndex, so end == count is - possible. - -2006-06-07 Gary Benson - - PR 24895 - * native/jni/java-io/java_io_VMFile.c - (Java_java_io_VMFile_toCanonicalForm): New method. - * configure.ac: Added checks for lstat and readlink. - * include/java_io_VMFile.h: Added new method. - * vm/reference/java/io/VMFile.java: Use new method. - * gnu/java/io/PlatformHelper.java (toCanonicalForm): Removed. - * NEWS: Documented the above. - * java/io/File.java: Javadoc fix. - -2006-06-07 Roman Kennke - - PR 27920 - * javax/swing/JTree.java - (JTree()): Initialize with default model. - (JTree(TreeModel)): Clear expanded state hashtable. Added comment - on the updateUI() / setModel() order. - (setModel): Correctly (un-)setup the listeners. Clear the expanded - paths. - * javax/swing/plaf/basic/BasicTreeUI.java - (BasicTreeUI()): Initialize listeners in installListeners(). - (setModel): Complete editing on model change. Correctly resetup - the listeners. Update the layout cache accordingly. - (setShowRootHandles): Complete editing and update layout. Do not - call back into the JTree, this could cause cycles. - (prepareForUIInstall): Implemented. Moved some init code from - installUI() to this method. - (completeUIInstall): Implemented. Moved some init code from - installUI() to this method. - (createDefaultCellEditor): Check for type of renderer, and install - with null renderer when not DefaultTreeCellRenderer. - (updateLayoutCacheExpandedNodes): Added null check for tree root - to avoid NPE. - (updateRenderer): Call updateEditor(). - (installListeners): Initialize the listeners here. Added some null - checks to avoid NPEs. - (installUI): Moved some init code to prepareForUIInstall() and - completeUIInstall(). - (completeEditing): Return immediately if editing component is null - or if the setting is to not stop editing on complete editing. - (checkForClickInExpandControl): Call handleExpandControlClick() - instead of toggleExpandState() directly. - (isLocationInExpandControl): Rewritten to correctly determine the - expand click location. - (MouseHandler.mousePressed): Rewritten to make better use of the - instance methods of BasicTreeUI to handle the click. - (PropertyHandler.propertyChange): Handle model and cell renderer - updates. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTreeCellEditor): Removed initialization of the icon. This - is done so that the constructor can deal with null renderer as the - RI does. Maybe this needs more fixing. - * javax/swing/tree/TreePath.java - (isDescendant): Fixed this method. The previous version did too - much and compared the wrong things, which lead to a ClassCastException - in equals(). - * javax/swing/tree/VariableHeightLayoutCache.java - (update): Do nothing when model is null. - (setModel): Clear the tables and update the layout. Added null - check to prevent NPE. - -2006-06-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/GdkGlyphVector: Removed file. - -2006-06-07 Sven de Marothy - - * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java - * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c - New files. - - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getGlyphVector): Removed native method. - (createGlyphVector, getStringBounds): Use new GV class. - - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getGlyphVector): Removed native method. - -2006-06-07 Chris Burdess - - * gnu/classpath/debug/TeeInputStream.java, - gnu/classpath/debug/TeeOutputStream.java, - gnu/classpath/debug/TeeReader.java, - gnu/classpath/debug/TeeWriter.java: New classes for debugging streams. - * gnu/xml/stream/XMLParser.java: Use tee streams for debugging. Don't - read more characters than absolutely necessary in tryRead method. - -2006-06-07 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Put look and feel radio buttons into - appropriate button group. - -2006-06-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XMLParser.java: Add command line options for setting - parsing parameters (for simpler debugging). - * gnu/xml/transform/TransformerImpl.java: Try to ensure that I/O error - closing output stream is propagated to application. - -2006-06-06 Mark Wielaard - - PR 27917 - * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call dispose. - * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose to - call disposeSurface. - (disposeSurface): New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free - pattern_pixels. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call - cairo_pattern_destroy. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): - New function to destroy the surface. - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. - * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise. - -2006-06-06 Mark Wielaard - - * include/jni.h (JDK1_1InitArgs): Mark pointer-to-function types - with JNICALL. - -2006-06-06 David Gilbert - - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (paint): If has focus, paint special background color, - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (FocusHandler.focusGained): Implemented, - (FocusHandler.focusLost): Implemented. - -2006-06-06 Tom Tromey - - * javax/swing/text/StyleContext.java (registerStaticAttributeKey): - Javadoc fix. - (writeAttributeSet): Implemented. - -2006-06-06 Tom Tromey - - * javax/swing/text/html/HTMLDocument.java (SpecialAction.start): - Implement. - (SpecialAction.end): Removed. - (IsindexAction.end): Likewise. - -2006-06-06 Tom Tromey - - * include/jni.h (JDK1_1InitArgs): New struct. - (JDK1_1AttachArgs): Likewise. - -2006-06-06 Tom Tromey - - * java/security/UnresolvedPermission.java (getUnresolvedType): New - method. - (getUnresolvedName): New method. - (getUnresolvedActions): New method. - (getUnresolvedCerts): New method. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Removed debugging code. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java - (getColor): Added support for "rgb(red, green, blue)" notation. - (translateTag): Use Boolean.TRUE, not new Boolean(). - -2006-06-06 Roman Kennke - - PR 27651 - * javax/swing/JTree.java - (JTree(TreeModel)): Call updateUI() before setModel(). - (setModel): Don't call updateUI here. - -2006-06-06 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - Fixed failure message and commenting. - (NP_Initialize): Added more comments. - -2006-06-06 David Gilbert - - * javax/swing/JSplitPane.java - (AccessibleJSplitPane): API doc fixes, - (setDividerLocation): Likewise, - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Additions to SplitPane.ancestorInputMap, - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method, - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented. - -2006-06-06 Roman Kennke - - PR 27523 - * javax/swing/MenuSelectionManager.java - (processKeyEvent): Added check to avoid - ArrayIndexOutOfBoundsException. - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/htmlAttributeSet.java - (getAttributeNames): Rewritten - -2006-06-06 Chris Burdess - - * gnu/xml/transform/TransformerImpl.java: Check type of created - document (more cases). - -2006-06-06 Audrius Meskauskas - - * gnu/javax/swing/text/html/htmlAttributeSet.java - (clone): New method. (copyAttributes): New method. - (getResolveParent): Comment fix. (getAttribute): - Rewritten. (addAttribute): Rewritten. - * gnu/javax/swing/text/html/SmallHtmlAttributeSet.java: - New file. - -2006-06-06 Roman Kennke - - PR 27522 - * javax/swing/JMenuBar.java - (processKeyBindingHelper): Added null check to prevent NPE. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (ShowSystemMenuAction): New class. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/metal/MetalInternalFrameUI.java - (installKeyboardActions): Overridden to remove showSystemMenu action. - -2006-06-06 Chris Burdess - - * gnu/xml/transform/TransformerImpl.java: Check type of created - document. - -2006-06-06 Robert Schuster - - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: - (getScreenDevices): Added explicit cast. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (installKeyboardActions): Use shared input map. Correctly - install the input/action maps in the component's input/action - map hierarchies. - (getActionMap): New helper method for fetching an ActionMap from - the UIManager or creating a default one if there is none supplied - by the UIManager. - (createActionMap): Add the TransferHandler's actions here. Made - method private. - (getInputMap): Leave out unnecessary method parameter. Load - shared input map. - * javax/swing/plaf/basic/SharedUIDefaults.java: New file. - -2006-06-06 Robert Schuster - - * configure.ac: Added missing [ to expression. - -2006-06-06 Robert Schuster - - * configure.ac: Added missing { to expression. - -2006-06-06 Robert Schuster - - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: Regenerated. - * include/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.h: New file. - * include/Makefile.am: Added - gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice. - * gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java: - (GdkGraphicsConfiguration): Rewritten. - (getColorModel): Rewritten. - (getColorModel(int)): Rewritten. - (getBounds): Rewritten. - (createCompatibleVolatileImage): Implemented. - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: Added static - initializer. - (getDefaultScreenDevice): Rewritten. - (nativeGetDefaultScreenDevice): New method. - (getScreenDevices): Rewritten. - (nativeGetScreenDevices): New method. - (nativeInitState): New method. - * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Entirely - rewritten. - (X11DisplayMode): New inner class. - * native/jni/gtk-peer/Makefile.am: Added gdkdisplay.h and - gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c - * native/jni/gtk-peer/gdkdisplay.h: New file. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c: - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_initStaticState): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeInitState): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment - _nativeGetScreenDevices): - New function. - (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment - _nativeGetDefaultScreenDevice): - New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c: - New file. - * configure.ac: Added check for Xrandr library. - -2006-06-06 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (getMaximumSize): Don't return null. Fixed calculation of - table height. - (getMinimumSize): Don't return null. Fixed calculation of - table height. - (getPreferredSize): Fixed calculation of with and height. Added - API docs. - (getHeight): New helper method. - -2006-06-06 David Gilbert - - * javax/swing/JComponent.java - (getInputMap(int)): Throw IllegalArgumentException for unknown - condition argument, and added API docs, - (getInputMap()): Added API docs. - -2006-06-06 Robert Schuster - - * java/awt/BufferedImage.java: Added fourth 8 to bits4 field. - -2006-06-06 David Gilbert - - * javax/swing/JTable.java - (AccessibleJTableHeaderCell.header): New field, - (AccessibleJTableHeaderCell.columnIndex): Likewise, - (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, - (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, - (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, - (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, - (AccessibleJTable.getAccessibleChild(int)): Overridden, - (AccessibleJTable.getAccessibleAt): Reimplemented. - -2006-06-05 Sven de Marothy - - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (initFromVolatile): New method. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - Reimplement. - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - (copyArea, drawVolatileImage): New methods. - -2006-06-05 Tania Bento - - * javax/swing/JFrame.java - (frameInit): Set background color and fixed layout parameters. - -2006-06-05 Tom Tromey - - * NEWS: Mention VMURLConnection. - -2006-06-05 Lillian Angel - - * native/plugin/gcjwebplugin.cc: - Added new field to keep track of initialization. - (plugin_start_appletviewer): Fixed to return an error value, if - an error was encountered when loading the appletviewer. - (GCJ_NEW): Added call to plugin_failed if the loading of the appletviewer - has failed. - (plugin_failed): New helper function. Shows a warning if the appletviewer - has not been installed. - (NP_Initialize): Added code to make sure this function is only called - once. - -2006-06-05 Lillian Angel - - * native/plugin/Makefile.am: - Fixed to use a set plugin directory in the .mozilla directory. - All applet logs are now stored here, instead of /tmp. - * native/plugin/gcjwebplugin.cc: - Added new fields for security warning. - (GCJ_NEW): Added code to generate a security warning for all pages - that spawn an appletviewer. This warning asks the user if they trust - the applet and if they would like to add it to a 'whitelist'. This - whitelist keeps track of all the addresses the user would like - to trust indefinitely. - (plugin_user_trusts_documentbase): New helper function. - (plugin_add_documentbase_to_whitelist): New helper function. - (plugin_ask_user_about_documentbase): New helper function. - (plugin_in_pipe_callback): Fixed check to determine if channel_error - has been set. - (plugin_start_appletviewer): Likewise. - (plugin_create_applet_tag): Reset all fields to null after they have been - freed. - (plugin_send_message_to_appletviewer): Fixed all error checks to determine - if channel_error has been set. - (plugin_stop_appletviewer): Likewise. - (NP_Initialize): Likewise. Also, added code to determine if directory and file - should be created. - -2006-06-05 Francis Kung - - PR 27507 - * gnu/java/awt/peer/gtk/GtkImage.java - (getSource): Added check to determine if in - errorLoading state. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage): Added check to prevent NPE. - -2006-06-05 Audrius Meskauskas - - * javax/swing/text/html/HTMLEditorKit.java (HTMLFactory.create): - Create the ImageView, when applicable. - * gnu/javax/swing/text/html/CombinedAttributes.java, - javax/swing/text/html/ImageView.java: New files. - -2006-06-05 Roman Kennke - - PR 27834 - * javax/swing/text/GapContent.java - (setPositionsInRange): Compare with startIndex and endIndex - rather than start and end. - (dumpMarks): Only dump real marks. - -2006-06-05 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (ComponentGraphics): Use 0,0 as clip origin. - -2006-06-04 Andrew John Hughes - - * java/util/Formattable.java, - * java/util/FormattableFlags.java, - * java/util/Formatter.java: - Documented. - -2006-06-04 Tom Tromey - - * javax/naming/Context.java (list): Genericized. - (listBindings): Likewise. - * javax/naming/Reference.java (addrs): Genericized. - * javax/naming/InitialContext.java (myProps): Fixed type. - (init): Genericized. - -2006-06-04 Andrew John Hughes - - * java/util/DuplicateFormatFlagsException.java, - * java/util/FormatFlagsConversionMismatchException.java, - * java/util/FormatterClosedException.java, - * java/util/IllegalFormatCodePointException.java, - * java/util/IllegalFormatConversionException.java, - * java/util/IllegalFormatException.java, - * java/util/IllegalFormatFlagsException.java, - * java/util/IllegalFormatPrecisionException.java, - * java/util/IllegalFormatWidthException.java, - * java/util/MissingFormatArgumentException.java, - * java/util/MissingFormatWidthException.java, - * java/util/UnknownFormatConversionException.java, - * java/util/UnknownFormatFlagsException.java: - Documented. - -2006-06-04 Andrew John Hughes - - * java/lang/System.java: - (getenv()): Handle cases where split only - returns an array of size 1. - -2006-06-04 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (createVolatileImage): Pass peer to VolatileImage constructor. - * java/awt/Component.java - (createVolatileImage): Call peer method directly. - -2006-06-04 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java - (getFlippedBuffer): New method. - (getGtkImage): Renamed method. - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - Renamed getSharedImage to getGtkImage. - * include/gnu_java_awt_peer_gtk_CairoSurface.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (getFlippedBuffer): New method - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Avoid window casts. -2006-06-04 Andrew John Hughes - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: - (drawVolatile): Add casts. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: - (getOutline): Add casts. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: - Comment out unused prototype. - (getPixels): Add appropriate cast and comment out unused variable. - -2006-06-04 Raif S. Naffah - - * gnu/javax/crypto/sasl/SaslUtil.java: Remove unused import. - * gnu/javax/crypto/sasl/srp/SRPRegistry.java (PASSWORD_DB): Fix javadoc @link. - * gnu/javax/crypto/sasl/srp/PasswordFile.java: Removed unused import. - * gnu/javax/crypto/prng/CSPRNG.java (FILE_SOURCES): Fix javadoc @see. - (getSystemInstance): Fix javadoc @link. - (counter): Increased visibility. - * gnu/javax/crypto/pad/TLS1.java: Remove unused import. - * gnu/javax/crypto/pad/IPad.java: Fix javadoc @link. - * gnu/javax/crypto/pad/PKCS1_V1_5.java (PKCS1_V1_5): Likewise. - * gnu/javax/crypto/pad/PKCS7.java (PKCS7): Likewise. - * gnu/javax/crypto/pad/TBC.java (TBC): Likewise. - * gnu/javax/crypto/mode/CTR.java: Remove unused import. - * gnu/javax/crypto/mode/BaseMode.java (defaultBlockSize): Fix javadoc @see. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (getEncoded): Fix javadoc @see. - * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Fix javadoc @link. - * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Remove unused imports. - * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. - * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. - * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. - * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. - * gnu/javax/crypto/mac/OMAC.java: Likewise. - * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. - * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. - * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. - * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Fix javadoc @link. - * gnu/javax/crypto/jce/cipher/CipherAdapter.java (CipherAdapter): Likewise. - * gnu/javax/crypto/cipher/BaseCipher.java: Remove unused import. - * gnu/javax/crypto/assembly/Cascade.java: Fix javadoc @link. - * gnu/javax/crypto/assembly/Direction.java: Likewise. - * gnu/javax/crypto/assembly/Transformer.java: Likewise. - -2006-06-04 Raif S. Naffah - - * gnu/java/security/PolicyFile.java: Updated copyright year. - (logger): Increased visibility. - * gnu/java/security/x509/Util.java: Updated copyright year. - (hexDump): Fix javadoc @link. - * gnu/java/security/x509/ext/GeneralNames.java: Updated copyright year. - Removed unused import. - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Fix javadoc @link. - * gnu/java/security/sig/ISignature.java (SOURCE_OF_RANDOMNESS): Likewise. - * gnu/java/security/util/ExpirableObject.java: Likewise. - (destroy): Likewise. - * gnu/java/security/util/SimpleList.java (SimpleList): Likewise. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: - Updated copyright year. - (checkCRL): Fix javadoc @param. - -2006-06-03 Andrew John Hughes - - * java/lang/annotation/IncompleteAnnotationException.java: - Documented. - -2006-06-03 Andrew John Hughes - - * java/lang/ProcessBuilder.java: - Documented. - (environment): Create as a copy. - * java/lang/System.java: - (EnvironmentMap.EnvironmentMap(Map)): - New constructor. - (EnvironmentMap.put(String,String)): Override superclass - method with checks for nulls and non-Strings. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (cairoPreserveClip, cairoResetClip): New methods. - (setClip, clip): Reimplement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - (cairoPreserveClip, cairoResetClip): New methods. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/VolatileImageGraphics.java - * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c - New files. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (drawImage): Overloads for VolatileImage drawing. - (drawVolatile): New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - (drawVolatile): New method. - * gnu/java/awt/peer/gtk/GtkVolatileImage.java - Unstub implementation. - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - * native/jni/gtk-peer/gtkpeer.h - New prototype. - -2006-06-03 Roman Kennke - - PR 27418 - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange): Added null check to avoid NPE. - -2006-06-03 Roman Kennke - - * javax/swing/text/PlainView.java - (updateDamage): Check for valid longestLine and initialize if - necessary. - -2006-06-03 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: Use C - comments, not C++. - -2006-06-02 Sven de Marothy - - PR 27879 - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copyArea): Implement. - (copyAreaImpl, getRealBounds): New methods. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (copyAreaImpl, getRealBounds): Implement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeCopyArea): Reimplement. - -2006-06-02 Andreas Tobler - - * configure.ac: Add -lX11 and -lXtst to XTEST_LIBS. - (XTEST_LIBS): New, substitute. - * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. - -2006-06-02 Roman Kennke - - PR 26738 - * javax/swing/text/PlainView.java - (updateDamage): Rewritten for correct repainting and revalidating. - (findLongestLine): New helper method. - (getLineLength): New helper method. - -2006-06-02 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (nativeCopyArea): Change stride parameter to use # of ints. - (setPixels): Add checks. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (ComponentGraphics): Set background, clip. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (Cairographics2D): Don't set clip. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Add flush. - -2006-06-02 Lillian Angel - - PR 24458 - * java/awt/DefaultKeyboardFocusManager.java - (dispatchEvent): Fixed to getFocusOwner, if that fails it tries - to get the focused window. - -2006-06-01 Miriam Schuster - - * Makefile.am: Add fallback if "mozilla-plugin" is not available. - Fallbacks used: "firefox-plugin" and "xulrunner-plugin". - -2006-06-02 Roman Kennke - - * javax/swing/JTable.java - (columnSelectionChanged): Don't return when there's only one - column (might still need repainting). Correctly calculate - repaint rectangle. - (valueChanged): Use return value of SwingUtilities.computeUnion - as dirty region. - -2006-06-01 Keith Seitz - - From Martin Platter : - * gnu/classpath/jdwp/processor/EventRequestCommandSet.java - (executeSet): Fix buffer underflow reading reference ID. - * gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java - (executeParent): Fix NPE if ThreadGroup is top-level ThreadGroup. - * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java - (executeSuperclass): Handle case of Object with ID zero. - -2006-06-02 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Fixed typo. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - -2006-06-02 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (shutdownThread): New field. - (Command): Add the shutdown hook. - (doCommand): Remove the shutdown hook. - (ShutdownHook): New class. - -2006-06-02 Raif S. Naffah - - * tools/jarsigner.in: Use @VM_BINARY@. - * tools/keytool.in: Likewise. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (setColor): Update the cairo paint. - -2006-06-01 Mark Wielaard - - * java/util/logging/LogManager.java (createInstance): Always add - original exception on warning. - -2006-06-01 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/AppletTag.java - (prependCodebase): Fixed check. No dirname was ever considered to - be a file, so every applet fell into the if-statement causing a lot - of classloading problems with the applets. - -2006-06-01 Sven de Marothy - - Patch submitted by Boris Dusek. - * native/jni/qt-peer/qtmenupeer.cpp - Fix segfault - -2006-06-01 Roman Kennke - - * javax/swing/JTable.java - (AccessibleJTableCell.getAccessibleRow): Added comment explaining - why the behaviour is like it is. - (AccessibleJTableCell.getAccessibleStateSet): Implemented. - (AccessibleJTableHeader): New inner class. - (AccessibleJTableHeaderCell): New inner class. - (AccessibleJTable.lastSelectedRow): New field. - (AccessibleJTable.lastSelectedColumn): New field. - (AccessibleJTable.caption): New field. - (AccessibleJTable.summary): New field. - (AccessibleJTable.rowDescriptions): New field. - (AccessibleJTable.columnDescriptions): New field. - (AccessibleJTable): Initialize lastSelectedRow and lastSelectedColumn. - (AccessibleJTable.getAccessibleSelection(int)): Implemented. - (AccessibleJTable.isAccessibleChildSelected): Implemented. - (AccessibleJTable.addAccessibleSelection): Implemented. - (AccessibleJTable.removeAccessibleSelection): Implemented. - (AccessibleJTable.clearAccessibleSelection): Implemented. - (AccessibleJTable.selectAllAccessibleSelection): Implemented. - (AccessibleJTable.valueChange): Implemented. - (AccessibleJTable.tableRowsInserted): Implemented. - (AccessibleJTable.tableRowsDeleted): Implemented. - (AccessibleJTable.handleRowChange): New helper method. - (AccessibleJTable.columnAdded): Implemented. - (AccessibleJTable.columnMarginChanged): Implemented. - (AccessibleJTable.columnMoved): Implemented. - (AccessibleJTable.columnRemoved): Implemented. - (AccessibleJTable.columnSelectionChanged): Implemented. - (AccessibleJTable.handleColumnChange): New helper method. - (AccessibleJTable.editingCanceled): Implemented. - (AccessibleJTable.editingStopped): Implemented. - (AccessibleJTable.getAccessibleRow): Implemented. - (AccessibleJTable.getAccessibleColumn): Implemented. - (AccessibleJTable.getAccessibleIndex): Implemented. - (AccessibleJTable.getAccessibleCaption): Implemented. - (AccessibleJTable.setAccessibleCaption): Implemented. - (AccessibleJTable.getAccessibleSummary): Implemented. - (AccessibleJTable.setAccessibleSummary): Implemented. - (AccessibleJTable.getAccessibleRowCount): Implemented. - (AccessibleJTable.getAccessibleColumnCount): Implemented. - (AccessibleJTable.getAccessibleAt): Implemented. - (AccessibleJTable.getAccessibleRowExtentAt): Implemented. - (AccessibleJTable.getAccessibleColumnExtentAt): Implemented. - (AccessibleJTable.getAccessibleRowHeader): Implemented. - (AccessibleJTable.setAccessibleRowHeader): Implemented. - (AccessibleJTable.getAccessibleColumnHeader): Implemented. - (AccessibleJTable.setAccessibleColumnHeader): Implemented. - (AccessibleJTable.getAccessibleRowDescription): Implemented. - (AccessibleJTable.setAccessibleRowDescription): Implemented. - (AccessibleJTable.getAccessibleColumnDescription): Implemented. - (AccessibleJTable.setAccessibleColumnDescription): Implemented. - (AccessibleJTable.isAccessibleSelected): Implemented. - (AccessibleJTable.isAccessibleRowSelected): Implemented. - (AccessibleJTable.isAccessibleColumnSelected): Implemented. - (AccessibleJTable.getSelectedAccessibleRows): Implemented. - (AccessibleJTable.getSelectedAccessibleColumns): Implemented. - (getAccessibleContext): Register listeners for the accessibility - class on the JTable. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java: - (setPaint): Scale +1 pixel larger. - -2006-06-01 Sven de Marothy - - PR 27854 - * gnu/java/awt/Buffers.java (getData): Reimplement. - * gnu/java/awt/peer/gtk/CairoSurface.java - (getElem, setElem): Call native methods. - -2006-06-01 Audrius Meskauskas - - * gnu/javax/swing/text/html/ImageViewIconFactory.java: New file. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Check for zero size. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: - (setFont): Declare new native method. - (GdkTextLayout): Read some attributes. - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (setFont): New native method. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Fix some errors. - -2006-06-01 David Gilbert - - * javax/swing/plaf/basic/BasicButtonUI.java: Minor source code style - fixes, - * javax/swing/plaf/basic/BasicDirectoryModel.java: Likewise, - * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, - * javax/swing/plaf/basic/BasicIconFactory.java: Likewise, - * javax/swing/plaf/basic/BasicListUI.java: Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicSpinnerUI.java: Likewise, - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise. - -2006-06-01 David Gilbert - - * javax/swing/JComboBox.java: Minor source code formatting fixes, - * javax/swing/JEditorPane.java: Likewise, - * javax/swing/JFormattedTextField.java: Likewise, - * javax/swing/JLayeredPane.java: Likewise, - * javax/swing/JScrollPane.java: Likewise, - * javax/swing/JSlider.java: Likewise, - * javax/swing/JSpinner.java: Likewise, - * javax/swing/JTree.java: Likewise, - * javax/swing/JViewport.java: Likewise, - * javax/swing/UIDefaults.java: Likewise, - * javax/swing/UIManager.java: Likewise. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (BufferedImageGraphics): Cache surfaces. - (updateBufferedImage): Copy directly for certain color models. - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Reimplement. - -2006-06-01 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Don't swap, correct size. - -2006-05-31 Anthony Green - - PR 27828 - * java/net/InetSocketAddress.java: Defer getting the host - name until somebody calls InetSocketAddress.getHostName(). - Fix "represenation" typo. - -2006-06-01 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Simplify. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (getPixels): Don't swap. - -2006-06-01 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (setGradient): Reimplement. - -2006-06-01 Andreas Tobler - - * native/jni/gtk-peer/cairographics2d.h: Rename/prefix function - CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t correctly. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Rename function - CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Likewise. - -2006-05-31 David Gilbert - - * javax/swing/table/JTableHeader.java - (getColumnHeaderRenderer): New method, - (getAccessibleColumnHeaderRenderer): Delegate part to new - getColumnHeaderRenderer() method, - (getLocale): Implemented. - -2006-05-31 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (cp_gtk_grab_current_drawable): Rename - cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable to - cp_gtk_grab_current_drawable, remove static declaration. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Renamed above - function. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c: - Remove prototype of - cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): Rename - function. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): Likewise. - * native/jni/gtk-peer/gtkpeer.h: Add prototype for - cp_gtk_grab_current_drawable here. - -2006-05-31 Sven de Marothy - - Should fix PR 27835 - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - (updateBufferedImage): Keep within image bounds. - -2006-05-31 Thomas Fitzsimmons - Andreas Tobler - - * configure.ac: Check for libXrender when the GTK peers are - enabled, and set HAVE_XRENDER accordingly. Add -lXrender to - X_EXTRA_LIBS. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender) - [HAVE_XRENDER]: Call XRenderQueryExtension conditionally. - -2006-05-31 Lillian Angel - - * javax/swing/plaf/basic/BasicProgressBarUI.java - (paintString): Implemented to paint the string vertically. - -2006-05-31 David Gilbert - - * javax/swing/JTable.java - (AccessibleJTable.AccessibleJTable()): Check for null editor, - (AccessibleJTable.getAccessibleRole()): Overridden to return correct - value, - (AccessibleJTable.getAccessibleTable()): Likewise, - (getAccessibleContext): Create new context if required. - -2006-05-31 Roman Kennke - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.stateChanged): Implemented. - (Page.getAccessibleStateSet): Implemented. - (Page.getAccessibleIndexInParent): Implemented. - (getAccessibleContext): Add AccessibleJTabbedPane object - as ChangeListener to the JTabbedPane. - -2006-05-31 Roman Kennke - - * javax/swing/JMenuItem.java - (getAccessibleContext): Register accessible object as ChangeListener - to the JMenuItem. - (AccessibleJMenuItem.armed): New field. - (AccessibleJMenuItem.focusOwner): New field. - (AccessibleJMenuItem.pressed): New field. - (AccessibleJMenuItem.selected): New field. - (stateChanged): Implemented. - -2006-05-31 David Gilbert - - * javax/swing/ListSelectionModel.java: Added API docs all over. - -2006-05-31 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/FillRect.java - (paintComponent): Optionally paint lines rather than rectangles. - (createContent): Added option to test line painting. - -2006-05-31 David Gilbert - - * javax/swing/event/EventListenerList.java - (getListenerList): Updated API docs. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Clip scaled image to dest rectangle. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoSurface.java: - (CairoSurface): Convert pixels properly. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Remove commented-out lines. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (drawImage): Use Toolkit to convert to BufferedImage. - * gnu/java/awt/peer/gtk/CairoSurface.java - (CairoSurface(GtkImage)): New Constructor. - (getBufferedImage): New method. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Don't fill background - FIXME. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: - Remove unused methods. - * gnu/java/awt/peer/gtk/GtkImage.java: - (pixbuflock): New field. Methods change to use this lock. - * gnu/java/awt/peer/gtk/GtkToolkit.java - (createImage): Use Cairo-backed surfaces via GtkImage instead of - GtkPixbufDecoder. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Correct length in bytes. - -2006-05-30 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java (static): Call - System.loadLibrary unconditionally. - * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Likewise. - * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. - -2006-05-30 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): - Mark unused parameters, remove unused variables. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphics.java - (copyArea): Implemented. - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: - (copyAreaNative): New method. - -2006-05-30 Andreas Tobler - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Define i only - for non big endian systems. - (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Likewise. - -2006-05-30 Roman Kennke - - * gnu/java/awt/java2d/TexturePaintContext.java: New file. - * java/awt/TexturePaint.java - (createContext): Implemented. - -2006-05-30 Robert Schuster - - * javax/swing/table/DefaultTableMode.java: Initialize dataVector - field early. - -2006-05-30 Robert Schuster - - * java/awt/Container.java: - (removeAll): Reimplemented, added note. - -2006-05-30 Robert Schuster - - * java/awt/Container.java: - (removeAll): Implemented different removal mechanism, added note. - -2006-05-30 Lillian Angel - - PR 27785 - * java/awt/Component.java: - (translateEvent): Added handling to translate WindowEvents - * java/awt/Window.java: - Removed unneeded imports. - -2006-05-30 Mark Wielaard - - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Add - cairographics2d.h. - -2006-05-30 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GtkImage.java: Fix constructor javadoc. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (clearRect): Do not reuse the fg field, call updateColor. - (drawRaster): Likewise. - (setColor): Call updateColor. - (updateColor): New method. - -2006-05-30 Mark Wielaard - - * native/jni/classpath/jcl.h (JLONG_TO_PTR): New macro. - (PTR_TO_JLONG): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (getPointer): Use new conversion macros. - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): - Likewise. - (setNativeObject): Likewise. - (getNativeObject): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable): - Mark static. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): - Correctly cast XID and pointer values. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): - Mark unused variables. - (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): - Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): - Remove unused cairographics2d struct. - (_moveTo, _lineTo, _quadTo, _curveTo): Mark arguments const. - (Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer): - Use new conversion macros. - * native/jni/midi-dssi/dssi_data.h: Move conversion macros to jcl.h. - -2006-05-30 Mark Wielaard - - * include/Makefile.am (gnu_java_nio_VMChannel.h): Added. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - (copy): Do not reuse the fd field. - (setColor): Do not set the color if the parameter - matches fd field. - (translate(double, double): Rewritten to use - AffineTransform.translate. - -2006-05-30 Sven de Marothy - - * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java - * include/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c - New files. - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Add new files. - * gnu/java/awt/peer/gtk/CairoSurface.java - (getSharedGtkImage): New method. - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - Fix copyArea. - * gnu/java/awt/peer/gtk/ComponentGraphics.java - Support a non-xrender context. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - Plug memory leak. - * gnu/java/awt/peer/gtk/GtkImage.java - * include/gnu_java_awt_peer_gtk_GtkImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (initFromBuffer): New method. - * native/jni/gtk-peer/gtkpeer.h: - Remove declarations of previouslyremoved methods. - -2006-05-29 Thomas Fitzsimmons - - * tools/Makefile.am [FOUND_CACAO] (LIBJVM): Define to -ljvm. - -2006-05-29 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Mark unused - arguments. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Declare size - early. Remove unused return statement in void function. - (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): Declare - ptr early. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender): Mark - unused arguments. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Likewise. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_start_1gdk_1drawing): - Likewise. - (Java_gnu_java_awt_peer_gtk_ComponentGraphics_end_1gdk_1drawing): - Likewise. - -2006-05-29 Sven de Marothy - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c - (setPixels): Remove superfluous return statement. - -2006-05-29 Sven de Marothy - - * gnu/java/awt/peer/gtk/BufferedImageGraphics.java - * gnu/java/awt/peer/gtk/CairoGraphics2D.java - * gnu/java/awt/peer/gtk/CairoSurface.java - * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java - * gnu/java/awt/peer/gtk/ComponentGraphics.java - * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h - * include/gnu_java_awt_peer_gtk_CairoSurface.h - * include/gnu_java_awt_peer_gtk_ComponentGraphics.h - * native/jni/gtk-peer/cairographics2d.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c - New files. - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h - Removed - - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (releasePeerGraphicsResource): Moved to Font peer class. - - * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java - (createGraphics): Use new context classes. - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: - Use native BufferedImages where possible. - - * gnu/java/awt/peer/gtk/GdkTextLayout.java - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c - Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class, - renamed to cairoDrawGdkTextLayout. - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (getGraphics): Use ComponentGraphics context. - (createImage): Use native BufferedImage. - - * gnu/java/awt/peer/gtk/GtkImage.java: - * include/gnu_java_awt_peer_gtk_GtkImage.h - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - Remove pixmap support. (GtkImage(int, int) constructor, getGraphics) - Remove drawing methods. - - * gnu/java/awt/print/JavaPrinterGraphics.java: - Use CairoSurface instead of GtkImage. - - * include/Makefile.am - * native/jni/gtk-peer/Makefile.am - Update for new files. - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c - Remove superfluous GtkImage code for GdkPixmaps. - - * native/jni/gtk-peer/gtkpeer.h - Remove graphics2d structure. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (copying constructor): - Do not reuse fg in the constructor. - -2006-05-29 Carsten Neumann - - * java/io/ObjectStreamConstants.java: Added API docs. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setColor): - Take no action if this color is already set. - -2006-05-29 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (translate): - Rewritten. - * examples/gnu/classpath/examples/swing/FillRect.java (paintComponent): - Optionally paint with translation. (createContent): Added option - to test painting with translation - -2006-05-29 Raif S. Naffah - - * java/util/logging/FileHandler.java (FileHandler): Set the instance field - pattern to the default value when null. - Pass field pattern, and not parameter with same name to createFileStream. - -2006-05-28 Andrew John Hughes - - * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: - New class implementing the OS bean. - * gnu/java/lang/management/package.html: - New file to document the gnu.java.lang.management package. - * java/lang/management/ManagementFactory.java: - New class to provide access to the OS bean. - * java/lang/management/OperatingSystemMXBean.java: - New interface. - * java/lang/management/package.html: - New file to document the java.lang.management package. - -2006-05-28 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ImportCmd.java (GKR): New constant. - (JKS): Likewise. - (LIB): Likewise. - (SECURITY): Likewise. - (CACERTS): Likewise. - (CACERTS_GKR): Likewise. - (gkrCaCertsPathName): New field. - (jksCaCertsPathName): Likewise. - (selfSignedCertificate): Likewise. - (start): Initialize trusted certificate key stores if -trustcacerts is - specified. - (ensureReplyIsOurs): Initialize selfSignedCertificate. - (orderChain): Implemented. - (findTrustAndUpdate): Check a cacerts.gkr (GKR) and a cacert (JKS) trusted - certificate key stores if -trustcacerts option is specified. - (findTrustInCACerts): Removed. - (getCertPathParameters): New method. - (validate): New method. - * resource/gnu/classpath/tools/keytool/messages.properties: Added message. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java (PROPERTY_PREFIX): New constant. - (PATTERN_KEY): Likewise. - (DEFAULT_PATTERN): Likewise. - (LIMIT_KEY): Likewise. - (DEFAULT_LIMIT): Likewise. - (COUNT_KEY): Likewise. - (DEFAULT_COUNT): Likewise. - (APPEND_KEY): Likewise. - (DEFAULT_APPEND): Likewise. - (FileHandler()): Use pattern value as set in logging.properties. - Use constants defined above. - (FileHandler(1)): Use constants defined above. - (FileHandler(2)): Likewise. - (FileHandler(3)): Likewise. - (FileHandler(4)): Likewise. - (createFileStream): Likewise. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java: Reverted previous patch. - * java/util/logging/LogManager.java: Likewise. - -2006-05-28 Raif S. Naffah - - * java/util/logging/FileHandler.java (PATTERN_KEY): New constant. - (DEFAULT_PATTERN): Likewise. - (FileHandler()): Use configured pattern property if any; otherwise use a - default value as per RI documentation. - * java/util/logging/LogManager.java (getStringProperty): New method. - -2006-05-27 Thomas Fitzsimmons - - * NEWS: Announce libjawtgnu.so-to-libjawt.so rename. - -2006-05-27 Thomas Fitzsimmons - - * configure.ac (FOUND_CACAO): New automake conditional. - Add --enable-tool-wrappers. - * NEWS: Introduce the --enable-tool-wrappers option. - * tools/Makefile.am[CREATE_WRAPPERS]: Build wrapper binaries. - * tools/appletviewer.c: Remove file. Make tool-indepedent and - rename ... - * tools/toolwrapper.c: New file. - -2006-05-27 Dalibor Topic - - * java/awt/Graphics2D.java: Use full class name for - PrinterJob in javadoc. - -2006-05-27 Andreas Tobler - - * native/jni/qt-peer/eventmethods.h (callVoidMethod): Silence warning. - (callMouseMethod): Likewise. - -2006-05-26 Andrew John Hughes - - * native/jni/java-net/java_net_VMURLConnection.c: - Fix function declarations to specify unused parameters. - * scripts/check_jni_methods.sh: - Remove copies of the same function using uniq. - -2006-05-26 Andrew John Hughes - - * vm/reference/java/net/VMURLConnection.java: - Make package-private and final. - -2006-05-27 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModed): Added editor for the icons column. - (createContent): Increase the row height by 2 px. - -2006-05-26 Tom Tromey - - PR classpath/27685: - * java/math/BigInteger.java (modPow): Correctly handle negative - exponent. - -2006-05-26 Tom Tromey - - * configure.ac: Check for magic.h and -lmagic. - * vm/reference/java/net/VMURLConnection.java: New file. - * include/java_net_VMURLConnection.h: New file. - * include/Makefile.am (H_FILES): Add VMURLConnection.h. - ($(top_srcdir)/include/java_net_VMURLConnection.h): New target. - * native/jni/java-net/Makefile.am (libjavanet_la_SOURCES): - Mention new file. - (libjavanet_la_LIBADD): Add $(LIBMAGIC). - * native/jni/java-net/java_net_VMURLConnection.c: New file. - -2006-05-26 Thomas Fitzsimmons - - * tools/Makefile.am (installcheck-binSCRIPTS): Do nothing. - -2006-05-26 Thomas Fitzsimmons - - * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Rename - libjawtgnu.la libjawt.la. - -2006-05-26 Thomas Fitzsimmons - - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove - gtkcairopeer.h. - -2006-05-25 Lillian Angel - - PR 26174 - * java/awt/Window.java - (Window): Moved code to helper. - (addWindowFocusListener): New function. Handles focus - listener code. Added code to handle focus lost/gained - from the window. - -2006-05-25 Andrew John Hughes - - * configure.ac: - Make pkg-config check for GTK+ >= 2.8. - -2006-05-25 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (flush): Remove debugging printfs. - -2006-05-25 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (schedule_flush): New function. - (end_drawing_operation): Call schedule_flush. - -2006-05-25 Thomas Fitzsimmons - - * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect - paint performance demo. - * examples/gnu/classpath/examples/swing/FillRect.java: New file. - -2006-05-25 Thomas Fitzsimmons - - * INSTALL: Bump GTK requirement to 2.8 or higher. Do not mention - Cairo version requirement. Do not mention --enable-gtk-cairo - configure option. - * NEWS: Add entry for GdkGraphics2D. - * configure.ac: Remove --enable-gtk-cairo and explicit checks for - Cairo library and headers. - * .externalToolBuilders/Configure.launch: Remove - --enable-gtk-cairo from configure line. - * gnu/classpath/Configuration.java.in (GTK_CAIRO_ENABLED): Remove - field. - * gnu/java/awt/BitwiseXORComposite.java: Fix javadoc typo. - * gnu/java/awt/peer/gtk/GdkFontPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c : Remove - useGraphics2D references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GdkGraphics.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Remove. - * gnu/java/awt/peer/gtk/GdkGraphics2D.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove - Unlocked method variants. Remove GTK_CAIRO_ENABLED and - useGraphics2D references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GdkTextLayout.java: Remove instanceof - Graphics2D check. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c - (realize): Remove method. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (isRealized): Remove method. - (realize): Implement as a native method. Remove useGraphics2D - references. Always assume Graphics2D is enabled. - * gnu/java/awt/peer/gtk/GtkImage.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: Replace - GdkGraphics references with GdkGraphics2D references. - * gnu/java/awt/peer/gtk/GtkToolkit.java, - native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Remove - useGraphics2D references. Always assume Graphics2D is enabled. - * include/Makefile.am (GTKPEER_H_FILES): Remove - gnu_java_awt_peer_gtk_GdkGraphics.h. - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Remove. - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: Likewise. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise. - * native/jawt/Makefile.am (AM_LDFLAGS): Remove CAIRO_LIBS. - * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove - gnu_java_awt_peer_gtk_GdkGraphics.c. Include - gnu_java_awt_peer_gtk_GdkGraphics2D.c unconditionally. - (AM_LDFLAGS): Remove CAIRO_LIBS. - (AM_CFLAGS): Remove CAIRO_CFLAGS. - * native/jni/gtk-peer/gtkcairopeer.h: Remove. Move declarations - to ... - * native/jni/gtk-peer/gtkpeer.h: Add Graphics2D declarations. - -2006-05-25 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursorUnlocked): - Added check to prevent assertion error. If widget->window is null, then - use the parent widget's window to set the cursor on. - -2006-05-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (TreeCancelEditingAction): - Implemented. - -2006-05-24 Lillian Angel - - * tools/gnu/classpath/tools/appletviewer/AppletTag.java - (prependCodeBase): Added check to determine if the documentbase - points to a directory or a file. - -2006-05-24 Sven de Marothy - - * java/awt/dnd/DragGestureRecognizer.java - (resetRecognizer): Implement. - (fireDragGestureRecognized): Implement. - -2006-05-24 David Gilbert - - * javax/swing/plaf/basic/BasicComboBoxUI.java: Marked stub methods and - fixed source code formatting. - -2006-05-24 Audrius Meskauskas - - * javax/swing/JTable.java (valueChanged): If is editing, stop editing. - -2006-05-24 Audrius Meskauskas - - Reported by Antony Balkisson. - * javax/swing/JTable.java (selectAll): Return without action - if the table is empty. - -2006-05-23 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java: - (SliderCell): New inner class. (setCustomEditors, - setInformativeHeaders): New fields. (createContent): - Rewritten. - * javax/swing/DefaultCellEditor.java - (JComboBoxDelegate.shouldSelectCell): New method. - * javax/swing/JTable.java (editCellAt): Call shouldSelectCell. - * javax/swing/plaf/basic/BasicTableUI.java - (MouseInputHandler.mouseClicked): Start editing on a single - click if the cell editor is not a default cell editor. - -2006-05-23 Audrius Meskauskas - - * javax/swing/naming/CompositeName.java, - javax/swing/naming/CompoundName.java: - Documented. - -2006-05-23 Archie Cobbs - - * vm/reference/java/lang/VMClassLoader.java: fix static initializer - ordering problem. - -2006-05-23 David Gilbert - - * javax/swing/tree/AbstractLayoutCache.java: Coding style fixes, - * javax/swing/tree/DefaultMutableTreeNode.java: Likewise, - * javax/swing/tree/DefaultTreeCellRenderer.java: Likewise, - * javax/swing/tree/DefaultTreeModel.java: Likewise, - * javax/swing/tree/DefaultTreeSelectionModel.java: Likewise, - * javax/swing/tree/ExpandVetoException.java: Likewise, - * javax/swing/tree/FixedHeightLayoutCache.java: Likewise, - * javax/swing/tree/RowMapper.java: Likewise, - * javax/swing/tree/TreeNode.java: Likewise, - * javax/swing/tree/TreeSelectionModel.java: Likewise, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-05-23 David Gilbert - - * javax/swing/tree/DefaultTreeCellRenderer.java - (DefaultTreeCellRenderer): Changed key for - setBackgroundNonSelectionColor(), - plus API docs all over. - -2006-05-23 Audrius Meskauskas - - PR 27680 - * javax/swing/JTable.java (booleanInvertingEditor): New field. - (defaultEditorsByColumnClass, defaultRenderersByColumnClass): - Initialise in constructor. (columnMoved): Cancel editing. - (createDefaultEditors): Rewritten. (editCellAt): - Just invert the value if this is a boolean cell. - (initialiseLocalVars): Do not initialise renderer and editor tables. - (setUI): Create editors and renderers here. - -2006-05-23 Robert Schuster - - * examples/gnu/classpath/examples/awt/Demo.java: - (MainWindow.MainWindow): Added ResolutionWindow and FullscreenWindow - instance as subframe. - (ResolutionWindow): New inner class. - (FullscreenWindow): New inner class. - -2006-05-23 Audrius Meskauskas - - PR 27680 - * javax/swing/JTable.java (BooleanCellRenderer, IconCellRenderer): - Set horizontal alignment to centered. - -2006-05-22 David Gilbert - - * javax/accessibility/AccessibleContext.java - (getAccessibleComponent): Fixed typo in docs, - * javax/swing/JLabel.java: - (AccessibleJLabel.getAccessibleName): Check for explicit - accessibleName, - * javax/swing/JTableHeader.java - (AccessibleJTableHeaderEntry.columnIndex): New field, - (AccessibleJTableHeaderEntry.parent): New field, - (AccessibleJTableHeaderEntry.table): New field, - (AccessibleJTableHeaderEntry.AccessibleJTableHeaderEntry()): - Implemented, - (AccessibleJTableHeaderEntry.getAccessibleColumnHeaderRenderer): New - utility method, - (AccessibleJTableHeaderEntry.addFocusListener): Implemented, - (AccessibleJTableHeaderEntry.addPropertyChangeListener): Implemented, - (AccessibleJTableHeaderEntry.contains): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleAction): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleAt): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleChild): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleChildrenCount): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleComponent): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleContext): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleDescription): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleIndexInParent): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleName): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleRole): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleSelection): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleStateSet): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleText): Implemented, - (AccessibleJTableHeaderEntry.getAccessibleValue): Implemented, - (AccessibleJTableHeaderEntry.getBackground): Implemented, - (AccessibleJTableHeaderEntry.getBounds): Implemented, - (AccessibleJTableHeaderEntry.getCursor): Implemented, - (AccessibleJTableHeaderEntry.getFont): Implemented, - (AccessibleJTableHeaderEntry.getFontMetrics): Implemented, - (AccessibleJTableHeaderEntry.getForeground): Implemented, - (AccessibleJTableHeaderEntry.getLocation): Implemented, - (AccessibleJTableHeaderEntry.getLocationOnScreen): Implemented, - (AccessibleJTableHeaderEntry.getSize): Implemented, - (AccessibleJTableHeaderEntry.isEnabled): Implemented, - (AccessibleJTableHeaderEntry.isFocusTraversable): Implemented, - (AccessibleJTableHeaderEntry.isShowing): Implemented, - (AccessibleJTableHeaderEntry.isVisible): Implemented, - (AccessibleJTableHeaderEntry.removeFocusListener): Implemented, - (AccessibleJTableHeaderEntry.removePropertyChangeListener): - Implemented, - (AccessibleJTableHeaderEntry.requestFocus): Implemented, - (AccessibleJTableHeaderEntry.setAccessibleDescription): Implemented, - (AccessibleJTableHeaderEntry.setAccessibleName): Implemented, - (AccessibleJTableHeaderEntry.setBackground): Implemented, - (AccessibleJTableHeaderEntry.setBounds): Implemented, - (AccessibleJTableHeaderEntry.setCursor): Implemented, - (AccessibleJTableHeaderEntry.setEnabled): Implemented, - (AccessibleJTableHeaderEntry.setFont): Implemented, - (AccessibleJTableHeaderEntry.setForeground): Implemented, - (AccessibleJTableHeaderEntry.setLocation): Implemented, - (AccessibleJTableHeaderEntry.setSize): Implemented, - (AccessibleJTableHeaderEntry.setVisible): Implemented, - (AccessibleJTableHeader.getAccessibleRole): Implemented, - (AccessibleJTableHeader.getAccessibleChildrenCount): Implemented, - (AccessibleJTableHeader.getAccessibleChild): Implemented, - (AccessibleJTableHeader.getAccessibleAt): Implemented. - -2006-05-22 Tom Tromey - - * NEWS: Updated. - -2006-05-22 David Gilbert - - * javax/swing/JLabel.java - (AccessibleJLabel.getAccessibleName): New method (override), - (setLabelFor): Fire 'labelFor' property change event before other - events. - -2006-05-22 David Gilbert - - * javax/swing/JLabel.java - (AccessibleJLabel.getAccessibleRole): New method (override). - -2006-05-22 Tom Tromey - - * resource/gnu/classpath/tools/serialver/messages.properties: New - file. - * tools/gnu/classpath/tools/serialver/Messages.java: New file. - * tools/gnu/classpath/tools/serialver/SerialVer.java (classes): New - field. - (classpath): Likewise. - (run): New method. - (main): Use it. - (addFileURL): New method. - (getClassLoader): Likewise. - (printMessage): Likewise. - -2006-05-22 Tom Tromey - - * tools/gnu/classpath/tools/serialver/SerialVer.java: New file. - -2006-05-22 Audrius Meskauskas - - * javax/swing/JTable.java (doLayout): In the column - resize mode, only repaing the changed part of the table. - (getLeftResizingBoundary): New method. - -2006-05-22 Audrius Meskauskas - - * javax/naming/spi/InitialContextFactory.java, - javax/naming/spi/InitialContextFactoryBuilder.java, - javax/naming/spi/NamingManager.java, - javax/naming/spi/ObjectFactory.java, - javax/naming/spi/ResolveResult.java, - javax/naming/spi/Resolver.java, - javax/naming/spi/StateFactory.java: Documented. - -2006-05-21 Tom Tromey - - PR classpath/27688: - * tools/gnu/classpath/tools/jar/Extractor.java (allItems): Now - a WorkSet. - (initSet): Removed. - (shouldExtract): Removed. - (run): Updated. - * tools/gnu/classpath/tools/jar/WorkSet.java: New file. - * tools/gnu/classpath/tools/jar/Lister.java (readUntilEnd): New - method. - (listJar): Use it. - (allItems): New field. - (run): Initialize it. - (listJar): Use it. - -2006-05-22 Sven de Marothy - - * java/nio/CharBuffer.java - (wrap): Fix bounds checking. - -2004-08-26 Tom Tromey - - * java/io/OutputStream.java - (OutputStream): Implements Closeable, Flushable. - -2006-04-02 Andrew John Hughes - - * java/io/ObjectOutputStream.java: - (writeObject(Object)): Added enum support. - (writeClassDescriptor(ObjectStreamClass)): Likewise. - * java/io/ObjectStreamClass.java: - (isEnum()): New package-private method. - (setFlags(Class)): Added enum support. - * java/io/ObjectStreamConstants.java: - (SC_ENUM): Added. - -2006-03-29 Andrew John Hughes - - * java/io/ObjectInputStream.java: - (parseContent(byte)): Added enum support. - * java/io/ObjectStreamConstants.java: - (TC_ENUM): Added. - (TC_MAX): Changed to new maximum, TC_ENUM. - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (instantiateChild(String)): Implemented. - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (add(Object)): Add further documentation. - (isEmpty()): Documented. - (propertyChange(PropertyChangeEvent)): Implemented. - (remove(Object)): Documented. - (remove(Object,boolean)): Documented and implemented. - (vetoableChange(PropertyChangeEvent)): Marked as - implemented (only subclasses appear to need this). - -2006-05-21 Andrew John Hughes - - * java/beans/beancontext/BeanContextSupport.java: - (add(Object)): Implement support for the child being - a BeanContextChild. - (avoidingGui()): Implemented. - (dontUseGui()): Likewise. - (needsGui()): Likewise. - (okToUseGui()): Likewise. - -2006-05-21 Audrius Meskauskas - - * javax/naming/Context.java, - javax/naming/ContextNotEmptyException.java, - javax/naming/Reference.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/swing/text/html/MinimalHTMLWriter.java - (writeComponent, writeImage): Declare that the method - may throw the IOException. - -2006-05-21 Audrius Meskauskas - - PR 26972 - * javax/naming/InitialContext.java (colon_list): Changed type to - hashset. (use_properties): New field. (init(Hashtable)): Rewritten. - (merge): Rewritten. - -2006-05-21 Audrius Meskauskas - - * javax/naming/InitialContext.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/naming/NameParser.java, - javax/naming/NamingEnumeration.java, - javax/naming/PartialResultException.java, - javax/naming/SizeLimitExceededException.java, - javax/naming/spi/ObjectFactory.java, - javax/naming/spi/ObjectFactoryBuilder.java: Documented. - -2006-05-21 Andrew John Hughes - - * gnu/java/net/loader/JarURLLoader.java: - Use Map.Entry instead of LinkedHashMap.Entry - -2006-05-21 Audrius Meskauskas - - * javax/naming/Context.java: Documented. - -2006-05-21 Audrius Meskauskas - - * javax/naming/Referenceable.java: Documented. - * javax/naming/spi/NamingManager.java: Documented. - -2006-05-21 Raif S. Naffah - - * doc/tools.texinfo: Replaced references to MessageBundle.properties - to messages.properties. - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - Renamed to messages.properties. - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: - Likewise. - * resource/gnu/classpath/tools/jarsigner/messages.properties: - Renamed from MessageBundle.properties. - Added copyright notice. - * resource/gnu/classpath/tools/keytool/messages.properties: - Likewise. - * tools/gnu/classpath/tools/jarsigner/Messages.java - (BUNDLE_NAME): Use messages instead of MessageBundle properties file. - (getFormattedString): Fixed a spelling mistake. - * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. - -2006-05-20 Sven de Marothy - - * gnu/java/awt/font/opentype/NameDecoder.java - Made class public. - (getName): Use getShort instead of getChar(), fix PS name. - (decodeName): New method. - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getSubFamilyName): Implement. - (getPostScriptName): Use the NameDecoder class instead. - (parsePSName): Removed. - (getName): Added - -2006-05-20 Sven de Marothy - - * gnu/java/awt/peer/gtk/GdkFontPeer.java - (getTrueTypeTable): New native method. - (getPostScriptName): Reimplement. - (parsePSName): New method. - (getNumGlyphs): Implement. - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: New native method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTrueTypeTable): - New function. File is now explicitly dependent on FT2. - -2006-05-20 Tom Tromey - - * tools/gnu/classpath/tools/native2ascii/Messages.java: New file. - * resource/gnu/classpath/tools/native2ascii/messages.properties: New - file. - * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java - (HandleFile): New class. - (input, output, encoding, reversed): New fields. - (createParser): New method. - (run): Likewise. - (main): Use 'run'. - * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java - (notifyFile): Throws OptionException. - -2006-05-20 Tom Tromey - - * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java: New file, - from cp-tools. - -2006-05-20 Andrew John Hughes - - * native/jni/java-nio/gnu_java_nio_VMChannel.c: - (JCL_print_buffer): Fix to work with -Werror on 64-bit - platforms. - -2006-05-20 Sven de Marothy - - * java/awt/Font.java (getNumGlyphs): Call correct peer method. - -2006-05-20 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterJob.java - (print): Use PostScriptGraphics2D. - * gnu/java/awt/print/PostScriptGraphics2D.java: New file. - -2006-05-20 Sven de Marothy - - * javax/swing/text/html/MinimalHTMLWriter.java: New file - -2006-05-20 Raif S. Naffah - - * gnu/java/security/OID.java: Updated copyright year. - (OID): Removed unused Javadoc param tag. - * gnu/java/security/prng/PRNGFactory.java: Removed unused import. - * gnu/java/security/hash/MD4.java: Fixed a Javadoc link. - -2006-05-20 Raif S. Naffah - - * gnu/javax/crypto/jce/keyring/GnuKeyring.java (engineAliases): - Formatting. - Added trace/debug statements. - (engineSetCertificateEntry): Ensure alias is not already used for a Key - Entry. Also ensure that any previous entry for this alias is removed - before a new one is added. - (engineGetKey): Do not trace/log passwords. - Trace key's class name only. - (engineSetKeyEntry): Ensure alias is not alredy used for a Trusted - Certificate Entry. Also ensure that previous entry for this alias is - removed before a new one is added. - (engineLoad): Do not trace/log passwords. - (engineStore): Likewise. - (engineSize): Use size of enumeration instead of collection size. - -2006-05-20 Raif S. Naffah - - * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Formatting. - (toString): New method. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java (decrypt): - Do not trace/log passwords. - Set masked to false before decoding envelope. - Do not set payload to null. - (encrypt): Set masked to true. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java (verify): - Do not trace/log passwords. - Set masked to false before decoding envelope. - Do not set payload to null. - Added trace/debug statements. - (authenticate): Do not trace/log passwords. - Set masked to true. - Added trace/debug statements. - (getMac): Added trace/debug statements. - * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java - (remove(String)): Changed the signature to return a boolean. - (toString): New method. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java (containsCertificate): - Formatting - (getCertificate): Likewise. - (putCertificate): Likewise. - (load): Likewise. - Do not trace/log passwords. - (store): Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (getPrivateKey): - Do not trace/log passwords. - Added more trace/logging statements. - (putPrivateKey): Do not trace/log passwords. - Trace only key's class name. - Formatting. - (containsPublicKey): Formatting. - (getPublicKey): Likewise. - Trace only key's class name. - (putPublicKey): Trace only key's class name. - (containsCertPath): Formatting. - (getCertPath): Likewise. - (putCertPath): Likewise. - (load): Do not trace/log passwords. - Formatting. - (store): Likewise. - * gnu/javax/crypto/keyring/EnvelopeEntry.java (log): New field. - (add): Do not set payload to null. - Added trace/debug statements. - (containsAlias): Added trace/debug statements. - (get): Likewise. - (remove(Entry)): Likewise. - (remove(String)): Likewise. - Changed the signature to return a boolean. - Do not set payload to null unless really removed. - (toString): New method. - (decodeEnvelope): Clear entries before proceeding. - (makeAliasList): Added trace/debug statements. - Ensure only non-null aliases and alias-lists are added. - * gnu/javax/crypto/keyring/Entry.java (log): New field. - (TYPES): New constant. - (toString): New method. - (defaultDecode): Add trace/debug statement. - -2006-05-20 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ListCmd.java (rfc): - Increased visibility. - (setup): Do not trace/log passwords. - (parsed): Was not setting correct (rfc) field; fixed. - (print1Chain): Formatting. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java (setup): - Do not trace/log passwords. - * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. - (orderChain): Added FIXME. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java (setup): - Do not trace/log passwords. - Removed commented out code. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java (setup): Likewise. - * tools/gnu/classpath/tools/keytool/Command.java (doCommand): Formatting. - (setKeystoreURLParam): Likewise. - (setKeystorePasswordParam): Do not trace/log passwords. - (saveKeyStore): Likewise. - -2006-05-19 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - Added class docs. - (pixel): Removed obsolete field. - (draw(Shape)): Removed commented out code. - (drawImage): Formatting. - (drawString): Added optimization hook. - (setPaint): Removed rawSetForeground(). - (getFontRenderContext): Return context with correct transform. - (drawGlyphVector): Draw complete outline in one go. - (copyArea): Added optimization hook. - (clearRect): Added optimization hook. - (drawImage): Added optimization hook. - (fillShape): (Temporarily) Set antialiasing off by default for - font rendering. Adjust the shape by some bits to improve rendering. - Pass clip bounds to the render methods. - (drawPixel): Removed. - (rawSetPixel): Removed. - (rawSetForeground): Removed. - (rawDrawLine): Default impl calls standard pipeline. - (rawDrawString): New method, calls standard pipeline for rendering. - (rawClearRect): New method, calls standard pipeline for rendering. - (rawFillRect): New method, calls standard pipeline for rendering. - (rawDrawImage): New method, calls standard pipeline for rendering. - (rawCopyArea): New method. - (copyAreaImpl): New method. - (rawFillShape): Renamed to fillShapeImpl(). Small optimization - for rendering. - (fillShapeAntialias): Fixed AA rendering. - (fillScanlineAA): Fixed AA rendering. - (getSegments): Take offset into account. - -2006-05-19 Sven de Marothy - - * javax/swing/text/AbstractWriter.java - (getText): Fix parameters (start, length) not (start, end). - -2006-05-19 Tom Tromey - - PR classpath/27444: - * gnu/java/net/loader/URLLoader.java (getClassPath): Documented. - Changed return type. - * java/net/URLClassLoader.java (urlloaders): Removed. - (addURLImpl): Updated. - * gnu/java/net/loader/JarURLLoader.java (initialized): New field. - (indexSet): Likewise. - (classPath): Changed type. - (JarURLLoader): New constructor. - (initialize): New method. - (getResource): Use index set if it exists. - (getClassPath): Updated. - * gnu/java/net/IndexListParser.java (IndexListParser): Avoid NPE. - (prefixes): New field. - (headers): Removed. - (IndexListParser): Fill in prefixes. - (clearAll): Clear prefixes. - (getHeaders): Changed return type. - -2006-05-19 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseExitted): No nothing there. - (MouseInputHandler.endDragging): Move column to the - first/last position if released outside the horizontal - table range. - -2006-05-19 Lillian Angel - - * java/awt/font/GlyphVector.java - (getGlyphCharIndex): Implemented. - (getGlyphCharIndices): Implemented. - (getGlyphOutline): Implemented. - (getGlyphVisualBounds): Implemented. - (getGlyphVisualBounds): Implemented. - (getPixelBounds): Implemented. - (getLayoutFlags): Implemented. - -2006-05-19 Robert Schuster - - * java/awt/LightweightDispatcher.java: Added field dragButton and - documentation for it. - (handleMouseEvent): Rewritten MOUSE_PRESSED case in switch-statement, - added subexpression to if-clause in MOUSE_RELEASED case. - -2006-05-19 Robert Schuster - - * javax/swing/metal/MetalButtonUI.java: - (update): Removed some subexpression from if-clause and call - updateWithGradient. - (updateWithGradient): New method. - -2006-05-19 Roman Kennke - - * javax/swing/JComponent.java - (findOverlapFreeParent): Implemented algorithm for finding - overlapping in component hierarchy. - -2006-05-19 Jeroen Frijters - - * java/lang/Thread.java - (contextClassLoaderIsSystemClassLoader): New field. - (Thread(ThreadGroup,Runnable)): Call createAnonymousThreadName. - (Thread(VMThread,String,int,boolean)): Call createAnonymousThreadName - and set contextClassLoaderIsSystemClassLoader. - (Thread(ThreadGroup,Runnable,String,long)): - Set contextClassLoaderIsSystemClassLoader. - (createAnonymousThreadName): New method. - (getContextClassLoader): Check contextClassLoaderIsSystemClassLoader - and fixed security check. - (setContextClassLoader): Clear contextClassLoaderIsSystemClassLoader. - -2006-05-19 Robert Schuster - - * javax/swing/plaf/basic/BasicToolBarUI.java: - (createNonRolloverBorder): Rewritten. - (createRolloverBorder): Rewritten. - (setToNonRolloverBorder): Store old border instance in hashtable. - (setToRolloverBorder): Store old border instance in hashtable, use - AbstractButton instead of JButton in statements. - (setBorderToNormal): Rewritten. - * javax/swing/plaf/metal/MetalLookAndFeel.java: - (initComponentDefaults): Added values for ToolBar.rolloverBorder and - ToolBar.nonrolloverBorder. - -2006-05-18 Thomas Fitzsimmons - - * javax/imageio/stream/ImageInputStreamImpl.java: Complete. - * javax/imageio/stream/MemoryCacheImageInputStream.java: Likewise. - -2006-05-18 Lillian Angel - - * java/awt/font/GlyphMetrics.java - (getLSB): Implemented. - (getRSB): Implemented. - -2006-05-18 Lillian Angel - - * java/awt/font/GraphicAttribute.java: - Documented entire class. - (GraphicAttribute): Added check for alignment. - (getBounds): Implemented. - (getJustificationInfo): Implemented. - -2006-05-18 Robert Schuster - - * java/awt/LightweightDispatcher.java: - (handleMouseEvent): Added note, added subexpression to if-statement. - -2006-05-18 Robert Schuster - - * javax/swing/plaf/basic/BasicToolBarUI.java: - (navigateFocusedComp): Marked as stub. - (createRolloverBorder): Create a different Border instance, added note. - * javax/swing/plaf/metal/MetalBorders.java: - (ButtonBorder): Added documentation. - (ButtonBorder.paintDefaultButtonBorder): Added else-block. - (ButtonBorder.paintOceanButtonBorder): Added else-block, added - subexpression into if-else cascade, added note. - -2006-05-18 Lillian Angel - - * java/awt/font/ShapeGraphicAttribute.java: - Documented entire class. - (ShapeGraphicAttribute): Initialized bounds field. - (draw): Implemented. - (equals): Implemented. - (getAdvance): Implemented. - (getAscent): Implemented. - (getBounds): Implemented. - (getDescent): Implemented. - (hashCode): Implemented. - -2006-05-18 Roman Kennke - - * javax/swing/CellRendererPane.java - (CellRendererPane): Set CellRendererPane to invisible. - -2006-05-18 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (clipRect): Removed old intersection statement. - -2006-05-18 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (clipRect): Don't use Rectangle.intersection() to avoid creating - 2 unnecessary Rectangle instances and fix a clipping problem. - (computeIntersection): New helper method, adapted from SwingUtilities. - -2006-05-18 Roman Kennke - - * javax/swing/JComponent.java - (isCompletelyDirty): Removed. - (paint): Don't mark children as clean, this is no longer necessary. - (findOverlapFreeParent): Don't stop at Viewports, this breaks - painting when something overlaps the viewport (like a popup/menu). - * javax/swing/RepaintManager.java - (currentRepaintManagers): Made package private to avoid accessor - methods. - (dirtyComponents): Made private. - (dirtyComponentsWork): Made private. - (markCompletelyDirty): Fixed bounds of dirtyrect to be - component-local not parent-local. Do not set flag in JComponent. - (markCompletelyClean): Don't set JComponent flag. - (isCompletelyDirty): Rewritten to return true when the complete - component is marked dirty. - (paintDirtyRegions): Improved parent-merging so that the merged-in - components don't get painted too. 'Outsourced' the compilation - of the repaint root components. - (compileRepaintRoots): New helper method. - -2006-05-18 Roman Kennke - - PR 26368 - * javax/swing/text/GapContent.java - (GapContentPosition(int)): Use adapted binarySearch method to - allow for having a greater array than number of entries. - (numMarks): New field, holds the end of the marks list. - (GapContent): Initialize positionMarks with size of 10 instead of 0. - (shiftGapStartDown): Adjusted for new setPositionsInRange signature. - (shiftGapEndUp): Adjusted for new setPositionsInRange signature. - (setPositionsInRange): Changed signature to narrow the purpose and - special cases inside. Reimplemented to crunch together equal marks. - (adjustPositionsInRange): Added assertion to make sure we do - not accidentally change the order of the mark. Added some debug - output for a special case of which I don't know if it even exists. - (resetMarksAtZero): Made impl simpler. - (dumpMarks): New debug helper method. - (insertMark): Grow array in bigger chunks to avoid excessive copying. - (binarySearch): New method. An adaption of Arrays.binarySearch() - that allows for an maxIndex parameter. - -2006-05-18 Roman Kennke - - * javax/swing/KeyboardManager.java - (topLevelLookup): Use WeakHashMap to avoid memory leak. - -2006-05-18 Jeroen Frijters - - * gnu/java/net/loader/JarURLLoader.java - (JarURLLoader): Use a slightly more efficient URL constructor. - -2006-05-18 David Gilbert - - * gnu/java/awt/print/JavaPrinterGraphics.java - (drawImage(Image, int, int, Color, ImageObserver)): Fix endless loop, - (drawImage(Image, int, int, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, Color, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, int, int, int, int, Color, - ImageObserver)): Likewise, - (drawImage(Image, int, int, int, int, int, int, int, int, - ImageObserver)): Likewise. - -2006-05-17 Tom Tromey - - * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use a - LinkedHashSet. - -2006-05-17 David Gilbert - - * javax/swing/border/AbstractBorder.java: Source code formatting fixes, - * javax/swing/border/BevelBorder.java: Likewise, - * javax/swing/border/CompoundBorder.java: Likewise, - * javax/swing/border/TitledBorder.java: Likewise. - -2006-05-17 David Gilbert - - * javax/swing/table/AbstractTableModel.java: Formatting fixes, - * javax/swing/table/DefaultTableModel.java: Likewise, - * javax/swing/table/TableCellEditor.java: Likewise, - * javax/swing/table/TableCellRenderer.java: Likewise. - -2006-05-17 Lillian Angel - - * java/awt/font/ImageGraphicAttribute.java: - Documented entire class. - (ImageGraphicAttribute): Changed to call this. - (ImageGraphicAttribute): Implemented. - (draw): Implemented. - (equals): Implemented. - (getAdvance): Implemented. - (getAscent): Implemented. - (getBounds): Implemented. - (getDescent): Implemented. - (hashCode): Implemented. - * javax/swing/text/html/HTMLDocument.java - (create): Removed. Sufficent enough for - super to be called. - (insert): Likewise. - (insertUpdate): Likewise. - (processHTMLFrameHyperlinkEvent): Marked as stub. - (start): Removed FIXME. - (end): Likewise. - (start): Called super. - (end): Called super. - (getElement): removed unneeded code. - (setParagraphAttribute): Removed. Sufficent enough - for super to be called. - (fireChangedUpdate): Likewise. - (fireUndoableEditUpdate): Likewise. - -2006-05-17 Lillian Angel - - * java/awt/TexturePaint.java: - Added documentation for class and all functions. - (getTransparency): Implemented. - -2006-05-17 Roman Kennke - - * java/awt/LightweightDispatcher.java - (findTarget): Translate point to child components. - -2006-05-17 Roman Kennke - - PR 26368 - * javax/swing/text/GapContent.java - (GapContentPosition): Do no more implement Comparable. - (GapContentPosition.mark): Removed field. - (GapContentPosition.index): New field to hold the index into - the positions array. - (GapContentPosition(int)): Rewritten to use the new indirection - to the positions array. - (GapContentPosition.compareTo): Removed. - (GapContentPosition.getOffset): Synchronized. Fetch mark from - positionMarks array. - (WeakPositionComparator): Removed obsolete class. - (positions): Changed type to WeakHashMap. - (positionMarks): New field, holds the marks of the positions. - (GapContent): Initialize new fields. - (createPosition): Rewritten to use the new indirection - to the positions array. - (getPositionsInRange): Rewritten to use the new indirection - to the positions array. - (setPositionsInRange): Rewritten to use the new indirection - to the positions array. - (adjustPositionsInRange): Rewritten to use the new indirection - to the positions array. - (insertMark): New helper method. - (clearPositionReferences): Removed obsolete methods. - -2006-05-17 Lillian Angel - - * java/awt/GraphicsConfiguration.java - (getImageCapabilities): Implemented. - (getBufferCapabilities): Implemented. - -2006-05-17 Lillian Angel - - * javax/swing/plaf/basic/BasicSliderUI.java - (focusGained): Implemented. - (focusLost): Implemented. - (paint): Added code to paint the focus. - * javax/swing/plaf/metal/MetalSliderUI.java - (paintThumb): Added code to set the thumbColor. - (paintFocus): Implemented properly. - -2006-05-17 Audrius Meskauskas - - PR 27383 - * javax/naming/spi/NamingManager.java (getURLContext): - Always search for the factory class in all possible places - and use VMStackWalker. - (forName): New method. - -2006-05-17 Roman Kennke - - * java/awt/LightweightDispatcher.java - (handleMouseEvent): Fixed search algorithm for finding the - mouse event target. - (findTarget): Fixed search algorithm for finding the - mouse event target. - -2006-05-17 Audrius Meskauskas - - * javax/naming/spi/NamingManager.java: Documented. - -2006-05-17 Mark Wielaard - - * THANKYOU: Add Trevor Linton . - * gnu/javax/imageio/jpeg/DCT.java: Cleanup Todo copyright. - * gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java: Likewise. - * gnu/javax/imageio/jpeg/ZigZag.java: Likewise. - -2006-05-17 Robert Schuster - - Fixes PR 26947. - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Updated copyright - year. - (BorderListener.mouseClicked): Detect double-clicks in title pane, - copied code from - BasicInternalFrameTitlePaneUI.MaximizeAction.actionPerformed(). - -2006-05-17 Robert Schuster - - Fixes PR 27626. - * java/awt/LightweightDispatcher.java: - (handleMouseEvent): Moved assignment into switch-block, added notes. - -2006-05-16 Lillian Angel - - * javax/swing/text/StyleContext.java: - Changed staticAttributeKeys to be a Hashtable. - (getStaticAttribute): Implemented. - (getStaticAttributeKey): Implemented. - (readAttributeSet): Implemented. - (writeAttributeSet): Added FIXME. Not sure how - to implement this. - (readAttributes): Implemented. - (writeAttributes): Implemented. - (registerStaticAttibuteKey): Fixed to add key to - the hash table. - -2006-05-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setGroup): Removed event notification. - -2006-05-16 Lillian Angel - - * javax/swing/plaf/basic/BasicComboBoxUI.java - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/basic/BasicComboPopup.java - (uninstallKeyboardActions): Removed FIXME. Nothing - to be done here. - (installKeyboardActions): Likewise. - * javax/swing/plaf/basic/BasicTextUI.java - (uninstallKeyboardActions): Implemented. - * javax/swing/plaf/basic/BasicTreeUI.java: - Added field for hashColor. - Marked stub methods. - (getHashColor): Implemented to use field. - (setHashColor): Likewise. - (getRowX): Implemented. - (NodeDimensions.getRowX): Changed to use BasicTreeUI.getRowX. - -2006-05-16 Roman Kennke - - PR 26521 - * javax/swing/JTable.java - (rowHeights): New field. - (initializeLocalVars): Call setRowHeigt instead of rowHeight=, - in order to initialize rowHeights correctly. - (tableChanged): Nullify rowHeights when model changes. Only - create default columns from model when corresponding property - is set. Sync table model with rowHeights as appropriate. - (valueChanged): Call repaint with the correct rectangle. - (rowAtPoint): Handle rowHeights. - (getCellRect): Mostly rewritten. Check for boundaries - of model and return (0,0,0,0) or (0,0,width,height) when outside. - Handle component orientation. Round correctly. - (getRowHeight(int)): Implemented for variable row height. - (setRowHeight(int,int)): Implemented for variable row height. - (setRowHeight(int)): Nullify rowHeights. - (setModel): Notify tableChanged(). - * javax/swing/plaf/basic/BasicTableUI.java - (installDefaults): Create rendererPane in installUI. - (installUI): Create and install rendererPane. - (uninstallUI): Uninstall rendererPane and nullify rendererPane - and table. - (paint): Correctly handle rowMargin. - -2006-05-16 Tom Tromey - - PR classpath/27563: - * java/text/NumberFormat.java (getIntegerInstance): Use - "integerFormat", not "numberFormat". - -2006-05-16 Lillian Angel - - * javax/swing/JPopupMenu.java - (addMenuKeyListener): Implemented. - (removeMenuKeyListener): Implemented. - (getMenuKeyListeners): Implemented. - * javax/swing/ProgressMonitor.java: - Added new protected field. - (getAccessibleContext): Implemented. - -2006-05-16 Lillian Angel - - * javax/swing/JFileChooser.java: - Added new private field. - (setDragEnabled): Implemented. - (getDragEnabled): Implemented. - -2006-05-16 Lillian Angel - - * java/awt/Window.java - (applyResourceBundle): Implemented. - -2006-05-16 David Gilbert - - * javax/swing/DefaultButtonModel.java - (setSelected): If new SELECTED state is false, clear ARMED and PRESSED - states also. - -2006-05-16 Audrius Meskauskas - - * javax/swing/JList.java (getSelectedValues): - Ask the value for the indexed array element. - -2006-05-16 Roman Kennke - - * javax/swing/JTable.java - (valueChanged): Also repaint when table has only 1 row. Fixed - repaint rectangle to span the entire changed rows. - -2006-05-16 Roman Kennke - - PR 24031 - * javax/swing/JOptionPane.java - (startModal): Rewritten. The events are now dispatched, even - when the event dispatch thread gets blocked by the call - to this method. Also, mouse events get intercepted outside the - internal frame. - -2006-05-16 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.mouseDragged):Do not set cursor - if the frame is being dragged. - -2006-05-16 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener): Rewritten. (InternalFrameBorder): - Made package private. - (InternalFrameBorder.offset): - Renamed to cornerSize, made package private. - (bSize): Made package private. - -2006-05-16 Roman Kennke - - * javax/swing/JMenu.java - (AccessibleJMenu.getAccessibleChildrenCount): Implemented. - (AccessibleJMenu.getAccessibleChild): Implemented. - (AccessibleJMenu.getAccessibleSelection): Implemented. - (AccessibleJMenu.getAccessibleSelection(int)): Implemented. - (AccessibleJMenu.isAccessibleChildSelected): Implemented. - (AccessibleJMenu.getAccessibleRole): Documented. - (AccessibleJMenu.getAccessibleSelectionCount): Implemented. - (AccessibleJMenu.addAccessibleSelection): Implemented. - (AccessibleJMenu.removeAccessibleSelection): Implemented. - (AccessibleJMenu.clearAccessibleSelection): Implemented. - (AccessibleJMenu.selectAllAccessibleSelection): Implemented. - (createPath): New helper method. - -2006-05-15 Tom Tromey - - * java/text/MessageFormat.java (format): Now varargs. - -2006-05-15 Tom Tromey - - * java/lang/Thread.java (State): Fixed typo. - -2006-05-15 Tom Tromey - - * java/net/URLClassLoader.java: Moved inner classes to - gnu.java.net.loader. - (factoryCache): Changed type. - (URL_LOADER_PREFIX): New constant. - (URLClassLoader): Updated for new factoryCache. - (addURLImpl): Use reflection to search for a loader. - (findClass): Use getClass method on URLLoader. - (getURLStreamHandler): Removed. - * gnu/java/net/loader/URLLoader.java: New file, extracted - from URLClassLoader. - * gnu/java/net/loader/Resource.java: Likewise. - * gnu/java/net/loader/FileResource.java: Likewise. - * gnu/java/net/loader/FileURLLoaderjava: Likewise. - * gnu/java/net/loader/JarURLLoader.java: Likewise. - * gnu/java/net/loader/JarURLResource.java: Likewise. - * gnu/java/net/loader/RemoteURLLoader.java: Likewise. - * gnu/java/net/loader/RemoteResource.java: Likewise. - * gnu/java/net/loader/ULRStreamHandlerCache.java: New file. - -2006-05-15 Sven de Marothy - - * native/target/generic/target_generic_network.h: - Add a pair of parenthesis. - -2006-05-15 Mark Wielaard - - * java/awt/Graphics2D.java: Remove PrinterJob import. - -2006-05-15 Mark Wielaard - - * doc/www.gnu.org/announce/20060515.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.91 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.91. - -2006-05-15 Thomas Fitzsimmons - - * NEWS: Announce inclusion of gcjwebplugin. - Announce inclusion of appletviewer. - * INSTALL: Note gcjwebplugin dependencies. - -2006-05-15 Mark Wielaard - - * configure.ac (VERSION): Set to 0.91-generics. - -2006-05-15 Mark Wielaard - - * NEWS: Add release date and VMClassLoader.getBootPackages() - changes. - -2006-05-15 Christian Thalinger - - * README: Added CACAO to list of VMs. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (paintDirtyRegions): - Break loop as soon as the component repaint is merged - with some parent. (ComponentComparator): Removed. - (comparator): Removed. - -2006-05-15 Roman Kennke - - * javax/swing/border/TitledBorder.java - (paintBorderWithTitle): Fixed indentation. - -2006-05-15 Roman Kennke - - * javax/swing/border/TitledBorder.java - (layoutBorderWithTitle): Fetch border using getBorder() instead - of using the border field directly. Allows for the use of - an UI supplied border in the case when a null border was set. - Fixed component orientation. - (paintBorderWithTitle): Fetch border using getBorder() instead - of using the border field directly. Allows for the use of - an UI supplied border in the case when a null border was set. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (paintDirtyRegions): Rewritten. - (contains): New method. - -2006-05-15 Tom Tromey - - * resource/gnu/classpath/tools/jar/messages.properties: Fixed - argument indices. - * resource/gnu/classpath/tools/getopt/Messages.properties: Fixed - argument indices. - -2006-05-15 Audrius Meskauskas - - * javax/swing/JComponent.java (findOverlapParent): Stop loop at - JViewport's. - * javax/swing/RepaintManager.java (addDirtyRegion): Always add the given - region. (paintDirtyRegions): Rewritten. - -2006-05-15 Tom Tromey - - * tools/gnu/classpath/tools/jar/Main.java (setArchiveFile): Use - MessageFormat. - * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use - MessageFormat. - * tools/gnu/classpath/tools/jar/Extractor.java: Externalized strings. - (run): Use MessageFormat. - * resource/gnu/classpath/tools/jar/messages.properties: New file. - * tools/gnu/classpath/tools/jar/Creator.java: Externalized strings. - (writeFile): Use MessageFormat. - -2006-05-15 Jeroen Frijters - - * java/awt/Toolkit.java (getDefaultToolkit): Use Class.forName() - instead of directly calling the class loader. - -2006-05-15 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Option.java (getDescription): - Removed old comment. - * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: - Externalized strings. - (getVersionString): Use MessageFormat. - * tools/gnu/classpath/tools/getopt/Messages.java: New file. - * resource/gnu/classpath/tools/getopt/Messages.properties: New file. - * tools/gnu/classpath/tools/getopt/Parser.java: Externalized strings. - (getArgument): Use a MessageFormat. - (handleLongOption): Likewise. - (parse): Likewise. - -2006-05-15 Robert Schuster - - Fixes PR 27197. - * javax/swing/text/FieldView.java: - (paint): Calculate intersection between clip and allocation area and - set that as new clip. - -2006-05-15 David Gilbert - - * javax/swing/text/JTextComponent.java: Marked stub methods. - -2006-05-15 David Gilbert - - * javax/swing/JTable.java: Marked stub methods. - -2006-05-15 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java: - Increased visibility of fields used by parser anonymous classes. - (KEYTOOL_TOOL): New constant. - (cmdLineParser): Changed type to ToolParser. - (fileAndAlias): new field. - (main): Don't catch OptionException. - (processArgs): Removed validation checks; now handled by ToolParser. - (getParser): Removed. - (ToolParserCallback): New inner class. - (ToolParser): Likewise. - -2006-05-15 Audrius Meskauskas - - * javax/swing/JTable.java (TableTextArea.scrollRectToVisible): - Removed. - -2006-05-15 Audrius Meskauskas - - * javax/swing/DefaultDesktopManager.java (endDraggingFrame, - endResizingFrame): Do not repaint, unless in the outline mode. - -2006-05-15 David Gilbert - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.getAccessibleRole): Implemented, - (AccessibleJTabbedPane.getAccessibleChildrenCount): Implemented, - (AccessibleJTabbedPane.getAccessibleSelection()): Implemented, - (AccessibleJTabbedPane.getAccessibleAt): Implemented, - (AccessibleJTabbedPane.getAccessibleSelectionCount): Implemented, - (AccessibleJTabbedPane.getAccessibleSelection(int)): Implemented, - (AccessibleJTabbedPane.isAccessibleChildSelected): Implemented, - (AccessibleJTabbedPane.addAccessibleSelection): Implemented, - (AccessibleJTabbedPane.removeAccessibleSelection): Implemented, - (AccessibleJTabbedPane.clearAccessibleSelection): Implemented, - (AccessibleJTabbedPane.selectAllAccessibleSelection): Implemented, - (Page.getAccessibleName): Implemented. - -2006-05-15 Audrius Meskauskas - - * javax/swing/DefaultDesktopManager.java (setBoundsForFrame): - Do not repaint nor revalidate here. - -2006-05-15 Audrius Meskauskas - - * javax/swing/RepaintManager.java (addDirtyRegion): - If there is a lightweight parent, recursively add the corresponding - region of the parent instead. - -2006-05-15 David Gilbert - - * java/awt/Graphics2D.java: Added some API doc comments. - -2006-05-15 David Gilbert - - * javax/swing/JTabbedPane.java - (paramString): Reimplemented, - (getAccessibleContext): Added API docs. - -2006-05-15 David Gilbert - - * javax/swing/JFileChooser.java - (paramString): Reimplemented, - (getAccessibleContext): Updated API docs, - (AccessibleJFileChooser): Added API docs. - -2006-05-14 Tom Tromey - - * tools/gnu/classpath/tools/jar/Updater.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Creator.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Action.java (run): No longer throws - OptionException. - * tools/gnu/classpath/tools/jar/Indexer.java (run): Removed. Moved - validation to JarParser. - * tools/gnu/classpath/tools/jar/Main.java (JarParser): New class. - (run): Moved validation to JarParser. Don't throw OptionException. - (initializeParser): Create a JarParser. - (main): Don't catch OptionException. - * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): No longer + * javax/activity/ActivityCompletedException.java: Make constructors public. - (validate): New method. - (parse): Call it. Print '-help' in error message when long-only. + * javax/activity/ActivityRequiredException.java: Likewise. + * javax/activity/InvalidActivityException.java: Likewise. -2006-05-14 Tom Tromey - - * gnu/java/awt/print/JavaPrinterJob.java (setPrintable): Fixed - assignment. - -2006-05-15 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java: - Sweeping changes I can't be bothered to document in detail. - * gnu/java/awt/print/JavaPrinterJob.java - (getPageAttributes): New method. - (setPageable,cancel,isCancelled): Implement. - -2006-05-14 David Gilbert - - * javax/swing/JCheckBoxMenuItem.java - (requestFocus): Fixed typo in API docs, - (paramString): Just call super.paramString(), - (getAccessibleContext): Added API docs, - (AccessibleJCheckBoxMenuItem): Likewise. - -2006-05-14 Tom Tromey - - * tools/gnu/classpath/tools/jar/Indexer.java - (writeCommandLineEntries): Simplify insertion. - * tools/gnu/classpath/tools/jar/Main.java (run): Don't allow both - -m and -M. - -2006-05-14 Tom Tromey - - PR classpath/27514: - * gnu/java/net/IndexListParser.java (JAR_INDEX_FILE): Renamed. Now - constant. - (JAR_INDEX_VERSION_KEY): Likewise. - (IndexListParser): Updated. - (getVersionInfo): Likewise. - * tools/gnu/classpath/tools/jar/Indexer.java: New file. - * tools/gnu/classpath/tools/jar/Action.java (run): Now throws - OptionException. - * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Handle - -i. - (ModeOption): New constructor. - (parsed): Updated. Use setArchiveFile. - (setArchiveFile): New method. - (run): Handle no-argument case. - (main): Emit --help message on option error. - * tools/gnu/classpath/tools/jar/Updater.java (inputJar): New field. - (createManifest): New method. - (run): Updated. Throws OptionException. Correctly copy zip entry. - * tools/gnu/classpath/tools/jar/Creator.java (createManifest): New - method. - (writeManifest): Removed. - (outputStream): Now a JarOutputStream. - (writeCommandLineEntries): Changed parameters. Updated callers. - (run): Throws OptionException. - * java/util/jar/JarOutputStream.java (putNextEntry): Typo fix. - * java/util/jar/Manifest.java (read): Typo fix. - -2006-05-14 David Gilbert - - * javax/swing/JMenuItem.java - (paramString): Fixed class name in API doc comment. - -2006-05-14 Tom Tromey - - * native/plugin/.cvsignore: Updated. - -2006-05-14 Mark Wielaard - - * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ - comments. - -2006-05-14 Chris Burdess - - * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype - nodes to be preserved during cloneNode. - -2006-05-14 Mark Wielaard - - PR 27459 - * native/jni/java-net/javanet.c (_javanet_accept): Reset the - inherited timeout on socket. - -2006-05-14 Lillian Angel - - * java/util/SimpleTimeZone.java: Reverted patch. - (SimpleTimeZone): Throw exception if startMonth == - endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more - efficently). - This code is now more stable, at least less buggy than before. - Fixed API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-14 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): - Initialise to -1. - -2006-05-14 Robert Schuster - - PR classpath/27595 - * javax/swing/text/AbstractDocument.java: - (insertString): Flipped if-expression and its blocks. - (remove): Dito. - (replace): Flipped if-expression and its blocks, added note, invoke - insertString and remove instead of insertStringImpl and removeImpl. - -2006-05-14 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (main): Formatting. - -2006-05-14 Raif S. Naffah - - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: - Added help text. - * tools/gnu/classpath/tools/keytool/keytool.txt: Removed - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - (setup): Mark (Eclipse) strings that need not be externalised. - (start): Likewise. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Main.java: Amended to use getopt - command line option parsing. - * tools/gnu/classpath/tools/keytool/ListCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): set 'all' local field. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - (setNewKeyPassword): Fixed comments. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - (findTrustInCACerts): Mark (Eclipse) strings that need not be - externalised. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): Mark (Eclipse) strings that need not be externalised. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - (ATTRIBUTES_OPT): New constant. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: - Increased visibility of fields used by parser anonymous classes. - (processArgs): Removed. - (setup): Mark (Eclipse) strings that need not be externalised. - (start): Likewise. - Reduced logging level. - (getParser): New method. - * tools/gnu/classpath/tools/keytool/Command.java - (processArgs): Made it concrete. - (getParser): New abstract method. - * tools/Makefile.am (KEYTOOL_HELPS): Removed. - -2006-05-13 Casey Marshall - - Patch by Michael Barker . - * gnu/java/nio/PipeImpl.java: Retrofitted to use VMChannel. - * gnu/java/nio/SelectorImpl.java (register): Added condition for - gnu.java.nio.SocketChannelSelectionKeyImpl. - * gnu/java/nio/SocketChannelSelectionKeyImpl.java: new file. - * gnu/java/nio/channels/FileChannelImpl.java: retrofitted to use - VMChannel. - * include/gnu_java_nio_VMChannel.h: new file. - * java/nio/FileChannel.java (read,write): changed to call abstract - method. - * native/jni/java-nio/gnu_java_nio_VMChannel.c: new file. - * native/jni/java-nio/Makefile.am (libjavanio_SOURCES): add - `gnu_java_nio_VMChannel.c.' - * vm/reference/gnu/java/nio/VMChannel.java: new file. - -2006-05-14 Robert Schuster - - * javax/swing/text/AbstractDocument.java: - (insertString): Flipped if-expression and its blocks. - (remove): Dito. - (replace): Flipped if-expression and its blocks, added note, invoke - insertString and remove instead of insertStringImpl and removeImpl. - -2006-05-13 Tom Tromey - - * java/nio/ByteBufferImpl.java (compact): Always set position. - -2006-05-13 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java - (spoolPostScript): Use a faster writer. - -2006-05-13 Sven de Marothy - - * gnu/java/awt/print/JavaPrinterGraphics.java - (colorTripleHex): Reimplement better. - -2006-05-13 Sven de Marothy - - * javax/swing/text/html/HTMLDocument.java - (CharacterAction.start): Translate tag to StyleAttribute. - (pushCharacterStyle): Push copy of attributes onto stack. - * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: - New file - -2006-05-13 Sven de Marothy - - * gnu/javax/print/ipp/IppRequest.java (send): Set a timeout. - * java/awt/print/PrinterJob.java - (getPrinterJob): Return a JavaPrinterJob - (setPrintService,getPrintService): Implement. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: - (getPixels): Gtk_threads_enter required. - * gnu/java/awt/print/JavaPrinterGraphics.java - * gnu/java/awt/print/JavaPrinterJob.java - * gnu/java/awt/print/SpooledDocumet.java: - New files. - -2006-05-13 Robert Schuster - - * javax/swing/text/TextAction.java: - (HorizontalMovementAction): New inner class. - (VerticalMovementAction): New inner class. - * javax/swing/text/DefaultEditorKit.java: Added assigning instances of - new inner classes to array 'defaultActions'. - (SelectionBeginWordAction): New inner class. - (SelectionEndWordAction): New inner class. - (BeginWordAction): New inner class. - (EndWordAction): New inner class. - (PreviousWordAction.actionPerformed): Rewritten. - (SelectLineAction): New inner class. - (SelectWordAction): New inner class. - (SelectionDownAction): Rewritten. - (SelectionUpAction): Rewritten. - (DownAction): Rewritten. - (UpAction): Rewritten. - (SelectionForwardAction): Rewritten. - (SelectionBackwardAction): Rewritten. - (ForwardAction): Rewritten. - (BackwardAction): Rewritten. - (BeginAction): New inner class. - (EndAction): New inner class. - (DefaultKeyTypedAction.actionPerformed): Use int variant of - Character.isISOControl. - -2006-05-13 Robert Schuster - - * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: - (WordFilter.getNextVisualPositionFrom): Added statement to check - for variable pt not being null. - -2006-05-13 Robert Schuster - - * javax/swing/text/Utilities.java: - (getNextWord): Fixed grammar in exception message. - (getPreviousWord): Changed expression in first if-clause, added sub- - expression to if-clause in while-loop. - (getWordStart): Changed expression in if-clause. - getNextVisualPositionFrom): Added package-private helper method. - -2006-05-13 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): - Initialise to -1. - -2006-05-13 Raif S. Naffah - - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - Added help text. - * tools/Makefile.am (JARSIGNER_HELPS): Removed. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Removed. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Increased visibility of fields used by parser anonymous classes. - (HELP_PATH): Removed. - (cmdLineParser): New field. - (main): Handle JVM exit status. - Handle command line parsing exceptions. - (processArgs): Use getopt command line parser. - (getParser): New method. - (setupCommonParams): Removed checks now handled by processArgs(). - (setupSigningParams): Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): - Reuse an existing message-bundle constant. - -2006-05-12 Tom Tromey - - * gnu/java/net/protocol/jar/Connection.java (getHeaderField): - Explicitly specify class for synchronization. - -2006-05-12 Tom Tromey - - * java/util/logging/Logger.java (resetLogger): Fixed typo. - -2006-05-12 Sven de Marothy - - * gnu/java/net/protocol/http/HTTPConnection.java (get): Add timeout parameter. - * gnu/java/net/protocol/http/HTTPURLConnection.java - (setConnectTimeout): New method. - (getConnection): Add timeout parameter. - * java/net/URLConnection.java - (getConnectTimeout, setConnectTimeout): Implement. - * native/target/generic/target_generic_network.h: - Set correct socket parameters SO_SNDTIMEO and SO_RCVTIMEO. - -2006-05-12 Sven de Marothy - - * gnu/javax/print/CupsServer.java - (CupsServer): Make the Cups host configurable. - * java/lang/System.java: Document the system property. - -2006-05-12 Roman Kennke - - * javax/swing/border/TitledBorder.java - (paintBorder): Rewritten for simplicity and correctness. - (layoutBorderWithTitle): New helper method. - (paintBorderWithTitle): New helper method. - (getBorderInsets): Rewritten. - (getMinimumSize): Rewritten. - (getRealJustification): Removed. - (getMeasurements): Removed. - (Measurements): Removed. - -2006-05-12 David Gilbert - - * javax/swing/plaf/basic/BasicPanelUI.java - (sharedUI): New field, - (createUI): Return a shared instance rather than a new instance, - (installUI): Reformatted and added API docs, - (installDefaults): Install border if one is defined, - (uninstallDefaults): Uninstall border. - -2006-05-12 David Gilbert - - * javax/swing/JProgressBar.java: Updated API docs all over. - -2006-05-11 Lillian Angel - - * java/awt/ContainerOrderFocusTraversalPolicy.java - (getComponentAfter): Should not throw exception if - the ancestor is null. Added a check for this. - Also, changed to use new helper function, we should - iterate through all the components at least once. - (getNextAvailableComponent): New helper function. - (getPrevAvailableComponent): New helper function. - (getComponentBefore): Should not throw exception if - the ancestor is null. Added a check for this. - Also, changed to use new helper function, we should - iterate through all the components at least once. - (getFirstComponent): Changed check to manually check - fields. Calling accept() casts the object to a Component, - so different values may be returned. - (getLastComponent): Likewise. - -2006-05-11 David Gilbert - - * javax/swing/plaf/metal/MetalBorders.java: Clean up formatting/style, - * javax/swing/plaf/metal/MetalButtonUI.java: Likewise, - * javax/swing/plaf/metal/MetalCheckBoxUI.java: Likewise, - * javax/swing/plaf/metal/MetalComboBoxButton.java: Likewise, - * javax/swing/plaf/metal/MetalComboBoxIcon.java: Likewise, - * javax/swing/plaf/metal/MetalFileChooserUI.java: Likewise, - * javax/swing/plaf/metal/MetalIconFactory.java: Likewise, - * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java: Likewise, - * javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise, - * javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java: Likewise, - * javax/swing/plaf/metal/MetalRootPaneUI.java: Likewise, - * javax/swing/plaf/metal/MetalScrollBarUI.java: Likewise, - * javax/swing/plaf/metal/MetalSeparatorUI.java: Likewise, - * javax/swing/plaf/metal/MetalSliderUI.java: Likewise, - * javax/swing/plaf/metal/MetalSplitPaneDivider.java: Likewise, - * javax/swing/plaf/metal/MetalTabbedPaneUI.java: Likewise, - * javax/swing/plaf/metal/MetalToolTipUI.java: Likewise, - * javax/swing/plaf/metal/MetalUtils.java: Likewise. - -2006-05-11 Robert Schuster - - * javax/swing/text/DefaultCaret.java: Made field 'textComponent' - package-private, added field 'active'. - (PropertyChangeHandler.propertyChange): Added variable 'name', added - cases to update field 'active'. - (mouseDragged): Added documentation, added if-clause to update - selection or caret position. - (mouseClicked): Added early return when text component is disabled. - (focusGained): Moved statements into an if-clause. - (focusLost): Added subexpression to if-clause. - (install): Preset value of 'active'. - (paint): Added subexpression to if-clause. - (isVisible): Extended return expression. - * javax/swing/text/JTextComponent.java: - (copy): Copy only if component is enabled. - (cut): Cut only if component is enabled and editable. - (paste): Dito. - -2006-05-11 David Gilbert - - * javax/swing/plaf/multi/MultiComboBoxUI.java: Minor formatting change, - * javax/swing/plaf/multi/MultiFileChooserUI.java: Likewise, - * javax/swing/plaf/multi/MultiListUI.java: Likewise, - * javax/swing/plaf/multi/MultiLookAndFeel.java: Likewise, - * javax/swing/plaf/multi/MultiOptionPaneUI.java: Likewise, - * javax/swing/plaf/multi/MultiSplitPaneUI.java: Likewise, - * javax/swing/plaf/multi/MultiTabbedPaneUI.java: Likewise. - -2006-05-11 Roman Kennke - - * gnu/java/awt/font/GNUGlyphVector.java - (GNUGlyphVector): Don't apply the font renderer context's - transform. - -2006-05-11 Mark Wielaard - - * java/util/logging/Logger.java (global): Initialize inside static - PrivilegedAction. - -2006-05-11 David Gilbert - - * javax/swing/JFrame.java - (EXIT_ON_CLOSE): Added note to API docs, - (close_action): Renamed closeAction, - (JFrame()): Change title to "", - (JFrame(String)): Added API docs, - (getAccessibleContext): Likewise, - (getDefaultCloseOperation): Updated for renamed field, added API docs, - (processWindowEvent): Updated for renamed field, - (setDefaultCloseOperation): Likewise, and updated API docs. - -2006-05-11 David Gilbert - - * javax/swing/JFrame.java - (paramString): Reimplemented, - * javax/swing/SwingUtilities.java - (convertWindowConstantToString): New method. - -2006-05-11 David Gilbert - - * javax/swing/WindowConstants.java: Updated API docs. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicToggleButtonUI.java: Updated API docs, - (createUI): Removed 'final' qualifier for parameter, - (paint): Reformatted. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java: Added API docs plus, - (createUI): Removed 'final' qualifier on method argument. - -2006-05-11 David Gilbert - - * javax/swing/plaf/basic/BasicCheckBoxUI.java - (getDefaultIcon): Removed this redundant method. - -2006-05-11 David Gilbert +2007-01-17 Roman Kennke * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Pass component size to paintFocus(). + (paint): Use helper method to figure out icon. Don't override + the icon field in that class. Check for null icons. + (getCurrentIcon): New helper function to determine icon to be + painted. -2006-05-11 Robert Schuster +2007-01-17 Mark Wielaard - * java/awt/Component.java: - (dispatchEventImpl): Added comment. - - 2006-05-11 Mark Wielaard - - * tools/gnu/classpath/tools/appletviewer/Main.java (main): Cast - Option constructor null argument to String. - -2006-05-11 Mark Wielaard + * javax/activity/ActivityCompletedException.java: New file. + * javax/activity/ActivityRequiredException.java: Likewise. + * javax/activity/InvalidActivityException.java: Likewise. + * javax/activity/package.html: Likewise. - * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): - Fully qualify PathIterator constants +2007-01-15 Andrew John Hughes -2006-05-11 Robert Schuster + * javax/management/DefaultLoaderRepository.java: + (loadClass(String)): Made static. + (loadClassWithout(String,ClassLoader)): Likewise. - * java/awt/Component.java: - (dispatchEventImpl): Added subexpression to if-clause. +2007-01-15 Kyle Galloway -2006-05-11 Mark Wielaard + * gnu/classpath/jdwp/exception/TypeMismatchException.java: New file. + * gnu/classpath/jdwp/exception/InvalidFrameException.java: Fix indentation. + * gnu/classpath/jdwp/exception/InvalidSlotException.java: Fix indentation. + +2007-01-15 Andrew John Hughes - * java/util/Collections.java (UnmodifiableMapEntry): Qualify - Map.Entry. + * javax/management/AttributeValueExp.java: + Corrected serialVersionUID typo. + * javax/management/DefaultLoaderRepository.java: + New file. + * javax/management/MBeanServerFactory.java: + Add generic typing. + +2007-01-15 Kyle Galloway -2006-05-10 David Gilbert + * gnu/classpath/jdwp/exception/InvalidFrameException.java: New file. - * javax/swing/TransferHandler.java: Marked stub methods. +2007-01-15 Kyle Galloway -2006-05-10 Roman Kennke + * gnu/classpath/jdwp/exception/AbsentInformationException.java: New file. - PR classpath/27481 - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installDefaults): Set background of content pane to null, if - no custom color has been installed by the application yet. +2007-01-15 Kyle Galloway -2006-05-10 Roman Kennke + * gnu/classpath/jdwp/exception/InvalidSlotException.java: New file. - PR classpath/27481 - * javax/swing/JRootPane.java - (createContentPane): Don't set background to null. +2007-01-14 Andrew John Hughes -2006-05-10 Sven de Marothy + * javax/management/AttributeValueExp.java: New file. + * javax/management/QueryEval.java: Likewise. + * javax/management/StringValueExp.java: Likewise. + +2007-01-14 Andrew John Hughes - * java/awt/print/PrinterJob.java: - (lookupPrintServices): Un-comment-out. + * javax/management/AttributeChangeNotificationFilter.java: + New file. + +2007-01-11 Andreas Tobler -2006-05-11 Raif S. Naffah - - * tools/gnu/classpath/tools/getopt/OptionGroup.java - (FILLER): New constant. - (formatText(PrintStream,String,int)): New method. - (formatText(PrintStream,String,int,Locale)): Likewise. - (printHelp): Use formatText method. - * tools/gnu/classpath/tools/getopt/Parser.java - (MAX_LINE_LENGTH): New constant. - (formatText(PrintStream,String)): New method. - (formatText(PrintStream,String,Locale)): Likewise. - (printHelp): New method. - (printHelp(PrintStream)): Increased visibility to protected. - Use formatText method. - -2006-05-10 David Gilbert - - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (installDefaults): Use getPropertyPrefix() to allow subclasses to - modify the lookup key. - -2006-05-10 Lillian Angel - - * java/util/SimpleTimeZone.java: Reverted patch. - (SimpleTimeZone): Throw exception if startMonth == - endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more - efficently). - This code is now more stable, at least less buggy than before. - Fixed API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-10 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponent.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingComponentPeer.java: - (createImage): Create a BufferedImage, not a Toolkit image. - (paint): Removed bogus API comment. - (prepareImage): Added checks to avoid NPE. - * gnu/java/awt/peer/swing/SwingContainerPeer.java: - (getInsets): Added check to avoid NPE. - (handleMouseEvent): Added check to avoid NPE. - * gnu/java/awt/peer/swing/SwingFramePeer.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: - Some API comment fixlets. - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java: - Changed start_pos name to startPos. - * gnu/java/awt/peer/swing/SwingWindowPeer.java: - Some API comment fixlets. - -2006-05-10 David Gilbert - - * java/awt/BasicStroke.java - (equals): Fixed typo in HTML tag for API doc comment. - -2006-05-10 Gary Benson - - * java/lang/ThreadGroup.java (parent): Make package-private. - * java/lang/SecurityManager.java (checkAccess(Thread)): - Reference ThreadGroup.parent directly to avoid extra checks. - * java/lang/SecurityManager.java (checkAccess(ThreadGroup)): + * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java + (AicasGraphicsBenchmark): Load images from ../icons. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java (init): Likewise. + * examples/Makefile.am (EXAMPLE_ICONS): Add rule to copy *.gif files + to icons. + * examples/gnu/classpath/examples/awt/aicas.png: Move to ../icons. + Delete here. + * examples/gnu/classpath/examples/awt/palme.gif: Likewise. + * examples/gnu/classpath/examples/java2d/aicas.png: Likewise. + * examples/gnu/classpath/examples/java2d/palme.gif: Likewise. + * examples/gnu/classpath/examples/icons/aicas.png: Moved. + * examples/gnu/classpath/examples/icons/palme.gif: Likewise. -2006-05-10 Roman Kennke +2007-01-09 Tania Bento - Reported by Ingo Proetel (proetel@aicas.com) - * java/awt/EventDispatchThread.java - (DEFAULT_PRIORITY): New constant field. - (EventDispatchThread()): Added gnu.awt.dispatchthread.priority - system property for adjusting the priority of the event - dispatch thread. + * java/security/Permission.java: + (toString): If there are no actions, then there should not + be a space between its name and ')'. -2006-05-10 Roman Kennke +2007-01-08 Andrew John Hughes - Reported by Ingo Proetel (proetel@aicas.com) - * java/awt/image/ColorModel.java - (S_RGB_MODEL): New constant field. - (getRGBDefault): Return constant SRGBColorModel. - (SRGBColorModel): Specialized color model for sRGB. - -2006-05-10 Roman Kennke - - * java/awt/ColorPaintContext.java - (getRaster): Create Raster with (0,0) as source location. - -2006-05-10 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java - (compose): Don't premultiply alpha to alpha itself. - -2006-05-10 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawImage(Image,AffineTransform,ImageObserver)): Implemented. - (drawImageImpl(Image,AffineTransform,ImageObserver,Rectangle)): - New method. - (drawImage(BufferedImage,BufferedImageOp,int,int)): Implemented. - (drawRenderedImage(RenderedImage,AffineTransform)): Implemented. - (drawRenderedImageImpl(RenderedImage,AffineTransform,Rectangle)): - New method. - (drawRenderableImage(RenderableImage,AffineTransform)): Implemented. - (drawRenderableImageImpl(RenderableImage,AffineTransform,Rectangle)): - New method. - (scale): Inverse transform by doing 1/scale instead of -scale. - (drawImage(Image,int,int,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,ImageObserver)): Implemented. - (drawImage(Image,int,int,Color,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,Color,ImageObserver)): Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): - Implemented. - (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): - Implemented. - (fillScanline): Work on translated destination raster for - correct compositin. - (init): Fetch the clip after the destination raster is initialized. - * gnu/java/awt/java2d/ImagePaint.java: New file. - * gnu/java/awt/java2d/RasterGraphics - (drawImage): Removed. - -2006-05-09 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Clarify option descriptions. - * tools/gnu/classpath/tools/appletviewer/Main.java: Use all - uppercase for metasyntactic variables. - -2006-05-09 Robert Schuster - - PR classpath/24216 - * javax/swing/text/AbstractDocument.java: - (insertString): Added more documentation, added argument check. - (remove): Added more documentation. - (removeImpl): Added argument check. - (replace): Added more documentation, added argument check. - -2006-05-09 Tom Tromey - - * tools/.cvsignore: Added appletviewer. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): Skip - empty groups. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): - Special case for '-J'. Use space instead of '='. - * tools/gnu/classpath/tools/getopt/Parser.java (setHeader): Added - comment. - -2006-05-09 Thomas Fitzsimmons - - * configure.ac: Add --disable-plugin and --with-vm options. Check - for plugin support headers and libraries. - * native/Makefile.am: Recurse into plugin directory. - * native/plugin/.cvsignore: New file. - * native/plugin/Makefile.am: New file. - * native/plugin/gcjwebplugin.cc: New file. - * tools/Makefile.am: Install appletviewer wrapper script. - * tools/appletviewer.in: Replace VM location heuristic with - VM_BINARY configure substitution. - -2006-05-09 Tom Tromey - - * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Added - an initial pass to look for short options. Added 'longOnly' option. - * tools/gnu/classpath/tools/appletviewer/Main.java (main): Removed -J - option. - * tools/gnu/classpath/tools/getopt/Parser.java (parsed): Put stadnard - options into final group. Added -J. - (add): Insert new groups before final group. - (printHelp): Updated. - -2006-05-09 Audrius Meskauskas - - PR 27518 - * tools/gnu/classpath/tools/giop/GRMIC.java (main), - tools/gnu/classpath/tools/rmi/RMIC.java (main): - Expect -classpath option. - * tools/gnu/classpath/tools/rmi/RMIC.txt, - tools/gnu/classpath/tools/giop/GRMIC.txt: Documenting - -classpath option. - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - (classLoader): New field. (loadClass, setClassPath): - New methods. - -2006-05-09 Roman Kennke - - * gnu/java/awt/java2d/RasterGraphics.java - (RasterGraphics): Call init() and super(). - (drawImage): Temporary drawImage impl until AbstractGraphics2D has - this. - -2006-05-09 Gary Benson - - * java/lang/Thread.java (Thread): Always perform threadgroup - access checks on thread creation. - -2006-05-09 Chris Burdess - - * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype nodes to - be preserved during cloneNode. - -2006-05-09 Audrius Meskauskas - - PR 27517 - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): - Do not demand all thrown exceptions to be an instance of RemoteException. - -2006-05-09 Thomas Fitzsimmons - - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: - Use hash-style comments. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - Likewise. - -2006-05-09 David Gilbert - - * javax/swing/JLabel.java - (paramString): Added more attribute details, - * javax/swing/SwingUtilities.java - (convertHorizontalAlignmentCodeToString): New method, - (convertVerticalAlignmentCodeToString): New method. - -2006-05-08 Tom Tromey - - * tools/gnu/classpath/tools/jar/Updater.java (run): Updated. - * tools/gnu/classpath/tools/jar/Main.java: Use javadoc for fields. - * tools/gnu/classpath/tools/jar/Lister.java (listJar): Use - ZipInputStream. - (run): Updated. - * tools/gnu/classpath/tools/jar/Extractor.java (run): Use System.err - for verbose. - (run): Use ZipInputStream. - (initSet): New method. - (shouldExtract): Likewise. - (run): Use new methods. - * tools/gnu/classpath/tools/jar/Creator.java - (writeCommandLineEntries): New overload. - (writeFile): Use System.err for verbose. - (writeManifest): New method. - (writtenItems): New field. - (writeFile): Update it. - (writeCommandLineEntries): Return void. Call writeManifest. - (addEntries): Don't add extra '/'. - * NEWS: Mention jar. - -2006-05-08 Lillian Angel - - * gnu/java/net/IndexListParser.java: New class. - * java/net/URLClassLoader.java - (JarURLLoader): Fixed code to use new class. - -2006-05-08 Roman Kennke - - * javax/swing/JComboBox.java - (AccessibleJComboBox.getAccessibleChildrenCount): Implemented. - (AccessibleJComboBox.getAccessibleChild): Implemented. - (AccessibleJComboBox.getAccessibleSelection()): Implemented. - (AccessibleJComboBox.getAccessibleSelection(int)): Implemented. - (AccessibleJComboBox.isAccessibleChildSelected): Implemented. - (AccessibleJComboBox.getAccessibleAction): Implemented. - (AccessibleJComboBox.getAccessibleActionDescription): Implemented. - (AccessibleJComboBox.getAccessibleActionCount): Implemented. - (AccessibleJComboBox.doAccessibleAction): Implemented. - (AccessibleJComboBox.getAccessibleSelectionCount): Implemented. - (AccessibleJComboBox.addAccessibleSelection): Implemented. - (AccessibleJComboBox.removeAccessibleSelection): Implemented. - (AccessibleJComboBox.clearAccessibleSelection): Implemented. - (AccessibleJComboBox.selectAllAccessibleSelection): Implemented. - -2006-05-08 Thomas Fitzsimmons - - * configure.ac: Add support for building appletviewer. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + * javax/management/AttributeChangeNotification.java: New file. - * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: - New file. - * tools/appletviewer.c: New file. - * tools/appletviewer.in: New file. - * tools/gnu/classpath/tools/appletviewer/AppletClassLoader.java: - New file. - * tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java: - New file. - * tools/gnu/classpath/tools/appletviewer/AppletTag.java: New file. - * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: New - file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: - New file. - * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: New - file. - * tools/gnu/classpath/tools/appletviewer/ErrorApplet.java: New - file. - * tools/gnu/classpath/tools/appletviewer/Main.java: New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: - New file. - * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: - New file. - * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: - New file. - * tools/gnu/classpath/tools/appletviewer/TagParser.java: New - file. - -2006-05-08 Tom Tromey - - * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: New file. - * tools/gnu/classpath/tools/jar/Action.java: New file. - * tools/gnu/classpath/tools/jar/Creator.java: New file. - * tools/gnu/classpath/tools/jar/Entry.java: New file. - * tools/gnu/classpath/tools/jar/Extractor.java: New file. - * tools/gnu/classpath/tools/jar/Lister.java: New file. - * tools/gnu/classpath/tools/jar/Main.java: New file. - * tools/gnu/classpath/tools/jar/Updater.java: New file. - * tools/gnu/classpath/tools/getopt/Option.java: New file. - * tools/gnu/classpath/tools/getopt/OptionException.java: New file. - * tools/gnu/classpath/tools/getopt/OptionGroup.java: New file. - * tools/gnu/classpath/tools/getopt/Parser.java: New file. - * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java: New - file. - -2006-05-08 Lillian Angel - - * java/net/URLClassLoader.java - (JarURLLoader): Added check to make sure the INDEX.LIST file - exists. - -2006-05-08 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (fill): Removed commented out code. - (fillShape): Also determine the outline of the clip and feed - it into the rendering method. Use new helper method for - converting the shapes into lists of segments. - (getUserBounds): Removed obsolete method. - (rawFillShape): Respect the clip when rendering shapes. - (fillShapeAntialias): Adjusted signature for new clipped rendering. - However, the implementation can't clip still. - (getSegments): New helper method for converting a shape into - a list of segments. - (clipShape): Removed obsolete method. - * gnu/java/awt/java2d/PolyEdge.java - (isClip): New field. - (PolyEdge): Added isField argument to constructor. - -2006-05-08 Roman Kennke - - PR 27481 - * javax/swing/JRootPane.java - (createContentPane): Set background of the content pane to null, - so that the content pane inherits its background from the - root pane. - -2006-05-08 Roman Kennke - - PR 27480 - * javax/swing/ButtonGroup.java - (add): Check if new button is selected and if so, deselect other - buttons in the group. - -2006-05-08 Lillian Angel - - PR 27444 - * java/net/URLClassLoader.java - (JarURLLoader): Added code to go through - META-INF/INDEX.LIST file to load all jars listed. - -2006-05-08 Roman Kennke - - PR 27461 - * javax/swing/ImageIcon.java - (ImageIcon(URL)): Set description to URL.toString(). - -2006-05-08 Roman Kennke - - PR 27482 - * javax/swing/JTable.java - (IconCellRenderer.getTableCellRendererComponent): Set icon to - null when cell value is null. - -2006-05-08 Roman Kennke - - PR 27484 - * javax/swing/DefaultDesktopManager.java - (closeFrame): Don't perform default close action on the frame - to prevent endless loop. - -2006-05-08 Roman Kennke - - PR 27485 - * javax/swing/table/DefaultTableModel.java - (addExtraRows): New helper method. - (checkSize): New helper method. - (setRowCount): Use addExtraRows helper method. - (addColumn): Use addExtraRows helper method. - (getColumnName): Check and adjust size if necessary using - checkSize(). - -2006-05-08 Roman Kennke - - PR 27486 - * javax/swing/JTable.java - (setValueAt): Allow setting values even when table is editable. - -2006-05-08 Tom Tromey - - * java/text/SimpleDateFormat.java (compileFormat): Added missing - space to error message. - -2006-05-08 David Gilbert - - * javax/swing/AbstractButton.java: Fixed comment typos. - -2006-05-07 Andrew John Hughes - - PR classpath/27435: - * java/util/zip/DeflaterEngine.java: - (deflateFast(boolean,boolean)): Empty buffer when full. -2006-05-07 Sven de Marothy +2007-01-08 Cameron McCormack - Fixed PR27343 - * java/util/Calendar.java (setTimeZone): Force recalculation. + PR 30355 + * java/util/Arrays.java: + (binarySearch(byte[],byte)): Added check for zero-length array. + (binarySearch(short[],short)): Likewise. + (binarySearch(int[],int)): Likewise. + (binarySearch(long[],long)): Likewise. + (binarySearch(char[],char)): Likewise. + (binarySearch(float[],float)): Likewise. + (binarySearch(double[],double)): Likewise. + (binarySearch(Object[],Object)): Likewise. + (binarySearch(T[],T,Comparator)): Likewise. + +2007-01-08 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java (run): + Fix length check. PR classpath/30346. + +2007-01-09 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Updated copyright year. + (sfEntries): Use generics. + (writeDSA()): Likewise. + (startSigning()): Likewise. + (updateEntry()): Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java: Updated copyright year. + (CACHED_FORMATS): Use generics. + (getFormattedString()): Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: Updated copyright year. + (fileAndAlias): Use generics. + (ToolParser.validate()): Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: + Updated copyright year. + Re-ordered imports and removed unused entries. + (entryHashes): Use generics. + (start()): Likewise. + (verifySFEntries()): Likewise. + Use map's entrySet() instead of its keySet(). + +2007-01-08 Andrew John Hughes + + * java/text/DateFormat.java: + (computeInstance(int,int,Locale,boolean,boolean)): + Throw an exception when locale info. is unavailable. + (computeDefault(int,int,boolean,boolean)): New method. + (getDateInstance(int,Locale)): Check providers. + (getDateTimeInstance(int,int,Locale)): Likewise. + (getTimeInstance(int,Locale)): Likewise. + * java/text/DateFormatSymbols.java: + Update documentation to match DecimalFormatSymbols. + * java/text/DecimalFormatSymbols.java: + (DecimalFormatSymbols(Locale)): Reordered. + (getInstance()): Implemented. + (getInstance(Locale)): Implemented. + * java/text/NumberFormat.java: + (computeInstance(Locale,String,String)): + Throw an exception when locale info is unavailable. + (getCurrencyInstance(Locale)): Check providers. + (getIntegerInstance(Locale)): Likewise. + (getNumberInstance(Locale)): Likewise. + (getPercentInstance(Locale)): Likewise. + * java/text/spi/DateFormatProvider.java: New file. + * java/text/spi/DecimalFormatSymbolsProvider.java: Likewise. + * java/text/spi/NumberFormatProvider.java: Likewise. -2006-05-07 Sven de Marothy +2007-01-07 Ito Kazumitsu - Fixed PR27463 - * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java - (propertyChange): Handle FRAME_ICON_PROPERTY property. - -2006-05-07 Andrew John Hughes + Fixes bug #30377 + * native/jni/native-lib/cpnet.h: Add some include files. - PR classpath/27311: - * gnu/java/text/StringFormatBuffer.java: - (toString()): Implemented so we can see the contents. - * java/text/DecimalFormat.java: - (formatInternal(double,StringFormatBuffer,FieldPosition)): - Don't calculate the exponent when the number is 0 or less. - Also, use log10 instead of log now it's available. - -2006-05-07 Raif S. Naffah - - * gnu/javax/crypto/keyring/PrimitiveEntry.java (PrimitiveEntry): - Use instance's field creationDate not the constructor's argument. - * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: - Removed unused imports. - Sorted imports. - (log): New field. - (decrypt): Added trace/debug/timing statements. - (encrypt): Likewise. - Use PRNG instead of instantiating every time a new SecureRandom. - * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: - Removed unused imports. - Sorted imports. - (log): New field. - (verify): Added trace/debug/timing statements. - (authenticate): Likewise. - Use PRNG instead of instantiating every time a new SecureRandom. - -2006-05-07 Raif S. Naffah - - * gnu/classpath/debug/Simple1LineFormatter.java (DAT_FORMAT): Removed. - (THREAD_FORMAT): Likewise. - (dateFormat): Added field. - (threadFormat): Added field. - (format): Initialize instance fields if null. - Use StringBuilder instead of StringBuffer. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/RasterGraphics.java: New file. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (fillShape): Determine user space bounds of shape and feed them - into the actual rendering pipeline. - (rawSetPixel): Made non-abstract for now. Maybe remove later. - (rawSetForeground): Likewise. - (getDestinationColorModel): Removed. - (getDeviceBounds): Made non-abstract. Provide useful default impl. - (rawFillShape): Handle paint context. - (fillScanline): Implement painting and compositing. - (fillShapeAntialias): Handle paint context. - (fillScanlineAA): Implemented preliminary antialiasing based on - composite context. Not working yet. - (fillScanlineAlpha): Removed. - (init): Fetch destination raster. - (getDestinationRaster): New abstract method. - (updateRaster): New backend method. - -2006-05-07 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java - (compose): Fixed loops, conditions and logic to make compositing - work correctly. - -2006-05-07 Roman Kennke - - * java/awt/ColorPaintContext.java - (ColorPaintContext): Fixed filling of the raster. - -2006-05-07 Sven de Marothy - - Fixed PR27455 - * gnu/java/awt/peer/GLightweightPeer.java (mouseEntered): Remove. - * java/awt/Component.java (processMouseEvent): - Do lightweight cursor handling. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (endResizing,mouseMoved): Save and reset original cursor, not the - default one. - -2006-05-07 Audrius Meskauskas - - PR 27298 - * javax/swing/plaf/basic/BasicTreeUI.java (NodeDimensionsHandler. - getNodeDimensions): Mind the size of the node icon. (getRowX): - use totalChildIndent. (TreeExpansionHandler): Set maximal height - to zero on events. (nullIcon): New field. (getCurrentControlIcon): - Return nullIcon if there is no other icon. (getNodeIcon): New method. - (installDefaults): assign totalChildIndent. (installUI): Call - updateExpandedDescendants. (paintHorizontalPartOfLeg): Rewritten. - (paintRow): Rewritten. (updateRenderer): Do not set the renderer for - the tree. - -2006-05-06 Sven de Marothy - - Fixed PR27454 - * gnu/java/awt/peer/gtk/GtkImage: (drawPixels,drawPixelsScaled): - Check for zero image sizes. - -2006-05-06 Olivier Jolly - - Fixed PR27362 - * java/util/Calendar.java (clear(int)): Forced internal state - completion before performing a field clearing. - -2006-05-06 Olivier Jolly - - * java/util/Collections.java(UnmodifiableMap.UnmodifiableEntrySet. - UnmodifiableMapEntry): New Map.Entry implementation which is immutable. - (UnmodifiableMap.UnmodifiableEntrySet.iterator, - UnmodifiableMap.UnmodifiableEntrySet.toArray, - UnmodifiableMap.UnmodifiableEntrySet.toArray(Object[])): Used - UnmodifiableMapEntry as part of their return value. - -2006-05-06 Raif S. Naffah - - * tools/keytool.sh.in: Removed (renamed to keytool.in). - * tools/jarsigner.in: Removed (renamed to jarsigner.in). - * tools/Makefile.am: Include jarsigner and keytool classes in tools.zip. - Generate jarsigner and keytool scripts. - * tools/keytool.in: New file (renamed from keytool.sh.in). - * tools/jarsigner.in: New file (renamed from jarsigner.sh.in). - * tools/.cvsignore: Replaced *.sh with * - * configure.ac: Replaced tools/*.sh with tools/*. - -2006-05-05 Roman Kennke - - * java/awt/image/ColorModel.java - (getNormalizedComponents): Implemented. - -2006-05-05 Roman Kennke - - * javax/swing/plaf/basic/BasicRadioButtonUI.java - (paint): Query the button model for it's state, not the - button itself. - -2006-05-05 Roman Kennke - - * javax/swing/JTable.java - (tableChanged): Sync selection model with table model changes. - -2006-05-05 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Return early - if there are no visible nodes to paint. - -2006-05-05 David Gilbert - - * javax/swing/JOptionPane.java: API doc updates. - -2006-05-05 David Gilbert - - * javax/swing/JToolBar.java - (paramString): Reimplemented. - -2006-05-05 David Gilbert - - * javax/swing/JScrollBar.java - (paramString): Reimplemented. - -2006-05-04 Tom Tromey - - PR classpath/27375: - * java/util/zip/ZipFile.java (entries): Now a LinkedHashMap. - (readEntries): Updated. - (getEntries): Likewise. - (getEntry): Likewise. - (getInputStream): Likewise. - -2006-05-04 Thomas Fitzsimmons - - * gnu/javax/imageio/jpeg/DCT.java, - gnu/javax/imageio/jpeg/HuffmanTable.java, - gnu/javax/imageio/jpeg/JPEGComponent.java, - gnu/javax/imageio/jpeg/JPEGDecoder.java, - gnu/javax/imageio/jpeg/JPEGException.java, - gnu/javax/imageio/jpeg/JPEGFrame.java, - gnu/javax/imageio/jpeg/JPEGImageInputStream.java, - gnu/javax/imageio/jpeg/JPEGImageReader.java, - gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java, - gnu/javax/imageio/jpeg/JPEGMarker.java, - gnu/javax/imageio/jpeg/JPEGMarkerFoundException.java, - gnu/javax/imageio/jpeg/JPEGScan.java, - gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java, - gnu/javax/imageio/jpeg/ZigZag.java: New files. - -2006-05-04 Lillian Angel - - * javax/swing/JLabel.java - (JLabel): Pass in an empty string for the text parameter. - (JLabel): Likewise. - (JLabel): Likewise. - -2006-05-04 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonListener.java - (mouseEntered): Fixed conditions for changing states. - -2006-05-04 Roman Kennke - - * javax/swing/JOptionPane.java - (AccessibleJOptionPane.getAccessibleRole): Implemented method. - -2006-05-04 Roman Kennke - - * javax/swing/JLabel.java - (AccessibleJLabel.getSelectedText): Return null instead of "". - (AccessibleJLabel.getSelectionStart): Added comment why - return -1 is correct here. - (AccessibleJLabel.getSelectionEnd): Added comment why - return -1 is correct here. - (AccessibleJLabel.getCharacterAttribute): Added comment about what - to do here. - (AccessibleJLabel.getCharCount): Added comment about what - to do here. - (AccessibleJLabel.getCharacterBounds): Tagged as not implemented. - (AccessibleJLabel.getIndexAtPoint): Tagged as not implemented. - (paramString): Return super.paramString() here, this provides - a more meaningful output. - -2006-05-04 Roman Kennke - - * javax/swing/JComponent.java - (paint): Added null check to avoid NPE when clip == null. - -2006-05-04 Roman Kennke - - * javax/swing/AbstractButton.java - (addImpl): New method. Installs an OverlayLayout if no - other layout has been installed before. - (setLayout): New method. Detect if a client app installs a custom - layout. - -2006-05-04 Roman Kennke - - * javax/swing/table/DefaultTableCellRenderer.java - (noFocusBorder): Fixed width of empty border to 1. - (getTableCellRendererComponent): Don't change the colors for - focuses cells. Fixed border for focused cells. - -2006-05-04 Roman Kennke - - * javax/swing/JTable.java - (moveToCellBeingEdited): Adjust bounding box of editing component - to exactly cover the grid. - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Paint grid to the bottom and right of the cells instead - of left and top. Adjust bounding box of cells accordingly. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Fixed color of JTable selection border. - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Fixed color of JTable selection border. - -2006-05-04 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): - Use _alias instead of alias. - -2006-05-03 Andrew John Hughes - - * configure.ac: - Set version to 0.92-pre. - * NEWS: - Add space for 0.92 entries. - -2006-05-03 Andrew John Hughes - - * include/Makefile.am: - Added rules for gnu.java.net.local.LocalSocketImpl.h - * include/java_lang_VMSystem.h: - Regenerated correctly. - -2006-05-03 Sven de Marothy - - PR 24023, 24701 - * java/awt/Image.java: - (getScaledInstance): Default to AreaAveraging for "smooth", - don't thrown an error on illegal flag values. - * java/awt/image/AreaAveragingScaleFilter.java: Implement. - -2006-05-03 Robert Schuster - - * javax/swing/text/FieldView.java: - (adjustAllocation): Added if-block to return null when shape argument - is null. - * javax/swing/text/PlainView.java: - (updateDamage): Added if-block to return early if a is null. - -2006-05-03 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (changeUpdate): Added note. - (removeUpdate): Dito. - (insertUpdate): Dito. - (damageRange): Added if-block to return early. - (modelToView): Added check of getVisibleEditorRect's return value. - (getVisibleEditorRect): Return null instead of empty rectangle. - * javax/swing/text/DefaultCaret.java: - (clearHighlight): Removed if-clause to create a highlight entry if it - did not exist before. - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.modelToView): Throw exception if allocation area is empty, - removed 2nd part of if-expression. - (WrappedLine.updateDamage): Added more documentation, added check - whether allocation area rectangle is null. - -2006-05-03 Audrius Meskauskas - - * javax/swing/JSplitPane.java (setDividerLocation(int)): - Reset to preferred sizes if the argument is negative. - -2006-05-03 David Gilbert - - * javax/swing/JList.java: Added/updated API docs. - -2006-05-03 Lillian Angel - - * javax/swing/JComponent.java - (getRoot): New private function. Gets the root appropriate - for painting. If an applet exists as a parent, then it is returned. - (paintDoubleBuffered): Changed to use new function. - * javax/swing/RepaintManager.java - (getRoot): New private function. Gets the root appropriate - for painting. If an applet exists as a parent, then it is returned. - (getOffscreenBuffer): Changed to use new function. - * javax/swing/SwingUtilties.java - (getRoot): Reverted last patch to return Window, even if - an Applet exists. - -2006-05-03 Raif S. Naffah - - * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Re-implemented using - a pair of one public keyring and one private keyring. - * gnu/javax/crypto/keyring/GnuPublicKeyring.java (log): New field. - (containsCertificate): Added logging. - (getCertificate): Likewise. - (putCertificate): Likewsie. - (load): Likewise. - (store): Likewise. - * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (log): New field. - (containsPrivateKey): Added logging. - (getPrivateKey): Likewise. - (putPrivateKey): Likewise. - (containsPublicKey): Likewise. - (getPublicKey): Likewise. - (putPublicKey): Likewise. - (containsCertPath): Likewise. - (getCertPath): Likewise. - (putCertPath): Likewise. - (load): Likewise. - (store): Likewise. - -2006-05-03 Roman Kennke - - * gnu/java/awt/java2d/AlphaCompositeContext.java: New class. - * java/awt/AlphaComposite.java - (createContext): Implemented. - -2006-05-03 Audrius Meskauskas - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (drawRaster): - Set the current color again after drawing the raster. - -2006-05-03 Audrius Meskauskas - - * javax/swing/text/WrappedPlainView.java (WrappedLine.modelToView): - Do not check pos < currLineEnd if currLineStart == currLineEnd. - -2006-05-03 Raif S. Naffah - - * tools/gnu/classpath/tools/keytool/Command.java (getCallbackHandler): - Assign returned value to field handler. - * tools/gnu/classpath/tools/jarsigner/Main.java (getCallbackHandler): - Likewise. - -2006-05-02 Audrius Meskauskas - - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Return without action if there is no view in the viewport. - * javax/swing/text/WrappedPlainView.java - (WrappedLine.getPreferredSpan): If metrics == null, update - metrics. - * javax/swing/tree/DefaultTreeModel.java (constructors): - Do not call setRoot, assign the root node directly. - -2006-05-02 Lillian Angel - - * javax/swing/SwingUtilities.java - (getRoot): Should return the Applet if it exists. - Only return the Window if an Applet has not been - encountered. - -2006-05-02 Lillian Angel - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Reverted Audrius' last patch. There is - a slight difference in code between the NUMTOKEN and SLASH case. - -2006-05-02 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (setText): Throw InternalError from catch-block. - * javax/swing/text/GapContent.java: - (removed): Removed if-expression, changed '>' to '>='. - -2006-05-02 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (AA_SAMPLING): New constant. - (alpha): New field. Used in the antialiasing renderer. - (edgeTable): New field. Used in the antialiasing renderer. - (AbstractGraphics2D): Initialize rendering hints wrt - anti-aliasing. - (draw): Clip after stroking. Commented out clipping for now, - it seems to be buggy. - (fill): Commented out clipping for now, it seems to be buggy. - (setComposite): Don't create composite context. - (setPaint): Only change paint when parameter is not null. - (translate): Call setClip() so subclasses can update their clip - too. - (clip): Call setClip() so subclasses can update their clip - too. - (drawGlyphVector): Added clipping, but left it commented out - because it's buggy. - (getClipBounds): Returns null when clip is null. - (drawLine): Call rawDrawLine with translation applied. - (filLRect): Call rawFillRect with translation applied. - (fillShape): Added support for anti-aliasing. - (rawSetForeground(int,int,int)): New method. - (rawFillShape): A couple of painting fixes. - (fillScanline): Implemented to call rawDrawLine. - (fillShapeAntialias): New method. Implements an anti-aliasing - shape filler. - (fillScanlineAA): New method. Used for the anti-aliasing - shape filler. - (fillScanlineAlpha): New method. Used for the anti-aliasing - shape filler. - (init): Initialize clip with the device bounds. - (updateOptimization): Fixed the optimization condition. - -2006-05-02 Robert Schuster - - * javax/swing/text/GapContent.java: - (GapContent): Restrict size argument by 2. - (insertString): Changed expression from >= to >. - (remove): Changed right side of expression to 'length - 1', changed - exception message. - (getChars): Throw exception if where below 0. - (replace): Replaced call to setPositionsInRange() with - resetMarksAtZero(), removed note. - -2006-05-02 Roman Kennke - - PR 27326 - * javax/swing/MenuSelectionManager.java - (setSelectedPath): Rewritten. - -2006-05-02 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Merge case NUMTOKEN: and case SLASH: - sections. - -2006-05-02 Raif S. Naffah - - * tools/.cvsignore: Added keytool.sh. - * configure.ac: Added tools/keytool.sh to AC_CONFIG_FILES. - -2006-05-02 Raif S. Naffah - - * doc/tools.texinfo: New file. - * doc/Makefile.am: Generate tools documentation. - -2006-05-02 Raif S. Naffah - - * tools/keytool.sh.in: New file. - * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Command.java: Likewise. - * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/Main.java: Likewise. - * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. - * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Likewise. - * tools/gnu/classpath/tools/keytool/keytool.txt: Likewise. - * tools/gnu/classpath/tools/keytool/package.html: Likewise. - * resource/gnu/classpath/tools/keytool/MessageBundle.properties: Likewise. - -2006-05-02 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Re-arranged to - resemble more closely man-page style text. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: - Mark (Eclipse) strings that need not be externalised. - (writeSF): Likewise. - (writeDSA): Likewise. - Use package-private Messages class to provide i18n-ready strings. - (startSigning): - Use package-private Messages class to provide i18n-ready strings. - (updateEntry): Likewise. - Mark (Eclipse) strings that need not be externalised. - (finishSigning): Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Mark (Eclipse) strings that need not be externalised. - (main): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (processArgs): Do not use constant strings as class name. - Mark (Eclipse) strings that need not be externalised. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (start): Do not use constant strings as class name. - (teardown): Likewise. - Use ProviderUtil. - (setupCommonParams): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - (installNewProvider): Do not use constant strings as class name. - Use ProviderUtil. - (setupSigningParams): Do not use constant strings as class name. - Use package-private Messages class to provide i18n-ready strings. - Mark (Eclipse) strings that need not be externalised. - (getCallbackHandler): Use CallbackUtil. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): - Use package-private Messages class to provide i18n-ready strings. - Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. - (verifySF): Likewise. - (verifySFEntries): Do not use constant strings as class name. - Use Boolean.valueOf instead of new Boolean(). - (verifySFEntry): Mark (Eclipse) strings that need not be externalised. - * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: - New file. - * tools/gnu/classpath/tools/jarsigner/package.html: Likewise. - * tools/gnu/classpath/tools/jarsigner/Messages.java: Likewise. - -2006-05-02 Raif S. Naffah - - * tools/gnu/classpath/tools/common/CallbackUtil.java: New file. - * tools/gnu/classpath/tools/common/ProviderUtil.java: Likewise. - * tools/gnu/classpath/tools/common/SecurityProviderInfo.java: Likewise. - -2006-05-01 Tom Tromey - - * java/nio/ByteBufferImpl.java (compact): Don't reset position - in empty case. - * gnu/java/nio/ChannelReader.java (read): Synchronize. - (close): Synchronize. - * java/nio/ShortBufferImpl.java (compact): Rewrote. - * java/nio/LongBufferImpl.java (compact): Rewrote. - * java/nio/IntBufferImpl.java (compact): Rewrote. - * java/nio/FloatBufferImpl.java (compact): Rewrote. - * java/nio/DoubleBufferImpl.java (compact): Rewrote. - * java/nio/CharBufferImpl.java (compact): Rewrote. - * gnu/java/nio/ChannelWriter.java: New file. - * java/nio/channels/Channels.java (newWriter): Implemented. - -2006-05-01 Lillian Angel - - * java/util/SimpleTimeZone.java - (SimpleTimeZone): Do not throw exception if startMonth == endMonth. - (SimpleTimeZone): Likewise. - (checkRule): Rewritten to properly check all values (more efficently). - This code is now more stable, at least less buggy than before. Fixed - API documentation. - (setStartRule): Moved checkRule call to end. - (setStartRule): Likewise. - (setEndRule): Likewise. - (setEndRule): Likewise. - -2006-05-01 Tom Tromey - - * lib/.cvsignore: Added classes.2. - -2006-05-01 Tom Tromey - - * java/util/jar/JarFile.java (provider): Now package-private. - * java/lang/Enum.java (compareTo): Javadoc fix. - * java/lang/Boolean.java (compareTo): Javadoc fix. - -2006-05-01 Lillian Angel - - * gnu/javax/swing/text/html/parser/support/Parser.java - (readAttributes): Formatted function. Added handling for - SLASH token. The value of an attribute may start with a slash - (i.e. a path). I added handling similar to to the NUMTOKEN code. - We should not be skipping over these type of attributes. - -2006-04-30 Andrew John Hughes - - * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, - * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, - * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, - * include/gnu_java_awt_peer_gtk_GtkClipboard.h, - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, - * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, - * include/gnu_java_awt_peer_gtk_GtkImage.h, - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkListPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPanelPeer.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_GtkSelection.h, - * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, - * include/gnu_java_awt_peer_qt_MainQtThread.h, - * include/gnu_java_awt_peer_qt_QMatrix.h, - * include/gnu_java_awt_peer_qt_QPainterPath.h, - * include/gnu_java_awt_peer_qt_QPen.h, - * include/gnu_java_awt_peer_qt_QtAudioClip.h, - * include/gnu_java_awt_peer_qt_QtButtonPeer.h, - * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, - * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, - * include/gnu_java_awt_peer_qt_QtChoicePeer.h, - * include/gnu_java_awt_peer_qt_QtComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtContainerPeer.h, - * include/gnu_java_awt_peer_qt_QtDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtFontMetrics.h, - * include/gnu_java_awt_peer_qt_QtFontPeer.h, - * include/gnu_java_awt_peer_qt_QtFramePeer.h, - * include/gnu_java_awt_peer_qt_QtGraphics.h, - * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, - * include/gnu_java_awt_peer_qt_QtImage.h, - * include/gnu_java_awt_peer_qt_QtLabelPeer.h, - * include/gnu_java_awt_peer_qt_QtListPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtPanelPeer.h, - * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtScreenDevice.h, - * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, - * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, - * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, - * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, - * include/gnu_java_awt_peer_qt_QtToolkit.h, - * include/gnu_java_awt_peer_qt_QtVolatileImage.h, - * include/gnu_java_awt_peer_qt_QtWindowPeer.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, - * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, - * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, - * include/gnu_xml_libxmlj_dom_GnomeAttr.h, - * include/gnu_xml_libxmlj_dom_GnomeDocument.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, - * include/gnu_xml_libxmlj_dom_GnomeElement.h, - * include/gnu_xml_libxmlj_dom_GnomeEntity.h, - * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, - * include/gnu_xml_libxmlj_dom_GnomeNode.h, - * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeNotation.h, - * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, - * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, - * include/gnu_xml_libxmlj_sax_GnomeLocator.h, - * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, - * include/java_lang_VMProcess.h: - Regenerated. - * native/jni/java-lang/java_lang_VMProcess.c: - Redirect when pipe_count is 2 not 3. - -2006-04-30 Sascha Brawer - - * gnu/java/awt/font/FontDelegate.java, - * gnu/java/awt/font/FontFactory.java, - * gnu/java/awt/font/GNUGlyphVector.java, - * gnu/java/awt/font/opentype/CharGlyphMap.java, - * gnu/java/awt/font/opentype/GlyphNamer.java, - * gnu/java/awt/font/opentype/MacResourceFork.java, - * gnu/java/awt/font/opentype/NameDecoder.java, - * gnu/java/awt/font/opentype/OpenTypeFont.java, - * gnu/java/awt/font/opentype/OpenTypeFontFactory.java, - * gnu/java/awt/font/opentype/Scaler.java, - * gnu/java/awt/font/opentype/truetype/Fixed.java, - * gnu/java/awt/font/opentype/truetype/GlyphLoader.java, - * gnu/java/awt/font/opentype/truetype/GlyphLocator.java, - * gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java, - * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java, - * gnu/java/awt/font/opentype/truetype/VirtualMachine.java, - * gnu/java/awt/font/opentype/truetype/Zone.java, - * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, - * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png: - New files. Imported font framework from: - http://www.brawer.ch/software/fonts/ - -2006-04-30 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (lastTabInRun): Fix calculation of the last tab in a run. This - has caused painting problems sometimes, making the - last tab painted incorrectly. - -2006-04-30 Audrius Meskauskas - - PR 27297 - * javax/swing/JComponent.java (paintChildrenWithOverlap): - Use for and not while to prevent the endless loop. - -2006-04-29 David Gilbert - - * javax/swing/JList.java - (paramString): Changed from public to protected. - -2006-04-29 Raif S. Naffah - - * tools/gnu/classpath/tools/HelpPrinter.java (printHelp): New method. - (printHelpAndExit): Re-factored to use the above method. - -2006-04-29 Raif S. Naffah - - * tools/jarsigner.sh.in: Changed license to GPL + Exception. - Use -Xbootclasspath/p instead of -cp when invoking the main class. - * tools/gnu/classpath/tools/jarsigner/Main.java: - Changed license to GPL + Exception. - (handler): New field. - (getCallbackHandler): New method. - (setupSigningParams): Use above method. - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: - Changed license to GPL + Exception. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Updated copyright. - -2006-04-29 Raif S. Naffah - - * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java - (handleConfirmation): Use print instead of println. - (handleConfirmation): When case is YES_NO_OPTION, print default option - if one was set. - (handleLanguage): Use print instead of println. - -2006-04-29 Raif S. Naffah - - * gnu/java/security/x509/X500DistinguishedName.java: Updated copyright. - (putComponent): Handle O and OU components. - (getDer): Use correct (it2) iterator. - (readAttributeValue): Read next character and break if end-of-stream. - -2006-04-29 Raif S. Naffah - - * gnu/java/security/provider/Gnu.java (run): - Add "RSA" as an alias to MD5withRSA. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (encodePublicKey): - Always encode a NULL as the value of an algorithm parameters field. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (log): New field. - (encodePrivateKey): Added trace/log statements. - (decodePrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java (log): New field. - (setup): Added trace/log statements. - (generate): Likewise. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java (str): New field. - (toString): New method. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (DEBUG): New constant. - (str): New field. - (toString): New method. - * gnu/java/security/key/rsa/GnuRSAKey.java (str): New field. - (getEncoded): Use defaultFormat. - (toString): New method. - * gnu/java/security/key/dss/DSSKey.java (toString): - Include defaultFormat in string. - * gnu/java/security/jce/sig/RSAKeyFactory.java (engineGeneratePublic): - Break if successfully decoded public key. - (engineGeneratePrivate): Break if successfully decoded private key. - -2006-04-29 Raif S. Naffah - - * java/security/Security.java : Add our Callback provider. - * resource/java/security/classpath.security: Likewise - -2006-04-28 Audrius Meskauskas - - PR 27296 - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Decide about scroll bars from the preferred view size, not - the current size. - * javax/swing/ViewportLayout.java (layoutContainer): - Do not change returned preferred size. Do not treat JScrollPane - specially. - -2006-04-28 Sven de Marothy - - * java/awt/image/ReplicateScaleFilter.java: Fix comment. - * javax/swing/ProgressMonitor.java (actionPerformed): - Avoid divide-by-zero. - -2006-04-28 Sven de Marothy - - * javax/swing/JSpinner.java: Fix default text justification. - * javax/swing/plaf/basic/BasicSpinnerUI.java: Fix spinner layout size. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (getMinSelectionIndex): Return correct value, added API docs, - (getMaxSelectionIndex): Added API docs. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (JList(Object[])): Pass new model directly to init(), - (JList(Vector)): Likewise, - (JList(ListModel)): Renamed argument and updated API docs, - (init): Throw IllegalArgumentException for null argument, - (setListData(Object[])): Delegate model creation, - (setListData(Vector)): Likewise, - (createListModel(Object[])): New private method, - (createListModel(Vector)): New private method, - (paramString): Implemented. - -2006-04-28 Tom Tromey - - * java/lang/Class.java (SYNTHETIC, ENUM, ANNOTATION): New fields. - (isEnum): Rewrote. - (isSynthetic): Likewise. - (isAnnotation): Likewise. - * vm/reference/java/lang/VMClass.java (isSynthetic): Removed. - (isAnnotation): Likewise. - (isEnum): Likewise. - -2006-04-28 Robert Schuster - - * javax/swing/text/View.java: - (getNextVisualPositionFrom): Call modelToView and viewToModel on parent - view. - -2006-04-28 Robert Schuster - - * javax/swing/text/View.java: - (getNextVisualPositionFrom): Rewritten. - * javax/swing/text/CompositeView.java: - (getNextEastWestVisualPositionFrom): Partly implemented. - (getNextNorthSouthVisualPositionFrom): Partly implemented. - -2006-04-28 David Gilbert - - * javax/swing/JList.java - (setFixedCellHeight): Use correct property name for event. - -2006-04-28 Robert Schuster - - * javax/swing/text/Utilities.java: - (getNextWord): Use codePointAt instead of charAt, added note, changed - if-expression, added throwing of exception. - (getPreviousWord): Use codePointAt instead of charAt. - -2006-04-28 Jeroen Frijters - - * java/lang/StringBuilder.java - (ensureCapacity, getChars, append(StringBuffer), - append(char[],int,int), delete, replace, insert(int,char[],int,int), - insert(int,String), insert(int,char), trimToSize): Replaced - System.arraycopy calls with VMSystem.arraycopy. - -2006-04-27 Tom Tromey - - * java/awt/image/renderable/RenderableImageProducer.java - (requestTopDownLeftRightResend): Implemented. - (run): Likewise. - (startProduction): Add new consumer. - -2006-04-27 Sven de Marothy - - * javax/swing/JLabel.java (setIcon): Repaint on setting the icon. - -2006-04-27 Roman Kennke - - * java/awt/LightweightDispatcher.java - Dispatch events only to targets that have a mouselistener - attached. Changed to also handle null targets. - -2006-04-27 Roman Kennke - - * NEWS: Added entries about accessibility support and L&F - window decorations. - -2006-04-27 Robert Schuster - - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Introduced width variable, rewritten the check - which ends the loop. - (getBreakLocation): Call getTabbedTextOffset with rounding argument set - to false. - -2006-04-27 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Added root visibility and selection listener demos. - * javax/swing/JTree.java (setRootVisible): If false, unselect - the root node, if it is selected. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeTraverseAction.actionPerformed): Do not select the root if it - is not visible. - * javax/swing/tree/DefaultTreeSelectionModel.java (removeSelectionPath, - removeSelectionPaths): Reset lead to null if the current lead path is - removed from selection. - * javax/swing/tree/TreePath.java (getParentPath): Cache the parent path. - * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getPath): - Return the same path regardless is root visible or not. (update): - Reduce the identation if the root is not visible. - * javax/swing/tree/VariableHeightLayoutCache.java (NodeRecord.getPath): - Return the same path regardless is root visible or not. (update): - Reduce the identation if the root is not visible. - -2006-04-26 Audrius Meskauskas - - Fixes PR 27290 - * javax/xml/datatype/DatatypeFactory.java: Use complete - implementation resolution mechanism. - -2006-04-26 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeModel.java (nodeStructureChanged): - Implemented. - * javax/swing/tree/DefaultTreeSelectionModel.java (toString): - Removed NoImplementException form the implemented method. - -2006-04-26 Tom Tromey - - * javax/net/ssl/HttpsURLConnection.java (HttpsURLConnection): Doesn't - throw IOException. - -2006-04-26 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (clone): Initialise empty listener list, - (setSelectionMode): Throw IllegalArgumentException for bad input. - -2006-04-26 David Gilbert - - * javax/swing/DefaultListSelectionModel.java - (clearSelection): Clear the Bitset. - -2006-04-26 Audrius Meskauskas - - * javax/swing/JTree.java (setLeadSelectionPath): - Repaint the new and old lead pathes. - * javax/swing/plaf/basic/BasicTreeUI.java - (FocusHandler): Repaint the lead row when focus changes. - (PropertyChangeHandler): Use existing constants, not the - string literals for the property names. - (TreeIncrementAction): Shrink the selection when moving - from the selection edge to the selection anchor. - (TreeSelectionHandler.valueChanged): Repaint the - new and old lead pathes. - (paintRow): Treat row as focused only if it is the lead row. - * javax/swing/tree/DefaultTreeCellRenderer.java - (getTreeCellRendererComponent): Set the vertical alignment to CENTER. - (paint): Rewritten. - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath): Event construction fix (old and new lead were - always the same). - (addSelectionPaths): Likewise. - * javax/swing/JComponent.java (setOpaque): Explained. - * javax/swing/tree/FixedHeightLayoutCache.java (getBounds): - Accept null. - * javax/swing/tree/VariableHeightLayoutCache.java (getBounds): - Accept null. - -2006-04-26 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java - (createContent): Call DefaultTreeModel.reload(), not the - tree.repaint(). Expand the parent of the added node. - * javax/swing/JTree.java (constructor): Do not call - UpdateUI (and documented why). (treeDidChange): - Added comment, excluding the misinterpretation of this method. - * javax/swing/plaf/basic/BasicTreeUI.java (componentListener, - focusListener, keyListener, mouseListener, propertyListener, - selectionModelPropertyChangeListener, treeModelListener, - treeSelectionListener): Made package private. - (PropertyChangeHandler): If the model changes, install the - listener on it. (installUI): Assign treeModel. - * javax/swing/tree/DefaultMutableTreeNode.java (add): Added - comment, excluding misinterpretation. - * javax/swing/tree/DefaultTreeModel.java (reload): Implemented. - (reload(TreeNode)): Implemented. - -2006-04-25 Tom Tromey - - * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. - * javax/swing/tree/VariableHeightLayoutCache.java - (getVisiblePathsFrom): Genericized. - * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): - Genericized. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - If clicked on the other row, cancel the current editing session. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (NodeDimensionsHandler.getRowX): Add half of the icon width. - (paintExpandControl): Always paint in one gap distance from the left - border of the path bounds. - (paintHorizontalPartOfLeg): Rewritted, taking the icon width - into consideration. - (paintVerticalPartOfLeg): Paint two gaps from the parent's bounds - left edge. - -2006-04-25 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (paint): Rewritten. - -2006-04-25 Audrius Meskauskas - - * gnu/javax/swing/text/html/parser/support/Parser.java (readAttributes): - Allow slashes (/) in the unquoted parameter value. - -2006-04-25 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java - (drawString(String,int,int)): Implemented. - (drawString(String,float,float)): Implemented. - (drawString(AttributedCharacterIterator,int,int)): Implemented. - (drawString(AttributedCharacterIterator,float,float)): Implemented. - (getFontRenderContext): Implemented. - (drawGlyphVector): Implemented. - (getFont): Implemented. - (setFont): Don't change font setting when null. - (getFontMetrics): Implemented. - (fillShape): Re-written to fill call rawFillShape() with a list - of the edges instead of double arrays. - (rawFillShape): Implemented using a polygon scanline conversion. - (fillScanline): New helper method. - (init): Initialize foreground black. Set font. - * gnu/java/awt/java2d/PolyEdge.java: New file. - * gnu/java/awt/java2d/PolyEdgeComparator.java: New file. - -2006-04-25 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java: More API doc updates. - -2006-04-25 David Gilbert - - * javax/swing/JTable.java: Fixed API doc tags, - * javax/swing/text/AsyncBoxView.java: Likewise, - * javax/swing/text/FlowView.java: Likewise. - -2006-04-25 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (moveColumn): Call fireColumnMoved() not fireColumnAdded. - -2006-04-24 David Gilbert - - * javax/swing/table/DefaultTableColumnModel.java - (DefaultTableColumnModel): Set selection model field and add 'this' as - listener directly, - (addColumn): Add 'this' as a PropertyChangeListener, - (removeColumn): Remove column before firing event, and remove 'this' as - a PropertyChangeListener, - (setSelectionModel): Remove 'this' as a listener from old model, - (propertyChange): Check for 'width' property rather than - TableColumn.COLUMN_WIDTH_PROPERTY. - -2006-04-24 Chris Burdess - - Fixes PR 27262 - * gnu/xml/dom/DomDocument.java: getElementById returns user-defined ID - attributes when no doctype exists. - -2006-04-24 David Gilbert - - * javax/swing/event/ChangeEvent.java: Updated API docs, - * javax/swing/event/ChangeListener.java: Likewise, - * javax/swing/event/TableColumnModelEventListener.java: Likewise, - * javax/swing/table/DefaultTableColumnModel.java: Likewise, - * javax/swing/table/TableColumnModel.java: Likewise. - -2006-04-24 Robert Schuster - - * javax/swing/text/Utilities.java: - (getBreakLocation): Introduced shift variable, added notes. - * javax/swing/text/WrappedPlainView.java: - (calculateBreakPosition): Decrease allocation area bounds by insets, - added early return when allocation area is empty, provide start offset - as argument. - (WrappedPlainView.WrappedLine): Change default value for numLines to 1. - (WrappedPlainView.WrappedLine.paint): Added count variable, update - numLines after loop. - (WrappedPlainView.WrappedLine.determineNumLines): Added early return. - (WrappedPlainView.WrappedLine.getPreferredSpan): Removed if-statement. - (WrappedPlainView.WrappedLine.viewToModel): Changed note, removed - decreasing variable end by one, changed break condition in while-loop, - added check for return value. - (WrappedPlainView.WrappedLine.updateDamage): Set numLines to one if - allocation area is empty. - -2006-04-24 Sven de Marothy - - * gnu/java/awt/java2d/Segment.java: New file. - * gnu/java/awt/java2d/CubicSegment.java: New file. - * gnu/java/awt/java2d/QuadSegment.java: New file. - * gnu/java/awt/java2d/LineSegment.java: New file. - * java/awt/BasicStroke.java - (start): New field. - (end): New field. - (createStrokedShape): Implemented. - (solidStroke): New method. - (dashedStroke): New method. - (capEnds): New method. - (convertPath): New method. - (addSegments): New method. - (capEnd): New method. - (lineIntersection): New method. - (joinSegments): New method. - -2006-04-24 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: Made implements - Cloneable. - (font): New field. - (clip): Changed clip to be in user space not in target space. - (isOptimized): Added flag to allow optimized drawing for - primitive operations (e.g. for Swing). - (AbstractGraphics2D()): Set foreground in init() to avoid trouble - with the paint context etc. - (draw): Clip the shape before drawing it. - (fill): Clip the shape before drawing it. - (setComposite): Update isOptimized flag. - (setPaint): Likewise. - (setStroke): Likewise. - (translate): Update the clip. - (rotate): Likewise. - (scale): Likewise. - (shear): Likewise. - (transform): Likewise. - (setTransform): Likewise. - (clip): Added optimization for rectangle clips. - (create): Implemented. - (clone): New method. - (setFont): Basic implementation. - (setClip): Update opimization flag. - (drawLine): Added possible optimization. - (fillRect): Added possible optimization. - (fillShape): Implemented shape-filling by filling the flattended - shape using polygon fill. - (drawPixel): Added basic painting. - (rawSetPixel): Changed signature to only take coordinates. - (rawSetForeground): New abstract method. - (getUserBounds): Implemented default for this method. - (rawDrawLine): New method. - (rawFillRect): New method. - (rawFillPolygon): New method. - (init): New method. - (updateOptimization): New method. - (computeIntersection): New method. - (updateClip): New method. - (clipShape): New method. - -2006-04-23 Jeroen Frijters - - * java/lang/Package.java: Added compatibility constructor to ease - VM interface migration. - -2006-04-23 Jeroen Frijters - - * java/lang/Class.java (getEnumConstants): Implemented without - delegating to VMClass. - * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed. - -2006-04-23 Jeroen Frijters - - * java/lang/ClassLoader.java (definePackage): Added argument to - Package constructor. - * java/lang/Package.java (Package): Added ClassLoader argument. - (loader): New field. - (getDeclaredAnnotations): Implemented without help from VMPackage. - * vm/reference/java/lang/VMClassLoader.java (static): Added argument - to Package constructor. - * vm/reference/java/lang/VMPackage.java: Removed. - -2006-04-23 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TreeDemo.java: - (createContent): Added check box to swith between single and - multiple selection. - * javax/swing/JTree.java (leadSelectionPath): Removed. - (addSelectionInterval): Explained. (getLeadSelectionPath): - Request the path from model. (getPathsBetweenRows): Explained. - (setLeadSelectionPath): Set the path in model. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, - isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. - (MouseHandler.mousePressed): Call selectPathForEvent. - -2006-04-23 Roman Kennke - - * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. - -2006-04-22 Andrew John Hughes - - * NEWS: - Mention changes to VMProcess and VMSystem. - * doc/vmintegration.texinfo: - Change documentation on VMProcess and VMSystem. - * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, - * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics.h, - * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, - * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, - * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, - * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, - * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, - * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, - * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, - * include/gnu_java_awt_peer_gtk_GtkClipboard.h, - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, - * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, - * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, - * include/gnu_java_awt_peer_gtk_GtkImage.h, - * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, - * include/gnu_java_awt_peer_gtk_GtkListPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, - * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, - * include/gnu_java_awt_peer_gtk_GtkPanelPeer.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_GtkSelection.h, - * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, - * include/gnu_java_awt_peer_gtk_GtkToolkit.h, - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, - * include/gnu_java_awt_peer_qt_MainQtThread.h, - * include/gnu_java_awt_peer_qt_QMatrix.h, - * include/gnu_java_awt_peer_qt_QPainterPath.h, - * include/gnu_java_awt_peer_qt_QPen.h, - * include/gnu_java_awt_peer_qt_QtAudioClip.h, - * include/gnu_java_awt_peer_qt_QtButtonPeer.h, - * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, - * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, - * include/gnu_java_awt_peer_qt_QtChoicePeer.h, - * include/gnu_java_awt_peer_qt_QtComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtContainerPeer.h, - * include/gnu_java_awt_peer_qt_QtDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, - * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, - * include/gnu_java_awt_peer_qt_QtFontMetrics.h, - * include/gnu_java_awt_peer_qt_QtFontPeer.h, - * include/gnu_java_awt_peer_qt_QtFramePeer.h, - * include/gnu_java_awt_peer_qt_QtGraphics.h, - * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, - * include/gnu_java_awt_peer_qt_QtImage.h, - * include/gnu_java_awt_peer_qt_QtLabelPeer.h, - * include/gnu_java_awt_peer_qt_QtListPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, - * include/gnu_java_awt_peer_qt_QtMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtPanelPeer.h, - * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, - * include/gnu_java_awt_peer_qt_QtScreenDevice.h, - * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, - * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, - * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, - * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, - * include/gnu_java_awt_peer_qt_QtToolkit.h, - * include/gnu_java_awt_peer_qt_QtVolatileImage.h, - * include/gnu_java_awt_peer_qt_QtWindowPeer.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, - * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, - * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, - * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, - * include/gnu_xml_libxmlj_dom_GnomeAttr.h, - * include/gnu_xml_libxmlj_dom_GnomeDocument.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, - * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, - * include/gnu_xml_libxmlj_dom_GnomeElement.h, - * include/gnu_xml_libxmlj_dom_GnomeEntity.h, - * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, - * include/gnu_xml_libxmlj_dom_GnomeNode.h, - * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeNotation.h, - * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, - * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, - * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, - * include/gnu_xml_libxmlj_sax_GnomeLocator.h, - * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, - * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, - * include/java_lang_VMProcess.h, - * include/java_lang_VMSystem.h: - Regenerated with GCJ 4.1. - -2006-04-22 Casey Marshall - - Fixes PR classpath/27228. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java - (initialize): also accept `DHParameterSpec.' - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java (setup): - handle a passed-in `DHParameterSpec' properly. - (generate): don't check if the random exponent is less than `q - - 1' if no `q' was specified. - -2006-04-22 Audrius Meskauskas - - * javax/swing/JTree.java (TreeSelectionRedirector.valueChanged): - Only repaint the patches, speficied in the passed event. - (expandPath): Do nothing if the path is already expanded. - (scrollPathToVisible): Only scroll to visible, do nothing else. - * javax/swing/plaf/basic/BasicTreeUI.java - (TreeExpansionHandler.treeColapsed): Revalidate and repaint. - (TreeExpansionHandler.treeExpanded): Revalidate and repaint. - (TreeTraverseAction.actionPerformed): Collapse the node on the - action "selectParent". (selectPath): Rewritten. - * javax/swing/tree/DefaultTreeSelectionModel.java (clearSelection): - Fire change event. (notifyPathChange): Implemented. (setSelectionPath): - Do not reuse selection array. - * javax/swing/tree/FixedHeightLayoutCache.java (getRowForPath): - Accept null. - * javax/swing/tree/VariableHeightLayoutCache.java (getRowForPath): - Accept null. - -2006-04-22 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath): If the path cannot be added, set it. - (addSelectionPaths): Call insureRowContinuity. - (arePathsContiguous): Implemented. - (canPathBeAdded): New private method. - (canPathsBeAdded): Implemented. - (canPathsBeRemoved): Implemented. - (getPath): New private method. - (insureRowContinuity): Implemented. - (removeSelectionPath): Call insureRowContinuity. - (removeSelectionPaths): Call insureRowContinuity. - (resetRowSelection): Removed stub marking, not used in implementation - (nothing to do there). - (selectOne): New private method. - (setSelectionMode) Call insureRowContinuity. - (setSelectionPaths) Remove the current selection by clearing it. - -2006-04-22 Carsten Neumann - - * javax/sql/Array.java: Fixed eclipse API doc warnings, named method - parameters consistendly, documented some methods. - * java/sql/Blob.java: Likewise. - * java/sql/CallableStatement.java: Likewise. - * java/sql/Clob.java: Likewise. - * java/sql/Connection.java: Likewise. - * java/sql/DatabaseMetaData.java: Likewise. - * java/sql/Date.java: Likewise. - * java/sql/Driver.java: Likewise. - * java/sql/PreparedStatement.java: Likewise. - * java/sql/ResultSet.java: Likewise. - * java/sql/ResultSetMetaData.java: Likewise. - * java/sql/SQLData.java: Likewise. - * java/sql/SQLOutput.java: Likewise. - * java/sql/SQLWarning.java: Likewise. - * java/sql/Statement.java: Likewise. - * java/sql/Time.java: Likewise. - * java/sql/Timestamp.java: Likewise. - -2006-04-21 Jeroen Frijters - - * java/lang/reflect/AccessibleObject.java: - Implemented AnnotatedElement. - (getAnnotation, getAnnotations, getDeclaredAnnotations, - isAnnotationPresent): New methods. - -2006-04-21 Tom Tromey - - PR classpath/27163: - * gnu/java/net/protocol/ftp/FTPConnection.java - (changeWorkingDirectory): Do nothing if path is empty. - -2006-04-21 Tom Tromey - - PR libgcj/27231: - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Handle - case where no '/' appears in 'location'. - -2006-04-21 Tom Tromey - - * java/security/Security.java (): Add all default providers. - * resource/java/security/classpath.security: Added comment. - -2006-04-21 David Gilbert - - * javax/swing/SpinnerDateModel.java: Updated API docs all over, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-04-21 David Gilbert - - * javax/swing/SpinnerDateModel.java - (SpinnerDateModel(Date, Comparable, Comparable, int)): Fix argument - checking to call compareTo() on start and end. - -2006-04-21 David Gilbert - - * javax/swing/border/AbstractBorder.java: API doc updates, - * javax/swing/border/BevelBorder.java: Likewise, - * javax/swing/border/CompoundBorder.java: Likewise, - * javax/swing/border/EtchedBorder.java: Likewise, - * javax/swing/border/LineBorder.java: Likewise, - * javax/swing/border/MatteBorder.java: Likewise, - * javax/swing/border/TitledBorder.java: Likewise. - -2006-04-21 David Gilbert - - * gnu/javax/crypto/cipher/Anubis.java: - (selfTest): Use Boolean.valueOf() to avoid creating a new Boolean - instance, - * gnu/javax/crypto/cipher/Blowfish.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Cast5.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Khazad.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Rijndael.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Serpent.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Square.java: - (selfTest): Likewise, - * gnu/javax/crypto/cipher/Twofish.java: - (selfTest): Likewise, - * gnu/javax/crypto/mac/UMac32.java: - (selfTest): Likewise, - * gnu/javax/crypto/prng/CSPRNG.java: - (getSystemInstance): Likewise. - -2006-04-21 David Gilbert - - * gnu/java/security/hash/Haval.java: - (selfTest): Use Boolean.valueOf() to avoid creating new Boolean - instance, - * gnu/java/security/hash/MD2.java: - (selfTest): Likewise, - * gnu/java/security/hash/MD4.java: - (selfTest): Likewise, - * gnu/java/security/hash/MD5.java: - (selfTest): Likewise, - * gnu/java/security/hash/RipeMD128.java: - (selfTest): Likewise, - * gnu/java/security/hash/RipeMD160.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha160.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha256.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha384.java: - (selfTest): Likewise, - * gnu/java/security/hash/Sha512.java: - (selfTest): Likewise, - * gnu/java/security/hash/Tiger.java: - (selfTest): Likewise, - * gnu/java/security/hash/Whirlpool.java: - (selfTest): Likewise. - -2006-04-21 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (PropertyChangeHandler.propertyChange): Set the row mapper - for the selection model. - * javax/swing/tree/AbstractLayoutCache.java - (NodeDimensions.getNodeDimensions): Explained. - (getPreferredHeight, getPreferredWidth, isFixedRowHeight): - Implemented. (setRowHeight): Invalidate sizes. - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPath, addSelectionPaths): Update lead row. - (removeSelectionPath, removeSelectionPaths): Do nothing if - selection is empty. - (clone): Only clone list selection model if it is not null. - (getRow): New method. (isRowSelected, getLeadSelectionRow, - setSelectionPath, setSelectionPaths, toString): Implemented. - * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getBounds): - Pass the empty rectangle. (isFixedRowHeight): New method. - * javax/swing/tree/VariableHeightLayoutCache.java - (NodeRecord.getBounds): Pass the empty rectangle. - -2006-04-21 David Gilbert - - * gnu/java/security/Properties.java - (init): Use Boolean.valueOf() to avoid creating new Boolean instances. - -2006-04-21 David Gilbert - - * gnu/classpath/jdwp/util/Value.java - (getUntaggedObj(ByteBuffer, Class)): Use Boolean.valueOf() to avoid - creating new Boolean instances. - -2006-04-20 Mark Wielaard - - * java/awt/Toolkit.java (getDefaultToolkit): Get classloader in - PrivilegedAction. Access awt.toolkit through SystemProperties. - -2006-04-20 David Gilbert - - * javax/swing/ActionMap.java: Removed unused imports, - * javax/swing/DefaultListSelectionModel.java - (clearSelection): Removed unused label, - * javax/swing/JScrollPane.java: Removed unused imports, - * javax/swing/UIManager.java: Likewise, - * javax/swing/table/DefaultTableCellRenderer.java: Likewise. - -2006-04-20 David Gilbert - - * javax/swing/plaf/basic/BasicSpinnerUI.java: Removed unused imports, - * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextFieldUI.java: Likewise, - * javax/swing/plaf/basic/BasicTextUI.java: Likewise, - * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. - -2006-04-20 David Gilbert - - * java/sql/Array.java: Fixed Eclipse API doc warnings, - * java/sql/Blob.java: Likewise, - * java/sql/CallableStatement.java: Likewise, - * java/sql/Clob.java: Likewise, - * java/sql/Connection.java: Likewise, - * java/sql/DatabaseMetaData.java: Likewise, - * java/sql/Date.java: Likewise, - * java/sql/Driver.java: Likewise, - * java/sql/PreparedStatement.java: Likewise, - * java/sql/ResultSet.java: Likewise, - * java/sql/ResultSetMetaData.java: Likewise, - * java/sql/SQLData.java: Likewise, - * java/sql/SQLOutput.java: Likewise, - * java/sql/SQLWarning.java: Likewise, - * java/sql/Statement.java: Likewise, - * java/sql/Time.java: Likewise, - * java/sql/Timestamp.java: Likewise. - -2006-04-20 David Gilbert - - * java/sql/DriverManager.java - (setLoginTimeout): Use incoming argument, - (setLogStream): Likewise, - (println): Fix API doc comment. - -2006-04-20 David Gilbert - - * javax/swing/JMenuItem.java - (paramString): Updated API docs, - (getAccessibleContext): Added API docs, - (AccessibleJMenuItem.stateChanged): Marked as stub, - (AccessibleJMenuItem.getAccessibleRole): Added API docs, - * javax/swing/JSlider.java - (paramString): Fix for API docs, - * javax/swing/JToolTip.java - (getAccessibleContext): Fix for API docs. - -2006-04-20 David Gilbert - - * javax/swing/JRadioButtonMenuItem.java - (paramString): Reimplemented, - (getAccessibleContext): API docs added, - (AccessibleJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem()): - Likewise, - (AccessibleJRadioButtonMenuItem.getAccessibleRole): Likewise. - -2006-04-20 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java - (finish): Invalidate path bounds. - (getMaxHeight): Set the row height to the layout cache. - (startEditing): Do not request to recalculated - row height and preferred size. - * javax/swing/tree/DefaultTreeCellEditor.java - (ICON_TEXT_GAP, ICON_TREE_GAP): Removed, replacing - with 0. - * javax/swing/tree/FixedHeightLayoutCache.java: - Rewritten. - -2006-04-20 David Gilbert - - * javax/swing/JDesktopPane.java - (paramString): Reimplemented, - plus API doc updates in AccessibleJDesktopPane. - -2006-04-20 David Gilbert - - * javax/swing/ImageIcon.java: - (AccessibleImageIcon.getAccessibleStateSet): Return null always, - (AccessibleImageIcon.getLocale): Declared exception and always return - null, - (getAccessibleContext): Updated API docs, - plus updated API docs all over AccessibleImageIcon. - -2006-04-20 Roman Kennke - - PR 27196 - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintText): Fetch the ascent only once. Add the ascent to - the text rect also when tabs are disabled. - -2006-04-20 Christian Thalinger - - * java/util/Locale.java (defaultLocale): Set to en_US per - default and use user.country but prioritize user.region if - defined. - (getLocale(String language, String country)): Renamed region to - country. - (getLocale(String language, String region, String variant)): - Likewise. - (getAvailableLocales): Likewise. - -2006-04-20 Roman Kennke - - PR 27222 - * javax/swing/JList.java - (JList()): Call init() with DefaultListModel instance. - (JList(Object[])): Call init() with null. - (JList(Vector)): Call init() with null. - (JList(ListModel)): Call init() with model. - (init): Changed to take the model as argument. Don't call - setter methods and initialize stuff directly instead. - (getCellBounds): Check if UI is null. - -2006-04-20 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: Initialize - WrappedLine.numLines with -1. - (WrappedPlainView.WrappedLine.getPreferredSpan): Check whether - numLines is -1 and reculcalate the value appropriately. - (WrappedPlainView.WrappedLine.updateDamage): Set numLines to -1 if - allocation area is empty. - -2006-04-20 David Gilbert - - * javax/swing/JTabbedPane.java - (AccessibleJTabbedPane.stateChanged): Marked as stub, - (AccessibleJTabbedPane.getAccessibleRole): Likewise, - (AccessibleJTabbedPane.getAccessibleChildrenCount): Likewise, - (AccessibleJTabbedPane.getAccessibleSelection): Likewise, - (AccessibleJTabbedPane.getAccessibleAt): Likewise, - (AccessibleJTabbedPane.getAccessibleSelectionCount): Likewise, - (AccessibleJTabbedPane.getAccessibleSelection(int)): Likewise, - (AccessibleJTabbedPane.isAccessibleChildSelected): Likewise, - (AccessibleJTabbedPane.addAccessibleSelection): Likewise, - (AccessibleJTabbedPane.removeAccessibleSelection): Likewise, - (AccessibleJTabbedPane.clearAccessibleSelection): Likewise, - (AccessibleJTabbedPane.selectAllAccessibleSelection): Likewise, - (Page.getAccessibleStateSet): Likewise, - (Page.getAccessibleIndexInParent): Likewise. - -2006-04-19 David Gilbert - - * javax/swing/JProgressBar.java - (paramString): Reimplemented. - -2006-04-19 David Gilbert - - * javax/swing/JButton.java: Updated API docs all over. - -2006-04-19 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultToolkit): Use system classloader to load the - toolkit. - -2006-04-19 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (DefaultCaret.Bypass.setDot): Call DefaultCaret.setDotImpl - instead of DefaultCaret.setDot. - -2006-04-19 Roman Kennke - - * native/jni/java-net/local.c - (local_read): Handle EINTR correctly. - (local_write): Likewise. - -2006-04-19 Riccardo Mottola - - PR classpath/27062, PR classpath/25650: - * native/fdlibm/ieeefp.h: Check for _POWER and _IBMR2. - -2006-04-19 Tom Tromey - - * java/text/SimpleDateFormat.java (formatWithAttribute): Take absolute - value of 'pureMinutes'. PR classpath/27189. - -2006-04-19 Olivier Jolly - - * vm/reference/java/lang/VMClassLoader.java (getBootPackages): Loads - boot packages list from the META-INF/INDEX.LIST file if it exists. - -2006-04-19 Raif S. Naffah - - Suggested by Stephen White - * gnu/javax/crypto/prng/IPBE.java: Updated documentation. - (ITERATION_COUNT): Removed modifiers. - (PASSWORD): Likewise. - (SALT): Likewise. - (PASSWORD_ENCODING): New property. - (DEFAULT_PASSWORD_ENCODING): New constant. - * gnu/javax/crypto/prng/PBKDF2.java (setup): Check for MAC's raw key - material (bytes) before a password (chars). - -2006-04-19 David Gilbert - - * javax/swing/JMenu.java - (getAccessibleChildrenCount): Marked as stub, - (getAccessibleChild): Likewise, - (getAccessibleSelection): Likewise, - (getAccessibleSelection(int)): Likewise, - (isAccessibleChildSelected): Likewise, - (getAccessibleSelectionCount): Likewise, - (addAccessibleSelection): Likewise, - (removeAccessibleSelection): Likewise, - (clearAccessibleSelection): Likewise, - (selectAllAccessibleSelection): Likewise. - -2006-04-19 David Gilbert - - * javax/swing/JSplitPane.java - (getAccessibleContext): Added API docs, - (paramString): Reimplemented, - (setOrientation): Updated API docs, - (setResizeWeight): Added argument checking and event notification. - -2006-04-18 Casey Marshall - - Fixes PR classpath/25673 - * java/security/KeyStore.java (getDefaultType): return "gkr" if no - property is set. Update JavaDoc to reflect this. - -2006-04-18 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (setCheckingCharacters): New function used to set - checkingCharacters flag. - * gnu/xml/dom/html2/DomHTMLParser.java - (parseDocument): Added call to set checkingCharacters flag - to false. - -2006-04-18 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (checkNCName): Reverted last patch. Added check for colon at - last position back in. - -2006-04-18 Robert Schuster - - * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: - New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added NavigationFilter demo. - -2006-04-18 David Gilbert - - * javax/swing/JSeparator.java: Updated API docs all over, plus - (setOrientation): Fire PropertyChangeEvent, - (paramString): Reimplemented. - -2006-04-18 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (getNextVisualPositionFrom): Implemented. - -2006-04-18 David Gilbert - - * javax/swing/JPanel.java: Updated API docs all over, plus - (JPanel(LayoutManager, boolean)): Pass on null layout, set - double-buffer flag. - -2006-04-18 Robert Schuster - - * examples/gnu/classpath/examples/swing/DocumentFilterDemo.java: - New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added DocumenFilter demo. - -2006-04-18 Tom Tromey - - * doc/www.gnu.org/include/layout.wml: Add FMJ. - -2006-04-18 Mark Wielaard - - Reported by John Sullivan (johns@fsf.org) - * doc/www.gnu.org/stories.wml: Update JikesRVM location. - -2006-04-18 David Gilbert - - * javax/swing/JInternalFrame.java - (JDesktopIcon.getAccessibleContext): Added API docs, - (getDefaultCloseOperation): Likewise, - (paramString): Added 'title' attribute, - (setDefaultCloseOperation): Added API docs. - -2006-04-18 David Gilbert - - * javax/swing/JSlider.java - (paramString): Reimplemented. - -2006-04-18 David Gilbert - - * javax/swing/JComboBox.java - (paramString): Reimplemented, - (getAccessibleContext): Added API docs, - (AccessibleJComboBox.getAccessibleRole): Likewise. - -2006-04-18 Roman Kennke - - * javax/swing/RepaintManager.java - (dirtyComponentsWork): New field. - (ComponentComparator): Use dirtyComponentsWork instead of - dirtyComponents. - (RepaintManager): Initialize new field. - (paintDirtyRegions): Swap dirtyComponents with dirtyComponentsWork - and work on the copy. - -2006-04-18 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (setBounds): Call reshape(). - * gnu/java/awt/peer/swing/SwingContainerPeer.java - (SwingContainerPeer): Changed argument to be a Component - instead a Container. - (getInsets): Call insets(). - (handleMouseEvent): Added null check to avoid NPE. - (handleMouseMotionEvent): Added null check to avoid NPE. - -2006-04-18 Roman Kennke - - PR 27185 - * javax/swing/JComponent.java - (paintChildrenWithOverlap): When one child is not opaque, propagate - the dirty rectangles to the next child. - (paintChildrenOptimized): Removed unnecessary 'optimization'. - This actually didn't work right and probably gained nothing. - -2006-04-18 Audrius Meskauskas - - * javax/swing/JTable.java (getCallRect): Do not cache rectangles. - (moveToCellBeingEdited): Do not clone the rectangle here. - -2006-04-18 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (getActionMap): Fixed lookup key, - (createActionMap): Modified actions to fetch slider/ui from the event - source. - -2006-04-17 Andrew John Hughes - - * java/lang/Enum.java: Documented. - -2006-04-17 Andrew John Hughes - - * gnu/java/lang/InstrumentationImpl.java: - Moved from java.lang. - * java/lang/InstrumentationImpl.java: - Removed. - * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: - Moved from java.lang. - * vm/reference/java/lang/VMClassLoader.java: - Corrected reference to InstrumentationImpl. - * vm/reference/java/lang/VMInstrumentationImpl.java: - Removed. - -2006-04-17 Andrew John Hughes - - * java/lang/annotation/Annotation.java: - Documented. - -2006-04-17 David Gilbert - - * javax/swing/JToolBar.java - (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, - (AccessibleJToolBar.getAccessibleStateSet): Implemented, - (AccessibleJToolBar.getAccessibleRole): Updated API docs, - (getAccessibleContext): Likewise. - -2006-04-17 Dalibor Topic - - * configure.ac: - Added CLASSPATH_CONVENIENCE substitution for convenience library LDFLAGS. - - * native/fdlibm/Makefile.am, - native/jni/classpath/Makefile.am: - Don't use -module and -version-info for convenience libraries LDFLAGS. - Fixes libtool warnings. - -2006-04-17 David Gilbert - - * javax/swing/plaf/basic/BasicComboBoxUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicComboPopup.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicInternalFrameUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicLabelUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicListUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicMenuBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicMenuUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicOptionPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicPopupMenuUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicScrollBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicScrollPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicSplitPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTabbedPaneUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTableHeaderUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTableUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicTextUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise, - * javax/swing/plaf/basic/BasicToolBarUI.java: - (installKeyboardActions): Marked as stub, - (uninstallKeyboardActions): Likewise. - -2006-04-17 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (installKeyboardActions): Implemented, - (uninstallKeyboardActions): Implemented, - (scrollByBlock): Accept any value for direction, - (scrollByUnit): Likewise, - (getInputMap): New method, - (getActionMap): New method, - (createActionMap): New method. - - -2006-04-16 Andrew John Hughes - - * doc/vmintegration.texinfo: - Fix sectioning. - -2006-04-16 Tom Tromey - - * native/jni/java-net/Makefile.am (AM_CFLAGS): Removed --save-temps. - -2006-04-16 Andrew John Hughes - - * NEWS: - Mention generics additions to the VM interface. - * doc/vmintegration.texinfo: - Added information on VMClass 1.5 additions and - VMSecureRandom. - -2006-04-16 Casey Marshall - - * NEWS: add an entry mentioning local socket support. - -2006-04-16 Casey Marshall - - * configure.ac (--enable-local-sockets): new enable argument. - (ENABLE_LOCAL_SOCKETS): new define. - * native/jni/java-net/Makefile.am (local_sources): new variable. - (lib_javanet_la_SOURCES): append `local_sources.' - * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c, - * native/jni/java-net/local.c, - * native/jni/java-net/local.h, - * include/gnu_java_net_local_LocalSocketImpl.h, - * gnu/java/net/local/LocalServerSocket.java, - * gnu/java/net/local/LocalSocket.java, - * gnu/java/net/local/LocalSocketAddress.java, - * gnu/java/net/local/LocalSocketImpl.java: new files. - -2006-04-15 Andrew John Hughes - - * javax/accessibility/AccessibleAction.java: - (DECREMENT): Added field. - (INCREMENT): Likewise. - (TOGGLE_EXPAND): Likewise. - * javax/accessibility/AccessibleRole.java: - (EDITBAR): Added field. - (FOOTER): Likewise. - (HEADER): Likewise. - (PARAGRAPH): Likewise. - (PROGRESS_MONITOR): Likewise. - (RULER): Likewise. - * javax/accessibility/AccessibleState.java: - (INDETERMINATE): Added field. - (MANAGES_DESCENDANTS): Likewise. - (TRUNCATED): Likewise. - -2006-04-14 Tom Tromey - - * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): - Genericized. - * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): - Genericized. - -2006-04-14 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (getBypass): New method. - (moveDot): Rewritten. - (moveDotImpl): New method. - (setDot): Rewritten. - (setDotImpl): New method. - (DefaultCaret.Bypass): New class. - -2006-04-14 Robert Schuster - - * javax/swing/text/AbstractDocument.java: - (getBypass): New method. - (insertString): Rewritten. - (remove): Rewritten. - (replace): Rewritten. - (insertStringImpl): New method. - (removeImpl): New method. - (replaceImpl): New method. - (AbstractDocument.Bypass): New class. - -2006-04-14 Casey Marshall - - Fixes PR classpath/24642 - * NEWS: add note about SecureRandom changes, and addition of - VMSecureRandom. - * java/security/SecureRandom.java (isSeeded): new field. - (setSeed, setSeed): set `isSeeded' to `true.' - (nextBytes): seed this instance if `isSeeded' is false. - (getSeed): call `generateSeed.' - (SECURERANDOM_SOURCE, JAVA_SECURITY_EGD, logger): new constants. - (generateSeed, generateSeed): new methods. - * vm/reference/java/security/VMSecureRandom.java: new file. - -2006-04-14 Robert Schuster - - * javax/swing/text/FieldView.java: - (paint): Apply clipping rectangle of the allocation area - before painting the text. - * javax/swing/text/DefaultHighlighter.java: - (DefaultHighlighter.DefaultHighlightPainter): Use SwingUtilities to - compute union and intersection, calculate intersection with allocation - area before painting, adjust x and width when painting multiple lines - by the range of the allocation area. - -2006-04-14 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (paintLayeredHighlights): Marked as stub. - -2006-04-14 Robert Schuster - - * javax/swing/plaf/basic/BasicTextFieldUI.java: - (propertyChanged): Added note, change color only if current background - is a ColorUIResource instance. - -2006-04-14 Tom Tromey - - * java/beans/beancontext/BeanContextSupport.java (hasNext): No longer - a stub. - (next): Likewise. - -2006-04-14 Tom Tromey - - * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. - -2006-04-14 Mark Wielaard - - * java/lang/Thread.java (getUncaughtExceptionHandler): Return - thread group when exceptionHandler isn't set. - * vm/reference/java/lang/VMThread.java (run): Use result of - thread.getUncaughtExceptionHandler directly. - -2006-04-14 David Gilbert - - * javax/swing/JSplitPane.java - (AccessibleJSplitPane.getAccessibleStateSet): Implemented, - (AccessibleJSplitPane.getAccessibleRole): Implemented, - (AccessibleJSplitPane.getAccessibleValue): Implemented, - (AccessibleJSplitPane.getCurrentAccessibleValue): Implemented, - (AccessibleJSplitPane.setCurrentAccessibleValue): Implemented, - (AccessibleJSplitPane.getMinimumAccessibleValue): Implemented, - (AccessibleJSplitPane.getMaximumAccessibleValue): Implemented. - -2006-04-10 Tom Tromey - - * javax/imageio/metadata/IIOMetadataFormatImpl.java (addObjectValue): - Fixed parameter bounds. - -2006-04-13 Andrew John Hughes - - * gnu/javax/crypto/assembly/Assembly.java, - * gnu/javax/crypto/assembly/Cascade.java, - * gnu/javax/crypto/assembly/CascadeStage.java, - * gnu/javax/crypto/assembly/CascadeTransformer.java, - * gnu/javax/crypto/assembly/Direction.java, - * gnu/javax/crypto/assembly/LoopbackTransformer.java, - * gnu/javax/crypto/assembly/ModeStage.java, - * gnu/javax/crypto/assembly/Operation.java, - * gnu/javax/crypto/assembly/PaddingTransformer.java, - * gnu/javax/crypto/assembly/Stage.java, - * gnu/javax/crypto/assembly/Transformer.java, - * gnu/javax/crypto/cipher/Square.java, - * gnu/javax/crypto/jce/cipher/AESSpi.java, - * gnu/javax/crypto/jce/cipher/ARCFourSpi.java, - * gnu/javax/crypto/jce/cipher/AnubisSpi.java, - * gnu/javax/crypto/jce/cipher/BlowfishSpi.java, - * gnu/javax/crypto/jce/cipher/CipherAdapter.java, - * gnu/javax/crypto/jce/cipher/DESSpi.java, - * gnu/javax/crypto/jce/cipher/KhazadSpi.java, - * gnu/javax/crypto/jce/cipher/NullCipherSpi.java, - * gnu/javax/crypto/jce/cipher/PBES2.java, - * gnu/javax/crypto/jce/cipher/RijndaelSpi.java, - * gnu/javax/crypto/jce/cipher/SerpentSpi.java, - * gnu/javax/crypto/jce/cipher/SquareSpi.java, - * gnu/javax/crypto/jce/cipher/TripleDESSpi.java, - * gnu/javax/crypto/jce/cipher/TwofishSpi.java, - * gnu/javax/crypto/jce/mac/HMacMD2Spi.java, - * gnu/javax/crypto/jce/mac/HMacMD4Spi.java, - * gnu/javax/crypto/jce/mac/HMacMD5Spi.java, - * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, - * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, - * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, - * gnu/javax/crypto/jce/mac/HMacTigerSpi.java, - * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, - * gnu/javax/crypto/jce/mac/MacAdapter.java, - * gnu/javax/crypto/jce/mac/TMMH16Spi.java, - * gnu/javax/crypto/jce/mac/UHash32Spi.java, - * gnu/javax/crypto/jce/mac/UMac32Spi.java, - * gnu/javax/crypto/key/dh/DiffieHellmanSender.java, - * gnu/javax/crypto/key/srp6/SRP6TLSServer.java, - * gnu/javax/crypto/keyring/PrivateKeyEntry.java, - * gnu/javax/crypto/mode/IAuthenticatedMode.java, - * gnu/javax/crypto/pad/WrongPaddingException.java, - * gnu/javax/crypto/prng/ICMGenerator.java, - * gnu/javax/crypto/prng/IPBE.java, - * gnu/javax/crypto/prng/PBKDF2.java, - * gnu/javax/crypto/sasl/ConfidentialityException.java, - * gnu/javax/crypto/sasl/IllegalMechanismStateException.java, - * gnu/javax/crypto/sasl/srp/IALG.java, - * gnu/javax/crypto/sasl/srp/SRPServer.java: - Remove CVS revision tags. - -2006-04-13 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (getPreferredSize): - Removed debugging code. - -2006-04-13 Audrius Meskauskas - - * javax/swing/JTree.java (getPreferredSize): Return the - cloned instance. - * javax/swing/ViewportLayout.java (layoutContainer): - Do not manage the view size and location if the view is - in the scroll pane. Also manage size and location for - Scrollable, if it is not in the scroll pane. - * javax/swing/plaf/basic/BasicTreeUI.java, - * javax/swing/tree/FixedHeightLayoutCache.java, - * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. - * gnu/javax/swing/tree/GnuPath.java: New file. - -2006-04-13 David Gilbert - - * javax/swing/JToolBar.java - (AccessibleJToolBar.getAccessibleStateSet): Marked as stub. - -2006-04-13 Robert Schuster - - * examples/gnu/classpath/examples/swing/TextAreaDemo.java: - (createCustomColoredPanel): Set background color as demo intends, - changed custom selection color to red. - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: - Replaced various single variables with a Compound instance, added - custom highlighter demo. - (TextFieldDemo.DemoHighlightPainter): New class (taken from - TextAreaDemo). - (TextFieldDemo.Compound): New class. - (createTextFieldCompound): New method. - (createLeftAlignedPanel): Rewritten. - (createRightAlignedPanel): Rewritten. - (createCenteredPanel): Rewritten. - (createCustomColoredPanel): Removed. - (createCustomColoredPanel1): New method. - (createCustomColoredPanel2): New method. - (createCustomBordersPanel): New method. - (createMiscPanel): Rewritten. - (actionPerformed): Rewritten. - (createContent): Add panels of new compounds to main panel, put - main panel in a JScrollPane. - * examples/gnu/classpath/examples/swing/Demo.java: - (Demo): Put desktop in a scrollpane. - (mkMenuBar): Check availability of MetalLookAndFeel.getCurrentTheme() - method via reflection. - -2006-04-13 David Gilbert - - * javax/swing/plaf/metal/MetalDesktopIconUI.java - (createUI): Return new instance rather than shared instance. - -2006-04-13 Robert Schuster - - * javax/swing/text/FieldView.java: - (checkContainer): Call updateVisibility() at the end. - -2006-04-13 Robert Schuster - - * java/awt/event/MouseEvent.java: - (paramString): Add value of 'consumed' variable in string. - -2006-04-13 Robert Schuster - - PR 26967 - * javax/swing/JTextField.java: Removed scrollOffset variable. - (JTextField): Moved up initialization of horizontalVisibility field. - (getScrollOffset): Implemented. - (setScrollOffset): Implemented. - (getHorizonztalVisibility): Removed note. - (scrollRectToVisible): New method. - * javax/swing/text/FieldView.java: Added cachedSpan variable. - (checkContainer): New method. - (updateVisibility): New method. - (calculateHorizontalSpan): New method. - (adjustAllocation): Removed unneeded local variables, added code - to handle scrolling. - (getPreferredSpan): Use new method calculateHorizontalSpan, - avoid calculation by returning cached value cachedSpan. - (paint): Added check whether the hosted component is a JTextField. - (insertUpdate): Invalidate cached span value, update visibility - if neccessary. - (removeUpdate): Dito. - (changeUpdate): Dito. - -2006-04-13 David Gilbert - - * javax/swing/JInternalFrame.java - (setTitle): Set old value to 'this.title', not 'title'. - -2006-04-13 David Gilbert - - * javax/swing/JInternalFrame.java - (AccessibleJInternalFrame.getAccessibleName): Implemented, - (AccessibleJInternalFrame.getAccessibleRole): Implemented, - (AccessibleJInternalFrame.getAccessibleValue): Implemented, - (AccessibleJInternalFrame.getCurrentAccessibleValue): Implemented, - (AccessibleJInternalFrame.getMaximumAccessibleValue): Implemented, - (AccessibleJInternalFrame.getMinimumAccessibleValue): Implemented, - (AccessibleJInternalFrame.setCurrentAccessibleValue): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleRole): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleValue): Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getCurrentAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getMaximumAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.getMinimumAccessibleValue): - Implemented, - (JDesktopIcon.AccessibleJDesktopIcon.setCurrentAccessibleValue): - Implemented, - (JInternalFrame()): Use "" for default title, - (getAccessibleContext): Updated API docs, - (getDesktopIcon): Likewise, - (getLayer): Check for layer in client properties, and return - DEFAULT_LAYER if no setting is found, - (getTitle): Updated API docs, - (setDesktopIcon): Fire property change event. - -2006-04-13 Audrius Meskauskas - - * javax/swing/ScrollPaneLayout.java (layoutContainer): - Mind that the presence of one scroll bar may cause the - need for another. - -2006-04-12 Ito Kazumitsu - - * gnu/regexp/REToken.java(unicodeAware): New field, - (toLowerCase, toUpperCase): New methods. - * gnu/regexp/RETokenBackRef.java, gnu/regexp/RETokenChar.java, - gnu/regexp/RETokenNamedProperty.java, gnu/regexp/RETokenRange.java: - Use toLowerCase and toUpperCase defined in REToken instead of - those defined in java.lang.Character. - * gnu/regexp/gnu/regexp/RE.java(REG_ICASE_USASCII): New flag. - (initialize): Sets unicodeAware of the generated REToken to false if - REG_ICASE_USASCII is set. - * gnu/regexp/RETokenChar.java(constructor): Don't convert the character - to lower case and keep the original value. - (matchOneString): Use the new method charEquals to compare characters. - (charEquals): New method to compare characters. - * java/util/regex/Pattern.java: Sets the flag REG_ICASE_USASCII to true. - -2006-04-12 David Gilbert - - * javax/swing/event/InternalFrameEvent.java: - (paramString): Implemented, - updated API docs all over. - -2006-04-12 Casey Marshall - - * gnu/javax/crypto/prng/Fortuna.java (setup): call `fillBlock.' - (Generator.setup): call `fillBlock.' - -2006-04-12 Casey Marshall - - Fixes PR classpath/24481. - * gnu/java/security/jce/prng/SecureRandomAdapter.java (): - initialize the adaptee. - (setSeed): call `addRandomBytes;' don't re-initialize the adaptee. - * gnu/java/security/prng/MDGenerator.java (addRandomByte, - addRandomBytes): new methods. - -2006-04-12 Tom Tromey - - * java/io/DataOutputStream.java (writeUTF): Correctly handle zero - length strings. - -2006-04-12 Lillian Angel - - * gnu/xml/dom/DomDocument.java - (checkNCName): Removed unneeded part of check. - * gnu/xml/dom/DomNode.java - (dispatchEvent): Added code to grow ancestors array - if needed. Changed checks to use depth of node instead. - Fixes an infinite loop and segmentation fault. - * gnu/xml/dom/html2/DomHTMLParser.java - (handleEndTag): No need to use/make a copy of the node. - Causes an infinite loop. - -2006-04-12 Tom Tromey - - PR classpath/27131: - * java/util/BitSet.java (get): Early return if to==from. - -2006-04-12 Mark Wielaard - - * java/security/SecureRandom.java (algorithm): New private field. - (SecureRandom): Initialize algorithm. - (SecureRandom(SecureRandomSpi,Provider,String)): New private - constructor. - (getInstance): Call 3 argument constructor. - (getAlgorithm): New method. - -2006-04-12 Mark Wielaard - - Port UncaughtExceptionHandler support from generics branch. - * NEWS: Document Thread.UncaughtExceptionHandler VMThread change. - -2006-04-12 Andrew John Hughes - - * java/lang/Thread.java: - (setUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getUncaughtExceptionHandler()): Documented. - (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getDefaultUncaughtExceptionHandler()): Documented. - (getId()): Documented. - -2006-04-12 Tom Tromey - - * vm/reference/java/lang/VMThread.java (run): Use thread's - uncaught handler. - * java/lang/Thread.java (defaultHandler): New field. - (setDefaultUncaughtExceptionHandler, - getDefaultUncaughtExceptionHandler, setUncaughtExceptionHandler, - getUncaughtExceptionHandler): New methods. - * java/lang/ThreadGroup.java (ThreadGroup): Implements - UncaughtExceptionHandler. - (uncaughtException): Use getDefaultUncaughtExceptionHandler. - -2006-04-11 Bryce McKinlay - - * java/io/DataOutputStream.java (writeUTF): Re-use fixed length byte - buffer. Loop only once to determine Utf8 length when possible. Make - the inner loop bounded by buf.length. - (getUTFlength): New private method. - (buf): New private field. - -2006-04-11 Lillian Angel - - * gnu/xml/dom/DomNodeIterator.java - (nextNode): Moved line of code to avoid an infinite loop. - * gnu/xml/dom/html2/DomHTMLAppletElement.java - (getCls): New function. - (setCls): Likewise. - (getSrc): Likewise. - (setSrc): Likewise. - * gnu/xml/dom/html2/DomHTMLDocument.java: - Added DomHTMLEmbedElement to map. - (getApplets): Added node name, 'embed'. - * gnu/xml/dom/html2/DomHTMLEmbedElement.java: - New class. - * gnu/xml/dom/html2/DomHTMLObjectElement.java - (getJavaCode): New function. - (setJavaCode): Likewise. - (getObject): Likewise. - (setObject): Likewise. - (getJavaObject): Likewise. - (setJavaObject): Likewise. - (getJavaArchive): Likewise. - (setJavaArchive): Likewise. - (getJavaCodeBase): Likewise. - (setJavaCodeBase): Likewise. - (getJavaType): Likewise. - (setJavaType): Likewise. - (setMayscript): Likewise. - (getMayscript): Likewise. - (setScriptable): Likewise. - (getScriptable): Likewise. - * gnu/xml/dom/html2/DomHTMLParser.java - (parseDocument): Should not check for well formedness - when parsing an html document. - * java/awt/Window.java - (dispatchEvent): Added check to avoid NPE. - -2006-04-10 Tom Tromey - - * javax/accessibility/AccessibleStreamable.java (getStream): Fixed - name. - * javax/accessibility/AccessibleRelation.java (EMBEDS): Fixed value. - (SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. - -2006-04-10 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (getNextVisualPositionFrom): Marked as stub. - -2006-04-10 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initSystemColorDefaults): Changed to use loadSystemColorDefaults - and create the defaults as strings constants. - (loadSystemColors): Implemented stubbed method. - -2006-04-10 Tom Tromey - - * .settings/org.eclipse.core.resources.prefs: Set encoding for - ChangeLog. - -2006-04-10 Tom Tromey - - * java/io/CharArrayWriter.java (append): Javadoc fix. - (append): Likewise. - -2006-04-10 Tom Tromey - - * javax/accessibility/AccessibleTextSequence.java: New file. - * javax/accessibility/AccessibleRelation.java (CHILD_NODE_OF): New - field. - (CHILD_NODE_OF_PROPERTY, EMBEDDED_BY, EMBEDDED_BY_PROPERTY, EMBEDS, - EMBEDS_PROPERTY, FLOWS_FROM, FLOWS_FROM_PROPERTY, FLOWS_TO, - FLOWS_TO_PROPERTY, PARENT_WINDOW_OF, PARENT_WINDOW_OF_PROPERTY, - SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. - * javax/accessibility/AccessibleExtendedText.java: New file. - * javax/accessibility/AccessibleContext.java - (ACCESSIBLE_COMPONENT_BOUNDS_CHANGED): New field. - (ACCESSIBLE_INVALIDATE_CHILDREN): Likewise. - (ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED): Likewise. - * javax/accessibility/AccessibleAttributeSequence.java: New file. - * javax/accessibility/AccessibleStreamable.java: New file. - * javax/accessibility/AccessibleText.java (getIndexAtPoint): Javadoc - fix. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions, getRowsForPath): Implemented. - * javax/swing/tree/FixedHeightLayoutCache.java: Rewritten. - * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. - -2006-04-10 Roman Kennke - - * javax/swing/tree/AbstractLayoutCache.java: Reformatted. - -2006-04-10 Roman Kennke - - * javax/swing/JInternalFrame.java - (AccessibleJInternalFrame): Marked all stubbed methods as such - by adding throws NotImplementedException. - -2006-04-10 Roman Kennke - - * javax/swing/JFileChooser.java - (getAccessibleContext): Don't create a new instance on each - call, instead store the accessible context in the - accessibleContext field. - -2006-04-10 Roman Kennke - - * javax/swing/JComboBox.java - (AccessibleJComboBox): Marked all stubbed methods as such - by adding throws NotImplementedException. - -2006-04-10 Roman Kennke - - * javax/swing/ActionMap.java - (readObject): Removed. - (writeObject): Removed. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java - (addSelectionPaths, setSelectionPaths): Call - insureUniqueness. (clone, setRowMapper): Implemented. - * TreePath (path): Marked final. - -2006-04-10 Audrius Meskauskas - - * javax/swing/tree/DefaultTreeSelectionModel.java: - Documented and autoformatted. (insureUniqueness): - Removed stub marking. - -2006-04-09 David Gilbert - - * javax/swing/SizeSequence.java - (sizes): Don't initialise here, - (SizeSequence(int, int)): Initialise sizes field, - (SizeSequence(int[])): Clone argument instead of calling setSizes(), - (setSize): Do nothing when index is out of bounds, - (getIndex): Implemented, - (setSizes): Reimplemented, - (getSizes): Likewise, - (insertEntries): Likewise, - (removeEntries): Likewise, - plus added API docs all over. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/CDR/EncapsulationStream.java (constructor): - Set the byte order. - -2006-04-09 Wolfgang Baer - - * org/omg/PortableServer/ServantLocatorPOA.java: - (preinvoke, postinvoke): Remove default implementation. - * org/omg/PortableServer/ServantActivatorPOA.java: - (incarnate, etherealize): Remove default implementation. - * org/omg/PortableInterceptor/ObjectReferenceFactory.java: - Extends from ValueBase and not from ObjectReferenceFactoryOperations. - (make_object): Moved method from ObjectReferenceFactoryOperations. - * org/omg/PortableInterceptor/ObjectReferenceFactoryOperations.java: - Removed unspecified interface. - * org/omg/DynamicAny/_DynAnyStub.java: - (_DynAnyStub(Delegate)): Removed constructor. - * org/omg/DynamicAny/_DynArrayStub.java, - * org/omg/DynamicAny/_DynAnyFactoryStub.java, - * org/omg/DynamicAny/_DynEnumStub.java, - * org/omg/DynamicAny/_DynFixedStub.java, - * org/omg/DynamicAny/_DynSequenceStub.java, - * org/omg/DynamicAny/_DynStructStub.java, - * org/omg/DynamicAny/_DynUnionStub.java, - * org/omg/DynamicAny/_DynValueStub.java: - Extend from ObjectImpl and not from _DynAnyStub. - (type, next, destroy, copy, rewind, assign, component_count, - current_component, equal, from_any, get_any, get_boolean, get_char, - get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, - get_reference, get_short, get_string, get_typecode, get_ulong, - get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, - insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, - insert_long, insert_longlong, insert_octet, insert_reference, - insert_short, insert_string, insert_typecode, insert_ulong, - insert_ulonglong, insert_ushort, insert_val, insert_wchar, - insert_wstring, seek, to_any): New methods copied from _DynAnyStub. - * org/omg/CosNaming/_BindingIteratorStub.java: - (_BindingIteratorStub(Delegate)): Made package private. - * org/omg/CosNaming/_NamingContextExtStub.java: - (_NamingContextExtStub(Delegate)): Made package private. - * org/omg/CosNaming/_NamingContextStub.java: - (_NamingContextStub(Delegate)): Made package private. - (throw4, throw5): Likewise. - * gnu/CORBA/NamingService/NameParser.java (resolve): - Adapt to package private constructor. Use _set_delegate instead. - * org/omg/CosNaming/NamingContextOperations.java: Do not extend IDLEntity. - * org/omg/CORBA/ORB.java: - (create_recursive_sequence_tc): Made abstract. - (get_default_context): Likewise. - * gnu/CORBA/OrbRestricted.java: - (create_recursive_sequence_tc): New moved method. - (get_default_context): Likewise. - * org/omg/CORBA/ParameterMode.java: - (PARAM_IN, PARAM_OUT, PARAM_INOUT): Made final. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/GIOP/MessageHeader.java (write): - More informative exception. - * gnu/CORBA/IorDelegate.java (release): Do not close the socket. - * gnu/CORBA/SocketRepository.java (get_socket): - Removed debugging code. - -2006-04-09 Audrius Meskauskas - - * gnu/CORBA/gnuRequest.java (submit): Try to read the response for the - one way message, but ignore if EOF was received. - * gnu/CORBA/GIOP/MessageHeader.java (read): Set the minor code to - Minor.EOF if the end of file is received instead of the header. - -2006-04-09 Roman Kennke - - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalTitlePane.IconifyAction): New inner class. - (MetalTitlePane.MaximizeAction): New inner class. - (MetalTitlePane.createActions): Create iconifyAction and - maximizeAction. - (MetalRootLayout.titlePane): New field. - (MetalRootLayout.MetalRootLayout): Take titlePane parameter in - constructor. - (MetalRootLayout.preferredLayoutSize): Changed to not make - assumptions about the actual component order. - (MetalRootLayout.layoutContainer): Changed to not make - assumptions about the actual component order. - (installWindowDecorations): Pass the titlePane as parameter to - the MetalRootLayout constructor. - (uninstallWindowDecorations): Changed to not make - assumptions about the actual component order. - -2006-04-08 Roman Kennke - - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalTitlePane.MouseHandler): New inner class to handle dragging - of frames. - (MetalTitlePane.installListeners): Don't register a focus listener - on the window. This is a potential memory leak and must be - implemented on a different way. Install mouse listener here. - (installWindowDecorations): Fixed assertion condition. Always - insert the window decoration at index#1 in the layered - pane. - -2006-04-08 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked): - Only resize window if actual width or height value changes. - Avoids nasty flicker when only setLocation() is beeing called - on a window. - -2006-04-08 Audrius Meskauskas - - * gnu/CORBA/GIOP/MessageHeader.java (read): Throw more informative - exception if the magic sequence does not match. - -2006-04-08 Audrius Meskauskas - - * gnu/CORBA/gnuRequest.java (p_invoke, submit): Do not try to read - response for the one way messages. - -2006-04-08 Roman Kennke - - * javax/swing/MenuSelectionManager.java - (processKeyEvent): Implemented stub method. - * javax/swing/JMenu.java - (processKeyEvent): Implemented stub method. - * javax/swing/JMenu.java - (processKeyEvent): Implemented stub method. - (processMenuKeyEvent): Implemented stub method. - -2006-04-08 Roman Kennke - - * javax/swing/AbstractAction.java - (readObject): Removed unneeded method. - (writeObject): Removed unneeded method. - -2006-04-08 Wolfgang Baer - - * javax/swing/plaf/synth/SynthPainter.java: - (paintSplitPaneDividerBorder): Removed. - -2006-04-08 Wolfgang Baer - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java: - (CLOSE_CMD, ICONIFY_CMD, MAXIMIZE_CMD, MOVE_CMD, RESTORE_CMD, SIZE_CMD): - No longer constants. - (static_initializer): Added to initialize above fields. - * javax/accessibility/AccessibleRelation.java (LABEL_FOR, LABELED_BY, - MEMBER_OF, CONTROLLER_FOR, CONTROLLED_BY): No longer constants. - (static_initializer): Added to initialize above fields. - -2006-04-08 Wolfgang Baer - - * java/awt/Dialog.java: Improved documentation all over. - (Dialog(Frame)): If gc is null use the owners GraphicsConfiguration. - (Dialog(Dialog)): Likewise. - -2006-04-08 Mark Wielaard - - * java/util/jar/JarFile.java (provider): New static field. - (verify, verifyHashes, EntryInputStream.): Pass provider - to `getInstance.' - -2006-04-08 Mark Wielaard - - PR 27081 - * java/lang/StackTraceElement.java (toString): Don't add space - between type and source indicator. - -2006-04-07 Casey Marshall - - Fixes PR classpath/24464 - * java/util/jar/JarFile.java (verify, verifyHashes, - EntryInputStream.): pass the Gnu provider directly to - `getInstance.' - -2006-04-08 Raif S. Naffah - - PR classpath/27071 - * gnu/java/security/hash/Whirlpool.java: Updated documentation. - (DIGEST0): Use version 3 test vector. - (Sd): Removed. - (S_box): New field: Version 3 S-box values. - (): Use Version 3 circulant matrix to construct lookup tables. - (transform): Formating. - (padBuffer): Likewise. - (getResult): Likewise. - (selfTest): Likewise. - -2006-04-07 Tom Tromey - - * java/util/InvalidPropertiesFormatException.java - (serialVersionUID): New field. - (readObject, writeObject): New methods. - * java/util/Arrays.java (toString): Javadoc fixes. - * java/net/URLConnection.java: Cleaned up imports. - * java/lang/reflect/ParameterizedType.java: Javadoc fix. - * java/lang/reflect/MalformedParameterizedTypeException.java - (serialVersionUID): New field. - * java/lang/reflect/GenericSignatureFormatError.java - (serialVersionUID): New field. - * java/lang/Class.java (Class): Javado fixes. - (getComponentType): Likewise. - (getGenericInterfaces): Likewise. - (getTypeParameters): Likewise. - * java/io/CharArrayWriter.java (append): Javadoc fixes. - * java/lang/annotation/AnnotationFormatError.java (serialVersionUID): - New field. - * java/lang/TypeNotPresentException.java (serialVersionUID): New - field. - * java/lang/EnumConstantNotPresentException.java (serialVersionUID): - New field. - -2006-04-07 Wolfgang Baer - - * java/awt/Dialog.java - (AccessibleAWTDialog): Added api docs - (AccessibleAWTDialog.getAccessibleStateSet): - Renamed from getAccessibleState. - * java/awt/Frame.java - (AccessibleAWTFrame): Added api docs - (AccessibleAWTFrame.getAccessibleStateSet): - Renamed from getAccessibleState. - -2006-04-07 Wolfgang Baer - - * java/awt/Dialog.java: Reformatted. - -2006-04-07 Lillian Angel +2007-01-07 Roman Kennke + PR 30337 * java/awt/Component.java - (eventTypeEnabled): Added code for HierarchyEvent.HIERARCHY_CHANGED, - HierarchyEvent.ANCESTOR_MOVED and HierarchyEvent.ANCESTOR_RESIZED. - -2006-04-07 Tom Tromey - - * java/beans/beancontext/BeanContextMembershipEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContextServicesSupport.java - (addBeanContextServicesListener): Synchronize. - (addService): Implemented. - (createBCSChild): Implemented. - (BCSSChild): Added arguments. - (fireServiceAdded): Implemented. - (fireServiceRevoked): Implemented. - (getCurrentServiceSelectors): Implemented. - (hasService): Implemented. - (removeBeanContextServicesListener): Implemented. - (serviceAvailable): Implemented. - (serviceRevoked): Implemented. - * java/beans/beancontext/BeanContextSupport.java (BCSChild): Added - arguments. - (createBCSChild): Implemented. - (BeanContextSupport): - (addBeanContextMembershipListener): Synchronize. - (fireChildrenAdded): Implemented. - (fireChildrenRemoved): Implemented. - (BeanContextSupport): Use default locale. - (isEmpty): Implemented. - (isDesignTime): Implemented. - (size): Implemented. - (toArray): Synchronized. - (toArray): Likewise. - (iterator): Likewise. - (BCSIterator): Implemented. - (bcsChildren): Implemented. - (validatePendingAdd): Implemented. - (validatePendingRemove): Likewise. - (childJustAddedHook): Implemented. - (childJustRemovedHook): Likewise. - (classEquals): Likewise. - (toArray): Mark as stub. - (setDesignTime): Implemented. - (copyChildren): Implemented. - (containsKey): Implemented. - (contains): Likewise. - (containsAll): Likewise. - (getResource): Implemented. - (getResourceAsStream): Likewise. - (removeBeanContextMembershipListener): Likewise. - * java/beans/beancontext/BeanContextServiceRevokedEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContextServiceAvailableEvent.java - (serialVersionUID): New field. - * java/beans/beancontext/BeanContext.java (instantiateChild): Javadoc - fix. - -2006-04-06 Roman Kennke - - PR 26937 - * javax/swing/MenuSelectionManager.java - (setSelectedPath): Search one more item in the loop. - -2006-04-06 Tom Tromey - - * java/awt/image/renderable/RenderableImageProducer.java - (image, context, consumers): New fields. - (RenderableImageProducer): Implemented. - (setRenderContext): Likewise. - (addConsumer): Likewise. - (isConsumer): Likewise. - (removeConsumer): Likewise. - (startProduction): Likewise. - -2006-04-06 Roman Kennke - - * java/awt/Component.java - (AccessibleAWTComponent.getBounds): Return the component - bounds regardless of its showing state. - (AccessibleAWTComponent.getLocation): Return the component - location regardless of its showing state. - (AccessibleAWTComponent.getSize): Return the component - size regardless of its showing state. - -2006-04-06 Roman Kennke - - * javax/swing/JRootPane.java - (getAccessibleContext): New method. Provides an accessibleContext - for JRootPanes. - -2006-04-06 Roman Kennke - - * java/awt/Toolkit.java - (initAccessibility): Use the 'gnu.classpath.home.url' property - to determine the system confiuration directory. - * java/awt/Component.java - (dispatchEvent): Trigger Toolkit dispatching here. - (dispatchEventImpl): Moved Toolkit dispatching to dispatchEvent, - so it can't be overridden by subclasses and is performed in - any case. - -2006-04-06 Wolfgang Baer - - * javax/naming/Binding.java: Added API docs. - * javax/naming/NameClassPair.java: Added API docs. - (fullName): New field. - (setNameInNamespace): New 1.5 method. - (getNameInNamespace): Likewise. - -2006-04-06 Wolfgang Baer - - * javax/naming/CompositeName.java: - (readObject): New deserialization method. - (writeObject): New serialization method. - -2006-03-29 Nektarios K. Papadopoulos - - * javax/security/auth/x500/X500Principal.java - (readAttributeValue) Check for separator after quoted value was - failing in all cases. - -2006-04-06 Mark Wielaard - - * java/lang/Class.java (getClassLoader): Don't do security check - when loader is null. - -2006-04-06 Roman Kennke - - * java/awt/Toolkit.java - (getDefaultToolkit): Initialize accessibility after setting - up the toolkit. - (initAccessibility): New helper method to setup accessibility. - -2006-04-06 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. - (AccessibleAbstractButton.getAccessibleRelationSet): Implemented - stub. - (AccessibleAbstractButton.getIndexAtPoint): Implemented stub. - (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. - (AccessibleAbstractButton.getCharacterBounds): Implemented stub. - (AccessibleAbstractButton.getCharCount): Implemented stub. - (AccessibleAbstractButton.getCaretPosition): Implemented stub. - (AccessibleAbstractButton.getCharacterAttribute): Implemented stub. - (AccessibleAbstractButton.getSelectionStart): Implemented stub. - (AccessibleAbstractButton.getSelectionEnd): Implemented stub. - (AccessibleAbstractButton.getSelectedText): Implemented stub. - (AccessibleAbstractButton.getTextRectangle): Removed unneeded - private method. - -2006-04-06 Roman Kennke - - * java/awt/Component.java - (AccessibleAWTComponent.getAccessibleStateSet): Don't handle opaque - state here. This is only done in JComponent. - * javax/swing/JComponent.java - (AccessibleJComponent.getAccessibleStateSet): Handle opaque flag - here. - (getNextFocusableComponent): Implemented stub method. - (grabFocus): Implemented stub method. - (unregisterKeyboardAction): Implemented stub method. - (setNextFocusableComponent): Implemented stub method. - * javax/swing/CompatibilityFocusTraversalPolicy.java: New file. - This is a helper class for providing compatibility with the older - Swing focus API. - -2006-04-06 Wolfgang Baer - - Fixes bug #26995 - * javax/naming/directory/BasicAttribute.java, - * javax/naming/directory/BasicAttributes.java: - (readObject): New deserialization method. - (writeObject): New serialization method. - -2006-04-06 Wolfgang Baer - - * javax/xml/validation/SchemaFactory.java: Corrected since tag. - (getErrorHandler): Made method abstract. - (setErrorHanlder): Likewise. - * gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java - (getErrorHandler): Implement abstract method from superclass. - (setErrorHandler): Likewise. - (errorHandler): New field. - * gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java: - (getErrorHandler): Implement abstract method from superclass. - (setErrorHandler): Likewise. - (errorHandler): New field. - * javax/xml/XMLConstants.java: Corrected since tag. - (XMLConstants): Added private constructor. - * javax/xml/datatype/Duration.java: Corrected since tag. - (multiply): Made method abstract. - * javax/xml/datatype/DatatypeConstants.java: Corrected since tag. - (DatatypeConstants): Added private constructor. - * javax/xml/xpath/XPathConstants.java: Corrected since tag. - (XPathConstants): Added private constructor. - -2006-04-05 Tom Tromey - - * javax/security/auth/kerberos/ServicePermission.java: Now final. - -2006-04-05 Tom Tromey - - PR libgcj/26625: - * lib/Makefile.am (compile-classes): Touch the output file. - -2006-04-05 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleStateSet): Removed handling - of the focused state. This is already done in AccessibleAWTComponent. - -2006-04-05 Roman Kennke - - * javax/swing/JComponent.java - (accessibleContext): Fixed API doc for this field. - (AccessibleJComponent.AccessibleFocusHandler): Fixed API docs. - (AccessibleJComponent.AccessibleFocusHandler.focusGained): - Implemented and added API docs. - (AccessibleJComponent.AccessibleFocusHandler.focusLost): - Implemented and added API docs. - (AccessibleJComponent.AccessibleContainerHandler): Fixed API docs. - (AccessibleJComponent.AccessibleContainerHandler.componentAdded): - Implemented and added API docs. - (AccessibleJComponent.AccessibleContainerHandler.componentRemoved): - Implemented and added API docs. - (AccessibleJComponent.accessibleContainerHandler): Added API docs. - (AccessibleJComponent.accessibleFocusHandler): Added API docs. - (AccessibleJComponent.addPropertyChangeListener): Added API docs. - (AccessibleJComponent.removePropertyChangeListener): Added API docs. - (AccessibleJComponent.getAccessibleStateSet): Simply return - super here. Added comment about this. - -2006-04-05 Roman Kennke - - * javax/swing/JComponent.java - (AccessibleJComponent.addPropertyChangeListener): Install - ContainerHandler and FocusHandler here. - (AccessibleJComponent.removePropertyChangeListener): Uninstall - ContainerHandler and FocusHandler here. - (AccessibleJComponent.getAccessibleChildrenCount): Replaced - by super.getAccessibleChildrenCount(). - (AccessibleJComponent.getAccessibleChild): Replaced - by super.getAccessibleChild(). - (AccessibleJComponent.getAccessibleStateSet): Implemented by - adding OPAQUE to the supported states. - (AccessibleJComponent.getAccessibleName): Added titled border - and label fallbacks. - (AccessibleJComponent.getAccessibleDescription): Added tooltip - and label fallbacks. - (AccessibleJComponent.getAccessibleRole): Removed TODO. - (AccessibleJComponent.getAccessibleKeyBinding): Added comment - explaining why return null seems correct here. - * javax/swing/JLabel.java - (LABEL_PROPERTY): New constant. - (setLabelFor): Store label in labeled component's client properties - for the AccessibleJComponent to read. - -2006-04-05 Tom Tromey - - * java/util/zip/ZipFile.java (available): Defer to super if - entry's size is unknown. - -2006-04-05 Tom Tromey - - * java/net/MimeTypeMapper.java (MimeTypeMapper): Look for system - property with mime.types name. - * gnu/classpath/SystemProperties.java: Set - gnu.classpath.mime.types.file if not already set. - * java/net/URLConnection.java (defaultFactory): New field. - (guessContentTypeFromStream): Mark as unimplemented. - (getContentHandler): Updated with libgcj's implementation. - * gnu/java/net/DefaultContentHandlerFactory.java: New file, - from libgcj. - -2006-04-05 Bryce McKinlay - - PR classpath/27028 - PR classpath/24752 - * java/util/AbstractList.java (hasNext): Don't throw - ConcurrentModificationException. Update Javadoc. - (hasPrevious): Likewise. - (nextIndex): Likewise. - (previousIndex): Likewise. - * java/util/HashMap.java (hasNext): Likewise. - * java/util/Hashtable.java (hasNext): Likewise. - * java/util/IdentityHashMap.java (hasNext): Likewise. - * java/util/LinkedHashMap.java (hasNext): Likewise. - * java/util/LinkedList.java (nextIndex): Likewise. - (previousIndex): Likewise. - (hasNext): Likewise. - (hasPrevious): Likewise. - * java/util/TreeMap.java (hasNext): Likewise. - * java/util/WeakHashMap.java (hasNext): Likewise. - -2006-04-05 Roman Kennke - - * javax/swing/AbstractButton.java - (AccessibleAbstractButton.getAccessibleStateSet): Implemented stub. - (AccessibleAbstractButton.doAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getAccessibleActionCount): Implemented stub. - (AccessibleAbstractButton.getAccessibleActionDescription): - Implemented stub. - (AccessibleAbstractButton.getAccessibleText): Implemented stub. - (AccessibleAbstractButton.getAccessibleAction): Implemented stub. - (AccessibleAbstractButton.getCurrentAccessibleValue): Implemented stub. - (AccessibleAbstractButton.setCurrentAccessibleValue): Implemented stub. - (AccessibleAbstractButton.getMinimumAccessibleValue): Implemented stub. - (AccessibleAbstractButton.getMaximumAccessibleValue): Implemented stub. - -2006-04-05 Roman Kennke - - * javax/swing/JComboBox.java - (selectWithKeyChar): Implemented stubbed method. - -2006-04-05 Roman Kennke - - * javax/swing/LookAndFeel.java - (installProperty): New method. Allows primitive typed properties - to be handled like UIResources. - * javax/swing/AbstractButton.java - (clientBorderPaintedSet): New field. - (clientRolloverEnabledSet): New field. - (clientIconTextGapSet): New field. - (clientContentAreaFilledSet): New field. - (setRolloverEnabled): Set the client field to true. - (setBorderPainted): Likewise. - (setIconTextGap): Likewise. - (setContentAreaFilled): Likewise. - (setUIProperty): New helper method. - * javax/swing/JComponent.java - (clientOpaqueSet): New field. - (clientAutoscrollsSet): New field. - (setAutoscrolls): Set the client field to true. - (setOpaque): Likewise. - (setUIProperty): New helper method. - * javax/swing/JDesktopPane.java - (clientDragModeSet): New field. - (setDragMode): Set the client field to true. - (setUIProperty): New helper method. - * javax/swing/JSplitPane.java - (clientDividerSizeSet): New field. - (clientOneTouchExpandableSet): New field. - (setDividerSize): Set the client field to true. - (setOneTouchExpandable): Likewise. - (setUIProperty): New helper method. - * javax/swing/JTable.java - (clientRowHeightSet): New field. - (setRowHeight): Set the client field to true. - (setUIProperty): New helper method. - * javax/swing/JTree.java - (clientRowHeightSet): New field. - (clientScrollsOnExpandSet): New field. - (clientShowsRootHandlesSet): New field. - (setRowHeight): Set the client field to true. - (setShowsRootHandles): Likewise. - (setScrollsOnExpand): Likewise. - (setUIProperty): New helper method. - -2006-04-05 Roman Kennke - - * java/awt/Component.java - (getFont): Don't request the font from the peer's graphics. The - graphics should instead get the font from the Component, which might - result in a loop. - (getFocusCycleAncestor): Don't special case Window. - (nextFocus): Moved implementation from the DefaultKeyboardFocusManager - to here. Correctly determine the focus cycle root. - (transferFocusBackward): Likewise. - (transferFocusUpCycle): Likewise. - * java/awt/Container.java - (transferFocusDownCycle): Moved implementation from - DefaultKeyboardFocusManager to here. - * java/awt/DefaultKeyboardFocusManager.java - (focusPreviousComponent): Moved implementation to - Component.transferFocusBackward(). - (focusNextComponent): Moved implementation to - Component.nextFocus(). - (upFocusCycle): Moved implementation to - Component.transferFocusUpCycle(). - (downFocusCycle): Moved implementation to - Container.transferFocusDownCycle(). - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (equals): Implemented, - (hashCode): Likewise. - -2006-04-05 Jeroen Frijters - - * java/lang/Class.java - (cast): New method. - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (getBankIndices): Return a copy of the array, not a reference to the - original, - (getBandOffsets): Likewise. - -2006-04-05 David Gilbert - - * java/awt/image/ComponentSampleModel.java: Added API docs all over. - -2006-04-04 Tom Tromey - - * java/net/MimeTypeMapper.java (MimeTypeMapper): Fixed indices. - -2006-04-04 Tom Tromey - - * java/net/MimeTypeMapper.java (mime_types): No longer static. - (MimeTypeMapper): Initialize. - (fillFromFile): New method. - (main): New method. - (mime_strings): Updated. - -2006-04-04 Tom Tromey - - * lib/gen-classlist.sh.in: Correct handle generated files. - -2006-04-04 Ito Kazumitsu - - * gnu/regexp/CharIndexed.java(setAnchor): New method. - * gnu/regexp/CharIndexedInputStream.java(setAnchor): New method. - * gnu/regexp/CharIndexedCharSequence.java: New file. - * gnu/regexp/CharIndexedCharArray.java: Rewritten as an extention of - gnu.regexp.CharIndexedCharSequence. - * gnu/regexp/CharIndexedString.java: Likewise. - * gnu/regexp/CharIndexedStringBuffer.java: Likewise. - * gnu/regexp/RE.java(makeCharIndexed): Make a new CharIndexed - using CharIndexedCharSequence. Use setAnchor when the input - object is already a CharIndexed. - * java/util/regex/Matcher.java(inputCharIndexed): New field - to be used as a parameter of the RE#getMatch. - -2006-04-04 David Gilbert - - * java/awt/image/SampleModel.java: Reformatted. - -2006-04-04 David Gilbert - - * java/awt/image/ComponentSampleModel.java - (ComponentSampleModel(int, int, int, int, int[])): Added API - documentation, - (ComponentSampleModel(int, int, int, int, int[], int[]): Throw - IllegalArgumentException for DataBuffer.TYPE_UNDEFINED, take copies - of the bandOffsets and bankIndices arguments, added API documentation, - * java/awt/image/SampleModel.java - (SampleModel(int, int, int, int): Throw IllegalArgumentException for - unrecognised dataTypes, w * h exceeds Integer.MAX_VALUE, and numBands - less than or equal to zero, added API documentation. - -2006-04-04 Lillian Angel - - * java/util/zip/ZipFile.java - (getInputStream): Fixed to return size of ZipEntry - minus the total bytes read. This guarantees that the - right value is returned even if some bytes have already - been read. - -2006-04-04 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java (messages): - Remove static modifier. - -2006-04-04 David Gilbert - - * java/awt/image/ComponentSampleModel.java: Reformatted. - -2006-04-03 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java: New file. - * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: Add - retrieval instructions to javadoc header. - * javax/imageio/ImageWriteParam.java: Fix javadoc for - compressionType field. - * lib/Makefile.am (propertydirs): Add javax directory. - (propertyfiles): Likewise. - * resource/javax/imageio/plugins/jpeg/MessagesBundle.properties: - New file. - -2006-04-03 Tom Tromey - - PR classpath/26971: - * javax/naming/directory/BasicAttribute.java: Added missing @since. - (BasicAttributeEnumeration.where): Initialize to 0. - (BasicAttributeEnumeration.nextElement): Post-increment 'where'. - -2006-04-03 Lillian Angel - - PR classpath/24596 and PR classpath/26930 - * java/util/zip/ZipFile.java - (getInputStream): Override available function for - InflaterInputStream instance. - -2006-04-03 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: New file. - -2006-04-03 Tom Tromey - - * javax/security/auth/kerberos/ServicePermission.java: New file. - * javax/security/auth/kerberos/DelegationPermission.java: New file. - * javax/security/auth/kerberos/KerberosKey.java: New file. - * javax/security/auth/kerberos/KeyImpl.java: New file. - * javax/security/auth/kerberos/KerberosTicket.java: New file. - * javax/security/auth/kerberos/KerberosPrincipal.java: New file. - -2006-04-03 Sven de Marothy - - * gnu/java/awt/peer/gtk/GtkClipboard.java: Add support for - non-GtkImage images. - -2006-04-03 Mark Wielaard - - * lib/gen-classlist.sh.in: Use classes.tmp, not classes.2 - as temporary file name. - -2006-04-03 Dalibor Topic - - * INSTALL: Documented --with-glibj-zip option. - -2006-04-03 Dalibor Topic - - Fixed all pscan warnings. - - * native/jni/classpath/jcl.c (JCL_ThrowException), - native/jni/classpath/jcl.h (DBG), - native/target/generic/target_generic.h (TARGET_NATIVE_LAST_ERROR_STRING_FORMAT), - native/target/generic/target_generic_misc.h (TARGET_NATIVE_MISC_FORMAT_STRING0): - Use "%s" format in fprintf and snprintf explicitely when printing a single - string to prevent format string exploits. - - * native/jni/java-net/javanet.h (DBG): Removed duplicate - definition. Included jcl.h instead. - -2006-04-03 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java: Removed unused imports. - (provider): Made it protected. - (providerInstalled): New field. - (Main): Made it a 0-arguments constructor. - Removed throws clasue. - (main): Removed throws clause. - Call processArgs(args) after constructing instance. - Call teardown() before existing. - (processArgs): Added javadoc. - Reduced to throws Exception. - (start): Likewise. - (teardown): New method. - (setupCommonParams): Added javadoc. - Install designated provider if not already installed. - (installNewProvider): New method. - (setupSigningParams): Added javadoc. - Instantiate the KeyStore using type only. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: - Removed unused imports. - (start): Reduced to throws Exception. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: - Re-organized imports. - * gnu/java/security/key/KeyPairGeneratorFactory.java (getInstance): - Test ignoring case. - (getNames): Add "dsa" as an algorithm provided by this Factory. - (makeInstance): Construct IllegalArgumentException with 2 arguments. - -2006-04-03 Roman Kennke - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector): - Replaced g_free() with pango_item_free() to avoid problems - with the allocator. - -2006-04-03 Rafael H. Schloming - - Fixes bug #26668 - * java/util/logging/Level.java (parse): Document. - * java/util/logging/LogManager.java (rootLogger): Removed. - (LogManager): Just set loggers to new HashMap. - (getLogManager): Make synchronized. Create and init LogManager if it - doesn't exist yet. - (static): Removed block. - (MANAGER_PROPERTY): New private final string. - (makeLogManager): Use new property string, move warning to - createInstance() method. - (CONFIG_PROPERTY): New private final string. - (initLogManager): New method. - (addLogger): Use Logger.root, not rootLogger. - (findAncestor): Likewise. - (readConfiguration): Move warning to createInstance() method. - Add handlers directly to Logger.root. Warn about bad level values. - (getClassProperty): Use new locateClass() method. - (getInstanceProperty): Only catch specific newInstance Errors. - (createInstance): Make private and takes a string to use in warning - messages. Use new locateClass() method and generate appropriate - warning message. - (warn): New methods. - (locateClass): Locates a class through the context class loader and - system class loader as backup. - * java/util/logging/Logger.java (root): New static final field. - (Logger): Set parent to root. - (setParent): Directly check root field. - -2006-04-02 Andrew John Hughes - - * java/util/Collections.java: - (binarySearch(List, T)): Fixed signature. - (unmodifiableList(List)): Likewise. - (UnmodifiableList(List)): Fixed constructor. - (UnmodifiableRandomAccessList(List)): Likewise. - (unmodifiableMap(Map)): Fixed signature. - (UnmodifiableMap(Map)): Fixed constructor. - (unmodifiableSortedMap(Map)): Fixed signature. - (UnmodifiableSortedMap(Map)): Fixed constructor. - -2006-04-02 Andrew John Hughes - - * java/io/ObjectOutputStream.java: - (writeObject(Object)): Added enum support. - (writeClassDescriptor(ObjectStreamClass)): Likewise. - * java/io/ObjectStreamClass.java: - (isEnum()): New package-private method. - (setFlags(Class)): Added enum support. - * java/io/ObjectStreamConstants.java: - (SC_ENUM): Added. - -2006-04-02 Robert Schuster - - * javax/swing/text/Segment.java: - (setPosition): Make exception message more verbose. - * javax/swing/text/WrappedPlainView.java: - (insertUpdate): Removed unneeded repaint call. - (changeUpdate): Dito. - (removeUpdate): Dito. - (WrappedLine.determineNumLines): Do not return numLines, break - from loop if no new break point has been calculated. - (WrappedLine.updateDamage): Rewritten. - (WrappedLine.insertUpdate): Removed unneeded update code. - (WrappedLine.removeUpdate): Removed unneeded update code, added - comment. - -2006-04-02 Dalibor Topic - - * configure.ac (with-glibj-zip): Added new option. - - * examples/Makefile.am, - lib/Makefile.am, - tools/Makefile.am: Adapted build classpath to use glibj.zip, - in addition to classes in lib directory. - -2006-04-02 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/GRMIC.java, - tools/gnu/classpath/tools/giop/IorParser.java, - tools/gnu/classpath/tools/giop/grmic/CompilationError.java, - tools/gnu/classpath/tools/giop/grmic/Generator.java, - tools/gnu/classpath/tools/giop/grmic/GiopIo.java, - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, - tools/gnu/classpath/tools/giop/grmic/HashFinder.java, - tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, - tools/gnu/classpath/tools/rmi/RMIC.java, - tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, - tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java: Removed - linking exception from the licensing header. - * tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: - Added licensing header. - -2006-04-02 Mark Wielaard - - * tools/Makefile.am (bin_SCRIPTS): Renamed to jarsigner.sh. - (jarsigner): Removed. - -2006-04-02 Dalibor Topic - - * configure.ac: don't check for isnan function. - * native/fdlibm/fdlibm.h: Always use the isnan macro. - -2006-04-02 Raif S. Naffah - - * configure.ac: Added tools/jarsigner.sh to AC_CONFIG_FILES. - * tools/Makefile.am: Generate jarsigner shell script. - * tools/jarsigner.sh.in: New template. - * tools/.cvsignore: Added jarsigner.sh. - -2006-04-02 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: Use GPL. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java: Likewise. - Re-organised imports. - -2006-04-01 Bernhard Rosenkraenzer - - PR classpath/25924: - * java/awt/image/DirectColorModel.java (extractAndNormalizeSample): - Handle case where alpha==0. - -2006-04-02 Robert Schuster - - PR #26676 - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Added check to decrement pos not below zero, - changed '>' comparison to '>='. - * javax/swing/text/WrappedPlainView.java: - (lineHeight): New field. - (calculateBreakPosition): Throw InternalError in catch block, removed - unneeded brackets, use specific version of - Utilities.getTabbedTextOffset. - (paint): Set various properties neccessary for drawing. - (WrappedLine.paint): Removed code to set field of outer class. - (WrappedLine.modelToView): Removed unneeded expression from - if-statement. - (WrappedLine.viewToModel): Initialize end with endOffset - 1, removed - -1 from return statement, copy only a subset into the Segment, removed - special handling of mark value - just return it, simplified - incrementation of currLineStart. - (WrappedLine.insertUpdate): Recalculate numLines, report preference - change to parent view. - (WrappedLine.removeUpdate): Dito. - -2006-04-02 Robert Schuster - - * javax/swing/text/Segment.java: - (toString): Return empty string when array is null. - -2006-04-02 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (damageRange): Use SwingUtilities.computeUnion to avoid - unneccessary Rectangle instantiation. - -2006-04-01 Tom Tromey - - * java/security/cert/Certificate.java (serialVersionUID): Fixed. - -2006-04-01 Robert Schuster - - * javax/swing/text/CompositeView.java: Fixed copyright header. - * javax/swing/text/BoxView.java: Fixed copyright header. - * javax/swing/text/WrappedPlainView.java: Fixed copyright header. - * javax/swing/text/Utilities.java: Fixed copyright header. - -2006-04-01 Robert Schuster - - * javax/swing/text/CompositeView.java: - (modelToView): Throw BadLocationException when no child - view can be found, restructed to throw exception as early - as possible. - (viewToModel): Use mutable allocation as argument for viewToModel - call on child view. - * javax/swing/text/BoxView.java: - (getViewAtPoint): Call setBounds() r before method returns with - suitable child view. - * javax/swing/text/Utilities.java: - (getPositionBelow): Added try-catch-block around modelToView call, - added method return when BadLocationException was thrown. - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.viewToModel): Changed '<=' to '<' in if-expression, - added note about meaning of rect.x and rect.width, removed unneeded - checks, added code to not return the last possible document offset. - -2006-04-01 Robert Schuster - - * javax/swing/text/WrappedPlainView.java: - (WrappedLine.viewToModel): Change < to <= in if-statement, - removed addition of currLineStart to return value. - * javax/swing/text/BoxView.java: - (getViewAtPoint): Use copy instead of r for method call - which modifies the second argument. - -2006-04-01 Mark Wielaard - - Fixes PR26973 - * java/util/jar/Attributes.java: Fully qualify java.util.Map. - -2006-03-31 Tom Tromey - - * lib/split-for-gcj.sh: Updated for multi-field format. - * lib/Makefile.am (CLEANFILES): Added classes.2. - * lib/gen-classlist.sh.in (GCJ): Removed. Create classes.1 and - classes.2 using multiple fields. - -2006-03-31 Audrius Meskauskas - - * javax/swing/JTable.java (columnSelectionChanged): - Removed print statement. - * javax/swing/DefaultListSelectionModel.java - (addSelectionInterval, removeSelectionInterval): - Fire the difference between selection. (setLeadSelectionIndex): - Fire the difference and mark current and previous lead - selection indexes for repaint. - -2006-03-31 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: Eliminate - unnecessary copying. - * javax/imageio/plugins/jpeg/JPEGQTable.java: Likewise. - -2006-03-31 Lillian Angel - - * java/awt/Component.java - (translateEvent): oldKey should be the value of the - key char. - -2006-03-31 Audrius Meskauskas - - * javax/swing/JTable.java (columnSelectionChanged): - Treat second repaint parameter as width. - -2006-03-31 Lillian Angel - - PR classpath/26924 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java - (realize): New native function. - * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: - Added new function declaration. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c - (realize): New function. - -2006-03-31 Robert Schuster - - * javax/swing/text/GapContent.java: - (replace): Move all Position instances from gap's end to - it's start before increasing the gap start. - * javax/swing/plaf/basic/BasicTextAreaUI.java: - (propertyChanged): Update the view only instead of - indicating a document change. - -2006-03-31 Roman Kennke - - * javax/swing/JTextField.java - (fireActionPerformed): Put the textfields text in the action - instead of the action name. - -2006-04-01 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (setupCommonParams): - Check for null jar-file argument. - (setupSigningParams): Check for null alias argument. - -2006-03-31 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Split up in two cases, depending on the - optimizedDrawingEnabled flag. - (paintChildrenWithOverlap): New method. Paints children when - not optimizedDrawingEnabled. This implements better painting - algorithm for overlapping components, so that the painted - regions are minimized. - (paintChildrenOptimized): New method. Paints children when - when optimizedDrawingEnabled. This implements a painting - algorithm that is optimized for the case when all children - are guaranteed to be tiled. - -2006-03-31 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/SFHelper.java (updateEntry): Use - Attributes.putValue(String,String). - (finishSigning): Likewise. - * gnu/java/util/jar/JarUtils.java (MANIFEST_VERSION): New constant. - (SIGNATURE_VERSION): Likewise. - (readSFManifest): Use local string constant. - (readMainSection): Likewise. - (readVersionInfo): Likewise. - * java/util/jar/Attributes.java (MANIFEST_VERSION): - Redefined using JarUtils constant. - (SIGNATURE_VERSION): Likewise. - (putValue(Name,String)): Made it private. - -2006-03-31 Audrius Meskauskas - - * javax/swing/DefaultListSelectionModel.java (fireDifference): - New method. (clearSelection): Rewritten. (setSelectionInterval): - Fire the difference between current and new selection. - * javax/swing/JTable.java (columnSelectionChanged, valueChanged): - Only repaint the region, where selection has been changed. - * javax/swing/plaf/basic/BasicTableUI.java - (TableAction.actionPerformed): Do not change the column selection - when only row selection change is wanted (and in reverse) and - do not call the repaint() here. - -2006-03-31 David Gilbert - - Fixes bug #26951 - * javax/swing/DefaultComboBoxModel.java - (DefaultComboBoxModel(Vector)): Call getSize() instead of - vector.size(), - (addElement): Call list.addElement() rather than list.add(), and only - update selected item if it is currently null, - (removeElementAt): Update selected item, then remove the element. - -2006-03-31 David Gilbert - - Fixes bug #26955 - * java/awt/geom/Point2D.java - (distanceSq(double, double)): Fixed order of arguments, - (distanceSq(Point2D)): Likewise, - (distance(double, double)): Likewise, - (distance(Point2D)): Likewise. - -2006-03-30 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGQTable.java: New file. - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java - (ACChrominanceLengths, ACChrominanceValues, ACLuminanceLengths, - ACLuminanceValues, DCChrominanceLengths, DCChrominanceValues, - DCLuminanceLengths, DCLuminanceValues): Remove fields. - -2006-03-30 Audrius Meskauskas - - * javax.swing.JTable (constructor): Initialize column - model column margin and table row margin before setting the - table column model. (initialiseLocalVars): Do not call - setIntercellSpacing. - -2006-03-30 Chris Burdess - - * javax/xml/datatype/DatatypeFactory.java (newDurationDayTime): Fix - method signature. - * javax/xml/validation/SchemaFactoryLoader.java: New file. - -2006-03-30 Mark Wielaard - - PR 26848 - * java/awt/Window.java (dispatchEventImpl): On ComponentEvents - adjust bounds. On resize invalidate and validate container. - Always pass on ComponentEvents to Container super class. - * gnu/java/awt/peer/gtk/GtkFramePeer.java (setBounds): Adjust for - menuBar and pass to GtkWindowPeer super class. - (postConfigureEvent): Adjust menu bar width. Adjust y and height - bounds and pass to GtkWindowPeer super class. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java (x, y, width, height): - New fields for local bounds. - (getX, getY): New methods. - (getWidth): Don't call into awtComponent. - (getHeight): Likewise. - (create): Cache local bounds. - (setLocation): Documented, made protected and just call - nativeSetLocation. - (setLocationUnlocked): Removed unused method. - (setBoundsUnlocked): Likewise. - (setBounds): Check whether bounds actually changed and cache local - bounds. - (setSize): Documented and made protected. - (setResizable): Documented and cache local bounds. - (postConfigureEvent): Update local bounds. Don't call awtComponent - directly but post ComponentEvents. - (show): Cache local bounds. - (getBounds): Override to return cached bounds. - -2006-03-30 Lillian Angel - - * gnu/java/awt/peer/gtk/GdkGraphics.java - (drawImage): Added check to prevent NPE. - (drawImage): Likewise. - (drawImage): Likewise. - * java/awt/Choice.java - (dispatchEventImpl): New function. selectedIndex was - not being updated properly otherwise. - -2006-03-30 Roman Kennke - - * javax/swing/JTabbedPane.java - (removeTabAt): Removed debug code. - -2006-03-30 Roman Kennke - - PR 26045 - * javax/swing/plaf/basic/BasicTextUI.java - (installKeyboardActions): Simply call getKeymap() and install this. - (createKeymap): Reimplemented to fetch a keymap from the UIManager. - -2006-03-30 Roman Kennke - - * javax/swing/JTabbedPane.java - (removeTabAt): Adjust selection correctly when removing a tab - before the selected tab. Also remove the component from the - container, not only the tab object. Repaint and revalidate the - component after the removal. - (removeAll): Set selection to -1 before removing the tabs. - -2006-03-29 Andrew John Hughes - - * java/io/ObjectInputStream.java: - (parseContent(byte)): Added enum support. - * java/io/ObjectStreamConstants.java: - (TC_ENUM): Added. - (TC_MAX): Changed to new maximum, TC_ENUM. - -2006-03-29 Lillian Angel - - Partial fix for bug #26929 - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (updateComponent): Removed. We want to clear the panel - before painting. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Fixed typo. - Should set the background to the saved background color. - -2006-03-29 Mark Wielaard - - Partial fix for bug #26848 (pack). - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (setVisible): - Always show instances of Window. - -2006-03-29 David Gilbert - - * javax/swing/JSlider.java - (setPaintLabels): Only create standard labels if labelTable is null, - * javax/swing/plaf/basic/BasicSliderUI.java - (PropertyChangeHandler.propertyChange): Recalculate geometry for - "paintTicks" property change, - (calculateThumbSize): Updated API docs, - (calculateContentRect): Likewise, - (calculateTrackBuffer): Take into account the lowest and highest - labels when calculating buffer space, - (calculateTrackRect): Include labels, if visible, in the calculation of - the trackRect position, - (calculateTickRect): Height is zero if ticks are not painted, - (calculateLabelRect): Use max dimensions of actual labels, - (getWidthOfHighValueLabel): Use preferred size, - (getWidthOfLowValueLabel): Likewise, - (getHeightOfHighValueLabel): Likewise, - (getHeightOfLowValueLabel): Likewise, - (drawInverted): Just return slider setting, - (getHighestValueLabel): Updated API docs, - (paintTicks): Removed redundant (and buggy) code, replaced with calls - to xPositionForValue() and yPositionForValue(), - (paintHorizontalLabel): Removed full qualification of class name, - (paintVerticalLabel): Likewise, - (xPositionForValue): Reimplemented, - (yPositionForValue): Reimplemented, - * javax/swing/plaf/metal/MetalSliderUI.java - (paintTrack): Made track one pixel longer. - -2006-03-29 Tom Tromey - - PR gcc/26901: - * tools/Makefile.am (JCOMPILER): Added encoding options. - * examples/Makefile.am (JCOMPILER): Added encoding options. - -2006-03-29 Gary Benson - - Partial fix for PR classpath/24895 - * java/io/FilePermission.java (implies): Canonicalize paths. - -2006-03-29 Robert Schuster - - PR 26888 - * javax/swing/text/GapContent.java: - (replace): Added call to resetMarksAtZero. - -2006-03-29 Roman Kennke - - PR 23527 - * javax/swing/plaf/basic/BasicMenuItemUI.java - (cachedRect): New field. - (BasicMenuItemUI): Initialize cachedRect field. - (getPreferredMenuItemSize): Use layoutMenuItem() helper method - to determine layout. Store maximum accelerator and text width - in client properties of parent to allow correct alignment - of accelerators among menu items of one menu. - (paintMenuItem): Outsourced menu item layout into layoutMenuItem - method. Align accelerators according to the values calculated - in getPreferredMenuItemSize. - (getAcceleratorString) New helper method. - (layoutMenuItem): New helper method. - -2006-03-29 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java: Rewritten. - * gnu/java/rmi/activation/BidiTable.java: Rewritten. - * gnu/java/rmi/dgc/LeaseRenewingTask.java (constructor, sheduleLeases): - Avoid NPEs. - * gnu/java/rmi/server/ActivatableServerRef.java (getRefClass, - readExternal, writeExternal): New methods. - * gnu/java/rmi/server/UnicastRef.java (invokeCommon): Splitten into - two stages, invokeCommon(Remote, ...) and - invokeCommen(UnicastConnection, ...). - * java/rmi/server/RemoteObject.java (readObject, writeObject): Expect - also the ActivatableRef. toString(): Documented. - * gnu/java/rmi/server/ActivatableRef.java, - tools/gnu/classpath/tools/rmi/Persistent.java, - tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java, - tools/gnu/classpath/tools/rmi/PersistentHashTable.java, - tools/gnu/classpath/tools/rmi/REGISTRY.java, - tools/gnu/classpath/tools/rmi/REGISTRY.txt, - tools/gnu/classpath/tools/rmi/RMID.java, - tools/gnu/classpath/tools/rmi/RMID.txt, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java, - tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java, - tools/gnu/classpath/tools/rmi/registry/package.html, - tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl.java, - tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: - New files. - * tools/README: Documented. - * NEWS: Added entry about the activation. - -2006-03-29 Roman Kennke - - PR 23527 - * javax/swing/plaf/basic/BasicMenuItemUI.java - (viewRect): New field. - (textRect): New field. - (accelRect): New field. - (iconRect): New field. - (arrowIconRect): New field. - (checkIconRect): New field. - (BasicMenuItemUI): Initialize new fields. - (paintMenuItem): Rewritten to correctly layout and paint - the menu item in a more straightforward way. Use cached rectangle - objects for layout. - (paintAccelerator): Pulled inside the paintMenuItem method. - -2006-03-29 Audrius Meskauskas - - * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav: - Do not use initCause with UnexpectedException. - * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: - Likewise. - -2006-03-29 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (setCursorID): Removed unused static variable. - -2006-03-29 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java: Reformatted. - -2006-03-29 Mark Wielaard - - Fixes bug #26527 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetSetCursorUnlocked): Call gdk_flush(). - -2006-03-28 Roman Kennke - - * javax/swing/UIManager.java - (installLookAndFeel): Implemented. - (setInstalledLookAndFeels): Implemented. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Paint gradient only when the background color - is not a UIResource and if the button is neither armed nor - pressed and if the button is contentAreaFilled. - -2006-03-28 Roman Kennke - - * javax/swing/JLayeredPane.java - (addImpl): Repaint added component. - -2006-03-28 Ito Kazumitsu - - * java/util/regex/Matcher.java: Reverted. - -2006-03-28 Roman Kennke - - * javax/swing/text/AsyncBoxView.java - (setEstimatedMajorSpan): Made method protected. - (getEstimatedMajorSpan): Made method protected. - * javax/swing/text/BoxView.java - (flipEastAndWestAtEnds): Fixed typo. - * javax/swing/text/InternationalFormatter.java - (getActions): Made method protected. - * javax/swing/text/Position.java - (Bias): Made class final. - * javax/swing/text/html/HTML.java - (MEDIA): Made field package private. Not specified. - (NOBR): Made field package private. Not specified. - * javax/swing/text/html/NullView.java - Made class package private. - * javax/swing/text/html/parser/Entity.java - Made class non-serializable as specified. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Don't paint gradient if the background color is - no UIResource. Removed double getModel() call. Don't check for - OceanTheme. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/basic/BasicMenuItemUI.java - (paint): Call paintMenuItem with the selectionBackground as - parameter. - (paintBackground): Fixed the condition and color for the background - painting. - -2006-03-28 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (tabsOpaque): New field. - (paintLeftTabBorder): Paint some parts only when the tabs are - opaque. Determine the tab background using the paintLeftTabBorder() - helper method. - (paintRightTabBorder): Likewise. - (installDefaults): Fetch tabsOpaque property from the UIDefaults. - -2006-03-27 Tom Tromey - - PR classpath/25189: - * java/lang/Enum.java (valueOf): Ensure that the named field - is an enum constant. - (compareTo): Check class of enum. - -2006-03-27 Tom Tromey - - * java/lang/reflect/ParameterizedType.java: Javadoc fix. - -2006-03-27 Tom Tromey - - * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isBridge): Likewise. - (isSynthetic): Likewise. - (isVarArgs): Likewise. - * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): - New constant. - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method. - (isSynthetic): Likewise. - (isEnumConstant): Likewise. - * vm/reference/java/lang/reflect/Constructor.java - (getModifiersInternal): Renamed from getModifiers. - (getModifiers): New method - (CONSTRUCTOR_MODIFIERS): New constant. - (isSynthetic): New method. - (isVarArgs): Likewise. - * java/lang/reflect/Member.java (isSynthetic): New method. - -2006-03-28 Tom Tromey - - * java/net/Proxy.java (TYPE): Added missing ";". - -2006-03-27 Andrew John Hughes - - * java/math/RoundingMode.java: - Fixed serialization UID. - * java/net/Proxy.java: - (Type): Likewise. - -2006-03-27 Andrew John Hughes - - * java/io/CharArrayWriter.java: - (append(char)): Documented. - (append(CharSequence)): Likewise. - (append(CharSequence,int,int)): Likewise. - -2006-03-27 Jeroen Frijters - - * vm/reference/java/lang/reflect/Constructor.java - (getTypeParameters): Check return value of getSignature for null. - * vm/reference/java/lang/reflect/Method.java - (getTypeParameters): Check return value of getSignature for null. - -2006-03-27 Andrew John Hughes - - * java/rmi/activation/ActivationGroup_Stub.java: - Made final. - -2006-03-27 Tom Tromey - - * java/io/CharArrayWriter.java (append): New overloads. - -2006-03-27 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeDispose): - Added check for colormap. Prevents assertion error. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeCopyState): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage): - Likewise. - (Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked): - Likewise. - -2006-03-27 Dalibor Topic - - * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Use - AC_MSG_ERROR instead of echoing the error message - that no compiler has been found manually. - -2006-03-27 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Use simple drawImage() method instead of the - scaling version. - -2006-03-27 Robert Schuster - - * javax/swing/text/PlainView.java: - (drawLine): Use 'endOffset' instead of 'selectionEnd' - for painting the selected line. - -2006-03-27 David Gilbert - - * javax/swing/plaf/basic/BasicSliderUI.java - (getThumbSize): Removed TODO and updated API docs. - -2006-03-27 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked): Word selection rewritten. - (paint): Draw line inside the bounding rectangle. - (damage): Retrieve caret height from line height. - -2006-03-28 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (processArgs): Check - for null args. - Check for -help option. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Added -help option. - -2006-03-27 Roman Kennke - - * javax/swing/text/FieldView.java - (getPreferredSpan): Don't include trailing newline in - calculations. - * javax/swing/text/PlainView.java - (drawLine): Don't include trailing newline. - (determineMaxLineLength): Don't include trailing newline. - (getLineBuffer): Made method final. - -2006-03-27 David Gilbert - - * javax/swing/JSlider.java - (AccessibleJSlider.AccessibleJSlider): Minor API doc edit, - (AccessibleJSlider.getAccessibleRole): Removed declaration of - NotImplementedException, - (AccessibleJSlider.getAccessibleValue): Updated API docs. - -2006-03-26 Andrew John Hughes - - * java/lang/ProcessBuilder.java: - Made final. - -2006-03-26 Andrew John Hughes - - * gnu/java/net/protocol/http/Headers.java: - Match layout of file on HEAD. - * gnu/javax/swing/text/html/parser/htmlValidator.java: - Likewise. - * java/awt/datatransfer/DataFlavor.java - Likewise. - -2006-03-26 Andrew John Hughes - - * gnu/java/security/jce/hash/HavalSpi.java, - * gnu/java/security/jce/hash/MD2Spi.java, - * gnu/java/security/jce/hash/MD4Spi.java, - * gnu/java/security/jce/hash/MD5Spi.java, - * gnu/java/security/jce/hash/MessageDigestAdapter.java, - * gnu/java/security/jce/hash/RipeMD128Spi.java, - * gnu/java/security/jce/hash/RipeMD160Spi.java, - * gnu/java/security/jce/hash/Sha160Spi.java, - * gnu/java/security/jce/hash/Sha256Spi.java, - * gnu/java/security/jce/hash/Sha384Spi.java, - * gnu/java/security/jce/hash/Sha512Spi.java, - * gnu/java/security/jce/hash/TigerSpi.java, - * gnu/java/security/jce/hash/WhirlpoolSpi.java, - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, - * gnu/java/security/jce/sig/DSSRawSignatureSpi.java, - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, - * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, - * gnu/java/security/jce/sig/SignatureAdapter.java, - * gnu/java/security/key/IKeyPairCodec.java, - * gnu/java/security/key/IKeyPairGenerator.java, - * gnu/java/security/key/KeyPairGeneratorFactory.java, - * gnu/java/security/key/dss/DSSKey.java, - * gnu/java/security/key/dss/DSSKeyPairRawCodec.java, - * gnu/java/security/key/dss/DSSPrivateKey.java, - * gnu/java/security/key/dss/DSSPublicKey.java, - * gnu/java/security/key/dss/FIPS186.java, - * gnu/java/security/key/rsa/GnuRSAKey.java, - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java, - * gnu/java/security/key/rsa/GnuRSAPublicKey.java, - * gnu/java/security/sig/ISignature.java, - * gnu/java/security/sig/ISignatureCodec.java, - * gnu/java/security/sig/dss/DSSSignature.java, - * gnu/java/security/sig/dss/DSSSignatureRawCodec.java, - * gnu/java/security/sig/rsa/RSAPSSSignature.java, - * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, - * gnu/java/security/util/Util.java: - Remove CVS revision tags. - -2006-03-26 Tom Tromey - - * java/io/InputStream.java (InputStream): Implements Closeable. - -2006-03-26 Ito Kazumitsu - - * gnu/regexp/CharIndexed.java(setLastMatch, getLastMatch, getAnchor): - New methods. - * gnu/regexp/CharIndexedCharArray.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedInputStream.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedString.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/CharIndexedStringBuffer.java(setLastMatch, getLastMatch, - getAnchor): New methods. - * gnu/regexp/REMatch.java(start1): New field. - * gnu/regexp/RE.java(initialize): Added support for \z and \G, - (match): set the starting position to start1[] instead of start[], - (getMatchImpl): Set the found REMatch to the input, - (makeCharIndexed): Made public. - * gnu/regexp/RETokenEndOfPreviousMatch.java: New file. - * gnu/regexp/RETokenEndSub.java(matchThis, findMatch): - set the value of start[] copying from start1[]. - * gnu/regexp/RETokenLookBehind.java(matchThis): Added the settings of - offset. - * java/util/regex/Matcher.java(inputCharIndexed): New field - to be used as a parameter of the RE#getMatch. - -2006-03-26 Audrius Meskauskas - - * gnu/java/rmi/activation/DefaultActivationGroup.java: - Documented the default jre spawning strategy (none). - * java/rmi/activation/ActivationGroup.java (currentGroupId, - getSystem): Obtain the acticivation system from the - DefaultActivationSystem. - -2006-03-26 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/Main.java (setupSigningParams): - Ask user for keystore password if one was not provided. - -2006-03-26 Raif S. Naffah - - * tools/README: Added Security tools section. - Documented the jarsigner tool. - -2006-03-25 David Gilbert - - * javax/swing/JScrollBar.java - (AccessibleJScrollBar.getAccessibleStateSet): Implemented, - (AccessibleJScrollBar.getAccessibleRole): Likewise, - (AccessibleJScrollBar.getAccessibleValue): Likewise, - (AccessibleJScrollBar.getCurrentAccessibleValue): Likewise, - (AccessibleJScrollBar.setCurrentAccessibleValue): Likewise, - (AccessibleJScrollBar.getMinimumAccessibleValue): Likewise, - (AccessibleJScrollBar.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Updated API docs. - -2006-03-25 Tom Tromey - - * .externalToolBuilders/CreateLocaleData.launch: Run if resource files - change or if generator script changes. - -2006-03-25 Tom Tromey - - * javax/naming/ldap/StartTlsRequest.java: New file. - * javax/naming/ldap/StartTlsResponse.java: New file. - -2006-03-25 Olivier Jolly - - * java/net/URLClassLoader.java (FileURLLoader.getResource): Added test - to validate all components of a resource path. - (FileURLLoader.walkPathComponents): Helper which ensures that we are - allowed to walk through every component of a resource path. - -2006-03-25 Michael Koch - - * NEWS: Added item for CLDR 1.3 update. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_ar_IN.properties, - resource/gnu/java/locale/LocaleInformation_ar_IQ.properties, - resource/gnu/java/locale/LocaleInformation_ar_KW.properties, - resource/gnu/java/locale/LocaleInformation_ar_LY.properties, - resource/gnu/java/locale/LocaleInformation_mn_MN.properties, - resource/gnu/java/locale/LocaleInformation_uz_AF.properties: - Removed locales. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_az.properties, - resource/gnu/java/locale/LocaleInformation_bs.properties, - resource/gnu/java/locale/LocaleInformation_byn.properties, - resource/gnu/java/locale/LocaleInformation_byn_ER.properties, - resource/gnu/java/locale/LocaleInformation_el_CY.properties, - resource/gnu/java/locale/LocaleInformation_gez.properties, - resource/gnu/java/locale/LocaleInformation_gez_ER.properties, - resource/gnu/java/locale/LocaleInformation_gez_ET.properties, - resource/gnu/java/locale/LocaleInformation_haw.properties, - resource/gnu/java/locale/LocaleInformation_haw_US.properties, - resource/gnu/java/locale/LocaleInformation_kok.properties, - resource/gnu/java/locale/LocaleInformation_kok_IN.properties, - resource/gnu/java/locale/LocaleInformation_sid.properties, - resource/gnu/java/locale/LocaleInformation_sid_ET.properties, - resource/gnu/java/locale/LocaleInformation_sl_SI.properties, - resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_sr_BA_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sr_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_syr.properties, - resource/gnu/java/locale/LocaleInformation_syr_SY.properties, - resource/gnu/java/locale/LocaleInformation_tig.properties, - resource/gnu/java/locale/LocaleInformation_tig_ER.properties, - resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties, - resource/gnu/java/locale/LocaleInformation_uz_Arab.properties, - resource/gnu/java/locale/LocaleInformation_uz_Latn.properties, - resource/gnu/java/locale/LocaleInformation_wal.properties, - resource/gnu/java/locale/LocaleInformation_wal_ET.properties: - New locales. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_kn.properties, - resource/gnu/java/locale/LocaleInformation_kn_IN.properties, - resource/gnu/java/locale/LocaleInformation_ko.properties, - resource/gnu/java/locale/LocaleInformation_sl.properties, - resource/gnu/java/locale/LocaleInformation_so.properties, - resource/gnu/java/locale/LocaleInformation_so_DJ.properties, - resource/gnu/java/locale/LocaleInformation_so_ET.properties, - resource/gnu/java/locale/LocaleInformation_so_SO.properties, - resource/gnu/java/locale/LocaleInformation_sr.properties: - Random fixes I forgot to commit before. - -2006-03-25 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_ar_JO.properties, - resource/gnu/java/locale/LocaleInformation_ar_QA.properties, - resource/gnu/java/locale/LocaleInformation_ar_SA.properties, - resource/gnu/java/locale/LocaleInformation_ar_SY.properties, - resource/gnu/java/locale/LocaleInformation_ar_TN.properties, - resource/gnu/java/locale/LocaleInformation_ar_YE.properties, - resource/gnu/java/locale/LocaleInformation_as_IN.properties, - resource/gnu/java/locale/LocaleInformation_be_BY.properties, - resource/gnu/java/locale/LocaleInformation_bn_IN.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_en_IN.properties, - resource/gnu/java/locale/LocaleInformation_en_PK.properties, - resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, - resource/gnu/java/locale/LocaleInformation_es_PY.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fa_IR.properties, - resource/gnu/java/locale/LocaleInformation_gu_IN.properties, - resource/gnu/java/locale/LocaleInformation_hi_IN.properties, - resource/gnu/java/locale/LocaleInformation_ja_JP.properties, - resource/gnu/java/locale/LocaleInformation_kn_IN.properties, - resource/gnu/java/locale/LocaleInformation_mr_IN.properties, - resource/gnu/java/locale/LocaleInformation_or_IN.properties, - resource/gnu/java/locale/LocaleInformation_pa.properties, - resource/gnu/java/locale/LocaleInformation_pa_IN.properties, - resource/gnu/java/locale/LocaleInformation_ps_AF.properties, - resource/gnu/java/locale/LocaleInformation_ru_RU.properties, - resource/gnu/java/locale/LocaleInformation_sa.properties, - resource/gnu/java/locale/LocaleInformation_sa_IN.properties, - resource/gnu/java/locale/LocaleInformation_ta_IN.properties, - resource/gnu/java/locale/LocaleInformation_te_IN.properties: - Updated currency formats. - -2006-03-25 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (getAttributeContext): Made method final. - (getCurrentWriter): Likewise. - (getEndPosition): Likewise. - (getProperty): Likewise. - (getStartPosition): Likewise. - (putProperty): Likewise. - (readLock): Likewise. - (readUnlock): Likewise. - (writeLock): Likewise. - (writeUnlock): Likewise. - -2006-03-25 Roman Kennke - - * javax/swing/InputMap.java - (allKeys): Check if parent keys is null. - * javax/swing/KeyboardManager.java - (registerEntireMap): Also register map's parent keys. - * javax/swing/plaf/metal/MetalRootPaneUI.java - (propertyChange): Also call super.propertyChange(). - -2006-03-25 Raif S. Naffah - - * tools/gnu/classpath/tools/jarsigner/HashUtils.java: New file. - * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/Main.java (Main): Likewise. - * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. - * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Likewise. - -2006-03-25 Raif S. Naffah - - * gnu/java/util/jar/JarUtils.java: New file. - * java/util/jar/Manifest.java (CRLF): Removed. - (read_main_section): Likewise. - (read_version_info): Likewise. - (expect_header(String,BufferedReader)): Likewise. - (expect_header(String,BufferedReader,String)): Likewise. - (read_header_value): Likewise. - (read_attributes): Likewise. - (read_attribute): Likewise. - (read_individual_sections): Likewise. - (read_section_name): Likewise. - (write_main_section): Likewise. - (write_version_info): Likewise. - (write_header): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (read): use JarUtils. - (write): Likewise. - -2006-03-25 Raif S. Naffah - - * gnu/java/security/pkcs/SignerInfo.java (log): New field. - (DEBUG): Removed. - (debug): Likewise. - (SignerInfo(BERReader)): Updated javadoc. - Use JDK logging. - (SignerInfo(X500Principal,BigInteger,OID,byte[],OID,byte[],byte[])): - New constructor. - (encode): New method. - * gnu/java/security/pkcs/PKCS7SignedData.java (log): New field. - (PKCS7_DATA): Removed. - (DEBUG): Likewise. - (debug): Likewise. - (PKCS7SignedData(BERReader)): Updated javadoc. - Use JDK logging. - (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): New - constructor. - (encode): New method. - * gnu/java/security/pkcs/PKCS7Data.java: New file. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java (log): New field. - (encodePrivateKey): Encode x (private MPN) as an OCTET STRING. - (decodePrivateKey): Decode x from an OCTET STRING. - * gnu/java/security/key/dss/DSSPublicKey.java (str): New field. - (toString): New method. - * gnu/java/security/key/dss/DSSPrivateKey.java (DEBUG): New field. - (str): Likewise. - (toString): New method. - * gnu/java/security/key/dss/DSSKey.java (str): New Field. - (toString): New method. - * gnu/java/security/provider/DSAParameterGenerator.java: Removed. - -2006-03-25 Roman Kennke - - * java/util/GregorianCalender.java - (computeTime): Fix comparison to correctly calculate the - calendar. - -2006-03-25 Wolfgang Baer - - Fixes bug #26837 - * java/awt/Window.java: - (setFocusCycleRoot): New overriden method. - (isFocusCycleRoot): Likewise. - (getFocusCycleRootAncestor): Likewise. - * java/awt/Container.java: - (getFocusTraversalPolicy): Check also for anchestor == null. - -2006-03-25 Mark Wielaard - - Fixes bug #26863 reported by John K Peterson - * gnu/java/util/prefs/NodeWriter.java (writeRoot): Don't immediately - close root tag. - -2006-03-24 Tom Tromey - - * javax/imageio/stream/ImageOutputStreamImpl.java (writeBytes): - Rewrote. - (writeChar): Removed useless cast. - (writeChars(String)): Implemented. - (writeDouble): Rewrote. - (writeFloat): Likewise. - (writeUTF): Implemented. - * javax/imageio/stream/ImageInputStreamImpl.java (byteOrder): Default - to big endian. - -2006-03-24 Roman Kennke - - * javax/swing/JButton.java - (def): Replaced field with defaultCapable field. - (is_def): Removed field. - (JButton): Initialize defaultCapable with true. - (isDefaultButton): Documented and implemented method by querying - the button's root pane if present. - (isDefaultCapable): Changed def field to defaultCapable. - Added documentation. - (paramString): Call isDefaultButton() instead of accessing field, - which got removed. - (setDefaultCapable): Changed def field to defaultCapable. - Added documentation. - * javax/swing/JRootPane.java - (setDefaultButton): Only change the default button if the - new button is defaultCapable. - * javax/swing/plaf/basic/BasicRootPaneUI.java - (DefaultPressAction): New class. - (DefaultReleaseAction): New class. - (installKeyboardActions): Implemented. - (uninstallKeyboardActions): Implemented. - (propertyChange): Implemented. - * javax/swing/plaf/metal/MetalBorders.java - (ButtonBorder.paintBorder): 'Outsourced' default theme - painting to paintDefaultButtonBorder(). - (ButtonBorder.paintDefaultButtonBorder): New helper method - to paint the border in the default theme. This also fixes - painting of the border for default buttons. - (ButtonBorder.paintOceanButtonBorder): Added support for - default button painting. Fixed border for pressed/default state. - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Only paint gradient when in OceanTheme and when the - button is not armed. - -2006-03-24 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java: - Inherit from Activator. - -2006-03-24 Audrius Meskauskas - - * gnu/java/rmi/activation/DefaultActivationGroup.java (newInstance): - Print debug message if debug flag is set. - * gnu/java/rmi/activation/DefaultActivationSystem.java: Rewritten. - * gnu/java/rmi/server/ActivatableServerRef.java (activate): assign - detail, do not call iniCause(). (exportClass): New method. - * gnu/java/rmi/server/CombinedClassLoader.java (constructor): - Ignore null (bootstrap) class loader. - * gnu/java/rmi/server/UnicastServerRef.java (methods, skel, stub, - buildMethodHash, findStubSkelClass, getHelperClass): Changed - visibility to protected. - * java/rmi/activation/Activatable.java (export, register): Rewritten. - (toStub): New method. - * java/rmi/activation/ActivationGroup.java (getSystem): Rewritten. - * java/rmi/activation/ActivationSystem.java (SYSTEM_PORT): - Explained property java.rmi.activation.port. - -2006-03-24 Tom Tromey - - * .externalToolBuilders/CreateLocaleData.launch: Updated. - * gnu/java/locale/.cvsignore: New file. - * lib/Makefile.am (LocaleData.java): Put in gnu/java/locale. - * java/util/Locale.java (getAvailableLocales): Clone result. - (getISOCountries): Likewise. - (getISOLanguages): Likewise. - * scripts/generate-locale-list.sh: Make class public. Added new - array. - * gnu/java/locale/LocaleHelper.java (getCollatorLocales): New method. - (getLocaleCount): Likewise. - * java/text/Collator.java (getInstance): Javadoc typo fix. - (getAvailableLocales): Wrote. - -2006-03-24 Roman Kennke - - * javax/swing/JTabbedPane.java - (getSelectedComponent): Return null when no component is - selected. - -2006-03-24 Mark Wielaard - - * NEWS: Add cursor and selection improvements. - -2006-03-23 David Gilbert - - * java/awt/Component.java - (getAccessibleName): Just return accessibleName, - * javax/swing/AbstractButton.java - (getAccessibleStateSet): Mark as stub, - (getAccessibleName): Implemented, - (getAcessibleIcon): Mark as stub, - (getAccessibleRelationSet): Likewise, - (getAccessibleAction): Likewise, - (getAccessibleValue): Likewise, - (getAccessibleActionCount): Likewise, - (getAccessibleActionDescription): Likewise, - (doAccessibleAction): Likewise, - (getCurrentAccessibleValue): Likewise, - (setCurrentAccessibleValue): Likewise, - (getMinimumAccessibleValue): Likewise, - (getMaximumAccessibleValue): Likewise, - (getAccessibleText): Likewise, - (getIndexAtPoint): Likewise, - (getCharacterBounds): Likewise, - (getCharCount): Likewise, - (getCaretPosition): Likewise, - (getAtIndex): Likewise, - (getAfterIndex): Likewise, - (getBeforeIndex): Likewise, - (getCharacterAttribute): Likewise, - (getSelectionStart): Likewise, - (getSelectionEnd): Likewise, - (getSelectedText): Likewise, - (getTextRectangle): Likewise, - (setIconTextGap): Fire PropertyChangeEvent, not state changed, - (getIconTextGap): Added @since 1.4, - (setContentAreaFilled): Reordered code to make event sequence match - reference implementation, - * javax/swing/JButton.java - (getSelectedObjects): Removed, - *javax/swing/JComponent.java - (getAccessibleName): Call super. - -2006-03-23 David Gilbert - - * javax/swing/JProgressBar.java - (AccessibleJProgressBar.getAccessibleStateSet): Implemented, - (AccessibleJProgressBar.getAccessibleRole): Added API docs, - (AccessibleJProgressBar.getAccessibleValue): Implemented, - (AccessibleJProgressBar.getCurrentAccessibleValue): Likewise, - (AccessibleJProgressBar.setCurrentAccessibleValue): Likewise, - (AccessibleJProgressBar.getMinimumAccessibleValue): Likewise, - (AccessibleJProgressBar.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Added API docs. - -2006-03-23 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (FocusListener.focusLost): Put current selection into the system - clipboard. - -2006-03-23 Robert Schuster - - * java/awt/Component.java: - (processMouseEvent): Remove call to consume event. - (dispatchEventImpl): Handle specific events first, do focus request - only when mouse event was not yet consumed. - * javax/swing/text/DefaultCaret.java: - (mousePressed): Rewritten. - (setDot): Changed order of operations. - (moveDot): Dito. - -2006-03-23 David Gilbert - - * javax/swing/JComponent.java - (AccessibleJComponent.changeSupport): Removed field, - (AccessibleJComponent.AccessibleJComponent): Updated for removed field, - (AccessibleJComponent.addPropertyChangeListener): Call super, - (AccessibleJComponent.removePropertyChangeListener): Likewise, - * javax/swing/JSlider.java - (AccessibleJSlider.getAccessibleStateSet): Implemented, - (AccessibleJSlider.getAccessibleRole): Likewise, - (AccessibleJSlider.getAccessibleValue): Likewise, - (AccessibleJSlider.getCurrentAccessibleValue): Likewise, - (AccessibleJSlider.setCurrentAccessibleValue): Likewise, - (AccessibleJSlider.getMinimumAccessibleValue): Likewise, - (AccessibleJSlider.getMaximumAccessibleValue): Likewise, - (getAccessibleContext): Added API docs. - -2006-03-23 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java - (debug): Made public. (constructor): Made protected. - (activate, getActivationDesc): Throw more informative exceptions. - * gnu/java/rmi/server/UnicastConnectionManager.java (toString): - New method. - * gnu/java/rmi/server/UnicastRef.java (remoteToString): - Stub, implemented. - * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): - Documented. - * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): - Better exception. - * java/rmi/activation/Activatable.java (obtainId): Use the activation - system, passed in the activation descriptor field. - * java/rmi/activation/ActivationGroup.java (createGroup): Likewise. - * java/rmi/activation/ActivationGroupID.java (system, uid): Changed - to package private final. (equals): Compare uid, not the system. - (hashCode): Forward to uid.hashCode(). toString(): New method. - * java/rmi/activation/ActivationID.java (readObject, writeObject): - Rewritten. (equals): Compare UID only. toString(): New method. - * java/rmi/server/ObjID.java (eq): New method. (equals): Compare also - UID (space). (hashCode, toString): Rewritten. - * java/rmi/server/RemoteObjectInvocationHandler.java (noArgs): - New method. (invoke): Treat null as an empty array for parameters. - * java/rmi/server/UID.java (toString): Rewritten. (hashCode): - Include count, do not include the static machineId. - -2006-03-23 Tom Tromey - - * java/net/URLConnection.java (getContent(Class[])): Implemented. - -2006-03-23 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/GRMIC.java (main): Accept -force. - * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain -force. - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - (force): New field. (setForce): New method. (compile): Handle -force. - * tools/gnu/classpath/tools/rmi/RMIC.java (main): Accept -force. - * tools/gnu/classpath/tools/rmi/RMIC.txt: Explain -force. - -2006-03-23 Roman Kennke - - * javax/swing/JTabbedPane.java - (Page.getBackground): Return the JTabbedPane's background, - rather than the page's component background. - (Page.getForeground): Return the JTabbedPane's foreground, - rather than the page's component foreground. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (uninstallUI): Don't set colors to null. - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (paintTabBackground): Correctly determine the tab background. - (getUnselectedBackground): New helper method to - handle the UI property 'TabbedPane.unselectedBackground' - correctly. - -2006-03-23 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.showingResizeCursor): New field. - (BorderListener.mouseMoved, BorderListner.mouseExited): - Implemented. - -2006-03-23 David Gilbert - - * javax/swing/JComboBox.java - (selectWithKeyChar): Mark as stub, - * javax/swing/JFileChooser.java - (setDragEnabled): Mark as stub, - (getDragEnabled): Likewise, - * javax/swing/JSlider.java - (AccessibleJSlider.getAccessibleStateSet): Mark as stub, - (AccessibleJSlider.getAccessibleRole): Likewise, - (AccessibleJSlider.getAccessibleValue): Likewise, - (AccessibleJSlider.getCurrentAccessibleValue): Likewise, - (AccessibleJSlider.setCurrentAccessibleValue): Likewise, - (AccessibleJSlider.getMinimumAccessibleValue): Likewise, - (AccessibleJSlider.getMaximumAccessibleValue): Likewise, - * javax/swing/UIManager.java - (installLookAndFeel): Mark as stub, - (setInstalledLookAndFeels): Likewise. - -2006-03-23 David Gilbert - - * javax/swing/filechooser/UnixFileSystemView.java - (getSystemDisplayName): Mark as stub, - (getSystemIcon): Likewise, - (getSystemTypeDescription): Likewise. - -2006-03-23 David Gilbert - - * javax/swing/tree/AbstractLayoutCache.java - (getNodeDimensions): Mark as stub, - (getPreferredHeight): Likewise, - (getPreferredWidth): Likewise, - (getRowsForPaths): Likewise, - (isFixedRowHeight): Likewise, - * javax/swing/tree/DefaultTreeModel.java - (reload()): Mark as stub, - (reload(TreeNode)): Likewise, - (nodeStructureChanged): Likewise, - * javax/swing/tree/DefaultTreeSelectionModel.java - (clone): Mark as stub, - (setRowMapper): Likewise, - (setSelectionPaths): Likewise, - (isRowSelected): Likewise, - (resetRowSelection): Likewise, - (insureRowContinuity): Likewise, - (arePathsContiguous): Likewise, - (canPathsBeAdded): Likewise, - (canPathsBeRemoved): Likewise, - (notifyPathChange): Likewise, - (updateLeadIndex): Likewise, - (insureUniqueness): Likewise, - * javax/swing/tree/FixedHeightLayoutCache.java: Marked all methods as - stubs, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-03-22 Tom Tromey - - * javax/swing/text/StyleContext.java (getStaticAttribute): Mark as - stub. - (getStaticAttributeKey): Likewise. - (readAttributeSet): Likewise. - (writeAttributeSet): Likewise. - (readAttributes): Likewise. - (writeAttributes): Likewise. - * javax/swing/text/html/HTMLEditorKit.java (insertAtBoundary): Mark - as stub. - * javax/swing/text/html/HTMLDocument.java (setParagraphAttributes): - Mark as stub. - (fireChangedUpdate): Likewise. - (start): Likewise. - (end): Likewise. - (handleEndOfLineString): Likewise. - (textAreaContent): Likewise. - (preContent): Likewise. - (addSpecialElement): Likewise. - (setInnerHTML): Likewise. - (setOuterHTML): Likewise. - (insertBeforeStart): Likewise. - (insertBeforeEnd): Likewise. - (insertAfterEnd): Likewise. - (insertAfterStart): Likewise. - * javax/swing/table/JTableHeader.java (AccessibleJTableHeaderEntry): - Mark all methods as stub.s - * javax/swing/plaf/metal/MetalTreeUI.java (decodeLineStyle): Mark - as stub. - (paintHorizontalSeparators): Likewise. - * javax/swing/plaf/basic/BasicLookAndFeel.java (loadSystemColors): - Mark as stub. - * javax/swing/MenuSelectionManager.java (processKeyEvent): Mark as - stub. - * java/beans/beancontext/BeanContextSupport.java: Mark most methods - as stubs. - * java/beans/beancontext/BeanContextServicesSupport.java: Mark most - methods as stubs. - -2006-03-22 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkCursor.java: New class. - -2006-03-22 Mark Wielaard - - Fixes bug #26527 - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (gtkWidgetSetCursor): - Takes GtkImage, x and y coordinates. - (gtkWidgetSetCursorUnlocked): Likewise. - (GtkComponentPeer): Set cursor when set. - (setCursor): Handle GtkCursor. - * gnu/java/awt/peer/gtk/GtkToolkit.java (createCustomCursor): - New method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (gtkWidgetSetCursor): Takes GtkImage, x and y coordinates. - (gtkWidgetSetCursorUnlocked): Likewise. Handle custom image. - * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated. - -2006-03-23 Roman Kennke - - PR 26805 - * gnu/java/security/Registry.java - (PKCS5_PAD): Added pad PKCS#5 algorithm. - * gnu/javax/crypto/pad/PadFactory.java - (getInstance): For PKCS#5, also return PKCS#7 pad - algorithm. - (getNames): Added PKCS#5. - * javax/crypto/KeyGenerator.java - (getInstance): Initialize key generator before returning - it. - -2006-03-23 Ito Kazumitsu - - * gnu/regexp/RE.java(REG_X_COMMENTS): New copilation flag, - (initialize): Ignore whiltespaces and comments if REG_X_COMMENTS is set. - * java/util/regex/Pattern.java(constructor): Set RE.REG_X_COMMENTS - if COMMENTS is set. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/SynthStyle.java (getInt): Implemented. - (getBoolean): Likewise. - (getString): Likewise. - (getIcon): Likewise. - -2006-03-22 Mark Wielaard - - Fixes bug #26301 - * gnu/java/awt/peer/GLightweightPeer.java: Extend MouseAdapter. - (GLightweightPeer(Component)): Install MouseListener. - (setCursor): Implement. - (mouseEntered): New method. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/ColorType.java (MAX_COUNT): No longer - constant. - * javax/swing/plaf/synth/SynthStyle.java (getColorForState): Now - protected. - (getFontForState): Likewise. - (getInsets): Added 'result' argument. - (getPainter): Renamed. - -2006-03-22 Tom Tromey - - * javax/swing/plaf/synth/SynthPainter.java - (paintScrollBarThumbBackground): Added 'orientation' argument. - (paintScrollBarThumbBorder): Likewise. - (paintSliderThumbBackground): Likewise. - (paintSliderThumbBorder): Likewise. - (paintTabbedPaneTabBackground): Added 'index' argument. - (paintTabbedPaneTabBorder): Likewise. - -2006-03-22 Tom Tromey - - * java/awt/ScrollPaneAdjustable.java (paramString): Implemented. - (toString): New method. - -2006-03-22 Tom Tromey - - * doc/hacking.texinfo (Source Code Style Guide): Mention - NotImplementedException. - * javax/imageio/stream/MemoryCacheImageOutputStream.java - (flushBefore): Mark as stub. - (read): Likewise. - * javax/imageio/stream/MemoryCacheImageInputStream.java (flushBefore): - Mark as stub. - * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Mark - as stub. - (write): Likewise. - (writeBit): Likewise. - (writeChars): Likewise. - (writeUTF): Likewise. - * javax/imageio/stream/FileCacheImageOutputStream.java (read): Mark - as stub. - (read): Likewise. - * java/net/URLConnection.java (getContent): Mark as stub. - * java/awt/Window.java (applyResourceBundle): Mark as stub. - * java/awt/TexturePaint.java (createContext): Mark as stub. - (getTransparency): Mark as stub. - * java/awt/ScrollPaneAdjustable.java (paramString): Mark as stub. - * java/awt/GridBagLayout.java (AdjustForGravity): Mark as stub. - * java/awt/GraphicsConfiguration.java (getBufferCapabilities): Mark as - stub. - (getImageCapabilities): Likewise. - * java/awt/BasicStroke.java (createStrokedShape): Mark as stub. - * java/awt/AlphaComposite.java (createContext): Mark as stub. - * java/awt/image/renderable/RenderableImageProducer.java: Mark all - methods as stubs. - * java/awt/font/TextMeasurer.java (deleteChar): Mark as stub. - (getAdvanceBetween): Likewise. - (getLayout): Likewise. - (insertChar): Likewise. - (getLineBreakIndex): Likewise. - * java/awt/font/ShapeGraphicAttribute.java (draw): Mark as stub. - (getAdvance): Likewise. - (getAscent): Likewise. - (getDescent): Likewise. - * java/awt/font/LineBreakMeasurer.java (deleteChar): Mark as stub. - (insertChar): Likewise. - (nextLayout): Likewise. - (nextLayout): Likewise. - (nextOffset): Likewise. - (nextOffset): Likewise. - * java/awt/font/ImageGraphicAttribute.java (draw): Mark as stub. - (equals): Likewise. - (getAdvance): Likewise. - (getAscent): Likewise. - (getBounds): Likewise. - (getDescent): Likewise. - (hashCode): Likewise. - (ImageGraphicAttribute): Likewise. - * java/awt/font/GraphicAttribute.java (getBounds): Mark as stub. - (getJustificationInfo): Likewise. - * java/awt/font/GlyphVector.java (getGlyphCharIndex): Mark as stub. - (getGlyphCharIndices): Likewise. - (getGlyphOutline): Likewise. - (getGlyphPixelBounds): Likewise. - (getLayoutFlags): Likewise. - (getPixelBounds): Likewise. - * java/awt/font/GlyphMetrics.java (getLSB): Mark as stub. - (getRSB): Likewise. - * java/nio/channels/Channels.java (newWriter): Mark as stub. - * java/awt/dnd/DragSourceContext.java: Marked most methods as stubs. - * java/awt/dnd/DragGestureRecognizer.java (fireDragGestureRecognized): - Mark as stub. - (resetRecognizer): Likewise. - * java/awt/datatransfer/SystemFlavorMap.java (getFlavorsForNative): - Mark as stub. - (getNativesForFlavor): Likewise. - * javax/swing/plaf/synth/SynthStyle.java: Mark all methods as stub.s - * javax/swing/plaf/synth/SynthLookAndFeel.java (updateStyles): Mark - as stub. - (getRegion): Likewise. - (createUI): Likewise. - (initialize): Likewise. - (uninitialize): Likewise. - (getDefaults): Likewise. - (load): Likewise. - (shouldUpdateStyleOnAncestorChanged): Likewise. - * javax/swing/plaf/synth/SynthGraphicsUtils.java (getMinimumSize): - Mark as stub. - (getPreferredSize): Likewise. - (getMaximumSize): Likewise. - (paintText): Likewise. - * java/text/RuleBasedCollator.java (getCollationElementIterator): Mark - as stub. - * java/text/Collator.java (getAvailableLocales): Mark as stub. - -2006-03-22 Wolfgang Baer - - * java/io/ObjectStreamConstants.java: Added since tag. - (PROTOCOL_VERSION_1): Added javadoc. - (PROTOCOL_VERSION_2): Likewise. - * java/io/ObjectOutputStream.java: - (setDefaultProtocolVersion): Removed. - (useProtocolVersion): Fixed parameter tests. Updated javadoc. - -2006-03-21 Lillian Angel - - * gnu/javax/imageio/bmp/BMPInfoHeader.java - (BMPInfoHeader): Removed debug lines. - * gnu/javax/imageio/bmp/EncodeRLE4.java - (encode): Implemented. - (uncompress): New function implemented to - uncompress the image before encoding. - * gnu/javax/imageio/bmp/EncodeRLE8.java - (encode): Implemented. - (uncompress): New function implemented to - uncompress the image before encoding. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/FormView.java - (getImageData): New helper method. - -2006-03-21 Tom Tromey - - * vm/reference/gnu/classpath/Unsafe.java (arrayBaseOffset): Javadoc - fix. - (Unsafe): Now final. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/FormView.java - (MouseEventListener): New inner class. - -2006-03-21 Roman Kennke - - * javax/swing/text/html/ListView.java: New file. - -2006-03-21 Tom Tromey - - * java/text/Bidi.java: Completed. - -2006-03-21 Anthony Balkissoon - - * javax/swing/JTable.java: - (columnAtPoint): Removed the null check, this method should throw a NPE - if the argument is null. - -2006-03-21 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (DefaultHighlighter.DefaultHighlightPainter.paint): Rewritten. - -2006-03-21 Robert Schuster - - * javax/swing/text/DefaultCaret.java: Added class variable denoting - the textcomponent having a selection. - (clearSelection): Clear 'componentWithSelection' variable. - (handleSelection): Clear selection of current component having a - selection before setting a new selection in another component. - (mouseDragged): Only react on left mouse button. - (mouseClicked): Only react on left mouse button. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (paintContentBorderTopEdge): Implemented. - (paintContentBorderBottomEdge): Implemented. - (paintContentBorderLeftEdge): Implemented. - (paintContentBorderRightEdge): Implemented. - (isLastTabInRun): New helper method. - -2006-03-21 Roman Kennke - - * javax/swing/JTabbedPane.java - (Page.getForeground): Fall back to returning the tabbed pane's - foreground if no foreground has been exclicitly set. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (setEnabled): Update colors of button correctly. - * javax/swing/plaf/metal/MetalComboBoxUI.java - (MetalPropertyChangeListener.propertyChange): Update the colors - of the list and the button when any of the color properties - of the ComboBox change. - -2006-03-21 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (uninstallDefaults): Only nullify button colors if they are - not UIResource instances. - -2006-03-21 David Gilbert - - * javax/swing/JComponent.java - (AccessibleJComponent.getAccessibleDescription): Call super, - * javax/swing/JToolTip.java: API doc updates all over, plus - (AccessibleJToolTip.getAccessibleDescription): Implemented, - (AccessibleJToolTip.getAccessibleRole): Implemented, - (getAccessibleContext): Implemented, - (paramString): Reimplemented, - (setComponent): Fire PropertyChangeEvent, - (setTipText): Likewise. - -2006-03-20 Andrew John Hughes - - * java/util/Formatter.java: - Make the class final. - -2006-03-20 Andrew John Hughes - - * java/lang/System.java: - (nanoTime()): Documented. - * java/lang/Thread.java: - (setUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getUncaughtExceptionHandler()): Documented. - (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): - Added docs and security check. - (getDefaultUncaughtExceptionHandler()): Documented. - (getId()): Documented. - (Thread.State): Documented. - * vm/reference/gnu/classpath/Unsafe.java: - Documented. - (getUnsafe()): Updated to handle security. - -2006-03-20 Tom Tromey - - * java/lang/System.java: - (nanoTime()): Implemented. - * java/lang/Thread.java: - (getId()): Implemented. - * java/util/AbstractMap.java: - (SimpleImmutableEntry): New 1.6 class. - (BasicMapEntry): Modified to be SimpleEntry. - * java/util/Collections.java: - Modified to use SimpleEntry. - * java/util/EnumMap.java: Likewise. - * java/util/HashMap.java: Likewise. - * java/util/Hashtable.java: Likewise. - * java/util/TreeMap.java: Likewise. - * vm/reference/gnu/classpath/Unsafe.java: - New class to handle low-level facilities for concurrency. - * vm/reference/java/lang/VMSystem.java: - (nanoTime()): Implemented. - -2006-03-20 Tom Tromey - - * java/security/cert/PKIXCertPathChecker.java: Javadoc fix. - * java/security/cert/CertStoreSpi.java: Added import for javadoc. - (CertStoreSpi): Updated throws clause. - * java/security/cert/CertPathValidatorSpi.java: Added import for - javadoc. - (engineValidate): Updated 'throws' clause. - * java/security/cert/PKIXParameters.java: Javadoc fix. - * java/security/cert/X509CertSelector.java - (setAuthorityKeyIdentifier): Javadoc fix. - -2006-03-20 Tom Tromey - - * .classpath: Build gnu.javax.swing.plaf. - -2006-03-20 Lillian Angel - - * gnu/javax/imageio/bmp/BMPDecoder.java: - Removed unneeded import. - * gnu/javax/imageio/bmp/BMPEncoder.java: - New class. - * gnu/javax/imageio/bmp/BMPFileHeader.java - (BMPFileHeader): New constructor used to create info header - for an output stream. - (write): Fixed indexes. - * gnu/javax/imageio/bmp/BMPImageReaderSpi.java: - Initialized writerSpiNames field. - * gnu/javax/imageio/bmp/BMPImageWriter.java: - New class. - * gnu/javax/imageio/bmp/BMPImageWriterSpi.java: - New class. - * gnu/javax/imageio/bmp/BMPInfoHeader.java: - Change visibility for fields. - (BMPInfoHeader): New constructor used to create - file header for an output stream. - (intToDWord): New method. Converts an int to a - double word. - (intToWord): New method. Converts an int to a word. - * gnu/javax/imageio/bmp/DecodeBF32.java: - Removed unneeded imports. - * gnu/javax/imageio/bmp/EncodeRGB1.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB16.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB24.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB32.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB4.java: - New class. - * gnu/javax/imageio/bmp/EncodeRGB8.java: - New class. - * gnu/javax/imageio/bmp/EncodeRLE4.java: - New class. - * gnu/javax/imageio/bmp/EncodeRLE8.java: - New class. - * javax/imageio/ImageIO.java: - Fixed comment. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/metal/MetalTabbedPaneUI.java - (TabbedPaneLayout.normalizeTabRuns): New method. - (createLayoutManager): Return the Metal TabbedPaneLayout, not super. - (paintTabBorder): Replaced if-else chain with switch. - (paintTopTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintBottomTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintLeftTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintRightTabBorder): Rewritten to correctly paint tab. Also support - Ocean theme. - (paintTabBackground): Fetch background color from the TabbedPane. - Fixed painting and improved by not using fillPolygon, and instead - using fillRectangle. Replaced if-else chain with switch. - (calculateMaxTabHeight): Added overridden method with FIXME. - (getTabRunOverlay): Overridden to provide overlay for LEFT or RIGHT - placement. - (paintContentBorderTopEdge): Added stub with FIXME. - (paintContentBorderBottomEdge): Added stub with FIXME. - (paintContentBorderLeftEdge): Added stub with FIXME. - (paintContentBorderRightEdge): Added stub with FIXME. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (tabsOpaque): New field. - (installDefaults): Fetch tabsOpaque property from UIManager. - (paintTab): Fill tab background when tabsOpaque property is true. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added TabbedPane.tabsOpaque property. - -2006-03-20 Roman Kennke - - * javax/swing/JTabbedPane.java - (Pane.getBackground): When no background was explicitly set, return - the JTabbedPane's background. - -2006-03-20 Wolfgang Baer - - * org/omg/CORBA/ACTIVITY_COMPLETED.java, - * org/omg/CORBA/ACTIVITY_REQUIRED.java, - * org/omg/CORBA/BAD_INV_ORDER.java, - * org/omg/CORBA/BAD_CONTEXT.java, - * org/omg/CORBA/BAD_OPERATION.java, - * org/omg/CORBA/BAD_PARAM.java, - * org/omg/CORBA/BAD_QOS.java, - * org/omg/CORBA/BAD_TYPECODE.java, - * org/omg/CORBA/CODESET_INCOMPATIBLE.java, - * org/omg/CORBA/COMM_FAILURE.java, - * org/omg/CORBA/CurrentHolder.java, - * org/omg/CORBA/DATA_CONVERSION.java, - * org/omg/CORBA/FREE_MEM.java, - * org/omg/CORBA/IMP_LIMIT.java, - * org/omg/CORBA/INITIALIZE.java, - * org/omg/CORBA/INTERNAL.java, - * org/omg/CORBA/INTF_REPOS.java, - * org/omg/CORBA/INVALID_ACTIVITY.java, - * org/omg/CORBA/INVALID_TRANSACTION.java, - * org/omg/CORBA/INV_FLAG.java, - * org/omg/CORBA/INV_IDENT.java, - * org/omg/CORBA/INV_OBJREF.java, - * org/omg/CORBA/INV_POLICY.java, - * org/omg/CORBA/MARSHAL.java, - * org/omg/CORBA/NO_RESOURCES.java, - * org/omg/CORBA/NO_MEMORY.java, - * org/omg/CORBA/NO_IMPLEMENT.java, - * org/omg/CORBA/NO_PERMISSION.java, - * org/omg/CORBA/NO_RESPONSE.java, - * org/omg/CORBA/OBJECT_NOT_EXIST.java, - * org/omg/CORBA/OBJ_ADAPTER.java, - * org/omg/CORBA/ParameterModeHolder.java, - * org/omg/CORBA/PolicyError.java, - * org/omg/CORBA/PolicyErrorHolder.java, - * org/omg/CORBA/PolicyHolder.java, - * org/omg/CORBA/PolicyListHolder.java, - * org/omg/CORBA/REBIND.java, - * org/omg/CORBA/TIMEOUT.java, - * org/omg/CORBA/TRANSACTION_MODE.java, - * org/omg/CORBA/TRANSACTION_REQUIRED.java, - * org/omg/CORBA/TRANSACTION_ROLLEDBACK.java, - * org/omg/CORBA/TRANSACTION_UNAVAILABLE.java, - * org/omg/CORBA/TRANSIENT.java, - * org/omg/CORBA/TypeCodeHolder.java, - * org/omg/CORBA/UNKNOWN.java, - * org/omg/CORBA/UnionMember.java, - * org/omg/CORBA/UnknownUserException.java, - * org/omg/CORBA/UnknownUserExceptionHolder.java, - * org/omg/CORBA/WrongTransactionHolder.java, - * org/omg/IOP/IOR.java, - * org/omg/IOP/IORHolder.java, - * org/omg/IOP/MultipleComponentProfileHolder.java, - * org/omg/IOP/ServiceContextHolder.java, - * org/omg/IOP/ServiceContextListHolder.java, - * org/omg/IOP/TaggedComponentHolder.java, - * org/omg/IOP/TaggedProfileHolder.java, - * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java, - * org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java, - * org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java, - * org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java: - Made class final, various javadoc fixlets. - * org/omg/CORBA/CompletionStatus.java, - * org/omg/CORBA/PERSIST_STORE.java, - * org/omg/CORBA/ValueMember.java, - * org/omg/PortableInterceptor/ForwardRequest.java, - * org/omg/PortableInterceptor/InvalidSlot.java, - * org/omg/IOP/CodecPackage/TypeMismatch.java, - * org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java, - * org/omg/IOP/CodecPackage/FormatMismatch.java, - * org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java, - * org/omg/IOP/Encoding.java, - * org/omg/IOP/TaggedComponent.java, - * org/omg/IOP/TaggedProfile.java: Made class final. - * org/omg/CORBA/SystemException.java: Made class abstract. - * org/omg/CORBA/UserException.java: Made class abstract. - (UserException): Now protected. - (UserException(String)): Likewise. - * org/omg/Messaging/SyncScopeHelper.java: Now abstract, javadoc fixes. - (typecode): Removed unused private variable. - -2006-03-20 Chris Burdess - - Fixes PR 26761 - * gnu/xml/stream/XMLParser.java: Permit U+fffd as XML Char. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintTabArea): Look up tab run indices in tabRuns array instead - of using the index directly. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paintTab): Fixed painting. - (paintText): Fixed text painting. - (paintFocusIndicator): Fixed painting of the focus rectangle. - (paintContentBorder): Fixed painting of the content area. - -2006-03-20 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (pixbufLock): New - static lock Object field. - (produce): Synchronize on pixbufLock when calling initState(), - pumpBytes() and pumpDone(). - (finalize): Likewise when calling finish(). - (GdkPixbufWriter.write): Likewise when calling streamImage(). - * gnu/java/awt/peer/gtk/GtkImage.java (GtkImage(String)): Likewise - when calling loadPixbuf. Chain exception. - (GtkImage(byte[])): Likewise when calling loadImageFromData. - (GtkImage(URL)): Likewise. - (GtkImage(int,int)): Likewise when calling createPixmap(). - (GtkImage(GtkImage,int,int,int)): Likewise when calling - createScaledPixmap(). - (GtkImage(Pointer)): Likewise when calling createFromPixbuf(). - (setImage): Likewise when calling createPixmap() and setPixels(). - (getSource): Likewise when calling getPixels(). - (flush): Likewise when calling freePixmap(). - (finalize): Likewise. - (drawImage): Likewise when calling drawPixelsScaledFlipped() and - drawPixelsScaledFlipped(). - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initState): Remove - gdk_threads_enter/leave(). - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_finish): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpDone): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): Likewise. - (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpBytes): Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c - (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_setPixels): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createPixmap): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_freePixmap): Likewise. - (Java_gnu_java_awt_peer_gtk_GtkImage_createScaledPixmap): Likewise. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (calculateTabHeight): Not need to use SwingUtilities here. - (getTabInsets): Do not rotate insets. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paint): Make sure the layout is valid before painting. - (paintTabArea): Made tab painting more straightforward and efficient. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): Removed. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): Removed. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (ROWS_PER_WHEEL_CLICK): New field. - (MouseWheelHandler.mouseWheelMoved): Rewritten. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (paint): Make sure the layout is valid before painting. - (paintTabArea): Made tab painting more straightforward and efficient. - -2006-03-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (MouseHandler.mousePressed): Rewritten for clearer and simpler - code. - (MouseHandler.mouseEntered): Implemented to set the rollover tab. - (MouseHandler.mouseMoved): Implemented to set the rollover tab. - (MouseHandler.mouseExited): Implemented to unset the rollover tab. - (TabbedPaneLayout.calculateLayoutInfo): Don't set the component's - bounds here. That is moved into layoutContainer(). - (calculateSize): Correctly respect insets. Made code slightly more - clear and efficient. - (calculateTabRects): Rewritten completely. The old code was - not quite right and unstable in some situations. - (layoutContainer): Moved layout of tabbed pane's subcomponents - here. - (tabRunsDirty): New field. - (rolloverTab): New field. - (tabForCoordinate): Rewritten for simplicity and correctness. - (setRolloverTab): New method. - (getRolloverTab): New method. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (getScrollableUnitIncrement): Rewritten. - (getScrollableUnitIncrement - * javax/swing/Scrollable.java: Documented. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler):Rewritten. - -2006-03-20 Andrew John Hughes - - * doc/vmintegration.texinfo: - Updated with gnu.classpath.Unsafe - -2006-03-20 Andrew John Hughes - - * NEWS: - Updated with VMArray and Unsafe changes. - -2006-03-20 Audrius Meskauskas - - * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): New field. - (getScrollableUnitIncrement): Rewritten. - * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): New field. - (getScrollableUnitIncrement): Rewritten. - (getScrollableBlockIncrement): Rewritten. - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (MouseWheelHandler): Implemented. (ViewportContainerListener): - New class. (containerListener): New field. (SCROLL_NON_SCROLABLES): - New field. (installListeners): Install wheel listeners. - (uninstallListeners): Uninstall wheel listeners. - * javax/swing/plaf/basic/BasicTableUI.java: Remove the implementation - of the MouseWheelListener. (installListeners): Do not install wheel - listener. (ROWS_PER_WHEEL_CLICK): Removed. - -2006-03-19 Andrew John Hughes - - * vm/reference/gnu/classpath/Unsafe.java: - Documented. - (getUnsafe()): Updated to handle security. - -2006-03-19 Tom Tromey - - * vm/reference/gnu/classpath/Unsafe.java: - New class to handle low-level facilities for concurrency. - -2006-03-19 Mark Wielaard - - * include/Makefile.am: Rename PlainDatagramSocketImpl to - VMPlainDatagramSocketImpl and PlainSocketImpl to VMPlainSocketImpl. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Regenerated. - * include/gnu_java_net_VMPlainSocketImpl.h: Likewise. - -2006-03-19 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getPostScriptName): Return - familyName. - * gnu/java/awt/peer/gtk/GtkFontPeer.java: Removed unused file. - -2006-03-19 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_aa_ET.properties, - resource/gnu/java/locale/LocaleInformation_am.properties, - resource/gnu/java/locale/LocaleInformation_am_ET.properties, - resource/gnu/java/locale/LocaleInformation_as_IN.properties, - resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_bg.properties, - resource/gnu/java/locale/LocaleInformation_bn_IN.properties, - resource/gnu/java/locale/LocaleInformation_ca.properties, - resource/gnu/java/locale/LocaleInformation_cs.properties, - resource/gnu/java/locale/LocaleInformation_cy.properties, - resource/gnu/java/locale/LocaleInformation_da.properties, - resource/gnu/java/locale/LocaleInformation_de.properties, - resource/gnu/java/locale/LocaleInformation_dv.properties, - resource/gnu/java/locale/LocaleInformation_el.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_en_GB.properties, - resource/gnu/java/locale/LocaleInformation_en_IN.properties, - resource/gnu/java/locale/LocaleInformation_en_PK.properties, - resource/gnu/java/locale/LocaleInformation_en_SG.properties, - resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, - resource/gnu/java/locale/LocaleInformation_es.properties, - resource/gnu/java/locale/LocaleInformation_es_AR.properties, - resource/gnu/java/locale/LocaleInformation_es_BO.properties, - resource/gnu/java/locale/LocaleInformation_es_CL.properties, - resource/gnu/java/locale/LocaleInformation_es_CO.properties, - resource/gnu/java/locale/LocaleInformation_es_CR.properties, - resource/gnu/java/locale/LocaleInformation_es_DO.properties, - resource/gnu/java/locale/LocaleInformation_es_EC.properties, - resource/gnu/java/locale/LocaleInformation_es_ES.properties, - resource/gnu/java/locale/LocaleInformation_es_GT.properties, - resource/gnu/java/locale/LocaleInformation_es_HN.properties, - resource/gnu/java/locale/LocaleInformation_es_MX.properties, - resource/gnu/java/locale/LocaleInformation_es_NI.properties, - resource/gnu/java/locale/LocaleInformation_es_PA.properties, - resource/gnu/java/locale/LocaleInformation_es_PE.properties, - resource/gnu/java/locale/LocaleInformation_es_PR.properties, - resource/gnu/java/locale/LocaleInformation_es_PY.properties, - resource/gnu/java/locale/LocaleInformation_es_SV.properties, - resource/gnu/java/locale/LocaleInformation_es_US.properties, - resource/gnu/java/locale/LocaleInformation_es_UY.properties, - resource/gnu/java/locale/LocaleInformation_es_VE.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fa_IR.properties, - resource/gnu/java/locale/LocaleInformation_fi.properties, - resource/gnu/java/locale/LocaleInformation_fr.properties, - resource/gnu/java/locale/LocaleInformation_fr_CA.properties, - resource/gnu/java/locale/LocaleInformation_ga.properties, - resource/gnu/java/locale/LocaleInformation_gu_IN.properties, - resource/gnu/java/locale/LocaleInformation_hi_IN.properties, - resource/gnu/java/locale/LocaleInformation_hr.properties, - resource/gnu/java/locale/LocaleInformation_hu.properties, - resource/gnu/java/locale/LocaleInformation_id.properties, - resource/gnu/java/locale/LocaleInformation_is.properties, - resource/gnu/java/locale/LocaleInformation_it.properties, - resource/gnu/java/locale/LocaleInformation_ja.properties, - resource/gnu/java/locale/LocaleInformation_kk.properties, - resource/gnu/java/locale/LocaleInformation_kl.properties, - resource/gnu/java/locale/LocaleInformation_km.properties, - resource/gnu/java/locale/LocaleInformation_ky.properties, - resource/gnu/java/locale/LocaleInformation_lo.properties, - resource/gnu/java/locale/LocaleInformation_lo_LA.properties, - resource/gnu/java/locale/LocaleInformation_lt.properties, - resource/gnu/java/locale/LocaleInformation_lt_LT.properties, - resource/gnu/java/locale/LocaleInformation_lv.properties, - resource/gnu/java/locale/LocaleInformation_mk.properties, - resource/gnu/java/locale/LocaleInformation_mn.properties, - resource/gnu/java/locale/LocaleInformation_mr.properties, - resource/gnu/java/locale/LocaleInformation_mr_IN.properties, - resource/gnu/java/locale/LocaleInformation_ms.properties, - resource/gnu/java/locale/LocaleInformation_ms_BN.properties, - resource/gnu/java/locale/LocaleInformation_mt.properties, - resource/gnu/java/locale/LocaleInformation_nb.properties, - resource/gnu/java/locale/LocaleInformation_nl.properties, - resource/gnu/java/locale/LocaleInformation_nn.properties, - resource/gnu/java/locale/LocaleInformation_om_ET.properties, - resource/gnu/java/locale/LocaleInformation_or_IN.properties, - resource/gnu/java/locale/LocaleInformation_pa.properties, - resource/gnu/java/locale/LocaleInformation_pl.properties, - resource/gnu/java/locale/LocaleInformation_pt.properties, - resource/gnu/java/locale/LocaleInformation_ru.properties, - resource/gnu/java/locale/LocaleInformation_ru_RU.properties, - resource/gnu/java/locale/LocaleInformation_ru_UA.properties, - resource/gnu/java/locale/LocaleInformation_sa.properties, - resource/gnu/java/locale/LocaleInformation_sa_IN.properties, - resource/gnu/java/locale/LocaleInformation_sk.properties, - resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sv.properties, - resource/gnu/java/locale/LocaleInformation_sw.properties, - resource/gnu/java/locale/LocaleInformation_sw_TZ.properties, - resource/gnu/java/locale/LocaleInformation_ta_IN.properties, - resource/gnu/java/locale/LocaleInformation_te.properties, - resource/gnu/java/locale/LocaleInformation_te_IN.properties, - resource/gnu/java/locale/LocaleInformation_th.properties, - resource/gnu/java/locale/LocaleInformation_ti.properties, - resource/gnu/java/locale/LocaleInformation_ti_ER.properties, - resource/gnu/java/locale/LocaleInformation_ti_ET.properties, - resource/gnu/java/locale/LocaleInformation_tr.properties, - resource/gnu/java/locale/LocaleInformation_tt.properties, - resource/gnu/java/locale/LocaleInformation_uk.properties, - resource/gnu/java/locale/LocaleInformation_ur.properties, - resource/gnu/java/locale/LocaleInformation_uz.properties, - resource/gnu/java/locale/LocaleInformation_zh.properties, - resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: - More updates for CLDR 1.3. - -2006-03-19 Andrew John Hughes - - * doc/vmintegration.texinfo: - Updated to include VMArray. - * include/Makefile.am: - Replace java_lang_reflect_Array.h with - java_lang_reflect_VMArray.h - * include/java_lang_reflect_VMArray.h: - New autogenerated header. - * include/java_lang_reflect_Array.h: - Removed. - * java/lang/reflect/Array.java: - (newInstance(Class,int)): Calls VMArray. - (createMultiArray(Class,int[],int)): Likewise. - (createObjectArray(Class,int)): Removed. - * native/jni/java-lang/Makefile.am: - Replaced java_lang_reflect_Array.c with - java_lang_reflect_VMArray.c - * native/jni/java-lang/java_lang_reflect_VMArray.c: - Renamed from java_lang_reflect_Array.c. - * vm/reference/java/lang/reflect/VMArray.java: - (createObjectArray(Class,int)): Native method moved - from java.lang.reflect.Array. - -2006-03-19 Roman Kennke - - * gnu/javax/swing/plaf/metal/CustomizableTheme.java: New class. - * examples/gnu/classpath/examples/swing/MetalThemeEditor.java: - New class. - * examples/gnu/classpath/examples/swing/Demo.java - (mkButtonBar): Hook up theme editor. - (mkMenuBar): Hook up theme editor. - -2006-03-19 Roman Kennke - - * javax/swing/plaf/basic/BasicFileChooserUI.java - (ApproveSelectionAction.actionPerformed): Added case for when - nothing has been selected but the user has typed a filename - into the textfield. - (getFileName): Return the value of the text field. - -2006-03-19 Roman Kennke - - * javax/swing/JColorChooser.java - (createDialog): Create JDialog instead of ModalDialog. Make this - dialog modal by calling setModal(true). - (ModalDialog): Removed unnecessary inner class. - -2006-03-19 Tom Tromey - - * java/awt/font/NumericShaper.java: Rewrote. - -2006-03-19 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableUI.java: - Implement MouseWheelListener. (ROWS_PER_WHEEL_CLICK): - New field. MouseInputHandler.mouseWheelMoved): New method. - (installListeners): Register MouseInputHandler as - wheel listener also. - -2006-03-19 Audrius Meskauskas - - PR 26746 - * javax/swing/ViewportLayout.java (layoutContainer): - If Scrollable tracks dimension, set view size to the port size. - If port is larger than the view, move the view to the top/left. - -2006-03-19 Roman Kennke - - * javax/swing/MenuSelectionManager.java - (isComponentPartOfCurrentMenu): Also consider the first element - in a menu selection list. Make a isDescendentFrom check instead - of simple equals to also catch sub components. - -2006-03-19 Roman Kennke - - * javax/swing/JComboBox.java - (actionPerformed): Fetch selected item directly from the editor - instead of trying to get it from the event. - -2006-03-19 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxEditor.java - (listener): Removed field. - (BasicComboBoxEditor): Removed initialization of listener field. - (addActionListener): Add listener directly to editor. - (removeActionListener): Remove listener directly from editor. - (ComboBoxEditorListener): Removed class. + (getFontImpl): Return null when the component has no font set + and also has no parent yet. * javax/swing/plaf/basic/BasicComboBoxUI.java - (getPreferredSize): Fixed to return the minimumSize. - (getMinimumSize): Improved code for more clearness. - (getMaximumSize): Return (32767,32767) as requested by the mauve test. - (rectangleForCurrentValue): Correctly respect insets. - (getDefaultSize): Return preferredSize here. Dont override height - with 100. - (getDisplaySize): Moved around code for more clearness. Added - handling of prototype renderer. - (ComboBoxLayoutManager.layoutContainer): Set editor bounds after - arrowButton bounds since the former depends on the latter. - * javax/swing/plaf/metal/MetalComboBoxButton.java: - (MetalComboBoxButton): Make button rollover disabled. - (isFocusTraversable): Return false unconditionally. - * javax/swing/plaf/metal/MetalComboBoxEditor.java: - (EditorTextField): New class. Fixes the size properties. - (MetalComboBoxEditor): Create instance of EditorTextField. - * javax/swing/plaf/metal/MetalComboBoxUI.java: - (getMinimumSize): Fixed editable size. - -2006-03-18 Audrius Meskauskas - - * javax/swing/JTable.java (BooleanCellRenderer): Rewritten. - -2006-03-18 Roman Kennke - - * javax/swing/plaf/metal/MetalToolBarUI.java - (update): Added overridden method to support OceanTheme. - -2006-03-18 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableUI.java (KeyHandler.keyTyped): - Activate the cell editing on character keystroke. - -2006-03-18 Mark Wielaard - - * java/awt/Component.java (eventTypeEnabled): Handle - MouseEvent.MOUSE_WHEEL. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postMouseWheelEvent): - New callback method. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (AWT_MOUSE_WHEEL): New constant. - (AWT_WHEEL_UNIT_SCROLL): Likewise. - (postMouseWheelEventID): New static variable. - (cp_gtk_component_init_jni): Record postMouseWheelEventID. - (cp_gtk_component_connect_mouse_signals): Connect scroll-event. - (button_number): Renamed to ... - (button_number_direction): variable to hold button number or scroll - direction. - (component_button_press_cb): Use button_number_direction. - (component_scroll_cb): New static callback function. - -2006-03-18 Audrius Meskauskas - - * javax.swing.JTable.java (TableTextField.scrollRectToVisible): - Return without action. - -2006-03-18 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintComponent): - Don't cast graphics object to GdkGraphics. - (updateComponent): Likewise. - -2006-03-18 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModel.getColumnClass): Set second column to Icon. - (TModel.isCellEditable): Say icons are not editable. - (createContent): Fill the in second column with some icons from - MetalIconFactory. - -2006-03-18 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/Demo.java - (mkButtonBar): Set maximal button bar height to the preferred height. - -2006-03-18 Roman Kennke - + (PropertyChangeHandler.propertyChange): Only add editor when combo + box is editable. Avoid fetching the property name repeatedly. + Invalidate when renderer or prototypeDisplayValue change. + (uninstallComponents): Unconfigure everything and then remove all + components. * javax/swing/plaf/basic/BasicComboPopup.java - (show): Substract insets from scroller width. - (getPopupHeightForRowCount): If height==0, return a default of 100 - instead for empty ComboBoxes. - -2006-03-18 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.autoClosePopups): Removed field. - (PopupHelper.mousePressed): Removed processing of registered - autoclose popups. - (registerForAutoClose): Removed unneeded method. - (autoClosePopups): Removed unneeded method. - (registerForAutoClose): Removed unneeded method. - -2006-03-18 Audrius Meskauskas - - * javax.swing.JTable.java (TableTextField): Set border. - (moveToCellBeingEdited): Do not adjust the editor boundaries - -2006-03-18 Michael Koch - - * resource/gnu/java/locale/LocaleInformation_aa.properties, - resource/gnu/java/locale/LocaleInformation_af.properties, - resource/gnu/java/locale/LocaleInformation_am.properties, - resource/gnu/java/locale/LocaleInformation_ar.properties, - resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, - resource/gnu/java/locale/LocaleInformation_be.properties, - resource/gnu/java/locale/LocaleInformation_bg.properties, - resource/gnu/java/locale/LocaleInformation_bn.properties, - resource/gnu/java/locale/LocaleInformation_ca.properties, - resource/gnu/java/locale/LocaleInformation_cs.properties, - resource/gnu/java/locale/LocaleInformation_cy.properties, - resource/gnu/java/locale/LocaleInformation_da.properties, - resource/gnu/java/locale/LocaleInformation_de.properties, - resource/gnu/java/locale/LocaleInformation_de_CH.properties, - resource/gnu/java/locale/LocaleInformation_dz.properties, - resource/gnu/java/locale/LocaleInformation_en.properties, - resource/gnu/java/locale/LocaleInformation_eo.properties, - resource/gnu/java/locale/LocaleInformation_es.properties, - resource/gnu/java/locale/LocaleInformation_et.properties, - resource/gnu/java/locale/LocaleInformation_eu.properties, - resource/gnu/java/locale/LocaleInformation_fa.properties, - resource/gnu/java/locale/LocaleInformation_fa_AF.properties, - resource/gnu/java/locale/LocaleInformation_fi.properties, - resource/gnu/java/locale/LocaleInformation_fo.properties, - resource/gnu/java/locale/LocaleInformation_fr.properties, - resource/gnu/java/locale/LocaleInformation_ga.properties, - resource/gnu/java/locale/LocaleInformation_gl.properties, - resource/gnu/java/locale/LocaleInformation_gu.properties, - resource/gnu/java/locale/LocaleInformation_he.properties, - resource/gnu/java/locale/LocaleInformation_hi.properties, - resource/gnu/java/locale/LocaleInformation_hr.properties, - resource/gnu/java/locale/LocaleInformation_hu.properties, - resource/gnu/java/locale/LocaleInformation_hy.properties, - resource/gnu/java/locale/LocaleInformation_id.properties, - resource/gnu/java/locale/LocaleInformation_is.properties, - resource/gnu/java/locale/LocaleInformation_it.properties, - resource/gnu/java/locale/LocaleInformation_ja.properties, - resource/gnu/java/locale/LocaleInformation_ka.properties, - resource/gnu/java/locale/LocaleInformation_km.properties, - resource/gnu/java/locale/LocaleInformation_ko.properties, - resource/gnu/java/locale/LocaleInformation_lo.properties, - resource/gnu/java/locale/LocaleInformation_lt.properties, - resource/gnu/java/locale/LocaleInformation_lv.properties, - resource/gnu/java/locale/LocaleInformation_mk.properties, - resource/gnu/java/locale/LocaleInformation_mr.properties, - resource/gnu/java/locale/LocaleInformation_ms.properties, - resource/gnu/java/locale/LocaleInformation_mt.properties, - resource/gnu/java/locale/LocaleInformation_nb.properties, - resource/gnu/java/locale/LocaleInformation_nl.properties, - resource/gnu/java/locale/LocaleInformation_nn.properties, - resource/gnu/java/locale/LocaleInformation_om.properties, - resource/gnu/java/locale/LocaleInformation_pl.properties, - resource/gnu/java/locale/LocaleInformation_ps.properties, - resource/gnu/java/locale/LocaleInformation_pt.properties, - resource/gnu/java/locale/LocaleInformation_pt_PT.properties, - resource/gnu/java/locale/LocaleInformation_ro.properties, - resource/gnu/java/locale/LocaleInformation_ru.properties, - resource/gnu/java/locale/LocaleInformation_sk.properties, - resource/gnu/java/locale/LocaleInformation_sl.properties, - resource/gnu/java/locale/LocaleInformation_so.properties, - resource/gnu/java/locale/LocaleInformation_sq.properties, - resource/gnu/java/locale/LocaleInformation_sr.properties, - resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, - resource/gnu/java/locale/LocaleInformation_sv.properties, - resource/gnu/java/locale/LocaleInformation_sw.properties, - resource/gnu/java/locale/LocaleInformation_ta.properties, - resource/gnu/java/locale/LocaleInformation_te.properties, - resource/gnu/java/locale/LocaleInformation_th.properties, - resource/gnu/java/locale/LocaleInformation_tr.properties, - resource/gnu/java/locale/LocaleInformation_uk.properties, - resource/gnu/java/locale/LocaleInformation_uz.properties, - resource/gnu/java/locale/LocaleInformation_vi.properties, - resource/gnu/java/locale/LocaleInformation_zh.properties, - resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: - Updated to use the new localized strings for currencies, languages, - variants, territories, etc. - -2006-03-18 Ito Kazumitsu - - * gnu/regexp/REMatch.java(matchedCharIndexed): New field, - (start, end): Added comment about the negative values of them, - (finish): Saves the input text in matchedCharIndexed, - (toString): If the start or end index is out of bounds of the - matched text, get the substring from matchedCharIndexed. - Added special handlings in case start/end index < -1, - (getSubStartIndex, getStartIndex, getSubEndIndex, getEndIndex): - Added special handlings in case start/end index < -1, - * gnu/regexp/RETokenLookAhead.java(matchThis): Return the newly - found match, but keep the index as the original match. - * gnu/regexp/RETokenLookBehind.java(matchThis): Return the newly - found match, but keep the index as the original match. - * gnu/regexp/RETokenBackRef.java(matchThis): Added special handlings - in case start/end index < -1. - -2006-03-17 Audrius Meskauskas - - * gnu/java/rmi/activation/ActivationSystemTransient.java (debug): - Set to false. - -2006-03-17 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked) Use setDot() and moveDot() instead of - JTextComponent.select(). - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxEditor.java - (MetalComboBoxEditorBorder.paintBorder): Implemented special - border painting for the Ocean theme. - (MetalComboBoxEditor): Create editor directly instead of going - to super. - -2006-03-17 Roman Kennke - - * javax/swing/text/JTextComponent.java - (JTextComponent): Make text components opaque. - -2006-03-17 Roman Kennke - + (uninstallingUI): Don't nullify list model. * javax/swing/plaf/metal/MetalComboBoxUI.java - (MetalComboBoxLayoutManager.layoutContainer): Forward to - layoutComboBox(). - (MetalPropertyChangeListener.propertyChange): Update focusable - flag according to the enable and editable state. - (editablePropertyChanged): Removed unnecessary code. - (getMinimumSize): Rewritten to correctly compute the - size, respecting the insets of the components and the icon, - the visual properties of the combobox, etc. - (configureEditor): Update listeners correctly. - (unconfigureEditor): Update listeners correctly. - (layoutComboBox): Implemented. + (createArrowButton): Pass currentValuePane to the MetalComboBoxButton + constructor rather than a new (unconnected) CellRendererPane. -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxEditor.java - (MetalComboBoxEditorBorder): Made this a subclass of AbstractBorder - instead of Flush3DBorder. - (paintBorder): Fixed border painting. - (editorBorderInsets): Fixed border's insets. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (rendererPane): Documented. - (MetalComboBoxButton): Set enabled flag from ComboBox. - Set focusable flag from ComboBox's enabled flag. - (isFocusTraversable): Make button focus traversable if - ComboBox is not editable but enable. - (paintComponent): Fixed painting to correctly adjust - the boxes of the renderer and button. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (installDefaults): Only install UI margin if installed margin. - is null or a UIResource. - (uninstallDefaults): Only uninstall margin if it's - a UIResource. - - 2006-03-17 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseClicked) Use setDot() and moveDot() instead of - JTextComponent.select(). - -2006-03-17 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Refactored anonymous - inner classes into package-private inner classes, added actions - for caret movement and selection to the next and previous word - and an action which selects the whole text. - -2006-03-17 Thomas Fitzsimmons - - * javax/swing/Spring.java: Uncomment springdebug methods and - rename them toString. - * javax/swing/SpringLayout.java: Likewise. - -2006-03-17 Robert Schuster - - * javax/swing/text/FieldView.java: - (viewToModel): Added call to adjust allocation area. - -2006-03-17 Roman Kennke +2007-01-06 Roman Kennke + PR 30337 * javax/swing/plaf/basic/BasicComboBoxUI.java - (mouseListener): Removed field. - (buttonBackground): Removed field. - (buttonShadow): Removed field. - (buttonDarkShadow): Removed field. - (buttonHighlight): Removed field. - (BasicComboBoxUI): Initialize currentValuePane and cachedMinimumSize. - (installUI): Initialize and configure renderer and editor here. - (uninstallUI): Close popup before uninitializing. - Message popup that we are uninitializing. Clear layout. - (installDefaults): Install UI border. Don't install colors. - (installListeners): Install listeners fetched from the popup. - Remove handling of mouseListener. - (uninstallDefaults): Uninstall border. Don't handle colors. - (uninstallListeners): Don't handle mouseListener. Uninstall - listener from the popup. - (createMouseListener): Removed method. - (createRenderer): Create UIResource. - (installComponents): Cleaned up. - (uninstallComponents): Only remove renderer when it is - a UIResource. - (addEditor): Remove editor before adding new one. - Fetch editor from comboBox. - (removeEditor): Only do something when editor != null. Unconfigure - editor before removing. - (configureEditor): Add key listener. Call comboBox.configureEditor. - (unconfigureEditor): Removed key listener. - (configureArrowButton): Only handle when arrowButton != null. - Add mouse listeners to arrow button. - (unconfigureArrowButton): Remove listeners. - (createArrowButton): Don't handle colors here. - (setPopupVisible): Don't handle focus here. - (paint): Only paint when comboBox is not editable. Update - hasFocus flag. - (getPreferredSize): Implemented to be minimumSize + 4 pixels width. - (getMinimumSize): Respect insets here. - (getMaximumSize): Return preferredSize with width of 32767. - (getInsets): Return ComboBox insets. - (paintCurrentValue): Paint using currentValuePane. - Install correct colors. Don't revalidate. - (paintCurrentValueBackground): Implemented. - (getDefaultSize): Reimplemented using a default renderer. - (getDisplaySize): Reimplemented to use renderer. - (ComboBoxLayoutManager.preferredLayoutSize): Forward to component. - (ComboBoxLayoutManager.minimumLayoutSize): Forward to component. - (ComboBoxLayoutManager.layoutContainer): Fixed layout. - (FocusHandler.focusGained): Don't invalidate minimumSize. - (FocusHandler.focusLost): Don't invalidate minimumSize. - Only close popup if focus change is not temporary. - (ItemHandler.itemStateChanged): Don't invalidate minimumSize. - Reconfigure editor if not null. - (ListDataHandler.contentsChanged): Revalidate and reconfigure - editor if necessary. - (ListDataHandler.intervalAdded): Fixed updating of the display size. - (ListDataHandler.intervalRemoved): Forward to contentsChanged. - (MouseHandler): Removed unnecessary class. - -2006-03-17 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (Demo): Set default closing operation to shutdown the runtime. - -2006-03-17 Roman Kennke - + (installUI): Install popup and list here. + Don't configure the arrow button and editor here. + (installComponents): Don't install popup and list here. (Moved + to installUI). Configure arrow button here and check for null. + (addEditor): Configure editor here. + (configureArrowButton): Directly fetch listeners from popup. + (paintCurrentValue): Removed unused local variables. + (layoutContainer): Removed unused local variables. + (PropertyChangeHandler.propertyChange): Don't invalidate minimumSize + on each property change. Avoid calling getPropertyName() repeatedly. + Clean up. Call addEditor() when editor changes. Configure and + unconfigure editor when editable changes. Use 'model' instead + of non-existing 'dataModel' property. * javax/swing/plaf/basic/BasicComboPopup.java - (BasicComboPopup): Create listeners here. - Configure components here. - (show): Correctly calculate bounds using computePopupBounds(). - Make scroller fixed-size. Removed special autocloser handling. - (hide): Rewritten to use MenuSelectionHandler. - (createList): Don't set selection mode here. - (configureList): Correctly install colors and fonts and selectionMode. - (createScroller): Set scrollpane policies. - (configureScroller): Make scroller and scrollbar not-focusable. - (configurePopup): Make popup opaque and borderPainted. - (installComboBoxListeners): Don't install mouse listener on ComboBox. - (delegateFocus): Implemented. - (convertMouseEvent): Implemented. - (updateListBoxSelectionForEvent): Implemented to also handle - autoscrolling. - (InvocationMouseHandler.mousePressed): Delegate focus correctly. - Only open popup on left mouse-click. - (InvocationMouseHandler.mouseReleased): Rewritten. - (InvocationMouseMotionHandler.mouseDragged): Rewritten to better - support autoscrolling. - (ItemHandler.itemStateChanged): Implemented to sync selection with - the comboBox. - (ListMouseHandler.mouseReleased): Fetch selected index directly - from list. - (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside - the list box. - (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. - When model changes, then update listeners correctly. - (uninstallListeners): Don't uninstall list listeners. - (uninstallComboBoxListeners): Don't uninstall mouse listeners - from comboBox. - (syncSelection): New helper method. + (uninstallingUI): Remove property change listener and item listener + here. Uninstall list listeners. Set model to null to prevent leakage. + (configureList): Don't sync list selection there. + (uninstallComboBoxListeners): Moved to uninstallingUI. + (uninstallListeners): Moved to uninstallingUI. + * javax/swing/plaf/metal/MetalComboBoxUI.java + (createPopup): Call super. + (getMinimumSize): Removed unused statement. -2006-03-17 Robert Schuster +2007-01-06 Andrew John Hughes - * javax/swing/text/PlainView.java: - (drawLine): Rewritten. - (drawSelectedText): Corrected last argument for - Utilities.drawTabbedText() call. - (paint): Store start and end of selection in object variables, - store constant values of for-loop in local variables. - * javax/swing/text/Utilities.java: - (drawTabbedText): Add 'pixelWidth' to the return value, store - constant value of for-loop in local variable. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (BasicComboPopup): Create listeners here. - Configure components here. - (show): Correctly calculate bounds using computePopupBounds(). - Make scroller fixed-size. Removed special autocloser handling. - (hide): Rewritten to use MenuSelectionHandler. - (createList): Don't set selection mode here. - (configureList): Correctly install colors and fonts and selectionMode. - (createScroller): Set scrollpane policies. - (configureScroller): Make scroller and scrollbar not-focusable. - (configurePopup): Make popup opaque and borderPainted. - (installComboBoxListeners): Don't install mouse listener on ComboBox. - (delegateFocus): Implemented. - (convertMouseEvent): Implemented. - (updateListBoxSelectionForEvent): Implemented to also handle - autoscrolling. - (InvocationMouseHandler.mousePressed): Delegate focus correctly. - Only open popup on left mouse-click. - (InvocationMouseHandler.mouseReleased): Rewritten. - (InvocationMouseMotionHandler.mouseDragged): Rewritten to better - support autoscrolling. - (ItemHandler.itemStateChanged): Implemented to sync selection with - the comboBox. - (ListMouseHandler.mouseReleased): Fetch selected index directly - from list. - (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside - the list box. - (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. - When model changes, then update listeners correctly. - (uninstallListeners): Don't uninstall list listeners. - (uninstallComboBoxListeners): Don't uninstall mouse listeners - from comboBox. - (syncSelection): New helper method. - -2006-03-17 Roman Kennke - - * javax/swing/plaf/basic/BasicComboBoxRenderer.java - (noFocusBorder): Make border with insets of (1,1,1,1). - (BasicComboBoxRenderer): Make renderer opaque. - No need to explicitly set alignment. - (getListCellRendererComponent): Rewritten to correctly initialize - color and font. - -2006-03-17 Roman Kennke - - * javax/swing/JPopupMenu.java - (setVisible): Handle JPopupMenu opening and closing via - the MenuSelectionHandler. - -2006-03-17 Wolfgang Baer - - * org/omg/DynamicAny/DynAnyPackage/InvalidValue.java: Now final. - * org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java: Likewise. - * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java: - Likewise. - * org/omg/CORBA/portable/RemarshalException.java: Likewise - * org/omg/CORBA/TypeCodePackage/BadKind.java: Likewise. - * org/omg/CORBA/TypeCodePackage/Bounds.java: Likewise. - * org/omg/CORBA/ORBPackage/InvalidName.java: Likewise. - * org/omg/CORBA/ORBPackage/InconsistentTypeCode.java: Likewise. - * org/omg/CORBA/DynAnyPackage/TypeMismatch.java: Likewise. - * org/omg/CORBA/DynAnyPackage/InvalidValue.java: Likewise. - * org/omg/CORBA/DynAnyPackage/InvalidSeq.java: Likewise. - * org/omg/CORBA/DynAnyPackage/Invalid.java: Likewise. - * org/omg/Dynamic/Parameter.java: Now final, javadoc fixes. - -2006-03-17 Audrius Meskauskas - - * java/rmi/activation/Activatable.java: Implemented. - java/rmi/activation/ActivationDesc.java: Implemented. - java/rmi/activation/ActivationGroup.java: Implemented. - java/rmi/activation/ActivationGroupDesc.java: Implemented. - java/rmi/activation/ActivationID.java: Implemented. - java/rmi/activation/ActivationSystem.java: Implemented. - * gnu/java/rmi/server/UnicastServerRef.java - (exportObject, incommingMessageCall): Documented. - * java/rmi/activation/package.html: Documented. - * java/rmi/server/ObjID.java (objNum, space): Made package - protected. - * gnu/java/rmi/server/UnicastServer.java: Rewritten. - * gnu/java/rmi/server/CombinedClassLoader.java (constructor): - Iteration bug fix. - * gnu/java/rmi/activation/ActivationSystemTransient.java: New file. - gnu/java/rmi/activation/BidiTable.java: New file. - gnu/java/rmi/activation/DefaultActivationGroup.java: New file. - gnu/java/rmi/activation/DefaultActivationSystem.java: New file. - gnu/java/rmi/server/ActivatableServerRef.java: New file. - -2006-03-17 Mark Wielaard - - * java/security/BasicPermission.java (BasicPermission): Check - name equals empty string to force NullPointerException. - -2006-03-16 Thomas Fitzsimmons - - PR classpath/26606 - Commit patch by Caolan McNamara - * javax/swing/Spring.java: Complete implementation - * javax/swing/SpringLayout.java: Likewise. - -2006-03-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_mainThread): Not needed. Removed - all references. - (run): Remove catch clause for InterruptedException. It is no - longer necessary. - -2006-03-16 Thomas Fitzsimmons - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): Handle monospaced fonts specially. - -2006-03-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (getJdwpThreadGroup): New method. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (suspendAllThreads): Use Jdwp.getJdwpThreadGroup. - Don't suspend the current thread unless it is not part of the JDWP - thread group. - -2006-03-16 Thomas Fitzsimmons - - * gnu/java/awt/peer/gtk/GdkFontMetrics.java (getLeading): Always - return 0. - * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Get - font metrics through toolkit. - * gnu/java/awt/peer/gtk/GdkGraphics.java (getFontMetrics): - Likewise. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c - (getFontMetrics): To calculate Java logical ascent and descent - values, average Pango ink and logical values. - -2006-03-16 Anthony Balkissoon - - * java/lang/Character.java: Updated header comment. - -2006-03-16 Tom Tromey - - * javax/sound/sampled/AudioSystem.java (getAudioFileFormat): New - constructor. - * javax/sound/sampled/FloatControl.java: Now abstract. - * javax/sound/sampled/EnumControl.java: Now abstract. - * javax/sound/sampled/CompoundControl.java: Now abstract. - * javax/sound/sampled/BooleanControl.java: Now abstract. - -2006-03-16 Tom Tromey - - * java/awt/image/ConvolveOp.java (getBounds2D): Now final. - -2006-03-16 Roman Kennke - - * java/util/zip/ZipFile.java - (openFile): New helper method. - (ZipFile): Use new openFile method to ensure the proper - exception is thrown. This applies for all overloaded constructors. - -2006-03-16 Roman Kennke - - * java/text/DateFormatSymbols.java - (setAmPmStrings): Added null check and throw NPE. - (setEras): Likewise. - (setLocalPatternChars): Likewise. - (setMonths): Likewise. - (setShortMonths): Likewise. - (setShortWeekdays): Likewise. - (setWeekdays): Likewise. - (setZoneStrings): Likewise. - -2006-03-16 Roman Kennke - - * javax/swing/DefaultDesktopManager.java - (iconifyFrame): Repaint after removing the frame. - (removeIconFor): Repaint after removing the icon. - -2006-03-16 Roman Kennke - - * javax/swing/JInternalFrame.java - (remove): Respect the rootPaneCheckingEnabled flag here. - -2006-03-16 Roman Kennke - - * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java - Moved from examples into gnu.javax.swing.. namespace. - * examples/gnu/classpath/examples/swing/GNULookAndFeel.java - Moved to gnu.javax.swing.. namespace. - * examples/gnu/classpath/examples/swing/Demo.java: - (themesMenu): New field. Used to disable theme switch in - non-Metal-L&Fs. - (mkMenuBar): Added L&F menu. - (ChangeThemeAction.actionPerformed): Only switch theme when - in Metal L&F. - (ChangeLAFAction): New class used for changing themes. - * javax/swing/UIManager.java - (installed): Added GNU L&F as installed L&F. - -2006-03-16 Mark Wielaard - - * examples/gnu/classpath/examples/swing/badge.png: Removed. - * examples/gnu/classpath/examples/icons/badge.png: Added. - * examples/gnu/classpath/examples/swing/DemoDesktop.java: Use badge - from icon directory. - -2006-03-15 Thomas Fitzsimmons - - * examples/gnu/classpath/examples/awt/AnimationApplet.java: New - example. - * examples/gnu/classpath/examples/swing/FillRect.java: Likewise. - * examples/gnu/classpath/examples/awt/Demo.java: Add - AnimationApplet demo. - * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect - demo. - -2006-03-15 Thomas Fitzsimmons - - PR classpath/26486 - * gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics): Remove - method. - (handleEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (isInRepaint): - Remove field. - (beginNativeRepaint): Remove method. - (endNativeRepaint): Likewise. - (handleEvent): Call paintComponent and updateComponent. - (paintComponent): New method. - (updateComponent): Likewise. - (repaint): Return early if width or height is less than one. - (postExposeEvent): Remove isInRepaint reference. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java: (getGraphics): - Remove method. - * gnu/java/awt/peer/gtk/GtkDialogPeer.java (getGraphics): Inherit - from GtkWindowPeer. - (postMouseEvent): Likewise. - (postExposeEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (updateComponent): - Override to do nothing. - * gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics): Inherit - from GtkWindowPeer. - (postMouseEvent): Likewise. - (postExposeEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Inherit - paint and update handling from GtkComponentPeer. - (updateComponent): Override to call paintComponent. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Replace - gdk_flush calls with schedule_flush calls. - (flush): New function. - (schedule_flush): Likewise. - -2006-03-15 Tom Tromey - - * java/beans/beancontext/BeanContextSupport.java (BCSChild): New - constructor. - (BCSIterator): Likewise. - * java/beans/beancontext/BeanContextServicesSupport.java (BCSSChild): - New constructor. - (BCSSProxyServiceProvider): Likewise. - (BCSSServiceProvider): Likewise. - -2006-03-15 Tom Tromey - - * javax/sound/midi/Track.java (Track): New constructor. - (events): Now package-private. - * javax/sound/midi/MidiUnavailableException.java - (MidiUnavailableException): Removed invalid constructors. - * javax/sound/midi/MidiSystem.java (MidiSystem): New constructor. - * javax/sound/midi/InvalidMidiDataException.java - (InvalidMidiDataException): Removed invalid constructors. - * javax/sound/midi/Sequencer.java (hashCode): Now final. - * javax/sound/midi/SysexMessage.java (SysexMessage): Now protected. - * javax/sound/midi/ShortMessage.java (ShortMessage): Now protected. - (SYSTEM_EXCLUSIVE): Removed. - (getDataLength): Updated. - * javax/sound/midi/MidiDevice.java (Info): Now protected. - (equals): Now final - (getName): Now final. - (getVendor): Now final. - (getDescription): Likewise. - (hashCode): Likewise. - (getVersion): Likewise. - (toString): Likewise. - * javax/sound/midi/MetaMessage.java (MetaMessage): Now protected. - * javax/sound/sampled/ReverbType.java (getDecayTime): Now final. - (getEarlyReflectionDelay): Likewise. - (getEarlyReflectionIntensity): Likewise. - (getLateReflectionDelay): Likewise. - (getLateReflectionIntensity): Likewise. - (toString): Likewise. - * javax/sound/sampled/Port.java (toString): Now final. - * javax/sound/sampled/LineEvent.java (getFramePosition): Now final. - (getLine): Likewise. - (getType): Likewise. - * javax/sound/sampled/Mixer.java (Info): Now protected. - (getDescription): Now final. - (getName): Likewise. - (getVendor): Likewise. - (getVersion): Likewise. - (toString): Likewise. - * javax/sound/sampled/Control.java: Now abstract. - (Type.toString): Now final. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/util/LineTable.java (lines): Remove all occurances - of this redundant variable. - (LineTable): Assert that the number of line numbers and the number of - code indicies is the same. - -2006-03-15 Tom Tromey - - * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Now - final. - * javax/imageio/stream/ImageOutputStream.java (flushBefore): Javadoc - fix. - * java/util/zip/ZipFile.java (ENDNRD): New constant. - * java/util/zip/ZipConstants.java (ENDNRD, ENDDCD): Removed. - * java/util/zip/Inflater.java (end): Not deprecated. - * java/util/zip/Deflater.java (end): Not deprecated. - * java/text/Bidi.java (Bidi): Now final. - * java/nio/MappedByteBuffer.java (finalize): Now protected. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/util/Location.java: Rewrite using VMMethod. - (Location): Index is a long, not an int. - (getMethod): New method. - (getIndex): New method. - (toString): New method. - -2006-03-15 Tom Tromey - - * java/awt/image/RescaleOp.java (getRenderingHints): Now final. - * java/awt/image/LookupOp.java (filter): Now final. - (getBounds2D): Likewise. - (getPoint2D): Likewise. - (getTable): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/ConvolveOp.java (filter): Now final. - (getBounds2D): Likewise. - (getKernel): Likewise. - (getPoint2D): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/BandCombineOp.java (getPoint2D): Now final. - (getMatrix): Likewise. - (getBounds2D): Likewise. - (getRenderingHints): Likewise. - * java/awt/image/AffineTransformOp.java (getPoint2D): Now final. - * java/awt/Button.java (AccessibleAWTButton.serialVersionUID): Now - private. - * java/awt/dnd/DropTargetContext.java (TransferableProxy): Now - protected. - * java/awt/dnd/DropTarget.java (DropTargetAutoScroller): Now - protected. - * java/awt/MenuItem.java (AccessibleAWTMenuItem): Now protected. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java: - Update javadoc. - (matches): Implement. - -2006-03-15 Keith Seitz - - * gnu/classpath/jdwp/event/BreakpointEvent.java: New file. + * java/text/Collator.java: + (getInstance(Locale)): Check providers. + * java/text/spi/CollatorProvider.java: + New file. - * gnu/classpath/jdwp/exception/NativeMethodException.java: New file. - -2006-03-15 Tom Tromey - - * java/lang/StrictMath.java (signum): New methods. - -2006-03-15 Tom Tromey - - * .settings/org.eclipse.jdt.core.prefs: Set tabs to 8 spaces. - -2006-03-15 Lillian Angel - - PR classpath/24211 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked): - Added check to avoid segmentation fault. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed documentation. - (getComponentAt): Likewise. - -2006-03-15 Roman Kennke - - * javax/swing/JComponent.java - (dragBuffer): New field. - (dragBufferInitialized): New field. - (paint): Added facility for buffered dragging of components. - (initializeDragBuffer): New method. - (getConditionForKeyStroke): Removed deprecated flag. Adjusted - API docs. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BorderListener.mouseDragged): Turn on buffered dragging. - (BorderListener.mouseReleased): Turn off buffered dragging. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed documentation. - (getComponentAt): Likewise. - (findComponentAt): Likewise. - (findComponentAt): Likewise. - -2006-03-15 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (PropertyChangeHandler.propertyChange): Call enableActions(). - Fixed 'iconable' property name. - -2006-03-15 Chris Burdess - - Fixes PR 26700 - * gnu/xml/stream/XMLParser.java: Fix for detectEncoding false positive. - -2006-03-15 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java: - (desktop): New field. - (mkMenuBar): Added new subdemos. - (mkButtonWorld): Removed. - (CheckCellRenderer): Moved to ListDemo. - (LabelCellRenderer): Moved to ListDemo. - (mkTreeWorld): Moved to TreeDemo. - (mkDesktopWorld): Removed. - (mkTabWorld): Moved to TabbedPaneDemo. - (mkTabbedPane): Removed. - (Demo): Replaced 'worlds' tabbed pane with desktop. - (PopupAction): Made class non-static. - (PopupAction.actionPerformed): Bring up subdemos in internal - frame. - (mkButtonBar): Added new demos. - (createDesktop): New method. - * examples/gnu/classpath/examples/swing/DemoDesktop.java: New class. - * examples/gnu/classpath/examples/swing/ListDemo.java: New demo. - * examples/gnu/classpath/examples/swing/TreeDemo.java: New demo. - * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: New demo. - * examples/gnu/classpath/examples/swing/badge.png: New image file. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Fixed mistake in comments. - (getComponentAt): Likewise. - (locate): Likewise. Also, handled lightweight components. - Heavyweights take precedence over lightweights, so we should - iterate through the heavyweights first. - -2006-03-15 Lillian Angel - - * java/awt/Container.java - (getComponentAt): Added API documentation. - (getComponentAt): Likewise. - (locate): Likewise. Also, removed lines to ignore - invisible components. - (findComponentAt): Added API documentation. - (findComponentAt): Added API documentation. - (findComponentForMouseEvent): Removed, never used. - -2006-03-15 Roman Kennke - - * javax/swing/Popup.java - (LightweightPopup.show): Repaint the panel after showing it. - -2006-03-15 Lillian Angel +2007-01-04 Roman Kennke + PR 30122 * java/awt/Component.java - (show): repaint should only be called if the component - isShowing and isLightweight. + (getFont): Don't synchronize on tree lock here. The method is + thread-safe 'enough' by fetching local variables in getFontImpl(). -2006-03-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (setClosable): Made this property bound. - (setResizable): Made this property bound. - (setIconifiable): Made this property bound. - (setMaximizable): Made this property bound. - -2006-03-15 David Gilbert - - * javax/swing/table/TableColumn.java - (sizeWidthToFit): Implemented. - -2006-03-15 David Gilbert - - * javax/swing/table/TableColumn.java: API docs updated all over, plus - (setIdentifier): Fire required PropertyChangeEvent, - (setCellEditor): Likewise. - -2006-03-15 Roman Kennke - - * examples/gnu/classpath/examples/swing/ButtonDemo.java, - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java, - * examples/gnu/classpath/examples/swing/FileChooserDemo.java, - * examples/gnu/classpath/examples/swing/ProgressBarDemo.java, - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java, - * examples/gnu/classpath/examples/swing/SliderDemo.java, - * examples/gnu/classpath/examples/swing/SpinnerDemo.java, - * examples/gnu/classpath/examples/swing/TableDemo.java, - * examples/gnu/classpath/examples/swing/TextAreaDemo.java, - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: - Reworked to implemented DemoFactory and lazy loading of Sub-demos. - * examples/gnu/classpath/examples/swing/Demo.java: - Cleaned up. Reworked handling of Sub-demos to load lazily. - * examples/gnu/classpath/examples/swing/DemoFactory.java: - New interface. Used for loading the subdemos lazily. - -2006-03-15 Roman Kennke - - * javax/swing/plaf/basic/BasicToolBarUI.java - (PropertyListener.propertyChange): Added null check to avoid NPE. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (COLUMN_WIDTH_PROPERTY): Updated API docs, - (width): Likewise. - (minWidth): Likewise, - (preferredWidth): Likewise, - (maxWidth): Likewise, - (headerRenderer): Likewise, - (cellRenderer): Likewise, - (cellEditor): Likewise, - (changeSupport): Likewise, - (firePropertyChange(String, Object, Object)): Removed, - (firePropertyChange(String, int. int)): Likewise, - (firePropertyChange(String, boolean, boolean)): Likewise, - (setModelIndex): Fire property change, - (setHeaderValue): Call changeSupport directly to generate event, - (setHeaderRenderer): Likewise, - (setCellRenderer): Likewise, - (setWidth): Likewise, - (setPreferredWidth): Likewise, - (setMinWidth): Likewise, - (setMaxWidth): Likewise, - (createDefaultHeaderRenderer): Added API docs. - -2006-03-14 Roman Kennke - - * examples/gnu/classpath/examples/swing/Demo.java - Removed static initializer. - (mkMenuBar): Made method non-static. Added themes menu. - (ChangeThemeAction): New inner class, used to change themes. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (setMaxWidth): Updated width and preferredWidth if necessary, - (getMaxWidth): Updated API docs. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/basic/BasicSliderUI.java - (TrackListener.mouseDragged): Only process event when slider is - enabled. - (TrackListener.mouseReleased): Only process event when slider is - enabled. - (TrackListener.mousePressed): Only process event when slider is - enabled. - -2006-03-14 Roman Kennke - - * NEWS: Added note about OceanTheme support. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalIconFactory.java - (HorizontalSliderThumbIcon.gradientMask): New field - (HorizontalSliderThumbIcon.paintIcon): Added support for the - OceanTheme. - (VerticalSliderThumbIcon.gradientMask): New field - (VerticalSliderThumbIcon.paintIcon): Added support for the - OceanTheme. - * javax/swing/plaf/metal/MetalUtils.java - (paintHorizontalGradient): Fixed painting of 'masked' gradients. - (paintVerticalGradient): Fixed painting of 'masked' gradients. - -2006-03-14 Mark Wielaard - - Fixes bug #26641 - * java/awt/LightweightDispatcher.java (dispatchEvent): Return result - of handleMouseEvent. - (handleMouseEvent): Return boolean to indicate whether we handled the - event by passing it to a lightweight. - -2006-03-14 Wolfgang Baer - - * org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java, - * org/omg/PortableServer/ServantActivatorPOA.java, - * org/omg/PortableServer/ServantLocatorPOA.java: - Make class abstract and minor api docs fixlets. - * org/omg/PortableServer/ForwardRequest.java, - * org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java, - * org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java, - * org/omg/PortableServer/POAPackage/AdapterNonExistent.java, - * org/omg/PortableServer/POAPackage/InvalidPolicy.java, - * org/omg/PortableServer/POAPackage/NoServant.java, - * org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java, - * org/omg/PortableServer/POAPackage/ObjectNotActive.java, - * org/omg/PortableServer/POAPackage/ServantAlreadyActive.java, - * org/omg/PortableServer/POAPackage/ServantNotActive.java, - * org/omg/PortableServer/POAPackage/WrongAdapter.java, - * org/omg/PortableServer/POAPackage/WrongPolicy.java, - * org/omg/PortableServer/POAManagerPackage/AdapterInactive.java, - * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java, - * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java, - * org/omg/PortableServer/CurrentPackage/NoContext.java: Make class final. - -2006-03-14 Wolfgang Baer - - * NEWS: Added entry about printing support. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (COLUMN_WIDTH_PROPERTY): Updated API docs, - (isResizable): Likewise, - (setWidth): Likewise, - (getWidth): Likewise, - (setPreferredWidth): Likewise, - (getPreferredWidth): Likewise, - (setMinWidth): Check for negative argument and update width and - preferredWidth if necessary, - (getMinWidth): Updated API docs. - -2006-03-14 Lillian Angel - - * java/awt/Container.java - (addImpl): Removed call to repaint. No need to repaint here. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalSliderUI.java - (paintTrack): Added OceanTheme support. - -2006-03-14 David Gilbert - - * javax/swing/table/TableColumn.java - (setResizable): Fire PropertyChangeEvent if the flag value changes, - (isResizable): Updated API docs. - -2006-03-14 David Gilbert - - * javax/swing/LookAndFeel.java: Updated API docs. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (paintGradient): Added support for 'masked' gradients. - (paintHorizontalGradient): Likewise. - (paintVerticalGradient): Likewise. - * javax/swing/plaf/metal/MetalIconFactory.java - (RadioButtonIcon.gradientMask): New field. - (RadioButtonIcon.paintIcon): Added mask for gradient painting. - -2006-03-14 Mark Wielaard - - Fixes bug #26645. - * javax/swing/plaf/basic/BasicComboBoxEditor.java (listener): - New field. - (removeActionListener): Add listener to ComboBoxEditorListener. - (removeActionListener): Remove listener from ComboBoxEditorListener. - (ComboBoxEditorListener): New static helper class. - -2006-03-14 Roman Kennke - - * javax/swing/plaf/metal/MetalBorders.java - (getToolBarButtonBorder): Don't create a UIResource border - here. - * javax/swing/plaf/metal/MetalToolBarUI.java - (installUI): New overridden method. Installs the rollover property. - (uninstallUI): New overridden method. Resets the rollover property. - * javax/swing/plaf/metal/MetalUtils.java - (paintGradient): Fetch Float values from the UIManager. Adjusted - method signatures accordingly. - (paintHorizontalGradient): Adjusted signature to accept float - instead of double. - (paintVerticalGradient): Adjusted signature to accept float - instead of double. - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Added missing UIDefaults entries, - except of Icons. Fixed gradient entries to use Float instead - of Double. - -2006-03-14 Roman Kennke - - * javax/swing/JInternalFrame.java - (JInternalFrame): Make JInternalFrame opaque. - * javax/swing/JToolBarFrame.java - (JToolBar): Make JToolBar opaque. - -2006-03-14 David Gilbert - - * javax/swing/tree/TreeNode.java: Fixed bad API doc tags, - * javax/swing/tree/TreePath.java: Likewise. - -2006-03-13 Tom Tromey - - * javax/swing/text/html/StyleSheet.java (removeAttributes): - Genericized. - * javax/swing/plaf/synth/SynthLookAndFeel.java (load): Genericized. - * java/rmi/server/RMIClassLoader.java (loadProxyClass): Genericized. - -2006-03-13 Keith Seitz - - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeMethods): Output number of methods. - -2006-03-13 Roman Kennke - - * javax/swing/plaf/basic/BasicButtonUI.java - (uninstallDefaults): Only uninstall border if it's a UIResource. - * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java - (SystemMenuBar.isFocusTraversable): Fixed typo in signature. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installUI): Don't touch the opaque flag of the glassPane and - the frame. Don't invalidate. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installUI): Don't touch the opaque flag of the glassPane. - * javax/swing/plaf/basic/BasicMenuBarUI.java - (properyChangeListener): Made field private. - (ChangeHandler): Made class private. - (ContainerHandler): Made class private. - (PropertyChangeHandler): Made class private. - * javax/swing/plaf/basic/BasicMenuUI.java - (MenuHandler): Made class private. - (PropertyChangeHandler): Removed unneeded class. - (MenuDragMouseHandler): Made class private. - (MenuKeyHandler): Made class private. - * javax/swing/plaf/basic/BasicPanelUI.java - (installDefaults): Made method protected. Don't set opaque - flag. - * javax/swing/plaf/basic/BasicScrollBarUI.java - (TrackListener.shouldScroll): Made method private. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager): - Made constructor package private. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (cellBorder): Made field private. - * javax/swing/plaf/basic/BasicTextUI.java - (installDefaults): Don't make component opaque. - * javax/swing/plaf/basic/BasicToolBarUI.java - (createNonRollOverBorder): Don't create UIResource border. - (createRollOverBorder): Don't create UIResource border. - (installComponents): Moved setRolloverBorders call here. - (installDefaults): Moved setRolloverBorders call from here. - (installUI): Don't make toolbar opaque. - (setBorderToNonRollover): Handle AbstractButton instead of - JButton here. - (uninstallComponents): Don't nullify class fields here. - -2006-03-13 David Gilbert - - * javax/swing/SwingUtilities.java - (calculateInnerArea): handle null component, and replace - getLocalBounds() with getBounds(Rectangle) to avoid unnecessary object - creation. - -2006-03-13 Roman Kennke - - * javax/swing/JColorChooser.java - (updateUI): Don't call revalidate(). - * javax/swing/JComboBox.java - (updateUI): Don't call invalidate(). - * javax/swing/JDesktopPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JFileChooser.java - (updateUI): Don't call revalidate(). - * javax/swing/JMenu.java - (updateUI): Don't call invalidate(). - * javax/swing/JMenuBar.java - (updateUI): Don't call invalidate(). - * javax/swing/JMenuItem.java - (updateUI): Don't call invalidate(). - * javax/swing/JOptionPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JPopupMenu.java - (updateUI): Don't call invalidate(). - * javax/swing/JProgressBar.java - (updateUI): Don't call invalidate(). - * javax/swing/JScrollBar.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JScrollPane.java - (updateUI): Rewritten to be like the other updateUI() - methods. - * javax/swing/JSlider.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JSplitPane.java - (updateUI): Don't call invalidate() and repaint(). - * javax/swing/JTabbedPane.java - (updateUI): Don't call invalidate(). - * javax/swing/JTable.java - (updateUI): Don't call revalidate() and repaint(). - * javax/swing/JToolBar.java - (updateUI): Don't call revalidate() and repaint(). - * javax/swing/JToolTip.java - (updateUI): Don't call revalidate() and repaint(). - -2006-03-13 Roman Kennke - - * javax/swing/SwingUtilities.java - (updateComponentTreeUI): Rewritten to be more robust. Handling of - menus and non-Swing components is improved. - (updateComponentTreeUIImpl): New helper method. - (replaceUIActionMap): Added check for uiActionMap==parent to - avoid loop. - (replaceUIInputMap): Added check for uiInputMap==parent to - avoid loop. - -2006-03-13 Wolfgang Baer - - * gnu/classpath/debug/Component.java: - (IPP) New component for IPP debugging. - (EVERYTHING): Adapted to include IPP. - * javax/print/PrintServiceLookup.java: - (registerServiceProvider): New method. - (registerService): Likewise. - (lookupPrintServices): Likewise. - (lookupMultiDocPrintServices): Likewise. - (lookupDefaultPrintService): Likewise. - (static_initializer): Likewise. - (printServiceLookups): New field for found service providers. - (printServices): New field for application registered providers. - (systemProvider): New field for the system provider. - * javax/print/ServiceUI.java: New file. - * javax/print/package.html: Added more usage content. - * javax/print/event/package.html: Likewise. - * javax/print/attribute/package.html: Likewise. - * javax/print/attribute/standard/package.html: Likewise. - * gnu/javax/print/PrintUriException.java, - gnu/javax/print/PrintFlavorException.java, - gnu/javax/print/PrinterDialog.java, - gnu/javax/print/PrintAttributeException.java, - gnu/javax/print/CupsPrintServiceLookup.java, - gnu/javax/print/CupsServer.java, - gnu/javax/print/CupsPrintService.java, - gnu/javax/print/CupsMediaMapping.java, - gnu/javax/print/CupsIppOperation.java: - New implementation files of the Java Print Service API. - * gnu/javax/print/ipp/IppValueTag.java, - gnu/javax/print/ipp/MultiDocPrintJobImpl.java, - gnu/javax/print/ipp/IppStatusCode.java, - gnu/javax/print/ipp/IppUtilities.java, - gnu/javax/print/ipp/IppResponse.java, - gnu/javax/print/ipp/IppException.java, - gnu/javax/print/ipp/IppPrintService.java, - gnu/javax/print/ipp/IppRequest.java, - gnu/javax/print/ipp/IppMultiDocPrintService.java, - gnu/javax/print/ipp/IppDelimiterTag.java, - gnu/javax/print/ipp/DocPrintJobImpl.java: - New files of the IPP client implementation. - * gnu/javax/print/ipp/attribute/UnknownAttribute.java, - gnu/javax/print/ipp/attribute/StatusMessage.java, - gnu/javax/print/ipp/attribute/RequestedAttributes.java, - gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java, - gnu/javax/print/ipp/attribute/DocumentAccessError.java, - gnu/javax/print/ipp/attribute/DetailedStatusMessage.java, - gnu/javax/print/ipp/attribute/DefaultValueAttribute.java, - gnu/javax/print/ipp/attribute/CharsetSyntax.java: - New attribute syntax/role files of the printing implementation. - * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java, - gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java, - gnu/javax/print/ipp/attribute/supported/SidesSupported.java, - gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, - gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java, - gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, - gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java, - gnu/javax/print/ipp/attribute/supported/ - OrientationRequestedSupported.java, - gnu/javax/print/ipp/attribute/supported/OperationsSupported.java, - gnu/javax/print/ipp/attribute/supported/ - MultipleDocumentHandlingSupported.java, - gnu/javax/print/ipp/attribute/supported/ - MultipleDocumentJobsSupported.java, - gnu/javax/print/ipp/attribute/supported/MediaSupported.java, - gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java, - gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java, - gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java, - gnu/javax/print/ipp/attribute/supported/ - GeneratedNaturalLanguageSupported.java, - gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java, - gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java, - gnu/javax/print/ipp/attribute/supported/CompressionSupported.java, - gnu/javax/print/ipp/attribute/supported/CharsetSupported.java: - New supported attribute files. - * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java, - gnu/javax/print/ipp/attribute/printer/DocumentFormat.java, - gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java, - gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java, - gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java, - gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java, - gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java, - gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: - New printer description attribute files. - * gnu/javax/print/ipp/attribute/job/AttributesCharset.java, - gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java, - gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java, - gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java, - gnu/javax/print/ipp/attribute/job/JobPrinterUri.java, - gnu/javax/print/ipp/attribute/job/JobId.java, - gnu/javax/print/ipp/attribute/job/JobMoreInfo.java, - gnu/javax/print/ipp/attribute/job/JobUri.java, - gnu/javax/print/ipp/attribute/job/JobStateMessage.java: - New job description attribute files. - * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java, - gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java, - gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java, - gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java, - gnu/javax/print/ipp/attribute/defaults/MediaDefault.java, - gnu/javax/print/ipp/attribute/defaults/ - MultipleDocumentHandlingDefault.java, - gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java, - gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java, - gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java, - gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java, - gnu/javax/print/ipp/attribute/defaults/SidesDefault.java: - New default printing attribute files. - * resource/gnu/javax/print/PrinterDialog.properties: New file. - * resource/gnu/javax/print/PrinterDialog_de.properties: Likewise. - * examples/gnu/classpath/examples/print/Demo.java: - New demo application of the current implemented functionality. - -2006-03-13 Audrius Meskauskas - - * java/rmi/activation/ActivationGroupDesc.java: Implemented. - java/rmi/activation/ActivationDesc.java.java, - java/rmi/activation/ActivationGroup.java, - java/rmi/activation/ActivationID.java, - java/rmi/activation/ActivationMonitor.java, - java/rmi/activation/ActivationSystem.java, - java/rmi/activation/package.html: Documenting. - -2006-03-13 Roman Kennke - - * javax/swing/JInternalFrame.java - (setSelected): Repaint frame when it is showing and the selection - state changes. - -2006-03-13 Roman Kennke - - * javax/swing/AbstractButton.java - (AbstractAccessibleButton.getAccessibleRelationSet): Return super....() - instead of null. - -2006-03-13 Roman Kennke - - * javax/accessibility/AccessibleContext.java - (getAccessibleRelationSet): Return empty set instead of null. - -2006-03-13 Roman Kennke - - * javax/swing/ImageIcon.java - (loadImage): Remove completed images from the MediaTracker. This - avoids a potential memory leak. - -2006-03-12 Wolfgang Baer - - * javax/print/MultiDocPrintService.java, - * javax/print/MultiDocPrintJob.java, - * javax/print/MultiDoc.java: Added and enhanced documentation. - -2006-03-12 Audrius Meskauskas - - * java/rmi/activation/ActivationID.java (uid): New field. - (writeExternal, readExternal): New methods. - (equals, hashCode): Rewritten. - * java/rmi/activation/ActivationInstantiator.java, - * java/rmi/activation/ActivationSystem.java, - * java/rmi/activation/Activator.java, - * java/rmi/activation/Activatable.java, - * java/rmi/activation/ActivationGroup.java, - * java/rmi/activation/ActivationGroupDesc.java: - Documented and autoformatted. - * java/rmi/activation/package.html: Added content. - -2006-03-12 Chris Burdess - - Fixes PR 26652 - * gnu/xml/stream/XMLParser.java: Fix for case when both reader and - encoding are specified. - -2006-03-11 David Gilbert - - * javax/swing/DefaultSingleSelectionModel.java: API docs all over, plus - (changeEvent): Initialise in fireStateChange(), - (setSelectedIndex): Check if change is made before firing event, - (clearSelection): Delegate to setSelectedIndex(), - (fireStateChanged): Initialise changeEvent if necessary, - * javax/swing/SingleSelectionModel.java: API docs all over. - -2006-03-11 Tom Tromey - - * java/util/zip/InflaterInputStream.java: Reverted previous - patch. - -2006-03-11 Mark Wielaard - - * java/text/AttributedCharacterIterator.java (Attribute.readResolve): - Compare name. - -2006-03-11 David Gilbert - - * javax/swing/event/TreeSelectionEvent.java - (isAddedPath(TreePath)): Throw IllegalArgumentException if path is - not one of the added/removed paths, - (cloneWithSource): Reformatted. - -2006-03-11 David Gilbert - - * javax/swing/tree/TreeCellEditor.java: Added API docs, - * javax/swing/tree/TreeCellRenderer.java: Likewise. - -2006-03-10 Casey Marshall - - Fixes PR 23768. - * javax/crypto/Cipher.java (doFinal, doFinal, doFinal): don't - reset `state.' - (doFinal, update): new methods. - (init, init, init, init): initialize `state' after trying the - implementation, which can throw an exception. - * javax/crypto/CipherSpi.java (engineDoFinal, engineUpdate): new - methods. - -2006-03-11 Ito Kazumitsu - - * gnu/regexp/BacktrackStack.java: New file. - * gnu/regexp/RE.java(findMatch): New method. - * gnu/regexp/REMatch.java(next,matchFlags,MF_FIND_ALL, - REMatchList): Removed. (backtrackStack): New field. - * gnu/regexp/REToken.java(match): Changed from an abstract - method to an ordinary method defined with the new method - matchThis. (matchThis, getNext, findMatch, returnsFixedLengthMatches, - findFixedLengthMatches, backtrack, toString): New methods. - * gnu/regexp/RETokenAny.java: Inplemented new methods of REToken. - * gnu/regexp/RETokenBackRef.java: Likewise. - * gnu/regexp/RETokenChar.java: Likewise. - * gnu/regexp/RETokenEnd.java: Likewise. - * gnu/regexp/RETokenEndSub.java: Likewise. - * gnu/regexp/RETokenIndependent.java: Likewise. - * gnu/regexp/RETokenLookAhead.java: Likewise. - * gnu/regexp/RETokenLookBehind.java: Likewise. - * gnu/regexp/RETokenNamedProperty.java: Likewise. - * gnu/regexp/RETokenPOSIX.java: Likewise. - * gnu/regexp/RETokenRange.java: Likewise. - * gnu/regexp/RETokenStart.java: Likewise. - * gnu/regexp/RETokenWordBoundary.java: Likewise - * gnu/regexp/RETokenOneOf.java: Rewriten. - * gnu/regexp/RETokenRepeated.java: Rewriten. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/MetalBorders.java - (RolloverButtonBorder.paintBorder): Only call super here. - * javax/swing/plaf/metal/MetalButtonListener.java - (propertyChange): Only call super here. - * javax/swing/plaf/metal/MetalButtonUI.java - (update): Changed condition from isOpaque() to isContentAreaFilled() - for the gradient fill. - * javax/swing/plaf/metal/MetalToggleButtonUI.java - (paintText): API doc fix. Makes paintText not deprecated as specified - but adds comment that this is obsolete. - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Fixed condition so that the Java2D is not - used when the noGraphics2D property is set. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (createDefaultTheme): Set OceanTheme as default metal theme. - -2006-03-10 Roman Kennke - - * javax/swing/text/WrappedPlainView.java - (metrics): Made field package private to avoid accessor method. - (WrappedLine.paint): Call drawLine with y offset of the font ascent. - The drawLine (righly) interprets the y parameter as the baseline. - * javax/swing/text/Utilities.java - (getBreakLocation): Don't consider the offset. The returned value - for getTabbedTextOffset is already relative to the offset. - -2006-03-10 Wolfgang Baer - - * gnu/java/net/protocol/http/Headers.java: Added documentation all over. - (dateFormat): Made private. - (put): Replace only the last occurance and the value. - (putAll): Save one iteration. Clarified documentation. - -2006-03-10 Tom Tromey - - * java/util/zip/InflaterInputStream.java (read): Replace with libgcj - implementation. - * java/util/zip/GZIPInputStream.java (readHeader): Use DEFLATED, - not '8'. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c - (comboboxgroup_get_widget): New function. - (removed): Fixed to use new function to get the correct widget. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (nativeSetCheckboxGroup): Reverted last patch to use get_widget - function. - -2006-03-10 Lillian Angel - - * java/awt/GridBagLayout.java - (ArrangeGrid): Added checks to determine if component - is placed last in a row or column. If so, the location - of the last component should be used to get the location - of the current component. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (nativeSetCheckboxGroup): No need to use new function here. - Should just pass in pointer. - -2006-03-10 Lillian Angel - - * java/awt/GridBagLayout.java - (distributeSizeAndWeight): Change else if to else. This - allows for components to be added to a new row when - their gridheight is REMAINDER. - -2006-03-10 Audrius Meskauskas - - * java/rmi/activation/ActivationDesc.java, - java/rmi/activation/ActivationGroupID.java, - java/rmi/activation/Activator.java, - java/rmi/server/Operation.java, - java/rmi/server/RemoteServer.java: Documented and formatted. - -2006-03-10 David Gilbert - - * javax/swing/JToggleButton.java: Fixed API doc tags, - * javax/swing/OverlayLayout.java: Likewise. - -2006-03-10 David Gilbert - - * javax/swing/DefaultCellEditor.java - (cancelCellEditing): Removed spurious API doc tag. - -2006-03-10 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (create): Put checkbox widget into an event box so it paints properly. - (connectSignals): Fixed to use new function. - (nativeSetCheckboxGroup): Likewise. - (gtkToggleButtonSetActive): Likewise. - (gtkWidgetModifyFont): Likewise. - (gtkButtonSetLabel): Likewise. - (combobox_get_widget): New function. - -2006-03-10 David Gilbert - - * javax/swing/text/rtf/package.html: New file. - -2006-03-10 Roman Kennke - - * javax/swing/plaf/metal/OceanTheme.java - (addCustomEntriesToTable): Fixed ScrollBar.gradient value. - * javax/swing/plaf/metal/MetalScrollBarUI.java - (paintThumb): Only draw Metal pattern if theme is not OceanTheme. - (paintThumbHorizontal): Added handling of OceanTheme. - (paintThumbVertical): Added handling of OceanTheme. - -2006-03-10 Roman Kennke - - Reported by Fridjof Siebert - * java/awt/MediaTracker.java - (removeImage): Only set prev to e when the the images of the - entries are not the same. This avoids a potentially corrupt list. - -2006-03-10 Chris Burdess - - PR 26620: - * gnu/xml/transform/TransformerImpl.java: Suspend wellformedness - checking while reindenting. - -2006-03-10 Thomas Fitzsimmons - - * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: New file. - -2006-03-09 Tom Tromey - - PR classpath/26585: - * tools/Makefile.am (TOOLSdir): Don't put tools.zip in tools - subdir. Added README. - (install-data-local): Removed. - (uninstall-local): Likewise. - (EXTRA_DIST): Removed. - -2006-03-09 Tom Tromey - - PR classpath/26623: - * native/jni/qt-peer/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/midi-alsa/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-net/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-lang/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/xmlj/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/gtk-peer/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/midi-dssi/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-io/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-nio/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jni/java-util/Makefile.am (nativeexeclib_LTLIBRARIES): - Renamed. - * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Renamed. - * configure.ac (nativeexeclibdir): Renamed from nativelibdir. - -2006-03-09 Keith Seitz - - * gnu/classpath/jdwp/processor/MethodCommandSet.java - (executeVariableTable): Use VMMethod instead of reflection. - (executeLineTable): Likewise. - * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java - (executeMethods): Rewrite to use new VMVirtualMachine.getAllClassMethods. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getLineTable): Removed. Now resides in VMMethod. - (getVarTable): Likewise. - (getAllClassMethods): New method. - -2006-03-09 Keith Seitz - - * gnu/classpath/jdwp/event/EventManager.java: Update javadoc. - * gnu/classpath/jdwp/event/ThreadStartEvent.java - (ThreadStartEvent): Likewise. - * gnu/classpath/jdwp/event/VmDeathEvent.java (VmDeathEvent): Likewise. - * gnu/classpath/jdwp/event/filters/ConditionalFilter.java - (ConditionalFilter): Likewise. - * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java - (ExceptionOnlyFilter): Likewise. - * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java - (FieldOnlyFilter): Likewise. - * gnu/classpath/jdwp/event/filters/StepFilter.java (getDepth): Likewise. - (getSize): Likewise. - (StepFilter): Likewise. - * gnu/classpath/jdwp/id/JdwpId.java: Likewise (for _tag). - * gnu/classpath/jdwp/transport/JdwpPacket.java - (JdwpPacket): Likewise. - (fromBytes): Likewise. - * gnu/classpath/jdwp/transport/JdwpReplyPacket.java - (JdwpReplyPacket): Likewise. - * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Likewise. - * vm/reference/gnu/classpath/jdwp/VMIdManager.java - (getReferenceType): Likewise. - (newObjectId): Likewise. - * vm/reference/gnu/classpath/jdwp/VMMethod.java (readId): Likewise. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getFrames): Fix typo in parameter name and update javadoc. - (getClassMethod): Update javadoc. - -2006-03-09 David Gilbert - - * javax/swing/event/TreeSelectionEvent.java: Updated API docs, - * javax/swing/event/TreeSelectionListener.java: Likewise. - -2006-03-09 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c - (getHScrollbarHeight): Fixed property name. - (getVScrollbarHeight): Likewise. - -2006-03-09 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c - (get_widget): New function. - (gtkWidgetSetParent): Changed to use new function. - (gtkWidgetSetCursorUnlocked): Likewise. - (gtkWidgetSetSensitive): Likewise. - (gtkWidgetRequestFocus): Likewise. - (gtkWindowGetLocationOnScreen): Likewise. - (gtkWidgetGetDimensions): Likewise. - (gtkWidgetGetPreferredDimensions): Likewise. - (setNativeBounds): Likewise. - (gtkWidgetGetBackground): Likewise. - (gtkWidgetGetForeground): Likewise. - (gtkWidgetSetBackground): Likewise. - (gtkWidgetSetForeground): Likewise. - (setVisibleNativeUnlocked): Likewise. - (isEnabled): Likewise. - (isRealized): Likewise. - (setNativeEventMask): Likewise. - -2006-03-09 Lillian Angel - - PR Classpath\22163 - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c - (create): Added combobox widget to an event box. - (connectSignals): Added call to choice_get_widget to get the - combobox out of the event box. - (append): Likewise. - (nativeRemoveAll): Likewise. - (nativeRemove): Likwise. - (nativeAdd): Likewise. - (selectNative): Likewise. - (choice_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c - (create): Added list scroll window widget to an event box. - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (getWidgetModifyFont): Likewise. - (getWidgetRequestFocus): Likewise. - (append): Likewise. - (add): Likewise. - (delItems): Likewise. - (select): Likewise. - (deselect): Likewise. - (getSize): Likewise. - (getSelectedIndexes): Likewise. - (makeVisible): Likewise. - (setMultipleMode): Likewise. - (list_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c - (create): Added scrollpane to an eventbox. - (setScrollPosition): Changed call to use new function to get the - correct widget out of the event box. - (gtkScrolledWindowSetHScrollIncrement): Likewise. - (gtkScrolledWindowSetVScrollIncrement): Likewise. - (getHScrollbarHeight): Likewise. - (getVScrollbarWidth): Likewise. - (setPolicy): Likewise. - (scrollpane_get_widget): New function. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (create): Added scrollbar to an eventbox. - (setLineIncrement): Changed call to use new function to get the - correct widget out of the event box. - (setPageIncrement): Likewise. - (setBarValues): Likewise. - (scrollbar_get_widget): New function. - * native/jni/gtk-peer/gnu_java_gnu_java_awt_peer_gtk_GtkTextAreaPeer.c - (create): Added text area scroll window widget to an event box. - (connectSignals): Changed call to use new function to get the - correct widget out of the event box. - (insert): Likewise. - (replaceRange): Likewise. - (gtkWidgetModifyFont): Likewise. - (gtkWidgetRequestFocus): Likewise. - (getHScrollbarHeight): Likewise. - (getVScrollbarWidth): Likewise. - (getCaretPosition): Likewise. - (setCaretPosition):Likewise. - (getSelectionStart): Likewise. - (getSelectionEnd): Likewise. - (select): Likewise. - (setEditable): Likewise. - (getText): Likewise. - (setText): Likewise. - (textarea_get_widget): New function. - -2006-03-09 Audrius Meskauskas - - * java/rmi/dgc/VMID.java: - (equals, hashCode, static initializer): Rewritten. - * java/rmi/dgc/package.html: Documented. - -2006-03-09 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkClipboard.java (clipboard, selection): - New static field. - (stringMimeType, imageMimeType, filesMimeType): Initialize directly. - (canCache): Likewise. - (GtkClipboard): Take String argument. - (getInstance): Removed. - (getClipboardInstance, getSelectionInstance): New static methods. - (setSystemContents): Make synchronized. Takes boolean argument. - (initNativeState): Add clipboard and selection. - * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java - (announceClipboardChange, announcePrimaryChange): New static field. - (announce): Take GtkClipboard as argument. - (run): Check which clipboard to announce change for. - * gnu/java/awt/peer/gtk/GtkSelection.java (clipboard): New final - boolean field. - (GtkSelection): Take GtkClipboard as argument. - (requestText, requestImage, requestURIs, requestBytes): Add boolean - clipboard argument. - (requestMimeTypes): Likewise. - * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemSelection): - New method. - * java/awt/Toolkit.java (getSystemSelection): Document. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c - (cp_gtk_selection_instance): New var. - (current_selection, owner): Removed. - (clipboard_owner_change_cb): Use clipboard argument. - (initNativeState): Store clipboard and selection instances. Cache - setSystemContentsID, provideContentID, provideTextID, provideImageID, - and provideURIsID. - (clipboard_get_func): Use clipboard argument. - (clipboard_clear_func): Likewise. Always call method. - (advertiseContent): Don't cache method ids here. Check whether to - use clpboard or selection. Don't set owner or current_selection. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c - (requestText, requestImage, requestURIs, requestBytes): Use extra - boolean argument to select clipboard. - * native/jni/gtk-peer/gtkpeer.h (cp_gtk_selection): New extern. - (cp_gtk_clipboard_instance, cp_gtk_selection_instance): Likewise. - * include/gnu_java_awt_peer_gtk_GtkClipboard.h: Regenerate. - * include/gnu_java_awt_peer_gtk_GtkSelection.h: Likewise. - -2006-03-09 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java: Remove unused imports. - * gnu/classpath/jdwp/event/EventRequest.java: Likewise. - * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java: Likewise. - * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: Likewise. - * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: Likewise. - * gnu/classpath/jdwp/transport/ITransport.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMIdManager.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMMethod.java: Likewise. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java: Likewise. - -2006-03-09 Mark Wielaard - - * javax/swing/JList.java (ensureIndexIsVisible): Check whether cell - bounds for index is valid. - * javax/swing/plaf/basic/BasicListUI.java (valueChanged): Likewise. - (paint): Likewise. - (getCellBounds): Update documentation. - -2006-03-09 Arnaud Vandyck - - * .classpath: added exclude pattern on source folders - (Makefiles, README and .cvsignore) - -2006-03-08 Michael Koch - - * java/net/Proxy.java (NO_PROXY): Made final. - (equals): Likewise. - (hashCode): Likewise. - -2006-03-08 Keith Seitz - - * vm/reference/gnu/classpath/jdwp/VMMethod.java: New file. - * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java - (getClassMethod): New method. - -2006-03-08 Audrius Meskauskas - - * java/rmi/server/UID.java (getMachineId): Include the host IP address. - -2006-03-08 Audrius Meskauskas - - * java/rmi/server/ObjID.java: Documented and autoformatted. - -2006-03-08 Audrius Meskauskas - - PR 26584 - * tools/Makefile.am (install-data-local, - uninstall-local): Install/uninstall the tools/README only. - * tools/gnu/classpath/tools/giop/README: Updated. - * tools/README: New file. - -2006-03-08 Lillian Angel - - * java/awt/GridBagLayout.java - (GetLayoutInfo): If the last component added had gridwidth == REMAINDER, - then the next item should be set to current_y (not 0). - -2006-03-08 Lillian Angel - - * java/awt/GridBagLayout.java - (GetLayoutInfo): If gridy is RELATIVE and there is no component - in the bottom-most spot of the column, we need to place that component - at the y-location of the other components in that row. If there are - no other components in that row, then place it at y = 0. - -2006-03-08 David Gilbert - - * javax/swing/ProgressMonitor.java: Updated API docs, - * javax/swing/ProgressMonitorInputStream.java: Likewise. - -2006-03-08 Michael Koch - - * java/net/InetSocketAddress.java - (InetSocketAddress(String,int,resolve)): New private contructor. - (InetSocketAddress(String,int)): Use new private constructor. - (createUnresolved): New method. - -2006-03-07 Michael Koch - - * gnu/java/net/DefaultProxySelector.java, - java/net/Proxy.java, java/net/ProxySelector.java: - New files. - -2006-03-07 Audrius Meskauskas - - * java/rmi/server/UID.java (constructor): Assign last and time fields - after pause. - -2006-03-07 Audrius Meskauskas - - * java/rmi/server/UID.java: New file (replacing). - -2006-03-08 Raif S. Naffah - - * java/util/jar/Manifest.java: Removed unused imports. - (CRLF): New constant. - (read): Added method documentation. - Use UTF-8 encoding instead of 8859_1. - (write): Added method documentation. - Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. - (write_main_section): Replace PrintWriter arg with OutputStream. - Replace JarException with IOException. - (write_version_info): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (write_header): Replace PrintWriter arg with OutputStream. - Re-implemented. - -2006-03-07 David Gilbert - - * javax/swing/tree/DefaultMutableTreeNode.java - (getFirstChild): Updated API docs, - (getLastChild): Likewise, - (getChildAfter): Likewise, - (getChildBefore): Likewise, - (isNodeSibling): Return true if node == this, - (getSiblingCount): Updated API docs, - (getNextSibling): Likewise, - (getPreviousSibling): Likewise, - (isLeaf): Likewise, - (getFirstLeaf): Likewise, - (getLastLeaf): Likewise, - (getNextLeaf): Implemented, - (getPreviousLeaf): Implemented. - -2006-03-07 Tom Tromey - - * java/awt/image/ColorModel.java (getComponents): Javadoc fix. - * java/awt/datatransfer/FlavorEvent.java: Added missing @since. - * java/awt/dnd/DropTargetEvent.java (serialVersionUID): New field. - * java/awt/DefaultFocusTraversalPolicy.java (serialVersionUID): New - field. - -2006-03-07 David Gilbert - - * javax/swing/tree/DefaultMutableTreeNode.java: API docs all over plus - (clone): Reimplemented, - (add): Throw IllegalArgumentException if child is an ancestor, - (remove(int)): Set child's parent to null, - (remove(MutableTreeNode)): Check arguments and set child's parent to - null, - (insert): Check allowsChildren flag, check for null argument, and - check for a node that is an ancestor, - (getIndex): Throw IllegalArgumentException for null argument, - (setAllowsChildren): If setting to false, remove existing children, - (removeAllChildren): Set parent to null for removed children. - -2006-03-07 David Gilbert - - * javax/swing/tree/TreeNode.java: Reformatted and added API docs all - over. - -2006-03-06 Tom Tromey - - * java/lang/StrictMath.java (ulp): New methods. - * java/lang/Math.java (ulp): New methods. - -2006-03-07 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastRef.java, - * gnu/java/rmi/server/UnicastServer.java: Formatted. - -2006-03-07 Audrius Meskauskas - - * gnu/java/rmi/server/CombinedClassLoader.java - (findClass, findLibrary, findResouce, findResources): check - all loaders in array. - -2006-03-07 Audrius Meskauskas - - PR 25526 - * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. - (RefProtector): new inner class. (dirty): Rewritten. - * gnu/java/rmi/server/UnicastRef.java (dgcId, dgcInterfaceHash, - dgcSequence, DIRTY, this_id): New fields. (equals, hashCode, notifyDGC): - new methods. (readExternal): Create LeaseRenewingTask if non local. - * gnu/java/rmi/server/UnicastServer.java (objects): - Use WeakHashMap. (refcache): Use WeakIdentityHashMap. - (getExported): New method. - * gnu/java/rmi/dgc/LeaseRenewingTask.java: New file. - -2006-03-06 Mark Wielaard - - * doc/www.gnu.org/announce/20060306.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.90 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.90. - -2006-03-06 David Gilbert - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Use Boolean.TRUE for - 'CheckBoxMenuItem.borderPainted'. - -2006-03-06 Wolfgang Baer - - * gnu/java/net/protocol/http/Headers.java: Added documentation all over. - (dateFormat): Made private. - (put): Replace only the last occurance and the value. - (putAll): Reimplemented with the put method. - -2006-03-06 Lillian Angel - - PR classpath/26569 - * java/awt/List.java - (preferredSize): Return the size of the list if the peer is - null. - * gnu/java/awt/peer/gtk/GtkListPeer.java - (preferredSize): Code was returning the minimum size of the - list. Added adjustment to the width of the list so it is a - proper size. - -2006-03-06 Wolfgang Baer - - * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. - (getRequestProperty): Remove duplicated null check. - * java/net/URLConnection.java: - (URLConnection): Javadoc fix. - (addRequestProperty): Likewise. - (getDefaultRequestProperty): Likewise. - (getHeaderField): Likewise. - (getHeaderFieldDate): Likewise. - (getHeaderFieldKey): Likewise. - (getHeaderFields): Likewise. - (getRequestProperties): Likewise. - (getRequestProperty): Likewise. - (setDefaultRequestProperty): Likewise. - (setRequestProperty): Likewise. - -2006-03-06 Robert Schuster - - * examples/gnu/classpath/examples/swing/TextArea.java: New file. - * examples/gnu/classpath/examples/swing/Demo.java: - (mkButtonBar): Changed layout manager to GridLayout, added entry for - textarea example. - (mkMenuBar): Added entry for text area example. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/Region.java (FILE_CHOOSER): Renamed. - (FORMATTED_TEXT_FIELD): Likewise. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/SynthPainter.java: Finished. - -2006-03-06 Robert Schuster - - * examples/gnu/classpath/examples/swing/Demo.java: - (mkMenuBar): Added menu entry that will display the VM's name, - version and distributor. - -2006-03-06 Tom Tromey - - * javax/swing/plaf/synth/SynthLookAndFeel.java (getDescription): - Javadoc fix. - (getName): Likewise. - -2006-03-06 Raif S. Naffah - - * java/util/jar/Manifest.java: Removed unused imports. - (CRLF): New constant. - (read): Added method documentation. - Use UTF-8 encoding instead of 8859_1. - (write): Added method documentation. - Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. - (write_main_section): Replace PrintWriter arg with OutputStream. - Replace JarException with IOException. - (write_version_info): Likewise. - (write_main_attributes): Likewise. - (write_attribute_entry): Likewise. - (write_individual_sections): Likewise. - (write_entry_attributes): Likewise. - (write_header): Replace PrintWriter arg with OutputStream. - Re-implemented. - -2006-03-06 David Gilbert - - - * javax/swing/tree/FixedHeightLayoutCache.java: Reformatted and fixed - API doc tag warnings, - * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. - -2006-03-06 Dalibor Topic - - * gnu/java/net/protocol/file/Connection.java (unquote): - Update position in buffer after decoding a unicode character - outside of the basic plane. - -2006-03-06 Dalibor Topic - - * java/net/URI.java - (quote): Pass Unicode characters outside the basic plane through. - -2006-03-06 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (damageRange): Rewritten if-expressions to correctly identify the - break condition. - -2006-03-06 Mark Wielaard - - * configure.ac: Set version to 0.90-generics. - * NEWS: Fix typos. - -2006-03-06 Mark Wielaard - - Fixes bug #26568 reported by Paul Jenner - * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. - (isnan): Define explicitly isnan if it is not a macro. - -2006-03-06 Robert Schuster - - * javax/swing/text/GapContent.java: - (insertString): Throw exception when argument is below - zero. - -2006-03-06 Robert Schuster - - * javax/swing/text/PlainDocument.java: - (insertUpdate): Extended if-expression, added - code to generate another Element when newly inserted characters - and old ones will be on the same line. - -2006-03-06 Robert Schuster - - * javax/swing/text/DefaultCaret.java: - (mouseDragged): Do selection when shift is pressed. - (mouseClicked): Implemented. - -2006-03-06 Robert Schuster - - * javax/swing/text/PlainDocument.java: Fix copyright header, - added author tags. - (insertUpdate): Do not copy the whole document any more, added some - more variables to prevent needless method calls. - -2006-03-06 Christian Thalinger - - * configure.ac: Check for FREETYPE2. This is a reverted patch and - is required on Darwin. - * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. - (AM_CFLAGS): Likewise. - -2006-03-06 Mark Wielaard - - * NEWS: Add updates for 0.90 release. - -2006-03-05 Robert Schuster - - * javax/swing/text/GapContent.java: - (insertString): Throw exception when argument is below - zero. - -2006-03-05 David Gilbert - - - * javax/swing/filechooser/FileFilter.java: - (accept): Fixed API doc tag, - (getDescription): Likewise, - * javax/swing/filechooser/FileView.java: - (isTraversable): Fixed API doc tag. - -2006-03-05 David Gilbert - - * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and - added API docs all over. - -2006-03-05 David Gilbert - - * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, - and corrected a bad API doc tag. - -2006-03-05 David Gilbert - - * javax/swing/undo/StateEditable.java - (restoreState): Fixed bad API doc tag, - * javax/swing/undo/UndoableEdit.java: Copied API doc comments from - AbstractUndoableEdit.java, - * javax/swing/undo/UndoableEditSupport.java - (createCompoundEdit): Fixed bad API doc tag, - * javax/swing/undo/UndoManager.java - (editToBeUndone): Fixed bad API doc tag, - (editToBeRedone): Likewise. - -2006-03-05 David Gilbert - - * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, - * javax/swing/FocusManager.java: Likewise. - - -2006-03-05 David Gilbert - - - * javax/swing/plaf/metal/MetalComboBoxButton.java - (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, - JList)): Fixed API doc tag, - * javax/swing/plaf/metal/MetalInternalFrameTitlePane - (createLayout): Fixed API doc warning. - -2006-03-05 Tom Tromey - - * vm/reference/java/lang/reflect/Constructor.java (toString): Use - ClassHelper.getUserName. - * vm/reference/java/lang/reflect/Method.java (toString): Use - ClassHelper.getUserName. - (getUserTypeName): Removed. - * gnu/java/lang/ClassHelper.java (getUserName): New method. - * vm/reference/java/lang/reflect/Field.java (toString): Use - ClassHelper.getUserName. - -2006-03-05 Olivier Jolly - - Fixes PR 22813 - * java/net/URLClassLoader.java (FileURLLoader.getResource): - Allows directories as valid resources. - -2006-03-05 Mark Wielaard - - * configure.ac (VERSION): Set to 0.90-pre-generics. - * Merge with CVS trunk from classpath-0_90-branch-point. - -2006-03-04 Tom Tromey - - * javax/swing/SpringLayout.java (Constraints): New constructor. - * javax/swing/Spring.java (width): New method. - (height): Likewise. - (scale): Likewise. - -2006-03-04 Mark Wielaard - - * gnu/java/net/protocol/http/HTTPConnection.java (Pool.get): Remove - existing connection from pool before returning. - -2006-03-04 Mark Wielaard - - * gnu/xml/stream/SAXParser.java (parse(InputSource)): Ignore - exceptions thrown by handlers while cleaning up and rethrow original - exception. - -2006-03-04 Tom Tromey - - * java/beans/PropertyDescriptor.java (createPropertyEditor): New - method. - (findConstructor): Likewise. - (instantiateClass): Likewise. - -2006-03-04 Audrius Meskauskas - - * gnu/java/rmi/dgc/DGCImpl.java: More comments, boilerplate fix. - (dirty): Do not synchronize on Hashtable. Use the passed (requested) - lease value and not always the default one. - (LeaseRecord): Remember the array of objects, marked as dirty. - java/rmi/dgc/Lease.java: Boilerplate fix. - -2006-03-05 Raif S. Naffah - - * java/util/jar/Attributes.java (putValue): Made it public and updated - method documentation. - -2006-03-04 Mark Wielaard - - * java/awt/Container.java (remove(int)): Always call removeNotify() - on removed Component. - -2006-03-04 Mark Wielaard - - Fixes bug #26460 reported by Beat Wolf . - * javax/swing/JEditorPane.java (setText): Check for empty String - with equals(), not equality (==). - -2006-03-04 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java: Qualify ElementSpec as - DefaultStyledDocument.ElementSpec for gcj 4.0.x. - -2006-03-04 David Gilbert - - * javax/swing/text/GapContent.java - (getArray): Mark as final. - -2006-03-04 David Gilbert - - * javax/swing/text/StyleConstants.java - (CharacterConstants.Background): Marked final, - (CharacterConstants.BidiLevel): Likewise, - (CharacterConstants.Bold): Likewise, - (CharacterConstants.ComponentAttribute): Likewise, - (CharacterConstants.Family): Likewise, - (CharacterConstants.Size): Likewise, - (CharacterConstants.Foreground): Likewise, - (CharacterConstants.IconAttribute): Likewise, - (CharacterConstants.Italic): Likewise, - (CharacterConstants.StrikeThrough): Likewise, - (CharacterConstants.Subscript): Likewise, - (CharacterConstants.Superscript): Likewise, - (CharacterConstants.Underline): Likewise, - (ColorConstants.Foreground): Likewise, - (ColorConstants.Background): Likewise, - (FontConstants.Bold): Likewise, - (FontConstants.Family): Likewise, - (FontConstants.Italic): Likewise, - (FontConstants.Size): Likewise, - (ParagraphConstants.Alignment): Likewise, - (ParagraphConstants.FirstLineIndent): Likewise, - (ParagraphConstants.LeftIndent): Likewise, - (ParagraphConstants.LineSpacing): Likewise, - (ParagraphConstants.Orientation): Likewise, - (ParagraphConstants.RightIndent): Likewise, - (ParagraphConstants.SpaceAbove): Likewise, - (ParagraphConstants.SpaceBelow): Likewise, - (ParagraphConstants.TabSet): Likewise. - -2006-03-03 Tom Tromey - - * javax/net/ssl/SSLException.java: Added missing @since. - Wrote javadoc. - -2006-03-03 Tom Tromey - - * javax/net/ssl/SSLException.java (SSLException): New constructors. - (serialVersionUID): New field. - -2006-03-03 Tom Tromey - - * java/security/spec/InvalidKeySpecException.java - (InvalidKeySpecException): New constructors. - * java/security/cert/CertificateParsingException.java - (CertificateParsingException): New constructors. - * java/security/cert/CertificateEncodingException.java - (CertificateEncodingException): New constructors. - * java/security/cert/CertificateException.java (CertificateException): - New constructors. - * java/security/cert/CRLException.java (CRLException): New - constructors. - -2006-03-03 Tom Tromey - - * java/security/SignatureException.java (SignatureException): New - constructors. - * java/security/ProviderException.java (ProviderException): New - constructors. - * java/security/NoSuchAlgorithmException.java - (NoSuchAlgorithmException): New constructors. - * java/security/KeyStoreException.java (KeyStoreException): New - constructors. - * java/security/KeyManagementException.java (KeyManagementException): - New constructors. - * java/security/InvalidKeyException.java (InvalidKeyException): New - constructors. - * java/security/KeyException.java (KeyException): New constructors. - * java/security/InvalidAlgorithmParameterException.java - (InvalidAlgorithmParameterException): New constructors. - * java/security/DigestException.java (DigestException): New - constructors. - * java/security/GeneralSecurityException.java - (GeneralSecurityException): New constructors. - -2006-03-03 David Gilbert - - * javax/swing/event/CaretEvent.java: Reformatting and fixed API doc - warnings, - * javax/swing/event/DocumentEvent.java: Likewise, - * javax/swing/event/EventListenerList.java: Likewise, - * javax/swing/event/MenuDragMouseEvent.java: Likewise, - * javax/swing/event/MenuKeyEvent.java: Likewise, - * javax/swing/event/TableColumnModelEvent.java: Likewise, - * javax/swing/event/TreeExpansionEvent.java: Likewise, - * javax/swing/event/TreeModelEvent.java: Likewise, - * javax/swing/event/TreeSelectionEvent.java: Likewise, - * javax/swing/event/UndoableEditEvent.java: Likewise. - -2006-03-03 Tom Tromey - - * java/awt/Insets.java (set): New method. - (equals): Added @since. - -2006-03-03 David Daney - - * gnu/java/net/protocol/http/HTTPURLConnection.java - (getRequestProperties): Rewrote. - (addRequestProperty): Rewrote. - (getHeaderFields): Rewrote. - (getHeaderField): Rewrote. - (getHeaderFieldKey): Rewrote. - (getHeaderField): Removed useless cast. - * gnu/java/net/protocol/http/Headers.java: Entire class rewritten. - * gnu/java/net/protocol/http/Request.java (dispatch): Use new Headers - interface. - (notifyHeaderHandlers): Use new Headers interface. - -2006-03-03 Tom Tromey - - * javax/naming/NamingException.java (getExplanation): Javadoc fix. - * javax/naming/spi/ResolveResult.java, - javax/naming/event/NamingExceptionEvent.java, - javax/naming/event/NamingEvent.java, - javax/naming/directory/SearchResult.java, - javax/naming/directory/SearchControls.java, - javax/naming/directory/SchemaViolationException.java, - javax/naming/directory/NoSuchAttributeException.java, - javax/naming/directory/ModificationItem.java, - javax/naming/directory/InvalidSearchFilterException.java, - javax/naming/directory/InvalidSearchControlsException.java, - javax/naming/directory/InvalidAttributesException.java, - javax/naming/directory/InvalidAttributeIdentifierException.java, - javax/naming/directory/AttributeModificationException.java, - javax/naming/directory/AttributeInUseException.java, - javax/naming/TimeLimitExceededException.java, - javax/naming/SizeLimitExceededException.java, - javax/naming/PartialResultException.java, - javax/naming/Reference.java, - javax/naming/ServiceUnavailableException.java, - javax/naming/OperationNotSupportedException.java, - javax/naming/NotContextException.java, - javax/naming/NoPermissionException.java, - javax/naming/NoInitialContextException.java, - javax/naming/NameNotFoundException.java, - javax/naming/NameAlreadyBoundException.java, - javax/naming/NameClassPair.java, - javax/naming/MalformedLinkException.java, - javax/naming/LinkLoopException.java, - javax/naming/LinkException.java, - javax/naming/LimitExceededException.java, - javax/naming/InvalidNameException.java, - javax/naming/InterruptedNamingException.java, - javax/naming/InsufficientResourcesException.java, - javax/naming/ContextNotEmptyException.java, - javax/naming/ConfigurationException.java, - javax/naming/CannotProceedException.java, - javax/naming/CommunicationException.java, - javax/naming/Binding.java, - javax/naming/AuthenticationNotSupportedException.java, - javax/naming/AuthenticationException.java: Added serialVersionUID. - -2006-03-03 David Gilbert - - * javax/swing/event/TableColumnModelEvent.java: Reformatted. - -2006-03-03 David Gilbert - - * javax/swing/event/TableModelListener.java: Updated API docs. - -2006-03-03 Mark Wielaard - - * java/awt/Component.java (addNotify): Expand documentation. - -2006-03-03 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): - Always call setParentAndBounds(). - (setComponentBounds): Always call setBounds(). - (setBounds): Call setVisible(). - (setVisible): If no pixels are showing then don't make it visible. - * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): No need - to call setParentAndBounds() anymore. - -2006-03-03 Roman Kennke - - * javax/swing/JInternalFrame.java - (JInternalFrame): Set frame invisible. - (show): Reformatted. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (installDefaults): Do not set invisible here. - -2006-03-03 Roman Kennke - - * java/awt/Toolkit.java - (getScreenInsets): Return (0,0,0,0) here. - -2006-03-03 Roman Kennke - - * javax/swing/text/FlowView.java - (FlowStrategy.layoutRow): Added check for rowCount == 0. - (FlowStrategy.getLogicalView): Made method protected. - -2006-03-03 Chris Burdess - - * gnu/xml/validation/relaxng/AnyNameNameClass.java, - gnu/xml/validation/relaxng/AttributePattern.java, - gnu/xml/validation/relaxng/ChoiceNameClass.java, - gnu/xml/validation/relaxng/ChoicePattern.java, - gnu/xml/validation/relaxng/DataPattern.java, - gnu/xml/validation/relaxng/Define.java, - gnu/xml/validation/relaxng/ElementPattern.java, - gnu/xml/validation/relaxng/EmptyPattern.java, - gnu/xml/validation/relaxng/FullSyntaxBuilder.java, - gnu/xml/validation/relaxng/Grammar.java, - gnu/xml/validation/relaxng/GrammarException.java, - gnu/xml/validation/relaxng/GrammarValidator.java, - gnu/xml/validation/relaxng/GroupPattern.java, - gnu/xml/validation/relaxng/InterleavePattern.java, - gnu/xml/validation/relaxng/ListPattern.java, - gnu/xml/validation/relaxng/NSNameNameClass.java, - gnu/xml/validation/relaxng/NameClass.java, - gnu/xml/validation/relaxng/NameNameClass.java, - gnu/xml/validation/relaxng/NotAllowedPattern.java, - gnu/xml/validation/relaxng/OneOrMorePattern.java, - gnu/xml/validation/relaxng/Param.java, - gnu/xml/validation/relaxng/Pattern.java, - gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java, - gnu/xml/validation/relaxng/RefPattern.java, - gnu/xml/validation/relaxng/TextPattern.java, - gnu/xml/validation/relaxng/ValuePattern.java: New RELAX NG grammar - builder and data model. - * gnu/xml/validation/xmlschema/AnyAttribute.java, - gnu/xml/validation/xmlschema/AttributeDeclaration.java, - gnu/xml/validation/xmlschema/AttributeUse.java, - gnu/xml/validation/xmlschema/ComplexType.java, - gnu/xml/validation/xmlschema/ElementDeclaration.java, - gnu/xml/validation/xmlschema/Particle.java, - gnu/xml/validation/xmlschema/ValidationException.java, - gnu/xml/validation/xmlschema/XMLSchema.java, - gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaBuilder.java, - gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java, - gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java, - gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java, - gnu/xml/validation/xmlschema/XMLSchemaValidator.java, - gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java: New - W3C XML Schema builder and schema components. - * javax/xml/validation/SchemaFactory.java: Recognise RELAX NG and W3C - XML Schema namespace URIs. - -2006-03-03 Thomas Fitzsimmons - - * NEWS: Add entry for --enable-collections. - * configure.ac: Add --enable-collections option. - * lib/Makefile.am (collections.jar): New target. - (glibj_DATA): Add $(COLLECTIONS). - * lib/mkcollections.pl.in (destpath): Set from COLLECTION_PREFIX - configure substitution. - (classpath): Read from command line. - (javautilclasses): Remove BasicMapEntry. Add RandomAccess. - -2006-03-03 David Gilbert - - * javax/swing/SpringLayout.java: Fixed API doc warnings. - -2006-03-03 David Gilbert - - * javax/swing/event/ListSelectionEvent.java - (toString): Implemented, - plus updated API docs all over. - -2006-03-03 David Gilbert - - * javax/swing/event/ListSelectionEvent.java: Reformatted and fixed - API doc warnings, - * javax/swing/event/ListSelectionListener.java: Updated API docs. - -2006-03-03 Audrius Meskauskas - - * gnu/java/rmi/dgc/DGCImpl.java, - java/rmi/dgc/DGC.java, - java/rmi/dgc/Lease.java: Formatted and commented. - -2006-03-03 Roman Kennke - - * NEWS: Added comment about text highlighting and copy+paste - in Swing. - -2006-03-03 Roman Kennke - - * javax/swing/JTabbedPane.java - (remove(int)): Call super.remove(int) instead of remove(Component). - Avoids a stack overflow. - -2006-03-03 Roman Kennke - - * javax/swing/JTable.java - (distributeSpillResizing): Avoid ArithmeticException by checking - divisor. - -2006-03-03 David Gilbert - - * javax/swing/text/package.html: Added package description. - -2006-03-03 David Gilbert - - * javax/swing/CellRendererPane.java: Minor API doc fix, - * javax/swing/ComboBoxModel.java: Updated API docs. - -2006-03-03 Chris Burdess - - Fixes PR 26503 - * gnu/xml/stream/EntityReferenceImpl.java, - gnu/xml/stream/FilteredEventReader.java, - gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLEventAllocatorImpl.java, - gnu/xml/stream/XMLEventFactoryImpl.java, - gnu/xml/stream/XMLEventImpl.java, - gnu/xml/stream/XMLEventReaderImpl.java, - gnu/xml/stream/XMLEventWriterImpl.java, - gnu/xml/stream/XMLInputFactoryImpl.java, - gnu/xml/stream/XMLOutputFactoryImpl.java, - gnu/xml/stream/XMLParser.java, - javax/xml/stream/EventFilter.java, - javax/xml/stream/Location.java, - javax/xml/stream/StreamFilter.java, - javax/xml/stream/XMLEventFactory.java, - javax/xml/stream/XMLEventReader.java, - javax/xml/stream/XMLEventWriter.java, - javax/xml/stream/XMLInputFactory.java, - javax/xml/stream/XMLOutputFactory.java, - javax/xml/stream/XMLReporter.java, - javax/xml/stream/XMLResolver.java, - javax/xml/stream/XMLStreamConstants.java, - javax/xml/stream/XMLStreamReader.java, - javax/xml/stream/events/EntityDeclaration.java, - javax/xml/stream/events/EntityReference.java, - javax/xml/stream/events/XMLEvent.java, - javax/xml/stream/util/EventReaderDelegate.java, - javax/xml/stream/util/ReaderDelegate.java: Updated to final version of - StAX API as specified in JWSDP 2.0. - * gnu/xml/stream/EndEntityImpl.java, - gnu/xml/stream/LocationImpl.java, - gnu/xml/stream/StartEntityImpl.java, - gnu/xml/stream/XMLStreamReaderImpl.java, - javax/xml/stream/XMLFilter.java, - javax/xml/stream/XMLIterator.java, - javax/xml/stream/events/EndEntity.java, - javax/xml/stream/events/StartEntity.java: Removed legacy files. - -2006-03-03 David Gilbert - - * javax/swing/CellEditor.java: API doc updates, - * javax/swing/DefaultCellEditor.java: Likewise. - -2006-03-03 David Gilbert - - * javax/swing/AbstractListModel.java: - (AbstractListModel): Added API docs, - (fireContentsChanged): Minor API doc correction, - (fireIntervalAdded): Likewise, - (fireIntervalRemoved): Likewise. - -2006-03-03 Roman Kennke - - * NEWS: Added paragraph about Swing improvements. - -2006-03-03 David Gilbert - - * javax/swing/AbstractAction.java: Updated API docs all over, - * javax/swing/AbstractCellRenderer.java: Minor reformatting, plus - (stopCellEditing): Minor API doc correction, - * javax/swing/UnsupportedLookAndFeelException.java - (UnsupportedLookAndFeelException): Changed argument name, updated API - docs. - -2006-03-03 Roman Kennke - - * javax/swing/plaf/metal/MetalUtils.java - (fillMetalPattern): Added switch to not use Graphics2D methods, - even if they are available. - -2006-03-03 Roman Kennke - - * javax/swing/plaf/basic/BasicHTML.java - (isHTMLString): Check for string beeing null. - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (BasicInternalFrameListener.internalFrameActivated): Implemented. - (BasicInternalFrameListener.internalFrameDeactivated): Implemented. - (InternalFrameLayout): Don't touch the glass pane here. - (installUI): Fix handling of glass pane. - * javax/swing/plaf/basic/BasicLabelUI.java - (vr): New field. - (ir): New field. - (tr): New field. - (BasicLabelUI): Initialize new fields. - (getPreferredSize): Avoid creating new Rectangles by using - SwingUtilities method. - (paint): Avoid creating new Rectangles by reusing - new fields. Added some preliminary handling of HTML inside the - label. - (installComponents): Handle HTML by calling BasicHTML.updateRenderer. - (uninstallComponents): Clear HTML renderer. - (propertyChange): Check for HTML text and install renderer if - appropriate. - * javax/swing/plaf/basic/BasicListUI.java - (getCellBounds): Avoid creating new Rectangle by using SwingUtilities - method. - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.getStartOffset): Implemented. - (RootView.getEndOffset): Implemented. - (RootView.getDocument): Implemented. - -2006-03-03 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.inserUpdate): Added check for zero-length - element. - * javax/swing/text/DefaultStyledDocument.java - (setIndex): Improved exception message. - * javax/swing/text/TableView.java - Made class abstract. - (TableRow.replace): Probably extend columnRequirements - arrays. - (TableRow.layoutMinorAxis): Call super.layoutMinorAxis instead - of super.layoutMajorAxis. - (columnRequirements): Made field package private. - (TableView): Do not load any child views here. - (layoutColumns): Implemented this method. - (updateColumnRequirements): New helper method. - * javax/swing/text/Utilities.java - (getBreakLocation): Also take offset into account when - finding end location. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.parseStack): New field. - (HTMLReader.blockOpen): Properly handle p-implied tags. - (HTMLReader.blockClose): Properly handle p-implied and empty tags. - (HTMLReader.addContent): Insert p-implied when adding content to - a block element. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create HTMLTableView for tags and - ParagraphView for TD tags. Print out warning for tags that don't have - matching view yet and create NullView for them. - (read): Only set document base when document != null. - * javax/swing/text/html/HTMLTableView.java: - New class - -2006-03-03 Roman Kennke - - * javax/swing/plaf/basic/BasicHTML.java - (HTMLRootView): New inner class. - (createHTMLView): Embed view inside a HTMLRootView. - -2006-03-03 Wolfgang Baer - - * gnu/java/net/protocol/jar/Connection.java: - (connect): Throw FileNotFoundException. - (getInputStream): Remove duplicated code. - -2006-03-03 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Added null check for clip. - -2006-03-02 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Fixed - to use GtkWidget instead of GTKMenu. - -2006-03-02 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Changed to - use the submenu to get the list of children. This now works - in the same way as addItem. - -2006-03-02 Anthony Balkissoon - - * java/lang/StringBuilder.java: - (codePointAt): New method. - (codePointBefore): Likewise. - (codePointCount): Likewise. - (trimToSize): Likewise. - -2006-03-02 Tom Tromey - - * java/rmi/server/RMIClassLoader.java (getProviderInstance): Wrote. - -2006-03-02 Tom Tromey - - * java/rmi/server/RMIClassLoader.java (loadProxyClass): New method. - (getProviderInstance): - -2006-03-02 Andrew John Hughes - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: - Fix regression caused by move to VM variant. - PR classpath/22926. - -2006-03-01 Tom Tromey - - * vm/reference/java/net/VMNetworkInterface.java: Organized imports. - * vm/reference/java/net/VMInetAddress.java: Organized imports. - * vm/reference/java/lang/reflect/VMProxy.java (getProxyClass): Added - imports for javadoc. - (getProxyClass): Javadoc fixes. - (getProxyData): Likewise. - (generateProxyClass): Likewise. - * vm/reference/java/lang/VMSystem.java (setIn): Javadoc fix. - (setOut): Likewise. - (setErr): Likewise. - * vm/reference/java/lang/VMProcess.java: Javadoc fixes. - * vm/reference/java/lang/VMClassLoader.java (getResources): Javadoc - fix. - * vm/reference/java/lang/VMClass.java (getComponentType): Import for - javadoc. - (getModifiers): Likewise. - (getDeclaredClasses): Javadoc fix. - (getDeclaredFields): Likewise. - (getDeclaredMethods): Likewise. - (getDeclaredConstructors): Likewise. - * vm/reference/gnu/classpath/VMSystemProperties.java (preInit): - Javadoc fix. - -2006-03-01 Tom Tromey - - * gnu/java/net/protocol/http/ResponseHeaderHandler.java: Javadoc fix. - * gnu/java/net/protocol/http/HTTPConnection.java: Organized imports. - (getVersion): Javadoc fix. - (get): Likewise. - * gnu/java/net/protocol/http/Headers.java: Organized imports. - * gnu/java/net/protocol/ftp/FTPURLConnection.java: Organized imports. - -2006-03-01 David Daney - - * java/net/URL.java (URL(URL, String, URLStreamHandler)): Treat spec - as relative if it contains a colon but no protocol handler can be - found. - -2006-03-01 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (LeafElement.LeafElement): Handle delta with respect to content - length not document length. - * javax/swing/text/CompositeView.java - (getViewIndex): Handle bias correctly. - * javax/swing/text/DefaultCaret.java - (paint): Align caret position to document bounds to avoid trouble - when removing large portions of content. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insertFirstContentTag): Use pos instead of offset. - (ElementBuffer.createFracture): Copy old childs attribute. The - ElementSpec usually doesn't carry attribute information. - Use pos instead of offset. - (ElementBuffer.insertFracture): Use pos instead of offset. - (createDefaultRootElement): Don't use create* and instead directly - instantiate the elements. - (handleInsertAfterNewline): Compare the paragraphs startOffset - rather than previous paragraphs endOffset. - * javax/swing/text/JTextComponent.java - (getScrollableTracksViewportWidth): Remove unnecessary cast to - JViewport. - (getScrollableTracksViewportHeight): Remove unnecessary cast to - JViewport. - * javax/swing/text/PlainView.java - (damageLineRange): Avoid creating new Rectangle by using - SwingUtilities. - * javax/swing/text/View.java - (forwardUpdate): Correct the use of bias. - (modelToView): Avoid new Rectangles by using SwingUtilities. - (dump): Made (temprorarily) protected for use in BasicTextUI. - (dump(int)): Dump out the element of the view. - -2006-03-01 Lillian Angel - - * NEWS: javax.imageio.plugins.bmp implementation. - -2006-03-01 Lillian Angel - - * javax/imageio/ImageWriteParam.java: - Added documentation for fields. - * javax/imageio/plugins/bmp/BMPImageWriteParam.java: - New class implemented. - -2006-03-01 Tom Tromey - - * NEWS: Mention java.util.prefs update. - -2006-03-01 Tom Tromey - - * gnu/java/nio/channels/FileChannelImpl.java (position): Fixed typo. - * java/nio/charset/UnmappableCharacterException.java: - (serialVersionUID): New field. - * java/nio/charset/MalformedInputException.java: - (serialVersionUID): New field. - * java/nio/charset/CoderMalfunctionError.java: - (serialVersionUID): New field. - * java/nio/charset/CharacterCodingException.java: - (serialVersionUID): New field. - * java/nio/channels/UnsupportedAddressTypeException.java: - (serialVersionUID): New field. - * java/nio/channels/UnresolvedAddressException.java: - (serialVersionUID): New field. - * java/nio/channels/OverlappingFileLockException.java: - (serialVersionUID): New field. - * java/nio/channels/NotYetConnectedException.java: - (serialVersionUID): New field. - * java/nio/channels/NotYetBoundException.java - (serialVersionUID): New field. - * java/nio/channels/NonWritableChannelException.java - (serialVersionUID): New field. - * java/nio/channels/NonReadableChannelException.java - (serialVersionUID): New field. - * java/nio/channels/NoConnectionPendingException.java - (serialVersionUID): New field. - * java/nio/channels/IllegalSelectorException.java - (serialVersionUID): New field. - * java/nio/channels/IllegalBlockingModeException.java - (serialVersionUID): New field. - * java/nio/channels/FileLockInterruptionException.java - (serialVersionUID): New field. - * java/nio/channels/ConnectionPendingException.java - (serialVersionUID): New field. - * java/nio/channels/ClosedSelectorException.java (serialVersionUID): - New field. - * java/nio/channels/ClosedChannelException.java (serialVersionUID): - New field. - * java/nio/channels/ClosedByInterruptException.java - (serialVersionUID): New field. - * java/nio/channels/CancelledKeyException.java (serialVersionUID): - New field. - * java/nio/channels/AsynchronousCloseException.java - (serialVersionUID): New field. - * java/nio/channels/AlreadyConnectedException.java (serialVersionUID): - New field. - * java/nio/ReadOnlyBufferException.java (serialVersionUID): New field. - * java/nio/InvalidMarkException.java (serialVersionUID): New field. - * java/nio/BufferUnderflowException.java (serialVersionUID): New - field. - * java/nio/BufferOverflowException.java (serialVersionUID): New field. - * java/nio/channels/spi/AbstractInterruptibleChannel.java (end): - Javadoc fix. Added import. - * java/nio/channels/DatagramChannel.java (isConnected): Javadoc fix. - (validOps): Likewise. - * gnu/java/nio/charset/iconv/IconvProvider.java: Organized imports. - * gnu/java/nio/charset/iconv/IconvEncoder.java: Organized imports. - * gnu/java/nio/charset/iconv/IconvDecoder.java: Organized imports. - * java/nio/channels/Channels.java: Added import. - * java/nio/channels/FileChannel.java (lock): Typo fix. - (tryLock): Likewise. - -2006-03-01 Tom Tromey - - * java/util/prefs/Preferences.java (defaultFactoryClass): Use - FileBasedFactory. - * gnu/java/util/prefs/FileBasedPreferences.java: New file. - * java/util/prefs/AbstractPreferences.java (removeSpi): Typo fix. - (clear): Likewise. - (putSpi): Likewise. - (newNode): Likewise. - (node): Likewise. - * gnu/java/util/prefs/MemoryBasedFactory.java: Typo fix. - * gnu/java/util/prefs/FileBasedFactory.java (systemPreferences): New - field. - (systemRoot): Use it. - (userPreferences): New field. - (userRoot): Use it. - -2006-03-01 Jeroen Frijters - - * java/util/ResourceBundle.java - (tryBundle): Catch and ignore all Exceptions. - -2006-02-28 Roman Kennke - - * javax/swing/plaf/basic/BasicScrollBarUI.java - (getPreferredSize): Fixed add a fixed space between the buttons - instead of something related to min/max. - (installComponents): Create and install buttons here. - (installDefaults): Don't create buttons here. - * javax/swing/plaf/metal/MetalScrollBarUI.java - (getMinimumThumbSize): Return (0,0) when UI is not yet installed. - (getPreferredSize): New method. - -2006-02-28 David Gilbert - - * examples/gnu/classpath/examples/swing/Demo.java - (mkMenuBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, - connected 'Spinner' action to SpinnerDemo, - (mkCheckbox): Removed, - (mkRadio): Likewise, - (mkSpinner): Likewise, - (mkToggle): Likewise, - (mkButtonBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, - connected 'Spinner' action to SpinnerDemo. - -2006-02-28 Wolfgang Baer - - * javax/print/ServiceUIFactory.java: Added documentation to class. - -2006-02-28 Anthony Balkissoon - - PR classpath/26434 - * javax/swing/DefaultListSelectionModel.java: - (addSelectionInterval): Return early if either of the arguments is -1. - (removeSelectionInterval): Likewise. - (setSelectionInterval): Likewise. - -2006-02-28 Lillian Angel - - * javax/swing/text/DefaultFormatter.java - (stringToValue): Added NPE check. - -2006-02-28 Roman Kennke - - PR classpath/25675 - * javax/swing/JList.java - (getPreferredScrollableViewportSize): Restored specified behaviour. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Set filelist panel's preferredSize, so that it doesn't - get size into infinity for big lists. - -2006-02-28 Lillian Angel - - * javax/swing/ViewportLayout.java - (layoutContainer): Should not extend container to be - minimum size. Mauve test shows that the preferred size - and the size of the viewport can be set smaller than - the minimum. - -2006-02-28 Lillian Angel - - PR classpath/25675 - * javax/swing/JList.java - (getPreferredScrollableViewportSize): Added a check to determine - if orientation is VERTICAL_WRAP. If it is, we should only - show 3 columns. - -2006-02-28 Lillian Angel - - PR classpath/26003 - * javax/swing/ViewportLayout.java: - Patch submitted by Audrius Meskauskas - (addLayoutComponent): Added documentation. - (removeLayoutComponent): Likewise. - (preferredLayoutSize): Likewise. - (minimumLayoutSize): Likewise. - (layoutContainer): Fixed code, so view is set - to the right position when inside a scrollpane. - -2006-02-28 Anthony Balkissoon - - * java/math/BigInteger.java: - Committed patch by Rafael: - developer.classpath.org/pipermail/classpath-patches/ - 2006-February/000473.html - (signum): Return early 0 if words == null and ival == 0. - (readObject): Handle special case of magnitude.length or signum being - 0. - (writeObject): If signum is zero return a zero-sized byte[]. - -2006-02-28 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java - (create): Initially set the directory to the current working directory. - (setDirectory): Removed else-if. No need for this check. - -2006-02-28 Tom Tromey - - * .project: Run java builder before header generation. - -2006-02-28 Tom Tromey - - * gnu/java/util/prefs/MemoryBasedPreferences.java (childrenNamesSpi): - Javadoc fix. - * gnu/java/util/prefs/EventDispatcher.java: New file. - * gnu/java/util/prefs/NodeWriter.java (NodeWriter): Removed. - (NodeWriter): Specify UTF-8. - (writeHeader): Emit DOCTYPE. - * java/util/prefs/Preferences.java (getFactory): Add cause to - exception. - (exportNode): Documented. - (exportSubtree): Likewise. - (importPreferences): Likewise. - * java/util/prefs/NodeChangeEvent.java (readObject): New method. - (writeObject): Likewise. - * java/util/prefs/PreferenceChangeEvent.java (readObject): New method. - (writeObject): Likewise. - * java/util/prefs/AbstractPreferences.java (putBoolean): Use 1.4 code. - (nodeListeners): New field. - (preferenceListeners): Likewise. - (addNodeChangeListener): Implemented. - (addPreferenceChangeListener): Likewise. - (removeNodeChangeListener): Likewise. - (removePreferenceChangeListener): Likewise. - (fire): New methods. - (put): Fire event. - (remove): Likewise. - (purge): Likewise. Fixed synchronization. - (removeNode): Fixed synchronization. - (getNode): Fire event. - (flushNode): Fixed synchronization. - -2006-02-28 Roman Kennke - - * javax/swing/text/BranchElement.java - (startOffset): New field. - (endOffset): New field. - (BranchElement): Initialize new fields. - (getEndOffset): Rewritten to possibly return cached values - if element has no children. - (getStartOffset): Rewritten to possibly return cached values - if element has no children. - * javax/swing/text/LeafElement.java - (startDelta): New field. - (endDelta): New field. - (LeafElement): Handle possible delta of start/endOffset when - these parameters lie outside the document range. - (getStartOffset): Handle possible startDelta. - (getEndOffset): Handle possible startDelta. - -2006-02-28 Anthony Balkissoon - - * NEWS: Added line about Unicode 4.0.0 support. - -2006-02-28 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel): Set textIconGap to 0 when icon == null. - -2006-03-01 Raif S. Naffah - - * gnu/classpath/debug/Simple1LineFormatter.java: New file. - -2006-03-01 Raif S. Naffah - - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: - Amended class documentation. - (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT - STRING. - (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not - a BIT STRING construct. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Amended class - documentation. - (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT - STRING. - (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not - a BIT STRING construct. - * gnu/java/security/jce/sig/SignatureAdapter.java (log): New field. - (engineVerify): Added logging. - -2006-02-28 Roman Kennke - - * java/awt/Component.java - (dispatchEventImpl): Let the Toolkit dispatch global events. - * java/awt/Container.java - (dispatchEventImpl): Let the LightweightDispatcher handle events - first. - * java/awt/EventQueue.java - (dispatchEvent): Don't do the global event dispatching here. This - is moved to the Component. - (globalDispatchEvent): Moved this method to Toolkit. - * java/awt/LightweightDispatcher.java - (instances): New field. - (getInstance): New method. Delivers an instance of - LightweightDispatcher. - (LightweightDispatcher): Made default constructor private. - (dispatchEvent): New method. Replaces the eventDispatched method. - This now returns true when the event was actually dispatched. - (eventDispatched): Replaced by dispatchEvent. - (handleMouseEvent): Send MOUSE_CLICKED to the same component that - received the last MOUSE_RELEASED. - * java/awt/Toolkit.java - (Toolkit): Don't register LightweightDispatcher as global event - handler. - (globalDispatchEvent): Moved here from EventQueue. - -2006-02-27 David Daney - - PR classpath/25851 - * gnu/java/net/protocol/http/HTTPURLConnection.java (imports) Cleaned - up. - (getRequestProperties): Rewrote. - -2006-02-27 David Daney - - PR classpath/26312 - * gnu/java/net/protocol/http/ChunkedInputStream.java (imports): Cleaned - up. - (ChunkedInputStream): Extend InputStream. - (in): New field. - (headers): Moved to top of class. - (constructor): Save referenct to in. - (read(byte[])): Removed method. - (read(byte[], int, int)): Made synchronized and throw IOException - on error parsing chunk header. - (available): New method. - (close): New method. - -2006-02-27 David Daney - - * gnu/java/net/protocol/http/HTTPURLConnection.java - (imports): Cleaned up. - (GetHTTPPropertiesAction): Removed, and moved contents to ... - (constructor): ... Here, using SystemProperties instead of System. - -2006-02-27 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java - (setDirectory): GtkFileChooser requires an absolute directory - name. Added a check to make the directory passed to nativeSetDirectory - is absolute. - -2006-02-27 Roman Kennke - - * javax/swing/SwingUtilities.java - (computeIntersection): Changed to store result in rect, instead of - creating new Rectangle instances. Fixed API docs accordingly. - (computeUnion): Changed to store result in rect, instead of - creating new Rectangle instances. Fixed API docs accordingly. - -2006-02-27 Roman Kennke - - * javax/swing/JViewport.java - (static_init): Changed default scrollmode to BLIT. - (paintSimple): Added some clipping to avoid painting problems. - (paintBlit): Added some clipping to avoid painting problems. - -2006-02-27 Roman Kennke - - * javax/swing/JComponent.java - (rectCache): Made field static to save memory. - (getVisibleRect): Don't use rectCache and create new Rectangle - instance instead. - (repaint(Rectangle)): Directly call RepaintManager.addDirtyRegion(). - (repaint(long,int,int,int,int)): Directly call - RepaintManager.addDirtyRegion(). The visibleRect check is now - performed in the RepaintManager. - -2006-02-27 Roman Kennke - - * javax/swing/RepaintManager.java - (currentRepaintManagers): Made field private. - (rectCache): New field. - (addDirtyRegion): Clip dirty rectangle with visible rectangle of - component. Changed Rectangle handling to avoid unnecessary new - Rectangle instances. - (getOffscreenBuffer): Create buffer with size of the root window. - Respect the maximum buffer size here. - (commitBuffer): Align the regions so that they are inside the buffer - image and inside the clip. This avoids problems with a bug in GTKImage. - Fixed Rectangle handling to avoid creation of new Rectangle instances. - -2006-02-26 Andrew John Hughes - - * native/fdlibm/e_acos.c, - * native/fdlibm/e_asin.c, - * native/fdlibm/e_atan2.c, - * native/fdlibm/e_cosh.c, - * native/fdlibm/e_exp.c, - * native/fdlibm/e_fmod.c, - * native/fdlibm/e_hypot.c, - * native/fdlibm/e_log.c, - * native/fdlibm/e_log10.c, - * native/fdlibm/e_rem_pio2.c, - * native/fdlibm/e_remainder.c, - * native/fdlibm/e_sinh.c, - * native/fdlibm/e_sqrt.c, - * native/fdlibm/k_cos.c, - * native/fdlibm/k_sin.c, - * native/fdlibm/k_tan.c, - * native/fdlibm/s_atan.c, - * native/fdlibm/s_cbrt.c, - * native/fdlibm/s_ceil.c, - * native/fdlibm/s_copysign.c, - * native/fdlibm/s_cos.c, - * native/fdlibm/s_expm1.c, - * native/fdlibm/s_fabs.c, - * native/fdlibm/s_finite.c, - * native/fdlibm/s_floor.c, - * native/fdlibm/s_log1p.c, - * native/fdlibm/s_rint.c, - * native/fdlibm/s_scalbn.c, - * native/fdlibm/s_sin.c, - * native/fdlibm/s_tan.c, - * native/fdlibm/s_tanh.c: - Fixed to call our macros rather than __HI and __LO. - * native/fdlibm/fdlibm.h: - Reintroduced previous extraction code. - (EXTRACT_WORDS(ix0,ix1,d)): Readded. - (GET_HIGH_WORD(i,d)): Readded. - (GET_LOW_WORD(i,d)): Readded. - (INSERT_WORDS(d,ix0,ix1)): Readded. - (SET_HIGH_WORD(d,i)): Readded. - (SET_LOW_WORD(d,i)): Readded. - * native/jni/gtk-peer/gthread-jni.c: - Use Glib macros to convert integers/pointers portably. - -2006-02-26 Raif S. Naffah - - * java/security/SecureRandom.java (SecureRandom): Use GNU-CRYPTO class - as the fallback SPI. - * gnu/java/security/provider/Gnu.java (run): Replaced mappings with new - ones referencing GNU-CRYPTO classes. - * gnu/java/security/provider/PKIXCertPathValidatorImpl.java - (engineValidate): Use GNU-CRYPTO class. - * gnu/java/security/provider/DiffieHellmanKeyFactoryImpl: Removed. - * gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl: Likewise. - * gnu/java/security/provider/DSAKeyFactory: Likewise. - * gnu/java/security/provider/DSAKeyPairGenerator: Likewise. - * gnu/java/security/provider/DSAParameters: Likewise. - * gnu/java/security/provider/DSASignature: Likewise. - * gnu/java/security/provider/EncodedKeyFactory: Likewise. - * gnu/java/security/provider/GnuDHPublicKey: Likewise. - * gnu/java/security/provider/GnuDSAPrivateKey: Likewise. - * gnu/java/security/provider/GnuDSAPublicKey: Likewise. - * gnu/java/security/provider/GnuRSAPrivateKey: Likewise. - * gnu/java/security/provider/GnuRSAPublicKey: Likewise. - * gnu/java/security/provider/MD2withRSA: Likewise. - * gnu/java/security/provider/MD4withRSA: Likewise. - * gnu/java/security/provider/MD5: Likewise. - * gnu/java/security/provider/MD5withRSA: Likewise. - * gnu/java/security/provider/RSA: Likewise. - * gnu/java/security/provider/RSAKeyFactory: Likewise. - * gnu/java/security/provider/SHA: Likewise. - * gnu/java/security/provider/SHA1PRNG: Likewise. - * gnu/java/security/provider/SHA1withRSA: Likewise. - * gnu/javax/crypto/GnuDHPrivateKey: Likewise. - -2006-02-26 Raif S. Naffah - - * gnu/java/security/jce/sig/EncodedKeyFactory.java (log): New field. - (engineGeneratePublic): Added logging. - (engineGeneratePrivate): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (log): New field. - (encodePublicKey): Added logging. - Clarified in method documentation that params is optional, but is - always NULL if present. - (decodePublicKey): Added logging. - Handle optional NULL element. - -2006-02-26 Raif S. Naffah - - * java/util/logging/FileHandler.java: Fixed a javadoc reference. - -2006-03-03 Tom Tromey - - * java/awt/MenuBar.java (shortcuts): Genericized. - -2006-03-03 Tom Tromey - - * java/beans/EventSetDescriptor.java (EventSetDescriptor): - Genericized. - (getListenerType): Likewise. - * java/beans/Introspector.java (getBeanInfo): Genericized. - * java/beans/DefaultPersistenceDelegate.java (initialize): - Genericized. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (precision): Fixed overflow problem with large numbers. - (longValueExact): New method. - (intValueExact): Likewise. - (byteValueExact): Likewise. - (shortValueExact): Likewise. - -2006-03-01 Anthony Balkissoon - - * java/math/BigDecimal.java: - (remainder(BigDecimal)): New method. - (divideAndRemainder(BigDecimal)): Likewise. - (divideToIntegralValue(BigDecimal)): Likewise. - (floor): New implementation method. - -2006-02-28 Anthony Balkissoon - - * java/math/BigDecimal.java: - (divide(BigDecimal, int, RoundingMode)): New method. - (divide(BigDecimal, RoundingMode)): Likewise. - (divide(BigDecimal, int, int)): Removed incorrect throwing of exception - when the new scale is < 0. - (setScale(int, RoundingMode)): New method. - (ulp): Likewise. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf - with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. - (add(BigDecimal, MathContext)): New method. - (subtract(BigDecimal, MathContext)): Likewise. - (precision): Fixed to correctly handle BigIntegers with more than 19 - digits. - (pow(int, MathContext)): New method. - -2006-02-27 Anthony Balkissoon - - * java/math/BigDecimal.java: Added @throws clause to constructors. - (mathContext): Removed this unneeded field. - (BigDecimal(int, MathContext)): New constructor. - (BigDecimal(BigInteger, int, MathContext)): Likewise. - (multiply(BigDecimal, MathContext)): New method. - (negate(MathContext)): Likewise. - (plus(MathContext)): Likewise. - (numDigitsInLong): Fixed to properly handle negatives. - -2006-02-25 Chris Burdess - - * gnu/java/net/CRLFInputStream.java, - gnu/java/net/LineInputStream.java: Streams that use mark - capabilities on the underlying stream do not expose mark - functionality themselves. - * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when - off > 0. - -2006-02-25 Ito Kazumitsu - - * gnu/regexp/REMatch.java(matchFlags): New int field used as - option flags passed to match methods. - (MF_FIND_ALL): New flag. - * gnu/regexp/RETokenOneOf.java(matchP): Unless MF_FIND_ALL is set, - do not try other possibilties once a match is found. - * gnu/regexp/RETokenRepeated.java(findDoables): Set MF_FIND_ALL - so that all possibilities can be found. - (match): Rewritten using new methods matchMinimum and _match. - (_match): New method which performs a depth-first recursive search. - (matchMinimum): New method. - (initVisited), (visitedContains), (addVisited): New methods for - manipulating an array of icharacter positions which _match has - already visited. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(long, MathContext)): New constructor. - (BigDecimal(BigInteger, MathContext)): Likewise. - (BigDecimal(String, MathContext)): Likewise. - (BigDecimal(double, MathContext)): Likewise. - (round): Fixed a typo where the precision field was used instead of a - call to the precision method, and also store the new precision in the - returned BigDecimal. - (abs(MathContext)): New method. - -2006-02-24 Anthony Balkissoon - - * java/math/BigDecimal.java - (toBigInteger): Fixed problem where this method couldn't handle - negative values for scale. - (toBigIntegerExact): New method. - (stripTrailingZeros): Likewise. - -2006-02-24 David Daney - - PR classpath/26082 - * gnu/java/net/protocol/http/HTTPConnection.java (pool): Changed to - type Pool. - (Pool): New inner class. - (timeLastUsed): New field. - (setPool): Changed parameter type to Pool. - (release): Moved pool management logic to new class Pool. - * gnu/java/net/protocol/http/HTTPURLConnection.java (connectionPool): - Removed. - (maxConnections) : Removed. - (GetHTTPPropertiesAction.run): Don't initialize maxConnections. - (getConnection): Moved pool management logic to HTTPConnection.Pool. - -2006-02-24 Lillian Angel - - * java/awt/Container.java: - Added new field. True if Container has been cleared and - heavyweights need to be repainted. - (paint): Fixed comment. Fixed to use backCleared and - reset backCleared. - (update): Set backCleared to true after the background - of the container has been cleared. - -2006-02-24 Lillian Angel - - * java/awt/TextField.java - (addNotify): Added call to super. - -2006-02-24 Lillian Angel - - * java/awt/Component.java - (reshape): Reverted last patch. Should have check here. - (addNotify): Added check. If parent is lightweight, then - initialize listener on the parent. - (HeavyweightInLightweightListener): New class. - -2006-02-24 Roman Kennke - - * javax/swing/plaf/basic/BasicComboPopup.java - (show): Register the popup with the autocloser after it has been - opened completely, by putting the registration on the eventqueue. - -2006-02-24 Andrew John Hughes - - * gnu/java/security/prng/BasePRNG.java: - (clone()): Added cast of buffer to byte[]. - * gnu/javax/crypto/mac/TMMH16.java: - (clone()): Fixed casting of cloned arrays. - * native/fdlibm/fdlibm.h: - Added missing defines from old fdlibm.h needed by Darwin. - (GET_FLOAT_WORD(i,d)): Re-added. - (SET_FLOAT_WORD(d,i)): Re-added. - -2006-02-24 Roman Kennke - - * java/awt/Container.java: - (dispatcher): Removed field. - (dispatchEventImpl): Removed lightweight dispatching. - (addNotifyContainerChildren): Removed LightweightDispatcher - handling. - (LightweightDispatcher): Removed class. - * java/awt/LightweightDispatcher.java: New class. - * java/awt/Toolkit.java - (Toolkit): Install LightweightDispatcher in global listener - array. - -2006-02-24 Chris Burdess - - Fixes PR 26324 - * gnu/java/net/CRLFInputStream.java: Fix incorrect end condition when - off > 0. - -2006-02-24 Andrew John Hughes - - * NEWS: Mentions the VMMath runtime changes. - * doc/vmintegration.texinfo: Updated to include - VMMath. - -2006-02-24 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper.autoClosePopups): New field. - (PopupHelper.mousePressed): Also autoclose any registered popups. - (PopupHelper.registerForAutoClose): New method. - (PopupHelper.autoClosePopups): New method. - (popupHelper): Changed type of field to PopupHelper. - (registerForAutoClose): New method. - * javax/swing/plaf/basic/BasicComboPopup.java - (show): Register this popup for autoclosing. - -2006-02-24 Raif S. Naffah - - * gnu/javax/crypto/mac/TMMH16.java (clone): New method. - * gnu/java/security/prng/MDGenerator.java (clone): New method. - * gnu/java/security/prng/BasePRNG.java (clone): Clone buffer. - -2006-02-24 Roman Kennke - - Reported by Ingo Proetel - * java/util/logging/LogManager.java - (addLogger): Search the parent loggers for log level - configuration and inherit that. - (readConfiguration): Provide minimal default configuration - if no configuration can be found otherwise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Fixed a problem where the negative sign was being displayed - twice in the exponent. - (toEngineeringString): New method. - (toPlainString): Likewise. - (pow): Likewise. - -2006-02-23 Anthony Balkissoon - - * java/math/BigDecimal.java: - (toString): Rewrote this method to behave as specified. Added API - comments to explain behaviour. - (scaleByPowerOfTen): New method. - -2006-02-23 Roman Kennke - - * javax/swing/JRootPane.java - (isOptimizedDrawingEnabled): Implemented to return true - when the glassPane is not visible. - -2006-02-23 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (PopupHelper): New inner class. - (popupHelper): New field. - (initialize): New method. - (uninitialize): New method. - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (mouseInputListener): Removed field. - (PopupMenuHandler.popupMenuWillBecomeInvisible): Removed - handling of GlassPane. - (PopupMenuHandler.popupMenuWillBecomeVisible): Removed - handling of GlassPane. - (MouseInputHandler): Removed class. - -2006-02-23 Roman Kennke +2007-01-04 Roman Kennke * java/awt/AWTEvent.java - (eventIdToMask): New utility method. - * java/awt/EventQueue.java - (dispatchEvent): Also globally dispatch events via the toolkit. - (globalDispatchEvent): New method. - * java/awt/Toolkit.java - (awtEventListeners): New field. - (Toolkit()): Initialize new field. - (createComponent): Create GLightweightPeer here. - (addAWTEventListener): Implemented and documented. - (removeAWTEventListener): Implemented and documented. - (getAWTEventListeners): Implemented and documented both method - variants. - * java/awt/event/AWTEventListenerProxy.java - (eventDispatched): Don't filter events here. - -2006-02-23 Chris Burdess - - Fixes PR 26410 - * gnu/xml/dom/DomDocumentBuilderFactory.java, - gnu/xml/dom/JAXPFactory.java, - gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java, - javax/xml/parsers/DocumentBuilderFactory.java: Add and trivially - implement DocumentBuilderFactory.get/setFeature methods. - -2006-02-23 Lillian Angel - - * gnu/java/awt/peer/GLightweightPeer.java - (repaint): Scott's proposed fix. Send repaint to the - component's parent. - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (setBounds): Removed next_parent, not needed. Removed - lightweightChild, we always need to compensate for the - menu bar's height. + (toString): Don't include the whole component in the output, + only its name. * java/awt/Component.java - (setBounds): Removed check. Caused lots of problems, because some - components were not being invalidated. Components should be - invalidated when they are resized or moved, and in some cases, - when a parent is resized/moved, the components do not know - about it and do not adjust. - * java/awt/Graphics.java - (hitClip): Scott's proposed fix. Added check to handle a - null clip. - -2006-02-23 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (media): Field renamed to mediaName for serialization. - (MediaSize): Adapted to new fieldname. - (getMediaSizeName): Likewise. - * javax/print/attribute/HashAttributeSet.java: - (interfaceName): Field renamed to myInterface for serialization. - (HashAttributeSet): Adapted to the new fieldname. - (add): Likewise. - (addAll): Likewise. - (addInternal): Likewise. - (attributeMap): Made transient. - (readObject): New serialization method. - (writeObject): Likewise. - * javax/print/attribute/AttributeSetUtilities.java: - (SynchronizedAttributeSet.set): Field renamed to attrset for serialization. - (SynchronizedAttributeSet.add): Adapted to the new fieldname. - (SynchronizedAttributeSet.addAll): Likewise. - (SynchronizedAttributeSet.clear): Likewise. - (SynchronizedAttributeSet.containsKey): Likewise. - (SynchronizedAttributeSet.containsValue): Likewise. - (SynchronizedAttributeSet.equals): Likewise. - (SynchronizedAttributeSet.get): Likewise. - (SynchronizedAttributeSet.hashCode): Likewise. - (SynchronizedAttributeSet.isEmpty): Likewise. - (SynchronizedAttributeSet.remove): Likewise. - (SynchronizedAttributeSet.size): Likewise. - (SynchronizedAttributeSet.toArray): Likewise. - (UnmodifiableAttributeSet.set): Field renamed to attrset for serialization. - (UnmodifiableAttributeSet.add): Adapted to the new fieldname. - (UnmodifiableAttributeSet.addAll): Likewise. - (UnmodifiableAttributeSet.clear): Likewise. - (UnmodifiableAttributeSet.containsKey): Likewise. - (UnmodifiableAttributeSet.containsValue): Likewise. - (UnmodifiableAttributeSet.equals): Likewise. - (UnmodifiableAttributeSet.get): Likewise. - (UnmodifiableAttributeSet.hashCode): Likewise. - (UnmodifiableAttributeSet.isEmpty): Likewise. - (UnmodifiableAttributeSet.remove): Likewise. - (UnmodifiableAttributeSet.size): Likewise. - (UnmodifiableAttributeSet.toArray): Likewise. - * javax/print/attribute/standard/MediaPrintableArea.java: - (width): Field renamed to w for serialization. - (height): Field renamed to h for serialization. - (MediaPrintableArea): Adapted to the new fieldnames. - (MediaPrintableArea): Likewise. - (equals): Likewise. - (hashCode): Likewise. - (getHeight): Likewise. - (getWidth): Likewise. - -2006-02-23 Andrew John Hughes - - * include/java_lang_VMMath.h: - (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): Added. - (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Added. - (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Added. - * java/lang/Math.java: - (cbrt(double)): Implemented. - (cosh(double)): Implemented. - (expm1(double)): Implemented. - (hypot(double,double)): Implemented. - (log10(double)): Implemented. - (log1p(double)): Implemented. - (signum(double)): Implemented. - (signum(float)): Implemented. - (sinh(double)): Implemented. - (tanh(double)): Implemented. - * native/fdlibm/Makefile.am: - Added new files from fdlibm 5.3. - * native/fdlibm/e_acos.c, - * native/fdlibm/e_asin.c, - * native/fdlibm/e_atan2.c, - * native/fdlibm/e_exp.c, - * native/fdlibm/e_fmod.c, - * native/fdlibm/e_log.c, - * native/fdlibm/e_rem_pio2.c, - * native/fdlibm/e_remainder.c, - * native/fdlibm/e_scalb.c, - * native/fdlibm/e_sqrt.c, - * native/fdlibm/k_cos.c, - * native/fdlibm/k_rem_pio2.c, - * native/fdlibm/k_sin.c, - * native/fdlibm/k_tan.c, - * native/fdlibm/s_atan.c, - * native/fdlibm/s_ceil.c, - * native/fdlibm/s_copysign.c, - * native/fdlibm/s_cos.c, - * native/fdlibm/s_fabs.c, - * native/fdlibm/s_finite.c, - * native/fdlibm/s_floor.c, - * native/fdlibm/s_rint.c, - * native/fdlibm/s_scalbn.c, - * native/fdlibm/s_sin.c, - * native/fdlibm/s_tan.c, - * native/fdlibm/w_acos.c, - * native/fdlibm/w_asin.c, - * native/fdlibm/w_atan2.c, - * native/fdlibm/w_acos.c, - * native/fdlibm/w_exp.c, - * native/fdlibm/w_fmod.c, - * native/fdlibm/w_log.c, - * native/fdlibm/w_pow.c, - * native/fdlibm/w_remainder.c, - * native/fdlibm/w_sqrt.c: - Updated to fdlibm 5.3. - * native/fdlibm/e_cosh.c, - * native/fdlibm/e_hypot.c, - * native/fdlibm/e_log10.c, - * native/fdlibm/e_sinh.c, - * native/fdlibm/s_cbrt.c, - * native/fdlibm/s_expm1.c, - * native/fdlibm/s_log1p.c, - * native/fdlibm/s_tanh.c, - * native/fdlibm/w_cosh.c, - * native/fdlibm/w_hypot.c, - * native/fdlibm/w_log10.c, - * native/fdlibm/w_sinh.c: - Imported from fdlibm 5.3. - * native/fdlibm/fdlibm.h: - Imported from fdlibm 5.3 with Classpath additions. - * native/fdlibm/namespace.h: - Updated from new math_symbols file. - * native/jni/java-lang/java_lang_VMMath.c: - (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): - Implemented. - (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Implemented. - (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Implemented. - * scripts/math_symbols: - Added tanh, expm1, log10 and log1p. - * vm/reference/java/lang/VMMath.java: - (cbrt(double)): Implemented. - (cosh(double)): Implemented. - (expm1(double)): Implemented. - (hypot(double,double)): Implemented. - (log10(double)): Implemented. - (log1p(double)): Implemented. - (sinh(double)): Implemented. - (tanh(double)): Implemented. - -2006-02-23 Wolfgang Baer - - * javax/print/DocFlavor.java: Added documentation all over. - (BYTE_ARRAY.TEXT_HTML_HOST): Include host charset encoding to mimetype. - (BYTE_ARRAY.TEXT_PLAIN_HOST): Likewise. - (INPUT_STREAM.TEXT_HTML_HOST): Likewise. - (INPUT_STREAM.TEXT_PLAIN_HOST): Likewise. - (URL.TEXT_HTML_HOST): Likewise. - (URL.TEXT_PLAIN_HOST): Likewise. - (hostEncoding): Initialize with host default charset encoding. - (mediaSubtype): Made transient. - (mediaType): Likewise. - (params): Made transient. Changed type to TreeMap. - (className): Removed, changed to myClassName. - (myClassName): New field as defined in serialized form. - (DocFlavor): Adapted to new variable types, names. - (parseMimeType): Reimplemented. - (getParameter): Search with lowercase name. - (getRepresentationClassName): Adapted to changed variable name. - (hashCode): Likewise. - (toString): Reimplemented. - (readObject): New method for serialization. - (writeObject): Likewise. - -2006-02-23 Roman Kennke - - * javax/swing/RepaintManager.java - (commitBuffer): Clip the repaint area with the current clip. - -2006-02-23 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java - (DEFAULT_PRIME_SIZE): Made public. - (DEFAULT_EXPONENT_SIZE): Likewise. - (setup): Handle DHParameterSpec as well. - * gnu/javax/crypto/key/dh/GnuDHKey.java (getEncoded): Return - defaultFormat instead of Raw. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Updated mapping of - KeyAgreement.DH. - Added mappings for AlgorithmParameters.DH and - AlgorithmParameterGenerator.DH. - * gnu/javax/crypto/jce/DiffieHellmanImpl.java: New file. - * gnu/javax/crypto/jce/sig/DHParametersGenerator.java: Likewise. - * gnu/javax/crypto/jce/sig/DHParameters.java: Likewise. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java (engineGeneratePrivate): - Return result. - (engineGeneratePublic): Likewise. - * gnu/java/security/util/DerUtil.java: New file. - * gnu/java/security/sig/rsa/RSASignatureFactory.java (getNames): - Include only valid RSA PKCS1 (v1.5) signature names. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java - (RSAPKCS1V1_5SignatureX509Codec): Removed. - (checkIsConstructed): Likewise. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodeSignature): Use DerUtil. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePublicKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (checkIsConstructed): Removed. - (checkIsBigInteger): Likewise. - (decodePrivateKey): Use DerUtil. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java - (DEFAULT_MODULUS_LENGTH): Made it public. - * gnu/java/security/key/dss/DSSKey.java (getEncoded): Return - defaultFormat instead of Raw. - * gnu/java/security/jce/sig/DSSParametersGenerator.java: New file. - * gnu/java/security/jce/sig/DSSParameters.java: Likewise.. - * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePrivate): - Return result. - (engineGeneratePublic): Likewise. - * gnu/javax/crypto/DiffieHellmanImpl: Removed. - -2006-02-22 Anthony Balkissoon - - * java/math/BigDecimal.java: - (BigDecimal(char[], int, int, MathContext)): New constructor. - (BigDecimal(char[], MathContext)): Likewise. - (BigDecimal(char[])): Likewise. - (BigDecimal(char[], int, int)): Likewise. - (BigDecimal(String)): Fixed handling of exponent and scale. - -2006-02-22 Mark Wielaard - - * java/awt/Checkbox.java (setState): Check that state actually changed - before calling peer. - (dispatchEventImpl): Set new state if ItemEvent. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (changing): Removed. - (create): Set currentState. - (setState): Make synchronized, check and set currentState before - calling gtkToggleButtonSetActive. - (postItemEvent): Make synchronized, check and set currentState before - posting ItemEvent. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c - (postItemEventID): Method now takes boolean. - (item_toggled_cb): Likewise. - -2006-02-22 Robert Schuster - - * javax/swing/text/DefaultHighlighter.java: - (changeHighlight): Added code to minimize the damaged area. - -2006-02-22 Robert Schuster - - * javax/swing/text/PlainView.java: - (getPreferredSpan): Added missing 'break'. - statement which corrects an unwanted fall through. - (updateDamage): Update maxLineLength correctly when text is - removed, call preferenceChanged accordingly. - (viewToModel): Restrict line number to be within 0 and the - number of elements-1. - -2006-02-22 Robert Schuster - - * javax/swing/text/Utilities.java: - (getPositionAbove): Prefer first value by changing comparison - from < to <=. - (getPositionBelow): Dito. - -2006-02-22 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Added checks and fallback - behavior when magic caret position is null. - -2006-02-22 Roman Kennke - - * javax/swing/JTextField.java - (isValidateRoot): New method. - -2006-02-22 Roman Kennke - - * javax/swing/JEditorPane.java - (getPreferredSize): Rewritten to behave like the reference impl. - (getScrollableTracksViewportWidth): Likewise. - (getScrollableTracksViewportHeight): Likewise. - -2006-02-22 Roman Kennke - - * javax/swing/RepaintManager.java - (addInvalidComponent): Also consider the component itself. - -2006-02-22 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Fully - qualify AbstractDocument.AttributeContext. - (blockOpen): Likewise. - -2006-02-21 Anthony Balkissoon - - * java/math/BigDecimal.java: - (mathContext): New field. - (precision): Likewise. - (BigDecimal(int)): New constructor. - (BigDecimal(long)): Likewise. - (BigDecimal(BigInteger)): Added API docs. - (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException - and added API docs. - (plus): New method. - (round): Likewise. - (precision): Likewise. - (valueOf): Likewise. - (numDigitsInLong): New implementation method. - -2006-02-21 Anthony Balkissoon - - * java/math/MathContext.java: New class. - * java/math/RoundingMode: New Enum. - -2006-02-21 Mark Wielaard - - * java/awt/Component.java (translateEvent): Translate - AdjustmentEvents to 1.0 Events. - * java/awt/Scrollbar.java (dispatchEventImpl): Set valueIsAdjusting. - Call setValue() before processing event. - * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java (setValues): Check - whether we are currently changing and being called back from the - Scrollbar component. - (setBarValues): New native method. - (postAdjustmentEvent): Mark AdjustmentEvent as user generated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Renamed to - Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setBarValue - * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Regenerated. - -2006-02-21 Roman Kennke - - * javax/swing/text/View.java - (setParent): Set child parent to null when disconnecting - the view from the View hierarchy. - -2006-02-21 Wolfgang Baer - - * javax/print/StreamPrintService.java: Added and enhanced documentation. - -2006-02-21 Roman Kennke - - * javax/swing/text/WrappedPlainView.java - (calculateBreakPosition): Changed to use the view's allocation instead - of the container's preferredSize. - -2006-02-21 Wolfgang Baer - - * java/awt/CardLayout.java: - (first): Updated api documentation. - (last): Likewise. - (next): Likewise. - (previous): Likewise. - (show): Clarified api docs. Return if name is null. Throw - IllegalArgumentException if layout of container is not this. - (gotoComponent): Updated api documentation. Throw - IllegalArgumentException if layout of container is not this. - -2006-02-21 Roman Kennke - - * javax/swing/text/NavigationFilter.java - (getNextVisualPositionFrom): New method. - -2006-02-21 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.setView): Call setParent() on the view with this as - argument instead of null. - (setView): Don't set root view's parent here. - -2006-02-21 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (AbstractElement.getAttribute): Use getResolveParent() to fetch - the resolving parent. - (AbstractElement.getResolveParent): Fixed to handle possible null - parent. - * javax/swing/text/BoxView.java - (childReqs): New field. - (paint): Added debugging code (commented out). - (getPreferredSpan): Rewritten to use new update* methods. - (getMaximumSpan): Rewritten to return Integer.MAX_VALUE - for the minor axis and preferredSpan for the major axis. - (getMinimumSpan): Rewritten to use new update* methods. - (baselineRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (baselineLayout): Rewritten to use new update* methods. - (calculateMajorAxisRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (calculateMinorAxisRequirements): Rewritten to avoid creation of - unnecessary SizeRequirements objects. - (layout): Some robustness fixes for the layout. Turned AssertionErrors - into warnings. - (layoutMajorAxis): Rewritten to use new update* methods. - (layoutMinorAxis): Rewritten to use new update* methods. - (getChildRequirements): Replaced by the update* methods. - (getAlignment): Use update* methods. - (updateChildRequirements): New methods. Updates the child requirements - if necessary. - (updateRequirements): New methods. Updates the BoxView requirements - if necessary. - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insert): Added warning for illegal replacement operation. - * javax/swing/text/FlowView.java - (layoutRow): When offset doesn't change, return -1. - (LogicalView): Now subclasses BoxView. - (loadChildren): Let the CompositeView.setParent() load the children - of the logicalView. - (calculateMinorRequirements): New overridden method. - * javax/swing/text/GlyphView.java - (DefaultGlyphPainter.paint): Fixed typo. - (startOffset): Made field private. - (endOffset): Made field private. - (paint): Call getStartOffset() and getEndOffset() instead of the - element methods. - (isStrikeThrough): Fixed typo. - (breakView): Use Utilities.getBreakLocation() to determine best - break location. - (changedUpdate): Call preferencedChange on this instead of parent. - (removeUpdate): Call preferencedChange on this instead of parent. - * javax/swing/text/ParagraphView.java - (Row.getAlignment): For Y_AXIS, call super. - (getAlignment): Likewise. - * javax/swing/text/Utilities.java - (getBreakLocation): Set Segment object directly on the BreakIterator. - * javax/swing/text/html/HTML.java - (Attribute): Made class non-serializable and final as specified. - (Attribute(String)): Made constructor private. - (Attribute.compareTo): Removed. - (Attribute.equals): Removed. - (Attribute.hashCode): Removed. - (Tag): Made class non-comparable and non-serializable as specified. - (Tag.compareTo): Removed. - (Tag.equals): Removed. - (Tag.hashCode): Removed. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.blockOpen): Add tag as name attribute to element. - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create NullView for tags, removed unused - fallback. - * javax/swing/text/html/InlineView.java - (setPropertiesFromAttributes): Call super. - * javax/swing/text/html/NullView.java: New class. - -2006-02-21 Roman Kennke - - PR classpath/26368 - * javax/swing/text/GapContent.java - (GapContentPosition): Made class private. - (InsertUndo): Made class private. - (UndoRemove): Made class private. - (WeakPositionComparator): New inner class. - (positions): Made field private. - (createPosition): Clear up GC'ed positions before creating - a new one. Store position as WeakReference. - (getPositionsInRange): Changed to handle WeakReference - positions. - (setPositionsInRange): Changed to handle WeakReference - positions. - (adjustPositionsInRange): Changed to handle WeakReference - positions. - (dumpPositions): Handle WeakReference positions. - (clearPositionReferences): New method. - -2006-02-21 Robert Schuster - - * javax/swing/plaf/basic/BasicTextUI.java: - (paint): Remove unneccessary part of the if-expression. - (damageRange): Added case where the range spans multiple lines. - * javax/swing/text/DefaultCaret.java: - (clearHighlight): New method. - (handleHighlight): Removed unneccessary part of the if-expression. - (setDot): Use clearHighlight method. - * javax/swing/text/DefaultHighlighter.java: Use ArrayList instead - of Vector. - (paint): Prevented calling size() on every loop iteration, fixed - calculation of allocation area bounds. - (getHighlights): Implemented. - (removeHighlight): Mark damaged area in textcomponent. - (addHighlight): Mark damaged area in textcomponent. - (changeHighlight): Mark damaged area in textcomponent. - (DefaultHighlighter.HighlightEntry): Made it a real - Highlighter.Highlight implementation. - (DefaultHighlighter.DefaultHighlightPainter.paint): Fixed - calculations. - -2006-02-20 Stuart Ballard - - * java/util/zip/ZipConstants.java - (LOCSIG): Change type to long. - (EXTSIG): Likewise. - (CENSIG): Likewise. - (ENDSIG): Likewise. - * java/util/zip/ZipOutputStream.java - (writeLeInt(long)): New method. - -2006-02-21 Michael Koch - - * gnu/javax/net/ssl/provider/PRNG.java: Removed. - -2006-02-20 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c - (begin_drawing_operation): Output stacktrace and return on bad cairo - status. - (end_drawing_operation): Likewise. And reset cairo_t. - -2006-02-20 Robert Schuster - - * javax/swing/text/DefaultEditorKit.java: Fixed comparison - in backward selection action. - -2006-02-20 Olivier Jolly - - * java/lang/reflect/Proxy.java: - (ProxyData.getProxyData): Skipped overriding of core methods. - (ProxyData.isCoreObjectMethod): New method. - -2006-02-20 Mark Wielaard - - * gnu/java/nio/charset/Provider.java (Provider): Package private. - -2006-02-20 Roman Kennke - - * javax/swing/text/html/Option.java: New class. - -2006-02-20 Lillian Angel - - * java/swt/Window.java - (show): Calling show() on the owned windows caused problems. - Changed back to get the peer and call setVisible. - -2006-02-20 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (damageRange): Implemented this method. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Corrected new mark value. - * javax/swing/text/AbstractDocument.java: - (remove): Changed order of operations. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Reverted. - * javax/swing/text/AbstractDocument.java: - (remove): Reverted. - -2006-02-20 Robert Schuster - - * javax/swing/text/GapContent.java: - (shiftGapEndUp): Corrected new mark value. - * javax/swing/text/AbstractDocument.java: - (remove): Changed order of operations. - -2006-02-20 Mark Wielaard - - * java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get - parent field. - (insert): Likewise. - (addNotify): Add the item after addNotifying it. - * java/awt/MenuBar.java (setHelpMenu): Only call removeNotify() when - there is a peer. Use getParent() and setParent() to manipulate parent - field. - (add(Menu)): Use getParent() and setParent() to manipulate parent - field. Call addNotify() and addMenu() when there is a peer. - (remove(int)): Call removeNotify() and delMenu() when there is a peer. - (addNotify): Use getPeer()/setPeer(). Call addMenu() and addHelpMenu() - when there is a peer. - * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Document. - (GtkMenuComponentPeer): Document. Take MenuComponent as argument. - (setFont): Call setFont(Font). - (setFont(Font)): Document. Only set font when not null. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (create): Document. Made - protected. - (connectSignals): Likewise. - (GtkMenuItemPeer): Document. Don't try to add item. Always call - connectSignals(). - * gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java (create): Make - protected. - (postMenuActionEvent): Document. - * gnu/java/awt/peer/gtk/GtkMenuPeer.java (create): Document. Made - protected. - (addItem): Document. Made private. - (addTearOff): Made private. - (connectSignals): New protected overridden method. - (GtkMenuPeer): Correctly cast setupAccelGroup() arguments. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (hasHelpMenu): New field. - (create): Document. - (addMenu): Made private, take GtkMenuPeer as argument and document. - (GtkMenuBarPeer): Document. - (nativeSetHelpMenu): Removed. - (addHelpMenu): Implement. - (delMenu): Document. - (addMenu): Implement. - * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (setParent): Removed. - * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): - Removed. - -2006-02-20 Audrius Meskauskas - - * gnu/java/rmi/server/RMIObjectInputStream.java (resolveProxyClass): - Expect that proxy interfaces may have different class loaders. - * gnu/java/rmi/server/UnicastServerRef.java: Rewritten. - * java/rmi/registry/Registry.java, - * java/rmi/server/UnicastRemoteObject.java: - Documented about proxy stubs. - * gnu/java/rmi/server/CombinedClassLoader.java, - java/rmi/server/RemoteObjectInvocationHandler.java: New files. - * NEWS: Added entry. - -2006-02-19 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): Set - Parent and Bounds of our children if either or parent is showing, or - we are a Window and are showing ourselves now. - -2006-02-19 Audrius Meskauskas - - * gnu/classpath/tools/rmi/rmic/RmicCompiler.java (convertStubName): - New method. - * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: - Another stub name fix. - -2006-02-19 Audrius Meskauskas - - * gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): - Call convertStubName. (convertStubName): New method. - * gnu/classpath/tools/rmi/RMIC.java (main): Stub name fix. - * gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java - (convertStubName): New method. - (getMethodHashCode): - Use existing gnu.java.rmi.server.RMIHashes.getMethodHash. - * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: Stub name fix. - -2006-02-19 Audrius Meskauskas - - * java/rmi/server/UnicastRemoteObject.java: Documenting. - -2006-02-19 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastServerRef.java: Reformatted. - -2006-02-18 Audrius Meskauskas - - * javax/swing/JViewport.java (paintBackingStore): If the component has - not been scrolled, only repaint the buffer part, indicated by - the parameter graphics clip. - -2006-02-19 Raif S. Naffah - - * gnu/javax/crypto/key/OutgoingMessage.java (writePublicKey): Handle new - internal format. - (writePrivateKey): Likewise. - (writeKey): New method. - (getKeyType): Likewise. - * gnu/javax/crypto/key/IncomingMessage.java (readPublicKey): Handle new - internal format. - (readPrivateKey): Likewise. - (getKeyPairCodec): New method. - * gnu/javax/crypto/key/srp6/SRPKey.java (getFormat): Always return Raw. - * gnu/javax/crypto/key/dh/GnuDHKey.java (getFormat): Use FormatUtil. - * gnu/java/security/Registry.java (RSA_SIG_PREFIX): New constant. - (RSA_PSS_ENCODING): Likewise.. - (RSA_PKCS1_V1_5_ENCODING): Likewise. - (RSA_PSS_SIG): Redefined using other constants. - (RSA_PKCS1_V1_5_SIG): Likewise. - (MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE): New constant. - * gnu/java/security/util/FormatUtil.java: New file. - * gnu/java/security/sig/SignatureFactory.java (names): New field. - (getInstance): Let RSASignatureFactory handle RSA signature names. - (getNames): Handle new RSA signature (with format) names. - * gnu/java/security/sig/SignatureCodecFactory.java: New file. - * gnu/java/security/sig/BaseSignature.java (BaseSignature): Add check - for null md. - (name): Include hash algorithm name. - * gnu/java/security/sig/rsa/RSASignatureFactory.java: New file. - * gnu/java/security/sig/rsa/RSAPSSSignature.java - (RSAPSSSignature): Call constructor with IMessageDigest. - (RSAPSSSignature(ImessageDigest,int)): New constructor. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java: New - file. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: - Likewise. - * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java - (RSAPKCS1V1_5Signature(String)): Call constructor with IMessageDigest. - (RSAPKCS1V1_5Signature(IMessageDigest)): New constructor. - * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java (getInstance): Added - hash algorithm name to exception. - * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: New file. - * gnu/java/security/key/KeyPairCodecFactory.java - (names): New class field. - (getInstance(Sitrng)): Deconstruct and call getInstance(String,String). - (getInstance(String,String)): New method. - (getInstance(String,int)): New method. - (getInstance(byte[])): Removed. - (getInstance(Key)): Handle new formats. - (getNames): Likewise. - (getEncodingName(int)): Moved to FormatUtil. - (getEncodingShortName(int)): Likewise. - (getRawCodec(String)): New method. - (getX509Codec(String)): Likewise. - (getPKCS8Codec(String)): Likewise. - (getRawCodec(Key)): Likewise. - (getX509Codec(Key)): Likewise. - (getPKCS8Codec(Key)): Likewise. - * gnu/java/security/key/dss/DSSKey.java (getFormat): Use FormatUtil. - * gnu/java/security/key/rsa/GnuRSAKey.java (getFormat): Likewise. - * gnu/java/security/jce/sig/SHA512withRSA.java: New File. - * gnu/java/security/jce/sig/SHA384withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA256withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA160withRSA.java: Likewise. - * gnu/java/security/jce/sig/SHA160withDSS.java: Likewsie. - * gnu/java/security/jce/sig/MD5withRSA.java: Likewise. - * gnu/java/security/jce/sig/MD2withRSA.java: Likewise. - -2006-02-18 Mark Wielaard - - * java/awt/dnd/DragSource.java (getDefaultDragSource): Return new - DragSource. - (NoDragGestureRecognizer): New static class. - (createDragGestureRecognizer): Return NoDragGestureRecognizer when - Toolkit doesn't support drag and drop. - -2006-02-18 Mark Wielaard - - * javax/swing/AbstractAction.java (AbstractAction()): Nothing to do. - (AbstractAction(String)): Just call putValue() for NAME. - (putValue): Nothing to do is old and new value are both null. - -2006-02-18 Mark Wielaard - - * javax/swing/JRootPane.java (layoutContainer): Get contentPane - through getContentPane(). - (preferredLayoutSize): Likewise. - -2006-02-18 Mark Wielaard - - * javax/swing/JMenuBar.java (paintBorder): Check whether border is - actually set before painting. - -2006-02-18 Mark Wielaard - - * javax/swing/text/html/HTMLDocument.java (addContent): - Fully qualify AbstractDocument.AttributeContext and - DefaultStyledDocument.ElementSpec.ContentType for gcj 4.0. - -2006-02-18 Mark Wielaard - - * java/awt/datatransfer/DataFlavor.java (tryToLoadClass): Rewritten. - (getRepresentationClassFromMime): Add exception cause to - IllegalArgumentException. - -2006-02-17 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java: - Removed unneeded import. - * gnu/java/awt/peer/gtk/GtkFramePeer.java: - Removed unneeded imports. - * java/awt/BorderLayout.java: - Fixed comment, this is not yet handled in the JDK 1.5. - * java/awt/Container.java: - Removed unneeded import. - -2006-02-17 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (setBounds): Removed check. Coordinates should always be changed - to incorporate the parent's coordinates. - * gnu/java/awt/peer/gtk/GtkFramePeer.java - (setMenuBar): Added checks. Don't validate component if it has - not been validated yet, it will be validated later. Only validate - if it has already been validated, in that case it needs to be - revalidated. - * java/awt/Window.java - (show): Added check. If the window is visible, then bring it to the - front. Otherwise, iterate through all its children windows and show them. - No need to do both. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/ParagraphView.java: New file. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (getCellRect): return +rowMargin if spacing - is included. (moveToCellBeingEdited): Adjusted to start editing at the - same location where was the initial text. - * javax/swing/plaf/basic/BasicTableUI.java (paint): Rewritten. - -2006-02-17 Chris Burdess - - Fixes PRs 26319, 26320, 26321, 26322, 26325 - * gnu/xml/stream/SAXParser.java: On error, reset parser before - rethrowing exception. - * gnu/xml/stream/XMLParser.java: Only report "illegal use of - 1.1-style prefix unbinding in 1.0 document" error for xmlns - prefixes, not xmlns attributes. Fix a problem with empty namespace - stack at the end of a document. Permit parameter entity references - in element and attribute-list definition name area. Corrected - normalisation of whitespace character entity references in CDATA - attribute values. Fixed number of characters read following a - reset when detecting end of character data with characters after a - Unicode surrogate pair. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/HTMLEditorKit.java - (HTMLFactory.create): Create InlineView for content tags. - * javax/swing/text/html/HTMLDocument.java - (HTMLReader.flush): Call create() on first flush and insert - on subsequent flushes. - -2006-02-17 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (BranchElement.getStartOffset): Implemented workaround for wrong - NPE. - (BranchElement.getEndOffset): Implemented workaround for wrong - NPE. - (ElementBuffer.split): Use createBranchElement() instead of - new BranchElement(). - (ElementBuffer.insertFracture): Use createBranchElement() instead of - new BranchElement(). - (ElementBuffer.recreateAfterFracture): Use createBranchElement() - instead of new BranchElement(). - (createDefaultRoot): Use createBranchElement() and createLeafElement - instead of the constructors. - (create): Rewritten. - -2006-02-17 Keith Seitz - - * gnu/classpath/jdwp/id/JdwpId.java (size): Remove. - (SIZE): New constant. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeIDsizes): Use SIZE constant. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): Remove. - (SIZE): New constant. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (IconCellRenderer): Set the component - text to empty string. (createDefaultRenderers): Register - IconCellRenderer also for ImageIcon. - (getCellEditor(int, int), getCellRenderer(int, int)): - Use model index for data model and column index for column model. - (getColumnClass): Convert to model index before requesting class - from model. - -2006-02-17 Roman Kennke - - * javax/swing/text/html/HTMLDocument.java - (createDefaultRoot): Implemented. - (createLeafElement): Implemented. - (createBranchElement): Implemented. - (BlockElement.getName): Fixed to handle HTML.Tag objects as name. - (RunElement.getName): Fixed to handle HTML.Tag objects as name. - (HTMLReader.ParagraphAction.start): Call blockOpen at the very least. - (HTMLReader.ParagraphAction.end): Call blockClose at the very least. - (HTMLReader.blockOpen): Add name attribute with the current tag. - (HTMLReader.addContent): Add name attribute with HTML.Tag.CONTENT. - -2006-02-17 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. - * javax/swing/table/JTableHeader.java: Documenting related methods. - -2006-02-17 Jeroen Frijters - - Fixes PR 25752 - * gnu/java/net/protocol/ftp/FTPURLConnection.java - (connect): Changed to use SystemProperties. - (getInputStream): Try changeWorkingDirectory to figure out if - url is a directory, if not use retrieve. - (getOutputStream): Don't worry about directories, simply always - try to do a store. - -2006-02-17 Jeroen Frijters - - * gnu/java/net/protocol/ftp/ActiveModeDTP.java - (ActiveModeDTP): Mark accept thread as daemon. - -2006-02-17 Michael Koch - - * tools/.cvsignore: Ignore tools.zip. - -2006-02-16 Keith Seitz - - * vm/reference/gnu/classpath/jdwp/VMIdManager.java (newReferenceTypeId): - Set the ID's reference. - (): Remove comments for field, method, and frame ID types, - which will not be handled by VMIdManager. - -2006-02-17 Audrius Meskauskas - - * javax/swing/JTable.java (getCellEditor, getCellRenderer): - Use model index, not the column number. - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. (draggingHeaderRect): New field. (paint): Animate column - movement by painting draggingHeaderRect. - * NEWS: Added entry about JTable columns. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/id/JdwpId.java (size): Make static. Return - default size of eight bytes. - * gnu/classpath/jdwp/id/ObjectId.java (size): Remove. - * gnu/classpath/jdwp/id/ReferenceTypeId.java (size): Remove. - * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java - (executeIDsizes): Use new static methods. - * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): New static + (isShowing): Create local copy of parent field for better + thread safety and efficiency. + * java/awt/EventDispatchThread.java + (EventDispatchThread): Make sure the event thread is not a daemon + thread in case it gets started by a daemon thread. + * java/awt/image/IndexColorModel.java + (createColorMap): New helper method for creating the color map. + (IndexColorModel): (all constructors) use createColorMap() helper method. - -2006-02-16 David Daney - - PR classpath/26312 - * gnu/java/net/protocol/http/ChunkedInputStream.java (read): Mask - return value with 0xff. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/event/EventRequest.java (getFilters): New method. - (matches): Use Iterator instead of ListIterator. - -2006-02-16 Keith Seitz - - * gnu/classpath/jdwp/Jdwp.java (_doInitialization): Name the packet - processor thread for easier debugging. - (_enforceSuspendPolicy): Suspend the current thread, not the JDWP - main thread. - -2006-02-16 Audrius Meskauskas - - * javax/swing/JTable.java - (TableColumnPropertyChangeHandler.propertyChange): Return without - action if table header resizing column in not null. (doLayout): - Only repaint the header if it is not null. - * javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseExited, MouseInputHandler.mouseReleased): - Rewritten. (MouseInputHandler.endResizing): New method. - -2006-02-16 Roman Kennke - - * javax/swing/text/html/InlineView.java: New file. - -2006-02-16 Roman Kennke - - * javax/swing/JTabbedPane.java - (AccessibleJTable.getAccessibleChild): Implemented to return - the Page instance for the specified index. - (Page): Changed to implement Accessible and extend - AccessibleContext. - (Page.getAccessibleContext): New method. - (Page.getAccessibleRole): New method. - (Page.getAccessibleStateSet): New method. - (Page.getAccessibleIndexInParent): New method. - (Page.getAccessibleChildrenCount): New method. - (Page.getAccessibleChild): New methdod. - (Page.getLocale): New method. - -2006-02-16 Roman Kennke - - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (TabbedPaneLayout.calculateTabRects): Expand tabRuns array when - tabCount gets greater than tabRuns.length. - (TabbedPaneScrollLayout.calculateTabRects): Expand tabRuns array - when tabCount gets greater than tabRuns.length. - (paintTabArea): Don't set tabCount == runCount. - -2006-02-16 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (installUI): Moved installation of PropertyChangeListener - to installListeners(). Call modelChanged() after everything is - is installed. - (installListeners): Install PropertyChangeListener here. - (uninstallUI): Moved uninstallation of PropertyChangeListener - to uninstallListeners. - (uninstallListeners): Uninstall PropertyChangeListener here. -2006-02-16 Audrius Meskauskas +2007-01-04 Roman Kennke - * javax/swing/JTable.java (doLayout): - case AUTO_RESIZE_SUBSEQUENT_COLUMNS rewritten. Repaint the header - on exit. - javax/swing/plaf/basic/BasicTableHeaderUI.java - (MouseInputHandler.mouseDragged): Do not repaint the header. - -2006-02-16 Roman Kennke - - * javax/swing/JViewport.java - (static_initializer): Set default scrollMode to backingstore. - -2006-02-16 Audrius Meskauskas - - * javax/swing/JTable.java (moveToCellBeingEdited): Clone the value, - returned by getCellRect. To not translate the component. - -2006-02-16 Roman Kennke - - * javax/swing/JComponent.java - (rectCache): Made field non-static to avoid nasty interferences. - (computeVisibleRect): Avoid creation of new Rectangles and double - calculations on ints by using Swing.computeIntersection() instead - of Rectangle2D.intersect(). - (repaint): Interect the dirty region with the visible rectangle - of this component to avoid unnecessary painting. - -2006-02-16 Gary Benson - - * java/lang/Thread.java (stop): Add a missing access check. - -2006-02-16 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (replaceSelection): Added code to update the magic caret position. - * javax/swing/text/DefaultEditorKit.java: Added code to update - the magic caret position of the text component in all relevant - movement actions, make use of the magic caret position in up - and down movements and selections, simplified some actions - (code-wise). + * gnu/java/awt/font/autofit/GlyphHints.java + (alignStrongPoints): Don't special case the vertical dimension. + (computeInflectionPoints): Corrected computation of inflection + points. + * gnu/java/awt/font/autofit/Utils.java + (ANGLE_4PI): Removed. + (ANGLE_PI2): New constant for PI/2. + (ANGLE_PI4): New constant for PI/4. + (angleDiff): Fixed. + (atan): Fixed. -2006-02-15 Anthony Balkissoon +2007-01-03 Cameron McCormack - * gnu/java/lang/CharData.java: Regenerated from - doc/unicode/UnicodeData-4.0.0.txt, doc/unicode/SpecialCasing-4.0.0.txt - and scripts/unicode-muncher.pl. - * java/lang/Character.java: - (PrivateUseCharacters): New private static class. - (UnassignedCharacters): Likewise. - (blocks): Changed from char[] to char[][] to reflect the changes in - gnu/java/lang/CharData. There is now one char[] per Unicode code - plane. - (data): Likewise. - (numValue): Likewise. - (upper): Likewise. - (lower): Likewise. - (direction): Likewise. - (readChar): Replaced this method with new method readCodePoint. - (readCodePoint): New method. - (isLowerCase(char)): Redirected to new isLowerCase(int). - (isLowerCase(int)): New method. - (isUpperCase(char)): Redirected to new isUpperCase(int). - (isUpperCase(int)): New method. - (isTitleCase(char)): Redirected to new isTitleCase(int). - (isTitleCase(int)): New method. - (isDigit(char)): Redirected to new isDigit(int). - (isDigit(int)): New method. - (isDefined(char)): Redirected to new isDefined(int). - (isDefined(int)): New method. - (isLetter(char)): Redirected to new isLetter(int). - (isLetter(int)): New method. - (isLetterOrDigit(char)): Redirected to new isLetterOrDigit(int). - (isLetterOrDigit(int)): New method. - (isJavaIdentifierStart(char)): Redirected to new - isJavaIdentifierStart(int). - (isJavaIdentifierStart(int)): New method. - (isJavaIdentifierPart(char)): Redirected to new - isJavaIdentifierPart(int). - (isJavaIdentifierPart(int)): New method. - (isUnicodeIdentifierStart(char)): Redirected to new - isUnicodeIdentifierStart(int). - (isUnicodeIdentifierStart(int)): New method. - (isUnicodeIdentifierPart(char)): Redirected to new - isUnicodeIdentifierPart(int). - (isUnicodeIdentifierPart(int)): New method. - (isIdentifierIgnorable(char)): Redirected to new - isIdentifierIgnorable(int). - (isIdentifierIgnorable(int)): New method. - (toLowerCase(char)): Changed access to lower to correspond with new - char[][] type of lower. - (toLowerCase(int)) New method. - (toUpperCase(char)): Changed access to upper to correspond with new - char[][] type of upper. - (toUpperCase(int)): New method. - (toTitleCase(int)): New method. - (digit(char, int)): Replaced call to readChar with call to - readCodePoint and changed access to numValue to reflect new char[][] - type of numValue. - (digit(int, int)): New method. - (getNumericValue(char)): Changed access to numValue to reflect new - char[][] type of numValue. - (getNumericValue(int)): New method. - (isSpaceChar(char)): Redirected to new isSpaceChar(int). - (isSpaceChar(int)): New method. - (isWhitespace(char)): Redirected to new isWhitespace(int). - (isWhitespace(int)): New method. - (isISOControl(char)): Redirected to new isISOControl(int). - (isISOControl(int)): New method. - (getType(char)): Redirected to new getType(int). - (getType(int)): New method. - (getDirectionality(char)): Redirected to new getDirectionality(int). - (getDirectionality(int)): New method. - (isMirrored(char)): Changed call to readChar to readCodePoint. - (isMirrored(int)): New method. - * java/lang/String.java: - (upperCaseExpansion): Changed access to Character.direction to reflect - new char[][] type of direction. - (offsetByCodePoints): New method. - * scripts/unicode-muncher.pl: Adapted this script to handle Unicode - 4.0.0 which introduced supplementary character assignments. - -2006-02-15 Audrius Meskauskas - - * javax/swing/JTable.java, - javax/swing/plaf/basic/BasicTableHeaderUI.java, - javax/swing/table/DefaultTableModel.java: Documented. - -2006-02-15 Lillian Angel - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: - Removed duplicate methods. - -2006-02-15 Audrius Meskauskas - - * javax/swing/JTable.java (distributeSpillResizing): New method. - (doLayout): Use distributeSpillResizing when resizing. - * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): - Rewritten. (installListeners): Add mouse motion listener. - (uninstallListeners): Remove mouse motion listener. - -2006-02-15 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkDialogPeer.java - (setVisible): Removed method. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (setLocation): New method. - (setLocationUnlocked): New method. - (show): Changed to use setLocation instead of setBounds. - * java/awt/Component.java - (show): Should call peer.show(), not peer.setVisible(), so the - location of the component is correctly set. - (preferredSize): Added curly braces so else statements are - properly associated with if's. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation): - New function. - (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet - LocationUnlocked): New function. - * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: - Added declarations for Java_gnu_java_awt_peer_gtk_ - GtkWindowPeer_nativeSetLocation and - Java_gnu_java_awt_peer_gtk_GtkWindowPeer - _nativeSetLocationUnlocked. - -2006-02-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - Downcast gtk_plug_new result when used. - -2006-02-15 Olivier Jolly - - * java/io/ObjectOutputStream.java (writeClassDescriptor): - Call assignNewHandle() after writing Proxy class. - -2006-02-15 Olivier jolly - - Fixes bug #14144 - * java/io/ObjectInputStream.java (readClassDescriptor): - Class doesn't have to be abstract for first_nonserial. - -2006-02-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (setClosed): Call dispose to actually make the frame invisible - and unselected. - -2006-02-15 Roman Kennke - - * javax/swing/JInternalFrame.java - (dispose): Call setVisible(false) instead of hide. - (doDefaultCloseOperation): Likewise. - -2006-02-15 Roman Kennke - - * javax/swing/JComponent.java - (paintChildren): Also check for the visibility of a child component - to avoid artifacts. - (repaint): Simply add this component to the RepaintManager rather than - trying to do useless optimization here. - -2006-02-15 David Gilbert - - * javax/swing/JSpinner.java - (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a - PropertyChangeListener, - (DefaultEditor.getSpinner): Updated API docs, - (DefaultEditor.dismiss): Likewise, - (DefaultEditor.getTextField): Likewise, - (DefaultEditor.layoutContainer): Likewise, - (DefaultEditor.minimumLayoutSize): Likewise, - (DefaultEditor.preferredLayoutSize): Likewise, - (DefaultEditor.propertyChange): Implemented, - (DefaultEditor.stateChanged): Implemented, - (DefaultEditor.removeLayoutComponent): Updated API docs, - (DefaultEditor.addLayoutComponent): Likewise, - (NumberEditor.NumberEditor(JSpinner)): Set formatter for text field, - (NumberEditor.NumberEditor(JSpinner, String)): Likewise, - (NumberEditor.getFormat): Implemented, - (NumberEditor.getModel): Updated API docs, - (NumberEditorFormatter): New static inner class, - (ListEditor.getModel): Updated API docs, - (DateEditor.dateFormat): Removed, - (DateEditor.DateEditor(JSpinner)): Set formatter for text field, - (DateEditor.DateEditor(JSpinner, String)): Likewise, - (DateEditor.init): Removed, - (DateEditor.getFormat): Reimplemented, - (DateEditorFormatter): New static inner class, - (ModelListener): New inner class, - (model): Updated API docs, - (editor): Likewise, - (listener): Removed, - (JSpinner()): Updated API docs, - (JSpinner(SpinnerModel)): Set up ModelListener, - (setEditor): Fire property change, - (getModel): Updated API docs, - (setModel): Removed check for null editor, - (setValue): Updated API docs, - (getUIClassID): Updated API docs, - (createEditor): Handle SpinnerListModel case, - * javax/swing/plaf/basic/BasicSpinnerUI.java - (createUI): Updated API docs, - (createPropertyChangeListener): Added FIXME, - (installDefaults): Set text field border to null, - (DefaultLayoutManager): Updated API docs, - (DefaultLayoutManager.layoutContainer): Modified layout, - (DefaultLayoutManager.minimumLayoutSize): Ignore button heights, - (DefaultLayoutManager.preferredLayoutSize): Likewise, - (DefaultLayoutManager.removeLayoutComponent): Removed tabs, - (DefaultLayoutManager.addLayoutComponent): Likewise, - (DefaultLayoutManager.minSize): Renamed prefSize, - (DefaultLayoutManager.setBounds): Reformatted, - (DefaultLayoutManager.editor): Added API docs, - (DefaultLayoutManager.next): Likewise, - (DefaultLayoutManager.previous): Likewise, - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Added entry for 'Spinner.border', - * examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file. - -2006-02-15 Chris Burdess - - * gnu/xml/validation/datatype/BooleanType.java, - gnu/xml/validation/datatype/ByteType.java, - gnu/xml/validation/datatype/DateTimeType.java, - gnu/xml/validation/datatype/DateType.java, - gnu/xml/validation/datatype/DecimalType.java, - gnu/xml/validation/datatype/DoubleType.java, - gnu/xml/validation/datatype/DurationType.java, - gnu/xml/validation/datatype/FloatType.java, - gnu/xml/validation/datatype/GDayType.java, - gnu/xml/validation/datatype/GMonthDayType.java, - gnu/xml/validation/datatype/GMonthType.java, - gnu/xml/validation/datatype/GYearMonthType.java, - gnu/xml/validation/datatype/GYearType.java, - gnu/xml/validation/datatype/IntType.java, - gnu/xml/validation/datatype/IntegerType.java, - gnu/xml/validation/datatype/LongType.java, - gnu/xml/validation/datatype/MaxExclusiveFacet.java, - gnu/xml/validation/datatype/MaxInclusiveFacet.java, - gnu/xml/validation/datatype/MinExclusiveFacet.java, - gnu/xml/validation/datatype/MinInclusiveFacet.java, - gnu/xml/validation/datatype/NegativeIntegerType.java, - gnu/xml/validation/datatype/NonNegativeIntegerType.java, - gnu/xml/validation/datatype/NonPositiveIntegerType.java, - gnu/xml/validation/datatype/PositiveIntegerType.java, - gnu/xml/validation/datatype/ShortType.java, - gnu/xml/validation/datatype/SimpleType.java, - gnu/xml/validation/datatype/TimeType.java, - gnu/xml/validation/datatype/TypeBuilder.java, - gnu/xml/validation/datatype/UnsignedByteType.java, - gnu/xml/validation/datatype/UnsignedIntType.java, - gnu/xml/validation/datatype/UnsignedLongType.java, - gnu/xml/validation/datatype/UnsignedShortType.java: Provide value - objects for datatypes. Make maxExclusive,minExclusive,maxInclusive, - minInclusive facets use the value space of the base type, and - implement. - -2006-02-15 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - gtk_plug_new() returns a GtkWindow. - -2006-02-15 David Gilbert - - * javax/swing/SpinnerNumberModel.java - (getNextValue): Check for null maximum, - (getPreviousValue): Check for null minimum. - -2006-02-15 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Paint vertical and horizontal lines one pixel shifted - left/top. - -2006-02-15 Jeroen Frijters - - * java/util/zip/ZipFile.java - (checkZipFile): Inlined readLeInt and rewritten for robustness. - (readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[], - readLeShort(byte[],int), readLeInt(byte[],int)): Removed. - (readEntries): Rewritten to use PartialInputStream. - (locBuf, checkLocalHeader): Removed. - (getInputStream): Rewritten to use new PartialInputStream. - (PartialInputStream): Rewritten to do buffering. - -2006-02-15 Michael Koch - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c - (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): - Make sure the embedded window gets no decorations. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c - (window_get_frame_extents): Return early of the window has no - decorations. - -2006-02-15 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java - (TModel, createContent): Explain which value appears in the header. - * javax/swing/JTable.java (setColumnModel): Only set the - column header value if the getHeaderValue() returns null. - -2006-02-14 Mark Wielaard - - Fixes bug #23931 - * gnu/java/awt/peer/gtk/GtkImage.java (errorImage): New static field. - (getErrorImage): New static method. - * gnu/java/awt/peer/gtk/GtkToolkit.java (GtkErrorImage): Removed. - (bufferedImageOrError): Renamed to ... - (imageOrError): Renamed from bufferedImageOrError, takes Image. - Returns GtkImage.getErrorImage() when argument null. - (createImage(String)): Always use imageOrError. - (createImage(URL)): Likewise. - (createImage(ImageProducer)): Likewise. - (createImage(byte[],int,int)): Likewise. - -2006-02-14 Roman Kennke - - * javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Removed - unneeded imports. - * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise. - * javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise. - * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise. - * javax/swing/plaf/basic/BasicSplitPaneDivider.java: Likewise. - * javax/swing/plaf/basic/BasicHTML.java: Fixed API comment. - -2006-02-14 Roman Kennke - - * javax/swing/text/AsyncBoxView.java - (ChildState.locator): Removed wrong field. - (ChildState): Removed initialization of removed field. - (locator): Changed access modifier to be protected as specified. - -2006-02-14 Roman Kennke - - * javax/swing/ToolTipManager.java: Removed unneeded imports. - * javax/swing/Timer.java: Some small reindention. - (task): Made package private to avoid synthetic accessor method. - -2006-02-14 Roman Kennke - - * javax/swing/SwingUtilities.java - (layoutCompoundLabel): Dont set textIconGap to 0 when there is - no icon. - -2006-02-14 Audrius Meskauskas - - * examples/gnu/classpath/examples/swing/TableDemo.java: - Making the columns variable width. - * javax/swing/JTable.java (distributeSpill, doLayout): - Call getPreferredSize and not getSize(). - -2006-02-14 Roman Kennke - - * javax/swing/DefaultCellEditor.java - (DefaultCellEditor): API doc fixlet. - -2006-02-14 Roman Kennke - - * javax/swing/JViewport.java - (isPaintRoot): New field. - (repaint): Only call super here. Also added a comment regarding - the diversion from the JDK. - (paintBlit): Implemented real blitting. - (paintImmediately2): New method. Overrides the same package private - method in JComponent. - -2006-02-14 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Check for boundary cases when determining the painting - area. - -2006-02-14 Mark Wielaard - - * java/awt/Menu.java (add): Always set parent of item to this. Call - addNotify() on item when we have a MenuPeer already. - (insert): Always adjust parent for item. Call addNotify() on item if - we already have a peer. - (remove(int)): Always clear item parent. Call removeNotify() on item - if we had a peer. - -2006-02-14 Audrius Meskauskas - - * javax/swing/JTable.java (rowAtPoint): Return -1 if the computed - row == getRowCount(). - -2006-02-14 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkDialogPeer.java - (setVisible): New method to override super. Need to set the - native bounds of the component, so it appears at the - correct location. - -2006-02-14 Mark Wielaard - - * java/awt/Frame.java (setMenuBar): Update MenuBar parent. - (remove): If menu component is the current MenuBar remove it, - otherwise call super.remove(). - * java/awt/MenuBar.java (frame): Remove field. - * java/awt/MenuComponent.java (postEvent): Use getParent() always. - -2006-02-14 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/NameServicePersistent.java: Refer - to NameServicePersistent. - * tools/gnu/classpath/tools/giop/NameServicePersistent.txt: New file. - * tools/gnu/classpath/tools/giop/NamingServicePersistent.txt: Deleted. - -2006-02-14 Audrius Meskauskas - - * NEWS: Updated tool status. - * gnu/CORBA/NamingService/NamingMap.java (Map): Made protected. - (constructor, bind, rebind): Rewritten. - * gnu/CORBA/NamingService/TransientContext.java: Rewritten. - * tools/gnu/classpath/tools/giop/README: Updated. - * tools/gnu/classpath/tools/giop/NameServicePersistent.java, - tools/gnu/classpath/tools/giop/NamingServicePersistent.txt, - tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java, - tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java, - tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java: - New files. - -2006-02-14 David Gilbert - - * javax/swing/JComponent.java - (getListeners): Check for PropertyChangeListener.class and delegate to - getPropertyChangeListeners() for that case. - -2006-02-13 Roman Kennke - - * javax/swing/plaf/basic/BasicTableUI.java - (paint): Determine the cells that need painting based on the - current clip. Use getCellRect() for calculating the cell - bounds. - -2006-02-13 Roman Kennke - - * javax/swing/JTable.java - (rectCache): New field. - (getCellRect): Returns cached Rectangle instance. - -2006-02-13 Roman Kennke - - * javax/swing/JLayeredPane.java - (removeAll): New method. Avoid potential memory leak. - (isOptimizedDrawingEnabled): Replaced heuristic with accurate - calculation. - -2006-02-14 Stuart Ballard - - * javax/swing/undo/StateEdit.java (RCSID): Match Sun's value. - * javax/swing/undo/StateEditable.java (RCSID): Likewise. - -2006-02-13 Tom Tromey - - * vm/reference/java/lang/reflect/Method.java: Javadoc fix. - * vm/reference/java/lang/reflect/Constructor.java: Javadoc fix. - -2006-02-13 Roman Kennke - - * javax/swing/RepaintManager.java - (offscreenBuffers): New field. - (doubleBuffer): Removed field. - (repaintUnderway): New field. - (commitRequests): New field. - (RepaintManager): Initialize new fields. - (paintDirtyRegions): Handle repaintUnderway flag. Commit - buffers when done. - (getOffscreenBuffer): Returns the offscreen buffer for the - corresponding root component. - (commitBuffer): New method. - (commitRemainingBuffers): New method. - * javax/swing/JComponent.java - (paint): Call paintDoubleBuffered with the current clip. - (paintImmediately2): Don't paint on screen here. - (paintDoubleBuffered): Rewritten for real double buffering. - (paintSimple): Draw to screen in this method. - -2006-02-13 Roman Kennke - - * javax/swing/JRootPane.java - (JRootPane): Set opaque property to true. - -2006-02-13 Tom Tromey - - * .classpath: Updated for external/relaxngDatatype. - -2006-02-13 Chris Burdess - - * gnu/xml/stream/UnicodeReader.java, - gnu/xml/validation/datatype/Annotation.java, - gnu/xml/validation/datatype/AnySimpleType.java, - gnu/xml/validation/datatype/AnyType.java, - gnu/xml/validation/datatype/AnyURIType.java, - gnu/xml/validation/datatype/AtomicSimpleType.java, - gnu/xml/validation/datatype/Base64BinaryType.java, - gnu/xml/validation/datatype/BooleanType.java, - gnu/xml/validation/datatype/ByteType.java, - gnu/xml/validation/datatype/DateTimeType.java, - gnu/xml/validation/datatype/DateType.java, - gnu/xml/validation/datatype/DecimalType.java, - gnu/xml/validation/datatype/DoubleType.java, - gnu/xml/validation/datatype/DurationType.java, - gnu/xml/validation/datatype/EntitiesType.java, - gnu/xml/validation/datatype/EntityType.java, - gnu/xml/validation/datatype/EnumerationFacet.java, - gnu/xml/validation/datatype/Facet.java, - gnu/xml/validation/datatype/FloatType.java, - gnu/xml/validation/datatype/FractionDigitsFacet.java, - gnu/xml/validation/datatype/GDayType.java, - gnu/xml/validation/datatype/GMonthDayType.java, - gnu/xml/validation/datatype/GMonthType.java, - gnu/xml/validation/datatype/GYearMonthType.java, - gnu/xml/validation/datatype/GYearType.java, - gnu/xml/validation/datatype/HexBinaryType.java, - gnu/xml/validation/datatype/IDRefType.java, - gnu/xml/validation/datatype/IDRefsType.java, - gnu/xml/validation/datatype/IDType.java, - gnu/xml/validation/datatype/IntType.java, - gnu/xml/validation/datatype/IntegerType.java, - gnu/xml/validation/datatype/LanguageType.java, - gnu/xml/validation/datatype/LengthFacet.java, - gnu/xml/validation/datatype/ListSimpleType.java, - gnu/xml/validation/datatype/LongType.java, - gnu/xml/validation/datatype/MaxExclusiveFacet.java, - gnu/xml/validation/datatype/MaxInclusiveFacet.java, - gnu/xml/validation/datatype/MaxLengthFacet.java, - gnu/xml/validation/datatype/MinExclusiveFacet.java, - gnu/xml/validation/datatype/MinInclusiveFacet.java, - gnu/xml/validation/datatype/MinLengthFacet.java, - gnu/xml/validation/datatype/NCNameType.java, - gnu/xml/validation/datatype/NMTokenType.java, - gnu/xml/validation/datatype/NMTokensType.java, - gnu/xml/validation/datatype/NameType.java, - gnu/xml/validation/datatype/NegativeIntegerType.java, - gnu/xml/validation/datatype/NonNegativeIntegerType.java, - gnu/xml/validation/datatype/NonPositiveIntegerType.java, - gnu/xml/validation/datatype/NormalizedStringType.java, - gnu/xml/validation/datatype/NotationType.java, - gnu/xml/validation/datatype/PatternFacet.java, - gnu/xml/validation/datatype/PositiveIntegerType.java, - gnu/xml/validation/datatype/QNameType.java, - gnu/xml/validation/datatype/ShortType.java, - gnu/xml/validation/datatype/SimpleType.java, - gnu/xml/validation/datatype/StringType.java, - gnu/xml/validation/datatype/TimeType.java, - gnu/xml/validation/datatype/TokenType.java, - gnu/xml/validation/datatype/TotalDigitsFacet.java, - gnu/xml/validation/datatype/Type.java, - gnu/xml/validation/datatype/TypeBuilder.java, - gnu/xml/validation/datatype/TypeLibrary.java, - gnu/xml/validation/datatype/TypeLibraryFactory.java, - gnu/xml/validation/datatype/UnionSimpleType.java, - gnu/xml/validation/datatype/UnsignedByteType.java, - gnu/xml/validation/datatype/UnsignedIntType.java, - gnu/xml/validation/datatype/UnsignedLongType.java, - gnu/xml/validation/datatype/UnsignedShortType.java, - gnu/xml/validation/datatype/WhiteSpaceFacet.java, - resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory: - RELAX NG datatype library implementation for XML Schema Datatypes. - -2006-02-13 Chris Burdess - - * LICENCE, - NEWS, - configure.ac, - doc/README.jaxp, - external/Makefile.am, - external/relaxngDatatype/.cvsignore, - external/relaxngDatatype/Makefile.am, - external/relaxngDatatype/README.txt, - external/relaxngDatatype/copying.txt, - external/relaxngDatatype/org/relaxng/datatype/Datatype.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, - external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, - external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, - external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, - lib/Makefile.am, - lib/gen-classlist.sh.in: Added external RELAX NG pluggable - datatypes library API. - -2006-02-13 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkGenericPeer.java (awtWidget): Made field - final. - (gtkWidgetModifyFont(Font)): New protected helper method. - (gtkWidgetModifyFont(String,int,int)): Made protected and document. - * gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkWidgetModifyFont): Made - protected and document. - * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkLabelPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkListPeer.java (gtkWidgetModifyFont): - Likewise. - * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (create): Made protected. - (setFont): Removed method. Done in GtkMenuComponent. - * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Made - abstract and protected. - (setFont): Made private, add implementation. - (setFont(Font)): Implemented. - * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (gtkWidgetModifyFont): - Made protected and document. - (create): Made protected. - (setFont): Removed method. Done in GtkMenuComponent. - * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java - (gtkWidgetModifyFont): Made protected and document. - * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkWidgetModifyFont): - Removed, similar to GtkGenericPeer super class implementation. - * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated. - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c - (Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetModifyFont): - Removed. - -2006-02-13 Mark Wielaard - - * java/lang/Math.java (static): Explicitly call - System.loadLibrary("javalang"). - -2006-02-13 Wolfgang Baer - - * javax/print/StreamPrintServiceFactory.java: New file. - -2006-02-13 Tom Tromey - - * tools/.cvsignore: Added Makefile. - -2006-02-13 Wolfgang Baer - - * java/awt/print/PrinterGraphics.java: Reformatted. - * java/awt/print/Paper.java: Likewise. - * java/awt/print/PageFormat.java: Likewise. - * java/awt/print/Pageable.java: Likewise. - -2006-02-13 Lillian Angel - - * java/awt/BorderLayout.java - (layoutContainer): Rewrote part of this function to - properly set the bounds of the components. - (setBounds): Removed method, not needed. - -2006-02-13 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.clone): Fixed replace call. - (clone): Removed method. - -2006-02-13 Roman Kennke - - * java/rmi/server/UnicastRemoteObject.java: Reformatted. - -2006-02-13 Roman Kennke - - * java/rmi/server/UnicastRemoteObject.java - (exportObject(Remote)): Forward method call to export(Remote,int). - -2006-02-13 Andrew John Hughes - - * include/Makefile.am: - Swapped Math.h for VMMath.h - * include/java_lang_Math.h: - Removed. - * include/java_lang_VMMath.h: - New autogenerated header for the new class. - * java/lang/Math.java: - (sin(double)): Changed to link to VMMath. - (cos(double)): Changed to link to VMMath. - (tan(double)): Changed to link to VMMath. - (asin(double)): Changed to link to VMMath. - (acos(double)): Changed to link to VMMath. - (atan(double)): Changed to link to VMMath. - (atan2(double)): Changed to link to VMMath. - (exp(double)): Changed to link to VMMath. - (log(double)): Changed to link to VMMath. - (sqrt(double)): Changed to link to VMMath. - (pow(double,double)): Changed to link to VMMath. - (IEEEremainder(double,double)): Changed to link to VMMath. - (ceil(double)): Changed to link to VMMath. - (floor(double)): Changed to link to VMMath. - (rint(double)): Changed to link to VMMath. - * native/jni/java-lang/Makefile.am: - Replaced java_lang_Math.c with java_lang_VMMath.c - * native/jni/java-lang/java_lang_Math.c: - Removed. - * native/jni/java-lang/java_lang_VMMath.c: - Renamed from java_lang_Math.c. - * vm/reference/java/lang/VMMath.java: - New class. - (sin(double)): New native method. - (cos(double)): New native method. - (tan(double)): New native method. - (asin(double)): New native method. - (acos(double)): New native method. - (atan(double)): New native method. - (atan2(double)): New native method. - (exp(double)): New native method. - (log(double)): New native method. - (sqrt(double)): New native method. - (pow(double,double)): New native method. - (IEEEremainder(double,double)): New native method. - (ceil(double)): New native method. - (floor(double)): New native method. - (rint(double)): New native method. - -2006-02-13 Lillian Angel - - * java/awt/Component.java - (repaint): No need to call isShowing, it is done in the other repaint call. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Lillian Angel - - * java/awt/Component.java - (repaint): Reverted last change. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Made more efficent by handling paint event and - setting the clip for the graphics. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): Likewise. - * java/awt/Component.java - (repaint): No need to call isShowing, it is done in the other repaint call. - (repaint): Likewise. - (repaint): Likewise. - -2006-02-13 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (setParent): Added API docs. Call setParent(null) on children before - disconnecting this view from the View hierarchy. - -2006-02-13 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (readUnlock): Don't attempt to unlock when the current threads also - holds a write lock. - -2006-02-13 David Gilbert - - * javax/swing/plaf/metal/MetalBorders.java - (ButtonBorder.getBorderInsets(Component)): Return insets directly, - (ButtonBorder.getBorderInsets(Component, Insets)): Don't check for null - insets argument, - (Flush3DBorder.borderInsets): New field, - (Flush3DBorder.getBorderInsets(Component)): Return insets directly, - (Flush3DBorder.getBorderInsets(Component, Insets)): Don't check for - null insets argument, and populate result from borderInsets, - (PaletteBorder.borderInsets): New field, - (PaletteBorder.getBorderInsets(Component)): Return insets directly, - (PaletteBorder.getBorderInsets(Component, Insets)): Don't check for - null insets argument, and populate result from borderInsets, - (InternalFrameBorder.borderInsets): New field, - (InternalFrameBorder.getBorderInsets(Component)): Return insets - directly, - (InternalFrameBorder.getBorderInsets(Component, Insets)): Don't check - for null insets argument, and populate result from borderInsets, - (MenuItemBorder.borderInsets): Initialise to correct value. - -2006-02-13 Roman Kennke - - * javax/swing/text/AsyncBoxView.java: New file. - -2006-02-13 Ito Kazumitsu - - Fixes bug #26166 - * gnu/regexp/RE.java(initialize): Parsing of character class expression - was moved to a new method parseCharClass. - (parseCharClass): New method originally in initialize. Added parsing - of nested character classes. - (ParseCharClassResult): New inner class used as a return value of - parseCharClass. - (getCharExpression),(getNamedProperty): Made static. - * gnu/regexp/RESyntax.java(RE_NESTED_CHARCLASS): New syntax flag. - * gnu/regexp/RETokenOneOf.java(addition): New Vector for storing - nested character classes. - (RETokenOneOf): New constructor accepting the Vector addition. - (getMinimumLength), (getMaximumLength): Returns 1 if the token - stands for only one character. - (match): Added the processing of the Vector addition. - (matchN), (matchP): Do not check next token if addition is used. - -2006-02-12 Olivier Jolly - - * AUTHORS: add self. - -2006-02-12 Tom Tromey - - * gnu/classpath/ServiceProviderLoadingAction.java: Javadoc fix. - * gnu/classpath/ServiceFactory.java (ServiceIterator): Javadoc fix. - (securityContext): Likewise. - (log): Likewise. - -2006-02-12 Dalibor Topic - - Fixes PR 26218. - - * gnu/java/net/protocol/file/Connection.java (unquote): - Convert Unicode characters outside basic plane to UTF-8, - rather than throwing an exception. - -2006-02-12 Tom Tromey - - * javax/sound/sampled/LineEvent.java (readObject): New method. - (writeObject): Likewise. - (serialVersionUID): New field. - -2006-02-12 Mark Wielaard - - * java/beans/PropertyChangeSupport.java (addPropertyChangeListener): - Silently ignores null listener. - (addPropertyChangeListener(String, PropertyChangeListener): Likewise. - (getPropertyChangeListeners): Returns empty PropertyChangeListener - array for null propertyName. - -2006-02-12 Wolfgang Baer - - * java/rmi/MarshalledObject.java: Added api docs to the class. - * java/rmi/Remote.java: Added interface api docs. - * java/rmi/package.html: Added package description. - * java/rmi/AccessException.java: Minor api doc fixes. - * java/rmi/NoSuchObjectException.java: Likewise. - * java/rmi/AlreadyBoundException.java: Likewise. - * java/rmi/RemoteException.java: Likewise. - * java/rmi/NotBoundException.java: Likewise. - * java/rmi/RMISecurityException.java: Likewise. - * java/rmi/StubNotFoundException.java: Likewise. - -2006-02-12 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent): Call - q() to get EventQueue. - * gnu/java/awt/peer/gtk/GtkGenericPeer.java (q): Remove static field. - (enableQueue): Remove static method. - * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemEventQueueImpl): - Don't call GtkGenericPeer.enableQueue(). - -2006-02-12 Wolfgang Baer - - * java/rmi/MarshalledObject.java: Reformatted. - * java/rmi/Naming.java: Likewise. - -2006-02-12 Jeroen Frijters - - * java/io/InputStream.java - (read(byte[],int,int)): Changed argument validation to prevent - integer overflow. Remove redundant check. - -2006-02-12 Jeroen Frijters - - Fixes PR 26220 - * java/io/InputStreamReader.java - (InputStreamReader(InputStream)): Use SystemProperties. - (InputStreamReader(InputStream,Charset)): Corrected @since tag. - Throw NullPointerException if in is null. - Added maxBytesPerChar initialisation. - (InputStreamReader(InputStream,CharsetDecoder)): Corrected @since tag. - Throw NullPointerException if in is null. - -2006-02-12 Raif S. Naffah - - * gnu/javax/crypto/key/dh/GnuDHPublicKey.java - (GnuDHPublicKey(4)): Call constructor with 5 arguments. - (GnuDHPublicKey): New constructor. - (getEncoded): Removed. - (valueOf): Added support for ASN.1 encoding. - (getEncoded(int)): Likewise. - (equals): New method. - * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java - (GnuDHPrivateKey(4)): Call constructor with 5 arguments. - (GnuDHPrivateKey(5)): New constructor. - (getEncoded): Removed. - (valueOf): Added support for ASN.1 encoding. - (getEncoded(int)): Likewise. - (equals): New method. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Handle preferred encoding format identifier. - (generate): Call constructors with format identifier. - * gnu/javax/crypto/key/dh/GnuDHKey.java (defaultFormat): New field. - (GnuDHKey): Added an int argument. - (getEncoded): New method. - (getFormat): New implementation. - (getEncoded(int)): New abstract method. - * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: New file. - * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Likewise. - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added mappings for DH - key-pair generator and key-factory. - * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: New file. - * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Made it public. - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (invokeConstructor): New method. - (getConcreteClass): Likewise. - (getConcreteCtor): Likewise. - (invokeValueOf): Likewise. - (getValueOfMethod): Likewise. - (engineGeneratePublic): Add support for DH keys. - (engineGeneratePrivate): Likewise. - (decodeDHPublicKey(DHPublicKeySpec)): New method. - (decodeDHPublicKey(byte[])): Likewise. - (decodeDHPrivateKey(DHPrivateKeySpec)): Likewise. - (decodeDHPrivateKey(byte[])): Likewise. - -2006-02-11 Mark Wielaard - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java (repaintTimer): - Removed field. - (repaint): Immediately post to queue when tm <= 0, otherwise call - RepaintTimerTask.schedule(). - (RepaintTimerTask): Make static. - (RepaintTimerTask.repaintTimer): New static final field. - (RepaintTimerTask.awtComponent): New field. - (schedule): New static method. - -2006-02-11 Audrius Meskauskas - - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java - * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java - * tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: - Rewritten. - * tools/gnu/classpath/tools/giop/grmic/HashFinder.java: New file. - -2006-02-11 Raif S. Naffah - - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (engineGeneratePublic): Added support for raw key-specifications. - (engineGeneratePrivate): Likewise. - (decodeDSSPublicKey): New method. - (decodeRSAPublicKey): Likewise. - (decodeDSSPrivateKey): Likewise. - (decodeRSAPrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java - (encodePrivateKey): Throw InvalidParameterException. - (decodePublicKey): Likewise. - (decodePrivateKey): Likewise. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java - (encodePublicKey): Likewise. - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - (decodePrivateKey): Likewise. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (encodePublicKey): Likewise. - (encodePrivateKey): Likewise. - (decodePublicKey): Likewise. - -2006-02-10 Roman Kennke - - * javax/swing/text/StyleContext.java - (registerStaticAttributeKey): New static method. - -2006-02-10 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.clone): New method. - -2006-02-10 Roman Kennke - - * javax/swing/text/ParagraphView.java - (findOffsetToCharactersInString): New method. - (getClosestPositionTo): New method. - (getPartialSize): New method. - (getTabBase): New method. - (adjustRow): New method. - (breakView): New method. - (getBreakWeight): New method. - -2006-02-10 Roman Kennke - - * javax/swing/text/GapContent.java - (updateUndoPositions): New method. - * javax/swing/text/StringContent.java - (updateUndoPositions): New method. - -2006-02-10 Raif S. Naffah - - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(9)): - Made it public. - * gnu/java/security/jce/sig/RSAKeyFactory.java: New file. - * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePublic): - Added support for encoded key specifications. - (engineGeneratePrivate): Likewise. - (engineGetKeySpec): Likewise. - (engineTranslateKey): Corrected order of MPIs and use ctors with 5 args. - -2006-02-10 Robert Schuster - - * javax/swing/text/Utilities.java: - (getTabbedTextOffset): Fixed usage of variable p0. - (getPositionAbove): Rewritten. - (getPositionBelow): Rewritten. - -2006-02-09 Roman Kennke - - * javax/swing/text/BoxView.java - (getAxis): Added @since tag. - (setAxis): Added @since tag. - (layoutChanged): Added @since tag. - (isLayoutValid): Added @since tag. - (paint): Don't call setSize here. This is done in RootView already. - (getMaximumSpan): Reimplemented to return the requirements' - maximum size. Added API docs. - (getMinimumSpan): New method. - (layout): Fixed layout order. - (modelToView): Call layout instead of setSize here. - (getResizeWeight): New method. - (getChildAllocation): New method. - (forwardUpdate): New method. - (viewToModel): New method. - (flipEastEndWestEnds): New method. - * javax/swing/text/CompositeView.java - (modelToView): Made this method more robust by returning a default - location if it's not possible to calculate one via the children. - This default location returns the left or right edge of this - view. - (createDefaultLocation): New helper method. - * javax/swing/text/IconView.java - (modelToView): Don't throw BadLocationException. This should - really only be thrown if the position is outside the document - model, not if it's outside the view's boundary. - -2006-02-09 Audrius Meskauskas - - * tools/Makefile.am: Handle rmi and giop folders separately. - -2006-02-09 David Gilbert - - * javax/swing/SpinnerDateModel.java: Updated API docs all over, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-02-09 David Gilbert - - * javax/swing/SpinnerDateModel.java: Removed tabs, - * javax/swing/SpinnerNumberModel.java: Likewise. - -2006-02-09 Anthony Balkissoon - - * doc/unicode/SpecialCasing-4.0.0.txt: New file. - * doc/unicode/UnicodeData-4.0.0.txt: New file. - -2006-02-09 Wolfgang Baer - - Fixes bug #26081 - * gnu/java/net/protocol/http/HTTPURLConnection.java: - (isRedirect): Removed, moved to Response.java. - (connect): If error condition redirect responseSink to errorSink. - (getInputStream): If error condition throw IOException, for the error - codes 404 and 410 throw a FileNotFoundException. - * gnu/java/net/protocol/http/Response.java (isError): New method. - (isRedirect): New method, moved from HTTPURLConnection.java. - -2006-02-09 Audrius Meskauskas - - * tools/Makefile.am: Add tools/gnu/classpath/tools/rmi folder. - * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain it called from RMIC. - * tools/gnu/classpath/tools/giop/grmic/Generator.java (getResource): - Better diagnostic. - * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java: - Rewritten. - * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java: Implement - AbstractMethodGenerator. - * tools/gnu/classpath/tools/AbstractMethodGenerator.java, - tools/gnu/classpath/tools/rmi/RMIC.java, - tools/gnu/classpath/tools/rmi/RMIC.txt, - tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, - tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, - tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav, - tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: - New files. - * NEWS: Corrected entry about the tools. - -2006-02-09 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Added more to check to prevent assertion errors. - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Likewise. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): Likewise. - -2006-02-09 Mark Wielaard - - * javax/swing/JTable.java (tableChanged): Interpret null event as - "everything changed". - -2006-02-09 Roman Kennke - - * javax/swing/text/DefaultCaret.java - (DocumentHandler.removeUpdate): When update policy is - 'on eventqueue', and the update doesn't come from the - event queue, check if the current dot location is still - valid. - (moveDot): Make sure the new dot location is valid. - (setDot): Set the mark the same as the dot. - -2006-02-09 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (remove): Perform all operations within a write lock and in the - correct order. - -2006-02-09 Mark Wielaard - - * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Make sure max is - creater than min, adjusting page_size if necessary. - (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Likewise. - -2006-02-09 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkPanelPeer.java - (handleEvent): Added code to handle PaintEvent.UPDATE. - Sun does not call update(Graphics g) on Panels. - * gnu/java/awt/peer/gtk/GtkWindowPeer.java - (handleEvent): New method. Added code to handle PaintEvent.UPDATE. - Sun does not call update(Graphics g) on Panels. - -2006-02-09 Roman Kennke - - * javax/swing/text/BoxView.java - (myAxis): Made field private. - (xLayoutValid): Replaced by layoutValid array. - (yLayoutValid): Replaced by layoutValid array. - (layoutValid): New field. - (spansX): Replaced by spans array. - (spansY): Replaced by spans array. - (spans): New field. - (offsetsX): Replaced by offsets array. - (offsetsY): Replaced by offsets array. - (offsets): New field. - (requirements): New field. - (BoxView): Initialize new fields. - (layoutChanged): Rewritten to use the layoutValid array. - (isLayoutValid): Rewritten to use the layoutValid array. - (replace): Use the new arrays. - (getPreferredSpan): Rewritten to call calculateXXXRequirements - instead of baselineRequirements. - (baselineRequirements): Rewritten to calculate baseline requirements. - (baselineLayout): Rewritten to calculate baseline layout. - (childAllocation): Use new arrays. - (layout): Rewritten. Only update the layout if necessary. - (layoutMajorAxis): Directly set layoutValid. - (layoutMinorAxis): Directly set layoutValid. Use cached size - requirements. - (getWidth): Use new span array. - (getHeight): Likewise. - (setSize): Rewritten to simply call layout(). - (validateLayout): Removed unneeded method. - (getSpan): Use new arrays. - (getOffset): Use new arrays. - (getAlignment): Use cached requirements if possible. - (preferenceChanged): Use new arrays. - * javax/swing/text/FlowView.java - (FlowStrategy.insertUpdate): Do nothing here. - (FlowStrategy.removeUpdate): Do nothing here. - (FlowStrategy.changedUpdate): Do nothing here. - (FlowStrategy.layoutRow): Rewritten. - (FlowStrategy.createView): Rewritten. - (FlowStrategy.adjustRow): New method. - (LogicalView.getViewIndex): Fixed condition for finding child - view. - (layoutDirty): New field indicating the state of the layout. - (FlowView): Initialize new field. - (loadChildren): Set parent on logical view so that preferenceChanges - get propagated upwards. - (layout): Rewritten to match the specs. - (insertUpdate): Set layout to dirty. - (removeUpdate): Set layout to dirty. - (changedUpdate): Set layout to dirty. - * javax/swing/text/GlyphView.java - (getBreakWeight): Rewritten to use the Utilities class. Commented - out though because that is broken. - (insertUpdate): Call preferenceChanged on this object instead of - parent. - * javax/swing/text/ParagraphView.java - (Row.loadChildren): Overridden to be a noop to prevent initial - creation of child views. This is carried out by the flow layout. - * javax/swing/text/View.java - (getPreferredSpan): Added API docs. - (getResizeWeight): Added API docs. - (getMaximumSpan): Added API docs. Rewritten to only have one exit - point. - (getMinimumSpan): Added API docs. Rewritten to return 0 when - resizable instead of Integer.MAX_VALUE. - (getAlignment): Added API docs. - (replace): Added API docs. - (forwardUpdate): Rewritten to only notify child views that need to - be notified. - -2006-02-09 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.paint): Call setSize() before painting the view. - -2006-02-09 Ito Kazumitsu - - Fixes bug #26112 - * gnu/regexp/RE.java(REG_REPLACE_USE_BACKSLASHESCAPE): New execution - flag which enables backslash escape in a replacement. - (getReplacement): New public static method. - (substituteImpl),(substituteAllImpl): Use getReplacement. - * gnu/regexp/REMatch.java(substituteInto): Replace $n even if n>=10. - * java/util/regex/Matcher.java(appendReplacement) - Use RE#getReplacement. - (replaceFirst),(replaceAll): Use RE.REG_REPLACE_USE_BACKSLASHESCAPE. - -2006-02-09 Raif S. Naffah - - * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: New file. - * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Add support for preferred encoding format. - (generate): Call key constructors with explicit format identifier. - * gnu/java/security/key/rsa/GnuRSAPublicKey.java (GnuRSAPublicKey(2)): - Call constructor with 3 arguments.. - (GnuRSAPublicKey(3)): New constructor. - (valueOf): Added support for ASN.1 format. - (getEncoded): Likewise. - * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(4)): - Call constructor with 5 arguments. - (GnuRSAPrivateKey(5)): New constructor. - (GnuRSAPrivateKey(9)): New constructor. - (valueOf): Added support for ASN.1 format. - (getEncoded): Likewise. - * gnu/java/security/key/rsa/GnuRSAKey.java (defaultFormat): New field. - (GnuRSAKey): Modified constructor. - (getFormat): Return preferred format identifier. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java - (decodePrivateKey): Fixed documentation. - Check Version field. - * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java - (initialize(int,SecureRandom)): Set ASN.1 as the preferred encoding - format. - (initialize(AlgorithmParameterSpec,SecureRandom)): Likewise. - * gnu/java/security/jce/sig/EncodedKeyFactory.java - (engineGeneratePublic): Added support for RSA. - (engineGeneratePrivate): Likewise. - -2006-02-09 Wolfgang Baer - - * java/net/URLConnection.java: - (setAllowUserInteraction): Throw IllegalStateException if connected. - (getRequestProperty): Document return value if key is null. - * gnu/java/net/protocol/http/HTTPURLConnection.java: - (getRequestProperty): Return null if key is null. - (getRequestProperties): Throw IllegalStateException if connected. - (setRequestProperty): Call super method for exception tests. - (addRequestProperty): Likewise. - -2006-02-09 Wolfgang Baer - - * gnu/java/net/protocol/http/Request.java: - (Request): Remove initialization of removed field. - (requestBodyNegotiationThreshold): Removed now unused field. - (setRequestBodyNegotiationThreshold): Remove now unused method. - (dispatch): Do not use 'Expect 100-continue' header if content-length - is over a treshold. If user specified 'Expect 100-continue' still - initialize the expectingContinue variable. - -2006-02-08 David Gilbert - - * javax/swing/SpinnerNumberModel.java - (SpinnerNumberModel(Number, Comparable, Comparable, Number): Allow - maximum and minimum to take null values, - (setValue): Only fire ChangeEvent if new value is different to old - value, - (setMinimum): Fixed test for updating value, - (setMaximum): Likewise, - (setStepSize): Likewise. - -2006-02-08 Tom Tromey - - * tools/.cvsignore: Added Makefile.in. - -2006-02-08 Audrius Meskauskas - - * java/rmi/server/RemoteRef.java, - java/rmi/server/RemoteStub.java: Commented. - -2006-02-08 David Gilbert - - * javax/swing/SpinnerDateModel.java - (SpinnerDateModel(Date, Comparable, Comparable, int)): Added argument - checks, - (getPreviousValue): Check result against start, not end, - (setValue): Check that value actually changes before firing - ChangeEvent. - -2006-02-08 Lillian Angel - - * java/awt/Choice.java - (select): Fixed up code, added some checks to prevent errors. - (dispatchEventImpl): Removed. This function is not needed. It - causes several assertion errors. - -2006-02-08 Roman Kennke - - * javax/swing/text/PlainView.java - (drawLine): Call drawUnselectedText() with end offset - 1 to avoid - drawing unnecessary characters. - -2006-02-08 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Fixed check to determine if height or - width is less than 1. - -2006-02-08 Audrius Meskauskas - - *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). - -2006-02-08 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, - examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java: - Documenting the code generator. - * gnu/CORBA/IOR.java (toStringFormatted, - CodeSet_component.toStringFormatted): New methods. - * tools/Makefile.am (TOOLS_JAVA_FILES, READMES): Rewritten. - * tools/gnu/classpath/tools/giop/README: Rewritten. - * tools/gnu/classpath/tools/giop/GRMIC.java (main): Rewritten. - (printHelpAndExit): Removed. - *tools/gnu/classpath/tools/giop/IorParser.java, - tools/gnu/classpath/tools/giop/IorParser.txt, - tools/gnu/classpath/tools/giop/NameService.java, - tools/gnu/classpath/tools/giop/NamingService.txt, - tools/gnu/classpath/tools/HelpPrinter.java: New files. - NEWS: Added note about GIOP tools. - -2006-02-07 Audrius Meskauskas - - * .classpath: New source patch (tools). - * Makefile.am (SUBDIRS, DIST_SUBDIRS): added "tools". - * configure.ac (AC_CONFIG_FILES): added tools/Makefile - * tools/gnu/classpath/tools/Makefile.am, - tools/gnu/classpath/tools/giop/GRMIC.java - tools/gnu/classpath/tools/giop/GRMIC.txt, - tools/gnu/classpath/tools/giop/README, - tools/gnu/classpath/tools/giop/grmic/CompilationError.java, - tools/gnu/classpath/tools/giop/grmic/Generator.java, - tools/gnu/classpath/tools/giop/grmic/GiopIo.java, - tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, - tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, - tools/gnu/classpath/tools/giop/grmic/templates/ImplTie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav, - tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav, - tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, - tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. - -2006-02-07 David Gilbert - - * java/awt/BasicStroke.java: Updated API docs all over, - * java/awt/doc-files/capjoin.png: New file. - -2006-02-07 Lillian Angel - - * gnu/java/awt/peer/gtk/GtkComponentPeer.java - (handleEvent): Added check. Should not paint or update the - component if it's width and height are both 0. - -2006-02-07 Roman Kennke - - * javax/swing/text/AbstractDocument.java - (insertString): Enclose locking/unlocking in try-finally block - and also keep locked while notifying the listeners. - -2006-02-07 Roman Kennke - - * javax/swing/text/GlyphView.java - (GlyphView): Initialize startOffset and endOffset with -1 (indicating - element boundary). - (getStartOffset): Return element boundary if startOffset < 0. - (getEndOffset): Return element boundary if endOffset < 0. - (createFragment): Set startOffset and endOffset fields of fragment - if one of p0 or p1 is not at the element boundary. - -2006-02-07 Roman Kennke - - * javax/swing/CellRendererPane.java - (paintComponent): Enclosed painting in try finally to properly - clean up even when throwing an exception. - -2006-02-07 Roman Kennke - - * javax/swing/UIManager.java - (listeners): Made this an instance of - java.beans.PropertyChangeSupport instead of the obsoleted - SwingPropertyChangeSupport. - -2006-02-07 Robert Schuster - - * javax/swing/text/DefaultEditorToolkit.java: Changed behavior - of actions "delete-next" and "delete-previous", added new TextAction - implementations for "selection-begin", "selection-begin-line", - "selection-end" and "selection-end-line". - -2006-02-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (paint): Acquire read lock on the document before calling - paintSafely. - (paintSafely): Added comment about what this method does. - (paintBackground): Implemented to actually paint the background. - (update): Overridden to _not_ paint the background. This is done - in paintBackground in this UI. - -2006-02-07 Roman Kennke - - * javax/swing/text/View.java - (forwardUpdate): Don't notify newly added child views as specified. - -2006-02-07 Robert Schuster - - * gnu/java/beans/decoder/DefaultExceptionListener.java: Removed. - -2006-02-07 Roman Kennke - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.insert): Only register change when the element - actually changed. - -2006-02-07 Raif S. Naffah - - * gnu/java/security/key/KeyPairCodecFactory.java (getEncodingName): New + Fixes bug #29246 + * java/awt/Toolkit.java (getLockingKeyState): Use AWTUtilities + isValidKey method. Throw UnsupportedOperationException on a valid + key (for which no locking state can be given). + * gnu/java/awt/AWTUtilities.java (isValidKey): New method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getLockingKeyState): New method. - (getEncodingShortName): Likewise. - * gnu/java/security/key/IKeyPairCodec.java (X509_FORMAT): New constant. - (PKCS8_FORMAT): Likewise. - (ASN1_FORMAT): Likewise. - * gnu/java/security/key/dss/DSSPublicKey.java (DSSPublicKey(4)): Call - constructor with 5 arguments. - (DSSPublicKey(5)): New constructor. - (valueOf): Handle ASN.1 encoding. - (getEncoded): Likewise. - * gnu/java/security/key/dss/DSSPrivateKey.java (DSSPrivateKey(4)): Call - constructor with 5 arguments. - (DSSPrivateKey(5)): New constructor. - (valueOf): Handle ASN.1 encoding. - (getEncoded): Likewise. - * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: New file. - * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java - (PREFERRED_ENCODING_FORMAT): New constant. - (DEFAULT_ENCODING_FORMAT): Likewise. - (preferredFormat): New field. - (setup): Handle preferred format ID. - (generate): Use new ctors with 5 arguments. - * gnu/java/security/key/dss/DSSKey.java (DSSKey): Now accepts a format - ID as an additional argument. - (defaultFormat): new field. - (getFormat): Returns the preferred format as a short string. - * gnu/java/security/jce/sig/DSSKeyFactory.java: New file. - * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGetKeySpec): - Likewise - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java - (initialize(AlgorithmParameterSpec)): Set ASN.1 as the preferred - encoding format. - (initialize(int,boolean,SecureRandom)): Likewise. - * gnu/java/security/der/DERWriter.java (writeBitString): Use - writeLength() instead of write(). - return buf.length + 1 instead of buf.length. - -2006-02-07 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (RootView.preferenceChange): Changed view parameter to view so - that it doesn't hide a field of that class. - (RootView.getViewCount): Rewritten to clean up ECJ warning. - (RootView.modelToView): Removed unnecessary cast from View to View. - (PropertyChangeHandler): Made inner class private. - (updateHandler): Made field private. - (getVisibleEditorRect): Removed unneeded local variable that - shadowed a field with the same name and purpose. - -2006-02-07 Robert Schuster - - * javax/swing/text/JTextComponent.java: - (getSelectedText): Calculate offset and use that as - second argument. - -2006-02-07 Roman Kennke - - * javax/swing/JTextPane.java - (setCharacterAttributes): Replace input attributes when - replace==true. - -2006-02-07 Roman Kennke - - * java/awt/Component.java - (firePropertyChange(String,byte,byte)): Made method public. - (firePropertyChange(String,char,char)): Made method public. - (firePropertyChange(String,short,short)): Made method public. - (firePropertyChange(String,long,long)): Made method public. - (firePropertyChange(String,float,float)): Made method public. - (firePropertyChange(String,double,double)): Made method public. - -2006-02-06 Tom Tromey - - * gnu/CORBA/NamingService/NamingServiceTransient.java (main): Use - 2006. - * gnu/java/rmi/registry/RegistryImpl.java (version): Use 2006. - -2006-02-06 Anthony Green - - * gnu/xml/aelfred2/XmlParser.java: Add missing break;. - -2006-02-07 Raif S. Naffah - - * .settings/org.eclipse.jdt.core.prefs: - Force a line split on extends and implements. - Force a white-space after unary operators. - Don't force a new-line after @params. - Add new-line at end-of-file. - * scripts/eclipse-gnu.xml: Export version of the above named GNU. - -2006-02-07 Raif S. Naffah - - * gnu/java/security/provider/GnuDSAPublicKey.java (getEncoded): Use - Registry constant. - * gnu/java/security/provider/GnuDSAPrivateKey.java (getEncoded): - Likewise. - * gnu/java/security/provider/GnuRSAPrivateKey.java (getEncoded): - Likewise. - * gnu/java/security/provider/GnuRSAPublicKey.java (getEncoded): - Likewise. - * gnu/java/security/provider/EncodedKeyFactory.java - (ID_DSA): Redefined in terms of Registry constant. - (ID_DSA): Redefined in terms of Registry constant. - (ID_DH): Redefined in terms of Registry constant. - * gnu/java/security/Registry.java (X509_ENCODING): New constant. - (PKCS8_ENCODING): Likewise. - (ASN1_ENCODING): Likewise. - (RAW_ENCODING_SHORT_NAME): Likewise. - (X509_ENCODING_SORT_NAME): Likewise. - (PKCS8_ENCODING_SHORT_NAME): Likewise. - (ASN1_ENCODING_SHORT_NAME): Likewise. - (X509_ENCODING_ID): Likewise. - (PKCS8_ENCODING_ID): Likewise. - (ASN1_ENCODING_ID): Likewise. - (DSA_OID_STRING): Likewise. - (RSA_OID_STRING): Likewise. - (DH_OID_STRING): Likewise. - -2006-02-06 Roman Kennke - - * javax/swing/text/GlyphView.java: - (DefaultGlyphPainter.paint): Store/restore Graphics color setting. - Only fill background if there is a background set on the view. - Call Utilities.drawTabbedText with the baseline height, rather than - the upper left corner of the view rectangle. - (getBackground): Return null if no background is set. - * javax/swing/text/GlyphView.java: - (setPropertiesFromAttributes): Use null for background when no - background is set. StyleConstants.getBackground() doesn't work - for this, because it returns Color.BLACK in that case. - -2006-02-06 Roman Kennke - - * java/awt/Container.java - (changeSupport): Removed duplicate (from Component) field. - (addPropertyChangeListener): Call super. - -2006-02-06 Ito Kazumitsu - - * java/util/regex/Matcher.java(matches): - set RE.REG_TRY_ENTIRE_MATCH as an execution flag of getMatch. - -2006-02-06 Ito Kazumitsu - - Fixes bug #25812 - * gnu/regexp/CharIndexed.java(lookBehind),(length): New method. - * gnu/regexp/CharIndexedCharArray.java - (lookBehind),(length): Implemented. - * gnu/regexp/CharIndexedInputStream.java: Likewise. - * gnu/regexp/CharIndexedString.java: Likewise. - * gnu/regexp/CharIndexedStringBuffer.java: Likewise. - * gnu/regexp/REToken.java(getMaximumLength): New method. - * gnu/regexp/RE.java(internal constructor RE): Added new argument - maxLength. - (initialize): Parse (?<=X), (?X). - (getMaximumLength): Implemented. - * gnu/regexp/RETokenAny.java(getMaximumLength): Implemented. - * gnu/regexp/RETokenChar.java: Likewise. - * gnu/regexp/RETokenEnd.java: Likewise. - * gnu/regexp/RETokenEndSub.java: Likewise. - * gnu/regexp/RETokenLookAhead.java: Likewise. - * gnu/regexp/RETokenNamedProperty.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/RETokenIndependent.java: New file. - * gnu/regexp/RETokenLookBehind.java: New file. - -2006-02-06 Roman Kennke - - * java/awt/Component.java - (firePropertyChange(String,byte,byte)): New method. - (firePropertyChange(String,char,char)): New method. - (firePropertyChange(String,short,short)): New method. - (firePropertyChange(String,long,long)): New method. - (firePropertyChange(String,float,float)): New method. - (firePropertyChange(String,double,double)): New method. - -2006-02-06 Roman Kennke - - * javax/swing/JComponent.java - (AccessibleJComponent.changeSupport): Changed to be a - java.beans.PropertyChangeSupport rather than - SwingPropertyChangeSupport. - (AccessibleJComponent.AccessibleJComponent()): Change initialization - of above field. - (changeSupport): Removed unneeded field. - (removePropertyChangeListener): Removed unneeded methods. - (addPropertyChangeListener): Removed unneeded methods. - (getPropertyChangeListeners): Removed unneeded methods. - (firePropertyChange(String,boolean,boolean)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,char,char)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,int,int)): Changed to simply - call super. Added specnote. - (firePropertyChange(String,byte,byte)): Removed. - (firePropertyChange(String,Object,Object)): Removed. - (firePropertyChange(String,double,double)): Removed. - (firePropertyChange(String,float,float)): Removed. - (firePropertyChange(String,long,long)): Removed. - (firePropertyChange(String,short,short)): Removed. - -2006-02-06 Roman Kennke - - * javax/swing/event/SwingPropertyChangeSupport.java - (listeners): Removed field. - (propertyListeners): Removed field. - (source): Removed field. - (SwingPropertyChangeSupport()): Removed initialization of removed - fields. - (addPropertyChangeListener): Removed methods. - (removePropertyChangeListener): Removed methods. - (getPropertyChangeListeners): Removed methods. - (firePropertyChange): Removed methods. - (hasListeners): Removed methods. - -2006-02-06 Jeroen Frijters - - Fixes PR 25313 - * java/net/InetAddress.java - (readResolve): Implemented. - -2006-02-06 Jeroen Frijters - - Fixes PR 26121 - * java/io/ObjectInputStream.java - (readNextBlock()): Handle TC_RESET. - -2006-02-06 Wolfgang Baer - - * javax/print/attribute/standard/Compression.java, - * javax/print/attribute/standard/Finishings.java, - * javax/print/attribute/standard/JobMediaSheets.java, - * javax/print/attribute/standard/JobSheets.java, - * javax/print/attribute/standard/JobState.java, - * javax/print/attribute/standard/JobStateReason.java, - * javax/print/attribute/standard/ReferenceUriSchemesSupported.java, - * javax/print/attribute/standard/PrintQuality.java, - * javax/print/attribute/standard/Media.java, - * javax/print/attribute/standard/MultipleDocumentHandling.java, - * javax/print/attribute/standard/PrinterStateReason.java, - * javax/print/attribute/standard/PDLOverrideSupported.java: - (getName): Make method final. - (getCategory): Likewise. - * javax/print/attribute/standard/MediaSize.java: - (getName): Make method final. - (getCategory): Likewise. - (ISO): Added private default constructor. - (NA): Likewise. - (JIS): Likewise. - (Other): Likewise. - (Engineering): Likewise. - -2006-02-06 Wolfgang Baer - - * native/jni/java-net/javanet.c (_javanet_connect): - Throw ConnectException instead of IOException if connection failed. - * native/jni/java-net/javanet.h: - Add a define for java.net.ConnectException - -2006-02-05 Mark Wielaard - - Fixes bug #26101 - reported by Egon Willighagen - * javax/swing/DefaultListCellRenderer.java - (getListCellRendererComponent): Turn null value into empty string. - -2006-02-04 Ito Kazumitsu - - * gnu/regexp/RETokenNamedProperty.java(getHandler): Check for - a Unicode block if the name starts with "In". - (UnicodeBlockHandler): New inner class. - -2006-02-04 Roman Kennke - - * java/awt/Container.java - (getComponentZOrder): New method. - (setComponentZOrder): New method. - * javax/swing/JLayeredPane.java - (setPosition): Reimplemented to use setComponentZOrder(). - (getIndexOf): Reimplemented to use getComponentZOrder(). - (addImpl): Pass layerContraint to super call. Important for possibly - installed layout managers. - (swapComponents): Remove unneeded method. - -2006-02-04 Raif S. Naffah - - * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Implement - DSAKeyPairGenerator. - (initialize(int,SecureRandom)): Call initialize(keysize, false, random). - (initialize(AlgorithmParameterSpec,SecureRandom)): More explicit error - message. - Surround call to adaptee in a try/catch. - (initialize((DSAParams,SecureRandom)): New method. - (initialize(int,boolean,SecureRandom)): New method. - * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Extends - KeyPairGenerator rather than KeyPairGeneratorSpi. - (KeyPairGeneratorAdapter): Call super with algorithm name. - -2006-02-04 Raif S. Naffah - - * gnu/javax/crypto/sasl/srp/SRPServer.java (prng): New field. - (getDefaultPRNG): New method. - (parseO): Use method above. - * gnu/javax/crypto/sasl/srp/SRPClient.java (prng): New field. - (getDefaultPRNG): New method. - (createO): Use method above. - * gnu/javax/crypto/sasl/srp/KDF.java (prng): New class field. - (nextByte): Use above field. - * gnu/javax/crypto/pad/PKCS1_V1_5.java (selfTest): Use PRNG instance. - * gnu/java/security/sig/rsa/RSA.java: New class field. - (newR): Use above field - * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java (prng): New field. - (encode): Use field.above. - * gnu/java/security/key/dss/FIPS186.java (prng): New field. - (getDefaultPRNG): new method. - (nextRandomBytes): Use above method. - * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. - * gnu/java/security/sig/BaseSignature.java: Likewise. - * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. - * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. - * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. - * gnu/java/security/key/dss/DSSKeyPairGenerator.java (prng): New field. - (getDefaultPRNG): new method. - (nextRandomBytes): Use above method. - (STRICT_DEFAULTS): new class field. - (USE_DEFAULTS): more documentation to clarify behavior. - (setup): amended to handle new attribute. - * gnu/java/security/util/PRNG.java: New file. - -2006-02-03 Lillian Angel - - * javax/swing/plaf/basic/BasicColorChooserUI.java: - chooser field should be protected, not package-private. - -2006-02-03 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (changeUpdate): Cleaned up code. - (split): Likewise. - (insertUpdate): Set offset to be equal to pos after - insertContentTag call. - (insertContentTag): If paragraph has no children, should use - replace instead of Edit. - (insertFracture): Moved around code to prevent any exception. Also, - left side of tree should not be recreated if it has already been - edited. In that case, we should only be creating a new right branch - when fracturing. - (getEditForParagraphAndIndex): No need to check index. We should - use the same edit for each paragraph. - -2006-02-03 Mark Wielaard - - * javax/swing/event/SwingPropertyChangeSupport.java - (propertyListeners): Change type to HashMap. - (SwingPropertyChangeSupport): Allocate HashMap. - -2006-02-03 Raif S. Naffah - - * java/security/KeyPairGenerator.java (getInstance): Test for - instanceof KeyPairGenerator before KeyPairGeneratorSpi. - -2006-02-02 Roman Kennke - - * javax/swing/RepaintManager.java - Made fields private. - (RepaintWorker.run): Enclosed work stuff in try finally block in - order to clean up correctly if invalidation or painting fails, - otherwise we would get no more RepaintWorkers onto the EventQueue. - Also, now the RepaintWorker is marked 'dead' only after it has - finished its work, avoid more than one RepaintWorker on the queue. - (ComponentComparator.compareTo): Compare dirty rectangle sizes - instead of hierarchy depths. - (workDirtyComponents): Removed unused field. - (repaintOrder): Removed unused field. - (workRepaintOrder): Removed unused field. - (workInvalidComponents): Removed unused field. - (RepaintManager()): Removed initialization of removed fields. - (addInvalidComponent): Fine tuned synchronization. - (removeInvalidComponent): Fine tune synchronization. - (addDirtyRegion): Short circuit invalid dirty regions. Fine tuned - synchronization. Don't manager repaintOrder here. - (insertRepaintOrder): Removed method. - (markCompletelyClean): Fine tuned synchronization. - (validateInvalidComponents): Dont use a working copy of the - invalidComponents list, instead fine tuned synchronization on this - list. Also, don't search validateRoot, this is already done in - addInvalidComponent(). - (paintDirtyRegions): Compute repaint order here, based on size of - damaged regions. Fine tuned synchronization. Avoid use of working - copies of dirtyComponent. - -2006-02-02 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): JoinNextDirection should push the - 'next' paragraph on the stack. - -2006-02-02 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Rewrote code for Originate. This prevents - leaves being created multiple times. If it is on the last - ElementSpec, the leaves need to be created right then; - otherwise, only a branch is created. - (insertContentTag): Rewrote to add new leaf directly if - this is a branch with no children. Otherwise, it - recreates the remainder of the tree as before. - -2006-02-02 Ito Kazumitsu - - * gnu/regexp/REMatch.java(REMatchList): New inner utility class - for making a list of REMatch instances. - * gnu/regexp/RETokenOneOf.java(match): Rewritten using REMatchList. - * gnu/regexp/RETokenRepeated.java(findDoables): New method. - (match): Rewritten using REMatchList. - (matchRest): Rewritten using REMatchList. - -2006-02-02 Audrius Meskauskas - - * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java - (friendsMove): Call repaint() only after endOfGame is assigned. - -2006-02-02 Mark Wielaard - - Fixes bug #25769 reported by Artemus Harper - * java/util/AbstractCollection.java (toString): Only use Iterator, - check whether collection contains itself. - -2006-02-01 Casey Marshall - - Partial fix for PR classpath/25143. - * javax/crypto/EncryptedPrivateKeyInfo.java (algName): new field. - (): fill in `algName,' derive `algOid' from `algName.' - (getOid): new method. - (encode): embed NULL value for parameters if `params' is `null.' - -2006-02-01 Casey Marshall - - Tag check and OTHER_NAME fixes suggested by Rafael Teixeira - . - * gnu/java/security/x509/ext/GeneralNames.java (): fix tag - check; fix OTHER_NAME parsing; fix DIRECTORY_NAME parsing. - -2006-02-01 Casey Marshall - - toString fix suggested by Rafael Teixeira . - * gnu/java/security/der/DERValue.java - (getLength, getEncoded, getEncodedLength): throw an exception, - don't initialize `encoded' to a bogus value. - (toString): return a more helpful string. - - Partial fix for PR classpath/25144. - * gnu/java/security/der/DERWriter.java (write): if the value is - the pseudo-value used for CONSTRUCTED, write the encoded value - directly. - -2006-02-01 Tom Tromey - - * java/security/Security.java (loadProviders): Use system class - loader. - -2006-02-01 Mark Wielaard - - * gnu/regexp/RE.java (getRETokenNamedProperty): Chain exception. - * gnu/regexp/RETokenNamedProperty.java (LETTER, MARK, SEPARATOR, - SYMBOL, NUMBER, PUNCTUATION, OTHER): New final byte[] fields. - (getHandler): Check for grouped properties L, M, Z, S, N, P or C. - (UnicodeCategoriesHandler): New private static class. - -2006-02-01 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Removed unneeded fields. - (insertUpdate): Removed field initialization. - (insertContentTag): Rewrote part of function. Still - not complete. - -2006-02-01 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertParagraph): Cleaned up code. - (insertFirstContentTag): Fixed call to recreateLeaves. - (insertContentTag): Added check to code to determine where - content should be inserted with respect to next element. - (createFracture): Removed check, recreateLeaves is called in - other places when needed. - (recreateLeaves): Added new parameter for paragraph instead - of checking the stack. Removed editing for newBranch, replaced - with a replace call. - -2006-02-01 Anthony Balkissoon - - * doc/unicode/Blocks-4.0.0.txt: New file. - * java/lang/Character.java: Regenerated inner class UnicodeBlock from - scripts/unicode-blocks.pl and doc/unicode/Blocks-4.0.0.txt. - * scripts/unicode-blocks.pl: Copied this over from the generics branch - but replaced some 1.5-only features (such as enum). - -2006-01-31 Roman Kennke - - * javax/swing/text/PasswordView.java - (drawSelectedText): Use drawEchoCharacter() method to draw echo - character. - (drawUnselectedText): Use drawEchoCharacter() method to draw echo - character. - -2006-01-31 Roman Kennke - - * javax/swing/JTextField.java - (getPreferredSize): Also include textfield's insets in width - calculation. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (getPreferredSize): Include the textcomponent's insets in - preferredSize. - -2006-01-31 Roman Kennke - - * javax/swing/table/DefaultTableCellRenderer.java - (getTableCellRendererComponent): Moved setting of the value into - setValue(). Removed (bogus) special handling of JTextField values. - (setValue): Made ?: statement more clear by rewriting it - with if .. else. - -2006-01-31 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly determine - inser index for positions >= 0. - (addImpl): Fixed API docs for the index parameter. - -2006-01-31 Mark Wielaard - - * java/net/URI.java (getURIGroup): Check for null to see whether - group actually exists. - -2006-01-31 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (changeUpdate): Fixed calls to split to incorporate - new parameter. - (insertParagraph): Likewise. Uses 0 as editIndex - because inserting into a new paragraph. - (insertContentTag): Fixed check to use - recreateLeaves. Added a FIXME comment. - (split): Added a new parameter for edits. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicRootPaneUI.java - (installDefaults): Don't install a background color here. - -2006-01-31 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Removed comment. - (insertUpdate): Added comment. - (recreateLeaves): Removed call to push newBranch onto the - stack. This does not need to be done here. - -2006-01-31 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/UnicodeReader.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLParser.java: Fix case where resolved InputSource - only resolved the system ID not the stream. Make some utility methods - public and static for use by other private XML APIs. - * java/lang/ClassNotFoundException.java: Ensure that initCause can be - called without throwing IllegalStateException. - * java/util/logging/SimpleFormatter.java: Write thrown exception if - provided. - -2006-01-31 Ito Kazumitsu - - Fixes bug #22873 - * gnu/regexp/REMatch(toString(int)): Throw IndexOutOfBoundsException - for an invalid index and return null for a skipped group. - -2006-01-31 Ito Kazumitsu - - Fixes bug #26002 - * gnu/regexp/gnu/regexp/RE.java(initialize): Parse /\p{prop}/. - (NamedProperty): New inner class. - (getNamedProperty): New method. - (getRETokenNamedProperty): New Method. - * gnu/regexp/RESyntax.java(RE_NAMED_PROPERTY): New syntax falg. - * gnu/regexp/RETokenNamedProperty.java: New file. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/PlainView.java - (paint): Call drawLine with baseline coordinates. - (drawLine): Documented and indented this method. - (drawUnselecetedText): Documented and indented this method. - * javax/swing/plaf/text/Utilites.java - (drawTabbedText): The coordinates denote the baseline of the text - not the upper left corner. - -2006-01-31 Roman Kennke - - * javax/swing/plaf/basic/BasicTextUI.java - (createKeymap): Don't store KeyBindings[] as focusInputMap in - UIManager. Added FIXME regarding the implementation of this method. - -2006-01-30 David Gilbert - - * examples/gnu/classpath/examples/swing/ButtonDemo.java - (ButtonDemo): Move content initialisation to new method, - (initFrameContent): New method, - (main): Call initFrameContent(), - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/FileChooserDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/SliderDemo.java: Likewise, - * examples/gnu/classpath/examples/swing/TextFieldDemo.java: Likewise. - -2006-01-30 David Gilbert - - * examples/gnu/classpath/examples/swing/Demo.java - (Demo): Set frame size, - (mkButtonBar): Removed stacked sub-panels. - -2006-01-30 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Added new fields. - (insert): Initialized fields. Removed call to addEdit, - and created ElementEdit instead. - (insertUpdate): Added check for fracturing. If the - fracturing was not successful, we should push the - last element back on the stack. - (insertParagraph): Fixed call to getEditForParagraphAndIndex. - Also, changed replace calls to use Edit. - (insertFirstContentTag): Removed unneeded check and fixed call - to recreateLeaves. - (insertContent): Fixed check to use new fields. Added code in - to check if leaves overlap. - (createFracture): Fixed call to recreateLeaves. - (recreateLeaves): Fixed code and cleaned it up a bit. - (insertFracture): Set fracNotCreated field. - (addEdit): Removed, this method is not needed. - -2006-01-30 Roman Kennke - - * javax/swing/JRootPane.java - (RootLayout.prefSize): Removed caching for preferredSize. - (RootLayout.invalidateLayout): Likewise. - (RootLayout.preferredLayoutSize): Likewise. - -2006-01-30 Roman Kennke - - PR classpath/26035 - * javax/swing/JFrame.java - (frameInit): Handle the defaultLookAndFeelDecorated flag. - * javax/swing/plaf/metal/MetalRootPaneUI.java - (MetalFrameBorder): New inner class, provides the border for - top level containers with L&F decorations. - (MetalTitlePane): New inner class, provides the title pane for - top level containers with L&F decorations. - (MetalRootLayout): New inner class. Used to layout the root pane - when L&F window decorations are enabled. - (installUI): New method. Handles window decorations. - (uninstallUI): New method. Handles window decorations. - (propertyChange): Handles window decorations. - (installWindowDecorations): New method. Handles window - decorations. - (uninstallWindowDecorations): New method. Handles window - decorations. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (getSupportsWindowDecorations): Overridden to return true. - -2006-01-30 Mark Wielaard - - * javax/swing/JProgressBar.java (JProgressBar(int)): Document - IllegalArgumentException when orientation is illegal. - (JProgressBar(int, int, int)): Likewise and throw exception. - (setOrientation): Likewise. - -2006-01-30 Roman Kennke - - * javax/swing/ViewportLayout.java - (minimumLayoutSize): Rewritten to unconditionally return (4,4). - -2006-01-30 Mark Wielaard - - * javax/swing/JProgressBar.java (orientation): Always set by - constructor. - (JProgressBar(int)): Document default on 'illegal' value. - (JProgressBar(int, int, int)): Likewise and set orientation to - HORIZONTAL when 'illegal'. - (setOrientation): Likewise. - -2006-01-30 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (ListDataHandler.contentsChanged): Update the - updateLayoutStateNeeded flag. - (ListDataHandler.intervalAdded): Update the - updateLayoutStateNeeded flag. - (ListDataHandler.intervalRemoved): Update the - updateLayoutStateNeeded flag. - (PropertyChangeHandler.propertyChange): Correctly update the - listeners on new list model. - (maybeUpdateLayoutState): Don't consider the validation state - of the list. - -2006-01-30 Mark Wielaard - - * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether - sortKeys is null. - -2006-01-30 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly insert - components within different layers and -1 position. - -2006-01-30 Mark Wielaard - - * doc/api/Makefile.am (create_html): Add -validhtml. - -2006-01-30 Roman Kennke - - * javax/swing/JLayeredPane.java - (insertIndexForLayer): Fixed algorithm to correctly insert - components within same layer and -1 position. - -2006-01-30 Ito Kazumitsu - - Fixes bug #24876 - * gnu/regexp/gnu/regexp/RE.java(REG_TRY_ENTIRE_MATCH): - New execution flag. - (getMatchImpl): if REG_TRY_ENTIRE_MATCH is set, add an - implicit RETokenEnd at the end of the regexp chain. - Do not select the longest match, but select the first match. - (match): Do not take care of REMatch.empty. - * gnu/regexp/REMatch.java(empty): To be used only in RETokenRepeated. - * gnu/regexp/RETokenOneOf.java: Corrected a typo in a comment. - * gnu/regexp/RETokenBackRef.java: Do not take care of REMatch.empty. - * gnu/regexp/RETokenRepeated.java (match): Rewrote stingy matching. - Do not take care of REMatch.empty. Set and check REMatch.empty - when trying to match the single token. - -2006-01-30 Mark Wielaard - - * java/awt/Cursor.java (toString): Include name and type. - -2006-01-30 Raif S. Naffah - - * gnu/javax/crypto/mac/HMac.java (clone): Clone ipadHash, opadHash, and - the ipad buffer. - * gnu/javax/crypto/mac/BaseMac.java (clone): Clone underlyingHash. - -2006-01-30 Audrius Meskauskas - - PR 26027 - * javax/swing/plaf/basic/BasicListUI.java (maybeUpdateLayoutState): - Consider the validation state of the list. - -2006-01-29 Robert Schuster - - * gnu/java/beans/DefaultExceptionListener.java: Constant public field - INSTANCE added. - * java/beans/XMLDecoder.java: - (setExceptionListener): Use shared DefaultExceptionListener - instance. - * java/beans/Encoder.java: - (setExceptionListener): Use shared DefaultExceptionListener - instance. - -2006-01-29 Roman Kennke - - * javax/swing/ScrollPaneLayout.java - (minimumLayoutSize): Rewritten to match JDKs behaviour. - -2006-01-29 Mark Wielaard - - * java/net/SocketPermission.java (setActions): Trim and lower case - action. - -2006-01-29 Raif S. Naffah - - * gnu/java/security/util/Prime2.java (passEulerCriterion): Was - incorrectly failing primality test for some known primes. Fixed. - (passFermatLittleTheorem): Removed. - (passMillerRabin): Removed. - (isProbablePrime): Cache primes that pass the primality tests. - Use BigInteger.isProbablePrime(int) for primality tests. - (debugBI): New static debugging method. - -2006-01-28 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (updateLayoutState): Removed unneeded special case for VERTICAL. - -2006-01-28 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getCellBounds): Determine correct list width when having a - layoutOrientation of VERTICAL. - (maybeUpdateLayoutState): Don't consider the validation state of - the list. - -2006-01-28 Mark Wielaard - - Reported by Dimitri Fontaine - * java/awt/print/NoPrinterJob.java: New (fake) class. - * java/awt/print/PrinterJob.java (getPrinterJob): Return NoPrinterJob. - -2006-01-28 Mark Wielaard - - * gnu/javax/crypto/mac/HMac.java (clone): Cast cloned ipad to byte[]. - -2006-01-28 Audrius Meskauskas - - * gnu/classpath/examples/swing/Demo.java (mkTree): Make a larger tree. - (addChildren): New method. - -2006-01-28 Raif S. Naffah - - * gnu/javax/crypto/jce/mac/MacAdapter.java (MacAdapter(IMac, Map)): New - constructor for cloning purposes. - (clone): New implementation that ensures cloning. - * gnu/javax/crypto/mac/HMac.java (clone): Implement Cloneable. - * gnu/java/security/Registry.java: Changed value of GNU_SECURITY to - "GNU". - -2006-01-27 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (updateCachedPreferredSize): - Call updateCurrentVisiblePath. - -2006-01-27 Roman Kennke - - * examples/gnu/classpath/examples/swing/MiniDemo.java: New file. - -2006-01-27 Roman Kennke - - * examples/gnu/classpath/examples/swing/ButtonDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/ComboBoxDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/FileChooserDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/ScrollBarDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/SliderDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/TableDemo.java - (createContent): Only create new content if we don't have one - already. - * examples/gnu/classpath/examples/swing/TextFieldDemo.java - (createContent): Only create new content if we don't have one - already. - -2006-01-27 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFirstContentTag): Removed check, not needed. This - still needs to be fixed for some cases. Added call to - recreateLeaves. - (createFracture): Added call to recreateLeaves. - (recreateLeaves): New method used to recreate all the - leaves after the initial insertion. This still needs - more work. - (handleInsertAfterNewline): Removed else, not needed. - -2006-01-27 Roman Kennke - - * javax/swing/JLayeredPane.java - (inserIndexForLayer): Fixed direction of search. - -2006-01-27 Audrius Meskauskas - - * javax/swing/JTree.java (constructor): Put EXPANDED for the root - node into nodeStates. - -2006-01-27 Roman Kennke - - * javax/swing/JLayeredPane.java - (FRAME_CONTENT_LAYER): Made field final. - (componentToLayer): Made field private. - (rectCache): Removed field. - (layers): Removed field. - (JLayeredPane()): Removed initialization of removed fields. - (getLayer): Rewritten to make use of client properties in - JComponents and to be more straighforward. - (static getLayer): Rewritten to make use of client properties in - JComponents. - (layerToRange): Removed method. - (incrLayer): Removed method. - (decrLayer): Removed method. - (highestLayer): Rewritten to be more straightforward. - (lowestLayer): Rewritten to be more straightforward. - (getPosition): Rewritten to be more straightforward. - (getComponentsInLayer): Rewritten to be more straightforward. - (getComponentCountInLayer): Rewritten to be more straightforward. - (getIndexOf): Rewritten to be more straightforward. - (inserIndexForLayer): Rewritten to be more straightforward. - (remove): Rewritten to be more straightforward. - (setLayer): Rewritten to be more straightforward. - (addImpl): Rewritten to be more straightforward. - (putLayer): Rewritten to be more straightforward. - -2006-01-27 Anthony Balkissoon - - * java/lang/Character.java: - (offsetByCodePoints(CharSequence, int, int)): New API method. - (offsetByCodePoints(char[], int, int, int, int)): Likewise. - (toChars): Throw the Exception that the docs say we throw. - (codePointAt): Fixed an off-by-one error in the bounds of the if - statement. - * java/lang/String.java: - (String(int[], int, int)): New API constructor. - -2006-01-27 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Moved this loop to insertUpdate. - (insertUpdate): Likewise. Fixed variable - names. Incremented pos if new paragraph - is inserted. - (split): Changed edits to use replace instead. Prevents - assertion errors. - (insertFirstContentTag): Removed else. - (insertContentTag): Implemented else for JoinNextDirection. - (createFracture): Fixed up code, still not fully complete. - (insertFracture): Fixed to use return value from - recreateAfterFracture. - (recreateAfterFracture): Changed to return an array of the - elements to be added. This prevents an assertion error. - (contains): New function checks if an element is already in - the Vector. Vector's contain function was not enough to use. - (addAddedElement): Changed to use new contains function. - (addAddedElements): Likewise. - (addRemovedElement): Likewise. - (addRemovedElements): Likewise. - -2006-01-27 Audrius Meskauskas - - PR 25520 - * vm/reference/java/io/VMObjectInputStream.java (loaderAction.run): - If no user class loaders found on the stack, return the thread - context class loader. (currentClassLoader): Explained. - -2006-01-27 Roman Kennke - - * java/awt/Container.java - (swapComponents): Removed unspecified method. - * javax/swing/JLayeredPane.java - (setPosition): Reimplemented correctly. - (swapComponents): New helper method. - -2006-01-27 Mark Wielaard - - * configure.ac: Set version to 0.21-pre. - -2006-01-27 Roman Kennke - - PR classpath/25968 - * javax/swing/JComponent.java - (findOverlapFreeParent): Improved the algorithm to make better use - of the optimizedDrawingEnabled flag. - * javax/swing/JLayeredPane.java - (isOptimizedDrawingEnabled): Reimplemented to match the specs. - * javax/swing/JViewport.java - (computeBlit): Fixed check to decide if blitting is possible or not, - so that it doesn't blit if nothing was scrolled (in order to - update the buffer when the view updates itself). - -2006-01-27 Roman Kennke - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Don't set scrollbar policy. - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicPopupMenuUI.java - (PopupMenuHandler.popupMenuWillBecomeInvisible): - Fixed to also handle non-Swing toplevel containers. - (PopupMenuHandler.popupMenuWillBecomeVisible): - Fixed to also handle non-Swing toplevel containers. - * javax/swing/Popup.java - (JWindowPopup.JWindowPopup()): Correctly set parent window on - popup. - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicInternalFrameUI.java - (InternalFramePropertyChangeListener): Don't implement - VetoableChangeListener. - (InternalFramePropertyChangeListener.vetoableChange): Removed. - (internalFrameVetoableChangeListener): Removed unneeded field. - (installListeners): Don't install vetoableChangeListener. - * javax/swing/event/DocumentEvent.java - (EventType): Made class final. - -2006-01-27 Roman Kennke - - * javax/swing/SwingUtilities.java - (calculateInsetArea): Removed unneeded method. The method - calculateInnerArea has the same purpose and is actually specified. - (calculateInnerArea): Rewritten to not use calculateInsetArea. - * javax/swing/plaf/basic/BasicMenuItemUI.java - (paintMenuItem): Use SwingUtilities.calculateInnerArea() instead - of SwingUtilities.calculateInsetArea(). - -2006-01-27 Roman Kennke - - * javax/swing/plaf/basic/BasicTreeUI.java - (installDefaults): Removed requestFocusInWindow() call. - * javax/swing/JComponent.java - (requestFocusInWindow(boolean)): Made method protected. - (printComponent): Made method protected. - (printChildren): Made method protected. - (printComponent): Made method protected. - (printBorder): Made method protected. - -2006-01-27 Roman Kennke - - * javax/swing/AbstractButton.java - (ButtonChangeListener.ButtonChangeListener()): Made constructor - package private. - * javax/swing/ImageIcon.java - (component): Made field final. - (tracker): Made field final. - * javax/swing/JApplet.java - (AccessibleJApplet.AccessibleJApplet): Made constructor protected. - * javax/swing/JCheckBox.java - (AccessibleJCheckBox.AccessibleJCheckBox): Made constructor - protected. - * javax/swing/JDialog.java - (AccessibleJDialog.AccessibleJDialog): Made constructor protected. - * javax/swing/JFrame.java - (AccessibleJFrame.AccessibleJFrame): Made constructor protected. - * javax/swing/JLayeredPane.java - (AccessibleJLayered.AccessibleJLayeredPane): Made constructor - protected. - (DEFAULT_LAYER): Made field final. - (PALETTE_LAYER): Made field final. - (MODAL_LAYER): Made field final. - (POPUP_LAYER): Made field final. - (DRAG_LAYER): Made field final. - * javax/swing/JMenu.java - (ActionChangeListener): Made class private. - * javax/swing/JOptionPane.java - (UNITITIALIZED_VALUE): Made field final. - * javax/swing/JPanel.java - (AccessibleJPanel.AccessibleJPanel): Made constructor protected. - * javax/swing/JPopupMenu.java - (ActionChangeListener): Made class private. - * javax/swing/JTree.java - (paramString): Made method protected. - * javax/swing/JViewport.java - (AccessibleJViewport.AccessibleJViewport): Made constructor protected. - * javax/swing/JWindow.java - (AccessibleJWindow.AccessibleJWindow): Made constructor protected. - * javax/swing/RepaintManager.java - (RepaintWorker): Made class private. - -2006-01-27 Roman Kennke - - * gnu/java/awt/peer/swing/SwingComponentPeer.java - (handleEvent): Removed debug statement. - -2006-01-27 Roman Kennke - - * java/awt/Component.java - (coalescePaintEvents): Don't try to optimize coalescing. This hurts - more than it helps. - -2006-01-26 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (createFracture): Commented out a known problem, - added FIXME tag. - -2006-01-26 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer): Added fields. - (remove): Initialized pos. - (change): Likewise. - (insert): Likewise. - (insertUpdate): Incremented pos. Fixed check, createFracture should - be called on first tag if it is not ContentType. - (insertFirstContentTag): Reworked to use proper offsets and - set offset accordingly. This might need more work in the future. - (insertContentTag): Likewise. Fixed to use pos, instead of - offset. - (createFracture): Fixed to recreate other leaves. Still needs - more work. - (insertFracture): Reimplemented. - (recreateAfterFracture): New method. - (getParagraphElement): Reimplemented, more efficent. - -2006-01-26 Christian Thalinger - - * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) - (doubleToRawLongBits, longBitsToDouble): Swap the byte - ordering for little-endian arms without VFP. - -2006-01-26 Raif S. Naffah - - PR classpath/25981 - * gnu/javax/crypto/jce/GnuCrypto.java (run): Added KeyGenerator entries. - -2006-01-26 Mark Wielaard - - Fixes bug #25970 reported by Michael Kay - * java/math/BigDecimal.java (compareTo): Don't strip trailing zeros. - Add trailing zeros to the fraction of the decimal with the smallest - scale. - -2006-01-26 Roman Kennke - - * javax/swing/text/html/ObjectView.java: New file. - -2006-01-26 Audrius Meskauskas - - * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): - Call startEditing when appropriate. - (WAIT_TILL_EDITING, EDIT, startEditTimer): New fields. - (startEditing): Always edit if directly ordered from - MouseHandler.mousePressed. - * javax/swing/tree/DefaultTreeCellEditor.java (CLICK_COUNT_TO_START): - New field. (createTreeCellEditor): Set click count to start. - (getTreeCellEditorComponent): Assing realEditor directly. - -2006-01-25 Casey Marshall - - Merging GNU Crypto and Jessie. - - * NEWS: mention the merge in the 0.21 notes. - * gnu/classpath/debug/Component.java (SSL_APPLICATION): removed. - (SSL_RECORD_LAYER): new constants. - * gnu/java/security/provider/Gnu.java (): add new algorithms - to provider. - * resource/java/security/classpath.security: add new providers. - * gnu/javax/crypto/assembly/Assembly.java, - gnu/javax/crypto/assembly/Cascade.java, - gnu/javax/crypto/assembly/CascadeStage.java, - gnu/javax/crypto/assembly/CascadeTransformer.java, - gnu/javax/crypto/assembly/DeflateTransformer.java, - gnu/javax/crypto/assembly/Direction.java, - gnu/javax/crypto/assembly/LoopbackTransformer.java, - gnu/javax/crypto/assembly/ModeStage.java, - gnu/javax/crypto/assembly/Operation.java, - gnu/javax/crypto/assembly/PaddingTransformer.java, - gnu/javax/crypto/assembly/Stage.java, - gnu/javax/crypto/assembly/Transformer.java, - gnu/javax/crypto/assembly/TransformerException.java, - gnu/javax/crypto/cipher/Anubis.java, - gnu/javax/crypto/cipher/BaseCipher.java, - gnu/javax/crypto/cipher/Blowfish.java, - gnu/javax/crypto/cipher/Cast5.java, - gnu/javax/crypto/cipher/CipherFactory.java, - gnu/javax/crypto/cipher/DES.java, - gnu/javax/crypto/cipher/IBlockCipher.java, - gnu/javax/crypto/cipher/IBlockCipherSpi.java, - gnu/javax/crypto/cipher/Khazad.java, - gnu/javax/crypto/cipher/NullCipher.java, - gnu/javax/crypto/cipher/Rijndael.java, - gnu/javax/crypto/cipher/Serpent.java, - gnu/javax/crypto/cipher/Square.java, - gnu/javax/crypto/cipher/TripleDES.java, - gnu/javax/crypto/cipher/Twofish.java, - gnu/javax/crypto/cipher/WeakKeyException.java, - gnu/javax/crypto/jce/GnuCrypto.java, - gnu/javax/crypto/jce/GnuSasl.java, - gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java, - gnu/javax/crypto/jce/cipher/AESSpi.java, - gnu/javax/crypto/jce/cipher/ARCFourSpi.java, - gnu/javax/crypto/jce/cipher/AnubisSpi.java, - gnu/javax/crypto/jce/cipher/BlowfishSpi.java, - gnu/javax/crypto/jce/cipher/Cast5Spi.java, - gnu/javax/crypto/jce/cipher/CipherAdapter.java, - gnu/javax/crypto/jce/cipher/DESSpi.java, - gnu/javax/crypto/jce/cipher/KhazadSpi.java, - gnu/javax/crypto/jce/cipher/NullCipherSpi.java, - gnu/javax/crypto/jce/cipher/PBES2.java, - gnu/javax/crypto/jce/cipher/RijndaelSpi.java, - gnu/javax/crypto/jce/cipher/SerpentSpi.java, - gnu/javax/crypto/jce/cipher/SquareSpi.java, - gnu/javax/crypto/jce/cipher/TripleDESSpi.java, - gnu/javax/crypto/jce/cipher/TwofishSpi.java, - gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java, - gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java, - gnu/javax/crypto/jce/keyring/GnuKeyring.java, - gnu/javax/crypto/jce/mac/HMacHavalSpi.java, - gnu/javax/crypto/jce/mac/HMacMD2Spi.java, - gnu/javax/crypto/jce/mac/HMacMD4Spi.java, - gnu/javax/crypto/jce/mac/HMacMD5Spi.java, - gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, - gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, - gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, - gnu/javax/crypto/jce/mac/HMacTigerSpi.java, - gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, - gnu/javax/crypto/jce/mac/MacAdapter.java, - gnu/javax/crypto/jce/mac/OMacAnubisImpl.java, - gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java, - gnu/javax/crypto/jce/mac/OMacCast5Impl.java, - gnu/javax/crypto/jce/mac/OMacDESImpl.java, - gnu/javax/crypto/jce/mac/OMacImpl.java, - gnu/javax/crypto/jce/mac/OMacKhazadImpl.java, - gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java, - gnu/javax/crypto/jce/mac/OMacSerpentImpl.java, - gnu/javax/crypto/jce/mac/OMacSquareImpl.java, - gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java, - gnu/javax/crypto/jce/mac/OMacTwofishImpl.java, - gnu/javax/crypto/jce/mac/TMMH16Spi.java, - gnu/javax/crypto/jce/mac/UHash32Spi.java, - gnu/javax/crypto/jce/mac/UMac32Spi.java, - gnu/javax/crypto/jce/params/BlockCipherParameters.java, - gnu/javax/crypto/jce/params/DEREncodingException.java, - gnu/javax/crypto/jce/params/DERReader.java, - gnu/javax/crypto/jce/params/DERWriter.java, - gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java, - gnu/javax/crypto/jce/prng/CSPRNGSpi.java, - gnu/javax/crypto/jce/prng/FortunaImpl.java, - gnu/javax/crypto/jce/prng/ICMRandomSpi.java, - gnu/javax/crypto/jce/prng/UMacRandomSpi.java, - gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java, - gnu/javax/crypto/jce/spec/TMMHParameterSpec.java, - gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java, - gnu/javax/crypto/key/BaseKeyAgreementParty.java, - gnu/javax/crypto/key/GnuSecretKey.java, - gnu/javax/crypto/key/IKeyAgreementParty.java, - gnu/javax/crypto/key/IncomingMessage.java, - gnu/javax/crypto/key/KeyAgreementException.java, - gnu/javax/crypto/key/KeyAgreementFactory.java, - gnu/javax/crypto/key/OutgoingMessage.java, - gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java, - gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java, - gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java, - gnu/javax/crypto/key/dh/DiffieHellmanSender.java, - gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java, - gnu/javax/crypto/key/dh/ElGamalReceiver.java, - gnu/javax/crypto/key/dh/ElGamalSender.java, - gnu/javax/crypto/key/dh/GnuDHKey.java, - gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java, - gnu/javax/crypto/key/dh/GnuDHPrivateKey.java, - gnu/javax/crypto/key/dh/GnuDHPublicKey.java, - gnu/javax/crypto/key/dh/RFC2631.java, - gnu/javax/crypto/key/srp6/SRP6Host.java, - gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java, - gnu/javax/crypto/key/srp6/SRP6SaslClient.java, - gnu/javax/crypto/key/srp6/SRP6SaslServer.java, - gnu/javax/crypto/key/srp6/SRP6TLSClient.java, - gnu/javax/crypto/key/srp6/SRP6TLSServer.java, - gnu/javax/crypto/key/srp6/SRP6User.java, - gnu/javax/crypto/key/srp6/SRPAlgorithm.java, - gnu/javax/crypto/key/srp6/SRPKey.java, - gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java, - gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java, - gnu/javax/crypto/key/srp6/SRPPrivateKey.java, - gnu/javax/crypto/key/srp6/SRPPublicKey.java, - gnu/javax/crypto/keyring/AuthenticatedEntry.java, - gnu/javax/crypto/keyring/BaseKeyring.java, - gnu/javax/crypto/keyring/BinaryDataEntry.java, - gnu/javax/crypto/keyring/CertPathEntry.java, - gnu/javax/crypto/keyring/CertificateEntry.java, - gnu/javax/crypto/keyring/CompressedEntry.java, - gnu/javax/crypto/keyring/EncryptedEntry.java, - gnu/javax/crypto/keyring/Entry.java, - gnu/javax/crypto/keyring/EnvelopeEntry.java, - gnu/javax/crypto/keyring/GnuPrivateKeyring.java, - gnu/javax/crypto/keyring/GnuPublicKeyring.java, - gnu/javax/crypto/keyring/IKeyring.java, - gnu/javax/crypto/keyring/IPrivateKeyring.java, - gnu/javax/crypto/keyring/IPublicKeyring.java, - gnu/javax/crypto/keyring/MalformedKeyringException.java, - gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java, - gnu/javax/crypto/keyring/MeteredInputStream.java, - gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java, - gnu/javax/crypto/keyring/PasswordEncryptedEntry.java, - gnu/javax/crypto/keyring/PasswordProtectedEntry.java, - gnu/javax/crypto/keyring/PrimitiveEntry.java, - gnu/javax/crypto/keyring/PrivateKeyEntry.java, - gnu/javax/crypto/keyring/Properties.java, - gnu/javax/crypto/keyring/PublicKeyEntry.java, - gnu/javax/crypto/mac/BaseMac.java, - gnu/javax/crypto/mac/HMac.java, - gnu/javax/crypto/mac/HMacFactory.java, - gnu/javax/crypto/mac/IMac.java, - gnu/javax/crypto/mac/MacFactory.java, - gnu/javax/crypto/mac/MacInputStream.java, - gnu/javax/crypto/mac/MacOutputStream.java, - gnu/javax/crypto/mac/OMAC.java, - gnu/javax/crypto/mac/TMMH16.java, - gnu/javax/crypto/mac/UHash32.java, - gnu/javax/crypto/mac/UMac32.java, - gnu/javax/crypto/mode/BaseMode.java, - gnu/javax/crypto/mode/CBC.java, - gnu/javax/crypto/mode/CFB.java, - gnu/javax/crypto/mode/CTR.java, - gnu/javax/crypto/mode/EAX.java, - gnu/javax/crypto/mode/ECB.java, - gnu/javax/crypto/mode/IAuthenticatedMode.java, - gnu/javax/crypto/mode/ICM.java, - gnu/javax/crypto/mode/IMode.java, - gnu/javax/crypto/mode/ModeFactory.java, - gnu/javax/crypto/mode/OFB.java, - gnu/javax/crypto/pad/BasePad.java, - gnu/javax/crypto/pad/IPad.java, - gnu/javax/crypto/pad/PKCS1_V1_5.java, - gnu/javax/crypto/pad/PKCS7.java, - gnu/javax/crypto/pad/PadFactory.java, - gnu/javax/crypto/pad/SSL3.java, - gnu/javax/crypto/pad/TBC.java, - gnu/javax/crypto/pad/TLS1.java, - gnu/javax/crypto/pad/WrongPaddingException.java, - gnu/javax/crypto/prng/ARCFour.java, - gnu/javax/crypto/prng/CSPRNG.java, - gnu/javax/crypto/prng/Fortuna.java, - gnu/javax/crypto/prng/ICMGenerator.java, - gnu/javax/crypto/prng/IPBE.java, - gnu/javax/crypto/prng/PBKDF2.java, - gnu/javax/crypto/prng/PRNGFactory.java, - gnu/javax/crypto/prng/UMacGenerator.java, - gnu/javax/crypto/sasl/AuthInfo.java, - gnu/javax/crypto/sasl/AuthInfoProviderFactory.java, - gnu/javax/crypto/sasl/ClientFactory.java, - gnu/javax/crypto/sasl/ClientMechanism.java, - gnu/javax/crypto/sasl/ConfidentialityException.java, - gnu/javax/crypto/sasl/IAuthInfoProvider.java, - gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java, - gnu/javax/crypto/sasl/IllegalMechanismStateException.java, - gnu/javax/crypto/sasl/InputBuffer.java, - gnu/javax/crypto/sasl/IntegrityException.java, - gnu/javax/crypto/sasl/NoSuchMechanismException.java, - gnu/javax/crypto/sasl/NoSuchUserException.java, - gnu/javax/crypto/sasl/OutputBuffer.java, - gnu/javax/crypto/sasl/SaslEncodingException.java, - gnu/javax/crypto/sasl/SaslInputStream.java, - gnu/javax/crypto/sasl/SaslOutputStream.java, - gnu/javax/crypto/sasl/SaslUtil.java, - gnu/javax/crypto/sasl/ServerFactory.java, - gnu/javax/crypto/sasl/ServerMechanism.java, - gnu/javax/crypto/sasl/UserAlreadyExistsException.java, - gnu/javax/crypto/sasl/anonymous/AnonymousClient.java, - gnu/javax/crypto/sasl/anonymous/AnonymousServer.java, - gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java, - gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Client.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Server.java, - gnu/javax/crypto/sasl/crammd5/CramMD5Util.java, - gnu/javax/crypto/sasl/crammd5/PasswordFile.java, - gnu/javax/crypto/sasl/plain/PasswordFile.java, - gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java, - gnu/javax/crypto/sasl/plain/PlainClient.java, - gnu/javax/crypto/sasl/plain/PlainRegistry.java, - gnu/javax/crypto/sasl/plain/PlainServer.java, - gnu/javax/crypto/sasl/srp/CALG.java, - gnu/javax/crypto/sasl/srp/ClientStore.java, - gnu/javax/crypto/sasl/srp/IALG.java, - gnu/javax/crypto/sasl/srp/KDF.java, - gnu/javax/crypto/sasl/srp/PasswordFile.java, - gnu/javax/crypto/sasl/srp/SRP.java, - gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java, - gnu/javax/crypto/sasl/srp/SRPClient.java, - gnu/javax/crypto/sasl/srp/SRPRegistry.java, - gnu/javax/crypto/sasl/srp/SRPServer.java, - gnu/javax/crypto/sasl/srp/SecurityContext.java, - gnu/javax/crypto/sasl/srp/ServerStore.java, - gnu/javax/crypto/sasl/srp/StoreEntry.java, - gnu/javax/net/ssl/Base64.java, - gnu/javax/net/ssl/EntropySource.java, - gnu/javax/net/ssl/NullManagerParameters.java, - gnu/javax/net/ssl/PrivateCredentials.java, - gnu/javax/net/ssl/SRPManagerParameters.java, - gnu/javax/net/ssl/SRPTrustManager.java, - gnu/javax/net/ssl/StaticTrustAnchors.java, - gnu/javax/net/ssl/provider/Alert.java, - gnu/javax/net/ssl/provider/AlertException.java, - gnu/javax/net/ssl/provider/Certificate.java, - gnu/javax/net/ssl/provider/CertificateRequest.java, - gnu/javax/net/ssl/provider/CertificateType.java, - gnu/javax/net/ssl/provider/CertificateVerify.java, - gnu/javax/net/ssl/provider/CipherSuite.java, - gnu/javax/net/ssl/provider/ClientHello.java, - gnu/javax/net/ssl/provider/ClientKeyExchange.java, - gnu/javax/net/ssl/provider/CompressionMethod.java, - gnu/javax/net/ssl/provider/Constructed.java, - gnu/javax/net/ssl/provider/ContentType.java, - gnu/javax/net/ssl/provider/Context.java, - gnu/javax/net/ssl/provider/DiffieHellman.java, - gnu/javax/net/ssl/provider/DigestInputStream.java, - gnu/javax/net/ssl/provider/DigestOutputStream.java, - gnu/javax/net/ssl/provider/Enumerated.java, - gnu/javax/net/ssl/provider/Extension.java, - gnu/javax/net/ssl/provider/Extensions.java, - gnu/javax/net/ssl/provider/Finished.java, - gnu/javax/net/ssl/provider/GNUSecurityParameters.java, - gnu/javax/net/ssl/provider/Handshake.java, - gnu/javax/net/ssl/provider/JCESecurityParameters.java, - gnu/javax/net/ssl/provider/JDBCSessionContext.java, - gnu/javax/net/ssl/provider/Jessie.java, - gnu/javax/net/ssl/provider/JessieDHPrivateKey.java, - gnu/javax/net/ssl/provider/JessieDHPublicKey.java, - gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java, - gnu/javax/net/ssl/provider/JessieRSAPublicKey.java, - gnu/javax/net/ssl/provider/KeyPool.java, - gnu/javax/net/ssl/provider/MacException.java, - gnu/javax/net/ssl/provider/OverflowException.java, - gnu/javax/net/ssl/provider/PRNG.java, - gnu/javax/net/ssl/provider/ProtocolVersion.java, - gnu/javax/net/ssl/provider/Random.java, - gnu/javax/net/ssl/provider/RecordInput.java, - gnu/javax/net/ssl/provider/RecordInputStream.java, - gnu/javax/net/ssl/provider/RecordOutputStream.java, - gnu/javax/net/ssl/provider/RecordingInputStream.java, - gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java, - gnu/javax/net/ssl/provider/SSLHMac.java, - gnu/javax/net/ssl/provider/SSLRSASignature.java, - gnu/javax/net/ssl/provider/SSLRandom.java, - gnu/javax/net/ssl/provider/SSLServerSocket.java, - gnu/javax/net/ssl/provider/SSLServerSocketFactory.java, - gnu/javax/net/ssl/provider/SSLSocket.java, - gnu/javax/net/ssl/provider/SSLSocketFactory.java, - gnu/javax/net/ssl/provider/SSLSocketInputStream.java, - gnu/javax/net/ssl/provider/SSLSocketOutputStream.java, - gnu/javax/net/ssl/provider/SecurityParameters.java, - gnu/javax/net/ssl/provider/ServerHello.java, - gnu/javax/net/ssl/provider/ServerKeyExchange.java, - gnu/javax/net/ssl/provider/Session.java, - gnu/javax/net/ssl/provider/SessionContext.java, - gnu/javax/net/ssl/provider/Signature.java, - gnu/javax/net/ssl/provider/SynchronizedRandom.java, - gnu/javax/net/ssl/provider/TLSHMac.java, - gnu/javax/net/ssl/provider/TLSRandom.java, - gnu/javax/net/ssl/provider/Util.java, - gnu/javax/net/ssl/provider/X509KeyManagerFactory.java, - gnu/javax/net/ssl/provider/X509TrustManagerFactory.java, - gnu/javax/net/ssl/provider/XMLSessionContext.java, - gnu/javax/security/auth/Password.java, - gnu/javax/security/auth/callback/AWTCallbackHandler.java, - gnu/javax/security/auth/callback/AbstractCallbackHandler.java, - gnu/javax/security/auth/callback/ConsoleCallbackHandler.java, - gnu/javax/security/auth/callback/DefaultCallbackHandler.java, - gnu/javax/security/auth/callback/GnuCallbacks.java, - gnu/javax/security/auth/callback/SwingCallbackHandler.java, - gnu/java/security/Registry.java, - gnu/java/security/Properties.java, - gnu/java/security/hash/BaseHash.java, - gnu/java/security/hash/HashFactory.java, - gnu/java/security/hash/Haval.java, - gnu/java/security/hash/IMessageDigest.java, - gnu/java/security/hash/MD2.java, - gnu/java/security/hash/MD4.java, - gnu/java/security/hash/MD5.java, - gnu/java/security/hash/RipeMD128.java, - gnu/java/security/hash/RipeMD160.java, - gnu/java/security/hash/Sha160.java, - gnu/java/security/hash/Sha256.java, - gnu/java/security/hash/Sha384.java, - gnu/java/security/hash/Sha512.java, - gnu/java/security/hash/Tiger.java, - gnu/java/security/hash/Whirlpool.java, - gnu/java/security/jce/hash/HavalSpi.java, - gnu/java/security/jce/hash/MD2Spi.java, - gnu/java/security/jce/hash/MD4Spi.java, - gnu/java/security/jce/hash/MD5Spi.java, - gnu/java/security/jce/hash/MessageDigestAdapter.java, - gnu/java/security/jce/hash/RipeMD128Spi.java, - gnu/java/security/jce/hash/RipeMD160Spi.java, - gnu/java/security/jce/hash/Sha160Spi.java, - gnu/java/security/jce/hash/Sha256Spi.java, - gnu/java/security/jce/hash/Sha384Spi.java, - gnu/java/security/jce/hash/Sha512Spi.java, - gnu/java/security/jce/hash/TigerSpi.java, - gnu/java/security/jce/hash/WhirlpoolSpi.java, - gnu/java/security/jce/prng/HavalRandomSpi.java, - gnu/java/security/jce/prng/MD2RandomSpi.java, - gnu/java/security/jce/prng/MD4RandomSpi.java, - gnu/java/security/jce/prng/MD5RandomSpi.java, - gnu/java/security/jce/prng/RipeMD128RandomSpi.java, - gnu/java/security/jce/prng/RipeMD160RandomSpi.java, - gnu/java/security/jce/prng/SecureRandomAdapter.java, - gnu/java/security/jce/prng/Sha160RandomSpi.java, - gnu/java/security/jce/prng/Sha256RandomSpi.java, - gnu/java/security/jce/prng/Sha384RandomSpi.java, - gnu/java/security/jce/prng/Sha512RandomSpi.java, - gnu/java/security/jce/prng/TigerRandomSpi.java, - gnu/java/security/jce/prng/WhirlpoolRandomSpi.java, - gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, - gnu/java/security/jce/sig/DSSRawSignatureSpi.java, - gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, - gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java, - gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, - gnu/java/security/jce/sig/SignatureAdapter.java, - gnu/java/security/key/IKeyPairCodec.java, - gnu/java/security/key/IKeyPairGenerator.java, - gnu/java/security/key/KeyPairCodecFactory.java, - gnu/java/security/key/KeyPairGeneratorFactory.java, - gnu/java/security/key/dss/DSSKey.java, - gnu/java/security/key/dss/DSSKeyPairGenerator.java, - gnu/java/security/key/dss/DSSKeyPairRawCodec.java, - gnu/java/security/key/dss/DSSPrivateKey.java, - gnu/java/security/key/dss/DSSPublicKey.java, - gnu/java/security/key/dss/FIPS186.java, - gnu/java/security/key/rsa/GnuRSAKey.java, - gnu/java/security/key/rsa/GnuRSAPrivateKey.java, - gnu/java/security/key/rsa/GnuRSAPublicKey.java, - gnu/java/security/key/rsa/RSAKeyPairGenerator.java, - gnu/java/security/key/rsa/RSAKeyPairRawCodec.java, - gnu/java/security/prng/BasePRNG.java, - gnu/java/security/prng/EntropySource.java, - gnu/java/security/prng/IRandom.java, - gnu/java/security/prng/LimitReachedException.java, - gnu/java/security/prng/MDGenerator.java, - gnu/java/security/prng/PRNGFactory.java, - gnu/java/security/prng/RandomEvent.java, - gnu/java/security/prng/RandomEventListener.java, - gnu/java/security/sig/BaseSignature.java, - gnu/java/security/sig/ISignature.java, - gnu/java/security/sig/ISignatureCodec.java, - gnu/java/security/sig/SignatureFactory.java, - gnu/java/security/sig/dss/DSSSignature.java, - gnu/java/security/sig/dss/DSSSignatureRawCodec.java, - gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java, - gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java, - gnu/java/security/sig/rsa/EMSA_PSS.java, - gnu/java/security/sig/rsa/RSA.java, - gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java, - gnu/java/security/sig/rsa/RSAPSSSignature.java, - gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, - gnu/java/security/util/Base64.java, - gnu/java/security/util/ExpirableObject.java, - gnu/java/security/util/Prime2.java, - gnu/java/security/util/Sequence.java, - gnu/java/security/util/SimpleList.java, - gnu/java/security/util/Util.java, - resource/gnu/javax/security/auth/callback/MessagesBundle.properties: - new files imported from GNU Crypto and Jessie. - -2006-01-25 Tom Tromey - - * gnu/java/net/protocol/http/ChunkedInputStream.java (read): - Fixed calculation of number of bytes to read. - (size, count, meta, eof): Document. - -2006-01-25 Anthony Balkissoon - - * java/lang/Character.java: - (codePointCount(char[], int, int)): New API method. - (codePointCount(CharSequence, int, int)): Likewise. - -2006-01-25 Audrius Meskauskas - - PR 25205 - * javax/swing/DefaultCellEditor.java (getTreeCellEditorComponent): - Rewritten. - * javax/swing/JTree.java (stopEditing, cancelEditing): Return without - action if not editing. - * javax/swing/plaf/basic/BasicTreeUI.java - (CellEditorHandler.editingCancelled): Delegate to cancelEditing. - (CellEditorHandler.editingStopped): Delegate to stopEditing. - (EditorUpdateTimer): Removed. - (TreeAction.actionPerformed): Stop and not cancel the current editing - when starting editing another node. - (editorTimer, newVal): Removed. - (cancelEditing): Do not send the cancel message. - (completeEditing): Obtain the edited value from the editor. - (finish): New method. - (paintRow): Do not paint the editing component here. - (startEditing, stopEditing): Rewritten. - * javax/swing/tree/DefaultTreeCellEditor.java - (DefaultTextField): Added SVUID. - (EditorContainer): Rewritten. - (RealEditorListener): New inner class. - (ICON_TEXT_GAP, TREE_ICON_GAP: New constants). - (constructor): Add cell editor listener. Do not instantiate timer. - (actionPerformed): Return without action. - (cancelCellEditing): Rewritten. - (createTreeCellEditor): Add cell editor listener to the editor. - (getCellEditorValue): Request the value from the realEditor. - (isCellEditable): Removed timer management. - (prepareForEditing): Remove all components befor adding the - editingComponent. - (startEditingTimer): Start only if it is not null. - (stopCellEditing): Rewritten. - (stopEditingTimer): New method. - (valueChanged): Do not configure editing component here. - -2006-01-25 Roman Kennke - - * javax/swing/text/html/FormView.java: New file. - -2006-01-25 Roman Kennke - - * javax/swing/JSplitPane.java - (addImpl): Call resetToPreferredSizes() when no dividerLocation - has been set in order to set an initial layout. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Fixed error for - layout of the right component. - (BasicHorizontalLayoutManager.resetToPreferredSizes): Set the - dividerLocation to the size of the left component. - (createDefaultNonContinuousLayoutDivider): Fetch the color from - the UIManager. - (setDividerLocation): Don't validate the location here. Sometimes - the divider needs to be set to an invalid location. - (startDragging): Don't revalidate and repaint here. - (finishDraggingTo): Don't repaint here. Also, don't call - dragDividerTo() here. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added SplitPaneDivider.draggingColor - default value. - -2006-01-25 Roman Kennke - - * javax/swing/JSplitPane.java - (addImpl): Removed invalidate() and layout() call. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (PropertyHandler.propertyChange): Remove layoutContainer() and - repaint() call. - -2006-01-25 Roman Kennke - - * configure.ac - * native/Makefile.am - * native/jni/classpath/Makefile.am - * native/jni/classpath/jcl.c - * native/jni/classpath/jcl.h - * native/jni/classpath/native_state.c - * native/jni/gtk-peer/Makefile.am - * native/jni/java-io/Makefile.am - * native/jni/java-io/java_io_VMFile.c - * native/jni/java-io/java_io_VMObjectStreamClass.c - * native/jni/java-lang/Makefile.am - * native/jni/java-net/Makefile.am - * native/jni/java-net/java_net_VMInetAddress.c - * native/jni/java-net/javanet.c - * native/jni/java-net/javanet.h - * native/jni/java-nio/Makefile.am - * native/jni/java-nio/gnu_java_nio_VMPipe.c - * native/jni/java-nio/gnu_java_nio_VMSelector.c - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - * native/jni/java-util/Makefile.am - * native/jni/java-util/java_util_VMTimeZone.c - * native/jni/midi-dssi/Makefile.am - * native/jni/xmlj/Makefile.am - * native/target/Makefile.am - * native/target/Linux/target_native_math.h - * native/target/Linux/target_native_memory.h - * native/target/Linux/Makefile.am - * native/target/Linux/target_native_io.h - * native/target/Linux/target_native_math_float.h - * native/target/Linux/target_native_math_int.h - * native/target/generic/target_generic.c - * native/target/generic/target_generic_io.c - * native/target/generic/target_generic_math.h - * native/target/generic/target_generic_memory.h - * native/target/generic/target_generic_misc.c - * native/target/generic/target_generic_network.c - * native/target/generic/Makefile.am - * native/target/generic/target_generic.h - * native/target/generic/target_generic_file.h - * native/target/generic/target_generic_io.h - * native/target/generic/target_generic_math_float.h - * native/target/generic/target_generic_math_int.h - * native/target/generic/target_generic_misc.h - * native/target/generic/target_generic_network.h: - Reverted target native related changes back to the state of the - 0.20 release. - * native/target/MinGW/.cvsignore - * native/target/MinGW/Makefile.am - * native/target/MinGW/target_native.h - * native/target/MinGW/target_native_file.h - * native/target/MinGW/target_native_io.h - * native/target/MinGW/target_native_math.h - * native/target/MinGW/target_native_memory.h - * native/target/MinGW/target_native_misc.h - * native/target/MinGW/target_native_network.h - * native/target/RTEMS/.cvsignore - * native/target/RTEMS/Makefile.am - * native/target/RTEMS/target_native.h - * native/target/RTEMS/target_native_file.h - * native/target/RTEMS/target_native_io.h - * native/target/RTEMS/target_native_math.h - * native/target/RTEMS/target_native_memory.h - * native/target/RTEMS/target_native_misc.h - * native/target/RTEMS/target_native_network.h - * native/target/SunOS/.cvsignore - * native/target/SunOS/Makefile.am - * native/target/SunOS/target_native.h - * native/target/SunOS/target_native_file.h - * native/target/SunOS/target_native_io.h - * native/target/SunOS/target_native_math.h - * native/target/SunOS/target_native_memory.h - * native/target/SunOS/target_native_misc.h - * native/target/SunOS/target_native_network.h - * native/target/embOS/.cvsignore - * native/target/embOS/Makefile.am - * native/target/embOS/target_native.h - * native/target/embOS/target_native_file.h - * native/target/embOS/target_native_io.c - * native/target/embOS/target_native_io.h - * native/target/embOS/target_native_math.h - * native/target/embOS/target_native_memory.h - * native/target/embOS/target_native_misc.h - * native/target/embOS/target_native_network.h - * native/target/posix/.cvsignore - * native/target/posix/Makefile.am - * native/target/posix/target_posix.c - * native/target/posix/target_posix.h - * native/target/posix/target_posix_file.c - * native/target/posix/target_posix_file.h - * native/target/posix/target_posix_io.c - * native/target/posix/target_posix_io.h - * native/target/posix/target_posix_math.c - * native/target/posix/target_posix_math.h - * native/target/posix/target_posix_memory.c - * native/target/posix/target_posix_memory.h - * native/target/posix/target_posix_misc.c - * native/target/posix/target_posix_misc.h - * native/target/posix/target_posix_network.c - * native/target/posix/target_posix_network.h: - Removed. - -2006-01-24 Wolfgang Baer - - * javax/print/PrintService.java, - * javax/print/DocPrintJob.java, - * javax/print/CancelablePrintJob.java: - Added and enhanced api documentation for class and methods. - -2006-01-24 Wolfgang Baer - - * javax/print/SimpleDoc.java: Make class final. - * javax/print/attribute/standard/PrinterIsAcceptingJobs.java: Likewise. - * javax/print/attribute/DateTimeSyntax.java: - (toString): New overridden method. - * javax/print/attribute/standard/JobStateReasons.java: - (add): Use the super.add method to avoid recursion. - * javax/print/attribute/standard/PrinterStateReasons.java: - (put): Use the super.put method to avoid recursion. - -2006-01-24 Robert Schuster - - * java/beans/XMLEncoder.java: - (writeExpression): Added early return (fixes PR #25941). - (setExceptionListener, anonymous Class): Removed printStackTrace - call. - * java/beans/Encoder: Removed unused imports. - (setupDefaultPersistenceDelegates): Removed unneccessary - PersistenceDelegates for subclasses. - * java/beans/PersistenceDelegate: - (initialize): Use local variable as first argument as it was - intended once. - * java/beans/DefaultPersistenceDelegate: - (initialize): Added call to superclass' implementation, added - early return. - -2006-01-24 Tom Tromey - - * java/util/regex/PatternSyntaxException.java: Added @since. - * java/util/regex/Matcher.java (Matcher): Implements MatchResult. - * java/util/regex/MatchResult.java: New file. - -2006-01-24 David Gilbert - - * javax/swing/text/StringContent.java: Added API docs all over, plus - minor reformatting. - -2006-01-24 Gary Benson - - * java/net/SocketPermission.java: Implemented serialization. - -2006-01-24 David Gilbert - - * javax/swing/text/StringContent.java - (remove): Modified argument check to prevent removal of last character, - (getChars): Removed null argument check to allow NullPointerException, - added API docs, - (checkLocation): Added API docs and white space. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Should only call createFracture with - StartTagType. Added check. - (insertContentTag): Should use the tags length for splitting. - Also, added a check to determine if current's start and end offset are - equal to the offset and endOffset. If so, only one leaf element - should be added. - (createFracture): Removed FIXME. This function is complete. - (split): Added calls to replace. Changed so the child is - added immediately to the paragraph. Prevents NPEs. - -2006-01-23 Mark Wielaard - - * examples/Makefile.am (EXAMPLE_ZIP): Group cd and commands. - -2006-01-23 Tom Tromey - - * gnu/java/security/x509/X509Certificate.java (parse): - Unconditionally read value; for version==1 case when reading - algorithm ID. - -2006-01-23 Roman Kennke - - * javax/swing/plaf/synth/ColorType.java, - * javax/swing/plaf/synth/Region.java, - * javax/swing/plaf/synth/SynthConstants.java, - * javax/swing/plaf/synth/SynthContext.java - * javax/swing/plaf/synth/SynthGraphicsUtils.java, - * javax/swing/plaf/synth/SynthLookAndFeel.java, - * javax/swing/plaf/synth/SynthPainter.java, - * javax/swing/plaf/synth/SynthStyle.java, - * javax/swing/plaf/synth/SynthStyleFactory.java, - * javax/swing/plaf/synth/package.html: - New files. Added the public API and framework classes for the - Synth look and feel. - -2006-01-23 David Gilbert - - * javax/swing/text/Segment.java: API docs all over. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (split): Should not use createLeafElement and createBranchElement here. - We should just instaniate the LeafElements and BranchElements instead - to avoid the case where create*Element is overridden. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFirstContentTag): Moved check outside of if-statement. - This should be checked before creating the new leaf element. - (insertFracture): Fixed check to prevent an NPE. The previous - leaf should only be recreated if it has been created by - insertFirstContentTag. Also, fixed up code: if the endOffset is - greater than the offset, then we need to create a temp leaf - as a place holder. Otherwise, the leaf elements should be - created normally. - -2006-01-23 Gary Benson - - * java/net/SocketPermission.java: Almost completely rewritten. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFracture): Set temp leaf's attributes to prevent an NPE. - -2006-01-23 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Formatted ElementBuffer and added new fields. - (remove): Added check to determine if length is 0. - (insertFirstContentTag): Initialized firstCreated to the element that is created - by the first tag encountered. Removed check in JoinPreviousDirection case, no - longer needed. In OriginateDirection case, added a loop to remove all old leafs - that have been recreated. - (insertContentTag): Cleaned up code. Removed checks that did not do anything. - (insertFracture): Fixed up code, removed unneeded objects and checks. Added - FIXME tags to the lines that need to be rewritten. - -2006-01-23 Mark Wielaard - - * examples/Makefile.am: Add support for fastjar. - -2006-01-23 Ito Kazumitsu - - * gnu/regexp/REToken.java(empty): Made Cloneable. - * gnu/regexp/RETokenOneOf.java(match): RE.java(match): - Use separate methods matchN and matchP depending on the - boolean negative. - (matchN): New method used when negative. Done as before. - (matchP): New method used when not negative. Each token is - tried not by itself but by a clone of it. - -2006-01-23 Chris Burdess - - Fixes bug #25906 - * gnu/xml/dom/DomCharacterData.java: Use a separate empty node list - class to avoid getLength method contention. - * gnu/xml/stream/SAXParser.java: Rethrow correct exception. - -2006-01-23 Chris Burdess - - * native/jni/java-util/Makefile.am: Include library required - explicitly by BSD systems. - * native/target/generic/target_generic_misc.h: Remove old commented - out code. - * native/target/generic/target_generic_network.h: Fallbacks (to - SO_NOSIGPIPE and then 0) for non-portable glibc MSG_NOSIGNAL. - -2006-01-22 Tom Tromey - - * native/target/posix/.cvsignore: Added .deps. - -2006-01-22 Mark Wielaard - - Fixes bug #25832, - reported by James Damour - * java/awt/Container.java (addImpl): Use empty string as name when - null constraints for LayoutManager.addLayoutComponent(). - -2006-01-22 Chris Burdess - - Fixes bug #25903 - * gnu/xml/dom/DomDocumentBuilder.java: Default to using file URL - representing current directory as base for relative URLs. - -2006-01-22 Ito Kazumitsu - - Fixes bug #25837 - * gnu/regexp/REMatch.java(empty): New boolean indicating - an empty string matched. - * gnu/regexp/RE.java(match): Sets empty flag when an empty - string matched. - (initialize): Support back reference \10, \11, and so on. - (parseInt): renamed from getEscapedChar and returns int. - * gnu/regexp/RETokenRepeated.java(match): Sets empty flag - when an empty string matched. Fixed a bug of the case where - an empty string matched. Added special handling of {0}. - * gnu/regexp/RETokenBackRef.java(match): Sets empty flag - when an empty string matched. Fixed the case insensitive matching. - -2006-01-21 Roman Kennke - - * javax/swing/plaf/metal/MetalSplitPaneDivider.java - (paint): Added painting of border if one is installed. - -2006-01-21 Roman Kennke - - PR classpath/25843: - * javax/swing/plaf/basic/BasicBorders.java - (getSplitPaneDividerBorder): Use new border constructor - without arguments. - (SplitPaneDividerBorder.highlight): Removed unneeded field. - (SplitPaneDividerBorder.shadow): Removed unneeded field. - (SplitPaneDividerBorder()): Changed constructor to do nothing. The - colors are fetched dynamically in the paintBorder method. - (SplitPaneDividerBorder.paintBorder): Fetch colors dynamically from - the look and feel. - (SplitPaneDividerBorder.isBorderOpaque): Returns true - unconditionally. - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Added default for SplitPaneDivider.border. - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (tmpBorder): Removed unneeded inner class. - (BasicSplitPaneDivider): Removed setting of border. - (setSplitPaneUI): Don't add the mouse handler to the splitpane - itself. - * javax/swing/plaf/basic/BasicSplitPaneUI.java - (BasicHorizontalLayoutManager.layoutContainer): Mostly rewritten - to get behaviour right. - (BasicHorizontalLayoutManager.distributeExtraSpace): Removed - implementation. This must be rewritten since the layout now works - slightly different (basically, it shouldn't modify the sizes[] - here but instead the dividerLocation. - (dividerLocation): New field. - (installDefaults): Initialize border on divider. - (uninstallDefaults): Only remove background color and border from - splitPane if they are instances of UIDefaults (== not set by - application). - (setDividerLocation): Set the dividerLocation field instead of - doing stunt acts here. - (getDividerLocation): Return dividerLocation field. - (getMinimumDividerLocation): Fixed calculation of minimum location. - -2006-01-21 Guilhem Lavaux - - * m4/acinclude.m4 - (CLASSPATH_WITH_GLIBJ): Add support for fastjar. - - * lib/Makefile.am: Likewise. - -2006-01-21 Roman Kennke - - * javax/swing/PopupFactory.java - (getPopup): If there is no Swing root found in any way, use a - heavyweight popup. This is useful for mixed Swing/AWT GUIs, or - for the Swing AWT peers. - -2006-01-20 Tom Tromey - - * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): - Read response body for redirect. - -2006-01-20 Chris Burdess - - * gnu/java/net/protocol/http/HTTPURLConnection.java: Don't follow - redirects on 304. - -2006-01-20 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (pad): Removed, not needed. - (printElements): Likewise. - (printEdit): Likewise. - -2006-01-20 Roman Kennke - - * javax/swing/text/DefaultFormatter.java - (DefaultFormatter): Don't set a value class. - -2006-01-19 Audrius Meskauskas - - * javax/swing/DefaultCellEditor.java: Commented. - -2006-01-19 Roman Kennke - - * javax/swing/JOptionPane.java - Added cast to Frame for JDialog constructor. - -2006-01-19 Roman Kennke - - * javax/swing/JWindow.java - (JWindow(Window)): Fixed to accept null owner argument. - (JWindow(Window,GraphicsConfiguration)): Fixed to accept null - owner argument. - * javax/swing/SwingUtilities.java - (getOwnerFrame): Owner parameter and return value are fixed to - be of type Window for compatibity with the above JWindow - constructor. - * javax/swing/JDialog.java - (JDialog): Added cast to Frame to make sure the correct constructor - is called. - * javax/swing/JFileChooser.java - (createDialog): Added cast to Frame for JDialog constructor. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java (rowAtPoint): Rewritten. - -2006-01-19 Roman Kennke - - * javax/swing/JWindow.java: Added API docs to the constructors. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java: Commenting method headers. - (EditorUpdateTimer): Removed. - -2006-01-19 Roman Kennke - - * javax/swing/JDialog.java - (JDialog()): Call SwingUtilities.getOwnerFrame() with null. - (JDialog(Frame,String,boolean,GraphicsConfiguration)): Call - SwingUtilities.getOwnerFrame() with the owner argument. - * javax/swing/JFileChooser.java - (showOpenDialog(Component)): Call pack() on the dialog instead of - setting a fixed height. - (showSaveDialog()): Likewise. - (showDialog()): Likewise. - (createDialog): Call SwingUtilities.getOwnerFrame() with null. - * javax/swing/JOptionPane.java: Call SwingUtilities.getOwnerFrame() - with null. - * javax/swing/JWindow.java - (JWindow()): Call SwingUtilities.getOwnerFrame() with null. - (JWindow(Frame)): Call SwingUtilities.getOwnerFrame() with owner - argument. - * javax/swing/SwingUtilities.java - (getOwnerFrame): Changed to take a owner parameter that is returned - as owner frame when not null. - -2006-01-19 Roman Kennke - - * gnu/java/awt/peer/swing/SwingFramePeer.java - (handleMouseEvent): Fixed handling of mouse events. - (handleMouseMotionEvent): Fixed handling of mouse events. - -2006-01-19 Roman Kennke - - * native/target/generic/target_generic_misc.c: - (targetGenericMisc_formatString): Added missing method. - -2006-01-19 Wolfgang Baer - - * m4/acinclude.m4: Test also for ecj found before exiting configure - with no javac found error message. - -2006-01-19 Ito Kazumitsu - - Fixes bug #23212 - * gnu/regexp/RE.java(initialize): Support escaped characters such as - \0123, \x1B, \u1234. - (getEscapedChar): New method. - (CharExpression): New inner class. - (getCharExpression): New Method. - * gnu/regexp/RESyntax.java(RE_OCTAL_CHAR, RE_HEX_CHAR, - RE_UNICODE_CHAR): New syntax bits. - -2006-01-19 Roman Kennke - - * native/target/Makefile.am: Fixed so that posix stuff is really - only built when requested. - -2006-01-19 Audrius Meskauskas - - * javax/swing/JTable.java (editingStopped, editingCancelled): - Repaint the edited cell. - (setValueAt): Do not add the value object to this container. - (editorTimer, rowBeingEdited, columnBeingEdited, oldCellValue): Removed. - (editingStopped): Use editingRow, editingColumn and not - rowBeingEdited, columnBeingEdited. (editValueAt): rewritten. - (doLayout): Move the editor component, if present, into the new - location and call repaint(). (moveToCellBeingEdited): new method. - (TableTextField): new inner class. - (getDefaultEditor): Instantiante TableTextField, not JTextField. - (setValueAt): Repaint the changed segment. - (createDefaultEditors): Implemented. - (BooleanCellRenderer): Center the checkbox and use the default foreground - and background colors. - * javax/swing/plaf/basic/BasicTableUI.java - (paintCell): Do not paint the caret here. Do not accept unused parameters. - (paint): No need to allocate rectangle for each cell. - * javax/swing/DefaultCellEditor.java: Rewritten. - * examples/gnu/classpath/examples/swing/Demo.java (mkTable): - Use TableDemo.java table example. - * examples/gnu/classpath/examples/swing/TableDemo.java: New file. - -2006-01-19 Roman Kennke - - * configure.ac: Added/fixed --enable-posix-layer option to enable - build of posix layer. - * native/target/Makefile.am: Added build for posix layer. - -2006-01-19 Christian Thalinger - - * configure.ac: Set TARGET to Linux per default. - * native/target/Makefile.am (libtarget_la_LIBADD): Removed - libtargetos.la. - * native/target/Linux/Makefile.am: Don't build a libtargetos.la. - * native/target/generic/Makefile.am (INCLUDES): Renamed to - AM_CPPFLAGS. - -2006-01-19 Raif S. Naffah - - * java/security/interfaces/RSAMultiPrimePrivateCrtKey.java: Replaced - what looked like proprietary documentation with original or new one. - * java/security/spec/PSSParameterSpec.java: Likewise. - * java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java: Likewise. - * java/security/spec/RSAOtherPrimeInfo.java: Likewise. - * java/security/AlgorithmParameterGenerator.java: Likewise. - * java/security/AlgorithmParameters.java: Likewise. - * java/security/Identity.java: Likewise. - * java/security/IdentityScope.java: Likewise. - * java/security/KeyFactory.java: Likewise. - * java/security/KeyPairGenerator.java: Likewise. - * java/security/MessageDigest.java: Likewise. - * java/security/Policy.java: Likewise. - * java/security/ProtectionDomain.java: Likewise. - * java/security/Security.java: Likewise. - * java/security/Signature.java: Likewise. - * java/security/SignatureSpi.java: Likewise. - * java/security/SignedObject.java: Likewise. - * java/security/Signer.java: Likewise. - -2006-01-18 Roman Kennke - - * configure.ac: Added --enable-posix-layer option to enable - build of the posix target layer. - -2006-01-18 Roman Kennke - - * native/jni/java-net/java_net_VMInetAddress.c - (Java_java_net_VMInetAddress_lookupInaddrAny): Use target native macro - for INADDR_ANY. - -2006-01-18 Roman Kennke - - * native/jni/java-util/java_util_VMTimeZone.c: - (Java_java_util_VMTimeZone_getSystemTimeZoneId): Rewritten - to use target native layer. - (jint_to_charbuf): Removed unneeded helper function. - -2006-01-18 Roman Kennke - - * native/jni/java-nio/gnu_java_nio_VMPipe.c: - Removed unnecessary include. - * native/jni/java-nio/gnu_java_nio_VMSelector.c: - Reorganized includes to only include sys/* headers when available. - * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: - (get_pagesize): Return 0 when nothing else works. - (Java_java_nio_MappedByteBufferImpl_unmapImpl): - Replaced munmap() and strerror() with corresponding target macros. - (Java_java_nio_MappedByteBufferImpl_isLoadedImpl): - Replaced strerror() with corresponding target macro. - (Java_java_nio_MappedByteBufferImpl_forceImpl): - Replaced strerror() with corresponding target macro. - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c: - (Java_java_nio_VMDirectByteBuffer_allocate): - Replaced malloc() with the corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_free): - Replaced free() with the corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2IB): - Add index to pointer when assigning the value. - (Java_java_nio_VMDirectByteBuffer_get__Lgnu_classpath_Pointer_2I_3BII): - Replaced memcpy with corresponding target macro. Add index when - doing the memcpy, not when fetching the pointer. - (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2I_3BII): - Replaced memcpy with corresponding target macro. - (Java_java_nio_VMDirectByteBuffer_shiftDown): - Replaced memmove with the corresponding target macro. - -2006-01-17 Tom Tromey - - PR classpath/20198: - * java/net/URLClassLoader.java (FileURLLoader): Added argument. - (JarURLLoader): Likewise. - (addURLImpl): Canonicalize file URLs. - -2006-01-17 Christian Thalinger - - * configure.ac: Set TARGET. - * native/Makefile.am, native/jni/classpath/Makefile.am, - native/jni/gtk-peer/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/midi-dssi/Makefile.am, - native/jni/xmlj/Makefile.am, native/target/Makefile.am, - native/target/Linux/Makefile.am, - native/target/generic/Makefile.am, - native/target/posix/Makefile.am: Build libclasspath.so with jcl - and target stuff linked in and link it against lib*.so libraries. - -2006-01-17 Roman Kennke - - * native/jni/java-net/javanet.c: - (_javanet_connect): Changed type of some local variables to jint. - Fixed error handling to throw a SocketTimeoutException if the - connection attempt times out. - (_javanet_bind): Changed type of some local variables to jint. - (_javanet_accept): Likewise. - (_javanet_recvfrom): Likewise. - (_javanet_sendto): Fixed error handling to throw a - PortUnreachableException when connection is refused. - (_javanet_get_option): Changed type of some local variables to jint. - Implemented SOCKOPT_SO_BROADCAST. - (_javanet_shutdownInput): Replaced shutdown call with corresponding - target native macro. - (_javanet_shutdownOutput): Replaced shutdown call with corresponding - target native macro. - * native/jni/java-net/javanet.h: - Defined SOCKET_TIMEOUT_EXCEPTION, PORT_UNREACHABLE_EXCEPTION and - SOCKOPT_SO_BROADCAST. - -2006-01-17 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insert): Cleaned up loop. No need to make so many calls - to getAddedElements and getRemovedElements. - (insertFracture): Removed unneeded array. - -2006-01-17 Lillian Angel - - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Implemented. - (getCaretPosition): Implemented. - (getSelectedText): Implemented. - (getSelectionStart): Implemented. - (getSelectionEnd): Implemented. - (getSelectionEnd): Implemented. - (getCharCount): Implemented. - (insertTextAtIndex): Implemented. - (getTextRange): Implemented. - (delete): Implemented. - (cut): Implemented. - (paste): Implemented. - (replaceText): Implemented. - (selectText): Implemented. - -2006-01-17 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (pad): New debugging method. - (printElements): Likewise. - (printPendingEdits): Likewise. - (printElement): Likewise. - (Edit): Improved docs, moved this class to be an inner class of - ElementBuffer since it only applies within that scope. Changed added - and removed to be Vectors instead of arrays because we need to be able - to add to them after construction. - (ElementBuffer): Updated docs with link to article that helped in this - classes implementation. - (ElementBuffer.Edit.getRemovedElements): New method. - (ElementBuffer.Edit.getAddedElements): Likewise. - (ElementBuffer.Edit.addRemovedElement): Likewise. - (ElementBuffer.Edit.addRemovedElements): Likewise. - (ElementBuffer.Edit.addAddedElement): Likewise. - (ElementBuffer.Edit.addAddedElements): Likewise. - (ElementBuffer.Edit): Improved docs, call addRemovedElements and - addAddedElements. - (ElementBuffer.getEditForParagraphAndIndex): New method. - (ElementBuffer.removeUpdate): Changed type of paragraph to - BranchElement. Corrected style of adding the edit to use the new Edit - facilities. - (ElementBuffer.changeUpdate): Changed style of adding the edit to use - the new Edit facilities. - (ElementBuffer.split): Likewise. - (ElementBuffer.insertParagraph): Likewise. - (ElementBuffer.insertContentTag): Likewise. - (ElementBuffer.insert): Push all BranchElements until the deepest one, - not just the root and the first one. Apply the structural changes to - the tree at the same time as updating the DocumentEvent. - (ElementBuffer.insertUpdate): Fixed docs. Removed the special case - handling of EndTags as the first ElementSpec. Instead have to handle - ContentTags as a special case if they are the first ElementSpec and if - not have to fracture the tree. - (ElementBuffer.createFracture): New method. May not be complete yet. - Added FIXME indicating what may remain to be done. - (ElementBuffer.insertFirstContentTag): New method. - (ElementBuffer.insertFracture): Added FIXME explaining what remains to - be done. Changed the adding of edits to use the new Edit facilities. - Removed the adding of edits for Elements that weren't in the tree prior - to the insertion. - (insertUpdate): Removed incorrect condition for setting a StartTag's - direction to JoinNextDirection. - * javax/swing/text/StyleContent.java: - (SmallAttributeSet.toString): Fixed an off-by-one error in the loop - that was causing an ArrayOutOfBoundsException. - -2006-01-17 Roman Kennke - - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - (Java_gnu_java_nio_channels_FileChannelImpl_init): Improved - exception messages a little. - (Java_gnu_java_nio_channels_FileChannelImpl_open): Provided - alternative implementation for systems without filesystems. - Replaced snprintf with the corresponding target native macro. - (Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_available): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_size): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_implPosition): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_seek): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_implTruncate): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_mapImpl): Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_read__): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_read___3BII): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_write__I): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_force): - Only do something when we have a filesystem. - (Java_gnu_java_nio_channels_FileChannelImpl_write___3BII): - Replaced ssize_t variables with jint. Provided - alternative implementation for systems without filesystems. - (Java_gnu_java_nio_channels_FileChannelImpl_lock): Reimplemented - to use the corresponding target native macro. - (Java_gnu_java_nio_channels_FileChannelImpl_unlock): Reimplemented - to use the corresponding target native macro. - -2006-01-17 Lillian Angel - - * javax/swing/text/DefaultTextUI.java: - Added deprecated tag. - * javax/swing/text/JTextComponent.java - (AccessibleJTextComponent): Fixed API doc and - partiall9 implemented. - (getCaretPosition): Fixed API doc and implemented. - (getSelectedText): Fixed API doc. - (getSelectionStart): Likewise. - (getSelectionEnd): Likewise. - (caretUpdate): Fixed API doc and - partially implemented. - (getAccessibleStateSet): Likewise. - (getAccessibleRole): Fixed API doc and implemented. - (getAccessibleEditableText): Implemented. - (getAccessibleText): Fixed API doc and implemented. - (insertUpdate): Fixed API doc. - (changedUpdate): Likewise. - (getIndexAtPoint): Likewise. - (getRootEditorRect): Removed. - (getCharacterBounds): Fixed API doc. - (getCharCount): Likewise. - (getCharacterAttribute): Likewise. - (getAtIndex): Likewise. - (getAfterIndex): Likewise. - (getBeforeIndex): Likewise. - (getAccessibleActionCount): Added function stub. - (getAccessibleActionDescription): Added function, - partially implemented. - (doAccessibleAction): Added function stub. - (setTextContents): Likewise. - (insertTextAtIndex): Likewise. - (delete): Likewise. - (cut): Likewise. - (paste): Likewise. - (replaceText): Likewise. - (selectText): Likewise. - (setAttributes): Likewise. - (getAccessibleContext): Implemented. - -2006-01-17 Ito Kazumitsu - - Fixes bug #25817 - * gnu/regexp/RETokenRange.java(constructor): - Keep lo and hi as they are. - (match): Changed the case insensitive comparison. - -2006-01-17 Ito Kazumitsu - - * gnu/regexp/RETokenChar.java(chain): - Do not concatenate tokens whose insens flags are diffent. - -2006-01-17 Roman Kennke - - * native/target/generic/target_generic_network.c: - (targetGenericNetwork_receive): Fixed signature to match the - corresponding .h file. - (targetGenericNetwork_receiveWithAddressPort): Fixed signature - to match the corresponding .h file. - -2006-01-17 Roman Kennke - - * native/jni/classpath/jcl.c: - (JCL_malloc): Replaced calls to malloc with the corresponding - target layer macro. - (JCL_free): Replaced calls to free with the corresponding - target layer macro. - * native/jni/classpath/native_state.c: - (cp_gtk_init_state_table_with_size): Replaced calls to malloc and - calloc with the corresponding target layer macro. - (remove_node): Replaced calls to free with the corresponding - target layer macro. - (add_node): Replaced calls to malloc with the corresponding - target layer macro. - -2006-01-17 Roman Kennke - - * native/jni/java-io/java_io_VMObjectStreamClass.c: - (getFieldReference): Use MALLOC/FREE macros for portability instead - of direct call to malloc() and free(). - -2006-01-17 Roman Kennke - - * native/jni/classpath/jcl.c: Added missing imports. - (JCL_realloc): Fixed signature to include oldsize. This is needed - for some targets. Make this function use the MEMORY_REALLOC macro - for portability. - * native/jni/classpath/jcl.h - (JCL_realloc): Adjusted signature. - * native/jni/java-io/java_io_VMFile.c: - (Java_java_io_VMFile_create): Use target layer macro for handling - errno, for portability. - (Java_java_io_VMFile_length): Release filename string in error cases - before returning. - (Java_java_io_VMFile_list): Initialize filename variable. Use new - version of JCL_realloc. - * native/jni/java-net/java_net_VMInetAddress.c: - (Java_java_net_VMInetAddress_getHostByName): Use renamed macro - TARGET_NATIVE_NETWORK_GET_HOSTADDRESS_BY_NAME. - * native/jni/java-net/javanet.c: - (_javanet_bind): Make errorstr variable const to avoid compiler - warning. - (_javanet_set_option): Fixed typo. - (_javanet_get_option): Fixed typo. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - (Java_gnu_java_nio_channels_FileChannelImpl_open): Made - error_string variable const to avoid compiler warning. - * native/target/generic/target_generic_file.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - Added some spaces to make code better readable. - * native/target/generic/target_generic_memory.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - * native/target/generic/target_generic_misc.c: - Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused - compiler warnings due to use of varargs. - * native/target/generic/target_generic_misc.h: - Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused - compiler warnings due to use of varargs. - * native/target/generic/target_generic_network.h: - Replaced // comments with /* */ comments to avoid compiler warnings. - (targetGenericNetwork_receive): Fixed signature to use signed chars - for buffer parameter to avoid warning when passing a jbyte to the - function. - -2006-01-17 David Gilbert - - * javax/swing/text/StyleConstants.java - (getAlignment): Removed isDefined() check, so that resolving parent is - used for lookup, - (getBackground): Likewise, plus changed default value to Color.BLACK, - (getBidiLevel): Removed isDefined() check, - (getComponent): Likewise, - (getFirstLineIndent): Likewise, - (getFontFamily): Likewise, - (getFontSize): Likewise, - (getForeground): Likewise, - (getIcon): Likewise, - (getLeftIndent): Likewise, - (getLineSpacing): Likewise, - (getRightIndent): Likewise, - (getSpaceAbove): Likewise, - (getSpaceBelow): Likewise, - (getTabSet): Likewise, - (isBold): Likewise, - (isItalic): Likewise, - (isStrikeThrough): Likewise, - (isSubscript): Likewise, - (isSuperscript): Likewise, - (isUnderline): Likewise. - -2006-01-17 Gary Benson - - * java/lang/System.java (setSecurityManager): Catch - ClassNotFoundException not Throwable. - -2006-01-16 Anthony Green - - PR classpath/25803 - * gnu/java/net/protocol/http/Request.java - (createResponseBodyStream): Remove Content-Encoding for - compressed streams. - -2006-01-16 Chris Burdess - - * gnu/xml/stream/XMLParser.java, - gnu/xml/stream/XMLStreamWriterImpl.java: Thoroughly check - XMLStreamWriter arguments for conformance to the XML specifications. - * gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/Template.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/xpath/LangFunction.java, - gnu/xml/xpath/Selector.java: better handling of template priorities; - fix indents when pretty-printing; recursive tests for xml:lang. - * gnu/xml/util/XHTMLWriter.java, - gnu/xml/util/XMLWriter.java: Deprecate old serializer classes. - -2006-01-16 Roman Kennke - - * native/target/MinGW/.cvsignore: New file. - * native/target/RTEMS/.cvsignore: New file. - * native/target/SunOS/.cvsignore: New file. - * native/target/embOS/.cvsignore: New file. - * native/target/posix/.cvsignore: New file. - -2006-01-16 David Gilbert - - * javax/swing/text/StyleConstants.java: Updated API docs all over. - -2006-01-16 Roman Kennke - - * configure.ac: Include new target native directories in build. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_file.h: Added missing - include. - * native/target/generic/target_generic_network.c: Fixed several - typos and includes. - * native/target/generic/target_generic_network.h: Likewise. - -2006-01-16 Roman Kennke - - * native/target/Makefile.am: Adjusted SUBDIRS and DIST_SUBDIRS - to include the new targets. - * native/target/posix/Makefile.am: Fixed filenames. - -2006-01-16 Roman Kennke - - * native/target/Makefile.am: Include new targets. - * native/target/Linux/Makefile.am: Include new memory layer. - * native/target/MinGW/Makefile.am: New file. Includes MinGW in dist. - * native/target/RTEMS/Makefile.am: New file. Includes RTEMS in dist. - * native/target/SunOS/Makefile.am: New file. Includes SunOS in dist. - * native/target/embOS/Makefile.am: New file. Includes embOS in dist. - * native/target/generic/Makefile.am: Include new memory and math - layer. - * native/target/posix/Makefile.am: New file. Includes posix in dist. - -2006-01-16 Ito Kazumitsu - - Fixes bug #22884 - * gnu/regexp/RE.java(initialize): Parse embedded flags. - * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_network.c: Fixed typo. - * native/target/generic/target_generic_network.h: Fixed typo. - -2006-01-16 Nicolas Geoffray - - * doc/vmintegration.texinfo: Updated subsection of the - java.lang.InstrumentationImpl documentation. - -2006-01-16 Roman Kennke - - * native/target/RTEMS/target_native.h, - * native/target/RTEMS/target_native_file.h, - * native/target/RTEMS/target_native_io.h, - * native/target/RTEMS/target_native_math.h, - * native/target/RTEMS/target_native_memory.h, - * native/target/RTEMS/target_native_misc.h, - * native/target/RTEMS/target_native_network.h: - New files. Implement the target native layer for the RTEMS platform. - -2006-01-16 Roman Kennke - - * native/target/SunOS/target_native.h, - * native/target/SunOS/target_native_file.h, - * native/target/SunOS/target_native_io.h, - * native/target/SunOS/target_native_math.h, - * native/target/SunOS/target_native_memory.h, - * native/target/SunOS/target_native_misc.h, - * native/target/SunOS/target_native_network.h: - New files. Implement the target native layer for the SunOS platform. - -2006-01-16 Roman Kennke - - * native/target/MinGW/target_native.h, - * native/target/MinGW/target_native_file.h, - * native/target/MinGW/target_native_io.h, - * native/target/MinGW/target_native_math.h, - * native/target/MinGW/target_native_memory.h, - * native/target/MinGW/target_native_misc.h, - * native/target/MinGW/target_native_network.h: - New files. Implement the target native layer for the MinGW - platform. - -2006-01-16 Audrius Meskauskas - - PR 25770 - * javax/swing/DefaultCellEditor.java - (delegate): Assign new instance immediately. - (DefaultCellEditor(JTextField textfield)): Require 2 clicks. - (getTableCellEditorComponent): Rewritten. - (prepareAsJTextField):New method (add listener only once). - * javax/swing/JTable.java - (editingCanceled): Rewritten. - (editingStopped ): Rewritten. - (rowAtPoint): Mind row margin. - (getCellRect): Mind row margin. - (getDefaultEditor): Removing JTextComponent border. - (editCellAt): Rewritten. - * javax/swing/plaf/basic/BasicTableUI.java (MouseInputHandler): - Activate editing mode by the mouse clicks. - (getMaximumSize): Mind row margin. - (getPreferredSize): Mind row margin. - (TableAction): Added 'stop editing' command. - -2006-01-16 Roman Kennke - - * jni/java-io/java_io_VMFile.c - (Java_java_io_VMFile_list): Use new 4 argument version of - TARGET_NATIVE_FILE_READ_DIR macro. - * target/Linux/target_native_io.h: Fixed comment at #endif. - * target/Linux/target_native_memory.h: New file. Contains - portability macros for memory operations. - * target/generic/target_generic.c: New file. Contains some functions - for portability. - * target/generic/target_generic.h: Use posix target and shorter macro - names if CP_NEW is set. - * target/generic/target_generic_file.h: Use posix target and shorter - macro names if CP_NEW is set. - (TARGET_NATIVE_FILE_READ_DIR): New parameter for maxNameLength. - * target/generic/target_generic_io.c: New file. Contains some - functions for IO portability. - * target/generic/target_generic_io.h: Use posix target and shorter - macro names if CP_NEW is set. - * target/generic/target_generic_misc.c: New file. Contains some - functions for miscallaneaous portability issues. - * target/generic/target_generic_misc.h: Use posix target and shorter - macro names if CP_NEW is set. - * target/generic/target_generic_network.c: New file. Contains some - functions for networking portability. - * target/generic/target_generic_network.h: Use posix target and - shorter macro names if CP_NEW is set. - * target/posix/Makefile.am, - * target/posix/target_posix.c, - * target/posix/target_posix.h, - * target/posix/target_posix_file.c, - * target/posix/target_posix_file.h, - * target/posix/target_posix_io.c, - * target/posix/target_posix_io.h, - * target/posix/target_posix_math.c, - * target/posix/target_posix_math.h, - * target/posix/target_posix_memory.c, - * target/posix/target_posix_memory.h, - * target/posix/target_posix_misc.c, - * target/posix/target_posix_misc.h, - * target/posix/target_posix_network.c, - * target/posix/target_posix_network.h: - New files. This implements the target native layer macros for - Posix-like systems. - -2006-01-16 Gary Benson - - * java/net/SocketPermission.java (implies): Fix action checks. - -2006-01-16 Roman Kennke - - * native/target/generic/target_generic_math_float.h: Removed. This - file has been replaced by target_generic_math.h. - * native/target/generic/target_generic_math_int.h: Removed. This - file has been replaced by target_generic_math.h. - * native/target/generic/target_generic_math.h: New file. Replaces - the old _int and _float versions. - * native/target/Linux/target_native_math_float.h: Removed. This - file has been replaced by target_native_math.h. - * native/target/Linux/target_native_math_int.h: Removed. This - file has been replaced by target_native_math.h. - * native/target/Linux/target_native_math.h: New file. Replaces - the old _int and _float versions. - * native/target/Linux/Makefile.am: Adjusted for the changed - filenames. - * native/jni/java-io/java_io_VMFile.c: Include target_native_math.h - instead of target_native_math_int.h. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: - Likewise. - * native/target/generic/target_generic_file.h: Likewise. - -2006-01-16 David Gilbert - - * javax/swing/text/MutableAttributeSet.java: Updated API docs all over. - -2006-01-16 David Gilbert - - * javax/swing/text/SimpleAttributeSet.java - (SimpleAttributeSet()): Initialise storage directly, - (SimpleAttributeSet(AttributeSet)): Removed null check and documented - NullPointerException, - (containsAttribute): If key is found locally, don't check resolving - parent if the value doesn't match, - (getAttribute): Removed redundant instanceof and cast. - -2006-01-16 Gary Benson - - * java/lang/System.java (setSecurityManager): Ensure policy - files are loaded before a security manager is put in place. - -2006-01-16 David Gilbert - - * javax/swing/text/SimpleAttributeSet.java: Updated API docs all over. - -2006-01-16 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (static_initializer): Added comment. - (MediaSize): Added javadoc to mention cache registration. - (MediaSize): Likewise. - (MediaSize): Likewise. - (MediaSize): Likewise. - -2006-01-16 Raif S. Naffah - - PR classpath/25202 - * gnu/javax/security/auth/login/ConfigFileTokenizer.java: New class. - * gnu/javax/security/auth/login/ConfigFileParser.java: New class. - * gnu/javax/security/auth/login/GnuConfiguration.java: New class. - * javax/security/auth/login/AppConfigurationEntry.java: Updated - copyright year. - (toString): Added method implementation. - (LoginModuleControlFlag.toString): Removed class name from result. - * javax/security/auth/login/Configuration.java: Updated copyright year. - (getConfig(): replaced calls to NullConfiguration with - GnuConfiguration. - -2006-01-15 Tom Tromey - - * javax/swing/text/html/HTMLDocument.java (parseBuffer): Genericized. - * javax/swing/text/StyleContext.java (removeAttributes): Genericized. - * java/beans/PersistenceDelegate.java (initialize): Genericized. - * java/beans/Encoder.java (getPersistenceDelegate): Genericized. - (setPersistenceDelegate): Likewise. - -2006-01-15 Wolfgang Baer - - * javax/print/attribute/standard/PrinterStateReasons.java: - (printerStateReasonSet): Genericize the return type. - -2006-01-15 Audrius Meskauskas - - * javax/swing/table/DefaultTableCellRenderer.java - (getTableCellRendererComponent): Render null as the empty cell. - -2006-01-14 Anthony Green - - * java/net/ServerSocket.java (accept): Remove bogus - security check. - (implAccept): Add FIXME comment. - -2006-01-14 Wolfgang Baer - - Fixes bug #25387 - * javax/print/Doc.java: Added and enhanced documentation. - * javax/print/SimpleDoc.java: New file. - -2006-01-14 Wolfgang Baer - - * javax/print/attribute/standard/MediaSize.java: - (Other.TABLOID): New MediaSize added in 1.5 - -2006-01-14 Chris Burdess - - * gnu/xml/stream/SAXParser.java: Ensure that parser is reset - correctly when I/O and runtime exceptions occur during parsing. - -2006-01-13 Roman Kennke - - * gnu/java/awt/peer/swing/SwingButtonPeer.java, - * gnu/java/awt/peer/swing/SwingCanvasPeer.java, - * gnu/java/awt/peer/swing/SwingComponent.java, - * gnu/java/awt/peer/swing/SwingComponentPeer.java, - * gnu/java/awt/peer/swing/SwingContainerPeer.java, - * gnu/java/awt/peer/swing/SwingFramePeer.java, - * gnu/java/awt/peer/swing/SwingLabelPeer.java, - * gnu/java/awt/peer/swing/SwingMenuBarPeer.java, - * gnu/java/awt/peer/swing/SwingMenuItemPeer.java, - * gnu/java/awt/peer/swing/SwingMenuPeer.java, - * gnu/java/awt/peer/swing/SwingPanelPeer.java, - * gnu/java/awt/peer/swing/SwingTextFieldPeer.java, - * gnu/java/awt/peer/swing/SwingToolkit.java, - * gnu/java/awt/peer/swing/SwingWindowPeer.java, - * gnu/java/awt/peer/swing/package.html: - New files. Implemented some basic AWT peers based on Swing. - -2006-01-13 Roman Kennke - - * java/awt/peer/ComponentPeer.java: Added API docs all over. - -2006-01-13 Roman Kennke - - * java/awt/MenuComponent.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/Frame.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java - (accessibleContext): Removed unnecessary field. This is already - defined in MenuComponent. - (setHelpMenu): Renamed the peer variable to myPeer because it was - hiding a field of MenuComponent. - (addNotify): Removed unnecessary cast. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java: Reformatted to better match our - coding style. - -2006-01-13 Roman Kennke - - * java/awt/MenuBar.java - (frame): New field. - (removeNotify): Clear frame field when beeing removed from the - frame. - * java/awt/Frame.java - (setMenuBar): Store a reference of the frame in the MenuBar. - * java/awt/MenuComponent.java - (postEvent): Implemented to forward the call to the parent until - a parent can handle the event. - (dispatchEvent): Moved handling of old style events from - dispatchEventImpl() to here. - (dispatchEventImpl): Moved handling of old style events to - dispatchEvent(). - -2006-01-13 Roman Kennke - - * java/awt/Component.java - (dispatchEvent): Moved handling of old style events from - dispatchEventImpl() to this method. - (translateEvent): Removed unnecessary cast. - (dispatchEventImpl): Moved handling of old style events to - dispatchEvent(). - -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (createDefaultRoot): Removed FIXME. - (setLogicalStyle): Added fireUndoableEditUpdate call and - removed FIXME. - -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (Edit): New inner class. - (changeUpdate): Changed addEdit call to add a new - instance of Edit to the edits Vector, so addEdits can - be done later. - (split): Likewise. - (insertParagraph): Likewise. - (insertFracture): Likewise. - (insertContentTag): Likewise. - (insert): Added loop to go through edits Vector and perform - addEdit on each object. - -2006-01-13 Chris Burdess - - * gnu/xml/transform/AbstractNumberNode.java, - gnu/xml/transform/ApplyImportsNode.java, - gnu/xml/transform/ApplyTemplatesNode.java, - gnu/xml/transform/AttributeNode.java, - gnu/xml/transform/CallTemplateNode.java, - gnu/xml/transform/ChooseNode.java, - gnu/xml/transform/CommentNode.java, - gnu/xml/transform/CopyNode.java, - gnu/xml/transform/CopyOfNode.java, - gnu/xml/transform/DocumentFunction.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/ForEachNode.java, - gnu/xml/transform/IfNode.java, - gnu/xml/transform/LiteralNode.java, - gnu/xml/transform/MessageNode.java, - gnu/xml/transform/OtherwiseNode.java, - gnu/xml/transform/ParameterNode.java, - gnu/xml/transform/ProcessingInstructionNode.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/Template.java, - gnu/xml/transform/TemplateNode.java, - gnu/xml/transform/TextNode.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/transform/ValueOfNode.java, - gnu/xml/transform/WhenNode.java, - gnu/xml/xpath/NodeTypeTest.java, - gnu/xml/xpath/Selector.java: simplified debugging output; ignore - with-param parameters when template does not define parameters; apply - conflict resolution for templates; strip whitespace on documents - retrieved via document() function; allow node() to match document - nodes. - -2006-01-13 Mark Wielaard - - * doc/www.gnu.org/announce/20060113.wml: New file. - * doc/www.gnu.org/newsitems.txt: Add 0.20 release announcement. - * doc/www.gnu.org/downloads/downloads.wml: Add 0.20. - -2006-01-13 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java: - Removed unused fields. - (insert): Removed unused fields. - (endEdit): Removed, not needed. - (insertUpdate): Removed call to endEdit. - (prepareContentInsertion): Removed, not needed. - (insertContentTag): Removed call to prepareContentInsertion. - (printElements): Removed, not needed. - (attributeSetsAreSame): Removed, not needed. - -2005-01-13 Mark Wielaard - - * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): - Duplicate of toString(int, StringBuilder). - -2005-01-13 Mark Wielaard - - * configure.ac: Set version to 0.20. - * NEWS: Add entries for all the new work done. - -2005-01-13 Mark Wielaard - - * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. - -2005-01-13 Mark Wielaard - - * java/util/regex/Pattern.java (Pattern): Chain REException. - -2006-01-13 Chris Burdess - - * gnu/xml/xpath/NameTest.java: Removed debugging output. - -2005-01-13 Jeroen Frijters - - * java/security/Security.java - (getProperty): Added hack to skip security check when trusted - code is direct caller. - -2005-01-13 Jeroen Frijters - - * java/io/PrintStream.java - (line_separator, PrintStream(OutputStream,boolean)): Use - SystemProperties. - -2005-01-13 Jeroen Frijters - - * gnu/java/nio/charset/Provider.java: Added comment about its - special relation with CharsetProvider. - (static): Removed. - * gnu/java/nio/charset/iconv/IconvProvider.java: Added comment about - its special relation with CharsetProvider. - (static): Removed. - * java/nio/charset/spi/CharsetProvider.java - (CharsetProvider): Add special case to skip security check for - built in providers. - -2005-01-13 Mark Wielaard - - * javax/swing/JMenuItem.java (JMenuItem(Action)): Check whether - name, accel, mnemonic and command are defined before setting. - -2005-01-12 Mark Wielaard - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (FileRenderer.getListCellRendererComponent): Set empty name and null - icon when File is null. - -2006-01-13 Audrius Meskauskas - - * gnu/java/rmi/server/UnicastRef.java (newCall): - Throw ConnectException after catching IOException. - -2006-01-12 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Removed unneeded check. - -2006-01-12 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertContentTag): If the direction is JoinNextDirection - and we haven't come immediately after a fracture, adjust the Element - offsets. Added comment explaining the situation. - (insert): Return early if no ElementSpecs passed in. Removed redundant - call to insertUpdate. Fired the UndoableEditUpdate. - -2006-01-12 Ito Kazumitsu - - Fixes bug #22802 - * gnu/regexp/RE.java(initialize): Fixed the parsing of - character classes within a subexpression. - -2006-12-12 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertUpdate): Added check to check if attribute set is - empty. - (insertUpdate): Added check to determine if last character - is a newline. If it is, we should not be fracturing. - (insert): Added check to determine if attribute set is empty. - If it is, insertUpdate should not be called. - -2006-12-12 Guilhem Lavaux - - * configure.ac: Check for isnan. - - * native/fdlibm/fdlibm.h: If we have a isnan function then do not - define the macro. - -2006-01-12 Chris Burdess - - * gnu/xml/stream/XMLParser.java: Corrected the handling of some XML - 1.1 character ranges. - -2006-01-12 Anthony Balkissoon - - * javax/swing/TransferHandler.java: - (TransferAction): Call super constructor. Fixes Mauve regression - gnu/testlet/javax/swing/JTextField/CopyPaste. - -2006-01-12 Christian Thalinger - - * resource/Makefile.am: Install - logging.properties into $(prefix)/lib. - * resource/Makefile.am (securitydir): Changed to - $(prefix)/lib/security. - -2006-01-12 Roman Kennke - - * javax/swing/JTextField.java - (createDefaultModel): Moved installation of the filterNewlines - property to setDocument(). - (setDocument): New method. Installs the filterNewlines property - on the document. - -2006-01-12 Chris Burdess - - * gnu/xml/dom/DomNode.java, - gnu/xml/transform/ElementAvailableFunction.java: Removed debugging - output. - * gnu/xml/xpath/NameTest.java, - gnu/xml/xpath/NamespaceTest.java, - gnu/xml/xpath/Selector.java: Fix regression for namespace axis - navigation. - * gnu/xml/transform/MessageNode.java: Use standard logging system - for outputting messages. - -2006-01-12 Tom Tromey - - * java/net/InetAddress.java (DEFAULT_CACHE_SIZE): Removed. - (DEFAULT_CACHE_PERIOD, DEFAULT_CACHE_PURGE_PCT): Likewise. - (cache_size, cache_period, cache_purge_pct, cache): Likewise. - (static initializer): Removed cache code. - (checkCacheFor, addToCache): Removed. - (getAllByName): Removed cache code. - (lookup_time): Removed. - (InetAddress): Updated. - -2006-01-12 Chris Burdess - - * gnu/xml/dom/DomDocument.java, - gnu/xml/dom/DomElement.java, - gnu/xml/dom/DomNode.java, - gnu/xml/stream/XMLParser.java, - gnu/xml/transform/Bindings.java, - gnu/xml/transform/ElementAvailableFunction.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/FunctionAvailableFunction.java, - gnu/xml/transform/NamespaceProxy.java, - gnu/xml/transform/StreamSerializer.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/xpath/Selector.java: Implement isEqualNode correctly for - document and element nodes; correct coalescing semantics when parsing; - attribute-sets can only refer to top-level variables and parameters; - fix namespace retrieval during element-available and - function-available functions; implement xsl:fallback for extension - elements; tokenize whitespace correctly during whitespace stripping; - correct following and previous node axes selectors. - -2006-01-12 Roman Kennke - - * java/util/Hashtable.java - (KeyEnumerator.nextElement): Added null check to avoid NPE. - (ValueEnumerator.nextElement): Added null check to avoid NPE. - -2006-01-12 Lillian Angel - - * javax/swing/text/GapContent.java - (UndoInsertString): Changed name of class to InsertUndo to match the JDK. - -2006-01-12 Mark Wielaard - - * vm/reference/gnu/java/net/VMPlainSocketImpl.java (connect): - Throw UnknowHostException when name could not be resolved. - -2006-01-12 Jeroen Frijters - - * java/net/URL.java - (static, getURLStreamHandler): Use SystemProperties. - -2006-01-12 Mark Wielaard - - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java (receive): - Use packet.getLength(). - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (nativeReceive): Check whether the receiver wants zero bytes. - -2006-01-12 Mark Wielaard - - * native/jni/java-net/javanet.c (_javanet_recvfrom): Return -1 when - other side orderly closed connection. - * vm/reference/gnu/java/net/VMPlainSocketImpl.java - (read(PlainSocketImpl)): Mask byte to return unsigned int. Return -1 - when end of stream reached. - -2006-01-12 Mark Wielaard - - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Remove asserts. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Likewise. - * native/jni/java-net/java_net_VMInetAddress.c: Likewise. - * native/jni/java-net/java_net_VMNetworkInterface.c: Likewise. - * native/jni/java-net/javanet.c: Likewise. - -2006-01-12 Mark Wielaard - - * native/fdlibm/mprec.c (Balloc): Disable assert to workaround - PR classpath/23863. - -2006-01-11 Chris Burdess - - * gnu/xml/transform/AttributeNode.java, - gnu/xml/transform/ElementNode.java, - gnu/xml/transform/LiteralNode.java, - gnu/xml/transform/StreamSerializer.java, - gnu/xml/transform/StrippingInstruction.java, - gnu/xml/transform/Stylesheet.java, - gnu/xml/transform/TransformerImpl.java, - gnu/xml/transform/ValueOfNode.java, - gnu/xml/xpath/Expr.java, - gnu/xml/xpath/LocalNameFunction.java, - gnu/xml/xpath/NameFunction.java, - gnu/xml/xpath/NameTest.java, - gnu/xml/xpath/NamespaceUriFunction.java, - gnu/xml/xpath/NodeTypeTest.java, - gnu/xml/xpath/SubstringFunction.java, - javax/xml/namespace/QName.java: don't determine element namespace - from namespace aliases when specified; better namespace handling - when serializing elements; don't create HTML meta element unless - head element exists; correct encoding of CDATA sections containing - ']]>'; encode HTML character entity references; use ISO-Latin-1 as - default encoding for HTML output; rewrite of XSLT - strip-space/preserve-space handling; correct doctype-public and - doctype-system output attributes; insert generated doctype before - document element; fixed result tree whitespace stripping - algorithm; fixed semantics of XPath name, local-name, and - namespace-uri functions; name tests handle XML/XMLNS namespaces - correctly; fixed semantics of processing-instruction node test. - * gnu/xml/transform/TransformerFactoryImpl.java: Add main method to - aid debugging. - -2006-01-11 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (insertFracture): Added calls to addEdit for each time a structure - is changed. addEdit is called on the newBranch, previous, and parent - structures. - -2006-01-11 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertContentTag): Don't adjust the structure here. - This will have been taken care of in insertFracture. Added a comment - explaining that we need to add edits to the DocumentEvent and that - this may be the place to do it. - -2006-01-11 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Properly recreate Elements if the first - tag is an end tag. Avoid NPE by pushing the proper Element on to the - elementStack when there is a start tag with JoinNextDirection. - -2006-01-11 Roman Kennke - - Reported by: Fridjof Siebert - * java/util/Hashtable.java - (KEYS): Removed unneeded field. - (VALUES): Removed unneeded field. - (ENTRIES): Removed unneeded field. - (keys): Return a KeyEnumerator instance. - (elements): Returns a ValueEnumerator instance. - (toString): Use an EntryIterator instance. - (keySet): Return a KeyIterator instance. - (values): Return a ValueIterator instance. - (entrySet): Return an EntryIterator instance. - (hashCode): Use EntryIterator instance. - (rehash): Changed this loop to avoid redundant reads and make - it obvious that null checking is not needed. - (writeObject): Use EntryIterator instance. - (HashIterator): Removed class. - (Enumerator): Removed class. - (EntryIterator): New class. - (KeyIterator): New class. - (ValueIterator): New class. - (EntryEnumerator): New class. - (KeyEnumerator): New class. - (ValueEnumerator): New class. - -2006-01-11 Lillian Angel - - * javax/swing/text/DefaultStyledDocument.java - (toString): Shouldn't append the '>' character here. - (createDefaultRoot): Should not set the resolve parent. This - causes problems when comparing attribute sets. - -2006-01-10 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Rewritten to properly handle start and - end tags. - (ElementBuffer.insertFracture): New method. - (ElementBuffer.insertContentTag): Removed unnecessary case for - JoinFractureDirection - this only applies to start tags, not content - tags. - (insertUpdate): Corrected conditions for setting direction to - JoinNextDirection. - -2006-01-10 Roman Kennke - - * Makefile.am (EXTRA_DIST): Added ChangeLog-2004. - * ChangeLog-2005: New File. - -2006-01-10 Roman Kennke - - * native/jni/java-nio/java_nio_VMDirectByteBuffer.c - (get): Release the array with the correct pointer. - (put): Release the array with the correct pointer. Copy the array - around _before_ releasing it. - -2006-01-10 Roman Kennke - - * javax/swing/ViewportLayout.java - (layoutContainer): Fixed condition, to avoid ClasscastException. - -2006-01-10 Roman Kennke - - * javax/swing/plaf/basic/BasicSplitPaneDivider.java - (MouseHandler.mousePressed): Fixed indendation. - (MouseHandler.mouseDragged): Fixed indendation. - -2006-01-10 Roman Kennke - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (playSound): Added @since 1.4 to the API docs. - -2006-01-10 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (maybeUpdateLayoutState): Also update the layout state, if the - list has been invalidated since the last update. - -2006-01-10 Roman Kennke - - * javax/swing/plaf/ComponentUI.java - (update): Fixed indendation. - -2006-01-10 Roman Kennke - - * javax/swing/ViewportLayout.java - (layoutContainer): Fixed condition, so that Scrollable components - are always forced to have to Viewport size, when they - return true for getScrollableTracksViewportHeight() and ..Width(). - -2006-01-10 Roman Kennke - - * javax/swing/RepaintManager.java - (validateInvalidComponents): Fixed condition to avoid NPE. - -2006-01-10 Roman Kennke - - * javax/swing/JViewport.java: - (static_initializer): Removed unused variable myScrollMode. - -2006-01-10 Roman Kennke - - * javax/swing/JTabbedPane.java: - Cleared API docs a little. - -2006-01-10 Roman Kennke - - * java/util/StringTokenizer.java - (StringTokenizer(String, String, boolean)): - Don't trigger NPE here for conformance with the spec. - -2006-01-10 Roman Kennke - - * java/util/ArrayList.java - (DEFAULT_CAPACITY): Changed default capacity to 10, as specified. - -2006-01-10 Roman Kennke - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java - (GdkGraphics2D(GdkGraphics2D)): Added null check for the bg - field to avoid NPE. - -2006-01-10 Roman Kennke - - * native/jni/java-net/javanet.c - (_javanet_shutdownOutput): Replaced strerror() with - TARGET_NATIVE_LAST_ERROR_STRING() for portability. - (_javanet_shutdownInput): Replaced strerror() with - TARGET_NATIVE_LAST_ERROR_STRING() for portability. - -2006-01-10 Robert Schuster - - * java/beans/EventSetDescriptor.java: Reformatted and - fixed API docs. - -2006-01-10 Roman Kennke - - * java/lang/SecurityManager.java - Fully qualified AWT class references in API docs. - -2006-01-10 Robert Schuster - - * java/beans/EventSetDescriptor.java: - (getGetListenerMethod): New method. - -2006-01-10 Mark Wielaard - - * lib/Makefile.am (GCJX): Add -g to get linenumber info. - -2006-01-10 Jeroen Frijters - - PR classpath/25727 - * java/util/Hashtable.java - (contains): Call equals on existing value. - (containsKey, get, put, remove): Call equals on existing key. - (getEntry): Call equals on existing entry. - -2006-01-10 Jeroen Frijters - - PR classpath/24618 - * java/util/AbstractMap.java - (equals(Object,Object)): Test for identity first. - * java/util/WeakHashMap.java - (WeakBucket.WeakEntry.equals): Use helper method to determine equality. - (WeakBucket.WeakEntry.toString): Fixed string representation of - null key. - (internalGet): Use helper method to determine equality. - -2006-01-09 Robert Schuster - - * java/beans/EventSetDescriptor.java: Implemented the two 1.4 - constructors. - -2006-01-09 Anthony Balkissoon - - * javax/swing/text/PlainDocument.java: - (insertUpdate): Handle special case of an insertion immediately - following a newline character. - -2006-01-09 Roman Kennke - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c - (connect): Added stream parameter to _connect() call. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c - (connect): Added stream parameter to _connect() call. - * native/jni/java-net/javanet.c - (_javanet_create_localfd): Added stream parameter. Look up - fd field based on the stream parameter either in SocketImpl or - in DatagramSocketImpl. - (_javanet_connect): Added stream parameter. Call create_localfd - using this stream parameter. Set localPort field either in - SocketImpl or in DatagramSocketImpl, depending on the stream - flag. - * native/jni/java-net/javanet.c - (_javanet_connect): Added stream parameter. - -2006-01-09 Audrius Meskauskas - - * javax.management.Attribute.java: Grammar and - formatting fixes. - -2006-01-09 Mark Wielaard - - * gnu/java/nio/channels/FileChannelImpl.java (map): Throw correct - exception when channel is not readable or writable. - * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c - (mapImpl): Add PROT_WRITE when mode == 'c' (MAP_PRIVATE). Make sure - there is enough space to mmap(). - -2006-01-09 Robert Schuster - - * java/beans/Introspector.java: - (getBeanInfo(Class, int)): New method. - (getBeanInfo(Class, Class): Moved common code in a new method. - (merge): New method. - -2006-01-09 Robert Schuster - - * java/beans/XMLEncoder.java: Fix spelling mistakes. - -2006-01-09 Anthony Balkissoon - - * javax/swing/text/DefaultStyledDocument.java: - (insertUpdate): Removed call to checkForInsertAfterNewline and instead - inlined this method because it needs to change the value of the - finalStartTag and finalStartDirection variables. - (checkForInsertAfterNewline): Removed this method. - (handleInsertAfterNewline): Added case for making the start tag's - direction JoinNextDirection. - -2006-01-09 Lillian Angel - - * javax/swing/plaf/basic/BasicTreeUI.java: - Added new field. - (setRowHeight): Row height is set to the max height of - all the nodes, or 20 as a default value. - (getPathBounds): Cleaned up code. - (getMaxHeight): New helper function that gets the max - height of all the rows. - (getClosestPathForLocation): Fixed to use getMaxHeight. - (updateCachedPreferredSize): Likewise. - (installUI): Shouldn't expand tree on startup. - (getNodeDimensions): Fixed to use getMaxHeight. - -2006-01-09 Mark Wielaard - - * javax/swing/JList.java (setSelectedIndex): Clear selection when - argument is negative. - -2006-01-08 Mark Wielaard - - * java/net/InetAddress.java (getInaddrAny): Explicitly set hostName. - -2006-01-09 Audrius Meskauskas - - * javax.management.Attribute.java: New file. - -2006-01-09 Roman Kennke - - * java/net/DatagramSocketImpl.java - (localPort): Renamed to localport for correct access from native - code. - -2006-01-09 Roman Kennke - - * javax/swing/Popup.java - (LightweightPopup.hide): Repaint the layered pane when popup is - removed. - -2006-01-09 Roman Kennke - - * java/awt/Container.java - (remove): Don't repaint the container here. - -2006-01-08 Tom Tromey - - * java/lang/InheritableThreadLocal.java: Organized imports. - -2006-01-08 Ito Kazumitsu - - Fixes bug #25679 - * gnu/regexp/RETokenRepeated.java(match): Optimized the case - when an empty string matched an empty token. - -2006-01-08 Chris Burdess - - * gnu/xml/stream/SAXParser.java: Check standalone status for mixed - content models from external entities. - * gnu/xml/stream/UnicodeReader.java: Report error instead of - attempting to continue with unpaired surrogates. - * gnu/xml/stream/XMLParser.java: Don't normalize LF equivalents when - resolving entities with character entity references; better - checking of valid character ranges; don't report an error for URI - fragments in notation declarations; check unbound namespace - prefixes for elements and attributes, including XML 1.1 unbinding - syntax; namespace-aware checking of attribute duplicates. - -2006-01-08 Robert Schuster - - * java/beans/Statement.java: Doc fixes. - (doExecute): Workaround for Class.forName call. - (toString): Made output look more like on the JDK. - * java/beans/Expression.java: Doc fixes. - (toString): Made output look more like on the JDK. - * java/beans/PersistenceDelegate.java, - java/beans/DefaultPersistenceDelegate.java, - java/beans/Encoder.java, - java/beans/XMLEncoder.java: New file. - * gnu/java/beans/encoder/ArrayPersistenceDelegate.java, - gnu/java/beans/encoder/ClassPersistenceDelegate.java, - gnu/java/beans/encoder/CollectionPersistenceDelegate.java, - gnu/java/beans/encoder/Context.java, - gnu/java/beans/encoder/GenericScannerState.java, - gnu/java/beans/encoder/IgnoringScannerState.java, - gnu/java/beans/encoder/MapPersistenceDelegate.java, - gnu/java/beans/encoder/ObjectId.java, - gnu/java/beans/encoder/PrimitivePersistenceDelegate.java, - gnu/java/beans/encoder/ReportingScannerState.java, - gnu/java/beans/encoder/Root.java, - gnu/java/beans/encoder/ScanEngine.java, - gnu/java/beans/encoder/ScannerState.java, - gnu/java/beans/encoder/StAXWriter.java, - gnu/java/beans/encoder/Writer.java: New file. - * gnu/java/beans/encoder/elements/Array_Get.java, - gnu/java/beans/encoder/elements/Element.java, - gnu/java/beans/encoder/elements/List_Set.java, - gnu/java/beans/encoder/elements/Array_Set.java, - gnu/java/beans/encoder/elements/NullObject.java, - gnu/java/beans/encoder/elements/StaticMethodInvocation.java, - gnu/java/beans/encoder/elements/StaticFieldAccess.java, - gnu/java/beans/encoder/elements/StringReference.java, - gnu/java/beans/encoder/elements/ClassResolution.java, - gnu/java/beans/encoder/elements/ArrayInstantiation.java, - gnu/java/beans/encoder/elements/PrimitiveInstantiation.java, - gnu/java/beans/encoder/elements/ObjectReference.java, - gnu/java/beans/encoder/elements/ObjectInstantiation.java, - gnu/java/beans/encoder/elements/List_Get.java, - gnu/java/beans/encoder/elements/MethodInvocation.java: New file. - -2006-01-08 Chris Burdess - - * java/lang/Character.java (toChars,toCodePoint): Correct these - methods to use algorithms from Unicode specification. - -2006-01-08 Mark Wielaard - - * native/jni/xmlj/Makefile.am (libxmlj_la_LIBADD): Add jcl.o. - -2006-01-07 Paul Jenner - - Fixes bug #25711 - * examples/Makefile.am: Corrected DESTDIR install paths. - -2006-01-07 Audrius Meskauskas - - * org/omg/CORBA/INVALID_ACTIVITY.java: Removed non - - ASCII character (line 46). - -2006-01-07 Roman Kennke - - * javax/swing/text/TableView.java: New file. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/BufferedReader.java: Removed commented out code. - * gnu/xml/stream/XIncludeFilter.java: Correct XML Base behaviour. - * gnu/xml/stream/XMLParser.java: Make additional StAX properties - available; correct handling of unparsed entity references; - absolutize all base URIs; remove commented out code. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XMLParser.java: Add SAX property to return base - URI of the current event. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java: Add SAX feature to set XML Base - aware processing. - -2006-01-07 Chris Burdess - - * gnu/xml/stream/SAXParser.java, - gnu/xml/stream/XIncludeFilter.java, - gnu/xml/stream/XMLParser.java: Updated documentation. - -2006-01-07 Chris Burdess - - * AUTHORS: add self. - -2006-01-06 Casey Marshall - - * AUTHORS: add myself. - -2006-01-06 Casey Marshall - - PR classpath/25699 - * javax/crypto/CipherInputStream.java (logger): new constant. - (cipher): make final. - (outLength, inBuffer, inLength): removed. - (isStream): make final. - (VIRGIN, LIVING, DYING, DEAD, state): removed. - (eof): new field. - (): call `super,' not `this;' remove `inBuffer' and - `outBuffer' initialization; init `eof;' add debug logging. - (): call `this' with a new null cipher. - (available): fix javadoc to reflect the real semantics; if we - don't have a buffer, call `nextBlock.' - (close): synchronize. - (read): synchronize; fix testing for buffered data. - (read): synchronize; add `skip' semantics if first argument is - `null;' decrypt stream cipher data only if there is any; fix tests - for buffered data. - (skip): stop using `available' to see how many data are buffered. - (nextBlock): simplify to use cipher-allocated output buffers - instead of internally allocated ones. - -2006-01-06 Tom Tromey - - * java/lang/String.java (codePointCount): Fixed javadoc. - -2006-01-06 Tom Tromey - - * java/lang/String.java (contains): Added @since. - -2006-01-06 Ito Kazumitsu - - Fixes bug #25616 - * gnu/regexp/RE.java(initialize): Allow repeat.empty.token. - * gnu/regexp/RETokenRepeated.java(match): Break the loop - when an empty string matched an empty token. - -2006-01-06 Jeroen Frijters - - PR classpath/24858 - * gnu/java/util/WeakIdentityHashMap.java: New file. - * java/lang/InheritableThreadLocal.java - (newChildThread): Modified to remove key indirection. - * java/lang/Thread.java - (locals): Changed type to WeakIdentityHashMap. - (getThreadLocals): Instantiate WeakIdentityHashMap instead of - WeakHashMap. - * java/lang/ThreadLocal.java - (key, Key): Removed. - (get, set): Changed to use "this" instead of "key". - -2006-01-06 Dalibor Topic - - * native/fdlibm/Makefile.am (libfdlibm_la_SOURCES): Removed java-assert.h. - - * native/fdlibm/java-assert.h: Removed file. - - * native/fdlibm/mprec.c: Include assert.h. Don't include java-assert.h. - Replaced use of JvAssert by assert. - -2006-01-05 Anthony Balkissoon - - * javax/swing/text/DefaultCaret.java: - (setDot): Fixed paramater to Math.max to be this.dot and not the - parameter dot. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getCellHeight): New helper method. - (getCellBounds): Use new helper method for determining the cell - height. - (paint): Don't call list.indexToLocation() but instead call - directly into the same UI method. - (locationToIndex): Fixed calculation of # visible rows and handling - of cell heights. - (indexToLocation): Fixed calculation of # visible rows and handling - of cell heights. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (createList): Set VERTICAL_SCROLLBAR_NEVER mode on the JScrollPane - in the file chooser. - -2006-01-05 Anthony Balkissoon - - * javax/swing/JTextPane.java: - (replaceSelection): If the document is an AbstractDocument, use replace - rather than remove and insert. - * javax/swing/event/EventListenerList.java: - (getListeners): Reversed the order of the listeners to match the - reference implementation. - * javax/swing/text/AbstractDocument.java: - (insertString): Add the UndoableEdit from the content.insertString call - to the DocumentEvent. - (DefaultDocumentEvent.toString): Implemented. - * javax/swing/text/DefaultCaret.java: - (setDot): Make sure dot is > 0 and less than the length of the - document. - * javax/swing/text/DefaultStyledDocument.java: - (ElementBuffer.insertUpdate): Set the modified tag of the document - event when we get start and end tags. This ensures that we create the - proper BranchElements in endEdit(). - (ElementBuffer.insertUpdate): Added FIXME to handle - JoinFractureDirection case. - (insertUpdate): Added code to check if we're inserting immediately - after a newline and to handle this case (create start and end tags). - Only change the direction of the first and last tags if they are of - type ContentType. - (checkForInsertAfterNewline): New helper method. - (handleInsertAfterNewline): Likewise. - * javax/swing/text/View.java: - (updateLayout): Avoid NPE by checking if shape is null. Repaint - container. - -2006-01-05 Mark Wielaard - - * newsitems.txt: Add fosdem meeting. - * events/events.wml: Likewise. - * events/fosdem06.wml: New file. - -2006-01-05 Lillian Angel - - * javax/swing/text/GapContent.java - (createPosition): No positions should be created inside the - gap. Fixed check to ensure this does not happen. - -2006-01-05 Roman Kennke - - * javax/swing/RepaintManager.java - (validateInvalidComponents): Search for the validate root - and start validating there. - -2006-01-05 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (ComponentHandler): Removed unneeded class. - (ListDataHandler.contentsChanged): Revalidate instead of calling - damageLayout(). - (ListDataHandler.intervalAdded): Revalidate instead of calling - damageLayout(). - (ListDataHandler.intervalRemoved): Revalidate instead of calling - damageLayout(). - (PropertyChangeHandler.propertyChange): Or flags together instead - of adding them. Don't call damageLayout(). - (componentListener): Removed unnecessary field. - (damageLayout): Removed unnecessary method. - (installListeners): Don't install unnecessary listeners. - (uninstallListeners): Dito. - (getPreferredSize): Don't ask for the real list height and - calculate with the previously calculated list height. - (locationToIndex): Renamed list parameter to l so that it doesn't - shadow the field with the same name. - (indexToLocation): Renamed list parameter to l so that it doesn't - shadow the field with the same name. - -2006-01-04 Tom Tromey - - * include/.cvsignore: Ignore config-int.h. - -2006-01-04 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (getPreferredSize): Rewritten to match the specs. - -2006-01-04 Roman Kennke - - * javax/swing/JFileChooser.java - (showOpenDialog): Set fixed width on the dialog. - (showSaveDialog): Set fixed width on the dialog. - (showDialog): Set fixed width on the dialog. - -2006-01-04 Roman Kennke - - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Added FIXME about getVisibleRowCount() usage. - Adjusted iteration to not use visibleRowCount and instead iterate - over the real number of elements in cellHeights. - (indexToLocation): Added FIXME about getVisibleRowCount() usage. - Adjusted iteration to not use visibleRowCount and instead iterate - over the real number of elements in cellHeights. - -2006-01-04 Roman Kennke - - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: - Added __attribute__((__unused__)) macros to avoid gcc warnings. - -2006-01-04 Roman Kennke - - * vm/reference/gnu/java/net/VMPlainSocketImpl.java: New VM class. - * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: - New VM class. - * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: New file. - * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState): New method. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h: Regenerated. + +2007-01-03 Andrew John Hughes + + * java/text/BreakIterator.java: + (getCharacterInstance(Locale)): Check providers. + (getLineInstance(Locale)): Likewise. + (getSentenceInstance(Locale)): Likewise. + (getWordInstance(Locale)): Likewise. + * java/text/spi/BreakIteratorProvider.java: New file. - * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: - Removed. - * native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Removed. - * native/jni/java-net/Makefile.am: Adjusted for new source files. - * gnu/java/net/PlainDatagramSocketImpl.java: Use new VM interface. - * gnu/java/net/PlainSocketImpl.java: Use new VM interface. - * include/gnu_java_net_PlainDatagramSocketImpl.h: Removed. - * include/gnu_java_net_PlainSocketImpl.h: Removed. - * include/gnu_java_net_VMPlainDatagramSocketImpl.h: New header file. - * include/gnu_java_net_VMPlainSocketImpl.h: New header file. - -2006-01-04 Lillian Angel - - * javax/swing/plaf/metal/MetalFileChooserUI.java - (propertyChange): Fixed to change the combo box label - appropriately. Also, fixed to set the textfield's text - correctly. - (editFile): Fixed size of editing field. - (installComponents): Correctly aligned all panels. - (installStrings): Fixed to set the label's text - appropriately depending on the dialog type. - -2006-01-04 Lillian Angel - - PR classpath/25473 - PR classpath/25479 - * javax/swing/JTree.java - (JTree): Because some L&F defaults have been updated, - the selectionMode for the tree needed to be set to SINGLE. - * javax/swing/plaf/basic/BasicFileChooserUI.java: - Initialized accessoryPanel. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (installComponents): Added accessoryPanel to the filechooser. - -2006-01-04 Dalibor Topic - - * configure.ac: Added AX_CREATE_STDINT_H - - * include/Makefile.am (DISTCLEANFILES): Remove config-int.h. - - * m4/ax_create_stdint_h.m4: New file. - - * native/fdlibm/mprec.h: Include config-int.h. Removed C99 - typedefs. Removed stdint.h and inttypes.h includes. - -2006-01-03 Mark Wielaard - - * javax/swing/JMenuItem.java (configurePropertiesFromAction): Only - register keyboard action when accelerator is not null. - * javax/swing/plaf/basic/BasicMenuItemUI.java (propertyChange): Only - re-register accelerator if not null. - (installKeyboardActions): Only put accelerator in map when not null. - -2006-01-04 Lillian Angel - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Removed unneeded default. - * javax/swing/plaf/metal/MetalLookAndFeel.java - (initComponentDefaults): Added and fixed several defaults. - -2006-01-04 Roman Kennke - - * javax/swing/plaf/basic/BasicHTML.java: New class. - -2006-01-03 Tom Tromey - - * java/io/OutputStreamWriter.java (OutputStreamWriter): Added @since. - * java/io/InputStreamReader.java (InputStreamReader): Added @since. - -2006-01-03 Mark Wielaard - - * org/omg/CORBA/INVALID_ACTIVITY.java: Remove non-ascii characters. - -2006-01-03 Mark Wielaard - - * javax/swing/plaf/metal/MetalLookAndFeel.java (MetalLookAndFeel): - Always call createDefaultTheme(). - (createDefaultTheme): Check whether theme is still null. - -2006-01-03 Mark Wielaard - - * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setBackground): Set to - Color.WHITE if null. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/metal/MetalLookAndFeel.java - (getDescription): Fixed to return the correct string. - (getID): Likewise. - (getName): Likewise. - (getDefaults): Added check to avoid NPE. - (getAcceleratorForeground): Likewise. - (getAcceleratorSelectedForeground): Likewise. - (getBlack): Likewise. - (getControl): Likewise. - (getControlDarkShadow): Likewise. - (getControlDisabled): Likewise. - (getControlHighlight): Likewise. - (getControlInfo): Likewise. - (getControlShadow): Likewise. - (getControlTextColor): Likewise. - (getControlTextFont): Likewise. - (getDesktopColor): Likewise. - (getFocusColor): Likewise. - (getHighlightedTextColor): Likewise. - (getInactiveControlTextColor): Likewise. - (getInactiveSystemTextColor): Likewise. - (getMenuBackground): Likewise. - (getMenuDisabledForeground): Likewise. - (getMenuForeground): Likewise. - (getMenuSelectedBackground): Likewise. - (getMenuSelectedForeground): Likewise. - (getMenuTextFont): Likewise. - (getPrimaryControl): Likewise. - (getPrimaryControlDarkShadow): Likewise. - (getPrimaryControlHighlight): Likewise. - (getPrimaryControlInfo): Likewise. - (getPrimaryControlShadow): Likewise. - (getSeparatorBackground): Likewise. - (getSeparatorForeground): Likewise. - (getSubTextFont): Likewise. - (getSystemTextColor): Likewise. - (getSystemTextFont): Likewise. - (getTextHighlightColor): Likewise. - (getUserTextColor): Likewise. - (getUserTextFont): Likewise. - (getWhite): Likewise. - (getWindowBackground): Likewise. - (getWindowTitleBackground): Likewise. - (getWindowTitleFont): Likewise. - (getWindowTitleForeground): Likewise. - (getWindowTitleInactiveBackground): Likewise. - (getWindowTitleInactiveForeground): Likewise. - -2006-01-03 Mark Wielaard - - * javax/swing/JTextArea.java - (JTextArea(Document,text,int,int)): Only call setText() when text is - not null. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicFileChooserUI.java - (installStrings): Fixed installation of defaults that - were changed in BasicLookAndFeel. - * javax/swing/plaf/basic/BasicTabbedPaneUI.java - (installDefaults): Fixed installation of defaults that - were changed in BasicLookAndFeel. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicLookAndFeel.java - (initComponentDefaults): Fixed several defaults that differed - from the JDK. - -2006-01-03 Lillian Angel - - * javax/swing/tree/DefaultTreeSelectionModel.java - (DefaultTreeSelectionModel): Default should be DISCONTIGUOUS_TREE_SELECTION. - -2006-01-03 Lillian Angel - - * javax/swing/AbstractAction.java - (AbstractAction): Fixed to pass in null. Should not be - an empty string. Removed TODO comment. - (AbstractAction): Removed TODO comment. - * javax/swing/JList.java - (init): Default selection mode should be MULTIPLE_INTERVAL_SELECTION. - * javax/swing/JMenuItem.java - (JMenuItem): Set all defaults if the action passed in is not null. - * javax/swing/JProgressBar.java - (JProgressBar): Added check to prevent NPE. - -2006-01-03 Lillian Angel - - * javax/swing/plaf/basic/BasicListUI.java - (getPreferredSize): The JDK adds some extra space to - the list, so we should as well. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (getPreferredSize): Should only take the fileListPanel's - width into account when getting the size. Also, the buttonPanel's - size should not be checked, since it is in the bottomPanel already. - (getMinimumSize): Likewise. - -2006-01-03 Lillian Angel - - * javax/swing/JList.java - (init): visibleRowCount should be 7, like the JDK. - * javax/swing/plaf/metal/MetalFileChooserUI.java - (installComponents): No need to add the fileFilterCombo - to a panel. It can be added to the row directly. - -2006-01-03 Lillian Angel + * java/text/spi/DateFormatSymbolsProvider.java: + Update header text. + * java/util/ServiceConfigurationError.java: + Add serialVersionUID. - PR classpath/25480 PR classpath/25478 - * javax/swing/plaf/basic/BasicScrollPaneUI.java - (updateViewport): Made changes suggested by - Chris Lansdown. - * javax/swing/plaf/metal/MetalFileChooserUI.java: - Removed unneeded import. - (createList): Removed comment, JList wrapping - now works. - (getPreferredSize): Made changes suggested by - Chris Lansdown. Uses fileListPanel, instead - of fileList. - (getMinimumSize): Uses fileListPanel, instead - of fileList. - * javax/swing/plaf/metal/MetalRadioButtonUI.java - (paintFocus): Fixed height. +2007-01-03 Francis Kung -2006-01-03 Roman Kennke + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (copy): Copy and set antialias value. - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Added check to avoid ArrayOutOfBoundsException. +2007-01-03 Tania Bento -2006-01-03 Roman Kennke + * java/awt/CardLayout.java: + (maximumLayoutSize): Return a new Dimension with a width of value + Integer.MAX_VALUE and a height of value Integer.MAX_VALUE if Component + has no components. - * javax/swing/plaf/basic/BasicListUI.java - (locationToIndex): Special case for when variable cell heights - are possible. (cellHeights is used instead of cellHeight). - (indexToLocation): Special case for when variable cell heights - are possible. (cellHeights is used instead of cellHeight). +2007-01-03 Andrew John Hughes -2006-01-03 Roman Kennke + * java/text/DateFormatSymbols.java: + (getZoneStrings(ResourceBundle)): Changed to... + (getZoneStrings(ResourceBundle,Locale)): Added + use of TimeZoneNamesProvider. + (getZoneStrings()): Return either mutated zone + strings or initial ones. + (getInstance(Locale)): Check DateFormatSymbolsProvider + instances. + * java/text/spi/DateFormatSymbolsProvider.java: + New file. + * java/text/spi/package.html: New file. + +2007-01-02 Andrew John Hughes - * javax/swing/text/DefaultStyledDocument.java - (ElementBuffer.remove): New method. - (ElementBuffer.removeUpdate): New method. - (removeUpdate): New method. + * java/util/Currency.java: + (getSymbol(Locale)): Removed unneeded variable + and terminate loop early. + * java/util/Locale.java: + (getDisplayLanguage(Locale)): Fixed to use + LocaleNameProvider. + (getDisplayCountry(Locale)): Likewise. + (getDisplayVariant(Locale)): Likewise. + * java/util/spi/LocaleNameProvider.java: + New file. + * java/util/spi/TimeZoneNameProvider.java: + Likewise. + +2007-01-02 Andrew John Hughes -2006-01-03 Roman Kennke + * gnu/java/locale/LocaleHelper.java: + (getLocalizedString(Locale,String,String,boolean, + boolean)): Removed, no longer needed. + (getFallbackLocale(Locale)): Implemented. + * java/lang/String.java: + (isEmpty()): Implemented. + * java/util/Currency.java: + (getSymbol(Locale)): Reimplemented to use SPI. + * java/util/Locale.java: + (ROOT): Added. + * java/util/spi/CurrencyNameProvider.java: + New file. + * java/util/spi/LocaleServiceProvider.java: + Likewise. + * java/util/spi/package.html: Likewise. + +2007-01-02 Roman Kennke - * lib/Makefile.am: - (dist-hook): Preserve attributes of Java sources when copying to - dist dir. + * gnu/java/awt/java2d/AbstractGraphics2D.java + (FONT): New constant field. This is the default font to use as long + as nothing else is set. + (paintContext): New field. Temporarily stores the paint context. + (scanlineConverters): New field. Stores the scanline converters + for each thread. + (shapeCache): Genericified. + (STANDARD_HINTS): New constant field. The standard rendering hints + as long as nothing else is set. + (STANDARD_STROKE): New constant field. The standard stroke as long + as nothing else is set. + (static_initializer): Initialize standard hints. + (AbstractGraphics2D): Use constant fields for hints and stroke. + (drawGlyphVector): Use simpler method to draw the outline. + (fillScanline): Use paintContext field. + (fillShape): Use new ScanlineConverter to fill shapes. + (fillShapeAntialias): Removed. This will be done in fillShape. + (fillShapeImpl): Removed. This is done now in the ScanlineConverter + class. + (getScanlineConverter): New method. Returns the scanline converter + for each thread. + (getSegments): Removed. This is now implemented in ScanlineConverter. + (getShapeCache): Use genericified shapeCache field. + (init): Use fixed default font. Don't fetch destination raster here. + * gnu/java/awt/java2d/ActiveEdges.java: New class. Stores a set + of active edges for scanline conversion. + * gnu/java/awt/java2d/PolyEdge.java + (poolNext): Implements linked list for edge pool. + (scanlineNext): Implements linked list for scanline edge lists. + (slope): Use fixed point decimal. + (slope,x0,y0,x1,y1,xIntersection): Use fixed point decimal. + (PolyEdge()): New constructor. + (PolyEdge): Use fixed point decimals. + (init): Use fixed point decimals. + (intersect): New method. Intersects this edge with a scanline. + * gnu/java/awt/java2d/Scanline.java: New class. A list of edges + for a scanline plus utilities. + * gnu/java/awt/java2d/ScanlineConverter.java: New class. Implements + an efficient scanline converter for rendering Shape objects. -2006-01-03 Raif S. Naffah +2007-01-02 Roman Kennke - * AUTHORS: Added self. - * java/security/Security.java (getProvider): Ensures provider's name is - not null, not an empty string, and is trimmed before usage. + * gnu/java/math/Fixed.java: New class. Fixed point arithmetics + utilities. -2006-01-01 Audrius Meskauskas +2007-01-01 Andrew John Hughes - * gnu/CORBA/Poa/AOM.java (add): - Changed parameter Object into gnuServantObject. - (Obj.object): Changed type to gnuServantObject. - (findObject): Rewritten. - -2006-01-01 Andreas Tobler - - * native/jni/qt-peer/mainqtthread.cpp: Remove call to disable double - buffering. Ability has gone in Qt-4.1.x. - - * configure.ac (QT_CFLAGS): Check for 4.1.0 version and for QtCore - to have the right include flags. - -2006-01-01 Raif S. Naffah - - * java/security/MessageDigest.java (getInstance(String,String)): - Use trimmed copy of provider name. - * gnu/java/security/Engine.java - (getInstance(String,String,Provider,Object[])): Use trimmed copy of - service and algorithm names. - -2006-01-01 Raif S. Naffah - - * java/net/InetAddress.java (getAllByName): use LOCALHOST if - localhost is null or is an empty string. Trim hostname before - lookup. + * ChangeLog-2006: New file. + * gnu/classpath/ServiceFactory.java: + Add option of throwing a ServiceConfigurationError. + (lookupProviders(Class,ClassLoader,boolean)): Implemented. + * java/util/ServiceConfigurationError.java: New file. + * java/util/ServiceLoader.java: Likewise. + + +Local Variables: +coding: iso-latin-1-unix +End: diff --git a/libjava/classpath/ChangeLog-2006 b/libjava/classpath/ChangeLog-2006 new file mode 100644 index 00000000000..b8cfb24e259 --- /dev/null +++ b/libjava/classpath/ChangeLog-2006 @@ -0,0 +1,37380 @@ +2006-12-30 Casey Marshall + + * gnu/java/security/x509/X509Certificate.java (serialVersionUID): + new constant. + (extensions): parameterize. + (getExtendedKeyUsage): parameterize return type. + (getSubjectAlternativeNames): parameterize return type; handle changes + to `SubjectAlternativeNames' class. + (getIssuerAlternativeNames): parameterize return type; handle changes + to `IssuerAlternativeNames' class. + (getCriticalExtensionOIDs, getNonCriticalExtensionOIDs): parameterize + return type. + * gnu/java/security/x509/ext/CertificatePolicies.java + (policies, policyQualifierInfos): parameterize. + * gnu/java/security/x509/ext/ExtendedKeyUsage.java (purposeIds): + parameterize. + * gnu/java/security/x509/ext/Extension.java (): add support + for NameConstraints extension. + * gnu/java/security/x509/ext/GeneralName.java: new class. + * gnu/java/security/x509/ext/GeneralNames.java (names): parameterize; + retrofit to use the GeneralName class. + * gnu/java/security/x509/ext/GeneralSubtree.java: new class. + * gnu/java/security/x509/ext/IssuerAlternativeNames.java (getNames): + change return type to GeneralName parameterized list. + * gnu/java/security/x509/ext/NameConstraints.java: new class. + * gnu/java/security/x509/ext/SubjectAlternativeNames.java (getNames): + change return type to GeneralName parameterized list. + * java/security/cert/X509CertSelector.java: re-sorted methods. + (makeName): new method. + (addPathToName, addPathToName, getPathToNames, getPolicy, + getSubjectAlternativeNames, setPathToNames, setPolicy): implemented. + (keyPurposeSet, altNames, policy): parametized. + (pathToNames): new field. + +2006-12-29 Andrew John Hughes + + * java/text/DateFormatSymbols: + (DateFormatSymbols()): Update documentation. + (DateFormatSymbols(Locale)): Likewise. + (getInstance()): Implemented. + (getInstance(Locale)): Partially implemented. + * java/util/Calendar.java: + (SHORT, LONG, ALL_STYLES): New constants. + (getDisplayName(int,int,Locale)); Implemented. + (getDisplayNames(int,int,Locale)): Likewise. + +2006-12-28 Andrew John Hughes + + * java/util/Arrays.java: + (copyOf(boolean[],int)): Implemented. + (copyOfRange(boolean[],int,int)): Likewise. + (copyOf(byte[],int)): Likewise. + (copyOfRange(byte[],int,int)): Likewise. + (copyOf(char[],int)): Likewise. + (copyOfRange(char[],int,int)): Likewise. + (copyOf(double[],int)): Likewise. + (copyOfRange(double[],int,int)): Likewise. + (copyOf(float[],int)): Likewise. + (copyOfRange(float[],int,int)): Likewise. + (copyOf(int[],int)): Likewise. + (copyOfRange(int[],int,int)): Likewise. + (copyOf(long[],int)): Likewise. + (copyOfRange(long[],int,int)): Likewise. + (copyOf(short[],int)): Likewise. + (copyOfRange(short[],int,int)): Likewise. + (copyOf(T[],int)): Likewise. + (copyOfRange(T[],int,int)): Likewise. + (copyOf(U[],int,Class)): Likewise. + (copyOfRange(U[],int,int,Class)): + Likewise. + * java/util/Collections.java: + (asLifoQueue(Deque)): Implemented. + (newSetFromMap(Map)): Likewise. + (MapSet): New class for newSetFromMap. + (LIFOQueue): New class for asLifoQueue. + +2006-12-28 Jeroen Frijters + + * javax/net/ssl/SSLServerSocketFactory.java: + (getDefault): Return inoperative factory instead of throwing error + (as per spec). + (ErrorServerSocketFactory): New class. + * javax/net/ssl/SSLSocketFactory.java: + (getDefault): Return inoperative factory instead of throwing error + (as per spec). + (ErrorSocketFactory): New class. + +2006-12-28 Andrew John Hughes + + * java/util/AbstractMap.java: + (SimpleImmutableEntry): Document and add + serialVersionUID. + (SimpleEntry): Likewise, and fix JAPI errors. + * java/util/TreeMap.java: + (entrySet()): Return navigableSet instead. + (headMap(K, boolean)): Implemented. + (subMap(K, boolean, K, boolean)): Likewise. + (tailMap(K, boolean)): Likewise. + (highestLessThan(K,boolean)): Likewise. + (lowestGreaterThan(K,boolean,boolean)): Likewise. + (SubMap.ceilingEntry(K)): Likewise. + (SubMap.ceilingKey(K)): Likewise. + (SubMap.descendingKeySet()): Likewise. + (SubMap.descendingMap()): Likewise. + (SubMap.entrySet()): Return navigableSet instead. + (SubMap.firstEntry()): Implemented. + (SubMap.floorEntry(K)): Likewise. + (SubMap.floorKey(K)): Likewise. + (SubMap.headMap(K,boolean)): Likewise. + (SubMap.higherEntry(K)): Likewise. + (SubMap.higherKey(K)): Likewise. + (SubMap.lastEntry()): Likewise. + (SubMap.lowerEntry(K)): Likewise. + (SubMap.lowerKey(K)): Likewise. + (SubMap.navigableKeySet()): Likewise. + (SubMap.pollFirstEntry()): Likewise. + (SubMap.pollLastEntry()): Likewise. + (SubMap.subMap(K,boolean,K,boolean)): Likewise. + (SubMap.tailMap(K,boolean)): Likewise. + (SubMap.KeySet): New class for keySet(). + (SubMap.NavigableKeySet): New class for navigableKeySet(). + (SubMap.EntrySet): New class for entrySet(). + (SubMap.NavigableEntrySet): Likewise. + (ceilingEntry(K)): Likewise. + (ceilingKey(K)): Likewise. + (descendingKeySet()): Likewise. + (descendingMap()): Likewise. + (firstEntry()): Implemented. + (floorEntry(K)): Likewise. + (floorKey(K)): Likewise. + (higherEntry(K)): Likewise. + (higherKey(K)): Likewise. + (lastEntry()): Likewise. + (lowerEntry(K)): Likewise. + (lowerKey(K)): Likewise. + (navigableKeySet()): Likewise. + (pollFirstEntry()): Likewise. + (pollLastEntry()): Likewise. + (DescendingMap): New class for descendingMap(). + (KeySet): New class for keySet(). + (NavigableKeySet): New class for navigableKeySet(). + (DescendingSet): New class for descendingSet(). + (EntrySet): New class for entrySet(). + (NavigableEntrySet): Likewise. + * java/util/TreeSet.java: + (headSet(T,boolean)): Implemented. + (subSet(T,boolean,T,boolean)): Likewise. + (tailSet(T,boolean)): Likewise. + (descendingIterator()): Likewise. + (descendingSet()): Likewise. + (floor(T)): Likewise. + (higher(T)): Likewise. + (lower(T)): Likewise. + (pollFirst(T)): Likewise. + (pollLast(T)): Likewise. + +2006-12-27 Andrew John Hughes + + * java/util/LinkedList.java: + (offer(T)): Documented. + (element()): Likewise. + (peek()): Likewise. + (poll()): Likewise. + (remove()): Likewise. + (descendingIterator()): Implemented. + (offerFirst(T)): Likewise. + (offerLast(T)): Likewise. + (peekFirst()): Likewise. + (peekLast()): Likewise. + (pollFirst()): Likewise. + (pollLast()): Likewise. + (pop()): Likewise. + (push(T)): Likewise. + (removeFirstOccurrence(Object)): Likewise. + (removeLastOccurrence(Object)): Likewise. + +2006-12-26 Andrew John Hughes + + * NEWS: Mention 1.6 support for java.lang.management + * configure.ac: Check for getloadavg. + * examples/gnu/classpath/examples/management/TestOS.java: + Print system load average. + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + (getSystemLoadAverage()): Implemented. + * include/Makefile.am: Add new header. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: + Regenerated. + * include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: + Generated. + * java/lang/management/OperatingSystemMXBean.java: + (getSystemLoadAverage()): Implemented. + * native/jni/java-lang/Makefile.am: Add new native code. + * native/jni/java-lang/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.c: + New file. + * vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java: + Likewise. + +2006-12-25 Andrew John Hughes + + * NEWS: + Add information on threading bean VM update. + +2006-12-25 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated to match new threading bean API. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + (MONITOR_SUPPORT): New constant for object monitor + lock support property. + (SYNCHRONIZER_SUPPORT): New constant for ownable + synchronizer lock support property. + (dumpAllThreads(boolean,boolean)): Implemented. + (findDeadlockedThreads()): Likewise. + (getThreadInfo(long[],boolean,boolean)): Likewise. + (isObjectMonitorUsageSupported()): Likewise. + (isSynchronizerUsageSupported()): Likewise. + * java/lang/management/ThreadInfo.java: + (ThreadInfo(Thread,long,long,Object,Thread,long, + long,boolean,boolean,StackTraceElement[], + MonitorInfo[], LockInfo[])): New constructor. + (ThreadInfo(long,String,Thread.State,long,long, + String,long,String,long,long,boolean,boolean, + StackTraceElement[],MonitorInfo[], LockInfo[])): + Likewise. + (from(CompositeData)): Updated to handle new attributes. + (getLockedMonitors()): Implemented. + (getLockedSynchronizers()): Likewise. + (getLockInfo()): Likewise. + (getLockName()): Handle blocking as documented in 1.6 + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (toString()): Likewise. + (isThreadBlocked()): Thread blocked check based on + documented 1.6 semantics. + * java/lang/management/ThreadMXBean.java: + (dumpAllThreads(boolean,boolean)): Implemented. + (findDeadlockedThreads()): Likewise. + (getThreadInfo(long[],boolean,boolean)): Likewise. + (isObjectMonitorUsageSupported()): Likewise. + (isSynchronizerUsageSupported()): Likewise. + * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: + (findDeadlockedThreads()): New native method. + (getLockInfo(ThreadInfo)): Likewise. + (getMonitorInfo(ThreadInfo)): Likewise. + +2006-12-25 Andrew John Hughes + + * java/lang/management/MonitorInfo.java: + Make variables private. + * java/util/Arrays.java: + (binarySearch(byte[],byte)): Implemented in terms + of range-based variant. + (binarySearch(short[],short)): Likewise. + (binarySearch(int[],int)): Likewise. + (binarySearch(long[],long)): Likewise. + (binarySearch(char[],char)): Likewise. + (binarySearch(float[],float)): Likewise. + (binarySearch(double[],double)): Likewise. + (binarySearch(byte[],int,int,byte)): Implemented. + (binarySearch(short[],int,int,short)): Likewise. + (binarySearch(int[],int,int,int)): Likewise. + (binarySearch(long[],int,int,long)): Likewise. + (binarySearch(char[],int,int,char)): Likewise. + (binarySearch(float[],int,int,float)): Likewise. + (binarySearch(double[],int,int,double)): Likewise. + (binarySearch(Object[],int,int,Object)): Likewise. + (binarySearch(T[],int,int,T,Comparator)): Likewise. + +2006-12-25 Andrew John Hughes + + * java/beans/ConstructorProperties.java: + New file. + * java/lang/management/LockInfo.java: + Likewise. + * java/lang/management/MonitorInfo.java: + Likewise. + * java/lang/management/ThreadInfo.java: + (getStackTraceType()): New method to + make the StackTraceElement type accessible. + (from(CompositeData)): Refactored to use + getStackTraceType(). + +2006-12-24 Andrew John Hughes + + * gnu/classpath/Pair.java: New class. + * java/io/ObjectInputStream.java: + (readUnshared()): Implemented. + (readObject(boolean)): Renamed from readObject + in order to handle unshared serialization. + (parseContent(byte,boolean)): Added unshared parameter. + (assignNewHandle(Object,boolean)): Likewise. + (rememberHandle(Object,boolean,int)): Likewise. + (lookupHandle(int)): Added handling of invalidated handles. + (processResolution(ObjectStreamClass,Object,int,boolean)): + Added unshared parameter. + * java/io/ObjectOutputStream.java: + (writeUnshared()): Implemented. + (writeObject(Object,boolean)): Renamed from + writeObject(Object) in order to handle + unshared serialization. + +2006-12-23 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Correct handling of + CompositeData objects. + * java/lang/management/ManagementFactory.java: + (ManagementInvocationHandler.invoke(Object, + Method,Object[])): Handle translation and notifications. + (ManagementInvocationHandler.translate(Object, + Method)): Implement type translation. + * java/lang/management/MemoryUsage.java: + (from(CompositeData)): Fix capitalisation. + * java/lang/management/ThreadInfo.java: + (from(CompositeData)): Likewise. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Add notification handling. + +2006-12-23 Sven de Marothy + + * java/util/GregorianCalendar.java, + (add): Don't set fields directly anymore. Use set() + +2006-12-22 Andrew John Hughes + + PR classpath/30268: + * javax/management/MBeanServerFactory.java: + Initialise map of servers immediately. + (createMBeanServer(String)): Remove map + construction. + +2006-12-22 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (shiftX): Remove rounding. + (shiftY): Likewise. + +2006-12-22 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (locked): Removed field. + (BufferedImageGraphics): Remove locked flag. + (drawComposite): Transform bounds properly; set cairo composite directly. + (drawImage): Transform bounds properly. + (updateBufferedImage): Remove locked flag; transform bounds properly. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Add comment. + (drawImage): Transform bounds properly; update clipping region. + (getClipInDevSpace): Transform bounds properly. + (getTransformedBounds): New method. + (setAntialias): Updated javadoc. + (setCustomPaint): Transform bounds properly. + (updateClip): Avoid use of GeneralPath when possible. + +2006-12-22 Andrew John Hughes + + PR classpath/30217: + * javax/management/ObjectName.java: + (getKeyPropertyList()): Remove cast and call + to UnmodifiableMap. + +2006-12-22 Andrew John Hughes + + PR classpath/30216: + * javax/management/MBeanServerDelegate.java: + Initialise list of listeners immediately. + (addListener(NotificationListener)): Remove list + construction. + +2006-12-21 David Daney + + * gnu/java/net/protocol/http/Headers.java: Update imports. Implement + Iterable. + (iterator): Make public. + * gnu/java/net/protocol/http/Request.java (dispatch): Use enhanced for + loop. + (notifyHeaderHandlers): Same. + * gnu/java/net/protocol/http/SimpleCookieManager.java (addCookies): + Remove unneeded cast. + +2006-12-21 Mario Torre + + * .settings/org.eclipse.jdt.core.prefs: set compilation flag to warning + instead of error for empty control flow statements. + * gnu/javax/swing/text/html/css/CSSParser.java (parseSelector): + (parseValue): Reverted last change. + * java/text/BreakIterator.java (preceding): likewise. + * external/jsr166/java/util/AbstractQueue.java (clear): likewise. + * gnu/java/io/Base64InputStream.java (read): likewise. + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insertUpdate): + likewise. + * java/util/zip/DeflaterEngine.java (findLongestMatch): likewise. + * java/util/zip/ZipInputStream.java (closeEntry): likewise. + * java/util/zip/DeflaterHuffman.java (Tree.buildLength): likewise. + * java/io/StreamTokenizer.java (nextToken): likewise. + * gnu/javax/imageio/png/PNGICCProfile.java (PNGICCProfile): likewise. + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java (execute): + likewise. + * gnu/java/nio/charset/ByteCharset.java (Decoder.decodeLoop): likewise. + Also fixed typo. + * gnu/java/awt/print/PostScriptGraphics2D.java (spoolPostScript): likewise. + * gnu/java/awt/print/JavaPrinterGraphics.java (spoolPostScript): likewise. + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java (engineVerify): + likewise. + * javax/swing/text/html/CSSParser.java: + (parse): likewise. + * java/lang/String.java (trim): likewise. + * java/lang/StrictMath.java (remPiOver2): likewise. + * gnu/java/awt/peer/qt/QtToolkit.java (QtToolkit): likewise. + * javax/swing/JComponent.java (paintImmediately2): likewise. + (paintChildren): likewise. + * java/util/EnumMap.java (..next): likewise. + * java/util/BitSet.java (length): likewise. + * java/util/Collections.java (binarySearch): likewise. + * java/util/StringTokenizer.java (nextToken): likewise. + * java/util/PriorityQueue.java (.next): likewise. + * java/math/BigInteger.java (BigInteger): likewise. + * gnu/java/lang/management/BeanImpl.java (translate): likewise. + +2006-12-19 Mario Torre + + * javax/imageio/spi/ServiceRegistry.java: fixed Empty control-flow + statement. + * tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java: likewise. + * gnu/java/io/Base64InputStream.java (read): likewise. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: likewise. + * java/util/zip/DeflaterEngine.java (findLongestMatch): likewise. + * java/util/zip/ZipInputStream.java (closeEntry): likewise. + * java/util/zip/DeflaterHuffman.java (Tree.buildLength): likewise. + * org/omg/CORBA/ORB.java: likewise. + * javax/swing/plaf/metal/MetalFileChooserUI.java: likewise. + * gnu/javax/imageio/png/PNGICCProfile.java (PNGICCProfile): likewise. + * tools/external/asm/org/objectweb/asm/xml/ASMContentHandler.java: likewise. + * java/text/MessageFormat.java (MessageFormatElement.setLocale): likewise. + * java/text/BreakIterator.java (preceding): likewise. + * gnu/javax/net/ssl/provider/SSLEngineImpl.java: likewise. + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java (engineVerify): + likewise. + * java/beans/XMLEncoder.java (writeObject): likewise. + * gnu/java/beans/encoder/ScanEngine.java (ScanEngine): likewise. + * java/util/Collections.java (binarySearch): likewise. + * java/util/StringTokenizer.java (nextToken): likewise. + * java/util/PriorityQueue.java (.next): likewise. + * java/util/EnumMap.java (..next): likewise. + * java/util/BitSet.java (length): likewise. + * java/util/Date.java (parse): likewise. + * javax/swing/text/html/CSSParser.java (parse): likewise. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneScrollLayout.calculateTabRects): likewise. + * java/lang/Character.java (UnicodeBlock): likewise. + * java/lang/String.java (trim): likewise. + * java/lang/StrictMath.java (remPiOver2): likewise. + * javax/swing/JFormattedTextField.java (commitEdit): likewise. + * javax/swing/JComponent.java (paintImmediately2): likewise. + (paintChildren): likewise. + * javax/swing/JToolTip.java (paramString): likewise. + * javax/swing/JEditorPane.java (JEditorPane): likewise. + * gnu/CORBA/Poa/gnuPOA.java: likewise. + * gnu/javax/security/auth/login/ConfigFileParser.java + (parseAppOrOtherEntry): likewise. + (parse): likewise. + * java/math/BigInteger.java (setBitOp): likewise. + (add): likewise. + (BigInteger): likewise. + * gnu/java/lang/management/BeanImpl.java (translate): likewise. + * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insertUpdate): + likewise. + * javax/swing/text/AbstractDocument.java (BranchElement): likewise. + * javax/swing/text/JTextComponent.java (getScrollableTracksViewportWidth): + likewise. + * javax/swing/text/FieldView.java (checkContainer): likewise. + * javax/swing/text/AsyncBoxView.java (ChildLocator.updateChildOffsets): + likewise. + * java/text/DecimalFormat.java (formatToCharacterIterator): likewise. + (parse): small refactoring. + +2006-12-19 Andrew John Hughes + + * java/lang/Enum.java: + (finalize()): Implemented. + +2006-12-18 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (getAttribute(String)): Fix Map and List conversion. + * java/lang/management/ManagementFactory.java: + (newPlatformMXBeanProxy(MBeanServerConnection, + String, Class)): Add a comma. + +2006-12-18 Tom Tromey + + * vm/reference/java/net/VMNetworkInterface.java (addresses): + Genericized. + (VMNetworkInterface): Updated. + * java/net/URLClassLoader.java (urls): Genericized. + (urlinfos): Likewise. + (addURLImpl): Updated. + (findClass): Likewise. + (newInstance): Likewise. + * java/net/URL.java (ph_cache): Genericized. + (getURLStreamHandler): Updated. + * java/net/ResolverCache.java (cache): Genericized. + (killqueue): Likewise. + * java/net/NetworkInterface.java (getInetAddresses): Genericized. + * java/net/MimeTypeMapper.java (mime_types): Genericized. + (fillFromFile): Likewise. + (main): Likewise. + * gnu/java/net/protocol/jar/Handler.java (flat): Genericized. + * gnu/java/net/protocol/jar/Connection.java (JarFileCache.cache): + Genericized. + (JarFileCache.get): Updated. + * gnu/java/net/protocol/http/SimpleCookieManager.java (cookies): + Genericized. + (SimpleCookieManager): Updated. + (setCookie): Likewise. + (getCookies): Likewise. + (addCookies): Likewise. + * gnu/java/net/protocol/http/Request.java (responseHeaderHandlers): + Genericized. + (Request): Updated. + (createResponseBodyStream): Removed unused variable. + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Remove + unused variable. + (getRequestProperties): Genericized. + * gnu/java/net/protocol/http/HTTPConnection.java + (handshakeCompletedListeners): Genericized. + (nonceCounts): Likewise. + (HTTPConnection): Updated. + (Pool.connectionPool): Likewise. + (getNonceCount): Updated. + (incrementNonce): Likewise. + * gnu/java/net/protocol/http/Headers.java (headers): Genericized. + * gnu/java/net/protocol/http/ChunkedInputStream.java (CR, LF): Removed + unused fields. + * gnu/java/net/protocol/ftp/FTPURLConnection.java (connect): + Genericized. + (getRequestProperties): Likewise. + (addRequestPropertyValue): Likewise. Fixed return result. + * gnu/java/net/protocol/ftp/FTPConnection.java (nameList): + Genericized. + * gnu/java/net/local/LocalSocket.java: Fixed imports. + * gnu/java/net/local/LocalServerSocket.java: Fixed imports. + * gnu/java/net/loader/URLStreamHandlerCache.java (factoryCache): + Genericized. + (add): Updated. + (get): Likewise. + * gnu/java/net/loader/URLLoader.java (getClassPath): Genericized. + * gnu/java/net/loader/JarURLLoader.java (classPath): Genericized. + (initialize): Updated. + (getClassPath): Genericized. + * gnu/java/net/IndexListParser.java (prefixes): Genericized. + (IndexListParser): Updated. + (getHeaders): Likewise. + * gnu/java/net/HeaderFieldHelper.java (headerFieldKeys): Genericized. + (headerFieldValues): Likewise. + (HeaderFieldHelper): Updated. + (getHeaderFieldValueByKey): Likewise. + (getHeaderFields): Likewise. + * gnu/java/net/GetLocalHostAction.java: Genericized. + * gnu/java/net/DefaultContentHandlerFactory.java (imageTypes): + Genericized. + +2006-12-18 Tom Tromey + + * java/util/prefs/Preferences.java (getFactory): Genericized. + * java/util/prefs/AbstractPreferences.java (childCache): Genericized. + (nodeListeners): Likewise. + (preferenceListeners): Likewise. + (cachedChildren): Rewrote. + (childrenNames): Updated. + (addNodeChangeListener): Likewise. + (addPreferenceChangeListener): Likewise. + * gnu/java/util/prefs/gconf/GConfNativePeer.java (getKeys): + Genericized. + (getChildrenNodes): Likewise. + (gconf_client_all_nodes): Likewise. + (gconf_client_all_keys): Likewise. + * gnu/java/util/prefs/MemoryBasedPreferences.java (entries): + Genericized. + (keysSpi): Likewise. + (getSpi): Likewise. + * gnu/java/util/prefs/GConfBasedPreferences.java (childrenNamesSpi): + Genericized. + (keysSpi): Likewise. + (postorderRemove): Likewise. + * gnu/java/util/prefs/EventDispatcher.java (queue): Genericized. + (run): Updated. + +2006-12-18 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawGlyphVector): Round bounds instead of casting & truncating.. + +2006-12-17 Tom Tromey + + * javax/sound/sampled/BooleanControl.java (type): Removed unused + field. + * javax/sound/sampled/AudioSystem.java (getAudioFileTypes): + Genericized. + (getAudioInputStream): Removed unused variable. + (getMixerInfo): Genericized. + (getSourceLineInfo): Likewise. + (getTargetEncodings): Likewise. + (getTargetFormats): Likewise. + (getTargetLineInfo): Likewise. + * javax/sound/sampled/AudioFormat.java (properties): Genericized. + (AudioFormat): Updated. + * javax/sound/sampled/AudioFileFormat.java (properties): Genericized. + (AudioFileFormat): Updated. + +2006-12-17 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + (newPlatformMXBeanProxy(MBeanServerConnection, + String, Class)): Initial implementation. + +2006-12-17 Tom Tromey + + * javax/naming/spi/Resolver.java: Fixed comments and imports. + * javax/naming/ldap/InitialLdapContext.java (InitialLdapContext): + Genericized. + * javax/naming/directory/BasicAttributes.java (attributes): + Genericized. + (BasicAttributes): Updated. + (get): Likewise. + (getAll): Likewise. + (getIDs): Rewrote. + (readObject): Updated. + (BasicAttributesEnumeration): Genericized. + * javax/naming/directory/BasicAttribute.java (BasicAttribute): + Genericized. + (clone): Likewise. + (readObject): Likewise. + * javax/naming/Reference.java (Reference): Genericized. + (clone): Likewise. + (get): Likewise. + (get): Likewise. + * javax/naming/InitialContext.java (colon_list): Genericized. + (merge): Likewise. + * javax/naming/CompoundName.java (elts): Genericized. + (CompoundName): Updated. + (addAll): Likewise. + (compareTo): Likewise. + (endsWith): Likewise. + (get): Likewise. + (hashCode): Likewise. + (startsWith): Likewise. + (readObject): Likewise. + * javax/naming/CompositeName.java (elts): Genericized. + (CompositeName): Updated. + (addAll): Likewise. + (compareTo): Likewise. + (get): Likewise. + (getPrefix): Likewise. + (getSuffix): Likewise. + (toString): Likewise. + (readObject): Likewise. + +2006-12-17 Mark Wielaard + + * doc/www.gnu.org/include/layout.wml: Remove gif reference. + * doc/www.gnu.org/include/macros.wml: Correct FSF contact info. + + * doc/www.gnu.org/newsitems.txt: Add 0.93. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20061211.wml: New file. + +2006-12-17 Mark Wielaard + + * examples/Makefile.am (JCOMPILER): Don't warn for deprecation, + serial, typeHiding, unchecked, unused and varargsCast. + * tools/Makefile.am (JCOMPILER): Likewise. + +2006-12-17 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Don't remove .lst files immediately. + (clean-local): Remove all .lst files + * tools/.cvsignore: Add *.lst. + +2006-12-16 Roman Kennke + + * examples/gnu/classpath/examples/awt/HintingDemo.java: + New demonstration program for the autohinter. + +2006-12-16 Roman Kennke + + * gnu/java/awt/font/FontDelegate.java + (FLAG_FITTED): New constant field. + (FLAG_NO_HINT_HORIZONTAL): New constant field. + (FLAG_NO_HINT_VERTICAL): New constant field.w + (FLAG_NO_HINT_EDGE_POINTS): New constant field. + (FLAG_NO_HINT_STRONG_POINTS): New constant field. + (FLAG_NO_HINT_WEAK_POINTS): New constant field. + (TYPE_FITTED): Replaced by flags above. + (TYPE_SCALED): Replaced by flags above. + (TYPE_ORIGINAL): Replaced by flags above. + * gnu/java/awt/font/GNUGlyphVector.java + (getGlyphOutline): Use FLAG_FITTED. + * gnu/java/awt/font/autofit/AutoHinter.java + (setFlags): New method. Sets hinting flags. + * gnu/java/awt/font/autofit/GlyphHints.java + (flags): New field. + (alignStrongPoint): Use 16.16 fixed arithmetic. + (doAlignEdgePoints): New helper method. + (doAlignStrongPoints): New helper method. + (doAlignWeakPoints): New helper method. + (doHorizonal): Check flags. + (doVertical): Check flags. + * gnu/java/awt/font/autofit/Latin.java + (applyHints): Check hinting flags. + (computeEdges): Also initialize fitted position. + (scaleMetricsDim): Commented out buggy block. + * gnu/java/awt/font/opentype/Hinter.java + (setFlags): New method. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (checkHinter): Accept flags parameter. + (createGlyphVector): Pass flags to hinter. + (getGlyphOutline): Pass flags to hinter. + * gnu/java/awt/font/opentype/truetype/Fixed.java + (floatValue16): New method. + * gnu/java/awt/font/opentype/truetype/Zone.java + (getX): Use new flags. + (getY): Use new flags. + +2006-12-16 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Remove all-classes.lst. + (clean-local): Likewise. + +2006-12-16 Mark Wielaard + + * tools/Makefile.am (TOOLS_ZIP): Don't pass -w to JCOMPILER. + +2006-12-15 Andrew John Hughes + + * java/util/Collections.java: + (toArray()): Return Object[] as required. + (toArray(S[])): Use new type variable S rather than + the class one. + +2006-12-15 Christian Thalinger + + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Added support for Sun's + javac. + (CLASSPATH_WITH_JAVAC): Added. + (CLASSPATH_CHECK_JAVAC): Likewise. + * lib/Makefile.am (JAVAC): Renamed to JCOMPILER. + (FOUND_JAVAC): Added support for Sun's javac. + * examples/Makefile.am: Likewise. + * tools/Makefile.am: Likewise. + +2006-12-15 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (draw): Pass boolean to setAntialias. + (drawGlyphVector): Likewise. + (drawString): Likewise. + (fill): Likewise. + (setAntialias): Change signature to accept boolean. + +2006-12-15 Roman Kennke + + * gnu/java/awt/font/FontDelegate.java + (TYPE_FITTED): New constant. + (TYPE_ORIGINAL): New constant. + (TYPE_SCALED): New constant. + (getGlyphOutline): Allow the kind of outline be specified as one + of the constants above. + * gnu/java/awt/font/GNUGlyphVector.java + (getGlyphOutline(int,int)): Add type parameter for fetching + the intermediate outlines for debugging. + (getGlyphOutline(int)): Fetch TYPE_FITTED outline from font + delegate. + (getOutline(float,float,int)): Added for debugging purpose. + (performDefaultLayout): Round the advance here for better hinting. + This is only a workaround for not hinting the metrics right now. + * gnu/java/awt/font/autofit/AxisHints.java + (getEdgeIndex): New helper method. Fetches the index of + a given edge in the array. + (newEdge): Fixed sorting. + * gnu/java/awt/font/autofit/Edge.java + (pos): New field. Stores the fitted position. + (scale): New field. + (toString): More debug output. + * gnu/java/awt/font/autofit/GlyphHints.java + (alignEdgePoints): New method. Aligns the points of an outline + to their edges hinted positions. + (alignStrongPoints): New method. Aligns strong points. + (alignWeakPoints): New method. Aligns weak points. + (getPointIndex): New helper method. + (iupInterp): New helper method. Interpolates points. + (iupShift): New helper method. Shifts a complete contour. + (storePoint): New helper method. + * gnu/java/awt/font/autofit/Latin.java + (alignEdgePoints): Moved to GlyphHints. + (alignLinkedEdge): New helper method. + (alignSerifEdge): New helper method. + (alignStrongPoints): Moved to GlyphHints. + (alignWeakPoints): Moved to GlyphHints. + (applyHints): Call moved methods on GlyphHints. + (computeStemWidth): New helper method. + (doHorzSnap): New helper method. + (doVertSnap): New helper method. + (doMono): New helper method. + (doneWidth): New helper method. + (doStemAdjust): New helper method. + (hintEdges): Implemented. + (initWidths): Removed old comment. + (snapWidth): New helper method. + * gnu/java/awt/font/autofit/Width.java + (toString): More debug output. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (getGlyphOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/Scaler.java + (getOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/truetype/Point.java + Make all flags of short type. Add new accessor methods for + coordinates that can return scaled and original shapes too. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getOutline): Add type parameter for debugging. + * gnu/java/awt/font/opentype/truetype/Zone.java + Add type parameter to X and Y accessors. + (getPath): Add type parameter. + (getPathIterator): Likewise. + (transform): Do store transformed value in the x and y fields too. + * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java + (type): New field. + (ZonePathIterator): Add type parameter. + (getSegment): Fetch coordinates with type. + (getStartSegment): Likewise. + +2006-12-15 Christian Thalinger + + * autogen.sh: Check for all 2.6x autoconf versions. + +2006-12-15 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (antialias): New private field. + (ignoreAA): New private field. + (cairoSetAntialias): New native method. + (draw): Check anti-alias setting. + (drawGlyphVector): Likewise. + (drawString): Likewise. + (fill): Likewise. + (setAntialias): New private method. + (setup): Set default antialias value. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: + (gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias): New method. + +2006-12-15 Tom Tromey + + * external/jsr166/.cvsignore: Added Makefile. + +2006-12-15 Tom Tromey + + * tools/gnu/classpath/tools/serialver/SerialVer.java (addFileURL): + Genericized. + (getClassLoader): Likewise. + (classes): Likewise. + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java (main): + Removed unused variable. + * tools/gnu/classpath/tools/jar/WorkSet.java (allItems): Genericize. + (initSet): Likewise. + * tools/gnu/classpath/tools/jar/Main.java (entries): Genericize. + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): + Genericized. + * tools/gnu/classpath/tools/jar/Creator.java (writeFile): Close the + input stream. + (writtenItems): Genericize. + (addEntries): Likewise. + (getAllEntries): Likewise. + +2006-12-15 Tom Tromey + + PR classpath/29526: + * gnu/java/nio/ChannelInputStream.java (read): New overload. + (read): Mask return result. + +2006-12-15 Andrew Haley + + * tools/Makefile.am (TOOLS_ZIP): Pass -g -w to javac. + Create all-classes.lst that contains all source filenames. + Delete asm.lst. + + * tools/gnu/classpath/tools/jar/Creator.java (writeFile): Close + the inputStream. + +2006-12-14 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Clean + imports. + (getHeaderFields): Change return type to Map> + * gnu/java/net/protocol/http/Headers.java: Clean imports. + (headers) Change type to ArrayList. + (iterator) Change return type to Iterator. + (getValue) Remove casts. + (put) Same. + (putAll) Same. + (remove) Same. + (getAsMap) Change return type to Map> and use + generics internally. + (getHeaderName) Remove casts. + (getHeaderValue) Same. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/HintScaler.java + Renamed Scaler to HintScaler to avoid name-clash. + * gnu/java/awt/font/autofit/AutoHinter.java + (scaler): New field. + (applyHints): Scale the metrics before applying the hints. + (init): Copy font into scaler. + * gnu/java/awt/font/autofit/Edge.java + (blueEdge): New field. + (toString): Include first and last fields in debug output. + * gnu/java/awt/font/autofit/GlyphHints.java + (reload): Grab the scales here. + * gnu/java/awt/font/autofit/Latin.java + (computeBlueEdges): Implemented blue-edge detection. + (computeEdges): Correctly calculate edgeDistanceThreshold and + the scaled edge position. + (initWidths): Renamed Scaler to HintScaler. Sort widths and + store widthCount. + (scaleMetrics): Add HintScaler parameter. Implemented to scale + the metrics. + (scaleMetricsDim): New helper method. + * gnu/java/awt/font/autofit/LatinAxis.java + (orgDelta): New field. + (orgScale): New field. + * gnu/java/awt/font/autofit/LatinBlue.java: Reordered flags. + (FLAG_BLUE_ACTIVE): New flag. + * gnu/java/awt/font/autofit/Scaler.java: Renamed to HintScaler. + * gnu/java/awt/font/autofit/Script.java + (scaleMetrics): Add HintScaler argument. + * gnu/java/awt/font/autofit/ScriptMetrics.java + Renamed Scaler to HintScaler. + * gnu/java/awt/font/autofit/Utils.java + (sort(int,Width[])): New helper method. Sorts Width arrays. + (mulDiv): New helper method. + (pixFloor): New helper method. + (pixRound): New helper method. + * gnu/java/awt/font/autofit/Width.java + (toString): New method. For debug output. + * gnu/java/awt/font/opentype/truetype/Fixed.java + (mul16): New method. Multiplies with 16.16 fixed point arithmetics. + (div16): New method. Divides with 16.16 fixed point arithmetics. + (valueOf16): New method. Converts double to 16.16 fixed point. + * gnu/java/awt/font/opentype/truetype/Zone.java + (scaleX): New field. + (scaleY): New field. + (shearX): New field. + (shearY): New field. + (transform): Store translation and shearing in fields instead of + local vars. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/AutoHinter.java + (hints): New field. + (applyHints): New method. Implements the actual hinting. + * gnu/java/awt/font/autofit/AxisHints.java + (edges): New field. + (AxisHints): Initialize edges field. + (newEdge): New method. Records a new edge and sorts it into the + existing list. + * gnu/java/awt/font/autofit/Edge.java: New class. + * gnu/java/awt/font/autofit/GlyphHints.java + (GlyphHints): Initialize the scales with 1. + (doHorizontal): New method. + (doVertical): New method. + * gnu/java/awt/font/autofit/Latin.java + (alignEdgePoints): New stub method. + (alignStrongPoints): New stub method. + (alignWeakPoints): New stub method. + (applyHints): Take outline as argument. Implemented skeleton. + (computeBlueEdges): New stub method. + (computeEdges): New method. Detects edges on a glyph outline. + (detectFeatures): New methods. Performs local feature analysis. + (hintEdges): New stub method. + (initBlues): Remove debug output. + * gnu/java/awt/font/autofit/LatinAxis.java + (edgeDistanceThreshold): Changed to be an int + (as fixed-point decimal). + * gnu/java/awt/font/autofit/Script.java + (applyHints): Include the outline in the method call. + * gnu/java/awt/font/autofit/Segment.java + (FLAG_EDGE_NORMAL): Set value to 0. + (FLAG_EDGE_SERIF): New constant. + (FLAG_EDGE_DONE): New constant. + (edge): New field. + (edgeNext): New field. + * gnu/java/awt/font/opentype/Hinter.java + (applyHints): New method. Applies the hints to the specified outline. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (getGlyphOutline): Check the hinter and call the scaler with the + hinter. + * gnu/java/awt/font/opentype/Scaler.java + (getOutline): Also pass a Hinter. + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java + (loadCompoundGlyph): Also accept a hinter argument. + (loadGlyph): Also accept a hinter argument. + (loadSimpleGlyph): Also accept a hinter argument. Hint the + resulting outline. + (loadSubGlyph): Also accept a hinter argument. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getOutline): Accept hinter and pass it to the loader. + (getRawOutline): Pass null hinter to the loader. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/LatinBlue.java: + New class. + +2006-12-14 Roman Kennke + + * gnu/java/awt/font/autofit/Latin.java + (CAPITAL_TOP): New constant. + (CAPITAL_BOTTOM): New constant. + (SMALL_F_TOP): New constant. + (SMALL_TOP): New constant. + (SMALL_BOTTOM): New constant. + (SMALL_MINOR): New constant. + (BLUE_MAX): New constant. + (IDENTITY): New constant transform. + (MAX_TEST_CHARS): New constant. + (TEST_CHARS): New constants. + (initBlues): Implemented. + (initWidths): Use constant identity transform for loading + the test glyph. + (isTopBlue): New helper method. + * gnu/java/awt/font/autofit/LatinAxis.java + (widths): Initialize in constructor. + (blues): New field. Stores the blue zones. + (blueCount): New field. The number of blue zones. + (LatinAxis): New constructor. + * gnu/java/awt/font/autofit/Utils.java + (sort): New helper method. + * gnu/java/awt/font/opentype/truetype/Zone.java + (getContourEnd): New helper method. + +2006-12-13 David Daney + + * java/lang/Collections.java + (UnmodifiableEntrySet.toArray): Fix bad casts. + +2006-12-13 Roman Kennke + + * gnu/java/awt/font/autofit/AutoHinter.java: New class. The entry + point into the autohinter. + * gnu/java/awt/font/autofit/AxisHints.java + (majorDir): New field. + (numEdges): New field. + (numSegments): New field. + (AxisHints): New constructor. + (newSegment): New method. Records a new segment. + * gnu/java/awt/font/autofit/Constants.java + (DIR_DOWN): New constant. + (DIR_LEFT): New constant. + (DIR_RIGHT): New constant. + (DIR_TOP): New constant. + (DIR_NONE): New constant. + * gnu/java/awt/font/autofit/GlyphHints.java + (contours): New field. + (numContours): New field. + (maxPoints): New field. + (metrics): New field. + (numPoints): New field. + (points): New field. + (GlyphHints): New constructor. + (computeInflectionPoints): New helper method. + (computeSegments): Moved to Latin. + (linkSegments): Moved to Lating. + (reload): Implemented. + (rescale): Copy the metrics. + (setWeakPoint): New helper method. + * gnu/java/awt/font/autofit/Latin.java + (MAX_WIDTH): Make package private. + (computeSegments): New method. Computes the segments to a glyph. + (initWidths): Implemented. Determines the standard widths of stems + for the font. + (linkSegments): New method. Links stem segments and determines + serif segments. + * gnu/java/awt/font/autofit/LatinMetrics.java + (LatinMetrics()): New constructor. + (LatinMetrics(OpenTypeFont)): New constructor. + * gnu/java/awt/font/autofit/ScriptMetrics.java + (ScriptMetrics): New constructor. + * gnu/java/awt/font/autofit/Segment.java + (FLAG_EDGE_NORMAL): New constant. + (FLAG_EDGE_ROUND): New constant. + (contour): New field. + (dir): New field. + (first): New field. + (flags): New field. + (index): Removed. + (last): New field. + (len): New field. + (maxPos): New field. + (minPos): New field. + (numLinked): New field. + (score): New field. + (serif): New field. + (toString): New method. For debug output. + * gnu/java/awt/font/autofit/Utils.java: New utility class. + * gnu/java/awt/font/opentype/Hinter.java: New interface for + hinter implementations. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (hinter): New field. Stores the hinter for that font. + (checkHinter): Checks if a hinter is installed and installs one + if necessary. + (createGlyphVector): Check installed hinter. + * gnu/java/awt/font/opentype/truetype/Fixed.java: Make class public + for access in the autohinting package. + * gnu/java/awt/font/opentype/truetype/Point.java: New class. Stores + coordinates and additional info that describe the outline of a glyph. + * gnu/java/awt/font/opentype/truetype/Zone.java: Use Point class + for storing the points. + +2006-12-13 Tom Tromey + + * java/security/BasicPermission.java: Remove gcj workaround. + * java/security/cert/X509Certificate.java: Remove gcj workaround. + * java/net/ServerSocket.java (ServerSocket): Remove gcj + workaround. + (getImpl): Likewise. + * java/util/TreeMap.java (TreeIterator): Remove gcj workaround. + * java/text/AttributedStringIterator.java (getRunLimit): Remove + qualifications. + (getRunStart): Likewise. + * java/awt/AWTKeyStroke.java (removeEldestEntry): Remove gcj + workaround. + * java/awt/AlphaComposite.java (removeEldestEntry): Remove gcj + workaround. + * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO, + BIG_VALUE): Don't fully qualify. + * gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java: Removed + imports. + * gnu/javax/sound/midi/alsa/AlsaPortDevice.java: Removed import. + * gnu/javax/sound/midi/dssi/DSSISynthesizer.java: Removed import. + * javax/swing/JComponent.java (firePropertyChange): Removed. + * javax/swing/text/InternationalFormatter.java (clone): + Uncomment. + * javax/swing/text/AbstractDocument.java (addEdit): Remove gcj + workaround. + (getChange): Likewise. + +2006-12-13 Tom Tromey + + * examples/Makefile.am: Removed gcjx code. + * lib/Makefile.am: Removed gcjx code. + * tools/Makefile.am: Removed gcjx code. + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Removed gcjx code. + (CLASSPATH_WITH_GCJX): Removed. + (CLASSPATH_CHECK_GCJX): Likewise. + +2006-12-13 Tom Tromey + + * tools/toolwrapper.c (MAINCLASS): New define. + (main): Use it. + * tools/Makefile.am (gnative2ascii_CFLAGS): Added -D for + MAINCLASS. + (gserialver_CFLAGS): Likewise. + * tools/gnative2ascii.in: Main class is named Native2ASCII. + * tools/gserialver.in: Main class is named SerialVer. + +2006-12-12 Roman Kennke + + * javax/imageio/FileCacheImageOutputStream.java + (cache): New field. The actual cache as RandomAccessFile. + (cacheDir): Removed. Not needed at all. + (cacheFile): New field. The cache file. + (maxPos): New field. Stores the maximum position. + (FileCacheImageOutputStream): Initialize cache file. + (checkStreamClosed): Removed. This should be done by the super + method checkClosed(). + (close): Properly close the stream and delete the cache. + (flushBefore): Implemented to also flush the cache. + (length): Implemented to return the length of the cache. + (read()): Implemented to read from the cache. + (read(byte[],int,int)): Likewise. + (seek): Implemented to seek the cache too. + (write(int)): Write to cache. + (write(byte[],int,int)) + +2006-12-12 Francis Kung + + PR 30155 + * javax/imageio/spi/IIORegistry.java (IIORegistry): Register Toolkit SPIs. + +2006-12-12 Andrew John Hughes + + * javax/management/AttributeList.java: + Extend ArrayList. + +2006-12-12 Andrew John Hughes + + PR classpath/30154: + * javax/management/MBeanServer.java: + (createMBeanServer(String)): Check for a null + builder. + +2006-12-11 Roman Kennke + + * java/awt/print/PrinterJob.java + (lookupStreamPrintServices): Uncommented and fixed parameters. + +2006-12-11 Roman Kennke + + * java/awt/datatransfer/SystemFlavorMap.java + (flavorToNativeMap): Make typesafe. + (nativeToFlavorMap): Make typesafe. + (SystemFlavorMap): Read in mapping by reading the flavormap.properties. + (addFlavorForUnencodedNative): Access maps in a typesafe way. + (addUnencodedNativeForFlavor): Access maps in a typesafe way. + (getFlavorsForNative): Implemented. + (getNativesForFlavor): Implemented. + (setupMapping): New helper method. + +2006-12-11 Jeroen Frijters + + * javax/net/ssl/SSLSocketFactory.java (getDefault): + Chain exception cause. + +2006-12-11 Roman Kennke + + * .classpath: Include ASM in Eclipse classpath. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Trim strings of whitespace. + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use Class.getName() for normal (non-parameterized) cases. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Likewise. + +2006-12-11 Andrew John Hughes + + * java/lang/Class.java: + (getClasses()): Return Class[]. + (internalGetClasses()): Likewise. + (getConstructor(Class...)): Add type parameter + to parameters. + (getDeclaredConstructor(Class...)): Likewise. + (getDeclaredClasses()): Return Class[]. + (getDeclaredClasses(boolean)): Likewise. + (getDeclaredConstructors()): Return Constructor[]. + (getDeclaredConstructors(boolean)): Likewise. + (getDeclaredMethod(String,Class...)): Add type + parameter to parameters. + (getInterfaces()): Return Class[]. + (getMethods(String,Class...)): Add type + parameter to parameters. + * java/text/CollationKey.java: + Make non-final. + * java/text/DecimalFormatSymbols.java: + Likewise. + +2006-12-11 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Handle Map and List as + Strings of the form "java.util.Map" and + "java.util.List" + * javax/management/MBeanAttributeInfo.java: + (MBeanAttributeInfo(String,String,Method,Method)): + Use generic parameter and return types. + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String, Constructor)): + Use generic parameter types. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String, Method)): + Use generic parameter and return types. + +2006-12-10 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Comment out code for using type + variables for Map and List. + * java/lang/Thread.java: + (Thread(ThreadGroup,Runnable,String,long)): Fix + incrementation of totalThreadsCreated to be prior to use. + +2006-12-10 Andrew John Hughes + + * javax/management/MBeanServerFactory.java: + (createMBeanServer(String)): Added security check. + (findMBeanServer(String)): Likewise. + (newMBeanServer(String)): Likewise. + (releaseMBeanServer(String)): Likewise. + * javax/management/MBeanServerPermission.java: + New file. + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + Fix comment. + +2006-12-08 David Daney + + * NEWS: Mention URLConnection.[get|set]ReadTimeout. + +2006-12-08 David Daney + + * gnu/java/net/protocol/http/HTTPConnection.java (imports): Add + SocketException. + (HTTPConnection): Handle NumberFormatException in properties parsing. + (Pool.get): Set timeout on reused sockets. + * gnu/java/net/protocol/http/HTTPURLConnection.java (proxyPort): + Initialize. + (HTTPURLConnection): Cleanup properties handling. + (getConnection): Use both connection and read timeouts. + (setConnectTimeout): Removed. + (setReadTimeout): New method. + * java/net/URLConnection.java (timeout): Renamed to... + (connectTimeout): ... connectTimeout throughout. + (readTimeout): New field. + (getReadTimeout): New method. + (setReadTimeout): New method. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (doLayout): Change the location of the scrollpane's child + to (0, 0). + +2006-12-08 David Daney + + * native/jni/java-nio/gnu_java_nio_VMChannel.c (is_non_blocking_fd): + New method. + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): Throw + SocketTimeoutException if a blocking socket timesout. + (Java_gnu_java_nio_VMChannel_readScattering): Same. + (Java_gnu_java_nio_VMChannel_read__I): Same. + (Java_gnu_java_nio_VMChannel_connect): Initialize the fd set. + (Java_gnu_java_nio_VMChannel_connect6): Same. + +2006-12-08 Mark Wielaard + + * configure.ac (VERSION): Set to 0.93-generics. + * NEWS: Add release date. + +2006-12-08 Tania Bento + + * java/awt/ScrollPane.java + (getScrollPosition): Throw NullPointerException if scrollpane + does have a child. + (setScrollPosition(int, int)): Throw NullPointerException if + scrollpane does have a child. Check that both ints are within + the allowed bounds; If they are not, scroll to the closest allowed + bound. + +2006-12-07 Roman Kennke + + * javax/swing/JEditorPane.java + (EditorKitMapping): New inner helper class. + (editorKits): New static field for caching editor kit instances. + (static_initiazer): Initialize static mappings here. + (createEditorKitForContentType): Try to use cached instance. + Use correct classloader for loading. + (getEditorKitClassNameForContentType): Make use of EditorKitMapping + class. + (getEditorKitForContentType): Store the fetched editor kit. + Fallback to createDefaultEditorKit(). + (init): Don't clean the static registry here. + (registerEditorKitForContentType(String,String,ClassLoader)): + Implemented. + (registerEditorKitForContentType(String,String)): Delegate to + the other version of this method with the thread's context + classloader. + +2006-12-07 Mark Wielaard + + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (setPage): Don't convert URL to String for setPage(). + +2006-12-07 Mark Wielaard + + * tools/Makefile.am (clean-local): Remove iasm and asm.lst. + +2006-12-07 Mark Wielaard + + * tools/Makefile.am: Explicitly define and use bootclasspath as + GLIBJ_BOOTCLASSPATH + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Tom Tromey + + * NEWS: Mention ASM. + * INSTALL: Don't mention --with-asm. + * tools/external/README: New file. + * tools/toolwrapper.c (main): Don't use ASM_JAR. + * tools/gjavah.in: Don't use PATH_TO_ASM. + * tools/grmic.in: Likewise. + * tools/Makefile.am (GLIBJ_CLASSPATH): Removed PATH_TO_ASM, added + 'asm'. + (javah, rmic): Removed variables. + (bin_PROGRAMS): Updated. + (gappletviewer_CFLAGS): Don't define ASM_JAR. + (gjarsigner_CFLAGS): Likewise. + (gkeytool_CFLAGS): Likewise. + (gjar_CFLAGS): Likewise. + (gnative2ascii_CFLAGS): Likewise. + (gserialver_CFLAGS): Likewise. + (grmiregistry_CFLAGS): Likewise. + (gtnameserv_CFLAGS): Likewise. + (gorbd_CFLAGS): Likewise. + (grmid_CFLAGS): Likewise. + (gjavah_CFLAGS): Likewise. + (grmic_CFLAGS): Likewise. + (bin_SCRIPTS): Updated. + (TOOLS_JAVA_FILES): Updated. + ($(TOOLS_ZIP)): Compile ASM sources. Copy resource files. + * configure.ac: Removed --with-asm. Always build gjavah. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Synchronize on the AsyncImage to avoid threading + issues. + (addObservers): Check for obs==null outside and synchronize on + this inside to avoid locking issues. + (checkImage): New helper method. + (notifyObservers): Check that the correct lock is held and + remove actual locking. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkImage): Added special handling for AsyncImages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Mark Wielaard + + * gnu/java/awt/peer/gtk/AsyncImage.java (addObserver): Never notify + null Observer. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + +2006-12-06 Francis Kung + + * java/awt/geom/RectangularShape.java + (getBounds): Remove empty rectangle check. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside border is null, return true if outside + border is opaque, false otherwise; if outside border is null, return + true if inside border is opaque, false otherwise; if inside or + outside border are both not null, then return true only if both the + inside and outside border are opaque, false otherwise. + +2006-12-06 Tania Bento + + * javax/swing/border/CompoundBorder.java: + (isBorderOpaque): If inside and outside border both have a null + value, return true. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-06 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (Loader.run): Nullify observers after loading. + (observers): Made package private. + (addObserver): Check for null observers field. Create local + variable for thread safety. + (getHeight): Use addObserver() for checking state of field + and notifying observer when necessary. + (getWidth): Use addObserver() for checking state of field + and notifying observer when necessary. + (getProperty): Use addObserver() for checking state of field + and notifying observer when necessary. + (notifyObservers): Check for null observers field. Create local + variable for thread safety. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java + (addObserver): Check for null and ignore null observers. + (getWidth): Check for null and ignore null observers. + (getHeight): Check for null and ignore null observers. + (getProperty): Check for null and ignore null observers. + +2006-12-05 Francis Kung + + * java/awt/BasicStroke.java + (capEnd): Prevent division by zero. + * java/awt/geom/Arc2D.java + (ArcIterator.ArcIterator): Do not shift the arc to make the extent positive. + (ArcIterator.currentSegment): Handle a negative extent. + +2006-12-05 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Handle translated subimages properly, ie, if the image's + 0,0 position is not the data buffer's first element. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (imageUpdate): Use spans field to determine if the CSS width/height + are set. Call safePreferenceChanged to protect view structure + from threading issues. + (spans): Made package private. + (ImageView): Initialize loadOnDemand with false. + (loadImage): Call Toolkit.prepareImage() to make sure we have + our Observer registered. + (safePreferenceChanged): New helper method. Calls preferenceChanged + in a thread safe environment. + +2006-12-05 Roman Kennke + + * NEWS: Add entry about improved HTML support. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/ImageView.java + (ImageView): Initialize spans array here. + (setPropertiesFromAttributes): Moved init of spans array to + constructor. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/BlockView.java + (painter): Made package visible. + * javax/swing/text/html/StyleSheet.java + (translateBorder): New helper method. + (translateHTMLToCSS): Add mappings for border attributes. + * javax/swing/text/html/TableView.java + Made class subclass of BlockView to get CSS goodness. + (CellView.rowSpan): New field. + (CellView.setPropertiesFromAttributes): Fetch rowspan. + (RowView.overlap): New field. + (RowView.rowIndex): New field. + (RowView.layoutMajorAxis): Skip overlapping cells. + (RowView.layoutMinorAxis): Layout cells that span more than 1 row. + (numColumns): New field. + (tmpRect): New field. + (TableView): Initialize tmpRect. + (calculateColumnRequirements): Adjusted and fixed for multirows. + (getAlignment): Overridden to center tables. + (paint): Overridden to fix clipping. + (getStyleSheet): Made protected. + (layoutMajorAxis): Invalidate rows. + (setPropertiesFromAttributes): Made protected and call super. + (updateGrid): Update the overlapping information for multirows. + +2006-12-05 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed debug output. + * javax/swing/text/html/InlineView.java + (getBreakWeight): Likewise. + * javax/swing/text/html/StyleSheet.java + (addRule): Likewise. + (ListPainter.paint): Removed debug output. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/BlockView.java + (getAlignment): Align blocks horizontally by the superclass. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Replace equals comparison by == for efficiency. + Add mapping for misplaced tr, td and th tags. Include object mapping. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid early. + (gridValid): Initialize with false. + (create): Only create RowView and CellView for correctly placed + tags. Avoid unnecessary casts. + (getAlignment): Removed. + (replace): Invalidate grid early. + + +2006-12-06 Roman Kennke + + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Check column index for invalid value. + (updateGrid): Check column index for invalid value. + +2006-12-06 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Buffer the stream for efficiency. + (setPage): Don't scroll the view at this point. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call RootView's setSize to get synchronization. + (RootView.setSize): Synchronize to prevent race in layout code. + * javax/swing/text/AbstractDocument.java + (notifyListeners): New field. + (fireChangedUpdate): Track notifyListener field. + (fireRemoveUpdate): Track notifyListener field. + (fireIndertUpdate): Track notifyListener field. + (writeLock): Check notifyListener and throw IllegalStateException. + * javax/swing/text/View.java + (preferenceChanged): Create local var for better thread safety and + more efficiency. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/icons/back.png, + * examples/gnu/classpath/examples/icons/reload.png: + New icons for the HTML browser. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (history): New field. Manages the browsing history. + (HtmlDemo): Initialize history. + (createContent): Set location and add history. Add toolbar. + (createToolBar): New helper method. + (main): Make default size bigger. + * examples/gnu/classpath/examples/swing/frame1.html, + * examples/gnu/classpath/examples/swing/frame2.html, + * examples/gnu/classpath/examples/swing/frame3.html, + * examples/gnu/classpath/examples/swing/frame4.html, + * examples/gnu/classpath/examples/swing/frames.html, + * examples/gnu/classpath/examples/swing/tables.html: + New example pages. + * examples/gnu/classpath/examples/swing/welcome.html + Add a couple of links and new test pages. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (getIcon): Made package private. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (hyperlinkUpdate): Convert URL to string. + +2006-12-06 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (appear): Adjust visibility here. + (setDotImpl): Don't adjust visibility here. + (moveDotImpl): Don't adjust visibility here. + +2006-12-06 Roman Kennke + + * javax/swing/text/html/FormView.java + (SubmitThread.postData): Implemented. + (SubmitThread.run): Pass data to postData(). + (actionPerformed): Reset form when reset button is activated. + (createComponent): Add support for select lists and comboboxes. + Don't set value of text and password fields here, this is done + now in HTMLDocument for consistency. + (getElementFormData): Add support for fetching form data from + select lists and comboboxes as well as textareas. + (getSelectData): New helper method. Fetches form data from + select boxes. + (getTextAreaData): New helper method. Fetches form data from + textareas. + (resetForm): New helper method. Resets the entire form. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.end): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.start): Handle SELECT and OPTION tags. + (HTMLReader.FormAction.setModel): Initialize text and password + values here. Also, use the resetable special models. + Group radio buttons into ButtonGroup for exclusive selection. + (HTMLReader.FormTagAction): New class. Handles FORM tags. + (HTMLReader.buttonGroups): New field. + (HTMLReader.numOptions): New field. + (HTMLReader.option): New field. + (HTMLReader.selectModel): New field. + (HTMLReader.textAreaDocument): Make ResetablePlainDocument. + (HTMLReader.handleText): Handle OPTION text. + (HTMLReader.initTags): Map FORM tags to FormTagAction. + (HTMLReader.textAreaContent): Set initial content. + * javax/swing/text/html/Option.java + (Option): Make copy of attribute set. Initialize selected state. + (getValue): Fetch value from attribute set. + * javax/swing/text/html/ResetableModel.java: New interface. + * javax/swing/text/html/ResetablePlainDocument.java: New class. + Supports resetting the state. + * javax/swing/text/html/ResetableToggleButtonModel.java: Likewise. + * javax/swing/text/html/SelectComboBoxModel.java: Likewise. + * javax/swing/text/html/SelectListModel.java: Likewise. + +2006-12-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/BrowserEditorKit.java: + New class. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (LoadActionListener): Call setPage() helper method. + (createContent): Register tweaked editor kit. For FormSubmitEvents + call submitForm(), otherwise setPage(). + (postData): Helper method for posting form data. + (setPage): Helper method for navigating to a new URL. + (submitForm): Helper method for submitting a form. + * examples/gnu/classpath/examples/swing/forms.html: + Added text/password fields and select boxes. + * examples/gnu/classpath/examples/swing/welcome.html: Fixed typo. + +2006-12-07 Mark Wielaard + + * java/net/URL.java (URL(URL,String,URLStreamHandler,boolean)): New + private constructor. + (URL(URL,String,URLStreamHandler)): Call new constructor. + (URL(URL,String)): Likewise. + (URL(String)): Likewise. + +2006-12-07 Mark Wielaard + + * javax/swing/JEditorPane.java (createEditorKitForContentType): + Always load from system class loader. + +2006-12-06 Ben Konrath + + Fixes PR 29853. + * gnu/xml/dom/DomAttr.java: Don't report mutation if oldValue and + newValue are the same. + * gnu/xml/dom/DomNode.java: Set parent if null during mutation. + +2006-12-06 Chris Burdess + + Fixes PR 29272. + * javax/xml/parsers/DocumentBuilderFactory.java: Fix broken Javadoc. + * gnu/xml/stream/SAXParser.java: Fix file descriptor leak. + +2006-12-06 Chris Burdess + + Fixes PR 29264. + * gnu/xml/stream/XMLStreamWriterImpl.java: Allow arbitrary text in + writeDTD method. + +2006-12-056 Chris Burdess + + Fixes PR 28816. + * javax/xml/validation/SchemaFactory.java: Use correct algorithm to + discover schema factory implementation class. + +2006-12-05 Roman Kennke + + * gnu/java/awt/peer/gtk/AsyncImage.java: New class. Supports + asynchronous loading of images. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Fetch real image from possibly AsyncImage. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage(URL)): Create async image. + (imageOrError): Made method static for easy access from AsyncImage. + (prepareImage): For async images, register the observer to the + image. + +2006-12-05 Roman Kennke + + (paintComponent): Include paint area from event. + (updateComponent): Include paint area from event. + +2006-12-06 Thomas Fitzsimmons + + * java/awt/ScrollPane.java (addNotify): Add a parent panel for any + lightweight component, not just for non-Panel components. + (addImpl): Do not call doLayout. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c + (setNativeBounds): Ensure widget parent is a GtkFixed before + calling gtk_fixed_move. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (setNativeBounds): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setNativeBounds): Likewise. + +2006-12-04 Thomas Fitzsimmons + + * java/awt/Component.java (getFontImpl): Return a default font if + topmost parent's font is null. + +2006-12-04 Mark Wielaard + + * javax/swing/text/html/CSS.java (parseMarginShorthand): + Remove debug output. + +2006-12-04 Roman Kennke + + * java/awt/font/TextLayout.java + (hitTestChar): Fixed conditions for inclusion of range. + Use layout information in the run for more efficiency. + +2006-12-04 Roman Kennke + + * javax/swing/text/GlyphView.java + (J2DGlyphPainter): New inner class. + (checkPainter): For Java2D capable environments create + a J2DGlyphPainter. + +2006-12-04 Roman Kennke + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreeTypeGlyphVector): Don't filter control chars here. + (getGlyphs): Filter control chars and replace them by + hair space char. + +2006-12-04 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_connect): Retry on EINTR. + +2006-12-04 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (translate(String)): Don't assume the list uses "E", + just use the first and only type variable. + * java/lang/management/ManagementFactory.java: + (getPlatformMBeanServer()): Register logging bean. + * javax/management/openmbean/OpenType.java: + (OpenType(String,String,String)): Actually use + the string created to handle arrays. + +2006-12-04 Mark Wielaard + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Use CallStaticBooleanMethod. + +2006-12-04 Mark Wielaard + + * vm/reference/gnu/java/nio/VMChannel.java (isThreadInterrupted): + Make static. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (JCL_thread_interrupted): Only take JNIEnv. + (vm_channel_class): New static variable. + (initID): Set vm_channel_class. + Wrap all reads() and writes() in do-while blocks that check + interrupted status. + +2006-12-04 Andrew John Hughes + + * gnu/javax/management/Server.java: + Make map final and initialise it. + (unregisterMBean(ObjectName)): Match against + delegate's object name and not the instance. + * java/lang/management/ManagementFactory.java: + Added constant fields. + (getPlatformMBeanServer()): Implemented. + * javax/management/MBeanServerFactory.java: New file. + +2006-12-04 Roman Kennke + + * javax/swing/text/BoxView.java + (paint): Replaced painting algorithm with more simple and more + reliable painting of the box. + * javax/swing/text/html/BlockView.java + (PositionInfo): New inner class. Stores additional CSS + positioning information. + (positionInfo): New field. + (BlockView): Initialize positionInfo field. + (fetchLayoutInfo): New helper method. Fetches additional + CSS positioning information. + (layoutMajorAxis): Perform additional CSS layout. + (layoutMinorAxis): Perform additional CSS layout. + (positionView): New helper method. + (replace): Overridden to fetch additional layout information. + * javax/swing/text/html/CSS.java + (Attribute.POSITION): New field. + (Attribute.LEFT): New field. + (Attribute.RIGHT): New field. + (Attribute.TOP): New field. + (Attribute.BOTTOM): New field. + (getValue): Create Length for left, right, top and bottom + attributes. + +2006-12-04 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (Sgml): Consume any whitespace that immediately follows + and sgml insertion. + (parseDocument): Consume any initial whitespace. + +2006-12-03 Mark Wielaard + + * gnu/javax/management/Server.java (beans): Initialize. + (registerMBean): Don't initialize beans. + +2006-12-03 Mark Wielaard + + * java/util/logging/LogManager.java (getLevelProperty): Check + whether value is null before passing to Level.parse(). + +2006-12-04 Robert Lougher + + * java/lang/management/ThreadInfo.java (ThreadInfo): Check + whether given a null lock and lockOwner. + +2006-12-03 Mark Wielaard + + * javax/swing/JEditorPane.java (PageLoader.in): Made a PageStream. + (PageLoader.page): Made package local. + (PageLoader.run): Don't reset loader. + (PageLoader.cancel): New method. + (loading): Renamed to loader. + (getPage): Return loader.page. + (setPage): Always set loader. Never reset to null. + +2006-12-03 Mark Wielaard + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Check whether + path[k] is null. + (isLastChild): Return false when path is null. + +2006-12-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintArea): Renamed + to currentPaintArea. + (paintComponent): Work with local reference to currentPaintArea. + (updateComponent): Likewise. + (coalescePaintEvent): Set currentPaintArea. + +2006-12-02 Andrew John Hughes + + * javax/management/MBeanServerBuilder.java: New file. + +2006-12-01 Mark Wielaard + + * java/text/DecimalFormat.java (parse): Always increment parsing + index and adjust pos result. + +2006-12-01 Roman Kennke + + * javax/swing/text/html/HTML.java + (Attribute.DYNAMIC_CLASS): New field. + (Attribute.PSEUDO_CLASS): New field. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Initialize anchor with link + pseudo attribute. + (updateSpecialClass): New helper method. Updates the dynamic + or pseudo class for anchor tags. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.lastAnchorElement): New field. For tracking + enter/exit of anchors. + (LinkController.activateLink): Set pseudo class to 'visited'. + (LinkController.mouseMoved): Added support for tracking + the 'hover' dynamic class. + * javax/swing/text/html/InlineView.java + (changedUpdate): Fetch new properties. + * javax/swing/text/html/StyleSheet.java + (attributeSetToMap): New helper method. + (getRule): Also append dynamic and pseudo class to key. + (resolveStyle): Resolve style based generally on all attributes. + * javax/swing/text/html/TableView.java + (RowView.layoutMajorAxis): Make sure the grid is valid. + (updateGrid): Made package private. + * gnu/javax/swing/text/html/css/Selector.java + (calculateSpecificity): Added support for dynamic and pseudo classes. + (matches): Changed to operate on general attributes. + Added support for dynamic and pseudo classes. + +2006-12-01 Mario Torre + + * java/text/DecimalFormat.java (formatInternal): move the formatting of + fractional portion in a separate method. + Also fixes the handling of decimal separator and its associated field. + (handleFractionalPart): new method, needed to relax a bit + formatInternal. + +2006-12-01 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + (BCSSProxyServiceProvider.getCurrentServiceSelectors(BeanContextServices, + Class)): Implemented. + (BCSSProxyServiceProvider.getService(BeanContextServices, Object, + Class, Object)): Implemented. + (BCSSProxyServiceProvider.releaseService(BeanContextServices, + Object, Object)): Implemented. + (BCSSProxyServiceProvider.serviceRevoked(BeanContextServiceRevokedEvent)): + Implemented. + (initialiseBeanContextResources()): Implemented. + (releaseBeanContextResoures()): Implemented. + +2006-12-01 Mark Wielaard + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerated. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderStyle.java: New class for + handling border styles. + * gnu/javax/swing/text/html/css/BorderWidth.java + (isValid): New method. + * gnu/javax/swing/text/html/css/Length.java + (isValid): New method. + * javax/swing/text/html/CSS.java + (addInternal): Added shorthand parsing for border, padding and + margin. + (parseBackgroundShorthand): Added API docs. + (parsePaddingShorthand): New method. Handles padding shorthand + values. + (parseMarginShorthand): New method. Handles margin shorthand + values. + (parseBorderShorthand): New method. Handles border shorthand + values. + * javax/swing/text/html/StyleSheet.java + (translateHTMLToCSS): Set specific padding attributes. + (BoxPainter.BoxPainter): Don't handle PADDING and MARGIN here. + These shorthands are now handled in CSS. + (BoxPainter.paint): Exclude the outer margin. + +2006-12-01 Roman Kennke + + * gnu/javax/swing/text/html/css/Length.java + (emBase): New field. + (exBase): New field. + (isFontEMRelative): New field. + (isFontEXRelative): New field. + (Length): Recognize and setup EM and EX relative values. + (getValue): Handle EM and EX relative values. + (isEMRelative): New method. + (isEXRelative): New method. + (setEMBase): New method. + (setEXBase): New method. + (setFontBases): New method. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Use new isBlock() helper method. + (_handleEndTag_remaining): Use new isBlock() helper method. + (_handleStartTag): Consume whitespace after block start tag. + (Comment): Consume whitespace after a comment. + (isBlock): New helper method. + (readAttributes): Consider all characters in unquoted attribute + values. + * javax/swing/text/html/BlockView.java + (layoutMinorAxis): Use cached span value. + (paint): Added debug code (commented out). + (setPropertiesFromAttributes): Set the EM and EX base on lengths. + * javax/swing/text/html/CSSBorder.java + (CSSBorder): Take StyleSheet as argument. Call getBorderWidth() + with stylesheet. + (getBorderWidth): Set the EM and EX base on the length values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Do not set the inParagraph field. + (HTMLReader.ParagraphAction.start): Do not set the inParagraph field. + (HTMLReader.inImpliedParagraph): Removed. + (HTMLReader.inParagraph): Removed. + (HTMLReader.parseStack): New field. + (HTMLReader.addContent): Use new paragraph handling. + (HTMLReader.addSpecialElement): Use new paragraph handling. + (HTMLReader.blockClose): Use new paragraph handling. + (HTMLReader.blockOpen): Use new paragraph handling. + (HTMLReader.inImpliedParagraph): New helper method. + (HTMLReader.inParagraph): New helper method. + * javax/swing/text/html/ImageView.java + (attributes): New field. Caches view attributes. + (spans): New field. Caches CSS spans. + (getAttributes): Correctly setup CSS view attributes. + (getPreferredSpan): Use caches spans. + (getStyleSheet): Use the view's getDocument() method. + (setPropertiesFromAttributes): Cache spans and setup EM and EX. + (updateSize): Use cached spans. + * javax/swing/text/html/ParagraphView.java + (setPropertiesFromAttributes): Setup EM and EX. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.BoxPainter): Setup EM and EX correctly. + (getEMBase): New helper method. + (getEXBase): New helper method. + * javax/swing/text/html/TableView.java + (width): New field. Caches the table width. + (calculateMinorAxisRequirements): Use caches span. + (setPropertiesFromAttributes): Cache span and setup EM/EX. + (updateGrid): Correctly setup EM/EX. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FormSubmitEvent.java: New class. + * javax/swing/text/html/FormView.java + (SubmitThread): New class for submitting data in a separate thread. + (actionPerformed): Fetch the actual for data. + (addData): New helper method. + (getElementFormData): New helper method. + (getFormData): New helper method. + (getInputFormData): New helper method. + (submitData): Implemented. + * javax/swing/text/html/FrameView.java + (createComponent): Add this as hyperlink listener. + Set the target document as frame document. + (getTopEditorPane): New helper method. + (hyperlinkUpdate): Implementation of the HyperlinkListener interface. + (handleHyperlinkEvent): New helper method. + (handleFormSubmitEvent): New helper method. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.BaseAction.start): Track the base target. + (HTMLReader.BaseAction.end): Removed. + (baseTarget): New field. + (frameDocument): New field. + (getBaseTarget): New property accessor. + (isFrameDocument): New property accessor. + (processHTMLFrameHyperlinkEvent): Implemented. + (setFrameDocument): New property accessor. + (updateFrame): New helper method. + (updateFrameSet): New helper method. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.createHyperlinkEvent): Handle frame documents. + (autoFormSubmission): New field. + (HTMLEditorKit): Set autoFormSubmission to true. + (isAutoFormSubmission): New property accessor. + (setAutoFormSubmission): New property accessor. + +2006-11-30 Roman Kennke + + * javax/swing/text/ElementIterator.java + (ElementRef): New inner class. + (currentDepth): Removed. + (currentElement): Removed. + (previousItem): Removed. + (stack): New field. Holds the iteration stack. + (state): Removed. + (ElementIterator(Document)): Removed init of removed fields. + (ElementIterator(Element)): Removed init of removed fields. + (current): Changed to stack based algorithm. + (deepestLeaf): New helper method. + (depth): Changed to stack based algorithm. + (first): Changed to stack based algorithm. + (next): Changed to stack based algorithm. + (previous): Changed to stack based algorithm. + +2006-11-30 Francis Kung + + * .settings/org.eclipse.jdt.core.prefs: Set compilar compliance to 1.4. + * .externalToolBuilders/ClasspathJar.launch: Include sun.* classses. + +2006-11-30 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Set transform in buffered composite. + (drawComposite): Do not transform bounds; round bounds. + (drawGlyphVector): Set transform in buffered composite. + (drawRenderedImage): Set transform in buffered composite. + (fill): Set transform in buffered composite. + (updateBufferedImage): Fix scanline & height calculations. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Simplify width & height calculation. + (drawImage): Also transform width & height. + +2006-11-30 Roman Kennke + + * javax/swing/text/html/FrameSetView.java: New class. Implements + HTML framesets. + * javax/swing/text/html/FrameView.java: New class. Implements + HTML frames. + * javax/swing/text/html/HTMLDocument.java: + (HTMLReader.addSpecialElement): Only add one artificial space. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Uncomment code for FrameSetView and FrameView. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEmptyTag): Also consume whitespace after frame tags. + +2006-11-30 Gary Benson + + * java/lang/Thread.java: Javadoc fixes. + +2006-11-29 Tom Tromey + + PR classpath/28203: + * java/lang/Class.java (getAnnotations): Rewrote. + +2006-11-29 Tania Bento + + * tools/gnu/classpath/tools/appletviewer/TagParser.java: + (parseParams): Unescape 'val' before putting it into the Map. + (unescapeString): New private method. + +2006-11-29 Tom Tromey + + * tools/gnu/classpath/tools/getopt/package.html: New file. + +2006-11-29 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.paintIcon()): Commented out gradient paint, + (VerticalSliderThumbIcon.paintIcon()): Likewise. + +2006-11-29 Mario Torre + + * java/text/NumberFormat.java (getCurrencyInstance): Replaced dollar sign + with the default international currency sign \u00A4. + * java/text/DecimalFormat.java (scanFix): Fix to use the localized symbol + table for string formatting. + (formatInternal): likewise. + (scanNegativePattern): likewise. + (applyPattern): likewise. + * java/text/DecimalFormatSymbols.java (clone): Revert to old version as + Locale is immutable and does not need clone. + +2006-11-29 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawLine): Remove hard-coded pixel shifting. + +2006-11-29 Roman Kennke + + * java/awt/Component.java + (isShowing): Simplified condition code and avoid unnecessary + if-codepaths. + (coalesceEvents): Always coalesce paint events and let the peer + figure out the expanding of the repaint area. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): Removed. Replaced by paintArea. + (paintArea): New field. Tracks the dirty area. + (SwingComponentPeer): Removed init of currentPaintEvents. + (coalescePaintEvent): Simplified to only union the dirty regions. + (handleEvent): Paint dirty region that was tracked in paintArea. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (paintArea): New field. Tracks the dirty region. + (coalescePaintEvent): Implemented to track the dirty region. + (paintComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + (updateComponent): Use the dirty region in paintArea. Protect + state by putting the paint and dispose code in a try-finally. + +2006-11-29 Roman Kennke + + * java/awt/font/TextLayout.java + (getVisualHighlightShape): Removed debug output. + +2006-11-28 Andrew Haley + + * vm/reference/sun/reflect/misc/ReflectUtil.java + (checkPackageAccess): Implement. + +2006-11-28 Dalibor Topic + + * native/jni/java-lang/java_lang_VMDouble.c: + (parseDoubleFromChars) New function. Factored out from ... + (Java_java_lang_VMDouble_parseDouble): Factored out the parsing. + (dtoa_toString): New function. Factored out from ... + (Java_java_lang_VMDouble_toString) : Factored out the conversion. + Changed conversion mode to 2, as modes 0 and 1 don't round + as the API spec demands. Invoke conversion function as often + as necessary with growing precision until a reversible + representation of the double in form of a string is reached. + +2006-11-28 Roman Kennke + + * javax/swing/JComponent.java + (putClientProperty): Do not fire event when both old and new + value are == null. + +2006-11-27 Andrew John Hughes + + * java/lang/Enum.java: + Make name and ordinal final. + +2006-11-27 Casey Marshall + + * java/util/jar/JarEntry.java (certs): removed. + (jarfile): new field. + (getCertificates): read the certificates from the containing JarFile. + * java/util/jar/JarFile.java (JarEnumeration.nextElement): don't + fill in 'certs,' fill in 'jarfile' for the entry. + (getEntry): likewise. + +2006-11-27 Francis Kung + + * java/awt/image/WritableRaster.java + (createChild): Implemented. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (TextLayout(TextLayout,int,int)): Also layout the new runs. + (getVisualHighlightShape): Implemented. + (layoutRuns): Fixed boundary so that the last run is also laid out. + (left): New helper method. + (right): New helper method. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (getCaretShape(TextHitInfo,Rectangle2D)): Implemented. + (getCaretShape(TextHitInfo)): Use natural bounds. + (getCaretShapes(int,Rectangle2D,CaretPolicy)): New API method. + (getCaretShapes(int,Rectangle2D)): Delegate to new method + above with DEFAULT_CARET_POLICY. + (getCaretShapes(int)): Use natural bounds. + +2006-11-27 Roman Kennke + + * java/awt/font/TextLayout.java + (Run.font): New field. + (Run.location): New field. + (Run.Run): Initialize font. + (font): Removed field. This is moved into Run as the actual font + is something run-specific. + (TextLayout(String,Font,FontRenderContext)): Set font on the + single runs. Layout the runs here. + (TextLayout(TextLayout,int,int)): Copy over the run fonts. + (findRunAtIndex): New helper method. + (getCaretInfo): Implemented. + (layoutRuns): New helper method. + (toString): Don't put font in output string. + +2006-11-27 Raif S. Naffah + + * AUTHORS: Added Jeroen Fritjers. + +2006-11-27 neugens + + * java/text/DecimalFormat.java (formatInternal): Add an explicit test + for FieldPosition to be null. + Check if the factional part is just 0 and can be omitted from the + result. + (scanNegativePattern): Fixed index out of bound exception when searching + for international currency symbol in negative pattern. + +2006-11-27 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (readObject(ObjectInputStream)): Implemented. + (writeObject(ObjectOutputStream)): Likewise. + (BCSChild.getTargetChild()): Added. + (bcsPreDeserializationHook()): Implemented. + (bcsPreSerializationHook()): Likewise. + (childDeserializedHook(Object,BCSChild)): Likewise. + (isSerializing()): Likewise. + (readChildren(ObjectInputStream)): Likewise. + (writeChildren(ObjectOutputStream)): Likewise. + +2006-11-26 Roger Sayle eyesopen.com> + Ian Lance Taylor airs.com> + Paolo Bonzini gnu.org> + + Fixes bug #25557. + + * lib/gen-classlist.sh.in: Avoid using test's -ef operator for + increased portability. Likewise, use -f instead of -e. + +2006-11-26 Mark Wielaard + + * lib/Makefile.am (propertydirs): Removed. + (resources): Explicitly create all dirs. + +2006-11-26 Mark Wielaard + + * gnu/java/net/PlainSocketImpl.java (accept): Reset timeout on Socket. + +2006-11-26 Dalibor Topic + + * native/target/.cvsignore, + native/target/generic/.cvsignore, + native/target/Linux/.cvsignore: + Removed no longer used files. + + * native/target: Removed no longer used directory. + +2006-11-26 Dalibor Topic + + Fixes bug #29133. + + * libraries/clib/nio/gnu_java_nio_VMSelector.c + (Java_gnu_java_nio_VMSelector_select): + Use strerror if strerror_r is not available. + + Reported by: Michael Franz , + Riccardo Mottola + +2006-11-26 Dalibor Topic + + Fixes bug #26756. + + * native/jni/midi-dssi/Makefile.am (AM_CFLAGS): Removed + STRICT_WARNING_CFLAGS since it caused the build to fail + on GNU/Linux. + +2006-11-26 Ian Rogers + + * doc/vmintegration.texinfo: Update VM Threading Model section. + +2006-11-26 Tom Tromey + + * native/jni/java-net/java_net_VMNetworkInterface.c: Conditionally + include ifaddrs.h. + (Java_java_net_VMNetworkInterface_getVMInterfaces): Updated + conditional. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: + Conditionally include ifaddrs.h. + (getif_address): Updated conditional. + (getif_index): Likewise. + * configure.ac: Check for ifaddrs.h. + +2006-11-25 Mark Wielaard + + * java/io/File.java (list): Return empty list for unreadable dirs. + +2006-11-25 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawGlyphVector): + Synchronize on font peer. + (setFont): Likewise. + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Mark + synchronized. + (getTextMetrics): Likewise. + +2006-11-25 Roman Kennke + + * javax/swing/text/GapContent.java + (getPositionsInRange): Rewritten to use the more efficient + binary search searchFirst() and avoid an NPE that was caused + by GC'ed positions. + +2006-11-25 Mark Wielaard + + * javax/swing/text/CompositeView.java (modelToView): Never return + null. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/TableView.java (calculateColumnRequirements): + Check whether rowView instanceof RowView. + (updateGrid): Likewise. + +2006-11-25 Mario Torre + + PR28462 + * java/text/DecimalFormat.java: Almost new rewrite, and update to 1.5. + * java/text/NumberFormat.java (format): all format methods, fixed + FieldPosition argument should never be null. + (format(Object, StringBuffer, FieldPosition)): fixed signature, + method is not final. + * java/text/DecimalFormatSymbols.java (clone): fixed to also clone + locale. + * AUTHORS: added my name to the file. + +2006-11-25 Mark Wielaard + + * javax/swing/text/html/StyleSheet.java (paint): Guard against + getChildAllocation() returning null. + +2006-11-25 Mark Wielaard + + * gnu/javax/swing/text/html/css/Selector.java (calculateSpecificity): + Use clazzIndex for id substring. + +2006-11-25 Mark Wielaard + + * java/awt/EventQueue.java (pop): Only terminate dispatchThread when + it is still running. + +2006-11-25 Mark Wielaard + + Fixes bug #28822 + * doc/api/Makefile.am (create_html): Guard GJDOC invocation with + CREATE_API_DOCS + +2006-11-24 Tania Bento + + * java/awt/font/TextHitInfo.java + (equals(TextHitInfo)): If TextHitInfo parameter is null, return false. + (beforeOffset): Decreased first parameter by 1. + +2006-11-24 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (constructor): Check sample model when setting fastCM flag. + (updateBufferedImage): Check scanline and sample model offsets before + copying data directly into the image data buffer. + +2006-11-24 Francis Kung + + * gnu/java/awt/java2d/QuadSegment.java + (offsetSubdivided): Handle special straight-line cases. + +2006-11-24 Roman Kennke + + * java/awt/dnd/DropTarget.java + (DropTargetAutoScroller.HYSTERESIS): New constant. + (DropTargetAutoScroller.DELAY): New constant. + (DropTargetAutoScroller.inner): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.outer): New field. A cached + Rectangle instance. + (DropTargetAutoScroller.timer): New field. The actual timer. + (DropTargetAutoScroller.DropTargetAutoScroller): + Initialize timer. + (DropTargetAutoScroller.actionPerformed): Implemented. + (DropTargetAutoScroller.stop): Implemented. + (DropTargetAutoScroller.updateLocation): Implemented. + (clearAutoscroll): Stop the autoscroller before nullifying it. + (createDropTargetAutoScroller): Don't set the field here, + only return a new instance. + (dragEnter): Only do something when active. Initialize + auto scrolling. + (dragExit): Only do something when active. Stop auto scrolling. + (dragOver): Only do something when active. Update auto scrolling. + (drop): Only do something when active. Update auto scrolling. + (dropActionChanged): Only do something when active. Update + auto scrolling. + (initializeAutoScrolling): Check if component is an instance + of Autoscroll, otherwise do nothing. + (setActive): Disable autoscrolling when deactivating. + (setComponent): When component is set to null, disable autoscrolling. + +2006-11-24 David Gilbert + + * java/beans/beancontext/BeanContextServicesSupport.java + (getChildBeanContextServicesListener): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Use constructor to create new instance of + BufferedImageGraphics. + * java/awt/Toolkit.java + (getDefaultToolkit): Really try to get a real toolkit. Only + use HeadlessToolkit if no other is available. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (checkHeadless): New helper method. Checks for headless environment + and throws HeadlessException if appropriate. + (createButton): Check for headless. + (createCanvas): Check for headless. + (createCheckbox): Check for headless. + (createCheckboxMenuItem): Check for headless. + (createChoice): Check for headless. + (createDialog): Check for headless. + (createDragGestureRecognizer): Check for headless. + (createDragSourceContextPeer): Check for headless. + (createEmbeddedWindow): Check for headless. + (createFileDialog): Check for headless. + (createFrame): Check for headless. + (createCheckbox): Check for headless. + (createLabel): Check for headless. + (createList): Check for headless. + (createMenu): Check for headless. + (createMenuBar): Check for headless. + (createMenuItem): Check for headless. + (createPanel): Check for headless. + (createPopupMenu): Check for headless. + (createScrollbar): Check for headless. + (createScrollPane): Check for headless. + (createTextArea): Check for headless. + (createTextField): Check for headless. + (createWindow): Check for headless. + +2006-11-23 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (deserialize): Implemented, + (serialize): Implemented. + +2006-11-23 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment.java + (createGraphics): Try to use Cairo graphics if available. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (toArray): Added API docs, + (toArray(Object[])): Added API docs, removed NotImplementedException. + +2006-11-22 Tania Bento + + * javax/swing/JRootPane.java + (setLayeredPane): Added documentation; throw + IllegalComponentStateException if layered pane parameter is null. + +2006-11-22 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (avoidingGui): Removed NotImplementedException. + +2006-11-22 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawGlyphVector): Clip updated area to glyph bounds. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Eliminate distortion when pixel-shifting rectangles; separate + x-coordinate and y-coordinate pixel shifting. + (shifted): Removed method. + (shiftX): New method, recognising scaling transforms. + (shiftY): New method, recognising scaling transforms. + (walkPath): Separate x-coordinate and y-coordinate pixel shifting. + +2006-11-22 Roman Kennke + + * java/awt/font/TextLayout.java + (hash): New field. Caches the hash code. + (hashCode): Implemented. + +2006-11-22 Roman Kennke + + * java/awt/image/ImageFilter.java + Reformat whole class. + (getFilterInstance): Don't touch the consumer field. Don't check + consumer. + (imageComplete): Don't check consumer. + (setColorModel): Don't check consumer. + (setDimensions): Don't check consumer. + (setHints): Don't check consumer. + (setPixels): Don't check consumer. + (setProperties): Pass the original property too. + * java/awt/image/IndexColorModel.java + (IndexColorModel(int,int,byte[],byte[],byte[],int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,byte[],int,boolean,int)): Set the + transparent pixel by calling the new helper method. + (IndexColorModel(int,int,int[],int,boolean,int,int)): Set the + transparent pixel by calling the new helper method. + (coerceData): Removed. This is not needed. + (getAlpha): Simply return value from color map. The transparent + pixel has to be there. + (setTransparentPixel): New helper method. Inserts the transparent + pixel. + * java/awt/image/RGBImageFilter.java + Reformat whole class. + (convertColorModelToDefault): Removed. No longer needed. + (filterIndexColorModel): Don't handle transparent pixels + separately. + (filterRGBPixels): Set pixels on consumer already. + (makeColor): Removed. No longer needed. + * java/awt/image/ReplicateScaleFilter.java + (replicatePixels): Removed. + (setDimension): Correctly compute destination size, avoid double + calculations. + (setPixels): Avoid double calculations. Fixed some boundary cases. + (setupSources): New helper method. + * java/awt/image/SampleModel.java + (setDataElements): Also handle TYPE_SHORT, TYPE_FLOAT + and TYPE_DOUBLE. + * java/awt/image/SinglePixelPackedSampleModel.java + (setDataElements(int,int,int,int,Object,DataBuffer)): Removed. + This is not needed as the superclass already copies line + by line. + (setDataElements(int,int,Object,DataBuffer)): Simplified code, + removed some checks that the RI also doesn't perform. Call + DataBuffer.setElem(). + +2006-11-22 Roman Kennke + + * java/awt/text/TextLayout.java + (getLogicalRangesForVisualSelection): Implemented. + +2006-11-21 Andrew John Hughes + + * sun/reflect/annotation/AnnotationParser.java, + * sun/reflect/annotation/AnnotationType.java, + * sun/reflect/annotation/EnumConstantNotPresentExceptionProxy.java, + * sun/reflect/annotation/ExceptionProxy.java: + Stubbed. + * sun/misc/ServiceConfigurationError.java, + * sun/misc/Service.java: + Implemented. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run.isLeftToRight): New helper method. + (logicalToVisual): New field. Maps logical indices to visual + indices. + (visualToLogical): New field. Maps visual indices to logical + indices. + (TextLayout): Setup mappings. + (setupMappings): New method for setting up the mappings. + (getCharacterLevel): Reorganized code. + (getNextLeftHit(int)): Implemented. + (getNextLeftHit(int,CaretPolicy)): New method. + (getNextLeftHit(TextHitInfo)): Implemented. + (getNextRightHit(int)): Implemented. + (getNextRightHit(int,CaretPolicy)): New method. + (getNextRightHit(TextHitInfo)): New method. + (getVisualOtherHit): Implemented. + (checkHitInfo): New helper methods for checking parameters. + (hitToCaret): New helper method. Maps hit infos to caret locations. + (caretToHit): New helper method. Maps caret locations to hit infos. + (isCharacterLTR): New helper method. + (CaretPolicy.getStrongCaret): Implemented. + +2006-11-21 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (draw): Include stroke width when calculating bounds. + (updateBufferedImage): Round bounds more generously, handle negative + height/width values, and clip more intelligently. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Add shortcut optimization for lines. + (draw): Include stroke width when calculating bounds. + (drawLine): Delegate to main draw() method. + (drawRect): Likewise. + (fillRect): Delegate to main fill() method. + (findStrokedBounds): New method. + (setCustomPaint): Round bounds more generously. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawLine): Removed. + (drawRect): Removed. + (fillRect): Removed. + +2006-11-21 Francis Kung + + * gnu/java/awt/java2d/TexturePaintContext.java + (getRaster): Handle negative coordinate values. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Moved custom paint processing to a new method. + (setPaintPixels): Added x, y parameters. + (getRealBounds): Added documentation. + (copy): Copy clipping information. + (drawLine): Process custom paints. + (setCustomPaint): New method. + (fill): Process custom paints. + (drawGlyphVector): Process custom paints. + (drawRect): Process custom paints. + (draw): Process custom paints. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_opaque): New constant. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Removed constant. + (rgb32): Removed constant. + (BufferedImageGraphics(BufferedImage)): Updated constant names. + (BufferedImageGraphics(BufferedImageGraphics)): Copy color model flags. + (updateBufferedImage): Transform to device-space before updating. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Added x, y + parameters. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_setPaintPixels): Set pattern + source at designated x, y origin. + +2006-11-21 Roman Kennke + + * java/awt/text/TextLayout.java + (Run): New inner helper class. + (length): New field. + (naturalBounds): New field. + (offset): New field. + (runIndices): Removed. This is now encapsulate in a Run object. + (runs): Changed to Run[]. + (string): Changed to char[]. + (totalAdvance): New field. Caches advance value. + (TextLayout(String,Font,FontRenderContext)): Change to store + string as char[] and run layout as Run[]. Clean out empty + run items. + (TextLayout(TextLayout,int,int)): Change to store + string as char[] and run layout as Run[]. + (clone): Call private constructor for maximum efficiency. + (determineWhitespace): Adapted to use char[] data. + (draw): Adapted to use Run objects. + (getAdvance): Cache computed total advance. + (getBlackBoxBounds): Adapted to use Run objects. + (getCaretInfo): Use natural layout bounds. + (getCharacterCount): Return length field. + (getLogicalHighlightShape): Adapted to use Run objects. + (getNaturalBounds): New helper method. Calculates and returns the + natural bounds of this text layout. + (getOutline): Adapted to use Run objects. + (getStringProperties): Adapted to use char[] data. + (getVisibleAdvance): Adapted to use char[] and Run data. + (handleJustify): Adapted to use char[] and Run data. + (hitTestChar(float,float,Rectangle2D)): Implemented. + (hitTestChar(float,float)): Use natural bounds. + (setCharIndices): Adapted to use char[] and Run data. + (toString): Adapted to use char[] and Run data. + * java/text/Bidi.java + (requiresBidi): Exclude paragraph separators from bidi-triggers. + +2006-11-21 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkFontMetrics.java: + Removed. This is now an inner class in GdkFontPeer. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawString(float,float)): Use text layout cache from + GdkFontPeer. + (getFontMetrics): Delegate to GdkFontPeer. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getGlyphCodes): Also check array size. + (getGlyphPositions): Also check array size. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (GdkFontLineMetrics.fm): Removed. + (GdkFontLineMetrics.strikeThroughOffset): Removed. + (GdkFontLineMetrics.strikeThroughThickness): Removed. + (GdkFontLineMetrics.underlineOffset): Removed. + (GdkFontLineMetrics.underlineThickness): Removed. + (GdkFontLineMetrics.GdkFontLineMetrics): Don't take + FontMetrics argument. Don't init removed fields. + (GdkFontLineMetrics.getAscent): Return font peer's field. + (GdkFontLineMetrics.getDescent): Return font peer's field. + (GdkFontLineMetrics.getHeight): Return font peer's field. + (GdkFontLineMetrics.getLeading): Return font peer's field. + (GdkFontLineMetrics.getNumChars): Reformat. + (GdkFontLineMetrics.getStrikeThroughOffset): Return half ascent. + (GdkFontLineMetrics.getStrikeThroughThickness): Return 1. + (GdkFontLineMetrics.getUnderlineOffset): Return font peer's field. + (GdkFontLineMetrics.getUnderlineThickness): Return font peer's field. + (GdkFontMetrics): Moved class in here as inner class. + Make it use the font peer's fields and for the char(s) width + and string width method, use TextLayout to measure the actual widths. + (ascent): New field. + (bundle): Removed. + (DEFAULT_CTX): New constant field. + (descent): New field. + (FONT_METRICS_ASCENT): New constant. + (FONT_METRICS_DESCENT): New constant. + (FONT_METRICS_HEIGHT): New constant. + (FONT_METRICS_MAX_ADVANCE): New constant. + (FONT_METRICS_MAX_ASCENT): New constant. + (FONT_METRICS_MAX_DESCENT): New constant. + (FONT_METRICS_UNDERLINE_OFFSET): New constant. + (FONT_METRICS_UNDERLINE_THICKNESS): New constant. + (height): New field. + (maxAdvance): New field. + (maxAscent): New field. + (maxDescent): New field. + (metrics): New field. Stores a FontMetrics for this font. + (textLayoutCache): New field. Caches TextLayout instances. + (underlineOffset): New field. + (underlineThickness): New field. + (cinit): Don't initialize resource bundle. + (GdkFontPeer): Setup the metrics. + (getFontMetrics): Return stored metrics if possible. + (getLineMetrics): Adapt to new constructor. + (initFont): New helper method. + (setupMetrics): New helper method. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (LRUCache): Made class a static class. + (getFontMetrics): Delegate to GdkFontPeer. + * native/jni/gtk-peer/gdkfont.h + Added new constant defines. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): Rewritten to fetch the font metrics from + FreeType. + +2006-11-20 Tania Bento + + * javax/swing/ButtonGroup.java: + (setSelected): Select the ButtonModel if all conditions + are met. + +2006-11-20 Tania Bento + + * javax/swing/JSlider.java: + (updateLabelUIs): Removed casting. + +2006-11-20 Mark Wielaard + + * gnu/java/util/regex/RE.java (messages): Don't initialize. + (bundle): New static final String field. + (getLocalizedMessage): Initialize messages when still null. + * gnu/java/util/regex/RESyntax.java (SYNTAX_IS_FINAL): Removed. + (set): Use RE.getLocalizedMessage(). + (clear): Likewise. + (setLineSeparator): Likewise. + +2006-11-20 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (linked): New field. + (styleSheet): Replaced by linked. + (addStyleSheet): Use an arraylist for simplicity. + (getRule): Removed useless instantiation. + (getStyleSheets): Convert array list to array. + (removeStyleSheet): Use an arraylist for simplicity. + (resolveStyle): Include styles from linked lists. + +2006-11-20 Roman Kennke + + * javax/swing/text/BoxView.java + (BoxView): Initialize with invalid req's. + (forwardUpdate): Trigger repaint when children changed the + major axis. + (getResizeWeight): Return resizable when the pref differs from + the min or the pref differs from the max size. + (layoutMajorAxis): Actually sum up the preferred sizes. + (paint): Made binary search more robust. + (replace): Let arrays shrink when needed. + (replaceLayoutArray): Let arrays shrink when needed. + (setAxis): Trigger preferenceChanged. + * javax/swing/text/CompositeView.java + (getInsideAllocation): Call insets method to take account + of overriding subclasses. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.finishEdit): Clear the stack and edits buffer. + (ElementBuffer.insertUpdate): Only remove the found element, not + all. + * javax/swing/text/GlyphView.java + (insertUpdate): Pass null in preferenceChanged. + (removeUpdate): Pass null in preferenceChanged. + (changedUpdate): Pass null in preferenceChanged. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid single calls to charWidth() and instead + call charsWidth() on whole chunks. + * javax/swing/text/html/HTMLDocument.java + (BlockElement.getName): Fall back to super when necessary. + (RunElement.getName): Fall back to super when necessary. + (HTMLReader.MAX_THRESHOLD): New constant field. + (HTMLReader.GROW_THRESHOLD): New constant field. + (HTMLReader.theshold): New field. + (HTMLReader.HTMLReader): Fetch threshold from document. + (HTMLReader.addContent): Sucessivly grow the threshold. + (createLeafElement): Don't create two elemens and don't set + attribute. + * javax/swing/text/html/TableView.java + (RowView.replace): Invalidate grid. + (gridValid): Made package private. + (layoutMinorAxis): Mark all rows as invalid. + (replace): Invalidate grid. + +2006-11-20 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (DefaultDocumentEvent.changes): Changed to be a HashMap. + (DefaultDocumentEvent.modified): Made private. + (DefaultDocumentEvent.THRESHOLD): New constant field. + (DefaultDocumentEvent.DefaultDocumentEvent): Don't initialize + changes table. + (DefaultDocumentEvent.addEdit): Switch to hashmap only when + exceeding threshold. + (DefaultDocumentEvent.getChange): Use iterative approach + when we have no hashmap yet. + (documentCV): Removed. + (numWriters): Renamed from numWritersWaiting. + (createPosition): Reformat. + (getCurrentWriter): Synchronized. + (readLock): Implement more straightforward. + (readUnlock): Implement more straightforward. + (writeLock): Implement more straightforward. + (writeUnlock): Implement more straightforward. + (remove): Write-lock here. + (removeImpl): Don't write-lock here. + +2006-11-20 Roman Kennke + + * javax/swing/JEditorPane.java + (setPage): Set priority on loading thread. + +2006-11-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Avoid allocation. + (cachedInsets): New field. Caches an Insets instance. + (getNextVisualPositionFrom): Read-lock the document to avoid + thread nastiness. Push allocation. + (getPreferredSize): Push fake allocation when not yet laid out. + (getVisibleEditorRect): Use cached insets. + (viewToModel): Read-lock the document to avoid + thread nastiness. Push allocation. + +2006-11-20 Roman Kennke + + * javax/swing/text/StyleContext.java + (attributeSetPool): Synchronize this map. + (addAttribute): Synchronize this method. + (addAttributes: Synchronize this method. + (readObject): Install synchronized map on target object. + (removeAttribute): Synchronize this method. + (removeAttributes): Synchronize this method. + (removeAttributes): Synchronize this method. + +2006-11-20 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.GapContentPosition): Removed constructor. + (Mark): Made subclass of WeakReference to refer directly to + the associated position. + (Mark.refCount): Removed. + (Mark.Mark(int,GapContentPosition,ReferenceQueue): + New constructor. Used to reference a position and register the + reference queue. + (Mark.Mark(index)): Call super and don't adjust mark offset. + (Mark.compareTo): Removed. + (Mark.equals): Removed. + (Mark.getOffset): Return at least null. Removed assert. + (Mark.getPosition): New helper method. + (garbageMarks): New field. + (positions): Removed. + (searchMark): New field. + (GapContent): Removed init of positions map. + (addImpl): New helper method. + (adjustPositionsInRange): Removed. + (compare): New helper method. + (createPosition): Rewritten for new datastructures. This now + performs a much more efficient binary search for finding + a position at the requested offste. + (garbageCollect): Rewritten to collect unused marks. + (getPositionsInRange): Adjusted for new data structures. + (removeImpl): New helper method. + (replace): Use new addImpl() and removeImpl() helper method for + correctly adjusting the positions and gap. + (search): Rewritten. Implements a more suitable binary search. + (searchFirst): New helper method. + (setPositionsInRange): Removed. + (shiftEnd): Update the marks here. + (shiftGap): Update the marks here. + (shiftGapEndUp): Update the marks here. + (shiftGapStartDown): Update the marks here. + +2006-11-20 Marco Trudel + + * java/util/jar/JarFile.java (digestAlgorithms): New field used to cache + digest algorithm implementations. + (readSignatures): Parse the manifest once and reuse that data. + Add support for line breaks. + (verifyHashes): Use the parsed manifest entry. + (readManifestEntry): Removed. + +2006-11-20 Andrew John Hughes + + * java/beans/beancontext/BeanContextServicesSupport.java: + Added more documentation. + (addService(Class,BeanContextServiceProvider,boolean)): + Synchronized over global hierarchy lock. + (bcsPreDeserializationHook(ObjectInputStream)): Implemented. + (bcsPreSerializationHook(ObjectOutputStream)): Implemented. + (childJustRemovedHook(Object,BCSChild)): Implemented. + (createBCSSServiceProvider(Class,BeanContextServiceProvider)): + Implemented. + (fireServiceRevoked(BeanContextServiceRevokedEvent)): + Added revocation-only listeners. + (getBeanContextServicesPeer()): Implemented. + (getCurrentServiceClasses(Class)): Synchronized over global + hierarchy lock. + (getCurrentServiceSelectors(Class)): Synchronized over global + hierarchy lock, and fixed FIXME. + (getService(BeanContextChild,Object,Class,Object, + BeanContextServiceRevokedListener)): Implemented. + (hasService(Class)): Synchronized over global hierarchy lock. + (releaseService(BeanContextChild,Object,Object)): Implemented. + (revokeService(Class,BeanContextServiceProvider,boolean)): Implemented. + * java/beans/beancontext/BeanContextSupport.java: + (remove(Object, boolean)): Documentation correction. + +2006-11-19 Roman Kennke + + * javax/swing/JEditorPane.java + (PageStream): New inner class. + (PageLoader): New inner class. + (loading): New field. + (setPage): Implemented asynchronous loading. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.create): New helper method. + (create): Use new ElementBuffer method instead of hack. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.flushImpl): New helper method. + (HTMLReader.addContent): Use flushImpl(). + (HTMLReader.blockClose): Added null check. + (HTMLReader.flush): Use flushImpl(). + * javax/swing/text/html/HTMLEditorKit.java + (createDefaultDocument): Set load priority to 4 and token threshold + to 100. + * javax/swing/text/html/TableView.java + (insertUpdate): Overridden to provide correct view factory. + (removeUpdate): Overridden to provide correct view factory. + (changedUpdate): Overridden to provide correct view factory. + +2006-11-19 Roman Kennke + + * javax/swing/text/BoxView.java + (clipRect): New field. + (tmpRect): New field. + (layout): Reorganized code. Now uses layoutAxis() helper method. + (layoutAxis): New helper method. + (paint): Optimized by using cached Rectangle objects and + a binary search for child views inside the clip. + * javax/swing/text/CompositeView.java + (insideAllocation): Made private and initialized in constructor. + (getInsideAllocation): Removed initialization block for + insideAllocation field. Avoid unnecessary allocations. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.paint): Only paint the actual glyphs here + The remaining stuff (background, underline and striking) is + done in the GlpyhView itself. Avoid unnecessary allocations. + (cached): A cached Segment instance. + (getText): Return cached segment. + (paint): Paint underline, strike and background here. Avoid + unecessary allocs. + +2006-11-19 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (getFontSize): Removed debug output. + (ListPainter.tmpRect): New field. + (ListPainter.paint): Align bullet vertically centered to + the first line of the paragraph. + +2006-11-17 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseDeclaration): Trim string before reporting. + * gnu/javax/swing/text/html/css/FontSize.java + (size): New field. + (isRelative): New field. + (sizeIndex): New field. + (FontSize): Initialize new fields. + (getValue): Changed to call getValue(int). + (getValue(int)): New method. Implements relative font sizes. + (isRelative): New method. + (mapAbsolute): Store index. + (mapEM): New helper method. + (mapLarger): New helper method. + (mapPercent): New helper method. + (mapRelative): New helper method. + (mapSmaller): New helper method. + (mapValue): New helper method. + * javax/swing/text/html/CSS.java + (parseBackgroundShorthand): Create CSSColor directly. + * javax/swing/text/html/StyleSheet.java + (addRule): Invalidate resolved styles. + (getFont): Call new getFontSize() method to resolve relative + font sizes. + (getFontSize): New helper method. Resolves relative font sizes. + (translateHTMLToCSS): Create CSS objects directly. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-18 Andrew John Hughes + + * gnu/javax/management/Server.java: + Initial implementation of a GNU management server. + * javax/management/MBeanPermission.java, + * javax/management/MBeanRegistration.java, + * javax/management/MBeanTrustPermission.java: + Implemented. + +2006-11-17 Mark Wielaard + + * docs/www.gnu.org/newsitems.txt: Add Sun GPL news announcement. + +2006-11-17 Gary Benson + + * java/net/DatagramSocket.java (getLocalAddress, connect, + receive): Perform security check on address not hostname. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Fixed condition for consuming whitespace. + Removed validator check, this is superfluous now. + +2006-11-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Support 'combined' selectors. + (main): Adapt callback for combined selectors support. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Take selector array as argument, to + support combined selectors. + * javax/swing/text/html/BlockView.java + (calculateMinorAxisRequirements): Fetch and apply alignment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle): Inverted the constants for correct precedence. + (CSSStyleSheetParserCallback.styles): New field. Stores the current + styles. + (CSSStyleSheetParserCallback.style): Removed. + (CSSStyleSheetParserCallback.declaration): Update multiple styles. + (CSSStyleSheetParserCallback.end): Push multiple styles. + (CSSStyleSheetParserCallback.start): Initialize multiple styles. + +2006-11-16 Roman Kennke + + * javax/swing/text/FlowView.java + (LogicalView.getPreferredSpan): Calculate maximum correctly. + * javax/swing/text/GlyphView.java + (tabExpander): New field. + (tabX): New field. + (breakView): Set tabX on broken view. + (getPartialSpan): Let the painter fetch the span. + (getTabbedSpan): Update the tab expander field. Maybe trigger + relayout. + (getTabExpander): Simply return the stored expander. + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Made algoritm a little smarter and more + efficient. + (getTabbedTextWidth): Don't add single char widths, instead add + chunks of characters. + * javax/swing/text/html/ParagraphView.java + (calculateMinorAxisRequirements): Adjust margin only when the + CSS span is not fixed. + +2006-11-16 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextMembershipListener): Implemented, + (getChildPropertyChangeListener): Implemented, + (getChildSerializable): Implemented, + (getChildVetoableChangeListener): Implemented, + (getChildVisibility): Implemented, + (setDesignTime): Use same property name as Sun's implementation. + +2006-11-16 David Gilbert + + * java/beans/DesignMode.java: Reformatted and removed a FIXME, + * java/beans/Statement.java + (toString): Updated to match reference implementation. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (InsertHTMLTextAction.actionPerformed): Also try inserting + the alternate tag. Adjust the selection accordingly. + (InsertHTMLTextAction.adjustSelection): New helper method. + Adjusts the selection after an insertion. + (insertAtBoundary): Delegate to deprecated method. + (insertAtBoundry): Implemented missing method. + (tryInsert): New helper method. + (defaultActions): Implemented to fill the array with + a couple of InsertHTMLTextActions. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/ImageView.java + (Observer): New class. Observes image loading. + (haveHeight): New field. + (haveWidth): New field. + (height): New field. + (width): New field. + (image): New field. + (imageIcon): New field. + (loading): New field. + (observer): New field. + (reloadImage): New field. + (reloadProperties): New field. + (ImageView): Initialize observer and some flags. + (getImage): Update the image state and return the image. + (loadImage): New helper method. Actually starts loading. + (paint): Rewritten to paint the image directly, not via Icon. + (reloadImage): Rewritten. Loads the image and its properties. + (renderIcon): Removed. No more necessary. + (setPropertiesFromAttributes): Don't nullify image here. + Added comment about missing impl. + (setSize): Added comment about missing impl. + (updateSize): New helper method. Updates the size attributes. + (updateState): New helper method. Makes sure the image + and its properties are valid. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag_remaining): Consume whitespace after a closing + block like tag. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ParagraphAction.end): Call super instead of blockClose() + directly. + (HTMLReader.ParagraphAction.start): Call super instead of blockOpen() + directly. + (HTMLReader.parseStack): Removed. + (HTMLReader.blockClose): Simply call addContent() with ' ' + instead of doing more complicated stuff. Removed parseStack + handling. + (HTMLReader.blockOpen): Removed parseStack handling. + (getInsertingReader): Removed parseStack init. + * gnu/javax/swing/text/html/parser/htmlValidator.java + (closeTag): Return true only when the tag actually should be + closed. + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleEndTag): Only actually close the tag when the validator + allows it. + +2006-11-15 Roman Kennke + + * javax/swing/text/html/CSS.java + (Attribute.BORDER_SPACING): New field for the CSS border-spacing + attribute. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.bottomPadding): New field. + (BoxPainter.leftPadding): New field. + (BoxPainter.rightPadding): New field. + (BoxPainter.topPadding): New field. + (BoxPainter.BoxPainter): Fetch the MARGIN and PADDING* attributes + too. + (BoxPainter.getInset): Recognize and include the padding. + (translateHTMLToCSS): Added mapping for CELLPADDING and CELLSPACING. + javax/swing/text/html/TableView.java + (RowView.calculateMajorAxisRequirements): Adjust req's for + cellSpacing. + (RowView.layoutMajorAxis): Adjust multi-column span for cellSpacing. + (cellSpacing): New field. + (columnRequirements): Made package private to avoid accessor method. + (calculateMinorAxisRequirements): Include cellSpacing. + (calculateMajorAxisRequirements): Overridden to include cellSpacing. + (layoutMajorAxis): Likewise. + (layoutColumns): Respect cellSpacing. + (setParent): Overridden to fetch the CSS attributes when view gets + connected. + (setPropertiesFromAttributes): New method. Fetches the cell + spacing from the CSS attributes. + +2006-11-15 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Consume whitespace directly before a closing tag. + (restOfTag): Consume whitespace directly after opening. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Don't perform array boundary checking by + catch AIOOBE, instead check the boundary in loop condition. + * gnu/javax/swing/text/html/parser/support/low/Constants.java + (TAG_CLOSE): New constants. Describes the token pattern for + a closing tag. + +2006-11-14 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getPreferredSpan): Use CSS length values. + * javax/swing/text/html/TableView.java + (CellView.calculateMajorAxisRequirements): Overridden to + set the maximum reqs to maximum. + (RowView.getMaximumSize): For the X_AXIS, set the maximum + span to maximum. + (RowView.getMinimumSpan): Overridden. For the X_AXIS, return + the total column reqs. + (RowView.getPreferredSpan): Overridden. For the X_AXIS, return + the total column reqs. + * gnu/javax/swing/text/html/css/CSSColor.java + (convertValue): Catch NumberFormatExceptions for more robustness. + * gnu/javax/swing/text/html/css/FontSize.java + (mapPixels): Actually map px values. Catch NFE for more robustness. + +2006-11-14 Roman Kennke + + * gnu/java/awt/font/autofit/AxisHints.java, + * gnu/java/awt/font/autofit/Constants.java, + * gnu/java/awt/font/autofit/GlyphHints.java, + * nu/java/awt/font/autofit/Latin.java, + * nu/java/awt/font/autofit/LatinAxis.java, + * gnu/java/awt/font/autofit/LatinMetrics.java, + * gnu/java/awt/font/autofit/Scaler.java, + * gnu/java/awt/font/autofit/Script.java, + * gnu/java/awt/font/autofit/ScriptMetrics.java, + * gnu/java/awt/font/autofit/Segment.java, + * gnu/java/awt/font/autofit/Width.java: + New classes. This is some skeleton stuff for the FreeType-alike + auto-gridfitter. + * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. + * gnu/java/awt/font/opentype/OpenTypeFont.java + (unitsPerEm): Made field public. + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/Scaler.java + (getRawGlyphOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java + (loadGlyph): New method. This is used to load raw outlines. + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java + (getRawOutline): New method. Fetches the raw outline. + * gnu/java/awt/font/opentype/truetype/Zone.java: + Made class public. + +2006-11-14 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintManager): Fetch the default state for the double buffering + from a system property gnu.swing.doublebuffering. + +2006-11-14 Roman Kennke + + * javax/swing/plaf/basic/BasicLabelUI.java + (cachedInsets): New field. + (getFontMetrics): New helper method. Fetches the font metrics + from the component or the toolkit. + (getPreferredSize): Use getFontMetrics() helper method for + fetching the font metrics. + (paint): Use getFontMetrics() helper method for + fetching the font metrics. Only paint if icon or text + are != null. Use cached insets. + (paintDisabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + (paintEnabledText): Don't store/restore color object. The + JComponent painting mechanism takes care of this by calling + create(). + +2006-11-14 Roman Kennke + + * gnu/java/awt/peer/GLightweightPeer.java + (handleEvent): Try to do something reasonable and trigger painting + for the lightweight component. + (getFontMetrics): Fetch and return a font metrics object from + the Toolkit. + +2006-11-13 Andrew John Hughes + + * gnu/java/util/regex/RETokenNamedProperty.java: + (getHandler(String)): Add support for 'all'. + +2006-11-13 Andreas Tobler + + * AUTHORS: Add myself. + +2006-11-13 Thomas Fitzsimmons + + * AUTHORS: Add Tania Bento, Thomas Fitzsimmons, Francis Kung and + Dalibor Topic. Re-order 'K' section. Remove trailing space from + Roman Kennke's entry. + +2006-11-13 Roman Kennke + + * java/awt/image/IndexColorModel.java + (createCompatibleSampleModel): Implemented missing method. + +2006-11-11 Andreas Tobler + + * gnu/java/awt/peer/gtk/GtkImageConsumer.java (setPixels): Handle data + from big endian systems correctly. + +2006-11-11 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSColor.java + (isValidColor): New helper method. Checks strings if they + form a valid color value. + * gnu/javax/swing/text/html/css/Length.java + (Length): Catch number format exceptions. + * javax/swing/text/html/CSS.java + (addInternal): New method. Checks for shorthand CSS attributes + and parses them. + (parseBackgroundShorthand): New method. Parses the background + shorthand attribute. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.LinkAction): Made class a subclass of HiddenAction. + (HTMLReader.LinkAction.start): Implemented to load the linked + stylesheet. + (HTMLReader.LinkAction.end): Removed. This is not needed. + * javax/swing/text/html/StyleSheet.java + (CSSStyleSheetParserCallback.declaration): Push declaration + through CSS.addInternal() to parse shorthand attributes. + (addCSSAttribute): Push declaration through CSS.addInternal() + to parse shorthand attributes. + (importStyleSheet): Implemented. This adds a stylesheet from + an URL. + * javax/swing/text/html/TableView.java + (calculateColumnRequirements): Increase column index for + non CellView children to avoid endless loop. + * javax/swing/text/CompositeView.java + (setParent): Comparen with numChildren not with real arraylength. + +2006-11-11 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getChildBeanContextChild): Implemented. + +2006-11-10 Roman Kennke + + * javax/swing/text/View.java + (updateLayout): Only repaint when needed. + +2006-11-10 David Gilbert + + * java/util/Collections.java + (sort(List)): Minor API doc addition, + (sort(List, Comparator)): Likewise. + +2006-11-10 David Fu + + * javax/swing/text/html/HTMLWriter.java + (traverse): Removed Classpath specific handling of implied + tags. + (traverseHtmlFragment): Removed Classpath specific handling of + implied tags. + +2006-11-10 Roman Kennke + + * javax/swing/text/ParagraphView.java + (Row.getMaximumSize): Removed. This method is not necessary. + * javax/swing/text/html/TableView.java + (CellView): Moved attribute init to setPropertiesFromAttributes(). + (setPropertiesFromAttributes): Fetch attributes here. + (RowView.RowView): Documented. + (RowView.getMaximumSpan): Overridden to restrict the max span + in the Y direction. + (RowView.layoutMajorAxis): Correctly layout the spans. + (columnWidths): New field. Stores the width attributes of + the columns. + (calculateColumnRequirements): Added support for relative + (== percent) width attributes. + (calculateMajorAxisRequirements): Removed. + (calculateMinorAxisRequirements): Removed unnecessary code. + (getMaximumSpan): Overridden to restrict the table's width. + (layoutColumns): Documented. Implement more clever table layout, + i.e. for relative columns etc. + (layoutMinorAxis): Don't mark rows invalid. + (updateGrid): Added docs. Initialize column widths. + +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/headless/HeadlessGraphicsEnvironment, + * gnu/java/awt/peer/headless/HeadlessToolkit: New classes. + Implement basic headless toolkit. + * java/awt/Toolkit.java + (getDefaultToolkit): Check headless property and create + headless toolkit when true. + +2006-11-09 Ingo Proetel +2006-11-09 Roman Kennke + + * gnu/java/awt/peer/swing/SwingButtonPeer.java + (SwingButton.button): New field. + (SwingButton.SwingButton): Added constructor. + (SwingButton.isShowing): Access button field instead of + the surrounding class. + (SwingButton.getParent): Access button field instead of + the surrounding class. + (SwingButtonPeer): Call new SwingButton constructor. + * gnu/java/awt/peer/swing/SwingComponent.java: + Several documentation updates. + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (currentPaintEvents): New field. + (peerFont): New field. + (SwingComponentPeer): Initialize currentPaintEvents fields. + (coalescePaintEvents): Implemented. + (dispose): Unregister peer from heavyweight list of its container. + (getGraphics): Fetch graphics from parent component. + (handleEvent): Discard paint event if its coalesced. + (init): Register component with its container for proper painting. + (paint): Call peerPaint(). + (peerPaint): Added argument that indicates if we should update. + Call paint or update on the actual AWT component. + (peerPaintComponent): New method. Paints the peer (Swing) component. + (setFont): Set peerFont field. + * gnu/java/awt/peer/swing/SwingContainerPeer.java + (backbuffer): New field. + (focusOwner): New field. + (heavyweightDescendents): New field. + (SwingContainerPeer): Take Container as argument. Don't call init + yet. + (addHeavyweightDescendent): New method. + (getFocusOwner): New helper method. + (getInsets): Delegate to insets(). + (handleKeyEvent): Dispatch event to focus owner. + (handleMouseEvent): Dispatch to child component. + (isDoubleBuffering): New helper method. + (peerPaint): Overridden to implement container painting with + double buffering. + (peerPaintChildren): New method. Paints the descendents of this + container. + (removeHeavyweightDescendent): New helper method. + * gnu/java/awt/peer/swing/SwingFramePeer.java + (peerPaint): Removed. + (peerPaintComponent): Overridden to paint the menu bar. + * gnu/java/awt/peer/swing/SwingLabelPeer.java + (SwingLabel.label): New field. + (SwingLabel.SwingLabel): Added constructor with Label argument. + (SwingLabel.getGraphics): Implemented to fetch the graphics from + the actual AWT component. + (SwingLabel.getParent): Implemented to fetch the parent from + the AWT component. + (SwingLabel.isShowing): Access the label field. + (SwingLabelPeer): Set alignment from label. + * gnu/java/awt/peer/swing/SwingListPeer.java: New class. + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: Documentation + fixlet. + * gnu/java/awt/peer/swing/SwingPanelPeer.java: + Don't be a lighweight peer. + (SwingPanelPeer): Call init. + * gnu/java/awt/peer/swing/SwingTextAreaPeer.java: New class. + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java + (SwingTextField.textField): New field. + (SwingTextField.SwingTextField): New constructor. + (SwingTextField.isShowing): Access field not enclosing class. + (SwingTextField.getGraphics): New method. + (SwingTextField.getParent): New method. + (SwingTextFieldPeer): Call new constructor. + (select): Renamed arguments. + * gnu/java/awt/peer/swing/SwingWindowPeer.java + (SwingWindowPeer): Call init. + +2006-11-09 Tania Bento + + * javax/swing/JLabel.java + (JLabel(Icon)): Changed documentation; Changed text to null. + (JLabel(Icon,int)): Likewise. + (JLabel(text)): Changed documenation. + (JLabel(text,int)): Likewise. + (JLabel(text,Icon,int)): Changed documentation; Throw + IllegalArgumentException if int is not one of LEFT, RIGHT, + CENTER, LEADING or TRAILING. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (BeanContextSupport): Use correct dtime default, + (BeanContextSupport(BeanContext)): Likewise, + (BeanContextSupport(BeanContext, Locale)): Likewise, plus renamed + locale argument, + (BeanContextSupport(BeanContext, Locale, boolean)): Likewise, + (BeanContextSupport(BeanContext, Locale, boolean, boolean)): Likewise. + +2006-11-09 David Gilbert + + * java/beans/beancontext/BeanContextSupport.java + (getBeanContextPeer): Implemented. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/BlockView.java + (cssHeight): Removed. + (cssWidth): Removed. + (cssSpans): New field. Replaces the two fields above. + (BlockView): Allocate cssSpans array. + (layoutMinorAxis): Fetch and use child span, not this view's span. + (setCSSSpan): Adjusted to use cssSpans array. + (setPropertiesFromAttributes): Adjusted to use cssSpans array. + +2006-11-09 Roman Kennke + + * javax/swing/text/html/InlineView.java + (nowrap): New field. + (getBreakWeight): Add support for nowrap. + (setPropertiesFromAttributes): Fetch the nowrap setting. + +2006-11-09 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java + (parseRuleset): Use new Selector class. + (parseValue): Parse multiple anys, not only one. + (main): Allow stylesheet be specified on the command line. + Use new Selector class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java + (startStatement): Use Selector class. + * gnu/javax/swing/text/html/css/CSSScanner.java + (readName): Actually read a character in the loop to avoid + endless loop. + * gnu/javax/swing/text/html/css/Length.java + (getValue): Only multiply when we have a percentage value. + * gnu/javax/swing/text/html/css/Selector.java: + New class. Provides handling of CSS selectors. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.PREC_AUTHOR_IMPORTANT): New constant field. + (CSSStyle.PREC_AUTHOR_NORMAL): New constant field. + (CSSStyle.PREC_NORM): New constant field. + (CSSStyle.PREC_UA): New constant field. + (CSSStyle.PREC_USER_IMPORTANT): New constant field. + (CSSStyle.precedence): New field. + (CSSStyle.priority): Removed. + (CSSStyle.selector): New field. + (CSSStyle.CSSStyle(int,Selector)): Initialize with Selector + and precendence. + (CSSStyle.compareTo): Adjusted to use the precedence and + specificity of the selector. + (CSSStyleSheetParserCallback.precedence): New field. + (CSSStyleSheetParserCallback.selector): Removed. + (CSSStyleSheetParserCallback.style): New field. + (CSSStyleSheetParserCallback.CSSStyleSheetParserCallback): + Initialize with precedence. + (CSSStyleSheetParserCallback.declaration): Don't look up + existing rule, simply create new one. + (CSSStyleSheetParserCallback.endStatement): Append style + to stylesheet. + (CSSStyleSheetParserCallback.startStatement): Use new Selector + class. + (css): Changed to be ArrayList. + (addRule): Create parser with author-normal precendence. + (getRule): Fixed implementation. + (loadRules): Create parser with UA precendence. + (resolveStyle): Use Selector class for resolving and matching + stylesheet rules. + (translateHTMLToCSS): Added mappings for a couple of HTML + attributes. + +2006-11-09 David Gilbert + + Fixes bug #29770 + * java/beans/SimpleBeanInfo.java + (loadImage): Check for nulls. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getpeername): Added 16 byte offset to memcpy operation. + +2006-11-09 Robert Schuster + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (getsockname): Added 16 byte offset to memcpy operation. + +2006-11-08 Mark Wielaard + + Fixes bug #29754 + * java/io/OutputStreamWriter.java + (OutputStreamWriter(OutputStream,Charset)): Set encodingName. + (OutputStreamWriter(OutputStream,CharsetEncoder)): Likewise. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (getParser): Use plain HTML_401F DTD. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.print): Removed method and all calls to it. + (HTMLReader.printBuffer): Removed method and all calls to it. + (HTMLReader.inImpliedParagraph): New field. + (HTMLReader.inParagraph): New field. + (HTMLReader.addContent): Create implied p-tag if necessary. + (HTMLReader.addSpecialElement): Create implied p-tag if necessary. + (HTMLReader.blockClose): Close implied p-tag if necessary. + (HTMLReader.blockOpen): Close implied p-tag if necessary. + * gnu/javax/swing/text/html/parser/HTML_401Swing.java: Removed. + +2006-11-08 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Removed mapping for TD tag. This + is done in TableView. + * javax/swing/text/html/TableView.java: + Implemented from scratch. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/parser/support/Parser.java + (_handleText): Check if text content is actually allowed before + passing empty text fragments on to the parser callbacks. + +2006-11-07 Mark Wielaard + + * gnu/java/net/protocol/jar/Handler.java (parseURL): Flatten jar + path. + (flat): New method. + +2006-11-07 Tania Bento + + * java/awt/FlowLayout.java + (getSize): If parent does not have a component, then a + different formula is used to calcuate the width. + +2006-11-07 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Include ListView. + * javax/swing/text/html/ListView.java + (paint): Removed comment. + * javax/swing/text/html/StyleSheet.java + (CSSStyle.priority): New field. + (CSSStyle.CSSStyle(int)): New constructor with priority. + (CSSStyle.compareTo): New method. Used for sorting the styles. + (CSSStyleSheetParserCallback.declaration): Store the style + with the complete selector. + (ListPainter.attributes): Renamed as field. + (ListPainter.styleSheet): New field. + (ListPainter.type): New field. + (ListPainter.ListPainter): Pass StyleSheet to constructor. + (ListPainter.paint): Provide simplistic implementation. + (getListPainter): Pass StyleSheet to constructor. + (resolveStyle): Fixed CSS style resolving. + +2006-11-07 Roman Kennke + + * gnu/javax/swing/text/html/css/BorderWidth.java: + New class. Handles CSS border width values. + * gnu/javax/swing/text/html/css/Length.java + (floatValue): Made protected so that BorderWidth can access it. + * javax/swing/text/html/CSS.java + (Attribute.BORDER_BOTTOM_COLOR): New static field. + (Attribute.BORDER_BOTTOM_STYLE): New static field. + (Attribute.BORDER_LEFT_COLOR): New static field. + (Attribute.BORDER_LEFT_STYLE): New static field. + (Attribute.BORDER_RIGHT_COLOR): New static field. + (Attribute.BORDER_RIGHT_STYLE): New static field. + (Attribute.BORDER_TOP_COLOR): New static field. + (Attribute.BORDER_TOP_STYLE): New static field. + (getValue): Added some mappings for the border color and + border width values. + * javax/swing/text/html/CSSBorder.java: New class. Implements + CSS borders. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.background): New field. + (BoxPainter.border): New field. + (BoxPainter.bottomInset): Documented. + (BoxPainter.leftInset): Documented. + (BoxPainter.rightInset): Documented. + (BoxPainter.topInset): Documented. + (BoxPainter.BoxPainter): Added support for borders and background. + (BoxPainter.getInset): Add border insets. + (BoxPainter.paint): Implemented. Paints the background and the + CSS border. + (addRule): Be less picky about parse and IO exceptions. + (getBoxPainter): Adjust to new BoxPainter constructor. + +2006-11-07 Andreas + + * examples/Makefile.am: Add rule to install the *.html files we use + in the Swing Demo. + +2006-11-06 Francis Kung + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (fillRect): Handle custom composites. + (drawRenderedImage): Handle custom composites. + (drawImage): Handle custom composites. + (createBuffer): New method. + (drawLine): Handle custom composites. + (drawComposite): New method. + (fill): Handle custom composites. + (getNativeCM): New method. + (drawGlyphVector): Handle custom composites. + (drawRect): Handle custom composites. + (draw): Handle custom composites. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (drawComposite): Unset composite during draw call, to prevent parent + from handling composite again. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (getBufferCM): Added comments. + (getNativeCM): Made abstract. + (setComposite): Removed comments. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Fixed initial window size and start document. + +2006-11-06 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement): Removed comment about + htmlAttributeSet. + (HTMLReader.handleComment): Create SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/DocumentParser.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * javax/swing/text/html/parser/ParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/GnuParserDelegator.java + (gnuParser.handleStartTag): Use SimpleAttributeSet instead + of htmlAttributeSet. + * gnu/javax/swing/text/html/parser/support/Parser.java + (getAttributes): Return a SimpleAttributeSet. + (restOfTag): Don't set resolving parent here. + +2006-11-06 Tania Bento + + * java/awt/TextComponent.java + (setSelectionStart): Added check. + +2006-11-06 Tania Bento + + * java/awt/TextField.java + (minimumSize(int)): Check if minimum size has been previously + set and changed values of Dimension returned if peer == null. + (preferredSize(int)): Check if preferred size has been previously + set and changed values of Dimension returned if peer == null. + +2006-11-06 Roman Kennke + + * javax/swing/JTree.java + (TreeModelHandler.treeNodesRemoved): Implemented. + (TreeModelHandler.treeStructureChanged): Implemented. + (nodeStates): Made package private. + +2006-11-06 Francis Kung + + PR 29420 + * javax/swing/JTree.java + (clearSelectionPathStates): New private method to clean up nodeStates. + (removeSelectionPath): Call clearSelectionPathStates(). + (removeSelectionPaths): Call clearSelectionPathStates(). + (removeSelectionRow): Call clearSelectionPathStates(). + (setSelectionPath): Call clearSelectionPathStates(). + (setSelectionPaths): Call clearSelectionPathStates(). + (setSelectionRow): Call clearSelectionPathStates(). + +2006-11-06 Ito Kazumitsu + + Fixes bug #29703 + * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. + +2006-11-06 Roman Kennke + + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Changed to implement a minimalistic browser. + * examples/gnu/classpath/examples/swing/forms.html, + * examples/gnu/classpath/examples/swing/textstyles.html, + * examples/gnu/classpath/examples/swing/welcome.html: + Some example content. + +2006-11-06 Roman Kennke + + * javax/swing/text/ComponentView.java + (setParent): Lock the document and repaint the hosting + container. + * javax/swing/text/FlowView.java + (FlowStrategy.createView): Removed comment. + (FlowView): Initialize span with Short.MAX_VALUE. + (getFlowStart): Return 0 unconditionally. + (layout): Moved code around to make it more readable. + (loadChildren): Always set the parent. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.fontMetrics): New field. + (DefaultGlyphPainter.getAscent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getBoundedPosition): Use new helper method + to synchronize the font metrics. + (DefaultGlyphPainter.getDescent): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getHeight): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.getSpan): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.modelToView): Use new helper method to + synchronize the font metrics. + (DefaultGlyphPainter.updateFontMetrics): New helper method for + font metrics caching. + (DefaultGlyphPainter.viewToModel): Use new helper method to + synchronize the font metrics. Fixed view to model mapping. + * javax/swing/text/View.java + (removeAll): Pass null to replace(). + (setParent): Only reparent children that have this view as parent. + +2006-11-05 Mark Wielaard + + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * include/gnu_java_nio_channels_FileChannelImpl.h: Removed. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + Removed. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Remove gnu_java_nio_channels_FileChannelImpl.c. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/BlockView.java + (attributes): New field. + (cssHeight): New field. + (cssWidth): New field. + (painter): New field. + (calculateMajorAxisRequirements): Overridden to account for + CSS settings. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (layoutMinorAxis): Overridden to account for CSS settings. + (changedUpdate): Formatting fixlet. + (constrainSize): New helper method. + (getAlignment): Fix alignment. + (getAttributes): Cache attributes for better performance. + (getStyleSheet): Fetch stylesheet from document rather than creating + a new one. + (paint): Remove comment. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Implemented to fetch the + recognized properties. + * javax/swing/text/html/CSS.java + (getValue): Added mapping for width and height attributes. + * javax/swing/text/html/InlineView.java + (longestWord): New field. + (getLongestWord): New helper method. + (calculateLongestWord): New helper method. + (getMinimumSpan): Overridden to constrain the minimum span by the + longest word. + * javax/swing/text/html/ParagraphView.java + (cssHeight): New field. + (cssWidth): New field. + (calculateMinorAxisRequirements): Overridden to account for + CSS settings. + (setCSSSpan): New helper method. + (setPropertiesFromAttributes): Fetch CSS width and height. Added + null check. + * gnu/javax/swing/text/html/css/Length.java + (percentage): New field. + (Length): Determine percentage values. + (getValue(float)): New method for handling percentage values. + (isPercentage): New method. + +2006-11-03 Tania Bento + + * java/awt/TextArea.java + (getMinimumSize): Changed documentation. + (getPreferredSize): Changed documentation. + (getMinimumSize(int,int)): Changed documenation. + (getPreferredSize(int,int)): Changed documenation. + (minimumSize): Changed documentation. + (preferredSize): Changed documenation. + (minimumSize(int,int)): Changed documentation. Checked if + minimum size had been previously set and changed values of + Dimension returned if peer == null. + (preferredSize(int, int)): Checked if preferred size had been + previously set and changed values of Dimension returned if + peer = null. + +2006-11-03 Tania Bento + + * java/awt/event/ComponentEvent.java + (paramString): Changed format of string representation returned. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Added support for textarea. + (HTMLReader.FormAction.end): Added support for textarea. + (HTMLReader.HeadAction.end): Call super to actually close the + block. + (HTMLReader.inTextArea): New field. + (HTMLReader.textAreaDocument): New field. + (HTMLReader.handleText): Call textAreaContent when inside + a textarea tag. + (HTMLReader.textAreaContent): Implemented to initialize + the text area's model. + * javax/swing/text/html/FormView.java + (createComponent): Added support for textarea tag. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.IsindexAction.start): Implemented. + +2006-11-03 Roman Kennke + + * javax/swing/text/html/StyleSheet.java + (addRule): Implemented. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.inStyleTag): New field. + (HTMLReader.styles): New field. + (HTMLReader.HeadAction.end): Implemented to read all stylesheets, + if any. + (HTMLReader.StyleAction.start): Set inStyleTag flag. + (HTMLReader.StyleAction.end): Set inStyleTag flag. + (HTMLReader.handleText): When inside a style tag, add + content to the styles array. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/FormView.java + (maxIsPreferred): New field. + (createComponent): Initialize components correctly. + (getMaximumSpan): Return the preferred span for components + that need this. The maxIsPreferred flag is set accordingly + in createComponent. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.FormAction.start): Implemented to set the + correct model as attribute. + (HTMLReader.FormAction.setModel): New helper method. + (HTMLReader.FormAction.end): Call super to finish the element. + Added TODO about things left to do. + (HTMLReader.handleComment): Use SimpleAttributeSet rather + than htmlAttributeSet. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create BlockView for FORM tags. + Create FormView for INPUT, TEXTAREA and SELECT tags. + +2006-11-02 David Gilbert + + * java/awt/geom/GeneralPath.java: API doc fixes. + +2006-11-02 Roman Kennke + + * javax/swing/text/html/ImageView.java + (getImageURL): Fetch attribute from element. Consider the + base URL for relative image locations. + +2006-11-02 Roman Kennke + + * javax/swing/JEditorPane.java + (setContentType): Strip off attributes. + * javax/swing/text/html/HTMLEditorKit.java + (LinkController.activateLink(int,JEditorPane,int,int): New + method. Implements activation of a hyperlink. + (LinkController.activateLinke(int,JEditorPane)): Delegate + to the other activateLink() method. + (LinkController.createHyperlinkEvent): New helper method. + (LinkController.mouseClicked): Implemented to activate the link. + (LinkController.mouseDragged): Added comment that this + method does nothing. + (LinkController.mouseMoved): Update cursor for hyperlinks. + (mouseHandler): Renamed field to linkController. + (HTMLEditorKit): Create a link controller. + (clone): Give the clone a new link controller. + (deinstall): De-install link controller as mouseMotionListener too. + (install): Install link controller as mouseMotionListener too. + +2006-11-02 Roman Kennke + + PR 29644 + * javax/swing/text/FlowView.java + (FlowStrategy.changedUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.insertUpdate): Reversed condition. This caused + wrong layout and bad performance. + (FlowStrategy.removeUpdate): Reversed condition. This caused + wrong layout and bad performance. + (LogicalView): Changed to be a subclass of CompositeView. + (LogicalView()): Only take one Element argument. + (LogicalView.childAllocation): New method for implementing + the abstract CompositeView method. + (LogicalView.forwardUpdateToView): Overridden for correct + reparenting. + (getMinimumSpan): Overridden to handle line breaking correctly. + (getPreferredSpan): Implemented to handle line breaking correctly. + (getViewAtPoint): New method for implementing + the abstract CompositeView method. + (getViewIndexAtPosition): Overridden to handle leaf elements + correctly. + (isAfter): New method for implementing + the abstract CompositeView method. + (isBefore): New method for implementing + the abstract CompositeView method. + (loadChildren): Overridden to handle leaf elements + correctly. + (paint): New method for implementing + the abstract CompositeView method. + (calculateMinorAxisRequirements): Use preferredSpan in calculation. + (loadChildren): Initialize flow layout by sending a synthetic + insertUpdate() to the layout strategy. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getBoundedPosition): Fall back to Toolkit's + font metrics if component is not available. Add initial offset + to result. + (breakView): Be more clever when breaking the view. + (getBreakLocation): New helper method to determine a good + break location. + (getBreakWeight): Be more clever when breaking the view. + (getTabbedSpan): Make sure we have a painter. Use view's + start and end offset rather than the element's. + * javax/swing/text/Utilities.java + (drawTabbedText): Avoid useless add and sub with the y offset. + +2006-11-02 Roman Kennke + + PR 29644 + * gnu/java/awt/peer/ClasspathFontPeer.java + (getStringBounds): Removed abstract method. This is replaced + in java.awt.Font to use a TextLayout. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (GtkWindowPeer): Set a font on the window object. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector(Font,String,FontRenderContext,int)): + Changed to take char,int,int instead of String. Filter + control characters. + (FreetypeGlyphVector(Font,String,FontRenderContext)): + Create char array out of string. + (getLogicalBounds): Don't translate bounds. They already are + translated. + * gnu/java/awt/peer/gtk/GdkFontMetrics.java + (stringWidth): Filter out control characters. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getStringBounds): Removed unneeded method. + (layoutGlyphVector): Pass char array directly to FreetypeGlyphVector + constructor. + * gnu/java/awt/peer/qt/QtFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer.java + (getStringBounds): Removed unneeded method. + * gnu/java/awt/peer/x/XFontPeer2.java + (getStringBounds): Removed unneeded method. + * java/awt/Font.java + (getStringBounds(char[],int,int,FontRenderContext)): + Use TextLayout to determine the bounds. + (getStringBounds(CharacterIterator,int,int,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,FontRenderContext)): + Delegate to the char[] version of this method. + (getStringBounds(String,int,int,FontRenderContext)): + Delegate to the String version of this method. + +2006-11-01 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (paramString): Changed format of string representation returned. + (paramStringHelper): New private method. + +2006-11-01 Tania Bento + + * java/awt/GridBagLayout.java + (toString): Implemented method. + +2006-10-30 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (GCJ_New): Move GLib threading + initialization to NP_Initialize. + (NP_Initialize): Initialize GLib threading. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, if + actionCommand == null, then getText() is used. + +2006-10-31 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (fillArc): Corrected arc type to Arc2D.PIE. + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.PreAction.end): Implemented. + (HTMLReader.PreAction.start): Implemented. + (HTMLReader.inPreTag): New field. + (HTMLReader.handleTag): When inside a pre tag, call preContent(). + (HTMLReader.preContent): Implemented. + +2006-10-31 Tania Bento + + * javax/swing/JTextField.java + (fireActionPerformed): When creating the new event, + actionCommand should be used as the command, not + getText(). + +2006-10-31 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (write): Use HTMLWriter or MinimalHTMLWriter for writing + HTML or Styled documents. + +2006-10-31 David Fu + + * javax/swing/text/html/HTMLWriter.java: New class. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragSourceContext.java + (dragExit): Use constant fields instead of 0. + (updateCurrentCursor): Completed implementation. + +2006-10-30 Roman Kennke + + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Added API docs. Do not replace the events object + but rather clear() it. Removed not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (writeExternal): Remove not implemented tag. + +2006-10-30 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (javaFileListFlavor): Don't explicitly specify class. + (plainTextFlavor): Don't explicitly specify class. + (mimeType): Changed to type MimeType. Remove final. + (representationClass): Remove final. + (DataFlavor): Don't do anything here. + (DataFlavor(Class,String,String)): Removed. + (DataFlavor(Class,String)): Initialize here. + (DataFlavor(String,String,ClassLoader)): Initialize in init(). + (DataFlavor(String,String)): Initialize in init(). + (DataFlavor(String)): Initialize in init(). + (init): New initialization method. + (getMimeType): Delegate to MimeType.toString(). + (getParameter(String,String)): Removed. Is now done in MimeType. + (getParameter(String)): Delegate to MimeType. + (getPrimaryType): Delegate to MimeType. + (getRepresentationClassFromMime): Removed. + (getRepresentationClassFromMimeThrows): Removed. + (getSubType): Delegate to MimeType. + (hashCode): Take MimeType.toString() for the hashCode. + (isFlavorRemoveObjectType): Return true only when representation + class is remove and serializable and the mime type is remote. + (isFlavorSerializedObjectType): Return true only when representation + class is serializable and the mime type is serialized. + (isMimeTypeEqual): Rewritten to delegate to MimeType.matches(). + (isMimeTypeSerializedObject): Delegate to isMimeTypeEqual(). + (readExternal): Implemented stub method. + (writeExternal): Implemented stub method. + * java/awt/datatransfer/MimeType.java: New helper class. + +2006-10-28 Roman Kennke + + * javax/swing/TransferHandler.java + (importData): Implemented stub method. Added API docs. + +2006-10-26 Christian Elias Naur + + * native/jni/gtk-peer/gtk_jawt.c (classpath_jawt_get_depth): New + function. + * native/jni/classpath/classpath_jawt.h: Likewise. + * native/jawt/jawt.c (_Jv_GetDrawingSurfaceInfo): Added + initializer for surface_info_x11->depth. + +2006-10-26 Tania Bento + + * java/awt/FileDialog.java: + (setFile): Changed if-clause condition. + +2006-10-25 Francis Kung + + * include/gnu_java_nio_VMChannel.h, + * include/java_net_VMNetworkInterface.h, + * include/gnu_java_nio_EpollSelectorImpl.h, + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_nio_FileChannelImpl.h, + * include/gnu_java_nio_KqueueSelectorImpl.h, + * include/gnu_java_nio_VMPipe.h, + * include/gnu_java_net_VMPlainSocketImpl.h: Regenerated. + +2006-10-25 Tania Bento + + * java/awt/Dialog.java: Created new private variable + next_dialog_number. + (Dialog(Frame, String, boolean, GraphicsConfiguration)): + Set cursor to default cursor. + (Dialog(Dialog, STring, boolean, GraphicsConfiguration)): + Same. + (generateName): New method. + (getUniqueLong): New private method. + * java/awt/FileDialog.java: Created new private variable + next_file_dialog_number. + (setFile): If file == "", set it to null. + (generateName): New method. + (getUniqueLong): New private method. + +2006-10-25 Robert Schuster + + * java/net/MulticastSocket.java: + (setNetworkInterface): Rewritten. + +2006-10-25 Robert Schuster + + * native/jni/java-net/javanet.h: Added declaration for + _javanet_create_inetaddress. + * native/jni/java-net/javanet.c: + (_javanet_create_inetaddress): Removed static keyword. + +2006-10-25 Robert Schuster + + * gnu/java/net/PlainDatagramSocketImpl.java: + (connect): Use VMChannel instance for connect call. + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Handle multicast options. + (getOption): Handle multicast options. + * gnu/java/net/PlainSocketImpl.java: + (getTimeToLive): Call VMPlainSocketImpl.getTimeToLive. + (setTimeToLive): Call VMPlainSocketImpl.setTimeToLive. + (setOption): Filter unappropriate options. + (getOption): Filter unappropriate options. + (connect): Use given SocketAddress. + (close): Reset address and port. + (getInetAddress): + * include/Makefile.am: Removed all occurences of + gnu_java_net_VMPlainDatagramSocketImpl.h. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Removed. + * native/jni/java-net/Makefile.am: Removed + gnu_java_net_VMPlainDatagramSocketImpl.c from sources. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Removed. + as SocketException, declare to throw SocketException. + * native/jni/java-nio/gnu_java_nio_VMChannel.c: Added definitions + for SocketException and ConnectException. + (Java_gnu_java_nio_VMChannel_connect): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_connect6): Throw SocketException instead + of IOException. + (Java_gnu_java_nio_VMChannel_accept): Rewritten. + (JCL_thread_interrupted): New function. + (initIDs): Added initialisation for isThreadInterrupted method id. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Added + CPNET_IP_TTL to java_sockopt enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): Handle CPNET_IP_TTL + case, handle SO_LINGER case properly. + (Java_gnu_java_net_VMPlainSocketImpl_getMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_setMulticastInterface6): New + function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): Fixed constant to be + IPV6_LEAVE_GROUP. + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: Removed. + * vm/reference/gnu/java/nio/VMChannel.java: + (connect(int, byte[], int, int)): Declare to throw SocketException. + (connect6): Declare to throw SocketException. + (connect(InetSocketAddress, int)): Catch IOException and rethrow + (isThreadInterrupted): New method. + * vm/reference/gnu/java/net/VMPlainSocketImpl.java: Added CP_IP_TTL + field. + (setTimeToLive): New method. + (getTimeToLive): New method. + (setMulticastInterface(int, InetAddress)): New method. + (setMulticastInterface(int, int, Inet4Address): New method. + (setMulticastInterface6(int, int, Inet6Address): New method. + (setOptions): Handle SO_LINGER case. + (getOptions): Add missing SO_REUSEADDR case. + * java/net/Socket.java: + (Socket(InetAddress, int, InetAddress, int, boolean)): Close socket + when exception was thrown out of connect(). + (setSoLinger): Replaced instantiations with valueOf calls, replaced + Boolean.FALSE with Integer.valueOf(-1). + * native/jni/native-lib/cpio.h: Added cpio_closeOnExec declaration. + * native/jni/native-lib/cpio.c: Added cpio_closeOnExec implementation. + * NEWS: Documented VM interface changes. + +2006-10-25 Robert Schuster + + * java/net/Inet6Address.java: + (isMulticastAddress): Fixed check. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/MulticastSocket.java: + (getNetworkInterface): Return a special NetworkInterface instance + if the socket's multicast interface is set to any. + +2006-10-25 Robert Schuster + + Fixes PR29576 + * java/net/NetworkInterface.java: + (createAnyInterface): New method. + (equals): Added if-statement to handle case where netif.name is null. + * vm/reference/java/net/VMNetworkInterface.java: + (hashCode): Rewritten. + (VMNetworkInterface): New constructor. + +2006-10-24 Thomas Fitzsimmons + + * tools/Makefile.am: Add ASM_JAR define to each tool's CFLAGS. + * tools/toolwrapper.c (main): Set bootclasspath, not classpath. + Add ASM_JAR to bootclasspath. + +2006-10-24 Tania Bento + + * java/awt/Scrollbar.java: + (setLineIncrement): Removed unnecessary if-clause and if + lineIncrement == 0, then it should be set to 1, not 0. + (setPageIncrement): Removed unnecessary if-clause and if + pageIncrement == 0, then it should be set to 1, not 0. + (setValues): If visibleAmount <= 0, it should be set to 1, not 0. + If maximum <= minimum, maximum should be set to mininum + 1. The + actual value of maximum is maximum - visibleAmount, so I made + this change to the appropriate if-check. Remove the two unneccessary + if-clauses. + +2006-10-23 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoSetFont): New method. + (copy): Set font using setFont method. + (setFont): Call cairoSetFont. + (setup): Set font using setFont method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (install_font_peer): Removed. + (cairoDrawGlyphVector): Removed call to install_font_peer. + (cairoSetFont): New method. + +2006-10-23 Thomas Fitzsimmons + + * gnu/java/awt/peer/NativeEventLoopRunningEvent.java: New file. + * gnu/java/awt/peer/gtk/GtkMainThread.java: Post + NativeEventLoopRunningEvent after GTK main loop start and stop. + * java/awt/EventQueue.java (isShutdown): Check nativeLoopRunning. + (getNextEvent): Set dispatchThread to null. + (postEventImpl): Set nativeLoopRunning. + (pop): Interrupt event dispatch thread. + * java/awt/Frame.java (noteFrame): Synchronize on weakFrames. + +2006-10-22 Christian Thalinger + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (config-int.h): + Added include. + * native/jni/java-nio/gnu_java_nio_VMChannel.c (config-int.h): + Likewise. + +2006-10-23 Marco Trudel + + * gnu/javax/crypto/pad/PKCS7.java (unpad): Removed an unnecessary test. + * javax/crypto/CipherOutputStream.java: Re-implemented. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineUpdate(byte[], int, int)): Always keep data for unpadding in padded + decryption mode and check if it is a complete block. + (engineUpdate(byte[], int, int, byte[], int)): Likewise. + (engineDoFinal(byte[], int, int)): In padded decryption mode, take + partially processed data into account. + +2006-10-21 Tom Tromey + + PR classpath/29086: + * java/util/AbstractCollection.java (toArray): Removed cast. + +2006-10-20 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java (printClass): + Don't use mangled class name for .h file. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java (printClass): + Don't use mangled class name for .c file. + * tools/gnu/classpath/tools/javah/CniPrintStream.java (writeClass): + Handle classes from the default package. + +2006-10-20 Francis Kung + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added missing constants. + +2006-10-19 Francis Kung + + PR 29510 + * java/awt/image/BufferedImage.java + (constructor): Updated some properties of default image types. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (argb32): Updated field to match default in BufferedImage. + +2006-10-18 Roman Kennke + + PR 29419 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Changed size comparison to return when size == 0 + too. + * javax/swing/JViewport.java + (paintBackingStore): Check width and height of blitted area + and only do blit if its > 0. + (paintBlit): Check width and height of blitted area + and only do blit if its > 0. + +2006-10-18 Roman Kennke + + PR 27091 + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (maximize): New native method. + (unmaximize): New native method. + (iconify): New native method. + (deiconify): New native method. + (getState): Implemented. + (setState): Implemented. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (oldState): Rename to windowState and made protected, so that + the FramePeer can access it. + (postWindowEvent): Handle state change events more gently and + correctly. + * java/awt/Frame.java + (getState): Fetch state from getExtendedState(). + (setExtendedState): Update the peer. Check if the state change + is actually supported. + (getExtendedState): Update the state from the peer. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c + (maximize): New method. + (unmaximize): New method. + (iconify): New method. + (deiconify): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_FRAME_NORMAL): New macro. + (AWT_FRAME_ICONIFIED): New macro. + (AWT_FRAME_MAXIMIZED_BOTH): New macro. + (window_window_state_cb): Rewritten to handle window state changes + more gently (mostly on the java side of the world). + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h: Regenerated. + +2006-10-18 Tania Bento + + * java/awt/CardLayout.java: + (maximumLayoutSize): Return a new Dimension with Integer.MAX_VALUE as + its height and width if Container passed as argument is null. + (gotoComponent): Consider the case where the component is not visible. + +2006-10-18 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Rename file... + * resource/gnu/classpath/tools/appletviewer/messages.properties: + New file. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + Remove file. + * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: + Remove file. + * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/Messages.java: New file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: + Retrieve user-visible strings through Messages.getString. + * tools/gnu/classpath/tools/appletviewer/Main.java: Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: + Likewise. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: + Likewise. + +2006-10-18 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (AWT_WINDOW_OPENED): Remove unnecessary macro. + (window_show_cb): Removed unnecessary function. + (connect_signals): Don't connect signal for show. * + gnu/java/awt/peer/gtk/GtkWindowPeer.java + (hasBeenShown): Removed. This is handled in java.awt.Window. + (postWindowEvent): Removed handling of WINDOW_OPENED. This is done + in java.awt.Window. * java/awt/Window.java + (dispose): Post WINDOW_CLOSED here, not WINDOW_OPENED. + +2006-10-18 Francis Kung + + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (drawRenderedImage): New method. + (drawImage): New method. + (CairoSurfaceGraphics): Set clip. + (createBuffer): New method. + (getBufferCM): New method. + (drawComposite): New method. + (fill): New method. + (getNativeCM): New method. + (drawGlyphVector): New method. + (draw): New method. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (getNativeCM): Reflect renamed field. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoCM_pre): Renamed from cairoColorModel. + (cairoColorModel): Set premultiplication to false. + +2006-10-18 Roman Kennke + + PR 28769 + * javax/swing/JScrollPane.java + (viewportBorder): Made field private. + (wheelScrollingEnabled): Made field private. + (JScrollPane): Enabled wheel scrolling by default. + * javax/swing/JTree.java + (TreeSelectionRedirector.valueChanged): Don't repaint anything + here. + (getScrollableUnitIncrement): Fixed thinko. + * javax/swing/plaf/basic/BasicScrollBarUI.java + (static scrollByBlock): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (static scrollByUnits): New static method to avoid code duplication + for the BasicScrollPane wheel scrolling. + (scrollByBlock): Delegate to static helper method. + (scrollByUnit): Delegate to static helper method. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Delegate to BasicScrollBarUI + static helper methods to avoid code duplication. + (MouseWheelHandler.bounds): Removed. + (MouseWheelHandler.getValue): Removed. + (MouseWheelHandler.scroll): Removed. + +2006-10-18 Roman Kennke + + PR 29502 + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (updateComponent): Don't override this here. + * java/awt/Window.java + (addWindowListener): Ignore null listener. Set newEventsOnly flag. + (addWindowFocusListener): Ignore null listener. Set newEventsOnly + flag. + (addWindowStateListener): Ignore null listener. Set newEventsOnly + flag. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (getStream): Try to detect and set the content type of the + connection stream. + +2006-10-18 Roman Kennke + + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): Pass full set of params to super. + (RepaintWorker.dispatch): Overridden to allow apps to call this + via reflection. + (addDirtyRegion): Synchronize a little more to protect the + dirtyComponents field and avoid NPEs. + (invokeLater): Pass full set of params to RepaintWorkerEvent + constructor. + +2006-10-18 Roman Kennke + + * javax/swing/JEditorPane.java + (page): Removed field. The page is now stored in the correct + document property. + (getPage): Fetch page URL from document property. + (read): Set the document for this JEditorPane. Use a Reader + for reading in the document. + (setPage): Call getStream() to get the stream from which we read. + Fire property change. Store page in document property. + +2006-10-18 Roman Kennke + + * java/awt/datatransfer/DataFlavor.java + (DataFlavor(String)): Removed check for space in mime string. + +2006-10-18 Roman Kennke + + * java/awt/Container.java + (validateTree): Call ContainerPeer.begin|endLayout() rather than + begin|endValidate(). + (validate): Call ContainerPeer.begin|endValidate() here. + Added some local vars to avoid NPEs. + +2006-10-18 Roman Kennke + + * native/target/.cvsignore + * native/target/Linux/.cvsignore + * native/target/generic/.cvsignore: + Added to let CVS ignore the generated Makefile and Makefile.in + files. + +2006-10-18 Roman Kennke + + PR 29448 + * java/awt/Window.java + (eventTypeEnabled): Overridden to handle WindowEvents. + (processEvent): Switch between processWindowEvent(), + processWindowFocusEvent() and processWindowStateEvent() here, + rather than simply calling processWindowEvent(). + (processWindowEvent): Only dispatch event to listener, do not + switch to processWindowFocusEvent() or processWindowStateEvent() + here. + * javax/swing/JFrame.java + (frameInit): Explicitly enable window and key events here. + (processWindowEvent): Throw out some unnecessary code. + * javax/swing/JWindow.java + (windowInit): Explicitly enable key events here. + * javax/swing/JDialog.java + (close_action): Renamed to closeAction. + (dialogInit): Explicitly enable window events here. + (getDefaultCloseOperation): Renamed close_action to closeAction. + (processWindowEvent): Throw out some unnecessary code. + Renamed close_action to closeAction. + (setDefaultCloseOperation): Renamed close_action to closeAction. + +2006-10-17 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkMainThread.java: Introduce running flag + to track native GTK event loop status. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Set and + clear running flag when native GTK event loop starts and stops. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (exportToClipboard): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java (draw): Extend updated + region to account for pixel-shifting. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (shiftDrawCalls): Made + proctected. + +2006-10-17 Francis Kung + + PR 29450 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getLogicalBounds): Translate individual glyphs before appending bounds. + (getOutline): Translate individual glyphs before appending outline. + +2006-10-17 Cameron McCormack + + PR 29014 + * java/awt/font/TextLayout.java + (bidi): New field. + (constructor): Store bidi in field. + (getCharacterLevel): Implemented. + +2006-10-17 Roman Kennke + + * javax/swing/TransferHandler.java + (PropertyTransferable): New inner class. Handles transfers + from component properties. + (createTransferable): Implemented. + +2006-10-17 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (drawComposite): Ensure composite does not extend beyond buffer + bounds. + * java/awt/image/Raster.java + (createChild): Ensure child does not extend beyond parent's + bounds. + * java/awt/image/WritableRaster.java + (createWritableChild): Ensure child does not extend beyond + parent's bounds. + +2006-10-17 Jeroen Frijters + + * native/jni/classpath/jcl.c + (JNI_OnLoad): Corrected calling convention. + +2006-10-16 Roman Kennke + + * javax/swing/TransferHandler.java + (propertyName): New field. + (TransferHandler(String)): Store property name in field. + (canImport): Implemented stub method. + (exportDone): This is a no-op. Removed not-implemented mark. + (getPropertyDataFlavor): New helper method. + (getPropertyDescriptor): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleJButton.getAfterIndex): Implemented. + (AccessibleJButton.getAtIndex): Implemented. + (AccessibleJButton.getBeforeIndex): Implemented. + (AccessibleJButton.getCharacterAttribute): Completed incomplete + method implementation. + +2006-10-16 Roman Kennke + + * javax/swing/JLabel.java + (AccessibleJLabel.getIndexAtPoint): Implemented. + (AccessibleJLabel.getCharacterBounds): Implemented. + (AccessibleJLabel.getTextRectangle): New helper method. + +2006-10-16 Roman Kennke + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Mark as implemented. + +2006-10-14 Roman Kennke + + PR 27957 + * javax/swing/JComponent.java + (toolTipText): Removed field. + (createToolTip): Don't set tooltip text here. This is done + in the ToolTipManager. + (setToolTipText): Set tooltip text as client property. + (getToolTipText): Get tooltip text from client property. + * javax/swing/ToolTipManager.java + (currentComponent): Made field non-static and of type JComponent. + (currentPoint): Made field non-static. + (currentTip): Made field non-static. + (popup): Made field non-static. + (toolTipText): New field. Stores the current tooltip text. + (checkTipUpdate): New helper method. Checks for updates of + the tooltip text and triggers the appropriate actions. + (getContentPaneDeepestComponent): Removed unneeded casts. + (mouseEntered): Removed unneeded cast. Initially fetch tooltip + text from component. + (mouseMoved): Check for tooltip text updates. + (showTip): Set tooltip text from current setting. + +2006-10-14 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (setPaintLabels): Call setLabelTable() instead of setting + the field directly. This also updates the label's size. + +2006-10-13 Tom Tromey + + * tools/gnu/classpath/tools/javah/ClassWrapper.java (toString): New + method. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (setLayout): Should throw AWTError whenever called. + +2006-10-13 Roman Kennke + + PR 29448 + * java/awt/Component.java + (dispatchEventImpl): Special handle ComponentReshapeEvents to + update the AWT's knowledge about a component's size. + * gnu/java/awt/ComponentReshapeEvent.java: New class. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (postConfigureEvent): Directly dispatch a ComponentReshapeEvent + to update the AWT's knowledge about the component bounds. + +2006-10-13 Tania Bento + + * java/awt/ScrollPaneAdjustable.java + (setMaximum): Should throw AWTError whenever called. + (setMinimum): Same. + (setVisibleAmount): Same. + +2006-10-13 Tania Bento + + * java/awt/ScrollPane.java + (addImpl): When calling super, index should be value passed, + not -1. + (getIsValidString): New helper method for paramString(). + (getScrollbarDisplayString): New helper method for paramString(). + (paramString): Changed format of outputted string. + +2006-10-13 David Gilbert + + * javax/swing/tree/DefaultTreeSelectionModel.java + (clone): Added cast to TreePath[]. + +2006-10-13 Roman Kennke + + PR 27780 + * javax/swing/JMenuItem.java + (isDragging): New field. Indicates if we are inside a mouse + drag. + (createMenuDragMouseEvent): Removed unneeded method. + (processMenuDragMouseEvent): Track if we are dragging. + (processMouseEvent): Simply forward to processMenuDragMouseEvent(). + * javax/swing/plaf/basic/BasicMenuItemUI.java + (MenuDragMouseHandler.menuDragMouseDragged): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseEntered): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseExited): Fetch + MenuSelectionManager from event. + (MenuDragMouseHandler.menuDragMouseReleased): Click on mouse + release inside menu item, otherwise clear selection. + (MenuInputHandler.mouseReleased): Avoid multiple calls to getX() + and getY(). Call doClick() rather than the doClick() of JMenuItem. + (doClick): Perform an immediate click. + +2006-10-13 Thomas Fitzsimmons + + * javax/swing/DefaultComboBoxModel.java (setSelectedItem): Simply + return if object is not in the list. + +2006-10-12 Andrew Haley + + * java/lang/InheritableThreadLocal.java: Rename NULL to sentinel. + * java/lang/ThreadLocal.java: Likewise. + +2006-10-12 Roman Kennke + + PR 27956 + * javax/swing/JSlider.java + (LabelUIResource): New inner class. A JLabel as UIResource. + (createStandardLabels): Don't set label bounds here. + Create LabelUIResource instances. + (setInverted): Repaint. + (setLabelTable): Update the label UIs. Revalidate and repaint. + (setMajorTickSpacing): Update the label table. Repaint if + necessary. + (setMinorTickSpacing): Repaint if necessary. + (setOrientation): Revalidate. + (setPaintLabels): Revalidate and repaint. + (setPaintTicks): Revalidate and repaint. + (setPaintTrack): Repaint. + (updateLabelUIs): Set the label sizes here. + (updateUI): Also update the label UIs. + * javax/swing/plaf/basic/BasicSliderUI.java + (ComponentHandler.componentResized): Don't revalidate. + (FocusHandler.focusGained): Don't set field. + (FocusHandler.focusLost): Don't set field. + (PropertyChangeHandler.propertyChange): Calculate geometry + and repaint for a couple more properties. + (TrackListener.mouseReleased): Repaint. + (hasFocus): Removed unneeded field. + (calculateContentRect): No need to check for content size < 0. + (calculateFocusRect): Use insets from insetCache. + (calculateLabelRect): Fixed calculation of label rectangle. + It is relative to the tick rectangle, rather than the content + rectangle. + (calculateTickRect): Small restructuring to avoid unnecessary + comparisons. + (calculateTrackRect): Fixed calculation of track rectangle. + (getMaximumSize): Fixed. Fetch preferred size and set + the height of width to Short.MAX_VALUE. + (getMinimumHorizontalSize): Fixed to return UIManager value. + (getMinimumVerticalSize): Fixed to return UIManager value. + (getPreferredHorizontalSize): Fixed to return UIManager value. + (getPreferredVerticalSize): Fixed to return UIManager value. + (getMinimumSize): Fixed to return the UIManager value plus + insets added. + (getPreferredSize): Fixed to return the UIManager value plus + insets added. + (getWidthOfWidestLabel): Restructured for more cleanness and + efficiency. + (hitClip): New helper method. + (paintHorizontalLabel): Replaced by more efficient and clean + implementation. + (paintVerticalLabel): Replaced by more efficient and clean + implementation. + (paintLabels): Replaced by more efficient and clean + implementation. + (paint): Check if rectangles intersect with clip for maximum + efficiency. + (recalculateIfInsetsChanged): Fixed. This method should + recalculate only when the insets changed. + (setThumbLocation): Repaint with a reasonable clip. + (xPositionForValue): Made more clean and efficient. + (yPositionForValue): Made more clean and efficient. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponenDefaults): Added Slider.horizontalSize, + Slider.verticalSize, Slider.minimumHorizontalSize and + Slider.minimumVerticalSize properties. + * javax/swing/plaf/metal/MetalSliderUI.java + (getTickLength): Add 1 for horizontal sliders and 3 for + vertical sliders. + (paintMajorTickForHorizSlider): Fix colors. Fix line locations. + (paintMinorTickForHorizSlider): Fix colors. Fix line locations. + (paintMajorTickForVertSlider): Fix colors. Fix line locations. + (paintMinorTickForVertSlider): Fix colors. Fix line locations. + +2006-10-12 Roman Kennke + + PR 28696 + * javax/swing/text/FlowView.java + (FlowStrategy.layout): Preserve logical views from getting lost. + (FlowStrategy.layoutRow): Fix line breaking. + (FlowStrategy.adjustRow): Fix line breaking. + (FlowStrategy.changedUpdate): Mark layout invalid, or repaint. + (FlowStrategy.insertUpdate): Mark layout invalid, or repaint. + (FlowStrategy.removeUpdate): Mark layout invalid, or repaint. + (createView): Don't check index. + (contains): New helper method. + (reparent): New helper method. + (layoutDirty): Removed unneeded field. + (FlowView): Removed layoutDirty field init. + (changedUpdate): Removed layoutDirty handling. + (insertUpdate): Removed layoutDirty handling. + (removeUpdate): Removed layoutDirty handling. + (layout): Use isLayoutValid() rather than the layoutDirty field. + * javax/swing/text/GlyphView.java + (startOffset): Removed. + (endOffset): Removed. + (offset): New field. + (length): New field. + (GlyphView): Initialize new fields. Removed old fields. + (createFragment): Create fragment with new relative offsets. + (getEndOffset): Work with new relative offsets. + (getStartOffset): Work with new relative offsets. + * javax/swing/text/ParagraphView.java + (Row.getStartOffset): Overidden to determine the minimum start + offset from the children. + (Row.getEndOffset): Overidden to determine the maximum end + offset from the children. + * javax/swing/text/html/BRView.java + Make subclass of InlineView. + (getBreakWeight): Fall back to super for Y_AXIS. + +2006-10-12 Roman Kennke + + PR 28733 + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabPaneLayout.normalizeTabRuns): Replaced algorithm with + one that avoids faulty state that could cause division by zero + error. + +2006-10-12 Roman Kennke + + PR 28057 + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Determine correct icon. Added support for HTML label. + Added small optimizations. + (getPreferredSize): Only consider the buttons iconTextGap, and + only when the text is not null. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Fetch border for RadioButton from + BasicButtons.getRadioButtonBorder(). + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (paintFocus): Paint focus rectangle one pixel smaller. + +2006-10-12 Roman Kennke + + PR 29418 + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions): Don't throw InternalError, but instead + return null. + (getRowsForPaths): Check for null here. + (isFixedRowHeight): Returns true when rowHeight > 0. + (setSelectionModel): Set this as the row mapper for the selection + model. + * javax/swing/tree/VariableHeightLayoutCache.java + (NodeRecord.NodeRecord): Initialize bounds field. + (getBounds): Simply return the bounds field. + (row2Node): Changed to be an ArrayList. + (RECT_CACHE): New field. Caches a Rectangle instance. + (countRows): Added y parameter and return value. The method + now takes the current y position as parameter, and returns + the updated y position. + (getBounds): Fixed to return the correct bounds. + (getPathForRow): Replaced by fixed implementation. + (getPreferredHeight): Replaced by more efficient implementation. + This simply fetches the last node record and returns its lower + bounds. + (getPreferredWidth): Added null check. + (getVisibleChildCount): Added null check. + (getVisiblePathsFrom): Added null check. + (setExpandedState): Also expand the ancestors of the node + to be expanded. + (setModel): Set dirty flag rather than updating for real. + (setNodeDimensions): Overridden to set the dirty flag. + (setRowHeight): Overridden to set the dirty flag. + (update): Don't special case the root here, this is done now + in countRows(). + +2006-10-12 Roman Kennke + + * javax/swing/JComponent.java + (paintImmediately2): Added support for components which need + to force themselves as paint root. + (isPaintRoot): New method. This should be overridden by components + which need to force themselves as paint root. + * javax/swing/JViewport.java + (isPaintRoot): Overridden to force the viewport as paint root + when running in backingstore mode. + +2006-10-12 Roman Kennke + + * javax/swing/tree/DefaultTreeSelectionModel.java + (PathPlaceHolder): New inner class. Wraps a path and its status + wrt to its newness. + (selectedPaths): New field. A supporting datastructure. + (tmpPaths): New field. A supporting datastructure. + (DefaultTreeSelectionModel): Initialize the list selection model, + the leadIndex and the supporting datastructures. + (addPropertyChangeListener): Create changeSupport object lazily. + (addSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (addSelectionPath): Delegate to addSelectionPaths(). + (arePathsContiguous): Replaced with more efficient implementation + using BitSet + (canPathBeAdded): Removed unneeded method. + (canPathsBeAdded): Replaced with more efficient implementation. + (clearSelection): Create correct event. Clear the fields correctly, + including the supporting datastructures. + (clone): Also clone the supporting datastructures and nullify + changeSupport field. + (getMaxSelectionRow): Delegate to list selection model. + (getMinSelectionRow): Delegate to list selection model. + (getPath): Removed unneeded method. + (getPropertyChangeListeners): Handle null changeSupport field + correctly. + (getRow): Handle null rowMapper field correctly. + (getSelectionRows): Handle invisible rows correctly. + (insureRowContinuity): Replaced by more efficient and correct + implementation. + (isRowSelected): Delegate to list selection model. + (notifyPathChange): Made more efficient by use of PathPlaceHolder + class. + (removePropertyChangeListener): Handle null changeSupport field. + (removeSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (removeSelectionPath): Delegate to removeSelectionPaths(). + (resetRowSelection): Handle list selection model. + (selectOne): Removed unneeded field. + (setRowMapper): Reset the row selection. + (setSelectionMode): Check for invalid mode and set to + DISCONTINUOUS_TREE_SELECTION in this case. Fire property change. + (setSelectionPaths): Mostly rewritten to handle the different + selection modes correctly. + (setSelectionPath): Delegate to setSelectionPaths(). + (updateLeadIndex): Made more efficient. + +2006-10-11 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (buffer, locked): New fields. + (constructors): Initialize new variables. + (createBuffer): New method. + (draw): Implement custom composites. + (drawComposite): New method. + (drawGlyphVector): Implement custom composites. + (drawImage): Implement custom composites. + (drawRenderedImage): Implement custom composites. + (fill): Implement custom composites. + (getBufferCM): New method. + (getNativeCM): New method. + (updateBufferedImage): Fix premultiplication. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Copy composite. + (drawImage): Set background properly. + (getBufferCM): New method. + (setComposite): Reset alpha composite when using custom composite. + * gnu/java/awt/peer/gtk/CairoSurface.java + (cairoColorModel): New field. + (nativeColorModel): Renamed. + (constructor): Use renamed createCairoSampleModel method. + (createCairoSampleModel): New method. + (createNativeSampleModel): Renamed. + (getBufferedImage): Use renamed cairoColorModel field. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + (gdkColorModel): New field. + (createGdkSampleModel): New method. + (getPixels): Added comments. + (getSnapshot): Use GDK colour and sample models. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (createBuffer): Use GDK colour and sample models. + (getNativeCM): Added comments. + * java/awt/image/BufferedImage.java + (constructor): Set premultiplied flag properly. + +2006-10-11 Edwin Steiner + + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Special case Long.MAX_VALUE. + +2006-10-10 Francis Kung + + PR 29372 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (createPath): Added isDraw parameter. + (draw): Updated createPath call. + (fill): Updated createPath call. + +2006-10-10 Tom Tromey + + PR classpath/29362: + * gnu/xml/transform/TransformerImpl.java (transform): Only strip if + there is a stylesheet. + +2006-10-10 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultTookit): Make method synchronized to avoid + accidentally creating more than one toolkits from different + threads. + +2006-10-10 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Redispatch MOUSE_WHEEL events too. + (redispatch): Transfer the button to the redispatched event. + +2006-10-10 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Implemented. + +2006-10-09 Christian Elias Naur + + * vm/reference/java/lang/VMClassLoader.java: + (defineClassWithTransformers): Use proper class name format. + +2006-10-09 Gary Benson + + * java/net/ServerSocket.java + (implAccept): Add security check. + (accept): Close socket if security check fails. + (setSocketFactory): Add security check and already-set check. + +2006-10-09 Roman Kennke + + PR 29325 + * javax/swing/JSplitPane.java + (dividerLocation): New field. Stores the divider location. + (JSplitPane): Initialize dividerLocation with -1. + (addImpl): Removed unneeded local variables. + (getDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. + (setDividerLocation): Manage dividerLocation in the JSplitPane + class, not in the UI. Only call the UI method for notification. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Fetch divider + location from the JSplitPane. Honour the minimumSize, but only + if the divider location hasn't been set explicitly. + (BasicHorizontalLayoutManager.minimumLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.preferredLayoutSize): Removed unneeded + statement. + (BasicHorizontalLayoutManager.resetToPreferredSizes): Don't touch + the divider location. + (dividerLocationSet): New field. + (dividerLocation): Removed field. + (createActionMap): Fetch and set divider location on the JSplitPane. + (getDividerLocation): Return the actual real divider location. + (getMaximumSize): Removed unneeded cast. + (getPreferredSize): Removed unneeded cast. + (getMinimumSize): Removed unneeded cast. + (installUI): Initialize dividerLocationSet with false. + (uninstallUI): Initialize dividerLocationSet with false. + (setDividerLocation): Set dividerLocationSet to true. + +2006-10-09 Robert Schuster + + * native/jni/java-net/gnu_java_net/VMPlainSocketImpl.c: + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): Properly + convert jstring into char *. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): Dito. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): Dito. + (getif_address): Added const modifier to second argument. + (getif_index): Dito. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Added API docs. + +2006-10-09 Roman Kennke + + * javax/swing/JTree.java + (isSelected): Delegate to the selection model directly. + +2006-10-09 Robert Schuster + + * gnu/java/nio/KqueueSelectorImpl.java: Renamed field + sizeof_struct_kevent to _sizeof_struct_kevent. + +2006-10-07 Audrius Meskauskas + + * tools/gnu/classpath/tools/rmic/RMICException.java: + javadoc corrections, reformatted. + +2006-10-07 Christian Elias Naur + + * gnu/java/lang/InstrumentationImpl.java: + Made constructor package visible. + +2006-10-05 Gary Benson + + * java/net/Socket.java + (Socket): Perform security check on address not hostname. + +2006-10-04 Roman Kennke + + * javax/swing/tree/VariableHeightLayoutCache.java + (getBounds): When rect is null, create a new Rectangle. + +2006-10-04 Christian Thalinger + + * native/jni/java-nio/javanio.c (cpnio_read, cpnio_readv) + (cpnio_write, cpnio_writev, cpnio_socket, cpnio_connect) + (cpnio_accept, cpnio_sendto, cpnio_recvfrom, cpnio_fcntl) + (cpnio_select): Use CPNIO_EXPORT. + * native/jni/java-nio/javanio.h (CPNIO_EXPORT): Define to static + inline instead of extern inline, as newer GCCs changed their + behavior. + +2006-10-04 Gary Benson + + * java/net/InetAddress.java: Updated javadoc. + (, getByLiteral): Throw InternalError on failures. + +2006-10-03 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (compCtx): New field for composite context. + (copy): Copy composite. + (dispose): Dispose of composite context. + (getNativeCM): New method. + (setComposite): Discard old composite context and set up new context. + (setRenderingHints): Update composite context. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeColorModel): New field, renamed from nativeModel. + (nativeModel): Renamed field to nativeColorModel. + (CairoSurface(int, int)): Call new method to create sample model. + (createNativeSampleModel): New method. + (getBufferedImage): Updated variable name. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (buffer): New field. + (createBuffer): New method. + (draw): New method. + (drawComposite): New method. + (drawGlyphVector): New method. + (drawImage(Image, AffineTransform, Color, ImageObserver)): New method. + (drawImage(Image, int, int, ImageObserver)): Check composite. + (drawImage(Image, int, int, int, int, ImageObserver)): Check composite. + (fill): New method. + (getNativeCM): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (Java_gnu_java_awt_peer_gtk_GtkVolatileImage_nativeGetPixels): Use + intermediary pixbuf to grab on-screen pixels. + +2006-10-03 Tom Tromey + + PR classpath/28987: + * java/util/IdentityHashMap.java (tombstone): Removed. + (emptyslot): Removed. + (nullslot): New field. + (IdentityHashMap): Don't fill array. + (clear): Fill with null. + (hash): Now final. Use linear probing. + (xform): New method. + (unxform): Likewise. + (removeAtIndex): Likewise. + (clone, containsKey, containsValue, entrySet, get, hashCode, + keySet, put, remove, values): Updated. + (IdentityIterator, IdentityEntry): Likewise. + (writeObject): Likewise. + +2006-10-03 Tom Tromey + + * java/util/Locale.java (hashcode): Updated javadoc. + (hashcodeCache): Removed. + (Locale): Updated. + (hashCode): Updated. + (writeObject): New method. + (readObject): Updated. + +2006-10-02 Francis Kung + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Recognise that raw data is alpha-premultiplied. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clearRect): Paint background colour with AlphaComposite.SRC rule. + (drawImage(Image, AffineTransform, Color, ImageObserver)): Alpha + pre-multiply data before drawing. + (fillRect): Draw using regular fill() method. + (setComposite): Handle null case with AlphaComposite.SrcOver default. + * gnu/java/awt/peer/gtk/CairoSurface.java + (nativeModel): Use correct value for alpha premultiplication (true). + * java/awt/image/BufferedImage.java + (coerceData): Update isPremultiplied field. + +2006-10-02 Andrew John Hughes + + * gnu/classpath/ListenerData.java: + New class for holding listener data. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + ListenerData class moved to its own file. + * javax/management/MBeanServerDelegate.java, + * javax/management/MBeanServerDelegateMBean.java, + * javax/management/MBeanServerNotification.java: + Implemented. + +2006-10-02 Tania Bento + + * java/ast/Rectangle.java: + (Rectangle(Rectangle)): Do not throw NPE. + (Rectangle(Point, Dimension)): Same. + (Rectangle(Point)): Same. + (Rectangle(Dimension)): Same. + +2006-09-29 Casey Marshall + + PR 29190 + * gnu/java/nio/EpollSelectionKeyImpl.java: extend + `AbstractSelectionKey.' + (cancel, isValid): removed. + * gnu/java/nio/EpollSelectorImpl.java (cancelledKeys): removed. + (events): new field. + (INITIAL_CAPACITY, MAX_DOUBLING_CAPACITY, CAPACITY_INCREMENT): new + fields. + (): initialize those constants. + (): don't initialize `cancelledKeys;' initialize `events.' + (doSelect): deregister cancelled keys; remove keys attached to + closed channels; wrap `epoll_wait' in `begin' and `end' calls; use + `events' buffer; reallocate `events' buffer if needed. + (register): reallocate `events' buffer if needed. + (reallocateBuffer): new method. + (cancel): removed. + +2006-09-29 Roman Kennke + + PR 28929 + * javax/swing/JViewport.java + (cinit): Renamed system property to gnu.swing.scrollmode + to avoid bloat. Default to BACKINGSTORE, this is much + more reliable. + (repaint): Forward repaint() to parent as is specified. + +2006-09-29 Tania Bento + + * javax/swing/plaf/basic/BasicTableUI.java + (getPreferredSize): The number of iterations for the for-loop should be + the number of columns in the table's column model, not the number of + columns of the table. + * javax/swing/JTable.java + (JTable(TableModel, TableColumnModel, ListSelectionModel): Removed 4 + lines that are not needed. + (initializeLocalVars): dragEnabled should be set to false, not true. + (getCellRenderer): Added a check to prevent an + ArrayIndexOutOfBoundsException. + (doLayout): The number of iterations for the for-loops should be the + number of columns in the table's column model, not the number of columns + of the table. + +2006-09-29 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: Updated + API docs. + (isOptimized): Initialize with true. + (paintRaster): Removed unneeded field. + (shapeCache): New static field. Caches certain shapes for reuse. + (computeIntersection): Removed unneeded casts. + (drawArc): Use shape cache. + (drawImage): Removed unneeded statement. + (drawLine): Use shape cache. Pass untranslated coordinates + to rawDrawLine(). + (drawOval): Use shape cache. + (drawPolygon): Use shape cache. + (drawRect): Overridden to provide accelerated rectangle drawing + if possible and to use the shape cache. + (drawRoundRect): Use shape cache. + (fillArc): Use shape cache. + (fillOval): Use shape cache. + (fillPolygon): Use shape cache. + (fillRect): Pass untranslated coordinates to rawFillRect(). + Use shape cache. + (fillRoundRect): Use shape cache. + (fillScanlineAA): Removed unneeded statement. + (fillScanline): Updated API docs. + (fillShapeAntialias): Removed unnecessary cast. + (fillShapeImpl): Update API docs. Removed unnecessary cast. + (fillShape): Updated API docs. + (getShapeCache): New helper method. + * gnu/java/awt/java2d/ShapeCache.java: New class. Caches + certain shapes for reuse in AbstractGraphics2D. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java: + (getExp()): Implemented. + * javax/management/MBeanConnection.java: + Renamed to MBeanServerConnection. + * javax/management/MBeanServer.java: + (setAttribute(Attribute)): Fixed... + (setAttribute(ObjectName,Attribute)): to this. + * javax/management/MBeanServerConnection.java: + Renamed from MBeanConnection. + * javax/management/QueryExp.java: + Extend Serializable. + * javax/management/ValueExp.java: + Likewise. + * javax/management/loading/ClassLoaderRepository.java: + (loadClass(String)): Throw ClassNotFoundException. + (loadClassBefore(ClassLoader,String)): Likewise. + (loadClassWithout(String, ClassLoader): Fixed... + (loadClassWithout(ClassLoader,String)): to this. + +2006-09-28 Roman Kennke + + * javax/swing/tree/DefaultTreeCellRenderer.java + (DefaultTreeCellRenderer): Fetch drawsFocusBorderAroundIcon + property from UIManager. + (paint): Rewritten to use super's implementation and only paint + background and focus indicator before. + (paintFocus): New helper method. + (getXOffset): New helper method. + +2006-09-28 Andrew John Hughes + + * javax/management/BadBinaryOpValueExpException.java, + * javax/management/MBeanConnection.java, + * javax/management/MBeanServer.java, + * javax/management/ObjectInstance.java: + Implemented. + * javax/management/ObjectName.java: + (setMBeanServer(MBeanServer)): Implemented. + * javax/management/QueryExp.java, + * javax/management/ValueExp.java, + * javax/management/loading/ClassLoaderRepository.java: + Implemented. + +2006-09-27 Robert Schuster + + * gnu/java/nio/VMChannelOwner.java: Removed unneeded imports. + +2006-09-27 Robert Schuster + + * vm/reference/gnu/java/nio/VMChannel.java: Removed unneeded imports. + * vm/reference/gnu/java/nio/VMPipe.java: Removed unneeded imports. + * gnu/java/nio/EpollSelectorImpl.java: + (doSelect): Use Integer.valueOf() instead of constructor call. + (register): Use Integer.valueOf() instead of constructor call. + +2006-09-27 Roman Kennke + + * java/awt/Container.java + (addContainerListener): Activate newEventsOnly for the component. + Ignore null listeners. + +2006-09-27 Roman Kennke + + * java/awt/EventQueue.java + (Queue): New inner class. Implements the actual queue. + (LOW_PRIORITY): New constant field. + (NORM_PRIORITY): New constant field. + (queueHead): Removed. Moved into Queue. + (queueTail): Removed. Moved into Queue. + (queues): New field. + (EventQueue): Initialize two internal queues, one for + normal events, one for low priority events. + (getNextEventImpl): New helper method, fetches the next event. + (getNextEvent): Use getNextEventImpl() for fetching the event. + (peekEvent): Use getNextEventImpl() for fetching the event. + (peekEvent(int)): Search for event in all queues. + (postEventImpl(AWTEvent)): Moved actual posting into + postEventImpl(AWTEvent,int). Prioritize events here. + (postEventImpl(AWTEvent,int)): Take priority parameter and insert + event into correct queue. Re-enable event coalescing. + * gnu/java/awt/LowPriorityEvent.java: New marker interface. + * javax/swing/RepaintManager.java + (RepaintWorkerEvent): New internal class. This is a low priority + event for the repaint worker. + (addDirtyRegion): Use new internal invokeLater() for sending + a low priority event. + (addInvalidComponent): Use new internal invokeLater() for sending + a low priority event. + (commitBuffer): Added some null checks. + (invokeLater): New helper method. Sends a low priority + repaint worker event on the event queue. + +2006-09-27 Roman Kennke + + PR 29036 + PR 29161 + * javax/swing/plaf/basic/BasicButtonUI.java + (cachedInsets): New field. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (paint): Use cached insets. + (paintText): Let new method forward to old one, not vice versa. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (defaultAcceleratorLabelGap): Removed unused field. + (MenuGap): Removed unused field. + (propertyChangeListener): Made private. + (getAcceleratorRect): Removed unused method. + (getAcceleratorText): Removed unused method. + (getPath): Removed unnecessary cast. + (installListeners): Fire synthetic property change to initialize + TEXT_LAYOUT_CACHE for the button because the font has been + installed before. + (uninstallUI): Clear the TEXT_LAYOUT_CACHE for the button. + (layoutMenuItem): Removed unused statements. + +2006-09-27 Roman Kennke + + PR 29218 + * javax/swing/tree/DefaultTreeModel.java + (isLeaf): Check if the node allows children when + asksAllowsChildren is true, otherwise fall back + to return the node's leaf property. + +2006-09-27 Mario Torre + + * scripts/check_jni_methods.sh: removed methods from the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache + Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: fixed coding style + to better follow the GNU style. + * include/gnu_java_util_prefs_gconf_GConfNativePeer.h. + regenerated header file for GConfNativePeer. + +2006-09-27 Robert Schuster + + * INSTALL: Added information about grmic being built when ASM + is available, added information about gconf dependency, indented + Qt4 dependency section. + * configure.ac: Added information about grmic being built when ASM + is available. + +2006-09-27 Ian Rogers + + * native/jni/classpath/jcl.c (JNI_OnLoad): Don't call + DeleteGlobalRef on a local ref. + +2006-09-24 Mario Torre + + * scripts/check_jni_methods.sh: added two new methods in the + ignore list: + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key + and + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key + * native/jni/gconf-peer/GConfNativePeer.c: + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1keys): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1all_1nodes): + refacored method name, renamed from + Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes. + Added code to unescape escaped GConf key names. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1escape_1key): + new function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1unescape_1key): + new function. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: removed + version javadoc tag. + (escapeString): new method. + (unescapeString): likewise. + (gconf_escape_key): new native method. + (gconf_unescape_key): likewise. + (gconf_client_suggest_sync): update native method signature, now + explicity throws BackingStoreException. + (gconf_client_all_nodes): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_nodes. + (gconf_client_all_keys): update native method signature, now + explicity throws BackingStoreException. Refactored method name, + renamed from gconf_client_gconf_client_all_keys. + (getKeys): refactored to use the new method name + gconf_client_all_keys. + (getChildrenNodes): refactored to use the new method name + gconf_client_all_nodes. + * gnu/java/util/prefs/GConfBasedPreferences.java: removed + version javadoc tag. + (GConfBasedPreferences): Added code to escape node names from + invalid characters so that GConf now accept invalid node names. + (GConfBasedPreferences): Moved code to register the current + node to the list of nodes watched by GConf outside the constructor. + (childSpi): Added code to register the current node to the + list of nodes watched by GConf. + (getGConfKey): Added code to escape key names from + invalid characters so that GConf now accept invalid key names. + +2006-09-26 Tom Tromey + + * tools/gnu/classpath/tools/javah/Printer.java (Printer): Don't + call mkdirs in output-directory case. + (getPrintStream): Create output directory. + * tools/gnu/classpath/tools/javah/Main.java (makeOutputDirectory): + Don't call mkdirs. + +2006-09-27 Raif S. Naffah + + * tools/gnu/classpath/tools/javah/CniIncludePrinter.java (CniIncludePrinter): + Accept three additional arguments. + (writePreambleImpl): New method. + (getPrintStreamImpl): Likewise. + (printClass): Adapted to use new methods in Printer superclass. + * tools/gnu/classpath/tools/javah/CniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/JniStubPrinter.java: Likewise. + * tools/gnu/classpath/tools/javah/Main.java (outFileName): New field. + (force): Likewise. + (getParser): Add support for -o option. + Check that only one of -d or -o is defined. + Add support for -jni option. + Add support for -force option. + (makeOutputFile): New method. + (writeHeaders): Removed File argument from signature. + (run): Take into account newly added fields. + Invoke concrete PrintStream implementations with augmented constructors. + * tools/gnu/classpath/tools/javah/Printer.java (outputFileObject): New field. + (isDirectory): Likewise. + (force): Likewise. + (wrotePreamble): Likewise. + (Printer): Changed ctor to accept three additional arguments. + (printClass): Changed signature to accept one ClassWrapper argument. + (writePreambleImpl): New abstract method. + (getPrintStreamImpl): Likewise. + (getPrintStream): New method. + (writePreamble): Likewise. + +2006-09-26 Tania Bento + + * java/awt/GridLayout.java + (toString): There is no common before hgap. + * java/awt/Rectangle.java + (Rectangle(Rectangle)): Throw NPE if Rectangle is null. + (Rectangle(Point, Rectangle)): Throw NPE if either Point or + Rectangle is null. + (Rectangle(Point)): Throw NPE if Point is null. + (Rectangle(Dimension)): Throw NPE if Dimension is null. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FileIcon16.getShift): Updated API docs, + (FolderIcon16.paintIcon): Apply vertical shift by the number of pixels + returned by getShift(), + (FolderIcon16.getShift): Updated API docs, + (TreeFolderIcon.getShift): Likewise, + (TreeLeafIcon.getShift): Likewise. + +2006-09-26 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (FileIcon16.paintIcon): Fetch colors from look and feel, + (FolderIcon16.paintIcon): Likewise. + +2006-09-25 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java (read): revert back to using + `readScattering.' + (write): revert back to using `writeGathering.' + * vm/reference/gnu/java/nio/VMChannel.java (writeGathering): find + the first buffer that has data remaining, and start at that one. + +2006-09-25 Tom Tromey + + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LDFLAGS): New + variable. + +2006-09-25 Tom Tromey + + * tools/.cvsignore: Updated. + +2006-09-25 Tom Tromey + + PR libgcj/29178: + * gnu/java/nio/charset/US_ASCII.java (Encoder.canEncode): New method. + (Encoder.canEncode): Likewise. + (Encoder.encodeLoop): Return unmappable for all non-ASCII characters. + * gnu/java/nio/charset/ByteCharset.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + * gnu/java/nio/charset/ISO_8859_1.java (Encoder.canEncode): New + method. + (Encoder.canEncode): Likewise. + +2006-09-25 Tom Tromey + + * native/fdlibm/mprec.c (mprec_calloc): Renamed. + (Balloc): Updated. + +2006-09-25 Francis Kung + + * java/awt/image/ColorModel.java + (coerceData): Made abstract. + (coerceDataWorker): New protected method. + * java/awt/image/ComponentColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/DirectColorModel.java + (coerceData): Return new instance of proper ColorModel. + * java/awt/image/IndexColorModel.java + (coerceData): New method. + +2006-09-24 Casey Marshall + + * gnu/java/nio/FileChannelImpl.java + (read): call `read' in a loop, don't use `readScattering.' + (write): call `write' in a loop, don't use `writeGathering.' + +2006-09-24 Mark Wielaard + + * configure.ac: Move -pedantic from WARNING to STRICT flags. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (register): Set interestOps and attachment when the key already + exists. + +2006-09-24 Jeroen Frijters + + * java/net/ServerSocket.java + (bind(SocketAddress,int)): Added support for null address. + Throw proper exception if already bound. + Handle unresolved addresses correctly. Ignore exceptions that + happen during close in error path (to prevent losing the original + exception.) + +2006-09-24 Mark Wielaard + + Suggested by Aaron M. Ucko + Fixes bug #29203 + * native/fdlibm/mprec.c (ulp): Define L as int32_t. + +2006-09-24 Jeroen Frijters + + * java/nio/channels/spi/AbstractSelectableChannel.java + (implCloseChannel): Cancel all keys after closing the channel. + +2006-09-22 Casey Marshall + + * gnu/java/nio/EpollSelectorImpl.java (doSelect): remove keys + after we delete them. + (selectedKeys): return an empty set if nothing's been selected. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): don't + throw an exception on EBADF. + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1wait): don't + throw exception on EINTR, just return 0. + +2006-09-22 Casey Marshall + + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + remove `const' from `filename.' + * native/jni/native-lib/cpio.c (cpio_readDir): remove `const' from + `filename.' + * native/jni/native-lib/cpio.h (cpio_readDir): likewise. + +2006-09-22 Casey Marshall + + * configure.ac (AC_CHECK_FUNCS): check for `readdir_r.' + * native/jni/java-io/java_io_VMFile.c (Java_java_io_VMFile_list): + allocate `filename,' and handle changes to `cpio_readDir.' + * native/jni/native-lib/cpio.c (cpio_readDir): use `readdir_r' if + available; copy the filename into the destination buffer; return + an error code if readdir returns NULL, but errno is 0. + * native/jni/native-lib/cpio.h (cpio_readDir): change second + parameter to `const char *.' + +2006-09-23 Andrew John Hughes + + * javax/management/ObjectName.java: + Implemented. + +2006-09-22 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/orbd: New directory. + * resource/gnu/classpath/tools/rmic: Likewise. + * resource/gnu/classpath/tools/rmid: Likewise. + * resource/gnu/classpath/tools/rmiregistry: Likewise. + * resource/gnu/classpath/tools/tnameserv: Likewise. + * tools/gnu/classpath/tools/giop: Move contents to... + * tools/gnu/classpath/tools/orbd, + tools/gnu/classpath/tools/tnameserv: New directories. + * tools/gnu/classpath/tools/rmi/rmic: Move contents to... + * tools/gnu/classpath/tools/rmic: New directory. + * tools/gnu/classpath/tools/rmi/rmid: Move contents to... + * tools/gnu/classpath/tools/rmid: New directory. + * tools/gnu/classpath/tools/rmi/registry: Move contents to... + * tools/gnu/classpath/tools/rmiregistry: New directory. + * resource/gnu/classpath/tools/orbd/messages.properties: New file. + * resource/gnu/classpath/tools/rmic/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmid/messages.properties: Likewise. + * resource/gnu/classpath/tools/rmiregistry/messages.properties: + Likewise. + * resource/gnu/classpath/tools/tnameserv/messages.properties: + Likewise. + * tools/gnu/classpath/tools/orbd/Main.java, + tools/gnu/classpath/tools/orbd/Messages.java, + tools/gnu/classpath/tools/orbd/PersistentContext.java, + tools/gnu/classpath/tools/orbd/PersistentContextMap.java, + tools/gnu/classpath/tools/orbd/PersistentMap.java, + tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java, + tools/gnu/classpath/tools/rmic/CompilationError.java, + tools/gnu/classpath/tools/rmic/Generator.java, + tools/gnu/classpath/tools/rmic/GiopIo.java, + tools/gnu/classpath/tools/rmic/HashFinder.java, + tools/gnu/classpath/tools/rmic/Main.java, + tools/gnu/classpath/tools/rmic/Messages.java, + tools/gnu/classpath/tools/rmic/MethodGenerator.java, + tools/gnu/classpath/tools/rmic/RMICException.java, + tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmic/RmicBackend.java, + tools/gnu/classpath/tools/rmic/SourceGiopRmicCompiler.java, + tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java, + tools/gnu/classpath/tools/rmic/Variables.java, + tools/gnu/classpath/tools/rmic/WrapUnWrapper.java, + tools/gnu/classpath/tools/rmic/templates, + tools/gnu/classpath/tools/rmid/ActivationSystemImpl.java, + tools/gnu/classpath/tools/rmid/ActivationSystemImpl_Stub.java, + tools/gnu/classpath/tools/rmid/Main.java, + tools/gnu/classpath/tools/rmid/Messages.java, + tools/gnu/classpath/tools/rmid/PersistentBidiHashTable.java, + tools/gnu/classpath/tools/rmiregistry/Main.java, + tools/gnu/classpath/tools/rmiregistry/Messages.java, + tools/gnu/classpath/tools/rmiregistry/PersistentHashTable.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Skel.java, + tools/gnu/classpath/tools/rmiregistry/RegistryImpl_Stub.java, + tools/gnu/classpath/tools/tnameserv/Main.java, + tools/gnu/classpath/tools/tnameserv/Messages.java: New files. + * tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java: Import + RMIC.java from cp-tools. + * configure.ac (AC_CONFIG_FILES): Add tools/grmiregistry, + tools/gtnameserv, tools/gorbd, tools/grmid and tools/grmic. + (AC_CONFIG_COMMANDS): Add grmiregistry, gtnameserv, gorbd, grmid + and grmic. + * examples/Makefile.am (GLIBJ_CLASSPATH): Add tools.zip. + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): + Rename... + (start): New method. + * tools/Makefile.am: Add build support for new tool wrappers. + * tools/gorbd.in: New file. + * tools/grmic.in: Likewise. + * tools/grmid.in: Likewise. + * tools/grmiregistry.in: Likewise. + * tools/gtnameserv.in: Likewise. + * tools/gnu/classpath/tools/AbstractMethodGenerator.java: Move to... + * tools/gnu/classpath/tools/rmic/AbstractMethodGenerator.java: New + file. + * tools/gnu/classpath/tools/HelpPrinter.java: Remove file. + * tools/gnu/classpath/tools/rmi/Persistent.java: Move to... + * tools/gnu/classpath/tools/common/Persistent.java: New file. + +2006-09-22 Ito Kazumitsu + + Fixes bug #29047 + * gnu/java/util/regex/RETokenRepeated.java + (findMatch): Rewriten without using recursive calls, + (FindMatchControlStack): New class, + (FindMatchControl): New class, + (TryAnotherResult): New class, + (tryAnother): New method. + +2006-09-22 Gary Benson + + * java/net/SocketPermission.java + (processHostport): Cope with IPv6 addresses with a + one-digit first component. + +2006-09-22 Roman Kennke + + * java/awt/Component.java + (enableEvents): Set newEventsOnly flag. + * java/awt/Container.java + (dispatchEventImpl): Consume event if lightweight dispatcher + dispatched the event. Don't call processEvent() here, this + is already done in Component.dispatchEventImpl(). For + heavyweights or when the lightweight dispatcher could + not dispatch, fall back to calling super. + (dispatchNoLightweight): New helper method to avoid + recursivly calling the lightweight dispatcher. + * java/awt/LightweightDispatcher.java + (dragButton): Removed field. + (dragTarget): Removed field. + (mouseEventTarget): New field. + (convertPointToChild): Removed method. + (dispatchEvent): Don't depend on component beeing + a window. + (findTarget): Improved algorithm for finding a target. + Before we went down to the deepest component and went + up again to find a suitable target. Now we go + down only once, without going up. + (handleMouseEvent): Broke method down into some smaller + helper methods. + (isDragging): New helper method. + (isMouseListening): New helper method. + (redispatch): New helper method. + (trackEnterExit): New helper method. + +2006-09-22 David Gilbert + + * javax/swing/SizeSequence.java + (getSize): Return 0 if index is out of bounds. + +2006-09-21 Tom Tromey + + * tools/gnu/classpath/tools/javah/PathOptionGroup.java + (PathOptionGroup): Make -I a joined option. + * tools/gnu/classpath/tools/keytool/CACertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/MainCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Updated. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Updated. + * tools/gnu/classpath/tools/appletviewer/Main.java: Updated. + * tools/gnu/classpath/tools/jar/Main.java: Updated. + * tools/gnu/classpath/tools/jarsigner/Main.java: Updated. + * tools/gnu/classpath/tools/javah/Main.java: Updated. + * tools/gnu/classpath/tools/native2ascii/Main.java: Updated. + * tools/gnu/classpath/tools/serialver/SerialVer.java: Updated. + * resource/gnu/classpath/tools/getopt/Messages.properties: Removed + unused entries. + * resource/gnu/classpath/tools/common/Messages.properties: New file. + * tools/gnu/classpath/tools/common/Messages.java: New file. + * tools/gnu/classpath/tools/getopt/Messages.java: Now package-private. + * tools/gnu/classpath/tools/common/ClasspathToolParser.java: Moved + from getopt. + (ClasspathToolParser): Add -J option here. + (ClasspathToolParser): Call other constructor in this class. + * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): + Handle joined options. + (handleShortOptions): Likewise. + (handleShortOption): Removed. + (finalGroup): New field. + (Parser): Initialize new field. Don't add -J option. + (addFinal): New method. + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Use + isJoined. + * tools/gnu/classpath/tools/getopt/Option.java (isJoined): New method. + (Option): Check short option for validity. + (Option): New constructors. + (joined): New field. + +2006-09-21 csm + + * gnu/java/net/PlainDatagramSocketImpl.java (send): ignore + `InterruptedIOException;' try again if it gets thrown. + (receive): likewise, but re-throw `SocketTimeoutException.' + * gnu/java/nio/EpollSelectorImpl.java (doSelect): just return 0 + if we have nothing to select. + +2006-09-21 Francis Kung + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getLogicalBounds): Respect glyph transformations. + (getGlyphOutline): Added null pointer check. + (getGlyphTransform): Do not generate identity transform (API permits null). + (setGlyphPosition): Do not invalidate transform. + (setGlyphTransform): Do not modify glyph position. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Set alpha premultiplied flag. + +2006-09-21 Francis Kung + + * java/awt/image/ColorModel.java (coerceData): Return proper colour model. + * java/awt/image/ComponentColorModel.java (coerceData): Likewise. + * java/awt/image/DirectColorModel.java (coerceData): Likewise. + +2006-09-21 Tania Bento + + * javax/swing/JTabbedPane.java: + (insertTab): Notify ChangeListeners if the tab inserted is selected. + (setModel): A ChangeListener should be created only if there does not + currently exist one. + +2006-09-21 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (MaximizeAction.actionPerformed): Change icon on maxButton. + +2006-09-21 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (syncScrollPaneWithViewport): Fixed typo (hsb vs. vsb). + Use more efficient getViewPosition() and getViewSize() methods + to avoid creating a rectangle. + (HSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + (VSBChangeListener.stateChanged): Update the view position + unconditionally. Let the Viewport figure out if something + changed. + * javax/swing/JViewport.java + (ViewListener.componentResized): Fire state change, because + the extentSize changes. + (extentSize): Removed unneeded field. + (viewSize): Removed unneeded field. + (getExtentSize): Return the viewport's size here. + (getViewRect): Reformatted. + (getViewSize): Reordered for only one return statement. + (paintImmediately2): Fixed up javadoc. + (paint): Removed unneeded statement. + (setExtentSize): Set viewport size and check for actual change + of value. + (setViewPosition): Simplified condition. Set scrollUnderway + true and don't set isViewSizeSet. Avoid creating one Point + object. + (setViewSize): Fixed != comparison with equals(). Set scrollUnderway + to false. + * javax/swing/JScrollBar.java + (ScrollBarListener): New class. Forwards change events from + the model as adjustment events. + (sbChangeListener): New field. + (JScrollBar): Install listener on new model. + (fireAdjustmentValueChanged(int,int,int)): Delegate to new helper + method. + (fireAdjustmentValueChanged(int,int,int,boolean)): New helper + method to allow custom isAdjusting value. + (setMaximum): Only forward to model. + (setMinimum): Only forward to model. + (setValue): Only forward to model. + (setVisibleAmount): Only forward to model. + (setValues): Only forward to model. + (setModel): Update the change listener. + +2006-09-20 Christian Thalinger + + * java/util/Formatter.java (basicIntegralConversion): Removed + check for ZERO && !LEFT_JUSTIFY. + +2006-09-20 Roman Kennke + + PR 29036 + * javax/swing/plaf/metal/DefaultMetalTheme.java + (PLAIN_CONTROL_TEXT_FONT): New constant field. + (BOLD_CONTROL_TEXT_FONT): New constant field. + (PLAIN_MENU_TEXT_FONT): New constant field. + (BOLD_MENU_TEXT_FONT): New constant field. + (controlTextFont): Removed. + (menuTextFont): Removed. + (CONTROL_TEXT_FONT): New constant field. + (MENU_TEXT_FONT): New constant field. + (getControlTextFont): Use getFont() helper method for fetching + the correct font. + (getMenuTextFont): Use getFont() helper method for fetching + the correct font. + (getFont): New helper method. + (isBoldMetal): New helper method. + +2006-09-20 Casey Marshall + + * NEWS: mention epoll selector along with the kqueue one. + +2006-09-20 Casey Marshall + + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c + (Java_gnu_java_nio_EpollSelectorImpl_epoll_1delete): ignore ENOENT. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (getGlyphTransform): Use translation instead of scale. + (performDefaultLayout): Increment position values instead of resetting, and + pre-increment instead of post-increment. + (setGlyphTransform): Handle null case with identity transform. + +2006-09-20 Casey Marshall + + * configure.ac (AC_CHECK_HEADERS): check for `sys/epoll.h.' + (AC_CHECK_FUNCS): check for `epoll_create.' + * gnu/java/nio/EpollSelectionKeyImpl.java: new file. + * gnu/java/nio/EpollSelectorImpl.java: new file. + * gnu/java/nio/SelectorProviderImpl.java (epoll_failed): new class + field. + (openSelector): return epoll selector if requested and available. + * include/Makefile.am (H_FILES): add gnu_java_nio_EpollSelectorImpl.h. + (gnu_java_nio_EpollSelectorImpl.h): new target. + * include/gnu_java_nio_EpollSelectorImpl.h: new file. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): add + gnu_java_nio_EpollSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_EpollSelectorImpl.c: new file. + +2006-09-20 Casey Marshall + + * gnu/java/nio/SocketChannelImpl.java (finishConnect): don't + call `isConnected.' + (isConnected): return false if `connectionPending' is true. + +2006-09-20 Francis Kung + + PR 29011 + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java: + (constructor): Expanded glyphPositions array to accomodate Y-coordinates. + (getGlyphOutline): Call getGylphTransform to generate transform. + (getGylphPosition): Read position directly out of array. + (getGlyphPositions): Read positions directly out of array. + (getGlyphTransform): Generate transform based on gylphPositions array. + (performDefaultLayout): Populate glyphPositions array instead of transforms. + (setGlyphPosition): Set position directly into array. + (setGlyphTransform): Update positions array as well. + +2006-09-20 David Daney + + PR classpath/28661 + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Add + default content-type for POST method. + +2006-09-20 David Gilbert + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (BasicRadioButtonUI): Don't fetch icon here, + (installDefaults): Initialise icon here, + (getDefaultIcon): Just return icon. + +2006-09-20 Mark Wielaard + + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): + Add gnu_java_nio_channels_FileChannelImpl.c and javanio.h. + (EXTRA_DIST): Include javanio.c. + +2006-09-20 David Gilbert + + * java/awt/geom/RoundRectangle2D.java: + (getPathIterator): Reimplemented, + and updated various API doc comments. + +2006-09-20 Roman Kennke + + * java/awt/Container.java + (addImpl): Set the new component's parent after it has been + added to the array. Call addNotify() and invalidate() + after the component has been added, so that the peer + gets to know about the component structure when it is created. + * java/awt/Window.java + (dispatchEventImpl): Only revalidate when window is resized, + let the other stuff be processed by the superclass. + (dispose): Post WINDOW_CLOSED event only when some listener + is registered or event is explicitly enabled. + (show): Post WINDOW_OPENED event when appropriate. + +2006-09-20 Roman Kennke + + * java/awt/Component.java + (addNotify): Invalidate here. Fetch peer font. + (getFont): Delegate to helper method, to protect from + overriding client code. Lock the tree while fetching the font. + (getFontImpl): New helper method. Moved code from getFont() in + here. + (removeNotify): Nullify peerFont too. + (setFont): Synchronize on tree and component to avoid threading + issues. Update the peerFont correctly. + (validate): Update the peer font if necessary, before validating. + (getGraphics): Revert to recursive graphics fetching. + Set component font on the Graphics object. + (translateEvent): Removed unnecessary cast. + * java/awt/Container.java + (invalidateTree): Made final and private. Made implementation + slightly more efficient. + (setFont): Get old and new font via getFont() to account for + the real font, and only invalidate the tree when they are not + the same and not equal. + (visitChild): Set the font of the child on the component graphics. + * java/awt/Frame.java + (setMenuBar): Create local reference of peer for thread safety. + Only call simple invalidate, not invalidateTree(). + +2006-09-19 Cameron McCormack + + PR 29012 + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: + (constructor): Copy image field. + +2006-09-19 David Gilbert + + * javax/swing/JMenuBar.java + (getHelpMenu): Implemented to throw an Error, and added API docs, + (getMargin): Added API docs, + (setMargin): Likewise. + +2006-09-19 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Don't call updateUI(), + * javax/swing/JButton.java + (JButton(String, Icon)): Call setModel() before init(), + * javax/swing/JMenuItem.java + (JMenuItem()): Delegate to another constructor, + (JMenuItem(Icon)): Likewise, + (JMenuItem(Action)): Set model, + (JMenuItem(String, Icon)): Likewise, + * javax/swing/JToggleButton.java + (init): Call setModel() before init(). + +2006-09-19 Mark Wielaard + + Fixes bug #29137 + * java/util/logging/LogManager.java (addLogger): Always check for + existing children of a new Logger. + +2006-09-19 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (HSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (VSBChangeListener.stateChanged): Moved handling of header to + syncScrollPaneWithViewport(). + (ViewportChangedHandler.stateChanged): Removed unused statements. + (syncScrollPaneWithViewport): Added null checks. Use setValues + rather then the single setter methods to avoid multiple + adjustments and side effects. Also snyc the headers here. + (updateScrollBarDisplayPolicy): Revalidate and repaint here. + (uninstallUI): Removed unnecessary cast and this qualifier as well + as the call to super. + +2006-09-19 Gary Benson + + * java/net/ResolverCache.java: New class (a DNS cache). + * java/net/InetAddress.java + (internalGetCanonicalHostName, getAllByName): Use the above. + +2006-09-19 Jeroen Frijters + + * gnu/java/nio/SocketChannelImpl.java: Removed unused import. + * java/net/ServerSocket.java + (port): New field. + (bind): Set port field. + (close): Set impl to null. + (isClosed): Check impl and channel instead of using VMChannel. + (toString): Use port field and getLocalPort() method. + * java/net/Socket.java + (isClosed): Check impl and channel instead of using VMChannel. + +2006-09-18 Tom Tromey + + * java/util/concurrent/CopyOnWriteArrayList.java + (CopyOnWriteArrayList): New constructor. + +2006-09-18 Casey Marshall + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (Java_gnu_java_net_VMPlainSocketImpl_listen): remove debug printf. + +2006-09-18 Tom Tromey + + * gnu/javax/net/ssl/provider/SSLSocket.java (isBound, isClosed, + isConnected): Removed old comment. + (getRemoteSocketAddress): Uncommented. + (setOOBInline, getOOBInline, setKeepAlive, getKeepAlive, + setTrafficClass, getTrafficClass, setReuseAddress, + getReuseAddress, shutdownInput, shutdownOutput, isInputShutdown, + isOutputShutdown): Uncommented. + +2006-09-18 David Pirkle + + Fixes PR 28589 + * gnu/xml/transform/XSLURIResolver.java: Test SAXSource for specific + input stream during resolution. + +2006-09-18 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Correctly translate child coordinates. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + (handleMouseEvent): Find the correct mouse event target. + Use Component.eventTypeEnabled() for checking if a component + has a certain event enabled. + +2006-09-18 Roman Kennke + + * java/awt/Component.java + (show): Test for the peer beeing lightweight directly. + (paintAll): Validate before painting. Don't paint when not + showing. Call peer.paint() when the component is heavyweight. + (repaint): Delegate to the parent when lightweight, rather + than skipping to the nearest heavyweight. + (createImage): Added null check to prevent NPE. + (dispatchEvent): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (addComponentListener): Don't enable event. Only add listener + when not null. Switch to new event dispatching only. + (addFocusListener): Likewise. + (addHierarchyListener): Likewise. + (addHierarchyBoundsListener): Likewise. + (addKeyListener): Likewise. + (addMouseListener): Likewise. + (addMouseMotionListener): Likewise. + (addMouseWheelListener): Likewise. + (addInputMethodListener): Likewise. + (coalesceEvents): For mouse events coalesce them only when + their modifiers are equal. For paint events coalesce the events + when one contains the other, without going through complicated + heuristics. + (dispatchEventImpl): Moved old event dispatching and toolkit + event dispatching to dispatchEventImpl. + (coalescePaintEvents): Removed. + (HeavyweightInLightweightListener.componentHidden): + Fixed condition. + * java/awt/Container.java + (addImpl): Don't enable events on lightweights. + (remove): Reordered operations. Don't remove any listeners. + Throw ArrayIndexOutOfBoundsException when index >= ncomponents. + Only removeNotify() when peer is != null. Only invalidate if + not already invalid. Only fire ContainerEvent if there is + an interested listener or the event is enabled. Dispatch this + event directly without the event queue. + (removeAll): Likewise. + (paintComponents): Only paint when showing. Also paint heavyweights. + Don't paint the container itself. + (removeNotify): Create local variables for improved thread safety. + (addNotifyContainerChildren): Don't enable events for lightweights. + +2006-09-18 Roman Kennke + + * java/awt/EventQueue.java + (INITIAL_QUEUE_DEPTH): Removed obsolete field. + (next_in): Removed obsolete field. + (next_out): Removed obsolete field. + (queueHead): New field. Markes the head of the queue. + (queueTail): New field. Markes the tail of the queue. + (queue): Removed obsolete field. + (EventQueue): Documented empty block. + (getNextEvent): Changed array based implementation to single-linked + list based implementation. + (invokeAndWait): Use an Object as synchronization object rather + than the current thread. + (peekEvent(int)): Changed array based implementation to single-linked + list based implementation. + (peekEvent()): Changed array based implementation to single-linked + list based implementation. + (pop()): Changed array based implementation to single-linked + list based implementation. + (postEvent): Foward to postEventImpl. + (postEventImpl): Changed array based implementation to single-linked + list based implementation. + (push): Changed array based implementation to single-linked + list based implementation. + * java/awt/AWTEvent.java + (queueNext): New field. Implements a single-linked list for + the EventQueue. + +2006-09-17 Mark Wielaard + + * javax/swing/text/html/HTMLEditorKit (getStyleSheet): Load + resource from HTMLEditorKit.class. + +2006-09-17 Mark Wielaard + + * javax/swing/plaf/basic/BasicToolBarUI.java + (setBorderToNonRollover): Check whether border is null. + (setBorderToRollover): Likewise. + +2006-09-17 Mark Wielaard + + * javax/swing/JTree.java (setLeadSelectionPath): Handle null path. + +2006-09-17 Mark Wielaard + + * native/jni/java-nio/javanio.c (cpnio_fcntl): Last argument is long. + * native/jni/java-nio/javanio.h (cpnio_fcntl): Likewise. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (Java_gnu_java_nio_VMChannel_lock): Likewise. + (Java_gnu_java_nio_VMChannel_unlock): Likewise. + +2006-09-17 Casey Marshall + + * native/jni/classpath/jcl.c (JNI_OnLoad): mark `reserved' as + unused. + +2006-09-17 Chris Burdess + + Fixes PR 27610 27687. + * gnu/xml/dom/ls/SAXEventSink.java: Permit limited subclassing. + * gnu/xml/transform/SAXTemplatesHandler.java, + * gnu/xml/transform/SAXTransformerHandler.java: New files. + * gnu/xml/transform/TransformerFactoryImpl.java: Implement + SAXTransformerFactory. + +2006-09-16 Casey Marshall + + * NEWS: updated. + * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. + (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, + kqueue, and kevent. + (HAVE_INET6): define if IPv6 is supported. + * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. + (native_fd): removed. + (impl): new field. + (): throw IOException; initialize fields. + (finalize): removed. + (getNativeFD): removed. + (bind): use `PlainSocketImpl.bind.' + (create): use `PlainSocketImpl.initSocket.' + (disconnect): use `PlainSocketImpl.disconnect.' + (getLocalPort): new method. + (send): use `VMChannel.send.' + (receive): use `VMChannel.receive.' + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (close): use `VMChannel.State.close.' + (join): use `PlainSocketImpl.join.' + (leave): use `PlainSocketImpl.leave.' + (joinGroup, leaveGroup): implemented. + * gnu/java/net/PlainSocketImpl.java: make non-final. + (native_fd): removed. + (impl): new field. + (channel): new field. + (): initialize `impl.' + (finalize, getNativeFD): removed. + (setOption): use `PlainSocketImpl.setOption.' + (getOption): use `PlainSocketImpl.getOption.' + (shutdownInput): use `PlainSocketImpl.shutdownInput.' + (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' + (create): create `channel,' initialize `impl's native state. + (connect): use `connect(SocketAddress, int).' + (connect): use `SocketChannelImpl.connect;' initialize `address' + and `port.' + (bind): use `VMPlainSocketImpl.bind.' + (listen): use `VMPlainSocketImpl.listen.' + (accept): use `SocketChannelImpl.accept.' + (available): use `VMChannel.available.' + (close): use `PlainSocketImpl.close.' + (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' + (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, + getPort): new methods. + (SocketInputStream.read): use `VMChannel.read.' + (SocketInputStream.read): use `SocketChannel.read.' + (SocketOutputStream.write): use `VMChannel.write.' + (SocketOutputStream.write): use `SocketChannel.write.' + * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. + (channel): new field. + (): initialize `channel.' + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `VMChannel.connect.' + (disconnect): use `VMChannel.disconnect.' + (isConnected): use `VMChannel.getPeerAddress.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (receive): use `VMChannel.receive.' + (send): use `VMChannel.send.' + (getVMChannel): new method. + * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): + access native FD through VMChannel.State. + * gnu/java/nio/FileChannelImpl.java: moved from + gnu/java/nio/channels/FileChannelImpl.java. + * gnu/java/nio/FileLockImpl.java: fix imports. + * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. + * gnu/java/nio/KqueueSelectorImpl.java: new file. + * gnu/java/nio/NIOSocket.java (impl): removed. + (channel): new field. + (): init superclass with a `NIOSocketImpl;' init `channel.' + (getPlainSocketImpl, setChannel): removed. + (isConnected): new method. + * gnu/java/nio/NIOSocketImpl.java: new file. + * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement + `VMChannelOwner.' + (SourceChannelImpl.native_fd): removed. + (SourceChannelImpl.): init with a `VMChannel.' + (SourceChannelImpl.getNativeFD): removed. + (SourceChannelImpl.getVMChannel): new method. + (SourceChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl): implement `VMChannelOwner.' + (SinkChannelImpl.native_fd): removed. + (SinkChannelImpl.): init with a `VMChannel.' + (SinkChannelImpl.implCloseSelectableChannel): implement. + (SinkChannelImpl.getNativeFD): removed. + (SinkChannelImpl.getVMChannel): new method. + * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark + deprecated. + * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, + SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. + (openSelector): return kqueue selector if available. + * gnu/java/nio/ServerSocketChannelImpl.java: implement + `VMChannelOwner.' + (channel): new field. + (): init `channel.' + (finalizer): check if the `VMChannel.State' is valid. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (accept): use `VMChannel.accept.' + (getVMChannel): new method. + * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): + access native FD through `VMChannel.State.' + * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' + (impl): removed. + (channel, connected, connectAddress): new field. + (): new constructors. + (getPlainSocketImpl): removed. + (implCloseSelectableChannel): use `VMChannel.close.' + (implConfigureBlocking): use `VMChannel.setBlocking.' + (connect): use `connect(SocketAddress,int).' + (connect): use `VMChannel.connect.' + (finishConnect): don't use a selector. + (isConnected): use `VMChannel.getPeerAddress.' + (read): use `VMChannel.read.' + (read): use `VMChannel.readScattering.' + (write): use `VMChannel.write.' + (write): use `VMChannel.writeGathering.' + (getVMChannel): new method. + * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get + native FD from `VMChannel.State.' + * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): + get native FD from `VMChannel.State.' + * gnu/java/nio/VMChannelOwner.java: new file. + * gnu/java/nio/channels/FileChannelImpl.java: removed. + * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' + and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate + `gnu_java_nio_channels_FileChannelImpl.h.' + * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. + * include/gnu_java_nio_FileChannelImpl.h: new file. + * include/gnu_java_nio_KqueueSelectorImpl.h: new file. + * include/gnu_java_nio_VMChannel.h: regenerated. + * include/gnu_java_nio_VMPipe.h: regenerated. + * include/java_net_VMNetworkInterface.h: regenerated. + * java/io/FileDescriptor.java: fix imports. + * java/io/FileInputStream.java (): handle exceptions. + (read): wrap the destination arary. + * java/io/FileOutputStream.java (): handle exceptions. + (write): wrap the source array. + * java/io/RandomAccessFile.java (): handle exceptions. + * java/net/DatagramSocket.java (): handle exceptions. + (receive): handle length/port setting. + (connect): bind to any address/port if the argument is null. + * java/net/NetworkInterface.java (name, inetAddress): removed. + (netif): new field. + (): make private. + (getName): return `netif.name.' + (getInetAddresses): access `netif.addresses.' + (getDisplayName): return `netif.name.' + (getByName, getByAddress): handle changes to `VMNetworkInterface.' + (condense): removed. + (getNetworkInterfaces): handle changes to `VMNetworkInterface.' + (equals): compare `netif' fields. + (hashCode): get hash codes from `netif.' + (toString): use a StringBuffer. + * java/net/ServerSocket.java (close): don't set `impl' to null. + (isClosed): use `VMChannel.State.isClosed.' + * java/net/Socket.java (getLocalAddress): don't use `getOption' if + the `SocketImpl' is a `PlainSocketImpl.' + (close): just close the `impl.' + (toString): use `super.toString' in the value we return. + (isConnected): just access `impl,' not `getImpl.' + (isBound): use `PlainSocketImpl' methods if we can. + (isClosed): look at `VMChannel.State.' + * native/jni/classpath/jcl.c (JNI_OnLoad): new function. + (JCL_NewRawDataObject): don't initialize cached fields here; throw + an exception if they were not. + (JCL_GetRawData): throw an exception if cached fields weren't + created. + * native/jni/java-lang/java_lang_VMProcess.c: handle + FileChannelImpl move. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, + THROW_NO_NETWORK): new macros. + (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. + (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. + (java_sockopt): new enum. + (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): + reimplemented. + (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new + function. + (Java_gnu_java_net_VMPlainSocketImpl_join): new function. + (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_read): removed. + (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_write): removed. + (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. + (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. + (getif_address): new function. + (getif_index): new function. + * native/jni/java-net/java_net_VMNetworkInterface.c + (java_net_VMNetworkInterface_init, + java_net_VMNetworkInterface_addAddress): new file-scope globals. + (Java_java_net_VMNetworkInterface_initIds): new function. + (struct netif_entry): new struct. + (free_netif_list): new function. + (Java_java_net_VMNetworkInterface_getInterfaces): removed. + (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. + * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove + gnu_java_nio_channels_FileChannelImpl.c, add + gnu_java_nio_KqueueSelectorImpl.c. + * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. + * native/jni/java-nio/gnu_java_nio_VMChannel.c + (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, + ALIGN_DOWN): new macros. + (JCL_init_buffer): get the address through GetDirectBufferAddress + if possible. + (Java_gnu_java_nio_VMChannel_stdin_1fd, + Java_gnu_java_nio_VMChannel_stdout_1fd, + Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. + (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking + value. + (Java_gnu_java_nio_VMChannel_read): renamed... + (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to + this; handle interrupted IO; add HAVE_READ check. + (Java_gnu_java_nio_VMChannel_write): renamed... + (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to + this; handle zero-length write; add HAVE_WRITE check. + (Java_gnu_java_nio_VMChannel_receive): new function. + (Java_gnu_java_nio_VMChannel_send): new function. + (Java_gnu_java_nio_VMChannel_send6): new function. + (Java_gnu_java_nio_VMChannel_read__I): new function. + (Java_gnu_java_nio_VMChannel_write__II): new function. + (Java_gnu_java_nio_VMChannel_socket): new function. + (Java_gnu_java_nio_VMChannel_connect): new function. + (Java_gnu_java_nio_VMChannel_connect6): new function. + (Java_gnu_java_nio_VMChannel_getsockname): new function. + (Java_gnu_java_nio_VMChannel_getpeername): new function. + (Java_gnu_java_nio_VMChannel_accept): new function. + (Java_gnu_java_nio_VMChannel_disconnect): new function. + (Java_gnu_java_nio_VMChannel_close): new function. + (Java_gnu_java_nio_VMChannel_available): new function. + (FileChannel_mode): new enum. + (Java_gnu_java_nio_VMChannel_open): new function. + (Java_gnu_java_nio_VMChannel_position): new function. + (Java_gnu_java_nio_VMChannel_seek): new function. + (Java_gnu_java_nio_VMChannel_truncate): new funciton. + (Java_gnu_java_nio_VMChannel_lock): new function. + (Java_gnu_java_nio_VMChannel_unlock): new function. + (Java_gnu_java_nio_VMChannel_size): new function. + (Java_gnu_java_nio_VMChannel_map): new function. + (Java_gnu_java_nio_VMChannel_flush): new function. + * native/jni/java-nio/gnu_java_nio_VMPipe.c + (Java_gnu_java_nio_VMPipe_init): removed. + (Java_gnu_java_nio_VMPipe_pipe0): new function. + * native/jni/java-nio/javanio.c: new file. + * native/jni/java-nio/javanio.h: new file. + * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for + systems without `gethostbyname_r.' + * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new + field. + (, ): new constructors. + (setOption, getOption): make instance methods; defer to native + implementation. + (connect): removed. + (bind): make an instance method; defer to native methods. + (accept): removed. + (available): removed. + (listen): make an instance method; defer to native method. + (read): removed. + (join, leave): new methods. + (write): removed. + (joinGroup, leaveGroup): new methods. + (shutdownInput, shutdownOutput): make instance methods. + (sendUrgentData): removed. + (State): new class. + * vm/reference/gnu/java/nio/VMChannel.java: make final. + (fd): removed. + (nfd): new field. + (): new, public constructors. + (getVMChannel): methods removed. + (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, + stderr_fd): new methods. + (setBlocking): make an instance method. + (available): new method. + (read): get native fd from `nfd.' + (read): new single-byte read method. + (readScattering): get native fd from `nfd.' + (receive): new method. + (write, writeGathering): get native fd from `nfd.' + (send): new method. + (write): new single-byte write method. + (initSocket): new method. + (connect): new method. + (disconnect): new method. + (getLocalAddress): new method. + (getPeerAddress): new method. + (accept): new method. + (openFile): new method. + (position): new method. + (seek): new method. + (truncate): new method. + (lock): new method. + (unlock): new method. + (size): new method. + (map): new method. + (flush): new method. + (close): new method. + (State): new class. + (Kind): new class. + * vm/reference/gnu/java/nio/VMPipe.java (init): removed. + (pipe, pipe0): new method. + * vm/reference/java/net/VMNetworkInterface.java (name, addresses): + new fields. + (): call `initIds.' + (initIds): new method. + (getInterfaces): removed. + (getVMInterfaces): new method. + (addAddress): new method. + * vm/reference/java/nio/channels/VMChannels.java: fix imports. + +2006-09-16 Chris Burdess + + Fixes PR 28572. + * gnu/xml/transform/StreamSerializer.java: Don't escape XML entities + when in text output mode. + +2006-09-16 Chris Burdess + + Fixes PR 27293. + * gnu/xml/dom/DomNode.java: Increment length of node during insert. + +2006-09-14 Michael Koch + + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Recreated. + +2006-09-15 Chistian Elias Naur + + * java/io/ObjectStreamClass.java (setClass(Class, ObjectStreamClass)): + Added !cl.isArray() to serialVersionUID mismatch check. + +2006-09-14 Francis Kung + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (gnu_java_awt_peer_gtk_CairoGraphics2D_setGradient): Updated constants to + be compatibe with Cairo 1.2.x. + +2006-09-14 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Added interpolation constants. + (cairoSurfaceSetFilter): Removed method. + (drawImage): Pass interpolation type as argument to drawing methods. + (drawPixels): Added interpolation parameter. + (drawRaster): Pass interpolation type as argument to drawing method. + (getInterpolation): New method. + (setRenderingHint): Store hints, but do not set interpolation in cairo. + (setRenderingHints): Store hints, but do not set interpolation in cairo. + * gnu/java/awt/peer/gtk/CairoSurface.java + (drawSurface): Added interpolation parameter. + (nativeDrawSurface): Added interpolation parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/cairographics2d.h + (java_awt_rendering_hints_filter): Added bicubic interpolation constant. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_drawPixels): Added interpolation + parameter. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSurfaceSetFilter): Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): Added + interpolation parameter. + +2006-09-14 Gary Benson + + * java/net/InetAddress.java + (internalGetCanonicalHostName): New method. + (getCanonicalHostName): Use internalGetCanonicalHostName. + (getByLiteral): New method. + (getAllByName): Use getByLiteral. + * java/net/SocketPermission.java + (host): Replaced with... + (hostname, address): New fields. + (equals, hashcode): Reflect the above. + (setHostPort): Parse host into hostname or address. + (implies): Rewrite host checks. + +2006-09-14 David Gilbert + + Fixes PR28699 + * java/awt/Menu.java + (insert(MenuItem, int)): Fixed loop range, + (insert(String, int)): Updated API docs. + +2006-09-14 Christian Thalinger + + Fixes PR22800 + * native/fdlibm/mprec.h (Storeinc): Define correctly for LE + architectures (like Arm). + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits): + Reverted SWAP_DOUBLE patch. + (doubleToRawLongBits): Likewise. + (longBitsToDouble): Likewise. + +2006-09-14 David Gilbert + + * java/awt/Menu.java: Reformatted source file. + +2006-09-14 Jeroen Frijters + + * gnu/java/rmi/server/ActivatableRef.java + (readExternal, writeExternal): Partial fix for serialization format. + +2006-09-14 Jeroen Frijters + + PR classpath/28984 + * java/io/InputStreamReader.java + (read(char[],int,int)): Fixed bug. + +2006-09-13 Francis Kung + + * java/awt/image/BandCombineOp.java: Updated documentation. + (filter(Raster, WritableRaster)): Use int arrays, and added simple cache. + +2006-09-13 Tom Tromey + + PR classpath/29034: + * java/io/PipedReader.java (read): Return early if len==0. + * java/io/PipedInputStream.java (read): Return early if len==0. + +2006-09-13 Francis Kung + + * java/awt/image/ConvolveOp.java (filter(Raster, WritableRaster)): + Removed hard-coded max sample value. + * java/awt/image/RescaleOp.java (filter(Raster, WritableRaster)): + Fixed finding of max sample value. + +2006-09-12 David Gilbert + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Check null argument ('p'). + +2006-09-12 Francis Kung + + PR 27940 + * gnu/java/awt/java2d/TexturePaintContext.java + (constructor): Fixed typo, getMinY instead of getMaxX. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Implemented support for custom Paint classes. + (setPaintPixels): Renamed from setTexturePixels, added repeat parameter. + (setTexturePixels): Renamed to setPaintPixels, added repeat parameter. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Renamed setTexturePixels + to setPaintPixels, and added repeat parameter. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c: + Renamed setTexturePixels to setPaintPixels, and added repeat parameter. + +2006-09-12 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): + Fix port used in security check. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/DefaultMetalTheme.java + (CONTROL_TEXT_FONT): Renamed 'controlTextFont', + (MENU_TEXT_FONT): Renamed 'menuTextFont', + (getControlTextFont): Check 'swing.boldMetal' setting before + initialising font, + (getMenuTextFont): Likewise. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Added 'List.focusCellHighlightBorder' entry. + +2006-09-12 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (InternalFrameDefaultMenuIcon.paintIcon): Use theme colors. + +2006-09-12 David Gilbert + + * javax/swing/AbstractSpinnerModel.java: API doc updates. + +2006-09-12 David Gilbert + + * javax/swing/AbstractButton.java + (AbstractButton): Initialise textIconGap field. + +2006-09-11 Tom Tromey + + * tools/gnu/classpath/tools/javah/FieldHelper.java (print): Print + "volatile" when needed. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java + (LANGUAGE): Initialise with lower case string, + (INPUT_METHOD_SEGMENT): Likewise, + (READING): Likewise, + * java/text/AttributedStringIterator.java + (getRunLimit): Check all attributes for changes. + +2006-09-11 David Gilbert + + * java/text/AttributedCharacterIterator.java: Added @since tag, + renamed some variables (no underscores) and removed some spaces to + match the common style, + * java/text/AttributedString.java: Likewise, + * java/text/AttributedStringIterator.java: Likewise. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (FAMILY): Renamed back to AF_INET. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (FAMILY): Renamed back to AF_INET6. + (): Reflect the above. + +2006-09-11 Cameron McCormack + + Fixes PR29010 + * java/text/AttributedString.java + (AttributedString(AttributedCharacterIterator, int, int, + AttributedCharacterIterator.Attribute[])): Fixed check for defined + attribute. + +2006-09-11 Gary Benson + + * java/net/Inet4Address.java + (AF_INET): Renamed to FAMILY. + (, writeReplace): Reflect the above. + * java/net/Inet6Address.java + (AF_INET6): Renamed to FAMILY. + (): Reflect the above. + +2006-09-10 Ito Kazumitsu + + Fixes bug #28867 + Originally in Kaffe: 2004-04-16 Helmer Kraemer + * java/net/ServerSocket.java(implAccept): Deleted socket.implCreated. + * java/net/Socket.java: Avoid creating a redundant file descriptor. + (implCreated): Deleted, (getImpl): Don't check impleCreated, + (bind): Call getImpl().create(true). + +2006-09-09 Chris Burdess + + * gnu/xml/xpath/Expr.java: Ensure that node-set evaluation returns + an instance of org.w3c.dom.NodeList. + +2006-09-08 Thomas Fitzsimmons + + * tools/gnu/classpath/tools/appletviewer/Main.java: Warn about + missing security manager when run in standalone mode. + +2006-09-08 Francis Kung + + * java/awt/image/AffineTransformOp.java: Updated documentation. + (createCompatibleDestRaster): Updated formatting. + (filter(BufferedImage, BufferedImage)): Updated formatting. + (filter(Raster, WritableRaster)): Delegated processing to native peers for + if colour model is compatible. + (filterBicubic): Get entire pixel at once, and use appropriate array type. + (filterBilinear): Get entire pixel at once, and use appropriate array type. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (family): Updated javadoc and made private. + (): Add an address family argument. + (readObject): Don't overwrite family. + * java/net/Inet4Address.java + (AF_INET): New constant. + (): Use AF_INET as the family. + (writeReplace): Likewise. + * java/net/Inet6Address.java + (AF_INET6): New constant. + (): Use AF_INET6 as the family. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (getHostName): Move lookup into getCanonicalHostName. + (getCanonicalHostName): Move lookup from getHostName, + Perform security check on canonical name (ie after lookup). + +2006-09-08 Gary Benson + + * java/net/Inet4Address.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Moved + implementations from InetAddress. + * java/net/InetAddress.java (isMulticastAddress, + isLoopbackAddress, isAnyLocalAddress, isLinkLocalAddress, + isSiteLocalAddress, isMCGlobal, isMCNodeLocal, isMCLinkLocal, + isMCSiteLocal, isMCOrgLocal, getHostAddress): Replace + implementations with UnsupportedOperationExceptions. + +2006-09-08 Gary Benson + + * java/net/InetAddress.java + (inaddr_any): Removed. + (ANY_IF, LOCALHOST): Create using getByAddress. + (): Updated javadoc. + (getHostName): Cache hostname even if the lookup failed. + (getByAddress): Create Inet4Address objects when passed + IPv4-mapped IPv6 addresses. + (aton): Removed. + (getAllByName): Create address objects using getByAddress. + Do not perform security checks unless actually required. + Do not strip whitespace from the hostname. + (getInaddrAny): Removed. + (getLocalHost): Return the loopback address if getByName + throws a SecurityException. + (readResolve): Updated javadoc. + * vm/reference/java/net/VMInetAddress.java (aton): Declared. + * include/java_net_VMInetAddress.h + (Java_java_net_VMInetAddress_aton): Likewise. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_aton): New method. + * native/jni/native-lib/cpnet.h (cpnet_aton): Declared. + * native/jni/native-lib/cpnet.c (cpnet_aton): New method. + * configure.ac (AC_CHECK_FUNCS): Checks for cpnet_aton. + * java/net/Inet4Address.java (writeReplace): Updated javadoc. + * NEWS: Added note about updated VM interface. + +2006-09-07 David Gilbert + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (setNorthPane): Assign component to titlePane. + +2006-09-07 Audrius Meskauskas + + * gnu/CORBA/NamingService/NameParser.java (corbaloc): + Remove unused variable alt_addr. + * gnu/CORBA/NamingService/NameTransformer.java (toName): + Remove unused variables. + +2006-09-07 David Gilbert + + * javax/swing/plaf/metal/MetalScrollBarUI.java + (installDefaults): Initialise scrollBarWidth from UI defaults here, + (createDecreaseButton): Don't fetch scrollBarWidth here, + (createIncreaseButton): Likewise. + +2006-09-07 David Gilbert + + * java/awt/image/MemoryImageSource.java: Added API docs. + +2006-09-06 David Gilbert + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (installDefaults): Call configureScrollBarColors(). + +2006-09-06 Francis Kung + + * java/awt/image/RescaleOp.java: Updated documentation and formatting. + (constructor): Make copy of arrays. + (createCompatibleDestImage): Changed treatment of null ColorModel. + (filter(BufferedImage, BufferedImage)): Re-implemented. + (filter(Raster, WritableRaster, boolean[])): New method. + (filter(Raster, WritableRaster)): Re-implemented. + (getOffsets): Prevent ArrayIndexOutOfBoundsException. + (getPoint2D): Cleaned up formatting. + (getScaleFactors): Prevent ArrayIndexOutOfBoundsException. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (getBoolean(Object)): Reimplemented, + (getBoolean(Object, Locale)): Likewise, + (getBorder(Object)): Likewise, + (getBorder(Object, Locale)): Likewise, + (getColor(Object)): Likewise, + (getColor(Object, Locale)): Likewise, + (getDimension(Object)): Likewise, + (getDimension(Object, Locale)): Likewise, + (getFont(Object)): Likewise, + (getFont(Object, Locale)): Likewise, + (getIcon(Object)): Likewise, + (getIcon(Object, Locale)): Likewise, + (getInsets(Object)): Updated API docs, + (getInsets(Object, Locale)): Likewise, + (getInt(Object)): Reimplemented, + (getInt(Object, Locale)): Likewise, + (getString(Object)): Likewise, + (getString(Object, Locale)): Likewise. + +2006-09-06 David Gilbert + + * javax/swing/UIManager.java + (MultiplexUIDefaults.MultiplexUIDefaults()): Don't allow null fallback, + (getDefaults): Initialise MultiplexUIDefaults with empty fallback. + +2006-09-06 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Corrected various font defaults. + +2006-09-05 David Gilbert + + * java/awt/List.java: Added @since to various methods. + +2006-09-05 Andrew John Hughes + + * native/jni/native-lib/cpprocess.c: + (forkAndExec(char*,char*,int,int,pid_t,char*)): + Add redirection of stdout to stderr. + * native/jni/native-lib/cpprocess.h: + Added redirect argument. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Readd redirect argument. + * vm/reference/java/lang/VMProcess.java: Likewise. + * include/java_lang_VMProcess.h: Regenerated. + +2006-09-05 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: Adjust + __attribute to __attribute__. + + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: Remove duplicate + header include. + +2006-09-05 David Gilbert + + * java/awt/List.java: Source code reformatted. + +2006-09-05 Audrius Meskauskas + + * gnu/CORBA/CollocatedOrbs.java, + gnu/CORBA/SafeForDirectCalls.java: New files. + * gnu/CORBA/NamingService/Binding_iterator_impl.java: + Implement gnu.CORBA.SafeForDirectCalls. + * gnu/CORBA/NamingService/Ext.java: Likewise. + * gnu/CORBA/NamingService/TransientContext.java: Likewise. + * gnu/CORBA/OrbFunctional.java (createIor):Cache the address + of the local host. (ior_to_object): Return the local object + where possible. (run): Register/unregister this ORB. + * gnu/CORBA/Poa/LocalRequest.java (v_invoke): Call gnuPOA.checkDiscarding. + * gnu/CORBA/Poa/gnuPOA.java (checkDiscarding): Made package private. + * gnu/CORBA/Poa/gnuServantObject.java (noRetain): New field. + (constructors): Initialize noRetain. (_invoke): Drop servant + if noRetain is true. (getHandler): Always seach for the new servant + if noRetain is true. + * gnu/CORBA/SimpleDelegate.java (create_request): Implemented. + * NEWS: Added note about the new feature. + +2006-09-05 David Gilbert + + * java/awt/Choice.java + (addItem): Fixed API doc glitch. + +2006-09-05 Francis Kung + + * java/awt/image/LookupOp.java: Updated documentation & formatting. + (createCompatibleDestImage): Re-implemented. + (filter(BufferedImage, BufferedImage)): Added check for src/dest image + compatibility, and use ColorConvertOp for color conversion if needed. + (filter(Raster, WritableRaster)): Made exceptions more descriptive. + +2006-09-05 Audrius Meskauskas + + gnu/CORBA/CDR/Vio.java, + org/omg/CORBA_2_3/ORB.java, + org/omg/CORBA_2_3/portable/InputStream.java, + org/omg/CORBA_2_3/portable/OutputStream.java, + org/omg/CosNaming/BindingIteratorHelper.java, + org/omg/CosNaming/BindingTypeHelper.java, + org/omg/CosNaming/NameComponentHelper.java, + org/omg/CosNaming/NameHelper.java, + org/omg/CosNaming/NamingContextExtHelper.java, + org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java, + org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, + org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, + org/omg/CosNaming/NamingContextHelper.java, + org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, + org/omg/CosNaming/NamingContextPackage/InvalidName.java, + org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, + org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java, + org/omg/DynamicAny/AnySeqHelper.java, + org/omg/DynamicAny/DynAnyFactoryHelper.java, + org/omg/DynamicAny/DynAnyFactoryOperations.java, + org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, + org/omg/DynamicAny/DynAnyHelper.java, + org/omg/DynamicAny/DynAnyOperations.java, + org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, + org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, + org/omg/DynamicAny/DynAnySeqHelper.java, + org/omg/DynamicAny/DynArrayHelper.java, + org/omg/DynamicAny/DynEnumHelper.java, + org/omg/DynamicAny/DynFixedHelper.java, + org/omg/DynamicAny/DynSequenceHelper.java, + org/omg/DynamicAny/DynStructHelper.java, + org/omg/DynamicAny/DynStructOperations.java, + org/omg/DynamicAny/DynUnionHelper.java, + org/omg/DynamicAny/DynValueHelper.java, + org/omg/DynamicAny/NameDynAnyPairHelper.java, + org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, + org/omg/IOP/CodecFactoryHelper.java, + org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, + org/omg/IOP/CodecOperations.java, + org/omg/IOP/CodecPackage/FormatMismatchHelper.java, + org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, + org/omg/IOP/CodecPackage/TypeMismatchHelper.java, + org/omg/IOP/ComponentIdHelper.java, + org/omg/IOP/ExceptionDetailMessage.java, + org/omg/IOP/MultipleComponentProfileHelper.java, + org/omg/IOP/ProfileIdHelper.java, + org/omg/IOP/ServiceContextListHelper.java, + org/omg/IOP/ServiceIdHelper.java, + org/omg/IOP/TAG_CODE_SETS.java, + org/omg/PortableInterceptor/ClientRequestInfoOperations.java, + org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java, + org/omg/PortableInterceptor/CurrentHelper.java, + org/omg/PortableInterceptor/IORInfo.java, + org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, + org/omg/PortableInterceptor/ORBIdHelper.java, + org/omg/PortableInterceptor/ORBInitInfoOperations.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, + org/omg/PortableInterceptor/ORBInitializerOperations.java, + org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, + org/omg/PortableInterceptor/RequestInfoOperations.java, + org/omg/PortableInterceptor/ServerIdHelper.java, + org/omg/PortableInterceptor/ServerRequestInfoOperations.java, + org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java, + org/omg/PortableServer/AdapterActivatorOperations.java, + org/omg/PortableServer/CurrentHelper.java, + org/omg/PortableServer/CurrentPackage/NoContextHelper.java, + org/omg/PortableServer/ForwardRequestHelper.java, + org/omg/PortableServer/IdAssignmentPolicyValue.java, + org/omg/PortableServer/IdUniquenessPolicyValue.java, + org/omg/PortableServer/ImplicitActivationPolicyValue.java, + org/omg/PortableServer/LifespanPolicyValue.java, + org/omg/PortableServer/POA.java, + org/omg/PortableServer/POAHelper.java, + org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, + org/omg/PortableServer/POAManagerPackage/State.java, + org/omg/PortableServer/POAOperations.java, + org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, + org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, + org/omg/PortableServer/POAPackage/InvalidPolicy.java, + org/omg/PortableServer/POAPackage/NoServantHelper.java, + org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, + org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, + org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, + org/omg/PortableServer/RequestProcessingPolicyValue.java, + org/omg/PortableServer/ServantActivatorHelper.java, + org/omg/PortableServer/ServantLocatorHelper.java, + org/omg/PortableServer/ServantLocatorOperations.java, + org/omg/PortableServer/ServantRetentionPolicyValue.java, + org/omg/PortableServer/ThreadPolicyValue.java, + org/omg/PortableServer/_ServantActivatorStub.java, + org/omg/PortableServer/_ServantLocatorStub.java, + org/omg/PortableServer/portable/Delegate.java: Documentation fixes. + +2006-09-05 Audrius Meskauskas + + * javax/rmi/CORBA/Tie.java, + org/omg/CORBA/AnyHolder.java, + org/omg/CORBA/AnySeqHelper.java, + org/omg/CORBA/AnySeqHolder.java, + org/omg/CORBA/BooleanHolder.java, + org/omg/CORBA/BooleanSeqHelper.java, + org/omg/CORBA/BooleanSeqHolder.java, + org/omg/CORBA/ByteHolder.java, + org/omg/CORBA/CharHolder.java, + org/omg/CORBA/CharSeqHelper.java, + org/omg/CORBA/CharSeqHolder.java, + org/omg/CORBA/Context.java, + org/omg/CORBA/CurrentHelper.java, + org/omg/CORBA/CustomValue.java, + org/omg/CORBA/DataOutputStream.java, + org/omg/CORBA/DefinitionKindHelper.java, + org/omg/CORBA/DomainManagerOperations.java, + org/omg/CORBA/DoubleHolder.java, + org/omg/CORBA/DoubleSeqHelper.java, + org/omg/CORBA/DoubleSeqHolder.java, + org/omg/CORBA/DynAny.java, + org/omg/CORBA/DynSequence.java, + org/omg/CORBA/DynValue.java, + org/omg/CORBA/DynamicImplementation.java, + org/omg/CORBA/FieldNameHelper.java, + org/omg/CORBA/FixedHolder.java, + org/omg/CORBA/FloatHolder.java, + org/omg/CORBA/FloatSeqHelper.java, + org/omg/CORBA/FloatSeqHolder.java, + org/omg/CORBA/IdentifierHelper.java, + org/omg/CORBA/IntHolder.java, + org/omg/CORBA/LocalObject.java, + org/omg/CORBA/LongHolder.java, + org/omg/CORBA/LongLongSeqHelper.java, + org/omg/CORBA/LongLongSeqHolder.java, + org/omg/CORBA/LongSeqHelper.java, + org/omg/CORBA/LongSeqHolder.java, + org/omg/CORBA/ORB.java, + org/omg/CORBA/ObjectHelper.java, + org/omg/CORBA/ObjectHolder.java, + org/omg/CORBA/OctetSeqHelper.java, + org/omg/CORBA/OctetSeqHolder.java, + org/omg/CORBA/PolicyErrorCodeHelper.java, + org/omg/CORBA/PolicyErrorHelper.java, + org/omg/CORBA/PolicyHelper.java, + org/omg/CORBA/PolicyListHelper.java, + org/omg/CORBA/PolicyTypeHelper.java, + org/omg/CORBA/PrincipalHolder.java, + org/omg/CORBA/RepositoryIdHelper.java, + org/omg/CORBA/Request.java, + org/omg/CORBA/ShortHolder.java, + org/omg/CORBA/ShortSeqHelper.java, + org/omg/CORBA/ShortSeqHolder.java, + org/omg/CORBA/StringSeqHelper.java, + org/omg/CORBA/StringSeqHolder.java, + org/omg/CORBA/ULongLongSeqHelper.java, + org/omg/CORBA/ULongLongSeqHolder.java, + org/omg/CORBA/ULongSeqHelper.java, + org/omg/CORBA/ULongSeqHolder.java, + org/omg/CORBA/UShortSeqHelper.java, + org/omg/CORBA/UShortSeqHolder.java, + org/omg/CORBA/ValueBaseHelper.java, + org/omg/CORBA/ValueBaseHolder.java, + org/omg/CORBA/VersionSpecHelper.java, + org/omg/CORBA/WCharSeqHelper.java, + org/omg/CORBA/WCharSeqHolder.java, + org/omg/CORBA/WStringSeqHelper.java, + org/omg/CORBA/WStringSeqHolder.java, + org/omg/CORBA/WrongTransactionHelper.java, + org/omg/CORBA/_IDLTypeStub.java, + org/omg/CORBA/_PolicyStub.java, + org/omg/CORBA/portable/BoxedValueHelper.java, + org/omg/CORBA/portable/Delegate.java, + org/omg/CORBA/portable/ObjectImpl.java, + org/omg/CORBA/portable/ServantObject.java, + org/omg/CORBA/portable/StreamableValue.java, + org/omg/CosNaming/BindingType.java, + org/omg/CosNaming/IstringHelper.java, + org/omg/DynamicAny/FieldNameHelper.java, + org/omg/PortableServer/Servant.java: Documentation fixes. + +2006-09-04 David Gilbert + + * java/awt/Rectangle.java + (setRect(double, double, double, double)): Modified rounding of input + values. + +2006-09-03 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements): + Disallow H1 - H6 in the paragraphs. + * gnu/javax/swing/text/html/parser/support/textPreProcessor.java + (preprocess): Leave at most one leading and/or trailing space. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.handleText): + Do not add any text after closing the HTML tag. + +2006-09-02 Roman Kennke + + PR 28928 + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getPreferredSpan): Default to 10 when there is no + real view. + (RootView.getMinimumSpan): Forward to view and default to 10 + when there is no real view. + (RootView.getMaximumSpan): Return Integer.MAX_VALUE. + (getMaximumSize): Check for overflow. + * javax/swing/text/FieldView.java + (getResizeWeight): Removed unneeded assignment. + +2006-09-01 Francis Kung + * java/awt/image/ColorConvertOp.java + (copyImage): Updated javadoc and comments. + (copyRaster): Add javadoc. + (createCompatibleColorModel): Add javadocs and comments. + (createCompatibleDestImage): Use correct transfer type. + (createCompatibleDestRaster): Add new parameter for transfer type. + (filter): Use correct transfer type. + * java/awt/image/ConvolveOp.java: Updated javadocs. + (createCompatibleDestImage): Set new image properties correctly. + (filter(BufferedImage, BufferedImage): Correct handling of premultiplication. + (filter(WritableRaster, Raster): Clip sample values to [0-255]. + +2006-09-01 Robert Schuster + + * javax/swing/table/DefaultTableModel.java: + (checkSize): Added null check for dataVector. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (BasicHorizontalLayout.getAlignmentX): Return fixed value. + (BasicHorizontalLayout.getAlignmentY): Return fixed value. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/metal/MetalCheckBoxIcon.java: + (paintIcon): Removed unused import statements, lowered cast requirement + from JCheckBox to AbstractButton. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (initComponentDefaults): Added, changed and removed some + tabbed pane properties. + +2006-09-01 Robert Schuster + + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: + (createContent): Changed menu item name and tab naming. + +2006-09-01 Roman Kennke + + PR 28922 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.getAttributes): Overridden to return null. + (HTMLRootView.getElement): Overridden to return the view's + element. + +2006-09-01 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (calculateTabAreaHeight): Use getTabRunOverlay method instead + of accessing variable directly. + (calculateTabAreaWidth): Dito. + +2006-08-31 Keith Seitz + + * include/jvmti.h: Include jvmti_md.h. + +2006-08-31 Keith Seitz + + From Martin Platter : + * Makefile.am (include_HEADERS): Include jvmti.h. + * include/jvmti.h (jvmtiEnv) [!__cplusplus]: Add missing '*'. + (jvmtiError): Remove superfluous comma after last entry. + (jvmtiEvent): It's "BREAKPOINT" not "BERAKPOINT". + (_Jv_jvmtiEnv.StopThread): Add missing exception parameter. + (_Jv_jvmtiEnv.RawMonitorWait): Add missing millis parameter. + (_Jv_jvmtiEnv.GetSourceFileName): source_name_ptr is pointer to + character pointer. + (_Jv_JVMTIEnv::StopThread): Add missing exception parameter. + (_Jv_JVMTIEnv::RawMonitorWait): Add missing millis parameter. + (_Jv_JVMTIEnv::GetSourceFileName): source_name_ptr is pointer to + character pointer. + +2006-08-31 Roman Kennke + + * javax/swing/text/BoxView.java + (getWidth): Return the width with insets added, not with one + added and one removed. + (getHeight): Return the height with insets added, not with one + added and one removed. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.viewToModel): Need to add the start offset. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): Adjust alignment with respect to + the justification attribute. + (Row.getLeftInset): Overridden to adjust for firstLineIndent + attribute. + * javax/swing/text/html/CSS.java + (getValue): Convert length values. + * javax/swing/text/html/Paragraph.java + (painter): New field. + (paint): Implemented to delegate painting to the BoxPainter too. + (setPropertiesFromAttributes): Implemented to load attributes + from CSS. + * javax/swing/text/html/StyleSheet.java + (BoxPainter.as): Removed field. + (BoxPainter.leftInset): New field. + (BoxPainter.bottomInset): New field. + (BoxPainter.rightInset): New field. + (BoxPainter.topInset): New field. + (BoxPainter.BoxPainter): Implemented to load the insets from + CSS. + (BoxPainter.getInset): Implemented. + * gnu/javax/swing/text/html/Length.java: New class. + Converts CSS length units to usable values. + +2006-08-31 Andreas Tobler + + * configure.ac: Add check for gethostbyname_r. + Add check for MSG_NOSIGNAL and SO_NOSIGPIPE. + * native/jni/native-lib/cpnet.c (SOCKET_NOSIGNAL): Define + SOCKET_NOSIGNAL according to the configure check. + (cpnet_send): Use SOCKET_NOSIGNAL. + (cpnet_sendTo): Likewise. + (cpnet_getHostByName): Use gethostbyname in case gethostbyname_r is not + defined. + * native/jni/native-lib/cpio.c: Define O_SYNC and O_DSYNC in case they + are not available. + + * lib/Makefile.am (cssfiles): Add new rule to install css files. + +2006-08-31 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Replace preferred size with minimum + UI size only if the scrollable does _not_ track the viewport + size and only if the viewport's size is smaller than the + scrollable's size. + (getScrollableTracksViewportWidth): Avoid unnecessary multiple + method calls. + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Read-lock the document to avoid + concurrency problems. + (getMaximumSize): Return maximum size of the view. + Read-lock the document to avoid concurrency problems. + (getMinimumSize): Return minimum size of the view. + Read-lock the document to avoid concurrency problems. + +2006-08-31 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): Renamed to processHostport. + (processHostport): Also translate "" to "localhost". + (setHostPort): Remove special cases for empty hostport and for + extra colons in hostport (processHostport handles these now). + +2006-08-31 Mark Wielaard + + * javax/swing/text/ZoneView.java (Zone): Make static class. + Constructor takes axis parameter. + (createZone): Create Zone with getAxis() as major axis. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java + (loadChildren): Implemented. + (getViewIndexAtPosition): Implemented. + (checkZoneAt): New helper method. + (splitZone): New helper method. + (getPreferredZoneEnd): New helper method. + +2006-08-30 Roman Kennke + + * javax/swing/text/ZoneView.java: New class. + +2006-08-30 Roman Kennke + + * javax/swing/JMenu.java + (getMenu): Removed unneeded cast. + (getPopupMenuOrigin): Made positioning algorithm better respect + the screen bounds. + (setMenuLocation): Also set the location on the popup if it's + not null. + (setModel): Use menuChangeListener so that we don't override + the changeListener field from AbstractButton. + (setPopupMenuVisible): Use custom location if set, otherwise + fallback to getPopupMenuOrigin(). + +2006-08-29 Roman Kennke + + * javax/swing/text/InternationalFormatter.java + (stringToValue): Fixed bounds check. + * javax/swing/text/MaskFormatter.java + (MaskFormatter): Don't explicitly set allosInvalid property. + (convertStringToValue): New helper method. + (convertValueToString): New helper method. + (convertValue): Removed. Replaced by the 2 convert* methods + above. + (getPadCharAt): Removed. + (isCharValid): Removed. + (pad): Removed. + (stringToValue): Fixed stringToValue conversion. + (stripLiterals): Removed. + (valueToString): Fixed valueToString conversion. + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Default to commitsOnValidEdit = false. + +2006-08-29 Roman Kennke + + * javax/swing/text/TextAction.java + (getTextComponent): Check event for null and return null in + this case. + (augmentList): Augment Actions based on their names. + * javax/swing/text/DefaultEditorKit.java + (BeginAction.actionPerformed): Check target for null. + (BeginLineAction.actionPerformed): Check target for null. + (CopyAction.actionPerformed): Check target for null. + (CutAction.actionPerformed): Check target for null. + (EndAction.actionPerformed): Check target for null. + (EndLineAction.actionPerformed): Check target for null. + (InsertBreakAction.actionPerformed): Check target for null. + (InsertTabAction.actionPerformed): Check target for null. + (PasteAction.actionPerformed): Check target for null. + (SelectAllAction.actionPerformed): Check target for null. + (SelectionBeginAction.actionPerformed): Check target for null. + (SelectionBeginLineAction.actionPerformed): Check target for null. + (SelectionEndAction.actionPerformed): Check target for null. + (SelectionEndLineAction.actionPerformed): Check target for null. + (SelectLineAction.actionPerformed): Check target for null. + (SelectWordAction.actionPerformed): Check target for null. + +2006-08-29 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (FocusHandler): New class. This is moved from the anonymous + inner focus listener class to a static member class, and + is now shared between components. + (DocumentHandler): This class is combined with the PropertyHandler + into the Handler class. + (PropertyChangeHandler): This class is combined with the + DocumentHandler into the Handler class. + (Handler): New class. This combines the Property and Document + handler into one class. + (RootView.changedUpdate): Only forward if real view != null. + (RootView.insertUpdate): Only forward if real view != null. + (RootView.removeUpdate): Only forward if real view != null. + (documentHandler): Removed field and replaced by handler. + (focuslistener): Made field static and renamed to focusListener. + (handler): New field. + (kit): Lazily initialize field. + (rootView): Lazily initialize field. + (updateHandler): Removed and replaced by handler. + (getEditorKit): Lazily instantiate field. + (installDefaults): Don't set margin twice. Install correct + property for disabledTextColor. Moved caret and highlighter + initialization to installFixedDefaults. + (installFixedDefaults): New method. Installs defaults that + can't be overridden by subclasses. + (installListeners): Only install focus handler when new + system property gnu.swing.text.no-xlike-clipboard is not set. + Lazily initialize focus handler. + (installUI): Lazily initialize rootView. Install handler + both for property and document changes. + (uninstallDefaults): Uninstall the UI defaults. + (uninstallFixedDefaults): New method. Uninstalls the fixed + defaults. + (installListeners): Only uninstall focus handler when not null. + (uninstallUI): Uninstall property and document listener here. + +2006-08-29 Gary Benson + + * java/net/SocketPermission.java + (maybeBracketIPv6Address): New method. + (): Pass the hostport argument through the above. + + * java/net/NetworkInterface.java (getInetAddresses): + Don't bracket IPv6 addresses. + +2006-08-28 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMinorAxisRequirements): Initialize max size + with Integer.MAX_VALUE. + * javax/swing/text/Utilities.java + (getBreakLocation): For simple chars, scan the text directly. + * javax/swing/text/WrappedPlainView.java + (tabBase): New field. + (tabSize): New field. + (calculateBreakPosition): Use Utilities. Fixed for correct + break calculation. + (changedUpdate): Update children directly. + (insertUpdate): Update children directly. Notify children. + (removeUpdate): Update children directly. Notify children. + (updateChildren): New helper method. + (nextTabStop): Fixed to return correct results. + (paint): Update tabBase. + (updateMetrics): Update tab size. + +2006-08-28 Roman Kennke + + * javax/swing/text/Position.java + (Bias.Forward): Initialize with 'Forward' rather then 'forward'. + (Bias.Backward): Initialize with 'Backward' rather then 'backward'. + +2006-08-28 Roman Kennke + + * javax/swing/text/View.java + (height): Removed unneeded field. + (width): Removed unneeded field. + (getBreakWeight): Return GoodBreakWeight when pos is after + the view's span. + (getToolTipText): Check view index more carefully. Avoid + Rectangle creation. + (insertUpdate): Only execute method body if view count > 0. + When updateChildren returns false, clear the ec variable. + (updateChildren): Added null checks. + (viewToModel): Initialize bias array correctly. + * javax/swing/text/CompositeView.java + (children): Made private. + (numChildren): New field. + (loadChildren): Check factory for null. Don't load children + when factory is null. + (replace): Removed null check. Nullify removed children. Made + growing the array more efficient. + (getViewCount): Return numChildren rather then the real array + size. + * javax/swing/text/BoxView.java + (getViewAtPoint): Fixed algorithm for finding the view. + (replace): Made array growing more efficient. + (replaceLayoutArray): New helper method for growing/patching + the layout arrays. + (viewToModel): Make sure we have a valid layout. + +2006-08-28 Tania Bento + + * java/awt/MenuShortcut.java + (MenuShortcut (int, boolean)): Set keyName. + (toString): Modified string output. + (setKeyName): New private method. + +2006-08-28 Roman Kennke + + * javax/swing/text/GapContent.java + (Mark.getOffset): Made assert less strict, include boundary. + (search): Made package private to avoid accessor method. + +2006-08-28 Roman Kennke + + * javax/swing/text/StringContent.java + (InsertUndo.positions): New field. + (InsertUndo.redo): Update the undo positions. + (InsertUndo.undo): Fetch the undo positions. + (Mark): New class. Layer of indirection to allow Positions + to be GC'ed while we still hold references to the Mark. + (RemoveUndo.len): New field. + (RemoveUndo.positions): New field. + (RemoveUndo.RemoveUndo): Fetch undo positions. + (RemoveUndo.redo): Re-fetch positions and string. + (RemoveUndo.undo): Update undo positions. + (StickyPosition.mark): New field. + (StickyPosition.offset): Removed field. + (StickyPosition.StickyPosition): Create new Mark. Register + Position in queueOfDeath. Update reference count on mark. + (StickyPosition.getOffset): Return offset stored in mark. + (StickyPosition.setOffset): Removed unneeded method. + (UndoPosRef): New class. Handles undo/redo on positions/marks. + (EMPTY): New field. + (marks): New field. Stores the marks. + (positions): Removed field. + (queueOfDeath): New field. Used for GCing the positions. + (StringContent): Initialize queueOfDeath. + (createPosition): Lazily create marks vector. + (garbageCollect): New helper method. Collects positions + to be GCed and updates their marks. + (getChars): Fixed bounds check. + (getPositionsInRange): When v == null, create new Vector, + otherwise use v. Store UndoPosRefs in vector. + (getString): Added comment about bug in RI. + (insertString): Use new helper method for replacing the array. + Correctly update positions. + (length): Removed this qualifier. + (remove): Use new helper method for replacing the array. + Correctly update positions. + (replace): New helper method for growing or patching the array. + (updateUndoPositions): Implemented. Updates the positions + for undo/redo operations. + +2006-08-27 Roman Kennke + + * javax/swing/text/StyleContext.java + (NamedStyle.attributes): Made field transient. + (NamedStyle.changeEvent): Made field transient. + (NamedStyle.name): Removed field. The name is stored as + attribute. + (NamedStyle.NamedStyle(String,Style)): Call setName() for + storing the name and check for null name and resolveParent. + Don't initialize changeEvent. + (NamedStyle.copyAttributes): Return a new NamedStyle, + rather than a plain copy of the attributes field. + (NamedStyle.fireStateChange): Lazily create changeEvent + field. + (NamedStyle.getName): Fetch name from attributes. + (NamedStyle.setName): Store name from attributes. + (NamedStyle.readObject): Implemented for correct + deserialization. + (NamedStyle.writeObject): Implemented for correct + serialization. + (NamedStyle.setResolveParent): When new parent is null, + remove resolveParent attribute. Use addAttribute() method + rather than StyleContext addAttribute(). + (NamedStyle.toString): Fixed to produce output equal to the + RI. + (SmallAttributeSet.resolveParent): New field. + (SmallAttributeSet.SmallAttributeSet(AttributeSet)): Update + the resolveParent field correctly. + (SmallAttributeSet.SmallAttributeSet(Object[])): Don't copy + array but store it directly. Update + the resolveParent field correctly. + (SmallAttributeSet.clone): Return this as the object is + immutable. + (SmallAttributeSet.containsAttributes): Make sure that keys + and values are the same. + (SmallAttributeSet.containsAttribute): Make sure that keys + and values are the same. + (SmallAttributeSet.copyAttributes): Return this as the object is + immutable. + (SmallAttributeSet.equals): Fixed comparison. Two AttributeSet + are equal if they have the same number of attributes and + one contains the other. + (SmallAttributeSet.getAttribute): Improved lookup of + resolveParent. + (SmallAttributeSet.getResolveParent): Improved lookup of + resolveParent. + (SmallAttributeSet.isEqual): When comparing object is a + SmallAttributeSet, consider them equal only if they are the + same object. + (SmallAttributeSet.toString): Fixed to produce output equal to the + RI. + (attributeSetPool): New field. + (defaultStyleContext): Initialize lazily. + (defaultStyle): Removed field. This is stored in the style context + as attribute. + (listenerList): Removed field. The NamedStyle stores the + listeners. + (readAttributeKeys): New static field. Used for looking up + the serialization mappings when reading. + (search): New field. Used as search key. + (staticAttributeKeys): Replaced by read/writeAttributeKeys. + (styles): New field. Stores the styles and listeners. + (styleTable): Removed field. Replaced by styles field. + (writeAttributeKeys): New static field. Used for looking up + the serialization mappings when writing. + (static_initializer): Register mappings for all keys in + StyleConstants. + (StyleContext): Initialize styles correctly. + (addAttributes): Fixed caching of immutable attributes. + (addAttribute): Fixed caching of immutable attributes. + (removeAttributes): Fixed caching of immutable attributes. + (removeAttribute): Fixed caching of immutable attributes. + (addChangeListener): Add listener to styles field. + (removeChangeListener): Remove listener from styles field. + (getChangeListeners): Fetch listeners from styles field. + (addStyle): Add style to styles field. + (cleanupPool): New method. + (getDefaultStyleContext): Lazily create context. + (getEmptySet): Simply return SimpleAttributeSet.EMPTY. + (getMutableAttributeSet): New helper method. Used for + caching. + (getStaticAttribute): Fetch key from readAttributeKeys. + (getStyleNames): Return names from styles field. + (getStyle): Lookup style in styles field. + (removeStyle): Remove style from styles field. + (readAttributeSet): Fixed deserialization. + (writeAttributeSet): Fixed serialization. + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + (reclaim): Simply cleanup the pool. + (registerStaticAttributeKey): Store mapping in both ways. + (searchImmutableSet): New helper method for caching. + (toString): Fixed for output like the RI. + * javax/swing/text/StyleConstants.java + (keys): New field. Stores all known keys. + (StyleConstants): Store created key in keys list. + * javax/swing/event/EventListenerList.java + (readObject): Fixed deserialization. + (writeObject): Fixed serialization. + +2006-08-25 Roman Kennke + + * javax/swing/text/CompositeView.java + (insets): Removed. Replaced by single short fields. + (top): New field. Replaces insets. + (bottom): New field. Replaces insets. + (left): New field. Replaces insets. + (right): New field. Replaces insets. + (CompositeView): Initialize insets fields. + (createDefaultLocation): Removed unneeded method. + (getBottomInset): Return field directly. + (getTopInset): Return field directly. + (getLeftInset): Return field directly. + (getRightInset): Return field directly. + (getInsideAllocation): Adjusted to work on new insets fields. + (getViewIndex): Fixed check. + (loadChildren): Don't replace the old children. + (replace): Make sure that there is an array to operate on. + Only set parent to null, when it is this View. + (setInsets): Adjusted to work with new insets fields. + (setParagraphInsets): Fixed to pull insets directly from + StyleConstants. + +2006-08-25 Roman Kennke + + * javax/swing/text/ComponentView.java + (Interceptor): New inner helper class. Used to propagate + invalidate requests and cache component layout sizes. + (interceptor): New field. + (getAlignment): Fetch alignment from interceptor container. + (getComponent): Don't create component here. This is done + in setParent(). + (getMaximumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getMinimumSpan): Fetch layout info from interceptor. Check + for illegal axis. + (getPreferredSpan): Fetch layout info from interceptor. Check + for illegal axis. + (modelToView): Fixed model to view mapping. + (viewToModel): Fixed view to model mapping. + (paint): Check for null. Set bounds on interceptor rather + then component. + (setParentImpl): Install interceptor between component + and hosting container. + (setParent): Call super.setParent() immediately. + +2006-08-25 Roman Kennke + + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Only set background when + the corresponding attribute is actually defined, otherwise + set to null, as the StyleConstants would return black. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.documentEvent): Removed obsolete field. + (ElementBuffer.change): Do prepareEdits() and finishEdits() + to correctly update the element structure. + (ElementBuffer.insertContentTag): Removed unused statement. + (ElementBuffer.recreateAfterFracture): Removed + unused obsolete method. + (setCharacterAttributes): Removed unused statement. + +2006-08-25 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + (LaterMain.run): Removed unused local variable. + (Demo): Don't put desktop in scrollpane. + (addChildren): Removed unused method. + (mkButtonBar): Added HTML demo. + (mkMenuBar): Added HTML demo. + (mkPanel): Removed unused method. + (mkScrollPane): Removed unused method. + (mkTree): Removed unused method. + (valign2str): Removed unused method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Initialize text field with some HTML that already works. + (DEBUG): New field. Set to true for debugging output. + (createContent): Dump element tree after parsing. + +2006-08-25 Roman Kennke + + * javax/swing/text/html/CSS.java + (getValue): Added color value conversion. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.ConvertAction): New class, converts HTML style tags + to CSS attributes. + (HTMLReader.initTags): Register ConvertAction for tag. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Implemented to fetch + CSS character attributes. + * javax/swing/text/html/StyleSheet.java + (addCSSAttribute): Convert value. + (getBackground): Implemented to fetch CSS background color + attribute. + (getForeground): Implemented to fetch CSS color + attribute. + (getFont): Adjust font size for superscript and subscript. + (translateHTMLToCSS): Rudimentary implementation that + copies the original attributes, so that any CSS attributes in + there are preserved. + (stringToColor): Use CSSColor for conversion. + * gnu/javax/swing/text/html/css/CSSColor.java: + New class. Converts CSS color values to RGB color values. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + Removed. This is more or less replaced by CSSColor and the + ConvertAction in HTMLReader. + +2006-08-25 Roman Kennke + + * javax/swing/text/BoxView.java + (childReqs): Removed obsolete field. + (baselineLayout): Reimplemented for correct baseline layout. + (baselineRequirements): Reimplemented for correct baseline + layout. + (updateChildRequirements): Removed obsolete method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.getSpan): Removed unused statement. + (DefaultGlyphPainter.paint): Dont paint subscript/superscript + specially. The subscript/superscript layout is performed + via the alignment, the font is supplied by the StyleContext. + (breakView): Removed unused statements. + (getAlignment): Adjust alignment according to the + superscript/subscript setting. + (getFont): Reimplemented to fetch the font from the style + context, or from the document if the stylecontext is not + available. + (getPreferredSpan): Adjust span for superscript. Use switch + instead of if-else. + * javax/swing/text/LabelView.java + (setPropertiesFromAttributes): Fetch background and foreground + from document / style context. + (isSubscript): Resync properties if needed. + * javax/swing/text/ParagraphView.java + (Row.calculateMinorAxisRequirements): Overridden to perform + a baseline layout. + (Row.layoutMinorAxis): Overridden to perform a baseline layout. + +2006-08-24 Roman Kennke + + * javax/swing/text/Utilities.java + (BUF_LENGTH): Removed unused field. + (drawTabbedText): Removed unneeded cast. + (getBreakLocation): Removed unneeded cast. + Fixed offset to account for Segments not starting at 0. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): Removed unused statement. + (TabbedPaneScrollLayout.layoutContainer): Likewise. + (ScrollingPane.updateUI): Likewise. + (calculateTabWidth): Rewritten to correctly and efficiently + layout the tab width. + (layoutLabel): Call SwingUtilities method with the tabPane + as argument. + (paintContentBorderLeftEdge): Removed unused statement. + (paintContentBorderRightEdge): Removed unused statement. + (paintContentBorder): Removed unused statement. + +2006-08-24 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getAttributes): Overridden to return null, + as the RootView has no parent. + +2006-08-24 Roman Kennke + + * javax/swing/text/html/CSSParser.java: Removed. + * javax/swing/text/html/CSS.java + (getValue): New helper method. Returns special converter + instances for certain kinds of property values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.CharacterAction.start): Don't translate tags + here. Instead, store the attributes directly with the tag + as key. + (content): Removed field. The Content object is handled + by AbstractDocument. + (styleSheet): Removed field. The styleSheet is the styleContext + of this document and handled by the DefaultStyledDocument already. + (HTMLDocument(Content,StyleSheet): Simply call super here. + The super classes already handle the content and styleContext. + (HTMLDocument()): Call this() with a default GapContent and + StyleSheet. + (getStyleSheet): Return the styleContext here. + (insertUpdate): New method. Overridden to add the + CONTENT dummy tag to the element's attributes. + (setBase): Set the base on the styleContext. + * javax/swing/text/html/HTMLEditorKit.java + (styleContext): Removed unneeded field. + (styleSheet): Made field private. + (HTMLEditorKit): Do nothing here. The StyleSheet is + created lazily in getStyleSheet(). A styleContext is not + needed here. + (getStyleSheet): Create StyleSheet correctly. + (insertHTML): Removed unneeded cast. + * javax/swing/text/html/InlineView.java + (attributes): New field. + (changedUpdate): Reload attributes. Trigger preferenceChanged. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/MultiAttributeSet.java: New class. + Multiplexes between several AttributeSets. + * javax/swing/text/html/MultiStyle.java: New class. + Multiplexes between several Styles. + * javax/swing/text/html/ParagraphView.java + (attributes): New field. + (getAttributes): Implemented to fetch the attributes from + the stylesheet. + * javax/swing/text/html/StyleSheet.java + (CssParser): Removed inner class. + (CSSStyle): New inner class. Represents a style defined + by a CSS rule. + (CSSStyleSheetParserCallback): New class, for parsing + CSS stylesheets. + (css): New field. Stores the CSS rules. + (resolvedStyles): New field. Stores resolved styles. + (StyleSheet): Initialize resolvedStyles map. + (addRule): Removed bogus impl. + (getFont): Implemented to fetch font, based on CSS rules. + (getResolvedStyle): New helper method. Looks up resolved + styles, and resolves a style if necessary. + (resolveStyle): New pair of helper methods. Resolves + CSS style rules. + (getRule(String)): Provide rudimentary implementation. + (getRule(Tag,Element)): Implemented. + (getViewAttributes): Implemented. + (loadRules): Implemented. + (translateHTMLToCSS): Tagged as not implemented. + * javax/swing/text/html/ViewAttributeSet.java: New class. + +2006-08-24 Roman Kennke + + * javax/swing/text/FlowView.java: + (LogicalView.getAttributes): New method. Overrides super + impl to return the attributes of the FlowView instance. + * javax/swing/text/LabelView.java: + (setPropertiesFromAttributes): Fetch attributes from + View, rather then from the Element. (In the HTML + package the getAttributes() method is overridden to + return different attributes). Fetch font from the StyledDocument. + +2006-08-24 Roman Kennke + + * javax/swing/text/DefaultEditorKit.java: + (DefaultKeyTypedAction.actionPerform): Also filter + ALT and CTRL modifiers. + +2006-08-24 Roman Kennke + + * gnu/javax/swing/text/html/css/FontSize.java, + * gnu/javax/swing/text/html/css/FontStyle.java, + * gnu/javax/swing/text/html/css/FontWeight.java: + New classes. Used to convert CSS font attributes to AWT/Swing + Font constants. + +2006-08-24 Francis Kung + * gnu/java/awt/color/PyccConverter.java: Throw UnsupportedOperationExceptions. + * java/awt/image/ColorConvertOp.java: Updated javadocs. + (srccs, dstcs, rasterValid): Variables removed. + (ColorConvertOp(RenderingHints)): Initialize spaces to empty array. + (copyRaster): Check for null rendering hints + (createCompatibleColorModel): New private method. + (createCompatibleDestImage): Re-implemented. + (createCompatibleDestRaster(Raster, ColorSpace, boolean)): New private method. + (createCompatibleDestRaster(Raster)): Re-implemented. + (filter(BufferedImage, BufferedImage)): Add checks; fix temp image creation. + (filter(Raster, WritableRaster)): Add checks; fix temp raster creation. + (getPoint2D): Clean up formatting. + * java/awt/image/ComponentColorModel.java + (constructor): use findBits method instead of passing null. + (findBits): New method. + +2006-08-24 Gary Benson + + * java/net/NetworkInterface.java (getInetAddresses): Bracket IPv6 + addresses. + +2006-08-24 Jeroen Frijters + + * java/lang/ref/Reference.java + (queue, nextOnQueue): Made volatile. + (enqueue): Made thread safe. + * java/lang/ref/ReferenceQueue.java + (lock): New field. + (poll): Removed synchronized. + (enqueue): Changed to synchronize on lock object, to update Reference + state and return success status. + (dequeue, remove): Synchronize on lock object. + +2006-08-24 Jeroen Frijters + + * java/security/SecureClassLoader.java + (protectionDomainCache): Changed to HashMap. + (SecureClassLoader): Removed redundant security check. + (defineClass(String,byte[],int,int,CodeSource): Moved + protection domain lookup/construction to new method. + (defineClass(String,ByteBuffer,CodeSource): New method. + (getProtectionDomain): New method. + +2006-08-23 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): Made package private. + (paintChild): New field. + (findOpaqueParent): Removed method. This is now in + paintImmediately(). + (findOverlapFreeParent): Removed method. This is now + in paintImmediately2(). + (findPaintRoot): Removed method. This is now + in paintImmediately2(). + (isCompletelyObscured): Changed to take rectangle as single + ints as argument. + (isPaintingDoubleBuffered): Removed method. This is now + in paintImmediately2(). + (isPartiallyObscured): New helper method. + (onTop): New helper method for optimization. + (paintChildren): Paint only to specific child when + requested like this from paintImmediately2(). + (paintDoubleBuffered): Changed to take rectangle as single int + arguments. + (paintImmediately2): Changed to take rectangle as single int + arguments. Optimized determination of paint root. + (paintImmediately(Rectangle)): Change to delegate to + paintImmediately(int,int,int,int). + (paintImmediately(int,int,int,int)): Look for opaque ancestor + and start painting there. + (paint): Call paintDoubleBuffered() with int arguments. Only + paint component, when not completely occupied by opaque child. + (processKeyBinding): Removed unnecessary cast. + (isOccupiedByChild): New helper method. + * javax/swing/RepaintManager.java + (repaintUnderway): Removed obsolete field. + (commitRequests): Removed obsolete field. + (RepaintManager): Removed initialization of obsolete fields. + (addDirtyRegion): Removed unused statement. + (commitBuffer): Changed to take plain ints as argument. + (compileRepaintRoots): Optimized to avoid use of Rectangle. + Compute offsets in place, rather than using SwingUtilities. + (paintDirtyRegions): Removed unused field. + * javax/swing/JMenuItem.java + (onTop): Return true when not descendant of JInternalFrame. + * javax/swing/JPopupMenu.java + (onTop): Return true. + * javax/swing/JToolTip.java + (onTop): Return true. + * javax/swing/JViewport.java + (paintImmediately2): Change signature to match the + corresponding JComponent method. + +2006-08-23 Tania Bento + + * java/awt/Color.java + (brighter): Modified algorithm to correctly determine the + new brighter colour. + +2006-08-23 Roman Kennke + + * java/awt/Container.java + (maxSize): Removed field. This is already declared in Component. + (validateTree): Check for ContainerPeer. Don't addNotify here. + Only validate Component instances if they are invalid. + +2006-08-22 Roman Kennke + + * javax/swing/JComponent.java + (preferredSize): Removed field. + (maximumSize): Removed field. + (minimumSize): Removed field. + (getMaximumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getMinimumSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (getPreferredSize): Adjusted to delegate to Component, rather + then managing the size in JComponent. + (isMaximumSizeSet): Removed. + (isMinimumSizeSet): Removed. + (isPreferredSizeSet): Removed. + (setMaximumSize): Removed. + (setMinimumSize): Removed + (setPreferredSize): Removed. + +2006-08-22 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.stateChanged): Delegate to combined + handler. + (EventHandler): New inner class. Handles all three types + of events on the model. + (eventHandler): New field. Stores the combined event + handler. + (AbstractButton): Moved listener initialization to + setModel(). + (createActionListener): Return combined handler. + (createChangeListener): Return combined handler. + (createItemListener): Return combined handler. + (getEventHandler): New helper method for creating the combined + handler. + (setModel): Initialize listeners here. + * javax/swing/plaf/basic/BasicButtonListener.java + (ButtonAction): New class. Implements the keyboard action + for buttons. + (checkOpacity): Implemented. + (createDefaultActionMap): New helper method. + (installKeyboardActions): Rewritten to install InputMap + and ActionMap according to 'new' keyboard input method. + (mouseClicked): Commented as no-op. + (mouseDragged): Commented as no-op. + (mouseMoved): Commented as no-op. + (propertyChange): Check for contentAreaFilled change and + update opacity. Pull handling of HTLM in font and text handler. + (stateChanged): Repaint button. + (uninstallKeyboardActions): Properly uninstall keyboard actions. + * javax/swing/plaf/basic/BasicButtonUI.java + (listener): Removed. + (sharedListener): New static field. Stores the shared listener. + (sharedUI): New static field. Stores the shared UI. + (createButtonListener): Return shared instance here. + (createUI): Return shared instance here. + (getButtonListener): New helper method. Looks for the + BasicButtonListener installed on a button and returns it. + (installDefaults): Correctly install rollover property here. + Fetch defaultTextShiftOffset. Initialize opaqueness correctly. + (installKeyboardActions): Fetch listener with new helper method. + (installListeners): Don't use removed field. Check for null. + (installUI): Added comment about order of method invocations. + (uninstallDefaults): Don't uninstall non-uninstallable properties. + (uninstallKeyboardActions): Fetch listener with new helper method. + (uninstallListeners): Fetch listener with new helper method. + (paintIcon): Paint icon offset when pressed and armed. + * javax/swing/plaf/metal/MetalButtonListener.java: Removed. + * javax/swing/plaf/metal/MetalButtonUI.java + (sharedUI): New field. Stores the shared UI. + (MetalButtonUI): Don't initialize fields here. + (createButtonListener): Removed method. Use super impl. + (createUI): Return shared instance. + (getDisabledTextColor): Update field here. + (getFocusColor): Update field here. + (getSelectColor): Update field here. + (installDefaults): Don't handle rollover property here. + (uninstallDefaults): Don't handle rollover property here. + (paintButtonPressed): Use accessor method to update the + field value. + +2006-08-21 Mark Wielaard + + Merge NATIVE_LAYER branch. + + 2006-08-20 Mark Wielaard + + * doc/tools.texinfo: Add file from trunk. + * native/jni/Makefile.am (DIST_SUBDIRS): Add native-lib. + * native/jni/java-io/java_io_VMFile.c: Include lstat and readlink + headers. + * native/jni/java-lang/java_lang_VMProcess.c + (Java_java_lang_VMProcess_nativeSpawn): Remove redirect argument. + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Remove unused variable. + * native/jni/native-lib/Makefile.am: Remove empty and nonexisting + files. + * native/jni/native-lib/cpio.c (cpio_setFileReadonly): Use correct + mask. + * native/jni/native-lib/cpnet.c (cpnet_connect): Removed unused + theaddr. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Moved from + cpnet.h. + * native/jni/native-lib/cpnet.h (cpnet_freeAddresses): Declare, + don't implement. + * vm/reference/java/lang/VMProcess.java: Removed unused redirect + argument. + * include/java_lang_VMProcess.h: Regenerated. + + 2006-07-09 Guilhem Lavaux + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Fixed the type of the arrays (use java types). + (nativeSendTo): Force throwing an exception if port is 0. + + * native/jni/java-net/javanet.c: + (_javanet_accept): Throw SocketTimeoutException if ETIMEDOUT is + returned. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Throw a NullPointerException if the socket is + not connected and no address is given. + + * native/jni/java-net/javanet.h + (NULL_EXCEPTION): Defined. + + 2006-06-16 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_getHostByName): Fix detection of + error. + + * native/jni/java-net/javanet.c + (_javanet_accept): Fixed bogus call to TARGET. + (_javanet_create_inetaddress): Fixed address generation. Fixed + bogus memory free. + (_javanet_bind): set "Reuse address" flag. + + * native/jni/native-lib/cpio.c + (cpio_getModificationTime): Fixed type. + (cpio_removeFile): Use rmdir too. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed error detection. + + * native/jni/native-lib/cpnet.h + (cpnet_newIPV4address, cpnet_newIPV6address): Put zero in the + memory. + (cpnet_IPV4AddressToBytes): Fixed types. + + 2006-06-10 Guilhem Lavaux + + * native/jni/native-lib/cpio.c + (cpio_openDir, cpio_closeDir, cpio_readDir): Implemented. + + * native/jni/native-lib/cpnet.h: + (cpnet_bytesToIPV4Address): Fixed type casting to avoid being + messed by signs in jbyte. + + * native/jni/native-lib/cpproc.h + (CPIO_EXEC_NUM_PIPES): Compilation fix. + + 2006-05-09 Guilhem Lavaux + + * native/jni/native-lib/cpnet.c + (cpnet_getSocketTimeout, cpnet_setSocketTimeout): Reimplemented. + (waitForWritable, waitForReadable): New functions. + (socketTimeouts): New static global table to hold timeouts for all + socket fds. + (cpnet_accept,cpnet_bind,cpnet_sendTo,cpnet_recv,cpnet_recvFrom): + Added waitForXXXX safeguards to handle socket timeouts. + + * native/jni/java-net/javanet.c + (_javanet_accept): Check for the right error value when a timeout + occurs. + + 2006-03-25 Guilhem Lavaux + + * native/jni/java-io/Makefile.am, + native/jni/java-lang/Makefile.am, + native/jni/java-net/Makefile.am, + native/jni/java-nio/Makefile.am: Link to libclasspathnative.la now. + + * native/jni/native-lib/Makefile.am: Added cpproc.c + + * native/jni/native-lib/cpio.c: Implemented missing functions for + CPIO. + + * native/jni/native-lib/cpnet.c + (cpnet_getHostByName): Fixed address array initialization. + + * native/jni/native-lib/cpproc.c: Implemented. + + 2006-02-19 Guilhem Lavaux + + * configure.ac: Invoke GCC_ATTRIBUTE_UNUSED. + + * m4/gcc_attribute.m4: New file from ac_archive. + + * native/jni/java-net/javanet.c: Adapted to cpnet API + modification. + + * native/jni/native-lib/cpnet.c: Implemented. + + * native/jni/native-lib/cpnet.h + (cpnet_openSocketDatagram, + cpnet_openSocketStream): These calls need an address family now. + (cpnet_IPV4AddressToBytes, + cpnet_bytesToIPV4Address): Convert the address to network order. + + 2006-02-19 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c, + native/jni/midi-dssi/dssi_data.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Removed cpmath + dependency. Fixed coding style. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-lang/java_lang_VMProcess.c: Removed TARGET + dependency. Simplified the JNI code by moving some part into the + native layer. + + * native/jni/native-lib/cpproc.h: New interface to handle processes. + + 2006-02-18 Guilhem Lavaux + + * native/jni/java-net/java_net_VMInetAddress.c: Fixed compilation + errors. Removed any remaining TARGET invocations. + + * native/jni/java-net/javanet.c + (_javanet_create_inetaddress): Removed spurious arr and + octets. Fixed compilation errors. + + * native/jni/native-lib/cpnet.h + (cpnet_getHostname, cpnet_getHostByName, cpnet_getHostByAddr, + cpnet_setIPV4Any, cpnet_freeAddresses, cpnet_isIPV6Address, + cpnet_isIPV4Address): New functions. + (cpnet_bytesToIPV4Address): Fixed interface to be consistent with + the rest. + + 2006-01-28 Guilhem Lavaux + + * native/jni/java-io/java_io_VMFile.c, + native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c, + native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + native/jni/java-net/javanet.c, + native/jni/java-net/javanet.h: Adapted the VM layer code + to the new native layer. + + * native/jni/native-lib/cpnet.h + (cpnet_addMembership, + cpnet_dropMembership, + cpnet_getAvailableBytes): Added the declarations of + some new functions. + (cpnet_newIPV6Address, + cpnet_IPV6AddressToBytes, + cpnet_bytesToIPV6Address): Implemented. + (cpnet_newIPV4Address): Initialize the sin_family field. + + 2006-01-28 Guilhem Lavaux + + * native/target: Removed. + + * configure.ac: Removed target from CLASSPATH_INCLUDES and + Makefile generation. + + * native/jni/native-lib/Makefile.am, + native/jni/native-lib/cpnet.h, + native/jni/native-lib/cpnet.c + native/jni/native-lib/cpio.h, + native/jni/native-lib/cpio.c, + native/jni/native-lib/cpmath.h: Imported new native compatibility + layer. + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSParser.java: + New class. + * gnu/javax/swing/text/html/css/CSSParserCallback.java: + New interface. + * gnu/javax/swing/text/html/css/CSSParserException.java: + New exception. + * gnu/javax/swing/text/html/css/CSSScanner.java: + Adjusted API comments. Made all constants package private. + (EOF): New constant field. + (parseBuffer): Made package private. + (tokenEnd): Made package private. + (CSSScanner): Initialize lookahead buffer with -1. + (main): Print out to System.out rather then System.err. + (nextToken): Push back character after IDENT. + +2006-08-21 Jeroen Frijters + + * java/io/File.java (normalizePath): Fixed handling of "//" and "\\". + +2006-08-21 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java + (main): Use buffered input stream. + (nextToken): Removed 65536 workaround. Use int value directly + without cast to char. + (readComment): Use int value directly without cast to char. + Cast to char only when putting the character into the buffer. + (readEscape): Likewise. + (readIdent): Likewise. + (readName): Likewise. + (readNum): Likewise. + (readString): Likewise. + (readWhitespace): Likewise. + +2006-08-21 Ingo Proetel + + * java/io/InputStreamReader.java + (bytesCache): New field. + (cacheLock): New field. + (read(byte[],int,int): Avoid allocations of new byte + array on every call and reuse cached byte array if possible. + +2006-08-21 Roman Kennke + + * gnu/java/net/local/LocalSocketImpl.java + Only load native lib if this is supported by runtime. + * native/jni/java-net/local.c + Include config.h unconditionally. + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + Include config.h unconditionally. + +2006-08-21 Friedjof Siebert + + * java/io/ObjectInputStream.java + (objectLookupTable): Changed to be a Vector. + (ObjectInputStream): Initialize objectLookupTable as Vector. + (assignNewHandle): Store Object using handle index rather than + Hashtable, using the new rememberHandle() method. + (hierarchy): New method. This replaces inputGetObjectStreamClasses() + with a caching in ObjectStreamClass. + (inputGetObjectStreamClass): Replaced by hierarchy(). + (lookupHandle): New method. Looks up an object by it's handle + index. + (parseContent): Avoid creating of Integer objects. Use + hierarchy() method for looking up the class hierarchy. + (processResolution): Use rememberHandle() to store + handle per index, rather than Hashtabling the object. + (readFields): + (rememberHandle): New method. + * java/io/ObjectOutputStream.java + (OIDLookupTable): Use ObjectIdentityMap2Int instead of + Hashtable for improved lookup performance. + (ObjectOutputStream): Initialize OIDLookupTable as + ObjectIdentityMap2Int. + (assignNewHandle): Change to use ObjectIdentityMap2Int. + (findHandle): Change to use ObjectIdentityMap2Int. + (getBooleanField): Removed. + (getByteField): Removed. + (getCharField): Removed. + (getDoubleField): Removed. + (getField): Removed. + (getFloatField): Removed. + (getIntField): Removed. + (getLongField): Removed. + (getObjectField): Removed. + (writeFields(Object,ObjectStreamClass)): Use new helper method. + (writeFields(Object,ObjectStreamField)): New helper method. + Use switch rather then if-else cascade. + (writeObject): Use int handle, rather then Integer. + * java/io/ObjectStreamClass.java + (hierarchy): New field. Caches the class hierarchy. + (methodCache): New field. Caches methods. + (readObjectSignature): New field. Stores the read signature. + (uidCache): New field. Caches UIDs. + (writeObjectSignature): New field. Stores the write signature. + (cacheMethods): Cache methods in methodCache. + (calculateClassID): Outsourced from getClassUID() + for computing the UIDs. + (getClassUIDFromField): Outsourced from getClassUID() for + fetching the UID from the class field. + (getClassUID): Use cached uid if possible. Use new helper + methods for fetching the UID from the field or computing + from scratch. + (getObjectStreamClasses): Removed. Replaced by more + efficient hierarchy() method, that also caches the result. + (hierarchy): Replaces getObjectStreamClasses() for caching + the result. + (loadedByBootOrApplicationClassLoader): New helper method. + (setClass): Invalidate hierarchy cache. + (setSuperclass): Invalidate hierarchy cache. + * java/io/ObjectStreamField.java + (field): Made field package private for access from other + classes. + * gnu/java/io/ObjectIdentityWrapper.java: Removed. + * gnu/java/io/ObjectIdentityMap2Int.java: Efficient + hashtable for mapping objects to ints. + +2006-08-21 Roman Kennke + + * java/io/File.java + (getAbsolutePath): Fetch absolute path from + VMFile.getAbsolutePath(). Moved actual impl to there. + (isAbsolute): Let VMFile determine the absoluteness. + (toURL): Let VMFile convert the filename. + * vm/reference/java/io/VMFile.java + (getAbsolutePath): New method. + (isAbsolute): New method. + (toURL): New method. + +2006-08-21 Jeroen Frijters + + * NEWS: Added note about updated VM interface. + +2006-08-20 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Updated documentation. + +2006-08-20 Ito Kazumitsu + + Fixes bug #28412 + * gnu/java/util/regex/CharIndexed.java(move1, setHitEnd, hitEnd): + New methods. + * gnu/java/util/regex/CharIndexedCharSequence.java, + gnu/java/util/regex/CharIndexedInputStream.java: Implemented the + new methods above. + * gnu/java/util/regex/RE.java(REG_FIX_STARTING_POSITION): New flag, + (match): call the new method setHitEnd of the input, + (getMatchImpl): Handle the new flag REG_FIX_STARTING_POSITION, + Some optimization commented out, Use CharIndexed#move1 instead of move. + * gnu/java/util/regex/REMatch.java: Made some debugging methods public. + * gnu/java/util/regex/REToken.java(match): The method body has been + moved to an internal private method, (matchFake): New method, + (setHitEnd): New method. + * gnu/java/util/regex/RETokenChar.java(matchThis): Call setHitEnd + if the match is not complete, (matchOneString): Count the number of + characters which matched the pattern. + * gnu/java/util/regex/RETokenEnd.java(fake): New field, + (setFake): New method, (match): Call super.match or super.matchFake. + * gnu/java/util/regex/RETokenEndSub.java(setHitEnd): New method. + * gnu/java/util/regex/RETokenOneOf.java(match): call the new method + setHitEnd of the input, + * gnu/java/util/regex/RETokenRepeated.java(match): Likewise. + * java/util/regex/Matcher.java(lookingAt, match): Use the new flag + RE.REG_FIX_STARTING_POSITION, (hitEnd, toString): New methods. + +2006-08-18 Tom Tromey + + * gnu/javax/swing/text/html/css/CSSScanner.java (readWhitespace): Push + the 'int', not the cast char. + +2006-08-18 Roger Sayle + + * scripts/check_jni_methods.sh: Don't use the "set -C" command + which isn't available in all shells. + +2006-08-18 Roger Sayle + + * lib/Makefile.am (resources): Fix some shell portability issues. + +2006-08-18 Thomas Fitzsimmons + + * configure.ac (tool-wrappers): Check for ltdl support when tool + wrapper binaries are enabled. + * tools/Makefile.am (LIBJVM): Remove variable. + (AM_CPPFLAGS): Add LIBJVM define. + (gappletviewer_LDFLAGS, gjarsigner_LDFLAGS, gkeytool_LDFLAGS, + gjar_LDFLAGS, gnative2ascii_LDFLAGS, gserialver_LDFLAGS, + gjavah_LDFLAGS): Remove variables. + * tools/toolwrapper.c (main): Use dlopen to load libjvm library. + +2006-08-18 Tom Tromey + + * gnu/java/util/prefs/NodeWriter.java (writeParents): Removed + debugging prints. + * gnu/java/util/prefs/NodeReader.java (readNodes): Removed debugging + print. + (readEntries): Likewise. + +2006-08-17 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutLabel): Reset the text and icon rectangles. + +2006-08-17 Thomas Fitzsimmons + + PR classpath/28537 + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): + Transform gappletviewer name using program_transform_name. + +2006-08-17 Jeroen Frijters + + * javax/swing/filechooser/FileSystemView.java + (getFileSystemView): Always return UnixFileSystemView, since + that's the only one we got. Marked with NotImplementedException. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (mouseClicked, installUI): Don't parse path by hand. + +2006-08-17 Roman Kennke + + * javax/swing/JComponent.java + (scrollRectToVisible): Handle intermediate non-JComponents + more gracefully. + +2006-08-17 Roman Kennke + + * javax/swing/RepaintManager.java + (blitBuffer): Removed. This is now done in commitBuffer(). + (commitBuffer): Always paint on the root window or applet. + No need to look for intermediate heavyweights. Optimized + rectangle translation. + (commitRemainingBuffers): Removed. Not needed anymore. + (getHeavyweightParent): Removed. Not needed anymore. + (getOffscreenBuffer): Fetch offscreen image from the + actual root component. + (paintDirtyRegions): Don't call commitRemainingBuffers(). + +2006-08-17 Roman Kennke + + * javax/swing/SwingUtilities.java + (clipString): New helper method for trimming strings. + (layoutCompoundLabelImpl): Fixed algorithm to conform + testsuites. Trim text if it's too long. Avoid creating + new Rectangles. Optimized for performance. + (layoutCompoundLabel): Use switch rather then if-else-chain. + * javax/swing/plaf/basic/BasicButtonUI.java + (viewR): New field. + (iconR): New field. + (textR): New field. + (paint): Reset and use cached rectangles. Only call paintIcon() + if icon is not null. Don't call paintButtonPressed() when + button is selected, only when it is both armed and pressed. + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (getPreferredButtonSize): Reused cached rectangles rather + then creating new ones. Don't create new Rectangle via + Rectangle.union(). + * javax/swing/plaf/basic/BasicLabelUI.java + (getPreferredSize): Correctly reset cached rectangles. Especially + the view rect must have a big size to give it room for layouting. + Short cut layout when text == null. + (paint): Correctly reset cached rectangles. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (resetRectangles): New helper method. + (getPreferredMenuItemSize): Correctly reset the cached rectangles. + (paintMenuItem): Correctly reset the cached rectangles. + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (getPreferredSize): Use cached Rectangle objects and initialize + them correctly. + (paint): Use cached Rectangle objects and initialize + them correctly. + +2006-08-17 David Gilbert + + * java/util/Calendar.java: API doc additions. + +2006-08-17 Robert Schuster + + * javax/swing/DefaultButtonModel.java: + (setRollover): Simplified statement. + +2006-08-17 Jeroen Frijters + + * gnu/java/rmi/server/RMIClassLoaderImpl.java + (loadClass): Rewritten to use getClassLoader. + (loadProxyClass): Implemented. + (getClassLoader): Fixed support for null or empty codebase. + * gnu/java/rmi/server/RMIObjectInputStream.java + (resolveClass): Use user class loader as default class loader. + (resolveProxyClass): Delegate to RMIClassLoader.loadProxyClass. + * gnu/javax/rmi/CORBA/UtilDelegateImpl.java + (loadClass): Simplified and use user class loader instead of + context class loader as default. + * java/io/ObjectInputStream.java + (currentLoader): Use VMStackWalker.firstNonNullClassLoader(). + * vm/reference/gnu/classpath/VMStackWalker.java + (firstNonNullClassLoader): New method. + * vm/reference/java/io/VMObjectInputStream.java + (loaderAction, currentClassLoader): Removed. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (getTabBounds(JTabbedPane, int)): Added code to shift rectangle + by current scroll offset, added method documention. + (getTabBounds(int, Rectangle)): Added method documentation. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (paintContentBorderLeftEdge): Changed y to 1. + +2006-08-17 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Added delegation to tabbed pane. + (MouseHandler.mouseEntered): Dito. + (MouseHandler.mouseExited): Dito. + (MouseHandler.mouseMoved): Dito. + (MouseHandler.redispatchEvent): New method. + (PropertyChangeHandler.propertyChange): Added extra block level, + added code to handle tab placement changes, added comment. + (updateViewPosition): Set unneeded coordinate to 0, added comment. + +2006-08-16 Roman Kennke + + * gnu/javax/swing/text/html/css/CSSScanner.java: New file. + * gnu/javax/swing/text/html/css/CSSLexicalException.java: + New file. + +2006-08-16 Mark Wielaard + + * java/awt/Component.java (orientation): Renamed to + componentOrientation. + (setComponentOrientation): Use new field name. + (getComponentOrientation): Likewise. + +2006-08-16 Roman Kennke + + PR 28750 + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Call completeEditing + directly. + (CellEditorHandler.editingStopped): Call completeEditing + directly. + (NodeDimensionHandler.getNodeDimensions): Rewritten + to use the preferred sizes of the renderer and editor. + (TreeExpansionHandler.treeCollapsed): Complete editing + here. + (TreeSelectionHandler.valueChanged): Complete editing + here. + (cancelEditing): Call completeEditing with false, false and + false. Don't call finish (removed method). + (completeEditing(boolean,boolean,boolean): Only do something when + stopEditingInCompleteEditing is true. Nullify editingComponent + and editingPath. Remove editingComponent from tree. Update + the layout when necessary and repaint. + (completeEditing): Stop editing when necessary. + (editorRequestFocus): New helper method. Request focus + on the actual editor. + (finish) Removed. This is now done in completeEditing(). + (prepareForUIInstall): Set stopEditingInCompleteEditing to true. + (setLargeModel): Complete editing here. + (setRootVisible): Complete editing here. + (setRowHeight): Complete editing here. + (setSelectionModel): Complete editing here. + (startEditing): Correctly initialize and start editing. + (updateExpandedDescendants): Complete editing here. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Fetch size from super and use renderer's height + if appropriate. + (EditorContainer.EditorContainer): Set layout to null, just + to make sure. + (EditorContainer.doLayout): Layout so that the editor + is offset to the right of the icon. + (EditorContainer.getPreferredSize): Implemented to + provide a reasonable preferred size. + (EditorContainer.paint): Position icon in the middle. + Also paint border if appropriate. + (EditorContainer.setBounds): Removed. + (RealEditorListener): Removed. + (DefaultTreeCellEditor): Set correct border. + (cancelCellEditing): Message real editor. Call finish(). + (createCellEditor): Don't add listener. + (determineOffset): Correctly determine offset, and update + the icon. + (finish): New helper method. + (getTreeCellEditorComponent): Set correct font. Call + prepareForEditing() and determineOffset() to correctly initialize + the state. + (stopCellEditing): Messsage realEditor to stop editing. Call + finish to clean up. + (stopEditingTimer): Removed. + (valueChanged): Correctly reset lastPath. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getPreferredSize): Return super plus some extra space for + better readability. + +2006-08-16 Roman Kennke + + * javax/swing/plaf/metal/MetalTreeUI.java + (LineStyleListener): New property listener, that updates + the line style setting if the corresponding property + changes. + (lineStyleListener): New field. + (lineStyle): New field. + (LINE_STYLE_ANGLED): New constant field. + (LINE_STYLE_HORIZONTAL): New constant field. + (LINE_STYLE_NONE): New constant field. + (LINE_STYLE_VALUE_ANGLED): New constant field. + (LINE_STYLE_VALUE_HORIZONTAL): New constant field. + (LINE_STYLE_VALUE_NONE): New constant field. + (LINE_STYLE_PROPERTY): New constant field. + (decodeLineStyle): Implemented. + (installUI): Install line style listener. Set initial + lineStyle. + (uninstallUI): Uninstall line style listener. + (paintHorizontalPartOfLeg): Only call super for angled + lineStyle. + (paintVerticalPartOfLeg): Only call super for angled + lineStyle. + (paintHorizontalSeparators): Implemented. + (paint): If lineStyle==HORIZONTAL, call + paintHorizontalSeparators(). + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Add panel for selecting line styles. + +2006-08-16 Robert Schuster + + * examples/gnu/classpath/demo/swing/TabbedPaneDemo.java: + (createContent): Rewritten. + (createPlacementChangingMenuItem): New method. + (createLayoutPolicyChangingMenuItem): New method. + (createTabbedPane): New method. + (createTabContent): New method. + +2006-08-16 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (MouseHandler.mousePressed): Fixed indentation, intercept clicks on + disabled tabs, do proper revalidation in WRAP_TAB_LAYOUT mode. + +2006-08-16 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Provide variable pos as argument and not a fixed value. + (calculateBreakPosition): Add p0 to return value. + +2006-08-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (MouseHandler.selectedOnPress): New field. + (MouseHandler.handleEvent): New helper method for handling + selection and start/stop editing for mouse events. + (MouseHandler.mouseDragged): Commented as no-op method. + (MouseHandler.mouseMoved): Commented as no-op method. + (MouseHandler.mousePressed): Use handleEvent() to handle + selection and editing handling. + (MouseHandler.mouseReleased): Use handleEvent() to handle + selection and editing handling. + (MouseInputHandler.MouseInputHandler): Register itself + as mouse listener on source. Redispatch event to + destination. + (MouseInputHandler.dispatch): New helper method. + (MouseInputHandler.mouseClicked): Dispatch event. + (MouseInputHandler.mouseDragged): Dispatch event. + (MouseInputHandler.mouseEntered): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseExited): Stop dispatching + if dragging stopped. + (MouseInputHandler.mouseMoved): Stop dispatching. + (MouseInputHandler.mousePressed): Marked as no-op. + (MouseInputHandler.mouseReleased): Dispatch and stop + dispatching afterwards. + (MouseInputHandler.removeFromSource): Implemented. + (PropertyChangeHandler.propertyChange): Also handle + editable property changes by calling setEditable(). + (SelectionModelPropertyChangeHandler.propertyChange): + Reset row selection. + (startEditTimer): Removed. + (setCellEditor): Call updateEditor(). + (setEditable): Call updateEditor(). + (startEditingAtPath): Make path fully visible before starting + editing. + (startEditing): Maybe cancel previous edit session. Add + editing component itself, not its parent container. + Register MouseInputHandler for correctly redispatching + initial events. + (stopEditing): Message cellEditor and only completeEditing() + when approved by cell editor. + (updateCellEditor): Complete editing before updating + the cell editor. Get cell editor from JTree if possible, + otherwise create default editor. Update the listeners + on the editor. + * javax/swing/tree/DefaultTreeCellEditor.java + (CLICK_COUNT_TO_START): Removed. + (DefaultTreeCellEditor): Install correct border. Let setTree() + update the listeners. Don't initialize lastPath and font yet. + (actionPerformed): Implemented to start editing. + (createTreeCellEditor): Set click count to start to 1, rather than + 3. + (isCellEditable): Prepare editor here. Determine if we can + start immediately, or if we trigger a timer to do so. + (prepareForEditing): Don't removeAll() (not necessary), + check editingComponent to be non-null. + (setTree): Update listeners. + (shouldStartEditingTimer): Check for left mouse button. + (startEditingTimer): Lazily create timer. + +2006-08-15 Lillian Angel + + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Implemented. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Added comment about NPE. + (retainAll): Added comment about NPE. + +2006-08-15 Roman Kennke + + * java/util/zip/ZipFile.java + (UTF8DECODER): Removed. + (UTF8CHARSET): New constant field. Stores the UTF8 charset. + (utf8Decoder): New instance field. + (decodeChars): Lazily create UTF8 decoder. Use instance + field rather than a static field to avoid corruption. + +2006-08-15 Roman Kennke + + * java/io/PrintStream.java + (line_separator): Provide default for system property. + * java/io/FileDescriptor.java + (valid): Create local copy of channel field for better + threading safetly. + +2006-08-15 Ingo Proetel + + * java/util/zip/ZipFile.java + (PartialInputStream.UTF8DECODER): New constant field, used + for decoding UTF8 strings. + (readLeShort): Access buffer directly if it has enough bytes + available. + (readLeInt): Access buffer directly if it has enough bytes + available. + (decodeChars): New helper method for decoding UTF8 strings. + (readString): Avoid NIO charset decoder if possible. + +2006-08-15 Roman Kennke + + * java/util/Vector.java + (removeAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + (retainAll): Don't explicitly null-check here. The RI allows + null arguments when Vector is empty. In other cases we + implicitly throw an NPE. + +2006-08-14 Casey Marshall + + Merge in ssl-nio-branch work. See `ChangeLog-ssl-nio' for a record + of changes made on this branch. + Files modified: + * gnu/classpath/debug/Component.java + * gnu/classpath/debug/SystemLogger.java + * gnu/java/security/action/GetPropertyAction.java + * gnu/java/security/action/GetSecurityPropertyAction.java + * gnu/javax/crypto/RSACipherImpl.java + * gnu/javax/net/ssl/PrivateCredentials.java + * gnu/javax/net/ssl/provider/Alert.java + * gnu/javax/net/ssl/provider/AlertException.java + * gnu/javax/net/ssl/provider/Certificate.java + * gnu/javax/net/ssl/provider/CertificateRequest.java + * gnu/javax/net/ssl/provider/CertificateType.java + * gnu/javax/net/ssl/provider/CertificateVerify.java + * gnu/javax/net/ssl/provider/CipherSuite.java + * gnu/javax/net/ssl/provider/ClientHello.java + * gnu/javax/net/ssl/provider/ClientKeyExchange.java + * gnu/javax/net/ssl/provider/CompressionMethod.java + * gnu/javax/net/ssl/provider/Constructed.java + * gnu/javax/net/ssl/provider/ContentType.java + * gnu/javax/net/ssl/provider/DiffieHellman.java + * gnu/javax/net/ssl/provider/Extension.java + * gnu/javax/net/ssl/provider/Finished.java + * gnu/javax/net/ssl/provider/Handshake.java + * gnu/javax/net/ssl/provider/Jessie.java + * gnu/javax/net/ssl/provider/ProtocolVersion.java + * gnu/javax/net/ssl/provider/Random.java + * gnu/javax/net/ssl/provider/ServerHello.java + * gnu/javax/net/ssl/provider/ServerKeyExchange.java + * gnu/javax/net/ssl/provider/Signature.java + * gnu/javax/net/ssl/provider/Util.java + * gnu/javax/net/ssl/provider/X509KeyManagerFactory.java + * gnu/javax/net/ssl/provider/X509TrustManagerFactory.java + * java/security/MessageDigest.java + * java/security/MessageDigestSpi.java + * java/security/Signature.java + * java/security/SignatureSpi.java + * javax/crypto/Mac.java + * javax/crypto/MacSpi.java + * javax/net/ssl/HandshakeCompletedEvent.java + * javax/net/ssl/HttpsURLConnection.java + * javax/net/ssl/SSLContext.java + * javax/net/ssl/SSLContextSpi.java + * javax/net/ssl/SSLSession.java + Files added: + * gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java + * gnu/javax/net/ssl/provider/SimpleSessionContext.java + * gnu/javax/net/ssl/provider/ServerRSAParams.java + * gnu/javax/net/ssl/provider/SSLContextImpl.java + * gnu/javax/net/ssl/provider/ServerDHParams.java + * gnu/javax/net/ssl/provider/ClientHelloBuilder.java + * gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SignatureAlgorithm.java + * gnu/javax/net/ssl/provider/CipherSuiteList.java + * gnu/javax/net/ssl/provider/ServerNameList.java + * gnu/javax/net/ssl/provider/SSLServerSocketImpl.java + * gnu/javax/net/ssl/provider/CompressionMethodList.java + * gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.java + * gnu/javax/net/ssl/provider/TrustedAuthorities.java + * gnu/javax/net/ssl/provider/CertificateStatusRequest.java + * gnu/javax/net/ssl/provider/ServerHelloDone.java + * gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java + * gnu/javax/net/ssl/provider/SSLSocketImpl.java + * gnu/javax/net/ssl/provider/ServerHelloBuilder.java + * gnu/javax/net/ssl/provider/Record.java + * gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java + * gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.java + * gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.java + * gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/CertificateBuilder.java + * gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.java + * gnu/javax/net/ssl/provider/CertificateStatusType.java + * gnu/javax/net/ssl/provider/ExtensionList.java + * gnu/javax/net/ssl/provider/ClientCertificateTypeList.java + * gnu/javax/net/ssl/provider/ClientPSKParameters.java + * gnu/javax/net/ssl/provider/X500PrincipalList.java + * gnu/javax/net/ssl/provider/ServerHandshake.java + * gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.java + * gnu/javax/net/ssl/provider/SessionImpl.java + * gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.java + * gnu/javax/net/ssl/provider/ServerPSKParameters.java + * gnu/javax/net/ssl/provider/TruncatedHMAC.java + * gnu/javax/net/ssl/provider/MaxFragmentLength.java + * gnu/javax/net/ssl/provider/HelloRequest.java + * gnu/javax/net/ssl/provider/ServerKeyExchangeParams.java + * gnu/javax/net/ssl/provider/UnresolvedExtensionValue.java + * gnu/javax/net/ssl/provider/CipherAlgorithm.java + * gnu/javax/net/ssl/provider/ClientHandshake.java + * gnu/javax/net/ssl/provider/ExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateURL.java + * gnu/javax/net/ssl/provider/EmptyExchangeKeys.java + * gnu/javax/net/ssl/provider/CertificateRequestBuilder.java + * gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java + * gnu/javax/net/ssl/provider/Builder.java + * gnu/javax/net/ssl/provider/Debug.java + * gnu/javax/net/ssl/provider/SSLEngineImpl.java + * gnu/javax/net/ssl/provider/MacAlgorithm.java + * gnu/javax/net/ssl/provider/DelegatedTask.java + * gnu/javax/net/ssl/provider/InputSecurityParameters.java + * gnu/javax/net/ssl/provider/ClientHelloV2.java + * gnu/javax/net/ssl/provider/OutputSecurityParameters.java + * gnu/javax/net/ssl/provider/AbstractHandshake.java + * javax/net/ssl/SSLEngine.java + * javax/net/ssl/CertPathTrustManagerParameters.java + * javax/net/ssl/KeyStoreBuilderParameters.java + * javax/net/ssl/X509ExtendedKeyManager.java + * javax/net/ssl/SSLEngineResult.java + * gnu/javax/net/ssl/PreSharedKeyManager.java + * gnu/javax/net/ssl/Session.java + * gnu/javax/net/ssl/PreSharedKeyManagerParameters.java + * gnu/javax/net/ssl/SSLCipherSuite.java + * gnu/javax/net/ssl/AbstractSessionContext.java + * gnu/javax/net/ssl/SessionStoreException.java + * gnu/javax/net/ssl/SSLRecordHandler.java + * gnu/javax/net/ssl/SSLProtocolVersion.java + * gnu/javax/crypto/key/GnuPBEKey.java + * gnu/java/security/util/ByteBufferOutputStream.java + * gnu/java/security/Requires.java + * gnu/javax/security/auth/callback/CertificateCallback.java + Files removed: + * gnu/javax/net/ssl/provider/Context.java + * gnu/javax/net/ssl/provider/DigestInputStream.java + * gnu/javax/net/ssl/provider/DigestOutputStream.java + * gnu/javax/net/ssl/provider/Enumerated.java + * gnu/javax/net/ssl/provider/Extensions.java + * gnu/javax/net/ssl/provider/GNUSecurityParameters.java + * gnu/javax/net/ssl/provider/JCESecurityParameters.java + * gnu/javax/net/ssl/provider/JDBCSessionContext.java + * gnu/javax/net/ssl/provider/JessieDHPrivateKey.java + * gnu/javax/net/ssl/provider/JessieDHPublicKey.java + * gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java + * gnu/javax/net/ssl/provider/JessieRSAPublicKey.java + * gnu/javax/net/ssl/provider/KeyPool.java + * gnu/javax/net/ssl/provider/OverflowException.java + * gnu/javax/net/ssl/provider/RecordInput.java + * gnu/javax/net/ssl/provider/RecordInputStream.java + * gnu/javax/net/ssl/provider/RecordOutputStream.java + * gnu/javax/net/ssl/provider/RecordingInputStream.java + * gnu/javax/net/ssl/provider/SSLRSASignature.java + * gnu/javax/net/ssl/provider/SSLServerSocket.java + * gnu/javax/net/ssl/provider/SSLServerSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocket.java + * gnu/javax/net/ssl/provider/SSLSocketFactory.java + * gnu/javax/net/ssl/provider/SSLSocketInputStream.java + * gnu/javax/net/ssl/provider/SSLSocketOutputStream.java + * gnu/javax/net/ssl/provider/SecurityParameters.java + * gnu/javax/net/ssl/provider/Session.java + * gnu/javax/net/ssl/provider/SessionContext.java + * gnu/javax/net/ssl/provider/SynchronizedRandom.java + * gnu/javax/net/ssl/provider/XMLSessionContext.java + +2006-08-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (DividerLayout.layoutContainer): Removed debug output. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.axis): New field. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager(int)): + New constructor. + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager()): + Call new axis constructor. + (BasicHorizontalLayoutManager.getAvailableSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getInitialLocation): Refactored to + handle direction. + (BasicHorizontalLayoutManager.getPreferredSizeOfComponent): + Refactored to handle direction. + (BasicHorizontalLayoutManager.getSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumLayoutSize): Refactored to + handle direction. + (BasicHorizontalLayoutManager.preferredLayoutSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.minimumSizeOfComponent): Refactored + to handle direction. + (BasicHorizontalLayoutManager.setComponentToSize): Refactored + to handle direction. + (BasicHorizontalLayoutManager.updateComponents): Don't reset + divider size. + (BasicVerticalLayoutManager.BasicVerticalLayoutManager): + New explicit constructor. Calls super with vertical axis. + (BasicVerticalLayoutManager.getAvailableSize): Functionality moved + to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getInitialLocation): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getPreferredSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.getSizeOfComponent): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.minimumSizeOfComponent): + Functionality moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.preferredLayoutSize): Functionality + moved to BasicHorizontalLayoutManager. + (BasicVerticalLayoutManager.setComponentToSize): Functionality + moved to BasicHorizontalLayoutManager. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (BUTTON_SPRITE): Renamed to BUTTON_SPRITE_L. + (BUTTON_SPRITE_R): New constant field. + (MetalOneTouchButton.paint): Paint R sprite for right buttons, + L sprite for left buttons. + +2006-08-14 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (query_formats): g_free 'name' after usage. + g_strfreev 'ch', the gdk_pixbuf_format_get_extensions instance. + g_strfreev 'ch', the gdk_pixbuf_format_get_mime_types instance. + +2006-08-14 Thomas Fitzsimmons + + PR classpath/27723 + * configure.ac (MOZILLA_FOUND): Add pkg-config check for + seamonkey-plugin. + +2006-08-14 Francis Kung + + PR 28694 + * java/awt/image/ColorModel.java + (coerceData): Added check for non-transparent images. + +2006-08-14 Francis Kung + + * java/awt/image/BandCombineOp.java + (BandCombineOp): Perform checks on validity of matrix. + (createCompatibleDestRaster): Add checks and choose raster type dynamically. + (filter): Updated to work with new matrix storage. + (getMatrix): Updated javadoc. + (getPoint2D): Formatting change. + +2006-08-14 Francis Kung + + * java/awt/image/AffineTransformOp.java + (AffineTransformOp): Updated javadoc. + (createCompatibleDestImage): Match behaviour of reference implementation. + (createCompatibleDestRaster): Formatting changes. + (filter(BufferedImage, BufferedImage)): Create compatible destination image. + (filter(Raster, WritableRaster)): Re-implemented. + (filterBicubic): New private method. + (filterBilinear): New private method. + (filterNearest): New private method. + (getBounds2D): No longer fixed around one point for rotations. + (getInterpolationType): Add support for bicubic interpolation. + +2006-08-14 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (MetalLookAndFeel): Moved theme initialization to + getDefaults(). + (createDefaultTheme): Forward to getCurrentTheme(). + (getDefaults): Initialize theme before doing anything else. + (getCurrentTheme): Recognize swing.metalTheme property. + +2006-08-14 Roman Kennke + + * javax/swing/JTable + (getScrollableUnitIncrement): Expose partially exposed + row in scrolling direction. + +2006-08-14 Audrius Meskauskas + + * javax/swing/JTable (getScrollableUnitIncrement): + Removing my name as the whole method body have been + recently completely replaced. + +2006-08-14 Roman Kennke + + PR 28028 + * javax/swing/text/Utilities.java + (getTabbedTextOffset): Don't add p0 here. + +2006-08-14 Roman Kennke + + PR 28719 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler.mouseWheelMoved): Scroll negative delta + when wheel is going up. + +2006-08-14 Roman Kennke + + PR 28693 + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (BasicOneTouchButton): New inner class. + (DividerLayout.changeButtonOrientation): Removed. + (DividerLayout.positionButtons): Moved into layoutContainer. + (DividerLayout.layoutContainer): Reworked for correct layout. + (OneTouchAction): New inner class. + (centerOneTouchButtons): New field. + (BasicSplitPaneDivider): Initialize centerOneTouchButton from + UIManager. + (createLeftOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (createRightOneTouchButton): Reimplemented to return + BasicOneTouchButton. + (getPreferredSize): Reimplemented to return fixed preferredSize. + (oneTouchExpandableChanged): Add OneTouchAction action to + buttons. Don't install mouse listeners. + (MouseHandler.mousePressed): Removed handling of one touch buttons. + (paint): Don't trigger extra paint for buttons. + (propertyChange): Revalidate splitPane when orientation is changed. + (setBasicSplitPaneUI): Call oneTouchExpandableChanged only when + oneTouchExpandable is true. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (installDefaults): Install dividerSize on the divider too. + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (MetalDividerLayout): Removed. Functionality is already + in BasicSplitPaneDivider.DividerLayout. + (MetalOneTouchButton): New inner class. + (BUTTON_SPRITE): New constant field. + (MetalSplitPaneDivider): Don't change layout. + (createLeftOneTouchButton): Overridden to return custom button + for Metal. + (createRightOneTouchButton): Overridden to return custom button + for Metal. + (paint): Don't trigger button painting. Call super instead. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (installKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + (uninstallKeyboardAction): Unmarked as stub. Added comment + explaining that the RI seems to do nothing here. + +2006-08-13 Roman Kennke + + PR 28135 + * javax/swing/ScrollPaneLayout.java + (layoutContainer): Consider the viewportBorder of the + JScrollPane. + (minimumLayoutSize): Consider the viewportBorder of the + JScrollPane. + (preferredLayoutSize): Consider the viewportBorder of the + JScrollPane. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (installDefaults): Also install viewportBorder if specified. + (paint): Paint viewportBorder if present. + (uninstallDefaults): Uninstall viewportBorder if appropriate. + Don't nullify foreground, background and font. Uninstall + border via LookAndFeel helper method to avoid uninstall + user set border. + +2006-08-13 Roman Kennke + + PR 28696 + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView.HTMLRootView): Trigger initial layout. + (HTMLRootView.setSize): Overridden to forward to real view. + * javax/swing/plaf/basic/BasicToolTipUI.java + (PropertyChangeHandler): New inner class. Updates the HTML + renderer. + (propertyChangeHandler): New field. + (getMaximumSize): Add HTML width delta. + (getMinimumSize): Add HTML width delta. + (getPreferredSize): Reimplemented to use HTML view for size + calculation if appropriate, otherwise use simple stringWidth() + measurement. + (installListeners): Install propertyChangeHandler. + (uninstallListeners): Uninstall propertyChangeHandler. + (installUI): Update HTML renderer. + (uninstallUI): Update HTML renderer. + (paint): Reimplemented to use HTML view for rendering if + appropriate, simple drawString otherwise. + * javax/swing/plaf/metal/MetalToolTipUI.java + (getPreferredSize): Call super and add accelerator delta. + (paint): Simply call super. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (changeListener): Renamed to menuChangeListener to avoid + shadowing changeListener field from AbstractButton. + +2006-08-13 Roman Kennke + + * javax/swing/JTree.java + (getScrollableUnitIncrement): Fixed direction. + (getScrollableBlockIncrement): Implemented to scroll one + page. + * javax/swing/tree/VariableHeightLayoutCache.java + (distance): Consider y + height already outside the node. + +2006-08-13 Roman Kennke + + * javax/swing/JTable.java + (getScrollableUnitIncrement): Fixed direction. Make it behave + like the RI. + (getScrollableBlockIncrement): Fixed direction. Make it behave + like the RI. + +2006-08-13 Roman Kennke + + * javax/swing/JList.java + (getScrollableUnitIncrement): Fixed direction. Implemented + horizontal scrolling. Improved usability. + (getScrollableBlockIncrement): Fixed direction. Improved usability. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (scrollByUnit): Scroll by -unit when direction is not positive + and +unit otherwise. + (scrollByBlock): Scroll by -unit when direction is not positive + and +unit otherwise. + +2006-08-13 Roman Kennke + + PR 28028 + * javax/swing/text/PlainView.java + (paint): Limit painted area to the lines inside the clip + and allocation. + +2006-08-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallListeners): Unregister document listener. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcodeCache): New field. + (hashCode): use the above field instead of the serialized one + (writeObject): Removed method. + (readObject): Intern strings. + (equals): Revert to previous method. + +2006-08-13 Roman Kennke + + * javax/swing/JTabbedPane.java + (JTabbedPane): Call setModel() here and let this install the + change listener correctly. + (setModel): Correctly uninstall and reinstall ChangeListener when + model changes. + +2006-08-13 Raif S. Naffah + + PR Classpath/23952 + * java/util/ResourceBundle.java (CACHE_SIZE): New constant. + (bundleCache): Replaced with an LRU of CACHE_SIZE elements. + (lastDefaultLocale): Removed. + (emptyLocale): Likewise. + (BundleKey.defaultLocale): New field. + (BundleKey.BundleKey): Add a Locale (as a 1st positional) argument. + (BundleKey.set): Likewise. + (BundleKey.equals): Take defaultLocal field into consideration. + (getBundle(String, Locale, ClassLoader)): Use updated BundleKey and LRU. + +2006-08-13 Roman Kennke + + * javax/swing/JMenu.java + (MenuChangeListener): New inner class, helps firing menu events. + (changeListener): New field. + (add(text)): Create new JMenuItem here and call add(JMenuItem). + (add(Action)): Create Action using createActionComponent() + and add via add(Component). + (setModel): Install and uninstall MenuChangeListener here. + +2006-08-13 Raif S. Naffah + + PR Classpath/27372 + * java/math/BigInteger.java: Updated copyright year. + (init): Consume as little bytes as possible. + (BigInteger(int, int, Random)): Ensure bitLength bits are used. + (valueOf(String, int)): Throw NumberFormatException for malformed strings + as per RI's documentation. + +2006-08-13 Sven de Marothy + + * java/util/Locale.java + (hashcode): Is a serialized field, not transient. + (equals): Should NOT compare strings by reference. + (readObject/writeObject): Use the default methods and handle the hash + seperately. + +2006-08-13 Raif S. Naffah + + PR Classpath/28678 + * gnu/java/security/Engine.java (getInstance(String, String, Provider)): + Updated documentation. + Formatting. + (getInstance(String, String, Provider, Object[])): Likewise. + Separate checks for null and empty string arguments. + Include as much information as possible in the exception's message. + Do not swallow original exception; instead use it as the cause of the + resulting exception. + * gnu/javax/security/auth/callback/AbstractCallbackHandler.java + (getInstance(String)): Updated documentation. + Formatting. + Store last exception caught when iterating through all providers. + If no implementation found, raise last exception if one was caught. + (getInstance(String, String)): Updated documentation. + Formatting. + Check for null or empty provider as per RI-5's documentation. + (getInstance(String, Provider)): Updated documentation. + Formatting. + Use as much information as possible in the exception message. + Do not swallow original exception; instead use it as the cause for the + ultimate raised exception(s). + * java/security/cert/CertificateFactory.java: Likewise. + * java/security/cert/CertPathBuilder.java: Likewise. + * java/security/cert/CertPathValidator.java: Likewise. + * java/security/cert/CertStore.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/KeyStore.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/SecureRandom.java: Likewise. + * java/security/Signature.java: Likewise. + * javax/crypto/Cipher.java: Likewise. + * javax/crypto/ExemptionMechanism.java: Likewise. + * javax/crypto/KeyAgreement.java: Likewise. + * javax/crypto/KeyGenerator.java: Likewise. + * javax/crypto/Mac.java: Likewise. + * javax/crypto/SecretKeyFactory.java: Likewise. + * javax/net/ssl/KeyManagerFactory.java: Likewise. + * javax/net/ssl/SSLContext.java: Likewise. + * javax/net/ssl/TrustManagerFactory.java: Likewise. + +2006-08-13 Roman Kennke + + * javax/swing/JEditorPane.java + (getScrollableTracksViewportHeight): Also check maximum size. + * javax/swing/JTextPane.java + (insertIcon): Use input attributes for adding the icon + attribute. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setSize): Overridden to forward to real view. + (getPreferredSize): Trigger setSize() on the view. + (viewToModel(JTextComponent,Point)): Pass Position.Bias array + to viewToModel() call, rather then null. + * javax/swing/text/ParagraphView.java + (changedUpdate): Invalide layout. Call super. + * javax/swing/text/SimpleAttributeSet.java + (clone): Use super's clone method to create clone. + * javax/swing/text/StyleConstants.java + (setIcon): Also set element name attribute. + * javax/swing/text/StyledEditorKit.java + (BoldAction.actionPerformed): Actually set the bold attribute, + not italic. + (setCharacterAttributes): Replaced with more straightforward + impl. + * javax/swing/text/TextAction.java + (getFocusedComponent): Implemented. + * javax/swing/text/Utilities.java + (getNextVisualPositionFrom): Pass Position.Bias arrays instead + of null. + * javax/swing/text/View.java + (changedUpdate): Nullify element change when updateChildren + says so. + +2006-08-11 Andrew John Hughes + + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + Fix documentation typos. + +2006-08-11 David Daney + + PR classpath/28580 + * gnu/java/net/protocol/http/Request.java (readResponse): Call + createResponseBodyStream in more cases and with new parameter. + (createResponseBodyStream): Added new parameter mayHaveBody. Handle + HEAD and !mayHaveBody responses specially. + +2006-08-11 Roman Kennke + + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.modelToView): Fixed model->view mapping. + * javax/swing/text/LabelView.java + (valid): New flag indicating if the text attributes are valid. + (LabelView): Initialize valid field with false. + (setPropertiesFromAttributes): Call setter methods instead + of setting properties directly. Set valid to true. + (changedUpdate): Invalidate attributes. Call super. + (getBackground): Sync attributes if necessary. + (getForeground): Sync attributes if necessary. + (getFont): Sync attributes if necessary. + (isUnderline): Sync attributes if necessary. + (isSuperscript): Sync attributes if necessary. + (isStrikeThrough): Sync attributes if necessary. + (getFontMetrics): Sync attributes if necessary. Fetch font metrics + from toolkit if Container is not available yet. + +2006-08-11 Roman Kennke + + * javax/swing/text/PlainView.java + (tabBase): New field. + (tabSize): New field. + (updateMetrics): Update tabSize. + (lineToRect): Only allocate when really necessary. + (modelToView): Use tabBase for offset calculations. + (paint): Only allocate when really necessary. Update tabBase. + (nextTabStop): Fixed tab calculation. + (viewToModel): Correctly handle multiline text and locations + outside the view's bounds. Set bias. + (getLineLength): Use tabBase. + * javax/swing/text/Utilities.java + (drawTabbedText): Don't special case newlines. The views + must take care of this. + +2006-08-11 Roman Kennke + + * javax/swing/text/GapContent.java + (UndoPosRef): New inner class. Used for resetting positions + after undo/redo operations. + (InsertUndo.positions): New field. + (InsertUndo.undo): Store positions in removed range. + (InsertUndo.redo): Restore positions in re-inserted range. + (UndoRemove.positions): New field. + (UndoRemove.UndoRemove): Store positions in removed range. + (UndoRemove.undo): Restore positions in re-inserted range. + (UndoRemove.redo): Store positions in removed range. + (insertString): Create InsertUndo instance before actually + inserting the string. + (remove): Create UndoRemove instance before actually + removing. + (getPositionsInRange): Don't clear the Vector. Return Vector + of UndoPosRefs. + (updateUndoPositions): Implemented to reset all UndoPosRefs + in the vector. + +2006-08-11 Jeroen Frijters + + * java/io/ObjectInputStream.java (readClassDescriptor): + Use class's class loader to resolve field types. + * java/io/ObjectStreamField.java + (ObjectStreamField(String,String,ClassLoader)): Removed. + (ObjectStreamField(String,String)): Don't try to resolve typename. + (resolveType): New method. + +2006-08-10 Roman Kennke + + * javax/swing/text/BoxView.java + (calculateMajorAxisRequirements): Sum up the preferred and + maximum sizes. + (isAfter): Also add in the rectangle's with/height. + (childAllocation): Don't trigger layout here. + (layoutMinorAxis): Removed debug output. + (getWidth): Consider the insets. + (getHeight): Consider the insets. + (setSize): Consider the insets. + (updateRequirements): Check axis and throw + IllegalArgumentException. + +2006-08-10 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BidiRootName): New constant field, denotes the element name + for bidi root elements. + (AsyncLoadPriority): New constant field, denotes the property + to store the asynchronousLoadPriority. + (I18N): New constant field, denotes the property for + I18N support. + (bidiRoot): Made field type BidiRootElement. + (AbstractDocument): Build initial element structure for + bidi. + (getAsynchronousLoadPriority): Implemented. Returns the + value stored in the document properties. + (setAsynchronousLoadPriority): Implemented. Sets the + value stored in the document properties. + (getEndPosition): Implemented to use a Position from the + content. + (getStartPosition): Implemented to use a Position from the + content. + (insertStringImpl): Update the I18N setting if necessary. + (insertUpdate): Update the bidi structure if necessary. + (postRemoveUpdate): Update the bidi structure if necessary. + (putProperty): Update the I18N setting and bidi structure + if necessary. + (updateBidi): New helper method for updating the bidi + structure. + (getBidis): New helper method. Fetches the Bidi analysers + for the paragraphs of the range to check. + (dump): Also dump the bidi structure. + (AbstractElement.dump): Indent the '>' correctly. + (AbstractElement.children): Check numChildren rather then + children.length. + (BidiRootElement): New inner class. + (BidiElement): New inner class. + +2006-08-10 Roman Kennke + + * javax/swing/text/GapContent.java + (getChars): Optimized to only copy array when really necessary. + Respect the partialReturn property. + +2006-08-10 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (getComponentPeer): Added check to prevent NPE. + +2006-08-10 Gary Benson + + * java/security/AccessControlContext.java (): + Avoid a duplicated AccessController.getContext() call. + +2006-08-09 Mark Wielaard + + * doc/www.gnu.org/newsitems.txt: Add 0.92. + * doc/www.gnu.org/downloads/downloads.wml: Likewise. + * doc/www.gnu.org/announce/20060809.wml: New file. + +2006-08-09 Mark Wielaard + + * configure.ac (VERSION): Set to 0.92-generics. + * NEWS: Add updates for 0.92 release. + +2006-08-09 Tom Tromey + + PR classpath/28658: + * java/text/SimpleDateFormat.java (parse): Let an unquoted space in + the pattern match any number of spaces in the text. + +2006-08-09 Sven de Marothy + + * java/awt/image/BufferedImage.java + (BufferedImage): Reimplement predefined-type constructor. + (observers/tileObservers): Field renamed to tileObservers. + (createDefaultIndexedColorModel): New method. + +2006-08-09 Tom Tromey + + PR classpath/28666: + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c + (Java_gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice_nativeGetDisplayModes): + Create a 'short' array. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/JniHelper.java (getName): Properly + handle arrays. + * tools/gnu/classpath/tools/javah/JniIncludePrinter.java + (writeFields): Print "L" after int constant. Don't mangle the field + name. Only print int/long fields. + +2006-08-09 Tom Tromey + + * tools/gnu/classpath/tools/javah/Main.java (getParser): Name program + "javah". + +2006-08-09 Sven de Marothy + + * javax/swing/JTree.java + (JTree): Default SelectionModel should be DefaultTreeSelectionModel. + (setSelectionModel): Null parameter should create an EmptySelectionM. + +2006-08-09 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (insertString): Perform modifications inside a write lock. + (insertStringImpl): Don't lock here. This is already done + in insertString(). + (replace): Perform modifications inside a write lock. + (AbstractElement.AbstractElement): Call addAttributes() to + add the attributes. + (AbstractElement.getName): Fetch name from the ElementNameAttibute. + (BranchElement.lastIndex): New field. Optimizes getElementIndex(). + (BranchElement.BranchElement): Set lastIndex to -1. + (BranchElement.getElementIndex): Implemented more efficient + search. + +2006-08-09 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (Edit): Moved this inner class into ElementBuffer where it + is actually needed. + (edits): Moved this field into ElementBuffer. + (getEditForParagraphAndIndex): Removed obsolete method. + (insertUpdate): Added some optimizations and fixes. Split + out handling insertion after newlines. + (insertAfterNewline): New helper method. Handles insertions + after a newline. + (ElementBuffer.Edit): New inner class. Moved here from + DefaultStyledDocument. + (ElementBuffer.createdFracture): New field. + (ElementBuffer.documentEvent): Made private. + (ElementBuffer.edits): New field. Moved here from + DefaultStyledDocument. + (ElementBuffer.fracNotCreated): Replaced by createdFracture. + (ElementBuffer.fracturedChild): New field. + (ElementBuffer.fracturedParent): New field. + (ElementBuffer.insertPath): New field. + (ElementBuffer.lastFractured): Removed. Replaced by fracturedChild and + fracturedParent. + (ElementBuffer.offsetLastIndex): New field. + (ElementBuffer.offsetLastIndexReplace): New field. + (ElementBuffer.recreateLeafs): New field. + (ElementBuffer.ElementBuffer): Don't initialize stack here. + (ElementBuffer.canJoin): New helper method. + (ElementBuffer.changeUpdate): Changed to use elementStack with + Edits rather than Elements. Let the split method do the work. + (ElementBuffer.cloneAsNecessary): New helper method. + (ElementBuffer.createFracture): Changed to fracture the bottommost + child in the stack. + (ElementBuffer.finishEdit): New helper method. Moved out + from insertUpdate to perform the actual changes and update + the event. + (fracture): New helper method. + (insertContentTag): Fixed some bugs and changed to use Edit + instances in the stack, rather then Elements. + (insertElement): New helper method. Moved out from insertUpdate() + to process the ElementSpecs. + (insertFirstContentTag): Fixed some problems and changed to use Edit + instances in the stack, rather then Elements. + (insertFracture): Removed. Basically moved into createFracture() + and fracture(). + (insertParagraph): Removed. + (insertUpdate): Split out the ElementSpec processing into + insertElement(). Use Edit instances in the stack. Fixed some + problems. + (insert): Split out the preparation and finishing code into + prepareEdit() and finishEdit(). + (join): New helper method. + (pop): New helper method. + (prepareEdit): New helper method. + (recreateFracturedElement): New helper method. + (recreateLeaves): Removed. + (recreate): New helper method. + (removeElements): New helper method. Split out from removeUpdate(). + (removeUpdate): Split out the actual removal. Use the + Edit stack to perform removal and perform the remove actions + and event updates afterwards, just like in insertImpl(). + (remove): Use prepareEdit() and finishEdit(). + (split): Replaced with more flexible impl. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + Change class to extend WritableRaster and not DataBuffer. + (CairoDataBuffer): New inner class. + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + Accomodate the above change. + +2006-08-09 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkMainThread.java + New file. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + Replace GtkToolkit.mainThread with GtkMainThread.mainThread. + * gnu/java/awt/peer/gtk/GtkToolkit.java + Minor style fixes; removed unused fields, + set fields to private where possible. + (createDialog, createFrame, createWindow, createEmbeddedWindow): + Call GtkMainThread.createWindow(). + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (dispose): New method. + * include/gnu_java_awt_peer_gtk_GtkToolkit.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c + (gtkQuit): New native method. + +2006-08-08 Lillian Angel + + * java/awt/Component.java + (setDropTarget): Added check. + +2006-08-08 Lillian Angel + + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (GtkDragSourceContextPeer): Added FIXME. Changed call + to setTarget. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java + (GtkDropTargetContextPeer): Removed target initialization. + * java/awt/Component.java + (setTarget): Removed commented out code. + +2006-08-08 Mark Wielaard + + * javax/swing/text/DefaultHighlighter.java: Qualify + Highlighter.HighlightPainter class name for gcj. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-05 Roman Kennke + + PR 28650 + * javax/swing/plaf/basic/BasicMenuBarUI.java + (getActionMap): Store ActionMap in MenuBar.actionMap, rather + than Tree.actionMap. + * javax/swing/plaf/basic/BasicTreeUI.java + (action): Removed obsolete field. + (uninstallKeyboardActions): Removed action field handling. + (installKeyboardActions): Removed action field handling. + (createDefaultActions): Don't install removed TreeAction. + (TreeAction): Removed obsolete inner class. + (ActionListenerProxy): Removed obsolete inner class. + (MouseHandler.mousePressed): Request focus on JTree component + on mouse press. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mousePressed): Request focus on list + component. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange(JTextComponent,int,int)): Call damageRange() with + correct biases, rather than null. + (damageRange(JTextComponent,int,int,Bias,Bias)): Rewritten + to use simpler modelToView() approach without much special + casing. This seems not worth the effort and actually + caused problems. Added locking of the document. + * javax/swing/text/BoxView.java + (requirementsValid): New field. + (calculateMajorAxisRequirements): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (calculateMinorAxisRequirements): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (getAlignment): Simply return the alignment of the cached + requirements. + (getMaximumSpan): Add insets. + (getMinimumSpan): Add insets. + (getPreferredSpan): Add insets. + (layoutMajorAxis): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (layoutMinorAxis): Rewritten without using + SizeRequirements. The SizeRequirements algorithms are slightly + different and too inefficient. + (modelToView): Call setSize() rather than layout(). + (paint): Check clip for more efficient painting. + (preferenceChanged): Invalidate requirements here. + (replace): Invalidate requirements here. + (updateRequirements): Update requirements only when requirements + are marked invalid. + * javax/swing/text/CompositeView.java + (modelToView): Added some more checks and handling of corner cases. + * javax/swing/text/FlowView.java + (calculateMinorAxisRequirements): Set aligment to 0.5 and maximum + span to Integer.MAX_VALUE. Limit preferredSize to minimumSize. + * javax/swing/text/IconView.java + (getAlignment): Implemented to return 1.0 for vertical alignment. + * javax/swing/text/ParagraphView.java + (Row.getMaximumSpan): Implemented to let Rows span the whole + ParagraphView. + (getAlignment): Fixed horizontal alignment and vertical alignment + for empty paragraphs to be 0.5. + +2006-08-08 Roman Kennke + + * javax/swing/text/View.java + (modelToView): Added special handling for corner case at the end + of the view and for multiline views. + +2006-08-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (modelToView): Read-lock the document. Set size of the + root view before fetching the model-to-view mapping. + (getViewIndex): Check of the position is inside the range and + return -1 if this is not the case. + (getViewAtPosition(int,Rectangle): Update child allocation for valid + view index. + (getViewIndexAtPosition(int)): Delegate the index search to + the element since we have a 1:1 mapping between elements and + views here. + * javax/swing/text/DefaultCaret.java + (appear): Ignore BadLocationException. + (paint): Ignore BadLocationException. + * javax/swing/text/FlowView.java + (changedUpdate): Also notify the layoutPool view. + (removeUpdate): Also notify the layoutPool view. + * javax/swing/text/ParagraphView.java + (Row.getViewIndexAtPosition): Overridden to search linearily + through the view instead of relying on a 1:1 model to view + mapping. + * javax/swing/text/View.java + (removeUpdate): Clear ElementChange object if updateChildren + returns false. + (forwardUpdate): Special handle some boundary cases. + +2006-08-07 Raif S. Naffah + + * gnu/java/security/key/dss/DSSKey.java: Updated documentation. + (hasInheritedParameters): New method. + (equals): Updated documentation. + Take into consideration the outcome of hasInheritedParameters invocation. + (toString): Call hasInheritedParameters and adjust the result accordingly. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java (encodePublicKey): + Updated documentation. + Handle case of public keys with null p, q, and g MPIs. + (decodePublicKey): Handle case of absent or NULL p, q and g MPIs. + +2006-08-07 Tom Tromey + + PR libgcj/23682: + * java/nio/channels/SelectionKey.java (attach): Now synchronized. + (attachment): Likewise. + * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now + synchronized. + (isValid): Likewise. + * gnu/java/nio/SelectionKeyImpl.java (impl): Now final + (ch): Likewise. + (interestOps): Synchronize. + (readyOps): Likewise. + * gnu/java/nio/SelectorImpl.java (register): Synchronize around + interestOps call. + +2006-08-07 C. Scott Marshall + + Fixes PR 28608. + * java/nio/DirectByteBufferImpl.java (duplicate): only reset if + the mark has been set. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (Java_java_nio_VMDirectByteBuffer_allocate): zero out the + allocated data. + +2006-08-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Synchronize against font object when drawing. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (nativeDrawGlyphVector): Use pango locking when drawing. + (install_font_peer): Use pango locking when creating the cairo face. + +2006-08-06 Roman Kennke + + PR 28571 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java + (getPreferredSize): Renamed method to preferredSize(). That's + the one that gets called from java.awt.*. + * java/awt/peer/ComponentPeer.java + (getPreferredSize): Added specnote about this method never + beeing called in the RI. + (getMinimumSize): Added specnote about this method never + beeing called in the RI. + +2006-08-03 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (grab, nativeGrab): New methods. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (nativeGrab): New method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (print): Implement. + * java/awt/Component.java + (printAll): Should call peer print method. + +2006-08-06 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + + * java/net/URL.java (getContent(Class[])): Implement. + +2006-08-06 Mark Wielaard + + PR 28555 + Suggested by Matthew Burgess + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + withParams is null. + * gnu/xml/transform/ForEachNode.java (clone): Check whether + sortKeys is null. + +2006-08-06 Roman Kennke + + * NEWS: Added note about the X peers. + * INSTALL: Added install notes about the X peers. + +2006-08-06 Raif S. Naffah + Paul Jenner + + * README: Update bug, patches and cvs instructions plus new URLs of + various external projects. + +2006-08-06 Thomas Fitzsimmons + + * configure.ac (MOZILLA_FOUND): Fall back to + mozilla-firefox-plugin. + +2006-08-06 Mario Torre + + Reported by Raif S. Naffah + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + g_type_init earlier in function to correctly initialize the + type system used by the backend. + +2006-08-05 Roman Kennke + + * javax/swing/text/DefaultHighlight.java + (DefaultHighlightPainter.paintHighlight): Removed method. + (DefaultHighlightPainter.paintLayer): Implemented. + (DefaultHighlightPainter.paint): Implemented more efficient + painting for multiline-highlights. + (HighlightEntry.p0): Changed to be a Position. + (HighlightEntry.p1): Changed to be a Position. + (HighlightEntry.HighlightEntry): Changed to take Position + arfuments. + (HighlightEntry.getStartOffset): Changed to return p0.getOffset(); + (HighlightEntry.getEndOffset): Changed to return p1.getOffset(); + (LayerHighlightEntry): New inner class. Extends HighlightEntry + and tracks the painted rectangle for efficient repainting. + (addHighlight): Handle layered highlight. + (changeHighlight): Handle layered highlight. + (paintLayeredHighlights): Implemented. + (paint): Paint only non-layered highlights here. + (removeAllHighlights): Trigger correct repaint. + (removeHighlight): Handle layered highlight here for + more efficient repainting. + * javax/swing/text/GlyphView.java + (paint): Handle layered highlights. + * javax/swing/text/PlainView.java + (paint): Handle layered highlights. + * javax/swing/text/WrappedPlainView.java + (WrappedLine.paint): Handle layered highlights. + +2006-08-07 Audrius Meskauskas + + PR 26972 + * NEWS: As suggested by Paul Jennier, added note about the fix of + the InitialContext. + +2006-08-07 Audrius Meskauskas + + * NEWS: Added entry about the context factories for JNDI. + +2006-08-07 Audrius Meskauskas + + PR 27383 + * gnu/CORBA/Connected_objects.java (size): New method. + * gnu/CORBA/OrbFunctional.java (countConnectedObjects): + New method. + * javax/naming/spi/NamingManager.java (getURLContext): + Also search for the URL context factories in + gnu/javax/naming/jndi/url. + * gnu/javax/naming/giop/ContextContinuation.java, + gnu/javax/naming/giop/CorbalocParser.java, + gnu/javax/naming/giop/GiopNamingEnumeration.java, + gnu/javax/naming/giop/GiopNamingServiceFactory.java, + gnu/javax/naming/giop/GiopNamingServiceURLContext.java, + gnu/javax/naming/giop/ListBindingsEnumeration.java, + gnu/javax/naming/giop/ListEnumeration.java, + gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.java, + gnu/javax/naming/jndi/url/rmi/ContextContinuation.java, + gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.java, + gnu/javax/naming/jndi/url/rmi/ListEnumeration.java, + gnu/javax/naming/jndi/url/rmi/RmiContinuation.java, + gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.java, + gnu/javax/naming/jndi/url/rmi/rmiURLContext.java, + gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.java: New files. + +2006-08-06 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Synchronize against font object when drawing. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (nativeDrawGlyphVector): Use pango locking when drawing. + (install_font_peer): Use pango locking when creating the cairo face. + +2006-08-06 C. Scott Marshall + + Fixes PR 28608. + * java/nio/DirectByteBufferImpl.java (duplicate): only reset if + the mark has been set. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (Java_java_nio_VMDirectByteBuffer_allocate): zero out the + allocated data. + +2006-08-06 Mark Wielaard + + PR 28555 + Suggested by Matthew Burgess + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + withParams is null. + * gnu/xml/transform/ForEachNode.java (clone): Check whether + sortKeys is null. + +2006-08-06 Raif S. Naffah + Paul Jenner + + * README: Update bug, patches and cvs instructions plus new URLs of + various external projects. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (cacheMBeanInfo(MBeanInfo)): Override given MBeanInfo + with open variant. + (getCachedMBeanInfo()): Return open variant. + (getMBeanInfo()): Likewise. + (getTypeFromClass(Class)): Implemented. + (translateSignature(MBeanParameterInfo)): Likewise. + (translate(String)): Likewise. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Return attribute names with capital letters, + as in docs for java.lang.management.ManagementFactory, and + ensure descriptions are not "". + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java, + * javax/management/openmbean/OpenMBeanInfoSupport.java, + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + (toString()): Use Arrays.toString(). + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (OpenMBeanParameterInfoSupport(String, String, OpenType)): + Set open type here rather than in other constructors. + +2006-08-05 Andrew John Hughes + + * javax/management/MBeanFeatureInfo.java: + Make string variable package-private. + * javax/management/StandardMBean.java: + (getMBeanInterface()): Made final. + * javax/management/openmbean/SimpleType.java: + Made final. + +2006-08-05 Jeroen Frijters + + * java/awt/Component.java (setDropTarget): Commented out GTK specific + code. + +2006-08-05 Andrew John Hughes + + * examples/gnu/classpath/examples/swing/FillRect.java, + * gnu/CORBA/Focused_ORB.java, + * gnu/CORBA/interfaces/gnuSocketFactory.java, + * gnu/classpath/ByteArray.java, + * gnu/classpath/ObjectPool.java, + * gnu/java/awt/peer/ClasspathTextLayoutPeer.java, + * gnu/java/awt/peer/x/fonts.properties, + * gnu/java/security/util/Prime2.java, + * gnu/javax/imageio/gif/GIFStream.java, + * javax/swing/text/html/HTMLTableView.java, + * native/cni/Makefile.am, + * org/omg/CORBA/SendingContext/RunTimeOperations.java, + * org/omg/CORBA/SendingContext/Runtime.java, + * resource/gnu/regexp/MessagesBundle.properties, + * resource/gnu/regexp/MessagesBundle_fr.properties, + * resource/gnu/regexp/MessagesBundle_it.properties, + * tools/appletviewer.in, + * tools/jarsigner.in, + * tools/keytool.in, + * vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + * examples/gnu/classpath/examples/awt/aicas.png, + * examples/gnu/classpath/examples/awt/palme.gif, + * examples/gnu/classpath/examples/java2d/aicas.png, + * examples/gnu/classpath/examples/java2d/palme.gif, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png, + * java/awt/doc-files/capjoin.png, + * java/awt/geom/doc-files/Area-1.png, + * java/awt/geom/doc-files/Ellipse-1.png, + * java/awt/geom/doc-files/GeneralPath-1.png: + Added. + +2006-08-05 Andrew John Hughes + + * configdiag.jnlp: + Removed. + +2006-08-05 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + (getAttribute(String)): Implemented. + +2006-08-05 Roman Kennke + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent.dot): Renamed field into caretDot. + (AccessibleJTextComponent.textComp): Removed field + and replace with JTextComponent.this construct. + (AccessibleJTextComponent.AccessibleJTextComponent): + Fetch caret position. + (caretUpdate): Implemented. Fires property change events and + updates the caretDot field. + (changedUpdate): Implemented. Fires property change events. + (insertUpdate): Implemented. Fires property change events. + (removeUpdate): Implemented. Fires property change events. + (cut): Replaced textComp with JTextComponent.this construct. + (paste): Replaced textComp with JTextComponent.this construct. + (replaceText): Replaced textComp with JTextComponent.this construct. + (selectText): Replaced textComp with JTextComponent.this construct. + (getCaretPosition): Replaced textComp with JTextComponent.this + construct. + (getCharCount): Replaced textComp with JTextComponent.this construct. + (getSelectedText): Replaced textComp with JTextComponent.this + construct. + (getSelectionEnd): Replaced textComp with JTextComponent.this + construct. + (getSelectionStart): Replaced textComp with JTextComponent.this + construct. + (getTextRange): Replaced textComp with JTextComponent.this + construct. + (doAccessibleAction): Implemented. + (getAccessibleActionCount): Implemented. + (getAccessibleActionDescription): Implemented. + (getAccessibleStateSet): Implemented. + (getAfterIndex): Implemented. + (getBeforeIndex): Implemented. + (getAtIndex): Implemented. + (getAtIndexImpl): New helper method. + (getCharacterAttribute): Implemented. + (getCharacterBounds): Implemented. + (getIndexAtPoint): Implemented. + (insertTextAtIndex): Implemented. + (setAttributes): Implemented. + (setTextContents): Implemented. + +2006-08-05 Raif S. Naffah + + * configure.ac: Better handling of default-preferences-peer option. + +2006-08-04 Andreas Tobler + + * java/awt/BasicStroke.java (dashedStroke): Cast coords.clone to + double[]. + +2006-08-04 Andrew John Hughes + + * javax/management/openmbean/TabularData.java: + Documentation corrections. + * javax/management/openmbean/TabularDataSupport.java: + New file. + +2006-08-04 Francis Kung + + * java/awt/BasicStroke.java + (dashedStroke): Implemented. + +2006-08-04 Andrew John Hughes + + * javax/management/BadAttributeValueExpException.java, + * javax/management/BadStringOperationException.java, + * javax/management/InstanceAlreadyExistsException.java, + * javax/management/InstanceNotFoundException.java, + * javax/management/InvalidApplicationException.java, + * javax/management/MBeanRegistrationException.java, + * javax/management/MalformedObjectNameException.java, + * javax/management/RuntimeErrorException.java, + * javax/management/RuntimeMBeanException.java, + * javax/management/ServiceNotFoundException.java: + New files. + +2006-08-04 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel(JComponent,FontMetrics,String,Icon,int,int,int, + int,Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabel(FontMetrics,String,Icon,int,int,int,int, + Rectangle,Rectangle,Rectangle,int)): Delegate to new + layoutCompoundLabelImpl(). + (layoutCompoundLabelImpl): New helper method. Moved impl from + layoutCompoundLabel() to here and added handling of HTML. + * javax/swing/plaf/basic/BasicButtonUI.java + (installUI): Update HTML view if appropriate. + (uninstallUI): New method. Do the usual uninstallUI things + and uninstall HTML view. + (getMinimumSize): New method. Adjusts the minimum size + by the HTML view minimum size. + (getMaximumSize): New method. Adjusts the maximum size + by the HTML view maximum size. + (getPreferredSize): Pass the button's iconTextGap to the + BasicGraphicsUtils method. + (paint): Let HTML view paint the text, if present. + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Update the HTML view when the button's + text is changed. + +2006-08-04 Mario Torre + + Reported by Raif S. Naffah + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + g_type_init earlier in function to correctly initialize the + type system used by the backend. + +2006-08-04 Audrius Meskauskas + + PR 26972 + * javax/naming/Name.java (addAll, getPrefix, getSuffix): + Documented. + * gnu/javax/naming/ictxImpl/trans/GnuName.java: New file. + +2006-08-04 Robert Schuster + + Reported by Henrik Gulbrandsen + Fixes PR27864. + * gnu/xml/dom/DomIterator.java: + (successor): Added if-statement. + +2006-08-04 Mark Wielaard + + * scripts/Makefile.am (EXTRA_DIST): Add import-cacerts.sh. + +2006-08-04 Robert Schuster + + * javax/swing/plaf/metal/MetalMenuBarUI.java: + (update): Check size and paint smaller gradient. + * javax/swing/plaf/metal/MetalBorders.java: + (MenuBarBorder): Removed borderColor field. + (MenuBarBorder.paintBorder): Added note, fetch color from UIManager or + MetalLookAndFeel. + +2006-08-03 Roman Kennke + + PR 27637 + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (ComponentHandler.componentResized): Reimplemented to handle + arbitrary parents. + (InternalFramePropertyChangeHandler.propertyChange): (Un)install + component listener on changed ancestor. + (installListeners): Install componentListener. + (uninstallListeners): Uninstall componentListener. + +2006-08-03 Carsten Neumann + + * StrictMath.java (cbrt): Return argument if it is a NaN. + (cosh): Likewise. + (expm1): Likewise. + (sinh): Likewise. + +2006-08-03 Carsten Neumann + + * java/lang/StrictMath.java (tanh): New method. + +2006-08-03 Raif S. Naffah + + * scripts/import-cacerts.sh: Batch CA certificates import script. + +2006-08-03 Roman Kennke + + PR 27606 + * javax/swing/plaf/basic/BasicListUI.java + (paintCell): Pass row index to cell renderer. + * javax/swing/plaf/basic/MetalFileChooserUI.java + (DirectoryComboBoxRenderer.indentIcon): New field. + (DirectoryComboBoxRenderer.DirectoryComboBoxRenderer): + Initialize indentIcon. + (DirectoryComboBoxRenderer.getListCellRendererComponent): + Fall back to super and removed standard functionality. + Handle indentation. + (IndentIcon): New class. Wraps and indents another icon. + +2006-08-02 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + (MBeanConstructorInfo(String,String,MBeanParameterInfo[]): + Copy array rather than directly assigning. + * javax/management/MBeanInfo.java: + (MBeanInfo(String,String,MBeanAttributeInfo[], + MBeanConstructorInfo[], MBeanOperationInfo[], + MBeanNotificationInfo[])): Likewise. + * javax/management/MBeanOperationInfo.java: + (MBeanOperationInfo(String,String,MBeanParameterInfo[],String,int)): + Likewise. + * javax/management/openmbean/OpenMBeanAttributeInfoSupport.java, + * javax/management/openmbean/OpenMBeanConstructorInfoSupport.java: + New files. + * javax/management/openmbean/OpenMBeanInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanOperationInfo.java: + Corrected documentation. + * javax/management/openmbean/OpenMBeanOperationInfoSupport.java: + New file. + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + (MBeanParameterInfo(String,String,OpenType,Object,Object[])): + Call other constructor rather than reimplementing. + +2006-08-02 Lillian Angel + + * java/awt/dnd/DragSource.java + (isDragImageSupported): Implemented. + (getDragThreshold): Changed default value. + * java/awt/dnd/DropTarget.java + (DropTarget): Default action is changed to ACTION_COPY_OR_MOVE. + (DropTarget): Likewise. + (DropTarget): If FlavorMap passed in is null, we should use the system default. + (addDropTargetListener): Added check to determine if new DropTargetListener + is this class. If so, an IllegalArgumentException is thrown. If the + new listener is null, nothing happens. + +2006-08-02 Thomas Fitzsimmons + + * configure.ac (MOZILLA_FOUND): Fall back to + mozilla-firefox-plugin. + +2006-08-02 Sven de Marothy + + * java/awt/geom/AffineTransform.java + (hashCode): Tweak impl. + * java/awt/font/FontRenderContext.java + (hashCode): Implement. + +2006-08-02 Carsten Neumann + + * java/lang/StrictMath.java (sinh): New method. + +2006-08-02 Roman Kennke + + PR 27605 + * javax/swing/JComboBox.java + (setSelectedItem): Fire ActionEvent here. + * javax/swing/plaf/basic/BasicDirectoryModel.java + (directories): Changed to type Vector. + (files): New field. + (loadThread): New field. + (DirectoryLoadThread): New inner class. This loads the contents + of directories asynchronously. + (getDirectories): Return cached Vector. + (getFiles): Return cached Vector. + (getSize): Return plain size of contents Vector. + (propertyChange): Reread directory also for DIRECTORY_CHANGED, + FILE_FILTER_CHANGED, FILE_HIDING_CHANGED and FILE_VIEW_CHANGED. + (sort): Don't store sorted list in contents. This must be done + asynchronously from the EventThread. + (validateFileCache): Rewritten for asynchronous reading + of directory contents. + * javax/swing/plaf/basic/BasicFileChooserUI.java + (installListeners): Install model as PropertyChangeListener. + (uninstallListeners): Uninstall model as PropertyChangeListener. + (createPropertyChangeListener): Return null just like the + RI. + +2006-08-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (remove): Force event on removing item 0 when it's selected. + (handleEvent): Always call Choice.selected(). + * java/awt/Choice.java: + (remove): Simplify and correct. + +2006-08-02 Mark Wielaard + + PR 28535 + * configure.ac (gconf-peer): Check for gdk-2.0. + * native/jni/gconf-peer/Makefile.am + (AM_LDFLAGS): Use GDK_LIBS. + (AM_CFLAGS): Use GDK_CFLAGS. + +2006-08-02 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + + * java/net/URL.java (getContent(Class[])): Implement. + +2006-08-02 Roman Kennke + + PR 27624 + * javax/swing/JMenu.java + (JMenu()): Removed setting of delay. + (JMenu(String)): Removed setting of delay. + (JMenu(Action)): Removed setting of delay. + (JMenu(String,boolean)): Removed setting of delay. + (setSelectedHelper): Removed unneeded method. + (setSelected): Simply set the model state. + (setPopupMenuVisible): Recognize the popup location + determined by getPopupMenuOrigin(). + (getPopupMenuOrigin): Recognize the UI properties for + X and Y offset. + (menuSelectionChanged): Call setSelected() directly. + * javax/swing/JPopupMenu.java + (menuSelectionChanged): If invoker is a JMenu, then delegate + to that to get the position right. + * javax/swing/Popup.java + (LightweightPopup.show): Insert the popup as first component + in the layer, so that it overlaps it's caller. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (getPath): Don't include the popup. + * javax/swing/plaf/basic/BasicMenuUI.java + (SelectMenuAction): New class. This invokes the popup when + a menu is selected. + (installDefaults): Install delay of 200 ms. + (setupPostTimer): Implemented. + (MouseInputHandler.mouseClicked): Do nothing here. + (MouseInputHandler.mouseEntered): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MouseInputHandler.mousePressed): Use MenuSelectionManager + magic to handle the selection. Open the menu via a timer. + (MenuDragMouseHandler.menuMouseDragged): Probably use + timer. + (menuDragMouseEntered): Do nothing here. + +2006-08-02 Andrew John Hughes + + * javax/management/openmbean/InvalidOpenTypeException.java, + * javax/management/openmbean/KeyAlreadyExistsException.java: + New files. + +2006-08-02 Roman Kennke + + PR 27604 + * javax/swing/plaf/basic/BasicChooserUI.java + (BasicFileView.getName): Fetch the real name from the + file chooser's FileSystemView. + * javax/swing/plaf/metal/MetalChooserUI.java + (DirectoryComboBoxRenderer.getListCellRendererComponent): + Set the text fetched from the JFileChooser.getName(). + * javax/swing/FileSystemView.java + (createFileObject): When file is a filesystem root, + create a filesystem root object first. + (getSystemDisplayName): Return the filename. Added specnote + about ShellFolder class that is mentioned in the spec. + * javax/swing/UnixFileSystemView.java + (getSystemDisplayName): Implemented to return the real name + of a file, special handling files like '.' or '..'. + +2006-08-03 Mark Wielaard + + * examples/gnu/classpath/examples/icons/badge.png: Add file. + +2006-08-03 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Cleanly reinstall + components when visual property chanegs. + +2006-08-03 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Uninstall and reinstall + component when visual properties change. + +2006-08-03 Roman Kennke + + PR 28534 + * javax/swing/JTree.java + (JTree(TreeModel)): Set cell renderer to null. + * javax/swing/plaf/basic/BasicTreeUI.java + (setCellRenderer): Finish editing before setting the + cell renderer. Refresh the layout. Don't set the + currentCellRenderer field here (that's done in updateRenderer). + (updateRenderer): Handle createdRenderer field here too. + Set renderer to a default handler when the current renderer + in the JTree is null. + +2006-08-02 Raif S. Naffah + + PR Classpath/23899 + * java/security/SecureRandom.java (next): Call nextBytes as per specs. + +2006-08-02 Raif S. Naffah + + PR Classpath/28556 + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (encodePrivateKey): + Updated documentation to clarify that RFC-2459 states that the parameters + field of the AlgorithmIdentifier element MUST be NULL if present. + Amended the code to reflect the specs. + (decodePrivateKey): Handle case of NULL AlgorithmIdentifier.parameters. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + Call parameter 'defaultValue' not 'defValue'. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanParameterInfoSupport.java: + New file. + +2006-08-01 Roman Kennke + + PR 28562 + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (PropertyChangeHandler.propertyChange): Cleanly reinstall + components when visual property chanegs. + +2006-08-01 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java: + (toString()): Corrected documentation. + * javax/management/openmbean/OpenMBeanConstructorInfo.java, + * javax/management/openmbean/OpenMBeanInfo.java, + * javax/management/openmbean/OpenMBeanOperationInfo.java: + New files. + * javax/management/openmbean/OpenMBeanParameterInfo.java: + (toString()): Corrected documentation. + +2006-08-01 Tania Bento + + * java/awt/Choice.java + (remove(int)): Added documentation. + +2006-08-01 Tania Bento + + * java/awt/Choice.java + (remove(int)): An IllegalArgumentException should not be thrown + if int is invalid. Update selectedIndex and peer selection. + +2006-08-01 Tania Bento + + * java/awt/CardLayout.java + (toString): Changed format of string outputted. + (goToComponent): Changed the order of the if-clause. + +2006-07-31 Tom Tromey + + * INSTALL: Updated for ASM. + +2006-07-31 Tom Tromey + + PR libgcj/23682: + * java/nio/channels/SelectionKey.java (attach): Now synchronized. + (attachment): Likewise. + * java/nio/channels/spi/AbstractSelectionKey.java (cancel): Now + synchronized. + (isValid): Likewise. + * gnu/java/nio/SelectionKeyImpl.java (impl): Now final + (ch): Likewise. + (interestOps): Synchronize. + (readyOps): Likewise. + * gnu/java/nio/SelectorImpl.java (register): Synchronize around + interestOps call. + +2006-07-31 Roman Kennke + + * NEWS: Added note about the X peers. + * INSTALL: Added install notes about the X peers. + +2006-07-31 Carsten Neumann + + * StrictMath.java (getLowDWord): Return long instead of int. + (getHighDWord): Likewise. + (buildDouble): Take two long arguments. + (cbrt): Adapted to int -> long change. + (expm1): Likewise. + (cosh): Likewise. + +2006-07-31 Thomas Fitzsimmons + + * native/jni/qt-peer/Makefile.am (libqtpeer_la_LDFLAGS): Add + -avoid-version. + +2006-07-31 Raif S. Naffah + + * java/security/Provider.java: Updated copyright year. + Updated documentation. + Formatting. + (put): Updated documentation. + Added security manager check. + Canonicalize the key before adding its mapping. + (get): Override superclass implementation to use canonicalized keys. + (remove): Updated documentation. + Added security manager check. + Canonicalize the key before removing its mapping. + (clear): Updated documentation. + Added security manager check. + (toCanonicalKey): New method. + +2006-07-30 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Ignore self referencing aliases. + +2006-07-30 Mark Wielaard + + * javax/swing/JComponent.java (getListeners): Revert + un-genericization. + +2006-07-30 Mark Wielaard + + * resource/java/security/classpath.security: Add /dev/urandom as + default securerandom.source. + +2006-07-30 Mark Wielaard + + * java/util/GregorianCalendar.java (maximums): Months can have up to + 6 weeks. + (nonLeniencyCheck): weeks is either 5 or 6. + +2006-07-30 Andrew John Hughes + + * javax/management/openmbean/OpenMBeanAttributeInfo.java, + * javax/management/openmbean/OpenMBeanParameterInfo.java: + New files. + +2006-07-30 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Ignore self referencing aliases. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + (accessibleAction): Call select() directly. + (add, insert, remove): Reimplement. + (dispatchEventImpl): Always call super. + (processItemEvent): Does not set the index. + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (append): removed. + (nativeAdd): Name changed to add. + (selection_changed_cb): Simplify callback. + * gnu/java/awt/peer/gtk/GtkChoicePeer.java + (selected): New field. + (add): Replaced with native impl. + (handleEvent): New method. + +2006-07-30 Sven de Marothy + + * java/awt/Choice.java: + Reformat, fix copyright year. + +2006-07-29 Mark Wielaard + + * javax/swing/JComponent.java (paintingDoubleBuffered): Renamed + static field isPaintingDoubleBuffered to not have the same name + as a method. + +2006-07-29 Andrew John Hughes + + * examples/gnu/classpath/examples/management/TestBeans.java: + New file. + * javax/management/MBeanAttributeInfo.java: + (toString()): Implemented. + * javax/management/MBeanConstructorInfo.java: + (toString()): Implemented. + * javax/management/MBeanFeatureInfo.java: + (toString()): Implemented. + * javax/management/MBeanInfo.java: + (toString()): Implemented. + * javax/management/MBeanNotificationInfo.java: + (toString()): Implemented. + * javax/management/MBeanOperationInfo.java: + (toString()): Implemented. + * javax/management/MBeanParameterInfo.java: + (toString()): Implemented. + * javax/management/StandardMBean.java: + (getMBeanInfo()): Fix attribute naming. + +2006-07-29 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + Extended javax.management.StandardMBean. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * gnu/java/lang/management/CompilationMXBeanImpl.java, + * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, + * gnu/java/lang/management/MemoryMXBeanImpl.java, + * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java, + * gnu/java/lang/management/RuntimeMXBeanImpl.java, + * gnu/java/lang/management/ThreadMXBeanImpl.java: + Call the superclass with the appropriate class. + * java/lang/management/ManagementFactory.java: + (getOperatingSystemMXBean()): Catch exception from + StandardMBean. + (getRuntimeMXBean()): Likewise. + (getClassLoadingMXBean()): Likewise. + (getThreadMXBean()): Likewise. + (getMemoryMXBean()): Likewise. + (getCompilationMXBean()): Likewise. + (getMemoryPoolMXBeans()): Likewise. + (getMemoryManagerMXBeans()): Likewise. + (getGarbageCollectorMXBeans()): Likewise. + * javax/management/MBeanFeatureInfo.java: + hashCode()): Fixed to check for null values. + +2006-07-29 Matt Wringe + + * gnu/java/security/Engine.java + (getInstance): Add case insentivity to algorithm names + * java/security/Provider.java + (put): Stop using canonical key naming + (remove): Likewise + (toCanonicalKey): Method removed + (get): Method removed, no longer needs to overwrite + parent implementation + +2006-07-29 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Removed. + * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: + Removed. + +2006-07-29 Sven de Marothy + + * java/math/BigDecimal.java + Adjust copyright date. + (divide(BigDecimal): Implement. + (precision): Reimplement. + (numDigitsInBigInteger, numDigitsInLong): Removed. + (toString): Get exponent from string length, + fix negative values with exponential form. + (toEngineeringString): Same as for toString. + (setScale): Throw ArithmeticException if scale < 0. + +2006-07-27 Francis Kung + + * gnu/java/awt/java2d/CubicSegment.java: Added import. + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (getDisplacedSegments): Implemented. + (last): Renamed to cp2(). + * gnu/java/awt/java2d/LineSegment.java + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (last): Renamed to cp2(). + * gnu/java/awt/java2d/QuadSegment.java + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first): Renamed to cp1(). + (last): Renamed to cp2(). + * gnu/java/awt/java2d/Segment.java: Added comments. + (first): New field. + (Segment): Keep track of first element in list. + (add): Update first & last element variables. + (cp1): Renamed from first(). + (c2): Renamed from last(). + (first()): Renamed to cp1() to reduce ambiguity. + (last()): Renamed to cp2() to reduce ambiguity. + (reverseAll): Update first element variable.. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (draw): Remove flattening path iterator. + * java/awt/BasicStroke.java: Clarified comments. + (addSegments): Refactored some code into joinSegments and + joinInnerSegments. + (capEnd): Rename of Segment.first() and Segment.end(). + (joinInnerSegments): New method. + (joinOuterSegments): New method. + (joinSegments): Refactored some code into joinOuterSegments. + (solidStroke): Connect segments together properly. + +2006-07-28 Thomas Fitzsimmons + + * native/jawt/Makefile.am (libjawt_la_LDFLAGS): Add + -avoid-version. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_LDFLAGS): + Likewise. + * native/jni/midi-alsa/Makefile.am (libgjsmalsa_la_LDFLAGS): + Likewise. + * native/jni/midi-dssi/Makefile.am (libgjsmdssi_la_LDFLAGS): + Likewise. + +2006-07-28 Tom Tromey + + * configure.ac: Enable -Werror by default on Linux-with-gcc. + +2006-07-28 Lillian Angel + + * native/jni/gtk-peer/GtkDragSourceContextPeer.c: + Removed function declarations. + (connect_signals_for_widget): Removed implementation because + stub functions have been removed. + (drag_begin_cb): Removed function. + (drag_motion_cb): Likewise. + (drag_data_get_cb): Likewise. + (drag_data_delete_cb): Likewise. + (drag_drop_cb): Likewise. + (drag_end_cb): Likewise. + (drag_data_received_cb): Likewise. + +2006-07-28 Mark Wielaard + + * configure.ac: Set version to 0.93-pre. + +2006-07-29 Raif S. Naffah + + * tools/Makefile.am: Added source 1.4 compliance option when ECJ is used. + +2006-07-29 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java: Removed unused import. + (getCallbackHandler): Fully qualify linked class in javadoc. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (cmdOptionsParser): Removed. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (imported): Likewise. + * tools/gnu/classpath/tools/keytool/Main.java (printHelp): Likewise. + +2006-07-27 Tom Tromey + + PR classpath/28486: + * java/net/URLStreamHandler.java (equals): Properly handle default + port. Rewrote javadoc. Don't compare 'authority' parts of URLs. + +2006-07-27 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (documentCV): Made field private. + (bypass): Made field private. + (bidiRoot): New field. + (AbstractDocument): Initialize bidiRoot. + (getBidiRootElement): Return bidiRoot. + (getRootElements): Adjusted to also return the bidiRoot element. + (BranchElement.startOffset): Removed unneeded field. + (BranchElement.endOffset): Removed unneeded field. + (BranchElement.BranchElement): Removed unneeded fields. + (BranchElement.getEndOffset): Don't explicitly throw NPE here. This is + done automatically when there's no element left in the array. + (BranchElement.getStartOffset): Likewise. + (BranchElement.replace): Reordered calculations to avoid double + calculations. + (removeImpl): Silently ignore requests with length <= 0. + * javax/swing/text/GapContent.java + (createPosition): Removed explicit check for correct offset. + This class can deal with offsets outside the document. + (shiftEnd): Update all positions, even those outside the + document. + (adjustPositionsInRange): Fixed to also adjust positions outside + the document boundary. + +2006-07-18 Kyle Galloway + + * gnu/classpath/jdwp/event/ExceptionEvent.java: Added _klass field to hold + defining class. + (getParameter): Returns _klass field instead of determining + class from _instance. + (setCatchLoc): New method. + (writeData): Now assumes Location deals with empty locations instead of + using null. + * gnu/classpath/jdwp/util/Location.java (write): Check for empty + locations and write out accordingly. + (getEmptyLocation): New method. + +2006-07-27 Roman Kennke + + * javax/swing/text/SimpleAttributeSet.java + (EMPTY): Use EmptyAttributeSet for this field rather than + SimpleAttributeSet. + * javax/swing/text/EmptyAttributeSet.java: New class. Implements + an empty and immutable AttributeSet. + +2006-07-27 Roman Kennke + + * java/awt/Component.java + (reshape): Invalidate the component itself only when the + size has changed. Invalidate the parent always. Fixed + repainting. Pulled out the notification into + notifyReshape(). + (notifyReshape): New helper method. Notify interested listeners + about a reshape. + (update): Simply call paint() without clearing the background. + This is done in Container.update() if appropriate. + (repaint): Delagate the repaint to the nearest heavyweight + parent (for lightweights) and send an UPDATE event, rather than + calling ComponentPeer.repaint(). + * java/awt/Container.java + (backCleared): Removed field. + (paint): Removed handling of backCleared flag. + (update): Only paint if the container is actually + showing. Removed handling of backCleared flag. + +2006-07-27 Robert Schuster + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Fixed copyright and + authorship. + (NavigateAction): New inner class. + (NavigatePageDownAction): New inner class. + (NavigatePageUpAction): New inner class. + (RequestFocusAction): New inner class. + (RequestFocusForVisibleComponentAction): New inner class. + (FocusHandler.focusGained): Implemented. + (FocusHandler.focusLost): Implemented. + (MouseHandler.mouseReleased): Implemented. + (MouseHandler.mousePressed): Rewritten. + (PropertyChangeHandler.propertyChange): Reset currentScrollOffset and + currentScrollLocation to 0. + (TabbedPaneLayout.calculateSize): Stored tab count in local variable, + removed local variables, fixed indentation to stay under 80 column + limit. + (TabbedPaneLayout.calculateTabRects): Decrease tab area position by + one, set selectedIndex to 0 if its negative, corrected start values + for normalization, suppressed padding when only one tab run, + (TabbedPaneLayout.minimumLayoutSize): Toggled argument value. + (TabbedPaneLayout.normalizeTabRuns): Fixed indentation to stay under + 80 column limit, corrected the starting value for the bounds fixing + phase. + (TabbedPaneLayout.preferredTabAreaWidth): Fixed indentation. + (TabbedPaneLayout.rotateTabInRuns): Corrected comparison value for + selectedRun, set start index for loop to 0. + (TabbedPaneScrollLayout.preferredLayoutSize): Toggled argument value. + (TabbedPaneScrollLayout.calculateTabRects): Rewritten. + (TabbedPaneScrollLayout.layoutContainer): Added scrolling button + alignment and visibility handling. + (TabSelectionHandler.stateChanged): Do revalidation only in wrap tab + layout mode. + (ScrollingPanel.ScrollingPanelUI.paint): Rewritten. + (currentScrollOffset): New field. + (tabRuns): Rewritten documentation. + (selectedColor): New field. + (tempTextRect): New field. + (tempIconRect): New field. + (scrollTab): New method. + (updateButtons): New method. + (updateViewPosition): New method. + (createLayoutManager): Reordered method calls, predefine new fields, + register proper listeners. + (uninstallComponents): Implemented. + (installDefaults): Corrected property names, fixed indentation,. + (uninstallDefaults): Set new fields to null. + (uninstallListeners): Remove listeners from components neccessary for + scrolling tab layout. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (paint): Paint tab area background. + (paintTabArea): Fixed indentation, removed usage of local Rectangle + objects. + (getTabLabelShiftX): Rewritten. + (getTabLabelShiftY): Rewritten. + (paintFocusIndicator): Reindented. + (paintTabBorder): Rewritten. + (paintTabBackground): Corrected color usage, rewritten background + rectangle painting. + (paintContentBorderTopEdge): Rewritten. + (paintContentBorderBottomEdge): Rewritten. + (paintContentBorderLeftEdge): Rewritten. + (paintContentBorderRightEdge): Rewritten. + (tabForCoordinate): Return selected index when no tab could be + found, removed FIXME note. + (getRunForTab): Changed return value for first if-statement. + (navigateSelectedTab): Fixed last argument for both + getTabRunOffset() calls. + (selectedNextTabInRun): Added scrolling code. + (selectedPreviousTabInRun): Added scrolling code. + (selectedNextTab): Added scrolling code. + (selectedPreviousTab): Added scrolling code. + (selectAdjacentRunTab): Added scrolling code. + (getTextViewForTab): Added FIXME note. + (calculateTabHeight): Changed FIXME note. + (getTabRunOffset): Fixed indentation. + (getNextTabIndexInRun): Corrected return value. + (rotateInsets): Make TOP case the default in switch-statement. + (getActionMap): New method. + (createActionMap): New method. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: + (createLayoutManager): Rewritten. + (paintLeftTabBorder): Do not paint left line when previous tab + is selected but current tab is the first in its run, do not paint + left line when current tab is selected and is first in its run. + (paintRightTabBorder): Added missing setColor() call, fixed color + usage, do not paint right line if previous tab is selected but + current tab is the first in its run. + (paintBottomTabBorder): Do not paint left line if tab is selected + and is the first tab in the last run. + (paintFocusIndicator): New method. + (getLabelShiftX): New method. + (getLabelShiftY): New method. + +2006-07-27 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): Remove + g_assert from unused obj. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector): Mark + obj as unused and remove g_assert on it. + +2006-07-26 Roman Kennke + + * javax/swing/RepaintManager.java + (markCompletelyDirty): Add dirty region with Integer.MAX_VALUE + for the component. + (isCompletelyDirty): Consider a component completely dirty + when it has a dirty region with Integer.MAX_VALUE. + +2006-07-26 Roman Kennke + + * java/awt/KeyboardFocusManager.java + (getGlobalFocusOwner): Explicitly check for thread security. + (getGlobalPermanentFocusOwner): Explicitly check for thread security. + (getGlobalFocusedWindow): Explicitly check for thread security. + (getGlobalActiveWindow): Explicitly check for thread security. + (getGlobalCurrentFocusCycleRoot): Explicitly check for thread security. + (getGlobalObject): Added new argument for specifying if + a security check should be performed or not. + (setGlobalObject): Don't check for thread security when + calling getGlobalObject. + +2006-07-26 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + Documentation fix. + * javax/management/MBeanInfo.java: + (MBeanInfo(String,String,MBeanAttributeInfo[], + MBeanConstructorInfo[], MBeanOperationInfo[], + MBeanNotificationInfo[])): Implemented. + (equals(Object)): Likewise. + (getAttributes()): Likewise. + (getConstructors()): Likewise. + (getOperations()): Likewise. + (hashCode()): Likewise. + * javax/management/MBeanOperationInfo.java, + * javax/management/NotCompliantMBeanException.java, + * javax/management/StandardMBean.java: + New files. + +2006-07-26 Sven de Marothy + + * java/awt/geom/GeneralPath.java: Fix severe typo. + +2006-07-26 Sven de Marothy + + * include/java_lang_VMSystem.h + * vm/reference/java/lang/VMSystem.java + * native/jni/java-lang/java_lang_VMSystem.c + (nanoTime, currentTimeMillis): Switch the former to native code and + the latter to java. + +2006-07-26 Andreas Tobler + + * gnu/java/awt/peer/qt/QtCheckboxPeer.java: Removed unneeded imports. + * gnu/java/awt/peer/qt/QtComponentGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtComponentPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtContainerPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtDialogPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtFontMetrics.java: Likewise. + * gnu/java/awt/peer/qt/QtFontPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtGraphicsEnvironment.java: Likewise. + * gnu/java/awt/peer/qt/QtImage.java: Likewise. + * gnu/java/awt/peer/qt/QtImageConsumer.java: Likewise. + * gnu/java/awt/peer/qt/QtImageDirectGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtImageGraphics.java: Likewise. + * gnu/java/awt/peer/qt/QtMenuBarPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtMenuItemPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtPopupMenuPeer.java: Likewise. + * gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java: Likewise. + * gnu/java/awt/peer/qt/QtScrollPanePeer.java: Likewise. + * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. + * gnu/java/awt/peer/qt/QtVolatileImage.java: Likewise. + +2006-07-26 Roman Kennke + + * java/awt/KeyboardFocusManager.java + (getFocusOwner): Don't check permanent owner. + (getGlobalFocusOwner): Don't check permanent owner. + +2006-07-26 Carsten Neumann + + * StrictMath.java (cosh): New method. + (expm1): New method. + (EXPM1_Q1): New field. + (EXPM1_Q2): Likewise. + (EXPM1_Q3): Likewise. + (EXPM1_Q4): Likewise. + (EXPM1_Q6): Likewise. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (mousePressed): Request focus if appropriate. + * javax/swing/text/DefaultCaret.java + (mousePressed): Also handle the focus of the text component + as specified. Don't consume events. + +2006-07-26 Roman Kennke + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (focusRequest): Removed field. + (postFocusEvent(int,boolean,Component)): Removed. + (postFocusEvent(int,boolean)): Reverted to post event using + the heavyweight component. + (requestFocus): Post focus event using the heavyweight + component. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (requestFocus): Post focus event using the heavyweight + component. + * java/awt/AWTEvent.java + (isFocusManagerEvent): New field, indicating if this is + an event that is redispatched by the KeyboardFocusManager. + * java/awt/Component.java + (requestFocusImpl): Register component for + heavyweight->lightweight mapping. + (dispatchEventImpl): Retarget focus events before dispatching + to the KeyboardFocusManager. Use new AWTEvent flag instead + of locking hack. Dispatch all events through the + KeyboardFocusManager. Don't request focus on lightweight + components. + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Pulled out handling of FOCUS_GAINED and + FOCUS_LOST. + (handleFocusGained): Fixed handling of temporary vs permanent + focus changes. Added some checks. + (handleFocusLost): Fixed handling of temporary vs permanent + focus changes. Added some checks. + * java/awt/EventDispatchThread.java + (run): Don't dispatch to KeyboardFocusManager here. This + is done in Component.dispatchEventImpl(). + * java/awt/KeyboardFocusManager.java + (redispatchEvent): Use new AWTEvent flag instead of locking hack. + (focusRequests): New field. + (retargetFocusEvent): New method. Retargets focus events + that come from heavyweights to the correct lightweight component. + (addLightweightFocusRequest): New method. Stores a mapping + for later retargetting of heavyweight focus events. + * java/awt/Window.java + (addFocusListener): Removed bogus method. If at all, this + should be performed in the KeyboardFocusManager. + (Window): Don't install a focus listener on the Window. + +2006-07-26 Robert Schuster + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (drawLine): Apply shift to line coordinates. + +2006-07-26 Robert Schuster + + * java/awt/image/ColorConvertOp.java: Fixed copyright header. + (copyimage): Do not call setRenderingHints() when the respective map + does not exist. + (filter): Removed code to clone the ColorModel instance. + * java/awt/image/ColorModel.java: + (cloneColorModel): Removed. + +2006-07-26 Robert Schuster + + * javax/swing/JTabbedPane.java: + (setSelectedIndex): Removed updating of component visibility status, + added note. + (remove(Component)): Use indexOfComponent() to find whether we have + to use super.remove(int) or removeTabAt(). + +2006-07-26 Roman Kennke + + * javax/swing/JOptionPane.java + (createDialog): Add property change handler for closing + the dialog when the value property changes. + (ValuePropertyHandler): New inner helper class. + * javax/swing/plaf/basic/BasicOptionPaneUI.java + (OptionPaneCloseAction): New class. + (messageForeground): Removed field. + (messageBorder): Removed field. + (buttonBorder): Removed field. + (addIcon): Configure the new label. + (addMessageComponents): Configure newly created labels. + (burstStringInto): Likewise. + (createButtonArea): Install border here. + (createMessageArea): Install border and foreground here. + (createSeparator): Added comment and removed + NotImplementedException. + (installComponents): Don't install the UI defaults for the + message and button area here. This is moved to the + corresponding create* methods. Adjusted comment about + separator. + (installDefaults): Removed initialization of removed fields. + (installKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (uninstallDefaults): Removed de-initialization of removed fields. + (uninstallKeyboardActions): Implemented. + (configureLabel): New helper method. + * javax/swing/plaf/basic/BasicTableUI.java + (getActionMap): Fixed the UI property names. + * javax/swing/plaf/basic/BasicToolBarUI.java + (getActionMap): Fixed the UI property names. + +2006-07-26 David Gilbert + + * java/awt/image/BandedSampleModel.java + (getDataElements): Check for negative x or y, + (getPixels): Likewise, + (getSamples): Likewise, + (setSamples): Likewise. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicToolBarUI.java + (ToolBarAction): New inner class for handling keyboard + actions. + (installKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (installListeners): Install focus listener on toolbar's + children, rather than the toolbar itself. + (navigateFocusedComp): Implemented. + (uninstallKeyboardActions): Implemented. + (uninstallListeners): Uninstall focus listener from + toolbar's children, rather than the toolbar itself. + (ToolBarContListener.componentAdded): Install focus + listener on added child. + (ToolBarContListener.componentRemoved): Uninstall focus + listener from removed child. + (ToolBarFocusListener.ToolBarFocusListener): Nothing to do here. + (ToolBarFocusListener.focusGained): Implemented. + (ToolBarFocusListener.focusLost): Implemented. + +2006-07-26 Roman Kennke + + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Notify old focus owner when it has lost + focus. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (FocusHandler.focusGained): Implemented to refresh the + lead cell. + (FocusHandler.focusLost): Implemented to refresh the + lead cell. + (FocusHandler.repaintLeadCell): New helper method. + (MouseInputHandler.mouseEntered): Do nothing here. + (MouseInputHandler.mouseExited): Do nothing here. + (MouseInputHandler.mouseMoved): Do nothing here. + (installKeyboardActions): Rewritten to use a shared InputMap + and ActionMap and correctly install the maps via SwingUtilities + methods. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (ActionListenerProxy): Removed unneeded class. + (TableAction): Made class static. + (TableAction.actionPerformed): Determine table by fetching + the event source. Pass the table to helper methods. + Use __command__ hack to determine the action command. + (TableAction.getFirstVisibleColumnIndex): Get table as argument. + (TableAction.getLastVisibleColumnIndex): Get table as argument. + (TableAction.getFirstVisibleRowIndex): Get table as argument. + (TableAction.getLastVisibleRowIndex): Get table as argument. + (TableAction.advanceMultipleSelection): Get table as argument. + (uninstallDefaults): Do nothing here. + (uninstallKeyboardActions): Uninstall the keyboard actions. + +2006-07-26 Roman Kennke + + * javax/swing/JComponent.java + (processKeyBinding): Store the action command as property + in the Action instance that we call. This allows for + improvement on the side of the Action. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Use fillRect() instead of drawLine() to + fill single pixels. + +2006-07-26 Roman Kennke + + * javax/swing/text/GapContent.java + (getChars): Check for negative length and throw + BadLocationException. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuBarUI.java + (FocusAction): Made class static. + +2006-07-26 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Add keyboard bindings for + PopupMenu. + +2006-07-26 Roman Kennke + + * javax/swing/UIManager.java + (getLookAndFeelDefaults): Return the look and feel defaults. + (setLookAndFeel): Improved exception messsage. + +2006-07-26 David Gilbert + + * javax/swing/text/StringContent.java + (StringContent): Changed initialLength to 10. + +2006-07-26 David Gilbert + + * java/util/Vector.java: Fixed API doc typo. + +2006-07-26 David Gilbert + + * java/awt/image/BandedSampleModel.java + (createCompatibleSampleModel): Fixed typo in loop increment, set + correct scanlineStride, and updated API docs. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (NavigateAction): New inner class. This is responsible for + keyboard navigation through menus. + (KeyboardHelper): New inner class. This manages the + keyboard mappings and focus when a popup opens or closes. + (keyboardHelper): New static field. + (numPopups): New static field. + (installUI): Create KeyboardHelper for first popup. + Call installKeyboardActions(). + (installKeyboardActions): Removed NotImplementedException. + This method is a no-op. + (installKeyboardActionsImpl): New method. Installs keyboard + mapping when a popup is opened. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + (uninstallUI): Uninstall KeyboardHelper when last Popup is + uninstalled. Call uninstallKeyboardActions(). + (uninstallKeyboardActions): Removed NotImplementedException. + This method is a no-op. + (uninstallKeyboardActionsImpl): New method. Uninstalls keyboard + mapping when a popup is closed. + +2006-07-25 Roman Kennke + + * java/awt/Component.java + (requestFocus()): Reimplemented to use requestFocusImpl(). + (requestFocus(boolean)): Reimplemented to use requestFocusImpl(). + (requestFocusInWindow()): Reimplemented to use requestFocusImpl(). + (requestFocusInWindow(boolean)): Reimplemented to use + requestFocusImpl(). + (requestFocusImpl): Reimplemented focus request to use + new peer method. Also added some obvious additional checks + for rejecting focus requests early. + * java/awt/ComponentPeer.java + (requestFocus(Component,boolean,boolean,long)): Documented + this method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (requestFocus): New field. + (gtkWidgetHasFocus): New native method. + (gtkWidgetCanFocus): New native method. + (requestFocus): Replaced with assert false to prevent + usage of obsolete method. + (postFocusEvent(int,boolean,Component)): New overloaded method + for posting the focus event to a specific target. + (postFocusEvent(int,boolean)): Post event to requestFocus + component. + (requestFocus(Component,boolean,boolean,long)): Implemented. + (getWindowFor): New helper method. + (isLightweightDescendant): New helper method. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (gtkWindowHasFocus): New native method. + (requestFocus(Component,boolean,boolean,long)): New method. + Overrides GtkComponentPeer method to specially handly the + case when a Window receives a focus request for a lightweight + child. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetHasFocus): New native method. + (gtkWidgetCanFocus): New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (gtkWindowHasFocus): New native method. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: + Regenerated. + +2006-07-25 Francis Kung + + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Add check for valid component. + +2006-07-25 Andrew John Hughes + + * javax/management/MBeanConstructorInfo.java: + New file. + * javax/management/MBeanNotificationInfo.java: + Documentation fix. + * javax/management/MBeanParameterInfo.java: + New file. + +2006-07-25 Robert Schuster + + * java/awt/peer/gtk/CairoGraphics.java: + (drawLine): Added special case for 1 pixel lines. + +2006-07-25 Robert Schuster + + Fixes PR27844. + * java/awt/peer/gtk/CairoGraphics.java: + (drawLine): Removed calls to shifted(). + +2006-07-25 Robert Schuster + + * javax/swing/JTabbedPane.java: + (remove(Component)): Rewritten. + (setSelectedIndex): Implemented updating of component visibility state. + +2006-07-25 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (init): Default to the actual depth in the worst case. + + * java/awt/Font.java + (createFont(int, File)): New method. + +2006-07-25 Ito Kazumitsu + + Fixes bug #28413 + * gnu/java/util/regex/RETokenEnd.java(check_java_line_terminators): + New field. + (RETokenEnd): New constructer to set check_java_line_terminators. + (matchThis): Checck line terminators if check_java_line_terminators. + * gnu/java/util/regex/RETokenStart.java: Likewise. + * gnu/regexp/RE.java(initialize): Use the new constructors for + RETokenEnd and RETokenStart if REG_MULTILINE is set. + * java/util/regex/Pattern.java(Patteren): Changed so that + gnu/regexp/RE.java may use the new the new constructors. + +2006-07-25 Roman Kennke + + * java/awt/Container.java + (focusTraversalPolicyProvider): New field. + (isFocusTraversalPolicyProvider): New method. + (setFocusTraversalPolicyProvider): New method. + * java/awt/ContainerOrderFocusTraversalPolicy.java + (getFirstComponent): Use accept() instead of lengthy checks. + Don't fetch getComponents() to avoid copying of array. + Traverse down the hierarchy to find the first focused component. + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Let the initial component request focus. + +2006-07-25 David Gilbert + + * javax/swing/text/Segment.java + (last): Update current index before returning DONE for zero count. + +2006-07-24 Mark Wielaard + + * javax/swing/tree/TreePath.java (equals): Swap path equals call. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuBarUI.java + (FocusAction): New inner class. Used to grab focus. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (getActionMap): New helper method. + (createDefaultActions): New helper method. + +2006-07-25 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Install instantiable basic look and feel. + (InstantiableBasicLookAndFeel): New inner class. + +2006-07-25 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (GlassPaneDispatcher.dragTarget): New field. + (GlassPaneDispatcher.isDragging): New field. + (GlassPaneDispatcher.pressedComponent): Removed field. + (GlassPaneDispatcher.tempComponent): Removed field. + (GlassPaneDispatcher.pressCount): Removed field. + (GlassPaneDispatcher.mousePressed): Call + borderListener.mousePressed() to activate the frame. + (acquireComponentForMouseEvent): Removed method. + (handleEvent): Rewritten. + (redispatch): New method. + (InternalFramePropertyChangeListener.propertyChange): + Make glasspane invisible when frame is selected, and visible + if it gets deselected. + +2006-07-25 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Dispatch event to real target if + the dragTarget has become invisible in the meantime. + +2006-07-25 David Gilbert + + * javax/swing/text/TabSet.java + (equals): New method override for 1.5, + (hashCode): Likewise, + (toString): Added spaces to match reference implementation. + +2006-07-24 Andrew John Hughes + + * javax/management/IntrospectionException.java, + * javax/management/MBeanAttributeInfo.java: + New files. + * javax/management/MBeanNotificationInfo.java: + Documentation cleanups. + +2006-07-24 David Gilbert + + * javax/swing/text/TabSet.java + (TabSet): Check for null argument, + (getTab): Throw IllegalArgumentException for index out of bounds, + (getTabIndexAfter): Changed test to '<=', + and updated API docs all over, + * javax/swing/text/TabStop.java: Updated API docs. + +2006-07-24 David Gilbert + + * javax/swing/text/TabStop.java + (toString): Don't use 'left ' prefix, and added space between tab + location and '(w/leader)' suffix. + +2006-07-24 Francis Kung + + * javax/swing/JComboBox.java + (DefaultKeySelectionManager): Implemented. + (createDefaultKeySelectionManager): Implemented. + (getKeySelectionManager): Implemented. + (processKeyEvent): Removed duplicate code. + * javax/swing/JPopupMenu.java + (selectionModel): Changed visibility. + * javax/swing/plaf/basic/BasicComboBoxUI.java + (KeyHandler.keyPressed): Added navigation keys. + (configureEditor): Add key listener. + (installListeners): Install focus listener to combo box. + (isNavigationKey): Added enter, escape, and tab. + (selectPreviousPossibleValue): Added out of bounds check. + (unconfigureEditor): Remove key listener. + * javax/swing/plaf/metal/MetalComboBoxButton.java + (paintComponent): Highlight combo box when in focus. + +2006-07-24 Roman Kennke + + * javax/swing/SwingUtilities.java + (isLeftMouseButton): Fixed condition. + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Dispatch MOUSE_ENTERED even when mouse + is dragged. + +2006-07-24 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (setPaint): Fixed scaleX and scaleY. + +2006-07-24 Roman Kennke + + * javax/swing/JTable.java + (handleInsert): Repaint the whole table for variable row + height tables and an optimized region otherwise. + (handleDelete): Likewise. + (handleUpdate): Likewise. + +2006-07-24 Mario Torre + + * gnu/java/awt/peer/gtk/GtkToolkit.java (createDragGestureRecognizer): + now explicity registerListeners on GtkMouseDragGestureRecognizer + instance. + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java + (unregisterListeners): new method, overrided from base class + to rise visibility (from protected to public). + (registerListeners): Likewise. + (GtkMouseDragGestureRecognizer): fixed potential threading issue: + removed call to registerListeners from the constructor. + +2006-07-23 Andrew John Hughes + + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * java/lang/management/MemoryPoolMXBean.java: + (getType()): Changed return type to MemoryType. + * java/lang/management/MemoryType.java: + New file. + +2006-07-23 Mark Wielaard + + * configure.ac: Check for moc and moc-qt4. + +2006-07-23 David Gilbert + + * java/awt/image/Kernel.java: API doc updates. + +2006-07-22 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java: Optimize pixel swap code a + bit more. + +2006-07-22 Mark Wielaard + + * java/lang/Iterable.java: Import all of java.util. + * lib/mkcollections.pl.in (javautilclasses): Add Iterable. + * lib/Makefile.am: Only search for .java files in COLLECTIONS_PREFIX. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Document getType(String). + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java, + * java/lang/management/MemoryPoolMXBean.java: + (getType()): Implemented. + * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java + (getType(String)): Implemented. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Move end of itemization block. + +2006-07-22 Robert Schuster + + * javax/swing/plaf/metal/MetalLookAndFeel.java: + (initComponentDefaults): Added new properties, added comments. + +2006-07-22 Andrew John Hughes + + * doc/vmintegration.texinfo: + Mention callback methods. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (fireNotification(String,String,long,long,long,long,long)): + Made package-private. + (fireThresholdExceededNotification(String,long,long,long, + long,long)): Likewise. + (fireCollectionThresholdExceededNotification(String,long, + long,long,long,long)): Likewise. + * java/lang/management/MemoryMXBean.java: + Document notifications. + +2006-07-22 Andrew John Hughes + + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (fireNotification(String,String,long,long,long,long,long)): + Implemented. + (fireThresholdExceededNotification(String,long,long,long, + long,long)): Likewise. + (fireCollectionThresholdExceededNotification(String,long, + long,long,long,long)): Likewise. + * java/lang/management/MemoryNotificationInfo.java: + Use composite type from MemoryMXBeanImpl. + * javax/management/openmbean/CompositeData.java: + Correct documentation. + * javax/management/openmbean/CompositeDataSupport.java, + * javax/management/openmbean/InvalidKeyException.java: + New files. + +2006-07-22 Raif S. Naffah + + * gnu/java/security/util/IntegerUtil.java: New file. + +2006-07-22 Raif S. Naffah + + PR Classpath/28100 + * gnu/javax/crypto/cipher/TripleDES.java: Updated documentation. + (KEY_SIZE): Likewise. + (adjustParity(int,byte[],int): New method. + (adjustParity(byte[],int): Call above method with 3 as 1st argument. + (isParityAdjusted(int,byte[],int)): New method. + (isParityAdjusted): Call above method with 3 as 1st argument. + (keySizes): Add 8 and 16 as other valid key sizes. + (makeKey): Amended to cater for 1, 2 and 3 independent DES keys. + +2006-07-22 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java (CairoSurface): Rearrange + code for the pixel swap routine to be more efficient. + +2006-07-21 Carsten Neumann + + * java/util/CopyOnWriteArrayList.java (indexOf(E, int)): New method. + (lastIndexOf(E, int)): Likewise. + (add(E)): Increase the size of newData array by one. + (add(int, E)): Likewise. + +2006-07-20 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: + Removed unused fields. + (GtkMouseDragGestureRecognizer): Removed initializations. + +2006-07-20 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java + (GtkMouseDragGestureRecognizer): New constructor. + (GtkMouseDragGestureRecognizer): New constructor. + (GtkMouseDragGestureRecognizer): New constructor. + (mouseClicked): Removed FIXME. + (mousePressed): Implemented. + (mouseReleased): Implemented. + (mouseEntered): Implemented. + (mouseDragged): Implemented to check mouse point and trigger origin. + (mouseMoved): Removed FIXME. + (getDropActionFromEvent): New helper function used to convert mouse event + modifiers to a drop action. + * java/awt/dnd/DragSource.java + (getDragThreshold): Changed to return some arbitrary value for testing + purposes. + +2006-07-20 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Also consider components that have their eventMask + set, for compatibility with stonage AWT. Optimized check + for MouseListener. + (handleMouseEvent): Likewise. + +2006-07-20 Roman Kennke + + * javax/swing/JTable.java + (tableChanged): Split out handling of the event into multiple + subroutines. + (handleCompleteChange): New method. Clear the selection and + check the lead/anchor indices. + (handleInsert): New method. Check the lead/anchor indices. + Optimized repainting. + (handleDelete): New method. Check the lead/anchor indices. + Optimized repainting. + (handleUpdate): New method. Optimized repainting. + (checkSelection): New helper method. + (setSelectionModel): Update lead/anchor indices. + +2006-07-20 Lillian Angel + + PR 28440 + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (dispose): Reset all fields. + +2006-07-20 Roman Kennke + + * gnu/java/awt/peer/x/XToolkit.java + (createImage(InputStream)): Only copy image to Pixmap if + it's actually opaque. Transparent images are left as + BufferedImage and composited later onto the screen. + * gnu/java/awt/peer/x/XGraphics.java + (XGraphics): Fetch some parameters for image rendering. + (drawImage): Added special handling of transparent images. + (getRGB): New helper method. + (setRGB): New helper method. + +2006-07-20 Roman Kennke + + * gnu/javax/imageio/IIOInputStream.java: New class. Wraps + ImageInputStreams as normal InputStreams. + * gnu/javax/imageio/gif/GIFStream.java: + Moved to gnu/javax/imageio/IIOInputStream.java. + * gnu/javax/imageio/gif/GIFImageReader.java + (readImage): Use IIOInputStream. + * gnu/javax/imageio/gif/GIFImageReaderSpi.java + (canDecodeInput): Use IIOInputStream. + * gnu/javax/imageio/png/PNGException.java: Make subclass + of IOException. + * gnu/javax/imageio/png/PNGImageReader.java: New class. + Implements the ImageIO ImageReader for PNG. + * gnu/javax/imageio/png/PNGImageReaderSpi.java: New class. + Implements the ImageIO ImageReaderSpi for PNG. + * javax/imageio/spi/IIORegistry.java: + (IIORegistry): Add PNGImageReaderSpi. + +2006-07-20 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (getPixel): Added argument check, + (getSample): Modified exception message. + +2006-07-20 David Gilbert + + PR Classpath/28422 + * java/awt/image/ConvolveOp.java + (filter(Raster, WritableRaster)): Reimplemented, + (fillEdge): New private method. + +2006-07-19 Keith Seitz + + * include/jvmti.h (JVMTI_VERSION_1_0): Define. + (JVMTI_VERSION): Define. + +2006-07-19 Roman Kennke + + * resource/gnu/regexp/MessagesBundle.properties, + * resource/gnu/regexp/MessagesBundle_fr.properties, + * resource/gnu/regexp/MessagesBundle_it.properties: + Moved to resource/gnu/java/util/regex. + * resource/gnu/java/util/regex/MessagesBundle.properties, + * resource/gnu/java/util/regex/MessagesBundle_fr.properties, + * resource/gnu/java/util/regex/MessagesBundle_it.properties: + New files. + * gnu/java/util/regex/RE.java + Use new resource bundle location. + +2006-07-19 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Refactored. The paintChildrenOptimized method + has been moved back in here. Added locking of the tree and + only check for completely obscured child components + when not optimized drawing enabled. Use Graphics.create() to + protect from irreversible changes. + (isCompletelyObscured): New helper method. + (paintComponent): Also use Graphics.create() for Graphics2D, + to protect from irreverible changes. + (clipAndTranslateGraphics): Refactored to use more efficient + iterative (vs recursive) approach. + * javax/swing/RepaintManager.java + (getOffscreenBuffer): Create image from root component. + +2006-07-19 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (translate): Don't set the clip on the X server. + (clipRect): Use setXClip() to set the clip on the X server. + (hitClip): More efficient and correct implementation. + (setClip): Use setXClip() to set the clip on the X server. + (setClip(Shape)): Use setXClip() to set the clip on the X server. + (copyArea): Translate and clip the source rectangle correctly. + (dispose): Only flush when object is not yet disposed. + (clone): Use setXClip() to set the clip on the X server. + +2006-07-19 Sven de Marothy + + * gnu/javax/imageio/png/PNGChunk.java, + * gnu/javax/imageio/png/PNGData.java, + * gnu/javax/imageio/png/PNGDecoder.java, + * gnu/javax/imageio/png/PNGEncoder.java, + * gnu/javax/imageio/png/PNGException.java, + * gnu/javax/imageio/png/PNGFile.java, + * gnu/javax/imageio/png/PNGFilter.java, + * gnu/javax/imageio/png/PNGGamma.java, + * gnu/javax/imageio/png/PNGHeader.java, + * gnu/javax/imageio/png/PNGICCProfile.java, + * gnu/javax/imageio/png/PNGPalette.java, + * gnu/javax/imageio/png/PNGPhys.java, + * gnu/javax/imageio/png/PNGTime.java: + New files. + +2006-07-19 Sven de Marothy + + * java/net/Inet6Address.java: + (getScopedId, getScopedInterface): New methods. + +2006-07-19 Lillian Angel + + * examples/gnu/classpath/examples/awt/Demo.java + (DragDropWindow): Fixed typo in Label text. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java + (GtkDragSourceContextPeer): Removed unneeded initialization for field. + (startDrag): Initialized context field. + (transferablesFlavorsChanged): Removed FIXME. Nothing is done in this + function. + (dragEnter): New function. + (dragExit): Likewise. + (dragDropEnd): Likewise. + (dragMouseMoved): Likewise. + (dragOver): Likewise. + (dragActionChanged): Likewise. + +2006-07-19 Raif S. Naffah + + PR Classpath/26302 + * resource/java/security/classpath.security: Updated copyright year. + (auth.login.defaultCallbackHandler): New property; set to our default + callback handler. This is needed by the LoginContext when no callback + handler was specified. + * javax/security/auth/login/LoginContext.java: Updated copyright year. + (LoginContext(4)): Assign passed parameters to local fields before invoking + lookup method. + +2006-07-19 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Fixed ordering of parameters. + +2006-07-18 Andrew John Hughes + + * gnu/java/lang/management/MemoryMXBeanImpl.java: + (MemoryMXBeanImpl()): Implemented. + (ListenerData): New private class. + (addNotificationListener(NotificationListener, + NotificationFilter, Object)): Implemented. + (getNotificationInfo()): Likewise. + (removeNotificationListener(NotificationListener)): + Likewise. + (removeNotificationListener(NotificationListener, + NotificationFilter, Object)): Likewise. + +2006-07-18 Roman Kennke + + * gnu/java/awt/peer/x/XFontPeer.java + (encodeFont): Be more flexible with font sizes. + (validSize): New helper method. + * gnu/java/awt/peer/x/XGraphics.java + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): + Implemented. + * gnu/java/awt/peer/x/XImage.java + (properties): New field. + (getProperty): Implemented. + * resource/gnu/java/awt/peer/x/fonts.properties: + Added copyright header. Fixed font size field. + +2006-07-18 David Gilbert + + * java/awt/image/BandedSampleModel.java + (createDataBuffer): New method override, + * java/awt/image/ByteLookupTable.java + (ByteLookupTable(int, byte[][])): Create new array to hold references, + (ByteLookuptable(int, byte[])): Check for null array, + * java/awt/image/ComponentSampleModel.java + (createDataBuffer): Removed unnecessary braces, + (getSample): Check (x, y) is within bounds, + * java/awt/image/ShortLookupTable.java + (ShortLookupTable(int, short[][])): Create new array to hold references, + (ShortLookupTable(int, short[])): Check for null array, + (getTable): Added API docs, + (lookupPixel): Source reformatting. + +2006-07-18 Tania Bento + + * java/awt/GridLayout.java + (setHgap): Illegal Argument Exception should not be thrown if + hgap < 0. + (setVgap): Illegal Argument Exception should not be thrown if + vgap < 0. + (toString): Opening square braket ([) should appear before hgap + value, not the name of the class. + +2006-07-18 Roman Kennke + + * lib/copy-vmresources.sh.in: Reverted. + * gnu/java/awt/peer/x/fonts.properties: Moved to resource/ + * resource/gnu/java/awt/peer/x/fonts.properties: New file. + +2006-07-18 Roman Kennke + + * lib/copy-vmresources.sh.in: Include properties from X peers. + +2006-07-18 Raif S. Naffah + + PR Classpath/27205 + * tools/gnu/classpath/tools/jarsigner/SFHelper.java (writeDSA): Check + certificate validity. + (getIssuerName): New method. + (getSubjectName): Likewise. + (getNotAfterDate): Likewise. + (getNotBeforeDate): Likewise. + * resource/gnu/classpath/tools/jarsigner/messages.properties: Added + messages for newly added messages in SFHelper. + +2006-07-18 Roman Kennke + + * gnu/java/awt/peer/x/XDialogPeer.java: New class. + * gnu/java/awt/peer/x/XEventPump.java + (handleEvent): Cast to XWindowPeer rather than XFramePeer. + * gnu/java/awt/peer/x/XFramePeer.java + Made a subclass of XWindowPeer, rather than SwingFramePeer. + * gnu/java/awt/peer/x/XGraphics.java + Made subclass of Graphics rather than Graphics2D. Removed + all Graphics2D specific method stubs. + (setColor): Map colors using the X color map that is + stored in XToolkit. + * gnu/java/awt/peer/x/XToolkit.java + (colorMap): New field. + (getLocalGraphicsEnvironment): Return new XGraphicsEnvironment + instance. + (createDialog): Implemented. + (createImage(ImageProducer)): Implemented. + (createImage(InputStream)): Use createImage(ImageProducer) + to convert the BufferedImage to an XImage. + * gnu/java/awt/peer/x/XWindowPeer.java + (XWindowPeer): Removed debug output. + +2006-07-18 David Gilbert + + * java/awt/image/BufferedImageOp.java: API docs added, + * java/awt/image/RasterOp.java: Likewise. + +2006-07-18 David Gilbert + + * java/awt/Graphics2D.java: API docs updated. + +2006-07-18 David Gilbert + + * java/awt/image/WritableRaster.java: Added API docs and reformatted + source code. + +2006-07-18 Sven de Marothy + + * java/net/Inet6Address.java: + Add 1.5 serialized fields. + (getByAddress): New methods. + (readObject, writeObject): New methods. + (equals): Reimplement. + +2006-07-18 David Gilbert + + * java/awt/image/Raster.java: Added API docs and reformatted source + code. + +2006-07-18 Andreas Tobler + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java: Remove unneeded + imports. + * gnu/java/awt/peer/gtk/CairoSurface.java: Likewise. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java: Likewise. + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java: Likewise. + * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. + * gnu/java/awt/peer/gtk/GtkButtonPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java: Likewise. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkImage.java: Likewise. + * gnu/java/awt/peer/gtk/GtkImageConsumer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java: Likewise. + +2006-07-17 Andreas Tobler + + * javax/swing/text/html/HTMLEditorKit.java: Rearrange import statements + to make it compile again under jikes. Note added. + +2006-07-17 Lillian Angel + + * examples/gnu/classpath/examples/awt/Demo.java + (Demo): Added new window for DnD demo. + (DragDropWindow): New class. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: + Added new fields and declarations for native functions. + (GtkDragSourceContextPeer): Implemented. + (getComponentPeer): New function. + (startDrag): Partially implemented. + (getCursor): Implemented. + (setCursor): Implemented. + * include/GtkDragSourceContextPeer.h: New file. + * include/Makefile.am: Added new header file. + * java/awt/Component.java + (addNotify): Added call to the dropTarget's addNotify. + * java/awt/dnd/DragSource.java + (startDrag): Fixed code to use shared instances of peer and + context. + (getDragThreshold): Added stub. + * java/awt/dnd/DropTarget.java + (DropTarget): Implemented fully. + (addNotify): Added code to get the peer of the parent that is + not lightweight. + * java/awt/dnd/DropTargetDragEvent.java + (getTransferable): Added stub. + * native/jni/gtk-peer/GtkDragSourceContextPeer.c: New file. + * native/jni/gtk-peer/Makefile.am: Added new c file. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: + Changed to extend GtkGenericPeer. + (GtkDropTargetContextPeer): New constructor. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: + Changed to extend GtkGenericPeer. + (GtkDropTargetContextPeer): New constructor. + +2006-07-17 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (createSubsetSampleModel): Added argument check and API docs. + +2006-07-17 Roman Kennke + + * gnu/java/awt/peer/x/XGraphics.java + (copyArea): Implemented. + +2006-07-17 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (getSampleSize): Return copy of array, + (getOffset): Added API docs, + (getScanlineStride): Likewise, + (hashCode): Implemented. + +2006-07-17 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (getOffset): Updated API docs and source reformatting, + (getBitOffset): Source reformatting only, + (getDataElements): Likewise, + (getPixel): Likewise, + (getPixels): Removed method override, + (setDataElements): Reimplemented. + +2006-07-17 Gary Benson + + * resource/META-INF/services/.cvsignore: New file. + * lib/.cvsignore: Updated. + +2006-07-17 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Only do the text layout caching as long + as the noGraphics2D property isn't set. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (PropertyChangeHandler.propertyChange): Only do the text layout + caching as long as the noGraphics2D property isn't set. + +2006-07-17 Roman Kennke + + * gnu/java/awt/peer/x/XGraphicsEnvironment.java + (XGraphicsEnvironment): Make constructor public so that it + can be called via Class.forName().newInstance(). + * gnu/java/awt/peer/x/XImage.java + (XImage): Fetch GraphicsEnvironment via + GraphicsEnvironment.getLocalGraphicsEnvironment() rather + than the XToolkit method, to avoid double instantiation + of the XGraphicsEnvironment. + * gnu/java/awt/peer/x/XToolkit.java + (env): Removed field. + (getLocalGraphicsEnvironment): Removed impl. This method + should not be called since we set the graphicsenv property + in the constructor. + +2006-07-16 Andrew John Hughes + + * java/util/UUID.java: + (compareTo(Object)): Call compareTo(UUID). + (compareTo(UUID)): Implemented. + +2006-07-16 Tom Tromey + + * java/lang/StrictMath.java (cbrt): Added '@since'. + +2006-07-16 Carsten Neumann + + * java/lang/StrictMath.java (cbrt): New method. + (getLowDWord): New helper method. + (getHighDWord): Likewise. + (buildDouble): Likewise. + (CBRT_B1): New field. + (CBRT_B2): Likewise. + (CBRT_C): Likewise. + (CBRT_D): Likewise. + (CBRT_E): Likewise. + (CBRT_F): Likewise. + (CBRT_G): Likewise. + +2006-07-16 Andrew John Hughes + + * javax/management/MBeanInfo.java: + (getNotifications()): Implemented. + * javax/management/NotificationBroadcaster.java: + (removeNotificationListener(NotificationListener)): + Renamed from removeListener. + * javax/management/NotificationEmitter.java: + (removeNotificationListener(NotificationListener, + NotificationFilter, Object)): Likewise. + * javax/management/NotificationFilter.java: + Implement Serializable. + * javax/management/NotificationListener.java: + Implement java.util.EventListener. + * javax/rmi/ssl/SslRMIClientSocketFactory.java: + Implement Serializable. + +2006-07-16 Andrew John Hughes + + * java/lang/management/MemoryNotificationInfo.java: + New file. + +2006-07-16 Audrius Meskauskas + + PR 28392 + * gnu/javax/swing/text/html/parser/htmlValidator.java + (tagIsValidForContext): If it is not possible to insert any tag, but + is possible to insert a P, insert a P. + * gnu/javax/swing/text/html/parser/HTML_401Swing.java + (newInstance): Removed print statement. (getBodyElements): + Removed ABBR, ACRONYM, BDO, Q, S, SUB, SUP and ADDRESS from the + valid body level tags (will be enclosed into P's). + +2006-07-17 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (setKeystoreURLParam): + Condition the creation of .keystore (a default keystore) based on the + createIfNotFound argument as well. + +2006-07-16 Audrius Meskauskas + + PR 28392 + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Removed heading p tag from the parsing example. + * gnu/javax/swing/text/html/parser/HTML_401F.java: + (createHtmlContentModel): Explained. + (defineElements): Call getBodyElements to get the body + elements. (getBodyElements): New method. (model): + Made protected from private. + * gnu/javax/swing/text/html/parser/htmlValidator.java + (openTag): Mind that current content model may be null. + (tagIsValidForContext): If the tag is PCDATA, and it is not + valid for context, but the paragraph (P) is valid for context, + suggest to insert the P tag here. + * javax/swing/text/html/HTMLDocument.java (HTMLReader.addContent, + HTMLReader.blockOpen, HTMLReader.blockClose): Do not handle + implied P tags here. + * javax/swing/text/html/HTMLEditorKit.java (getParser): + Get the custom parser, using HTML_401Swing.java DTD. + * javax/swing/text/html/parser/ParserDelegator.java: + Removed the obsolete note that HTMLEditorKit does not exist. + * gnu/javax/swing/text/html/parser/GnuParserDelegator.java, + gnu/javax/swing/text/html/parser/HTML_401Swing.java: New files. + +2006-07-16 Andrew John Hughes + + * javax/management/ListenerNotFoundException.java: + New file. + * javax/management/MBeanFeatureInfo.java: + (hashCode()): Use summation instead of multiplication + for consistency with other classes. + * javax/management/MBeanNotificationInfo.java, + * javax/management/Notification.java, + * javax/management/NotificationBroadcaster.java, + * javax/management/NotificationEmitter.java, + * javax/management/NotificationFilter.java, + * javax/management/NotificationListener.java: + New files. + * javax/management/OperationsException.java: + (serialVersionUID): Added. + +2006-07-16 Thomas Minor <1nocentrabidlamb@sexMagnet.com> + Mark Wielaard + + * java/io/PrintStream.java: Added four constructors, for File and + String describing a filename with or without explicit encoding. + +2006-07-16 Sven de Marothy + + * javax/rmi/ssl/SslRMIServerSocketFactory.java, + * javax/rmi/ssl/SslRMIClientSocketFactory.java: + New files. + +2006-07-16 Raif S. Naffah + + PR Classpath/28391 + * tools/gnu/classpath/tools/keytool/Command.java (setKeyStoreParams(5)): + New method. + (setKeyStoreParams(4)): Call the above method with false as its 1st arg. + (setProviderClassNameParam): Made private. + (setKeystoreTypeParam): Likewise. + (setKeyPasswordParam): Likewise + (setKeystorePasswordParam): Likewise. + (setKeystoreURLParam): Now accepts 2 more arguments; the first a boolean to + create or not the keystore if it's not there, and the second is the store's + password to process before loading the keystore. Amended the code + accordingly. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Call super's + setKeyStoreParams(5) with true as its first argument. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. + +2006-07-16 Sven de Marothy + + * java/util/UUID.java: New file. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.java: New file. + * gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.java: New file. + * gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (.run): Added mappings for newly + added Key Wrapping Algorithm SPIs. + +2006-07-16 Raif S. Naffah + + * javax/crypto/Cipher.java (getOutputSize): Allow SPIs initialised for key + wrapping/unwrapping to invoke their engineGetOutputSize. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/kwa/TripleDESKeyWrap.java (rnd): New field. + (engineInit): If a SecureRandom was specified then use it. + (nextRandomBytes): New method. + (engineWrap): Use above method. + * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java (prng): New field. + (getDefaultPRNG): New method. + * gnu/javax/crypto/kwa/AESKeyWrap.java (engineInit): Reset underlying AES. + * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java (SOURCE_OF_RANDOMNESS): + New constant. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/jce/params/BlockCipherParameters.java + (engineGetParameterSpec): Should be able to return an IvParameterSpec. + +2006-07-16 Raif S. Naffah + + * gnu/javax/crypto/cipher/DES.java (adjustParity): Index limit now takes + offset into consideration. + +2006-07-16 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c (init_gconf_client): + Fixed comment. This functions now requires to be called + with gdk lock held, the comment states that. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1id_1cache): + Introduces gdk locks around critical regions of code. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1suggest_1sync): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): + * native/jni/gconf-peer/Makefile.am: The GConf peer now depends on GTK. + +2006-07-15 Sven de Marothy + + * javax/swing/JFileChooser.java + Change default selection mode to FILES_ONLY. + * javax/swing/plaf/basic/BasicDirectoryModel.java + Document, fix selection mode filtering. + (renameFile): Implement + * javax/swing/plaf/basic/BasicFileChooserUI.java + (selectedDir): New field to handle selected directories, + disallow selecting of directories in FILES_ONLY mode. + * javax/swing/plaf/metal/MetalFileChooserUI.java: + (EditingActionListener.actionPerformed): + Stop editing on all actions (e.g. return-key press) + +2006-07-15 Mark Wielaard + + * doc/vmintegration.texinfo (gnu.java.lang.management): Change xref + to code. + (JNI Implementation): Mark JVMTI Implementation as next. + (JVMTI Implementation): Mark JNI Implementation as prev. + +2006-07-15 Mark Wielaard + + * include/Makefile.am: Remove + include/gnu_java_awt_peer_gtk_GdkTextLayout.h. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Removed. + * native/jni/gtk-peer/Makefile.am: Remove + gnu_java_awt_peer_gtk_GdkTextLayout.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: + Removed. + + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Regenerated. + +2006-07-15 Mark Wielaard + + * autogen.sh: Recognize autoconf 2.60. + +2006-07-15 Keith Seitz + + * NEWS: Update for JVMTI and jvmti.h. + * doc/vmintegration.texinfo: Likewise. + * include/jvmti.h: New file. + +2006-07-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: + Removed C++ style comment. + +2006-07-15 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java, + * java/awt/MouseInfo.java, + * java/awt/PointerInfo.java, + * java/awt/peer/MouseInfoPeer.java: + New files. + + * java/awt/Image.java + (accelerationPriority): New field. + (setAccelerationPriority, getAccelerationPriority): New methods.. + + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c, + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: + (getMouseCoordinates): New method. + + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (updateAlwaysOnTop): Remove stub overload. + + * gnu/java/awt/ClasspathToolkit.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: + (getMouseInfoPeer): New method. + (getMouseNumberOfButtons): New method. + + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (gtkWindowSetAlwaysOnTop): New method. + (updateAlwaysOnTop): Implement. + + * java/awt/Toolkit.java, + (getMouseInfoPeer): New method. + + * java/awt/Window.java + (alwaysOnTop): New field. + (isAlwaysOnTop, setAlwaysOnTop): New methods. + + * java/awt/peer/WindowPeer.java: Doc fix. + +2006-07-14 Sven de Marothy + + * java/awt/font/TextLayout.java: + (hitTestChar): Stub method. + * java/awt/font/TextMeasurer.java: + (getLayout): Throw exception on invalid argument. + +2006-07-14 Sven de Marothy + + * java/awt/image/DataBuffer.java + (DataBuffer): Call constructors in the correct order, + +2006-07-14 Mark Wielaard + + Revert to previous implementation. + * java/awt/GridBagLayout.java (AdjustForGravity): Only adjust for + constraints insets. + +2006-07-14 Roman Kennke + + * gnu/java/awt/peer/x/XToolkit.java + (XToolkit): Install properties to SystemProperties + rather than System, to avoid SecurityManager. + (getImage(String)): Return error image when string is invalid. + (createImage(URL)): Moved image loading to helper method. + (createImage(ImageProducer)): Implemented. + (createImage(byte[],int,int)): Implemented. + (createImage(InputStream)): New helper method. + +2006-07-14 Tania Bento + + * java/awt/FlowLayout.java + (setHgap): No Excpetion should be thrown if hgap has + a negative value. + (setVgap): No Exception should be thrown if vgap has + a negative value. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java: + Added API docs all over. + +2006-07-14 Matt Wringe + + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineInit): Throw InvalidAlgorithmParameterException + for invalid IVParameterSpec IV length. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createDataBuffer): Include dataBitOffset in calculating the size for + the data buffer. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (getSampleSize()): Return a copy of the array, + (getTransferType()): New method override. + +2006-07-14 Roman Kennke + + * java/awt/CardLayout.java + (show): Validate parent to make sure that the layout is + valid. + +2006-07-14 Roman Kennke + + * java/awt/Component.java + (enable): Added tree locking. + (disable): Added tree locking. + (show): Added tree locking. + (hide): Added tree locking. + (getLocationOnScreen): Added tree locking. + (reshape): Added tree locking. + (addHierarchyListener): Added tree locking. + (removeHierarchyListener): Added tree locking. + (addHierarchyBoundsListener): Added tree locking. + (removeHierarchyBoundsListener): Added tree locking. + (addNotify): Added tree locking. + (removeNotify): Added tree locking. + * java/awt/Container.java + (invalidateTree): Added tree locking. + (getAlignmentX): Added tree locking. + (getAlignmentY): Added tree locking. + (addNotify): Added tree locking. + (setComponentZOrder): Added tree locking. + (getComponentZOrder): Added tree locking. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createSubsetSampleModel): Restored argument check, but let null + through. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (createSubsetSampleModel): Removed argument check. + +2006-07-14 Roman Kennke + + * java/awt/Component.java + (numHierarchyListeners): New field. + (numHierarchyBoundsListeners): New field. + (show): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (hide): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (reshape): Fire hierarchy events here. Only fire component event + if there is actually a listener for it. + (addHierarchyListeners): Update listener counters. + (removeHierarchyListeners): Update listener counters. + (addHierarchyBoundsListeners): Update listener counters. + (removeHierarchyBoundsListeners): Update listener counters. + (fireHierarchyEvent): New helper method for firing hierarchy + events. + * java/awt/Container.java + (addImpl): Update listener counters. Fire hierarchy event. + (remove): Update listener counters. Fire hierarchy event. + (fireHierarchyEvent): New helper method for firing hierarchy + events. + (updateHierarchyListenerCount): New helper method for + updating the listener counters. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (equals): New method override, + (hashCode): Likewise. + +2006-07-14 David Gilbert + + * java/awt/image/MultiPixelPackedSampleModel.java + (MultiPixelPackedSampleModel(int, int, int, int, int, int)): + Corrected scanlineStride calculation. + +2006-07-14 Raif S. Naffah + + * gnu/java/security/Registry.java (KWA_PREFIX): New constant. + (AES_KWA): Likewise. + (AES128_KWA): Likewise. + (AES192_KWA): Likewise. + (AES256_KWA): Likewise. + (RIJNDAEL_KWA): Likewise. + (TRIPLEDES_KWA): Likewise. + (DESEDE_KWA): Likewise. + * gnu/javax/crypto/kwa/AESKeyWrap.java: New file + * gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.java: Likewise. + * gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.java: Likewise. + * gnu/javax/crypto/kwa/KeyUnwrappingException.java: Likewise. + * gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.java: Likewise. + * gnu/javax/crypto/kwa/TripleDESKeyWrap.java: Likewise. + +2006-07-14 Raif S. Naffah + + * gnu/javax/crypto/pad/IPad.java: Updated class documentation. + (PADDING_BLOCK_SIZE): New constant. + (init(Map attributes)): New method. + * gnu/javax/crypto/pad/BasePad.java (init): New method. + +2006-07-14 Mario Torre + + * gnu/java/security/OID.java (OID): Private Constructor removed as + it is not needed anymore. + (clone): Fixed. Now uses super.clone instead of the private + constructor as per specification of clone method. + (serialVersionUID): added new field to allow serialization. + +2006-07-13 Sven de Marothy + + * gnu/javax/imageio/gif/GIFImageReader.java + (read): Remove old debugging trace. + +2006-07-13 Andreas Tobler + + PR awt/28369: + * gnu/java/awt/peer/gtk/CairoSurface.java (ColorModel): Swap red and + blue mask. + +2006-07-13 Roman Kennke + + * java/awt/Component.java + (DEFAULT_MAX_SIZE): New static constant. + (preferredSize): Return copy of the actual value computed + by new helper method. + (preferredSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (minimumSize): Return copy of the actual value computed + by new helper method. + (minimumSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (getMaximumSize): Return copy of the actual value computed + by new helper method. + (maximumSizeImpl): New helper method. Adds locking and + correct handling of cached value. + (invalidate): Correct handling of cached layout information. + Added locking. + * java/awt/Container.java + (preferredSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + (minimumSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + (getMaximumSize): Minimized locking. Corrected handling of cached + values. Return copy of real value. + +2006-07-13 Tania Bento + + * gnu/java/awt/peer/ClasspathFontPeer.java + (isLogicalFontName): Return true if name == default. + (logicalFontNameToFaceName): Check if name == default, + and if so, return "Dialog.plain". + (setStandardAttributes(String, Map)): If name == null, + it should be set to "Default", not "SansSerif". + * java/awt/Canvas.java + (generateName): Fixed documentation. + * java/awt/CheckboxMenuItem.java + Added static variable "next_chkmenuitem_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Choice.java + Added static variable "next_choice_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Cursor.java + (Cursor(int)): Set name depending on the type passed. + * java/awt/List.java + Added static variable "next_list_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/Menu.java + Added static variable "next_menu_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/MenuBar.java + Added static variable "next_menubar_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/MenuComponent.java + (getName): Before returning name, check if name == null + and name is not explicity set. If this is the case, + name will be generated. + (generateName): Added and implemented method. + * java/awt/MenuItem.java + Added static variable "next_menuitem_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/PopupMenu.java + Added static variable "next_popup_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/ScrollPane.java + Added static variable "next_scrollpane_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + * java/awt/TextField.java + Added static variable "next_textfield_number". + (generateName): Added and implemented method. + (getUniqueLong): Likewise. + + +2006-07-13 David Gilbert + + * java/awt/image/SinglePixelPackedSampleModel.java + (SinglePixelPackageSampleModel(int, int, int, int, int[])): Convert + mask correctly as an unsigned integer, + (equals): New method override. + +2006-07-13 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java (insertAfterEnd, + insertAfterStart, insertBeforeEnd): Removed stub markings. + +2006-07-13 David Gilbert + + * java/awt/image/BandedSampleModel.java: API doc updates and source + code reformatting, + * java/awt/image/SinglePixelPackageSampleModel.java: Likewise. + +2006-07-13 David Gilbert + + * java/awt/image/BandedSampleModel.java: API doc updates. + +2006-07-13 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java (HTMLReader.parseStack): + Made package private. (HTMLReader.charAttr, HTMLReader.charAttrStack, + HTMLReader.insertTag, HTMLReader.insertTagEncountered, + HTMLReader.pushDepth, HTMLReader.popDepth): Documented. + (HRMLReader.blockClose): Mind that parser stack may be empty. + (HTMLReader.handeComment, HTMLReader.handleStartTag, + HTMLReader.handleEndTag, HTMLReader.handleSimpleTag): Rewritten. + (HTMLReader.shouldInsert): New method. (getElement(String)): + Pass HTML.Atrribute.ID. (insertAfterEnd, insertBeforeEnd, + insertAfterStart, insertBeforeStart, setInnerHTML, setOuterHTML): + Implemented. (getInsertingReader): New method. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: + Added buttons to demonstrate the work of the insert actions. + +2006-07-13 David Gilbert + + * java/awt/image/SampleModel.java: API doc updates and additions, + * java/awt/image/SinglePixelPackedSampleModel.java: Likewise. + +2006-07-12 Sven de Marothy + + * javax/swing/JFileChooser.java: + (createDialog): Close operation should cause a cancel. + +2006-07-12 Francis Kung + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Organized imports. + (cairoArc): New native method. + (cairoRestore): New native method. + (cairoSave): New native method. + (cairoScale): New native method. + (createPath): New method to centralize code from draw and fill. + (draw): Modified to use createPath method. + (fill): Modified to use createPath method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Added + function declarations. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoScale): New + method. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSave): New + method. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc): New + method. + +2006-07-12 Tom Tromey + + PR libgcj/27271: + * java/util/zip/ZipFile.java (getInputStream): Call addDummyByte + on PartialInputStream. + (PartialInputStream.dummyByteCount): New field. + (PartialInputStream.fillBuffer): Handle dummy byte. + (PartialInputStream.read): Likewise. + (PartialInputStream.addDummyByte): New method. + +2006-07-12 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Fixed C++ style comment. + +2006-07-12 David Gilbert + + * java/util/Arrays.java + (asList): Updated API docs. + +2006-07-11 Robert Schuster + + Fixes PR28350. + * native/jni/gconf-peer/GConfNativePeer.c: + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + Changed if-expression. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Added check for _value not being NULL. + +2006-07-11 Roman Kennke + + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + (read): Use fd when local sockets are disabled to make the + compiler quite. + (write): Likewise. + +2006-07-11 Roman Kennke + + * java/awt/image/MultiPixelPackedSampleModel.java + (MultiPixelPackedSampleModel): Substract -1 so that the integer + division gets rounded up. + +2006-07-11 Andrew John Hughes + + * java/lang/management/ManageFactory.java: + (getMemoryManagerMXBeans()): Use addAll, not add. + +2006-07-11 Vivek Lakshmanan + + PR 27649: + * gnu/classpath/ByteArray.java: Removed (moved). + * gnu/java/security/util/ByteArray.java: New File. + * gnu/javax/crypto/RSACipherImpl.java: Reference + gnu.java.security.util.ByteArray instead of gnu.classpath.ByteArray. + +2006-07-11 Roman Kennke + + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c + (available): Pass fd as argument and avoid JNI class/field + lookup. + (read): Likewise. + (write): Likewise. + * include/gnu_java_net_local_LocalSocketImpl.h: + Regenerated. + * gnu/java/net/local/LocalSocketImpl.h + (available): Pass fd as argument and avoid JNI class/field + lookup. + (read): Likewise. + (write): Likewise. + +2006-07-11 Sven de Marothy + + * gnu/javax/sound/sampled/AU/AUReader.java: + Correct file extension from .as to .au. + +2006-07-11 Sven de Marothy + + * gnu/javax/sound/sampled/AU/AUReader.java: + New file. + * resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: + Added new provider. + +2006-07-11 David Gilbert + + * javax/swing/JTable.java + (setRowSelectionAllowed): Fire required PropertyChangeEvent, + (setColumnSelectionAllowed): Likewise. + +2006-07-10 Vivek Lakshmanan + + PR 27649: + * gnu/classpath/debug/Simple1LineFormatter.java: Use + AccessController.doPrivileged instead of SystemProperties.getProperty. + * gnu/classpath/debug/SystemLogger.java: Likewise. + * gnu/java/security/PolicyFile.java: Likewise and cut unnecessary + repeated getProperty calls for "file.seperator". + (refresh): Since already in privileged block, call System.getProperty + instead of SystemProperties.getProperty. + * gnu/java/security/key/dss/DSSKey.java + (toString): Use AccessController.doPrivileged instead of + SystemProperties.getProperty. + * gnu/java/security/key/dss/DSSPrivateKey.java + (toString): Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java + (toString): Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java + (toString): Likewise. + * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKey.java + (toString): Likewise. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java + (toString): Likewise. + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java + (toString): Likewise. + +2006-07-11 David Gilbert + + * javax/swing/AbstractButton.java + (disabledIcon): Fixed name (was 'disabeldIcon'), + (getDisabledIcon): Updated for corrected field name, + (setDisabledIcon): Fire a PropertyChangeEvent. + +2006-07-11 David Gilbert + + * javax/swing/DefaultBoundedRangeModel.java + (readObject): New private method, + (writeObject): Likewise. + +2006-07-11 David Gilbert + + * javax/swing/ButtonGroup.java + (add): Ignore null argument, + (remove): Ignore null argument. If removing selected button, clear the + sel field, + (findButton): Changed case for method name, and documented, + (setSelected): Updated for modification to findButton() method name, + (isSelected): Updated API docs. + +2006-07-11 David Gilbert + + * java/awt/image/BufferedImage.java + (BufferedImage(int, int, int)): Use correct color space for + TYPE_BYTE_GRAY and TYPE_USHORT_GRAY, and throw an + IllegalArgumentException for an unrecognised type. + +2006-07-10 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + (getMemoryPoolMXBeans): Genericized fully. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + +2006-07-10 Tom Tromey + + * java/lang/management/ManagementFactory.java (getMemoryPoolMXBeans): + Genericized. + (getMemoryManagerMXBeans): Likewise. + (getGarbageCollectorMXBeans): Likewise. + +2006-07-10 Mario Torre + + * java/awt/BasicStroke.java: Removed unused import. + * gnu/java/awt/java2d/CubicSegment.java (clone): Fixed. + * gnu/java/awt/java2d/LineSegment.java (clone): Fixed. + * gnu/java/awt/java2d/QuadSegment.java (clone): Fixed. + +2006-07-10 Matt Wringe + + PR classpath/28212: + * javax/crypto/spec/SecretKeySpec.java + (equals): Check object type. + +2006-07-10 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/StructureToPassHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/StructureToReturnHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/TreeNodeHelper.java, + examples/gnu/classpath/examples/CORBA/SimpleCommunication/ + communication/WeThrowThisExceptionHelper.java, + gnu/CORBA/ForwardRequestHelper.java, + org/omg/CORBA/CompletionStatusHelper.java, + org/omg/CORBA/CurrentHelper.java, + org/omg/CORBA/DefinitionKindHelper.java, + org/omg/CORBA/IDLTypeHelper.java, + org/omg/CORBA/NameValuePairHelper.java, + org/omg/CORBA/ObjectHelper.java, + org/omg/CORBA/ParameterModeHelper.java, + org/omg/CORBA/PolicyErrorCodeHelper.java, + org/omg/CORBA/PolicyErrorHelper.java, + org/omg/CORBA/PolicyHelper.java, + org/omg/CORBA/PolicyListHelper.java, + org/omg/CORBA/PolicyTypeHelper.java, + org/omg/CORBA/ServiceDetailHelper.java, + org/omg/CORBA/ServiceInformationHelper.java, + org/omg/CORBA/SetOverrideTypeHelper.java, + org/omg/CORBA/StringValueHelper.java, + org/omg/CORBA/UnionMemberHelper.java, + org/omg/CORBA/UnknownUserExceptionHelper.java, + org/omg/CORBA/VisibilityHelper.java, + org/omg/CORBA/WStringValueHelper.java, + org/omg/CORBA/WrongTransactionHelper.java, + org/omg/CosNaming/BindingHelper.java, + org/omg/CosNaming/BindingIteratorHelper.java, + org/omg/CosNaming/BindingListHelper.java, + org/omg/CosNaming/BindingTypeHelper.java, + org/omg/CosNaming/NameComponentHelper.java, + org/omg/CosNaming/NameHelper.java, + org/omg/CosNaming/NamingContextExtHelper.java, + org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java, + org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java, + org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java, + org/omg/CosNaming/NamingContextHelper.java, + org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java, + org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java, + org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java, + org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java, + org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java, + org/omg/DynamicAny/AnySeqHelper.java, + org/omg/DynamicAny/DynAnyFactoryHelper.java, + org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java, + org/omg/DynamicAny/DynAnyHelper.java, + org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java, + org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java, + org/omg/DynamicAny/DynAnySeqHelper.java, + org/omg/DynamicAny/DynArrayHelper.java, + org/omg/DynamicAny/DynEnumHelper.java, + org/omg/DynamicAny/DynFixedHelper.java, + org/omg/DynamicAny/DynSequenceHelper.java, + org/omg/DynamicAny/DynStructHelper.java, + org/omg/DynamicAny/DynUnionHelper.java, + org/omg/DynamicAny/DynValueHelper.java, + org/omg/DynamicAny/NameDynAnyPairHelper.java, + org/omg/DynamicAny/NameDynAnyPairSeqHelper.java, + org/omg/DynamicAny/NameValuePairHelper.java, + org/omg/DynamicAny/NameValuePairSeqHelper.java, + org/omg/IOP/CodecFactoryHelper.java, + org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java, + org/omg/IOP/CodecPackage/FormatMismatchHelper.java, + org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java, + org/omg/IOP/CodecPackage/TypeMismatchHelper.java, + org/omg/IOP/ComponentIdHelper.java, + org/omg/IOP/IORHelper.java, + org/omg/IOP/MultipleComponentProfileHelper.java, + org/omg/IOP/ProfileIdHelper.java, + org/omg/IOP/ServiceContextHelper.java, + org/omg/IOP/ServiceContextListHelper.java, + org/omg/IOP/ServiceIdHelper.java, + org/omg/IOP/TaggedComponentHelper.java, + org/omg/IOP/TaggedProfileHelper.java, + org/omg/PortableInterceptor/AdapterManagerIdHelper.java, + org/omg/PortableInterceptor/AdapterNameHelper.java, + org/omg/PortableInterceptor/AdapterStateHelper.java, + org/omg/PortableInterceptor/CurrentHelper.java, + org/omg/PortableInterceptor/ForwardRequestHelper.java, + org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java, + org/omg/PortableInterceptor/InvalidSlotHelper.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java, + org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java, + org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java, + org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java, + org/omg/PortableServer/CurrentHelper.java, + org/omg/PortableServer/CurrentPackage/NoContextHelper.java, + org/omg/PortableServer/ForwardRequestHelper.java, + org/omg/PortableServer/POAHelper.java, + org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java, + org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java, + org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java, + org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java, + org/omg/PortableServer/POAPackage/NoServantHelper.java, + org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java, + org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java, + org/omg/PortableServer/POAPackage/WrongAdapterHelper.java, + org/omg/PortableServer/POAPackage/WrongPolicyHelper.java, + org/omg/PortableServer/ServantActivatorHelper.java, + org/omg/PortableServer/ServantLocatorHelper.java: Remove the + typecode caching and always use OrbRestricted.Singleton. + +2006-07-09 Tom Tromey + + * java/util/logging/LoggingMXBean.java (getLoggerNames): Genericized. + +2006-07-09 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasXRenderExtension): + New static final boolean field. + (getComponentGraphics): Use hasXRenderExtension. + (setClip): Override method for locking. + +2006-07-09 David Gilbert + + * javax/swing/AbstractButton.java + (setHorizontalTextPosition): Added check for illegal argument, + (setVerticalTextPosition): Likewise. + +2006-07-09 David Gilbert + + * javax/swing/Timer.java + (setDelay): Throw IllegalArgumentException for negative delay, + (setInitialDelay): Likewise, + * javax/swing/ToolTipManager.java + (setInitialDelay): Document IllegalArgumentException, + (setDismissDelay): Likewise, + (setReshowDelay): Likewise. + +2006-07-09 Andrew John Hughes + + * java/lang/management/MemoryUsage.java: + (from(javax.management.openmbean.CompositeData)): + Implemented. + * java/lang/management/ThreadInfo.java: + Changed to use open types throughout for the state. + (ThreadInfo(long,String,String,long,long,String, + long,String,long,long,boolean,StackTraceElement[])): + New constructor. + (checkAttribute(javax.management.openmbean.CompositeType, + String, javax.management.openmbean.OpenType)): New method. + (from(javax.management.openmbean.CompositeData)): + Implemented. + (getLockName()): Fixed to use new variable. + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (getThreadId()): Likewise. + (getThreadName()): Likewise. + (getThreadState()): Likewise. + (toString()): Refactored to use new variables. + * javax/management/openmbean/ArrayType.java: + New file. + * javax/management/openmbean/CompositeType.java: + Variables should be transient, not volatile. + * javax/management/openmbean/OpenDataException.java: + (serialVersionUID): Added. + * javax/management/openmbean/SimpleType.java: + New file. + * javax/management/openmbean/TabularType.java + Variables should be transient, not volatile. + +2006-07-09 Tom Tromey + + * tools/.cvsignore: Updated for new tools. + +2006-07-09 Andrew John Hughes + + * javax/management/openmbean/CompositeData.java, + * javax/management/openmbean/CompositeType.java, + * javax/management/openmbean/OpenDataException.java, + * javax/management/openmbean/OpenType.java, + * javax/management/openmbean/TabularData.java, + * javax/management/openmbean/TabularType.java, + * javax/management/openmbean/package.html: + New files. + +2006-07-09 Mark Wielaard + + * gnu/javax/print/ipp/IppRequest.java: Remove double assignment. + * gnu/java/rmi/server/UnicastServerRef.java: Likewise. + * gnu/java/rmi/server/ActivatableServerRef.java: Likewise. + +2006-07-08 Anthony Green + + * gnu/javax/sound/sampled/WAV/WAVReader.java, + resource/META-INF/services/javax.sound.sampled.spi.AudioFileReader: + New files. + +2006-07-09 Mario Torre + + * native/jni/gconf-peer/GConfNativePeer.c: + Fixed indentation to be more compliant to the GNU coding + guidelines. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1unset): + Added explicit test for errors in the GConf backend. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1get_1string): + Added explicit test for errors in the GConf backend. + Fixed Segmentation Fault when non valid key names are given as input. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1set_1string): + likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Added explicit test for errors in the GConf backend. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: + Added javadoc comments for all native methods. + (nodeExist): removed test to check for valid absolute path name + for nodes. + (startWatchingNode): likewise. + (stopWatchingNode): likewise. + (setString): likewise, plus fixed javadoc comments. + (unset): likekwise. + (getKey): likewise. + (getKeys): likewise, also fixed javadoc comments. + (getChildrenNodes): likewise. + * gnu/java/util/prefs/GConfBasedPreferences.java: + changed DEFAULT_USER_ROOT to /apps/classpath. + (constructor): Test to check for a valid absolute path for nodes + is now in the contructor for that node, instead of being on + each method of the backend. + (getGConfKey): removed empty new line. + +2006-07-08 Mark Wielaard + + * .classpath: Add gnu/java/awt/peer/x/ to excludes. + +2006-07-08 Audrius Meskauskas + + * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): + Handle the forced break in the same way as exceeding the + available row space. + * javax/swing/text/html/HRuleView.java: Rewritten. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement):Reserve two characters for + the special elements. + * examples/gnu/classpath/examples/swing/HtmlDemo.java + (text): Extended the HTML example to parse. + +2006-07-07 David Gilbert + + * javax/swing/AbstractButton.java + (setHorizontalAlignment): Check for illegal argument, + (setVerticalAlignment): Likewise. + +2006-07-07 Audrius Meskauskas + + * javax/swing/text/html/TableView.java + (getStyleSheet): New method. (RowView.getStyleSheet): + New method. + +2006-07-07 David Gilbert + + * javax/swing/AbstractButton.java + (setRolloverIcon): Call setRolloverEnabled(true), + (setRolloverSelectedIcon): Likewise. + +2006-07-07 David Gilbert + + * javax/swing/border/TitledBorder.java + (setTitlePosition): Added message to exception, + (setTitleJustification): Likewise. + +2006-07-07 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (createDefaultTheme): Corrected API docs, + (initComponentDefaults): Added entry for 'TitledBorder.border', + (getCurrentTheme): Initialise theme if it is null. + +2006-07-07 Roman Kennke + + * java/awt/Component.java + (isValid): Return false when component has no peer, + don't query the showing state. + +2006-07-07 Audrius Meskauskas + + * javax/swing/text/FlowView.java (FlowStrategy.layoutRow): + Advance the offset also in the case of the enforced break. + +2006-07-07 David Gilbert + + * javax/swing/plaf/basic/BasicArrowButton.java + (MAXIMUM_SIZE): Removed field, + (MINIMUM_SIZE): Likewise, + (PREFERRED_SIZE): Likewise, + (getMaximumSize): Return new instance every time, + (getMinimumSize): Likewise, + (getPreferredSize): Likewise. + +2006-07-07 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Avoid array copying in + Container.getComponents(). + +2006-07-07 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenWithOverlap): Avoid array copying in + Container.getComponents(). + (paintChildrenOptimized): Avoid array copying in + Container.getComponents(). + (fireAncestorEvent): Avoid array copying in + Container.getComponents(). + (findOverlapFreeParent): Avoid array copying in + Container.getComponents(). + +2006-07-07 Matt Wringe + + * javax/crypto/spec/PBEKeySpec.java: Updated copyright year. + (passwordValid): New field. + (setPassword): New method. + (setSalt): Likewise. + (setIterationCount): Likewise. + (setKeyLength): Likewise. + (PBEKeySpec(char[])): Use new setter methods. + (PBEKeySpec(char[], byte[], int)): Likewise. + (PBEKeySpec(char[], byte[], int, int)): Likewise. + (clearPassword): Set passwordValid to false. + (getPassword): Check that clearPassword() was not called earlier. + Return a clone of the password. + (getSalt): Return a clone of the salt if it was not null. + +2006-07-07 Roman Kennke + + * java/awt/Component.java + (isValid): Always return false when component is + not showing. + (setFont): Always set font, even when setting + the same or equal font again. + +2006-07-07 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (CheckBoxMenuItemIcon): Implement UIResource, + (FileChooserDetailViewIcon): Likewise, + (FileChooserHomeFolderIcon): Likewise, + (FileChooserListViewIcon): Likewise, + (FileChooserNewFolderIcon): Likewise, + (FileChooserUpFolderIcon): Removed redundant 'implements', + (RadioButtonMenuItemIcon): Implement UIResource, + (HorizontalSliderThumbIcon): Likewise, + (InternalFrameCloseIcon): Likewise, + (InternalFrameDefaultMenuIcon): Likewise, + (InternalFrameAltMaximizeIcon): Likewise, + (InternalFrameMaximizeIcon): Likewise, + (InternalFrameMinimizeIcon): Likewise, + (VerticalSliderThumbIcon): Likewise, + (TreeHardDriveIcon): Likewise, + (TreeFloppyDriveIcon): Likewise, + (TreeComputerIcon): Likewise, + (horizontalSliderThumbIcon): New field, + (verticalSliderThumbIcon): New field, + (getHorizontalSliderThumbIcon): Cache icon, + (getVerticalSliderThumbIcon): Likewise. + +2006-07-06 Mark Wielaard + + * lib/Makefile.am (CLEANFILES): Add Makefile.deps. + (DISTCLEANFILES): Add standard.omit. + (clean-local): Remove Makefile.deps, only remove dirs. + +2006-07-06 Roman Kennke + + * java/awt/Component.java + (setFont): Only invalidate when component is valid. + * java/awt/Container.java + (setLayout): Only invalidate when component is valid. + +2006-07-06 Lillian Angel + + * gnu/java/awt/dnd/GtkMouseDragGestureRecognizer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetPeer.java: + New class not fully implemented. + * gnu/java/awt/dnd/peer/gtk/GtkDropTargetContextPeer.java: + New class not fully implemented. + * nu/java/awt/peer/gtk/GtkToolkit.java: + Fixed Imports. + (createDragSourceContextPeer): Implemented. + (createDragGestureRecognizer): New function to override + java.awt.Toolkit.createDragGestureRecognizer. + * java/awt/dnd/DragSource.java + (NoDragGestureRecognizer): Removed inner class. + (createDragGestureRecognizer): Re-Implemented to + call Toolkit's createDragGestureRecognizer. + (createDefaultDragGestureRecognizer): Re-Implemented to + call Toolkit's createDragGestureRecognizer. + * java/awt/dnd/DropTarget.java + (addNotify): Added check to determine type of peer and call + addDropTarget. + (removeNotify): Added call to removeDropTarget. + +2006-07-06 Tom Tromey + + * gnu/java/util/prefs/EventDispatcher.java (dispatch): Notify + 'queue'. + (run): Wait on queue, not 'this'. + +2006-07-06 Lillian Angel + + * java/awt/dnd/DragSource.java + (startDrag): Implemented. Added comments describing + what the function should do. Removed FIXME. + +2006-07-06 Tania Bento + + * gnu/java/awt/Canvas.java + Added new private variable 'next_canvas_number'. + (generateName): Added. + (getUniqueLong): Added. + +2006-07-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Made public. + * javax/swing/text/html/StyleSheet.java (stringToColor): + Use CharacterAttributeTranslator.getColor(String) + +2006-07-06 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java: + (HTMLFactory.createElement): Update reference to the html table view. + * javax/swing/text/html/HTMLTableView.java: Removed (renamed). + * javax/swing/text/html/TableView.java: New file. + +2006-07-06 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java: + (HTMLFactory.createElement): Uncomment + code for BRView and HRuleView. + * javax/swing/text/html/BRView.java, + javax/swing/text/html/HRuleView.java: New files. + +2006-07-05 Andrew John Hughes + + * java/lang/Thread.java: + (getAllStackTraces(Map)): + Added generic type signature. + +2006-07-05 Andrew John Hughes + + * NEWS: Updated. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestGarbageCollector.java, + * examples/gnu/classpath/examples/management/TestMemoryManager.java, + * gnu/java/lang/management/GarbageCollectorMXBeanImpl.java, + * gnu/java/lang/management/MemoryManagerMXBeanImpl.java, + * java/lang/management/GarbageCollectorMXBean.java: + New files. + * java/lang/management/ManagementFactory.java: + (getGarbageCollectorMXBeans()): Implemented. + (getMemoryManagerMXBeans()): Likewise. + * vm/reference/gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, + * vm/reference/gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java: + New files. + * vm/reference/java/lang/management/VMManagementFactory.java: + (getMemoryManagerNames()): Added. + (getGarbageCollectorNames()): Added. + +2006-07-05 Thomas Fitzsimmons + + * native/plugin/Makefile.am (nativeexeclib_LTLIBRARIES): Rename + from lib_LTLIBRARIES. + (install-plugin): Depend on nativeexeclib_LTLIBRARIES. + +2006-07-05 Lillian Angel + + * java/awt/dnd/DragGestureEvent.java: + Added new fields. + (DragGestureEvent): Initialized new fields, added to check and + added documentation. + (getSourceAsDragGestureRecognizer): Added documentation and + changed to use getSource. + (getComponent): Added documentation and fixed to return the proper + value. + (getDragSource): Likewise. + (getDragOrigin): Added documentation. + (iterator): Implemented and added documentation. + (toArray): Likewise. + (toArray): Likewise. + (getDragAction): Likewise. + (getTriggerEvent): Likewise. + (startDrag): Likewise. + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Added FIXME. + * java/awt/dnd/DragSource.java: + Added new field. + (DragSource): Set ds to be null if headless. + (getDefaultDragSource): Added documentation and implemented. + (isDragImageSupported): Marked as unimplemented. + (startDrag): Likewise. + (createDragSourceContext): Implemented. + (NoDragGestureRecognizer): Formatted inner class. + * java/awt/dnd/DropTarget.java + (stop): Marked as unimplemented. + (actionPerformed): Likewise. + (addDropTargetListener): Added code to throw exception. + (removeDropTargetListener): Added check, removed FIXME. + (dragEnter): Implemented. + (dragOver): Implemented. + (dropActionChanged): Implemented. + (dragExit): Implemented. + (drop): Implemented. + (addNotify): Implemented. + (removeNotify): Implemented. + (createDropTargetContext): Implemented. + (createDropTargetAutoScroller): Implemented. + (initializeAutoscrolling): Implemented. + (updateAutoscroll): Implemented. + (clearAutoscroll): Implemented. + * java/awt/dnd/DropTargetContext.java + (dropComplete): Implemented. + (acceptDrag): Implemented. + (rejectDrag): Implemented. + (acceptDrop): Implemented. + (rejectDrop): Implemented. + (getCurrentDataFlavors): Implemented. + (getTransferable): Partially implemented. + * java/awt/dnd/DropTargetDragEvent.java + (getDropAction): Uncommented correct code. + * java/awt/dnd/DropTargetDropEvent.java + (dropComplete) :Implemented. + * java/awt/dnd/InvalidDnDOperationException.java + (InvalidDnDOperationException): Added call to super. + +2006-07-05 Robert Schuster + + * javax/swing/plaf/basic/BasicArrowButton.java: + (paint): Removed getBounds() call, changed center point + calculation. + +2006-07-05 David Gilbert + + * javax/swing/InputMap.java + (inputMap): Don't initialize yet, + (InputMap): Removed TODO, + (get): Check for null inputMap, + (put): Return immediately for null keyStroke, check for null inputMap + and initialize if necessary, + (remove): Check for null inputMap, + (size): Likewise, + (clear): Likewise, + (keys): Likewise, + (allKeys): Likewise, + (writeObject): Removed, + (readObject): Removed. + +2006-07-05 David Gilbert + + * gnu/classpath/examples/swing/TabbedPaneDemo.java + (createContent): Use different labels for buttons. + +2006-07-04 Andrew John Hughes + + * NEWS: Updated. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestMemoryPool.java, + * gnu/java/lang/management/MemoryPoolMXBeanImpl.java: + New files. + * java/lang/management/ManagementFactory.java: + (getMemoryPoolMXBeans()): Implemented. + * vm/reference/gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, + * vm/reference/java/lang/management/VMManagementFactory.java: + New files. + +2006-07-04 Lillian Angel + + * java/awt/dnd/DragSourceContext.java: + Removed FIXMEs from fields. + (DragSourceContext): Added code to initialize cursor and sourceActions. + (getDragSource): Added documentation. + (getComponent): Likewise. + (getTrigger): Likewise. + (getSourceActions): Added documentation and implemented. + (setCursor): Implemented. Added documentation. + (getCursor): Implemented. Added documentation. + (dragEnter): Added code to notify DragSource's listeners. + (dragOver): Likewise. + (dragExit): Likewise. + (dropActionChanged): Likewise. + (dragDropEnd): Likewise. + (dragMouseMoved): Implemented. + (getTransferable): Added API documentation. + (updateCurrentCursor): Added API documentation and partially implemented. + +2006-07-04 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (KeyHandler): Implemented. + +2006-07-04 Lillian Angel + + * java/awt/dnd/DragSourceContext.java + (DragSourceContext): Implemented fully. Fixed API docs. + (transferablesFlavorsChanged): Implemented. + (dragEnter): Implemented. + (dragOver): Implemented. + (dragExit): Implemented. + (dropActionChanged): Implemented. + (dragDropEnd): Implemented. + +2006-07-04 Lillian Angel + + * javax/swing/plaf/basic/BasicOptionPaneUI.java: + Fixed name of constant. + (getIconWidth): Changed name of constant returned. + (getIconHeight): Likewise. + (paint): Likewise. + (createSeparator): Marked as unimplemented. + * javax/swing/plaf/basic/BasicTableUI.java + (focusGained): Marked as unimplemented. + (focusLost): Marked as unimplemented. + (mouseEntered): Likewise. + (mouseMoved): Likewise. + (uninstallDefaults): Likewise. + * javax/swing/plaf/basic/BasicToolBarUI.java + (mouseClicked): Changed comment. + (mouseEntered): Likewise. + (mouseExited): Likewise. + (mouseMoved): Likewise. + (setOrientation): Implemented. + (ToolBarFocusListener): Marked as unimplemented. + (focusGained): Marked as unimplemented. + (focusLost): Marked as unimplemented. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (isLocationInExpandControl): + Mind the effect of the root visibility on the position of the control. + Quess icon width 18. (paintVerticalPartOfLeg): Do no paint the + vertical line over first level nodes. + +2006-07-04 Lillian Angel + + * javax/swing/plaf/basic/BasicMenuUI.java + (installKeyboardActions): Implemented to call super. Nothing else + needs to be done here. + (setupPostTimer): Marked as unimplemented. + (uninstallKeyboardActions): Implemented to call super. Nothing else + needs to be done here. + (mouseMoved): Removed TODO. Nothing to be done here. + (ChangeHandler): Implemented. + (menuDragMouseExited): Removed TODO. Nothing to be done here. + (menuDragMouseReleased): Removed TODO. Nothing to be done here. + (menuKeyReleased): Removed TODO. Nothing to be done here. + (menuKeyTyped): Marked as unimplemented. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java + (getDefaults): Set hash color to black. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Set hash color to grey blue. + * javax/swing/plaf/basic/BasicTreeUI.java + (instellDefaults): Set hash color. + * javax/swing/plaf/metal/MetalIconFactory.java + (TreeControlIcon.paint): Rewritten. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Always cancel the current editing session before doing anything else, + return immediately if this fails. + (TreeHomeAction): Ensure that the lead selection path is visible after + the action is performed. TreeIncrementAction: Likewise. TreeToggleAction: + Likewise. TreeTraverseAction: Likewise. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Returned back the code to handle the start of the click-pause-click + editing initiation, explained about this code. + (TreeStartEditingAction): New inner class. + (stopEditingInCompleteEditing): Explained about this field. + (completeEditing(boolean, boolean, boolean): Only return early + if there is no current editing session. + (createDefaultActions): Install TreeStartEditingAction and + TreeCancelEditingAction. + +2006-07-04 Mario Torre + + * configure.ac: Added new option --enable-default-preferences-peer + to pass user specified default preference backend. + If the GConf peer is built, GConf become the default backend. + * resource/META-INF/services/java.util.prefs.PreferencesFactory.in: + new file. + * lib/Makefile.am: excludes files terminating in 'in' from + the metafiles list. + * lib/copy-vmresources.sh.in: excludes files terminating in 'in' + from copy into META-INF. + * java/util/prefs/Preferences.java: added two new import + classes gnu.classpath.ServiceFactory and java.util.Iterator. + (getFactory): Now try to check for + a system defined default preference backend before to fall back on + FileBasedPreference. + +2006-07-04 Audrius Meskauskas + + PR 28061 + * javax/swing/JTree.java (COLLAPSED): Initialise to Boolean.FALSE. + (EXPANDED): Initialise to Boolean.TRUE. + * javax/swing/plaf/basic/BasicTreeUI.java (completeUIInstall): + First configure layout cache and then set the assigned value + as row mapper. Set the root visibility property. + (toggleExpandState): Obtains expansion state from the layout cache. + +2006-07-03 Andrew John Hughes + + * java/lang/management/MemoryPoolMXBean.java: + New file. + +2006-07-03 Raif S. Naffah + + * gnu/javax/crypto/RSACipherImpl.java: Source formatting. + +2006-07-03 Raif S. Naffah + + * gnu/javax/crypto/sasl/anonymous/AnonymousClient.java: Source formatting. + * gnu/javax/crypto/sasl/anonymous/AnonymousServer.java: Likewise. + * gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Client.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Server.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/CramMD5Util.java: Likewise. + * gnu/javax/crypto/sasl/crammd5/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/plain/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainClient.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainRegistry.java: Likewise. + * gnu/javax/crypto/sasl/plain/PlainServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/CALG.java: Likewise. + * gnu/javax/crypto/sasl/srp/ClientStore.java: Likewise. + * gnu/javax/crypto/sasl/srp/IALG.java: Likewise. + * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. + * gnu/javax/crypto/sasl/srp/PasswordFile.java: Likewise. + * gnu/javax/crypto/sasl/srp/SecurityContext.java: Likewise. + * gnu/javax/crypto/sasl/srp/ServerStore.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRP.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPRegistry.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/StoreEntry.java: Likewise. + * gnu/javax/crypto/sasl/AuthInfo.java: Likewise. + * gnu/javax/crypto/sasl/AuthInfoProviderFactory.java: Likewise. + * gnu/javax/crypto/sasl/ClientFactory.java: Likewise. + * gnu/javax/crypto/sasl/ClientMechanism.java: Likewise. + * gnu/javax/crypto/sasl/ConfidentialityException.java: Likewise. + * gnu/javax/crypto/sasl/IAuthInfoProvider.java: Likewise. + * gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java: Likewise. + * gnu/javax/crypto/sasl/IllegalMechanismStateException.java: Likewise. + * gnu/javax/crypto/sasl/InputBuffer.java: Likewise. + * gnu/javax/crypto/sasl/IntegrityException.java: Likewise. + * gnu/javax/crypto/sasl/NoSuchMechanismException.java: Likewise. + * gnu/javax/crypto/sasl/NoSuchUserException.java: Likewise. + * gnu/javax/crypto/sasl/OutputBuffer.java: Likewise. + * gnu/javax/crypto/sasl/SaslEncodingException.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslUtil.java: Likewise. + * gnu/javax/crypto/sasl/ServerFactory.java: Likewise. + * gnu/javax/crypto/sasl/ServerMechanism.java: Likewise. + * gnu/javax/crypto/sasl/UserAlreadyExistsException.java: Likewise. + +2006-07-02 Anthony Green + + * gnu/javax/sound/midi/file/MidiFileWriter.java (writeTrack): Make + sure that every track written ends with an End Of Track meta + message. + +2006-07-02 Andrew John Hughes + + * java/lang/management/MemoryUsage.java: + (toString()): Fix missing MB for maximum memory usage. + +2006-07-02 Andrew John Hughes + + * NEWS: + Updated to include VMCompilationMXBeanImpl. + * doc/vmintegration.texinfo: + Likewise, along with update to VMMemoryMXBeanImpl + as below. + * examples/gnu/classpath/examples/management/TestCompilation.java, + * gnu/java/lang/management/CompilationMXBeanImpl.java, + * java/lang/management/CompilationMXBeanImpl.java: + New files. + * java/lang/management/ManagementFactory.java: + (getCompilationMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/VMCompilationMXBeanImpl.java: + New file. + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + (getHeapMemoryUsage()): Added default implementation. + +2006-07-02 Anthony Green + + * NEWS: Mention MIDI file reader/writer providers. + +2006-07-02 Anthony Green + + * resource/META-INF/services/javax.sound.midi.spi.MidiFileWriter, + gnu/javax/sound/midi/file/MidiFileWriter.java, + gnu/javax/sound/midi/file/MidiDataOutputStream.java: New files. + +2006-07-01 Andrew John Hughes + + * NEWS: + Updated to include VMMemoryMXBeanImpl. + * doc/vmintegration.texinfo: Likewise. + * examples/gnu/classpath/examples/management/TestMemory.java: + New file. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: + Remove redundant import. + * gnu/java/lang/management/MemoryMXBeanImpl.java: + New file. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + Remove redundant import. + * java/lang/management/ManagementFactory.java: + (getMemoryMXBean()): Implemented. + * java/lang/management/MemoryMXBean.java, + * java/lang/management/MemoryUsage.java: + New files. + * java/lang/management/ThreadInfo.java: + (toString()): Updated documentation. + * vm/reference/gnu/java/lang/management/VMMemoryMXBeanImpl.java: + New file. + +2006-07-01 Anthony Green + + * resource/META-INF/services/javax.sound.midi.spi.MidiFileReader, + gnu/javax/sound/midi/file/MidiFileReader.java, + gnu/javax/sound/midi/file/ExtendedMidiFileFormat.java, + gnu/javax/sound/midi/file/MidiDataInputStream.java: New files. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/prng/ARCFour.java: Source formatting. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/prng/Fortuna.java: Likewise. + * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. + * gnu/javax/crypto/prng/PBKDF2.java: Likewise. + * gnu/javax/crypto/prng/PRNGFactory.java: Likewise. + * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/pad/BasePad.java: Source formatting. + * gnu/javax/crypto/pad/IPad.java: Likewise. + * gnu/javax/crypto/pad/PadFactory.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/SSL3.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/pad/TLS1.java: Likewise. + * gnu/javax/crypto/pad/WrongPaddingException.java: Likewise. + +2006-07-01 Anthony Green + + * javax/sound/midi/SysexMessage.java (setMessage): Fix sysex + status byte test. + (setMessage): Fix it again, in a different setMessage method. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/mode/BaseMode.java: Source formatting. + * gnu/javax/crypto/mode/CBC.java: Likewise. + * gnu/javax/crypto/mode/CFB.java: Likewise. + * gnu/javax/crypto/mode/CTR.java: Likewise. + * gnu/javax/crypto/mode/EAX.java: Likewise. + * gnu/javax/crypto/mode/ECB.java: Likewise. + * gnu/javax/crypto/mode/IAuthenticatedMode.java: Likewise. + * gnu/javax/crypto/mode/ICM.java: Likewise. + * gnu/javax/crypto/mode/IMode.java: Likewise. + * gnu/javax/crypto/mode/ModeFactory.java: Likewise. + * gnu/javax/crypto/mode/OFB.java: Likewise. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/mac/BaseMac.java: Source formatting. + * gnu/javax/crypto/mac/HMac.java: Likewise. + * gnu/javax/crypto/mac/HMacFactory.java: Likewise. + * gnu/javax/crypto/mac/IMac.java: Likewise. + * gnu/javax/crypto/mac/MacFactory.java: Likewise. + * gnu/javax/crypto/mac/MacInputStream.java: Likewise. + * gnu/javax/crypto/mac/MacOutputStream.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/mac/TMMH16.java: Likewise. + * gnu/javax/crypto/mac/UHash32.java: Likewise. + * gnu/javax/crypto/mac/UMac32.java: Likewise. + +2006-07-01 Anthony Green + + * javax/sound/midi/Track.java (vector, eventSet): Initialize. + +2006-07-02 Raif S. Naffah + + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Source formatting. + * gnu/javax/crypto/keyring/BaseKeyring.java: Likewise. + * gnu/javax/crypto/keyring/BinaryDataEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. + * gnu/javax/crypto/keyring/CompressedEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/IPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/MalformedKeyringException.java: Likewise. + * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/MeteredInputStream.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PrimitiveEntry.java: Likewise. + * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Likewise. + * gnu/javax/crypto/keyring/Properties.java: Likewise. + * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. + +2006-07-01 David Gilbert + + * javax/swing/AbstractCellEditor.java: Source code formatting, + * javax/swing/AbstractSpinnerModel.java: Likewise, + * javax/swing/Box.java: Likewise, + * javax/swing/BoxLayout.java: Likewise, + * javax/swing/DefaultListModel.java: Likewise, + * javax/swing/GrayFilter.java: Likewise, + * javax/swing/LookAndFeel.java: Likewise, + * javax/swing/ProgressMonitor.java: Likewise, + * javax/swing/ProgressMonitorInputStream.java: Likewise, + * javax/swing/ScrollPaneLayout.java: Likewise, + * javax/swing/SpringLayout.java: Likewise, + * javax/swing/event/EventListenerList.java: Likewise, + * javax/swing/event/MenuEvent.java: Likewise, + * javax/swing/event/TreeExpansionListener.java: Likewise. + +2006-07-01 Andrew John Hughes + + * NEWS: + Mention threading bean and getState(). + * doc/vmintegration.texinfo: + Update documentation for threading bean and new + method of VMThread. + +2006-07-01 Andrew John Hughes + + * examples/gnu/classpath/examples/management/TestClassLoading.java, + * examples/gnu/classpath/examples/management/TestOS.java, + * examples/gnu/classpath/examples/management/TestRuntime.java, + * examples/gnu/classpath/examples/management/TestThread.java: + New files. + +2006-07-01 Jeroen Frijters + + * java/lang/ThreadGroup.java + (getThreadFromId, getThreadFromIdImpl): New methods. + +2006-07-01 Jeroen Frijters + + * java/lang/Thread.java: + Make thread IDs start from 1 in a more efficient way. + +2006-07-01 Andrew John Hughes + + * java/lang/Thread.java: + Make thread IDs start from 1. + +2006-07-01 Andrew John Hughes + + * gnu/java/lang/management/BeanImpl.java: + New superclass for all bean implementations. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java: + Extend BeanImpl and call permission code there. + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + Extend BeanImpl. + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + Extend BeanImpl and call permission code there. + * gnu/java/lang/management/ThreadMXBeanImpl.java: + New file. + * java/lang/management/ManagementFactory.java: + (getThreadMXBean()): Implemented. + * java/lang/management/ThreadInfo.java: + (ThreadInfo(Thread,int)): Replaced... + (ThreadInfo(Thread,long,long,Object,Thread,long,long, + boolean, boolean, StackTraceElement[])): with this. + (getBlockedCount()): Refactored to use local variables. + (getBlockedTime()): Likewise. + (getLockName()): Likewise. + (getLockOwnerId()): Likewise. + (getLockOwnerName()): Likewise. + (getStackTrace()): Likewise. + (getWaitedCount()): Likewise. + (getWaitedTime()): Likewise. + (isInNative()): Likewise. + (isSuspended()): Likewise. + (toString()): Changed to use new local variables. + * java/lang/management/ThreadMXBean.java: + (getThreadInfo(long, int)): Corrected documentation. + (getThreadInfo(long[], int)): Likewise. + * vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java: + New file. + * vm/reference/java/lang/management/VMThreadInfo.java: + Removed. + +2006-07-01 Raif S. Naffah + + * gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java: Source formatting. + * gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java: Likewise. + * gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java: Likewise. + * gnu/javax/crypto/key/dh/DiffieHellmanSender.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalReceiver.java: Likewise. + * gnu/javax/crypto/key/dh/ElGamalSender.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKey.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java: Likewise. + * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6Host.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6SaslClient.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6SaslServer.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6TLSClient.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6TLSServer.java: Likewise. + * gnu/javax/crypto/key/srp6/SRP6User.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKey.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPPrivateKey.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPPublicKey.java: Likewise. + * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. + * gnu/javax/crypto/key/GnuSecretKey.java: Likewise. + * gnu/javax/crypto/key/IKeyAgreementParty.java: Likewise. + * gnu/javax/crypto/key/IncomingMessage.java: Likewise. + * gnu/javax/crypto/key/KeyAgreementException.java: Likewise. + * gnu/javax/crypto/key/KeyAgreementFactory.java: Likewise. + * gnu/javax/crypto/key/OutgoingMessage.java: Likewise. + +2006-07-01 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (transform): Make field protected. + (getDestinationRaster): Provide default implementation for + previously abstract method. + +2006-06-30 Tania Bento + + * java/awt/TextArea.java + (TextArea(String, int, int, int)): No longer throws + IllegalArgumentException if rows, columns, or scrollbarVisibility + values are invalid. + (TextArea(String, int, int, int)): If rows or columns are < 0, + they get set to 0. If scrollbarVisibility is < 0 or > 4, it + gets set to the default value of 0 (SCROLLBARS_BOTH). + (appendText): Added case when peer = null. + (insertText): Added case when peer == null. + (replaceText): Added case when peer == null. + * java/awt/TextComponent.java + (TextComponent(String)): If text == null, set it to "". + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Added synchronized block around groupMap.get calls. + (setCheckboxGroup): Likewise. + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Changed to be non-synchronized. + (setLabel): Likewise. + (setCheckboxGroup): Likewise. + (addToGroupMap): Likewise. Added synchronized block around + code. + (dispose): Changed to be non-synchronized. + +2006-06-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: + Changed all return values of native functions to void. + (create): Changed function to be synchronized. Removed + call to put value in groupMap, this is now done from + the native code. + (setState): Changed function to be synchronized. + (setLabel): Changed function to be synchronized. + (setCheckboxGroup): Changed function to be synchronized. Removed + call to put value in groupMap, this is now done from + the native code. + (postItemEvent): Changed function to be synchronized. + (addToGroupMap): New function. Called by native code to add + new value to the group. + (dispose): Changed function to be synchronized. + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Updated + all functions. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (cp_gtk_checkbox_init_jni): Added code to link to + java function. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): + Changed return value to void. Added call + to java function to set pointer in groupMap. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addtoGroup): Likewise. Also, + changed check to an assert. Also, removed call to set/del pointer. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): + Likewise. Also, added check to determine if native_group should be + set to NULL. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): Likewise. + +2006-06-30 Sven de Marothy + + * gnu/java/awt/ClasspathToolkit.java, + * gnu/java/awt/peer/x/XToolkit.java, + * gnu/java/awt/peer/qt/QtToolkit.java, + * gnu/java/awt/peer/gtk/GtkToolkit.java, + Remove ClasspathTextLayoutPeer. + * gnu/java/awt/peer/gtk/GdkTextLayout.java, + * gnu/java/awt/peer/ClasspathTextLayoutPeer: + Files removed. + +2006-06-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (drawGlyphVector): Don't draw empty vectors. + +2006-06-30 Lillian Angel + Tom Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java: Removed class. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java: + Added current_group, groupMap fields. Added definitions for + new native functions. + (create): Removed FIXME. Added code to create the check button or + radio button when appropriate. Updated groupMap to contain + pointer to the newly created group. + (setCheckboxGroup): Added code to handle all cases. Removing + a button from a group, adding a button to a group, or changing the + group of a button. + (dispose): Changed to call super. + * include/Makefile.am: Removed reference to + gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h. + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h: Removed file. + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Added definitions + for new functions. + * native/jni/gtk-peer/Makefile.am: Removed reference to + gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: + Removed file. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_combobox_get_widget): + Renamed to checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals): + Changed to use checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup): + Removed. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkWidgetModifyFont): + Changed to use checkbox_get_widget. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel): + Likewise. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createCheckButton): + New function. Creates checkbutton without a group. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_createRadioButton): + Creates a radio button in a group, using groupPointer. If groupPointer + is 0, then a new group is created. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_addToGroup): Adds the + check button to a group, using groupPointer. A radio button is created + in its place. If groupPointer is 0, then a new group is created. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_removeFromGroup): The + radio button is removed from the group. A check button is created in + its place. + (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_switchToGroup): The + radio button is moved to a new group. + +2006-06-30 Mark Wielaard + + * configure.ac: Move standard.omit creation after dirs are created. + Cat standard.omit.in from srcdir. Make exclude regex more explicit. + * lib/Makefile.am (EXTRA_DIST): Add standard.omit.in. + (clean-local): Remove standard.omit. + * lib/gen-classlist.sh.in: Use omit file in build dir. + * lib/standard.omit.in: Make exclude regex more explicit. + +2006-06-30 Roman Kennke + + * lib/Makefile.am: Added Escher dir/jar to classpath when + requested. + * configure.ac: Moved handling of standard.omit to a place + where it actually gets executed. + +2006-06-30 David Gilbert + + * java/awt/TextComponent.java: Reformatted source code, + * java/awt/TextField.java: Likewise. + +2006-06-29 Jeroen Frijters + + * java/lang/Thread.java: + (getState()): Handle case of no VMThread + correctly. + +2006-06-29 Andrew John Hughes + + * java/lang/Thread.java, + * java/lang/VMThread.java: + Reverted patch from 2006-06-28. + +2006-06-29 Roman Kennke + + * gnu/java/awt/peer/x/GLGraphics.java, + * gnu/java/awt/peer/x/ImageConverter.java, + * gnu/java/awt/peer/x/KeyboardMapping.java, + * gnu/java/awt/peer/x/XEventPump.java, + * gnu/java/awt/peer/x/XFontPeer.java, + * gnu/java/awt/peer/x/XFontPeer2.java, + * gnu/java/awt/peer/x/XFramePeer.java, + * gnu/java/awt/peer/x/XGraphics.java, + * gnu/java/awt/peer/x/XGraphics2D.java, + * gnu/java/awt/peer/x/XGraphicsConfiguration.java, + * gnu/java/awt/peer/x/XGraphicsDevice.java, + * gnu/java/awt/peer/x/XGraphicsEnvironment.java, + * gnu/java/awt/peer/x/XImage.java, + * gnu/java/awt/peer/x/XLightweightPeer.java, + * gnu/java/awt/peer/x/XToolkit.java, + * gnu/java/awt/peer/x/XWindowPeer.java, + * gnu/java/awt/peer/x/fonts.properties: New files. + * lib/standard.omit: Removed. + * lib/standard.omit.in: Added. + * configure.ac: Added configure option --with-escher. Added some + configury for omitting gnu.java.awt.peer.x package when + this option is not specified. + +2006-06-29 David Gilbert + + * javax/swing/JComponent.java + (JComponent()): Initialize the locale here, not the default locale, + (getDefaultLocale): If null, return Locale.getDefault(), + (setDefaultLocale): Added API docs. + +2006-06-29 Tania Bento + + * java/awt/Container.java + (applyComponentOrientation): Implemented method. + +2006-06-29 Gary Benson + + * java/io/File.java (listRoots): Merge security checks from libgcj. + +2006-06-29 Gary Benson + + * java/io/FilePermission.java (implies): Work when path is "/". + +2006-06-28 Andrew John Hughes + + * java/lang/Thread.java: + (Thread(ThreadGroup,Runnable,String,long)): Update + state. + (Thread(VMThread,String,int,boolean)): Likewise. + (join(long,int)): Likewise. + (resume()): Likewise. + (sleep(long,int)): Likewise. + (start()): Likewise. + (stop()): Likewise. + (suspend()): Likewise. + (die()): Likewise. + (getState()): Return either state or use VMThread. + * java/lang/VMThread.java: + (getState()): Added default implementation to return + thread.state + +2006-06-28 Andreas Tobler + + * gnu/java/awt/peer/gtk/CairoSurface.java: Swap the data from the + GdkPixbuf correctly on big endian systems. Fix a typo in the little + endian swapping code. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Swap the pixeldata + without alpha information correctly on big endian systems. + +2006-06-28 Roman Kennke + + * gnu/java/net/local/LocalSocket.java + (setSoTimeout): Don't throw exception and ignore request. + (getSoTimeout): Don't throw exception and always return 0. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (getRegisteredKeyStrokes): Implemented. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (verifyInputWhenFocusTarget): Initialise to true. + +2006-06-28 David Gilbert + + * java/beans/VetoableChangeSupport.java + (addVetoableChangeListener(VetoableChangeListener)): Do nothing for + null listener, + (addVetoableChangeListener(String, VetoableChangeListener)): Do nothing + for null property name and/or listener, + * javax/swing/JComponent.java + (getListeners): Handle VetoableChangeListener.class as a special case, + (getVetoableChangeListeners): Fetch these from the + vetoableChangeSupport object. + +2006-06-28 David Gilbert + + * javax/swing/JComponent.java + (componentPopupMenu): New field, + (inheritsPopupMenu): New field, + (getInheritsPopupMenu): Implemented, + (setInheritsPopupMenu): Likewise, + (getComponentPopupMenu): Likewise, + (setComponentPopupMenu): Likewise, + * javax/swing/JLabel.java + (JLabel(String, Icon, int)): Set inheritsPopupMenu to true. + +2006-06-28 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/GnuDHKey.java (str): New field. + (toString): New method. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java (encodePrivateKey): + Handle case when Q is null. + (decodePrivateKey): Likewise. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java (encodePublicKey): + Likewise. + (decodePublicKey): Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added AlgorithmParameters + aliases for all block ciphers. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java (result): Changed to byte[]. + (engineDoPhase): Compute fully the shared secret. + (checkState): New method. + (reset): Likewise. + (engineGenerateSecret()): Reset key-agreement before returning. + (engineGenerateSecret(byte[],int)): Check for short-buffer. + Reset key-agreement before returning. + (engineGenerateSecret(String)): Reset key-agreement before returning. + (engineInit(Key,SecureRandom)): Call reset() before returning. + * gnu/javax/crypto/jce/params/BlockCipherParameters.java (log): New field. + (engineInit): Replace printing to System.out with conditional logging. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java (engineInitHandler): + When the key-size is not specified, attempt best effort to find a suitable + value among those advertised by the cipher before setting it to the length + of provided key material. + +2006-06-28 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (changeEvent): Don't initialize yet, removed FIXME, + (fireColumnModelChanged): Initialize changeEvent if necessary. + +2006-06-27 Andrew John Hughes + + * java/lang/Thread.java: + (getAllStackTraces()): Implemented. + (getStackTrace()): Likewise. + +2006-06-27 Tania Bento + + * java/awt/Component.java + (setComponentOrientation): NPE should not be thrown. + +2006-06-27 Tom Tromey + + * configure.ac: Create gjar, gnative2ascii, gserialver. + * tools/gappletviewer.in: Quote $@. + * tools/gkeytool.in: Likewise. + * tools/gjarsigner.in: Likewise. + * tools/gjar.in: New file. + * tools/gnative2ascii.in: Likewise. + * tools/gserialver.in: Likewise. + * tools/Makefile.am (bin_PROGRAMS): Added gjar, gnative2ascii, + gserialver. + (bin_SCRIPTS): Likewise. + +2006-06-27 Andrew John Hughes + + * java/lang/management/ThreadMXBean.java: + (getThreadInfo(long[])): Corrected return type. + (getThreadInfo(long[], int)): Likewise. + +2006-06-27 Mark Wielaard + + * java/awt/datatransfer/Clipboard.java (addFlavorListener): Do + nothing when listener is null. + (removeFlavorListener): Likewise. + + * java/awt/datatransfer/DataFlavor.java + (getRepresentationClassFromMime): Renamed to + getRepresentationClassFromMimeThrows. + (isRepresentationClassInputStream): Use Class.isAssignableFrom(). + (isRepresentationClassSerializable): Likewise. + (isFlavorJavaFileListType): Likewise and check primary and + subtype. + (getParameter): Parameters are separated by semi-colons. + (DataFlavor(Class,String,String)): Do some sanity checks. + (DataFlavor(String,String,ClassLoader)): Call + getRepresentationClassFromMimeThrows. + (DataFlavor(String)): Likewise. + (equals(DataFlavor)): Special case primary type text and charset + parameter. + +2006-06-27 David Gilbert + + * java/awt/Component.java + (setName): Fire required PropertyChangeEvent, + * java/awt/Label.java + (getText): Removed redundant brackets, + (generateName): New method (override), + (nextLabelNumber): New field, + (getUniqueLong): New method. + +2006-06-27 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (createImage): Delegate this to the parent. + (handleEvent): Only handle PAINT/UPDATE events when the + component is actually showing. + (hide): Repaint the parent after hiding a component. + (prepareImage): Have only one return point. + (setVisible): Delegate to show() and hide(). + (createVolatileImage): Added null check to avoid NPE. + +2006-06-27 David Gilbert + + * java/awt/Label.java: Reformatted source code. + +2006-06-27 Roman Kennke + + * java/awt/image/BufferedImage.java + (getSource): Use a fixed DirectColorModel to deliver the + RGB pixels to the ImageConsumer. + +2006-06-27 David Gilbert + + * java/awt/Point.java + (setLocation(double, double)): Round to nearest integer coordinates. + +2006-06-27 David Gilbert + + * java/awt/Component.java + (minSizeSet): New field, + (maxSize): Likewise, + (maxSizeSet): Likewise, + (isMaximumSizeSet): Implemented, + (isMinimumSizeSet): Likewise, + (isPreferredSizeSet): Likewise, + (setMaximumSize): Likewise, + (setMinimumSize): Likewise, + (setPreferredSize): Likewise. + +2006-06-27 Roman Kennke + + * javax/imageio/spi/IIORegistry.java + (IIORegistry): Added BMP codec. + +2006-06-27 Mark Wielaard + + * javax/swing/JComponent.java + (firePropertyChange(String,char,char)): New override method. + +2006-06-26 Andrew John Hughes + + * java/lang/Thread.java: + (getState()): New method. + * java/lang/management/ClassLoadingMXBean.java: + Corrected class documentation. + * java/lang/management/ManagementFactory.java: + Added new temporary marked stub to get thread bean. + * java/lang/management/OperatingSystemMXBean.java: + Corrected class documentation. + * java/lang/management/RuntimeMXBean.java: + Corrected class documentation. + * java/lang/management/ThreadInfo.java, + * java/lang/management/ThreadMXBean.java: + New classes. + * vm/reference/java/lang/VMThread.java: + (getState()): New method. + * vm/reference/java/lang/management/VMThreadInfo.java: + New VM class. + +2006-06-26 Sven de Marothy + + * gnu/javax/imageio/gif/GIFFile.java + * gnu/javax/imageio/gif/GIFImageReader.java + * gnu/javax/imageio/gif/GIFImageSpi.java + * gnu/javax/imageio/gif/GIFStream.java + New files. + * javax/imageio/spi/IIORegistry.java: Load new GIF decoder plugin. + +2006-06-26 Tania Bento + + * java/awt/List.java + (List): A list should have at least 4 visible rows. + (replaceItem): Should throw an ArrayIndexOutOfBoundsException, + not an IllegalArgumentException. + (makeVisible): Should not throw an IllegalArgumentException if + the specified index is out of range. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (getNextMatch): Reimplemented to perform a circular search for the + matching item. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (init): Set default value for visibleRowCount to 8, + (setVisibleRowCount): Fire PropertyChangeEvent when value changes. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (valueIsAdjusting): Removed, + (init): Removed initialization of valueIsAdjusting field, + (getValueIsAdjusting): Fetch value from selection model, + (setValueIsAdjusting): Store value in selection model. + +2006-06-26 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (installKeyboardActions): Rewritten to fit with the + ActionMap/InputMap architecture. + (uninstallKeyboardActions): Implemented. + (ListAction): Made private. Added TODO for splitting + up this bulk Action. + (ListAction.ListAction): New constructor. This one + takes a cmd parameter to be installed as actionCommand. + +2006-06-26 Raif S. Naffah + + * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Remove RCS Revision. + * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. + +2006-06-26 Raif S. Naffah + + * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Source formatting. + * gnu/javax/crypto/jce/GnuSasl.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java: Likewise. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java: Likewise. + * gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/FortunaImpl.java: Likewise. + * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/params/DERWriter.java: Likewise. + * gnu/javax/crypto/jce/params/DERReader.java: Likewise. + * gnu/javax/crypto/jce/params/DEREncodingException.java: Likewise. + * gnu/javax/crypto/jce/params/BlockCipherParameters.java: Likewise. + * gnu/javax/crypto/jce/mac/UMac32Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/UHash32Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/TMMH16Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacTwofishImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacSquareImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacSerpentImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacKhazadImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacDESImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacCast5Impl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacAnubisImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/MacAdapter.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacTigerSpi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD5Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD4Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacMD2Spi.java: Likewise. + * gnu/javax/crypto/jce/mac/HMacHavalSpi.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/cipher/TwofishSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/TripleDESSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/SquareSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/SerpentSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/RijndaelSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. + * gnu/javax/crypto/jce/cipher/NullCipherSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/KhazadSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/DESSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. + * gnu/javax/crypto/jce/cipher/Cast5Spi.java: Likewise. + * gnu/javax/crypto/jce/cipher/BlowfishSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/ARCFourSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AnubisSpi.java: Likewise. + * gnu/javax/crypto/jce/cipher/AESSpi.java: Likewise. + +2006-06-26 David Gilbert + + * javax/swing/JList.java + (setLayoutOrientation): Check for valid argument. + +2006-06-26 Roman Kennke + + * javax/swing/JComponent.java + (firePropertyChange(String,int,int)): New method. Overrides + Component method and makes it public. + (firePropertyChange(String,boolean,boolean)): Likewise. + +2006-06-25 Vivek Lakshmanan + + * gnu/java/security/.cvsignore: New File. + * gnu/java/security/Configuration.java.in: New File. + * gnu/java/security/Properties.java: Change import from + gnu.classpath.Configuration to gnu.java.security.Configuration. + * gnu/java/security/hash/Whirlpool.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. + * gnu/java/security/pkcs/SignerInfo.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/x509/X509CRL.java: Likewise. + * gnu/java/security/x509/X509CRLEntry.java: Likewise. + * gnu/java/security/x509/ext/Extension.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/pad/BasePad.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Likewise. + * gnu/javax/security/auth/login/GnuConfiguration.java + (getAppConfigurationEntry): Change reference to + gnu.classpath.Configuration.DEBUG to gnu.java.security.Configuration.DEBUG. + (getConfigFromUserHome): Likewise. + (getInputStreamFromURL): Likewise. + (getUserHome): Likewise. + (init): Likewise. + (processSecurityProperties): Likewise. + (processSystemProperty): Likewise. + (processUserHome): Likewise. + * configure.ac: Add gnu/java/security/Configuration.java to AC_CONFIG_FILES list. + * lib/Makefile.am: Remove gnu/java/security/Configuration.java when required. + + +2006-06-25 Carsten Neumann + + * javax/swing/text/DefaultCaret.java (isActive): New method. + +2006-06-26 Andrew John Hughes + + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * java/lang/management/ClassLoadingMXBean.java: + (getTotalLoadedClassCount()): Corrected return type. + (getUnloadedClassCount()): Likewise. + * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: + (getUnloadedClassCount()): Likewise. + +2006-06-25 Raif S. Naffah + + * gnu/javax/crypto/cipher/WeakKeyException.java: Source formatting. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/cipher/TripleDES.java: Likewise. + * gnu/javax/crypto/cipher/Square.java: Likewise. + * gnu/javax/crypto/cipher/Serpent.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/NullCipher.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipher.java: Likewise. + * gnu/javax/crypto/cipher/DES.java: Likewise. + * gnu/javax/crypto/cipher/CipherFactory.java: Likewise. + * gnu/javax/crypto/cipher/Cast5.java: Likewise. + * gnu/javax/crypto/cipher/Blowfish.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + +2006-06-25 Raif S. Naffah + + * gnu/javax/crypto/assembly/TransformerException.java: Source formatting. + * gnu/javax/crypto/assembly/Transformer.java: Likewise. + * gnu/javax/crypto/assembly/Stage.java: Likewise. + * gnu/javax/crypto/assembly/PaddingTransformer.java: Likewise. + * gnu/javax/crypto/assembly/Operation.java: Likewise. + * gnu/javax/crypto/assembly/ModeStage.java: Likewise. + * gnu/javax/crypto/assembly/LoopbackTransformer.java: Likewise. + * gnu/javax/crypto/assembly/Direction.java: Likewise. + * gnu/javax/crypto/assembly/DeflateTransformer.java: Likewise. + * gnu/javax/crypto/assembly/CascadeTransformer.java: Likewise. + * gnu/javax/crypto/assembly/CascadeStage.java: Likewise. + * gnu/javax/crypto/assembly/Cascade.java: Likewise. + * gnu/javax/crypto/assembly/Assembly.java: Likewise. + +2006-06-24 Andrew John Hughes + + * NEWS, + * doc/vmintegration.texinfo: + Updated with information on new VM interface. + * gnu/java/lang/management/ClassLoadingMXBeanImpl.java, + * java/lang/management/ClassLoadingMXBean.java: + New files implementing the class loading bean. + * java/lang/management/ManagementFactory.java: + (getClassLoadingMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/VMClassLoadingMXBeanImpl.java: + New VM interface file. + +2006-06-24 Andrew John Hughes + + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + (isBootClassPathSupported()): Use SystemProperties + rather than System.getProperty. + +2006-06-24 Raif S. Naffah + + * gnu/java/security/Properties.java: Source formatting. + * gnu/java/security/Registry.java: Likewise. + +2006-06-24 Raif S. Naffah + + * gnu/java/security/util/Util.java: Source formatting. + * gnu/java/security/util/SimpleList.java: Likewise. + * gnu/java/security/util/Sequence.java: Likewise. + * gnu/java/security/util/PRNG.java: Likewise. + * gnu/java/security/util/ExpirableObject.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/sig/SignatureFactory.java: Likewise. + * gnu/java/security/sig/ISignatureCodec.java: Likewise. + * gnu/java/security/sig/ISignature.java: Likewise. + * gnu/java/security/sig/BaseSignature.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java: Likewise. + * gnu/java/security/sig/rsa/RSA.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java: Likewise. + * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java: Likewise. + * gnu/java/security/sig/dss/DSSSignatureRawCodec.java: Likewise. + * gnu/java/security/sig/dss/DSSSignature.java: Likewise. + * gnu/java/security/provider/X509CertificateFactory.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/provider/Gnu.java: Likewise. + * gnu/java/security/prng/RandomEventListener.java: Likewise. + * gnu/java/security/prng/RandomEvent.java: Likewise. + * gnu/java/security/prng/PRNGFactory.java: Likewise. + * gnu/java/security/prng/MDGenerator.java: Likewise. + * gnu/java/security/prng/LimitReachedException.java: Likewise. + * gnu/java/security/prng/IRandom.java: Likewise. + * gnu/java/security/prng/EntropySource.java: Likewise. + * gnu/java/security/prng/BasePRNG.java: Likewise. + +2006-06-23 Francis Kung + + * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java + (Harness.actionPerformed): Process additional options. + (J2dBenchmarkWrapper): Defer init call until after options are processed. + (J2dBenchmarkWrapper.setAlias): New method. + (J2dBenchmarkWrapper.setComposite): New method. + (J2dBenchmarkWrapper.setFill): New method. + (J2dBenchmarkWrapper.setRotation): New method. + (J2dBenchmarkWrapper.setShear): New method. + (J2dBenchmarkWrapper.setStroke): New method. + (J2dBenchmarkWrapper.setTranslation): New method. + (run): Add additional options to GUI. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: + Added protected fields for various options. + (GraphicsTest.runSet_noClipping): Reset graphics settings between tests. + (GraphicsTest.runSet_withClipping): Reset graphics settings between tests. + (GraphicsTest.runSet_zeroClipping): Reset graphics settings between tests. + (getNextColor): Renamed to setRandom. + (init): Load additional image for texturing if needed. + (loadBufferedImage): New method. + (main): Accept additional command-line switches. + (prepareGraphics): New method. + (resetGraphics): New method. + (runTestSuite): Accept additional image-processing options. + (setRandom): Renamed from getNextColor; generate various random options + (test_drawArc): Rename getNextColor to setRandom. + (test_drawCubic): Likewise. + (test_drawEllipse): Likewise. + (test_drawGeneralPath): Likewise. + (test_drawImage): Likewise. + (test_drawLine): Likewise. + (test_drawQuadCurve): Likewise. + (test_drawRectangle): Likewise. + (test_drawRoundRectangle): Likewise. + (test_drawTransparentImage): Likewise. + (test_fillArc): Rename getNextColor to setRandom. + (test_fillEllipse): Likewise. + (test_fillGeneralPath): Likewise. + (test_fillRectangle): Likewise. + (test_fillRoundRectangle): Likewise. + (TestRecorder.getAverage): Round the average time. + +2006-06-23 Tom Tromey + + * java/util/logging/LoggingMXBean.java: New file. + * java/util/logging/LogManager.java (LOGGING_MXBEAN_NAME): New field. + (loggingBean): New field. + (getLoggingMXBean): New method. + +2006-06-23 Tania Bento + + * java/awt/TextField.java + (TextField): Default number of columns should be 0, not 1. + (TextField): Check if number of columns given as argument + is valid (>= 0) and set the number of columns accordingly. + (TextField): Check if the string passed is null. If it is, + set columns to 0, else columns is set to the length of + the string. + +2006-06-23 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (InternalFramePropertyChangeListener.propertyChange): + Don't call getPropertyName() repeatedly. Added null checks + to avoid NPEs. Call closeFrame() if the closed property + changes. + +2006-06-23 Roman Kennke + + * javax/swing/JInternalFrame.java + (maxTransition): Removed. + (JInternalFrame): Set maxium=false. Initialize desktopIcon here. + Don't initialize storedBounds here. + (dipose): Rewritten to correctly dispose the JInternalFrame. + (getDesktopIcon): Don't initialize desktopIcon here. + (getLayer): Delegate to JLayeredPane.getLayer(). + (getNormalBounds): Return bounds when storedBounds == null, + otherwise storedBounds. + (hide): Don't change selection. Also hide the desktopIcon. + (moveToBack): Call getParent() only once. + (moveToFront): Call getParent() only once. + (pack): Call validate() to make sure that the layout is + propagated to the children. + (setClosed): Fire InternalFrameEvent first, before the + PropertyVetoEvent. + (setJMenuBar): Fire PropertyChangeEvent for this property. + (setLayer): Delegate to JLayeredPane. + (setLayeredPane): Check for null and throw IllegalArgumenException. + (setMaximum): Remove handling of maxTransition and normalBounds. + Should probably be done in the UI. + (setNormalBounds): Store Rectangle object directly, not a copy. + (setRootPane): Go into rootPaneCheckingEnabled mode so that + adding the RootPane doesn't add it to the contentPane. + Fire PropertyChangeEvent. + (setSelected): Added condition for when this property must not + be changed. + (show): Don't ask the DesktopPane to select the frame. Moved + code around to fire InternalFrameEvent before actually calling + super.show(). Also make the desktopIcon visible. + (setTitle): Fire PropertyChangeEvent unconditionally. + +2006-06-23 Roman Kennke + + * javax/swing/JLayeredPane.java + (getPosition): Moved code around to avoid unnecessary method calls. + (setPosition): Delegate to setLayer(). + (insertIndexForLayer(int,int)): Delegate to new private helper method. + (insertIndexForLayer(Component,int,int)): New helper method + to support the use of setComponentZOrder() which doesn't remove + the component and thus the insertIndexForLayer must ignore + the component to be moved to get the index right. + (setLayer): Added check to prevent unnecessary execution of + method body. Changed to update the component order here. + Added repaint() to make sure that the update becomes visible. + (addImpl): Call setLayer() only when a constraint has been specified. + Validate and repaint the JLayeredPane. + +2006-06-23 Roman Kennke + + * java/awt/Container.java + (getComponentZOrder): Use ncomponents instead of + component.length so that we don't consider the empty space + after the last component. + +2006-06-22 Roman Kennke + + * javax/swing/JComponent.java + (vetoableChangeSupport): New field. + (removeVetoableChangeListener): Rewritten to use + vetoableChangeSupport. + (addVetoableChangeListener): Rewritten to use + vetoableChangeSupport. + (fireVetoableChange): Rewritten to use + vetoableChangeSupport. + (addPropertyChangeListener): Removed. This is handled in + Component already. + (firePropertyChange(String,boolean,boolean)): Likewise. + (firePropertyChange(String,char,char)): Likewise. + (firePropertyChange(String,int,int)): Likewise. + (revalidate): Don't do anything when the commponent has no + parent. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java: Updated API docs. + +2006-06-22 Robert Schuster + + * java/awt/Insets.java: Updated copyright year. + (toString): Changed string, removed a line from the + documentation. + +2006-06-22 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (AbstractDocument): Set the i18n document property. + (removeImpl): Added checks for correct boundaries. + +2006-06-22 Roman Kennke + + * javax/swing/text/PlainDocument.java + (rootElement): Changed type to Element. + (tabSize): Removed field. This is stored in the document properties + instead. + (PlainDocument): Set tabSize property. Init rootElement without + cast. + (insertUpdate): Rewritten. The previous implementation did not + handle some corner cases properly and was a mess. + (removeUpdate): Cast rootElement to BranchElement. + +2006-06-22 David Gilbert + + * javax/swing/plaf/basic/BasicLabelUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (propertyChange): Add handling for 'displayedMnemonic' and 'labelFor' + properties. + +2006-06-22 Robert Schuster + + * javax/swing/JMenu.java: + (removeAll): Added check for popupMenu not being null. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (getText): Updated API docs, + (setText): Corrected the check for an unchanged value, and the update + of the displayedMnemonicIndex. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (setDisplayedMnemonic(int)): Fire property change event AFTER updating + field, + (setDisplayedMnemonicIndex): Modified argument checking to handle case + where label text is null. + +2006-06-22 David Gilbert + + * javax/swing/JLabel.java + (setDisplayedMnemonic): Updated API docs, + (getDisplayedMnemonic): Removed unnecessary type-cast, + (setDisplayedMnemonicIndex): Removed unnecessary validation, + (getDisplayedMnemonicIndex): Updated API docs. + +2006-06-21 Jeroen Frijters + + * java/util/Collections (entrySet): Fixed compile error. + +2006-06-21 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (getSelectionMode): Updated API docs, + (setAnchorSelectionIndex): Added ListSelectionEvent generation, + (addSelectionInterval): If mode is SINGLE_SELECTION, just call + setSelectionInterval(), + (setSelectionInterval): Reimplemented SINGLE_SELECTION and + SINGLE_INTERVAL_SELECTION cases. + +2006-06-21 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BranchElement.numChildren): New field. + (BranchElement.BranchElement): Initialize children array with + one element (that's the least number of elements that makes sense). + Initialize numChildren. + (BranchElement.children): Use numChildren as boundary. + (BranchElement.getElement): Use numChildren as boundary. + (BranchElement.getElementCount): Use numChildren as boundary. + (BranchElement.getElementIndex): Use numChildren as boundary. + (BranchElement.getEndOffset): Use numChildren as boundary. + (BranchElement.getStartOffset): Use numChildren as boundary. + (BranchElement.positionToElement): Use numChildren as boundary. + (BranchElement.replace): Handle the children array more efficiently + by growing in blocks > 1, and reusing space from removed elements. + (LeafElement.startDelta): Removed. + (LeafElement.endDelta): Removed. + (LeafElement.LeafElement): Removed handling of deltas. + (LeafElement.getEndOffset): Likewise. + (LeafElement.getStartOffset): Likewise. + * javax/swing/text/JTextComponent.java + (setDocument): Added locking of the old document to avoid dangling + notification beeing delivered while the document is beeing + disconnected. + (getScrollableTracksViewportWidth): Fixed condition. + * javax/swing/text/PlainDocument.java + (createDefaultRoot): Create elements without AttributeSet. + * javax/swing/text/rtf/RTFParser.java + (parseFile): Handle slightly incorrect RTF gracefully. + * javax/swing/text/rtf/RTFScanner.java + (lastToken): New field. + (readTokenImpl): New method. + (peekToken): New method. + (readToken): Changed to call readTokenImpl or return the lastToken + if there's one present. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + (remove): An IllegalArgumentException should be thrown if + either index < 0 or if index > 0 and there are no menu + components. Also, a check was added that ensures there are + menu components before removing the desired the component. + +2006-06-21 Lillian Angel + + * javax/swing/text/DefaultCaret.java + (install): Added check to prevent NPE. + (propertyChange): Added checks to prevent NPEs. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + Changed instantiation of popupMenu to null. + (JMenu): Instantiated popupMenu to new JPopupMenu. + (JMenu): Instantiated popupMenu to new JPopupMenu. + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (add): Changed popupMenu to getPopupMenu(). + (remove): Changed popupMenu to getPopupMenu(). + (remove): Changed popupMenu to getPopupMenu(). + (insert): Changed popupMenu to getPopupMenu(). + (setSelectedHelper): Changed popupMenu to getPopupMenu(). + (isPopupMenuVisible): Changed popupMenu to getPopupMenu(). + (setPopupMenuVisible): Changed popupMenu to getPopupMenu(). + (getMenuComponentCount): Changed popupMenu to getPopupMenu(). + (getMenuComponents): Changed popupMenu to getPopupMenu(). + (getPopupMenu): Check first if popupMenu is null and if so, + instantiate it to a new JPopupMenu and set the invoker. + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (popupMenuWillBecomeVisible): Component Listener should only + be added to the root container if the root container is not + null. This avoids a null pointer exception. + +2006-06-21 Tania Bento + + * javax/swing/JMenu.java + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (JMenu): Delay should be set to 200, not default of 0. + (remove): Added check that index >= 0 before removing + the component. + (getItem): Return null if item count equals 0. + (isTearOff): Should throw new error and not return false. + (getMenuComponent): Return null if popupMenu is null or + if there are no menu components. + +2006-06-21 Roman Kennke + + * java/awt/font/FontRenderContext.java: + (equals): Added special conditions for affineTransform beeing + null. + +2006-06-21 Roman Kennke + + * javax/swing/UIManager.java + (MultiplexUIDefaults.clear): Removed method. The fallback UIDefaults + must not be cleared. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (paintHorizontalGradient): Use paintHorizontalGradient2D when + Graphics2D is available. Use fillRect instead of drawLine, this + is much faster. + (paintVerticalGradient): Use paintHorizontalGradient2D when + Graphics2D is available. Use fillRect instead of drawLine, this + is much faster. + (paintHorizontalGradient2D): New method. Paints gradient + using Graphics2D functions. + (paintVerticalGradient2D): New method. Paints gradient + using Graphics2D functions. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (propertyChange): Create a TextLayout and store it in the button + when the 'text' property changes. + * javax/swing/plaf/basic/BasicButtonUI.java + (paintText): Call BasicGraphicsUtils utility method for + drawing strings, instead of Graphics.drawString(). + * javax/swing/plaf/basic/BasicGraphicsUtils.java + (CACHE_TEXT_LAYOUT): New constant field. Used as a key for storing + cached text layouts as client properties in JComponents. + (drawString(JComponent,Graphics,String,int,int)): New helper method. + (drawStringUnderlineCharAt): New helper method. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (PropertyChangeHandler.propertyChange): Update cached text layout + when 'text' property changes. Use equals() instead of == for + string comparison. + (paintText): Use new BasicGraphicsUtils methods for painting + the cached text layout. + (installListeners): Call super.installListeners() and remove + the unneeded listener installs. + (uninstallListeners): Call super.uninstallListeners() and remove + the unneeded listener uninstalls. + +2006-06-21 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (PropertyChangeHandler.propertyChange): Handle document listener + update here. + (background): Removed unneeded fields. + (inactiveBackground): Remove unneeded fields. + (installUI): Install the document listener. Slightly changed + order of operations. Don't trigger modelChanged(). + (installDefaults): Only install properties when the + current properties are null or instances of UIResource. + (installListeners): Removed unnecessary listener installs. + (installDocumentListeners): Removed unneeded method. + (uninstallListeners): Removed unnecessary listener uninstalls. + (modelChanged): Removed call to installDocumentListeners(). + * javax/swing/plaf/basic/BasicTextFieldUI.java + (propertyChange): Update the colors by fetching them from + SharedUIDefaults. Fixed conditions. + * javax/swing/plaf/basic/SharedUIDefaults.java + (getColor): New method. + +2006-06-21 Roman Kennke + + * javax/swing/SizeSequence.java + (SizeSequence): Initialize array with correct number of entries. + +2006-06-21 Roman Kennke + + * javax/swing/JSplitPane.java + (setDividerLocation): Substract divider size when computing + the absolute size. + +2006-06-21 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenWithOverlap): Determine opaque property by + calling the corresponding Component method, without requiring + a JComponent. + (paintChildrenOptimized): Removed old unneeded code. + (paintImmediately): Use JComponent's convertRectangleToAncestor() + method instead of SwingUtilities.convertRectangle(). This is + more efficient. + +2006-06-21 Roman Kennke + + * javax/swing/AbstractButton.java + (init): Call setText() instead of setting the property directly, + so that listeners (especially in the UI) get notified. + +2006-06-21 Roman Kennke + + * javax/swing/UIManager.java + (MultiplexUIDefaults): New inner class. + (currentUIDefaults): Changed type to be MultiplexUIDefaults. + (userUIDefaults): Changed name to be lookAndFeelDefaults. + (): Call setLookAndFeel(String) instead of trying to load + directly. Print stacktrace if something goes wrong. + (get): Delegate call to currentUIDefaults. + (getDefaults): If currentUIDefaults is null, then lazily instantiate + it. + (getUI): Delegate call to currentUIDefaults. + (put): Delegate call to currentUIDefaults. + (setLookAndFeel): Initialize currentUIDefaults with + MultiplexUIDefaults. Set lookAndFeelDefaults. + (setLookAndFeel): Use current thread's context classloader for + loading the L&F. + +2006-06-21 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.GapContentPosition): Replace + Collections.binarySearch with call to local search() to make + sure we find the first object that equals the searched object. + (setPositionsInRange): Likewise. + (adjustPositionsInRange): Likewise. + (search): New helper method. + +2006-06-21 Gary Benson + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: Add security check. + * gnu/java/awt/peer/qt/QtGraphics.java: Likewise. + * gnu/java/awt/java2d/AbstractGraphics2D.java: Likewise. + +2006-06-20 Thomas Fitzsimmons + + * native/plugin/Makefile.am (libgcjwebplugin_la_CXXFLAGS): Define + APPLETVIEWER_EXECUTABLE to gappletviewer. + +2006-06-20 Tom Tromey + + PR classpath/28095: + * java/net/URL.java (URL): Throw MalformedURLException if a + RuntimeException is caught. Chain exceptions. + +2006-06-20 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java + (create): Added check to prevent Seg Fault. Should not + set the label if it is null. + * gnu/java/awt/peer/gtk/GtkLabelPeer.java + (setText): Changed to be a non-native function. Calls + setNativeText if the String parameter is non-null. + (setNativeText): Replaces old native setText function. + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c + (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText): Removed. + Replaced by Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText. + (Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setNativeText): Replaced + Java_gnu_java_awt_peer_gtk_GtkLabelPeer_setText. + +2006-06-20 Lillian Angel + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Rewrote all javadocs + for this inner class. + +2006-06-20 Francis Kung + + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: + Changed many members to be protected. + (J2dBenchmark): moved to init() instead. + (init): New method. + (main): Call init() after creating object + (testComplete): New method. + (test_drawArc): Use maxTests varialbe instead of constant. + (test_drawCubicCurve): Likewise. + (test_drawEllipse): Likewise. + (test_drawGeneralPath): Likewise. + (test_drawImage): Likewise. + (test_drawLine): Likewise. + (test_drawQuadCurve): Likewise. + (test_drawRectangle): Likewise. + (test_drawRoundRectangle): Likewise. + (test_drawTransparentImage): Likewise. + (test_fillArc): Likewise. + (test_fillEllipse): Likewise. + (test_fillGeneralPath): Likewise. + (test_fillRectangle): Likewise. + (test_fillRoundRectangle): Likewise. + (GraphicsTest.runSetNoClipping): Added runCount parameter. + (GraphicsTest.runSetWithClipping): Likewise. + (GraphicsTest.runSetZeroClipping): Likewise. + (GraphicsTest.run): Added checks for more option flags. + * examples/gnu/classpath/examples/java2d/J2dBenchmarkGUI.java: + New file. + +2006-06-20 Roman Kennke + + * javax/swing/text/GapContent.java + (GapContentPosition.mark): New field. + (GapContentPosition.index): Removed. + (GapContentPosition.GapContentPosition): Changed to take the + real offset as parameter. Added handling of reference counter. + Try to cleanup before creating new instances. + (getOffset): Delegate to the Mark method with same name. + (Mark): New class, encapsulating a mark. + (positionMarks): Removed field. + (numMarks): Removed field. + (marks): New field. + (queueOfDeath): New field. + (GapContent): Removed init of old fields, added init of new fields. + (createPosition): Added check for validity of arguments. + Create GapContentPosition directly with offset. + (shiftEnd): Pass end of buffer directly to adjustPositionsInRange. + (shiftGap): Pass end of buffer directly to adjustPositionsInRange. + (shiftGapStartDown): Call resetMarksAtZero(). + (shiftGapEndUp): Call resetMarksAtZero(). + (replace): Don't call resetMarksAtZero(). + (setPositionInRange): Replaced by simpler algorithm, similar to + adjustPositionsInRange. + (adjustPositionsInRange): Adapted to use of Mark objects. + (resetMarksAtZero): Reset all marks that point to zero instead + of only the first one. + (dumpMarks): Adjusted to dump Mark objects. + (insertMark): Removed. + (garbageCollect): New method. Cleans up the marks list. + (binarySearch): Removed. + +2006-06-20 Lillian Angel + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Added call to updateColor because + Cairo seems to lose the current color. + +2006-06-20 Gary Benson + + * java/awt/Toolkit.java: Add security check. + * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. + * gnu/java/awt/peer/qt/QtToolkit.java: Likewise. + +2006-06-20 Raif S. Naffah + + * gnu/java/security/key/dss/DSSKey.java: Source formatting. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairRawCodec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java: Likewise. + * gnu/java/security/key/dss/FIPS186.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairRawCodec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/IKeyPairCodec.java: Likewise. + * gnu/java/security/key/IKeyPairGenerator.java: Likewise. + * gnu/java/security/key/KeyPairCodecFactory.java: Likewise. + * gnu/java/security/key/KeyPairGeneratorFactory.java: Likewise. + +2006-06-19 Lillian Angel + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Should always use getRGB to get the pixels. + getData returns an incorrect array of pixels. + +2006-06-19 Raif S. Naffah + + * gnu/java/security/jce/hash/HavalSpi.java: Source formatting. + * gnu/java/security/jce/hash/MD2Spi.java: Likewise. + * gnu/java/security/jce/hash/MD4Spi.java: Likewise. + * gnu/java/security/jce/hash/MD5Spi.java: Likewise. + * gnu/java/security/jce/hash/MessageDigestAdapter.java: Likewise. + * gnu/java/security/jce/hash/RipeMD128Spi.java: Likewise. + * gnu/java/security/jce/hash/RipeMD160Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha160Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha256Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha384Spi.java: Likewise. + * gnu/java/security/jce/hash/Sha512Spi.java: Likewise. + * gnu/java/security/jce/hash/TigerSpi.java: Likewise. + * gnu/java/security/jce/hash/WhirlpoolSpi.java: Likewise. + * gnu/java/security/jce/prng/HavalRandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD2RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD4RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/MD5RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/RipeMD128RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/RipeMD160RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/SecureRandomAdapter.java: Likewise. + * gnu/java/security/jce/prng/Sha160RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha256RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha384RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/Sha512RandomSpi.java: Likewise. + * gnu/java/security/jce/prng/TigerRandomSpi.java: Likewise. + * gnu/java/security/jce/prng/WhirlpoolRandomSpi.java: Likewise. + * gnu/java/security/jce/sig/DSSKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/jce/sig/DSSParameters.java: Likewise. + * gnu/java/security/jce/sig/DSSRawSignatureSpi.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + +2006-06-19 Raif S. Naffah + + * NEWS: Updated (delayed) for security tools and tools.texinfo. + +2006-06-19 Roman Kennke + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Clip volatile image correctly. + (drawVolatileImage): Added arguments for clipping. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (drawVolatileImage): Added arguments for clipping. Clip image + correctly. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + +2006-06-19 Audrius Meskauskas + + PR 28035 + * java/rmi/server/UID.java (constructor): Synchronized + the whole constructor on the UID class. + +2006-06-19 Roman Kennke + + * javax/swing/RepaintManager.java + (addInvalidComponent): Only add component that are displayable, + that have displayable parents and that have a validateRoot. + Also, don't validate components that have a CellRendererPane + ancestor. + +2006-06-19 David Gilbert + + * javax/swing/plaf/IconUIResource.java + (IconUIResource): Throw IllegalArgumentException for null icon. + +2006-06-18 Audrius Meskauskas + + PR 28035 + * java/rmi/server/UID.java (constructor): First increment + uidCounter, and then use the value. + +2006-06-18 Thomas Fitzsimmons + + * java/awt/GridBagLayout.java (AdjustForGravity): Implement. + * java/awt/GridBagConstraints.java: Indent. + +2006-06-18 Tom Tromey + + * native/jni/gconf-peer/.cvsignore: New file. + +2006-06-18 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Parser.java (handleLongOption): + Also handle short options. + +2006-06-18 Jim Huang + + PR classpath/28076: + * native/jni/gconf-peer/Makefile.am (libgconfpeer_la_LIBADD): + Fixed typo. + +2006-06-19 Mark Wielaard + + * include/Makefile.am: gnu_java_util_prefs_gconf_%.h should depend + on gnu/java/util/prefs/gconf/%.class. + * Java_gnu_java_util_prefs_gconf_GConfNativePeer_init_1class: Fix + chache typo, should be cache. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1keys): + Declare tmp early. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1gconf_1client_1all_1nodes): + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1remove_1dir): + Don't return a value for void function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1add_1dir) + Likewise. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_gconf_1client_1dir_1exists): + Mark clazz as unused. Return JNI_FALSE, not NULL for jboolean + function. + (Java_gnu_java_util_prefs_gconf_GConfNativePeer_finalize_1class): + Mark clazz ad unused. + +2006-06-18 Raif S. Naffah + + * gnu/java/security/hash/Whirlpool.java: Source formatting. + * gnu/java/security/hash/Tiger.java: Likewise. + * gnu/java/security/hash/Sha512.java: Likewise. + * gnu/java/security/hash/Sha384.java: Likewise. + * gnu/java/security/hash/Sha256.java: Likewise. + * gnu/java/security/hash/Sha160.java: Likewise. + * gnu/java/security/hash/RipeMD160.java: Likewise. + * gnu/java/security/hash/RipeMD128.java: Likewise. + * gnu/java/security/hash/MD5.java: Likewise. + * gnu/java/security/hash/MD4.java: Likewise. + * gnu/java/security/hash/MD2.java: Likewise. + * gnu/java/security/hash/IMessageDigest.java: Likewise. + * gnu/java/security/hash/Haval.java: Likewise. + * gnu/java/security/hash/HashFactory.java: Likewise. + * gnu/java/security/hash/BaseHash.java: Likewise. + +2006-06-18 Sven de Marothy + + * java/awt/event/KeyEvent.java: + (VK_WINDOWS, VK_CONTEXT_MENU, VK_BEGIN): Add new keysym fields. + * natve/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: + Implement WINDOWS, ALT_GR and CONTEXT_MENU keysyms. + +2006-06-18 Raif S. Naffah + + * gnu/java/security/util/Prime2.java: Removed. + * gnu/java/security/key/dss/FIPS186.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Remove unused imports. + (generate): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/dh/RFC2631.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/srp6/SRPAlgorithm.java: Remove unused imports. + (checkParams): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Remove unused imports. + (generateParameters): Use isProbablePrime() in BigInteger instead of Prime2. + * gnu/javax/net/ssl/provider/KeyPool.java: Remove unused imports. + (generateRSAKeyPair): Use isProbablePrime() in BigInteger instead of Prime2. + +2006-06-18 Sven de Marothy + + * java/awt/GridBagLayout.java (AdjustForGravity): Implement. + * java/awt/font/TextMeasurer.java: Fix copyright date, + remove commented-out code. + +2006-06-18 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector, clone): Implement cloning. + (getGlyphLogicalBounds): Bounds should be offset to the glyph position. + * java/awt/font/TextMeasurer.java: Implement. + * java/awt/font/LineBreakMeasurer.java: + Reimplement to use TextMeasurer. + * java/awt/font/TextLayout.java + New constructors. + (getBlackboxBounds, getLogicalHighlightShape): Reimplement. + (getText, getFont): New private static methods. + (setCharIndices): New method. + * java/text/AttributedString.java + (AttributedString): Fix constructor to stop at end point. + +2006-06-17 Tom Tromey + + * lib/gen-classlist.sh.in: Search all top-level directories, not + just 'org', in external. + +2006-06-12 Mario torre + + * gnu/java/util/prefs/GConfBasedPreferences.java: new class. + * gnu/java/util/prefs/GConfBasedFactory.java: new class. + * gnu/java/util/prefs/gconf/GConfNativePeer.java: new class. + * gnu_java_util_prefs_gconf_GConfNativePeer.h: generated + header file. + * classpath/native/jni/gconf-peer/GConfNativePeer.c: new C file. + * configure.ac: update to introduce new files. Added options + to build gconf native peer used by the GConf preference backend. + * include/Makefile.am: update to introduce new files. + * native/jni/Makefile.am update to introduce new files. + * scripts/check_jni_methods.sh: added three new ignored file + from check. + * native/jni/gconf-peer/Makefile.am: new Makefile needed to + build gconf-peer shared library. + +2006-06-17 Raif S. Naffah + + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: + Use Integer.valueOf() instead of new Integer(). + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java: Likewise. + * gnu/java/security/util/Sequence.java: Likewise. + * gnu/java/security/x509/ext/GeneralNames.java: Likewise. + * gnu/java/security/x509/X509Certificate.java: Likewise. + * gnu/javax/crypto/assembly/ModeStage.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/javax/crypto/cipher/Blowfish.java: Likewise. + * gnu/javax/crypto/cipher/Cast5.java: Likewise. + * gnu/javax/crypto/cipher/DES.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/NullCipher.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/Serpent.java: Likewise. + * gnu/javax/crypto/cipher/Square.java: Likewise. + * gnu/javax/crypto/cipher/TripleDES.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java: Likewise. + * gnu/javax/crypto/jce/cipher/PBES2.java: Likewise. + * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java: Likewise. + * gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: Likewise. + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordProtectedEntry.java: Likewise. + * gnu/javax/crypto/mac/UHash32.java: Likewise. + * gnu/javax/crypto/mac/UMac32.java: Likewise. + * gnu/javax/crypto/mode/BaseMode.java: Likewise. + * gnu/javax/crypto/mode/EAX.java: Likewise. + * gnu/javax/crypto/prng/ICMGenerator.java: Likewise. + * gnu/javax/crypto/prng/UMacGenerator.java: Likewise. + * gnu/javax/crypto/sasl/srp/KDF.java: Likewise. + * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java: Likewise. + * java/security/cert/X509CertSelector.java: Likewise. + +2006-06-17 Andrew John Hughes + + * javax/management/DynamicMBean.java: + (setAttribute): Fixed to return void. + * javax/management/MBeanFeatureInfo.java: + New file. + +2006-06-17 Raif S. Naffah + + On behalf of Vivek Lakshmanan + * gnu/javax/crypto/jce/cipher/CipherAdapter.java + (engineInit(int, Key, SecureRandom)): Seperate common initialization logic + into engineInitHandler and reuse the code in + engineInit(int, Key, AlgorithmSpec, SecureRandom). + (engineInitHandler): New method. + (engineInit(int, Key, AlgorithmParameterSpec, SecureRandom)): When param is + null, use random or default information when possible. + +2006-06-16 Francis Kung + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkButtonBar): Rename FillRect to JNIOverhead. + (mkMenuBar): Rename FillRect to JNIOverhead. + * examples/gnu/classpath/examples/swing/FillRect.java: Removed. + * examples/gnu/classpath/examples/java2d/J2dBenchmark.java: New file. + * examples/gnu/classpath/examples/java2d/JNIOverhead.java: + Moved from old FillRect. + +2006-06-16 Tom Tromey + + * tools/.cvsignore: Added new tool names. + +2006-06-16 Keith Seitz + + * gnu/classpath/jdwp/event/EventManager.java (getDefault): Redo + instantiation so that EventManager is created when getDefault + is first called. + * gnu/classpath/jdwp/Jdwp.java (Thread): Force creation + of EventManager. + +2006-06-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_initLock): New field. + (_initCount): New field. + (Jdwp): Don't set isDebugging until fully initialized. + (subcomponentInitialized): New method. + (run): Wait for PacketProcessor and JdwpConnection to + startup, then set isDebugging, and then let this thread + die. + * gnu/classpath/jdwp/transport/JdwpConnection.java + (run): Add synchronization notification. + * gnu/classpath/jdwp/processor/PacketProcessor.java + (run): Likewise. + +2006-06-16 Tom Tromey + + * NEWS: Updated for JSR 166. + +2006-06-16 Tom Tromey + + * lib/Makefile.am (compile_classpath): Added jsr166. + * configure.ac: Added external/jsr166/Makefile. + * external/Makefile.am (SUBDIRS): Added jsr166. + * external/jsr166/Makefile.am: New file. + * lib/gen-classlist.sh.in: Look in external/jsr166. + +2006-06-16 Kyle Galloway + + * gnu/classpath/jdwp/event/ExceptionEvent: + Added Object instance to javadoc in constructor + * gnu/classpath/jdwp/event/MethodEntryEvent: + Ditto. + * gnu/classpath/jdwp/event/MethodExitEvent: + Ditto, + * gnu/classpath/jdwp/event/SingleStepEvent: + Ditto. + +2006-06-16 Tom Tromey + + Imported JSR 166 reference implementation: + * .classpath: Added external/jsr166. + * java/util/concurrent/CopyOnWriteArrayList.java: New file. + * java/util/AbstractQueue.java: Removed. + * java/util/Queue.java: Removed. + * external/jsr166/java/util/concurrent/ScheduledThreadPoolExecutor.java + (runPeriodic): Added explicit cast. + * external/jsr166/java/util/ArrayDeque.java (clone): Use + elements.clone. + +2006-06-16 Tom Tromey + + * vm/reference/sun/reflect/Reflection.java (verifyMemberAccess): + Removed. + (getCallerClass): Now static. + * vm/reference/sun/reflect/misc/ReflectUtil.java: New file. + +2006-06-16 Lillian Angel + + * java/awt/FileDialog.java + (FileDialog): Added @since tag to API docs. + (FileDialog): Likewise. + (FileDialog): Likewise. + * java/awt/Font.java: + Added @since tag to TYPE1_FONT field docs. + * javax/swing/plaf/basic/BasicScrollBarUI.java: + (isThumbRollover): Likewise. + (setThumbRollover): Likewise. + (getSupportsAbsolutePositioning): Likewise. + * javax/swing/plaf/basic/BasicSliderUI.java: + (isDragging): Likewise. + +2006-06-16 Lillian Angel + + * java/awt/FileDialog.java + (FileDialog): Implemented. + (FileDialog): Implemented. + (FileDialog): Implemented. + * java/awt/Font.java: + Added TYPE1_FONT constant field. + +2006-06-16 Lillian Angel + + * java/awt/font/TextLayout.java: + Removed unneeded imports. + * javax/swing/plaf/basic/BasicScrollBarUI.java: + Added new thumbRollover field. + (mouseMoved): Added code to set thumbRollover field. + (isThumbRollover): New function. + (setThumbRollover): New function. + (getSupportsAbsolutePositioning): Implemented. This + needs to be changed once the feature has been + implemented. + * javax/swing/plaf/basic/BasicSliderUI.java: + Added new dragging field. + (mouseDragged): Initialized dragging field. + (isDragging): New function. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (focusGained): Marked as not implemented. + (focusLost): Likewise. + +2006-06-16 Kyle Galloway + + * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: + Added check for null ThreadId to avoid null pointer + exception. + +2006-06-16 David Gilbert + + * javax/swing/DefaultComboBoxModel.java + (removeElementAt): Set new selected item by calling setSelectedItem(). + +2006-06-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setSelected): Use 'this', not null, for the item in the ItemEvent. + +2006-06-16 David Gilbert + + * javax/swing/event/ListDataEvent.java: updated API docs, plus + (ListDataEvent): Handle case where index0 > index1, + (toString): Implemented. + +2006-06-16 Robert Schuster + + * javax/swing/plaf/metal/MetalMenuBarUI.java: + (update): Added subexpression to if-statement. + +2006-06-16 Robert Schuster + + * javax/swing/plaf/basic/BasicRadioButtonUI.java: + (installDefaults): Removed unneccessary code. + (paint): Removed complex if-cascade, revert to default icon if + icon property is not set. + (getPreferredSize): New method. + +2006-06-16 Roman Kennke + + PR 28027 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Don't use setClip() but instead clipRect() to + intersect the current clip with a new one. + +2006-06-15 Tom Tromey + + * scripts/sanitize-jsr166: New file. + * external/jsr166/IMPORTING: New file. + * vm/reference/sun/reflect/Reflection.java: New file. + * vm/reference/gnu/classpath/Unsafe.java: Moved... + * vm/reference/sun/misc/Unsafe.java: ...here. + +2006-06-15 Thomas Fitzsimmons + + * configure.ac: Rename appletviewer to gappletviewer, jarsigner to + gjarsigner and keytool to gkeytool. + * doc/tools.texinfo: Add note about tool exectable names. + * tools/Makefile.am: Rename appletviewer to gappletviewer, + jarsigner to gjarsigner and keytool to gkeytool. + * tools/appletviewer.in: Rename ... + * tools/gappletviewer.in: New file. + * tools/jarsigner.in: Rename ... + * tools/gjarsigner.in: New file. + * tools/keytool.in: Rename ... + * tools/gkeytool.in: New file. + * tools/toolwrapper.c: Simplify TOOLS_ZIP macro. + +2006-06-15 Andrew John Hughes + + * javax/management/AttributeList.java: + Add serialization UID. + * javax/management/DynamicMBean.java: + New file. + * javax/management/JMRuntimeException.java: + Add serialization UID and correct name + of serialized field. + * javax/management/MBeanInfo.java: New file. + +2006-06-15 Andrew John Hughes + + * javax/management/AttributeList.java, + * javax/management/JMRuntimeException.java, + * javax/management/RuntimeOperationsException.java: + New files. + +2006-06-15 Lillian Angel + + * java/awt/font/TextLayout.java: + DEFAULT_CARET_POLICY changed to be public static final. + +2006-06-15 Tania Bento + + * javax/swing/plaf/metal/MetalScrollButton.java + (MetalScrollButton): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/plaf/basic/BasicArrowButton.java + (BasicArrowButton): Should set 'focusable' to false. + (BasicArrowButton): Should set 'focusable' to false. + +2006-06-15 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (getGraphicsConfiguration): Return default screen device. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java (component): + New field. + (GtkVolatileImage): Record initiating component. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (getDeviceConfiguration): Return configuration of image component. + +2006-06-15 Mark Wielaard + + * java/awt/geom/GeneralPath.java (closePath): Return if path already + closed. + +2006-06-15 Mark Wielaard + + * java/awt/BasicStroke.java (createStrokedShape): Call getPathIterator + with null argument. + +2006-06-15 Kyle Galloway + + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (matches): Added explicit brackets to return statement. + +2006-06-15 Tania Bento + + * javax/swing/JRadioButtonMenuItem.java + (JRadioButtonMenuItem): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/JCheckBoxMenuItem.java + (JCheckBoxMenuItem): Should set 'focusable' to false. + +2006-06-15 Tania Bento + + * javax/swing/AbstractButton.java: + (AbstractButton): 'Focusable' should be set to true and not false. + +2006-06-15 Andrew John Hughes + + * java/lang/management/ManagementFactory.java: + Add private constructor to prevent instance creation. + * java/lang/management/ManagementPermission.java: + Make final. + +2006-06-15 Francis Kung + + * javax/swing/plaf/basic/BasicArrowButton.java: + (BasicArrowButton): move client property for not triggering out + of consturctor + * javax/swing/plaf/basic/BasicComboBoxUI.java: + (configureArrowButton): set client property for not triggering + (installUI): set client property for not triggering + * javax/swing/plaf/basic/BasicLookAndFeel.java: + (PopupHelper.mousePressed): check client property for triggering + +2006-06-15 Roman Kennke + + PR 28037 + * javax/swing/RepaintManager.java + (blitBuffer): Substract coordinates the other way around. + +2006-06-15 Roman Kennke + + PR 28027 + * javax/swing/JComponent.java + (paintImmediately2): Only paint component without double buffering + when all of it's parents have also double buffering disabled. + (isPaintingDoubleBuffered): New helper method. + +2006-06-15 David Gilbert + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (draw(Shape)): Pass null transform to getPathIterator(), + (getClip): Likewise, + * gnu/java/print/PostscriptGraphics2D.java + (drawStringShape): Pass null transform to getPathIterator(), + (writeShape): Likewise, + * java/awt/Shape.java: Small updates to API docs. + +2006-06-14 Andrew John Hughes + + * javax/naming/InitialContext.java: + (list(javax.naming.Name)): Fixed generic type. + (list(String)): Likewise. + (listBindings(javax.naming.Name)): Likewise. + (listBindings(String)): Likewise. + +2006-06-14 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (getAccessibleChildrenCount): Implemented. + (getAccessibleChild): Implemented. + (isNavigationKey): Implemented. + (KeyHandler.keyPressed): Implemented. + +2006-06-14 Andrew John Hughes + + * java/lang/management/ManagementPermission.java: + Added serialization UID. + * javax/management/Attribute.java: Likewise. + * javax/management/MBeanException.java, + * javax/management/ReflectionException.java: + Added serialization UID and changed to extend + javax.management.JMException. + +2006-06-14 Lillian Angel + + * java/awt/Component.java + (ignoreOldMouseEvents): Made static. + (translateEvent): Made static. + * java/awt/TextComponent.java + (ignoreOldMouseEvents): Made static. + +2006-06-14 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawLine): Lock and + call super. + (drawRect): Likewise. + (fillRect): Likewise. + +2006-06-14 Lillian Angel + + * java/awt/Component.java + (ignoreOldMouseEvents): New helper function. + (translateEvent): Changed to be non-static and use new helper. + * java/awt/TextComponent.java + (ignoreOldMouseEvents): New helper function. + +2006-06-14 Roman Kennke + + * javax/swing/RepaintManager.java + (MERGE_REGIONS): New constant flag. + (commitBuffer): Exclude the merging of regions by default. This + was causing painting artifacts in some applications, especially + when different areas of the GUI are updated synchronously. + +2006-06-14 Roman Kennke + + * examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java: + New file. This is a benchmark for AWT 1.1 style graphics operations. + * examples/gnu/classpath/examples/awt/palme.gif: New file. + * examples/gnu/classpath/examples/awt/aicas.gif: New file. + +2006-06-14 Tom Tromey + + * java/io/File.java (getParent): Javadoc fix. + +2006-06-14 Tom Tromey + + * gnu/java/net/loader/JarURLLoader.java (initialize): Skip our own + jar. + * gnu/java/net/IndexListParser.java (IndexListParser): Call clearAll + when index entry does not exist. + +2006-06-14 Tania Bento + + * javax/swing/AbstractButton.java + (AbstractButton): Set focusable to false, not true. + +2006-06-14 Tania Bento + + * javax/swing/JMenuItem.java + (init): Changed horizontalAlignment from JButton.LEFT to JButton.LEADING. + +2006-06-14 Tania Bento + + * javax/swing/JCheckBoxMenuItem.java + (JCheckBoxMenuItem): Added check to set the selected state. + +2006-06-14 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoDrawLine): New native method. + (cairoDrawRect): New native method. + (cairoFillRect): New native method. + (drawLine): Use special native method. + (drawRect): Use special native method. + (fillRect): Use special native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (cairoDrawLine): New native method. + (cairoDrawRect): New native method. + (cairoFillRect): New native method. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + +2006-06-14 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Return when array + cannot be allocated. + +2006-06-14 Tom Tromey + + PR java/28024: + * m4/acinclude.m4 (REGEN_WITH_JAY): Use backquote, not $(...). + * configure.ac (QT_INCLUDE_DIR): Use backquote, not $(...). + +2006-06-14 Roman Kennke + + * javax/swing/JComponent.java + (isRepainting): New flag. + (paintImmediately2): Set isRepainting flag. + (getRoot): Removed obsolete method. + (paintDoubleBuffered): Differenciate between paint calls from + RepaintManager and from AWT refresh. Call + RepaintManager.commitBuffer with this and local coordinates. + (findOpaqueParent): Stop searching at heavyweight component. These + are always opaque. + (paintChildrenOptimized): Don't paint heavyweight children. These + should care for themselves. + (paintChildrenWithOverlap): Don't paint heavyweight children. These + should care for themselves. + * javax/swing/RepaintManager.java + (getOffscreenBuffer): Associate offscreen buffer with toplevel + windows only. + (getVolatileOffscreenBuffer): Associate offscreen buffer with + toplevel windows only. + (getRoot): Removed obsolete method. + (commitBuffer): Blit buffer on nearest heavyweight. + (blitBuffer): New helper method. + (getHeavyweightParent): New helper method. + (commitRemainingBuffers): Call blitBuffer instead of commitBuffer. + * javax/swing/SwingUtilities.java + (convertRectangleToAncestor): New helper method. + +2006-06-14 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: Fixed a typo. + Condition all trace/debug code based on Configuration.DEBUG. + Use logger instead of STDOUT and ot STDERR. + +2006-06-13 Lillian Angel + + * native/plugin/gcjwebplugin.cc + (NP_Initialize): Removed code to create whitelist file. + (GCJ_New): Added code to create whitelist file. + (plugin_user_trusts_documentbase): Fixed error message. + +2006-06-13 David Gilbert + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.gradientMask): Modified by 1 pixel to + prevent overwriting border, + (VerticalSliderThumbIcon.gradientMask): Likewise. + +2006-06-13 Andrew John Hughes + + * javax/management/AttributeNotFoundException.java, + * javax/management/InvalidAttributeValueException.java, + * javax/management/JMException.java, + * javax/management/MBeanException.java, + * javax/management/OperationsException.java, + * javax/management/ReflectionException.java: + New files. + +2006-06-13 Roman Kennke + + * java/awt/Component.java + (dispatchEvent): Handle events even when consumed (this might be + picked up later in the dispatching chain). + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.mousePressed): Don't consume event. Only close popup + when target component isn't flagged as DONT_CANCEL_POPUP. + (DONT_CANCEL_POPUP): New package private constant for flagging + special components that don't trigger popup closing. + * javax/swing/plaf/basic/BasicArrowButton.java + (BasicArrowButton): Set client property for not triggering closing + of popups. + +2006-06-13 Lillian Angel + + * java/awt/image/PixelGrabber.java + (PixelGrabber): Added to API documentation. + +2006-06-13 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (ExceptionOnlyFilter): Allow null refId. + + * gnu/classpath/jdwp/event/BreakpointEvent.java: Added _instance for + compatibility with filters. + (getParameter): Modified to allow access to above. + +2006-06-13 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (create): Use stride in ints. + +2006-06-13 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/ClassUnloadEvent.java: New file. + +2006-06-13 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (calculateThumbSize): Removed unnecessary code, + (calculateThumbLocation): Shift position by one, + (calculateTickRect): Shift position by one when ticks are displayed, + (calculateLabelRect): Calculate rect differently according to whether + or not the labels are visible, + (paintTrack): Shift track down one pixel. + +2006-06-13 Lillian Angel + + * java/awt/image/PixelGrabber.java + (PixelGrabber): Removed check to throw exception. JDK does + not do this. + (startGrabbing): Removed line to print stacktrace. + +2006-06-13 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): Don't + allocate unused AffineTransform. Add comment about conversion to + BufferedImage. + * gnu/java/awt/peer/gtk/ComponentGraphics.java (drawImage): + Recognize identity transform as "easy". Always convert to + BufferedImage before calling super. + +2006-06-13 Roman Kennke + + * java/awt/Component.java + (getGraphics): Translate child graphics correctly. + (dispatchEvent): Only dispatch event if it hasn't been consumed + yet by the global dispatcher. + * javax/swing/plaf/basic/BasicLookAndFeel.java + Added some API docs. + (PopupHelper.mousePressed): Consume the event after closing + opened menus. + +2006-06-13 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java: Source code formatting + changes only, + * javax/swing/plaf/basic/BasicComboBoxUI.java: Likewise, + * javax/swing/plaf/basic/BasicComboPopup.java: Likewise, + * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise, + * javax/swing/plaf/basic/BasicLookAndFeel.java: Likewise, + * javax/swing/plaf/basic/BasicMenuItemUI.java: Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicProgressBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicRadioButtonUI.java: Likewise, + * javax/swing/plaf/basic/BasicScrollBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicSliderUI.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/plaf/basic/BasicToolBarUI.java: Likewise, + * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. + +2006-06-12 Sven de Marothy + + * java/awt/font/LineBreakMeasurer.java): Implement. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/SingleStepEvent.java: New file. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/MethodEntryEvent.java: New file. + + * gnu/classpath/jdwp/event/MethodExitEvent.java: New file. + +2006-06-12 Roman Kennke + + * javax/swing/JComponent.java + (paintDoubleBuffered): Correctly translate and clip the Graphics + instance. + (clipAndTranslateGraphics): New helper method. + +2006-06-12 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Use getClip() to copy the clip. Make copied transform + null when original transform is null. Set clip here. + (setTransform): Correctly update the clip. + (setTransformImpl): New method. Updates the actual transform for + Cairo. + (transform): Correctly update the clip. + (translate): Correctly update the clip. + (clip): Handle null clip and argument correctly. + (clipRect): Avoid creating new Rectangle objects. + (getClip): Get the correct copy of the clip. + (setClip): Correctly handle null argument. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + (CairoSurfaceGraphics): Don't set the clip here. The clip can either + be null or whatever has been set in copy(). + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Add translation to the image coordinates. + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics): Don't set clip here. The clip can either + be null or whatever has been set in copy(). + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (forCaught): Removed unused/unnecessary method. + (forUncaught): Likewise. + (matches): Implement. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/ExceptionEvent.java: New file. + +2006-06-12 Keith Seitz + + From Kyle Galloway : + * gnu/classpath/jdwp/event/Event.java: Added constants for + type. + (getParameter): Changed parameter type from Class to int. + * gnu/classpath/jdwp/event/BreakpointEvent.java (getParameter): + Changed from Class type to constants. + * gnu/classpath/jdwp/event/ClassPrepareEventEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ThreadEndEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ThreadStartEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/VmDeathEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/VmInitEvent.java (getParameter): + Likewise. + * gnu/classpath/jdwp/event/ClassMatchFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/ClassOnlyFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/InstanceOnlyFilter.java (matches): + Likewise. + * gnu/classpath/jdwp/event/ThreadOnlyFilter.java (matches): + Likewise. + +2006-06-12 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java + (StandaloneAppletWindow): Changed title of standalone window. + +2006-06-12 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutContainer): Added missing selectedComponent assignment. + +2006-06-12 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (layoutContainer): Added check to prevent exception. + +2006-06-12 Tom Tromey + + * java/lang/Thread.java (uncaughtException): Javadoc fix. + +2006-06-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/ComponentGraphics.java (hasLock): + New static field. + (ONE): Likewise. + (lock): New method. + (unlock): Likewise. + (draw): Use lock() and unlock(). + (fill): Likewise. + (drawRenderedImage): Likewise. + (drawImage): Likewise. + (drawGlyphVector): Likewise. + +2006-06-12 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawPixels): Include alpha in parameter list. + (cairoFill): Include alpha in parameter list. + (setComposite): Don't modify the color. + (draw(Shape))): Use fill when the current composite has an alpha + of != 1.0, so that the stroked shaped will be composited. + (fill(Shape)): Call cairoFill() with alpha. + (drawImage): Call drawPixels or drawSurface with alpha. + (drawGlyphVector): When composite alpha is != 1.0, render the + outline using fill() to enable compositing for text. + (drawRaster): Call drawPixels with alpha. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (nativeDrawSurface): Include alpha in parameter list. + (drawSurface): Include alpha in parameter list. Pass it to + nativeDrawSurface(). + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + * include/gnu_java_awt_peer_gtk_CairoSurface.h: + Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (drawPixels): Handle possible alpha for compositing. + (cairoFill): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeDrawSurface): Handle possible alpha for compositing. + +2006-06-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): + Notify data when completely done. Wait for worker thread to finish. + Rethrow any pending exceptions. + (exception): New field. + (run): Store pending exception. + +2006-06-12 Andrew John Hughes + + * java/lang/management/ManagementPermission.java: + New file. + +2006-06-12 Raif S. Naffah + + * doc/tools.texinfo: Replaced original author with "The GNU Classpath Team". + +2006-06-12 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): + Use String.charAt(). + +2006-06-11 Thomas Fitzsimmons + + * doc/tools.texinfo + (Applet Tools): New chapter. + (appletviewer Tool): New section. + (gcjwebplugin): New section. + +2006-06-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (streamImage): + Takes GdkPixbufWriter. + (GdkPixbufWriter): Implements Runnable. + (write(IIOMetadata,IIOImage,ImageWriteParam)): Start Thread for + data processing. + (DATADONE): New static final field. + (data): New field. + (write(byte[])): New method. + (run): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initStaticState): + Get dataOutputWriteID from writeClass. + (stream_save_request): Change stream field to writer. + (save_to_stream): Remove FIXME, call writer. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): + Store writer. + +2006-06-11 Andrew John Hughes + + * NEWS: + Mention new VM interface and use of properties. + * doc/vmintegration.texinfo: + Update with new gnu.java.lang.management section. + * gnu/java/lang/management/RuntimeMXBeanImpl.java: + New file. + * java/lang/management/ManagementFactory.java: + (getRuntimeMXBean()): Implemented. + * vm/reference/gnu/java/lang/management/RuntimeMXBeanImpl.java: + New VM interface file. + +2006-06-11 Raif S. Naffah + + PR Classpath/26065 + * gnu/javax/security/auth/login/GnuConfiguration.java: Condition all trace/ + debug code based on Configuration.DEBUG. + Use logger instead of STDOUT and ot STDERR. + * gnu/javax/security/auth/login/ConfigFileParser.java: Likewise. + * gnu/javax/crypto/sasl/SaslOutputStream.java: Likewise. + * gnu/javax/crypto/sasl/SaslInputStream.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPServer.java: Likewise. + * gnu/javax/crypto/sasl/srp/SRPClient.java: Likewise. + * gnu/javax/crypto/prng/CSPRNG.java: Likewise. + * gnu/javax/crypto/pad/TBC.java: Likewise. + * gnu/javax/crypto/pad/PKCS7.java: Likewise. + * gnu/javax/crypto/pad/PKCS1_V1_5.java: Likewise. + * gnu/javax/crypto/pad/BasePad.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: Likewise. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java: Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java: Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java: Likewise. + * gnu/javax/crypto/keyring/Entry.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/jce/prng/UMacRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/prng/ICMRandomSpi.java: Likewise. + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Likewise. + * gnu/javax/crypto/cipher/Twofish.java: Likewise. + * gnu/javax/crypto/cipher/Khazad.java: Likewise. + * gnu/javax/crypto/cipher/Rijndael.java: Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Likewise. + * gnu/javax/crypto/cipher/Anubis.java: Likewise. + * gnu/java/security/Properties.java: Likewise. + * gnu/java/security/x509/X509CRLEntry.java: Likewise. + * gnu/java/security/x509/X509CRL.java: Likewise. + * gnu/java/security/x509/ext/Extension.java: Likewise. + * gnu/java/security/util/Prime2.java: Likewise. + * gnu/java/security/util/Base64.java: Likewise. + * gnu/java/security/sig/rsa/RSAPSSSignature.java: Likewise. + * gnu/java/security/sig/rsa/EMSA_PSS.java: Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: Likewise. + * gnu/java/security/pkcs/SignerInfo.java: Likewise. + * gnu/java/security/pkcs/PKCS7SignedData.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java: Likewise. + * gnu/java/security/jce/sig/SignatureAdapter.java: Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java: Likewise. + * gnu/java/security/hash/Whirlpool.java: Likewise. + +2006-06-11 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs): + Remove unused variable glyph_index. + +2006-06-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (drawImage): + Don't recurse, return false if not an BufferedImage and no image + source available. + * gnu/java/awt/peer/gtk/ComponentGraphics.java (draw): Add + end_gdk_drawing() to finally block. + (fill): Likewise. + (drawRenderedImage): Likewise. + (drawImage): Likewise. + (drawGlyphVector): Likewise. + +2006-06-11 Raif S. Naffah + + * doc/tools.texinfo: Added text for new -cacert command. + Re-structured sections. + * resource/gnu/classpath/tools/keytool/messages.properties: Added messages + for -cacert command. + * tools/gnu/classpath/tools/keytool/Main.java (CACERT_CMD): New constant. + (_CACERT): Likewise. + (shutdownThread): New field. + (Main): Install shutdown thread. + (main): Uninstall shutdown thread. + (start): Handle new -cacert command. + (getParser): Likewise. + (teardown): Increased visibility. + (ShutdownHook): New inner class. + * tools/gnu/classpath/tools/keytool/CACertCmd.java: New file. + +2006-06-11 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (setupGlyphMetrics): New method. Add glyphmetrics caching. + (getOutline): Operate on the shape directly. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getGlyphMetrics,putGlyphMetrics): Add GlyphMetrics caching. + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h + (getGlyph renamed getGlyphs) + * java/awt/geom/AffineTransform.java + (getTranslateInstance): Set fields directly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getGlyphs): Get all glyph codes at once. + +2006-06-11 Raif S. Naffah + + PR Classpath/27853 + * gnu/javax/crypto/RSACipherImpl.java (engineDoFinal): Was short by 1 byte. + +2006-06-11 Sven de Marothy + + * java/awt/font/TextLayout.java + (getLogicalHighlightShape): Add check. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (getLogicalBounds, getGlyphPositions): Cache bounds, positions. + +2006-06-11 Raif S. Naffah + + * gnu/javax/security/auth/login/ConfigFileParser.java (validateClassName): + Check that every component of 'cn' starts with a valid Java identifier char. + +2006-06-10 Tom Tromey + + * java/io/File.java (pathSeparator): Typo fix. + +2006-06-10 Mark Wielaard + + * native/jni/gtk-peer/cairographics2d.h (cp_gtk_get_cairo_t): + Removed. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + Mark all unused parameters. + (cp_gtk_get_cairo_t): Removed. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetMatrix): + Don't mix declerations and statements. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: + Mark all unused parameters. + (Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface): + Get cairographics2d pointer directly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Use jlong to pass pointer. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Mark all unused parameters. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Regenerated. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: Regenerated. + * include/java_io_VMFile.h: Regenerated. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics(VolatileImageGraphics)): Use clipRect() + instead of setClip(), so that an already present clip is intersected + and not resetted. + +2006-06-10 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkFontPeer.java (GdkFontLineMetrics): + Call getSize() to avoid accessor method. + +2006-06-10 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (addSpecialElement): + Qualify ElementSpec. + +2006-06-10 Mark Wielaard + + * lib/.cvsignore: Add sun. + * lib/Makefile.am (dist-hook): Likewise. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/CairoSurface.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + * native/jni/gtk-peer/cairographics2d.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Changed method signatures and calls to pass native pointers directly + into the JNI code, in order to avoid costly lookups on each + JNI call. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h, + * include/gnu_java_awt_peer_gtk_CairoSurface.h, + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h, + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h: + Regenerated + +2006-06-10 Audrius Meskauskas + + PR 27973 + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insertContentTag): + Do not recreate leaves and do not remove elements here. + +2006-06-10 Audrius Meskauskas + + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.HiddenAction): Implemented. + +2006-06-10 Roman Kennke + + * javax/swing/RepaintManager.java + (getVolatileOffscreenBuffer): Store the created buffer. + * javax/swing/JComponent.java + (paintDoubleBuffered): Try to use a volatile offscreen buffer + for better performance. + +2006-06-10 Roman Kennke + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + (VolatileImageGraphics(VolatileImageGraphics)): Initialize native + context correctly. + (getRealBounds): Overridden to return the correct bounds. + +2006-06-10 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Fixed to paint the gradient under the correct conditions. + (updateWidthGradient): Removed. + (isToolbarButton): New helper method. + (isDrawingGradient): New helper method. + +2006-06-09 Roman Kennke + + * javax/swing/JTabbedPane.java + (setSelectedIndex): Don't change the visibility of the components, + this is done by the UI class. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.layoutContainer): Change visibility of component + here, depending on the selected index. Only do this if the new + selected component is not null. Some programs seem to expect + this. + (visibleComponent): New field. + (getVisibleComponent): Changed to return visibleComponent field. + (setVisibleComponent): Changed to set the visibility of + the old and new visible component. + +2006-06-09 Roman Kennke + + * javax/swing/JComponent.java + (paintChildrenOptimized): Paint component with a new Graphics + object to protect the other painting code from modifications + done in that object, and avoid cleanup ops on possibly dispose()ed + Graphics object. + +2006-06-09 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): + Use GTK locks while disposing (Xlib) surface. + +2006-06-09 Tom Tromey + + * lib/Makefile.am (install-data-local): Copy 'sun' files. + (uninstall-local): Delete 'sun' directory. + (glibj.zip): Include 'sun' classes. + (clean-local): Delete 'sun' directory. + * lib/gen-classlist.sh.in: Search 'sun' subdirectories. + +2006-06-09 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawImage): Fixed scaling. + (fillShape): Removed offset handling. + (fillShapeImpl): Limit scanlining to device bounds. + (getSegments): Removed offset handling. + * gnu/java/awt/java2d/PolyEdge.java + (toString): Include isClip flag in output. + +2006-06-08 Sven de Marothy + + * java/awt/font/TextLayout.java + (getOutline): Allow null transform. + +2006-06-08 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawString): Use TextLayout instead of GlyphVector. + +2006-06-08 Sven de Marothy + + * java/text/Bidi.java: Treat WS as neutral for rules N1 & N2. + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + New constructor for bidirectionality. + (getGlyphMetrics): Return whitespace glyphs. + (getLogicalBounds): Offset rectangles to correct positions. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getBaselineFor): Default to ROMAN_BASELINE. + (GdkFontLineMetrics): Guess some values for underline and + strikethrough. + (layoutGlyphVector): Use bidirectionality. + * java/awt/font/TextLayout.java: Implement, mostly. + +2006-06-09 Anthony Green + + PR classpath/27888: + * javax/swing/text/GapContent.java (binarySearch): Use unsigned shift. + * java/util/Collections.java (binarySearch): Use unsigned shift. + * java/util/Arrays.java (binarySearch): Use unsigned shift. + +2006-06-09 Tom Tromey + + * tools/.cvsignore: Added .deps. + +2006-06-09 Kazuya Ujihara + + PR classpath/27966: + * gnu/javax/security/auth/login/ConfigFileParser.java + (validateClassName): Quote '.' in regexp. + +2006-06-09 Tom Tromey + + PR classpath/23863: + * native/fdlibm/dtoa.c (_dtoa): Free contents of _Jv_reent when + finished. + * native/fdlibm/mprec.c: New version from newlib. Commented out + some includes. Added . + (_reent, _Bigint): New defines. + (_REENT_CHECK_MP, _REENT_MP_FREELIST, _REENT_MP_P5S): Likewise. + (__ULong, __Long): New types. + (_calloc_r): New function. + (Balloc): Dynamically add new _freelist entries as needed. + * native/fdlibm/mprec.h (struct _Jv_Bigint): Don't use + MAX_BIGNUMS to size _x[]. + (struct _Jv_reent): _freelist now a _Jv_Bigint**. Removed + _allocation_map, num. Added _max_k. + +2006-06-09 Roman Kennke + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawGlyphVector): Added fallback for non-FreetypeGlyphVector + implementations. + +2006-06-09 David Gilbert + + * java/awt/image/BufferedImage.java + (BufferedImage(int, int, int)): Added API docs, + (getProperty(String)): Return correct value for undefined properties, + (getPropertyNames()): Added comments and removed FIXME. + +2006-06-09 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (PLUGIN_ERROR_THREE): New macro. + (NP_Initialize): Use PLUGIN_ERROR_THREE in place of g_strconcat. + +2006-06-09 Francis Kung + + * javax/swing/plaf/basic/BasicComboBoxRenderer.java: + (getPreferredSize): Return correct height for null or empty + items. + +2006-06-09 David Gilbert + + * java/awt/datatransfer/DataFlavor.java + (readExternal): Mark as stub, + (writeExternal): Likewise, + * java/awt/dnd/DropTargetContext.java + (dropComplete): Mark as stub, + (acceptDrag): Likewise, + (rejectDrag): Likewise, + (acceptDrop): Likewise, + (rejectDrop): Likewise, + (getCurrentDataFlavors): Likewise, + (getTransferable): Likewise, + * java/awt/dnd/DropTargetDropEvent.java + (dropComplete): Mark as stub. + +2006-06-09 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.java + (constructor): Do not lowercase the values. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.addSpecialElement): Implemented. + * examples/gnu/classpath/examples/swing/HtmlDemo.java: New file. + +2006-06-09 Raif S. Naffah + + On behalf of Matthew Wringe + * gnu/java/security/Registry.java (ISO10126_PAD): New constant. + * gnu/javax/crypto/pad/ISO10126.java: New class. + * gnu/javax/crypto/pad/PadFactory.java (names): New field. + (getInstance): Added support for ISO-10126 scheme. + (getNames): Likewise. + Cache result for speed. + +2006-06-09 Raif S. Naffah + + * gnu/javax/crypto/pad/BasePad.java (selfTest): Re-factored to allow more + flexible self-test by sub-classes. + (test1BlockSize): New method. + +2006-06-09 David Gilbert + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Corrected 'ScrollBar.focusInputMap' entry, + * javax/swing/plaf/basic/BasicScrollBarUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installUI): Call installKeyboardActions(), + (uninstallUI): Call uninstallKeyboardActions(). + +2006-06-09 David Gilbert + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (getActionMap): Use correct key to store action map. + +2006-06-09 Jeroen Frijters + + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java + (executeInstruction): Added NOT support. + +2006-06-09 Jeroen Frijters + + * sun/reflect/annotation/AnnotationInvocationHandler.java: + New file. + +2006-06-08 Tom Tromey + + * java/text/Bidi.java (resolveNeutralTypes): Set j'th slot + of 'types'. + +2006-06-09 Andrew John Hughes + + * java/lang/management/RuntimeMXBean.java: + New file. + +2006-06-08 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + (NP_Shutdown): Freed whitelist_filename. + +2006-06-08 Lillian Angel + + * native/plugin/Makefile.am: + Removed DATA_DIRECTORY. + * native/plugin/gcjwebplugin.cc: + Added new global fields for whitelist_file + and data_directory. Removed WHITELIST_FILE. + (NP_Initialize): Initialized new fields. Also, + Changed to use new fields. + (NP_Shutdown): Freed data_directory. + (GCJ_New): Changed to use new fields. + (plugin_ask_user_about_documentbase): Likewise. + +2006-06-08 Lillian Angel + + * native/plugin/Makefile.am: + Changed DATA_DIRECTORY to be ~/.gcjwebplugin. + * native/plugin/gcjwebplugin.cc: + Changed all instances of PLUGIN_DATA_DIRECTORY + to DATA_DIRECTORY. + +2006-06-08 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Replaced calls to AWTUtilities.convertPoint() + with convertPointToChild(). This is more efficient and avoids + problems with getLocationOnScreen(). + (findTarget): Check for component beeing showing() early. + Simplified AWTUtilities.convertPoint() to a simple substraction + operation. + (convertPointToChild): New helper method. + +2006-06-08 Thomas Fitzsimmons + + * native/plugin/gcjwebplugin.cc (SECURITY_DESCRIPTION): Update + message. + +2006-06-08 Tom Fitzsimmons + Lillian Angel + + * native/plugin/gcjwebplugin.cc + (NP_Shutdown): Added code to free plugin mutex and whitelist file. + Also, reset initialized field. + +2006-06-08 Lillian Angel + + * javax/swing/plaf/basic/BasicProgressBarUI.java + (paintString): Fixed to paint string at the correct location. + +2006-06-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (createDefaultActions): Added new actions. + (TreePageAction.TreePageAction): Set action name. + (TreePageAction.actionPerformed): Implemented. + (TreePageAction.isEnabled): Implemented. + (TreeToggleAction.TreePageAction): Set action name. + (TreeToggleAction.actionPerformed): Implemented. + (TreeToggleAction.isEnabled): Implemented. + (TreeTraverseAction.TreeTraverseAction): Set action name. + (TreeTraverseAction.actionPerformed): Use action name as command. + (TreeTraverseAction.isEnabled): Implemented. + +2006-06-08 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (installKeyboardActions): Rewritten to correctly install the UI + input and action maps. + (getActionMap): New helper method. + (createDefaultActionMap): New helper method. + (TreeHomeAction.TreeHomeAction()): Implemented. + (TreeHomeAction.actionPerformed): Implemented. + (TreeHomeAction.isEnabled): Implemented. + (TreeIncrementAction.TreeIncrementAction()): Implemented. + (TreeIncrementAction.actionPerformed): Use action name as command. + (TreeIncrementAction.isEnabled): Implemented. + +2006-06-08 Mark Wielaard + + PR 27917 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Ref pixbuf + and unref loader. + +2006-06-08 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (attrs): Removed unused static. + +2006-06-08 David Gilbert + + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented. + +2006-06-08 Robert Schuster + + * javax/swing/border/MatteBorder.java: + (MatteBorder(int,int,int,int,Icon)): Removed if-statement and exception + throwing. + (paintBorder): Added if-statement to abort painting early. + +2006-06-08 Robert Schuster + + Fixes PR27864. + * gnu/xml/dom/DomIterator.java: + (successor): Changed expression. + +2006-06-08 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (defaultLayout): Do kerning. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + (getKerning): Correct class name, removed unused variable. + +2006-06-07 Thomas Fitzsimmons + + * gnu/java/awt/peer/qt/QtToolkit.java (initToolkit): Load + libqtpeer.so unconditionally. + +2006-06-07 Andrew John Hughes + + * java/util/InputMismatchException.java: + Documented. + +2006-06-07 Andreas Tobler + + * native/jawt/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. + +2006-06-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (completeUIUninstall): Implemented. + (uninstallUI): Moved some bits to completeUIUninstall(). Complete + editing before uninstalling anything. + (isToggleEvent): Implemented. + (selectPathForEvent): Make use of isToggleEvent(). + (ComponentHandler.componentMoved): Implemented. + (ComponentHandler.startTimer): Implemented. + (ComponentHandler.getScrollPane): Implemented. + (ComponentHandler.actionPerformed): Implemented. + +2006-06-07 Francis Kung + + * javax/swing/JMenuBar.java: + (getSubElements): Do not return null values. + +2006-06-07 Roman Kennke + + PR 27902 + * gnu/regexp/BacktrackStack.java + * gnu/regexp/CharIndexed.java + * gnu/regexp/CharIndexedCharArray.java + * gnu/regexp/CharIndexedCharSequence.java + * gnu/regexp/CharIndexedInputStream.java + * gnu/regexp/CharIndexedString.java + * gnu/regexp/CharIndexedStringBuffer.java + * gnu/regexp/RE.java + * gnu/regexp/REException.java + * gnu/regexp/REFilterInputStream.java + * gnu/regexp/REMatch.java + * gnu/regexp/REMatchEnumeration.java + * gnu/regexp/RESyntax.java + * gnu/regexp/REToken.java + * gnu/regexp/RETokenAny.java + * gnu/regexp/RETokenBackRef.java + * gnu/regexp/RETokenChar.java + * gnu/regexp/RETokenEnd.java + * gnu/regexp/RETokenEndOfPreviousMatch.java + * gnu/regexp/RETokenEndSub.java + * gnu/regexp/RETokenIndependent.java + * gnu/regexp/RETokenLookAhead.java + * gnu/regexp/RETokenLookBehind.java + * gnu/regexp/RETokenNamedProperty.java + * gnu/regexp/RETokenOneOf.java + * gnu/regexp/RETokenPOSIX.java + * gnu/regexp/RETokenRange.java + * gnu/regexp/RETokenRepeated.java + * gnu/regexp/RETokenStart.java + * gnu/regexp/RETokenWordBoundary.java + * gnu/regexp/UncheckedRE.java + * gnu/java/util/regex/BacktrackStack.java + * gnu/java/util/regex/CharIndexed.java + * gnu/java/util/regex/CharIndexedCharArray.java + * gnu/java/util/regex/CharIndexedCharSequence.java + * gnu/java/util/regex/CharIndexedInputStream.java + * gnu/java/util/regex/CharIndexedString.java + * gnu/java/util/regex/CharIndexedStringBuffer.java + * gnu/java/util/regex/RE.java + * gnu/java/util/regex/REException.java + * gnu/java/util/regex/REFilterInputStream.java + * gnu/java/util/regex/REMatch.java + * gnu/java/util/regex/REMatchEnumeration.java + * gnu/java/util/regex/RESyntax.java + * gnu/java/util/regex/REToken.java + * gnu/java/util/regex/RETokenAny.java + * gnu/java/util/regex/RETokenBackRef.java + * gnu/java/util/regex/RETokenChar.java + * gnu/java/util/regex/RETokenEnd.java + * gnu/java/util/regex/RETokenEndOfPreviousMatch.java + * gnu/java/util/regex/RETokenEndSub.java + * gnu/java/util/regex/RETokenIndependent.java + * gnu/java/util/regex/RETokenLookAhead.java + * gnu/java/util/regex/RETokenLookBehind.java + * gnu/java/util/regex/RETokenNamedProperty.java + * gnu/java/util/regex/RETokenOneOf.java + * gnu/java/util/regex/RETokenPOSIX.java + * gnu/java/util/regex/RETokenRange.java + * gnu/java/util/regex/RETokenRepeated.java + * gnu/java/util/regex/RETokenStart.java + * gnu/java/util/regex/RETokenWordBoundary.java + * gnu/java/util/regex/UncheckedRE.java + Moved gnu.regexp classes to gnu.java.util.regex package. + * java/util/regex/Matcher.java + * java/util/regex/Pattern.java + Adjusted import statements for new package name for gnu regexp. + +2006-06-07 Tom Tromey + + PR classpath/27905: + * gnu/java/nio/charset/Provider.java (loadExtended): Now synchronized. + Added missing charsets. + (charsetForName): Don't check 'extendedLoaded'. + +2006-06-07 Roman Kennke + + PR 27833 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clip(Shape)): Implemented correctly, so that the current shape + gets intersected by the parameter shape. + +2006-06-07 Lillian Angel + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (getTabBounds): If this method is called with a tab index + that is not in the rects array, we need to re-layout the container + so it is created. + +2006-06-07 Lillian Angel + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + (FreetypeGlyphVector): Removed assignment. Caused compilation error. + * java/lang/String.java + (codePointCount): Fixed check to match API. Shouldn't throw exception + if end == count. end is 1 more than the endIndex, so end == count is + possible. + +2006-06-07 Gary Benson + + PR 24895 + * native/jni/java-io/java_io_VMFile.c + (Java_java_io_VMFile_toCanonicalForm): New method. + * configure.ac: Added checks for lstat and readlink. + * include/java_io_VMFile.h: Added new method. + * vm/reference/java/io/VMFile.java: Use new method. + * gnu/java/io/PlatformHelper.java (toCanonicalForm): Removed. + * NEWS: Documented the above. + * java/io/File.java: Javadoc fix. + +2006-06-07 Roman Kennke + + PR 27920 + * javax/swing/JTree.java + (JTree()): Initialize with default model. + (JTree(TreeModel)): Clear expanded state hashtable. Added comment + on the updateUI() / setModel() order. + (setModel): Correctly (un-)setup the listeners. Clear the expanded + paths. + * javax/swing/plaf/basic/BasicTreeUI.java + (BasicTreeUI()): Initialize listeners in installListeners(). + (setModel): Complete editing on model change. Correctly resetup + the listeners. Update the layout cache accordingly. + (setShowRootHandles): Complete editing and update layout. Do not + call back into the JTree, this could cause cycles. + (prepareForUIInstall): Implemented. Moved some init code from + installUI() to this method. + (completeUIInstall): Implemented. Moved some init code from + installUI() to this method. + (createDefaultCellEditor): Check for type of renderer, and install + with null renderer when not DefaultTreeCellRenderer. + (updateLayoutCacheExpandedNodes): Added null check for tree root + to avoid NPE. + (updateRenderer): Call updateEditor(). + (installListeners): Initialize the listeners here. Added some null + checks to avoid NPEs. + (installUI): Moved some init code to prepareForUIInstall() and + completeUIInstall(). + (completeEditing): Return immediately if editing component is null + or if the setting is to not stop editing on complete editing. + (checkForClickInExpandControl): Call handleExpandControlClick() + instead of toggleExpandState() directly. + (isLocationInExpandControl): Rewritten to correctly determine the + expand click location. + (MouseHandler.mousePressed): Rewritten to make better use of the + instance methods of BasicTreeUI to handle the click. + (PropertyHandler.propertyChange): Handle model and cell renderer + updates. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTreeCellEditor): Removed initialization of the icon. This + is done so that the constructor can deal with null renderer as the + RI does. Maybe this needs more fixing. + * javax/swing/tree/TreePath.java + (isDescendant): Fixed this method. The previous version did too + much and compared the wrong things, which lead to a ClassCastException + in equals(). + * javax/swing/tree/VariableHeightLayoutCache.java + (update): Do nothing when model is null. + (setModel): Clear the tables and update the layout. Added null + check to prevent NPE. + +2006-06-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/GdkGlyphVector: Removed file. + +2006-06-07 Sven de Marothy + + * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java + * include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c + New files. + + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getGlyphVector): Removed native method. + (createGlyphVector, getStringBounds): Use new GV class. + + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getGlyphVector): Removed native method. + +2006-06-07 Chris Burdess + + * gnu/classpath/debug/TeeInputStream.java, + gnu/classpath/debug/TeeOutputStream.java, + gnu/classpath/debug/TeeReader.java, + gnu/classpath/debug/TeeWriter.java: New classes for debugging streams. + * gnu/xml/stream/XMLParser.java: Use tee streams for debugging. Don't + read more characters than absolutely necessary in tryRead method. + +2006-06-07 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Put look and feel radio buttons into + appropriate button group. + +2006-06-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XMLParser.java: Add command line options for setting + parsing parameters (for simpler debugging). + * gnu/xml/transform/TransformerImpl.java: Try to ensure that I/O error + closing output stream is propagated to application. + +2006-06-06 Mark Wielaard + + PR 27917 + * gnu/java/awt/peer/gtk/CairoSurface.java (finalize): Call dispose. + * gnu/java/awt/peer/gtk/ComponentGraphics.java: Override dispose to + call disposeSurface. + (disposeSurface): New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_disposeNative): Free + pattern_pixels. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Call + cairo_pattern_destroy. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_disposeSurface): + New function to destroy the surface. + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h: Regenerated. + * include/gnu_java_awt_peer_gtk_CairoSurface.h: Likewise. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h: Likewise. + +2006-06-06 Mark Wielaard + + * include/jni.h (JDK1_1InitArgs): Mark pointer-to-function types + with JNICALL. + +2006-06-06 David Gilbert + + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (paint): If has focus, paint special background color, + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (FocusHandler.focusGained): Implemented, + (FocusHandler.focusLost): Implemented. + +2006-06-06 Tom Tromey + + * javax/swing/text/StyleContext.java (registerStaticAttributeKey): + Javadoc fix. + (writeAttributeSet): Implemented. + +2006-06-06 Tom Tromey + + * javax/swing/text/html/HTMLDocument.java (SpecialAction.start): + Implement. + (SpecialAction.end): Removed. + (IsindexAction.end): Likewise. + +2006-06-06 Tom Tromey + + * include/jni.h (JDK1_1InitArgs): New struct. + (JDK1_1AttachArgs): Likewise. + +2006-06-06 Tom Tromey + + * java/security/UnresolvedPermission.java (getUnresolvedType): New + method. + (getUnresolvedName): New method. + (getUnresolvedActions): New method. + (getUnresolvedCerts): New method. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Removed debugging code. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java + (getColor): Added support for "rgb(red, green, blue)" notation. + (translateTag): Use Boolean.TRUE, not new Boolean(). + +2006-06-06 Roman Kennke + + PR 27651 + * javax/swing/JTree.java + (JTree(TreeModel)): Call updateUI() before setModel(). + (setModel): Don't call updateUI here. + +2006-06-06 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + Fixed failure message and commenting. + (NP_Initialize): Added more comments. + +2006-06-06 David Gilbert + + * javax/swing/JSplitPane.java + (AccessibleJSplitPane): API doc fixes, + (setDividerLocation): Likewise, + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Additions to SplitPane.ancestorInputMap, + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method, + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented. + +2006-06-06 Roman Kennke + + PR 27523 + * javax/swing/MenuSelectionManager.java + (processKeyEvent): Added check to avoid + ArrayIndexOutOfBoundsException. + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/htmlAttributeSet.java + (getAttributeNames): Rewritten + +2006-06-06 Chris Burdess + + * gnu/xml/transform/TransformerImpl.java: Check type of created + document (more cases). + +2006-06-06 Audrius Meskauskas + + * gnu/javax/swing/text/html/htmlAttributeSet.java + (clone): New method. (copyAttributes): New method. + (getResolveParent): Comment fix. (getAttribute): + Rewritten. (addAttribute): Rewritten. + * gnu/javax/swing/text/html/SmallHtmlAttributeSet.java: + New file. + +2006-06-06 Roman Kennke + + PR 27522 + * javax/swing/JMenuBar.java + (processKeyBindingHelper): Added null check to prevent NPE. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (ShowSystemMenuAction): New class. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/metal/MetalInternalFrameUI.java + (installKeyboardActions): Overridden to remove showSystemMenu action. + +2006-06-06 Chris Burdess + + * gnu/xml/transform/TransformerImpl.java: Check type of created + document. + +2006-06-06 Robert Schuster + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: + (getScreenDevices): Added explicit cast. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (installKeyboardActions): Use shared input map. Correctly + install the input/action maps in the component's input/action + map hierarchies. + (getActionMap): New helper method for fetching an ActionMap from + the UIManager or creating a default one if there is none supplied + by the UIManager. + (createActionMap): Add the TransferHandler's actions here. Made + method private. + (getInputMap): Leave out unnecessary method parameter. Load + shared input map. + * javax/swing/plaf/basic/SharedUIDefaults.java: New file. + +2006-06-06 Robert Schuster + + * configure.ac: Added missing [ to expression. + +2006-06-06 Robert Schuster + + * configure.ac: Added missing { to expression. + +2006-06-06 Robert Schuster + + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h: Regenerated. + * include/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.h: New file. + * include/Makefile.am: Added + gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice. + * gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java: + (GdkGraphicsConfiguration): Rewritten. + (getColorModel): Rewritten. + (getColorModel(int)): Rewritten. + (getBounds): Rewritten. + (createCompatibleVolatileImage): Implemented. + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java: Added static + initializer. + (getDefaultScreenDevice): Rewritten. + (nativeGetDefaultScreenDevice): New method. + (getScreenDevices): Rewritten. + (nativeGetScreenDevices): New method. + (nativeInitState): New method. + * gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java: Entirely + rewritten. + (X11DisplayMode): New inner class. + * native/jni/gtk-peer/Makefile.am: Added gdkdisplay.h and + gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c + * native/jni/gtk-peer/gdkdisplay.h: New file. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c: + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_initStaticState): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment_nativeInitState): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment + _nativeGetScreenDevices): + New function. + (Java_gnu_java_awt_peer_gtk_GdkGraphicsEnvironment + _nativeGetDefaultScreenDevice): + New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkScreenGraphicsDevice.c: + New file. + * configure.ac: Added check for Xrandr library. + +2006-06-06 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (getMaximumSize): Don't return null. Fixed calculation of + table height. + (getMinimumSize): Don't return null. Fixed calculation of + table height. + (getPreferredSize): Fixed calculation of with and height. Added + API docs. + (getHeight): New helper method. + +2006-06-06 David Gilbert + + * javax/swing/JComponent.java + (getInputMap(int)): Throw IllegalArgumentException for unknown + condition argument, and added API docs, + (getInputMap()): Added API docs. + +2006-06-06 Robert Schuster + + * java/awt/BufferedImage.java: Added fourth 8 to bits4 field. + +2006-06-06 David Gilbert + + * javax/swing/JTable.java + (AccessibleJTableHeaderCell.header): New field, + (AccessibleJTableHeaderCell.columnIndex): Likewise, + (AccessibleJTableHeaderCell.AccessibleJTableHeaderCell()): Initialise, + (AccessibleJTableHeaderCell.getColumnHeaderRenderer): New method, + (AccessibleJTableHeaderCell.getAccessibleContext): Implemented, + (AccessibleJTableHeaderCell.getAccessibleRole): Implemented, + (AccessibleJTable.getAccessibleChild(int)): Overridden, + (AccessibleJTable.getAccessibleAt): Reimplemented. + +2006-06-05 Sven de Marothy + + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (initFromVolatile): New method. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + Reimplement. + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + (copyArea, drawVolatileImage): New methods. + +2006-06-05 Tania Bento + + * javax/swing/JFrame.java + (frameInit): Set background color and fixed layout parameters. + +2006-06-05 Tom Tromey + + * NEWS: Mention VMURLConnection. + +2006-06-05 Lillian Angel + + * native/plugin/gcjwebplugin.cc: + Added new field to keep track of initialization. + (plugin_start_appletviewer): Fixed to return an error value, if + an error was encountered when loading the appletviewer. + (GCJ_NEW): Added call to plugin_failed if the loading of the appletviewer + has failed. + (plugin_failed): New helper function. Shows a warning if the appletviewer + has not been installed. + (NP_Initialize): Added code to make sure this function is only called + once. + +2006-06-05 Lillian Angel + + * native/plugin/Makefile.am: + Fixed to use a set plugin directory in the .mozilla directory. + All applet logs are now stored here, instead of /tmp. + * native/plugin/gcjwebplugin.cc: + Added new fields for security warning. + (GCJ_NEW): Added code to generate a security warning for all pages + that spawn an appletviewer. This warning asks the user if they trust + the applet and if they would like to add it to a 'whitelist'. This + whitelist keeps track of all the addresses the user would like + to trust indefinitely. + (plugin_user_trusts_documentbase): New helper function. + (plugin_add_documentbase_to_whitelist): New helper function. + (plugin_ask_user_about_documentbase): New helper function. + (plugin_in_pipe_callback): Fixed check to determine if channel_error + has been set. + (plugin_start_appletviewer): Likewise. + (plugin_create_applet_tag): Reset all fields to null after they have been + freed. + (plugin_send_message_to_appletviewer): Fixed all error checks to determine + if channel_error has been set. + (plugin_stop_appletviewer): Likewise. + (NP_Initialize): Likewise. Also, added code to determine if directory and file + should be created. + +2006-06-05 Francis Kung + + PR 27507 + * gnu/java/awt/peer/gtk/GtkImage.java + (getSource): Added check to determine if in + errorLoading state. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage): Added check to prevent NPE. + +2006-06-05 Audrius Meskauskas + + * javax/swing/text/html/HTMLEditorKit.java (HTMLFactory.create): + Create the ImageView, when applicable. + * gnu/javax/swing/text/html/CombinedAttributes.java, + javax/swing/text/html/ImageView.java: New files. + +2006-06-05 Roman Kennke + + PR 27834 + * javax/swing/text/GapContent.java + (setPositionsInRange): Compare with startIndex and endIndex + rather than start and end. + (dumpMarks): Only dump real marks. + +2006-06-05 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (ComponentGraphics): Use 0,0 as clip origin. + +2006-06-04 Andrew John Hughes + + * java/util/Formattable.java, + * java/util/FormattableFlags.java, + * java/util/Formatter.java: + Documented. + +2006-06-04 Tom Tromey + + * javax/naming/Context.java (list): Genericized. + (listBindings): Likewise. + * javax/naming/Reference.java (addrs): Genericized. + * javax/naming/InitialContext.java (myProps): Fixed type. + (init): Genericized. + +2006-06-04 Andrew John Hughes + + * java/util/DuplicateFormatFlagsException.java, + * java/util/FormatFlagsConversionMismatchException.java, + * java/util/FormatterClosedException.java, + * java/util/IllegalFormatCodePointException.java, + * java/util/IllegalFormatConversionException.java, + * java/util/IllegalFormatException.java, + * java/util/IllegalFormatFlagsException.java, + * java/util/IllegalFormatPrecisionException.java, + * java/util/IllegalFormatWidthException.java, + * java/util/MissingFormatArgumentException.java, + * java/util/MissingFormatWidthException.java, + * java/util/UnknownFormatConversionException.java, + * java/util/UnknownFormatFlagsException.java: + Documented. + +2006-06-04 Andrew John Hughes + + * java/lang/System.java: + (getenv()): Handle cases where split only + returns an array of size 1. + +2006-06-04 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (createVolatileImage): Pass peer to VolatileImage constructor. + * java/awt/Component.java + (createVolatileImage): Call peer method directly. + +2006-06-04 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java + (getFlippedBuffer): New method. + (getGtkImage): Renamed method. + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + Renamed getSharedImage to getGtkImage. + * include/gnu_java_awt_peer_gtk_CairoSurface.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (getFlippedBuffer): New method + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Avoid window casts. +2006-06-04 Andrew John Hughes + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: + (drawVolatile): Add casts. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: + (getOutline): Add casts. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c: + Comment out unused prototype. + (getPixels): Add appropriate cast and comment out unused variable. + +2006-06-04 Raif S. Naffah + + * gnu/javax/crypto/sasl/SaslUtil.java: Remove unused import. + * gnu/javax/crypto/sasl/srp/SRPRegistry.java (PASSWORD_DB): Fix javadoc @link. + * gnu/javax/crypto/sasl/srp/PasswordFile.java: Removed unused import. + * gnu/javax/crypto/prng/CSPRNG.java (FILE_SOURCES): Fix javadoc @see. + (getSystemInstance): Fix javadoc @link. + (counter): Increased visibility. + * gnu/javax/crypto/pad/TLS1.java: Remove unused import. + * gnu/javax/crypto/pad/IPad.java: Fix javadoc @link. + * gnu/javax/crypto/pad/PKCS1_V1_5.java (PKCS1_V1_5): Likewise. + * gnu/javax/crypto/pad/PKCS7.java (PKCS7): Likewise. + * gnu/javax/crypto/pad/TBC.java (TBC): Likewise. + * gnu/javax/crypto/mode/CTR.java: Remove unused import. + * gnu/javax/crypto/mode/BaseMode.java (defaultBlockSize): Fix javadoc @see. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java (getEncoded): Fix javadoc @see. + * gnu/javax/crypto/jce/spec/TMMHParameterSpec.java: Fix javadoc @link. + * gnu/javax/crypto/keyring/AuthenticatedEntry.java: Remove unused imports. + * gnu/javax/crypto/keyring/CertificateEntry.java: Likewise. + * gnu/javax/crypto/keyring/CertPathEntry.java: Likewise. + * gnu/javax/crypto/keyring/EncryptedEntry.java: Likewise. + * gnu/javax/crypto/keyring/PublicKeyEntry.java: Likewise. + * gnu/javax/crypto/mac/OMAC.java: Likewise. + * gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java: Likewise. + * gnu/javax/crypto/jce/mac/OMacImpl.java: Likewise. + * gnu/javax/crypto/jce/prng/CSPRNGSpi.java: Likewise. + * gnu/javax/crypto/cipher/IBlockCipherSpi.java: Fix javadoc @link. + * gnu/javax/crypto/jce/cipher/CipherAdapter.java (CipherAdapter): Likewise. + * gnu/javax/crypto/cipher/BaseCipher.java: Remove unused import. + * gnu/javax/crypto/assembly/Cascade.java: Fix javadoc @link. + * gnu/javax/crypto/assembly/Direction.java: Likewise. + * gnu/javax/crypto/assembly/Transformer.java: Likewise. + +2006-06-04 Raif S. Naffah + + * gnu/java/security/PolicyFile.java: Updated copyright year. + (logger): Increased visibility. + * gnu/java/security/x509/Util.java: Updated copyright year. + (hexDump): Fix javadoc @link. + * gnu/java/security/x509/ext/GeneralNames.java: Updated copyright year. + Removed unused import. + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java: Fix javadoc @link. + * gnu/java/security/sig/ISignature.java (SOURCE_OF_RANDOMNESS): Likewise. + * gnu/java/security/util/ExpirableObject.java: Likewise. + (destroy): Likewise. + * gnu/java/security/util/SimpleList.java (SimpleList): Likewise. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java: + Updated copyright year. + (checkCRL): Fix javadoc @param. + +2006-06-03 Andrew John Hughes + + * java/lang/annotation/IncompleteAnnotationException.java: + Documented. + +2006-06-03 Andrew John Hughes + + * java/lang/ProcessBuilder.java: + Documented. + (environment): Create as a copy. + * java/lang/System.java: + (EnvironmentMap.EnvironmentMap(Map)): + New constructor. + (EnvironmentMap.put(String,String)): Override superclass + method with checks for nulls and non-Strings. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (cairoPreserveClip, cairoResetClip): New methods. + (setClip, clip): Reimplement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + (cairoPreserveClip, cairoResetClip): New methods. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/VolatileImageGraphics.java + * include/gnu_java_awt_peer_gtk_GtkVolatileImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkVolatileImage.c + New files. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (drawImage): Overloads for VolatileImage drawing. + (drawVolatile): New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + (drawVolatile): New method. + * gnu/java/awt/peer/gtk/GtkVolatileImage.java + Unstub implementation. + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + * native/jni/gtk-peer/gtkpeer.h + New prototype. + +2006-06-03 Roman Kennke + + PR 27418 + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange): Added null check to avoid NPE. + +2006-06-03 Roman Kennke + + * javax/swing/text/PlainView.java + (updateDamage): Check for valid longestLine and initialize if + necessary. + +2006-06-03 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c: Use C + comments, not C++. + +2006-06-02 Sven de Marothy + + PR 27879 + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copyArea): Implement. + (copyAreaImpl, getRealBounds): New methods. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (copyAreaImpl, getRealBounds): Implement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeCopyArea): Reimplement. + +2006-06-02 Andreas Tobler + + * configure.ac: Add -lX11 and -lXtst to XTEST_LIBS. + (XTEST_LIBS): New, substitute. + * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Add XTEST_LIBS. + +2006-06-02 Roman Kennke + + PR 26738 + * javax/swing/text/PlainView.java + (updateDamage): Rewritten for correct repainting and revalidating. + (findLongestLine): New helper method. + (getLineLength): New helper method. + +2006-06-02 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (nativeCopyArea): Change stride parameter to use # of ints. + (setPixels): Add checks. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (ComponentGraphics): Set background, clip. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (Cairographics2D): Don't set clip. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Add flush. + +2006-06-02 Lillian Angel + + PR 24458 + * java/awt/DefaultKeyboardFocusManager.java + (dispatchEvent): Fixed to getFocusOwner, if that fails it tries + to get the focused window. + +2006-06-01 Miriam Schuster + + * Makefile.am: Add fallback if "mozilla-plugin" is not available. + Fallbacks used: "firefox-plugin" and "xulrunner-plugin". + +2006-06-02 Roman Kennke + + * javax/swing/JTable.java + (columnSelectionChanged): Don't return when there's only one + column (might still need repainting). Correctly calculate + repaint rectangle. + (valueChanged): Use return value of SwingUtilities.computeUnion + as dirty region. + +2006-06-01 Keith Seitz + + From Martin Platter : + * gnu/classpath/jdwp/processor/EventRequestCommandSet.java + (executeSet): Fix buffer underflow reading reference ID. + * gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java + (executeParent): Fix NPE if ThreadGroup is top-level ThreadGroup. + * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java + (executeSuperclass): Handle case of Object with ID zero. + +2006-06-02 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Fixed typo. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + +2006-06-02 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (shutdownThread): New field. + (Command): Add the shutdown hook. + (doCommand): Remove the shutdown hook. + (ShutdownHook): New class. + +2006-06-02 Raif S. Naffah + + * tools/jarsigner.in: Use @VM_BINARY@. + * tools/keytool.in: Likewise. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (setColor): Update the cairo paint. + +2006-06-01 Mark Wielaard + + * java/util/logging/LogManager.java (createInstance): Always add + original exception on warning. + +2006-06-01 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/AppletTag.java + (prependCodebase): Fixed check. No dirname was ever considered to + be a file, so every applet fell into the if-statement causing a lot + of classloading problems with the applets. + +2006-06-01 Sven de Marothy + + Patch submitted by Boris Dusek. + * native/jni/qt-peer/qtmenupeer.cpp + Fix segfault + +2006-06-01 Roman Kennke + + * javax/swing/JTable.java + (AccessibleJTableCell.getAccessibleRow): Added comment explaining + why the behaviour is like it is. + (AccessibleJTableCell.getAccessibleStateSet): Implemented. + (AccessibleJTableHeader): New inner class. + (AccessibleJTableHeaderCell): New inner class. + (AccessibleJTable.lastSelectedRow): New field. + (AccessibleJTable.lastSelectedColumn): New field. + (AccessibleJTable.caption): New field. + (AccessibleJTable.summary): New field. + (AccessibleJTable.rowDescriptions): New field. + (AccessibleJTable.columnDescriptions): New field. + (AccessibleJTable): Initialize lastSelectedRow and lastSelectedColumn. + (AccessibleJTable.getAccessibleSelection(int)): Implemented. + (AccessibleJTable.isAccessibleChildSelected): Implemented. + (AccessibleJTable.addAccessibleSelection): Implemented. + (AccessibleJTable.removeAccessibleSelection): Implemented. + (AccessibleJTable.clearAccessibleSelection): Implemented. + (AccessibleJTable.selectAllAccessibleSelection): Implemented. + (AccessibleJTable.valueChange): Implemented. + (AccessibleJTable.tableRowsInserted): Implemented. + (AccessibleJTable.tableRowsDeleted): Implemented. + (AccessibleJTable.handleRowChange): New helper method. + (AccessibleJTable.columnAdded): Implemented. + (AccessibleJTable.columnMarginChanged): Implemented. + (AccessibleJTable.columnMoved): Implemented. + (AccessibleJTable.columnRemoved): Implemented. + (AccessibleJTable.columnSelectionChanged): Implemented. + (AccessibleJTable.handleColumnChange): New helper method. + (AccessibleJTable.editingCanceled): Implemented. + (AccessibleJTable.editingStopped): Implemented. + (AccessibleJTable.getAccessibleRow): Implemented. + (AccessibleJTable.getAccessibleColumn): Implemented. + (AccessibleJTable.getAccessibleIndex): Implemented. + (AccessibleJTable.getAccessibleCaption): Implemented. + (AccessibleJTable.setAccessibleCaption): Implemented. + (AccessibleJTable.getAccessibleSummary): Implemented. + (AccessibleJTable.setAccessibleSummary): Implemented. + (AccessibleJTable.getAccessibleRowCount): Implemented. + (AccessibleJTable.getAccessibleColumnCount): Implemented. + (AccessibleJTable.getAccessibleAt): Implemented. + (AccessibleJTable.getAccessibleRowExtentAt): Implemented. + (AccessibleJTable.getAccessibleColumnExtentAt): Implemented. + (AccessibleJTable.getAccessibleRowHeader): Implemented. + (AccessibleJTable.setAccessibleRowHeader): Implemented. + (AccessibleJTable.getAccessibleColumnHeader): Implemented. + (AccessibleJTable.setAccessibleColumnHeader): Implemented. + (AccessibleJTable.getAccessibleRowDescription): Implemented. + (AccessibleJTable.setAccessibleRowDescription): Implemented. + (AccessibleJTable.getAccessibleColumnDescription): Implemented. + (AccessibleJTable.setAccessibleColumnDescription): Implemented. + (AccessibleJTable.isAccessibleSelected): Implemented. + (AccessibleJTable.isAccessibleRowSelected): Implemented. + (AccessibleJTable.isAccessibleColumnSelected): Implemented. + (AccessibleJTable.getSelectedAccessibleRows): Implemented. + (AccessibleJTable.getSelectedAccessibleColumns): Implemented. + (getAccessibleContext): Register listeners for the accessibility + class on the JTable. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java: + (setPaint): Scale +1 pixel larger. + +2006-06-01 Sven de Marothy + + PR 27854 + * gnu/java/awt/Buffers.java (getData): Reimplement. + * gnu/java/awt/peer/gtk/CairoSurface.java + (getElem, setElem): Call native methods. + +2006-06-01 Audrius Meskauskas + + * gnu/javax/swing/text/html/ImageViewIconFactory.java: New file. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Check for zero size. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: + (setFont): Declare new native method. + (GdkTextLayout): Read some attributes. + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (setFont): New native method. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Fix some errors. + +2006-06-01 David Gilbert + + * javax/swing/plaf/basic/BasicButtonUI.java: Minor source code style + fixes, + * javax/swing/plaf/basic/BasicDirectoryModel.java: Likewise, + * javax/swing/plaf/basic/BasicFileChooserUI.java: Likewise, + * javax/swing/plaf/basic/BasicIconFactory.java: Likewise, + * javax/swing/plaf/basic/BasicListUI.java: Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicScrollPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicSpinnerUI.java: Likewise, + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise. + +2006-06-01 David Gilbert + + * javax/swing/JComboBox.java: Minor source code formatting fixes, + * javax/swing/JEditorPane.java: Likewise, + * javax/swing/JFormattedTextField.java: Likewise, + * javax/swing/JLayeredPane.java: Likewise, + * javax/swing/JScrollPane.java: Likewise, + * javax/swing/JSlider.java: Likewise, + * javax/swing/JSpinner.java: Likewise, + * javax/swing/JTree.java: Likewise, + * javax/swing/JViewport.java: Likewise, + * javax/swing/UIDefaults.java: Likewise, + * javax/swing/UIManager.java: Likewise. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (BufferedImageGraphics): Cache surfaces. + (updateBufferedImage): Copy directly for certain color models. + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Reimplement. + +2006-06-01 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Don't swap, correct size. + +2006-05-31 Anthony Green + + PR 27828 + * java/net/InetSocketAddress.java: Defer getting the host + name until somebody calls InetSocketAddress.getHostName(). + Fix "represenation" typo. + +2006-06-01 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Simplify. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (getPixels): Don't swap. + +2006-06-01 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (setGradient): Reimplement. + +2006-06-01 Andreas Tobler + + * native/jni/gtk-peer/cairographics2d.h: Rename/prefix function + CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t correctly. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_drawSurface): Rename function + CairoGraphics2D_getCairoT to cp_gtk_get_cairo_t. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Likewise. + +2006-05-31 David Gilbert + + * javax/swing/table/JTableHeader.java + (getColumnHeaderRenderer): New method, + (getAccessibleColumnHeaderRenderer): Delegate part to new + getColumnHeaderRenderer() method, + (getLocale): Implemented. + +2006-05-31 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (cp_gtk_grab_current_drawable): Rename + cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable to + cp_gtk_grab_current_drawable, remove static declaration. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Renamed above + function. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c: + Remove prototype of + cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): Rename + function. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): Likewise. + * native/jni/gtk-peer/gtkpeer.h: Add prototype for + cp_gtk_grab_current_drawable here. + +2006-05-31 Sven de Marothy + + Should fix PR 27835 + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + (updateBufferedImage): Keep within image bounds. + +2006-05-31 Thomas Fitzsimmons + Andreas Tobler + + * configure.ac: Check for libXrender when the GTK peers are + enabled, and set HAVE_XRENDER accordingly. Add -lXrender to + X_EXTRA_LIBS. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender) + [HAVE_XRENDER]: Call XRenderQueryExtension conditionally. + +2006-05-31 Lillian Angel + + * javax/swing/plaf/basic/BasicProgressBarUI.java + (paintString): Implemented to paint the string vertically. + +2006-05-31 David Gilbert + + * javax/swing/JTable.java + (AccessibleJTable.AccessibleJTable()): Check for null editor, + (AccessibleJTable.getAccessibleRole()): Overridden to return correct + value, + (AccessibleJTable.getAccessibleTable()): Likewise, + (getAccessibleContext): Create new context if required. + +2006-05-31 Roman Kennke + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.stateChanged): Implemented. + (Page.getAccessibleStateSet): Implemented. + (Page.getAccessibleIndexInParent): Implemented. + (getAccessibleContext): Add AccessibleJTabbedPane object + as ChangeListener to the JTabbedPane. + +2006-05-31 Roman Kennke + + * javax/swing/JMenuItem.java + (getAccessibleContext): Register accessible object as ChangeListener + to the JMenuItem. + (AccessibleJMenuItem.armed): New field. + (AccessibleJMenuItem.focusOwner): New field. + (AccessibleJMenuItem.pressed): New field. + (AccessibleJMenuItem.selected): New field. + (stateChanged): Implemented. + +2006-05-31 David Gilbert + + * javax/swing/ListSelectionModel.java: Added API docs all over. + +2006-05-31 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/FillRect.java + (paintComponent): Optionally paint lines rather than rectangles. + (createContent): Added option to test line painting. + +2006-05-31 David Gilbert + + * javax/swing/event/EventListenerList.java + (getListenerList): Updated API docs. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Clip scaled image to dest rectangle. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoSurface.java: + (CairoSurface): Convert pixels properly. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Remove commented-out lines. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (drawImage): Use Toolkit to convert to BufferedImage. + * gnu/java/awt/peer/gtk/CairoSurface.java + (CairoSurface(GtkImage)): New Constructor. + (getBufferedImage): New method. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Don't fill background - FIXME. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: + Remove unused methods. + * gnu/java/awt/peer/gtk/GtkImage.java: + (pixbuflock): New field. Methods change to use this lock. + * gnu/java/awt/peer/gtk/GtkToolkit.java + (createImage): Use Cairo-backed surfaces via GtkImage instead of + GtkPixbufDecoder. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Correct length in bytes. + +2006-05-30 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java (static): Call + System.loadLibrary unconditionally. + * gnu/java/awt/peer/gtk/GdkFontPeer.java: Likewise. + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: Likewise. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Likewise. + * gnu/java/awt/peer/gtk/GtkToolkit.java: Likewise. + +2006-05-30 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_copyAreaNative): + Mark unused parameters, remove unused variables. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphics.java + (copyArea): Implemented. + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c: + (copyAreaNative): New method. + +2006-05-30 Andreas Tobler + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_getPixels): Define i only + for non big endian systems. + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Likewise. + +2006-05-30 Roman Kennke + + * gnu/java/awt/java2d/TexturePaintContext.java: New file. + * java/awt/TexturePaint.java + (createContext): Implemented. + +2006-05-30 Robert Schuster + + * javax/swing/table/DefaultTableMode.java: Initialize dataVector + field early. + +2006-05-30 Robert Schuster + + * java/awt/Container.java: + (removeAll): Reimplemented, added note. + +2006-05-30 Robert Schuster + + * java/awt/Container.java: + (removeAll): Implemented different removal mechanism, added note. + +2006-05-30 Lillian Angel + + PR 27785 + * java/awt/Component.java: + (translateEvent): Added handling to translate WindowEvents + * java/awt/Window.java: + Removed unneeded imports. + +2006-05-30 Mark Wielaard + + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Add + cairographics2d.h. + +2006-05-30 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GtkImage.java: Fix constructor javadoc. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (clearRect): Do not reuse the fg field, call updateColor. + (drawRaster): Likewise. + (setColor): Call updateColor. + (updateColor): New method. + +2006-05-30 Mark Wielaard + + * native/jni/classpath/jcl.h (JLONG_TO_PTR): New macro. + (PTR_TO_JLONG): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (getPointer): Use new conversion macros. + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): + Likewise. + (setNativeObject): Likewise. + (getNativeObject): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (cp_java_awt_peer_gtk_ComponentGraphics_grab_current_drawable): + Mark static. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): + Correctly cast XID and pointer values. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_getPixbuf): + Mark unused variables. + (Java_gnu_java_awt_peer_gtk_ComponentGraphicsCopy_copyPixbuf): + Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + (Java_gnu_java_awt_peer_gtk_GdkTextLayout_cairoDrawGdkTextLayout): + Remove unused cairographics2d struct. + (_moveTo, _lineTo, _quadTo, _curveTo): Mark arguments const. + (Java_gnu_java_awt_peer_gtk_GtkImage_initFromBuffer): + Use new conversion macros. + * native/jni/midi-dssi/dssi_data.h: Move conversion macros to jcl.h. + +2006-05-30 Mark Wielaard + + * include/Makefile.am (gnu_java_nio_VMChannel.h): Added. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + (copy): Do not reuse the fd field. + (setColor): Do not set the color if the parameter + matches fd field. + (translate(double, double): Rewritten to use + AffineTransform.translate. + +2006-05-30 Sven de Marothy + + * gnu/java/awt/peer/gtk/ComponentGraphicsCopy.java + * include/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphicsCopy.c + New files. + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Add new files. + * gnu/java/awt/peer/gtk/CairoSurface.java + (getSharedGtkImage): New method. + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + Fix copyArea. + * gnu/java/awt/peer/gtk/ComponentGraphics.java + Support a non-xrender context. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + Plug memory leak. + * gnu/java/awt/peer/gtk/GtkImage.java + * include/gnu_java_awt_peer_gtk_GtkImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (initFromBuffer): New method. + * native/jni/gtk-peer/gtkpeer.h: + Remove declarations of previouslyremoved methods. + +2006-05-29 Thomas Fitzsimmons + + * tools/Makefile.am [FOUND_CACAO] (LIBJVM): Define to -ljvm. + +2006-05-29 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_init): Mark unused + arguments. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (Java_gnu_java_awt_peer_gtk_CairoSurface_setPixels): Declare size + early. Remove unused return statement in void function. + (Java_gnu_java_awt_peer_gtk_CairoSurface_newCairoContext): Declare + ptr early. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_hasXRender): Mark + unused arguments. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_initState): Likewise. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_start_1gdk_1drawing): + Likewise. + (Java_gnu_java_awt_peer_gtk_ComponentGraphics_end_1gdk_1drawing): + Likewise. + +2006-05-29 Sven de Marothy + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoSurface.c + (setPixels): Remove superfluous return statement. + +2006-05-29 Sven de Marothy + + * gnu/java/awt/peer/gtk/BufferedImageGraphics.java + * gnu/java/awt/peer/gtk/CairoGraphics2D.java + * gnu/java/awt/peer/gtk/CairoSurface.java + * gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java + * gnu/java/awt/peer/gtk/ComponentGraphics.java + * include/gnu_java_awt_peer_gtk_CairoGraphics2D.h + * include/gnu_java_awt_peer_gtk_CairoSurface.h + * include/gnu_java_awt_peer_gtk_ComponentGraphics.h + * native/jni/gtk-peer/cairographics2d.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_ComponentGraphics.c + New files. + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h + Removed + + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (releasePeerGraphicsResource): Moved to Font peer class. + + * gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java + (createGraphics): Use new context classes. + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java: + Use native BufferedImages where possible. + + * gnu/java/awt/peer/gtk/GdkTextLayout.java + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c + Move GdkGraphics2D.drawGdkTextLayout to the GdkTextLayout class, + renamed to cairoDrawGdkTextLayout. + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (getGraphics): Use ComponentGraphics context. + (createImage): Use native BufferedImage. + + * gnu/java/awt/peer/gtk/GtkImage.java: + * include/gnu_java_awt_peer_gtk_GtkImage.h + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + Remove pixmap support. (GtkImage(int, int) constructor, getGraphics) + Remove drawing methods. + + * gnu/java/awt/print/JavaPrinterGraphics.java: + Use CairoSurface instead of GtkImage. + + * include/Makefile.am + * native/jni/gtk-peer/Makefile.am + Update for new files. + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c + Remove superfluous GtkImage code for GdkPixmaps. + + * native/jni/gtk-peer/gtkpeer.h + Remove graphics2d structure. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (copying constructor): + Do not reuse fg in the constructor. + +2006-05-29 Carsten Neumann + + * java/io/ObjectStreamConstants.java: Added API docs. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setColor): + Take no action if this color is already set. + +2006-05-29 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (translate): + Rewritten. + * examples/gnu/classpath/examples/swing/FillRect.java (paintComponent): + Optionally paint with translation. (createContent): Added option + to test painting with translation + +2006-05-29 Raif S. Naffah + + * java/util/logging/FileHandler.java (FileHandler): Set the instance field + pattern to the default value when null. + Pass field pattern, and not parameter with same name to createFileStream. + +2006-05-28 Andrew John Hughes + + * gnu/java/lang/management/OperatingSystemMXBeanImpl.java: + New class implementing the OS bean. + * gnu/java/lang/management/package.html: + New file to document the gnu.java.lang.management package. + * java/lang/management/ManagementFactory.java: + New class to provide access to the OS bean. + * java/lang/management/OperatingSystemMXBean.java: + New interface. + * java/lang/management/package.html: + New file to document the java.lang.management package. + +2006-05-28 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ImportCmd.java (GKR): New constant. + (JKS): Likewise. + (LIB): Likewise. + (SECURITY): Likewise. + (CACERTS): Likewise. + (CACERTS_GKR): Likewise. + (gkrCaCertsPathName): New field. + (jksCaCertsPathName): Likewise. + (selfSignedCertificate): Likewise. + (start): Initialize trusted certificate key stores if -trustcacerts is + specified. + (ensureReplyIsOurs): Initialize selfSignedCertificate. + (orderChain): Implemented. + (findTrustAndUpdate): Check a cacerts.gkr (GKR) and a cacert (JKS) trusted + certificate key stores if -trustcacerts option is specified. + (findTrustInCACerts): Removed. + (getCertPathParameters): New method. + (validate): New method. + * resource/gnu/classpath/tools/keytool/messages.properties: Added message. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java (PROPERTY_PREFIX): New constant. + (PATTERN_KEY): Likewise. + (DEFAULT_PATTERN): Likewise. + (LIMIT_KEY): Likewise. + (DEFAULT_LIMIT): Likewise. + (COUNT_KEY): Likewise. + (DEFAULT_COUNT): Likewise. + (APPEND_KEY): Likewise. + (DEFAULT_APPEND): Likewise. + (FileHandler()): Use pattern value as set in logging.properties. + Use constants defined above. + (FileHandler(1)): Use constants defined above. + (FileHandler(2)): Likewise. + (FileHandler(3)): Likewise. + (FileHandler(4)): Likewise. + (createFileStream): Likewise. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java: Reverted previous patch. + * java/util/logging/LogManager.java: Likewise. + +2006-05-28 Raif S. Naffah + + * java/util/logging/FileHandler.java (PATTERN_KEY): New constant. + (DEFAULT_PATTERN): Likewise. + (FileHandler()): Use configured pattern property if any; otherwise use a + default value as per RI documentation. + * java/util/logging/LogManager.java (getStringProperty): New method. + +2006-05-27 Thomas Fitzsimmons + + * NEWS: Announce libjawtgnu.so-to-libjawt.so rename. + +2006-05-27 Thomas Fitzsimmons + + * configure.ac (FOUND_CACAO): New automake conditional. + Add --enable-tool-wrappers. + * NEWS: Introduce the --enable-tool-wrappers option. + * tools/Makefile.am[CREATE_WRAPPERS]: Build wrapper binaries. + * tools/appletviewer.c: Remove file. Make tool-indepedent and + rename ... + * tools/toolwrapper.c: New file. + +2006-05-27 Dalibor Topic + + * java/awt/Graphics2D.java: Use full class name for + PrinterJob in javadoc. + +2006-05-27 Andreas Tobler + + * native/jni/qt-peer/eventmethods.h (callVoidMethod): Silence warning. + (callMouseMethod): Likewise. + +2006-05-26 Andrew John Hughes + + * native/jni/java-net/java_net_VMURLConnection.c: + Fix function declarations to specify unused parameters. + * scripts/check_jni_methods.sh: + Remove copies of the same function using uniq. + +2006-05-26 Andrew John Hughes + + * vm/reference/java/net/VMURLConnection.java: + Make package-private and final. + +2006-05-27 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModed): Added editor for the icons column. + (createContent): Increase the row height by 2 px. + +2006-05-26 Tom Tromey + + PR classpath/27685: + * java/math/BigInteger.java (modPow): Correctly handle negative + exponent. + +2006-05-26 Tom Tromey + + * configure.ac: Check for magic.h and -lmagic. + * vm/reference/java/net/VMURLConnection.java: New file. + * include/java_net_VMURLConnection.h: New file. + * include/Makefile.am (H_FILES): Add VMURLConnection.h. + ($(top_srcdir)/include/java_net_VMURLConnection.h): New target. + * native/jni/java-net/Makefile.am (libjavanet_la_SOURCES): + Mention new file. + (libjavanet_la_LIBADD): Add $(LIBMAGIC). + * native/jni/java-net/java_net_VMURLConnection.c: New file. + +2006-05-26 Thomas Fitzsimmons + + * tools/Makefile.am (installcheck-binSCRIPTS): Do nothing. + +2006-05-26 Thomas Fitzsimmons + + * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Rename + libjawtgnu.la libjawt.la. + +2006-05-26 Thomas Fitzsimmons + + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove + gtkcairopeer.h. + +2006-05-25 Lillian Angel + + PR 26174 + * java/awt/Window.java + (Window): Moved code to helper. + (addWindowFocusListener): New function. Handles focus + listener code. Added code to handle focus lost/gained + from the window. + +2006-05-25 Andrew John Hughes + + * configure.ac: + Make pkg-config check for GTK+ >= 2.8. + +2006-05-25 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (flush): Remove debugging printfs. + +2006-05-25 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (schedule_flush): New function. + (end_drawing_operation): Call schedule_flush. + +2006-05-25 Thomas Fitzsimmons + + * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect + paint performance demo. + * examples/gnu/classpath/examples/swing/FillRect.java: New file. + +2006-05-25 Thomas Fitzsimmons + + * INSTALL: Bump GTK requirement to 2.8 or higher. Do not mention + Cairo version requirement. Do not mention --enable-gtk-cairo + configure option. + * NEWS: Add entry for GdkGraphics2D. + * configure.ac: Remove --enable-gtk-cairo and explicit checks for + Cairo library and headers. + * .externalToolBuilders/Configure.launch: Remove + --enable-gtk-cairo from configure line. + * gnu/classpath/Configuration.java.in (GTK_CAIRO_ENABLED): Remove + field. + * gnu/java/awt/BitwiseXORComposite.java: Fix javadoc typo. + * gnu/java/awt/peer/gtk/GdkFontPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c : Remove + useGraphics2D references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GdkGraphics.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Remove. + * gnu/java/awt/peer/gtk/GdkGraphics2D.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove + Unlocked method variants. Remove GTK_CAIRO_ENABLED and + useGraphics2D references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GdkTextLayout.java: Remove instanceof + Graphics2D check. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c + (realize): Remove method. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (isRealized): Remove method. + (realize): Implement as a native method. Remove useGraphics2D + references. Always assume Graphics2D is enabled. + * gnu/java/awt/peer/gtk/GtkImage.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: Replace + GdkGraphics references with GdkGraphics2D references. + * gnu/java/awt/peer/gtk/GtkToolkit.java, + native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Remove + useGraphics2D references. Always assume Graphics2D is enabled. + * include/Makefile.am (GTKPEER_H_FILES): Remove + gnu_java_awt_peer_gtk_GdkGraphics.h. + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GdkGraphics.h: Remove. + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: Likewise. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise. + * native/jawt/Makefile.am (AM_LDFLAGS): Remove CAIRO_LIBS. + * native/jni/gtk-peer/Makefile.am (libgtkpeer_la_SOURCES): Remove + gnu_java_awt_peer_gtk_GdkGraphics.c. Include + gnu_java_awt_peer_gtk_GdkGraphics2D.c unconditionally. + (AM_LDFLAGS): Remove CAIRO_LIBS. + (AM_CFLAGS): Remove CAIRO_CFLAGS. + * native/jni/gtk-peer/gtkcairopeer.h: Remove. Move declarations + to ... + * native/jni/gtk-peer/gtkpeer.h: Add Graphics2D declarations. + +2006-05-25 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursorUnlocked): + Added check to prevent assertion error. If widget->window is null, then + use the parent widget's window to set the cursor on. + +2006-05-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (TreeCancelEditingAction): + Implemented. + +2006-05-24 Lillian Angel + + * tools/gnu/classpath/tools/appletviewer/AppletTag.java + (prependCodeBase): Added check to determine if the documentbase + points to a directory or a file. + +2006-05-24 Sven de Marothy + + * java/awt/dnd/DragGestureRecognizer.java + (resetRecognizer): Implement. + (fireDragGestureRecognized): Implement. + +2006-05-24 David Gilbert + + * javax/swing/plaf/basic/BasicComboBoxUI.java: Marked stub methods and + fixed source code formatting. + +2006-05-24 Audrius Meskauskas + + * javax/swing/JTable.java (valueChanged): If is editing, stop editing. + +2006-05-24 Audrius Meskauskas + + Reported by Antony Balkisson. + * javax/swing/JTable.java (selectAll): Return without action + if the table is empty. + +2006-05-23 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java: + (SliderCell): New inner class. (setCustomEditors, + setInformativeHeaders): New fields. (createContent): + Rewritten. + * javax/swing/DefaultCellEditor.java + (JComboBoxDelegate.shouldSelectCell): New method. + * javax/swing/JTable.java (editCellAt): Call shouldSelectCell. + * javax/swing/plaf/basic/BasicTableUI.java + (MouseInputHandler.mouseClicked): Start editing on a single + click if the cell editor is not a default cell editor. + +2006-05-23 Audrius Meskauskas + + * javax/swing/naming/CompositeName.java, + javax/swing/naming/CompoundName.java: + Documented. + +2006-05-23 Archie Cobbs + + * vm/reference/java/lang/VMClassLoader.java: fix static initializer + ordering problem. + +2006-05-23 David Gilbert + + * javax/swing/tree/AbstractLayoutCache.java: Coding style fixes, + * javax/swing/tree/DefaultMutableTreeNode.java: Likewise, + * javax/swing/tree/DefaultTreeCellRenderer.java: Likewise, + * javax/swing/tree/DefaultTreeModel.java: Likewise, + * javax/swing/tree/DefaultTreeSelectionModel.java: Likewise, + * javax/swing/tree/ExpandVetoException.java: Likewise, + * javax/swing/tree/FixedHeightLayoutCache.java: Likewise, + * javax/swing/tree/RowMapper.java: Likewise, + * javax/swing/tree/TreeNode.java: Likewise, + * javax/swing/tree/TreeSelectionModel.java: Likewise, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-05-23 David Gilbert + + * javax/swing/tree/DefaultTreeCellRenderer.java + (DefaultTreeCellRenderer): Changed key for + setBackgroundNonSelectionColor(), + plus API docs all over. + +2006-05-23 Audrius Meskauskas + + PR 27680 + * javax/swing/JTable.java (booleanInvertingEditor): New field. + (defaultEditorsByColumnClass, defaultRenderersByColumnClass): + Initialise in constructor. (columnMoved): Cancel editing. + (createDefaultEditors): Rewritten. (editCellAt): + Just invert the value if this is a boolean cell. + (initialiseLocalVars): Do not initialise renderer and editor tables. + (setUI): Create editors and renderers here. + +2006-05-23 Robert Schuster + + * examples/gnu/classpath/examples/awt/Demo.java: + (MainWindow.MainWindow): Added ResolutionWindow and FullscreenWindow + instance as subframe. + (ResolutionWindow): New inner class. + (FullscreenWindow): New inner class. + +2006-05-23 Audrius Meskauskas + + PR 27680 + * javax/swing/JTable.java (BooleanCellRenderer, IconCellRenderer): + Set horizontal alignment to centered. + +2006-05-22 David Gilbert + + * javax/accessibility/AccessibleContext.java + (getAccessibleComponent): Fixed typo in docs, + * javax/swing/JLabel.java: + (AccessibleJLabel.getAccessibleName): Check for explicit + accessibleName, + * javax/swing/JTableHeader.java + (AccessibleJTableHeaderEntry.columnIndex): New field, + (AccessibleJTableHeaderEntry.parent): New field, + (AccessibleJTableHeaderEntry.table): New field, + (AccessibleJTableHeaderEntry.AccessibleJTableHeaderEntry()): + Implemented, + (AccessibleJTableHeaderEntry.getAccessibleColumnHeaderRenderer): New + utility method, + (AccessibleJTableHeaderEntry.addFocusListener): Implemented, + (AccessibleJTableHeaderEntry.addPropertyChangeListener): Implemented, + (AccessibleJTableHeaderEntry.contains): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleAction): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleAt): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleChild): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleChildrenCount): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleComponent): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleContext): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleDescription): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleIndexInParent): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleName): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleRole): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleSelection): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleStateSet): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleText): Implemented, + (AccessibleJTableHeaderEntry.getAccessibleValue): Implemented, + (AccessibleJTableHeaderEntry.getBackground): Implemented, + (AccessibleJTableHeaderEntry.getBounds): Implemented, + (AccessibleJTableHeaderEntry.getCursor): Implemented, + (AccessibleJTableHeaderEntry.getFont): Implemented, + (AccessibleJTableHeaderEntry.getFontMetrics): Implemented, + (AccessibleJTableHeaderEntry.getForeground): Implemented, + (AccessibleJTableHeaderEntry.getLocation): Implemented, + (AccessibleJTableHeaderEntry.getLocationOnScreen): Implemented, + (AccessibleJTableHeaderEntry.getSize): Implemented, + (AccessibleJTableHeaderEntry.isEnabled): Implemented, + (AccessibleJTableHeaderEntry.isFocusTraversable): Implemented, + (AccessibleJTableHeaderEntry.isShowing): Implemented, + (AccessibleJTableHeaderEntry.isVisible): Implemented, + (AccessibleJTableHeaderEntry.removeFocusListener): Implemented, + (AccessibleJTableHeaderEntry.removePropertyChangeListener): + Implemented, + (AccessibleJTableHeaderEntry.requestFocus): Implemented, + (AccessibleJTableHeaderEntry.setAccessibleDescription): Implemented, + (AccessibleJTableHeaderEntry.setAccessibleName): Implemented, + (AccessibleJTableHeaderEntry.setBackground): Implemented, + (AccessibleJTableHeaderEntry.setBounds): Implemented, + (AccessibleJTableHeaderEntry.setCursor): Implemented, + (AccessibleJTableHeaderEntry.setEnabled): Implemented, + (AccessibleJTableHeaderEntry.setFont): Implemented, + (AccessibleJTableHeaderEntry.setForeground): Implemented, + (AccessibleJTableHeaderEntry.setLocation): Implemented, + (AccessibleJTableHeaderEntry.setSize): Implemented, + (AccessibleJTableHeaderEntry.setVisible): Implemented, + (AccessibleJTableHeader.getAccessibleRole): Implemented, + (AccessibleJTableHeader.getAccessibleChildrenCount): Implemented, + (AccessibleJTableHeader.getAccessibleChild): Implemented, + (AccessibleJTableHeader.getAccessibleAt): Implemented. + +2006-05-22 Tom Tromey + + * NEWS: Updated. + +2006-05-22 David Gilbert + + * javax/swing/JLabel.java + (AccessibleJLabel.getAccessibleName): New method (override), + (setLabelFor): Fire 'labelFor' property change event before other + events. + +2006-05-22 David Gilbert + + * javax/swing/JLabel.java + (AccessibleJLabel.getAccessibleRole): New method (override). + +2006-05-22 Tom Tromey + + * resource/gnu/classpath/tools/serialver/messages.properties: New + file. + * tools/gnu/classpath/tools/serialver/Messages.java: New file. + * tools/gnu/classpath/tools/serialver/SerialVer.java (classes): New + field. + (classpath): Likewise. + (run): New method. + (main): Use it. + (addFileURL): New method. + (getClassLoader): Likewise. + (printMessage): Likewise. + +2006-05-22 Tom Tromey + + * tools/gnu/classpath/tools/serialver/SerialVer.java: New file. + +2006-05-22 Audrius Meskauskas + + * javax/swing/JTable.java (doLayout): In the column + resize mode, only repaing the changed part of the table. + (getLeftResizingBoundary): New method. + +2006-05-22 Audrius Meskauskas + + * javax/naming/spi/InitialContextFactory.java, + javax/naming/spi/InitialContextFactoryBuilder.java, + javax/naming/spi/NamingManager.java, + javax/naming/spi/ObjectFactory.java, + javax/naming/spi/ResolveResult.java, + javax/naming/spi/Resolver.java, + javax/naming/spi/StateFactory.java: Documented. + +2006-05-21 Tom Tromey + + PR classpath/27688: + * tools/gnu/classpath/tools/jar/Extractor.java (allItems): Now + a WorkSet. + (initSet): Removed. + (shouldExtract): Removed. + (run): Updated. + * tools/gnu/classpath/tools/jar/WorkSet.java: New file. + * tools/gnu/classpath/tools/jar/Lister.java (readUntilEnd): New + method. + (listJar): Use it. + (allItems): New field. + (run): Initialize it. + (listJar): Use it. + +2006-05-22 Sven de Marothy + + * java/nio/CharBuffer.java + (wrap): Fix bounds checking. + +2004-08-26 Tom Tromey + + * java/io/OutputStream.java + (OutputStream): Implements Closeable, Flushable. + +2006-04-02 Andrew John Hughes + + * java/io/ObjectOutputStream.java: + (writeObject(Object)): Added enum support. + (writeClassDescriptor(ObjectStreamClass)): Likewise. + * java/io/ObjectStreamClass.java: + (isEnum()): New package-private method. + (setFlags(Class)): Added enum support. + * java/io/ObjectStreamConstants.java: + (SC_ENUM): Added. + +2006-03-29 Andrew John Hughes + + * java/io/ObjectInputStream.java: + (parseContent(byte)): Added enum support. + * java/io/ObjectStreamConstants.java: + (TC_ENUM): Added. + (TC_MAX): Changed to new maximum, TC_ENUM. + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (instantiateChild(String)): Implemented. + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (add(Object)): Add further documentation. + (isEmpty()): Documented. + (propertyChange(PropertyChangeEvent)): Implemented. + (remove(Object)): Documented. + (remove(Object,boolean)): Documented and implemented. + (vetoableChange(PropertyChangeEvent)): Marked as + implemented (only subclasses appear to need this). + +2006-05-21 Andrew John Hughes + + * java/beans/beancontext/BeanContextSupport.java: + (add(Object)): Implement support for the child being + a BeanContextChild. + (avoidingGui()): Implemented. + (dontUseGui()): Likewise. + (needsGui()): Likewise. + (okToUseGui()): Likewise. + +2006-05-21 Audrius Meskauskas + + * javax/naming/Context.java, + javax/naming/ContextNotEmptyException.java, + javax/naming/Reference.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/swing/text/html/MinimalHTMLWriter.java + (writeComponent, writeImage): Declare that the method + may throw the IOException. + +2006-05-21 Audrius Meskauskas + + PR 26972 + * javax/naming/InitialContext.java (colon_list): Changed type to + hashset. (use_properties): New field. (init(Hashtable)): Rewritten. + (merge): Rewritten. + +2006-05-21 Audrius Meskauskas + + * javax/naming/InitialContext.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/naming/NameParser.java, + javax/naming/NamingEnumeration.java, + javax/naming/PartialResultException.java, + javax/naming/SizeLimitExceededException.java, + javax/naming/spi/ObjectFactory.java, + javax/naming/spi/ObjectFactoryBuilder.java: Documented. + +2006-05-21 Andrew John Hughes + + * gnu/java/net/loader/JarURLLoader.java: + Use Map.Entry instead of LinkedHashMap.Entry + +2006-05-21 Audrius Meskauskas + + * javax/naming/Context.java: Documented. + +2006-05-21 Audrius Meskauskas + + * javax/naming/Referenceable.java: Documented. + * javax/naming/spi/NamingManager.java: Documented. + +2006-05-21 Raif S. Naffah + + * doc/tools.texinfo: Replaced references to MessageBundle.properties + to messages.properties. + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + Renamed to messages.properties. + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: + Likewise. + * resource/gnu/classpath/tools/jarsigner/messages.properties: + Renamed from MessageBundle.properties. + Added copyright notice. + * resource/gnu/classpath/tools/keytool/messages.properties: + Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java + (BUNDLE_NAME): Use messages instead of MessageBundle properties file. + (getFormattedString): Fixed a spelling mistake. + * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. + +2006-05-20 Sven de Marothy + + * gnu/java/awt/font/opentype/NameDecoder.java + Made class public. + (getName): Use getShort instead of getChar(), fix PS name. + (decodeName): New method. + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getSubFamilyName): Implement. + (getPostScriptName): Use the NameDecoder class instead. + (parsePSName): Removed. + (getName): Added + +2006-05-20 Sven de Marothy + + * gnu/java/awt/peer/gtk/GdkFontPeer.java + (getTrueTypeTable): New native method. + (getPostScriptName): Reimplement. + (parsePSName): New method. + (getNumGlyphs): Implement. + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h: New native method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getTrueTypeTable): + New function. File is now explicitly dependent on FT2. + +2006-05-20 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Messages.java: New file. + * resource/gnu/classpath/tools/native2ascii/messages.properties: New + file. + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java + (HandleFile): New class. + (input, output, encoding, reversed): New fields. + (createParser): New method. + (run): Likewise. + (main): Use 'run'. + * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java + (notifyFile): Throws OptionException. + +2006-05-20 Tom Tromey + + * tools/gnu/classpath/tools/native2ascii/Native2ASCII.java: New file, + from cp-tools. + +2006-05-20 Andrew John Hughes + + * native/jni/java-nio/gnu_java_nio_VMChannel.c: + (JCL_print_buffer): Fix to work with -Werror on 64-bit + platforms. + +2006-05-20 Sven de Marothy + + * java/awt/Font.java (getNumGlyphs): Call correct peer method. + +2006-05-20 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterJob.java + (print): Use PostScriptGraphics2D. + * gnu/java/awt/print/PostScriptGraphics2D.java: New file. + +2006-05-20 Sven de Marothy + + * javax/swing/text/html/MinimalHTMLWriter.java: New file + +2006-05-20 Raif S. Naffah + + * gnu/java/security/OID.java: Updated copyright year. + (OID): Removed unused Javadoc param tag. + * gnu/java/security/prng/PRNGFactory.java: Removed unused import. + * gnu/java/security/hash/MD4.java: Fixed a Javadoc link. + +2006-05-20 Raif S. Naffah + + * gnu/javax/crypto/jce/keyring/GnuKeyring.java (engineAliases): + Formatting. + Added trace/debug statements. + (engineSetCertificateEntry): Ensure alias is not already used for a Key + Entry. Also ensure that any previous entry for this alias is removed + before a new one is added. + (engineGetKey): Do not trace/log passwords. + Trace key's class name only. + (engineSetKeyEntry): Ensure alias is not alredy used for a Trusted + Certificate Entry. Also ensure that previous entry for this alias is + removed before a new one is added. + (engineLoad): Do not trace/log passwords. + (engineStore): Likewise. + (engineSize): Use size of enumeration instead of collection size. + +2006-05-20 Raif S. Naffah + + * gnu/javax/crypto/keyring/PrivateKeyEntry.java: Formatting. + (toString): New method. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java (decrypt): + Do not trace/log passwords. + Set masked to false before decoding envelope. + Do not set payload to null. + (encrypt): Set masked to true. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java (verify): + Do not trace/log passwords. + Set masked to false before decoding envelope. + Do not set payload to null. + Added trace/debug statements. + (authenticate): Do not trace/log passwords. + Set masked to true. + Added trace/debug statements. + (getMac): Added trace/debug statements. + * gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java + (remove(String)): Changed the signature to return a boolean. + (toString): New method. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java (containsCertificate): + Formatting + (getCertificate): Likewise. + (putCertificate): Likewise. + (load): Likewise. + Do not trace/log passwords. + (store): Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (getPrivateKey): + Do not trace/log passwords. + Added more trace/logging statements. + (putPrivateKey): Do not trace/log passwords. + Trace only key's class name. + Formatting. + (containsPublicKey): Formatting. + (getPublicKey): Likewise. + Trace only key's class name. + (putPublicKey): Trace only key's class name. + (containsCertPath): Formatting. + (getCertPath): Likewise. + (putCertPath): Likewise. + (load): Do not trace/log passwords. + Formatting. + (store): Likewise. + * gnu/javax/crypto/keyring/EnvelopeEntry.java (log): New field. + (add): Do not set payload to null. + Added trace/debug statements. + (containsAlias): Added trace/debug statements. + (get): Likewise. + (remove(Entry)): Likewise. + (remove(String)): Likewise. + Changed the signature to return a boolean. + Do not set payload to null unless really removed. + (toString): New method. + (decodeEnvelope): Clear entries before proceeding. + (makeAliasList): Added trace/debug statements. + Ensure only non-null aliases and alias-lists are added. + * gnu/javax/crypto/keyring/Entry.java (log): New field. + (TYPES): New constant. + (toString): New method. + (defaultDecode): Add trace/debug statement. + +2006-05-20 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ListCmd.java (rfc): + Increased visibility. + (setup): Do not trace/log passwords. + (parsed): Was not setting correct (rfc) field; fixed. + (print1Chain): Formatting. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java (setup): + Do not trace/log passwords. + * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java (setup): Likewise. + (orderChain): Added FIXME. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java (setup): + Do not trace/log passwords. + Removed commented out code. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java (setup): Likewise. + * tools/gnu/classpath/tools/keytool/Command.java (doCommand): Formatting. + (setKeystoreURLParam): Likewise. + (setKeystorePasswordParam): Do not trace/log passwords. + (saveKeyStore): Likewise. + +2006-05-19 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + Added class docs. + (pixel): Removed obsolete field. + (draw(Shape)): Removed commented out code. + (drawImage): Formatting. + (drawString): Added optimization hook. + (setPaint): Removed rawSetForeground(). + (getFontRenderContext): Return context with correct transform. + (drawGlyphVector): Draw complete outline in one go. + (copyArea): Added optimization hook. + (clearRect): Added optimization hook. + (drawImage): Added optimization hook. + (fillShape): (Temporarily) Set antialiasing off by default for + font rendering. Adjust the shape by some bits to improve rendering. + Pass clip bounds to the render methods. + (drawPixel): Removed. + (rawSetPixel): Removed. + (rawSetForeground): Removed. + (rawDrawLine): Default impl calls standard pipeline. + (rawDrawString): New method, calls standard pipeline for rendering. + (rawClearRect): New method, calls standard pipeline for rendering. + (rawFillRect): New method, calls standard pipeline for rendering. + (rawDrawImage): New method, calls standard pipeline for rendering. + (rawCopyArea): New method. + (copyAreaImpl): New method. + (rawFillShape): Renamed to fillShapeImpl(). Small optimization + for rendering. + (fillShapeAntialias): Fixed AA rendering. + (fillScanlineAA): Fixed AA rendering. + (getSegments): Take offset into account. + +2006-05-19 Sven de Marothy + + * javax/swing/text/AbstractWriter.java + (getText): Fix parameters (start, length) not (start, end). + +2006-05-19 Tom Tromey + + PR classpath/27444: + * gnu/java/net/loader/URLLoader.java (getClassPath): Documented. + Changed return type. + * java/net/URLClassLoader.java (urlloaders): Removed. + (addURLImpl): Updated. + * gnu/java/net/loader/JarURLLoader.java (initialized): New field. + (indexSet): Likewise. + (classPath): Changed type. + (JarURLLoader): New constructor. + (initialize): New method. + (getResource): Use index set if it exists. + (getClassPath): Updated. + * gnu/java/net/IndexListParser.java (IndexListParser): Avoid NPE. + (prefixes): New field. + (headers): Removed. + (IndexListParser): Fill in prefixes. + (clearAll): Clear prefixes. + (getHeaders): Changed return type. + +2006-05-19 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseExitted): No nothing there. + (MouseInputHandler.endDragging): Move column to the + first/last position if released outside the horizontal + table range. + +2006-05-19 Lillian Angel + + * java/awt/font/GlyphVector.java + (getGlyphCharIndex): Implemented. + (getGlyphCharIndices): Implemented. + (getGlyphOutline): Implemented. + (getGlyphVisualBounds): Implemented. + (getGlyphVisualBounds): Implemented. + (getPixelBounds): Implemented. + (getLayoutFlags): Implemented. + +2006-05-19 Robert Schuster + + * java/awt/LightweightDispatcher.java: Added field dragButton and + documentation for it. + (handleMouseEvent): Rewritten MOUSE_PRESSED case in switch-statement, + added subexpression to if-clause in MOUSE_RELEASED case. + +2006-05-19 Robert Schuster + + * javax/swing/metal/MetalButtonUI.java: + (update): Removed some subexpression from if-clause and call + updateWithGradient. + (updateWithGradient): New method. + +2006-05-19 Roman Kennke + + * javax/swing/JComponent.java + (findOverlapFreeParent): Implemented algorithm for finding + overlapping in component hierarchy. + +2006-05-19 Jeroen Frijters + + * java/lang/Thread.java + (contextClassLoaderIsSystemClassLoader): New field. + (Thread(ThreadGroup,Runnable)): Call createAnonymousThreadName. + (Thread(VMThread,String,int,boolean)): Call createAnonymousThreadName + and set contextClassLoaderIsSystemClassLoader. + (Thread(ThreadGroup,Runnable,String,long)): + Set contextClassLoaderIsSystemClassLoader. + (createAnonymousThreadName): New method. + (getContextClassLoader): Check contextClassLoaderIsSystemClassLoader + and fixed security check. + (setContextClassLoader): Clear contextClassLoaderIsSystemClassLoader. + +2006-05-19 Robert Schuster + + * javax/swing/plaf/basic/BasicToolBarUI.java: + (createNonRolloverBorder): Rewritten. + (createRolloverBorder): Rewritten. + (setToNonRolloverBorder): Store old border instance in hashtable. + (setToRolloverBorder): Store old border instance in hashtable, use + AbstractButton instead of JButton in statements. + (setBorderToNormal): Rewritten. + * javax/swing/plaf/metal/MetalLookAndFeel.java: + (initComponentDefaults): Added values for ToolBar.rolloverBorder and + ToolBar.nonrolloverBorder. + +2006-05-18 Thomas Fitzsimmons + + * javax/imageio/stream/ImageInputStreamImpl.java: Complete. + * javax/imageio/stream/MemoryCacheImageInputStream.java: Likewise. + +2006-05-18 Lillian Angel + + * java/awt/font/GlyphMetrics.java + (getLSB): Implemented. + (getRSB): Implemented. + +2006-05-18 Lillian Angel + + * java/awt/font/GraphicAttribute.java: + Documented entire class. + (GraphicAttribute): Added check for alignment. + (getBounds): Implemented. + (getJustificationInfo): Implemented. + +2006-05-18 Robert Schuster + + * java/awt/LightweightDispatcher.java: + (handleMouseEvent): Added note, added subexpression to if-statement. + +2006-05-18 Robert Schuster + + * javax/swing/plaf/basic/BasicToolBarUI.java: + (navigateFocusedComp): Marked as stub. + (createRolloverBorder): Create a different Border instance, added note. + * javax/swing/plaf/metal/MetalBorders.java: + (ButtonBorder): Added documentation. + (ButtonBorder.paintDefaultButtonBorder): Added else-block. + (ButtonBorder.paintOceanButtonBorder): Added else-block, added + subexpression into if-else cascade, added note. + +2006-05-18 Lillian Angel + + * java/awt/font/ShapeGraphicAttribute.java: + Documented entire class. + (ShapeGraphicAttribute): Initialized bounds field. + (draw): Implemented. + (equals): Implemented. + (getAdvance): Implemented. + (getAscent): Implemented. + (getBounds): Implemented. + (getDescent): Implemented. + (hashCode): Implemented. + +2006-05-18 Roman Kennke + + * javax/swing/CellRendererPane.java + (CellRendererPane): Set CellRendererPane to invisible. + +2006-05-18 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (clipRect): Removed old intersection statement. + +2006-05-18 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (clipRect): Don't use Rectangle.intersection() to avoid creating + 2 unnecessary Rectangle instances and fix a clipping problem. + (computeIntersection): New helper method, adapted from SwingUtilities. + +2006-05-18 Roman Kennke + + * javax/swing/JComponent.java + (isCompletelyDirty): Removed. + (paint): Don't mark children as clean, this is no longer necessary. + (findOverlapFreeParent): Don't stop at Viewports, this breaks + painting when something overlaps the viewport (like a popup/menu). + * javax/swing/RepaintManager.java + (currentRepaintManagers): Made package private to avoid accessor + methods. + (dirtyComponents): Made private. + (dirtyComponentsWork): Made private. + (markCompletelyDirty): Fixed bounds of dirtyrect to be + component-local not parent-local. Do not set flag in JComponent. + (markCompletelyClean): Don't set JComponent flag. + (isCompletelyDirty): Rewritten to return true when the complete + component is marked dirty. + (paintDirtyRegions): Improved parent-merging so that the merged-in + components don't get painted too. 'Outsourced' the compilation + of the repaint root components. + (compileRepaintRoots): New helper method. + +2006-05-18 Roman Kennke + + PR 26368 + * javax/swing/text/GapContent.java + (GapContentPosition(int)): Use adapted binarySearch method to + allow for having a greater array than number of entries. + (numMarks): New field, holds the end of the marks list. + (GapContent): Initialize positionMarks with size of 10 instead of 0. + (shiftGapStartDown): Adjusted for new setPositionsInRange signature. + (shiftGapEndUp): Adjusted for new setPositionsInRange signature. + (setPositionsInRange): Changed signature to narrow the purpose and + special cases inside. Reimplemented to crunch together equal marks. + (adjustPositionsInRange): Added assertion to make sure we do + not accidentally change the order of the mark. Added some debug + output for a special case of which I don't know if it even exists. + (resetMarksAtZero): Made impl simpler. + (dumpMarks): New debug helper method. + (insertMark): Grow array in bigger chunks to avoid excessive copying. + (binarySearch): New method. An adaption of Arrays.binarySearch() + that allows for an maxIndex parameter. + +2006-05-18 Roman Kennke + + * javax/swing/KeyboardManager.java + (topLevelLookup): Use WeakHashMap to avoid memory leak. + +2006-05-18 Jeroen Frijters + + * gnu/java/net/loader/JarURLLoader.java + (JarURLLoader): Use a slightly more efficient URL constructor. + +2006-05-18 David Gilbert + + * gnu/java/awt/print/JavaPrinterGraphics.java + (drawImage(Image, int, int, Color, ImageObserver)): Fix endless loop, + (drawImage(Image, int, int, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, Color, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, int, int, int, int, Color, + ImageObserver)): Likewise, + (drawImage(Image, int, int, int, int, int, int, int, int, + ImageObserver)): Likewise. + +2006-05-17 Tom Tromey + + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use a + LinkedHashSet. + +2006-05-17 David Gilbert + + * javax/swing/border/AbstractBorder.java: Source code formatting fixes, + * javax/swing/border/BevelBorder.java: Likewise, + * javax/swing/border/CompoundBorder.java: Likewise, + * javax/swing/border/TitledBorder.java: Likewise. + +2006-05-17 David Gilbert + + * javax/swing/table/AbstractTableModel.java: Formatting fixes, + * javax/swing/table/DefaultTableModel.java: Likewise, + * javax/swing/table/TableCellEditor.java: Likewise, + * javax/swing/table/TableCellRenderer.java: Likewise. + +2006-05-17 Lillian Angel + + * java/awt/font/ImageGraphicAttribute.java: + Documented entire class. + (ImageGraphicAttribute): Changed to call this. + (ImageGraphicAttribute): Implemented. + (draw): Implemented. + (equals): Implemented. + (getAdvance): Implemented. + (getAscent): Implemented. + (getBounds): Implemented. + (getDescent): Implemented. + (hashCode): Implemented. + * javax/swing/text/html/HTMLDocument.java + (create): Removed. Sufficent enough for + super to be called. + (insert): Likewise. + (insertUpdate): Likewise. + (processHTMLFrameHyperlinkEvent): Marked as stub. + (start): Removed FIXME. + (end): Likewise. + (start): Called super. + (end): Called super. + (getElement): removed unneeded code. + (setParagraphAttribute): Removed. Sufficent enough + for super to be called. + (fireChangedUpdate): Likewise. + (fireUndoableEditUpdate): Likewise. + +2006-05-17 Lillian Angel + + * java/awt/TexturePaint.java: + Added documentation for class and all functions. + (getTransparency): Implemented. + +2006-05-17 Roman Kennke + + * java/awt/LightweightDispatcher.java + (findTarget): Translate point to child components. + +2006-05-17 Roman Kennke + + PR 26368 + * javax/swing/text/GapContent.java + (GapContentPosition): Do no more implement Comparable. + (GapContentPosition.mark): Removed field. + (GapContentPosition.index): New field to hold the index into + the positions array. + (GapContentPosition(int)): Rewritten to use the new indirection + to the positions array. + (GapContentPosition.compareTo): Removed. + (GapContentPosition.getOffset): Synchronized. Fetch mark from + positionMarks array. + (WeakPositionComparator): Removed obsolete class. + (positions): Changed type to WeakHashMap. + (positionMarks): New field, holds the marks of the positions. + (GapContent): Initialize new fields. + (createPosition): Rewritten to use the new indirection + to the positions array. + (getPositionsInRange): Rewritten to use the new indirection + to the positions array. + (setPositionsInRange): Rewritten to use the new indirection + to the positions array. + (adjustPositionsInRange): Rewritten to use the new indirection + to the positions array. + (insertMark): New helper method. + (clearPositionReferences): Removed obsolete methods. + +2006-05-17 Lillian Angel + + * java/awt/GraphicsConfiguration.java + (getImageCapabilities): Implemented. + (getBufferCapabilities): Implemented. + +2006-05-17 Lillian Angel + + * javax/swing/plaf/basic/BasicSliderUI.java + (focusGained): Implemented. + (focusLost): Implemented. + (paint): Added code to paint the focus. + * javax/swing/plaf/metal/MetalSliderUI.java + (paintThumb): Added code to set the thumbColor. + (paintFocus): Implemented properly. + +2006-05-17 Audrius Meskauskas + + PR 27383 + * javax/naming/spi/NamingManager.java (getURLContext): + Always search for the factory class in all possible places + and use VMStackWalker. + (forName): New method. + +2006-05-17 Roman Kennke + + * java/awt/LightweightDispatcher.java + (handleMouseEvent): Fixed search algorithm for finding the + mouse event target. + (findTarget): Fixed search algorithm for finding the + mouse event target. + +2006-05-17 Audrius Meskauskas + + * javax/naming/spi/NamingManager.java: Documented. + +2006-05-17 Mark Wielaard + + * THANKYOU: Add Trevor Linton . + * gnu/javax/imageio/jpeg/DCT.java: Cleanup Todo copyright. + * gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java: Likewise. + * gnu/javax/imageio/jpeg/ZigZag.java: Likewise. + +2006-05-17 Robert Schuster + + Fixes PR 26947. + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Updated copyright + year. + (BorderListener.mouseClicked): Detect double-clicks in title pane, + copied code from + BasicInternalFrameTitlePaneUI.MaximizeAction.actionPerformed(). + +2006-05-17 Robert Schuster + + Fixes PR 27626. + * java/awt/LightweightDispatcher.java: + (handleMouseEvent): Moved assignment into switch-block, added notes. + +2006-05-16 Lillian Angel + + * javax/swing/text/StyleContext.java: + Changed staticAttributeKeys to be a Hashtable. + (getStaticAttribute): Implemented. + (getStaticAttributeKey): Implemented. + (readAttributeSet): Implemented. + (writeAttributeSet): Added FIXME. Not sure how + to implement this. + (readAttributes): Implemented. + (writeAttributes): Implemented. + (registerStaticAttibuteKey): Fixed to add key to + the hash table. + +2006-05-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setGroup): Removed event notification. + +2006-05-16 Lillian Angel + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/basic/BasicComboPopup.java + (uninstallKeyboardActions): Removed FIXME. Nothing + to be done here. + (installKeyboardActions): Likewise. + * javax/swing/plaf/basic/BasicTextUI.java + (uninstallKeyboardActions): Implemented. + * javax/swing/plaf/basic/BasicTreeUI.java: + Added field for hashColor. + Marked stub methods. + (getHashColor): Implemented to use field. + (setHashColor): Likewise. + (getRowX): Implemented. + (NodeDimensions.getRowX): Changed to use BasicTreeUI.getRowX. + +2006-05-16 Roman Kennke + + PR 26521 + * javax/swing/JTable.java + (rowHeights): New field. + (initializeLocalVars): Call setRowHeigt instead of rowHeight=, + in order to initialize rowHeights correctly. + (tableChanged): Nullify rowHeights when model changes. Only + create default columns from model when corresponding property + is set. Sync table model with rowHeights as appropriate. + (valueChanged): Call repaint with the correct rectangle. + (rowAtPoint): Handle rowHeights. + (getCellRect): Mostly rewritten. Check for boundaries + of model and return (0,0,0,0) or (0,0,width,height) when outside. + Handle component orientation. Round correctly. + (getRowHeight(int)): Implemented for variable row height. + (setRowHeight(int,int)): Implemented for variable row height. + (setRowHeight(int)): Nullify rowHeights. + (setModel): Notify tableChanged(). + * javax/swing/plaf/basic/BasicTableUI.java + (installDefaults): Create rendererPane in installUI. + (installUI): Create and install rendererPane. + (uninstallUI): Uninstall rendererPane and nullify rendererPane + and table. + (paint): Correctly handle rowMargin. + +2006-05-16 Tom Tromey + + PR classpath/27563: + * java/text/NumberFormat.java (getIntegerInstance): Use + "integerFormat", not "numberFormat". + +2006-05-16 Lillian Angel + + * javax/swing/JPopupMenu.java + (addMenuKeyListener): Implemented. + (removeMenuKeyListener): Implemented. + (getMenuKeyListeners): Implemented. + * javax/swing/ProgressMonitor.java: + Added new protected field. + (getAccessibleContext): Implemented. + +2006-05-16 Lillian Angel + + * javax/swing/JFileChooser.java: + Added new private field. + (setDragEnabled): Implemented. + (getDragEnabled): Implemented. + +2006-05-16 Lillian Angel + + * java/awt/Window.java + (applyResourceBundle): Implemented. + +2006-05-16 David Gilbert + + * javax/swing/DefaultButtonModel.java + (setSelected): If new SELECTED state is false, clear ARMED and PRESSED + states also. + +2006-05-16 Audrius Meskauskas + + * javax/swing/JList.java (getSelectedValues): + Ask the value for the indexed array element. + +2006-05-16 Roman Kennke + + * javax/swing/JTable.java + (valueChanged): Also repaint when table has only 1 row. Fixed + repaint rectangle to span the entire changed rows. + +2006-05-16 Roman Kennke + + PR 24031 + * javax/swing/JOptionPane.java + (startModal): Rewritten. The events are now dispatched, even + when the event dispatch thread gets blocked by the call + to this method. Also, mouse events get intercepted outside the + internal frame. + +2006-05-16 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.mouseDragged):Do not set cursor + if the frame is being dragged. + +2006-05-16 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener): Rewritten. (InternalFrameBorder): + Made package private. + (InternalFrameBorder.offset): + Renamed to cornerSize, made package private. + (bSize): Made package private. + +2006-05-16 Roman Kennke + + * javax/swing/JMenu.java + (AccessibleJMenu.getAccessibleChildrenCount): Implemented. + (AccessibleJMenu.getAccessibleChild): Implemented. + (AccessibleJMenu.getAccessibleSelection): Implemented. + (AccessibleJMenu.getAccessibleSelection(int)): Implemented. + (AccessibleJMenu.isAccessibleChildSelected): Implemented. + (AccessibleJMenu.getAccessibleRole): Documented. + (AccessibleJMenu.getAccessibleSelectionCount): Implemented. + (AccessibleJMenu.addAccessibleSelection): Implemented. + (AccessibleJMenu.removeAccessibleSelection): Implemented. + (AccessibleJMenu.clearAccessibleSelection): Implemented. + (AccessibleJMenu.selectAllAccessibleSelection): Implemented. + (createPath): New helper method. + +2006-05-15 Tom Tromey + + * java/text/MessageFormat.java (format): Now varargs. + +2006-05-15 Tom Tromey + + * java/lang/Thread.java (State): Fixed typo. + +2006-05-15 Tom Tromey + + * java/net/URLClassLoader.java: Moved inner classes to + gnu.java.net.loader. + (factoryCache): Changed type. + (URL_LOADER_PREFIX): New constant. + (URLClassLoader): Updated for new factoryCache. + (addURLImpl): Use reflection to search for a loader. + (findClass): Use getClass method on URLLoader. + (getURLStreamHandler): Removed. + * gnu/java/net/loader/URLLoader.java: New file, extracted + from URLClassLoader. + * gnu/java/net/loader/Resource.java: Likewise. + * gnu/java/net/loader/FileResource.java: Likewise. + * gnu/java/net/loader/FileURLLoaderjava: Likewise. + * gnu/java/net/loader/JarURLLoader.java: Likewise. + * gnu/java/net/loader/JarURLResource.java: Likewise. + * gnu/java/net/loader/RemoteURLLoader.java: Likewise. + * gnu/java/net/loader/RemoteResource.java: Likewise. + * gnu/java/net/loader/ULRStreamHandlerCache.java: New file. + +2006-05-15 Sven de Marothy + + * native/target/generic/target_generic_network.h: + Add a pair of parenthesis. + +2006-05-15 Mark Wielaard + + * java/awt/Graphics2D.java: Remove PrinterJob import. + +2006-05-15 Mark Wielaard + + * doc/www.gnu.org/announce/20060515.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.91 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.91. + +2006-05-15 Thomas Fitzsimmons + + * NEWS: Announce inclusion of gcjwebplugin. + Announce inclusion of appletviewer. + * INSTALL: Note gcjwebplugin dependencies. + +2006-05-15 Mark Wielaard + + * configure.ac (VERSION): Set to 0.91-generics. + +2006-05-15 Mark Wielaard + + * NEWS: Add release date and VMClassLoader.getBootPackages() + changes. + +2006-05-15 Christian Thalinger + + * README: Added CACAO to list of VMs. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (paintDirtyRegions): + Break loop as soon as the component repaint is merged + with some parent. (ComponentComparator): Removed. + (comparator): Removed. + +2006-05-15 Roman Kennke + + * javax/swing/border/TitledBorder.java + (paintBorderWithTitle): Fixed indentation. + +2006-05-15 Roman Kennke + + * javax/swing/border/TitledBorder.java + (layoutBorderWithTitle): Fetch border using getBorder() instead + of using the border field directly. Allows for the use of + an UI supplied border in the case when a null border was set. + Fixed component orientation. + (paintBorderWithTitle): Fetch border using getBorder() instead + of using the border field directly. Allows for the use of + an UI supplied border in the case when a null border was set. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (paintDirtyRegions): Rewritten. + (contains): New method. + +2006-05-15 Tom Tromey + + * resource/gnu/classpath/tools/jar/messages.properties: Fixed + argument indices. + * resource/gnu/classpath/tools/getopt/Messages.properties: Fixed + argument indices. + +2006-05-15 Audrius Meskauskas + + * javax/swing/JComponent.java (findOverlapParent): Stop loop at + JViewport's. + * javax/swing/RepaintManager.java (addDirtyRegion): Always add the given + region. (paintDirtyRegions): Rewritten. + +2006-05-15 Tom Tromey + + * tools/gnu/classpath/tools/jar/Main.java (setArchiveFile): Use + MessageFormat. + * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use + MessageFormat. + * tools/gnu/classpath/tools/jar/Extractor.java: Externalized strings. + (run): Use MessageFormat. + * resource/gnu/classpath/tools/jar/messages.properties: New file. + * tools/gnu/classpath/tools/jar/Creator.java: Externalized strings. + (writeFile): Use MessageFormat. + +2006-05-15 Jeroen Frijters + + * java/awt/Toolkit.java (getDefaultToolkit): Use Class.forName() + instead of directly calling the class loader. + +2006-05-15 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Option.java (getDescription): + Removed old comment. + * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: + Externalized strings. + (getVersionString): Use MessageFormat. + * tools/gnu/classpath/tools/getopt/Messages.java: New file. + * resource/gnu/classpath/tools/getopt/Messages.properties: New file. + * tools/gnu/classpath/tools/getopt/Parser.java: Externalized strings. + (getArgument): Use a MessageFormat. + (handleLongOption): Likewise. + (parse): Likewise. + +2006-05-15 Robert Schuster + + Fixes PR 27197. + * javax/swing/text/FieldView.java: + (paint): Calculate intersection between clip and allocation area and + set that as new clip. + +2006-05-15 David Gilbert + + * javax/swing/text/JTextComponent.java: Marked stub methods. + +2006-05-15 David Gilbert + + * javax/swing/JTable.java: Marked stub methods. + +2006-05-15 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java: + Increased visibility of fields used by parser anonymous classes. + (KEYTOOL_TOOL): New constant. + (cmdLineParser): Changed type to ToolParser. + (fileAndAlias): new field. + (main): Don't catch OptionException. + (processArgs): Removed validation checks; now handled by ToolParser. + (getParser): Removed. + (ToolParserCallback): New inner class. + (ToolParser): Likewise. + +2006-05-15 Audrius Meskauskas + + * javax/swing/JTable.java (TableTextArea.scrollRectToVisible): + Removed. + +2006-05-15 Audrius Meskauskas + + * javax/swing/DefaultDesktopManager.java (endDraggingFrame, + endResizingFrame): Do not repaint, unless in the outline mode. + +2006-05-15 David Gilbert + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.getAccessibleRole): Implemented, + (AccessibleJTabbedPane.getAccessibleChildrenCount): Implemented, + (AccessibleJTabbedPane.getAccessibleSelection()): Implemented, + (AccessibleJTabbedPane.getAccessibleAt): Implemented, + (AccessibleJTabbedPane.getAccessibleSelectionCount): Implemented, + (AccessibleJTabbedPane.getAccessibleSelection(int)): Implemented, + (AccessibleJTabbedPane.isAccessibleChildSelected): Implemented, + (AccessibleJTabbedPane.addAccessibleSelection): Implemented, + (AccessibleJTabbedPane.removeAccessibleSelection): Implemented, + (AccessibleJTabbedPane.clearAccessibleSelection): Implemented, + (AccessibleJTabbedPane.selectAllAccessibleSelection): Implemented, + (Page.getAccessibleName): Implemented. + +2006-05-15 Audrius Meskauskas + + * javax/swing/DefaultDesktopManager.java (setBoundsForFrame): + Do not repaint nor revalidate here. + +2006-05-15 Audrius Meskauskas + + * javax/swing/RepaintManager.java (addDirtyRegion): + If there is a lightweight parent, recursively add the corresponding + region of the parent instead. + +2006-05-15 David Gilbert + + * java/awt/Graphics2D.java: Added some API doc comments. + +2006-05-15 David Gilbert + + * javax/swing/JTabbedPane.java + (paramString): Reimplemented, + (getAccessibleContext): Added API docs. + +2006-05-15 David Gilbert + + * javax/swing/JFileChooser.java + (paramString): Reimplemented, + (getAccessibleContext): Updated API docs, + (AccessibleJFileChooser): Added API docs. + +2006-05-14 Tom Tromey + + * tools/gnu/classpath/tools/jar/Updater.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Creator.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Action.java (run): No longer throws + OptionException. + * tools/gnu/classpath/tools/jar/Indexer.java (run): Removed. Moved + validation to JarParser. + * tools/gnu/classpath/tools/jar/Main.java (JarParser): New class. + (run): Moved validation to JarParser. Don't throw OptionException. + (initializeParser): Create a JarParser. + (main): Don't catch OptionException. + * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): No longer + public. + (validate): New method. + (parse): Call it. Print '-help' in error message when long-only. + +2006-05-14 Tom Tromey + + * gnu/java/awt/print/JavaPrinterJob.java (setPrintable): Fixed + assignment. + +2006-05-15 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java: + Sweeping changes I can't be bothered to document in detail. + * gnu/java/awt/print/JavaPrinterJob.java + (getPageAttributes): New method. + (setPageable,cancel,isCancelled): Implement. + +2006-05-14 David Gilbert + + * javax/swing/JCheckBoxMenuItem.java + (requestFocus): Fixed typo in API docs, + (paramString): Just call super.paramString(), + (getAccessibleContext): Added API docs, + (AccessibleJCheckBoxMenuItem): Likewise. + +2006-05-14 Tom Tromey + + * tools/gnu/classpath/tools/jar/Indexer.java + (writeCommandLineEntries): Simplify insertion. + * tools/gnu/classpath/tools/jar/Main.java (run): Don't allow both + -m and -M. + +2006-05-14 Tom Tromey + + PR classpath/27514: + * gnu/java/net/IndexListParser.java (JAR_INDEX_FILE): Renamed. Now + constant. + (JAR_INDEX_VERSION_KEY): Likewise. + (IndexListParser): Updated. + (getVersionInfo): Likewise. + * tools/gnu/classpath/tools/jar/Indexer.java: New file. + * tools/gnu/classpath/tools/jar/Action.java (run): Now throws + OptionException. + * tools/gnu/classpath/tools/jar/Main.java (initializeParser): Handle + -i. + (ModeOption): New constructor. + (parsed): Updated. Use setArchiveFile. + (setArchiveFile): New method. + (run): Handle no-argument case. + (main): Emit --help message on option error. + * tools/gnu/classpath/tools/jar/Updater.java (inputJar): New field. + (createManifest): New method. + (run): Updated. Throws OptionException. Correctly copy zip entry. + * tools/gnu/classpath/tools/jar/Creator.java (createManifest): New + method. + (writeManifest): Removed. + (outputStream): Now a JarOutputStream. + (writeCommandLineEntries): Changed parameters. Updated callers. + (run): Throws OptionException. + * java/util/jar/JarOutputStream.java (putNextEntry): Typo fix. + * java/util/jar/Manifest.java (read): Typo fix. + +2006-05-14 David Gilbert + + * javax/swing/JMenuItem.java + (paramString): Fixed class name in API doc comment. + +2006-05-14 Tom Tromey + + * native/plugin/.cvsignore: Updated. + +2006-05-14 Mark Wielaard + + * native/jni/java-net/javanet.c (_javanet_accept): Don't use C++ + comments. + +2006-05-14 Chris Burdess + + * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype + nodes to be preserved during cloneNode. + +2006-05-14 Mark Wielaard + + PR 27459 + * native/jni/java-net/javanet.c (_javanet_accept): Reset the + inherited timeout on socket. + +2006-05-14 Lillian Angel + + * java/util/SimpleTimeZone.java: Reverted patch. + (SimpleTimeZone): Throw exception if startMonth == + endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more + efficently). + This code is now more stable, at least less buggy than before. + Fixed API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-14 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): + Initialise to -1. + +2006-05-14 Robert Schuster + + PR classpath/27595 + * javax/swing/text/AbstractDocument.java: + (insertString): Flipped if-expression and its blocks. + (remove): Dito. + (replace): Flipped if-expression and its blocks, added note, invoke + insertString and remove instead of insertStringImpl and removeImpl. + +2006-05-14 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (main): Formatting. + +2006-05-14 Raif S. Naffah + + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: + Added help text. + * tools/gnu/classpath/tools/keytool/keytool.txt: Removed + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + (setup): Mark (Eclipse) strings that need not be externalised. + (start): Likewise. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Main.java: Amended to use getopt + command line option parsing. + * tools/gnu/classpath/tools/keytool/ListCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): set 'all' local field. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + (setNewKeyPassword): Fixed comments. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + (findTrustInCACerts): Mark (Eclipse) strings that need not be + externalised. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): Mark (Eclipse) strings that need not be externalised. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + (ATTRIBUTES_OPT): New constant. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: + Increased visibility of fields used by parser anonymous classes. + (processArgs): Removed. + (setup): Mark (Eclipse) strings that need not be externalised. + (start): Likewise. + Reduced logging level. + (getParser): New method. + * tools/gnu/classpath/tools/keytool/Command.java + (processArgs): Made it concrete. + (getParser): New abstract method. + * tools/Makefile.am (KEYTOOL_HELPS): Removed. + +2006-05-13 Casey Marshall + + Patch by Michael Barker . + * gnu/java/nio/PipeImpl.java: Retrofitted to use VMChannel. + * gnu/java/nio/SelectorImpl.java (register): Added condition for + gnu.java.nio.SocketChannelSelectionKeyImpl. + * gnu/java/nio/SocketChannelSelectionKeyImpl.java: new file. + * gnu/java/nio/channels/FileChannelImpl.java: retrofitted to use + VMChannel. + * include/gnu_java_nio_VMChannel.h: new file. + * java/nio/FileChannel.java (read,write): changed to call abstract + method. + * native/jni/java-nio/gnu_java_nio_VMChannel.c: new file. + * native/jni/java-nio/Makefile.am (libjavanio_SOURCES): add + `gnu_java_nio_VMChannel.c.' + * vm/reference/gnu/java/nio/VMChannel.java: new file. + +2006-05-14 Robert Schuster + + * javax/swing/text/AbstractDocument.java: + (insertString): Flipped if-expression and its blocks. + (remove): Dito. + (replace): Flipped if-expression and its blocks, added note, invoke + insertString and remove instead of insertStringImpl and removeImpl. + +2006-05-13 Tom Tromey + + * java/nio/ByteBufferImpl.java (compact): Always set position. + +2006-05-13 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java + (spoolPostScript): Use a faster writer. + +2006-05-13 Sven de Marothy + + * gnu/java/awt/print/JavaPrinterGraphics.java + (colorTripleHex): Reimplement better. + +2006-05-13 Sven de Marothy + + * javax/swing/text/html/HTMLDocument.java + (CharacterAction.start): Translate tag to StyleAttribute. + (pushCharacterStyle): Push copy of attributes onto stack. + * gnu/javax/swing/text/html/CharacterAttributeTranslator.java: + New file + +2006-05-13 Sven de Marothy + + * gnu/javax/print/ipp/IppRequest.java (send): Set a timeout. + * java/awt/print/PrinterJob.java + (getPrinterJob): Return a JavaPrinterJob + (setPrintService,getPrintService): Implement. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: + (getPixels): Gtk_threads_enter required. + * gnu/java/awt/print/JavaPrinterGraphics.java + * gnu/java/awt/print/JavaPrinterJob.java + * gnu/java/awt/print/SpooledDocumet.java: + New files. + +2006-05-13 Robert Schuster + + * javax/swing/text/TextAction.java: + (HorizontalMovementAction): New inner class. + (VerticalMovementAction): New inner class. + * javax/swing/text/DefaultEditorKit.java: Added assigning instances of + new inner classes to array 'defaultActions'. + (SelectionBeginWordAction): New inner class. + (SelectionEndWordAction): New inner class. + (BeginWordAction): New inner class. + (EndWordAction): New inner class. + (PreviousWordAction.actionPerformed): Rewritten. + (SelectLineAction): New inner class. + (SelectWordAction): New inner class. + (SelectionDownAction): Rewritten. + (SelectionUpAction): Rewritten. + (DownAction): Rewritten. + (UpAction): Rewritten. + (SelectionForwardAction): Rewritten. + (SelectionBackwardAction): Rewritten. + (ForwardAction): Rewritten. + (BackwardAction): Rewritten. + (BeginAction): New inner class. + (EndAction): New inner class. + (DefaultKeyTypedAction.actionPerformed): Use int variant of + Character.isISOControl. + +2006-05-13 Robert Schuster + + * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: + (WordFilter.getNextVisualPositionFrom): Added statement to check + for variable pt not being null. + +2006-05-13 Robert Schuster + + * javax/swing/text/Utilities.java: + (getNextWord): Fixed grammar in exception message. + (getPreviousWord): Changed expression in first if-clause, added sub- + expression to if-clause in while-loop. + (getWordStart): Changed expression in if-clause. + getNextVisualPositionFrom): Added package-private helper method. + +2006-05-13 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java (leadRow): + Initialise to -1. + +2006-05-13 Raif S. Naffah + + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + Added help text. + * tools/Makefile.am (JARSIGNER_HELPS): Removed. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Removed. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Increased visibility of fields used by parser anonymous classes. + (HELP_PATH): Removed. + (cmdLineParser): New field. + (main): Handle JVM exit status. + Handle command line parsing exceptions. + (processArgs): Use getopt command line parser. + (getParser): New method. + (setupCommonParams): Removed checks now handled by processArgs(). + (setupSigningParams): Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): + Reuse an existing message-bundle constant. + +2006-05-12 Tom Tromey + + * gnu/java/net/protocol/jar/Connection.java (getHeaderField): + Explicitly specify class for synchronization. + +2006-05-12 Tom Tromey + + * java/util/logging/Logger.java (resetLogger): Fixed typo. + +2006-05-12 Sven de Marothy + + * gnu/java/net/protocol/http/HTTPConnection.java (get): Add timeout parameter. + * gnu/java/net/protocol/http/HTTPURLConnection.java + (setConnectTimeout): New method. + (getConnection): Add timeout parameter. + * java/net/URLConnection.java + (getConnectTimeout, setConnectTimeout): Implement. + * native/target/generic/target_generic_network.h: + Set correct socket parameters SO_SNDTIMEO and SO_RCVTIMEO. + +2006-05-12 Sven de Marothy + + * gnu/javax/print/CupsServer.java + (CupsServer): Make the Cups host configurable. + * java/lang/System.java: Document the system property. + +2006-05-12 Roman Kennke + + * javax/swing/border/TitledBorder.java + (paintBorder): Rewritten for simplicity and correctness. + (layoutBorderWithTitle): New helper method. + (paintBorderWithTitle): New helper method. + (getBorderInsets): Rewritten. + (getMinimumSize): Rewritten. + (getRealJustification): Removed. + (getMeasurements): Removed. + (Measurements): Removed. + +2006-05-12 David Gilbert + + * javax/swing/plaf/basic/BasicPanelUI.java + (sharedUI): New field, + (createUI): Return a shared instance rather than a new instance, + (installUI): Reformatted and added API docs, + (installDefaults): Install border if one is defined, + (uninstallDefaults): Uninstall border. + +2006-05-12 David Gilbert + + * javax/swing/JProgressBar.java: Updated API docs all over. + +2006-05-11 Lillian Angel + + * java/awt/ContainerOrderFocusTraversalPolicy.java + (getComponentAfter): Should not throw exception if + the ancestor is null. Added a check for this. + Also, changed to use new helper function, we should + iterate through all the components at least once. + (getNextAvailableComponent): New helper function. + (getPrevAvailableComponent): New helper function. + (getComponentBefore): Should not throw exception if + the ancestor is null. Added a check for this. + Also, changed to use new helper function, we should + iterate through all the components at least once. + (getFirstComponent): Changed check to manually check + fields. Calling accept() casts the object to a Component, + so different values may be returned. + (getLastComponent): Likewise. + +2006-05-11 David Gilbert + + * javax/swing/plaf/metal/MetalBorders.java: Clean up formatting/style, + * javax/swing/plaf/metal/MetalButtonUI.java: Likewise, + * javax/swing/plaf/metal/MetalCheckBoxUI.java: Likewise, + * javax/swing/plaf/metal/MetalComboBoxButton.java: Likewise, + * javax/swing/plaf/metal/MetalComboBoxIcon.java: Likewise, + * javax/swing/plaf/metal/MetalFileChooserUI.java: Likewise, + * javax/swing/plaf/metal/MetalIconFactory.java: Likewise, + * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java: Likewise, + * javax/swing/plaf/metal/MetalLookAndFeel.java: Likewise, + * javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java: Likewise, + * javax/swing/plaf/metal/MetalRootPaneUI.java: Likewise, + * javax/swing/plaf/metal/MetalScrollBarUI.java: Likewise, + * javax/swing/plaf/metal/MetalSeparatorUI.java: Likewise, + * javax/swing/plaf/metal/MetalSliderUI.java: Likewise, + * javax/swing/plaf/metal/MetalSplitPaneDivider.java: Likewise, + * javax/swing/plaf/metal/MetalTabbedPaneUI.java: Likewise, + * javax/swing/plaf/metal/MetalToolTipUI.java: Likewise, + * javax/swing/plaf/metal/MetalUtils.java: Likewise. + +2006-05-11 Robert Schuster + + * javax/swing/text/DefaultCaret.java: Made field 'textComponent' + package-private, added field 'active'. + (PropertyChangeHandler.propertyChange): Added variable 'name', added + cases to update field 'active'. + (mouseDragged): Added documentation, added if-clause to update + selection or caret position. + (mouseClicked): Added early return when text component is disabled. + (focusGained): Moved statements into an if-clause. + (focusLost): Added subexpression to if-clause. + (install): Preset value of 'active'. + (paint): Added subexpression to if-clause. + (isVisible): Extended return expression. + * javax/swing/text/JTextComponent.java: + (copy): Copy only if component is enabled. + (cut): Cut only if component is enabled and editable. + (paste): Dito. + +2006-05-11 David Gilbert + + * javax/swing/plaf/multi/MultiComboBoxUI.java: Minor formatting change, + * javax/swing/plaf/multi/MultiFileChooserUI.java: Likewise, + * javax/swing/plaf/multi/MultiListUI.java: Likewise, + * javax/swing/plaf/multi/MultiLookAndFeel.java: Likewise, + * javax/swing/plaf/multi/MultiOptionPaneUI.java: Likewise, + * javax/swing/plaf/multi/MultiSplitPaneUI.java: Likewise, + * javax/swing/plaf/multi/MultiTabbedPaneUI.java: Likewise. + +2006-05-11 Roman Kennke + + * gnu/java/awt/font/GNUGlyphVector.java + (GNUGlyphVector): Don't apply the font renderer context's + transform. + +2006-05-11 Mark Wielaard + + * java/util/logging/Logger.java (global): Initialize inside static + PrivilegedAction. + +2006-05-11 David Gilbert + + * javax/swing/JFrame.java + (EXIT_ON_CLOSE): Added note to API docs, + (close_action): Renamed closeAction, + (JFrame()): Change title to "", + (JFrame(String)): Added API docs, + (getAccessibleContext): Likewise, + (getDefaultCloseOperation): Updated for renamed field, added API docs, + (processWindowEvent): Updated for renamed field, + (setDefaultCloseOperation): Likewise, and updated API docs. + +2006-05-11 David Gilbert + + * javax/swing/JFrame.java + (paramString): Reimplemented, + * javax/swing/SwingUtilities.java + (convertWindowConstantToString): New method. + +2006-05-11 David Gilbert + + * javax/swing/WindowConstants.java: Updated API docs. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicToggleButtonUI.java: Updated API docs, + (createUI): Removed 'final' qualifier for parameter, + (paint): Reformatted. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java: Added API docs plus, + (createUI): Removed 'final' qualifier on method argument. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicCheckBoxUI.java + (getDefaultIcon): Removed this redundant method. + +2006-05-11 David Gilbert + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Pass component size to paintFocus(). + +2006-05-11 Robert Schuster + + * java/awt/Component.java: + (dispatchEventImpl): Added comment. + + 2006-05-11 Mark Wielaard + + * tools/gnu/classpath/tools/appletviewer/Main.java (main): Cast + Option constructor null argument to String. + +2006-05-11 Mark Wielaard + + * java/awt/geom/GeneralPath.java (WIND_EVEN_ODD, WIND_NON_ZERO): + Fully qualify PathIterator constants + +2006-05-11 Robert Schuster + + * java/awt/Component.java: + (dispatchEventImpl): Added subexpression to if-clause. + +2006-05-11 Mark Wielaard + + * java/util/Collections.java (UnmodifiableMapEntry): Qualify + Map.Entry. + +2006-05-10 David Gilbert + + * javax/swing/TransferHandler.java: Marked stub methods. + +2006-05-10 Roman Kennke + + PR classpath/27481 + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installDefaults): Set background of content pane to null, if + no custom color has been installed by the application yet. + +2006-05-10 Roman Kennke + + PR classpath/27481 + * javax/swing/JRootPane.java + (createContentPane): Don't set background to null. + +2006-05-10 Sven de Marothy + + * java/awt/print/PrinterJob.java: + (lookupPrintServices): Un-comment-out. + +2006-05-11 Raif S. Naffah + + * tools/gnu/classpath/tools/getopt/OptionGroup.java + (FILLER): New constant. + (formatText(PrintStream,String,int)): New method. + (formatText(PrintStream,String,int,Locale)): Likewise. + (printHelp): Use formatText method. + * tools/gnu/classpath/tools/getopt/Parser.java + (MAX_LINE_LENGTH): New constant. + (formatText(PrintStream,String)): New method. + (formatText(PrintStream,String,Locale)): Likewise. + (printHelp): New method. + (printHelp(PrintStream)): Increased visibility to protected. + Use formatText method. + +2006-05-10 David Gilbert + + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (installDefaults): Use getPropertyPrefix() to allow subclasses to + modify the lookup key. + +2006-05-10 Lillian Angel + + * java/util/SimpleTimeZone.java: Reverted patch. + (SimpleTimeZone): Throw exception if startMonth == + endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more + efficently). + This code is now more stable, at least less buggy than before. + Fixed API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-10 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponent.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingComponentPeer.java: + (createImage): Create a BufferedImage, not a Toolkit image. + (paint): Removed bogus API comment. + (prepareImage): Added checks to avoid NPE. + * gnu/java/awt/peer/swing/SwingContainerPeer.java: + (getInsets): Added check to avoid NPE. + (handleMouseEvent): Added check to avoid NPE. + * gnu/java/awt/peer/swing/SwingFramePeer.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java: + Some API comment fixlets. + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java: + Changed start_pos name to startPos. + * gnu/java/awt/peer/swing/SwingWindowPeer.java: + Some API comment fixlets. + +2006-05-10 David Gilbert + + * java/awt/BasicStroke.java + (equals): Fixed typo in HTML tag for API doc comment. + +2006-05-10 Gary Benson + + * java/lang/ThreadGroup.java (parent): Make package-private. + * java/lang/SecurityManager.java (checkAccess(Thread)): + Reference ThreadGroup.parent directly to avoid extra checks. + * java/lang/SecurityManager.java (checkAccess(ThreadGroup)): + Likewise. + +2006-05-10 Roman Kennke + + Reported by Ingo Proetel (proetel@aicas.com) + * java/awt/EventDispatchThread.java + (DEFAULT_PRIORITY): New constant field. + (EventDispatchThread()): Added gnu.awt.dispatchthread.priority + system property for adjusting the priority of the event + dispatch thread. + +2006-05-10 Roman Kennke + + Reported by Ingo Proetel (proetel@aicas.com) + * java/awt/image/ColorModel.java + (S_RGB_MODEL): New constant field. + (getRGBDefault): Return constant SRGBColorModel. + (SRGBColorModel): Specialized color model for sRGB. + +2006-05-10 Roman Kennke + + * java/awt/ColorPaintContext.java + (getRaster): Create Raster with (0,0) as source location. + +2006-05-10 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java + (compose): Don't premultiply alpha to alpha itself. + +2006-05-10 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawImage(Image,AffineTransform,ImageObserver)): Implemented. + (drawImageImpl(Image,AffineTransform,ImageObserver,Rectangle)): + New method. + (drawImage(BufferedImage,BufferedImageOp,int,int)): Implemented. + (drawRenderedImage(RenderedImage,AffineTransform)): Implemented. + (drawRenderedImageImpl(RenderedImage,AffineTransform,Rectangle)): + New method. + (drawRenderableImage(RenderableImage,AffineTransform)): Implemented. + (drawRenderableImageImpl(RenderableImage,AffineTransform,Rectangle)): + New method. + (scale): Inverse transform by doing 1/scale instead of -scale. + (drawImage(Image,int,int,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,ImageObserver)): Implemented. + (drawImage(Image,int,int,Color,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,Color,ImageObserver)): Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,ImageObserver)): + Implemented. + (drawImage(Image,int,int,int,int,int,int,int,int,Color,ImageObserver)): + Implemented. + (fillScanline): Work on translated destination raster for + correct compositin. + (init): Fetch the clip after the destination raster is initialized. + * gnu/java/awt/java2d/ImagePaint.java: New file. + * gnu/java/awt/java2d/RasterGraphics + (drawImage): Removed. + +2006-05-09 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Clarify option descriptions. + * tools/gnu/classpath/tools/appletviewer/Main.java: Use all + uppercase for metasyntactic variables. + +2006-05-09 Robert Schuster + + PR classpath/24216 + * javax/swing/text/AbstractDocument.java: + (insertString): Added more documentation, added argument check. + (remove): Added more documentation. + (removeImpl): Added argument check. + (replace): Added more documentation, added argument check. + +2006-05-09 Tom Tromey + + * tools/.cvsignore: Added appletviewer. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/Parser.java (printHelp): Skip + empty groups. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): + Special case for '-J'. Use space instead of '='. + * tools/gnu/classpath/tools/getopt/Parser.java (setHeader): Added + comment. + +2006-05-09 Thomas Fitzsimmons + + * configure.ac: Add --disable-plugin and --with-vm options. Check + for plugin support headers and libraries. + * native/Makefile.am: Recurse into plugin directory. + * native/plugin/.cvsignore: New file. + * native/plugin/Makefile.am: New file. + * native/plugin/gcjwebplugin.cc: New file. + * tools/Makefile.am: Install appletviewer wrapper script. + * tools/appletviewer.in: Replace VM location heuristic with + VM_BINARY configure substitution. + +2006-05-09 Tom Tromey + + * tools/gnu/classpath/tools/getopt/OptionGroup.java (printHelp): Added + an initial pass to look for short options. Added 'longOnly' option. + * tools/gnu/classpath/tools/appletviewer/Main.java (main): Removed -J + option. + * tools/gnu/classpath/tools/getopt/Parser.java (parsed): Put stadnard + options into final group. Added -J. + (add): Insert new groups before final group. + (printHelp): Updated. + +2006-05-09 Audrius Meskauskas + + PR 27518 + * tools/gnu/classpath/tools/giop/GRMIC.java (main), + tools/gnu/classpath/tools/rmi/RMIC.java (main): + Expect -classpath option. + * tools/gnu/classpath/tools/rmi/RMIC.txt, + tools/gnu/classpath/tools/giop/GRMIC.txt: Documenting + -classpath option. + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + (classLoader): New field. (loadClass, setClassPath): + New methods. + +2006-05-09 Roman Kennke + + * gnu/java/awt/java2d/RasterGraphics.java + (RasterGraphics): Call init() and super(). + (drawImage): Temporary drawImage impl until AbstractGraphics2D has + this. + +2006-05-09 Gary Benson + + * java/lang/Thread.java (Thread): Always perform threadgroup + access checks on thread creation. + +2006-05-09 Chris Burdess + + * gnu/xml/dom/DomNode.java: Permit comments and PIs in doctype nodes to + be preserved during cloneNode. + +2006-05-09 Audrius Meskauskas + + PR 27517 + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): + Do not demand all thrown exceptions to be an instance of RemoteException. + +2006-05-09 Thomas Fitzsimmons + + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + Use hash-style comments. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + Likewise. + +2006-05-09 David Gilbert + + * javax/swing/JLabel.java + (paramString): Added more attribute details, + * javax/swing/SwingUtilities.java + (convertHorizontalAlignmentCodeToString): New method, + (convertVerticalAlignmentCodeToString): New method. + +2006-05-08 Tom Tromey + + * tools/gnu/classpath/tools/jar/Updater.java (run): Updated. + * tools/gnu/classpath/tools/jar/Main.java: Use javadoc for fields. + * tools/gnu/classpath/tools/jar/Lister.java (listJar): Use + ZipInputStream. + (run): Updated. + * tools/gnu/classpath/tools/jar/Extractor.java (run): Use System.err + for verbose. + (run): Use ZipInputStream. + (initSet): New method. + (shouldExtract): Likewise. + (run): Use new methods. + * tools/gnu/classpath/tools/jar/Creator.java + (writeCommandLineEntries): New overload. + (writeFile): Use System.err for verbose. + (writeManifest): New method. + (writtenItems): New field. + (writeFile): Update it. + (writeCommandLineEntries): Return void. Call writeManifest. + (addEntries): Don't add extra '/'. + * NEWS: Mention jar. + +2006-05-08 Lillian Angel + + * gnu/java/net/IndexListParser.java: New class. + * java/net/URLClassLoader.java + (JarURLLoader): Fixed code to use new class. + +2006-05-08 Roman Kennke + + * javax/swing/JComboBox.java + (AccessibleJComboBox.getAccessibleChildrenCount): Implemented. + (AccessibleJComboBox.getAccessibleChild): Implemented. + (AccessibleJComboBox.getAccessibleSelection()): Implemented. + (AccessibleJComboBox.getAccessibleSelection(int)): Implemented. + (AccessibleJComboBox.isAccessibleChildSelected): Implemented. + (AccessibleJComboBox.getAccessibleAction): Implemented. + (AccessibleJComboBox.getAccessibleActionDescription): Implemented. + (AccessibleJComboBox.getAccessibleActionCount): Implemented. + (AccessibleJComboBox.doAccessibleAction): Implemented. + (AccessibleJComboBox.getAccessibleSelectionCount): Implemented. + (AccessibleJComboBox.addAccessibleSelection): Implemented. + (AccessibleJComboBox.removeAccessibleSelection): Implemented. + (AccessibleJComboBox.clearAccessibleSelection): Implemented. + (AccessibleJComboBox.selectAllAccessibleSelection): Implemented. + +2006-05-08 Thomas Fitzsimmons + + * configure.ac: Add support for building appletviewer. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle.properties: + New file. + * resource/gnu/classpath/tools/appletviewer/MessagesBundle_de.properties: + New file. + * tools/appletviewer.c: New file. + * tools/appletviewer.in: New file. + * tools/gnu/classpath/tools/appletviewer/AppletClassLoader.java: + New file. + * tools/gnu/classpath/tools/appletviewer/AppletSecurityManager.java: + New file. + * tools/gnu/classpath/tools/appletviewer/AppletTag.java: New file. + * tools/gnu/classpath/tools/appletviewer/AppletWarning.java: New + file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/CommonAppletStub.java: + New file. + * tools/gnu/classpath/tools/appletviewer/ConsoleDialog.java: New + file. + * tools/gnu/classpath/tools/appletviewer/ErrorApplet.java: New + file. + * tools/gnu/classpath/tools/appletviewer/Main.java: New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletViewer.java: + New file. + * tools/gnu/classpath/tools/appletviewer/PluginAppletWindow.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletContext.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletViewer.java: + New file. + * tools/gnu/classpath/tools/appletviewer/StandaloneAppletWindow.java: + New file. + * tools/gnu/classpath/tools/appletviewer/TagParser.java: New + file. + +2006-05-08 Tom Tromey + + * tools/gnu/classpath/tools/getopt/ClasspathToolParser.java: New file. + * tools/gnu/classpath/tools/jar/Action.java: New file. + * tools/gnu/classpath/tools/jar/Creator.java: New file. + * tools/gnu/classpath/tools/jar/Entry.java: New file. + * tools/gnu/classpath/tools/jar/Extractor.java: New file. + * tools/gnu/classpath/tools/jar/Lister.java: New file. + * tools/gnu/classpath/tools/jar/Main.java: New file. + * tools/gnu/classpath/tools/jar/Updater.java: New file. + * tools/gnu/classpath/tools/getopt/Option.java: New file. + * tools/gnu/classpath/tools/getopt/OptionException.java: New file. + * tools/gnu/classpath/tools/getopt/OptionGroup.java: New file. + * tools/gnu/classpath/tools/getopt/Parser.java: New file. + * tools/gnu/classpath/tools/getopt/FileArgumentCallback.java: New + file. + +2006-05-08 Lillian Angel + + * java/net/URLClassLoader.java + (JarURLLoader): Added check to make sure the INDEX.LIST file + exists. + +2006-05-08 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (fill): Removed commented out code. + (fillShape): Also determine the outline of the clip and feed + it into the rendering method. Use new helper method for + converting the shapes into lists of segments. + (getUserBounds): Removed obsolete method. + (rawFillShape): Respect the clip when rendering shapes. + (fillShapeAntialias): Adjusted signature for new clipped rendering. + However, the implementation can't clip still. + (getSegments): New helper method for converting a shape into + a list of segments. + (clipShape): Removed obsolete method. + * gnu/java/awt/java2d/PolyEdge.java + (isClip): New field. + (PolyEdge): Added isField argument to constructor. + +2006-05-08 Roman Kennke + + PR 27481 + * javax/swing/JRootPane.java + (createContentPane): Set background of the content pane to null, + so that the content pane inherits its background from the + root pane. + +2006-05-08 Roman Kennke + + PR 27480 + * javax/swing/ButtonGroup.java + (add): Check if new button is selected and if so, deselect other + buttons in the group. + +2006-05-08 Lillian Angel + + PR 27444 + * java/net/URLClassLoader.java + (JarURLLoader): Added code to go through + META-INF/INDEX.LIST file to load all jars listed. + +2006-05-08 Roman Kennke + + PR 27461 + * javax/swing/ImageIcon.java + (ImageIcon(URL)): Set description to URL.toString(). + +2006-05-08 Roman Kennke + + PR 27482 + * javax/swing/JTable.java + (IconCellRenderer.getTableCellRendererComponent): Set icon to + null when cell value is null. + +2006-05-08 Roman Kennke + + PR 27484 + * javax/swing/DefaultDesktopManager.java + (closeFrame): Don't perform default close action on the frame + to prevent endless loop. + +2006-05-08 Roman Kennke + + PR 27485 + * javax/swing/table/DefaultTableModel.java + (addExtraRows): New helper method. + (checkSize): New helper method. + (setRowCount): Use addExtraRows helper method. + (addColumn): Use addExtraRows helper method. + (getColumnName): Check and adjust size if necessary using + checkSize(). + +2006-05-08 Roman Kennke + + PR 27486 + * javax/swing/JTable.java + (setValueAt): Allow setting values even when table is editable. + +2006-05-08 Tom Tromey + + * java/text/SimpleDateFormat.java (compileFormat): Added missing + space to error message. + +2006-05-08 David Gilbert + + * javax/swing/AbstractButton.java: Fixed comment typos. + +2006-05-07 Andrew John Hughes + + PR classpath/27435: + * java/util/zip/DeflaterEngine.java: + (deflateFast(boolean,boolean)): Empty buffer when full. + +2006-05-07 Sven de Marothy + + Fixed PR27343 + * java/util/Calendar.java (setTimeZone): Force recalculation. + +2006-05-07 Sven de Marothy + + Fixed PR27463 + * javax/swing/plaf/metal/MetalInternalFrameTitlePane.java + (propertyChange): Handle FRAME_ICON_PROPERTY property. + +2006-05-07 Andrew John Hughes + + PR classpath/27311: + * gnu/java/text/StringFormatBuffer.java: + (toString()): Implemented so we can see the contents. + * java/text/DecimalFormat.java: + (formatInternal(double,StringFormatBuffer,FieldPosition)): + Don't calculate the exponent when the number is 0 or less. + Also, use log10 instead of log now it's available. + +2006-05-07 Raif S. Naffah + + * gnu/javax/crypto/keyring/PrimitiveEntry.java (PrimitiveEntry): + Use instance's field creationDate not the constructor's argument. + * gnu/javax/crypto/keyring/PasswordEncryptedEntry.java: + Removed unused imports. + Sorted imports. + (log): New field. + (decrypt): Added trace/debug/timing statements. + (encrypt): Likewise. + Use PRNG instead of instantiating every time a new SecureRandom. + * gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java: + Removed unused imports. + Sorted imports. + (log): New field. + (verify): Added trace/debug/timing statements. + (authenticate): Likewise. + Use PRNG instead of instantiating every time a new SecureRandom. + +2006-05-07 Raif S. Naffah + + * gnu/classpath/debug/Simple1LineFormatter.java (DAT_FORMAT): Removed. + (THREAD_FORMAT): Likewise. + (dateFormat): Added field. + (threadFormat): Added field. + (format): Initialize instance fields if null. + Use StringBuilder instead of StringBuffer. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/RasterGraphics.java: New file. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (fillShape): Determine user space bounds of shape and feed them + into the actual rendering pipeline. + (rawSetPixel): Made non-abstract for now. Maybe remove later. + (rawSetForeground): Likewise. + (getDestinationColorModel): Removed. + (getDeviceBounds): Made non-abstract. Provide useful default impl. + (rawFillShape): Handle paint context. + (fillScanline): Implement painting and compositing. + (fillShapeAntialias): Handle paint context. + (fillScanlineAA): Implemented preliminary antialiasing based on + composite context. Not working yet. + (fillScanlineAlpha): Removed. + (init): Fetch destination raster. + (getDestinationRaster): New abstract method. + (updateRaster): New backend method. + +2006-05-07 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java + (compose): Fixed loops, conditions and logic to make compositing + work correctly. + +2006-05-07 Roman Kennke + + * java/awt/ColorPaintContext.java + (ColorPaintContext): Fixed filling of the raster. + +2006-05-07 Sven de Marothy + + Fixed PR27455 + * gnu/java/awt/peer/GLightweightPeer.java (mouseEntered): Remove. + * java/awt/Component.java (processMouseEvent): + Do lightweight cursor handling. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (endResizing,mouseMoved): Save and reset original cursor, not the + default one. + +2006-05-07 Audrius Meskauskas + + PR 27298 + * javax/swing/plaf/basic/BasicTreeUI.java (NodeDimensionsHandler. + getNodeDimensions): Mind the size of the node icon. (getRowX): + use totalChildIndent. (TreeExpansionHandler): Set maximal height + to zero on events. (nullIcon): New field. (getCurrentControlIcon): + Return nullIcon if there is no other icon. (getNodeIcon): New method. + (installDefaults): assign totalChildIndent. (installUI): Call + updateExpandedDescendants. (paintHorizontalPartOfLeg): Rewritten. + (paintRow): Rewritten. (updateRenderer): Do not set the renderer for + the tree. + +2006-05-06 Sven de Marothy + + Fixed PR27454 + * gnu/java/awt/peer/gtk/GtkImage: (drawPixels,drawPixelsScaled): + Check for zero image sizes. + +2006-05-06 Olivier Jolly + + Fixed PR27362 + * java/util/Calendar.java (clear(int)): Forced internal state + completion before performing a field clearing. + +2006-05-06 Olivier Jolly + + * java/util/Collections.java(UnmodifiableMap.UnmodifiableEntrySet. + UnmodifiableMapEntry): New Map.Entry implementation which is immutable. + (UnmodifiableMap.UnmodifiableEntrySet.iterator, + UnmodifiableMap.UnmodifiableEntrySet.toArray, + UnmodifiableMap.UnmodifiableEntrySet.toArray(Object[])): Used + UnmodifiableMapEntry as part of their return value. + +2006-05-06 Raif S. Naffah + + * tools/keytool.sh.in: Removed (renamed to keytool.in). + * tools/jarsigner.in: Removed (renamed to jarsigner.in). + * tools/Makefile.am: Include jarsigner and keytool classes in tools.zip. + Generate jarsigner and keytool scripts. + * tools/keytool.in: New file (renamed from keytool.sh.in). + * tools/jarsigner.in: New file (renamed from jarsigner.sh.in). + * tools/.cvsignore: Replaced *.sh with * + * configure.ac: Replaced tools/*.sh with tools/*. + +2006-05-05 Roman Kennke + + * java/awt/image/ColorModel.java + (getNormalizedComponents): Implemented. + +2006-05-05 Roman Kennke + + * javax/swing/plaf/basic/BasicRadioButtonUI.java + (paint): Query the button model for it's state, not the + button itself. + +2006-05-05 Roman Kennke + + * javax/swing/JTable.java + (tableChanged): Sync selection model with table model changes. + +2006-05-05 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Return early + if there are no visible nodes to paint. + +2006-05-05 David Gilbert + + * javax/swing/JOptionPane.java: API doc updates. + +2006-05-05 David Gilbert + + * javax/swing/JToolBar.java + (paramString): Reimplemented. + +2006-05-05 David Gilbert + + * javax/swing/JScrollBar.java + (paramString): Reimplemented. + +2006-05-04 Tom Tromey + + PR classpath/27375: + * java/util/zip/ZipFile.java (entries): Now a LinkedHashMap. + (readEntries): Updated. + (getEntries): Likewise. + (getEntry): Likewise. + (getInputStream): Likewise. + +2006-05-04 Thomas Fitzsimmons + + * gnu/javax/imageio/jpeg/DCT.java, + gnu/javax/imageio/jpeg/HuffmanTable.java, + gnu/javax/imageio/jpeg/JPEGComponent.java, + gnu/javax/imageio/jpeg/JPEGDecoder.java, + gnu/javax/imageio/jpeg/JPEGException.java, + gnu/javax/imageio/jpeg/JPEGFrame.java, + gnu/javax/imageio/jpeg/JPEGImageInputStream.java, + gnu/javax/imageio/jpeg/JPEGImageReader.java, + gnu/javax/imageio/jpeg/JPEGImageReaderSpi.java, + gnu/javax/imageio/jpeg/JPEGMarker.java, + gnu/javax/imageio/jpeg/JPEGMarkerFoundException.java, + gnu/javax/imageio/jpeg/JPEGScan.java, + gnu/javax/imageio/jpeg/YCbCr_ColorSpace.java, + gnu/javax/imageio/jpeg/ZigZag.java: New files. + +2006-05-04 Lillian Angel + + * javax/swing/JLabel.java + (JLabel): Pass in an empty string for the text parameter. + (JLabel): Likewise. + (JLabel): Likewise. + +2006-05-04 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonListener.java + (mouseEntered): Fixed conditions for changing states. + +2006-05-04 Roman Kennke + + * javax/swing/JOptionPane.java + (AccessibleJOptionPane.getAccessibleRole): Implemented method. + +2006-05-04 Roman Kennke + + * javax/swing/JLabel.java + (AccessibleJLabel.getSelectedText): Return null instead of "". + (AccessibleJLabel.getSelectionStart): Added comment why + return -1 is correct here. + (AccessibleJLabel.getSelectionEnd): Added comment why + return -1 is correct here. + (AccessibleJLabel.getCharacterAttribute): Added comment about what + to do here. + (AccessibleJLabel.getCharCount): Added comment about what + to do here. + (AccessibleJLabel.getCharacterBounds): Tagged as not implemented. + (AccessibleJLabel.getIndexAtPoint): Tagged as not implemented. + (paramString): Return super.paramString() here, this provides + a more meaningful output. + +2006-05-04 Roman Kennke + + * javax/swing/JComponent.java + (paint): Added null check to avoid NPE when clip == null. + +2006-05-04 Roman Kennke + + * javax/swing/AbstractButton.java + (addImpl): New method. Installs an OverlayLayout if no + other layout has been installed before. + (setLayout): New method. Detect if a client app installs a custom + layout. + +2006-05-04 Roman Kennke + + * javax/swing/table/DefaultTableCellRenderer.java + (noFocusBorder): Fixed width of empty border to 1. + (getTableCellRendererComponent): Don't change the colors for + focuses cells. Fixed border for focused cells. + +2006-05-04 Roman Kennke + + * javax/swing/JTable.java + (moveToCellBeingEdited): Adjust bounding box of editing component + to exactly cover the grid. + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Paint grid to the bottom and right of the cells instead + of left and top. Adjust bounding box of cells accordingly. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Fixed color of JTable selection border. + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Fixed color of JTable selection border. + +2006-05-04 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/ExportCmd.java (setup): + Use _alias instead of alias. + +2006-05-03 Andrew John Hughes + + * configure.ac: + Set version to 0.92-pre. + * NEWS: + Add space for 0.92 entries. + +2006-05-03 Andrew John Hughes + + * include/Makefile.am: + Added rules for gnu.java.net.local.LocalSocketImpl.h + * include/java_lang_VMSystem.h: + Regenerated correctly. + +2006-05-03 Sven de Marothy + + PR 24023, 24701 + * java/awt/Image.java: + (getScaledInstance): Default to AreaAveraging for "smooth", + don't thrown an error on illegal flag values. + * java/awt/image/AreaAveragingScaleFilter.java: Implement. + +2006-05-03 Robert Schuster + + * javax/swing/text/FieldView.java: + (adjustAllocation): Added if-block to return null when shape argument + is null. + * javax/swing/text/PlainView.java: + (updateDamage): Added if-block to return early if a is null. + +2006-05-03 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (changeUpdate): Added note. + (removeUpdate): Dito. + (insertUpdate): Dito. + (damageRange): Added if-block to return early. + (modelToView): Added check of getVisibleEditorRect's return value. + (getVisibleEditorRect): Return null instead of empty rectangle. + * javax/swing/text/DefaultCaret.java: + (clearHighlight): Removed if-clause to create a highlight entry if it + did not exist before. + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.modelToView): Throw exception if allocation area is empty, + removed 2nd part of if-expression. + (WrappedLine.updateDamage): Added more documentation, added check + whether allocation area rectangle is null. + +2006-05-03 Audrius Meskauskas + + * javax/swing/JSplitPane.java (setDividerLocation(int)): + Reset to preferred sizes if the argument is negative. + +2006-05-03 David Gilbert + + * javax/swing/JList.java: Added/updated API docs. + +2006-05-03 Lillian Angel + + * javax/swing/JComponent.java + (getRoot): New private function. Gets the root appropriate + for painting. If an applet exists as a parent, then it is returned. + (paintDoubleBuffered): Changed to use new function. + * javax/swing/RepaintManager.java + (getRoot): New private function. Gets the root appropriate + for painting. If an applet exists as a parent, then it is returned. + (getOffscreenBuffer): Changed to use new function. + * javax/swing/SwingUtilties.java + (getRoot): Reverted last patch to return Window, even if + an Applet exists. + +2006-05-03 Raif S. Naffah + + * gnu/javax/crypto/jce/keyring/GnuKeyring.java: Re-implemented using + a pair of one public keyring and one private keyring. + * gnu/javax/crypto/keyring/GnuPublicKeyring.java (log): New field. + (containsCertificate): Added logging. + (getCertificate): Likewise. + (putCertificate): Likewsie. + (load): Likewise. + (store): Likewise. + * gnu/javax/crypto/keyring/GnuPrivateKeyring.java (log): New field. + (containsPrivateKey): Added logging. + (getPrivateKey): Likewise. + (putPrivateKey): Likewise. + (containsPublicKey): Likewise. + (getPublicKey): Likewise. + (putPublicKey): Likewise. + (containsCertPath): Likewise. + (getCertPath): Likewise. + (putCertPath): Likewise. + (load): Likewise. + (store): Likewise. + +2006-05-03 Roman Kennke + + * gnu/java/awt/java2d/AlphaCompositeContext.java: New class. + * java/awt/AlphaComposite.java + (createContext): Implemented. + +2006-05-03 Audrius Meskauskas + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (drawRaster): + Set the current color again after drawing the raster. + +2006-05-03 Audrius Meskauskas + + * javax/swing/text/WrappedPlainView.java (WrappedLine.modelToView): + Do not check pos < currLineEnd if currLineStart == currLineEnd. + +2006-05-03 Raif S. Naffah + + * tools/gnu/classpath/tools/keytool/Command.java (getCallbackHandler): + Assign returned value to field handler. + * tools/gnu/classpath/tools/jarsigner/Main.java (getCallbackHandler): + Likewise. + +2006-05-02 Audrius Meskauskas + + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Return without action if there is no view in the viewport. + * javax/swing/text/WrappedPlainView.java + (WrappedLine.getPreferredSpan): If metrics == null, update + metrics. + * javax/swing/tree/DefaultTreeModel.java (constructors): + Do not call setRoot, assign the root node directly. + +2006-05-02 Lillian Angel + + * javax/swing/SwingUtilities.java + (getRoot): Should return the Applet if it exists. + Only return the Window if an Applet has not been + encountered. + +2006-05-02 Lillian Angel + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Reverted Audrius' last patch. There is + a slight difference in code between the NUMTOKEN and SLASH case. + +2006-05-02 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (setText): Throw InternalError from catch-block. + * javax/swing/text/GapContent.java: + (removed): Removed if-expression, changed '>' to '>='. + +2006-05-02 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (AA_SAMPLING): New constant. + (alpha): New field. Used in the antialiasing renderer. + (edgeTable): New field. Used in the antialiasing renderer. + (AbstractGraphics2D): Initialize rendering hints wrt + anti-aliasing. + (draw): Clip after stroking. Commented out clipping for now, + it seems to be buggy. + (fill): Commented out clipping for now, it seems to be buggy. + (setComposite): Don't create composite context. + (setPaint): Only change paint when parameter is not null. + (translate): Call setClip() so subclasses can update their clip + too. + (clip): Call setClip() so subclasses can update their clip + too. + (drawGlyphVector): Added clipping, but left it commented out + because it's buggy. + (getClipBounds): Returns null when clip is null. + (drawLine): Call rawDrawLine with translation applied. + (filLRect): Call rawFillRect with translation applied. + (fillShape): Added support for anti-aliasing. + (rawSetForeground(int,int,int)): New method. + (rawFillShape): A couple of painting fixes. + (fillScanline): Implemented to call rawDrawLine. + (fillShapeAntialias): New method. Implements an anti-aliasing + shape filler. + (fillScanlineAA): New method. Used for the anti-aliasing + shape filler. + (fillScanlineAlpha): New method. Used for the anti-aliasing + shape filler. + (init): Initialize clip with the device bounds. + (updateOptimization): Fixed the optimization condition. + +2006-05-02 Robert Schuster + + * javax/swing/text/GapContent.java: + (GapContent): Restrict size argument by 2. + (insertString): Changed expression from >= to >. + (remove): Changed right side of expression to 'length - 1', changed + exception message. + (getChars): Throw exception if where below 0. + (replace): Replaced call to setPositionsInRange() with + resetMarksAtZero(), removed note. + +2006-05-02 Roman Kennke + + PR 27326 + * javax/swing/MenuSelectionManager.java + (setSelectedPath): Rewritten. + +2006-05-02 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Merge case NUMTOKEN: and case SLASH: + sections. + +2006-05-02 Raif S. Naffah + + * tools/.cvsignore: Added keytool.sh. + * configure.ac: Added tools/keytool.sh to AC_CONFIG_FILES. + +2006-05-02 Raif S. Naffah + + * doc/tools.texinfo: New file. + * doc/Makefile.am: Generate tools documentation. + +2006-05-02 Raif S. Naffah + + * tools/keytool.sh.in: New file. + * tools/gnu/classpath/tools/keytool/CertReqCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Command.java: Likewise. + * tools/gnu/classpath/tools/keytool/DeleteCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ExportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/GenKeyCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/IdentityDBCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ImportCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyCloneCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/KeyPasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/ListCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/Main.java: Likewise. + * tools/gnu/classpath/tools/keytool/Messages.java: Likewise. + * tools/gnu/classpath/tools/keytool/PrintCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/SelfCertCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/StorePasswdCmd.java: Likewise. + * tools/gnu/classpath/tools/keytool/keytool.txt: Likewise. + * tools/gnu/classpath/tools/keytool/package.html: Likewise. + * resource/gnu/classpath/tools/keytool/MessageBundle.properties: Likewise. + +2006-05-02 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Re-arranged to + resemble more closely man-page style text. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: + Mark (Eclipse) strings that need not be externalised. + (writeSF): Likewise. + (writeDSA): Likewise. + Use package-private Messages class to provide i18n-ready strings. + (startSigning): + Use package-private Messages class to provide i18n-ready strings. + (updateEntry): Likewise. + Mark (Eclipse) strings that need not be externalised. + (finishSigning): Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Mark (Eclipse) strings that need not be externalised. + (main): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (processArgs): Do not use constant strings as class name. + Mark (Eclipse) strings that need not be externalised. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (start): Do not use constant strings as class name. + (teardown): Likewise. + Use ProviderUtil. + (setupCommonParams): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + (installNewProvider): Do not use constant strings as class name. + Use ProviderUtil. + (setupSigningParams): Do not use constant strings as class name. + Use package-private Messages class to provide i18n-ready strings. + Mark (Eclipse) strings that need not be externalised. + (getCallbackHandler): Use CallbackUtil. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java (start): + Use package-private Messages class to provide i18n-ready strings. + Reduced logging level so INFO becomes FINER, and WARNING becomes FINE. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. + (verifySF): Likewise. + (verifySFEntries): Do not use constant strings as class name. + Use Boolean.valueOf instead of new Boolean(). + (verifySFEntry): Mark (Eclipse) strings that need not be externalised. + * resource/gnu/classpath/tools/jarsigner/MessageBundle.properties: + New file. + * tools/gnu/classpath/tools/jarsigner/package.html: Likewise. + * tools/gnu/classpath/tools/jarsigner/Messages.java: Likewise. + +2006-05-02 Raif S. Naffah + + * tools/gnu/classpath/tools/common/CallbackUtil.java: New file. + * tools/gnu/classpath/tools/common/ProviderUtil.java: Likewise. + * tools/gnu/classpath/tools/common/SecurityProviderInfo.java: Likewise. + +2006-05-01 Tom Tromey + + * java/nio/ByteBufferImpl.java (compact): Don't reset position + in empty case. + * gnu/java/nio/ChannelReader.java (read): Synchronize. + (close): Synchronize. + * java/nio/ShortBufferImpl.java (compact): Rewrote. + * java/nio/LongBufferImpl.java (compact): Rewrote. + * java/nio/IntBufferImpl.java (compact): Rewrote. + * java/nio/FloatBufferImpl.java (compact): Rewrote. + * java/nio/DoubleBufferImpl.java (compact): Rewrote. + * java/nio/CharBufferImpl.java (compact): Rewrote. + * gnu/java/nio/ChannelWriter.java: New file. + * java/nio/channels/Channels.java (newWriter): Implemented. + +2006-05-01 Lillian Angel + + * java/util/SimpleTimeZone.java + (SimpleTimeZone): Do not throw exception if startMonth == endMonth. + (SimpleTimeZone): Likewise. + (checkRule): Rewritten to properly check all values (more efficently). + This code is now more stable, at least less buggy than before. Fixed + API documentation. + (setStartRule): Moved checkRule call to end. + (setStartRule): Likewise. + (setEndRule): Likewise. + (setEndRule): Likewise. + +2006-05-01 Tom Tromey + + * lib/.cvsignore: Added classes.2. + +2006-05-01 Tom Tromey + + * java/util/jar/JarFile.java (provider): Now package-private. + * java/lang/Enum.java (compareTo): Javadoc fix. + * java/lang/Boolean.java (compareTo): Javadoc fix. + +2006-05-01 Lillian Angel + + * gnu/javax/swing/text/html/parser/support/Parser.java + (readAttributes): Formatted function. Added handling for + SLASH token. The value of an attribute may start with a slash + (i.e. a path). I added handling similar to to the NUMTOKEN code. + We should not be skipping over these type of attributes. + +2006-04-30 Andrew John Hughes + + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, + * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, + * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, + * include/gnu_java_awt_peer_gtk_GtkClipboard.h, + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, + * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, + * include/gnu_java_awt_peer_gtk_GtkImage.h, + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkListPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPanelPeer.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_GtkSelection.h, + * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, + * include/gnu_java_awt_peer_qt_MainQtThread.h, + * include/gnu_java_awt_peer_qt_QMatrix.h, + * include/gnu_java_awt_peer_qt_QPainterPath.h, + * include/gnu_java_awt_peer_qt_QPen.h, + * include/gnu_java_awt_peer_qt_QtAudioClip.h, + * include/gnu_java_awt_peer_qt_QtButtonPeer.h, + * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, + * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, + * include/gnu_java_awt_peer_qt_QtChoicePeer.h, + * include/gnu_java_awt_peer_qt_QtComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtContainerPeer.h, + * include/gnu_java_awt_peer_qt_QtDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtFontMetrics.h, + * include/gnu_java_awt_peer_qt_QtFontPeer.h, + * include/gnu_java_awt_peer_qt_QtFramePeer.h, + * include/gnu_java_awt_peer_qt_QtGraphics.h, + * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, + * include/gnu_java_awt_peer_qt_QtImage.h, + * include/gnu_java_awt_peer_qt_QtLabelPeer.h, + * include/gnu_java_awt_peer_qt_QtListPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtPanelPeer.h, + * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtScreenDevice.h, + * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, + * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, + * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, + * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, + * include/gnu_java_awt_peer_qt_QtToolkit.h, + * include/gnu_java_awt_peer_qt_QtVolatileImage.h, + * include/gnu_java_awt_peer_qt_QtWindowPeer.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, + * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, + * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, + * include/gnu_xml_libxmlj_dom_GnomeAttr.h, + * include/gnu_xml_libxmlj_dom_GnomeDocument.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, + * include/gnu_xml_libxmlj_dom_GnomeElement.h, + * include/gnu_xml_libxmlj_dom_GnomeEntity.h, + * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, + * include/gnu_xml_libxmlj_dom_GnomeNode.h, + * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeNotation.h, + * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, + * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, + * include/gnu_xml_libxmlj_sax_GnomeLocator.h, + * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, + * include/java_lang_VMProcess.h: + Regenerated. + * native/jni/java-lang/java_lang_VMProcess.c: + Redirect when pipe_count is 2 not 3. + +2006-04-30 Sascha Brawer + + * gnu/java/awt/font/FontDelegate.java, + * gnu/java/awt/font/FontFactory.java, + * gnu/java/awt/font/GNUGlyphVector.java, + * gnu/java/awt/font/opentype/CharGlyphMap.java, + * gnu/java/awt/font/opentype/GlyphNamer.java, + * gnu/java/awt/font/opentype/MacResourceFork.java, + * gnu/java/awt/font/opentype/NameDecoder.java, + * gnu/java/awt/font/opentype/OpenTypeFont.java, + * gnu/java/awt/font/opentype/OpenTypeFontFactory.java, + * gnu/java/awt/font/opentype/Scaler.java, + * gnu/java/awt/font/opentype/truetype/Fixed.java, + * gnu/java/awt/font/opentype/truetype/GlyphLoader.java, + * gnu/java/awt/font/opentype/truetype/GlyphLocator.java, + * gnu/java/awt/font/opentype/truetype/GlyphMeasurer.java, + * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java, + * gnu/java/awt/font/opentype/truetype/VirtualMachine.java, + * gnu/java/awt/font/opentype/truetype/Zone.java, + * gnu/java/awt/font/opentype/truetype/ZonePathIterator.java, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.dia, + * gnu/java/awt/font/opentype/truetype/doc-files/ZonePathIterator-1.png: + New files. Imported font framework from: + http://www.brawer.ch/software/fonts/ + +2006-04-30 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (lastTabInRun): Fix calculation of the last tab in a run. This + has caused painting problems sometimes, making the + last tab painted incorrectly. + +2006-04-30 Audrius Meskauskas + + PR 27297 + * javax/swing/JComponent.java (paintChildrenWithOverlap): + Use for and not while to prevent the endless loop. + +2006-04-29 David Gilbert + + * javax/swing/JList.java + (paramString): Changed from public to protected. + +2006-04-29 Raif S. Naffah + + * tools/gnu/classpath/tools/HelpPrinter.java (printHelp): New method. + (printHelpAndExit): Re-factored to use the above method. + +2006-04-29 Raif S. Naffah + + * tools/jarsigner.sh.in: Changed license to GPL + Exception. + Use -Xbootclasspath/p instead of -cp when invoking the main class. + * tools/gnu/classpath/tools/jarsigner/Main.java: + Changed license to GPL + Exception. + (handler): New field. + (getCallbackHandler): New method. + (setupSigningParams): Use above method. + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: + Changed license to GPL + Exception. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Updated copyright. + +2006-04-29 Raif S. Naffah + + * gnu/javax/security/auth/callback/ConsoleCallbackHandler.java + (handleConfirmation): Use print instead of println. + (handleConfirmation): When case is YES_NO_OPTION, print default option + if one was set. + (handleLanguage): Use print instead of println. + +2006-04-29 Raif S. Naffah + + * gnu/java/security/x509/X500DistinguishedName.java: Updated copyright. + (putComponent): Handle O and OU components. + (getDer): Use correct (it2) iterator. + (readAttributeValue): Read next character and break if end-of-stream. + +2006-04-29 Raif S. Naffah + + * gnu/java/security/provider/Gnu.java (run): + Add "RSA" as an alias to MD5withRSA. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (encodePublicKey): + Always encode a NULL as the value of an algorithm parameters field. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java (log): New field. + (encodePrivateKey): Added trace/log statements. + (decodePrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java (log): New field. + (setup): Added trace/log statements. + (generate): Likewise. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java (str): New field. + (toString): New method. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (DEBUG): New constant. + (str): New field. + (toString): New method. + * gnu/java/security/key/rsa/GnuRSAKey.java (str): New field. + (getEncoded): Use defaultFormat. + (toString): New method. + * gnu/java/security/key/dss/DSSKey.java (toString): + Include defaultFormat in string. + * gnu/java/security/jce/sig/RSAKeyFactory.java (engineGeneratePublic): + Break if successfully decoded public key. + (engineGeneratePrivate): Break if successfully decoded private key. + +2006-04-29 Raif S. Naffah + + * java/security/Security.java : Add our Callback provider. + * resource/java/security/classpath.security: Likewise + +2006-04-28 Audrius Meskauskas + + PR 27296 + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Decide about scroll bars from the preferred view size, not + the current size. + * javax/swing/ViewportLayout.java (layoutContainer): + Do not change returned preferred size. Do not treat JScrollPane + specially. + +2006-04-28 Sven de Marothy + + * java/awt/image/ReplicateScaleFilter.java: Fix comment. + * javax/swing/ProgressMonitor.java (actionPerformed): + Avoid divide-by-zero. + +2006-04-28 Sven de Marothy + + * javax/swing/JSpinner.java: Fix default text justification. + * javax/swing/plaf/basic/BasicSpinnerUI.java: Fix spinner layout size. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (getMinSelectionIndex): Return correct value, added API docs, + (getMaxSelectionIndex): Added API docs. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (JList(Object[])): Pass new model directly to init(), + (JList(Vector)): Likewise, + (JList(ListModel)): Renamed argument and updated API docs, + (init): Throw IllegalArgumentException for null argument, + (setListData(Object[])): Delegate model creation, + (setListData(Vector)): Likewise, + (createListModel(Object[])): New private method, + (createListModel(Vector)): New private method, + (paramString): Implemented. + +2006-04-28 Tom Tromey + + * java/lang/Class.java (SYNTHETIC, ENUM, ANNOTATION): New fields. + (isEnum): Rewrote. + (isSynthetic): Likewise. + (isAnnotation): Likewise. + * vm/reference/java/lang/VMClass.java (isSynthetic): Removed. + (isAnnotation): Likewise. + (isEnum): Likewise. + +2006-04-28 Robert Schuster + + * javax/swing/text/View.java: + (getNextVisualPositionFrom): Call modelToView and viewToModel on parent + view. + +2006-04-28 Robert Schuster + + * javax/swing/text/View.java: + (getNextVisualPositionFrom): Rewritten. + * javax/swing/text/CompositeView.java: + (getNextEastWestVisualPositionFrom): Partly implemented. + (getNextNorthSouthVisualPositionFrom): Partly implemented. + +2006-04-28 David Gilbert + + * javax/swing/JList.java + (setFixedCellHeight): Use correct property name for event. + +2006-04-28 Robert Schuster + + * javax/swing/text/Utilities.java: + (getNextWord): Use codePointAt instead of charAt, added note, changed + if-expression, added throwing of exception. + (getPreviousWord): Use codePointAt instead of charAt. + +2006-04-28 Jeroen Frijters + + * java/lang/StringBuilder.java + (ensureCapacity, getChars, append(StringBuffer), + append(char[],int,int), delete, replace, insert(int,char[],int,int), + insert(int,String), insert(int,char), trimToSize): Replaced + System.arraycopy calls with VMSystem.arraycopy. + +2006-04-27 Tom Tromey + + * java/awt/image/renderable/RenderableImageProducer.java + (requestTopDownLeftRightResend): Implemented. + (run): Likewise. + (startProduction): Add new consumer. + +2006-04-27 Sven de Marothy + + * javax/swing/JLabel.java (setIcon): Repaint on setting the icon. + +2006-04-27 Roman Kennke + + * java/awt/LightweightDispatcher.java + Dispatch events only to targets that have a mouselistener + attached. Changed to also handle null targets. + +2006-04-27 Roman Kennke + + * NEWS: Added entries about accessibility support and L&F + window decorations. + +2006-04-27 Robert Schuster + + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Introduced width variable, rewritten the check + which ends the loop. + (getBreakLocation): Call getTabbedTextOffset with rounding argument set + to false. + +2006-04-27 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Added root visibility and selection listener demos. + * javax/swing/JTree.java (setRootVisible): If false, unselect + the root node, if it is selected. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeTraverseAction.actionPerformed): Do not select the root if it + is not visible. + * javax/swing/tree/DefaultTreeSelectionModel.java (removeSelectionPath, + removeSelectionPaths): Reset lead to null if the current lead path is + removed from selection. + * javax/swing/tree/TreePath.java (getParentPath): Cache the parent path. + * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getPath): + Return the same path regardless is root visible or not. (update): + Reduce the identation if the root is not visible. + * javax/swing/tree/VariableHeightLayoutCache.java (NodeRecord.getPath): + Return the same path regardless is root visible or not. (update): + Reduce the identation if the root is not visible. + +2006-04-26 Audrius Meskauskas + + Fixes PR 27290 + * javax/xml/datatype/DatatypeFactory.java: Use complete + implementation resolution mechanism. + +2006-04-26 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeModel.java (nodeStructureChanged): + Implemented. + * javax/swing/tree/DefaultTreeSelectionModel.java (toString): + Removed NoImplementException form the implemented method. + +2006-04-26 Tom Tromey + + * javax/net/ssl/HttpsURLConnection.java (HttpsURLConnection): Doesn't + throw IOException. + +2006-04-26 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (clone): Initialise empty listener list, + (setSelectionMode): Throw IllegalArgumentException for bad input. + +2006-04-26 David Gilbert + + * javax/swing/DefaultListSelectionModel.java + (clearSelection): Clear the Bitset. + +2006-04-26 Audrius Meskauskas + + * javax/swing/JTree.java (setLeadSelectionPath): + Repaint the new and old lead pathes. + * javax/swing/plaf/basic/BasicTreeUI.java + (FocusHandler): Repaint the lead row when focus changes. + (PropertyChangeHandler): Use existing constants, not the + string literals for the property names. + (TreeIncrementAction): Shrink the selection when moving + from the selection edge to the selection anchor. + (TreeSelectionHandler.valueChanged): Repaint the + new and old lead pathes. + (paintRow): Treat row as focused only if it is the lead row. + * javax/swing/tree/DefaultTreeCellRenderer.java + (getTreeCellRendererComponent): Set the vertical alignment to CENTER. + (paint): Rewritten. + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath): Event construction fix (old and new lead were + always the same). + (addSelectionPaths): Likewise. + * javax/swing/JComponent.java (setOpaque): Explained. + * javax/swing/tree/FixedHeightLayoutCache.java (getBounds): + Accept null. + * javax/swing/tree/VariableHeightLayoutCache.java (getBounds): + Accept null. + +2006-04-26 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java + (createContent): Call DefaultTreeModel.reload(), not the + tree.repaint(). Expand the parent of the added node. + * javax/swing/JTree.java (constructor): Do not call + UpdateUI (and documented why). (treeDidChange): + Added comment, excluding the misinterpretation of this method. + * javax/swing/plaf/basic/BasicTreeUI.java (componentListener, + focusListener, keyListener, mouseListener, propertyListener, + selectionModelPropertyChangeListener, treeModelListener, + treeSelectionListener): Made package private. + (PropertyChangeHandler): If the model changes, install the + listener on it. (installUI): Assign treeModel. + * javax/swing/tree/DefaultMutableTreeNode.java (add): Added + comment, excluding misinterpretation. + * javax/swing/tree/DefaultTreeModel.java (reload): Implemented. + (reload(TreeNode)): Implemented. + +2006-04-25 Tom Tromey + + * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. + * javax/swing/tree/VariableHeightLayoutCache.java + (getVisiblePathsFrom): Genericized. + * javax/swing/tree/FixedHeightLayoutCache.java (getVisiblePathsFrom): + Genericized. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + If clicked on the other row, cancel the current editing session. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (NodeDimensionsHandler.getRowX): Add half of the icon width. + (paintExpandControl): Always paint in one gap distance from the left + border of the path bounds. + (paintHorizontalPartOfLeg): Rewritted, taking the icon width + into consideration. + (paintVerticalPartOfLeg): Paint two gaps from the parent's bounds + left edge. + +2006-04-25 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (paint): Rewritten. + +2006-04-25 Audrius Meskauskas + + * gnu/javax/swing/text/html/parser/support/Parser.java (readAttributes): + Allow slashes (/) in the unquoted parameter value. + +2006-04-25 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java + (drawString(String,int,int)): Implemented. + (drawString(String,float,float)): Implemented. + (drawString(AttributedCharacterIterator,int,int)): Implemented. + (drawString(AttributedCharacterIterator,float,float)): Implemented. + (getFontRenderContext): Implemented. + (drawGlyphVector): Implemented. + (getFont): Implemented. + (setFont): Don't change font setting when null. + (getFontMetrics): Implemented. + (fillShape): Re-written to fill call rawFillShape() with a list + of the edges instead of double arrays. + (rawFillShape): Implemented using a polygon scanline conversion. + (fillScanline): New helper method. + (init): Initialize foreground black. Set font. + * gnu/java/awt/java2d/PolyEdge.java: New file. + * gnu/java/awt/java2d/PolyEdgeComparator.java: New file. + +2006-04-25 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java: More API doc updates. + +2006-04-25 David Gilbert + + * javax/swing/JTable.java: Fixed API doc tags, + * javax/swing/text/AsyncBoxView.java: Likewise, + * javax/swing/text/FlowView.java: Likewise. + +2006-04-25 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (moveColumn): Call fireColumnMoved() not fireColumnAdded. + +2006-04-24 David Gilbert + + * javax/swing/table/DefaultTableColumnModel.java + (DefaultTableColumnModel): Set selection model field and add 'this' as + listener directly, + (addColumn): Add 'this' as a PropertyChangeListener, + (removeColumn): Remove column before firing event, and remove 'this' as + a PropertyChangeListener, + (setSelectionModel): Remove 'this' as a listener from old model, + (propertyChange): Check for 'width' property rather than + TableColumn.COLUMN_WIDTH_PROPERTY. + +2006-04-24 Chris Burdess + + Fixes PR 27262 + * gnu/xml/dom/DomDocument.java: getElementById returns user-defined ID + attributes when no doctype exists. + +2006-04-24 David Gilbert + + * javax/swing/event/ChangeEvent.java: Updated API docs, + * javax/swing/event/ChangeListener.java: Likewise, + * javax/swing/event/TableColumnModelEventListener.java: Likewise, + * javax/swing/table/DefaultTableColumnModel.java: Likewise, + * javax/swing/table/TableColumnModel.java: Likewise. + +2006-04-24 Robert Schuster + + * javax/swing/text/Utilities.java: + (getBreakLocation): Introduced shift variable, added notes. + * javax/swing/text/WrappedPlainView.java: + (calculateBreakPosition): Decrease allocation area bounds by insets, + added early return when allocation area is empty, provide start offset + as argument. + (WrappedPlainView.WrappedLine): Change default value for numLines to 1. + (WrappedPlainView.WrappedLine.paint): Added count variable, update + numLines after loop. + (WrappedPlainView.WrappedLine.determineNumLines): Added early return. + (WrappedPlainView.WrappedLine.getPreferredSpan): Removed if-statement. + (WrappedPlainView.WrappedLine.viewToModel): Changed note, removed + decreasing variable end by one, changed break condition in while-loop, + added check for return value. + (WrappedPlainView.WrappedLine.updateDamage): Set numLines to one if + allocation area is empty. + +2006-04-24 Sven de Marothy + + * gnu/java/awt/java2d/Segment.java: New file. + * gnu/java/awt/java2d/CubicSegment.java: New file. + * gnu/java/awt/java2d/QuadSegment.java: New file. + * gnu/java/awt/java2d/LineSegment.java: New file. + * java/awt/BasicStroke.java + (start): New field. + (end): New field. + (createStrokedShape): Implemented. + (solidStroke): New method. + (dashedStroke): New method. + (capEnds): New method. + (convertPath): New method. + (addSegments): New method. + (capEnd): New method. + (lineIntersection): New method. + (joinSegments): New method. + +2006-04-24 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: Made implements + Cloneable. + (font): New field. + (clip): Changed clip to be in user space not in target space. + (isOptimized): Added flag to allow optimized drawing for + primitive operations (e.g. for Swing). + (AbstractGraphics2D()): Set foreground in init() to avoid trouble + with the paint context etc. + (draw): Clip the shape before drawing it. + (fill): Clip the shape before drawing it. + (setComposite): Update isOptimized flag. + (setPaint): Likewise. + (setStroke): Likewise. + (translate): Update the clip. + (rotate): Likewise. + (scale): Likewise. + (shear): Likewise. + (transform): Likewise. + (setTransform): Likewise. + (clip): Added optimization for rectangle clips. + (create): Implemented. + (clone): New method. + (setFont): Basic implementation. + (setClip): Update opimization flag. + (drawLine): Added possible optimization. + (fillRect): Added possible optimization. + (fillShape): Implemented shape-filling by filling the flattended + shape using polygon fill. + (drawPixel): Added basic painting. + (rawSetPixel): Changed signature to only take coordinates. + (rawSetForeground): New abstract method. + (getUserBounds): Implemented default for this method. + (rawDrawLine): New method. + (rawFillRect): New method. + (rawFillPolygon): New method. + (init): New method. + (updateOptimization): New method. + (computeIntersection): New method. + (updateClip): New method. + (clipShape): New method. + +2006-04-23 Jeroen Frijters + + * java/lang/Package.java: Added compatibility constructor to ease + VM interface migration. + +2006-04-23 Jeroen Frijters + + * java/lang/Class.java (getEnumConstants): Implemented without + delegating to VMClass. + * vm/reference/java/lang/VMClass.java (getEnumConstants): Removed. + +2006-04-23 Jeroen Frijters + + * java/lang/ClassLoader.java (definePackage): Added argument to + Package constructor. + * java/lang/Package.java (Package): Added ClassLoader argument. + (loader): New field. + (getDeclaredAnnotations): Implemented without help from VMPackage. + * vm/reference/java/lang/VMClassLoader.java (static): Added argument + to Package constructor. + * vm/reference/java/lang/VMPackage.java: Removed. + +2006-04-23 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TreeDemo.java: + (createContent): Added check box to swith between single and + multiple selection. + * javax/swing/JTree.java (leadSelectionPath): Removed. + (addSelectionInterval): Explained. (getLeadSelectionPath): + Request the path from model. (getPathsBetweenRows): Explained. + (setLeadSelectionPath): Set the path in model. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeIncrementAction.actionPerformed, isMultiSelectionEvent, + isToggleSelectionEvent, selectPath, selectPathForEvent): Rewritten. + (MouseHandler.mousePressed): Call selectPathForEvent. + +2006-04-23 Roman Kennke + + * gnu/java/awt/java2d/AbstractGraphics2D.java: New file. + +2006-04-22 Andrew John Hughes + + * NEWS: + Mention changes to VMProcess and VMSystem. + * doc/vmintegration.texinfo: + Change documentation on VMProcess and VMSystem. + * include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h, + * include/gnu_java_awt_peer_gtk_GdkFontPeer.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics.h, + * include/gnu_java_awt_peer_gtk_GdkGraphics2D.h, + * include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h, + * include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h, + * include/gnu_java_awt_peer_gtk_GdkRobotPeer.h, + * include/gnu_java_awt_peer_gtk_GdkTextLayout.h, + * include/gnu_java_awt_peer_gtk_GtkButtonPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h, + * include/gnu_java_awt_peer_gtk_GtkChoicePeer.h, + * include/gnu_java_awt_peer_gtk_GtkClipboard.h, + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h, + * include/gnu_java_awt_peer_gtk_GtkFramePeer.h, + * include/gnu_java_awt_peer_gtk_GtkGenericPeer.h, + * include/gnu_java_awt_peer_gtk_GtkImage.h, + * include/gnu_java_awt_peer_gtk_GtkLabelPeer.h, + * include/gnu_java_awt_peer_gtk_GtkListPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h, + * include/gnu_java_awt_peer_gtk_GtkMenuPeer.h, + * include/gnu_java_awt_peer_gtk_GtkPanelPeer.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_GtkSelection.h, + * include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h, + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h, + * include/gnu_java_awt_peer_gtk_GtkToolkit.h, + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h, + * include/gnu_java_awt_peer_qt_MainQtThread.h, + * include/gnu_java_awt_peer_qt_QMatrix.h, + * include/gnu_java_awt_peer_qt_QPainterPath.h, + * include/gnu_java_awt_peer_qt_QPen.h, + * include/gnu_java_awt_peer_qt_QtAudioClip.h, + * include/gnu_java_awt_peer_qt_QtButtonPeer.h, + * include/gnu_java_awt_peer_qt_QtCanvasPeer.h, + * include/gnu_java_awt_peer_qt_QtCheckboxPeer.h, + * include/gnu_java_awt_peer_qt_QtChoicePeer.h, + * include/gnu_java_awt_peer_qt_QtComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtContainerPeer.h, + * include/gnu_java_awt_peer_qt_QtDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h, + * include/gnu_java_awt_peer_qt_QtFileDialogPeer.h, + * include/gnu_java_awt_peer_qt_QtFontMetrics.h, + * include/gnu_java_awt_peer_qt_QtFontPeer.h, + * include/gnu_java_awt_peer_qt_QtFramePeer.h, + * include/gnu_java_awt_peer_qt_QtGraphics.h, + * include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h, + * include/gnu_java_awt_peer_qt_QtImage.h, + * include/gnu_java_awt_peer_qt_QtLabelPeer.h, + * include/gnu_java_awt_peer_qt_QtListPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuBarPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuItemPeer.h, + * include/gnu_java_awt_peer_qt_QtMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtPanelPeer.h, + * include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h, + * include/gnu_java_awt_peer_qt_QtScreenDevice.h, + * include/gnu_java_awt_peer_qt_QtScrollPanePeer.h, + * include/gnu_java_awt_peer_qt_QtScrollbarPeer.h, + * include/gnu_java_awt_peer_qt_QtTextAreaPeer.h, + * include/gnu_java_awt_peer_qt_QtTextFieldPeer.h, + * include/gnu_java_awt_peer_qt_QtToolkit.h, + * include/gnu_java_awt_peer_qt_QtVolatileImage.h, + * include/gnu_java_awt_peer_qt_QtWindowPeer.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h, + * include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h, + * include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h, + * include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h, + * include/gnu_xml_libxmlj_dom_GnomeAttr.h, + * include/gnu_xml_libxmlj_dom_GnomeDocument.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h, + * include/gnu_xml_libxmlj_dom_GnomeDocumentType.h, + * include/gnu_xml_libxmlj_dom_GnomeElement.h, + * include/gnu_xml_libxmlj_dom_GnomeEntity.h, + * include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h, + * include/gnu_xml_libxmlj_dom_GnomeNode.h, + * include/gnu_xml_libxmlj_dom_GnomeNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeNotation.h, + * include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h, + * include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h, + * include/gnu_xml_libxmlj_dom_GnomeXPathResult.h, + * include/gnu_xml_libxmlj_sax_GnomeLocator.h, + * include/gnu_xml_libxmlj_sax_GnomeXMLReader.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformer.h, + * include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h, + * include/java_lang_VMProcess.h, + * include/java_lang_VMSystem.h: + Regenerated with GCJ 4.1. + +2006-04-22 Casey Marshall + + Fixes PR classpath/27228. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java + (initialize): also accept `DHParameterSpec.' + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java (setup): + handle a passed-in `DHParameterSpec' properly. + (generate): don't check if the random exponent is less than `q - + 1' if no `q' was specified. + +2006-04-22 Audrius Meskauskas + + * javax/swing/JTree.java (TreeSelectionRedirector.valueChanged): + Only repaint the patches, speficied in the passed event. + (expandPath): Do nothing if the path is already expanded. + (scrollPathToVisible): Only scroll to visible, do nothing else. + * javax/swing/plaf/basic/BasicTreeUI.java + (TreeExpansionHandler.treeColapsed): Revalidate and repaint. + (TreeExpansionHandler.treeExpanded): Revalidate and repaint. + (TreeTraverseAction.actionPerformed): Collapse the node on the + action "selectParent". (selectPath): Rewritten. + * javax/swing/tree/DefaultTreeSelectionModel.java (clearSelection): + Fire change event. (notifyPathChange): Implemented. (setSelectionPath): + Do not reuse selection array. + * javax/swing/tree/FixedHeightLayoutCache.java (getRowForPath): + Accept null. + * javax/swing/tree/VariableHeightLayoutCache.java (getRowForPath): + Accept null. + +2006-04-22 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath): If the path cannot be added, set it. + (addSelectionPaths): Call insureRowContinuity. + (arePathsContiguous): Implemented. + (canPathBeAdded): New private method. + (canPathsBeAdded): Implemented. + (canPathsBeRemoved): Implemented. + (getPath): New private method. + (insureRowContinuity): Implemented. + (removeSelectionPath): Call insureRowContinuity. + (removeSelectionPaths): Call insureRowContinuity. + (resetRowSelection): Removed stub marking, not used in implementation + (nothing to do there). + (selectOne): New private method. + (setSelectionMode) Call insureRowContinuity. + (setSelectionPaths) Remove the current selection by clearing it. + +2006-04-22 Carsten Neumann + + * javax/sql/Array.java: Fixed eclipse API doc warnings, named method + parameters consistendly, documented some methods. + * java/sql/Blob.java: Likewise. + * java/sql/CallableStatement.java: Likewise. + * java/sql/Clob.java: Likewise. + * java/sql/Connection.java: Likewise. + * java/sql/DatabaseMetaData.java: Likewise. + * java/sql/Date.java: Likewise. + * java/sql/Driver.java: Likewise. + * java/sql/PreparedStatement.java: Likewise. + * java/sql/ResultSet.java: Likewise. + * java/sql/ResultSetMetaData.java: Likewise. + * java/sql/SQLData.java: Likewise. + * java/sql/SQLOutput.java: Likewise. + * java/sql/SQLWarning.java: Likewise. + * java/sql/Statement.java: Likewise. + * java/sql/Time.java: Likewise. + * java/sql/Timestamp.java: Likewise. + +2006-04-21 Jeroen Frijters + + * java/lang/reflect/AccessibleObject.java: + Implemented AnnotatedElement. + (getAnnotation, getAnnotations, getDeclaredAnnotations, + isAnnotationPresent): New methods. + +2006-04-21 Tom Tromey + + PR classpath/27163: + * gnu/java/net/protocol/ftp/FTPConnection.java + (changeWorkingDirectory): Do nothing if path is empty. + +2006-04-21 Tom Tromey + + PR libgcj/27231: + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): Handle + case where no '/' appears in 'location'. + +2006-04-21 Tom Tromey + + * java/security/Security.java (): Add all default providers. + * resource/java/security/classpath.security: Added comment. + +2006-04-21 David Gilbert + + * javax/swing/SpinnerDateModel.java: Updated API docs all over, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-04-21 David Gilbert + + * javax/swing/SpinnerDateModel.java + (SpinnerDateModel(Date, Comparable, Comparable, int)): Fix argument + checking to call compareTo() on start and end. + +2006-04-21 David Gilbert + + * javax/swing/border/AbstractBorder.java: API doc updates, + * javax/swing/border/BevelBorder.java: Likewise, + * javax/swing/border/CompoundBorder.java: Likewise, + * javax/swing/border/EtchedBorder.java: Likewise, + * javax/swing/border/LineBorder.java: Likewise, + * javax/swing/border/MatteBorder.java: Likewise, + * javax/swing/border/TitledBorder.java: Likewise. + +2006-04-21 David Gilbert + + * gnu/javax/crypto/cipher/Anubis.java: + (selfTest): Use Boolean.valueOf() to avoid creating a new Boolean + instance, + * gnu/javax/crypto/cipher/Blowfish.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Cast5.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Khazad.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Rijndael.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Serpent.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Square.java: + (selfTest): Likewise, + * gnu/javax/crypto/cipher/Twofish.java: + (selfTest): Likewise, + * gnu/javax/crypto/mac/UMac32.java: + (selfTest): Likewise, + * gnu/javax/crypto/prng/CSPRNG.java: + (getSystemInstance): Likewise. + +2006-04-21 David Gilbert + + * gnu/java/security/hash/Haval.java: + (selfTest): Use Boolean.valueOf() to avoid creating new Boolean + instance, + * gnu/java/security/hash/MD2.java: + (selfTest): Likewise, + * gnu/java/security/hash/MD4.java: + (selfTest): Likewise, + * gnu/java/security/hash/MD5.java: + (selfTest): Likewise, + * gnu/java/security/hash/RipeMD128.java: + (selfTest): Likewise, + * gnu/java/security/hash/RipeMD160.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha160.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha256.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha384.java: + (selfTest): Likewise, + * gnu/java/security/hash/Sha512.java: + (selfTest): Likewise, + * gnu/java/security/hash/Tiger.java: + (selfTest): Likewise, + * gnu/java/security/hash/Whirlpool.java: + (selfTest): Likewise. + +2006-04-21 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (PropertyChangeHandler.propertyChange): Set the row mapper + for the selection model. + * javax/swing/tree/AbstractLayoutCache.java + (NodeDimensions.getNodeDimensions): Explained. + (getPreferredHeight, getPreferredWidth, isFixedRowHeight): + Implemented. (setRowHeight): Invalidate sizes. + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPath, addSelectionPaths): Update lead row. + (removeSelectionPath, removeSelectionPaths): Do nothing if + selection is empty. + (clone): Only clone list selection model if it is not null. + (getRow): New method. (isRowSelected, getLeadSelectionRow, + setSelectionPath, setSelectionPaths, toString): Implemented. + * javax/swing/tree/FixedHeightLayoutCache.java (NodeRecord.getBounds): + Pass the empty rectangle. (isFixedRowHeight): New method. + * javax/swing/tree/VariableHeightLayoutCache.java + (NodeRecord.getBounds): Pass the empty rectangle. + +2006-04-21 David Gilbert + + * gnu/java/security/Properties.java + (init): Use Boolean.valueOf() to avoid creating new Boolean instances. + +2006-04-21 David Gilbert + + * gnu/classpath/jdwp/util/Value.java + (getUntaggedObj(ByteBuffer, Class)): Use Boolean.valueOf() to avoid + creating new Boolean instances. + +2006-04-20 Mark Wielaard + + * java/awt/Toolkit.java (getDefaultToolkit): Get classloader in + PrivilegedAction. Access awt.toolkit through SystemProperties. + +2006-04-20 David Gilbert + + * javax/swing/ActionMap.java: Removed unused imports, + * javax/swing/DefaultListSelectionModel.java + (clearSelection): Removed unused label, + * javax/swing/JScrollPane.java: Removed unused imports, + * javax/swing/UIManager.java: Likewise, + * javax/swing/table/DefaultTableCellRenderer.java: Likewise. + +2006-04-20 David Gilbert + + * javax/swing/plaf/basic/BasicSpinnerUI.java: Removed unused imports, + * javax/swing/plaf/basic/BasicTextAreaUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextFieldUI.java: Likewise, + * javax/swing/plaf/basic/BasicTextUI.java: Likewise, + * javax/swing/plaf/basic/BasicTreeUI.java: Likewise. + +2006-04-20 David Gilbert + + * java/sql/Array.java: Fixed Eclipse API doc warnings, + * java/sql/Blob.java: Likewise, + * java/sql/CallableStatement.java: Likewise, + * java/sql/Clob.java: Likewise, + * java/sql/Connection.java: Likewise, + * java/sql/DatabaseMetaData.java: Likewise, + * java/sql/Date.java: Likewise, + * java/sql/Driver.java: Likewise, + * java/sql/PreparedStatement.java: Likewise, + * java/sql/ResultSet.java: Likewise, + * java/sql/ResultSetMetaData.java: Likewise, + * java/sql/SQLData.java: Likewise, + * java/sql/SQLOutput.java: Likewise, + * java/sql/SQLWarning.java: Likewise, + * java/sql/Statement.java: Likewise, + * java/sql/Time.java: Likewise, + * java/sql/Timestamp.java: Likewise. + +2006-04-20 David Gilbert + + * java/sql/DriverManager.java + (setLoginTimeout): Use incoming argument, + (setLogStream): Likewise, + (println): Fix API doc comment. + +2006-04-20 David Gilbert + + * javax/swing/JMenuItem.java + (paramString): Updated API docs, + (getAccessibleContext): Added API docs, + (AccessibleJMenuItem.stateChanged): Marked as stub, + (AccessibleJMenuItem.getAccessibleRole): Added API docs, + * javax/swing/JSlider.java + (paramString): Fix for API docs, + * javax/swing/JToolTip.java + (getAccessibleContext): Fix for API docs. + +2006-04-20 David Gilbert + + * javax/swing/JRadioButtonMenuItem.java + (paramString): Reimplemented, + (getAccessibleContext): API docs added, + (AccessibleJRadioButtonMenuItem.AccessibleJRadioButtonMenuItem()): + Likewise, + (AccessibleJRadioButtonMenuItem.getAccessibleRole): Likewise. + +2006-04-20 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java + (finish): Invalidate path bounds. + (getMaxHeight): Set the row height to the layout cache. + (startEditing): Do not request to recalculated + row height and preferred size. + * javax/swing/tree/DefaultTreeCellEditor.java + (ICON_TEXT_GAP, ICON_TREE_GAP): Removed, replacing + with 0. + * javax/swing/tree/FixedHeightLayoutCache.java: + Rewritten. + +2006-04-20 David Gilbert + + * javax/swing/JDesktopPane.java + (paramString): Reimplemented, + plus API doc updates in AccessibleJDesktopPane. + +2006-04-20 David Gilbert + + * javax/swing/ImageIcon.java: + (AccessibleImageIcon.getAccessibleStateSet): Return null always, + (AccessibleImageIcon.getLocale): Declared exception and always return + null, + (getAccessibleContext): Updated API docs, + plus updated API docs all over AccessibleImageIcon. + +2006-04-20 Roman Kennke + + PR 27196 + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintText): Fetch the ascent only once. Add the ascent to + the text rect also when tabs are disabled. + +2006-04-20 Christian Thalinger + + * java/util/Locale.java (defaultLocale): Set to en_US per + default and use user.country but prioritize user.region if + defined. + (getLocale(String language, String country)): Renamed region to + country. + (getLocale(String language, String region, String variant)): + Likewise. + (getAvailableLocales): Likewise. + +2006-04-20 Roman Kennke + + PR 27222 + * javax/swing/JList.java + (JList()): Call init() with DefaultListModel instance. + (JList(Object[])): Call init() with null. + (JList(Vector)): Call init() with null. + (JList(ListModel)): Call init() with model. + (init): Changed to take the model as argument. Don't call + setter methods and initialize stuff directly instead. + (getCellBounds): Check if UI is null. + +2006-04-20 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: Initialize + WrappedLine.numLines with -1. + (WrappedPlainView.WrappedLine.getPreferredSpan): Check whether + numLines is -1 and reculcalate the value appropriately. + (WrappedPlainView.WrappedLine.updateDamage): Set numLines to -1 if + allocation area is empty. + +2006-04-20 David Gilbert + + * javax/swing/JTabbedPane.java + (AccessibleJTabbedPane.stateChanged): Marked as stub, + (AccessibleJTabbedPane.getAccessibleRole): Likewise, + (AccessibleJTabbedPane.getAccessibleChildrenCount): Likewise, + (AccessibleJTabbedPane.getAccessibleSelection): Likewise, + (AccessibleJTabbedPane.getAccessibleAt): Likewise, + (AccessibleJTabbedPane.getAccessibleSelectionCount): Likewise, + (AccessibleJTabbedPane.getAccessibleSelection(int)): Likewise, + (AccessibleJTabbedPane.isAccessibleChildSelected): Likewise, + (AccessibleJTabbedPane.addAccessibleSelection): Likewise, + (AccessibleJTabbedPane.removeAccessibleSelection): Likewise, + (AccessibleJTabbedPane.clearAccessibleSelection): Likewise, + (AccessibleJTabbedPane.selectAllAccessibleSelection): Likewise, + (Page.getAccessibleStateSet): Likewise, + (Page.getAccessibleIndexInParent): Likewise. + +2006-04-19 David Gilbert + + * javax/swing/JProgressBar.java + (paramString): Reimplemented. + +2006-04-19 David Gilbert + + * javax/swing/JButton.java: Updated API docs all over. + +2006-04-19 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultToolkit): Use system classloader to load the + toolkit. + +2006-04-19 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (DefaultCaret.Bypass.setDot): Call DefaultCaret.setDotImpl + instead of DefaultCaret.setDot. + +2006-04-19 Roman Kennke + + * native/jni/java-net/local.c + (local_read): Handle EINTR correctly. + (local_write): Likewise. + +2006-04-19 Riccardo Mottola + + PR classpath/27062, PR classpath/25650: + * native/fdlibm/ieeefp.h: Check for _POWER and _IBMR2. + +2006-04-19 Tom Tromey + + * java/text/SimpleDateFormat.java (formatWithAttribute): Take absolute + value of 'pureMinutes'. PR classpath/27189. + +2006-04-19 Olivier Jolly + + * vm/reference/java/lang/VMClassLoader.java (getBootPackages): Loads + boot packages list from the META-INF/INDEX.LIST file if it exists. + +2006-04-19 Raif S. Naffah + + Suggested by Stephen White + * gnu/javax/crypto/prng/IPBE.java: Updated documentation. + (ITERATION_COUNT): Removed modifiers. + (PASSWORD): Likewise. + (SALT): Likewise. + (PASSWORD_ENCODING): New property. + (DEFAULT_PASSWORD_ENCODING): New constant. + * gnu/javax/crypto/prng/PBKDF2.java (setup): Check for MAC's raw key + material (bytes) before a password (chars). + +2006-04-19 David Gilbert + + * javax/swing/JMenu.java + (getAccessibleChildrenCount): Marked as stub, + (getAccessibleChild): Likewise, + (getAccessibleSelection): Likewise, + (getAccessibleSelection(int)): Likewise, + (isAccessibleChildSelected): Likewise, + (getAccessibleSelectionCount): Likewise, + (addAccessibleSelection): Likewise, + (removeAccessibleSelection): Likewise, + (clearAccessibleSelection): Likewise, + (selectAllAccessibleSelection): Likewise. + +2006-04-19 David Gilbert + + * javax/swing/JSplitPane.java + (getAccessibleContext): Added API docs, + (paramString): Reimplemented, + (setOrientation): Updated API docs, + (setResizeWeight): Added argument checking and event notification. + +2006-04-18 Casey Marshall + + Fixes PR classpath/25673 + * java/security/KeyStore.java (getDefaultType): return "gkr" if no + property is set. Update JavaDoc to reflect this. + +2006-04-18 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (setCheckingCharacters): New function used to set + checkingCharacters flag. + * gnu/xml/dom/html2/DomHTMLParser.java + (parseDocument): Added call to set checkingCharacters flag + to false. + +2006-04-18 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (checkNCName): Reverted last patch. Added check for colon at + last position back in. + +2006-04-18 Robert Schuster + + * examples/gnu/classpath/examples/swing/NavigationFilterDemo.java: + New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added NavigationFilter demo. + +2006-04-18 David Gilbert + + * javax/swing/JSeparator.java: Updated API docs all over, plus + (setOrientation): Fire PropertyChangeEvent, + (paramString): Reimplemented. + +2006-04-18 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (getNextVisualPositionFrom): Implemented. + +2006-04-18 David Gilbert + + * javax/swing/JPanel.java: Updated API docs all over, plus + (JPanel(LayoutManager, boolean)): Pass on null layout, set + double-buffer flag. + +2006-04-18 Robert Schuster + + * examples/gnu/classpath/examples/swing/DocumentFilterDemo.java: + New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added DocumenFilter demo. + +2006-04-18 Tom Tromey + + * doc/www.gnu.org/include/layout.wml: Add FMJ. + +2006-04-18 Mark Wielaard + + Reported by John Sullivan (johns@fsf.org) + * doc/www.gnu.org/stories.wml: Update JikesRVM location. + +2006-04-18 David Gilbert + + * javax/swing/JInternalFrame.java + (JDesktopIcon.getAccessibleContext): Added API docs, + (getDefaultCloseOperation): Likewise, + (paramString): Added 'title' attribute, + (setDefaultCloseOperation): Added API docs. + +2006-04-18 David Gilbert + + * javax/swing/JSlider.java + (paramString): Reimplemented. + +2006-04-18 David Gilbert + + * javax/swing/JComboBox.java + (paramString): Reimplemented, + (getAccessibleContext): Added API docs, + (AccessibleJComboBox.getAccessibleRole): Likewise. + +2006-04-18 Roman Kennke + + * javax/swing/RepaintManager.java + (dirtyComponentsWork): New field. + (ComponentComparator): Use dirtyComponentsWork instead of + dirtyComponents. + (RepaintManager): Initialize new field. + (paintDirtyRegions): Swap dirtyComponents with dirtyComponentsWork + and work on the copy. + +2006-04-18 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (setBounds): Call reshape(). + * gnu/java/awt/peer/swing/SwingContainerPeer.java + (SwingContainerPeer): Changed argument to be a Component + instead a Container. + (getInsets): Call insets(). + (handleMouseEvent): Added null check to avoid NPE. + (handleMouseMotionEvent): Added null check to avoid NPE. + +2006-04-18 Roman Kennke + + PR 27185 + * javax/swing/JComponent.java + (paintChildrenWithOverlap): When one child is not opaque, propagate + the dirty rectangles to the next child. + (paintChildrenOptimized): Removed unnecessary 'optimization'. + This actually didn't work right and probably gained nothing. + +2006-04-18 Audrius Meskauskas + + * javax/swing/JTable.java (getCallRect): Do not cache rectangles. + (moveToCellBeingEdited): Do not clone the rectangle here. + +2006-04-18 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (getActionMap): Fixed lookup key, + (createActionMap): Modified actions to fetch slider/ui from the event + source. + +2006-04-17 Andrew John Hughes + + * java/lang/Enum.java: Documented. + +2006-04-17 Andrew John Hughes + + * gnu/java/lang/InstrumentationImpl.java: + Moved from java.lang. + * java/lang/InstrumentationImpl.java: + Removed. + * vm/reference/gnu/java/lang/VMInstrumentationImpl.java: + Moved from java.lang. + * vm/reference/java/lang/VMClassLoader.java: + Corrected reference to InstrumentationImpl. + * vm/reference/java/lang/VMInstrumentationImpl.java: + Removed. + +2006-04-17 Andrew John Hughes + + * java/lang/annotation/Annotation.java: + Documented. + +2006-04-17 David Gilbert + + * javax/swing/JToolBar.java + (AccessibleJToolBar.AccessibleJToolBar()): Updated API docs, + (AccessibleJToolBar.getAccessibleStateSet): Implemented, + (AccessibleJToolBar.getAccessibleRole): Updated API docs, + (getAccessibleContext): Likewise. + +2006-04-17 Dalibor Topic + + * configure.ac: + Added CLASSPATH_CONVENIENCE substitution for convenience library LDFLAGS. + + * native/fdlibm/Makefile.am, + native/jni/classpath/Makefile.am: + Don't use -module and -version-info for convenience libraries LDFLAGS. + Fixes libtool warnings. + +2006-04-17 David Gilbert + + * javax/swing/plaf/basic/BasicComboBoxUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicComboPopup.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicInternalFrameUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicLabelUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicListUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicMenuBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicMenuUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicOptionPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicPopupMenuUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicScrollBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicScrollPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicSplitPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTabbedPaneUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTableHeaderUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTableUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicTextUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise, + * javax/swing/plaf/basic/BasicToolBarUI.java: + (installKeyboardActions): Marked as stub, + (uninstallKeyboardActions): Likewise. + +2006-04-17 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (installKeyboardActions): Implemented, + (uninstallKeyboardActions): Implemented, + (scrollByBlock): Accept any value for direction, + (scrollByUnit): Likewise, + (getInputMap): New method, + (getActionMap): New method, + (createActionMap): New method. + + +2006-04-16 Andrew John Hughes + + * doc/vmintegration.texinfo: + Fix sectioning. + +2006-04-16 Tom Tromey + + * native/jni/java-net/Makefile.am (AM_CFLAGS): Removed --save-temps. + +2006-04-16 Andrew John Hughes + + * NEWS: + Mention generics additions to the VM interface. + * doc/vmintegration.texinfo: + Added information on VMClass 1.5 additions and + VMSecureRandom. + +2006-04-16 Casey Marshall + + * NEWS: add an entry mentioning local socket support. + +2006-04-16 Casey Marshall + + * configure.ac (--enable-local-sockets): new enable argument. + (ENABLE_LOCAL_SOCKETS): new define. + * native/jni/java-net/Makefile.am (local_sources): new variable. + (lib_javanet_la_SOURCES): append `local_sources.' + * native/jni/java-net/gnu_java_net_local_LocalSocketImpl.c, + * native/jni/java-net/local.c, + * native/jni/java-net/local.h, + * include/gnu_java_net_local_LocalSocketImpl.h, + * gnu/java/net/local/LocalServerSocket.java, + * gnu/java/net/local/LocalSocket.java, + * gnu/java/net/local/LocalSocketAddress.java, + * gnu/java/net/local/LocalSocketImpl.java: new files. + +2006-04-15 Andrew John Hughes + + * javax/accessibility/AccessibleAction.java: + (DECREMENT): Added field. + (INCREMENT): Likewise. + (TOGGLE_EXPAND): Likewise. + * javax/accessibility/AccessibleRole.java: + (EDITBAR): Added field. + (FOOTER): Likewise. + (HEADER): Likewise. + (PARAGRAPH): Likewise. + (PROGRESS_MONITOR): Likewise. + (RULER): Likewise. + * javax/accessibility/AccessibleState.java: + (INDETERMINATE): Added field. + (MANAGES_DESCENDANTS): Likewise. + (TRUNCATED): Likewise. + +2006-04-14 Tom Tromey + + * javax/swing/tree/DefaultTreeSelectionModel.java (getListeners): + Genericized. + * javax/swing/tree/AbstractLayoutCache.java (getVisiblePathsFrom): + Genericized. + +2006-04-14 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (getBypass): New method. + (moveDot): Rewritten. + (moveDotImpl): New method. + (setDot): Rewritten. + (setDotImpl): New method. + (DefaultCaret.Bypass): New class. + +2006-04-14 Robert Schuster + + * javax/swing/text/AbstractDocument.java: + (getBypass): New method. + (insertString): Rewritten. + (remove): Rewritten. + (replace): Rewritten. + (insertStringImpl): New method. + (removeImpl): New method. + (replaceImpl): New method. + (AbstractDocument.Bypass): New class. + +2006-04-14 Casey Marshall + + Fixes PR classpath/24642 + * NEWS: add note about SecureRandom changes, and addition of + VMSecureRandom. + * java/security/SecureRandom.java (isSeeded): new field. + (setSeed, setSeed): set `isSeeded' to `true.' + (nextBytes): seed this instance if `isSeeded' is false. + (getSeed): call `generateSeed.' + (SECURERANDOM_SOURCE, JAVA_SECURITY_EGD, logger): new constants. + (generateSeed, generateSeed): new methods. + * vm/reference/java/security/VMSecureRandom.java: new file. + +2006-04-14 Robert Schuster + + * javax/swing/text/FieldView.java: + (paint): Apply clipping rectangle of the allocation area + before painting the text. + * javax/swing/text/DefaultHighlighter.java: + (DefaultHighlighter.DefaultHighlightPainter): Use SwingUtilities to + compute union and intersection, calculate intersection with allocation + area before painting, adjust x and width when painting multiple lines + by the range of the allocation area. + +2006-04-14 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (paintLayeredHighlights): Marked as stub. + +2006-04-14 Robert Schuster + + * javax/swing/plaf/basic/BasicTextFieldUI.java: + (propertyChanged): Added note, change color only if current background + is a ColorUIResource instance. + +2006-04-14 Tom Tromey + + * java/beans/beancontext/BeanContextSupport.java (hasNext): No longer + a stub. + (next): Likewise. + +2006-04-14 Tom Tromey + + * javax/swing/JComboBox.java (AccessibleJComboBox): Now public. + +2006-04-14 Mark Wielaard + + * java/lang/Thread.java (getUncaughtExceptionHandler): Return + thread group when exceptionHandler isn't set. + * vm/reference/java/lang/VMThread.java (run): Use result of + thread.getUncaughtExceptionHandler directly. + +2006-04-14 David Gilbert + + * javax/swing/JSplitPane.java + (AccessibleJSplitPane.getAccessibleStateSet): Implemented, + (AccessibleJSplitPane.getAccessibleRole): Implemented, + (AccessibleJSplitPane.getAccessibleValue): Implemented, + (AccessibleJSplitPane.getCurrentAccessibleValue): Implemented, + (AccessibleJSplitPane.setCurrentAccessibleValue): Implemented, + (AccessibleJSplitPane.getMinimumAccessibleValue): Implemented, + (AccessibleJSplitPane.getMaximumAccessibleValue): Implemented. + +2006-04-10 Tom Tromey + + * javax/imageio/metadata/IIOMetadataFormatImpl.java (addObjectValue): + Fixed parameter bounds. + +2006-04-13 Andrew John Hughes + + * gnu/javax/crypto/assembly/Assembly.java, + * gnu/javax/crypto/assembly/Cascade.java, + * gnu/javax/crypto/assembly/CascadeStage.java, + * gnu/javax/crypto/assembly/CascadeTransformer.java, + * gnu/javax/crypto/assembly/Direction.java, + * gnu/javax/crypto/assembly/LoopbackTransformer.java, + * gnu/javax/crypto/assembly/ModeStage.java, + * gnu/javax/crypto/assembly/Operation.java, + * gnu/javax/crypto/assembly/PaddingTransformer.java, + * gnu/javax/crypto/assembly/Stage.java, + * gnu/javax/crypto/assembly/Transformer.java, + * gnu/javax/crypto/cipher/Square.java, + * gnu/javax/crypto/jce/cipher/AESSpi.java, + * gnu/javax/crypto/jce/cipher/ARCFourSpi.java, + * gnu/javax/crypto/jce/cipher/AnubisSpi.java, + * gnu/javax/crypto/jce/cipher/BlowfishSpi.java, + * gnu/javax/crypto/jce/cipher/CipherAdapter.java, + * gnu/javax/crypto/jce/cipher/DESSpi.java, + * gnu/javax/crypto/jce/cipher/KhazadSpi.java, + * gnu/javax/crypto/jce/cipher/NullCipherSpi.java, + * gnu/javax/crypto/jce/cipher/PBES2.java, + * gnu/javax/crypto/jce/cipher/RijndaelSpi.java, + * gnu/javax/crypto/jce/cipher/SerpentSpi.java, + * gnu/javax/crypto/jce/cipher/SquareSpi.java, + * gnu/javax/crypto/jce/cipher/TripleDESSpi.java, + * gnu/javax/crypto/jce/cipher/TwofishSpi.java, + * gnu/javax/crypto/jce/mac/HMacMD2Spi.java, + * gnu/javax/crypto/jce/mac/HMacMD4Spi.java, + * gnu/javax/crypto/jce/mac/HMacMD5Spi.java, + * gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, + * gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, + * gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, + * gnu/javax/crypto/jce/mac/HMacTigerSpi.java, + * gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, + * gnu/javax/crypto/jce/mac/MacAdapter.java, + * gnu/javax/crypto/jce/mac/TMMH16Spi.java, + * gnu/javax/crypto/jce/mac/UHash32Spi.java, + * gnu/javax/crypto/jce/mac/UMac32Spi.java, + * gnu/javax/crypto/key/dh/DiffieHellmanSender.java, + * gnu/javax/crypto/key/srp6/SRP6TLSServer.java, + * gnu/javax/crypto/keyring/PrivateKeyEntry.java, + * gnu/javax/crypto/mode/IAuthenticatedMode.java, + * gnu/javax/crypto/pad/WrongPaddingException.java, + * gnu/javax/crypto/prng/ICMGenerator.java, + * gnu/javax/crypto/prng/IPBE.java, + * gnu/javax/crypto/prng/PBKDF2.java, + * gnu/javax/crypto/sasl/ConfidentialityException.java, + * gnu/javax/crypto/sasl/IllegalMechanismStateException.java, + * gnu/javax/crypto/sasl/srp/IALG.java, + * gnu/javax/crypto/sasl/srp/SRPServer.java: + Remove CVS revision tags. + +2006-04-13 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (getPreferredSize): + Removed debugging code. + +2006-04-13 Audrius Meskauskas + + * javax/swing/JTree.java (getPreferredSize): Return the + cloned instance. + * javax/swing/ViewportLayout.java (layoutContainer): + Do not manage the view size and location if the view is + in the scroll pane. Also manage size and location for + Scrollable, if it is not in the scroll pane. + * javax/swing/plaf/basic/BasicTreeUI.java, + * javax/swing/tree/FixedHeightLayoutCache.java, + * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. + * gnu/javax/swing/tree/GnuPath.java: New file. + +2006-04-13 David Gilbert + + * javax/swing/JToolBar.java + (AccessibleJToolBar.getAccessibleStateSet): Marked as stub. + +2006-04-13 Robert Schuster + + * examples/gnu/classpath/examples/swing/TextAreaDemo.java: + (createCustomColoredPanel): Set background color as demo intends, + changed custom selection color to red. + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: + Replaced various single variables with a Compound instance, added + custom highlighter demo. + (TextFieldDemo.DemoHighlightPainter): New class (taken from + TextAreaDemo). + (TextFieldDemo.Compound): New class. + (createTextFieldCompound): New method. + (createLeftAlignedPanel): Rewritten. + (createRightAlignedPanel): Rewritten. + (createCenteredPanel): Rewritten. + (createCustomColoredPanel): Removed. + (createCustomColoredPanel1): New method. + (createCustomColoredPanel2): New method. + (createCustomBordersPanel): New method. + (createMiscPanel): Rewritten. + (actionPerformed): Rewritten. + (createContent): Add panels of new compounds to main panel, put + main panel in a JScrollPane. + * examples/gnu/classpath/examples/swing/Demo.java: + (Demo): Put desktop in a scrollpane. + (mkMenuBar): Check availability of MetalLookAndFeel.getCurrentTheme() + method via reflection. + +2006-04-13 David Gilbert + + * javax/swing/plaf/metal/MetalDesktopIconUI.java + (createUI): Return new instance rather than shared instance. + +2006-04-13 Robert Schuster + + * javax/swing/text/FieldView.java: + (checkContainer): Call updateVisibility() at the end. + +2006-04-13 Robert Schuster + + * java/awt/event/MouseEvent.java: + (paramString): Add value of 'consumed' variable in string. + +2006-04-13 Robert Schuster + + PR 26967 + * javax/swing/JTextField.java: Removed scrollOffset variable. + (JTextField): Moved up initialization of horizontalVisibility field. + (getScrollOffset): Implemented. + (setScrollOffset): Implemented. + (getHorizonztalVisibility): Removed note. + (scrollRectToVisible): New method. + * javax/swing/text/FieldView.java: Added cachedSpan variable. + (checkContainer): New method. + (updateVisibility): New method. + (calculateHorizontalSpan): New method. + (adjustAllocation): Removed unneeded local variables, added code + to handle scrolling. + (getPreferredSpan): Use new method calculateHorizontalSpan, + avoid calculation by returning cached value cachedSpan. + (paint): Added check whether the hosted component is a JTextField. + (insertUpdate): Invalidate cached span value, update visibility + if neccessary. + (removeUpdate): Dito. + (changeUpdate): Dito. + +2006-04-13 David Gilbert + + * javax/swing/JInternalFrame.java + (setTitle): Set old value to 'this.title', not 'title'. + +2006-04-13 David Gilbert + + * javax/swing/JInternalFrame.java + (AccessibleJInternalFrame.getAccessibleName): Implemented, + (AccessibleJInternalFrame.getAccessibleRole): Implemented, + (AccessibleJInternalFrame.getAccessibleValue): Implemented, + (AccessibleJInternalFrame.getCurrentAccessibleValue): Implemented, + (AccessibleJInternalFrame.getMaximumAccessibleValue): Implemented, + (AccessibleJInternalFrame.getMinimumAccessibleValue): Implemented, + (AccessibleJInternalFrame.setCurrentAccessibleValue): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleRole): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getAccessibleValue): Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getCurrentAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getMaximumAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.getMinimumAccessibleValue): + Implemented, + (JDesktopIcon.AccessibleJDesktopIcon.setCurrentAccessibleValue): + Implemented, + (JInternalFrame()): Use "" for default title, + (getAccessibleContext): Updated API docs, + (getDesktopIcon): Likewise, + (getLayer): Check for layer in client properties, and return + DEFAULT_LAYER if no setting is found, + (getTitle): Updated API docs, + (setDesktopIcon): Fire property change event. + +2006-04-13 Audrius Meskauskas + + * javax/swing/ScrollPaneLayout.java (layoutContainer): + Mind that the presence of one scroll bar may cause the + need for another. + +2006-04-12 Ito Kazumitsu + + * gnu/regexp/REToken.java(unicodeAware): New field, + (toLowerCase, toUpperCase): New methods. + * gnu/regexp/RETokenBackRef.java, gnu/regexp/RETokenChar.java, + gnu/regexp/RETokenNamedProperty.java, gnu/regexp/RETokenRange.java: + Use toLowerCase and toUpperCase defined in REToken instead of + those defined in java.lang.Character. + * gnu/regexp/gnu/regexp/RE.java(REG_ICASE_USASCII): New flag. + (initialize): Sets unicodeAware of the generated REToken to false if + REG_ICASE_USASCII is set. + * gnu/regexp/RETokenChar.java(constructor): Don't convert the character + to lower case and keep the original value. + (matchOneString): Use the new method charEquals to compare characters. + (charEquals): New method to compare characters. + * java/util/regex/Pattern.java: Sets the flag REG_ICASE_USASCII to true. + +2006-04-12 David Gilbert + + * javax/swing/event/InternalFrameEvent.java: + (paramString): Implemented, + updated API docs all over. + +2006-04-12 Casey Marshall + + * gnu/javax/crypto/prng/Fortuna.java (setup): call `fillBlock.' + (Generator.setup): call `fillBlock.' + +2006-04-12 Casey Marshall + + Fixes PR classpath/24481. + * gnu/java/security/jce/prng/SecureRandomAdapter.java (): + initialize the adaptee. + (setSeed): call `addRandomBytes;' don't re-initialize the adaptee. + * gnu/java/security/prng/MDGenerator.java (addRandomByte, + addRandomBytes): new methods. + +2006-04-12 Tom Tromey + + * java/io/DataOutputStream.java (writeUTF): Correctly handle zero + length strings. + +2006-04-12 Lillian Angel + + * gnu/xml/dom/DomDocument.java + (checkNCName): Removed unneeded part of check. + * gnu/xml/dom/DomNode.java + (dispatchEvent): Added code to grow ancestors array + if needed. Changed checks to use depth of node instead. + Fixes an infinite loop and segmentation fault. + * gnu/xml/dom/html2/DomHTMLParser.java + (handleEndTag): No need to use/make a copy of the node. + Causes an infinite loop. + +2006-04-12 Tom Tromey + + PR classpath/27131: + * java/util/BitSet.java (get): Early return if to==from. + +2006-04-12 Mark Wielaard + + * java/security/SecureRandom.java (algorithm): New private field. + (SecureRandom): Initialize algorithm. + (SecureRandom(SecureRandomSpi,Provider,String)): New private + constructor. + (getInstance): Call 3 argument constructor. + (getAlgorithm): New method. + +2006-04-12 Mark Wielaard + + Port UncaughtExceptionHandler support from generics branch. + * NEWS: Document Thread.UncaughtExceptionHandler VMThread change. + +2006-04-12 Andrew John Hughes + + * java/lang/Thread.java: + (setUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getUncaughtExceptionHandler()): Documented. + (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getDefaultUncaughtExceptionHandler()): Documented. + (getId()): Documented. + +2006-04-12 Tom Tromey + + * vm/reference/java/lang/VMThread.java (run): Use thread's + uncaught handler. + * java/lang/Thread.java (defaultHandler): New field. + (setDefaultUncaughtExceptionHandler, + getDefaultUncaughtExceptionHandler, setUncaughtExceptionHandler, + getUncaughtExceptionHandler): New methods. + * java/lang/ThreadGroup.java (ThreadGroup): Implements + UncaughtExceptionHandler. + (uncaughtException): Use getDefaultUncaughtExceptionHandler. + +2006-04-11 Bryce McKinlay + + * java/io/DataOutputStream.java (writeUTF): Re-use fixed length byte + buffer. Loop only once to determine Utf8 length when possible. Make + the inner loop bounded by buf.length. + (getUTFlength): New private method. + (buf): New private field. + +2006-04-11 Lillian Angel + + * gnu/xml/dom/DomNodeIterator.java + (nextNode): Moved line of code to avoid an infinite loop. + * gnu/xml/dom/html2/DomHTMLAppletElement.java + (getCls): New function. + (setCls): Likewise. + (getSrc): Likewise. + (setSrc): Likewise. + * gnu/xml/dom/html2/DomHTMLDocument.java: + Added DomHTMLEmbedElement to map. + (getApplets): Added node name, 'embed'. + * gnu/xml/dom/html2/DomHTMLEmbedElement.java: + New class. + * gnu/xml/dom/html2/DomHTMLObjectElement.java + (getJavaCode): New function. + (setJavaCode): Likewise. + (getObject): Likewise. + (setObject): Likewise. + (getJavaObject): Likewise. + (setJavaObject): Likewise. + (getJavaArchive): Likewise. + (setJavaArchive): Likewise. + (getJavaCodeBase): Likewise. + (setJavaCodeBase): Likewise. + (getJavaType): Likewise. + (setJavaType): Likewise. + (setMayscript): Likewise. + (getMayscript): Likewise. + (setScriptable): Likewise. + (getScriptable): Likewise. + * gnu/xml/dom/html2/DomHTMLParser.java + (parseDocument): Should not check for well formedness + when parsing an html document. + * java/awt/Window.java + (dispatchEvent): Added check to avoid NPE. + +2006-04-10 Tom Tromey + + * javax/accessibility/AccessibleStreamable.java (getStream): Fixed + name. + * javax/accessibility/AccessibleRelation.java (EMBEDS): Fixed value. + (SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. + +2006-04-10 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (getNextVisualPositionFrom): Marked as stub. + +2006-04-10 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initSystemColorDefaults): Changed to use loadSystemColorDefaults + and create the defaults as strings constants. + (loadSystemColors): Implemented stubbed method. + +2006-04-10 Tom Tromey + + * .settings/org.eclipse.core.resources.prefs: Set encoding for + ChangeLog. + +2006-04-10 Tom Tromey + + * java/io/CharArrayWriter.java (append): Javadoc fix. + (append): Likewise. + +2006-04-10 Tom Tromey + + * javax/accessibility/AccessibleTextSequence.java: New file. + * javax/accessibility/AccessibleRelation.java (CHILD_NODE_OF): New + field. + (CHILD_NODE_OF_PROPERTY, EMBEDDED_BY, EMBEDDED_BY_PROPERTY, EMBEDS, + EMBEDS_PROPERTY, FLOWS_FROM, FLOWS_FROM_PROPERTY, FLOWS_TO, + FLOWS_TO_PROPERTY, PARENT_WINDOW_OF, PARENT_WINDOW_OF_PROPERTY, + SUBWINDOW_OF, SUBWINDOW_OF_PROPERTY): Likewise. + * javax/accessibility/AccessibleExtendedText.java: New file. + * javax/accessibility/AccessibleContext.java + (ACCESSIBLE_COMPONENT_BOUNDS_CHANGED): New field. + (ACCESSIBLE_INVALIDATE_CHILDREN): Likewise. + (ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED): Likewise. + * javax/accessibility/AccessibleAttributeSequence.java: New file. + * javax/accessibility/AccessibleStreamable.java: New file. + * javax/accessibility/AccessibleText.java (getIndexAtPoint): Javadoc + fix. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions, getRowsForPath): Implemented. + * javax/swing/tree/FixedHeightLayoutCache.java: Rewritten. + * javax/swing/tree/VariableHeightLayoutCache.java: Rewritten. + +2006-04-10 Roman Kennke + + * javax/swing/tree/AbstractLayoutCache.java: Reformatted. + +2006-04-10 Roman Kennke + + * javax/swing/JInternalFrame.java + (AccessibleJInternalFrame): Marked all stubbed methods as such + by adding throws NotImplementedException. + +2006-04-10 Roman Kennke + + * javax/swing/JFileChooser.java + (getAccessibleContext): Don't create a new instance on each + call, instead store the accessible context in the + accessibleContext field. + +2006-04-10 Roman Kennke + + * javax/swing/JComboBox.java + (AccessibleJComboBox): Marked all stubbed methods as such + by adding throws NotImplementedException. + +2006-04-10 Roman Kennke + + * javax/swing/ActionMap.java + (readObject): Removed. + (writeObject): Removed. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java + (addSelectionPaths, setSelectionPaths): Call + insureUniqueness. (clone, setRowMapper): Implemented. + * TreePath (path): Marked final. + +2006-04-10 Audrius Meskauskas + + * javax/swing/tree/DefaultTreeSelectionModel.java: + Documented and autoformatted. (insureUniqueness): + Removed stub marking. + +2006-04-09 David Gilbert + + * javax/swing/SizeSequence.java + (sizes): Don't initialise here, + (SizeSequence(int, int)): Initialise sizes field, + (SizeSequence(int[])): Clone argument instead of calling setSizes(), + (setSize): Do nothing when index is out of bounds, + (getIndex): Implemented, + (setSizes): Reimplemented, + (getSizes): Likewise, + (insertEntries): Likewise, + (removeEntries): Likewise, + plus added API docs all over. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/CDR/EncapsulationStream.java (constructor): + Set the byte order. + +2006-04-09 Wolfgang Baer + + * org/omg/PortableServer/ServantLocatorPOA.java: + (preinvoke, postinvoke): Remove default implementation. + * org/omg/PortableServer/ServantActivatorPOA.java: + (incarnate, etherealize): Remove default implementation. + * org/omg/PortableInterceptor/ObjectReferenceFactory.java: + Extends from ValueBase and not from ObjectReferenceFactoryOperations. + (make_object): Moved method from ObjectReferenceFactoryOperations. + * org/omg/PortableInterceptor/ObjectReferenceFactoryOperations.java: + Removed unspecified interface. + * org/omg/DynamicAny/_DynAnyStub.java: + (_DynAnyStub(Delegate)): Removed constructor. + * org/omg/DynamicAny/_DynArrayStub.java, + * org/omg/DynamicAny/_DynAnyFactoryStub.java, + * org/omg/DynamicAny/_DynEnumStub.java, + * org/omg/DynamicAny/_DynFixedStub.java, + * org/omg/DynamicAny/_DynSequenceStub.java, + * org/omg/DynamicAny/_DynStructStub.java, + * org/omg/DynamicAny/_DynUnionStub.java, + * org/omg/DynamicAny/_DynValueStub.java: + Extend from ObjectImpl and not from _DynAnyStub. + (type, next, destroy, copy, rewind, assign, component_count, + current_component, equal, from_any, get_any, get_boolean, get_char, + get_double, get_dyn_any, get_float, get_long, get_longlong, get_octet, + get_reference, get_short, get_string, get_typecode, get_ulong, + get_ulonglong, get_ushort, get_val, get_wchar, get_wstring, insert_any, + insert_boolean, insert_char, insert_double, insert_dyn_any, insert_float, + insert_long, insert_longlong, insert_octet, insert_reference, + insert_short, insert_string, insert_typecode, insert_ulong, + insert_ulonglong, insert_ushort, insert_val, insert_wchar, + insert_wstring, seek, to_any): New methods copied from _DynAnyStub. + * org/omg/CosNaming/_BindingIteratorStub.java: + (_BindingIteratorStub(Delegate)): Made package private. + * org/omg/CosNaming/_NamingContextExtStub.java: + (_NamingContextExtStub(Delegate)): Made package private. + * org/omg/CosNaming/_NamingContextStub.java: + (_NamingContextStub(Delegate)): Made package private. + (throw4, throw5): Likewise. + * gnu/CORBA/NamingService/NameParser.java (resolve): + Adapt to package private constructor. Use _set_delegate instead. + * org/omg/CosNaming/NamingContextOperations.java: Do not extend IDLEntity. + * org/omg/CORBA/ORB.java: + (create_recursive_sequence_tc): Made abstract. + (get_default_context): Likewise. + * gnu/CORBA/OrbRestricted.java: + (create_recursive_sequence_tc): New moved method. + (get_default_context): Likewise. + * org/omg/CORBA/ParameterMode.java: + (PARAM_IN, PARAM_OUT, PARAM_INOUT): Made final. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/GIOP/MessageHeader.java (write): + More informative exception. + * gnu/CORBA/IorDelegate.java (release): Do not close the socket. + * gnu/CORBA/SocketRepository.java (get_socket): + Removed debugging code. + +2006-04-09 Audrius Meskauskas + + * gnu/CORBA/gnuRequest.java (submit): Try to read the response for the + one way message, but ignore if EOF was received. + * gnu/CORBA/GIOP/MessageHeader.java (read): Set the minor code to + Minor.EOF if the end of file is received instead of the header. + +2006-04-09 Roman Kennke + + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalTitlePane.IconifyAction): New inner class. + (MetalTitlePane.MaximizeAction): New inner class. + (MetalTitlePane.createActions): Create iconifyAction and + maximizeAction. + (MetalRootLayout.titlePane): New field. + (MetalRootLayout.MetalRootLayout): Take titlePane parameter in + constructor. + (MetalRootLayout.preferredLayoutSize): Changed to not make + assumptions about the actual component order. + (MetalRootLayout.layoutContainer): Changed to not make + assumptions about the actual component order. + (installWindowDecorations): Pass the titlePane as parameter to + the MetalRootLayout constructor. + (uninstallWindowDecorations): Changed to not make + assumptions about the actual component order. + +2006-04-08 Roman Kennke + + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalTitlePane.MouseHandler): New inner class to handle dragging + of frames. + (MetalTitlePane.installListeners): Don't register a focus listener + on the window. This is a potential memory leak and must be + implemented on a different way. Install mouse listener here. + (installWindowDecorations): Fixed assertion condition. Always + insert the window decoration at index#1 in the layered + pane. + +2006-04-08 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetBoundsUnlocked): + Only resize window if actual width or height value changes. + Avoids nasty flicker when only setLocation() is beeing called + on a window. + +2006-04-08 Audrius Meskauskas + + * gnu/CORBA/GIOP/MessageHeader.java (read): Throw more informative + exception if the magic sequence does not match. + +2006-04-08 Audrius Meskauskas + + * gnu/CORBA/gnuRequest.java (p_invoke, submit): Do not try to read + response for the one way messages. + +2006-04-08 Roman Kennke + + * javax/swing/MenuSelectionManager.java + (processKeyEvent): Implemented stub method. + * javax/swing/JMenu.java + (processKeyEvent): Implemented stub method. + * javax/swing/JMenu.java + (processKeyEvent): Implemented stub method. + (processMenuKeyEvent): Implemented stub method. + +2006-04-08 Roman Kennke + + * javax/swing/AbstractAction.java + (readObject): Removed unneeded method. + (writeObject): Removed unneeded method. + +2006-04-08 Wolfgang Baer + + * javax/swing/plaf/synth/SynthPainter.java: + (paintSplitPaneDividerBorder): Removed. + +2006-04-08 Wolfgang Baer + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java: + (CLOSE_CMD, ICONIFY_CMD, MAXIMIZE_CMD, MOVE_CMD, RESTORE_CMD, SIZE_CMD): + No longer constants. + (static_initializer): Added to initialize above fields. + * javax/accessibility/AccessibleRelation.java (LABEL_FOR, LABELED_BY, + MEMBER_OF, CONTROLLER_FOR, CONTROLLED_BY): No longer constants. + (static_initializer): Added to initialize above fields. + +2006-04-08 Wolfgang Baer + + * java/awt/Dialog.java: Improved documentation all over. + (Dialog(Frame)): If gc is null use the owners GraphicsConfiguration. + (Dialog(Dialog)): Likewise. + +2006-04-08 Mark Wielaard + + * java/util/jar/JarFile.java (provider): New static field. + (verify, verifyHashes, EntryInputStream.): Pass provider + to `getInstance.' + +2006-04-08 Mark Wielaard + + PR 27081 + * java/lang/StackTraceElement.java (toString): Don't add space + between type and source indicator. + +2006-04-07 Casey Marshall + + Fixes PR classpath/24464 + * java/util/jar/JarFile.java (verify, verifyHashes, + EntryInputStream.): pass the Gnu provider directly to + `getInstance.' + +2006-04-08 Raif S. Naffah + + PR classpath/27071 + * gnu/java/security/hash/Whirlpool.java: Updated documentation. + (DIGEST0): Use version 3 test vector. + (Sd): Removed. + (S_box): New field: Version 3 S-box values. + (): Use Version 3 circulant matrix to construct lookup tables. + (transform): Formating. + (padBuffer): Likewise. + (getResult): Likewise. + (selfTest): Likewise. + +2006-04-07 Tom Tromey + + * java/util/InvalidPropertiesFormatException.java + (serialVersionUID): New field. + (readObject, writeObject): New methods. + * java/util/Arrays.java (toString): Javadoc fixes. + * java/net/URLConnection.java: Cleaned up imports. + * java/lang/reflect/ParameterizedType.java: Javadoc fix. + * java/lang/reflect/MalformedParameterizedTypeException.java + (serialVersionUID): New field. + * java/lang/reflect/GenericSignatureFormatError.java + (serialVersionUID): New field. + * java/lang/Class.java (Class): Javado fixes. + (getComponentType): Likewise. + (getGenericInterfaces): Likewise. + (getTypeParameters): Likewise. + * java/io/CharArrayWriter.java (append): Javadoc fixes. + * java/lang/annotation/AnnotationFormatError.java (serialVersionUID): + New field. + * java/lang/TypeNotPresentException.java (serialVersionUID): New + field. + * java/lang/EnumConstantNotPresentException.java (serialVersionUID): + New field. + +2006-04-07 Wolfgang Baer + + * java/awt/Dialog.java + (AccessibleAWTDialog): Added api docs + (AccessibleAWTDialog.getAccessibleStateSet): + Renamed from getAccessibleState. + * java/awt/Frame.java + (AccessibleAWTFrame): Added api docs + (AccessibleAWTFrame.getAccessibleStateSet): + Renamed from getAccessibleState. + +2006-04-07 Wolfgang Baer + + * java/awt/Dialog.java: Reformatted. + +2006-04-07 Lillian Angel + + * java/awt/Component.java + (eventTypeEnabled): Added code for HierarchyEvent.HIERARCHY_CHANGED, + HierarchyEvent.ANCESTOR_MOVED and HierarchyEvent.ANCESTOR_RESIZED. + +2006-04-07 Tom Tromey + + * java/beans/beancontext/BeanContextMembershipEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContextServicesSupport.java + (addBeanContextServicesListener): Synchronize. + (addService): Implemented. + (createBCSChild): Implemented. + (BCSSChild): Added arguments. + (fireServiceAdded): Implemented. + (fireServiceRevoked): Implemented. + (getCurrentServiceSelectors): Implemented. + (hasService): Implemented. + (removeBeanContextServicesListener): Implemented. + (serviceAvailable): Implemented. + (serviceRevoked): Implemented. + * java/beans/beancontext/BeanContextSupport.java (BCSChild): Added + arguments. + (createBCSChild): Implemented. + (BeanContextSupport): + (addBeanContextMembershipListener): Synchronize. + (fireChildrenAdded): Implemented. + (fireChildrenRemoved): Implemented. + (BeanContextSupport): Use default locale. + (isEmpty): Implemented. + (isDesignTime): Implemented. + (size): Implemented. + (toArray): Synchronized. + (toArray): Likewise. + (iterator): Likewise. + (BCSIterator): Implemented. + (bcsChildren): Implemented. + (validatePendingAdd): Implemented. + (validatePendingRemove): Likewise. + (childJustAddedHook): Implemented. + (childJustRemovedHook): Likewise. + (classEquals): Likewise. + (toArray): Mark as stub. + (setDesignTime): Implemented. + (copyChildren): Implemented. + (containsKey): Implemented. + (contains): Likewise. + (containsAll): Likewise. + (getResource): Implemented. + (getResourceAsStream): Likewise. + (removeBeanContextMembershipListener): Likewise. + * java/beans/beancontext/BeanContextServiceRevokedEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContextServiceAvailableEvent.java + (serialVersionUID): New field. + * java/beans/beancontext/BeanContext.java (instantiateChild): Javadoc + fix. + +2006-04-06 Roman Kennke + + PR 26937 + * javax/swing/MenuSelectionManager.java + (setSelectedPath): Search one more item in the loop. + +2006-04-06 Tom Tromey + + * java/awt/image/renderable/RenderableImageProducer.java + (image, context, consumers): New fields. + (RenderableImageProducer): Implemented. + (setRenderContext): Likewise. + (addConsumer): Likewise. + (isConsumer): Likewise. + (removeConsumer): Likewise. + (startProduction): Likewise. + +2006-04-06 Roman Kennke + + * java/awt/Component.java + (AccessibleAWTComponent.getBounds): Return the component + bounds regardless of its showing state. + (AccessibleAWTComponent.getLocation): Return the component + location regardless of its showing state. + (AccessibleAWTComponent.getSize): Return the component + size regardless of its showing state. + +2006-04-06 Roman Kennke + + * javax/swing/JRootPane.java + (getAccessibleContext): New method. Provides an accessibleContext + for JRootPanes. + +2006-04-06 Roman Kennke + + * java/awt/Toolkit.java + (initAccessibility): Use the 'gnu.classpath.home.url' property + to determine the system confiuration directory. + * java/awt/Component.java + (dispatchEvent): Trigger Toolkit dispatching here. + (dispatchEventImpl): Moved Toolkit dispatching to dispatchEvent, + so it can't be overridden by subclasses and is performed in + any case. + +2006-04-06 Wolfgang Baer + + * javax/naming/Binding.java: Added API docs. + * javax/naming/NameClassPair.java: Added API docs. + (fullName): New field. + (setNameInNamespace): New 1.5 method. + (getNameInNamespace): Likewise. + +2006-04-06 Wolfgang Baer + + * javax/naming/CompositeName.java: + (readObject): New deserialization method. + (writeObject): New serialization method. + +2006-03-29 Nektarios K. Papadopoulos + + * javax/security/auth/x500/X500Principal.java + (readAttributeValue) Check for separator after quoted value was + failing in all cases. + +2006-04-06 Mark Wielaard + + * java/lang/Class.java (getClassLoader): Don't do security check + when loader is null. + +2006-04-06 Roman Kennke + + * java/awt/Toolkit.java + (getDefaultToolkit): Initialize accessibility after setting + up the toolkit. + (initAccessibility): New helper method to setup accessibility. + +2006-04-06 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. + (AccessibleAbstractButton.getAccessibleRelationSet): Implemented + stub. + (AccessibleAbstractButton.getIndexAtPoint): Implemented stub. + (AccessibleAbstractButton.getAccessibleIcon): Implemented stub. + (AccessibleAbstractButton.getCharacterBounds): Implemented stub. + (AccessibleAbstractButton.getCharCount): Implemented stub. + (AccessibleAbstractButton.getCaretPosition): Implemented stub. + (AccessibleAbstractButton.getCharacterAttribute): Implemented stub. + (AccessibleAbstractButton.getSelectionStart): Implemented stub. + (AccessibleAbstractButton.getSelectionEnd): Implemented stub. + (AccessibleAbstractButton.getSelectedText): Implemented stub. + (AccessibleAbstractButton.getTextRectangle): Removed unneeded + private method. + +2006-04-06 Roman Kennke + + * java/awt/Component.java + (AccessibleAWTComponent.getAccessibleStateSet): Don't handle opaque + state here. This is only done in JComponent. + * javax/swing/JComponent.java + (AccessibleJComponent.getAccessibleStateSet): Handle opaque flag + here. + (getNextFocusableComponent): Implemented stub method. + (grabFocus): Implemented stub method. + (unregisterKeyboardAction): Implemented stub method. + (setNextFocusableComponent): Implemented stub method. + * javax/swing/CompatibilityFocusTraversalPolicy.java: New file. + This is a helper class for providing compatibility with the older + Swing focus API. + +2006-04-06 Wolfgang Baer + + Fixes bug #26995 + * javax/naming/directory/BasicAttribute.java, + * javax/naming/directory/BasicAttributes.java: + (readObject): New deserialization method. + (writeObject): New serialization method. + +2006-04-06 Wolfgang Baer + + * javax/xml/validation/SchemaFactory.java: Corrected since tag. + (getErrorHandler): Made method abstract. + (setErrorHanlder): Likewise. + * gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java + (getErrorHandler): Implement abstract method from superclass. + (setErrorHandler): Likewise. + (errorHandler): New field. + * gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java: + (getErrorHandler): Implement abstract method from superclass. + (setErrorHandler): Likewise. + (errorHandler): New field. + * javax/xml/XMLConstants.java: Corrected since tag. + (XMLConstants): Added private constructor. + * javax/xml/datatype/Duration.java: Corrected since tag. + (multiply): Made method abstract. + * javax/xml/datatype/DatatypeConstants.java: Corrected since tag. + (DatatypeConstants): Added private constructor. + * javax/xml/xpath/XPathConstants.java: Corrected since tag. + (XPathConstants): Added private constructor. + +2006-04-05 Tom Tromey + + * javax/security/auth/kerberos/ServicePermission.java: Now final. + +2006-04-05 Tom Tromey + + PR libgcj/26625: + * lib/Makefile.am (compile-classes): Touch the output file. + +2006-04-05 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleStateSet): Removed handling + of the focused state. This is already done in AccessibleAWTComponent. + +2006-04-05 Roman Kennke + + * javax/swing/JComponent.java + (accessibleContext): Fixed API doc for this field. + (AccessibleJComponent.AccessibleFocusHandler): Fixed API docs. + (AccessibleJComponent.AccessibleFocusHandler.focusGained): + Implemented and added API docs. + (AccessibleJComponent.AccessibleFocusHandler.focusLost): + Implemented and added API docs. + (AccessibleJComponent.AccessibleContainerHandler): Fixed API docs. + (AccessibleJComponent.AccessibleContainerHandler.componentAdded): + Implemented and added API docs. + (AccessibleJComponent.AccessibleContainerHandler.componentRemoved): + Implemented and added API docs. + (AccessibleJComponent.accessibleContainerHandler): Added API docs. + (AccessibleJComponent.accessibleFocusHandler): Added API docs. + (AccessibleJComponent.addPropertyChangeListener): Added API docs. + (AccessibleJComponent.removePropertyChangeListener): Added API docs. + (AccessibleJComponent.getAccessibleStateSet): Simply return + super here. Added comment about this. + +2006-04-05 Roman Kennke + + * javax/swing/JComponent.java + (AccessibleJComponent.addPropertyChangeListener): Install + ContainerHandler and FocusHandler here. + (AccessibleJComponent.removePropertyChangeListener): Uninstall + ContainerHandler and FocusHandler here. + (AccessibleJComponent.getAccessibleChildrenCount): Replaced + by super.getAccessibleChildrenCount(). + (AccessibleJComponent.getAccessibleChild): Replaced + by super.getAccessibleChild(). + (AccessibleJComponent.getAccessibleStateSet): Implemented by + adding OPAQUE to the supported states. + (AccessibleJComponent.getAccessibleName): Added titled border + and label fallbacks. + (AccessibleJComponent.getAccessibleDescription): Added tooltip + and label fallbacks. + (AccessibleJComponent.getAccessibleRole): Removed TODO. + (AccessibleJComponent.getAccessibleKeyBinding): Added comment + explaining why return null seems correct here. + * javax/swing/JLabel.java + (LABEL_PROPERTY): New constant. + (setLabelFor): Store label in labeled component's client properties + for the AccessibleJComponent to read. + +2006-04-05 Tom Tromey + + * java/util/zip/ZipFile.java (available): Defer to super if + entry's size is unknown. + +2006-04-05 Tom Tromey + + * java/net/MimeTypeMapper.java (MimeTypeMapper): Look for system + property with mime.types name. + * gnu/classpath/SystemProperties.java: Set + gnu.classpath.mime.types.file if not already set. + * java/net/URLConnection.java (defaultFactory): New field. + (guessContentTypeFromStream): Mark as unimplemented. + (getContentHandler): Updated with libgcj's implementation. + * gnu/java/net/DefaultContentHandlerFactory.java: New file, + from libgcj. + +2006-04-05 Bryce McKinlay + + PR classpath/27028 + PR classpath/24752 + * java/util/AbstractList.java (hasNext): Don't throw + ConcurrentModificationException. Update Javadoc. + (hasPrevious): Likewise. + (nextIndex): Likewise. + (previousIndex): Likewise. + * java/util/HashMap.java (hasNext): Likewise. + * java/util/Hashtable.java (hasNext): Likewise. + * java/util/IdentityHashMap.java (hasNext): Likewise. + * java/util/LinkedHashMap.java (hasNext): Likewise. + * java/util/LinkedList.java (nextIndex): Likewise. + (previousIndex): Likewise. + (hasNext): Likewise. + (hasPrevious): Likewise. + * java/util/TreeMap.java (hasNext): Likewise. + * java/util/WeakHashMap.java (hasNext): Likewise. + +2006-04-05 Roman Kennke + + * javax/swing/AbstractButton.java + (AccessibleAbstractButton.getAccessibleStateSet): Implemented stub. + (AccessibleAbstractButton.doAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getAccessibleActionCount): Implemented stub. + (AccessibleAbstractButton.getAccessibleActionDescription): + Implemented stub. + (AccessibleAbstractButton.getAccessibleText): Implemented stub. + (AccessibleAbstractButton.getAccessibleAction): Implemented stub. + (AccessibleAbstractButton.getCurrentAccessibleValue): Implemented stub. + (AccessibleAbstractButton.setCurrentAccessibleValue): Implemented stub. + (AccessibleAbstractButton.getMinimumAccessibleValue): Implemented stub. + (AccessibleAbstractButton.getMaximumAccessibleValue): Implemented stub. + +2006-04-05 Roman Kennke + + * javax/swing/JComboBox.java + (selectWithKeyChar): Implemented stubbed method. + +2006-04-05 Roman Kennke + + * javax/swing/LookAndFeel.java + (installProperty): New method. Allows primitive typed properties + to be handled like UIResources. + * javax/swing/AbstractButton.java + (clientBorderPaintedSet): New field. + (clientRolloverEnabledSet): New field. + (clientIconTextGapSet): New field. + (clientContentAreaFilledSet): New field. + (setRolloverEnabled): Set the client field to true. + (setBorderPainted): Likewise. + (setIconTextGap): Likewise. + (setContentAreaFilled): Likewise. + (setUIProperty): New helper method. + * javax/swing/JComponent.java + (clientOpaqueSet): New field. + (clientAutoscrollsSet): New field. + (setAutoscrolls): Set the client field to true. + (setOpaque): Likewise. + (setUIProperty): New helper method. + * javax/swing/JDesktopPane.java + (clientDragModeSet): New field. + (setDragMode): Set the client field to true. + (setUIProperty): New helper method. + * javax/swing/JSplitPane.java + (clientDividerSizeSet): New field. + (clientOneTouchExpandableSet): New field. + (setDividerSize): Set the client field to true. + (setOneTouchExpandable): Likewise. + (setUIProperty): New helper method. + * javax/swing/JTable.java + (clientRowHeightSet): New field. + (setRowHeight): Set the client field to true. + (setUIProperty): New helper method. + * javax/swing/JTree.java + (clientRowHeightSet): New field. + (clientScrollsOnExpandSet): New field. + (clientShowsRootHandlesSet): New field. + (setRowHeight): Set the client field to true. + (setShowsRootHandles): Likewise. + (setScrollsOnExpand): Likewise. + (setUIProperty): New helper method. + +2006-04-05 Roman Kennke + + * java/awt/Component.java + (getFont): Don't request the font from the peer's graphics. The + graphics should instead get the font from the Component, which might + result in a loop. + (getFocusCycleAncestor): Don't special case Window. + (nextFocus): Moved implementation from the DefaultKeyboardFocusManager + to here. Correctly determine the focus cycle root. + (transferFocusBackward): Likewise. + (transferFocusUpCycle): Likewise. + * java/awt/Container.java + (transferFocusDownCycle): Moved implementation from + DefaultKeyboardFocusManager to here. + * java/awt/DefaultKeyboardFocusManager.java + (focusPreviousComponent): Moved implementation to + Component.transferFocusBackward(). + (focusNextComponent): Moved implementation to + Component.nextFocus(). + (upFocusCycle): Moved implementation to + Component.transferFocusUpCycle(). + (downFocusCycle): Moved implementation to + Container.transferFocusDownCycle(). + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (equals): Implemented, + (hashCode): Likewise. + +2006-04-05 Jeroen Frijters + + * java/lang/Class.java + (cast): New method. + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (getBankIndices): Return a copy of the array, not a reference to the + original, + (getBandOffsets): Likewise. + +2006-04-05 David Gilbert + + * java/awt/image/ComponentSampleModel.java: Added API docs all over. + +2006-04-04 Tom Tromey + + * java/net/MimeTypeMapper.java (MimeTypeMapper): Fixed indices. + +2006-04-04 Tom Tromey + + * java/net/MimeTypeMapper.java (mime_types): No longer static. + (MimeTypeMapper): Initialize. + (fillFromFile): New method. + (main): New method. + (mime_strings): Updated. + +2006-04-04 Tom Tromey + + * lib/gen-classlist.sh.in: Correct handle generated files. + +2006-04-04 Ito Kazumitsu + + * gnu/regexp/CharIndexed.java(setAnchor): New method. + * gnu/regexp/CharIndexedInputStream.java(setAnchor): New method. + * gnu/regexp/CharIndexedCharSequence.java: New file. + * gnu/regexp/CharIndexedCharArray.java: Rewritten as an extention of + gnu.regexp.CharIndexedCharSequence. + * gnu/regexp/CharIndexedString.java: Likewise. + * gnu/regexp/CharIndexedStringBuffer.java: Likewise. + * gnu/regexp/RE.java(makeCharIndexed): Make a new CharIndexed + using CharIndexedCharSequence. Use setAnchor when the input + object is already a CharIndexed. + * java/util/regex/Matcher.java(inputCharIndexed): New field + to be used as a parameter of the RE#getMatch. + +2006-04-04 David Gilbert + + * java/awt/image/SampleModel.java: Reformatted. + +2006-04-04 David Gilbert + + * java/awt/image/ComponentSampleModel.java + (ComponentSampleModel(int, int, int, int, int[])): Added API + documentation, + (ComponentSampleModel(int, int, int, int, int[], int[]): Throw + IllegalArgumentException for DataBuffer.TYPE_UNDEFINED, take copies + of the bandOffsets and bankIndices arguments, added API documentation, + * java/awt/image/SampleModel.java + (SampleModel(int, int, int, int): Throw IllegalArgumentException for + unrecognised dataTypes, w * h exceeds Integer.MAX_VALUE, and numBands + less than or equal to zero, added API documentation. + +2006-04-04 Lillian Angel + + * java/util/zip/ZipFile.java + (getInputStream): Fixed to return size of ZipEntry + minus the total bytes read. This guarantees that the + right value is returned even if some bytes have already + been read. + +2006-04-04 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java (messages): + Remove static modifier. + +2006-04-04 David Gilbert + + * java/awt/image/ComponentSampleModel.java: Reformatted. + +2006-04-03 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageWriteParam.java: New file. + * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: Add + retrieval instructions to javadoc header. + * javax/imageio/ImageWriteParam.java: Fix javadoc for + compressionType field. + * lib/Makefile.am (propertydirs): Add javax directory. + (propertyfiles): Likewise. + * resource/javax/imageio/plugins/jpeg/MessagesBundle.properties: + New file. + +2006-04-03 Tom Tromey + + PR classpath/26971: + * javax/naming/directory/BasicAttribute.java: Added missing @since. + (BasicAttributeEnumeration.where): Initialize to 0. + (BasicAttributeEnumeration.nextElement): Post-increment 'where'. + +2006-04-03 Lillian Angel + + PR classpath/24596 and PR classpath/26930 + * java/util/zip/ZipFile.java + (getInputStream): Override available function for + InflaterInputStream instance. + +2006-04-03 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGImageReadParam.java: New file. + +2006-04-03 Tom Tromey + + * javax/security/auth/kerberos/ServicePermission.java: New file. + * javax/security/auth/kerberos/DelegationPermission.java: New file. + * javax/security/auth/kerberos/KerberosKey.java: New file. + * javax/security/auth/kerberos/KeyImpl.java: New file. + * javax/security/auth/kerberos/KerberosTicket.java: New file. + * javax/security/auth/kerberos/KerberosPrincipal.java: New file. + +2006-04-03 Sven de Marothy + + * gnu/java/awt/peer/gtk/GtkClipboard.java: Add support for + non-GtkImage images. + +2006-04-03 Mark Wielaard + + * lib/gen-classlist.sh.in: Use classes.tmp, not classes.2 + as temporary file name. + +2006-04-03 Dalibor Topic + + * INSTALL: Documented --with-glibj-zip option. + +2006-04-03 Dalibor Topic + + Fixed all pscan warnings. + + * native/jni/classpath/jcl.c (JCL_ThrowException), + native/jni/classpath/jcl.h (DBG), + native/target/generic/target_generic.h (TARGET_NATIVE_LAST_ERROR_STRING_FORMAT), + native/target/generic/target_generic_misc.h (TARGET_NATIVE_MISC_FORMAT_STRING0): + Use "%s" format in fprintf and snprintf explicitely when printing a single + string to prevent format string exploits. + + * native/jni/java-net/javanet.h (DBG): Removed duplicate + definition. Included jcl.h instead. + +2006-04-03 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java: Removed unused imports. + (provider): Made it protected. + (providerInstalled): New field. + (Main): Made it a 0-arguments constructor. + Removed throws clasue. + (main): Removed throws clause. + Call processArgs(args) after constructing instance. + Call teardown() before existing. + (processArgs): Added javadoc. + Reduced to throws Exception. + (start): Likewise. + (teardown): New method. + (setupCommonParams): Added javadoc. + Install designated provider if not already installed. + (installNewProvider): New method. + (setupSigningParams): Added javadoc. + Instantiate the KeyStore using type only. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: + Removed unused imports. + (start): Reduced to throws Exception. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java (start): Likewise. + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: + Re-organized imports. + * gnu/java/security/key/KeyPairGeneratorFactory.java (getInstance): + Test ignoring case. + (getNames): Add "dsa" as an algorithm provided by this Factory. + (makeInstance): Construct IllegalArgumentException with 2 arguments. + +2006-04-03 Roman Kennke + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (Java_gnu_java_awt_peer_gtk_GdkFontPeer_getGlyphVector): + Replaced g_free() with pango_item_free() to avoid problems + with the allocator. + +2006-04-03 Rafael H. Schloming + + Fixes bug #26668 + * java/util/logging/Level.java (parse): Document. + * java/util/logging/LogManager.java (rootLogger): Removed. + (LogManager): Just set loggers to new HashMap. + (getLogManager): Make synchronized. Create and init LogManager if it + doesn't exist yet. + (static): Removed block. + (MANAGER_PROPERTY): New private final string. + (makeLogManager): Use new property string, move warning to + createInstance() method. + (CONFIG_PROPERTY): New private final string. + (initLogManager): New method. + (addLogger): Use Logger.root, not rootLogger. + (findAncestor): Likewise. + (readConfiguration): Move warning to createInstance() method. + Add handlers directly to Logger.root. Warn about bad level values. + (getClassProperty): Use new locateClass() method. + (getInstanceProperty): Only catch specific newInstance Errors. + (createInstance): Make private and takes a string to use in warning + messages. Use new locateClass() method and generate appropriate + warning message. + (warn): New methods. + (locateClass): Locates a class through the context class loader and + system class loader as backup. + * java/util/logging/Logger.java (root): New static final field. + (Logger): Set parent to root. + (setParent): Directly check root field. + +2006-04-02 Andrew John Hughes + + * java/util/Collections.java: + (binarySearch(List, T)): Fixed signature. + (unmodifiableList(List)): Likewise. + (UnmodifiableList(List)): Fixed constructor. + (UnmodifiableRandomAccessList(List)): Likewise. + (unmodifiableMap(Map)): Fixed signature. + (UnmodifiableMap(Map)): Fixed constructor. + (unmodifiableSortedMap(Map)): Fixed signature. + (UnmodifiableSortedMap(Map)): Fixed constructor. + +2006-04-02 Andrew John Hughes + + * java/io/ObjectOutputStream.java: + (writeObject(Object)): Added enum support. + (writeClassDescriptor(ObjectStreamClass)): Likewise. + * java/io/ObjectStreamClass.java: + (isEnum()): New package-private method. + (setFlags(Class)): Added enum support. + * java/io/ObjectStreamConstants.java: + (SC_ENUM): Added. + +2006-04-02 Robert Schuster + + * javax/swing/text/Segment.java: + (setPosition): Make exception message more verbose. + * javax/swing/text/WrappedPlainView.java: + (insertUpdate): Removed unneeded repaint call. + (changeUpdate): Dito. + (removeUpdate): Dito. + (WrappedLine.determineNumLines): Do not return numLines, break + from loop if no new break point has been calculated. + (WrappedLine.updateDamage): Rewritten. + (WrappedLine.insertUpdate): Removed unneeded update code. + (WrappedLine.removeUpdate): Removed unneeded update code, added + comment. + +2006-04-02 Dalibor Topic + + * configure.ac (with-glibj-zip): Added new option. + + * examples/Makefile.am, + lib/Makefile.am, + tools/Makefile.am: Adapted build classpath to use glibj.zip, + in addition to classes in lib directory. + +2006-04-02 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/GRMIC.java, + tools/gnu/classpath/tools/giop/IorParser.java, + tools/gnu/classpath/tools/giop/grmic/CompilationError.java, + tools/gnu/classpath/tools/giop/grmic/Generator.java, + tools/gnu/classpath/tools/giop/grmic/GiopIo.java, + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, + tools/gnu/classpath/tools/giop/grmic/HashFinder.java, + tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, + tools/gnu/classpath/tools/rmi/RMIC.java, + tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, + tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java: Removed + linking exception from the licensing header. + * tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: + Added licensing header. + +2006-04-02 Mark Wielaard + + * tools/Makefile.am (bin_SCRIPTS): Renamed to jarsigner.sh. + (jarsigner): Removed. + +2006-04-02 Dalibor Topic + + * configure.ac: don't check for isnan function. + * native/fdlibm/fdlibm.h: Always use the isnan macro. + +2006-04-02 Raif S. Naffah + + * configure.ac: Added tools/jarsigner.sh to AC_CONFIG_FILES. + * tools/Makefile.am: Generate jarsigner shell script. + * tools/jarsigner.sh.in: New template. + * tools/.cvsignore: Added jarsigner.sh. + +2006-04-02 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: Use GPL. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java: Likewise. + Re-organised imports. + +2006-04-01 Bernhard Rosenkraenzer + + PR classpath/25924: + * java/awt/image/DirectColorModel.java (extractAndNormalizeSample): + Handle case where alpha==0. + +2006-04-02 Robert Schuster + + PR #26676 + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Added check to decrement pos not below zero, + changed '>' comparison to '>='. + * javax/swing/text/WrappedPlainView.java: + (lineHeight): New field. + (calculateBreakPosition): Throw InternalError in catch block, removed + unneeded brackets, use specific version of + Utilities.getTabbedTextOffset. + (paint): Set various properties neccessary for drawing. + (WrappedLine.paint): Removed code to set field of outer class. + (WrappedLine.modelToView): Removed unneeded expression from + if-statement. + (WrappedLine.viewToModel): Initialize end with endOffset - 1, removed + -1 from return statement, copy only a subset into the Segment, removed + special handling of mark value - just return it, simplified + incrementation of currLineStart. + (WrappedLine.insertUpdate): Recalculate numLines, report preference + change to parent view. + (WrappedLine.removeUpdate): Dito. + +2006-04-02 Robert Schuster + + * javax/swing/text/Segment.java: + (toString): Return empty string when array is null. + +2006-04-02 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (damageRange): Use SwingUtilities.computeUnion to avoid + unneccessary Rectangle instantiation. + +2006-04-01 Tom Tromey + + * java/security/cert/Certificate.java (serialVersionUID): Fixed. + +2006-04-01 Robert Schuster + + * javax/swing/text/CompositeView.java: Fixed copyright header. + * javax/swing/text/BoxView.java: Fixed copyright header. + * javax/swing/text/WrappedPlainView.java: Fixed copyright header. + * javax/swing/text/Utilities.java: Fixed copyright header. + +2006-04-01 Robert Schuster + + * javax/swing/text/CompositeView.java: + (modelToView): Throw BadLocationException when no child + view can be found, restructed to throw exception as early + as possible. + (viewToModel): Use mutable allocation as argument for viewToModel + call on child view. + * javax/swing/text/BoxView.java: + (getViewAtPoint): Call setBounds() r before method returns with + suitable child view. + * javax/swing/text/Utilities.java: + (getPositionBelow): Added try-catch-block around modelToView call, + added method return when BadLocationException was thrown. + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.viewToModel): Changed '<=' to '<' in if-expression, + added note about meaning of rect.x and rect.width, removed unneeded + checks, added code to not return the last possible document offset. + +2006-04-01 Robert Schuster + + * javax/swing/text/WrappedPlainView.java: + (WrappedLine.viewToModel): Change < to <= in if-statement, + removed addition of currLineStart to return value. + * javax/swing/text/BoxView.java: + (getViewAtPoint): Use copy instead of r for method call + which modifies the second argument. + +2006-04-01 Mark Wielaard + + Fixes PR26973 + * java/util/jar/Attributes.java: Fully qualify java.util.Map. + +2006-03-31 Tom Tromey + + * lib/split-for-gcj.sh: Updated for multi-field format. + * lib/Makefile.am (CLEANFILES): Added classes.2. + * lib/gen-classlist.sh.in (GCJ): Removed. Create classes.1 and + classes.2 using multiple fields. + +2006-03-31 Audrius Meskauskas + + * javax/swing/JTable.java (columnSelectionChanged): + Removed print statement. + * javax/swing/DefaultListSelectionModel.java + (addSelectionInterval, removeSelectionInterval): + Fire the difference between selection. (setLeadSelectionIndex): + Fire the difference and mark current and previous lead + selection indexes for repaint. + +2006-03-31 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: Eliminate + unnecessary copying. + * javax/imageio/plugins/jpeg/JPEGQTable.java: Likewise. + +2006-03-31 Lillian Angel + + * java/awt/Component.java + (translateEvent): oldKey should be the value of the + key char. + +2006-03-31 Audrius Meskauskas + + * javax/swing/JTable.java (columnSelectionChanged): + Treat second repaint parameter as width. + +2006-03-31 Lillian Angel + + PR classpath/26924 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java + (realize): New native function. + * include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h: + Added new function declaration. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c + (realize): New function. + +2006-03-31 Robert Schuster + + * javax/swing/text/GapContent.java: + (replace): Move all Position instances from gap's end to + it's start before increasing the gap start. + * javax/swing/plaf/basic/BasicTextAreaUI.java: + (propertyChanged): Update the view only instead of + indicating a document change. + +2006-03-31 Roman Kennke + + * javax/swing/JTextField.java + (fireActionPerformed): Put the textfields text in the action + instead of the action name. + +2006-04-01 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (setupCommonParams): + Check for null jar-file argument. + (setupSigningParams): Check for null alias argument. + +2006-03-31 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Split up in two cases, depending on the + optimizedDrawingEnabled flag. + (paintChildrenWithOverlap): New method. Paints children when + not optimizedDrawingEnabled. This implements better painting + algorithm for overlapping components, so that the painted + regions are minimized. + (paintChildrenOptimized): New method. Paints children when + when optimizedDrawingEnabled. This implements a painting + algorithm that is optimized for the case when all children + are guaranteed to be tiled. + +2006-03-31 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/SFHelper.java (updateEntry): Use + Attributes.putValue(String,String). + (finishSigning): Likewise. + * gnu/java/util/jar/JarUtils.java (MANIFEST_VERSION): New constant. + (SIGNATURE_VERSION): Likewise. + (readSFManifest): Use local string constant. + (readMainSection): Likewise. + (readVersionInfo): Likewise. + * java/util/jar/Attributes.java (MANIFEST_VERSION): + Redefined using JarUtils constant. + (SIGNATURE_VERSION): Likewise. + (putValue(Name,String)): Made it private. + +2006-03-31 Audrius Meskauskas + + * javax/swing/DefaultListSelectionModel.java (fireDifference): + New method. (clearSelection): Rewritten. (setSelectionInterval): + Fire the difference between current and new selection. + * javax/swing/JTable.java (columnSelectionChanged, valueChanged): + Only repaint the region, where selection has been changed. + * javax/swing/plaf/basic/BasicTableUI.java + (TableAction.actionPerformed): Do not change the column selection + when only row selection change is wanted (and in reverse) and + do not call the repaint() here. + +2006-03-31 David Gilbert + + Fixes bug #26951 + * javax/swing/DefaultComboBoxModel.java + (DefaultComboBoxModel(Vector)): Call getSize() instead of + vector.size(), + (addElement): Call list.addElement() rather than list.add(), and only + update selected item if it is currently null, + (removeElementAt): Update selected item, then remove the element. + +2006-03-31 David Gilbert + + Fixes bug #26955 + * java/awt/geom/Point2D.java + (distanceSq(double, double)): Fixed order of arguments, + (distanceSq(Point2D)): Likewise, + (distance(double, double)): Likewise, + (distance(Point2D)): Likewise. + +2006-03-30 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGQTable.java: New file. + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java + (ACChrominanceLengths, ACChrominanceValues, ACLuminanceLengths, + ACLuminanceValues, DCChrominanceLengths, DCChrominanceValues, + DCLuminanceLengths, DCLuminanceValues): Remove fields. + +2006-03-30 Audrius Meskauskas + + * javax.swing.JTable (constructor): Initialize column + model column margin and table row margin before setting the + table column model. (initialiseLocalVars): Do not call + setIntercellSpacing. + +2006-03-30 Chris Burdess + + * javax/xml/datatype/DatatypeFactory.java (newDurationDayTime): Fix + method signature. + * javax/xml/validation/SchemaFactoryLoader.java: New file. + +2006-03-30 Mark Wielaard + + PR 26848 + * java/awt/Window.java (dispatchEventImpl): On ComponentEvents + adjust bounds. On resize invalidate and validate container. + Always pass on ComponentEvents to Container super class. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (setBounds): Adjust for + menuBar and pass to GtkWindowPeer super class. + (postConfigureEvent): Adjust menu bar width. Adjust y and height + bounds and pass to GtkWindowPeer super class. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java (x, y, width, height): + New fields for local bounds. + (getX, getY): New methods. + (getWidth): Don't call into awtComponent. + (getHeight): Likewise. + (create): Cache local bounds. + (setLocation): Documented, made protected and just call + nativeSetLocation. + (setLocationUnlocked): Removed unused method. + (setBoundsUnlocked): Likewise. + (setBounds): Check whether bounds actually changed and cache local + bounds. + (setSize): Documented and made protected. + (setResizable): Documented and cache local bounds. + (postConfigureEvent): Update local bounds. Don't call awtComponent + directly but post ComponentEvents. + (show): Cache local bounds. + (getBounds): Override to return cached bounds. + +2006-03-30 Lillian Angel + + * gnu/java/awt/peer/gtk/GdkGraphics.java + (drawImage): Added check to prevent NPE. + (drawImage): Likewise. + (drawImage): Likewise. + * java/awt/Choice.java + (dispatchEventImpl): New function. selectedIndex was + not being updated properly otherwise. + +2006-03-30 Roman Kennke + + * javax/swing/JTabbedPane.java + (removeTabAt): Removed debug code. + +2006-03-30 Roman Kennke + + PR 26045 + * javax/swing/plaf/basic/BasicTextUI.java + (installKeyboardActions): Simply call getKeymap() and install this. + (createKeymap): Reimplemented to fetch a keymap from the UIManager. + +2006-03-30 Roman Kennke + + * javax/swing/JTabbedPane.java + (removeTabAt): Adjust selection correctly when removing a tab + before the selected tab. Also remove the component from the + container, not only the tab object. Repaint and revalidate the + component after the removal. + (removeAll): Set selection to -1 before removing the tabs. + +2006-03-29 Andrew John Hughes + + * java/io/ObjectInputStream.java: + (parseContent(byte)): Added enum support. + * java/io/ObjectStreamConstants.java: + (TC_ENUM): Added. + (TC_MAX): Changed to new maximum, TC_ENUM. + +2006-03-29 Lillian Angel + + Partial fix for bug #26929 + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (updateComponent): Removed. We want to clear the panel + before painting. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect): Fixed typo. + Should set the background to the saved background color. + +2006-03-29 Mark Wielaard + + Partial fix for bug #26848 (pack). + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (setVisible): + Always show instances of Window. + +2006-03-29 David Gilbert + + * javax/swing/JSlider.java + (setPaintLabels): Only create standard labels if labelTable is null, + * javax/swing/plaf/basic/BasicSliderUI.java + (PropertyChangeHandler.propertyChange): Recalculate geometry for + "paintTicks" property change, + (calculateThumbSize): Updated API docs, + (calculateContentRect): Likewise, + (calculateTrackBuffer): Take into account the lowest and highest + labels when calculating buffer space, + (calculateTrackRect): Include labels, if visible, in the calculation of + the trackRect position, + (calculateTickRect): Height is zero if ticks are not painted, + (calculateLabelRect): Use max dimensions of actual labels, + (getWidthOfHighValueLabel): Use preferred size, + (getWidthOfLowValueLabel): Likewise, + (getHeightOfHighValueLabel): Likewise, + (getHeightOfLowValueLabel): Likewise, + (drawInverted): Just return slider setting, + (getHighestValueLabel): Updated API docs, + (paintTicks): Removed redundant (and buggy) code, replaced with calls + to xPositionForValue() and yPositionForValue(), + (paintHorizontalLabel): Removed full qualification of class name, + (paintVerticalLabel): Likewise, + (xPositionForValue): Reimplemented, + (yPositionForValue): Reimplemented, + * javax/swing/plaf/metal/MetalSliderUI.java + (paintTrack): Made track one pixel longer. + +2006-03-29 Tom Tromey + + PR gcc/26901: + * tools/Makefile.am (JCOMPILER): Added encoding options. + * examples/Makefile.am (JCOMPILER): Added encoding options. + +2006-03-29 Gary Benson + + Partial fix for PR classpath/24895 + * java/io/FilePermission.java (implies): Canonicalize paths. + +2006-03-29 Robert Schuster + + PR 26888 + * javax/swing/text/GapContent.java: + (replace): Added call to resetMarksAtZero. + +2006-03-29 Roman Kennke + + PR 23527 + * javax/swing/plaf/basic/BasicMenuItemUI.java + (cachedRect): New field. + (BasicMenuItemUI): Initialize cachedRect field. + (getPreferredMenuItemSize): Use layoutMenuItem() helper method + to determine layout. Store maximum accelerator and text width + in client properties of parent to allow correct alignment + of accelerators among menu items of one menu. + (paintMenuItem): Outsourced menu item layout into layoutMenuItem + method. Align accelerators according to the values calculated + in getPreferredMenuItemSize. + (getAcceleratorString) New helper method. + (layoutMenuItem): New helper method. + +2006-03-29 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java: Rewritten. + * gnu/java/rmi/activation/BidiTable.java: Rewritten. + * gnu/java/rmi/dgc/LeaseRenewingTask.java (constructor, sheduleLeases): + Avoid NPEs. + * gnu/java/rmi/server/ActivatableServerRef.java (getRefClass, + readExternal, writeExternal): New methods. + * gnu/java/rmi/server/UnicastRef.java (invokeCommon): Splitten into + two stages, invokeCommon(Remote, ...) and + invokeCommen(UnicastConnection, ...). + * java/rmi/server/RemoteObject.java (readObject, writeObject): Expect + also the ActivatableRef. toString(): Documented. + * gnu/java/rmi/server/ActivatableRef.java, + tools/gnu/classpath/tools/rmi/Persistent.java, + tools/gnu/classpath/tools/rmi/PersistentBidiHashTable.java, + tools/gnu/classpath/tools/rmi/PersistentHashTable.java, + tools/gnu/classpath/tools/rmi/REGISTRY.java, + tools/gnu/classpath/tools/rmi/REGISTRY.txt, + tools/gnu/classpath/tools/rmi/RMID.java, + tools/gnu/classpath/tools/rmi/RMID.txt, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl.java, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Skel.java, + tools/gnu/classpath/tools/rmi/registry/RegistryImpl_Stub.java, + tools/gnu/classpath/tools/rmi/registry/package.html, + tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl.java, + tools/gnu/classpath/tools/rmi/rmid/ActivationSystemImpl_Stub.java: + New files. + * tools/README: Documented. + * NEWS: Added entry about the activation. + +2006-03-29 Roman Kennke + + PR 23527 + * javax/swing/plaf/basic/BasicMenuItemUI.java + (viewRect): New field. + (textRect): New field. + (accelRect): New field. + (iconRect): New field. + (arrowIconRect): New field. + (checkIconRect): New field. + (BasicMenuItemUI): Initialize new fields. + (paintMenuItem): Rewritten to correctly layout and paint + the menu item in a more straightforward way. Use cached rectangle + objects for layout. + (paintAccelerator): Pulled inside the paintMenuItem method. + +2006-03-29 Audrius Meskauskas + + * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav: + Do not use initCause with UnexpectedException. + * tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: + Likewise. + +2006-03-29 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (setCursorID): Removed unused static variable. + +2006-03-29 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java: Reformatted. + +2006-03-29 Mark Wielaard + + Fixes bug #26527 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetSetCursorUnlocked): Call gdk_flush(). + +2006-03-28 Roman Kennke + + * javax/swing/UIManager.java + (installLookAndFeel): Implemented. + (setInstalledLookAndFeels): Implemented. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Paint gradient only when the background color + is not a UIResource and if the button is neither armed nor + pressed and if the button is contentAreaFilled. + +2006-03-28 Roman Kennke + + * javax/swing/JLayeredPane.java + (addImpl): Repaint added component. + +2006-03-28 Ito Kazumitsu + + * java/util/regex/Matcher.java: Reverted. + +2006-03-28 Roman Kennke + + * javax/swing/text/AsyncBoxView.java + (setEstimatedMajorSpan): Made method protected. + (getEstimatedMajorSpan): Made method protected. + * javax/swing/text/BoxView.java + (flipEastAndWestAtEnds): Fixed typo. + * javax/swing/text/InternationalFormatter.java + (getActions): Made method protected. + * javax/swing/text/Position.java + (Bias): Made class final. + * javax/swing/text/html/HTML.java + (MEDIA): Made field package private. Not specified. + (NOBR): Made field package private. Not specified. + * javax/swing/text/html/NullView.java + Made class package private. + * javax/swing/text/html/parser/Entity.java + Made class non-serializable as specified. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Don't paint gradient if the background color is + no UIResource. Removed double getModel() call. Don't check for + OceanTheme. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/basic/BasicMenuItemUI.java + (paint): Call paintMenuItem with the selectionBackground as + parameter. + (paintBackground): Fixed the condition and color for the background + painting. + +2006-03-28 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (tabsOpaque): New field. + (paintLeftTabBorder): Paint some parts only when the tabs are + opaque. Determine the tab background using the paintLeftTabBorder() + helper method. + (paintRightTabBorder): Likewise. + (installDefaults): Fetch tabsOpaque property from the UIDefaults. + +2006-03-27 Tom Tromey + + PR classpath/25189: + * java/lang/Enum.java (valueOf): Ensure that the named field + is an enum constant. + (compareTo): Check class of enum. + +2006-03-27 Tom Tromey + + * java/lang/reflect/ParameterizedType.java: Javadoc fix. + +2006-03-27 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java (METHOD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isBridge): Likewise. + (isSynthetic): Likewise. + (isVarArgs): Likewise. + * vm/reference/java/lang/reflect/Field.java (FIELD_MODIFIERS): + New constant. + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method. + (isSynthetic): Likewise. + (isEnumConstant): Likewise. + * vm/reference/java/lang/reflect/Constructor.java + (getModifiersInternal): Renamed from getModifiers. + (getModifiers): New method + (CONSTRUCTOR_MODIFIERS): New constant. + (isSynthetic): New method. + (isVarArgs): Likewise. + * java/lang/reflect/Member.java (isSynthetic): New method. + +2006-03-28 Tom Tromey + + * java/net/Proxy.java (TYPE): Added missing ";". + +2006-03-27 Andrew John Hughes + + * java/math/RoundingMode.java: + Fixed serialization UID. + * java/net/Proxy.java: + (Type): Likewise. + +2006-03-27 Andrew John Hughes + + * java/io/CharArrayWriter.java: + (append(char)): Documented. + (append(CharSequence)): Likewise. + (append(CharSequence,int,int)): Likewise. + +2006-03-27 Jeroen Frijters + + * vm/reference/java/lang/reflect/Constructor.java + (getTypeParameters): Check return value of getSignature for null. + * vm/reference/java/lang/reflect/Method.java + (getTypeParameters): Check return value of getSignature for null. + +2006-03-27 Andrew John Hughes + + * java/rmi/activation/ActivationGroup_Stub.java: + Made final. + +2006-03-27 Tom Tromey + + * java/io/CharArrayWriter.java (append): New overloads. + +2006-03-27 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeDispose): + Added check for colormap. Prevents assertion error. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_nativeCopyState): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage): + Likewise. + (Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked): + Likewise. + +2006-03-27 Dalibor Topic + + * m4/acinclude.m4 (CLASSPATH_FIND_JAVAC): Use + AC_MSG_ERROR instead of echoing the error message + that no compiler has been found manually. + +2006-03-27 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Use simple drawImage() method instead of the + scaling version. + +2006-03-27 Robert Schuster + + * javax/swing/text/PlainView.java: + (drawLine): Use 'endOffset' instead of 'selectionEnd' + for painting the selected line. + +2006-03-27 David Gilbert + + * javax/swing/plaf/basic/BasicSliderUI.java + (getThumbSize): Removed TODO and updated API docs. + +2006-03-27 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked): Word selection rewritten. + (paint): Draw line inside the bounding rectangle. + (damage): Retrieve caret height from line height. + +2006-03-28 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (processArgs): Check + for null args. + Check for -help option. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Added -help option. + +2006-03-27 Roman Kennke + + * javax/swing/text/FieldView.java + (getPreferredSpan): Don't include trailing newline in + calculations. + * javax/swing/text/PlainView.java + (drawLine): Don't include trailing newline. + (determineMaxLineLength): Don't include trailing newline. + (getLineBuffer): Made method final. + +2006-03-27 David Gilbert + + * javax/swing/JSlider.java + (AccessibleJSlider.AccessibleJSlider): Minor API doc edit, + (AccessibleJSlider.getAccessibleRole): Removed declaration of + NotImplementedException, + (AccessibleJSlider.getAccessibleValue): Updated API docs. + +2006-03-26 Andrew John Hughes + + * java/lang/ProcessBuilder.java: + Made final. + +2006-03-26 Andrew John Hughes + + * gnu/java/net/protocol/http/Headers.java: + Match layout of file on HEAD. + * gnu/javax/swing/text/html/parser/htmlValidator.java: + Likewise. + * java/awt/datatransfer/DataFlavor.java + Likewise. + +2006-03-26 Andrew John Hughes + + * gnu/java/security/jce/hash/HavalSpi.java, + * gnu/java/security/jce/hash/MD2Spi.java, + * gnu/java/security/jce/hash/MD4Spi.java, + * gnu/java/security/jce/hash/MD5Spi.java, + * gnu/java/security/jce/hash/MessageDigestAdapter.java, + * gnu/java/security/jce/hash/RipeMD128Spi.java, + * gnu/java/security/jce/hash/RipeMD160Spi.java, + * gnu/java/security/jce/hash/Sha160Spi.java, + * gnu/java/security/jce/hash/Sha256Spi.java, + * gnu/java/security/jce/hash/Sha384Spi.java, + * gnu/java/security/jce/hash/Sha512Spi.java, + * gnu/java/security/jce/hash/TigerSpi.java, + * gnu/java/security/jce/hash/WhirlpoolSpi.java, + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, + * gnu/java/security/jce/sig/DSSRawSignatureSpi.java, + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, + * gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, + * gnu/java/security/jce/sig/SignatureAdapter.java, + * gnu/java/security/key/IKeyPairCodec.java, + * gnu/java/security/key/IKeyPairGenerator.java, + * gnu/java/security/key/KeyPairGeneratorFactory.java, + * gnu/java/security/key/dss/DSSKey.java, + * gnu/java/security/key/dss/DSSKeyPairRawCodec.java, + * gnu/java/security/key/dss/DSSPrivateKey.java, + * gnu/java/security/key/dss/DSSPublicKey.java, + * gnu/java/security/key/dss/FIPS186.java, + * gnu/java/security/key/rsa/GnuRSAKey.java, + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java, + * gnu/java/security/key/rsa/GnuRSAPublicKey.java, + * gnu/java/security/sig/ISignature.java, + * gnu/java/security/sig/ISignatureCodec.java, + * gnu/java/security/sig/dss/DSSSignature.java, + * gnu/java/security/sig/dss/DSSSignatureRawCodec.java, + * gnu/java/security/sig/rsa/RSAPSSSignature.java, + * gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, + * gnu/java/security/util/Util.java: + Remove CVS revision tags. + +2006-03-26 Tom Tromey + + * java/io/InputStream.java (InputStream): Implements Closeable. + +2006-03-26 Ito Kazumitsu + + * gnu/regexp/CharIndexed.java(setLastMatch, getLastMatch, getAnchor): + New methods. + * gnu/regexp/CharIndexedCharArray.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedInputStream.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedString.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/CharIndexedStringBuffer.java(setLastMatch, getLastMatch, + getAnchor): New methods. + * gnu/regexp/REMatch.java(start1): New field. + * gnu/regexp/RE.java(initialize): Added support for \z and \G, + (match): set the starting position to start1[] instead of start[], + (getMatchImpl): Set the found REMatch to the input, + (makeCharIndexed): Made public. + * gnu/regexp/RETokenEndOfPreviousMatch.java: New file. + * gnu/regexp/RETokenEndSub.java(matchThis, findMatch): + set the value of start[] copying from start1[]. + * gnu/regexp/RETokenLookBehind.java(matchThis): Added the settings of + offset. + * java/util/regex/Matcher.java(inputCharIndexed): New field + to be used as a parameter of the RE#getMatch. + +2006-03-26 Audrius Meskauskas + + * gnu/java/rmi/activation/DefaultActivationGroup.java: + Documented the default jre spawning strategy (none). + * java/rmi/activation/ActivationGroup.java (currentGroupId, + getSystem): Obtain the acticivation system from the + DefaultActivationSystem. + +2006-03-26 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/Main.java (setupSigningParams): + Ask user for keystore password if one was not provided. + +2006-03-26 Raif S. Naffah + + * tools/README: Added Security tools section. + Documented the jarsigner tool. + +2006-03-25 David Gilbert + + * javax/swing/JScrollBar.java + (AccessibleJScrollBar.getAccessibleStateSet): Implemented, + (AccessibleJScrollBar.getAccessibleRole): Likewise, + (AccessibleJScrollBar.getAccessibleValue): Likewise, + (AccessibleJScrollBar.getCurrentAccessibleValue): Likewise, + (AccessibleJScrollBar.setCurrentAccessibleValue): Likewise, + (AccessibleJScrollBar.getMinimumAccessibleValue): Likewise, + (AccessibleJScrollBar.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Updated API docs. + +2006-03-25 Tom Tromey + + * .externalToolBuilders/CreateLocaleData.launch: Run if resource files + change or if generator script changes. + +2006-03-25 Tom Tromey + + * javax/naming/ldap/StartTlsRequest.java: New file. + * javax/naming/ldap/StartTlsResponse.java: New file. + +2006-03-25 Olivier Jolly + + * java/net/URLClassLoader.java (FileURLLoader.getResource): Added test + to validate all components of a resource path. + (FileURLLoader.walkPathComponents): Helper which ensures that we are + allowed to walk through every component of a resource path. + +2006-03-25 Michael Koch + + * NEWS: Added item for CLDR 1.3 update. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_ar_IN.properties, + resource/gnu/java/locale/LocaleInformation_ar_IQ.properties, + resource/gnu/java/locale/LocaleInformation_ar_KW.properties, + resource/gnu/java/locale/LocaleInformation_ar_LY.properties, + resource/gnu/java/locale/LocaleInformation_mn_MN.properties, + resource/gnu/java/locale/LocaleInformation_uz_AF.properties: + Removed locales. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_az.properties, + resource/gnu/java/locale/LocaleInformation_bs.properties, + resource/gnu/java/locale/LocaleInformation_byn.properties, + resource/gnu/java/locale/LocaleInformation_byn_ER.properties, + resource/gnu/java/locale/LocaleInformation_el_CY.properties, + resource/gnu/java/locale/LocaleInformation_gez.properties, + resource/gnu/java/locale/LocaleInformation_gez_ER.properties, + resource/gnu/java/locale/LocaleInformation_gez_ET.properties, + resource/gnu/java/locale/LocaleInformation_haw.properties, + resource/gnu/java/locale/LocaleInformation_haw_US.properties, + resource/gnu/java/locale/LocaleInformation_kok.properties, + resource/gnu/java/locale/LocaleInformation_kok_IN.properties, + resource/gnu/java/locale/LocaleInformation_sid.properties, + resource/gnu/java/locale/LocaleInformation_sid_ET.properties, + resource/gnu/java/locale/LocaleInformation_sl_SI.properties, + resource/gnu/java/locale/LocaleInformation_sr_BA_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_sr_BA_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sr_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_syr.properties, + resource/gnu/java/locale/LocaleInformation_syr_SY.properties, + resource/gnu/java/locale/LocaleInformation_tig.properties, + resource/gnu/java/locale/LocaleInformation_tig_ER.properties, + resource/gnu/java/locale/LocaleInformation_uz_AF_Arab.properties, + resource/gnu/java/locale/LocaleInformation_uz_Arab.properties, + resource/gnu/java/locale/LocaleInformation_uz_Latn.properties, + resource/gnu/java/locale/LocaleInformation_wal.properties, + resource/gnu/java/locale/LocaleInformation_wal_ET.properties: + New locales. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_kn.properties, + resource/gnu/java/locale/LocaleInformation_kn_IN.properties, + resource/gnu/java/locale/LocaleInformation_ko.properties, + resource/gnu/java/locale/LocaleInformation_sl.properties, + resource/gnu/java/locale/LocaleInformation_so.properties, + resource/gnu/java/locale/LocaleInformation_so_DJ.properties, + resource/gnu/java/locale/LocaleInformation_so_ET.properties, + resource/gnu/java/locale/LocaleInformation_so_SO.properties, + resource/gnu/java/locale/LocaleInformation_sr.properties: + Random fixes I forgot to commit before. + +2006-03-25 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_ar_JO.properties, + resource/gnu/java/locale/LocaleInformation_ar_QA.properties, + resource/gnu/java/locale/LocaleInformation_ar_SA.properties, + resource/gnu/java/locale/LocaleInformation_ar_SY.properties, + resource/gnu/java/locale/LocaleInformation_ar_TN.properties, + resource/gnu/java/locale/LocaleInformation_ar_YE.properties, + resource/gnu/java/locale/LocaleInformation_as_IN.properties, + resource/gnu/java/locale/LocaleInformation_be_BY.properties, + resource/gnu/java/locale/LocaleInformation_bn_IN.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_en_IN.properties, + resource/gnu/java/locale/LocaleInformation_en_PK.properties, + resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, + resource/gnu/java/locale/LocaleInformation_es_PY.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fa_IR.properties, + resource/gnu/java/locale/LocaleInformation_gu_IN.properties, + resource/gnu/java/locale/LocaleInformation_hi_IN.properties, + resource/gnu/java/locale/LocaleInformation_ja_JP.properties, + resource/gnu/java/locale/LocaleInformation_kn_IN.properties, + resource/gnu/java/locale/LocaleInformation_mr_IN.properties, + resource/gnu/java/locale/LocaleInformation_or_IN.properties, + resource/gnu/java/locale/LocaleInformation_pa.properties, + resource/gnu/java/locale/LocaleInformation_pa_IN.properties, + resource/gnu/java/locale/LocaleInformation_ps_AF.properties, + resource/gnu/java/locale/LocaleInformation_ru_RU.properties, + resource/gnu/java/locale/LocaleInformation_sa.properties, + resource/gnu/java/locale/LocaleInformation_sa_IN.properties, + resource/gnu/java/locale/LocaleInformation_ta_IN.properties, + resource/gnu/java/locale/LocaleInformation_te_IN.properties: + Updated currency formats. + +2006-03-25 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (getAttributeContext): Made method final. + (getCurrentWriter): Likewise. + (getEndPosition): Likewise. + (getProperty): Likewise. + (getStartPosition): Likewise. + (putProperty): Likewise. + (readLock): Likewise. + (readUnlock): Likewise. + (writeLock): Likewise. + (writeUnlock): Likewise. + +2006-03-25 Roman Kennke + + * javax/swing/InputMap.java + (allKeys): Check if parent keys is null. + * javax/swing/KeyboardManager.java + (registerEntireMap): Also register map's parent keys. + * javax/swing/plaf/metal/MetalRootPaneUI.java + (propertyChange): Also call super.propertyChange(). + +2006-03-25 Raif S. Naffah + + * tools/gnu/classpath/tools/jarsigner/HashUtils.java: New file. + * tools/gnu/classpath/tools/jarsigner/JarSigner.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/JarVerifier.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/Main.java (Main): Likewise. + * tools/gnu/classpath/tools/jarsigner/SFHelper.java: Likewise. + * tools/gnu/classpath/tools/jarsigner/jarsigner.txt: Likewise. + +2006-03-25 Raif S. Naffah + + * gnu/java/util/jar/JarUtils.java: New file. + * java/util/jar/Manifest.java (CRLF): Removed. + (read_main_section): Likewise. + (read_version_info): Likewise. + (expect_header(String,BufferedReader)): Likewise. + (expect_header(String,BufferedReader,String)): Likewise. + (read_header_value): Likewise. + (read_attributes): Likewise. + (read_attribute): Likewise. + (read_individual_sections): Likewise. + (read_section_name): Likewise. + (write_main_section): Likewise. + (write_version_info): Likewise. + (write_header): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (read): use JarUtils. + (write): Likewise. + +2006-03-25 Raif S. Naffah + + * gnu/java/security/pkcs/SignerInfo.java (log): New field. + (DEBUG): Removed. + (debug): Likewise. + (SignerInfo(BERReader)): Updated javadoc. + Use JDK logging. + (SignerInfo(X500Principal,BigInteger,OID,byte[],OID,byte[],byte[])): + New constructor. + (encode): New method. + * gnu/java/security/pkcs/PKCS7SignedData.java (log): New field. + (PKCS7_DATA): Removed. + (DEBUG): Likewise. + (debug): Likewise. + (PKCS7SignedData(BERReader)): Updated javadoc. + Use JDK logging. + (PKCS7SignedData(Set,PKCS7Data,Certificate[],X509CRL[],Set)): New + constructor. + (encode): New method. + * gnu/java/security/pkcs/PKCS7Data.java: New file. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java (log): New field. + (encodePrivateKey): Encode x (private MPN) as an OCTET STRING. + (decodePrivateKey): Decode x from an OCTET STRING. + * gnu/java/security/key/dss/DSSPublicKey.java (str): New field. + (toString): New method. + * gnu/java/security/key/dss/DSSPrivateKey.java (DEBUG): New field. + (str): Likewise. + (toString): New method. + * gnu/java/security/key/dss/DSSKey.java (str): New Field. + (toString): New method. + * gnu/java/security/provider/DSAParameterGenerator.java: Removed. + +2006-03-25 Roman Kennke + + * java/util/GregorianCalender.java + (computeTime): Fix comparison to correctly calculate the + calendar. + +2006-03-25 Wolfgang Baer + + Fixes bug #26837 + * java/awt/Window.java: + (setFocusCycleRoot): New overriden method. + (isFocusCycleRoot): Likewise. + (getFocusCycleRootAncestor): Likewise. + * java/awt/Container.java: + (getFocusTraversalPolicy): Check also for anchestor == null. + +2006-03-25 Mark Wielaard + + Fixes bug #26863 reported by John K Peterson + * gnu/java/util/prefs/NodeWriter.java (writeRoot): Don't immediately + close root tag. + +2006-03-24 Tom Tromey + + * javax/imageio/stream/ImageOutputStreamImpl.java (writeBytes): + Rewrote. + (writeChar): Removed useless cast. + (writeChars(String)): Implemented. + (writeDouble): Rewrote. + (writeFloat): Likewise. + (writeUTF): Implemented. + * javax/imageio/stream/ImageInputStreamImpl.java (byteOrder): Default + to big endian. + +2006-03-24 Roman Kennke + + * javax/swing/JButton.java + (def): Replaced field with defaultCapable field. + (is_def): Removed field. + (JButton): Initialize defaultCapable with true. + (isDefaultButton): Documented and implemented method by querying + the button's root pane if present. + (isDefaultCapable): Changed def field to defaultCapable. + Added documentation. + (paramString): Call isDefaultButton() instead of accessing field, + which got removed. + (setDefaultCapable): Changed def field to defaultCapable. + Added documentation. + * javax/swing/JRootPane.java + (setDefaultButton): Only change the default button if the + new button is defaultCapable. + * javax/swing/plaf/basic/BasicRootPaneUI.java + (DefaultPressAction): New class. + (DefaultReleaseAction): New class. + (installKeyboardActions): Implemented. + (uninstallKeyboardActions): Implemented. + (propertyChange): Implemented. + * javax/swing/plaf/metal/MetalBorders.java + (ButtonBorder.paintBorder): 'Outsourced' default theme + painting to paintDefaultButtonBorder(). + (ButtonBorder.paintDefaultButtonBorder): New helper method + to paint the border in the default theme. This also fixes + painting of the border for default buttons. + (ButtonBorder.paintOceanButtonBorder): Added support for + default button painting. Fixed border for pressed/default state. + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Only paint gradient when in OceanTheme and when the + button is not armed. + +2006-03-24 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java: + Inherit from Activator. + +2006-03-24 Audrius Meskauskas + + * gnu/java/rmi/activation/DefaultActivationGroup.java (newInstance): + Print debug message if debug flag is set. + * gnu/java/rmi/activation/DefaultActivationSystem.java: Rewritten. + * gnu/java/rmi/server/ActivatableServerRef.java (activate): assign + detail, do not call iniCause(). (exportClass): New method. + * gnu/java/rmi/server/CombinedClassLoader.java (constructor): + Ignore null (bootstrap) class loader. + * gnu/java/rmi/server/UnicastServerRef.java (methods, skel, stub, + buildMethodHash, findStubSkelClass, getHelperClass): Changed + visibility to protected. + * java/rmi/activation/Activatable.java (export, register): Rewritten. + (toStub): New method. + * java/rmi/activation/ActivationGroup.java (getSystem): Rewritten. + * java/rmi/activation/ActivationSystem.java (SYSTEM_PORT): + Explained property java.rmi.activation.port. + +2006-03-24 Tom Tromey + + * .externalToolBuilders/CreateLocaleData.launch: Updated. + * gnu/java/locale/.cvsignore: New file. + * lib/Makefile.am (LocaleData.java): Put in gnu/java/locale. + * java/util/Locale.java (getAvailableLocales): Clone result. + (getISOCountries): Likewise. + (getISOLanguages): Likewise. + * scripts/generate-locale-list.sh: Make class public. Added new + array. + * gnu/java/locale/LocaleHelper.java (getCollatorLocales): New method. + (getLocaleCount): Likewise. + * java/text/Collator.java (getInstance): Javadoc typo fix. + (getAvailableLocales): Wrote. + +2006-03-24 Roman Kennke + + * javax/swing/JTabbedPane.java + (getSelectedComponent): Return null when no component is + selected. + +2006-03-24 Mark Wielaard + + * NEWS: Add cursor and selection improvements. + +2006-03-23 David Gilbert + + * java/awt/Component.java + (getAccessibleName): Just return accessibleName, + * javax/swing/AbstractButton.java + (getAccessibleStateSet): Mark as stub, + (getAccessibleName): Implemented, + (getAcessibleIcon): Mark as stub, + (getAccessibleRelationSet): Likewise, + (getAccessibleAction): Likewise, + (getAccessibleValue): Likewise, + (getAccessibleActionCount): Likewise, + (getAccessibleActionDescription): Likewise, + (doAccessibleAction): Likewise, + (getCurrentAccessibleValue): Likewise, + (setCurrentAccessibleValue): Likewise, + (getMinimumAccessibleValue): Likewise, + (getMaximumAccessibleValue): Likewise, + (getAccessibleText): Likewise, + (getIndexAtPoint): Likewise, + (getCharacterBounds): Likewise, + (getCharCount): Likewise, + (getCaretPosition): Likewise, + (getAtIndex): Likewise, + (getAfterIndex): Likewise, + (getBeforeIndex): Likewise, + (getCharacterAttribute): Likewise, + (getSelectionStart): Likewise, + (getSelectionEnd): Likewise, + (getSelectedText): Likewise, + (getTextRectangle): Likewise, + (setIconTextGap): Fire PropertyChangeEvent, not state changed, + (getIconTextGap): Added @since 1.4, + (setContentAreaFilled): Reordered code to make event sequence match + reference implementation, + * javax/swing/JButton.java + (getSelectedObjects): Removed, + *javax/swing/JComponent.java + (getAccessibleName): Call super. + +2006-03-23 David Gilbert + + * javax/swing/JProgressBar.java + (AccessibleJProgressBar.getAccessibleStateSet): Implemented, + (AccessibleJProgressBar.getAccessibleRole): Added API docs, + (AccessibleJProgressBar.getAccessibleValue): Implemented, + (AccessibleJProgressBar.getCurrentAccessibleValue): Likewise, + (AccessibleJProgressBar.setCurrentAccessibleValue): Likewise, + (AccessibleJProgressBar.getMinimumAccessibleValue): Likewise, + (AccessibleJProgressBar.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Added API docs. + +2006-03-23 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (FocusListener.focusLost): Put current selection into the system + clipboard. + +2006-03-23 Robert Schuster + + * java/awt/Component.java: + (processMouseEvent): Remove call to consume event. + (dispatchEventImpl): Handle specific events first, do focus request + only when mouse event was not yet consumed. + * javax/swing/text/DefaultCaret.java: + (mousePressed): Rewritten. + (setDot): Changed order of operations. + (moveDot): Dito. + +2006-03-23 David Gilbert + + * javax/swing/JComponent.java + (AccessibleJComponent.changeSupport): Removed field, + (AccessibleJComponent.AccessibleJComponent): Updated for removed field, + (AccessibleJComponent.addPropertyChangeListener): Call super, + (AccessibleJComponent.removePropertyChangeListener): Likewise, + * javax/swing/JSlider.java + (AccessibleJSlider.getAccessibleStateSet): Implemented, + (AccessibleJSlider.getAccessibleRole): Likewise, + (AccessibleJSlider.getAccessibleValue): Likewise, + (AccessibleJSlider.getCurrentAccessibleValue): Likewise, + (AccessibleJSlider.setCurrentAccessibleValue): Likewise, + (AccessibleJSlider.getMinimumAccessibleValue): Likewise, + (AccessibleJSlider.getMaximumAccessibleValue): Likewise, + (getAccessibleContext): Added API docs. + +2006-03-23 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java + (debug): Made public. (constructor): Made protected. + (activate, getActivationDesc): Throw more informative exceptions. + * gnu/java/rmi/server/UnicastConnectionManager.java (toString): + New method. + * gnu/java/rmi/server/UnicastRef.java (remoteToString): + Stub, implemented. + * gnu/java/rmi/server/UnicastServer.java (incomingMessageCall): + Documented. + * gnu/java/rmi/server/UnicastServerRef.java (incomingMessageCall): + Better exception. + * java/rmi/activation/Activatable.java (obtainId): Use the activation + system, passed in the activation descriptor field. + * java/rmi/activation/ActivationGroup.java (createGroup): Likewise. + * java/rmi/activation/ActivationGroupID.java (system, uid): Changed + to package private final. (equals): Compare uid, not the system. + (hashCode): Forward to uid.hashCode(). toString(): New method. + * java/rmi/activation/ActivationID.java (readObject, writeObject): + Rewritten. (equals): Compare UID only. toString(): New method. + * java/rmi/server/ObjID.java (eq): New method. (equals): Compare also + UID (space). (hashCode, toString): Rewritten. + * java/rmi/server/RemoteObjectInvocationHandler.java (noArgs): + New method. (invoke): Treat null as an empty array for parameters. + * java/rmi/server/UID.java (toString): Rewritten. (hashCode): + Include count, do not include the static machineId. + +2006-03-23 Tom Tromey + + * java/net/URLConnection.java (getContent(Class[])): Implemented. + +2006-03-23 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/GRMIC.java (main): Accept -force. + * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain -force. + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + (force): New field. (setForce): New method. (compile): Handle -force. + * tools/gnu/classpath/tools/rmi/RMIC.java (main): Accept -force. + * tools/gnu/classpath/tools/rmi/RMIC.txt: Explain -force. + +2006-03-23 Roman Kennke + + * javax/swing/JTabbedPane.java + (Page.getBackground): Return the JTabbedPane's background, + rather than the page's component background. + (Page.getForeground): Return the JTabbedPane's foreground, + rather than the page's component foreground. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (uninstallUI): Don't set colors to null. + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (paintTabBackground): Correctly determine the tab background. + (getUnselectedBackground): New helper method to + handle the UI property 'TabbedPane.unselectedBackground' + correctly. + +2006-03-23 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.showingResizeCursor): New field. + (BorderListener.mouseMoved, BorderListner.mouseExited): + Implemented. + +2006-03-23 David Gilbert + + * javax/swing/JComboBox.java + (selectWithKeyChar): Mark as stub, + * javax/swing/JFileChooser.java + (setDragEnabled): Mark as stub, + (getDragEnabled): Likewise, + * javax/swing/JSlider.java + (AccessibleJSlider.getAccessibleStateSet): Mark as stub, + (AccessibleJSlider.getAccessibleRole): Likewise, + (AccessibleJSlider.getAccessibleValue): Likewise, + (AccessibleJSlider.getCurrentAccessibleValue): Likewise, + (AccessibleJSlider.setCurrentAccessibleValue): Likewise, + (AccessibleJSlider.getMinimumAccessibleValue): Likewise, + (AccessibleJSlider.getMaximumAccessibleValue): Likewise, + * javax/swing/UIManager.java + (installLookAndFeel): Mark as stub, + (setInstalledLookAndFeels): Likewise. + +2006-03-23 David Gilbert + + * javax/swing/filechooser/UnixFileSystemView.java + (getSystemDisplayName): Mark as stub, + (getSystemIcon): Likewise, + (getSystemTypeDescription): Likewise. + +2006-03-23 David Gilbert + + * javax/swing/tree/AbstractLayoutCache.java + (getNodeDimensions): Mark as stub, + (getPreferredHeight): Likewise, + (getPreferredWidth): Likewise, + (getRowsForPaths): Likewise, + (isFixedRowHeight): Likewise, + * javax/swing/tree/DefaultTreeModel.java + (reload()): Mark as stub, + (reload(TreeNode)): Likewise, + (nodeStructureChanged): Likewise, + * javax/swing/tree/DefaultTreeSelectionModel.java + (clone): Mark as stub, + (setRowMapper): Likewise, + (setSelectionPaths): Likewise, + (isRowSelected): Likewise, + (resetRowSelection): Likewise, + (insureRowContinuity): Likewise, + (arePathsContiguous): Likewise, + (canPathsBeAdded): Likewise, + (canPathsBeRemoved): Likewise, + (notifyPathChange): Likewise, + (updateLeadIndex): Likewise, + (insureUniqueness): Likewise, + * javax/swing/tree/FixedHeightLayoutCache.java: Marked all methods as + stubs, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-03-22 Tom Tromey + + * javax/swing/text/StyleContext.java (getStaticAttribute): Mark as + stub. + (getStaticAttributeKey): Likewise. + (readAttributeSet): Likewise. + (writeAttributeSet): Likewise. + (readAttributes): Likewise. + (writeAttributes): Likewise. + * javax/swing/text/html/HTMLEditorKit.java (insertAtBoundary): Mark + as stub. + * javax/swing/text/html/HTMLDocument.java (setParagraphAttributes): + Mark as stub. + (fireChangedUpdate): Likewise. + (start): Likewise. + (end): Likewise. + (handleEndOfLineString): Likewise. + (textAreaContent): Likewise. + (preContent): Likewise. + (addSpecialElement): Likewise. + (setInnerHTML): Likewise. + (setOuterHTML): Likewise. + (insertBeforeStart): Likewise. + (insertBeforeEnd): Likewise. + (insertAfterEnd): Likewise. + (insertAfterStart): Likewise. + * javax/swing/table/JTableHeader.java (AccessibleJTableHeaderEntry): + Mark all methods as stub.s + * javax/swing/plaf/metal/MetalTreeUI.java (decodeLineStyle): Mark + as stub. + (paintHorizontalSeparators): Likewise. + * javax/swing/plaf/basic/BasicLookAndFeel.java (loadSystemColors): + Mark as stub. + * javax/swing/MenuSelectionManager.java (processKeyEvent): Mark as + stub. + * java/beans/beancontext/BeanContextSupport.java: Mark most methods + as stubs. + * java/beans/beancontext/BeanContextServicesSupport.java: Mark most + methods as stubs. + +2006-03-22 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkCursor.java: New class. + +2006-03-22 Mark Wielaard + + Fixes bug #26527 + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (gtkWidgetSetCursor): + Takes GtkImage, x and y coordinates. + (gtkWidgetSetCursorUnlocked): Likewise. + (GtkComponentPeer): Set cursor when set. + (setCursor): Handle GtkCursor. + * gnu/java/awt/peer/gtk/GtkToolkit.java (createCustomCursor): + New method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (gtkWidgetSetCursor): Takes GtkImage, x and y coordinates. + (gtkWidgetSetCursorUnlocked): Likewise. Handle custom image. + * include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Regenerated. + +2006-03-23 Roman Kennke + + PR 26805 + * gnu/java/security/Registry.java + (PKCS5_PAD): Added pad PKCS#5 algorithm. + * gnu/javax/crypto/pad/PadFactory.java + (getInstance): For PKCS#5, also return PKCS#7 pad + algorithm. + (getNames): Added PKCS#5. + * javax/crypto/KeyGenerator.java + (getInstance): Initialize key generator before returning + it. + +2006-03-23 Ito Kazumitsu + + * gnu/regexp/RE.java(REG_X_COMMENTS): New copilation flag, + (initialize): Ignore whiltespaces and comments if REG_X_COMMENTS is set. + * java/util/regex/Pattern.java(constructor): Set RE.REG_X_COMMENTS + if COMMENTS is set. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/SynthStyle.java (getInt): Implemented. + (getBoolean): Likewise. + (getString): Likewise. + (getIcon): Likewise. + +2006-03-22 Mark Wielaard + + Fixes bug #26301 + * gnu/java/awt/peer/GLightweightPeer.java: Extend MouseAdapter. + (GLightweightPeer(Component)): Install MouseListener. + (setCursor): Implement. + (mouseEntered): New method. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/ColorType.java (MAX_COUNT): No longer + constant. + * javax/swing/plaf/synth/SynthStyle.java (getColorForState): Now + protected. + (getFontForState): Likewise. + (getInsets): Added 'result' argument. + (getPainter): Renamed. + +2006-03-22 Tom Tromey + + * javax/swing/plaf/synth/SynthPainter.java + (paintScrollBarThumbBackground): Added 'orientation' argument. + (paintScrollBarThumbBorder): Likewise. + (paintSliderThumbBackground): Likewise. + (paintSliderThumbBorder): Likewise. + (paintTabbedPaneTabBackground): Added 'index' argument. + (paintTabbedPaneTabBorder): Likewise. + +2006-03-22 Tom Tromey + + * java/awt/ScrollPaneAdjustable.java (paramString): Implemented. + (toString): New method. + +2006-03-22 Tom Tromey + + * doc/hacking.texinfo (Source Code Style Guide): Mention + NotImplementedException. + * javax/imageio/stream/MemoryCacheImageOutputStream.java + (flushBefore): Mark as stub. + (read): Likewise. + * javax/imageio/stream/MemoryCacheImageInputStream.java (flushBefore): + Mark as stub. + * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Mark + as stub. + (write): Likewise. + (writeBit): Likewise. + (writeChars): Likewise. + (writeUTF): Likewise. + * javax/imageio/stream/FileCacheImageOutputStream.java (read): Mark + as stub. + (read): Likewise. + * java/net/URLConnection.java (getContent): Mark as stub. + * java/awt/Window.java (applyResourceBundle): Mark as stub. + * java/awt/TexturePaint.java (createContext): Mark as stub. + (getTransparency): Mark as stub. + * java/awt/ScrollPaneAdjustable.java (paramString): Mark as stub. + * java/awt/GridBagLayout.java (AdjustForGravity): Mark as stub. + * java/awt/GraphicsConfiguration.java (getBufferCapabilities): Mark as + stub. + (getImageCapabilities): Likewise. + * java/awt/BasicStroke.java (createStrokedShape): Mark as stub. + * java/awt/AlphaComposite.java (createContext): Mark as stub. + * java/awt/image/renderable/RenderableImageProducer.java: Mark all + methods as stubs. + * java/awt/font/TextMeasurer.java (deleteChar): Mark as stub. + (getAdvanceBetween): Likewise. + (getLayout): Likewise. + (insertChar): Likewise. + (getLineBreakIndex): Likewise. + * java/awt/font/ShapeGraphicAttribute.java (draw): Mark as stub. + (getAdvance): Likewise. + (getAscent): Likewise. + (getDescent): Likewise. + * java/awt/font/LineBreakMeasurer.java (deleteChar): Mark as stub. + (insertChar): Likewise. + (nextLayout): Likewise. + (nextLayout): Likewise. + (nextOffset): Likewise. + (nextOffset): Likewise. + * java/awt/font/ImageGraphicAttribute.java (draw): Mark as stub. + (equals): Likewise. + (getAdvance): Likewise. + (getAscent): Likewise. + (getBounds): Likewise. + (getDescent): Likewise. + (hashCode): Likewise. + (ImageGraphicAttribute): Likewise. + * java/awt/font/GraphicAttribute.java (getBounds): Mark as stub. + (getJustificationInfo): Likewise. + * java/awt/font/GlyphVector.java (getGlyphCharIndex): Mark as stub. + (getGlyphCharIndices): Likewise. + (getGlyphOutline): Likewise. + (getGlyphPixelBounds): Likewise. + (getLayoutFlags): Likewise. + (getPixelBounds): Likewise. + * java/awt/font/GlyphMetrics.java (getLSB): Mark as stub. + (getRSB): Likewise. + * java/nio/channels/Channels.java (newWriter): Mark as stub. + * java/awt/dnd/DragSourceContext.java: Marked most methods as stubs. + * java/awt/dnd/DragGestureRecognizer.java (fireDragGestureRecognized): + Mark as stub. + (resetRecognizer): Likewise. + * java/awt/datatransfer/SystemFlavorMap.java (getFlavorsForNative): + Mark as stub. + (getNativesForFlavor): Likewise. + * javax/swing/plaf/synth/SynthStyle.java: Mark all methods as stub.s + * javax/swing/plaf/synth/SynthLookAndFeel.java (updateStyles): Mark + as stub. + (getRegion): Likewise. + (createUI): Likewise. + (initialize): Likewise. + (uninitialize): Likewise. + (getDefaults): Likewise. + (load): Likewise. + (shouldUpdateStyleOnAncestorChanged): Likewise. + * javax/swing/plaf/synth/SynthGraphicsUtils.java (getMinimumSize): + Mark as stub. + (getPreferredSize): Likewise. + (getMaximumSize): Likewise. + (paintText): Likewise. + * java/text/RuleBasedCollator.java (getCollationElementIterator): Mark + as stub. + * java/text/Collator.java (getAvailableLocales): Mark as stub. + +2006-03-22 Wolfgang Baer + + * java/io/ObjectStreamConstants.java: Added since tag. + (PROTOCOL_VERSION_1): Added javadoc. + (PROTOCOL_VERSION_2): Likewise. + * java/io/ObjectOutputStream.java: + (setDefaultProtocolVersion): Removed. + (useProtocolVersion): Fixed parameter tests. Updated javadoc. + +2006-03-21 Lillian Angel + + * gnu/javax/imageio/bmp/BMPInfoHeader.java + (BMPInfoHeader): Removed debug lines. + * gnu/javax/imageio/bmp/EncodeRLE4.java + (encode): Implemented. + (uncompress): New function implemented to + uncompress the image before encoding. + * gnu/javax/imageio/bmp/EncodeRLE8.java + (encode): Implemented. + (uncompress): New function implemented to + uncompress the image before encoding. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/FormView.java + (getImageData): New helper method. + +2006-03-21 Tom Tromey + + * vm/reference/gnu/classpath/Unsafe.java (arrayBaseOffset): Javadoc + fix. + (Unsafe): Now final. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/FormView.java + (MouseEventListener): New inner class. + +2006-03-21 Roman Kennke + + * javax/swing/text/html/ListView.java: New file. + +2006-03-21 Tom Tromey + + * java/text/Bidi.java: Completed. + +2006-03-21 Anthony Balkissoon + + * javax/swing/JTable.java: + (columnAtPoint): Removed the null check, this method should throw a NPE + if the argument is null. + +2006-03-21 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (DefaultHighlighter.DefaultHighlightPainter.paint): Rewritten. + +2006-03-21 Robert Schuster + + * javax/swing/text/DefaultCaret.java: Added class variable denoting + the textcomponent having a selection. + (clearSelection): Clear 'componentWithSelection' variable. + (handleSelection): Clear selection of current component having a + selection before setting a new selection in another component. + (mouseDragged): Only react on left mouse button. + (mouseClicked): Only react on left mouse button. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (paintContentBorderTopEdge): Implemented. + (paintContentBorderBottomEdge): Implemented. + (paintContentBorderLeftEdge): Implemented. + (paintContentBorderRightEdge): Implemented. + (isLastTabInRun): New helper method. + +2006-03-21 Roman Kennke + + * javax/swing/JTabbedPane.java + (Page.getForeground): Fall back to returning the tabbed pane's + foreground if no foreground has been exclicitly set. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (setEnabled): Update colors of button correctly. + * javax/swing/plaf/metal/MetalComboBoxUI.java + (MetalPropertyChangeListener.propertyChange): Update the colors + of the list and the button when any of the color properties + of the ComboBox change. + +2006-03-21 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (uninstallDefaults): Only nullify button colors if they are + not UIResource instances. + +2006-03-21 David Gilbert + + * javax/swing/JComponent.java + (AccessibleJComponent.getAccessibleDescription): Call super, + * javax/swing/JToolTip.java: API doc updates all over, plus + (AccessibleJToolTip.getAccessibleDescription): Implemented, + (AccessibleJToolTip.getAccessibleRole): Implemented, + (getAccessibleContext): Implemented, + (paramString): Reimplemented, + (setComponent): Fire PropertyChangeEvent, + (setTipText): Likewise. + +2006-03-20 Andrew John Hughes + + * java/util/Formatter.java: + Make the class final. + +2006-03-20 Andrew John Hughes + + * java/lang/System.java: + (nanoTime()): Documented. + * java/lang/Thread.java: + (setUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getUncaughtExceptionHandler()): Documented. + (setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler): + Added docs and security check. + (getDefaultUncaughtExceptionHandler()): Documented. + (getId()): Documented. + (Thread.State): Documented. + * vm/reference/gnu/classpath/Unsafe.java: + Documented. + (getUnsafe()): Updated to handle security. + +2006-03-20 Tom Tromey + + * java/lang/System.java: + (nanoTime()): Implemented. + * java/lang/Thread.java: + (getId()): Implemented. + * java/util/AbstractMap.java: + (SimpleImmutableEntry): New 1.6 class. + (BasicMapEntry): Modified to be SimpleEntry. + * java/util/Collections.java: + Modified to use SimpleEntry. + * java/util/EnumMap.java: Likewise. + * java/util/HashMap.java: Likewise. + * java/util/Hashtable.java: Likewise. + * java/util/TreeMap.java: Likewise. + * vm/reference/gnu/classpath/Unsafe.java: + New class to handle low-level facilities for concurrency. + * vm/reference/java/lang/VMSystem.java: + (nanoTime()): Implemented. + +2006-03-20 Tom Tromey + + * java/security/cert/PKIXCertPathChecker.java: Javadoc fix. + * java/security/cert/CertStoreSpi.java: Added import for javadoc. + (CertStoreSpi): Updated throws clause. + * java/security/cert/CertPathValidatorSpi.java: Added import for + javadoc. + (engineValidate): Updated 'throws' clause. + * java/security/cert/PKIXParameters.java: Javadoc fix. + * java/security/cert/X509CertSelector.java + (setAuthorityKeyIdentifier): Javadoc fix. + +2006-03-20 Tom Tromey + + * .classpath: Build gnu.javax.swing.plaf. + +2006-03-20 Lillian Angel + + * gnu/javax/imageio/bmp/BMPDecoder.java: + Removed unneeded import. + * gnu/javax/imageio/bmp/BMPEncoder.java: + New class. + * gnu/javax/imageio/bmp/BMPFileHeader.java + (BMPFileHeader): New constructor used to create info header + for an output stream. + (write): Fixed indexes. + * gnu/javax/imageio/bmp/BMPImageReaderSpi.java: + Initialized writerSpiNames field. + * gnu/javax/imageio/bmp/BMPImageWriter.java: + New class. + * gnu/javax/imageio/bmp/BMPImageWriterSpi.java: + New class. + * gnu/javax/imageio/bmp/BMPInfoHeader.java: + Change visibility for fields. + (BMPInfoHeader): New constructor used to create + file header for an output stream. + (intToDWord): New method. Converts an int to a + double word. + (intToWord): New method. Converts an int to a word. + * gnu/javax/imageio/bmp/DecodeBF32.java: + Removed unneeded imports. + * gnu/javax/imageio/bmp/EncodeRGB1.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB16.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB24.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB32.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB4.java: + New class. + * gnu/javax/imageio/bmp/EncodeRGB8.java: + New class. + * gnu/javax/imageio/bmp/EncodeRLE4.java: + New class. + * gnu/javax/imageio/bmp/EncodeRLE8.java: + New class. + * javax/imageio/ImageIO.java: + Fixed comment. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/metal/MetalTabbedPaneUI.java + (TabbedPaneLayout.normalizeTabRuns): New method. + (createLayoutManager): Return the Metal TabbedPaneLayout, not super. + (paintTabBorder): Replaced if-else chain with switch. + (paintTopTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintBottomTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintLeftTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintRightTabBorder): Rewritten to correctly paint tab. Also support + Ocean theme. + (paintTabBackground): Fetch background color from the TabbedPane. + Fixed painting and improved by not using fillPolygon, and instead + using fillRectangle. Replaced if-else chain with switch. + (calculateMaxTabHeight): Added overridden method with FIXME. + (getTabRunOverlay): Overridden to provide overlay for LEFT or RIGHT + placement. + (paintContentBorderTopEdge): Added stub with FIXME. + (paintContentBorderBottomEdge): Added stub with FIXME. + (paintContentBorderLeftEdge): Added stub with FIXME. + (paintContentBorderRightEdge): Added stub with FIXME. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (tabsOpaque): New field. + (installDefaults): Fetch tabsOpaque property from UIManager. + (paintTab): Fill tab background when tabsOpaque property is true. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added TabbedPane.tabsOpaque property. + +2006-03-20 Roman Kennke + + * javax/swing/JTabbedPane.java + (Pane.getBackground): When no background was explicitly set, return + the JTabbedPane's background. + +2006-03-20 Wolfgang Baer + + * org/omg/CORBA/ACTIVITY_COMPLETED.java, + * org/omg/CORBA/ACTIVITY_REQUIRED.java, + * org/omg/CORBA/BAD_INV_ORDER.java, + * org/omg/CORBA/BAD_CONTEXT.java, + * org/omg/CORBA/BAD_OPERATION.java, + * org/omg/CORBA/BAD_PARAM.java, + * org/omg/CORBA/BAD_QOS.java, + * org/omg/CORBA/BAD_TYPECODE.java, + * org/omg/CORBA/CODESET_INCOMPATIBLE.java, + * org/omg/CORBA/COMM_FAILURE.java, + * org/omg/CORBA/CurrentHolder.java, + * org/omg/CORBA/DATA_CONVERSION.java, + * org/omg/CORBA/FREE_MEM.java, + * org/omg/CORBA/IMP_LIMIT.java, + * org/omg/CORBA/INITIALIZE.java, + * org/omg/CORBA/INTERNAL.java, + * org/omg/CORBA/INTF_REPOS.java, + * org/omg/CORBA/INVALID_ACTIVITY.java, + * org/omg/CORBA/INVALID_TRANSACTION.java, + * org/omg/CORBA/INV_FLAG.java, + * org/omg/CORBA/INV_IDENT.java, + * org/omg/CORBA/INV_OBJREF.java, + * org/omg/CORBA/INV_POLICY.java, + * org/omg/CORBA/MARSHAL.java, + * org/omg/CORBA/NO_RESOURCES.java, + * org/omg/CORBA/NO_MEMORY.java, + * org/omg/CORBA/NO_IMPLEMENT.java, + * org/omg/CORBA/NO_PERMISSION.java, + * org/omg/CORBA/NO_RESPONSE.java, + * org/omg/CORBA/OBJECT_NOT_EXIST.java, + * org/omg/CORBA/OBJ_ADAPTER.java, + * org/omg/CORBA/ParameterModeHolder.java, + * org/omg/CORBA/PolicyError.java, + * org/omg/CORBA/PolicyErrorHolder.java, + * org/omg/CORBA/PolicyHolder.java, + * org/omg/CORBA/PolicyListHolder.java, + * org/omg/CORBA/REBIND.java, + * org/omg/CORBA/TIMEOUT.java, + * org/omg/CORBA/TRANSACTION_MODE.java, + * org/omg/CORBA/TRANSACTION_REQUIRED.java, + * org/omg/CORBA/TRANSACTION_ROLLEDBACK.java, + * org/omg/CORBA/TRANSACTION_UNAVAILABLE.java, + * org/omg/CORBA/TRANSIENT.java, + * org/omg/CORBA/TypeCodeHolder.java, + * org/omg/CORBA/UNKNOWN.java, + * org/omg/CORBA/UnionMember.java, + * org/omg/CORBA/UnknownUserException.java, + * org/omg/CORBA/UnknownUserExceptionHolder.java, + * org/omg/CORBA/WrongTransactionHolder.java, + * org/omg/IOP/IOR.java, + * org/omg/IOP/IORHolder.java, + * org/omg/IOP/MultipleComponentProfileHolder.java, + * org/omg/IOP/ServiceContextHolder.java, + * org/omg/IOP/ServiceContextListHolder.java, + * org/omg/IOP/TaggedComponentHolder.java, + * org/omg/IOP/TaggedProfileHolder.java, + * org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java, + * org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java, + * org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java, + * org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java: + Made class final, various javadoc fixlets. + * org/omg/CORBA/CompletionStatus.java, + * org/omg/CORBA/PERSIST_STORE.java, + * org/omg/CORBA/ValueMember.java, + * org/omg/PortableInterceptor/ForwardRequest.java, + * org/omg/PortableInterceptor/InvalidSlot.java, + * org/omg/IOP/CodecPackage/TypeMismatch.java, + * org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java, + * org/omg/IOP/CodecPackage/FormatMismatch.java, + * org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java, + * org/omg/IOP/Encoding.java, + * org/omg/IOP/TaggedComponent.java, + * org/omg/IOP/TaggedProfile.java: Made class final. + * org/omg/CORBA/SystemException.java: Made class abstract. + * org/omg/CORBA/UserException.java: Made class abstract. + (UserException): Now protected. + (UserException(String)): Likewise. + * org/omg/Messaging/SyncScopeHelper.java: Now abstract, javadoc fixes. + (typecode): Removed unused private variable. + +2006-03-20 Chris Burdess + + Fixes PR 26761 + * gnu/xml/stream/XMLParser.java: Permit U+fffd as XML Char. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintTabArea): Look up tab run indices in tabRuns array instead + of using the index directly. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paintTab): Fixed painting. + (paintText): Fixed text painting. + (paintFocusIndicator): Fixed painting of the focus rectangle. + (paintContentBorder): Fixed painting of the content area. + +2006-03-20 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkPixbufDecoder.java (pixbufLock): New + static lock Object field. + (produce): Synchronize on pixbufLock when calling initState(), + pumpBytes() and pumpDone(). + (finalize): Likewise when calling finish(). + (GdkPixbufWriter.write): Likewise when calling streamImage(). + * gnu/java/awt/peer/gtk/GtkImage.java (GtkImage(String)): Likewise + when calling loadPixbuf. Chain exception. + (GtkImage(byte[])): Likewise when calling loadImageFromData. + (GtkImage(URL)): Likewise. + (GtkImage(int,int)): Likewise when calling createPixmap(). + (GtkImage(GtkImage,int,int,int)): Likewise when calling + createScaledPixmap(). + (GtkImage(Pointer)): Likewise when calling createFromPixbuf(). + (setImage): Likewise when calling createPixmap() and setPixels(). + (getSource): Likewise when calling getPixels(). + (flush): Likewise when calling freePixmap(). + (finalize): Likewise. + (drawImage): Likewise when calling drawPixelsScaledFlipped() and + drawPixelsScaledFlipped(). + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_initState): Remove + gdk_threads_enter/leave(). + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_finish): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpDone): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_streamImage): Likewise. + (Java_gnu_java_awt_peer_gtk_GdkPixbufDecoder_pumpBytes): Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c + (Java_gnu_java_awt_peer_gtk_GtkImage_loadPixbuf): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_loadImageFromData): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createFromPixbuf): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_getPixels): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_setPixels): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createPixmap): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_freePixmap): Likewise. + (Java_gnu_java_awt_peer_gtk_GtkImage_createScaledPixmap): Likewise. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (calculateTabHeight): Not need to use SwingUtilities here. + (getTabInsets): Do not rotate insets. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paint): Make sure the layout is valid before painting. + (paintTabArea): Made tab painting more straightforward and efficient. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): Removed. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): Removed. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (ROWS_PER_WHEEL_CLICK): New field. + (MouseWheelHandler.mouseWheelMoved): Rewritten. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (paint): Make sure the layout is valid before painting. + (paintTabArea): Made tab painting more straightforward and efficient. + +2006-03-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (MouseHandler.mousePressed): Rewritten for clearer and simpler + code. + (MouseHandler.mouseEntered): Implemented to set the rollover tab. + (MouseHandler.mouseMoved): Implemented to set the rollover tab. + (MouseHandler.mouseExited): Implemented to unset the rollover tab. + (TabbedPaneLayout.calculateLayoutInfo): Don't set the component's + bounds here. That is moved into layoutContainer(). + (calculateSize): Correctly respect insets. Made code slightly more + clear and efficient. + (calculateTabRects): Rewritten completely. The old code was + not quite right and unstable in some situations. + (layoutContainer): Moved layout of tabbed pane's subcomponents + here. + (tabRunsDirty): New field. + (rolloverTab): New field. + (tabForCoordinate): Rewritten for simplicity and correctness. + (setRolloverTab): New method. + (getRolloverTab): New method. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (getScrollableUnitIncrement): Rewritten. + (getScrollableUnitIncrement + * javax/swing/Scrollable.java: Documented. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler):Rewritten. + +2006-03-20 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated with gnu.classpath.Unsafe + +2006-03-20 Andrew John Hughes + + * NEWS: + Updated with VMArray and Unsafe changes. + +2006-03-20 Audrius Meskauskas + + * javax/swing/JTable.java (ROWS_PER_WHEEL_CLICK): New field. + (getScrollableUnitIncrement): Rewritten. + * javax/swing/JTree.java (ROWS_PER_WHEEL_CLICK): New field. + (getScrollableUnitIncrement): Rewritten. + (getScrollableBlockIncrement): Rewritten. + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (MouseWheelHandler): Implemented. (ViewportContainerListener): + New class. (containerListener): New field. (SCROLL_NON_SCROLABLES): + New field. (installListeners): Install wheel listeners. + (uninstallListeners): Uninstall wheel listeners. + * javax/swing/plaf/basic/BasicTableUI.java: Remove the implementation + of the MouseWheelListener. (installListeners): Do not install wheel + listener. (ROWS_PER_WHEEL_CLICK): Removed. + +2006-03-19 Andrew John Hughes + + * vm/reference/gnu/classpath/Unsafe.java: + Documented. + (getUnsafe()): Updated to handle security. + +2006-03-19 Tom Tromey + + * vm/reference/gnu/classpath/Unsafe.java: + New class to handle low-level facilities for concurrency. + +2006-03-19 Mark Wielaard + + * include/Makefile.am: Rename PlainDatagramSocketImpl to + VMPlainDatagramSocketImpl and PlainSocketImpl to VMPlainSocketImpl. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: Regenerated. + * include/gnu_java_net_VMPlainSocketImpl.h: Likewise. + +2006-03-19 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getPostScriptName): Return + familyName. + * gnu/java/awt/peer/gtk/GtkFontPeer.java: Removed unused file. + +2006-03-19 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_aa_ET.properties, + resource/gnu/java/locale/LocaleInformation_am.properties, + resource/gnu/java/locale/LocaleInformation_am_ET.properties, + resource/gnu/java/locale/LocaleInformation_as_IN.properties, + resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_bg.properties, + resource/gnu/java/locale/LocaleInformation_bn_IN.properties, + resource/gnu/java/locale/LocaleInformation_ca.properties, + resource/gnu/java/locale/LocaleInformation_cs.properties, + resource/gnu/java/locale/LocaleInformation_cy.properties, + resource/gnu/java/locale/LocaleInformation_da.properties, + resource/gnu/java/locale/LocaleInformation_de.properties, + resource/gnu/java/locale/LocaleInformation_dv.properties, + resource/gnu/java/locale/LocaleInformation_el.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_en_GB.properties, + resource/gnu/java/locale/LocaleInformation_en_IN.properties, + resource/gnu/java/locale/LocaleInformation_en_PK.properties, + resource/gnu/java/locale/LocaleInformation_en_SG.properties, + resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties, + resource/gnu/java/locale/LocaleInformation_es.properties, + resource/gnu/java/locale/LocaleInformation_es_AR.properties, + resource/gnu/java/locale/LocaleInformation_es_BO.properties, + resource/gnu/java/locale/LocaleInformation_es_CL.properties, + resource/gnu/java/locale/LocaleInformation_es_CO.properties, + resource/gnu/java/locale/LocaleInformation_es_CR.properties, + resource/gnu/java/locale/LocaleInformation_es_DO.properties, + resource/gnu/java/locale/LocaleInformation_es_EC.properties, + resource/gnu/java/locale/LocaleInformation_es_ES.properties, + resource/gnu/java/locale/LocaleInformation_es_GT.properties, + resource/gnu/java/locale/LocaleInformation_es_HN.properties, + resource/gnu/java/locale/LocaleInformation_es_MX.properties, + resource/gnu/java/locale/LocaleInformation_es_NI.properties, + resource/gnu/java/locale/LocaleInformation_es_PA.properties, + resource/gnu/java/locale/LocaleInformation_es_PE.properties, + resource/gnu/java/locale/LocaleInformation_es_PR.properties, + resource/gnu/java/locale/LocaleInformation_es_PY.properties, + resource/gnu/java/locale/LocaleInformation_es_SV.properties, + resource/gnu/java/locale/LocaleInformation_es_US.properties, + resource/gnu/java/locale/LocaleInformation_es_UY.properties, + resource/gnu/java/locale/LocaleInformation_es_VE.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fa_IR.properties, + resource/gnu/java/locale/LocaleInformation_fi.properties, + resource/gnu/java/locale/LocaleInformation_fr.properties, + resource/gnu/java/locale/LocaleInformation_fr_CA.properties, + resource/gnu/java/locale/LocaleInformation_ga.properties, + resource/gnu/java/locale/LocaleInformation_gu_IN.properties, + resource/gnu/java/locale/LocaleInformation_hi_IN.properties, + resource/gnu/java/locale/LocaleInformation_hr.properties, + resource/gnu/java/locale/LocaleInformation_hu.properties, + resource/gnu/java/locale/LocaleInformation_id.properties, + resource/gnu/java/locale/LocaleInformation_is.properties, + resource/gnu/java/locale/LocaleInformation_it.properties, + resource/gnu/java/locale/LocaleInformation_ja.properties, + resource/gnu/java/locale/LocaleInformation_kk.properties, + resource/gnu/java/locale/LocaleInformation_kl.properties, + resource/gnu/java/locale/LocaleInformation_km.properties, + resource/gnu/java/locale/LocaleInformation_ky.properties, + resource/gnu/java/locale/LocaleInformation_lo.properties, + resource/gnu/java/locale/LocaleInformation_lo_LA.properties, + resource/gnu/java/locale/LocaleInformation_lt.properties, + resource/gnu/java/locale/LocaleInformation_lt_LT.properties, + resource/gnu/java/locale/LocaleInformation_lv.properties, + resource/gnu/java/locale/LocaleInformation_mk.properties, + resource/gnu/java/locale/LocaleInformation_mn.properties, + resource/gnu/java/locale/LocaleInformation_mr.properties, + resource/gnu/java/locale/LocaleInformation_mr_IN.properties, + resource/gnu/java/locale/LocaleInformation_ms.properties, + resource/gnu/java/locale/LocaleInformation_ms_BN.properties, + resource/gnu/java/locale/LocaleInformation_mt.properties, + resource/gnu/java/locale/LocaleInformation_nb.properties, + resource/gnu/java/locale/LocaleInformation_nl.properties, + resource/gnu/java/locale/LocaleInformation_nn.properties, + resource/gnu/java/locale/LocaleInformation_om_ET.properties, + resource/gnu/java/locale/LocaleInformation_or_IN.properties, + resource/gnu/java/locale/LocaleInformation_pa.properties, + resource/gnu/java/locale/LocaleInformation_pl.properties, + resource/gnu/java/locale/LocaleInformation_pt.properties, + resource/gnu/java/locale/LocaleInformation_ru.properties, + resource/gnu/java/locale/LocaleInformation_ru_RU.properties, + resource/gnu/java/locale/LocaleInformation_ru_UA.properties, + resource/gnu/java/locale/LocaleInformation_sa.properties, + resource/gnu/java/locale/LocaleInformation_sa_IN.properties, + resource/gnu/java/locale/LocaleInformation_sk.properties, + resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sv.properties, + resource/gnu/java/locale/LocaleInformation_sw.properties, + resource/gnu/java/locale/LocaleInformation_sw_TZ.properties, + resource/gnu/java/locale/LocaleInformation_ta_IN.properties, + resource/gnu/java/locale/LocaleInformation_te.properties, + resource/gnu/java/locale/LocaleInformation_te_IN.properties, + resource/gnu/java/locale/LocaleInformation_th.properties, + resource/gnu/java/locale/LocaleInformation_ti.properties, + resource/gnu/java/locale/LocaleInformation_ti_ER.properties, + resource/gnu/java/locale/LocaleInformation_ti_ET.properties, + resource/gnu/java/locale/LocaleInformation_tr.properties, + resource/gnu/java/locale/LocaleInformation_tt.properties, + resource/gnu/java/locale/LocaleInformation_uk.properties, + resource/gnu/java/locale/LocaleInformation_ur.properties, + resource/gnu/java/locale/LocaleInformation_uz.properties, + resource/gnu/java/locale/LocaleInformation_zh.properties, + resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: + More updates for CLDR 1.3. + +2006-03-19 Andrew John Hughes + + * doc/vmintegration.texinfo: + Updated to include VMArray. + * include/Makefile.am: + Replace java_lang_reflect_Array.h with + java_lang_reflect_VMArray.h + * include/java_lang_reflect_VMArray.h: + New autogenerated header. + * include/java_lang_reflect_Array.h: + Removed. + * java/lang/reflect/Array.java: + (newInstance(Class,int)): Calls VMArray. + (createMultiArray(Class,int[],int)): Likewise. + (createObjectArray(Class,int)): Removed. + * native/jni/java-lang/Makefile.am: + Replaced java_lang_reflect_Array.c with + java_lang_reflect_VMArray.c + * native/jni/java-lang/java_lang_reflect_VMArray.c: + Renamed from java_lang_reflect_Array.c. + * vm/reference/java/lang/reflect/VMArray.java: + (createObjectArray(Class,int)): Native method moved + from java.lang.reflect.Array. + +2006-03-19 Roman Kennke + + * gnu/javax/swing/plaf/metal/CustomizableTheme.java: New class. + * examples/gnu/classpath/examples/swing/MetalThemeEditor.java: + New class. + * examples/gnu/classpath/examples/swing/Demo.java + (mkButtonBar): Hook up theme editor. + (mkMenuBar): Hook up theme editor. + +2006-03-19 Roman Kennke + + * javax/swing/plaf/basic/BasicFileChooserUI.java + (ApproveSelectionAction.actionPerformed): Added case for when + nothing has been selected but the user has typed a filename + into the textfield. + (getFileName): Return the value of the text field. + +2006-03-19 Roman Kennke + + * javax/swing/JColorChooser.java + (createDialog): Create JDialog instead of ModalDialog. Make this + dialog modal by calling setModal(true). + (ModalDialog): Removed unnecessary inner class. + +2006-03-19 Tom Tromey + + * java/awt/font/NumericShaper.java: Rewrote. + +2006-03-19 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableUI.java: + Implement MouseWheelListener. (ROWS_PER_WHEEL_CLICK): + New field. MouseInputHandler.mouseWheelMoved): New method. + (installListeners): Register MouseInputHandler as + wheel listener also. + +2006-03-19 Audrius Meskauskas + + PR 26746 + * javax/swing/ViewportLayout.java (layoutContainer): + If Scrollable tracks dimension, set view size to the port size. + If port is larger than the view, move the view to the top/left. + +2006-03-19 Roman Kennke + + * javax/swing/MenuSelectionManager.java + (isComponentPartOfCurrentMenu): Also consider the first element + in a menu selection list. Make a isDescendentFrom check instead + of simple equals to also catch sub components. + +2006-03-19 Roman Kennke + + * javax/swing/JComboBox.java + (actionPerformed): Fetch selected item directly from the editor + instead of trying to get it from the event. + +2006-03-19 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxEditor.java + (listener): Removed field. + (BasicComboBoxEditor): Removed initialization of listener field. + (addActionListener): Add listener directly to editor. + (removeActionListener): Remove listener directly from editor. + (ComboBoxEditorListener): Removed class. + * javax/swing/plaf/basic/BasicComboBoxUI.java + (getPreferredSize): Fixed to return the minimumSize. + (getMinimumSize): Improved code for more clearness. + (getMaximumSize): Return (32767,32767) as requested by the mauve test. + (rectangleForCurrentValue): Correctly respect insets. + (getDefaultSize): Return preferredSize here. Dont override height + with 100. + (getDisplaySize): Moved around code for more clearness. Added + handling of prototype renderer. + (ComboBoxLayoutManager.layoutContainer): Set editor bounds after + arrowButton bounds since the former depends on the latter. + * javax/swing/plaf/metal/MetalComboBoxButton.java: + (MetalComboBoxButton): Make button rollover disabled. + (isFocusTraversable): Return false unconditionally. + * javax/swing/plaf/metal/MetalComboBoxEditor.java: + (EditorTextField): New class. Fixes the size properties. + (MetalComboBoxEditor): Create instance of EditorTextField. + * javax/swing/plaf/metal/MetalComboBoxUI.java: + (getMinimumSize): Fixed editable size. + +2006-03-18 Audrius Meskauskas + + * javax/swing/JTable.java (BooleanCellRenderer): Rewritten. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/metal/MetalToolBarUI.java + (update): Added overridden method to support OceanTheme. + +2006-03-18 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableUI.java (KeyHandler.keyTyped): + Activate the cell editing on character keystroke. + +2006-03-18 Mark Wielaard + + * java/awt/Component.java (eventTypeEnabled): Handle + MouseEvent.MOUSE_WHEEL. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postMouseWheelEvent): + New callback method. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (AWT_MOUSE_WHEEL): New constant. + (AWT_WHEEL_UNIT_SCROLL): Likewise. + (postMouseWheelEventID): New static variable. + (cp_gtk_component_init_jni): Record postMouseWheelEventID. + (cp_gtk_component_connect_mouse_signals): Connect scroll-event. + (button_number): Renamed to ... + (button_number_direction): variable to hold button number or scroll + direction. + (component_button_press_cb): Use button_number_direction. + (component_scroll_cb): New static callback function. + +2006-03-18 Audrius Meskauskas + + * javax.swing.JTable.java (TableTextField.scrollRectToVisible): + Return without action. + +2006-03-18 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (paintComponent): + Don't cast graphics object to GdkGraphics. + (updateComponent): Likewise. + +2006-03-18 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModel.getColumnClass): Set second column to Icon. + (TModel.isCellEditable): Say icons are not editable. + (createContent): Fill the in second column with some icons from + MetalIconFactory. + +2006-03-18 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/Demo.java + (mkButtonBar): Set maximal button bar height to the preferred height. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Substract insets from scroller width. + (getPopupHeightForRowCount): If height==0, return a default of 100 + instead for empty ComboBoxes. + +2006-03-18 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.autoClosePopups): Removed field. + (PopupHelper.mousePressed): Removed processing of registered + autoclose popups. + (registerForAutoClose): Removed unneeded method. + (autoClosePopups): Removed unneeded method. + (registerForAutoClose): Removed unneeded method. + +2006-03-18 Audrius Meskauskas + + * javax.swing.JTable.java (TableTextField): Set border. + (moveToCellBeingEdited): Do not adjust the editor boundaries + +2006-03-18 Michael Koch + + * resource/gnu/java/locale/LocaleInformation_aa.properties, + resource/gnu/java/locale/LocaleInformation_af.properties, + resource/gnu/java/locale/LocaleInformation_am.properties, + resource/gnu/java/locale/LocaleInformation_ar.properties, + resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties, + resource/gnu/java/locale/LocaleInformation_be.properties, + resource/gnu/java/locale/LocaleInformation_bg.properties, + resource/gnu/java/locale/LocaleInformation_bn.properties, + resource/gnu/java/locale/LocaleInformation_ca.properties, + resource/gnu/java/locale/LocaleInformation_cs.properties, + resource/gnu/java/locale/LocaleInformation_cy.properties, + resource/gnu/java/locale/LocaleInformation_da.properties, + resource/gnu/java/locale/LocaleInformation_de.properties, + resource/gnu/java/locale/LocaleInformation_de_CH.properties, + resource/gnu/java/locale/LocaleInformation_dz.properties, + resource/gnu/java/locale/LocaleInformation_en.properties, + resource/gnu/java/locale/LocaleInformation_eo.properties, + resource/gnu/java/locale/LocaleInformation_es.properties, + resource/gnu/java/locale/LocaleInformation_et.properties, + resource/gnu/java/locale/LocaleInformation_eu.properties, + resource/gnu/java/locale/LocaleInformation_fa.properties, + resource/gnu/java/locale/LocaleInformation_fa_AF.properties, + resource/gnu/java/locale/LocaleInformation_fi.properties, + resource/gnu/java/locale/LocaleInformation_fo.properties, + resource/gnu/java/locale/LocaleInformation_fr.properties, + resource/gnu/java/locale/LocaleInformation_ga.properties, + resource/gnu/java/locale/LocaleInformation_gl.properties, + resource/gnu/java/locale/LocaleInformation_gu.properties, + resource/gnu/java/locale/LocaleInformation_he.properties, + resource/gnu/java/locale/LocaleInformation_hi.properties, + resource/gnu/java/locale/LocaleInformation_hr.properties, + resource/gnu/java/locale/LocaleInformation_hu.properties, + resource/gnu/java/locale/LocaleInformation_hy.properties, + resource/gnu/java/locale/LocaleInformation_id.properties, + resource/gnu/java/locale/LocaleInformation_is.properties, + resource/gnu/java/locale/LocaleInformation_it.properties, + resource/gnu/java/locale/LocaleInformation_ja.properties, + resource/gnu/java/locale/LocaleInformation_ka.properties, + resource/gnu/java/locale/LocaleInformation_km.properties, + resource/gnu/java/locale/LocaleInformation_ko.properties, + resource/gnu/java/locale/LocaleInformation_lo.properties, + resource/gnu/java/locale/LocaleInformation_lt.properties, + resource/gnu/java/locale/LocaleInformation_lv.properties, + resource/gnu/java/locale/LocaleInformation_mk.properties, + resource/gnu/java/locale/LocaleInformation_mr.properties, + resource/gnu/java/locale/LocaleInformation_ms.properties, + resource/gnu/java/locale/LocaleInformation_mt.properties, + resource/gnu/java/locale/LocaleInformation_nb.properties, + resource/gnu/java/locale/LocaleInformation_nl.properties, + resource/gnu/java/locale/LocaleInformation_nn.properties, + resource/gnu/java/locale/LocaleInformation_om.properties, + resource/gnu/java/locale/LocaleInformation_pl.properties, + resource/gnu/java/locale/LocaleInformation_ps.properties, + resource/gnu/java/locale/LocaleInformation_pt.properties, + resource/gnu/java/locale/LocaleInformation_pt_PT.properties, + resource/gnu/java/locale/LocaleInformation_ro.properties, + resource/gnu/java/locale/LocaleInformation_ru.properties, + resource/gnu/java/locale/LocaleInformation_sk.properties, + resource/gnu/java/locale/LocaleInformation_sl.properties, + resource/gnu/java/locale/LocaleInformation_so.properties, + resource/gnu/java/locale/LocaleInformation_sq.properties, + resource/gnu/java/locale/LocaleInformation_sr.properties, + resource/gnu/java/locale/LocaleInformation_sr_Latn.properties, + resource/gnu/java/locale/LocaleInformation_sv.properties, + resource/gnu/java/locale/LocaleInformation_sw.properties, + resource/gnu/java/locale/LocaleInformation_ta.properties, + resource/gnu/java/locale/LocaleInformation_te.properties, + resource/gnu/java/locale/LocaleInformation_th.properties, + resource/gnu/java/locale/LocaleInformation_tr.properties, + resource/gnu/java/locale/LocaleInformation_uk.properties, + resource/gnu/java/locale/LocaleInformation_uz.properties, + resource/gnu/java/locale/LocaleInformation_vi.properties, + resource/gnu/java/locale/LocaleInformation_zh.properties, + resource/gnu/java/locale/LocaleInformation_zh_Hant.properties: + Updated to use the new localized strings for currencies, languages, + variants, territories, etc. + +2006-03-18 Ito Kazumitsu + + * gnu/regexp/REMatch.java(matchedCharIndexed): New field, + (start, end): Added comment about the negative values of them, + (finish): Saves the input text in matchedCharIndexed, + (toString): If the start or end index is out of bounds of the + matched text, get the substring from matchedCharIndexed. + Added special handlings in case start/end index < -1, + (getSubStartIndex, getStartIndex, getSubEndIndex, getEndIndex): + Added special handlings in case start/end index < -1, + * gnu/regexp/RETokenLookAhead.java(matchThis): Return the newly + found match, but keep the index as the original match. + * gnu/regexp/RETokenLookBehind.java(matchThis): Return the newly + found match, but keep the index as the original match. + * gnu/regexp/RETokenBackRef.java(matchThis): Added special handlings + in case start/end index < -1. + +2006-03-17 Audrius Meskauskas + + * gnu/java/rmi/activation/ActivationSystemTransient.java (debug): + Set to false. + +2006-03-17 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked) Use setDot() and moveDot() instead of + JTextComponent.select(). + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxEditor.java + (MetalComboBoxEditorBorder.paintBorder): Implemented special + border painting for the Ocean theme. + (MetalComboBoxEditor): Create editor directly instead of going + to super. + +2006-03-17 Roman Kennke + + * javax/swing/text/JTextComponent.java + (JTextComponent): Make text components opaque. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxUI.java + (MetalComboBoxLayoutManager.layoutContainer): Forward to + layoutComboBox(). + (MetalPropertyChangeListener.propertyChange): Update focusable + flag according to the enable and editable state. + (editablePropertyChanged): Removed unnecessary code. + (getMinimumSize): Rewritten to correctly compute the + size, respecting the insets of the components and the icon, + the visual properties of the combobox, etc. + (configureEditor): Update listeners correctly. + (unconfigureEditor): Update listeners correctly. + (layoutComboBox): Implemented. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxEditor.java + (MetalComboBoxEditorBorder): Made this a subclass of AbstractBorder + instead of Flush3DBorder. + (paintBorder): Fixed border painting. + (editorBorderInsets): Fixed border's insets. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (rendererPane): Documented. + (MetalComboBoxButton): Set enabled flag from ComboBox. + Set focusable flag from ComboBox's enabled flag. + (isFocusTraversable): Make button focus traversable if + ComboBox is not editable but enable. + (paintComponent): Fixed painting to correctly adjust + the boxes of the renderer and button. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (installDefaults): Only install UI margin if installed margin. + is null or a UIResource. + (uninstallDefaults): Only uninstall margin if it's + a UIResource. + + 2006-03-17 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseClicked) Use setDot() and moveDot() instead of + JTextComponent.select(). + +2006-03-17 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Refactored anonymous + inner classes into package-private inner classes, added actions + for caret movement and selection to the next and previous word + and an action which selects the whole text. + +2006-03-17 Thomas Fitzsimmons + + * javax/swing/Spring.java: Uncomment springdebug methods and + rename them toString. + * javax/swing/SpringLayout.java: Likewise. + +2006-03-17 Robert Schuster + + * javax/swing/text/FieldView.java: + (viewToModel): Added call to adjust allocation area. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxUI.java + (mouseListener): Removed field. + (buttonBackground): Removed field. + (buttonShadow): Removed field. + (buttonDarkShadow): Removed field. + (buttonHighlight): Removed field. + (BasicComboBoxUI): Initialize currentValuePane and cachedMinimumSize. + (installUI): Initialize and configure renderer and editor here. + (uninstallUI): Close popup before uninitializing. + Message popup that we are uninitializing. Clear layout. + (installDefaults): Install UI border. Don't install colors. + (installListeners): Install listeners fetched from the popup. + Remove handling of mouseListener. + (uninstallDefaults): Uninstall border. Don't handle colors. + (uninstallListeners): Don't handle mouseListener. Uninstall + listener from the popup. + (createMouseListener): Removed method. + (createRenderer): Create UIResource. + (installComponents): Cleaned up. + (uninstallComponents): Only remove renderer when it is + a UIResource. + (addEditor): Remove editor before adding new one. + Fetch editor from comboBox. + (removeEditor): Only do something when editor != null. Unconfigure + editor before removing. + (configureEditor): Add key listener. Call comboBox.configureEditor. + (unconfigureEditor): Removed key listener. + (configureArrowButton): Only handle when arrowButton != null. + Add mouse listeners to arrow button. + (unconfigureArrowButton): Remove listeners. + (createArrowButton): Don't handle colors here. + (setPopupVisible): Don't handle focus here. + (paint): Only paint when comboBox is not editable. Update + hasFocus flag. + (getPreferredSize): Implemented to be minimumSize + 4 pixels width. + (getMinimumSize): Respect insets here. + (getMaximumSize): Return preferredSize with width of 32767. + (getInsets): Return ComboBox insets. + (paintCurrentValue): Paint using currentValuePane. + Install correct colors. Don't revalidate. + (paintCurrentValueBackground): Implemented. + (getDefaultSize): Reimplemented using a default renderer. + (getDisplaySize): Reimplemented to use renderer. + (ComboBoxLayoutManager.preferredLayoutSize): Forward to component. + (ComboBoxLayoutManager.minimumLayoutSize): Forward to component. + (ComboBoxLayoutManager.layoutContainer): Fixed layout. + (FocusHandler.focusGained): Don't invalidate minimumSize. + (FocusHandler.focusLost): Don't invalidate minimumSize. + Only close popup if focus change is not temporary. + (ItemHandler.itemStateChanged): Don't invalidate minimumSize. + Reconfigure editor if not null. + (ListDataHandler.contentsChanged): Revalidate and reconfigure + editor if necessary. + (ListDataHandler.intervalAdded): Fixed updating of the display size. + (ListDataHandler.intervalRemoved): Forward to contentsChanged. + (MouseHandler): Removed unnecessary class. + +2006-03-17 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (Demo): Set default closing operation to shutdown the runtime. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (BasicComboPopup): Create listeners here. + Configure components here. + (show): Correctly calculate bounds using computePopupBounds(). + Make scroller fixed-size. Removed special autocloser handling. + (hide): Rewritten to use MenuSelectionHandler. + (createList): Don't set selection mode here. + (configureList): Correctly install colors and fonts and selectionMode. + (createScroller): Set scrollpane policies. + (configureScroller): Make scroller and scrollbar not-focusable. + (configurePopup): Make popup opaque and borderPainted. + (installComboBoxListeners): Don't install mouse listener on ComboBox. + (delegateFocus): Implemented. + (convertMouseEvent): Implemented. + (updateListBoxSelectionForEvent): Implemented to also handle + autoscrolling. + (InvocationMouseHandler.mousePressed): Delegate focus correctly. + Only open popup on left mouse-click. + (InvocationMouseHandler.mouseReleased): Rewritten. + (InvocationMouseMotionHandler.mouseDragged): Rewritten to better + support autoscrolling. + (ItemHandler.itemStateChanged): Implemented to sync selection with + the comboBox. + (ListMouseHandler.mouseReleased): Fetch selected index directly + from list. + (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside + the list box. + (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. + When model changes, then update listeners correctly. + (uninstallListeners): Don't uninstall list listeners. + (uninstallComboBoxListeners): Don't uninstall mouse listeners + from comboBox. + (syncSelection): New helper method. + +2006-03-17 Robert Schuster + + * javax/swing/text/PlainView.java: + (drawLine): Rewritten. + (drawSelectedText): Corrected last argument for + Utilities.drawTabbedText() call. + (paint): Store start and end of selection in object variables, + store constant values of for-loop in local variables. + * javax/swing/text/Utilities.java: + (drawTabbedText): Add 'pixelWidth' to the return value, store + constant value of for-loop in local variable. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (BasicComboPopup): Create listeners here. + Configure components here. + (show): Correctly calculate bounds using computePopupBounds(). + Make scroller fixed-size. Removed special autocloser handling. + (hide): Rewritten to use MenuSelectionHandler. + (createList): Don't set selection mode here. + (configureList): Correctly install colors and fonts and selectionMode. + (createScroller): Set scrollpane policies. + (configureScroller): Make scroller and scrollbar not-focusable. + (configurePopup): Make popup opaque and borderPainted. + (installComboBoxListeners): Don't install mouse listener on ComboBox. + (delegateFocus): Implemented. + (convertMouseEvent): Implemented. + (updateListBoxSelectionForEvent): Implemented to also handle + autoscrolling. + (InvocationMouseHandler.mousePressed): Delegate focus correctly. + Only open popup on left mouse-click. + (InvocationMouseHandler.mouseReleased): Rewritten. + (InvocationMouseMotionHandler.mouseDragged): Rewritten to better + support autoscrolling. + (ItemHandler.itemStateChanged): Implemented to sync selection with + the comboBox. + (ListMouseHandler.mouseReleased): Fetch selected index directly + from list. + (ListMouseMotionHandler.mouseMoved): Only update when mouse is inside + the list box. + (PropertyChangeHandler.propertyChange): Don't revalidate/repaint here. + When model changes, then update listeners correctly. + (uninstallListeners): Don't uninstall list listeners. + (uninstallComboBoxListeners): Don't uninstall mouse listeners + from comboBox. + (syncSelection): New helper method. + +2006-03-17 Roman Kennke + + * javax/swing/plaf/basic/BasicComboBoxRenderer.java + (noFocusBorder): Make border with insets of (1,1,1,1). + (BasicComboBoxRenderer): Make renderer opaque. + No need to explicitly set alignment. + (getListCellRendererComponent): Rewritten to correctly initialize + color and font. + +2006-03-17 Roman Kennke + + * javax/swing/JPopupMenu.java + (setVisible): Handle JPopupMenu opening and closing via + the MenuSelectionHandler. + +2006-03-17 Wolfgang Baer + + * org/omg/DynamicAny/DynAnyPackage/InvalidValue.java: Now final. + * org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java: Likewise. + * org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java: + Likewise. + * org/omg/CORBA/portable/RemarshalException.java: Likewise + * org/omg/CORBA/TypeCodePackage/BadKind.java: Likewise. + * org/omg/CORBA/TypeCodePackage/Bounds.java: Likewise. + * org/omg/CORBA/ORBPackage/InvalidName.java: Likewise. + * org/omg/CORBA/ORBPackage/InconsistentTypeCode.java: Likewise. + * org/omg/CORBA/DynAnyPackage/TypeMismatch.java: Likewise. + * org/omg/CORBA/DynAnyPackage/InvalidValue.java: Likewise. + * org/omg/CORBA/DynAnyPackage/InvalidSeq.java: Likewise. + * org/omg/CORBA/DynAnyPackage/Invalid.java: Likewise. + * org/omg/Dynamic/Parameter.java: Now final, javadoc fixes. + +2006-03-17 Audrius Meskauskas + + * java/rmi/activation/Activatable.java: Implemented. + java/rmi/activation/ActivationDesc.java: Implemented. + java/rmi/activation/ActivationGroup.java: Implemented. + java/rmi/activation/ActivationGroupDesc.java: Implemented. + java/rmi/activation/ActivationID.java: Implemented. + java/rmi/activation/ActivationSystem.java: Implemented. + * gnu/java/rmi/server/UnicastServerRef.java + (exportObject, incommingMessageCall): Documented. + * java/rmi/activation/package.html: Documented. + * java/rmi/server/ObjID.java (objNum, space): Made package + protected. + * gnu/java/rmi/server/UnicastServer.java: Rewritten. + * gnu/java/rmi/server/CombinedClassLoader.java (constructor): + Iteration bug fix. + * gnu/java/rmi/activation/ActivationSystemTransient.java: New file. + gnu/java/rmi/activation/BidiTable.java: New file. + gnu/java/rmi/activation/DefaultActivationGroup.java: New file. + gnu/java/rmi/activation/DefaultActivationSystem.java: New file. + gnu/java/rmi/server/ActivatableServerRef.java: New file. + +2006-03-17 Mark Wielaard + + * java/security/BasicPermission.java (BasicPermission): Check + name equals empty string to force NullPointerException. + +2006-03-16 Thomas Fitzsimmons + + PR classpath/26606 + Commit patch by Caolan McNamara + * javax/swing/Spring.java: Complete implementation + * javax/swing/SpringLayout.java: Likewise. + +2006-03-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_mainThread): Not needed. Removed + all references. + (run): Remove catch clause for InterruptedException. It is no + longer necessary. + +2006-03-16 Thomas Fitzsimmons + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): Handle monospaced fonts specially. + +2006-03-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (getJdwpThreadGroup): New method. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (suspendAllThreads): Use Jdwp.getJdwpThreadGroup. + Don't suspend the current thread unless it is not part of the JDWP + thread group. + +2006-03-16 Thomas Fitzsimmons + + * gnu/java/awt/peer/gtk/GdkFontMetrics.java (getLeading): Always + return 0. + * gnu/java/awt/peer/gtk/GdkFontPeer.java (getFontMetrics): Get + font metrics through toolkit. + * gnu/java/awt/peer/gtk/GdkGraphics.java (getFontMetrics): + Likewise. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c + (getFontMetrics): To calculate Java logical ascent and descent + values, average Pango ink and logical values. + +2006-03-16 Anthony Balkissoon + + * java/lang/Character.java: Updated header comment. + +2006-03-16 Tom Tromey + + * javax/sound/sampled/AudioSystem.java (getAudioFileFormat): New + constructor. + * javax/sound/sampled/FloatControl.java: Now abstract. + * javax/sound/sampled/EnumControl.java: Now abstract. + * javax/sound/sampled/CompoundControl.java: Now abstract. + * javax/sound/sampled/BooleanControl.java: Now abstract. + +2006-03-16 Tom Tromey + + * java/awt/image/ConvolveOp.java (getBounds2D): Now final. + +2006-03-16 Roman Kennke + + * java/util/zip/ZipFile.java + (openFile): New helper method. + (ZipFile): Use new openFile method to ensure the proper + exception is thrown. This applies for all overloaded constructors. + +2006-03-16 Roman Kennke + + * java/text/DateFormatSymbols.java + (setAmPmStrings): Added null check and throw NPE. + (setEras): Likewise. + (setLocalPatternChars): Likewise. + (setMonths): Likewise. + (setShortMonths): Likewise. + (setShortWeekdays): Likewise. + (setWeekdays): Likewise. + (setZoneStrings): Likewise. + +2006-03-16 Roman Kennke + + * javax/swing/DefaultDesktopManager.java + (iconifyFrame): Repaint after removing the frame. + (removeIconFor): Repaint after removing the icon. + +2006-03-16 Roman Kennke + + * javax/swing/JInternalFrame.java + (remove): Respect the rootPaneCheckingEnabled flag here. + +2006-03-16 Roman Kennke + + * gnu/javax/swing/plaf/gnu/GNULookAndFeel.java + Moved from examples into gnu.javax.swing.. namespace. + * examples/gnu/classpath/examples/swing/GNULookAndFeel.java + Moved to gnu.javax.swing.. namespace. + * examples/gnu/classpath/examples/swing/Demo.java: + (themesMenu): New field. Used to disable theme switch in + non-Metal-L&Fs. + (mkMenuBar): Added L&F menu. + (ChangeThemeAction.actionPerformed): Only switch theme when + in Metal L&F. + (ChangeLAFAction): New class used for changing themes. + * javax/swing/UIManager.java + (installed): Added GNU L&F as installed L&F. + +2006-03-16 Mark Wielaard + + * examples/gnu/classpath/examples/swing/badge.png: Removed. + * examples/gnu/classpath/examples/icons/badge.png: Added. + * examples/gnu/classpath/examples/swing/DemoDesktop.java: Use badge + from icon directory. + +2006-03-15 Thomas Fitzsimmons + + * examples/gnu/classpath/examples/awt/AnimationApplet.java: New + example. + * examples/gnu/classpath/examples/swing/FillRect.java: Likewise. + * examples/gnu/classpath/examples/awt/Demo.java: Add + AnimationApplet demo. + * examples/gnu/classpath/examples/swing/Demo.java: Add FillRect + demo. + +2006-03-15 Thomas Fitzsimmons + + PR classpath/26486 + * gnu/java/awt/peer/gtk/GtkCanvasPeer.java (getGraphics): Remove + method. + (handleEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (isInRepaint): + Remove field. + (beginNativeRepaint): Remove method. + (endNativeRepaint): Likewise. + (handleEvent): Call paintComponent and updateComponent. + (paintComponent): New method. + (updateComponent): Likewise. + (repaint): Return early if width or height is less than one. + (postExposeEvent): Remove isInRepaint reference. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java: (getGraphics): + Remove method. + * gnu/java/awt/peer/gtk/GtkDialogPeer.java (getGraphics): Inherit + from GtkWindowPeer. + (postMouseEvent): Likewise. + (postExposeEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java (updateComponent): + Override to do nothing. + * gnu/java/awt/peer/gtk/GtkFramePeer.java (getGraphics): Inherit + from GtkWindowPeer. + (postMouseEvent): Likewise. + (postExposeEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java (handleEvent): Inherit + paint and update handling from GtkComponentPeer. + (updateComponent): Override to call paintComponent. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Replace + gdk_flush calls with schedule_flush calls. + (flush): New function. + (schedule_flush): Likewise. + +2006-03-15 Tom Tromey + + * java/beans/beancontext/BeanContextSupport.java (BCSChild): New + constructor. + (BCSIterator): Likewise. + * java/beans/beancontext/BeanContextServicesSupport.java (BCSSChild): + New constructor. + (BCSSProxyServiceProvider): Likewise. + (BCSSServiceProvider): Likewise. + +2006-03-15 Tom Tromey + + * javax/sound/midi/Track.java (Track): New constructor. + (events): Now package-private. + * javax/sound/midi/MidiUnavailableException.java + (MidiUnavailableException): Removed invalid constructors. + * javax/sound/midi/MidiSystem.java (MidiSystem): New constructor. + * javax/sound/midi/InvalidMidiDataException.java + (InvalidMidiDataException): Removed invalid constructors. + * javax/sound/midi/Sequencer.java (hashCode): Now final. + * javax/sound/midi/SysexMessage.java (SysexMessage): Now protected. + * javax/sound/midi/ShortMessage.java (ShortMessage): Now protected. + (SYSTEM_EXCLUSIVE): Removed. + (getDataLength): Updated. + * javax/sound/midi/MidiDevice.java (Info): Now protected. + (equals): Now final + (getName): Now final. + (getVendor): Now final. + (getDescription): Likewise. + (hashCode): Likewise. + (getVersion): Likewise. + (toString): Likewise. + * javax/sound/midi/MetaMessage.java (MetaMessage): Now protected. + * javax/sound/sampled/ReverbType.java (getDecayTime): Now final. + (getEarlyReflectionDelay): Likewise. + (getEarlyReflectionIntensity): Likewise. + (getLateReflectionDelay): Likewise. + (getLateReflectionIntensity): Likewise. + (toString): Likewise. + * javax/sound/sampled/Port.java (toString): Now final. + * javax/sound/sampled/LineEvent.java (getFramePosition): Now final. + (getLine): Likewise. + (getType): Likewise. + * javax/sound/sampled/Mixer.java (Info): Now protected. + (getDescription): Now final. + (getName): Likewise. + (getVendor): Likewise. + (getVersion): Likewise. + (toString): Likewise. + * javax/sound/sampled/Control.java: Now abstract. + (Type.toString): Now final. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/util/LineTable.java (lines): Remove all occurances + of this redundant variable. + (LineTable): Assert that the number of line numbers and the number of + code indicies is the same. + +2006-03-15 Tom Tromey + + * javax/imageio/stream/ImageOutputStreamImpl.java (flushBits): Now + final. + * javax/imageio/stream/ImageOutputStream.java (flushBefore): Javadoc + fix. + * java/util/zip/ZipFile.java (ENDNRD): New constant. + * java/util/zip/ZipConstants.java (ENDNRD, ENDDCD): Removed. + * java/util/zip/Inflater.java (end): Not deprecated. + * java/util/zip/Deflater.java (end): Not deprecated. + * java/text/Bidi.java (Bidi): Now final. + * java/nio/MappedByteBuffer.java (finalize): Now protected. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/util/Location.java: Rewrite using VMMethod. + (Location): Index is a long, not an int. + (getMethod): New method. + (getIndex): New method. + (toString): New method. + +2006-03-15 Tom Tromey + + * java/awt/image/RescaleOp.java (getRenderingHints): Now final. + * java/awt/image/LookupOp.java (filter): Now final. + (getBounds2D): Likewise. + (getPoint2D): Likewise. + (getTable): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/ConvolveOp.java (filter): Now final. + (getBounds2D): Likewise. + (getKernel): Likewise. + (getPoint2D): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/BandCombineOp.java (getPoint2D): Now final. + (getMatrix): Likewise. + (getBounds2D): Likewise. + (getRenderingHints): Likewise. + * java/awt/image/AffineTransformOp.java (getPoint2D): Now final. + * java/awt/Button.java (AccessibleAWTButton.serialVersionUID): Now + private. + * java/awt/dnd/DropTargetContext.java (TransferableProxy): Now + protected. + * java/awt/dnd/DropTarget.java (DropTargetAutoScroller): Now + protected. + * java/awt/MenuItem.java (AccessibleAWTMenuItem): Now protected. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java: + Update javadoc. + (matches): Implement. + +2006-03-15 Keith Seitz + + * gnu/classpath/jdwp/event/BreakpointEvent.java: New file. + + * gnu/classpath/jdwp/exception/NativeMethodException.java: New file. + +2006-03-15 Tom Tromey + + * java/lang/StrictMath.java (signum): New methods. + +2006-03-15 Tom Tromey + + * .settings/org.eclipse.jdt.core.prefs: Set tabs to 8 spaces. + +2006-03-15 Lillian Angel + + PR classpath/24211 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (Java_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilterUnlocked): + Added check to avoid segmentation fault. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed documentation. + (getComponentAt): Likewise. + +2006-03-15 Roman Kennke + + * javax/swing/JComponent.java + (dragBuffer): New field. + (dragBufferInitialized): New field. + (paint): Added facility for buffered dragging of components. + (initializeDragBuffer): New method. + (getConditionForKeyStroke): Removed deprecated flag. Adjusted + API docs. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BorderListener.mouseDragged): Turn on buffered dragging. + (BorderListener.mouseReleased): Turn off buffered dragging. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed documentation. + (getComponentAt): Likewise. + (findComponentAt): Likewise. + (findComponentAt): Likewise. + +2006-03-15 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (PropertyChangeHandler.propertyChange): Call enableActions(). + Fixed 'iconable' property name. + +2006-03-15 Chris Burdess + + Fixes PR 26700 + * gnu/xml/stream/XMLParser.java: Fix for detectEncoding false positive. + +2006-03-15 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java: + (desktop): New field. + (mkMenuBar): Added new subdemos. + (mkButtonWorld): Removed. + (CheckCellRenderer): Moved to ListDemo. + (LabelCellRenderer): Moved to ListDemo. + (mkTreeWorld): Moved to TreeDemo. + (mkDesktopWorld): Removed. + (mkTabWorld): Moved to TabbedPaneDemo. + (mkTabbedPane): Removed. + (Demo): Replaced 'worlds' tabbed pane with desktop. + (PopupAction): Made class non-static. + (PopupAction.actionPerformed): Bring up subdemos in internal + frame. + (mkButtonBar): Added new demos. + (createDesktop): New method. + * examples/gnu/classpath/examples/swing/DemoDesktop.java: New class. + * examples/gnu/classpath/examples/swing/ListDemo.java: New demo. + * examples/gnu/classpath/examples/swing/TreeDemo.java: New demo. + * examples/gnu/classpath/examples/swing/TabbedPaneDemo.java: New demo. + * examples/gnu/classpath/examples/swing/badge.png: New image file. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Fixed mistake in comments. + (getComponentAt): Likewise. + (locate): Likewise. Also, handled lightweight components. + Heavyweights take precedence over lightweights, so we should + iterate through the heavyweights first. + +2006-03-15 Lillian Angel + + * java/awt/Container.java + (getComponentAt): Added API documentation. + (getComponentAt): Likewise. + (locate): Likewise. Also, removed lines to ignore + invisible components. + (findComponentAt): Added API documentation. + (findComponentAt): Added API documentation. + (findComponentForMouseEvent): Removed, never used. + +2006-03-15 Roman Kennke + + * javax/swing/Popup.java + (LightweightPopup.show): Repaint the panel after showing it. + +2006-03-15 Lillian Angel + + * java/awt/Component.java + (show): repaint should only be called if the component + isShowing and isLightweight. + +2006-03-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (setClosable): Made this property bound. + (setResizable): Made this property bound. + (setIconifiable): Made this property bound. + (setMaximizable): Made this property bound. + +2006-03-15 David Gilbert + + * javax/swing/table/TableColumn.java + (sizeWidthToFit): Implemented. + +2006-03-15 David Gilbert + + * javax/swing/table/TableColumn.java: API docs updated all over, plus + (setIdentifier): Fire required PropertyChangeEvent, + (setCellEditor): Likewise. + +2006-03-15 Roman Kennke + + * examples/gnu/classpath/examples/swing/ButtonDemo.java, + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java, + * examples/gnu/classpath/examples/swing/FileChooserDemo.java, + * examples/gnu/classpath/examples/swing/ProgressBarDemo.java, + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java, + * examples/gnu/classpath/examples/swing/SliderDemo.java, + * examples/gnu/classpath/examples/swing/SpinnerDemo.java, + * examples/gnu/classpath/examples/swing/TableDemo.java, + * examples/gnu/classpath/examples/swing/TextAreaDemo.java, + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: + Reworked to implemented DemoFactory and lazy loading of Sub-demos. + * examples/gnu/classpath/examples/swing/Demo.java: + Cleaned up. Reworked handling of Sub-demos to load lazily. + * examples/gnu/classpath/examples/swing/DemoFactory.java: + New interface. Used for loading the subdemos lazily. + +2006-03-15 Roman Kennke + + * javax/swing/plaf/basic/BasicToolBarUI.java + (PropertyListener.propertyChange): Added null check to avoid NPE. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (COLUMN_WIDTH_PROPERTY): Updated API docs, + (width): Likewise. + (minWidth): Likewise, + (preferredWidth): Likewise, + (maxWidth): Likewise, + (headerRenderer): Likewise, + (cellRenderer): Likewise, + (cellEditor): Likewise, + (changeSupport): Likewise, + (firePropertyChange(String, Object, Object)): Removed, + (firePropertyChange(String, int. int)): Likewise, + (firePropertyChange(String, boolean, boolean)): Likewise, + (setModelIndex): Fire property change, + (setHeaderValue): Call changeSupport directly to generate event, + (setHeaderRenderer): Likewise, + (setCellRenderer): Likewise, + (setWidth): Likewise, + (setPreferredWidth): Likewise, + (setMinWidth): Likewise, + (setMaxWidth): Likewise, + (createDefaultHeaderRenderer): Added API docs. + +2006-03-14 Roman Kennke + + * examples/gnu/classpath/examples/swing/Demo.java + Removed static initializer. + (mkMenuBar): Made method non-static. Added themes menu. + (ChangeThemeAction): New inner class, used to change themes. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (setMaxWidth): Updated width and preferredWidth if necessary, + (getMaxWidth): Updated API docs. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/basic/BasicSliderUI.java + (TrackListener.mouseDragged): Only process event when slider is + enabled. + (TrackListener.mouseReleased): Only process event when slider is + enabled. + (TrackListener.mousePressed): Only process event when slider is + enabled. + +2006-03-14 Roman Kennke + + * NEWS: Added note about OceanTheme support. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalIconFactory.java + (HorizontalSliderThumbIcon.gradientMask): New field + (HorizontalSliderThumbIcon.paintIcon): Added support for the + OceanTheme. + (VerticalSliderThumbIcon.gradientMask): New field + (VerticalSliderThumbIcon.paintIcon): Added support for the + OceanTheme. + * javax/swing/plaf/metal/MetalUtils.java + (paintHorizontalGradient): Fixed painting of 'masked' gradients. + (paintVerticalGradient): Fixed painting of 'masked' gradients. + +2006-03-14 Mark Wielaard + + Fixes bug #26641 + * java/awt/LightweightDispatcher.java (dispatchEvent): Return result + of handleMouseEvent. + (handleMouseEvent): Return boolean to indicate whether we handled the + event by passing it to a lightweight. + +2006-03-14 Wolfgang Baer + + * org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java, + * org/omg/PortableServer/ServantActivatorPOA.java, + * org/omg/PortableServer/ServantLocatorPOA.java: + Make class abstract and minor api docs fixlets. + * org/omg/PortableServer/ForwardRequest.java, + * org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java, + * org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java, + * org/omg/PortableServer/POAPackage/AdapterNonExistent.java, + * org/omg/PortableServer/POAPackage/InvalidPolicy.java, + * org/omg/PortableServer/POAPackage/NoServant.java, + * org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java, + * org/omg/PortableServer/POAPackage/ObjectNotActive.java, + * org/omg/PortableServer/POAPackage/ServantAlreadyActive.java, + * org/omg/PortableServer/POAPackage/ServantNotActive.java, + * org/omg/PortableServer/POAPackage/WrongAdapter.java, + * org/omg/PortableServer/POAPackage/WrongPolicy.java, + * org/omg/PortableServer/POAManagerPackage/AdapterInactive.java, + * org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java, + * org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java, + * org/omg/PortableServer/CurrentPackage/NoContext.java: Make class final. + +2006-03-14 Wolfgang Baer + + * NEWS: Added entry about printing support. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (COLUMN_WIDTH_PROPERTY): Updated API docs, + (isResizable): Likewise, + (setWidth): Likewise, + (getWidth): Likewise, + (setPreferredWidth): Likewise, + (getPreferredWidth): Likewise, + (setMinWidth): Check for negative argument and update width and + preferredWidth if necessary, + (getMinWidth): Updated API docs. + +2006-03-14 Lillian Angel + + * java/awt/Container.java + (addImpl): Removed call to repaint. No need to repaint here. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalSliderUI.java + (paintTrack): Added OceanTheme support. + +2006-03-14 David Gilbert + + * javax/swing/table/TableColumn.java + (setResizable): Fire PropertyChangeEvent if the flag value changes, + (isResizable): Updated API docs. + +2006-03-14 David Gilbert + + * javax/swing/LookAndFeel.java: Updated API docs. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (paintGradient): Added support for 'masked' gradients. + (paintHorizontalGradient): Likewise. + (paintVerticalGradient): Likewise. + * javax/swing/plaf/metal/MetalIconFactory.java + (RadioButtonIcon.gradientMask): New field. + (RadioButtonIcon.paintIcon): Added mask for gradient painting. + +2006-03-14 Mark Wielaard + + Fixes bug #26645. + * javax/swing/plaf/basic/BasicComboBoxEditor.java (listener): + New field. + (removeActionListener): Add listener to ComboBoxEditorListener. + (removeActionListener): Remove listener from ComboBoxEditorListener. + (ComboBoxEditorListener): New static helper class. + +2006-03-14 Roman Kennke + + * javax/swing/plaf/metal/MetalBorders.java + (getToolBarButtonBorder): Don't create a UIResource border + here. + * javax/swing/plaf/metal/MetalToolBarUI.java + (installUI): New overridden method. Installs the rollover property. + (uninstallUI): New overridden method. Resets the rollover property. + * javax/swing/plaf/metal/MetalUtils.java + (paintGradient): Fetch Float values from the UIManager. Adjusted + method signatures accordingly. + (paintHorizontalGradient): Adjusted signature to accept float + instead of double. + (paintVerticalGradient): Adjusted signature to accept float + instead of double. + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Added missing UIDefaults entries, + except of Icons. Fixed gradient entries to use Float instead + of Double. + +2006-03-14 Roman Kennke + + * javax/swing/JInternalFrame.java + (JInternalFrame): Make JInternalFrame opaque. + * javax/swing/JToolBarFrame.java + (JToolBar): Make JToolBar opaque. + +2006-03-14 David Gilbert + + * javax/swing/tree/TreeNode.java: Fixed bad API doc tags, + * javax/swing/tree/TreePath.java: Likewise. + +2006-03-13 Tom Tromey + + * javax/swing/text/html/StyleSheet.java (removeAttributes): + Genericized. + * javax/swing/plaf/synth/SynthLookAndFeel.java (load): Genericized. + * java/rmi/server/RMIClassLoader.java (loadProxyClass): Genericized. + +2006-03-13 Keith Seitz + + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeMethods): Output number of methods. + +2006-03-13 Roman Kennke + + * javax/swing/plaf/basic/BasicButtonUI.java + (uninstallDefaults): Only uninstall border if it's a UIResource. + * javax/swing/plaf/basic/BasicInternalFrameTitlePane.java + (SystemMenuBar.isFocusTraversable): Fixed typo in signature. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installUI): Don't touch the opaque flag of the glassPane and + the frame. Don't invalidate. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installUI): Don't touch the opaque flag of the glassPane. + * javax/swing/plaf/basic/BasicMenuBarUI.java + (properyChangeListener): Made field private. + (ChangeHandler): Made class private. + (ContainerHandler): Made class private. + (PropertyChangeHandler): Made class private. + * javax/swing/plaf/basic/BasicMenuUI.java + (MenuHandler): Made class private. + (PropertyChangeHandler): Removed unneeded class. + (MenuDragMouseHandler): Made class private. + (MenuKeyHandler): Made class private. + * javax/swing/plaf/basic/BasicPanelUI.java + (installDefaults): Made method protected. Don't set opaque + flag. + * javax/swing/plaf/basic/BasicScrollBarUI.java + (TrackListener.shouldScroll): Made method private. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.BasicHorizontalLayoutManager): + Made constructor package private. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (cellBorder): Made field private. + * javax/swing/plaf/basic/BasicTextUI.java + (installDefaults): Don't make component opaque. + * javax/swing/plaf/basic/BasicToolBarUI.java + (createNonRollOverBorder): Don't create UIResource border. + (createRollOverBorder): Don't create UIResource border. + (installComponents): Moved setRolloverBorders call here. + (installDefaults): Moved setRolloverBorders call from here. + (installUI): Don't make toolbar opaque. + (setBorderToNonRollover): Handle AbstractButton instead of + JButton here. + (uninstallComponents): Don't nullify class fields here. + +2006-03-13 David Gilbert + + * javax/swing/SwingUtilities.java + (calculateInnerArea): handle null component, and replace + getLocalBounds() with getBounds(Rectangle) to avoid unnecessary object + creation. + +2006-03-13 Roman Kennke + + * javax/swing/JColorChooser.java + (updateUI): Don't call revalidate(). + * javax/swing/JComboBox.java + (updateUI): Don't call invalidate(). + * javax/swing/JDesktopPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JFileChooser.java + (updateUI): Don't call revalidate(). + * javax/swing/JMenu.java + (updateUI): Don't call invalidate(). + * javax/swing/JMenuBar.java + (updateUI): Don't call invalidate(). + * javax/swing/JMenuItem.java + (updateUI): Don't call invalidate(). + * javax/swing/JOptionPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JPopupMenu.java + (updateUI): Don't call invalidate(). + * javax/swing/JProgressBar.java + (updateUI): Don't call invalidate(). + * javax/swing/JScrollBar.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JScrollPane.java + (updateUI): Rewritten to be like the other updateUI() + methods. + * javax/swing/JSlider.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JSplitPane.java + (updateUI): Don't call invalidate() and repaint(). + * javax/swing/JTabbedPane.java + (updateUI): Don't call invalidate(). + * javax/swing/JTable.java + (updateUI): Don't call revalidate() and repaint(). + * javax/swing/JToolBar.java + (updateUI): Don't call revalidate() and repaint(). + * javax/swing/JToolTip.java + (updateUI): Don't call revalidate() and repaint(). + +2006-03-13 Roman Kennke + + * javax/swing/SwingUtilities.java + (updateComponentTreeUI): Rewritten to be more robust. Handling of + menus and non-Swing components is improved. + (updateComponentTreeUIImpl): New helper method. + (replaceUIActionMap): Added check for uiActionMap==parent to + avoid loop. + (replaceUIInputMap): Added check for uiInputMap==parent to + avoid loop. + +2006-03-13 Wolfgang Baer + + * gnu/classpath/debug/Component.java: + (IPP) New component for IPP debugging. + (EVERYTHING): Adapted to include IPP. + * javax/print/PrintServiceLookup.java: + (registerServiceProvider): New method. + (registerService): Likewise. + (lookupPrintServices): Likewise. + (lookupMultiDocPrintServices): Likewise. + (lookupDefaultPrintService): Likewise. + (static_initializer): Likewise. + (printServiceLookups): New field for found service providers. + (printServices): New field for application registered providers. + (systemProvider): New field for the system provider. + * javax/print/ServiceUI.java: New file. + * javax/print/package.html: Added more usage content. + * javax/print/event/package.html: Likewise. + * javax/print/attribute/package.html: Likewise. + * javax/print/attribute/standard/package.html: Likewise. + * gnu/javax/print/PrintUriException.java, + gnu/javax/print/PrintFlavorException.java, + gnu/javax/print/PrinterDialog.java, + gnu/javax/print/PrintAttributeException.java, + gnu/javax/print/CupsPrintServiceLookup.java, + gnu/javax/print/CupsServer.java, + gnu/javax/print/CupsPrintService.java, + gnu/javax/print/CupsMediaMapping.java, + gnu/javax/print/CupsIppOperation.java: + New implementation files of the Java Print Service API. + * gnu/javax/print/ipp/IppValueTag.java, + gnu/javax/print/ipp/MultiDocPrintJobImpl.java, + gnu/javax/print/ipp/IppStatusCode.java, + gnu/javax/print/ipp/IppUtilities.java, + gnu/javax/print/ipp/IppResponse.java, + gnu/javax/print/ipp/IppException.java, + gnu/javax/print/ipp/IppPrintService.java, + gnu/javax/print/ipp/IppRequest.java, + gnu/javax/print/ipp/IppMultiDocPrintService.java, + gnu/javax/print/ipp/IppDelimiterTag.java, + gnu/javax/print/ipp/DocPrintJobImpl.java: + New files of the IPP client implementation. + * gnu/javax/print/ipp/attribute/UnknownAttribute.java, + gnu/javax/print/ipp/attribute/StatusMessage.java, + gnu/javax/print/ipp/attribute/RequestedAttributes.java, + gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java, + gnu/javax/print/ipp/attribute/DocumentAccessError.java, + gnu/javax/print/ipp/attribute/DetailedStatusMessage.java, + gnu/javax/print/ipp/attribute/DefaultValueAttribute.java, + gnu/javax/print/ipp/attribute/CharsetSyntax.java: + New attribute syntax/role files of the printing implementation. + * gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java, + gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java, + gnu/javax/print/ipp/attribute/supported/SidesSupported.java, + gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java, + gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java, + gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java, + gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java, + gnu/javax/print/ipp/attribute/supported/ + OrientationRequestedSupported.java, + gnu/javax/print/ipp/attribute/supported/OperationsSupported.java, + gnu/javax/print/ipp/attribute/supported/ + MultipleDocumentHandlingSupported.java, + gnu/javax/print/ipp/attribute/supported/ + MultipleDocumentJobsSupported.java, + gnu/javax/print/ipp/attribute/supported/MediaSupported.java, + gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java, + gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java, + gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java, + gnu/javax/print/ipp/attribute/supported/ + GeneratedNaturalLanguageSupported.java, + gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java, + gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java, + gnu/javax/print/ipp/attribute/supported/CompressionSupported.java, + gnu/javax/print/ipp/attribute/supported/CharsetSupported.java: + New supported attribute files. + * gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java, + gnu/javax/print/ipp/attribute/printer/DocumentFormat.java, + gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java, + gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java, + gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java, + gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java, + gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java, + gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java: + New printer description attribute files. + * gnu/javax/print/ipp/attribute/job/AttributesCharset.java, + gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java, + gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java, + gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java, + gnu/javax/print/ipp/attribute/job/JobPrinterUri.java, + gnu/javax/print/ipp/attribute/job/JobId.java, + gnu/javax/print/ipp/attribute/job/JobMoreInfo.java, + gnu/javax/print/ipp/attribute/job/JobUri.java, + gnu/javax/print/ipp/attribute/job/JobStateMessage.java: + New job description attribute files. + * gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java, + gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java, + gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java, + gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java, + gnu/javax/print/ipp/attribute/defaults/MediaDefault.java, + gnu/javax/print/ipp/attribute/defaults/ + MultipleDocumentHandlingDefault.java, + gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java, + gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java, + gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java, + gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java, + gnu/javax/print/ipp/attribute/defaults/SidesDefault.java: + New default printing attribute files. + * resource/gnu/javax/print/PrinterDialog.properties: New file. + * resource/gnu/javax/print/PrinterDialog_de.properties: Likewise. + * examples/gnu/classpath/examples/print/Demo.java: + New demo application of the current implemented functionality. + +2006-03-13 Audrius Meskauskas + + * java/rmi/activation/ActivationGroupDesc.java: Implemented. + java/rmi/activation/ActivationDesc.java.java, + java/rmi/activation/ActivationGroup.java, + java/rmi/activation/ActivationID.java, + java/rmi/activation/ActivationMonitor.java, + java/rmi/activation/ActivationSystem.java, + java/rmi/activation/package.html: Documenting. + +2006-03-13 Roman Kennke + + * javax/swing/JInternalFrame.java + (setSelected): Repaint frame when it is showing and the selection + state changes. + +2006-03-13 Roman Kennke + + * javax/swing/AbstractButton.java + (AbstractAccessibleButton.getAccessibleRelationSet): Return super....() + instead of null. + +2006-03-13 Roman Kennke + + * javax/accessibility/AccessibleContext.java + (getAccessibleRelationSet): Return empty set instead of null. + +2006-03-13 Roman Kennke + + * javax/swing/ImageIcon.java + (loadImage): Remove completed images from the MediaTracker. This + avoids a potential memory leak. + +2006-03-12 Wolfgang Baer + + * javax/print/MultiDocPrintService.java, + * javax/print/MultiDocPrintJob.java, + * javax/print/MultiDoc.java: Added and enhanced documentation. + +2006-03-12 Audrius Meskauskas + + * java/rmi/activation/ActivationID.java (uid): New field. + (writeExternal, readExternal): New methods. + (equals, hashCode): Rewritten. + * java/rmi/activation/ActivationInstantiator.java, + * java/rmi/activation/ActivationSystem.java, + * java/rmi/activation/Activator.java, + * java/rmi/activation/Activatable.java, + * java/rmi/activation/ActivationGroup.java, + * java/rmi/activation/ActivationGroupDesc.java: + Documented and autoformatted. + * java/rmi/activation/package.html: Added content. + +2006-03-12 Chris Burdess + + Fixes PR 26652 + * gnu/xml/stream/XMLParser.java: Fix for case when both reader and + encoding are specified. + +2006-03-11 David Gilbert + + * javax/swing/DefaultSingleSelectionModel.java: API docs all over, plus + (changeEvent): Initialise in fireStateChange(), + (setSelectedIndex): Check if change is made before firing event, + (clearSelection): Delegate to setSelectedIndex(), + (fireStateChanged): Initialise changeEvent if necessary, + * javax/swing/SingleSelectionModel.java: API docs all over. + +2006-03-11 Tom Tromey + + * java/util/zip/InflaterInputStream.java: Reverted previous + patch. + +2006-03-11 Mark Wielaard + + * java/text/AttributedCharacterIterator.java (Attribute.readResolve): + Compare name. + +2006-03-11 David Gilbert + + * javax/swing/event/TreeSelectionEvent.java + (isAddedPath(TreePath)): Throw IllegalArgumentException if path is + not one of the added/removed paths, + (cloneWithSource): Reformatted. + +2006-03-11 David Gilbert + + * javax/swing/tree/TreeCellEditor.java: Added API docs, + * javax/swing/tree/TreeCellRenderer.java: Likewise. + +2006-03-10 Casey Marshall + + Fixes PR 23768. + * javax/crypto/Cipher.java (doFinal, doFinal, doFinal): don't + reset `state.' + (doFinal, update): new methods. + (init, init, init, init): initialize `state' after trying the + implementation, which can throw an exception. + * javax/crypto/CipherSpi.java (engineDoFinal, engineUpdate): new + methods. + +2006-03-11 Ito Kazumitsu + + * gnu/regexp/BacktrackStack.java: New file. + * gnu/regexp/RE.java(findMatch): New method. + * gnu/regexp/REMatch.java(next,matchFlags,MF_FIND_ALL, + REMatchList): Removed. (backtrackStack): New field. + * gnu/regexp/REToken.java(match): Changed from an abstract + method to an ordinary method defined with the new method + matchThis. (matchThis, getNext, findMatch, returnsFixedLengthMatches, + findFixedLengthMatches, backtrack, toString): New methods. + * gnu/regexp/RETokenAny.java: Inplemented new methods of REToken. + * gnu/regexp/RETokenBackRef.java: Likewise. + * gnu/regexp/RETokenChar.java: Likewise. + * gnu/regexp/RETokenEnd.java: Likewise. + * gnu/regexp/RETokenEndSub.java: Likewise. + * gnu/regexp/RETokenIndependent.java: Likewise. + * gnu/regexp/RETokenLookAhead.java: Likewise. + * gnu/regexp/RETokenLookBehind.java: Likewise. + * gnu/regexp/RETokenNamedProperty.java: Likewise. + * gnu/regexp/RETokenPOSIX.java: Likewise. + * gnu/regexp/RETokenRange.java: Likewise. + * gnu/regexp/RETokenStart.java: Likewise. + * gnu/regexp/RETokenWordBoundary.java: Likewise + * gnu/regexp/RETokenOneOf.java: Rewriten. + * gnu/regexp/RETokenRepeated.java: Rewriten. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/MetalBorders.java + (RolloverButtonBorder.paintBorder): Only call super here. + * javax/swing/plaf/metal/MetalButtonListener.java + (propertyChange): Only call super here. + * javax/swing/plaf/metal/MetalButtonUI.java + (update): Changed condition from isOpaque() to isContentAreaFilled() + for the gradient fill. + * javax/swing/plaf/metal/MetalToggleButtonUI.java + (paintText): API doc fix. Makes paintText not deprecated as specified + but adds comment that this is obsolete. + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Fixed condition so that the Java2D is not + used when the noGraphics2D property is set. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (createDefaultTheme): Set OceanTheme as default metal theme. + +2006-03-10 Roman Kennke + + * javax/swing/text/WrappedPlainView.java + (metrics): Made field package private to avoid accessor method. + (WrappedLine.paint): Call drawLine with y offset of the font ascent. + The drawLine (righly) interprets the y parameter as the baseline. + * javax/swing/text/Utilities.java + (getBreakLocation): Don't consider the offset. The returned value + for getTabbedTextOffset is already relative to the offset. + +2006-03-10 Wolfgang Baer + + * gnu/java/net/protocol/http/Headers.java: Added documentation all over. + (dateFormat): Made private. + (put): Replace only the last occurance and the value. + (putAll): Save one iteration. Clarified documentation. + +2006-03-10 Tom Tromey + + * java/util/zip/InflaterInputStream.java (read): Replace with libgcj + implementation. + * java/util/zip/GZIPInputStream.java (readHeader): Use DEFLATED, + not '8'. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c + (comboboxgroup_get_widget): New function. + (removed): Fixed to use new function to get the correct widget. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (nativeSetCheckboxGroup): Reverted last patch to use get_widget + function. + +2006-03-10 Lillian Angel + + * java/awt/GridBagLayout.java + (ArrangeGrid): Added checks to determine if component + is placed last in a row or column. If so, the location + of the last component should be used to get the location + of the current component. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (nativeSetCheckboxGroup): No need to use new function here. + Should just pass in pointer. + +2006-03-10 Lillian Angel + + * java/awt/GridBagLayout.java + (distributeSizeAndWeight): Change else if to else. This + allows for components to be added to a new row when + their gridheight is REMAINDER. + +2006-03-10 Audrius Meskauskas + + * java/rmi/activation/ActivationDesc.java, + java/rmi/activation/ActivationGroupID.java, + java/rmi/activation/Activator.java, + java/rmi/server/Operation.java, + java/rmi/server/RemoteServer.java: Documented and formatted. + +2006-03-10 David Gilbert + + * javax/swing/JToggleButton.java: Fixed API doc tags, + * javax/swing/OverlayLayout.java: Likewise. + +2006-03-10 David Gilbert + + * javax/swing/DefaultCellEditor.java + (cancelCellEditing): Removed spurious API doc tag. + +2006-03-10 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (create): Put checkbox widget into an event box so it paints properly. + (connectSignals): Fixed to use new function. + (nativeSetCheckboxGroup): Likewise. + (gtkToggleButtonSetActive): Likewise. + (gtkWidgetModifyFont): Likewise. + (gtkButtonSetLabel): Likewise. + (combobox_get_widget): New function. + +2006-03-10 David Gilbert + + * javax/swing/text/rtf/package.html: New file. + +2006-03-10 Roman Kennke + + * javax/swing/plaf/metal/OceanTheme.java + (addCustomEntriesToTable): Fixed ScrollBar.gradient value. + * javax/swing/plaf/metal/MetalScrollBarUI.java + (paintThumb): Only draw Metal pattern if theme is not OceanTheme. + (paintThumbHorizontal): Added handling of OceanTheme. + (paintThumbVertical): Added handling of OceanTheme. + +2006-03-10 Roman Kennke + + Reported by Fridjof Siebert + * java/awt/MediaTracker.java + (removeImage): Only set prev to e when the the images of the + entries are not the same. This avoids a potentially corrupt list. + +2006-03-10 Chris Burdess + + PR 26620: + * gnu/xml/transform/TransformerImpl.java: Suspend wellformedness + checking while reindenting. + +2006-03-10 Thomas Fitzsimmons + + * javax/imageio/plugins/jpeg/JPEGHuffmanTable.java: New file. + +2006-03-09 Tom Tromey + + PR classpath/26585: + * tools/Makefile.am (TOOLSdir): Don't put tools.zip in tools + subdir. Added README. + (install-data-local): Removed. + (uninstall-local): Likewise. + (EXTRA_DIST): Removed. + +2006-03-09 Tom Tromey + + PR classpath/26623: + * native/jni/qt-peer/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/midi-alsa/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-net/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-lang/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/xmlj/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/gtk-peer/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/midi-dssi/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-io/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-nio/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jni/java-util/Makefile.am (nativeexeclib_LTLIBRARIES): + Renamed. + * native/jawt/Makefile.am (nativeexeclib_LTLIBRARIES): Renamed. + * configure.ac (nativeexeclibdir): Renamed from nativelibdir. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/processor/MethodCommandSet.java + (executeVariableTable): Use VMMethod instead of reflection. + (executeLineTable): Likewise. + * gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java + (executeMethods): Rewrite to use new VMVirtualMachine.getAllClassMethods. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getLineTable): Removed. Now resides in VMMethod. + (getVarTable): Likewise. + (getAllClassMethods): New method. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/event/EventManager.java: Update javadoc. + * gnu/classpath/jdwp/event/ThreadStartEvent.java + (ThreadStartEvent): Likewise. + * gnu/classpath/jdwp/event/VmDeathEvent.java (VmDeathEvent): Likewise. + * gnu/classpath/jdwp/event/filters/ConditionalFilter.java + (ConditionalFilter): Likewise. + * gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java + (ExceptionOnlyFilter): Likewise. + * gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java + (FieldOnlyFilter): Likewise. + * gnu/classpath/jdwp/event/filters/StepFilter.java (getDepth): Likewise. + (getSize): Likewise. + (StepFilter): Likewise. + * gnu/classpath/jdwp/id/JdwpId.java: Likewise (for _tag). + * gnu/classpath/jdwp/transport/JdwpPacket.java + (JdwpPacket): Likewise. + (fromBytes): Likewise. + * gnu/classpath/jdwp/transport/JdwpReplyPacket.java + (JdwpReplyPacket): Likewise. + * gnu/classpath/jdwp/util/Value.java (getUntaggedObj): Likewise. + * vm/reference/gnu/classpath/jdwp/VMIdManager.java + (getReferenceType): Likewise. + (newObjectId): Likewise. + * vm/reference/gnu/classpath/jdwp/VMMethod.java (readId): Likewise. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getFrames): Fix typo in parameter name and update javadoc. + (getClassMethod): Update javadoc. + +2006-03-09 David Gilbert + + * javax/swing/event/TreeSelectionEvent.java: Updated API docs, + * javax/swing/event/TreeSelectionListener.java: Likewise. + +2006-03-09 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c + (getHScrollbarHeight): Fixed property name. + (getVScrollbarHeight): Likewise. + +2006-03-09 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c + (get_widget): New function. + (gtkWidgetSetParent): Changed to use new function. + (gtkWidgetSetCursorUnlocked): Likewise. + (gtkWidgetSetSensitive): Likewise. + (gtkWidgetRequestFocus): Likewise. + (gtkWindowGetLocationOnScreen): Likewise. + (gtkWidgetGetDimensions): Likewise. + (gtkWidgetGetPreferredDimensions): Likewise. + (setNativeBounds): Likewise. + (gtkWidgetGetBackground): Likewise. + (gtkWidgetGetForeground): Likewise. + (gtkWidgetSetBackground): Likewise. + (gtkWidgetSetForeground): Likewise. + (setVisibleNativeUnlocked): Likewise. + (isEnabled): Likewise. + (isRealized): Likewise. + (setNativeEventMask): Likewise. + +2006-03-09 Lillian Angel + + PR Classpath\22163 + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c + (create): Added combobox widget to an event box. + (connectSignals): Added call to choice_get_widget to get the + combobox out of the event box. + (append): Likewise. + (nativeRemoveAll): Likewise. + (nativeRemove): Likwise. + (nativeAdd): Likewise. + (selectNative): Likewise. + (choice_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c + (create): Added list scroll window widget to an event box. + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (getWidgetModifyFont): Likewise. + (getWidgetRequestFocus): Likewise. + (append): Likewise. + (add): Likewise. + (delItems): Likewise. + (select): Likewise. + (deselect): Likewise. + (getSize): Likewise. + (getSelectedIndexes): Likewise. + (makeVisible): Likewise. + (setMultipleMode): Likewise. + (list_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c + (create): Added scrollpane to an eventbox. + (setScrollPosition): Changed call to use new function to get the + correct widget out of the event box. + (gtkScrolledWindowSetHScrollIncrement): Likewise. + (gtkScrolledWindowSetVScrollIncrement): Likewise. + (getHScrollbarHeight): Likewise. + (getVScrollbarWidth): Likewise. + (setPolicy): Likewise. + (scrollpane_get_widget): New function. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (create): Added scrollbar to an eventbox. + (setLineIncrement): Changed call to use new function to get the + correct widget out of the event box. + (setPageIncrement): Likewise. + (setBarValues): Likewise. + (scrollbar_get_widget): New function. + * native/jni/gtk-peer/gnu_java_gnu_java_awt_peer_gtk_GtkTextAreaPeer.c + (create): Added text area scroll window widget to an event box. + (connectSignals): Changed call to use new function to get the + correct widget out of the event box. + (insert): Likewise. + (replaceRange): Likewise. + (gtkWidgetModifyFont): Likewise. + (gtkWidgetRequestFocus): Likewise. + (getHScrollbarHeight): Likewise. + (getVScrollbarWidth): Likewise. + (getCaretPosition): Likewise. + (setCaretPosition):Likewise. + (getSelectionStart): Likewise. + (getSelectionEnd): Likewise. + (select): Likewise. + (setEditable): Likewise. + (getText): Likewise. + (setText): Likewise. + (textarea_get_widget): New function. + +2006-03-09 Audrius Meskauskas + + * java/rmi/dgc/VMID.java: + (equals, hashCode, static initializer): Rewritten. + * java/rmi/dgc/package.html: Documented. + +2006-03-09 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkClipboard.java (clipboard, selection): + New static field. + (stringMimeType, imageMimeType, filesMimeType): Initialize directly. + (canCache): Likewise. + (GtkClipboard): Take String argument. + (getInstance): Removed. + (getClipboardInstance, getSelectionInstance): New static methods. + (setSystemContents): Make synchronized. Takes boolean argument. + (initNativeState): Add clipboard and selection. + * gnu/java/awt/peer/gtk/GtkClipboardNotifier.java + (announceClipboardChange, announcePrimaryChange): New static field. + (announce): Take GtkClipboard as argument. + (run): Check which clipboard to announce change for. + * gnu/java/awt/peer/gtk/GtkSelection.java (clipboard): New final + boolean field. + (GtkSelection): Take GtkClipboard as argument. + (requestText, requestImage, requestURIs, requestBytes): Add boolean + clipboard argument. + (requestMimeTypes): Likewise. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemSelection): + New method. + * java/awt/Toolkit.java (getSystemSelection): Document. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c + (cp_gtk_selection_instance): New var. + (current_selection, owner): Removed. + (clipboard_owner_change_cb): Use clipboard argument. + (initNativeState): Store clipboard and selection instances. Cache + setSystemContentsID, provideContentID, provideTextID, provideImageID, + and provideURIsID. + (clipboard_get_func): Use clipboard argument. + (clipboard_clear_func): Likewise. Always call method. + (advertiseContent): Don't cache method ids here. Check whether to + use clpboard or selection. Don't set owner or current_selection. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c + (requestText, requestImage, requestURIs, requestBytes): Use extra + boolean argument to select clipboard. + * native/jni/gtk-peer/gtkpeer.h (cp_gtk_selection): New extern. + (cp_gtk_clipboard_instance, cp_gtk_selection_instance): Likewise. + * include/gnu_java_awt_peer_gtk_GtkClipboard.h: Regenerate. + * include/gnu_java_awt_peer_gtk_GtkSelection.h: Likewise. + +2006-03-09 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java: Remove unused imports. + * gnu/classpath/jdwp/event/EventRequest.java: Likewise. + * gnu/classpath/jdwp/event/filters/ClassMatchFilter.java: Likewise. + * gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java: Likewise. + * gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java: Likewise. + * gnu/classpath/jdwp/transport/ITransport.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMIdManager.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMMethod.java: Likewise. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java: Likewise. + +2006-03-09 Mark Wielaard + + * javax/swing/JList.java (ensureIndexIsVisible): Check whether cell + bounds for index is valid. + * javax/swing/plaf/basic/BasicListUI.java (valueChanged): Likewise. + (paint): Likewise. + (getCellBounds): Update documentation. + +2006-03-09 Arnaud Vandyck + + * .classpath: added exclude pattern on source folders + (Makefiles, README and .cvsignore) + +2006-03-08 Michael Koch + + * java/net/Proxy.java (NO_PROXY): Made final. + (equals): Likewise. + (hashCode): Likewise. + +2006-03-08 Keith Seitz + + * vm/reference/gnu/classpath/jdwp/VMMethod.java: New file. + * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java + (getClassMethod): New method. + +2006-03-08 Audrius Meskauskas + + * java/rmi/server/UID.java (getMachineId): Include the host IP address. + +2006-03-08 Audrius Meskauskas + + * java/rmi/server/ObjID.java: Documented and autoformatted. + +2006-03-08 Audrius Meskauskas + + PR 26584 + * tools/Makefile.am (install-data-local, + uninstall-local): Install/uninstall the tools/README only. + * tools/gnu/classpath/tools/giop/README: Updated. + * tools/README: New file. + +2006-03-08 Lillian Angel + + * java/awt/GridBagLayout.java + (GetLayoutInfo): If the last component added had gridwidth == REMAINDER, + then the next item should be set to current_y (not 0). + +2006-03-08 Lillian Angel + + * java/awt/GridBagLayout.java + (GetLayoutInfo): If gridy is RELATIVE and there is no component + in the bottom-most spot of the column, we need to place that component + at the y-location of the other components in that row. If there are + no other components in that row, then place it at y = 0. + +2006-03-08 David Gilbert + + * javax/swing/ProgressMonitor.java: Updated API docs, + * javax/swing/ProgressMonitorInputStream.java: Likewise. + +2006-03-08 Michael Koch + + * java/net/InetSocketAddress.java + (InetSocketAddress(String,int,resolve)): New private contructor. + (InetSocketAddress(String,int)): Use new private constructor. + (createUnresolved): New method. + +2006-03-07 Michael Koch + + * gnu/java/net/DefaultProxySelector.java, + java/net/Proxy.java, java/net/ProxySelector.java: + New files. + +2006-03-07 Audrius Meskauskas + + * java/rmi/server/UID.java (constructor): Assign last and time fields + after pause. + +2006-03-07 Audrius Meskauskas + + * java/rmi/server/UID.java: New file (replacing). + +2006-03-08 Raif S. Naffah + + * java/util/jar/Manifest.java: Removed unused imports. + (CRLF): New constant. + (read): Added method documentation. + Use UTF-8 encoding instead of 8859_1. + (write): Added method documentation. + Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. + (write_main_section): Replace PrintWriter arg with OutputStream. + Replace JarException with IOException. + (write_version_info): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (write_header): Replace PrintWriter arg with OutputStream. + Re-implemented. + +2006-03-07 David Gilbert + + * javax/swing/tree/DefaultMutableTreeNode.java + (getFirstChild): Updated API docs, + (getLastChild): Likewise, + (getChildAfter): Likewise, + (getChildBefore): Likewise, + (isNodeSibling): Return true if node == this, + (getSiblingCount): Updated API docs, + (getNextSibling): Likewise, + (getPreviousSibling): Likewise, + (isLeaf): Likewise, + (getFirstLeaf): Likewise, + (getLastLeaf): Likewise, + (getNextLeaf): Implemented, + (getPreviousLeaf): Implemented. + +2006-03-07 Tom Tromey + + * java/awt/image/ColorModel.java (getComponents): Javadoc fix. + * java/awt/datatransfer/FlavorEvent.java: Added missing @since. + * java/awt/dnd/DropTargetEvent.java (serialVersionUID): New field. + * java/awt/DefaultFocusTraversalPolicy.java (serialVersionUID): New + field. + +2006-03-07 David Gilbert + + * javax/swing/tree/DefaultMutableTreeNode.java: API docs all over plus + (clone): Reimplemented, + (add): Throw IllegalArgumentException if child is an ancestor, + (remove(int)): Set child's parent to null, + (remove(MutableTreeNode)): Check arguments and set child's parent to + null, + (insert): Check allowsChildren flag, check for null argument, and + check for a node that is an ancestor, + (getIndex): Throw IllegalArgumentException for null argument, + (setAllowsChildren): If setting to false, remove existing children, + (removeAllChildren): Set parent to null for removed children. + +2006-03-07 David Gilbert + + * javax/swing/tree/TreeNode.java: Reformatted and added API docs all + over. + +2006-03-06 Tom Tromey + + * java/lang/StrictMath.java (ulp): New methods. + * java/lang/Math.java (ulp): New methods. + +2006-03-07 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastRef.java, + * gnu/java/rmi/server/UnicastServer.java: Formatted. + +2006-03-07 Audrius Meskauskas + + * gnu/java/rmi/server/CombinedClassLoader.java + (findClass, findLibrary, findResouce, findResources): check + all loaders in array. + +2006-03-07 Audrius Meskauskas + + PR 25526 + * gnu/java/rmi/dgc/DGCImpl.java (LeaseRecord, leaseCache): Removed. + (RefProtector): new inner class. (dirty): Rewritten. + * gnu/java/rmi/server/UnicastRef.java (dgcId, dgcInterfaceHash, + dgcSequence, DIRTY, this_id): New fields. (equals, hashCode, notifyDGC): + new methods. (readExternal): Create LeaseRenewingTask if non local. + * gnu/java/rmi/server/UnicastServer.java (objects): + Use WeakHashMap. (refcache): Use WeakIdentityHashMap. + (getExported): New method. + * gnu/java/rmi/dgc/LeaseRenewingTask.java: New file. + +2006-03-06 Mark Wielaard + + * doc/www.gnu.org/announce/20060306.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.90 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.90. + +2006-03-06 David Gilbert + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Use Boolean.TRUE for + 'CheckBoxMenuItem.borderPainted'. + +2006-03-06 Wolfgang Baer + + * gnu/java/net/protocol/http/Headers.java: Added documentation all over. + (dateFormat): Made private. + (put): Replace only the last occurance and the value. + (putAll): Reimplemented with the put method. + +2006-03-06 Lillian Angel + + PR classpath/26569 + * java/awt/List.java + (preferredSize): Return the size of the list if the peer is + null. + * gnu/java/awt/peer/gtk/GtkListPeer.java + (preferredSize): Code was returning the minimum size of the + list. Added adjustment to the width of the list so it is a + proper size. + +2006-03-06 Wolfgang Baer + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Organized imports. + (getRequestProperty): Remove duplicated null check. + * java/net/URLConnection.java: + (URLConnection): Javadoc fix. + (addRequestProperty): Likewise. + (getDefaultRequestProperty): Likewise. + (getHeaderField): Likewise. + (getHeaderFieldDate): Likewise. + (getHeaderFieldKey): Likewise. + (getHeaderFields): Likewise. + (getRequestProperties): Likewise. + (getRequestProperty): Likewise. + (setDefaultRequestProperty): Likewise. + (setRequestProperty): Likewise. + +2006-03-06 Robert Schuster + + * examples/gnu/classpath/examples/swing/TextArea.java: New file. + * examples/gnu/classpath/examples/swing/Demo.java: + (mkButtonBar): Changed layout manager to GridLayout, added entry for + textarea example. + (mkMenuBar): Added entry for text area example. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/Region.java (FILE_CHOOSER): Renamed. + (FORMATTED_TEXT_FIELD): Likewise. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/SynthPainter.java: Finished. + +2006-03-06 Robert Schuster + + * examples/gnu/classpath/examples/swing/Demo.java: + (mkMenuBar): Added menu entry that will display the VM's name, + version and distributor. + +2006-03-06 Tom Tromey + + * javax/swing/plaf/synth/SynthLookAndFeel.java (getDescription): + Javadoc fix. + (getName): Likewise. + +2006-03-06 Raif S. Naffah + + * java/util/jar/Manifest.java: Removed unused imports. + (CRLF): New constant. + (read): Added method documentation. + Use UTF-8 encoding instead of 8859_1. + (write): Added method documentation. + Use BufferedOutputStream (w/ 4K buffer) instead of PrintWriter. + (write_main_section): Replace PrintWriter arg with OutputStream. + Replace JarException with IOException. + (write_version_info): Likewise. + (write_main_attributes): Likewise. + (write_attribute_entry): Likewise. + (write_individual_sections): Likewise. + (write_entry_attributes): Likewise. + (write_header): Replace PrintWriter arg with OutputStream. + Re-implemented. + +2006-03-06 David Gilbert + + + * javax/swing/tree/FixedHeightLayoutCache.java: Reformatted and fixed + API doc tag warnings, + * javax/swing/tree/VariableHeightLayoutCache.java: Likewise. + +2006-03-06 Dalibor Topic + + * gnu/java/net/protocol/file/Connection.java (unquote): + Update position in buffer after decoding a unicode character + outside of the basic plane. + +2006-03-06 Dalibor Topic + + * java/net/URI.java + (quote): Pass Unicode characters outside the basic plane through. + +2006-03-06 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (damageRange): Rewritten if-expressions to correctly identify the + break condition. + +2006-03-06 Mark Wielaard + + * configure.ac: Set version to 0.90-generics. + * NEWS: Fix typos. + +2006-03-06 Mark Wielaard + + Fixes bug #26568 reported by Paul Jenner + * native/fdlibm/fdlibm.h (__ieee754_rem_pio2): Return an int32_t. + (isnan): Define explicitly isnan if it is not a macro. + +2006-03-06 Robert Schuster + + * javax/swing/text/GapContent.java: + (insertString): Throw exception when argument is below + zero. + +2006-03-06 Robert Schuster + + * javax/swing/text/PlainDocument.java: + (insertUpdate): Extended if-expression, added + code to generate another Element when newly inserted characters + and old ones will be on the same line. + +2006-03-06 Robert Schuster + + * javax/swing/text/DefaultCaret.java: + (mouseDragged): Do selection when shift is pressed. + (mouseClicked): Implemented. + +2006-03-06 Robert Schuster + + * javax/swing/text/PlainDocument.java: Fix copyright header, + added author tags. + (insertUpdate): Do not copy the whole document any more, added some + more variables to prevent needless method calls. + +2006-03-06 Christian Thalinger + + * configure.ac: Check for FREETYPE2. This is a reverted patch and + is required on Darwin. + * native/jni/gtk-peer/Makefile.am (AM_LDFLAGS): Added FREETYPE2. + (AM_CFLAGS): Likewise. + +2006-03-06 Mark Wielaard + + * NEWS: Add updates for 0.90 release. + +2006-03-05 Robert Schuster + + * javax/swing/text/GapContent.java: + (insertString): Throw exception when argument is below + zero. + +2006-03-05 David Gilbert + + + * javax/swing/filechooser/FileFilter.java: + (accept): Fixed API doc tag, + (getDescription): Likewise, + * javax/swing/filechooser/FileView.java: + (isTraversable): Fixed API doc tag. + +2006-03-05 David Gilbert + + * javax/swing/colorchooser/ColorSelectionModel.java: Reformatted and + added API docs all over. + +2006-03-05 David Gilbert + + * javax/swing/plaf/ComboBoxUI.java: Fixed typo in class description, + and corrected a bad API doc tag. + +2006-03-05 David Gilbert + + * javax/swing/undo/StateEditable.java + (restoreState): Fixed bad API doc tag, + * javax/swing/undo/UndoableEdit.java: Copied API doc comments from + AbstractUndoableEdit.java, + * javax/swing/undo/UndoableEditSupport.java + (createCompoundEdit): Fixed bad API doc tag, + * javax/swing/undo/UndoManager.java + (editToBeUndone): Fixed bad API doc tag, + (editToBeRedone): Likewise. + +2006-03-05 David Gilbert + + * javax/swing/DefaultFocusManager.java: Fixed bad API doc tags, + * javax/swing/FocusManager.java: Likewise. + + +2006-03-05 David Gilbert + + + * javax/swing/plaf/metal/MetalComboBoxButton.java + (MetalComboBoxButton(JComboBox, Icon, boolean, CellRendererPane, + JList)): Fixed API doc tag, + * javax/swing/plaf/metal/MetalInternalFrameTitlePane + (createLayout): Fixed API doc warning. + +2006-03-05 Tom Tromey + + * vm/reference/java/lang/reflect/Constructor.java (toString): Use + ClassHelper.getUserName. + * vm/reference/java/lang/reflect/Method.java (toString): Use + ClassHelper.getUserName. + (getUserTypeName): Removed. + * gnu/java/lang/ClassHelper.java (getUserName): New method. + * vm/reference/java/lang/reflect/Field.java (toString): Use + ClassHelper.getUserName. + +2006-03-05 Olivier Jolly + + Fixes PR 22813 + * java/net/URLClassLoader.java (FileURLLoader.getResource): + Allows directories as valid resources. + +2006-03-05 Mark Wielaard + + * configure.ac (VERSION): Set to 0.90-pre-generics. + * Merge with CVS trunk from classpath-0_90-branch-point. + +2006-03-04 Tom Tromey + + * javax/swing/SpringLayout.java (Constraints): New constructor. + * javax/swing/Spring.java (width): New method. + (height): Likewise. + (scale): Likewise. + +2006-03-04 Mark Wielaard + + * gnu/java/net/protocol/http/HTTPConnection.java (Pool.get): Remove + existing connection from pool before returning. + +2006-03-04 Mark Wielaard + + * gnu/xml/stream/SAXParser.java (parse(InputSource)): Ignore + exceptions thrown by handlers while cleaning up and rethrow original + exception. + +2006-03-04 Tom Tromey + + * java/beans/PropertyDescriptor.java (createPropertyEditor): New + method. + (findConstructor): Likewise. + (instantiateClass): Likewise. + +2006-03-04 Audrius Meskauskas + + * gnu/java/rmi/dgc/DGCImpl.java: More comments, boilerplate fix. + (dirty): Do not synchronize on Hashtable. Use the passed (requested) + lease value and not always the default one. + (LeaseRecord): Remember the array of objects, marked as dirty. + java/rmi/dgc/Lease.java: Boilerplate fix. + +2006-03-05 Raif S. Naffah + + * java/util/jar/Attributes.java (putValue): Made it public and updated + method documentation. + +2006-03-04 Mark Wielaard + + * java/awt/Container.java (remove(int)): Always call removeNotify() + on removed Component. + +2006-03-04 Mark Wielaard + + Fixes bug #26460 reported by Beat Wolf . + * javax/swing/JEditorPane.java (setText): Check for empty String + with equals(), not equality (==). + +2006-03-04 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java: Qualify ElementSpec as + DefaultStyledDocument.ElementSpec for gcj 4.0.x. + +2006-03-04 David Gilbert + + * javax/swing/text/GapContent.java + (getArray): Mark as final. + +2006-03-04 David Gilbert + + * javax/swing/text/StyleConstants.java + (CharacterConstants.Background): Marked final, + (CharacterConstants.BidiLevel): Likewise, + (CharacterConstants.Bold): Likewise, + (CharacterConstants.ComponentAttribute): Likewise, + (CharacterConstants.Family): Likewise, + (CharacterConstants.Size): Likewise, + (CharacterConstants.Foreground): Likewise, + (CharacterConstants.IconAttribute): Likewise, + (CharacterConstants.Italic): Likewise, + (CharacterConstants.StrikeThrough): Likewise, + (CharacterConstants.Subscript): Likewise, + (CharacterConstants.Superscript): Likewise, + (CharacterConstants.Underline): Likewise, + (ColorConstants.Foreground): Likewise, + (ColorConstants.Background): Likewise, + (FontConstants.Bold): Likewise, + (FontConstants.Family): Likewise, + (FontConstants.Italic): Likewise, + (FontConstants.Size): Likewise, + (ParagraphConstants.Alignment): Likewise, + (ParagraphConstants.FirstLineIndent): Likewise, + (ParagraphConstants.LeftIndent): Likewise, + (ParagraphConstants.LineSpacing): Likewise, + (ParagraphConstants.Orientation): Likewise, + (ParagraphConstants.RightIndent): Likewise, + (ParagraphConstants.SpaceAbove): Likewise, + (ParagraphConstants.SpaceBelow): Likewise, + (ParagraphConstants.TabSet): Likewise. + +2006-03-03 Tom Tromey + + * javax/net/ssl/SSLException.java: Added missing @since. + Wrote javadoc. + +2006-03-03 Tom Tromey + + * javax/net/ssl/SSLException.java (SSLException): New constructors. + (serialVersionUID): New field. + +2006-03-03 Tom Tromey + + * java/security/spec/InvalidKeySpecException.java + (InvalidKeySpecException): New constructors. + * java/security/cert/CertificateParsingException.java + (CertificateParsingException): New constructors. + * java/security/cert/CertificateEncodingException.java + (CertificateEncodingException): New constructors. + * java/security/cert/CertificateException.java (CertificateException): + New constructors. + * java/security/cert/CRLException.java (CRLException): New + constructors. + +2006-03-03 Tom Tromey + + * java/security/SignatureException.java (SignatureException): New + constructors. + * java/security/ProviderException.java (ProviderException): New + constructors. + * java/security/NoSuchAlgorithmException.java + (NoSuchAlgorithmException): New constructors. + * java/security/KeyStoreException.java (KeyStoreException): New + constructors. + * java/security/KeyManagementException.java (KeyManagementException): + New constructors. + * java/security/InvalidKeyException.java (InvalidKeyException): New + constructors. + * java/security/KeyException.java (KeyException): New constructors. + * java/security/InvalidAlgorithmParameterException.java + (InvalidAlgorithmParameterException): New constructors. + * java/security/DigestException.java (DigestException): New + constructors. + * java/security/GeneralSecurityException.java + (GeneralSecurityException): New constructors. + +2006-03-03 David Gilbert + + * javax/swing/event/CaretEvent.java: Reformatting and fixed API doc + warnings, + * javax/swing/event/DocumentEvent.java: Likewise, + * javax/swing/event/EventListenerList.java: Likewise, + * javax/swing/event/MenuDragMouseEvent.java: Likewise, + * javax/swing/event/MenuKeyEvent.java: Likewise, + * javax/swing/event/TableColumnModelEvent.java: Likewise, + * javax/swing/event/TreeExpansionEvent.java: Likewise, + * javax/swing/event/TreeModelEvent.java: Likewise, + * javax/swing/event/TreeSelectionEvent.java: Likewise, + * javax/swing/event/UndoableEditEvent.java: Likewise. + +2006-03-03 Tom Tromey + + * java/awt/Insets.java (set): New method. + (equals): Added @since. + +2006-03-03 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java + (getRequestProperties): Rewrote. + (addRequestProperty): Rewrote. + (getHeaderFields): Rewrote. + (getHeaderField): Rewrote. + (getHeaderFieldKey): Rewrote. + (getHeaderField): Removed useless cast. + * gnu/java/net/protocol/http/Headers.java: Entire class rewritten. + * gnu/java/net/protocol/http/Request.java (dispatch): Use new Headers + interface. + (notifyHeaderHandlers): Use new Headers interface. + +2006-03-03 Tom Tromey + + * javax/naming/NamingException.java (getExplanation): Javadoc fix. + * javax/naming/spi/ResolveResult.java, + javax/naming/event/NamingExceptionEvent.java, + javax/naming/event/NamingEvent.java, + javax/naming/directory/SearchResult.java, + javax/naming/directory/SearchControls.java, + javax/naming/directory/SchemaViolationException.java, + javax/naming/directory/NoSuchAttributeException.java, + javax/naming/directory/ModificationItem.java, + javax/naming/directory/InvalidSearchFilterException.java, + javax/naming/directory/InvalidSearchControlsException.java, + javax/naming/directory/InvalidAttributesException.java, + javax/naming/directory/InvalidAttributeIdentifierException.java, + javax/naming/directory/AttributeModificationException.java, + javax/naming/directory/AttributeInUseException.java, + javax/naming/TimeLimitExceededException.java, + javax/naming/SizeLimitExceededException.java, + javax/naming/PartialResultException.java, + javax/naming/Reference.java, + javax/naming/ServiceUnavailableException.java, + javax/naming/OperationNotSupportedException.java, + javax/naming/NotContextException.java, + javax/naming/NoPermissionException.java, + javax/naming/NoInitialContextException.java, + javax/naming/NameNotFoundException.java, + javax/naming/NameAlreadyBoundException.java, + javax/naming/NameClassPair.java, + javax/naming/MalformedLinkException.java, + javax/naming/LinkLoopException.java, + javax/naming/LinkException.java, + javax/naming/LimitExceededException.java, + javax/naming/InvalidNameException.java, + javax/naming/InterruptedNamingException.java, + javax/naming/InsufficientResourcesException.java, + javax/naming/ContextNotEmptyException.java, + javax/naming/ConfigurationException.java, + javax/naming/CannotProceedException.java, + javax/naming/CommunicationException.java, + javax/naming/Binding.java, + javax/naming/AuthenticationNotSupportedException.java, + javax/naming/AuthenticationException.java: Added serialVersionUID. + +2006-03-03 David Gilbert + + * javax/swing/event/TableColumnModelEvent.java: Reformatted. + +2006-03-03 David Gilbert + + * javax/swing/event/TableModelListener.java: Updated API docs. + +2006-03-03 Mark Wielaard + + * java/awt/Component.java (addNotify): Expand documentation. + +2006-03-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (GtkComponentPeer): + Always call setParentAndBounds(). + (setComponentBounds): Always call setBounds(). + (setBounds): Call setVisible(). + (setVisible): If no pixels are showing then don't make it visible. + * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): No need + to call setParentAndBounds() anymore. + +2006-03-03 Roman Kennke + + * javax/swing/JInternalFrame.java + (JInternalFrame): Set frame invisible. + (show): Reformatted. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (installDefaults): Do not set invisible here. + +2006-03-03 Roman Kennke + + * java/awt/Toolkit.java + (getScreenInsets): Return (0,0,0,0) here. + +2006-03-03 Roman Kennke + + * javax/swing/text/FlowView.java + (FlowStrategy.layoutRow): Added check for rowCount == 0. + (FlowStrategy.getLogicalView): Made method protected. + +2006-03-03 Chris Burdess + + * gnu/xml/validation/relaxng/AnyNameNameClass.java, + gnu/xml/validation/relaxng/AttributePattern.java, + gnu/xml/validation/relaxng/ChoiceNameClass.java, + gnu/xml/validation/relaxng/ChoicePattern.java, + gnu/xml/validation/relaxng/DataPattern.java, + gnu/xml/validation/relaxng/Define.java, + gnu/xml/validation/relaxng/ElementPattern.java, + gnu/xml/validation/relaxng/EmptyPattern.java, + gnu/xml/validation/relaxng/FullSyntaxBuilder.java, + gnu/xml/validation/relaxng/Grammar.java, + gnu/xml/validation/relaxng/GrammarException.java, + gnu/xml/validation/relaxng/GrammarValidator.java, + gnu/xml/validation/relaxng/GroupPattern.java, + gnu/xml/validation/relaxng/InterleavePattern.java, + gnu/xml/validation/relaxng/ListPattern.java, + gnu/xml/validation/relaxng/NSNameNameClass.java, + gnu/xml/validation/relaxng/NameClass.java, + gnu/xml/validation/relaxng/NameNameClass.java, + gnu/xml/validation/relaxng/NotAllowedPattern.java, + gnu/xml/validation/relaxng/OneOrMorePattern.java, + gnu/xml/validation/relaxng/Param.java, + gnu/xml/validation/relaxng/Pattern.java, + gnu/xml/validation/relaxng/RELAXNGSchemaFactory.java, + gnu/xml/validation/relaxng/RefPattern.java, + gnu/xml/validation/relaxng/TextPattern.java, + gnu/xml/validation/relaxng/ValuePattern.java: New RELAX NG grammar + builder and data model. + * gnu/xml/validation/xmlschema/AnyAttribute.java, + gnu/xml/validation/xmlschema/AttributeDeclaration.java, + gnu/xml/validation/xmlschema/AttributeUse.java, + gnu/xml/validation/xmlschema/ComplexType.java, + gnu/xml/validation/xmlschema/ElementDeclaration.java, + gnu/xml/validation/xmlschema/Particle.java, + gnu/xml/validation/xmlschema/ValidationException.java, + gnu/xml/validation/xmlschema/XMLSchema.java, + gnu/xml/validation/xmlschema/XMLSchemaAttributeTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaBuilder.java, + gnu/xml/validation/xmlschema/XMLSchemaElementTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaSchemaFactory.java, + gnu/xml/validation/xmlschema/XMLSchemaTypeInfo.java, + gnu/xml/validation/xmlschema/XMLSchemaTypeInfoProvider.java, + gnu/xml/validation/xmlschema/XMLSchemaValidator.java, + gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java: New + W3C XML Schema builder and schema components. + * javax/xml/validation/SchemaFactory.java: Recognise RELAX NG and W3C + XML Schema namespace URIs. + +2006-03-03 Thomas Fitzsimmons + + * NEWS: Add entry for --enable-collections. + * configure.ac: Add --enable-collections option. + * lib/Makefile.am (collections.jar): New target. + (glibj_DATA): Add $(COLLECTIONS). + * lib/mkcollections.pl.in (destpath): Set from COLLECTION_PREFIX + configure substitution. + (classpath): Read from command line. + (javautilclasses): Remove BasicMapEntry. Add RandomAccess. + +2006-03-03 David Gilbert + + * javax/swing/SpringLayout.java: Fixed API doc warnings. + +2006-03-03 David Gilbert + + * javax/swing/event/ListSelectionEvent.java + (toString): Implemented, + plus updated API docs all over. + +2006-03-03 David Gilbert + + * javax/swing/event/ListSelectionEvent.java: Reformatted and fixed + API doc warnings, + * javax/swing/event/ListSelectionListener.java: Updated API docs. + +2006-03-03 Audrius Meskauskas + + * gnu/java/rmi/dgc/DGCImpl.java, + java/rmi/dgc/DGC.java, + java/rmi/dgc/Lease.java: Formatted and commented. + +2006-03-03 Roman Kennke + + * NEWS: Added comment about text highlighting and copy+paste + in Swing. + +2006-03-03 Roman Kennke + + * javax/swing/JTabbedPane.java + (remove(int)): Call super.remove(int) instead of remove(Component). + Avoids a stack overflow. + +2006-03-03 Roman Kennke + + * javax/swing/JTable.java + (distributeSpillResizing): Avoid ArithmeticException by checking + divisor. + +2006-03-03 David Gilbert + + * javax/swing/text/package.html: Added package description. + +2006-03-03 David Gilbert + + * javax/swing/CellRendererPane.java: Minor API doc fix, + * javax/swing/ComboBoxModel.java: Updated API docs. + +2006-03-03 Chris Burdess + + Fixes PR 26503 + * gnu/xml/stream/EntityReferenceImpl.java, + gnu/xml/stream/FilteredEventReader.java, + gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLEventAllocatorImpl.java, + gnu/xml/stream/XMLEventFactoryImpl.java, + gnu/xml/stream/XMLEventImpl.java, + gnu/xml/stream/XMLEventReaderImpl.java, + gnu/xml/stream/XMLEventWriterImpl.java, + gnu/xml/stream/XMLInputFactoryImpl.java, + gnu/xml/stream/XMLOutputFactoryImpl.java, + gnu/xml/stream/XMLParser.java, + javax/xml/stream/EventFilter.java, + javax/xml/stream/Location.java, + javax/xml/stream/StreamFilter.java, + javax/xml/stream/XMLEventFactory.java, + javax/xml/stream/XMLEventReader.java, + javax/xml/stream/XMLEventWriter.java, + javax/xml/stream/XMLInputFactory.java, + javax/xml/stream/XMLOutputFactory.java, + javax/xml/stream/XMLReporter.java, + javax/xml/stream/XMLResolver.java, + javax/xml/stream/XMLStreamConstants.java, + javax/xml/stream/XMLStreamReader.java, + javax/xml/stream/events/EntityDeclaration.java, + javax/xml/stream/events/EntityReference.java, + javax/xml/stream/events/XMLEvent.java, + javax/xml/stream/util/EventReaderDelegate.java, + javax/xml/stream/util/ReaderDelegate.java: Updated to final version of + StAX API as specified in JWSDP 2.0. + * gnu/xml/stream/EndEntityImpl.java, + gnu/xml/stream/LocationImpl.java, + gnu/xml/stream/StartEntityImpl.java, + gnu/xml/stream/XMLStreamReaderImpl.java, + javax/xml/stream/XMLFilter.java, + javax/xml/stream/XMLIterator.java, + javax/xml/stream/events/EndEntity.java, + javax/xml/stream/events/StartEntity.java: Removed legacy files. + +2006-03-03 David Gilbert + + * javax/swing/CellEditor.java: API doc updates, + * javax/swing/DefaultCellEditor.java: Likewise. + +2006-03-03 David Gilbert + + * javax/swing/AbstractListModel.java: + (AbstractListModel): Added API docs, + (fireContentsChanged): Minor API doc correction, + (fireIntervalAdded): Likewise, + (fireIntervalRemoved): Likewise. + +2006-03-03 Roman Kennke + + * NEWS: Added paragraph about Swing improvements. + +2006-03-03 David Gilbert + + * javax/swing/AbstractAction.java: Updated API docs all over, + * javax/swing/AbstractCellRenderer.java: Minor reformatting, plus + (stopCellEditing): Minor API doc correction, + * javax/swing/UnsupportedLookAndFeelException.java + (UnsupportedLookAndFeelException): Changed argument name, updated API + docs. + +2006-03-03 Roman Kennke + + * javax/swing/plaf/metal/MetalUtils.java + (fillMetalPattern): Added switch to not use Graphics2D methods, + even if they are available. + +2006-03-03 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java + (isHTMLString): Check for string beeing null. + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (BasicInternalFrameListener.internalFrameActivated): Implemented. + (BasicInternalFrameListener.internalFrameDeactivated): Implemented. + (InternalFrameLayout): Don't touch the glass pane here. + (installUI): Fix handling of glass pane. + * javax/swing/plaf/basic/BasicLabelUI.java + (vr): New field. + (ir): New field. + (tr): New field. + (BasicLabelUI): Initialize new fields. + (getPreferredSize): Avoid creating new Rectangles by using + SwingUtilities method. + (paint): Avoid creating new Rectangles by reusing + new fields. Added some preliminary handling of HTML inside the + label. + (installComponents): Handle HTML by calling BasicHTML.updateRenderer. + (uninstallComponents): Clear HTML renderer. + (propertyChange): Check for HTML text and install renderer if + appropriate. + * javax/swing/plaf/basic/BasicListUI.java + (getCellBounds): Avoid creating new Rectangle by using SwingUtilities + method. + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.getStartOffset): Implemented. + (RootView.getEndOffset): Implemented. + (RootView.getDocument): Implemented. + +2006-03-03 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.inserUpdate): Added check for zero-length + element. + * javax/swing/text/DefaultStyledDocument.java + (setIndex): Improved exception message. + * javax/swing/text/TableView.java + Made class abstract. + (TableRow.replace): Probably extend columnRequirements + arrays. + (TableRow.layoutMinorAxis): Call super.layoutMinorAxis instead + of super.layoutMajorAxis. + (columnRequirements): Made field package private. + (TableView): Do not load any child views here. + (layoutColumns): Implemented this method. + (updateColumnRequirements): New helper method. + * javax/swing/text/Utilities.java + (getBreakLocation): Also take offset into account when + finding end location. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.parseStack): New field. + (HTMLReader.blockOpen): Properly handle p-implied tags. + (HTMLReader.blockClose): Properly handle p-implied and empty tags. + (HTMLReader.addContent): Insert p-implied when adding content to + a block element. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create HTMLTableView for
tags and + ParagraphView for TD tags. Print out warning for tags that don't have + matching view yet and create NullView for them. + (read): Only set document base when document != null. + * javax/swing/text/html/HTMLTableView.java: + New class + +2006-03-03 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java + (HTMLRootView): New inner class. + (createHTMLView): Embed view inside a HTMLRootView. + +2006-03-03 Wolfgang Baer + + * gnu/java/net/protocol/jar/Connection.java: + (connect): Throw FileNotFoundException. + (getInputStream): Remove duplicated code. + +2006-03-03 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Added null check for clip. + +2006-03-02 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Fixed + to use GtkWidget instead of GTKMenu. + +2006-03-02 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Changed to + use the submenu to get the list of children. This now works + in the same way as addItem. + +2006-03-02 Anthony Balkissoon + + * java/lang/StringBuilder.java: + (codePointAt): New method. + (codePointBefore): Likewise. + (codePointCount): Likewise. + (trimToSize): Likewise. + +2006-03-02 Tom Tromey + + * java/rmi/server/RMIClassLoader.java (getProviderInstance): Wrote. + +2006-03-02 Tom Tromey + + * java/rmi/server/RMIClassLoader.java (loadProxyClass): New method. + (getProviderInstance): + +2006-03-02 Andrew John Hughes + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: + Fix regression caused by move to VM variant. + PR classpath/22926. + +2006-03-01 Tom Tromey + + * vm/reference/java/net/VMNetworkInterface.java: Organized imports. + * vm/reference/java/net/VMInetAddress.java: Organized imports. + * vm/reference/java/lang/reflect/VMProxy.java (getProxyClass): Added + imports for javadoc. + (getProxyClass): Javadoc fixes. + (getProxyData): Likewise. + (generateProxyClass): Likewise. + * vm/reference/java/lang/VMSystem.java (setIn): Javadoc fix. + (setOut): Likewise. + (setErr): Likewise. + * vm/reference/java/lang/VMProcess.java: Javadoc fixes. + * vm/reference/java/lang/VMClassLoader.java (getResources): Javadoc + fix. + * vm/reference/java/lang/VMClass.java (getComponentType): Import for + javadoc. + (getModifiers): Likewise. + (getDeclaredClasses): Javadoc fix. + (getDeclaredFields): Likewise. + (getDeclaredMethods): Likewise. + (getDeclaredConstructors): Likewise. + * vm/reference/gnu/classpath/VMSystemProperties.java (preInit): + Javadoc fix. + +2006-03-01 Tom Tromey + + * gnu/java/net/protocol/http/ResponseHeaderHandler.java: Javadoc fix. + * gnu/java/net/protocol/http/HTTPConnection.java: Organized imports. + (getVersion): Javadoc fix. + (get): Likewise. + * gnu/java/net/protocol/http/Headers.java: Organized imports. + * gnu/java/net/protocol/ftp/FTPURLConnection.java: Organized imports. + +2006-03-01 David Daney + + * java/net/URL.java (URL(URL, String, URLStreamHandler)): Treat spec + as relative if it contains a colon but no protocol handler can be + found. + +2006-03-01 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (LeafElement.LeafElement): Handle delta with respect to content + length not document length. + * javax/swing/text/CompositeView.java + (getViewIndex): Handle bias correctly. + * javax/swing/text/DefaultCaret.java + (paint): Align caret position to document bounds to avoid trouble + when removing large portions of content. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insertFirstContentTag): Use pos instead of offset. + (ElementBuffer.createFracture): Copy old childs attribute. The + ElementSpec usually doesn't carry attribute information. + Use pos instead of offset. + (ElementBuffer.insertFracture): Use pos instead of offset. + (createDefaultRootElement): Don't use create* and instead directly + instantiate the elements. + (handleInsertAfterNewline): Compare the paragraphs startOffset + rather than previous paragraphs endOffset. + * javax/swing/text/JTextComponent.java + (getScrollableTracksViewportWidth): Remove unnecessary cast to + JViewport. + (getScrollableTracksViewportHeight): Remove unnecessary cast to + JViewport. + * javax/swing/text/PlainView.java + (damageLineRange): Avoid creating new Rectangle by using + SwingUtilities. + * javax/swing/text/View.java + (forwardUpdate): Correct the use of bias. + (modelToView): Avoid new Rectangles by using SwingUtilities. + (dump): Made (temprorarily) protected for use in BasicTextUI. + (dump(int)): Dump out the element of the view. + +2006-03-01 Lillian Angel + + * NEWS: javax.imageio.plugins.bmp implementation. + +2006-03-01 Lillian Angel + + * javax/imageio/ImageWriteParam.java: + Added documentation for fields. + * javax/imageio/plugins/bmp/BMPImageWriteParam.java: + New class implemented. + +2006-03-01 Tom Tromey + + * NEWS: Mention java.util.prefs update. + +2006-03-01 Tom Tromey + + * gnu/java/nio/channels/FileChannelImpl.java (position): Fixed typo. + * java/nio/charset/UnmappableCharacterException.java: + (serialVersionUID): New field. + * java/nio/charset/MalformedInputException.java: + (serialVersionUID): New field. + * java/nio/charset/CoderMalfunctionError.java: + (serialVersionUID): New field. + * java/nio/charset/CharacterCodingException.java: + (serialVersionUID): New field. + * java/nio/channels/UnsupportedAddressTypeException.java: + (serialVersionUID): New field. + * java/nio/channels/UnresolvedAddressException.java: + (serialVersionUID): New field. + * java/nio/channels/OverlappingFileLockException.java: + (serialVersionUID): New field. + * java/nio/channels/NotYetConnectedException.java: + (serialVersionUID): New field. + * java/nio/channels/NotYetBoundException.java + (serialVersionUID): New field. + * java/nio/channels/NonWritableChannelException.java + (serialVersionUID): New field. + * java/nio/channels/NonReadableChannelException.java + (serialVersionUID): New field. + * java/nio/channels/NoConnectionPendingException.java + (serialVersionUID): New field. + * java/nio/channels/IllegalSelectorException.java + (serialVersionUID): New field. + * java/nio/channels/IllegalBlockingModeException.java + (serialVersionUID): New field. + * java/nio/channels/FileLockInterruptionException.java + (serialVersionUID): New field. + * java/nio/channels/ConnectionPendingException.java + (serialVersionUID): New field. + * java/nio/channels/ClosedSelectorException.java (serialVersionUID): + New field. + * java/nio/channels/ClosedChannelException.java (serialVersionUID): + New field. + * java/nio/channels/ClosedByInterruptException.java + (serialVersionUID): New field. + * java/nio/channels/CancelledKeyException.java (serialVersionUID): + New field. + * java/nio/channels/AsynchronousCloseException.java + (serialVersionUID): New field. + * java/nio/channels/AlreadyConnectedException.java (serialVersionUID): + New field. + * java/nio/ReadOnlyBufferException.java (serialVersionUID): New field. + * java/nio/InvalidMarkException.java (serialVersionUID): New field. + * java/nio/BufferUnderflowException.java (serialVersionUID): New + field. + * java/nio/BufferOverflowException.java (serialVersionUID): New field. + * java/nio/channels/spi/AbstractInterruptibleChannel.java (end): + Javadoc fix. Added import. + * java/nio/channels/DatagramChannel.java (isConnected): Javadoc fix. + (validOps): Likewise. + * gnu/java/nio/charset/iconv/IconvProvider.java: Organized imports. + * gnu/java/nio/charset/iconv/IconvEncoder.java: Organized imports. + * gnu/java/nio/charset/iconv/IconvDecoder.java: Organized imports. + * java/nio/channels/Channels.java: Added import. + * java/nio/channels/FileChannel.java (lock): Typo fix. + (tryLock): Likewise. + +2006-03-01 Tom Tromey + + * java/util/prefs/Preferences.java (defaultFactoryClass): Use + FileBasedFactory. + * gnu/java/util/prefs/FileBasedPreferences.java: New file. + * java/util/prefs/AbstractPreferences.java (removeSpi): Typo fix. + (clear): Likewise. + (putSpi): Likewise. + (newNode): Likewise. + (node): Likewise. + * gnu/java/util/prefs/MemoryBasedFactory.java: Typo fix. + * gnu/java/util/prefs/FileBasedFactory.java (systemPreferences): New + field. + (systemRoot): Use it. + (userPreferences): New field. + (userRoot): Use it. + +2006-03-01 Jeroen Frijters + + * java/util/ResourceBundle.java + (tryBundle): Catch and ignore all Exceptions. + +2006-02-28 Roman Kennke + + * javax/swing/plaf/basic/BasicScrollBarUI.java + (getPreferredSize): Fixed add a fixed space between the buttons + instead of something related to min/max. + (installComponents): Create and install buttons here. + (installDefaults): Don't create buttons here. + * javax/swing/plaf/metal/MetalScrollBarUI.java + (getMinimumThumbSize): Return (0,0) when UI is not yet installed. + (getPreferredSize): New method. + +2006-02-28 David Gilbert + + * examples/gnu/classpath/examples/swing/Demo.java + (mkMenuBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, + connected 'Spinner' action to SpinnerDemo, + (mkCheckbox): Removed, + (mkRadio): Likewise, + (mkSpinner): Likewise, + (mkToggle): Likewise, + (mkButtonBar): Removed 'Toggles', 'Checkbox' and 'Radio' actions, + connected 'Spinner' action to SpinnerDemo. + +2006-02-28 Wolfgang Baer + + * javax/print/ServiceUIFactory.java: Added documentation to class. + +2006-02-28 Anthony Balkissoon + + PR classpath/26434 + * javax/swing/DefaultListSelectionModel.java: + (addSelectionInterval): Return early if either of the arguments is -1. + (removeSelectionInterval): Likewise. + (setSelectionInterval): Likewise. + +2006-02-28 Lillian Angel + + * javax/swing/text/DefaultFormatter.java + (stringToValue): Added NPE check. + +2006-02-28 Roman Kennke + + PR classpath/25675 + * javax/swing/JList.java + (getPreferredScrollableViewportSize): Restored specified behaviour. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Set filelist panel's preferredSize, so that it doesn't + get size into infinity for big lists. + +2006-02-28 Lillian Angel + + * javax/swing/ViewportLayout.java + (layoutContainer): Should not extend container to be + minimum size. Mauve test shows that the preferred size + and the size of the viewport can be set smaller than + the minimum. + +2006-02-28 Lillian Angel + + PR classpath/25675 + * javax/swing/JList.java + (getPreferredScrollableViewportSize): Added a check to determine + if orientation is VERTICAL_WRAP. If it is, we should only + show 3 columns. + +2006-02-28 Lillian Angel + + PR classpath/26003 + * javax/swing/ViewportLayout.java: + Patch submitted by Audrius Meskauskas + (addLayoutComponent): Added documentation. + (removeLayoutComponent): Likewise. + (preferredLayoutSize): Likewise. + (minimumLayoutSize): Likewise. + (layoutContainer): Fixed code, so view is set + to the right position when inside a scrollpane. + +2006-02-28 Anthony Balkissoon + + * java/math/BigInteger.java: + Committed patch by Rafael: + developer.classpath.org/pipermail/classpath-patches/ + 2006-February/000473.html + (signum): Return early 0 if words == null and ival == 0. + (readObject): Handle special case of magnitude.length or signum being + 0. + (writeObject): If signum is zero return a zero-sized byte[]. + +2006-02-28 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java + (create): Initially set the directory to the current working directory. + (setDirectory): Removed else-if. No need for this check. + +2006-02-28 Tom Tromey + + * .project: Run java builder before header generation. + +2006-02-28 Tom Tromey + + * gnu/java/util/prefs/MemoryBasedPreferences.java (childrenNamesSpi): + Javadoc fix. + * gnu/java/util/prefs/EventDispatcher.java: New file. + * gnu/java/util/prefs/NodeWriter.java (NodeWriter): Removed. + (NodeWriter): Specify UTF-8. + (writeHeader): Emit DOCTYPE. + * java/util/prefs/Preferences.java (getFactory): Add cause to + exception. + (exportNode): Documented. + (exportSubtree): Likewise. + (importPreferences): Likewise. + * java/util/prefs/NodeChangeEvent.java (readObject): New method. + (writeObject): Likewise. + * java/util/prefs/PreferenceChangeEvent.java (readObject): New method. + (writeObject): Likewise. + * java/util/prefs/AbstractPreferences.java (putBoolean): Use 1.4 code. + (nodeListeners): New field. + (preferenceListeners): Likewise. + (addNodeChangeListener): Implemented. + (addPreferenceChangeListener): Likewise. + (removeNodeChangeListener): Likewise. + (removePreferenceChangeListener): Likewise. + (fire): New methods. + (put): Fire event. + (remove): Likewise. + (purge): Likewise. Fixed synchronization. + (removeNode): Fixed synchronization. + (getNode): Fire event. + (flushNode): Fixed synchronization. + +2006-02-28 Roman Kennke + + * javax/swing/text/BranchElement.java + (startOffset): New field. + (endOffset): New field. + (BranchElement): Initialize new fields. + (getEndOffset): Rewritten to possibly return cached values + if element has no children. + (getStartOffset): Rewritten to possibly return cached values + if element has no children. + * javax/swing/text/LeafElement.java + (startDelta): New field. + (endDelta): New field. + (LeafElement): Handle possible delta of start/endOffset when + these parameters lie outside the document range. + (getStartOffset): Handle possible startDelta. + (getEndOffset): Handle possible startDelta. + +2006-02-28 Anthony Balkissoon + + * NEWS: Added line about Unicode 4.0.0 support. + +2006-02-28 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel): Set textIconGap to 0 when icon == null. + +2006-03-01 Raif S. Naffah + + * gnu/classpath/debug/Simple1LineFormatter.java: New file. + +2006-03-01 Raif S. Naffah + + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: + Amended class documentation. + (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT + STRING. + (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not + a BIT STRING construct. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: Amended class + documentation. + (encodeSignature): Emit the ASN.1 raw bytes not the DER-encoded BIT + STRING. + (decodeSignature): Parse the ASN.1 raw bytes of a BIT STRING and not + a BIT STRING construct. + * gnu/java/security/jce/sig/SignatureAdapter.java (log): New field. + (engineVerify): Added logging. + +2006-02-28 Roman Kennke + + * java/awt/Component.java + (dispatchEventImpl): Let the Toolkit dispatch global events. + * java/awt/Container.java + (dispatchEventImpl): Let the LightweightDispatcher handle events + first. + * java/awt/EventQueue.java + (dispatchEvent): Don't do the global event dispatching here. This + is moved to the Component. + (globalDispatchEvent): Moved this method to Toolkit. + * java/awt/LightweightDispatcher.java + (instances): New field. + (getInstance): New method. Delivers an instance of + LightweightDispatcher. + (LightweightDispatcher): Made default constructor private. + (dispatchEvent): New method. Replaces the eventDispatched method. + This now returns true when the event was actually dispatched. + (eventDispatched): Replaced by dispatchEvent. + (handleMouseEvent): Send MOUSE_CLICKED to the same component that + received the last MOUSE_RELEASED. + * java/awt/Toolkit.java + (Toolkit): Don't register LightweightDispatcher as global event + handler. + (globalDispatchEvent): Moved here from EventQueue. + +2006-02-27 David Daney + + PR classpath/25851 + * gnu/java/net/protocol/http/HTTPURLConnection.java (imports) Cleaned + up. + (getRequestProperties): Rewrote. + +2006-02-27 David Daney + + PR classpath/26312 + * gnu/java/net/protocol/http/ChunkedInputStream.java (imports): Cleaned + up. + (ChunkedInputStream): Extend InputStream. + (in): New field. + (headers): Moved to top of class. + (constructor): Save referenct to in. + (read(byte[])): Removed method. + (read(byte[], int, int)): Made synchronized and throw IOException + on error parsing chunk header. + (available): New method. + (close): New method. + +2006-02-27 David Daney + + * gnu/java/net/protocol/http/HTTPURLConnection.java + (imports): Cleaned up. + (GetHTTPPropertiesAction): Removed, and moved contents to ... + (constructor): ... Here, using SystemProperties instead of System. + +2006-02-27 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkFileDialogPeer.java + (setDirectory): GtkFileChooser requires an absolute directory + name. Added a check to make the directory passed to nativeSetDirectory + is absolute. + +2006-02-27 Roman Kennke + + * javax/swing/SwingUtilities.java + (computeIntersection): Changed to store result in rect, instead of + creating new Rectangle instances. Fixed API docs accordingly. + (computeUnion): Changed to store result in rect, instead of + creating new Rectangle instances. Fixed API docs accordingly. + +2006-02-27 Roman Kennke + + * javax/swing/JViewport.java + (static_init): Changed default scrollmode to BLIT. + (paintSimple): Added some clipping to avoid painting problems. + (paintBlit): Added some clipping to avoid painting problems. + +2006-02-27 Roman Kennke + + * javax/swing/JComponent.java + (rectCache): Made field static to save memory. + (getVisibleRect): Don't use rectCache and create new Rectangle + instance instead. + (repaint(Rectangle)): Directly call RepaintManager.addDirtyRegion(). + (repaint(long,int,int,int,int)): Directly call + RepaintManager.addDirtyRegion(). The visibleRect check is now + performed in the RepaintManager. + +2006-02-27 Roman Kennke + + * javax/swing/RepaintManager.java + (currentRepaintManagers): Made field private. + (rectCache): New field. + (addDirtyRegion): Clip dirty rectangle with visible rectangle of + component. Changed Rectangle handling to avoid unnecessary new + Rectangle instances. + (getOffscreenBuffer): Create buffer with size of the root window. + Respect the maximum buffer size here. + (commitBuffer): Align the regions so that they are inside the buffer + image and inside the clip. This avoids problems with a bug in GTKImage. + Fixed Rectangle handling to avoid creation of new Rectangle instances. + +2006-02-26 Andrew John Hughes + + * native/fdlibm/e_acos.c, + * native/fdlibm/e_asin.c, + * native/fdlibm/e_atan2.c, + * native/fdlibm/e_cosh.c, + * native/fdlibm/e_exp.c, + * native/fdlibm/e_fmod.c, + * native/fdlibm/e_hypot.c, + * native/fdlibm/e_log.c, + * native/fdlibm/e_log10.c, + * native/fdlibm/e_rem_pio2.c, + * native/fdlibm/e_remainder.c, + * native/fdlibm/e_sinh.c, + * native/fdlibm/e_sqrt.c, + * native/fdlibm/k_cos.c, + * native/fdlibm/k_sin.c, + * native/fdlibm/k_tan.c, + * native/fdlibm/s_atan.c, + * native/fdlibm/s_cbrt.c, + * native/fdlibm/s_ceil.c, + * native/fdlibm/s_copysign.c, + * native/fdlibm/s_cos.c, + * native/fdlibm/s_expm1.c, + * native/fdlibm/s_fabs.c, + * native/fdlibm/s_finite.c, + * native/fdlibm/s_floor.c, + * native/fdlibm/s_log1p.c, + * native/fdlibm/s_rint.c, + * native/fdlibm/s_scalbn.c, + * native/fdlibm/s_sin.c, + * native/fdlibm/s_tan.c, + * native/fdlibm/s_tanh.c: + Fixed to call our macros rather than __HI and __LO. + * native/fdlibm/fdlibm.h: + Reintroduced previous extraction code. + (EXTRACT_WORDS(ix0,ix1,d)): Readded. + (GET_HIGH_WORD(i,d)): Readded. + (GET_LOW_WORD(i,d)): Readded. + (INSERT_WORDS(d,ix0,ix1)): Readded. + (SET_HIGH_WORD(d,i)): Readded. + (SET_LOW_WORD(d,i)): Readded. + * native/jni/gtk-peer/gthread-jni.c: + Use Glib macros to convert integers/pointers portably. + +2006-02-26 Raif S. Naffah + + * java/security/SecureRandom.java (SecureRandom): Use GNU-CRYPTO class + as the fallback SPI. + * gnu/java/security/provider/Gnu.java (run): Replaced mappings with new + ones referencing GNU-CRYPTO classes. + * gnu/java/security/provider/PKIXCertPathValidatorImpl.java + (engineValidate): Use GNU-CRYPTO class. + * gnu/java/security/provider/DiffieHellmanKeyFactoryImpl: Removed. + * gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl: Likewise. + * gnu/java/security/provider/DSAKeyFactory: Likewise. + * gnu/java/security/provider/DSAKeyPairGenerator: Likewise. + * gnu/java/security/provider/DSAParameters: Likewise. + * gnu/java/security/provider/DSASignature: Likewise. + * gnu/java/security/provider/EncodedKeyFactory: Likewise. + * gnu/java/security/provider/GnuDHPublicKey: Likewise. + * gnu/java/security/provider/GnuDSAPrivateKey: Likewise. + * gnu/java/security/provider/GnuDSAPublicKey: Likewise. + * gnu/java/security/provider/GnuRSAPrivateKey: Likewise. + * gnu/java/security/provider/GnuRSAPublicKey: Likewise. + * gnu/java/security/provider/MD2withRSA: Likewise. + * gnu/java/security/provider/MD4withRSA: Likewise. + * gnu/java/security/provider/MD5: Likewise. + * gnu/java/security/provider/MD5withRSA: Likewise. + * gnu/java/security/provider/RSA: Likewise. + * gnu/java/security/provider/RSAKeyFactory: Likewise. + * gnu/java/security/provider/SHA: Likewise. + * gnu/java/security/provider/SHA1PRNG: Likewise. + * gnu/java/security/provider/SHA1withRSA: Likewise. + * gnu/javax/crypto/GnuDHPrivateKey: Likewise. + +2006-02-26 Raif S. Naffah + + * gnu/java/security/jce/sig/EncodedKeyFactory.java (log): New field. + (engineGeneratePublic): Added logging. + (engineGeneratePrivate): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java (log): New field. + (encodePublicKey): Added logging. + Clarified in method documentation that params is optional, but is + always NULL if present. + (decodePublicKey): Added logging. + Handle optional NULL element. + +2006-02-26 Raif S. Naffah + + * java/util/logging/FileHandler.java: Fixed a javadoc reference. + +2006-03-03 Tom Tromey + + * java/awt/MenuBar.java (shortcuts): Genericized. + +2006-03-03 Tom Tromey + + * java/beans/EventSetDescriptor.java (EventSetDescriptor): + Genericized. + (getListenerType): Likewise. + * java/beans/Introspector.java (getBeanInfo): Genericized. + * java/beans/DefaultPersistenceDelegate.java (initialize): + Genericized. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (precision): Fixed overflow problem with large numbers. + (longValueExact): New method. + (intValueExact): Likewise. + (byteValueExact): Likewise. + (shortValueExact): Likewise. + +2006-03-01 Anthony Balkissoon + + * java/math/BigDecimal.java: + (remainder(BigDecimal)): New method. + (divideAndRemainder(BigDecimal)): Likewise. + (divideToIntegralValue(BigDecimal)): Likewise. + (floor): New implementation method. + +2006-02-28 Anthony Balkissoon + + * java/math/BigDecimal.java: + (divide(BigDecimal, int, RoundingMode)): New method. + (divide(BigDecimal, RoundingMode)): Likewise. + (divide(BigDecimal, int, int)): Removed incorrect throwing of exception + when the new scale is < 0. + (setScale(int, RoundingMode)): New method. + (ulp): Likewise. + +2006-02-27 Anthony Balkissoon + + * java/math/BigDecimal.java: Replaced occurences of BigInteger.valueOf + with BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN where appropriate. + (add(BigDecimal, MathContext)): New method. + (subtract(BigDecimal, MathContext)): Likewise. + (precision): Fixed to correctly handle BigIntegers with more than 19 + digits. + (pow(int, MathContext)): New method. + +2006-02-27 Anthony Balkissoon + + * java/math/BigDecimal.java: Added @throws clause to constructors. + (mathContext): Removed this unneeded field. + (BigDecimal(int, MathContext)): New constructor. + (BigDecimal(BigInteger, int, MathContext)): Likewise. + (multiply(BigDecimal, MathContext)): New method. + (negate(MathContext)): Likewise. + (plus(MathContext)): Likewise. + (numDigitsInLong): Fixed to properly handle negatives. + +2006-02-25 Chris Burdess + + * gnu/java/net/CRLFInputStream.java, + gnu/java/net/LineInputStream.java: Streams that use mark + capabilities on the underlying stream do not expose mark + functionality themselves. + * gnu/xml/stream/CRLFReader.java: Fix incorrect end condition when + off > 0. + +2006-02-25 Ito Kazumitsu + + * gnu/regexp/REMatch.java(matchFlags): New int field used as + option flags passed to match methods. + (MF_FIND_ALL): New flag. + * gnu/regexp/RETokenOneOf.java(matchP): Unless MF_FIND_ALL is set, + do not try other possibilties once a match is found. + * gnu/regexp/RETokenRepeated.java(findDoables): Set MF_FIND_ALL + so that all possibilities can be found. + (match): Rewritten using new methods matchMinimum and _match. + (_match): New method which performs a depth-first recursive search. + (matchMinimum): New method. + (initVisited), (visitedContains), (addVisited): New methods for + manipulating an array of icharacter positions which _match has + already visited. + +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(long, MathContext)): New constructor. + (BigDecimal(BigInteger, MathContext)): Likewise. + (BigDecimal(String, MathContext)): Likewise. + (BigDecimal(double, MathContext)): Likewise. + (round): Fixed a typo where the precision field was used instead of a + call to the precision method, and also store the new precision in the + returned BigDecimal. + (abs(MathContext)): New method. + +2006-02-24 Anthony Balkissoon + + * java/math/BigDecimal.java + (toBigInteger): Fixed problem where this method couldn't handle + negative values for scale. + (toBigIntegerExact): New method. + (stripTrailingZeros): Likewise. + +2006-02-24 David Daney + + PR classpath/26082 + * gnu/java/net/protocol/http/HTTPConnection.java (pool): Changed to + type Pool. + (Pool): New inner class. + (timeLastUsed): New field. + (setPool): Changed parameter type to Pool. + (release): Moved pool management logic to new class Pool. + * gnu/java/net/protocol/http/HTTPURLConnection.java (connectionPool): + Removed. + (maxConnections) : Removed. + (GetHTTPPropertiesAction.run): Don't initialize maxConnections. + (getConnection): Moved pool management logic to HTTPConnection.Pool. + +2006-02-24 Lillian Angel + + * java/awt/Container.java: + Added new field. True if Container has been cleared and + heavyweights need to be repainted. + (paint): Fixed comment. Fixed to use backCleared and + reset backCleared. + (update): Set backCleared to true after the background + of the container has been cleared. + +2006-02-24 Lillian Angel + + * java/awt/TextField.java + (addNotify): Added call to super. + +2006-02-24 Lillian Angel + + * java/awt/Component.java + (reshape): Reverted last patch. Should have check here. + (addNotify): Added check. If parent is lightweight, then + initialize listener on the parent. + (HeavyweightInLightweightListener): New class. + +2006-02-24 Roman Kennke + + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Register the popup with the autocloser after it has been + opened completely, by putting the registration on the eventqueue. + +2006-02-24 Andrew John Hughes + + * gnu/java/security/prng/BasePRNG.java: + (clone()): Added cast of buffer to byte[]. + * gnu/javax/crypto/mac/TMMH16.java: + (clone()): Fixed casting of cloned arrays. + * native/fdlibm/fdlibm.h: + Added missing defines from old fdlibm.h needed by Darwin. + (GET_FLOAT_WORD(i,d)): Re-added. + (SET_FLOAT_WORD(d,i)): Re-added. + +2006-02-24 Roman Kennke + + * java/awt/Container.java: + (dispatcher): Removed field. + (dispatchEventImpl): Removed lightweight dispatching. + (addNotifyContainerChildren): Removed LightweightDispatcher + handling. + (LightweightDispatcher): Removed class. + * java/awt/LightweightDispatcher.java: New class. + * java/awt/Toolkit.java + (Toolkit): Install LightweightDispatcher in global listener + array. + +2006-02-24 Chris Burdess + + Fixes PR 26324 + * gnu/java/net/CRLFInputStream.java: Fix incorrect end condition when + off > 0. + +2006-02-24 Andrew John Hughes + + * NEWS: Mentions the VMMath runtime changes. + * doc/vmintegration.texinfo: Updated to include + VMMath. + +2006-02-24 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper.autoClosePopups): New field. + (PopupHelper.mousePressed): Also autoclose any registered popups. + (PopupHelper.registerForAutoClose): New method. + (PopupHelper.autoClosePopups): New method. + (popupHelper): Changed type of field to PopupHelper. + (registerForAutoClose): New method. + * javax/swing/plaf/basic/BasicComboPopup.java + (show): Register this popup for autoclosing. + +2006-02-24 Raif S. Naffah + + * gnu/javax/crypto/mac/TMMH16.java (clone): New method. + * gnu/java/security/prng/MDGenerator.java (clone): New method. + * gnu/java/security/prng/BasePRNG.java (clone): Clone buffer. + +2006-02-24 Roman Kennke + + Reported by Ingo Proetel + * java/util/logging/LogManager.java + (addLogger): Search the parent loggers for log level + configuration and inherit that. + (readConfiguration): Provide minimal default configuration + if no configuration can be found otherwise. + +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Fixed a problem where the negative sign was being displayed + twice in the exponent. + (toEngineeringString): New method. + (toPlainString): Likewise. + (pow): Likewise. + +2006-02-23 Anthony Balkissoon + + * java/math/BigDecimal.java: + (toString): Rewrote this method to behave as specified. Added API + comments to explain behaviour. + (scaleByPowerOfTen): New method. + +2006-02-23 Roman Kennke + + * javax/swing/JRootPane.java + (isOptimizedDrawingEnabled): Implemented to return true + when the glassPane is not visible. + +2006-02-23 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (PopupHelper): New inner class. + (popupHelper): New field. + (initialize): New method. + (uninitialize): New method. + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (mouseInputListener): Removed field. + (PopupMenuHandler.popupMenuWillBecomeInvisible): Removed + handling of GlassPane. + (PopupMenuHandler.popupMenuWillBecomeVisible): Removed + handling of GlassPane. + (MouseInputHandler): Removed class. + +2006-02-23 Roman Kennke + + * java/awt/AWTEvent.java + (eventIdToMask): New utility method. + * java/awt/EventQueue.java + (dispatchEvent): Also globally dispatch events via the toolkit. + (globalDispatchEvent): New method. + * java/awt/Toolkit.java + (awtEventListeners): New field. + (Toolkit()): Initialize new field. + (createComponent): Create GLightweightPeer here. + (addAWTEventListener): Implemented and documented. + (removeAWTEventListener): Implemented and documented. + (getAWTEventListeners): Implemented and documented both method + variants. + * java/awt/event/AWTEventListenerProxy.java + (eventDispatched): Don't filter events here. + +2006-02-23 Chris Burdess + + Fixes PR 26410 + * gnu/xml/dom/DomDocumentBuilderFactory.java, + gnu/xml/dom/JAXPFactory.java, + gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java, + javax/xml/parsers/DocumentBuilderFactory.java: Add and trivially + implement DocumentBuilderFactory.get/setFeature methods. + +2006-02-23 Lillian Angel + + * gnu/java/awt/peer/GLightweightPeer.java + (repaint): Scott's proposed fix. Send repaint to the + component's parent. + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (setBounds): Removed next_parent, not needed. Removed + lightweightChild, we always need to compensate for the + menu bar's height. + * java/awt/Component.java + (setBounds): Removed check. Caused lots of problems, because some + components were not being invalidated. Components should be + invalidated when they are resized or moved, and in some cases, + when a parent is resized/moved, the components do not know + about it and do not adjust. + * java/awt/Graphics.java + (hitClip): Scott's proposed fix. Added check to handle a + null clip. + +2006-02-23 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (media): Field renamed to mediaName for serialization. + (MediaSize): Adapted to new fieldname. + (getMediaSizeName): Likewise. + * javax/print/attribute/HashAttributeSet.java: + (interfaceName): Field renamed to myInterface for serialization. + (HashAttributeSet): Adapted to the new fieldname. + (add): Likewise. + (addAll): Likewise. + (addInternal): Likewise. + (attributeMap): Made transient. + (readObject): New serialization method. + (writeObject): Likewise. + * javax/print/attribute/AttributeSetUtilities.java: + (SynchronizedAttributeSet.set): Field renamed to attrset for serialization. + (SynchronizedAttributeSet.add): Adapted to the new fieldname. + (SynchronizedAttributeSet.addAll): Likewise. + (SynchronizedAttributeSet.clear): Likewise. + (SynchronizedAttributeSet.containsKey): Likewise. + (SynchronizedAttributeSet.containsValue): Likewise. + (SynchronizedAttributeSet.equals): Likewise. + (SynchronizedAttributeSet.get): Likewise. + (SynchronizedAttributeSet.hashCode): Likewise. + (SynchronizedAttributeSet.isEmpty): Likewise. + (SynchronizedAttributeSet.remove): Likewise. + (SynchronizedAttributeSet.size): Likewise. + (SynchronizedAttributeSet.toArray): Likewise. + (UnmodifiableAttributeSet.set): Field renamed to attrset for serialization. + (UnmodifiableAttributeSet.add): Adapted to the new fieldname. + (UnmodifiableAttributeSet.addAll): Likewise. + (UnmodifiableAttributeSet.clear): Likewise. + (UnmodifiableAttributeSet.containsKey): Likewise. + (UnmodifiableAttributeSet.containsValue): Likewise. + (UnmodifiableAttributeSet.equals): Likewise. + (UnmodifiableAttributeSet.get): Likewise. + (UnmodifiableAttributeSet.hashCode): Likewise. + (UnmodifiableAttributeSet.isEmpty): Likewise. + (UnmodifiableAttributeSet.remove): Likewise. + (UnmodifiableAttributeSet.size): Likewise. + (UnmodifiableAttributeSet.toArray): Likewise. + * javax/print/attribute/standard/MediaPrintableArea.java: + (width): Field renamed to w for serialization. + (height): Field renamed to h for serialization. + (MediaPrintableArea): Adapted to the new fieldnames. + (MediaPrintableArea): Likewise. + (equals): Likewise. + (hashCode): Likewise. + (getHeight): Likewise. + (getWidth): Likewise. + +2006-02-23 Andrew John Hughes + + * include/java_lang_VMMath.h: + (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): Added. + (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Added. + (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Added. + * java/lang/Math.java: + (cbrt(double)): Implemented. + (cosh(double)): Implemented. + (expm1(double)): Implemented. + (hypot(double,double)): Implemented. + (log10(double)): Implemented. + (log1p(double)): Implemented. + (signum(double)): Implemented. + (signum(float)): Implemented. + (sinh(double)): Implemented. + (tanh(double)): Implemented. + * native/fdlibm/Makefile.am: + Added new files from fdlibm 5.3. + * native/fdlibm/e_acos.c, + * native/fdlibm/e_asin.c, + * native/fdlibm/e_atan2.c, + * native/fdlibm/e_exp.c, + * native/fdlibm/e_fmod.c, + * native/fdlibm/e_log.c, + * native/fdlibm/e_rem_pio2.c, + * native/fdlibm/e_remainder.c, + * native/fdlibm/e_scalb.c, + * native/fdlibm/e_sqrt.c, + * native/fdlibm/k_cos.c, + * native/fdlibm/k_rem_pio2.c, + * native/fdlibm/k_sin.c, + * native/fdlibm/k_tan.c, + * native/fdlibm/s_atan.c, + * native/fdlibm/s_ceil.c, + * native/fdlibm/s_copysign.c, + * native/fdlibm/s_cos.c, + * native/fdlibm/s_fabs.c, + * native/fdlibm/s_finite.c, + * native/fdlibm/s_floor.c, + * native/fdlibm/s_rint.c, + * native/fdlibm/s_scalbn.c, + * native/fdlibm/s_sin.c, + * native/fdlibm/s_tan.c, + * native/fdlibm/w_acos.c, + * native/fdlibm/w_asin.c, + * native/fdlibm/w_atan2.c, + * native/fdlibm/w_acos.c, + * native/fdlibm/w_exp.c, + * native/fdlibm/w_fmod.c, + * native/fdlibm/w_log.c, + * native/fdlibm/w_pow.c, + * native/fdlibm/w_remainder.c, + * native/fdlibm/w_sqrt.c: + Updated to fdlibm 5.3. + * native/fdlibm/e_cosh.c, + * native/fdlibm/e_hypot.c, + * native/fdlibm/e_log10.c, + * native/fdlibm/e_sinh.c, + * native/fdlibm/s_cbrt.c, + * native/fdlibm/s_expm1.c, + * native/fdlibm/s_log1p.c, + * native/fdlibm/s_tanh.c, + * native/fdlibm/w_cosh.c, + * native/fdlibm/w_hypot.c, + * native/fdlibm/w_log10.c, + * native/fdlibm/w_sinh.c: + Imported from fdlibm 5.3. + * native/fdlibm/fdlibm.h: + Imported from fdlibm 5.3 with Classpath additions. + * native/fdlibm/namespace.h: + Updated from new math_symbols file. + * native/jni/java-lang/java_lang_VMMath.c: + (Java_java_lang_VMMath_cbrt(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_cosh(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_expm1(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_hypot(JNIEnv*,jclass,jdouble,jdouble)): + Implemented. + (Java_java_lang_VMMath_log10(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_log1p(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_sinh(JNIEnv*,jclass,jdouble)): Implemented. + (Java_java_lang_VMMath_tanh(JNIEnv*,jclass,jdouble)): Implemented. + * scripts/math_symbols: + Added tanh, expm1, log10 and log1p. + * vm/reference/java/lang/VMMath.java: + (cbrt(double)): Implemented. + (cosh(double)): Implemented. + (expm1(double)): Implemented. + (hypot(double,double)): Implemented. + (log10(double)): Implemented. + (log1p(double)): Implemented. + (sinh(double)): Implemented. + (tanh(double)): Implemented. + +2006-02-23 Wolfgang Baer + + * javax/print/DocFlavor.java: Added documentation all over. + (BYTE_ARRAY.TEXT_HTML_HOST): Include host charset encoding to mimetype. + (BYTE_ARRAY.TEXT_PLAIN_HOST): Likewise. + (INPUT_STREAM.TEXT_HTML_HOST): Likewise. + (INPUT_STREAM.TEXT_PLAIN_HOST): Likewise. + (URL.TEXT_HTML_HOST): Likewise. + (URL.TEXT_PLAIN_HOST): Likewise. + (hostEncoding): Initialize with host default charset encoding. + (mediaSubtype): Made transient. + (mediaType): Likewise. + (params): Made transient. Changed type to TreeMap. + (className): Removed, changed to myClassName. + (myClassName): New field as defined in serialized form. + (DocFlavor): Adapted to new variable types, names. + (parseMimeType): Reimplemented. + (getParameter): Search with lowercase name. + (getRepresentationClassName): Adapted to changed variable name. + (hashCode): Likewise. + (toString): Reimplemented. + (readObject): New method for serialization. + (writeObject): Likewise. + +2006-02-23 Roman Kennke + + * javax/swing/RepaintManager.java + (commitBuffer): Clip the repaint area with the current clip. + +2006-02-23 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java + (DEFAULT_PRIME_SIZE): Made public. + (DEFAULT_EXPONENT_SIZE): Likewise. + (setup): Handle DHParameterSpec as well. + * gnu/javax/crypto/key/dh/GnuDHKey.java (getEncoded): Return + defaultFormat instead of Raw. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Updated mapping of + KeyAgreement.DH. + Added mappings for AlgorithmParameters.DH and + AlgorithmParameterGenerator.DH. + * gnu/javax/crypto/jce/DiffieHellmanImpl.java: New file. + * gnu/javax/crypto/jce/sig/DHParametersGenerator.java: Likewise. + * gnu/javax/crypto/jce/sig/DHParameters.java: Likewise. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java (engineGeneratePrivate): + Return result. + (engineGeneratePublic): Likewise. + * gnu/java/security/util/DerUtil.java: New file. + * gnu/java/security/sig/rsa/RSASignatureFactory.java (getNames): + Include only valid RSA PKCS1 (v1.5) signature names. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java + (RSAPKCS1V1_5SignatureX509Codec): Removed. + (checkIsConstructed): Likewise. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodeSignature): Use DerUtil. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePublicKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (checkIsConstructed): Removed. + (checkIsBigInteger): Likewise. + (decodePrivateKey): Use DerUtil. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java + (DEFAULT_MODULUS_LENGTH): Made it public. + * gnu/java/security/key/dss/DSSKey.java (getEncoded): Return + defaultFormat instead of Raw. + * gnu/java/security/jce/sig/DSSParametersGenerator.java: New file. + * gnu/java/security/jce/sig/DSSParameters.java: Likewise.. + * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePrivate): + Return result. + (engineGeneratePublic): Likewise. + * gnu/javax/crypto/DiffieHellmanImpl: Removed. + +2006-02-22 Anthony Balkissoon + + * java/math/BigDecimal.java: + (BigDecimal(char[], int, int, MathContext)): New constructor. + (BigDecimal(char[], MathContext)): Likewise. + (BigDecimal(char[])): Likewise. + (BigDecimal(char[], int, int)): Likewise. + (BigDecimal(String)): Fixed handling of exponent and scale. + +2006-02-22 Mark Wielaard + + * java/awt/Checkbox.java (setState): Check that state actually changed + before calling peer. + (dispatchEventImpl): Set new state if ItemEvent. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (changing): Removed. + (create): Set currentState. + (setState): Make synchronized, check and set currentState before + calling gtkToggleButtonSetActive. + (postItemEvent): Make synchronized, check and set currentState before + posting ItemEvent. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c + (postItemEventID): Method now takes boolean. + (item_toggled_cb): Likewise. + +2006-02-22 Robert Schuster + + * javax/swing/text/DefaultHighlighter.java: + (changeHighlight): Added code to minimize the damaged area. + +2006-02-22 Robert Schuster + + * javax/swing/text/PlainView.java: + (getPreferredSpan): Added missing 'break'. + statement which corrects an unwanted fall through. + (updateDamage): Update maxLineLength correctly when text is + removed, call preferenceChanged accordingly. + (viewToModel): Restrict line number to be within 0 and the + number of elements-1. + +2006-02-22 Robert Schuster + + * javax/swing/text/Utilities.java: + (getPositionAbove): Prefer first value by changing comparison + from < to <=. + (getPositionBelow): Dito. + +2006-02-22 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Added checks and fallback + behavior when magic caret position is null. + +2006-02-22 Roman Kennke + + * javax/swing/JTextField.java + (isValidateRoot): New method. + +2006-02-22 Roman Kennke + + * javax/swing/JEditorPane.java + (getPreferredSize): Rewritten to behave like the reference impl. + (getScrollableTracksViewportWidth): Likewise. + (getScrollableTracksViewportHeight): Likewise. + +2006-02-22 Roman Kennke + + * javax/swing/RepaintManager.java + (addInvalidComponent): Also consider the component itself. + +2006-02-22 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (createDefaultRoot): Fully + qualify AbstractDocument.AttributeContext. + (blockOpen): Likewise. + +2006-02-21 Anthony Balkissoon + + * java/math/BigDecimal.java: + (mathContext): New field. + (precision): Likewise. + (BigDecimal(int)): New constructor. + (BigDecimal(long)): Likewise. + (BigDecimal(BigInteger)): Added API docs. + (BigDecimal(BigInteger, int)): Removed incorrect NumberFormatException + and added API docs. + (plus): New method. + (round): Likewise. + (precision): Likewise. + (valueOf): Likewise. + (numDigitsInLong): New implementation method. + +2006-02-21 Anthony Balkissoon + + * java/math/MathContext.java: New class. + * java/math/RoundingMode: New Enum. + +2006-02-21 Mark Wielaard + + * java/awt/Component.java (translateEvent): Translate + AdjustmentEvents to 1.0 Events. + * java/awt/Scrollbar.java (dispatchEventImpl): Set valueIsAdjusting. + Call setValue() before processing event. + * gnu/java/awt/peer/gtk/GtkScrollbarPeer.java (setValues): Check + whether we are currently changing and being called back from the + Scrollbar component. + (setBarValues): New native method. + (postAdjustmentEvent): Mark AdjustmentEvent as user generated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Renamed to + Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setBarValue + * include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h: Regenerated. + +2006-02-21 Roman Kennke + + * javax/swing/text/View.java + (setParent): Set child parent to null when disconnecting + the view from the View hierarchy. + +2006-02-21 Wolfgang Baer + + * javax/print/StreamPrintService.java: Added and enhanced documentation. + +2006-02-21 Roman Kennke + + * javax/swing/text/WrappedPlainView.java + (calculateBreakPosition): Changed to use the view's allocation instead + of the container's preferredSize. + +2006-02-21 Wolfgang Baer + + * java/awt/CardLayout.java: + (first): Updated api documentation. + (last): Likewise. + (next): Likewise. + (previous): Likewise. + (show): Clarified api docs. Return if name is null. Throw + IllegalArgumentException if layout of container is not this. + (gotoComponent): Updated api documentation. Throw + IllegalArgumentException if layout of container is not this. + +2006-02-21 Roman Kennke + + * javax/swing/text/NavigationFilter.java + (getNextVisualPositionFrom): New method. + +2006-02-21 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.setView): Call setParent() on the view with this as + argument instead of null. + (setView): Don't set root view's parent here. + +2006-02-21 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (AbstractElement.getAttribute): Use getResolveParent() to fetch + the resolving parent. + (AbstractElement.getResolveParent): Fixed to handle possible null + parent. + * javax/swing/text/BoxView.java + (childReqs): New field. + (paint): Added debugging code (commented out). + (getPreferredSpan): Rewritten to use new update* methods. + (getMaximumSpan): Rewritten to return Integer.MAX_VALUE + for the minor axis and preferredSpan for the major axis. + (getMinimumSpan): Rewritten to use new update* methods. + (baselineRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (baselineLayout): Rewritten to use new update* methods. + (calculateMajorAxisRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (calculateMinorAxisRequirements): Rewritten to avoid creation of + unnecessary SizeRequirements objects. + (layout): Some robustness fixes for the layout. Turned AssertionErrors + into warnings. + (layoutMajorAxis): Rewritten to use new update* methods. + (layoutMinorAxis): Rewritten to use new update* methods. + (getChildRequirements): Replaced by the update* methods. + (getAlignment): Use update* methods. + (updateChildRequirements): New methods. Updates the child requirements + if necessary. + (updateRequirements): New methods. Updates the BoxView requirements + if necessary. + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insert): Added warning for illegal replacement operation. + * javax/swing/text/FlowView.java + (layoutRow): When offset doesn't change, return -1. + (LogicalView): Now subclasses BoxView. + (loadChildren): Let the CompositeView.setParent() load the children + of the logicalView. + (calculateMinorRequirements): New overridden method. + * javax/swing/text/GlyphView.java + (DefaultGlyphPainter.paint): Fixed typo. + (startOffset): Made field private. + (endOffset): Made field private. + (paint): Call getStartOffset() and getEndOffset() instead of the + element methods. + (isStrikeThrough): Fixed typo. + (breakView): Use Utilities.getBreakLocation() to determine best + break location. + (changedUpdate): Call preferencedChange on this instead of parent. + (removeUpdate): Call preferencedChange on this instead of parent. + * javax/swing/text/ParagraphView.java + (Row.getAlignment): For Y_AXIS, call super. + (getAlignment): Likewise. + * javax/swing/text/Utilities.java + (getBreakLocation): Set Segment object directly on the BreakIterator. + * javax/swing/text/html/HTML.java + (Attribute): Made class non-serializable and final as specified. + (Attribute(String)): Made constructor private. + (Attribute.compareTo): Removed. + (Attribute.equals): Removed. + (Attribute.hashCode): Removed. + (Tag): Made class non-comparable and non-serializable as specified. + (Tag.compareTo): Removed. + (Tag.equals): Removed. + (Tag.hashCode): Removed. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.blockOpen): Add tag as name attribute to element. + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create NullView for tags, removed unused + fallback. + * javax/swing/text/html/InlineView.java + (setPropertiesFromAttributes): Call super. + * javax/swing/text/html/NullView.java: New class. + +2006-02-21 Roman Kennke + + PR classpath/26368 + * javax/swing/text/GapContent.java + (GapContentPosition): Made class private. + (InsertUndo): Made class private. + (UndoRemove): Made class private. + (WeakPositionComparator): New inner class. + (positions): Made field private. + (createPosition): Clear up GC'ed positions before creating + a new one. Store position as WeakReference. + (getPositionsInRange): Changed to handle WeakReference + positions. + (setPositionsInRange): Changed to handle WeakReference + positions. + (adjustPositionsInRange): Changed to handle WeakReference + positions. + (dumpPositions): Handle WeakReference positions. + (clearPositionReferences): New method. + +2006-02-21 Robert Schuster + + * javax/swing/plaf/basic/BasicTextUI.java: + (paint): Remove unneccessary part of the if-expression. + (damageRange): Added case where the range spans multiple lines. + * javax/swing/text/DefaultCaret.java: + (clearHighlight): New method. + (handleHighlight): Removed unneccessary part of the if-expression. + (setDot): Use clearHighlight method. + * javax/swing/text/DefaultHighlighter.java: Use ArrayList instead + of Vector. + (paint): Prevented calling size() on every loop iteration, fixed + calculation of allocation area bounds. + (getHighlights): Implemented. + (removeHighlight): Mark damaged area in textcomponent. + (addHighlight): Mark damaged area in textcomponent. + (changeHighlight): Mark damaged area in textcomponent. + (DefaultHighlighter.HighlightEntry): Made it a real + Highlighter.Highlight implementation. + (DefaultHighlighter.DefaultHighlightPainter.paint): Fixed + calculations. + +2006-02-20 Stuart Ballard + + * java/util/zip/ZipConstants.java + (LOCSIG): Change type to long. + (EXTSIG): Likewise. + (CENSIG): Likewise. + (ENDSIG): Likewise. + * java/util/zip/ZipOutputStream.java + (writeLeInt(long)): New method. + +2006-02-21 Michael Koch + + * gnu/javax/net/ssl/provider/PRNG.java: Removed. + +2006-02-20 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c + (begin_drawing_operation): Output stacktrace and return on bad cairo + status. + (end_drawing_operation): Likewise. And reset cairo_t. + +2006-02-20 Robert Schuster + + * javax/swing/text/DefaultEditorKit.java: Fixed comparison + in backward selection action. + +2006-02-20 Olivier Jolly + + * java/lang/reflect/Proxy.java: + (ProxyData.getProxyData): Skipped overriding of core methods. + (ProxyData.isCoreObjectMethod): New method. + +2006-02-20 Mark Wielaard + + * gnu/java/nio/charset/Provider.java (Provider): Package private. + +2006-02-20 Roman Kennke + + * javax/swing/text/html/Option.java: New class. + +2006-02-20 Lillian Angel + + * java/swt/Window.java + (show): Calling show() on the owned windows caused problems. + Changed back to get the peer and call setVisible. + +2006-02-20 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (damageRange): Implemented this method. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Corrected new mark value. + * javax/swing/text/AbstractDocument.java: + (remove): Changed order of operations. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Reverted. + * javax/swing/text/AbstractDocument.java: + (remove): Reverted. + +2006-02-20 Robert Schuster + + * javax/swing/text/GapContent.java: + (shiftGapEndUp): Corrected new mark value. + * javax/swing/text/AbstractDocument.java: + (remove): Changed order of operations. + +2006-02-20 Mark Wielaard + + * java/awt/Menu.java (add(MenuItem)): Use item.getParent() to get + parent field. + (insert): Likewise. + (addNotify): Add the item after addNotifying it. + * java/awt/MenuBar.java (setHelpMenu): Only call removeNotify() when + there is a peer. Use getParent() and setParent() to manipulate parent + field. + (add(Menu)): Use getParent() and setParent() to manipulate parent + field. Call addNotify() and addMenu() when there is a peer. + (remove(int)): Call removeNotify() and delMenu() when there is a peer. + (addNotify): Use getPeer()/setPeer(). Call addMenu() and addHelpMenu() + when there is a peer. + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Document. + (GtkMenuComponentPeer): Document. Take MenuComponent as argument. + (setFont): Call setFont(Font). + (setFont(Font)): Document. Only set font when not null. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (create): Document. Made + protected. + (connectSignals): Likewise. + (GtkMenuItemPeer): Document. Don't try to add item. Always call + connectSignals(). + * gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java (create): Make + protected. + (postMenuActionEvent): Document. + * gnu/java/awt/peer/gtk/GtkMenuPeer.java (create): Document. Made + protected. + (addItem): Document. Made private. + (addTearOff): Made private. + (connectSignals): New protected overridden method. + (GtkMenuPeer): Correctly cast setupAccelGroup() arguments. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (hasHelpMenu): New field. + (create): Document. + (addMenu): Made private, take GtkMenuPeer as argument and document. + (GtkMenuBarPeer): Document. + (nativeSetHelpMenu): Removed. + (addHelpMenu): Implement. + (delMenu): Document. + (addMenu): Implement. + * gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java (setParent): Removed. + * include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): + Removed. + +2006-02-20 Audrius Meskauskas + + * gnu/java/rmi/server/RMIObjectInputStream.java (resolveProxyClass): + Expect that proxy interfaces may have different class loaders. + * gnu/java/rmi/server/UnicastServerRef.java: Rewritten. + * java/rmi/registry/Registry.java, + * java/rmi/server/UnicastRemoteObject.java: + Documented about proxy stubs. + * gnu/java/rmi/server/CombinedClassLoader.java, + java/rmi/server/RemoteObjectInvocationHandler.java: New files. + * NEWS: Added entry. + +2006-02-19 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkContainerPeer.java (endValidate): Set + Parent and Bounds of our children if either or parent is showing, or + we are a Window and are showing ourselves now. + +2006-02-19 Audrius Meskauskas + + * gnu/classpath/tools/rmi/rmic/RmicCompiler.java (convertStubName): + New method. + * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: + Another stub name fix. + +2006-02-19 Audrius Meskauskas + + * gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java (compile): + Call convertStubName. (convertStubName): New method. + * gnu/classpath/tools/rmi/RMIC.java (main): Stub name fix. + * gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java + (convertStubName): New method. + (getMethodHashCode): + Use existing gnu.java.rmi.server.RMIHashes.getMethodHash. + * gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav: Stub name fix. + +2006-02-19 Audrius Meskauskas + + * java/rmi/server/UnicastRemoteObject.java: Documenting. + +2006-02-19 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastServerRef.java: Reformatted. + +2006-02-18 Audrius Meskauskas + + * javax/swing/JViewport.java (paintBackingStore): If the component has + not been scrolled, only repaint the buffer part, indicated by + the parameter graphics clip. + +2006-02-19 Raif S. Naffah + + * gnu/javax/crypto/key/OutgoingMessage.java (writePublicKey): Handle new + internal format. + (writePrivateKey): Likewise. + (writeKey): New method. + (getKeyType): Likewise. + * gnu/javax/crypto/key/IncomingMessage.java (readPublicKey): Handle new + internal format. + (readPrivateKey): Likewise. + (getKeyPairCodec): New method. + * gnu/javax/crypto/key/srp6/SRPKey.java (getFormat): Always return Raw. + * gnu/javax/crypto/key/dh/GnuDHKey.java (getFormat): Use FormatUtil. + * gnu/java/security/Registry.java (RSA_SIG_PREFIX): New constant. + (RSA_PSS_ENCODING): Likewise.. + (RSA_PKCS1_V1_5_ENCODING): Likewise. + (RSA_PSS_SIG): Redefined using other constants. + (RSA_PKCS1_V1_5_SIG): Likewise. + (MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE): New constant. + * gnu/java/security/util/FormatUtil.java: New file. + * gnu/java/security/sig/SignatureFactory.java (names): New field. + (getInstance): Let RSASignatureFactory handle RSA signature names. + (getNames): Handle new RSA signature (with format) names. + * gnu/java/security/sig/SignatureCodecFactory.java: New file. + * gnu/java/security/sig/BaseSignature.java (BaseSignature): Add check + for null md. + (name): Include hash algorithm name. + * gnu/java/security/sig/rsa/RSASignatureFactory.java: New file. + * gnu/java/security/sig/rsa/RSAPSSSignature.java + (RSAPSSSignature): Call constructor with IMessageDigest. + (RSAPSSSignature(ImessageDigest,int)): New constructor. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureRawCodec.java: New + file. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5SignatureX509Codec.java: + Likewise. + * gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java + (RSAPKCS1V1_5Signature(String)): Call constructor with IMessageDigest. + (RSAPKCS1V1_5Signature(IMessageDigest)): New constructor. + * gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java (getInstance): Added + hash algorithm name to exception. + * gnu/java/security/sig/dss/DSSSignatureX509Codec.java: New file. + * gnu/java/security/key/KeyPairCodecFactory.java + (names): New class field. + (getInstance(Sitrng)): Deconstruct and call getInstance(String,String). + (getInstance(String,String)): New method. + (getInstance(String,int)): New method. + (getInstance(byte[])): Removed. + (getInstance(Key)): Handle new formats. + (getNames): Likewise. + (getEncodingName(int)): Moved to FormatUtil. + (getEncodingShortName(int)): Likewise. + (getRawCodec(String)): New method. + (getX509Codec(String)): Likewise. + (getPKCS8Codec(String)): Likewise. + (getRawCodec(Key)): Likewise. + (getX509Codec(Key)): Likewise. + (getPKCS8Codec(Key)): Likewise. + * gnu/java/security/key/dss/DSSKey.java (getFormat): Use FormatUtil. + * gnu/java/security/key/rsa/GnuRSAKey.java (getFormat): Likewise. + * gnu/java/security/jce/sig/SHA512withRSA.java: New File. + * gnu/java/security/jce/sig/SHA384withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA256withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA160withRSA.java: Likewise. + * gnu/java/security/jce/sig/SHA160withDSS.java: Likewsie. + * gnu/java/security/jce/sig/MD5withRSA.java: Likewise. + * gnu/java/security/jce/sig/MD2withRSA.java: Likewise. + +2006-02-18 Mark Wielaard + + * java/awt/dnd/DragSource.java (getDefaultDragSource): Return new + DragSource. + (NoDragGestureRecognizer): New static class. + (createDragGestureRecognizer): Return NoDragGestureRecognizer when + Toolkit doesn't support drag and drop. + +2006-02-18 Mark Wielaard + + * javax/swing/AbstractAction.java (AbstractAction()): Nothing to do. + (AbstractAction(String)): Just call putValue() for NAME. + (putValue): Nothing to do is old and new value are both null. + +2006-02-18 Mark Wielaard + + * javax/swing/JRootPane.java (layoutContainer): Get contentPane + through getContentPane(). + (preferredLayoutSize): Likewise. + +2006-02-18 Mark Wielaard + + * javax/swing/JMenuBar.java (paintBorder): Check whether border is + actually set before painting. + +2006-02-18 Mark Wielaard + + * javax/swing/text/html/HTMLDocument.java (addContent): + Fully qualify AbstractDocument.AttributeContext and + DefaultStyledDocument.ElementSpec.ContentType for gcj 4.0. + +2006-02-18 Mark Wielaard + + * java/awt/datatransfer/DataFlavor.java (tryToLoadClass): Rewritten. + (getRepresentationClassFromMime): Add exception cause to + IllegalArgumentException. + +2006-02-17 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java: + Removed unneeded import. + * gnu/java/awt/peer/gtk/GtkFramePeer.java: + Removed unneeded imports. + * java/awt/BorderLayout.java: + Fixed comment, this is not yet handled in the JDK 1.5. + * java/awt/Container.java: + Removed unneeded import. + +2006-02-17 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (setBounds): Removed check. Coordinates should always be changed + to incorporate the parent's coordinates. + * gnu/java/awt/peer/gtk/GtkFramePeer.java + (setMenuBar): Added checks. Don't validate component if it has + not been validated yet, it will be validated later. Only validate + if it has already been validated, in that case it needs to be + revalidated. + * java/awt/Window.java + (show): Added check. If the window is visible, then bring it to the + front. Otherwise, iterate through all its children windows and show them. + No need to do both. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/ParagraphView.java: New file. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (getCellRect): return +rowMargin if spacing + is included. (moveToCellBeingEdited): Adjusted to start editing at the + same location where was the initial text. + * javax/swing/plaf/basic/BasicTableUI.java (paint): Rewritten. + +2006-02-17 Chris Burdess + + Fixes PRs 26319, 26320, 26321, 26322, 26325 + * gnu/xml/stream/SAXParser.java: On error, reset parser before + rethrowing exception. + * gnu/xml/stream/XMLParser.java: Only report "illegal use of + 1.1-style prefix unbinding in 1.0 document" error for xmlns + prefixes, not xmlns attributes. Fix a problem with empty namespace + stack at the end of a document. Permit parameter entity references + in element and attribute-list definition name area. Corrected + normalisation of whitespace character entity references in CDATA + attribute values. Fixed number of characters read following a + reset when detecting end of character data with characters after a + Unicode surrogate pair. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/HTMLEditorKit.java + (HTMLFactory.create): Create InlineView for content tags. + * javax/swing/text/html/HTMLDocument.java + (HTMLReader.flush): Call create() on first flush and insert + on subsequent flushes. + +2006-02-17 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (BranchElement.getStartOffset): Implemented workaround for wrong + NPE. + (BranchElement.getEndOffset): Implemented workaround for wrong + NPE. + (ElementBuffer.split): Use createBranchElement() instead of + new BranchElement(). + (ElementBuffer.insertFracture): Use createBranchElement() instead of + new BranchElement(). + (ElementBuffer.recreateAfterFracture): Use createBranchElement() + instead of new BranchElement(). + (createDefaultRoot): Use createBranchElement() and createLeafElement + instead of the constructors. + (create): Rewritten. + +2006-02-17 Keith Seitz + + * gnu/classpath/jdwp/id/JdwpId.java (size): Remove. + (SIZE): New constant. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeIDsizes): Use SIZE constant. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): Remove. + (SIZE): New constant. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (IconCellRenderer): Set the component + text to empty string. (createDefaultRenderers): Register + IconCellRenderer also for ImageIcon. + (getCellEditor(int, int), getCellRenderer(int, int)): + Use model index for data model and column index for column model. + (getColumnClass): Convert to model index before requesting class + from model. + +2006-02-17 Roman Kennke + + * javax/swing/text/html/HTMLDocument.java + (createDefaultRoot): Implemented. + (createLeafElement): Implemented. + (createBranchElement): Implemented. + (BlockElement.getName): Fixed to handle HTML.Tag objects as name. + (RunElement.getName): Fixed to handle HTML.Tag objects as name. + (HTMLReader.ParagraphAction.start): Call blockOpen at the very least. + (HTMLReader.ParagraphAction.end): Call blockClose at the very least. + (HTMLReader.blockOpen): Add name attribute with the current tag. + (HTMLReader.addContent): Add name attribute with HTML.Tag.CONTENT. + +2006-02-17 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. + * javax/swing/table/JTableHeader.java: Documenting related methods. + +2006-02-17 Jeroen Frijters + + Fixes PR 25752 + * gnu/java/net/protocol/ftp/FTPURLConnection.java + (connect): Changed to use SystemProperties. + (getInputStream): Try changeWorkingDirectory to figure out if + url is a directory, if not use retrieve. + (getOutputStream): Don't worry about directories, simply always + try to do a store. + +2006-02-17 Jeroen Frijters + + * gnu/java/net/protocol/ftp/ActiveModeDTP.java + (ActiveModeDTP): Mark accept thread as daemon. + +2006-02-17 Michael Koch + + * tools/.cvsignore: Ignore tools.zip. + +2006-02-16 Keith Seitz + + * vm/reference/gnu/classpath/jdwp/VMIdManager.java (newReferenceTypeId): + Set the ID's reference. + (): Remove comments for field, method, and frame ID types, + which will not be handled by VMIdManager. + +2006-02-17 Audrius Meskauskas + + * javax/swing/JTable.java (getCellEditor, getCellRenderer): + Use model index, not the column number. + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. (draggingHeaderRect): New field. (paint): Animate column + movement by painting draggingHeaderRect. + * NEWS: Added entry about JTable columns. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/id/JdwpId.java (size): Make static. Return + default size of eight bytes. + * gnu/classpath/jdwp/id/ObjectId.java (size): Remove. + * gnu/classpath/jdwp/id/ReferenceTypeId.java (size): Remove. + * gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java + (executeIDsizes): Use new static methods. + * vm/reference/gnu/classpath/jdwp/VMFrame.java (size): New static + method. + +2006-02-16 David Daney + + PR classpath/26312 + * gnu/java/net/protocol/http/ChunkedInputStream.java (read): Mask + return value with 0xff. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/event/EventRequest.java (getFilters): New method. + (matches): Use Iterator instead of ListIterator. + +2006-02-16 Keith Seitz + + * gnu/classpath/jdwp/Jdwp.java (_doInitialization): Name the packet + processor thread for easier debugging. + (_enforceSuspendPolicy): Suspend the current thread, not the JDWP + main thread. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java + (TableColumnPropertyChangeHandler.propertyChange): Return without + action if table header resizing column in not null. (doLayout): + Only repaint the header if it is not null. + * javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseExited, MouseInputHandler.mouseReleased): + Rewritten. (MouseInputHandler.endResizing): New method. + +2006-02-16 Roman Kennke + + * javax/swing/text/html/InlineView.java: New file. + +2006-02-16 Roman Kennke + + * javax/swing/JTabbedPane.java + (AccessibleJTable.getAccessibleChild): Implemented to return + the Page instance for the specified index. + (Page): Changed to implement Accessible and extend + AccessibleContext. + (Page.getAccessibleContext): New method. + (Page.getAccessibleRole): New method. + (Page.getAccessibleStateSet): New method. + (Page.getAccessibleIndexInParent): New method. + (Page.getAccessibleChildrenCount): New method. + (Page.getAccessibleChild): New methdod. + (Page.getLocale): New method. + +2006-02-16 Roman Kennke + + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (TabbedPaneLayout.calculateTabRects): Expand tabRuns array when + tabCount gets greater than tabRuns.length. + (TabbedPaneScrollLayout.calculateTabRects): Expand tabRuns array + when tabCount gets greater than tabRuns.length. + (paintTabArea): Don't set tabCount == runCount. + +2006-02-16 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (installUI): Moved installation of PropertyChangeListener + to installListeners(). Call modelChanged() after everything is + is installed. + (installListeners): Install PropertyChangeListener here. + (uninstallUI): Moved uninstallation of PropertyChangeListener + to uninstallListeners. + (uninstallListeners): Uninstall PropertyChangeListener here. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java (doLayout): + case AUTO_RESIZE_SUBSEQUENT_COLUMNS rewritten. Repaint the header + on exit. + javax/swing/plaf/basic/BasicTableHeaderUI.java + (MouseInputHandler.mouseDragged): Do not repaint the header. + +2006-02-16 Roman Kennke + + * javax/swing/JViewport.java + (static_initializer): Set default scrollMode to backingstore. + +2006-02-16 Audrius Meskauskas + + * javax/swing/JTable.java (moveToCellBeingEdited): Clone the value, + returned by getCellRect. To not translate the component. + +2006-02-16 Roman Kennke + + * javax/swing/JComponent.java + (rectCache): Made field non-static to avoid nasty interferences. + (computeVisibleRect): Avoid creation of new Rectangles and double + calculations on ints by using Swing.computeIntersection() instead + of Rectangle2D.intersect(). + (repaint): Interect the dirty region with the visible rectangle + of this component to avoid unnecessary painting. + +2006-02-16 Gary Benson + + * java/lang/Thread.java (stop): Add a missing access check. + +2006-02-16 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (replaceSelection): Added code to update the magic caret position. + * javax/swing/text/DefaultEditorKit.java: Added code to update + the magic caret position of the text component in all relevant + movement actions, make use of the magic caret position in up + and down movements and selections, simplified some actions + (code-wise). + +2006-02-15 Anthony Balkissoon + + * gnu/java/lang/CharData.java: Regenerated from + doc/unicode/UnicodeData-4.0.0.txt, doc/unicode/SpecialCasing-4.0.0.txt + and scripts/unicode-muncher.pl. + * java/lang/Character.java: + (PrivateUseCharacters): New private static class. + (UnassignedCharacters): Likewise. + (blocks): Changed from char[] to char[][] to reflect the changes in + gnu/java/lang/CharData. There is now one char[] per Unicode code + plane. + (data): Likewise. + (numValue): Likewise. + (upper): Likewise. + (lower): Likewise. + (direction): Likewise. + (readChar): Replaced this method with new method readCodePoint. + (readCodePoint): New method. + (isLowerCase(char)): Redirected to new isLowerCase(int). + (isLowerCase(int)): New method. + (isUpperCase(char)): Redirected to new isUpperCase(int). + (isUpperCase(int)): New method. + (isTitleCase(char)): Redirected to new isTitleCase(int). + (isTitleCase(int)): New method. + (isDigit(char)): Redirected to new isDigit(int). + (isDigit(int)): New method. + (isDefined(char)): Redirected to new isDefined(int). + (isDefined(int)): New method. + (isLetter(char)): Redirected to new isLetter(int). + (isLetter(int)): New method. + (isLetterOrDigit(char)): Redirected to new isLetterOrDigit(int). + (isLetterOrDigit(int)): New method. + (isJavaIdentifierStart(char)): Redirected to new + isJavaIdentifierStart(int). + (isJavaIdentifierStart(int)): New method. + (isJavaIdentifierPart(char)): Redirected to new + isJavaIdentifierPart(int). + (isJavaIdentifierPart(int)): New method. + (isUnicodeIdentifierStart(char)): Redirected to new + isUnicodeIdentifierStart(int). + (isUnicodeIdentifierStart(int)): New method. + (isUnicodeIdentifierPart(char)): Redirected to new + isUnicodeIdentifierPart(int). + (isUnicodeIdentifierPart(int)): New method. + (isIdentifierIgnorable(char)): Redirected to new + isIdentifierIgnorable(int). + (isIdentifierIgnorable(int)): New method. + (toLowerCase(char)): Changed access to lower to correspond with new + char[][] type of lower. + (toLowerCase(int)) New method. + (toUpperCase(char)): Changed access to upper to correspond with new + char[][] type of upper. + (toUpperCase(int)): New method. + (toTitleCase(int)): New method. + (digit(char, int)): Replaced call to readChar with call to + readCodePoint and changed access to numValue to reflect new char[][] + type of numValue. + (digit(int, int)): New method. + (getNumericValue(char)): Changed access to numValue to reflect new + char[][] type of numValue. + (getNumericValue(int)): New method. + (isSpaceChar(char)): Redirected to new isSpaceChar(int). + (isSpaceChar(int)): New method. + (isWhitespace(char)): Redirected to new isWhitespace(int). + (isWhitespace(int)): New method. + (isISOControl(char)): Redirected to new isISOControl(int). + (isISOControl(int)): New method. + (getType(char)): Redirected to new getType(int). + (getType(int)): New method. + (getDirectionality(char)): Redirected to new getDirectionality(int). + (getDirectionality(int)): New method. + (isMirrored(char)): Changed call to readChar to readCodePoint. + (isMirrored(int)): New method. + * java/lang/String.java: + (upperCaseExpansion): Changed access to Character.direction to reflect + new char[][] type of direction. + (offsetByCodePoints): New method. + * scripts/unicode-muncher.pl: Adapted this script to handle Unicode + 4.0.0 which introduced supplementary character assignments. + +2006-02-15 Audrius Meskauskas + + * javax/swing/JTable.java, + javax/swing/plaf/basic/BasicTableHeaderUI.java, + javax/swing/table/DefaultTableModel.java: Documented. + +2006-02-15 Lillian Angel + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: + Removed duplicate methods. + +2006-02-15 Audrius Meskauskas + + * javax/swing/JTable.java (distributeSpillResizing): New method. + (doLayout): Use distributeSpillResizing when resizing. + * javax/swing/plaf/basic/BasicTableHeaderUI.java (MouseInputHandler): + Rewritten. (installListeners): Add mouse motion listener. + (uninstallListeners): Remove mouse motion listener. + +2006-02-15 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkDialogPeer.java + (setVisible): Removed method. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (setLocation): New method. + (setLocationUnlocked): New method. + (show): Changed to use setLocation instead of setBounds. + * java/awt/Component.java + (show): Should call peer.show(), not peer.setVisible(), so the + location of the component is correctly set. + (preferredSize): Added curly braces so else statements are + properly associated with if's. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetLocation): + New function. + (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSet + LocationUnlocked): New function. + * include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: + Added declarations for Java_gnu_java_awt_peer_gtk_ + GtkWindowPeer_nativeSetLocation and + Java_gnu_java_awt_peer_gtk_GtkWindowPeer + _nativeSetLocationUnlocked. + +2006-02-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + Downcast gtk_plug_new result when used. + +2006-02-15 Olivier Jolly + + * java/io/ObjectOutputStream.java (writeClassDescriptor): + Call assignNewHandle() after writing Proxy class. + +2006-02-15 Olivier jolly + + Fixes bug #14144 + * java/io/ObjectInputStream.java (readClassDescriptor): + Class doesn't have to be abstract for first_nonserial. + +2006-02-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (setClosed): Call dispose to actually make the frame invisible + and unselected. + +2006-02-15 Roman Kennke + + * javax/swing/JInternalFrame.java + (dispose): Call setVisible(false) instead of hide. + (doDefaultCloseOperation): Likewise. + +2006-02-15 Roman Kennke + + * javax/swing/JComponent.java + (paintChildren): Also check for the visibility of a child component + to avoid artifacts. + (repaint): Simply add this component to the RepaintManager rather than + trying to do useless optimization here. + +2006-02-15 David Gilbert + + * javax/swing/JSpinner.java + (DefaultEditor.DefaultEditor(JSpinner)): Add self to text field as a + PropertyChangeListener, + (DefaultEditor.getSpinner): Updated API docs, + (DefaultEditor.dismiss): Likewise, + (DefaultEditor.getTextField): Likewise, + (DefaultEditor.layoutContainer): Likewise, + (DefaultEditor.minimumLayoutSize): Likewise, + (DefaultEditor.preferredLayoutSize): Likewise, + (DefaultEditor.propertyChange): Implemented, + (DefaultEditor.stateChanged): Implemented, + (DefaultEditor.removeLayoutComponent): Updated API docs, + (DefaultEditor.addLayoutComponent): Likewise, + (NumberEditor.NumberEditor(JSpinner)): Set formatter for text field, + (NumberEditor.NumberEditor(JSpinner, String)): Likewise, + (NumberEditor.getFormat): Implemented, + (NumberEditor.getModel): Updated API docs, + (NumberEditorFormatter): New static inner class, + (ListEditor.getModel): Updated API docs, + (DateEditor.dateFormat): Removed, + (DateEditor.DateEditor(JSpinner)): Set formatter for text field, + (DateEditor.DateEditor(JSpinner, String)): Likewise, + (DateEditor.init): Removed, + (DateEditor.getFormat): Reimplemented, + (DateEditorFormatter): New static inner class, + (ModelListener): New inner class, + (model): Updated API docs, + (editor): Likewise, + (listener): Removed, + (JSpinner()): Updated API docs, + (JSpinner(SpinnerModel)): Set up ModelListener, + (setEditor): Fire property change, + (getModel): Updated API docs, + (setModel): Removed check for null editor, + (setValue): Updated API docs, + (getUIClassID): Updated API docs, + (createEditor): Handle SpinnerListModel case, + * javax/swing/plaf/basic/BasicSpinnerUI.java + (createUI): Updated API docs, + (createPropertyChangeListener): Added FIXME, + (installDefaults): Set text field border to null, + (DefaultLayoutManager): Updated API docs, + (DefaultLayoutManager.layoutContainer): Modified layout, + (DefaultLayoutManager.minimumLayoutSize): Ignore button heights, + (DefaultLayoutManager.preferredLayoutSize): Likewise, + (DefaultLayoutManager.removeLayoutComponent): Removed tabs, + (DefaultLayoutManager.addLayoutComponent): Likewise, + (DefaultLayoutManager.minSize): Renamed prefSize, + (DefaultLayoutManager.setBounds): Reformatted, + (DefaultLayoutManager.editor): Added API docs, + (DefaultLayoutManager.next): Likewise, + (DefaultLayoutManager.previous): Likewise, + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Added entry for 'Spinner.border', + * examples/gnu/classpath/examples/swing/SpinnerDemo.java: New file. + +2006-02-15 Chris Burdess + + * gnu/xml/validation/datatype/BooleanType.java, + gnu/xml/validation/datatype/ByteType.java, + gnu/xml/validation/datatype/DateTimeType.java, + gnu/xml/validation/datatype/DateType.java, + gnu/xml/validation/datatype/DecimalType.java, + gnu/xml/validation/datatype/DoubleType.java, + gnu/xml/validation/datatype/DurationType.java, + gnu/xml/validation/datatype/FloatType.java, + gnu/xml/validation/datatype/GDayType.java, + gnu/xml/validation/datatype/GMonthDayType.java, + gnu/xml/validation/datatype/GMonthType.java, + gnu/xml/validation/datatype/GYearMonthType.java, + gnu/xml/validation/datatype/GYearType.java, + gnu/xml/validation/datatype/IntType.java, + gnu/xml/validation/datatype/IntegerType.java, + gnu/xml/validation/datatype/LongType.java, + gnu/xml/validation/datatype/MaxExclusiveFacet.java, + gnu/xml/validation/datatype/MaxInclusiveFacet.java, + gnu/xml/validation/datatype/MinExclusiveFacet.java, + gnu/xml/validation/datatype/MinInclusiveFacet.java, + gnu/xml/validation/datatype/NegativeIntegerType.java, + gnu/xml/validation/datatype/NonNegativeIntegerType.java, + gnu/xml/validation/datatype/NonPositiveIntegerType.java, + gnu/xml/validation/datatype/PositiveIntegerType.java, + gnu/xml/validation/datatype/ShortType.java, + gnu/xml/validation/datatype/SimpleType.java, + gnu/xml/validation/datatype/TimeType.java, + gnu/xml/validation/datatype/TypeBuilder.java, + gnu/xml/validation/datatype/UnsignedByteType.java, + gnu/xml/validation/datatype/UnsignedIntType.java, + gnu/xml/validation/datatype/UnsignedLongType.java, + gnu/xml/validation/datatype/UnsignedShortType.java: Provide value + objects for datatypes. Make maxExclusive,minExclusive,maxInclusive, + minInclusive facets use the value space of the base type, and + implement. + +2006-02-15 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + gtk_plug_new() returns a GtkWindow. + +2006-02-15 David Gilbert + + * javax/swing/SpinnerNumberModel.java + (getNextValue): Check for null maximum, + (getPreviousValue): Check for null minimum. + +2006-02-15 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Paint vertical and horizontal lines one pixel shifted + left/top. + +2006-02-15 Jeroen Frijters + + * java/util/zip/ZipFile.java + (checkZipFile): Inlined readLeInt and rewritten for robustness. + (readLeShort(DataInput,byte[]), readLeInt(DataInput,byte[], + readLeShort(byte[],int), readLeInt(byte[],int)): Removed. + (readEntries): Rewritten to use PartialInputStream. + (locBuf, checkLocalHeader): Removed. + (getInputStream): Rewritten to use new PartialInputStream. + (PartialInputStream): Rewritten to do buffering. + +2006-02-15 Michael Koch + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c + (Java_gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer_create): + Make sure the embedded window gets no decorations. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c + (window_get_frame_extents): Return early of the window has no + decorations. + +2006-02-15 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java + (TModel, createContent): Explain which value appears in the header. + * javax/swing/JTable.java (setColumnModel): Only set the + column header value if the getHeaderValue() returns null. + +2006-02-14 Mark Wielaard + + Fixes bug #23931 + * gnu/java/awt/peer/gtk/GtkImage.java (errorImage): New static field. + (getErrorImage): New static method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (GtkErrorImage): Removed. + (bufferedImageOrError): Renamed to ... + (imageOrError): Renamed from bufferedImageOrError, takes Image. + Returns GtkImage.getErrorImage() when argument null. + (createImage(String)): Always use imageOrError. + (createImage(URL)): Likewise. + (createImage(ImageProducer)): Likewise. + (createImage(byte[],int,int)): Likewise. + +2006-02-14 Roman Kennke + + * javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java: Removed + unneeded imports. + * javax/swing/plaf/basic/BasicInternalFrameUI.java: Likewise. + * javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java: Likewise. + * javax/swing/plaf/basic/BasicRootPaneUI.java: Likewise. + * javax/swing/plaf/basic/BasicSplitPaneDivider.java: Likewise. + * javax/swing/plaf/basic/BasicHTML.java: Fixed API comment. + +2006-02-14 Roman Kennke + + * javax/swing/text/AsyncBoxView.java + (ChildState.locator): Removed wrong field. + (ChildState): Removed initialization of removed field. + (locator): Changed access modifier to be protected as specified. + +2006-02-14 Roman Kennke + + * javax/swing/ToolTipManager.java: Removed unneeded imports. + * javax/swing/Timer.java: Some small reindention. + (task): Made package private to avoid synthetic accessor method. + +2006-02-14 Roman Kennke + + * javax/swing/SwingUtilities.java + (layoutCompoundLabel): Dont set textIconGap to 0 when there is + no icon. + +2006-02-14 Audrius Meskauskas + + * examples/gnu/classpath/examples/swing/TableDemo.java: + Making the columns variable width. + * javax/swing/JTable.java (distributeSpill, doLayout): + Call getPreferredSize and not getSize(). + +2006-02-14 Roman Kennke + + * javax/swing/DefaultCellEditor.java + (DefaultCellEditor): API doc fixlet. + +2006-02-14 Roman Kennke + + * javax/swing/JViewport.java + (isPaintRoot): New field. + (repaint): Only call super here. Also added a comment regarding + the diversion from the JDK. + (paintBlit): Implemented real blitting. + (paintImmediately2): New method. Overrides the same package private + method in JComponent. + +2006-02-14 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Check for boundary cases when determining the painting + area. + +2006-02-14 Mark Wielaard + + * java/awt/Menu.java (add): Always set parent of item to this. Call + addNotify() on item when we have a MenuPeer already. + (insert): Always adjust parent for item. Call addNotify() on item if + we already have a peer. + (remove(int)): Always clear item parent. Call removeNotify() on item + if we had a peer. + +2006-02-14 Audrius Meskauskas + + * javax/swing/JTable.java (rowAtPoint): Return -1 if the computed + row == getRowCount(). + +2006-02-14 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkDialogPeer.java + (setVisible): New method to override super. Need to set the + native bounds of the component, so it appears at the + correct location. + +2006-02-14 Mark Wielaard + + * java/awt/Frame.java (setMenuBar): Update MenuBar parent. + (remove): If menu component is the current MenuBar remove it, + otherwise call super.remove(). + * java/awt/MenuBar.java (frame): Remove field. + * java/awt/MenuComponent.java (postEvent): Use getParent() always. + +2006-02-14 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/NameServicePersistent.java: Refer + to NameServicePersistent. + * tools/gnu/classpath/tools/giop/NameServicePersistent.txt: New file. + * tools/gnu/classpath/tools/giop/NamingServicePersistent.txt: Deleted. + +2006-02-14 Audrius Meskauskas + + * NEWS: Updated tool status. + * gnu/CORBA/NamingService/NamingMap.java (Map): Made protected. + (constructor, bind, rebind): Rewritten. + * gnu/CORBA/NamingService/TransientContext.java: Rewritten. + * tools/gnu/classpath/tools/giop/README: Updated. + * tools/gnu/classpath/tools/giop/NameServicePersistent.java, + tools/gnu/classpath/tools/giop/NamingServicePersistent.txt, + tools/gnu/classpath/tools/giop/nameservice/PersistentContext.java, + tools/gnu/classpath/tools/giop/nameservice/PersistentContextMap.java, + tools/gnu/classpath/tools/giop/nameservice/PersistentMap.java: + New files. + +2006-02-14 David Gilbert + + * javax/swing/JComponent.java + (getListeners): Check for PropertyChangeListener.class and delegate to + getPropertyChangeListeners() for that case. + +2006-02-13 Roman Kennke + + * javax/swing/plaf/basic/BasicTableUI.java + (paint): Determine the cells that need painting based on the + current clip. Use getCellRect() for calculating the cell + bounds. + +2006-02-13 Roman Kennke + + * javax/swing/JTable.java + (rectCache): New field. + (getCellRect): Returns cached Rectangle instance. + +2006-02-13 Roman Kennke + + * javax/swing/JLayeredPane.java + (removeAll): New method. Avoid potential memory leak. + (isOptimizedDrawingEnabled): Replaced heuristic with accurate + calculation. + +2006-02-14 Stuart Ballard + + * javax/swing/undo/StateEdit.java (RCSID): Match Sun's value. + * javax/swing/undo/StateEditable.java (RCSID): Likewise. + +2006-02-13 Tom Tromey + + * vm/reference/java/lang/reflect/Method.java: Javadoc fix. + * vm/reference/java/lang/reflect/Constructor.java: Javadoc fix. + +2006-02-13 Roman Kennke + + * javax/swing/RepaintManager.java + (offscreenBuffers): New field. + (doubleBuffer): Removed field. + (repaintUnderway): New field. + (commitRequests): New field. + (RepaintManager): Initialize new fields. + (paintDirtyRegions): Handle repaintUnderway flag. Commit + buffers when done. + (getOffscreenBuffer): Returns the offscreen buffer for the + corresponding root component. + (commitBuffer): New method. + (commitRemainingBuffers): New method. + * javax/swing/JComponent.java + (paint): Call paintDoubleBuffered with the current clip. + (paintImmediately2): Don't paint on screen here. + (paintDoubleBuffered): Rewritten for real double buffering. + (paintSimple): Draw to screen in this method. + +2006-02-13 Roman Kennke + + * javax/swing/JRootPane.java + (JRootPane): Set opaque property to true. + +2006-02-13 Tom Tromey + + * .classpath: Updated for external/relaxngDatatype. + +2006-02-13 Chris Burdess + + * gnu/xml/stream/UnicodeReader.java, + gnu/xml/validation/datatype/Annotation.java, + gnu/xml/validation/datatype/AnySimpleType.java, + gnu/xml/validation/datatype/AnyType.java, + gnu/xml/validation/datatype/AnyURIType.java, + gnu/xml/validation/datatype/AtomicSimpleType.java, + gnu/xml/validation/datatype/Base64BinaryType.java, + gnu/xml/validation/datatype/BooleanType.java, + gnu/xml/validation/datatype/ByteType.java, + gnu/xml/validation/datatype/DateTimeType.java, + gnu/xml/validation/datatype/DateType.java, + gnu/xml/validation/datatype/DecimalType.java, + gnu/xml/validation/datatype/DoubleType.java, + gnu/xml/validation/datatype/DurationType.java, + gnu/xml/validation/datatype/EntitiesType.java, + gnu/xml/validation/datatype/EntityType.java, + gnu/xml/validation/datatype/EnumerationFacet.java, + gnu/xml/validation/datatype/Facet.java, + gnu/xml/validation/datatype/FloatType.java, + gnu/xml/validation/datatype/FractionDigitsFacet.java, + gnu/xml/validation/datatype/GDayType.java, + gnu/xml/validation/datatype/GMonthDayType.java, + gnu/xml/validation/datatype/GMonthType.java, + gnu/xml/validation/datatype/GYearMonthType.java, + gnu/xml/validation/datatype/GYearType.java, + gnu/xml/validation/datatype/HexBinaryType.java, + gnu/xml/validation/datatype/IDRefType.java, + gnu/xml/validation/datatype/IDRefsType.java, + gnu/xml/validation/datatype/IDType.java, + gnu/xml/validation/datatype/IntType.java, + gnu/xml/validation/datatype/IntegerType.java, + gnu/xml/validation/datatype/LanguageType.java, + gnu/xml/validation/datatype/LengthFacet.java, + gnu/xml/validation/datatype/ListSimpleType.java, + gnu/xml/validation/datatype/LongType.java, + gnu/xml/validation/datatype/MaxExclusiveFacet.java, + gnu/xml/validation/datatype/MaxInclusiveFacet.java, + gnu/xml/validation/datatype/MaxLengthFacet.java, + gnu/xml/validation/datatype/MinExclusiveFacet.java, + gnu/xml/validation/datatype/MinInclusiveFacet.java, + gnu/xml/validation/datatype/MinLengthFacet.java, + gnu/xml/validation/datatype/NCNameType.java, + gnu/xml/validation/datatype/NMTokenType.java, + gnu/xml/validation/datatype/NMTokensType.java, + gnu/xml/validation/datatype/NameType.java, + gnu/xml/validation/datatype/NegativeIntegerType.java, + gnu/xml/validation/datatype/NonNegativeIntegerType.java, + gnu/xml/validation/datatype/NonPositiveIntegerType.java, + gnu/xml/validation/datatype/NormalizedStringType.java, + gnu/xml/validation/datatype/NotationType.java, + gnu/xml/validation/datatype/PatternFacet.java, + gnu/xml/validation/datatype/PositiveIntegerType.java, + gnu/xml/validation/datatype/QNameType.java, + gnu/xml/validation/datatype/ShortType.java, + gnu/xml/validation/datatype/SimpleType.java, + gnu/xml/validation/datatype/StringType.java, + gnu/xml/validation/datatype/TimeType.java, + gnu/xml/validation/datatype/TokenType.java, + gnu/xml/validation/datatype/TotalDigitsFacet.java, + gnu/xml/validation/datatype/Type.java, + gnu/xml/validation/datatype/TypeBuilder.java, + gnu/xml/validation/datatype/TypeLibrary.java, + gnu/xml/validation/datatype/TypeLibraryFactory.java, + gnu/xml/validation/datatype/UnionSimpleType.java, + gnu/xml/validation/datatype/UnsignedByteType.java, + gnu/xml/validation/datatype/UnsignedIntType.java, + gnu/xml/validation/datatype/UnsignedLongType.java, + gnu/xml/validation/datatype/UnsignedShortType.java, + gnu/xml/validation/datatype/WhiteSpaceFacet.java, + resource/META-INF/services/org.relaxng.datatype.DatatypeLibraryFactory: + RELAX NG datatype library implementation for XML Schema Datatypes. + +2006-02-13 Chris Burdess + + * LICENCE, + NEWS, + configure.ac, + doc/README.jaxp, + external/Makefile.am, + external/relaxngDatatype/.cvsignore, + external/relaxngDatatype/Makefile.am, + external/relaxngDatatype/README.txt, + external/relaxngDatatype/copying.txt, + external/relaxngDatatype/org/relaxng/datatype/Datatype.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeBuilder.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeException.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeLibrary.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeLibraryFactory.java, + external/relaxngDatatype/org/relaxng/datatype/DatatypeStreamingValidator.java, + external/relaxngDatatype/org/relaxng/datatype/ValidationContext.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/DatatypeLibraryLoader.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/ParameterlessDatatypeBuilder.java, + external/relaxngDatatype/org/relaxng/datatype/helpers/StreamingValidatorImpl.java, + lib/Makefile.am, + lib/gen-classlist.sh.in: Added external RELAX NG pluggable + datatypes library API. + +2006-02-13 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkGenericPeer.java (awtWidget): Made field + final. + (gtkWidgetModifyFont(Font)): New protected helper method. + (gtkWidgetModifyFont(String,int,int)): Made protected and document. + * gnu/java/awt/peer/gtk/GtkButtonPeer.java (gtkWidgetModifyFont): Made + protected and document. + * gnu/java/awt/peer/gtk/GtkCheckboxPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkLabelPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkListPeer.java (gtkWidgetModifyFont): + Likewise. + * gnu/java/awt/peer/gtk/GtkMenuBarPeer.java (create): Made protected. + (setFont): Removed method. Done in GtkMenuComponent. + * gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java (create): Made + abstract and protected. + (setFont): Made private, add implementation. + (setFont(Font)): Implemented. + * gnu/java/awt/peer/gtk/GtkMenuItemPeer.java (gtkWidgetModifyFont): + Made protected and document. + (create): Made protected. + (setFont): Removed method. Done in GtkMenuComponent. + * gnu/java/awt/peer/gtk/GtkTextAreaPeer.java + (gtkWidgetModifyFont): Made protected and document. + * gnu/java/awt/peer/gtk/GtkTextFieldPeer.java (gtkWidgetModifyFont): + Removed, similar to GtkGenericPeer super class implementation. + * include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h: Regenerated. + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c + (Java_gnu_java_awt_peer_gtk_GtkTextFieldPeer_gtkWidgetModifyFont): + Removed. + +2006-02-13 Mark Wielaard + + * java/lang/Math.java (static): Explicitly call + System.loadLibrary("javalang"). + +2006-02-13 Wolfgang Baer + + * javax/print/StreamPrintServiceFactory.java: New file. + +2006-02-13 Tom Tromey + + * tools/.cvsignore: Added Makefile. + +2006-02-13 Wolfgang Baer + + * java/awt/print/PrinterGraphics.java: Reformatted. + * java/awt/print/Paper.java: Likewise. + * java/awt/print/PageFormat.java: Likewise. + * java/awt/print/Pageable.java: Likewise. + +2006-02-13 Lillian Angel + + * java/awt/BorderLayout.java + (layoutContainer): Rewrote part of this function to + properly set the bounds of the components. + (setBounds): Removed method, not needed. + +2006-02-13 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.clone): Fixed replace call. + (clone): Removed method. + +2006-02-13 Roman Kennke + + * java/rmi/server/UnicastRemoteObject.java: Reformatted. + +2006-02-13 Roman Kennke + + * java/rmi/server/UnicastRemoteObject.java + (exportObject(Remote)): Forward method call to export(Remote,int). + +2006-02-13 Andrew John Hughes + + * include/Makefile.am: + Swapped Math.h for VMMath.h + * include/java_lang_Math.h: + Removed. + * include/java_lang_VMMath.h: + New autogenerated header for the new class. + * java/lang/Math.java: + (sin(double)): Changed to link to VMMath. + (cos(double)): Changed to link to VMMath. + (tan(double)): Changed to link to VMMath. + (asin(double)): Changed to link to VMMath. + (acos(double)): Changed to link to VMMath. + (atan(double)): Changed to link to VMMath. + (atan2(double)): Changed to link to VMMath. + (exp(double)): Changed to link to VMMath. + (log(double)): Changed to link to VMMath. + (sqrt(double)): Changed to link to VMMath. + (pow(double,double)): Changed to link to VMMath. + (IEEEremainder(double,double)): Changed to link to VMMath. + (ceil(double)): Changed to link to VMMath. + (floor(double)): Changed to link to VMMath. + (rint(double)): Changed to link to VMMath. + * native/jni/java-lang/Makefile.am: + Replaced java_lang_Math.c with java_lang_VMMath.c + * native/jni/java-lang/java_lang_Math.c: + Removed. + * native/jni/java-lang/java_lang_VMMath.c: + Renamed from java_lang_Math.c. + * vm/reference/java/lang/VMMath.java: + New class. + (sin(double)): New native method. + (cos(double)): New native method. + (tan(double)): New native method. + (asin(double)): New native method. + (acos(double)): New native method. + (atan(double)): New native method. + (atan2(double)): New native method. + (exp(double)): New native method. + (log(double)): New native method. + (sqrt(double)): New native method. + (pow(double,double)): New native method. + (IEEEremainder(double,double)): New native method. + (ceil(double)): New native method. + (floor(double)): New native method. + (rint(double)): New native method. + +2006-02-13 Lillian Angel + + * java/awt/Component.java + (repaint): No need to call isShowing, it is done in the other repaint call. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Lillian Angel + + * java/awt/Component.java + (repaint): Reverted last change. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Made more efficent by handling paint event and + setting the clip for the graphics. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): Likewise. + * java/awt/Component.java + (repaint): No need to call isShowing, it is done in the other repaint call. + (repaint): Likewise. + (repaint): Likewise. + +2006-02-13 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (setParent): Added API docs. Call setParent(null) on children before + disconnecting this view from the View hierarchy. + +2006-02-13 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (readUnlock): Don't attempt to unlock when the current threads also + holds a write lock. + +2006-02-13 David Gilbert + + * javax/swing/plaf/metal/MetalBorders.java + (ButtonBorder.getBorderInsets(Component)): Return insets directly, + (ButtonBorder.getBorderInsets(Component, Insets)): Don't check for null + insets argument, + (Flush3DBorder.borderInsets): New field, + (Flush3DBorder.getBorderInsets(Component)): Return insets directly, + (Flush3DBorder.getBorderInsets(Component, Insets)): Don't check for + null insets argument, and populate result from borderInsets, + (PaletteBorder.borderInsets): New field, + (PaletteBorder.getBorderInsets(Component)): Return insets directly, + (PaletteBorder.getBorderInsets(Component, Insets)): Don't check for + null insets argument, and populate result from borderInsets, + (InternalFrameBorder.borderInsets): New field, + (InternalFrameBorder.getBorderInsets(Component)): Return insets + directly, + (InternalFrameBorder.getBorderInsets(Component, Insets)): Don't check + for null insets argument, and populate result from borderInsets, + (MenuItemBorder.borderInsets): Initialise to correct value. + +2006-02-13 Roman Kennke + + * javax/swing/text/AsyncBoxView.java: New file. + +2006-02-13 Ito Kazumitsu + + Fixes bug #26166 + * gnu/regexp/RE.java(initialize): Parsing of character class expression + was moved to a new method parseCharClass. + (parseCharClass): New method originally in initialize. Added parsing + of nested character classes. + (ParseCharClassResult): New inner class used as a return value of + parseCharClass. + (getCharExpression),(getNamedProperty): Made static. + * gnu/regexp/RESyntax.java(RE_NESTED_CHARCLASS): New syntax flag. + * gnu/regexp/RETokenOneOf.java(addition): New Vector for storing + nested character classes. + (RETokenOneOf): New constructor accepting the Vector addition. + (getMinimumLength), (getMaximumLength): Returns 1 if the token + stands for only one character. + (match): Added the processing of the Vector addition. + (matchN), (matchP): Do not check next token if addition is used. + +2006-02-12 Olivier Jolly + + * AUTHORS: add self. + +2006-02-12 Tom Tromey + + * gnu/classpath/ServiceProviderLoadingAction.java: Javadoc fix. + * gnu/classpath/ServiceFactory.java (ServiceIterator): Javadoc fix. + (securityContext): Likewise. + (log): Likewise. + +2006-02-12 Dalibor Topic + + Fixes PR 26218. + + * gnu/java/net/protocol/file/Connection.java (unquote): + Convert Unicode characters outside basic plane to UTF-8, + rather than throwing an exception. + +2006-02-12 Tom Tromey + + * javax/sound/sampled/LineEvent.java (readObject): New method. + (writeObject): Likewise. + (serialVersionUID): New field. + +2006-02-12 Mark Wielaard + + * java/beans/PropertyChangeSupport.java (addPropertyChangeListener): + Silently ignores null listener. + (addPropertyChangeListener(String, PropertyChangeListener): Likewise. + (getPropertyChangeListeners): Returns empty PropertyChangeListener + array for null propertyName. + +2006-02-12 Wolfgang Baer + + * java/rmi/MarshalledObject.java: Added api docs to the class. + * java/rmi/Remote.java: Added interface api docs. + * java/rmi/package.html: Added package description. + * java/rmi/AccessException.java: Minor api doc fixes. + * java/rmi/NoSuchObjectException.java: Likewise. + * java/rmi/AlreadyBoundException.java: Likewise. + * java/rmi/RemoteException.java: Likewise. + * java/rmi/NotBoundException.java: Likewise. + * java/rmi/RMISecurityException.java: Likewise. + * java/rmi/StubNotFoundException.java: Likewise. + +2006-02-12 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (postKeyEvent): Call + q() to get EventQueue. + * gnu/java/awt/peer/gtk/GtkGenericPeer.java (q): Remove static field. + (enableQueue): Remove static method. + * gnu/java/awt/peer/gtk/GtkToolkit.java (getSystemEventQueueImpl): + Don't call GtkGenericPeer.enableQueue(). + +2006-02-12 Wolfgang Baer + + * java/rmi/MarshalledObject.java: Reformatted. + * java/rmi/Naming.java: Likewise. + +2006-02-12 Jeroen Frijters + + * java/io/InputStream.java + (read(byte[],int,int)): Changed argument validation to prevent + integer overflow. Remove redundant check. + +2006-02-12 Jeroen Frijters + + Fixes PR 26220 + * java/io/InputStreamReader.java + (InputStreamReader(InputStream)): Use SystemProperties. + (InputStreamReader(InputStream,Charset)): Corrected @since tag. + Throw NullPointerException if in is null. + Added maxBytesPerChar initialisation. + (InputStreamReader(InputStream,CharsetDecoder)): Corrected @since tag. + Throw NullPointerException if in is null. + +2006-02-12 Raif S. Naffah + + * gnu/javax/crypto/key/dh/GnuDHPublicKey.java + (GnuDHPublicKey(4)): Call constructor with 5 arguments. + (GnuDHPublicKey): New constructor. + (getEncoded): Removed. + (valueOf): Added support for ASN.1 encoding. + (getEncoded(int)): Likewise. + (equals): New method. + * gnu/javax/crypto/key/dh/GnuDHPrivateKey.java + (GnuDHPrivateKey(4)): Call constructor with 5 arguments. + (GnuDHPrivateKey(5)): New constructor. + (getEncoded): Removed. + (valueOf): Added support for ASN.1 encoding. + (getEncoded(int)): Likewise. + (equals): New method. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Handle preferred encoding format identifier. + (generate): Call constructors with format identifier. + * gnu/javax/crypto/key/dh/GnuDHKey.java (defaultFormat): New field. + (GnuDHKey): Added an int argument. + (getEncoded): New method. + (getFormat): New implementation. + (getEncoded(int)): New abstract method. + * gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java: New file. + * gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java: Likewise. + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added mappings for DH + key-pair generator and key-factory. + * gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.java: New file. + * gnu/javax/crypto/jce/sig/DHKeyFactory.java: Likewise. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Made it public. + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (invokeConstructor): New method. + (getConcreteClass): Likewise. + (getConcreteCtor): Likewise. + (invokeValueOf): Likewise. + (getValueOfMethod): Likewise. + (engineGeneratePublic): Add support for DH keys. + (engineGeneratePrivate): Likewise. + (decodeDHPublicKey(DHPublicKeySpec)): New method. + (decodeDHPublicKey(byte[])): Likewise. + (decodeDHPrivateKey(DHPrivateKeySpec)): Likewise. + (decodeDHPrivateKey(byte[])): Likewise. + +2006-02-11 Mark Wielaard + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java (repaintTimer): + Removed field. + (repaint): Immediately post to queue when tm <= 0, otherwise call + RepaintTimerTask.schedule(). + (RepaintTimerTask): Make static. + (RepaintTimerTask.repaintTimer): New static final field. + (RepaintTimerTask.awtComponent): New field. + (schedule): New static method. + +2006-02-11 Audrius Meskauskas + + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java + * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java + * tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: + Rewritten. + * tools/gnu/classpath/tools/giop/grmic/HashFinder.java: New file. + +2006-02-11 Raif S. Naffah + + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (engineGeneratePublic): Added support for raw key-specifications. + (engineGeneratePrivate): Likewise. + (decodeDSSPublicKey): New method. + (decodeRSAPublicKey): Likewise. + (decodeDSSPrivateKey): Likewise. + (decodeRSAPrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java + (encodePrivateKey): Throw InvalidParameterException. + (decodePublicKey): Likewise. + (decodePrivateKey): Likewise. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java + (encodePublicKey): Likewise. + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + (decodePrivateKey): Likewise. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (encodePublicKey): Likewise. + (encodePrivateKey): Likewise. + (decodePublicKey): Likewise. + +2006-02-10 Roman Kennke + + * javax/swing/text/StyleContext.java + (registerStaticAttributeKey): New static method. + +2006-02-10 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.clone): New method. + +2006-02-10 Roman Kennke + + * javax/swing/text/ParagraphView.java + (findOffsetToCharactersInString): New method. + (getClosestPositionTo): New method. + (getPartialSize): New method. + (getTabBase): New method. + (adjustRow): New method. + (breakView): New method. + (getBreakWeight): New method. + +2006-02-10 Roman Kennke + + * javax/swing/text/GapContent.java + (updateUndoPositions): New method. + * javax/swing/text/StringContent.java + (updateUndoPositions): New method. + +2006-02-10 Raif S. Naffah + + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(9)): + Made it public. + * gnu/java/security/jce/sig/RSAKeyFactory.java: New file. + * gnu/java/security/jce/sig/DSSKeyFactory.java (engineGeneratePublic): + Added support for encoded key specifications. + (engineGeneratePrivate): Likewise. + (engineGetKeySpec): Likewise. + (engineTranslateKey): Corrected order of MPIs and use ctors with 5 args. + +2006-02-10 Robert Schuster + + * javax/swing/text/Utilities.java: + (getTabbedTextOffset): Fixed usage of variable p0. + (getPositionAbove): Rewritten. + (getPositionBelow): Rewritten. + +2006-02-09 Roman Kennke + + * javax/swing/text/BoxView.java + (getAxis): Added @since tag. + (setAxis): Added @since tag. + (layoutChanged): Added @since tag. + (isLayoutValid): Added @since tag. + (paint): Don't call setSize here. This is done in RootView already. + (getMaximumSpan): Reimplemented to return the requirements' + maximum size. Added API docs. + (getMinimumSpan): New method. + (layout): Fixed layout order. + (modelToView): Call layout instead of setSize here. + (getResizeWeight): New method. + (getChildAllocation): New method. + (forwardUpdate): New method. + (viewToModel): New method. + (flipEastEndWestEnds): New method. + * javax/swing/text/CompositeView.java + (modelToView): Made this method more robust by returning a default + location if it's not possible to calculate one via the children. + This default location returns the left or right edge of this + view. + (createDefaultLocation): New helper method. + * javax/swing/text/IconView.java + (modelToView): Don't throw BadLocationException. This should + really only be thrown if the position is outside the document + model, not if it's outside the view's boundary. + +2006-02-09 Audrius Meskauskas + + * tools/Makefile.am: Handle rmi and giop folders separately. + +2006-02-09 David Gilbert + + * javax/swing/SpinnerDateModel.java: Updated API docs all over, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-02-09 David Gilbert + + * javax/swing/SpinnerDateModel.java: Removed tabs, + * javax/swing/SpinnerNumberModel.java: Likewise. + +2006-02-09 Anthony Balkissoon + + * doc/unicode/SpecialCasing-4.0.0.txt: New file. + * doc/unicode/UnicodeData-4.0.0.txt: New file. + +2006-02-09 Wolfgang Baer + + Fixes bug #26081 + * gnu/java/net/protocol/http/HTTPURLConnection.java: + (isRedirect): Removed, moved to Response.java. + (connect): If error condition redirect responseSink to errorSink. + (getInputStream): If error condition throw IOException, for the error + codes 404 and 410 throw a FileNotFoundException. + * gnu/java/net/protocol/http/Response.java (isError): New method. + (isRedirect): New method, moved from HTTPURLConnection.java. + +2006-02-09 Audrius Meskauskas + + * tools/Makefile.am: Add tools/gnu/classpath/tools/rmi folder. + * tools/gnu/classpath/tools/giop/GRMIC.txt: Explain it called from RMIC. + * tools/gnu/classpath/tools/giop/grmic/Generator.java (getResource): + Better diagnostic. + * tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java: + Rewritten. + * tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java: Implement + AbstractMethodGenerator. + * tools/gnu/classpath/tools/AbstractMethodGenerator.java, + tools/gnu/classpath/tools/rmi/RMIC.java, + tools/gnu/classpath/tools/rmi/RMIC.txt, + tools/gnu/classpath/tools/rmi/rmic/RmiMethodGenerator.java, + tools/gnu/classpath/tools/rmi/rmic/RmicCompiler.java, + tools/gnu/classpath/tools/rmi/rmic/WrapUnWrapper.java, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12.jav, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12Method.jav, + tools/gnu/classpath/tools/rmi/rmic/templates/Stub_12MethodVoid.jav: + New files. + * NEWS: Corrected entry about the tools. + +2006-02-09 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Added more to check to prevent assertion errors. + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Likewise. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): Likewise. + +2006-02-09 Mark Wielaard + + * javax/swing/JTable.java (tableChanged): Interpret null event as + "everything changed". + +2006-02-09 Roman Kennke + + * javax/swing/text/DefaultCaret.java + (DocumentHandler.removeUpdate): When update policy is + 'on eventqueue', and the update doesn't come from the + event queue, check if the current dot location is still + valid. + (moveDot): Make sure the new dot location is valid. + (setDot): Set the mark the same as the dot. + +2006-02-09 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (remove): Perform all operations within a write lock and in the + correct order. + +2006-02-09 Mark Wielaard + + * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_create): Make sure max is + creater than min, adjusting page_size if necessary. + (Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_setValues): Likewise. + +2006-02-09 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkPanelPeer.java + (handleEvent): Added code to handle PaintEvent.UPDATE. + Sun does not call update(Graphics g) on Panels. + * gnu/java/awt/peer/gtk/GtkWindowPeer.java + (handleEvent): New method. Added code to handle PaintEvent.UPDATE. + Sun does not call update(Graphics g) on Panels. + +2006-02-09 Roman Kennke + + * javax/swing/text/BoxView.java + (myAxis): Made field private. + (xLayoutValid): Replaced by layoutValid array. + (yLayoutValid): Replaced by layoutValid array. + (layoutValid): New field. + (spansX): Replaced by spans array. + (spansY): Replaced by spans array. + (spans): New field. + (offsetsX): Replaced by offsets array. + (offsetsY): Replaced by offsets array. + (offsets): New field. + (requirements): New field. + (BoxView): Initialize new fields. + (layoutChanged): Rewritten to use the layoutValid array. + (isLayoutValid): Rewritten to use the layoutValid array. + (replace): Use the new arrays. + (getPreferredSpan): Rewritten to call calculateXXXRequirements + instead of baselineRequirements. + (baselineRequirements): Rewritten to calculate baseline requirements. + (baselineLayout): Rewritten to calculate baseline layout. + (childAllocation): Use new arrays. + (layout): Rewritten. Only update the layout if necessary. + (layoutMajorAxis): Directly set layoutValid. + (layoutMinorAxis): Directly set layoutValid. Use cached size + requirements. + (getWidth): Use new span array. + (getHeight): Likewise. + (setSize): Rewritten to simply call layout(). + (validateLayout): Removed unneeded method. + (getSpan): Use new arrays. + (getOffset): Use new arrays. + (getAlignment): Use cached requirements if possible. + (preferenceChanged): Use new arrays. + * javax/swing/text/FlowView.java + (FlowStrategy.insertUpdate): Do nothing here. + (FlowStrategy.removeUpdate): Do nothing here. + (FlowStrategy.changedUpdate): Do nothing here. + (FlowStrategy.layoutRow): Rewritten. + (FlowStrategy.createView): Rewritten. + (FlowStrategy.adjustRow): New method. + (LogicalView.getViewIndex): Fixed condition for finding child + view. + (layoutDirty): New field indicating the state of the layout. + (FlowView): Initialize new field. + (loadChildren): Set parent on logical view so that preferenceChanges + get propagated upwards. + (layout): Rewritten to match the specs. + (insertUpdate): Set layout to dirty. + (removeUpdate): Set layout to dirty. + (changedUpdate): Set layout to dirty. + * javax/swing/text/GlyphView.java + (getBreakWeight): Rewritten to use the Utilities class. Commented + out though because that is broken. + (insertUpdate): Call preferenceChanged on this object instead of + parent. + * javax/swing/text/ParagraphView.java + (Row.loadChildren): Overridden to be a noop to prevent initial + creation of child views. This is carried out by the flow layout. + * javax/swing/text/View.java + (getPreferredSpan): Added API docs. + (getResizeWeight): Added API docs. + (getMaximumSpan): Added API docs. Rewritten to only have one exit + point. + (getMinimumSpan): Added API docs. Rewritten to return 0 when + resizable instead of Integer.MAX_VALUE. + (getAlignment): Added API docs. + (replace): Added API docs. + (forwardUpdate): Rewritten to only notify child views that need to + be notified. + +2006-02-09 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.paint): Call setSize() before painting the view. + +2006-02-09 Ito Kazumitsu + + Fixes bug #26112 + * gnu/regexp/RE.java(REG_REPLACE_USE_BACKSLASHESCAPE): New execution + flag which enables backslash escape in a replacement. + (getReplacement): New public static method. + (substituteImpl),(substituteAllImpl): Use getReplacement. + * gnu/regexp/REMatch.java(substituteInto): Replace $n even if n>=10. + * java/util/regex/Matcher.java(appendReplacement) + Use RE#getReplacement. + (replaceFirst),(replaceAll): Use RE.REG_REPLACE_USE_BACKSLASHESCAPE. + +2006-02-09 Raif S. Naffah + + * gnu/java/security/key/rsa/RSAKeyPairX509Codec.java: New file. + * gnu/java/security/key/rsa/RSAKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Add support for preferred encoding format. + (generate): Call key constructors with explicit format identifier. + * gnu/java/security/key/rsa/GnuRSAPublicKey.java (GnuRSAPublicKey(2)): + Call constructor with 3 arguments.. + (GnuRSAPublicKey(3)): New constructor. + (valueOf): Added support for ASN.1 format. + (getEncoded): Likewise. + * gnu/java/security/key/rsa/GnuRSAPrivateKey.java (GnuRSAPrivateKey(4)): + Call constructor with 5 arguments. + (GnuRSAPrivateKey(5)): New constructor. + (GnuRSAPrivateKey(9)): New constructor. + (valueOf): Added support for ASN.1 format. + (getEncoded): Likewise. + * gnu/java/security/key/rsa/GnuRSAKey.java (defaultFormat): New field. + (GnuRSAKey): Modified constructor. + (getFormat): Return preferred format identifier. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java + (decodePrivateKey): Fixed documentation. + Check Version field. + * gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java + (initialize(int,SecureRandom)): Set ASN.1 as the preferred encoding + format. + (initialize(AlgorithmParameterSpec,SecureRandom)): Likewise. + * gnu/java/security/jce/sig/EncodedKeyFactory.java + (engineGeneratePublic): Added support for RSA. + (engineGeneratePrivate): Likewise. + +2006-02-09 Wolfgang Baer + + * java/net/URLConnection.java: + (setAllowUserInteraction): Throw IllegalStateException if connected. + (getRequestProperty): Document return value if key is null. + * gnu/java/net/protocol/http/HTTPURLConnection.java: + (getRequestProperty): Return null if key is null. + (getRequestProperties): Throw IllegalStateException if connected. + (setRequestProperty): Call super method for exception tests. + (addRequestProperty): Likewise. + +2006-02-09 Wolfgang Baer + + * gnu/java/net/protocol/http/Request.java: + (Request): Remove initialization of removed field. + (requestBodyNegotiationThreshold): Removed now unused field. + (setRequestBodyNegotiationThreshold): Remove now unused method. + (dispatch): Do not use 'Expect 100-continue' header if content-length + is over a treshold. If user specified 'Expect 100-continue' still + initialize the expectingContinue variable. + +2006-02-08 David Gilbert + + * javax/swing/SpinnerNumberModel.java + (SpinnerNumberModel(Number, Comparable, Comparable, Number): Allow + maximum and minimum to take null values, + (setValue): Only fire ChangeEvent if new value is different to old + value, + (setMinimum): Fixed test for updating value, + (setMaximum): Likewise, + (setStepSize): Likewise. + +2006-02-08 Tom Tromey + + * tools/.cvsignore: Added Makefile.in. + +2006-02-08 Audrius Meskauskas + + * java/rmi/server/RemoteRef.java, + java/rmi/server/RemoteStub.java: Commented. + +2006-02-08 David Gilbert + + * javax/swing/SpinnerDateModel.java + (SpinnerDateModel(Date, Comparable, Comparable, int)): Added argument + checks, + (getPreviousValue): Check result against start, not end, + (setValue): Check that value actually changes before firing + ChangeEvent. + +2006-02-08 Lillian Angel + + * java/awt/Choice.java + (select): Fixed up code, added some checks to prevent errors. + (dispatchEventImpl): Removed. This function is not needed. It + causes several assertion errors. + +2006-02-08 Roman Kennke + + * javax/swing/text/PlainView.java + (drawLine): Call drawUnselectedText() with end offset - 1 to avoid + drawing unnecessary characters. + +2006-02-08 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Fixed check to determine if height or + width is less than 1. + +2006-02-08 Audrius Meskauskas + + *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). + +2006-02-08 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java, + examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java: + Documenting the code generator. + * gnu/CORBA/IOR.java (toStringFormatted, + CodeSet_component.toStringFormatted): New methods. + * tools/Makefile.am (TOOLS_JAVA_FILES, READMES): Rewritten. + * tools/gnu/classpath/tools/giop/README: Rewritten. + * tools/gnu/classpath/tools/giop/GRMIC.java (main): Rewritten. + (printHelpAndExit): Removed. + *tools/gnu/classpath/tools/giop/IorParser.java, + tools/gnu/classpath/tools/giop/IorParser.txt, + tools/gnu/classpath/tools/giop/NameService.java, + tools/gnu/classpath/tools/giop/NamingService.txt, + tools/gnu/classpath/tools/HelpPrinter.java: New files. + NEWS: Added note about GIOP tools. + +2006-02-07 Audrius Meskauskas + + * .classpath: New source patch (tools). + * Makefile.am (SUBDIRS, DIST_SUBDIRS): added "tools". + * configure.ac (AC_CONFIG_FILES): added tools/Makefile + * tools/gnu/classpath/tools/Makefile.am, + tools/gnu/classpath/tools/giop/GRMIC.java + tools/gnu/classpath/tools/giop/GRMIC.txt, + tools/gnu/classpath/tools/giop/README, + tools/gnu/classpath/tools/giop/grmic/CompilationError.java, + tools/gnu/classpath/tools/giop/grmic/Generator.java, + tools/gnu/classpath/tools/giop/grmic/GiopIo.java, + tools/gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, + tools/gnu/classpath/tools/giop/grmic/MethodGenerator.java, + tools/gnu/classpath/tools/giop/grmic/templates/ImplTie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/Stub.jav, + tools/gnu/classpath/tools/giop/grmic/templates/StubMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav, + tools/gnu/classpath/tools/giop/grmic/templates/Tie.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, + tools/gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. + +2006-02-07 David Gilbert + + * java/awt/BasicStroke.java: Updated API docs all over, + * java/awt/doc-files/capjoin.png: New file. + +2006-02-07 Lillian Angel + + * gnu/java/awt/peer/gtk/GtkComponentPeer.java + (handleEvent): Added check. Should not paint or update the + component if it's width and height are both 0. + +2006-02-07 Roman Kennke + + * javax/swing/text/AbstractDocument.java + (insertString): Enclose locking/unlocking in try-finally block + and also keep locked while notifying the listeners. + +2006-02-07 Roman Kennke + + * javax/swing/text/GlyphView.java + (GlyphView): Initialize startOffset and endOffset with -1 (indicating + element boundary). + (getStartOffset): Return element boundary if startOffset < 0. + (getEndOffset): Return element boundary if endOffset < 0. + (createFragment): Set startOffset and endOffset fields of fragment + if one of p0 or p1 is not at the element boundary. + +2006-02-07 Roman Kennke + + * javax/swing/CellRendererPane.java + (paintComponent): Enclosed painting in try finally to properly + clean up even when throwing an exception. + +2006-02-07 Roman Kennke + + * javax/swing/UIManager.java + (listeners): Made this an instance of + java.beans.PropertyChangeSupport instead of the obsoleted + SwingPropertyChangeSupport. + +2006-02-07 Robert Schuster + + * javax/swing/text/DefaultEditorToolkit.java: Changed behavior + of actions "delete-next" and "delete-previous", added new TextAction + implementations for "selection-begin", "selection-begin-line", + "selection-end" and "selection-end-line". + +2006-02-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (paint): Acquire read lock on the document before calling + paintSafely. + (paintSafely): Added comment about what this method does. + (paintBackground): Implemented to actually paint the background. + (update): Overridden to _not_ paint the background. This is done + in paintBackground in this UI. + +2006-02-07 Roman Kennke + + * javax/swing/text/View.java + (forwardUpdate): Don't notify newly added child views as specified. + +2006-02-07 Robert Schuster + + * gnu/java/beans/decoder/DefaultExceptionListener.java: Removed. + +2006-02-07 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.insert): Only register change when the element + actually changed. + +2006-02-07 Raif S. Naffah + + * gnu/java/security/key/KeyPairCodecFactory.java (getEncodingName): New + method. + (getEncodingShortName): Likewise. + * gnu/java/security/key/IKeyPairCodec.java (X509_FORMAT): New constant. + (PKCS8_FORMAT): Likewise. + (ASN1_FORMAT): Likewise. + * gnu/java/security/key/dss/DSSPublicKey.java (DSSPublicKey(4)): Call + constructor with 5 arguments. + (DSSPublicKey(5)): New constructor. + (valueOf): Handle ASN.1 encoding. + (getEncoded): Likewise. + * gnu/java/security/key/dss/DSSPrivateKey.java (DSSPrivateKey(4)): Call + constructor with 5 arguments. + (DSSPrivateKey(5)): New constructor. + (valueOf): Handle ASN.1 encoding. + (getEncoded): Likewise. + * gnu/java/security/key/dss/DSSKeyPairX509Codec.java: New file. + * gnu/java/security/key/dss/DSSKeyPairPKCS8Codec.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java + (PREFERRED_ENCODING_FORMAT): New constant. + (DEFAULT_ENCODING_FORMAT): Likewise. + (preferredFormat): New field. + (setup): Handle preferred format ID. + (generate): Use new ctors with 5 arguments. + * gnu/java/security/key/dss/DSSKey.java (DSSKey): Now accepts a format + ID as an additional argument. + (defaultFormat): new field. + (getFormat): Returns the preferred format as a short string. + * gnu/java/security/jce/sig/DSSKeyFactory.java: New file. + * gnu/java/security/jce/sig/EncodedKeyFactory.java (engineGetKeySpec): + Likewise + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java + (initialize(AlgorithmParameterSpec)): Set ASN.1 as the preferred + encoding format. + (initialize(int,boolean,SecureRandom)): Likewise. + * gnu/java/security/der/DERWriter.java (writeBitString): Use + writeLength() instead of write(). + return buf.length + 1 instead of buf.length. + +2006-02-07 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (RootView.preferenceChange): Changed view parameter to view so + that it doesn't hide a field of that class. + (RootView.getViewCount): Rewritten to clean up ECJ warning. + (RootView.modelToView): Removed unnecessary cast from View to View. + (PropertyChangeHandler): Made inner class private. + (updateHandler): Made field private. + (getVisibleEditorRect): Removed unneeded local variable that + shadowed a field with the same name and purpose. + +2006-02-07 Robert Schuster + + * javax/swing/text/JTextComponent.java: + (getSelectedText): Calculate offset and use that as + second argument. + +2006-02-07 Roman Kennke + + * javax/swing/JTextPane.java + (setCharacterAttributes): Replace input attributes when + replace==true. + +2006-02-07 Roman Kennke + + * java/awt/Component.java + (firePropertyChange(String,byte,byte)): Made method public. + (firePropertyChange(String,char,char)): Made method public. + (firePropertyChange(String,short,short)): Made method public. + (firePropertyChange(String,long,long)): Made method public. + (firePropertyChange(String,float,float)): Made method public. + (firePropertyChange(String,double,double)): Made method public. + +2006-02-06 Tom Tromey + + * gnu/CORBA/NamingService/NamingServiceTransient.java (main): Use + 2006. + * gnu/java/rmi/registry/RegistryImpl.java (version): Use 2006. + +2006-02-06 Anthony Green + + * gnu/xml/aelfred2/XmlParser.java: Add missing break;. + +2006-02-07 Raif S. Naffah + + * .settings/org.eclipse.jdt.core.prefs: + Force a line split on extends and implements. + Force a white-space after unary operators. + Don't force a new-line after @params. + Add new-line at end-of-file. + * scripts/eclipse-gnu.xml: Export version of the above named GNU. + +2006-02-07 Raif S. Naffah + + * gnu/java/security/provider/GnuDSAPublicKey.java (getEncoded): Use + Registry constant. + * gnu/java/security/provider/GnuDSAPrivateKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/GnuRSAPrivateKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/GnuRSAPublicKey.java (getEncoded): + Likewise. + * gnu/java/security/provider/EncodedKeyFactory.java + (ID_DSA): Redefined in terms of Registry constant. + (ID_DSA): Redefined in terms of Registry constant. + (ID_DH): Redefined in terms of Registry constant. + * gnu/java/security/Registry.java (X509_ENCODING): New constant. + (PKCS8_ENCODING): Likewise. + (ASN1_ENCODING): Likewise. + (RAW_ENCODING_SHORT_NAME): Likewise. + (X509_ENCODING_SORT_NAME): Likewise. + (PKCS8_ENCODING_SHORT_NAME): Likewise. + (ASN1_ENCODING_SHORT_NAME): Likewise. + (X509_ENCODING_ID): Likewise. + (PKCS8_ENCODING_ID): Likewise. + (ASN1_ENCODING_ID): Likewise. + (DSA_OID_STRING): Likewise. + (RSA_OID_STRING): Likewise. + (DH_OID_STRING): Likewise. + +2006-02-06 Roman Kennke + + * javax/swing/text/GlyphView.java: + (DefaultGlyphPainter.paint): Store/restore Graphics color setting. + Only fill background if there is a background set on the view. + Call Utilities.drawTabbedText with the baseline height, rather than + the upper left corner of the view rectangle. + (getBackground): Return null if no background is set. + * javax/swing/text/GlyphView.java: + (setPropertiesFromAttributes): Use null for background when no + background is set. StyleConstants.getBackground() doesn't work + for this, because it returns Color.BLACK in that case. + +2006-02-06 Roman Kennke + + * java/awt/Container.java + (changeSupport): Removed duplicate (from Component) field. + (addPropertyChangeListener): Call super. + +2006-02-06 Ito Kazumitsu + + * java/util/regex/Matcher.java(matches): + set RE.REG_TRY_ENTIRE_MATCH as an execution flag of getMatch. + +2006-02-06 Ito Kazumitsu + + Fixes bug #25812 + * gnu/regexp/CharIndexed.java(lookBehind),(length): New method. + * gnu/regexp/CharIndexedCharArray.java + (lookBehind),(length): Implemented. + * gnu/regexp/CharIndexedInputStream.java: Likewise. + * gnu/regexp/CharIndexedString.java: Likewise. + * gnu/regexp/CharIndexedStringBuffer.java: Likewise. + * gnu/regexp/REToken.java(getMaximumLength): New method. + * gnu/regexp/RE.java(internal constructor RE): Added new argument + maxLength. + (initialize): Parse (?<=X), (?X). + (getMaximumLength): Implemented. + * gnu/regexp/RETokenAny.java(getMaximumLength): Implemented. + * gnu/regexp/RETokenChar.java: Likewise. + * gnu/regexp/RETokenEnd.java: Likewise. + * gnu/regexp/RETokenEndSub.java: Likewise. + * gnu/regexp/RETokenLookAhead.java: Likewise. + * gnu/regexp/RETokenNamedProperty.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/RETokenIndependent.java: New file. + * gnu/regexp/RETokenLookBehind.java: New file. + +2006-02-06 Roman Kennke + + * java/awt/Component.java + (firePropertyChange(String,byte,byte)): New method. + (firePropertyChange(String,char,char)): New method. + (firePropertyChange(String,short,short)): New method. + (firePropertyChange(String,long,long)): New method. + (firePropertyChange(String,float,float)): New method. + (firePropertyChange(String,double,double)): New method. + +2006-02-06 Roman Kennke + + * javax/swing/JComponent.java + (AccessibleJComponent.changeSupport): Changed to be a + java.beans.PropertyChangeSupport rather than + SwingPropertyChangeSupport. + (AccessibleJComponent.AccessibleJComponent()): Change initialization + of above field. + (changeSupport): Removed unneeded field. + (removePropertyChangeListener): Removed unneeded methods. + (addPropertyChangeListener): Removed unneeded methods. + (getPropertyChangeListeners): Removed unneeded methods. + (firePropertyChange(String,boolean,boolean)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,char,char)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,int,int)): Changed to simply + call super. Added specnote. + (firePropertyChange(String,byte,byte)): Removed. + (firePropertyChange(String,Object,Object)): Removed. + (firePropertyChange(String,double,double)): Removed. + (firePropertyChange(String,float,float)): Removed. + (firePropertyChange(String,long,long)): Removed. + (firePropertyChange(String,short,short)): Removed. + +2006-02-06 Roman Kennke + + * javax/swing/event/SwingPropertyChangeSupport.java + (listeners): Removed field. + (propertyListeners): Removed field. + (source): Removed field. + (SwingPropertyChangeSupport()): Removed initialization of removed + fields. + (addPropertyChangeListener): Removed methods. + (removePropertyChangeListener): Removed methods. + (getPropertyChangeListeners): Removed methods. + (firePropertyChange): Removed methods. + (hasListeners): Removed methods. + +2006-02-06 Jeroen Frijters + + Fixes PR 25313 + * java/net/InetAddress.java + (readResolve): Implemented. + +2006-02-06 Jeroen Frijters + + Fixes PR 26121 + * java/io/ObjectInputStream.java + (readNextBlock()): Handle TC_RESET. + +2006-02-06 Wolfgang Baer + + * javax/print/attribute/standard/Compression.java, + * javax/print/attribute/standard/Finishings.java, + * javax/print/attribute/standard/JobMediaSheets.java, + * javax/print/attribute/standard/JobSheets.java, + * javax/print/attribute/standard/JobState.java, + * javax/print/attribute/standard/JobStateReason.java, + * javax/print/attribute/standard/ReferenceUriSchemesSupported.java, + * javax/print/attribute/standard/PrintQuality.java, + * javax/print/attribute/standard/Media.java, + * javax/print/attribute/standard/MultipleDocumentHandling.java, + * javax/print/attribute/standard/PrinterStateReason.java, + * javax/print/attribute/standard/PDLOverrideSupported.java: + (getName): Make method final. + (getCategory): Likewise. + * javax/print/attribute/standard/MediaSize.java: + (getName): Make method final. + (getCategory): Likewise. + (ISO): Added private default constructor. + (NA): Likewise. + (JIS): Likewise. + (Other): Likewise. + (Engineering): Likewise. + +2006-02-06 Wolfgang Baer + + * native/jni/java-net/javanet.c (_javanet_connect): + Throw ConnectException instead of IOException if connection failed. + * native/jni/java-net/javanet.h: + Add a define for java.net.ConnectException + +2006-02-05 Mark Wielaard + + Fixes bug #26101 + reported by Egon Willighagen + * javax/swing/DefaultListCellRenderer.java + (getListCellRendererComponent): Turn null value into empty string. + +2006-02-04 Ito Kazumitsu + + * gnu/regexp/RETokenNamedProperty.java(getHandler): Check for + a Unicode block if the name starts with "In". + (UnicodeBlockHandler): New inner class. + +2006-02-04 Roman Kennke + + * java/awt/Container.java + (getComponentZOrder): New method. + (setComponentZOrder): New method. + * javax/swing/JLayeredPane.java + (setPosition): Reimplemented to use setComponentZOrder(). + (getIndexOf): Reimplemented to use getComponentZOrder(). + (addImpl): Pass layerContraint to super call. Important for possibly + installed layout managers. + (swapComponents): Remove unneeded method. + +2006-02-04 Raif S. Naffah + + * gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java: Implement + DSAKeyPairGenerator. + (initialize(int,SecureRandom)): Call initialize(keysize, false, random). + (initialize(AlgorithmParameterSpec,SecureRandom)): More explicit error + message. + Surround call to adaptee in a try/catch. + (initialize((DSAParams,SecureRandom)): New method. + (initialize(int,boolean,SecureRandom)): New method. + * gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java: Extends + KeyPairGenerator rather than KeyPairGeneratorSpi. + (KeyPairGeneratorAdapter): Call super with algorithm name. + +2006-02-04 Raif S. Naffah + + * gnu/javax/crypto/sasl/srp/SRPServer.java (prng): New field. + (getDefaultPRNG): New method. + (parseO): Use method above. + * gnu/javax/crypto/sasl/srp/SRPClient.java (prng): New field. + (getDefaultPRNG): New method. + (createO): Use method above. + * gnu/javax/crypto/sasl/srp/KDF.java (prng): New class field. + (nextByte): Use above field. + * gnu/javax/crypto/pad/PKCS1_V1_5.java (selfTest): Use PRNG instance. + * gnu/java/security/sig/rsa/RSA.java: New class field. + (newR): Use above field + * gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java (prng): New field. + (encode): Use field.above. + * gnu/java/security/key/dss/FIPS186.java (prng): New field. + (getDefaultPRNG): new method. + (nextRandomBytes): Use above method. + * gnu/java/security/key/rsa/RSAKeyPairGenerator.java: Likewise. + * gnu/java/security/sig/BaseSignature.java: Likewise. + * gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/dh/RFC2631.java: Likewise. + * gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java: Likewise. + * gnu/javax/crypto/key/BaseKeyAgreementParty.java: Likewise. + * gnu/java/security/key/dss/DSSKeyPairGenerator.java (prng): New field. + (getDefaultPRNG): new method. + (nextRandomBytes): Use above method. + (STRICT_DEFAULTS): new class field. + (USE_DEFAULTS): more documentation to clarify behavior. + (setup): amended to handle new attribute. + * gnu/java/security/util/PRNG.java: New file. + +2006-02-03 Lillian Angel + + * javax/swing/plaf/basic/BasicColorChooserUI.java: + chooser field should be protected, not package-private. + +2006-02-03 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (changeUpdate): Cleaned up code. + (split): Likewise. + (insertUpdate): Set offset to be equal to pos after + insertContentTag call. + (insertContentTag): If paragraph has no children, should use + replace instead of Edit. + (insertFracture): Moved around code to prevent any exception. Also, + left side of tree should not be recreated if it has already been + edited. In that case, we should only be creating a new right branch + when fracturing. + (getEditForParagraphAndIndex): No need to check index. We should + use the same edit for each paragraph. + +2006-02-03 Mark Wielaard + + * javax/swing/event/SwingPropertyChangeSupport.java + (propertyListeners): Change type to HashMap. + (SwingPropertyChangeSupport): Allocate HashMap. + +2006-02-03 Raif S. Naffah + + * java/security/KeyPairGenerator.java (getInstance): Test for + instanceof KeyPairGenerator before KeyPairGeneratorSpi. + +2006-02-02 Roman Kennke + + * javax/swing/RepaintManager.java + Made fields private. + (RepaintWorker.run): Enclosed work stuff in try finally block in + order to clean up correctly if invalidation or painting fails, + otherwise we would get no more RepaintWorkers onto the EventQueue. + Also, now the RepaintWorker is marked 'dead' only after it has + finished its work, avoid more than one RepaintWorker on the queue. + (ComponentComparator.compareTo): Compare dirty rectangle sizes + instead of hierarchy depths. + (workDirtyComponents): Removed unused field. + (repaintOrder): Removed unused field. + (workRepaintOrder): Removed unused field. + (workInvalidComponents): Removed unused field. + (RepaintManager()): Removed initialization of removed fields. + (addInvalidComponent): Fine tuned synchronization. + (removeInvalidComponent): Fine tune synchronization. + (addDirtyRegion): Short circuit invalid dirty regions. Fine tuned + synchronization. Don't manager repaintOrder here. + (insertRepaintOrder): Removed method. + (markCompletelyClean): Fine tuned synchronization. + (validateInvalidComponents): Dont use a working copy of the + invalidComponents list, instead fine tuned synchronization on this + list. Also, don't search validateRoot, this is already done in + addInvalidComponent(). + (paintDirtyRegions): Compute repaint order here, based on size of + damaged regions. Fine tuned synchronization. Avoid use of working + copies of dirtyComponent. + +2006-02-02 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): JoinNextDirection should push the + 'next' paragraph on the stack. + +2006-02-02 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Rewrote code for Originate. This prevents + leaves being created multiple times. If it is on the last + ElementSpec, the leaves need to be created right then; + otherwise, only a branch is created. + (insertContentTag): Rewrote to add new leaf directly if + this is a branch with no children. Otherwise, it + recreates the remainder of the tree as before. + +2006-02-02 Ito Kazumitsu + + * gnu/regexp/REMatch.java(REMatchList): New inner utility class + for making a list of REMatch instances. + * gnu/regexp/RETokenOneOf.java(match): Rewritten using REMatchList. + * gnu/regexp/RETokenRepeated.java(findDoables): New method. + (match): Rewritten using REMatchList. + (matchRest): Rewritten using REMatchList. + +2006-02-02 Audrius Meskauskas + + * examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java + (friendsMove): Call repaint() only after endOfGame is assigned. + +2006-02-02 Mark Wielaard + + Fixes bug #25769 reported by Artemus Harper + * java/util/AbstractCollection.java (toString): Only use Iterator, + check whether collection contains itself. + +2006-02-01 Casey Marshall + + Partial fix for PR classpath/25143. + * javax/crypto/EncryptedPrivateKeyInfo.java (algName): new field. + (): fill in `algName,' derive `algOid' from `algName.' + (getOid): new method. + (encode): embed NULL value for parameters if `params' is `null.' + +2006-02-01 Casey Marshall + + Tag check and OTHER_NAME fixes suggested by Rafael Teixeira + . + * gnu/java/security/x509/ext/GeneralNames.java (): fix tag + check; fix OTHER_NAME parsing; fix DIRECTORY_NAME parsing. + +2006-02-01 Casey Marshall + + toString fix suggested by Rafael Teixeira . + * gnu/java/security/der/DERValue.java + (getLength, getEncoded, getEncodedLength): throw an exception, + don't initialize `encoded' to a bogus value. + (toString): return a more helpful string. + + Partial fix for PR classpath/25144. + * gnu/java/security/der/DERWriter.java (write): if the value is + the pseudo-value used for CONSTRUCTED, write the encoded value + directly. + +2006-02-01 Tom Tromey + + * java/security/Security.java (loadProviders): Use system class + loader. + +2006-02-01 Mark Wielaard + + * gnu/regexp/RE.java (getRETokenNamedProperty): Chain exception. + * gnu/regexp/RETokenNamedProperty.java (LETTER, MARK, SEPARATOR, + SYMBOL, NUMBER, PUNCTUATION, OTHER): New final byte[] fields. + (getHandler): Check for grouped properties L, M, Z, S, N, P or C. + (UnicodeCategoriesHandler): New private static class. + +2006-02-01 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Removed unneeded fields. + (insertUpdate): Removed field initialization. + (insertContentTag): Rewrote part of function. Still + not complete. + +2006-02-01 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertParagraph): Cleaned up code. + (insertFirstContentTag): Fixed call to recreateLeaves. + (insertContentTag): Added check to code to determine where + content should be inserted with respect to next element. + (createFracture): Removed check, recreateLeaves is called in + other places when needed. + (recreateLeaves): Added new parameter for paragraph instead + of checking the stack. Removed editing for newBranch, replaced + with a replace call. + +2006-02-01 Anthony Balkissoon + + * doc/unicode/Blocks-4.0.0.txt: New file. + * java/lang/Character.java: Regenerated inner class UnicodeBlock from + scripts/unicode-blocks.pl and doc/unicode/Blocks-4.0.0.txt. + * scripts/unicode-blocks.pl: Copied this over from the generics branch + but replaced some 1.5-only features (such as enum). + +2006-01-31 Roman Kennke + + * javax/swing/text/PasswordView.java + (drawSelectedText): Use drawEchoCharacter() method to draw echo + character. + (drawUnselectedText): Use drawEchoCharacter() method to draw echo + character. + +2006-01-31 Roman Kennke + + * javax/swing/JTextField.java + (getPreferredSize): Also include textfield's insets in width + calculation. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (getPreferredSize): Include the textcomponent's insets in + preferredSize. + +2006-01-31 Roman Kennke + + * javax/swing/table/DefaultTableCellRenderer.java + (getTableCellRendererComponent): Moved setting of the value into + setValue(). Removed (bogus) special handling of JTextField values. + (setValue): Made ?: statement more clear by rewriting it + with if .. else. + +2006-01-31 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly determine + inser index for positions >= 0. + (addImpl): Fixed API docs for the index parameter. + +2006-01-31 Mark Wielaard + + * java/net/URI.java (getURIGroup): Check for null to see whether + group actually exists. + +2006-01-31 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (changeUpdate): Fixed calls to split to incorporate + new parameter. + (insertParagraph): Likewise. Uses 0 as editIndex + because inserting into a new paragraph. + (insertContentTag): Fixed check to use + recreateLeaves. Added a FIXME comment. + (split): Added a new parameter for edits. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicRootPaneUI.java + (installDefaults): Don't install a background color here. + +2006-01-31 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Removed comment. + (insertUpdate): Added comment. + (recreateLeaves): Removed call to push newBranch onto the + stack. This does not need to be done here. + +2006-01-31 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/UnicodeReader.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLParser.java: Fix case where resolved InputSource + only resolved the system ID not the stream. Make some utility methods + public and static for use by other private XML APIs. + * java/lang/ClassNotFoundException.java: Ensure that initCause can be + called without throwing IllegalStateException. + * java/util/logging/SimpleFormatter.java: Write thrown exception if + provided. + +2006-01-31 Ito Kazumitsu + + Fixes bug #22873 + * gnu/regexp/REMatch(toString(int)): Throw IndexOutOfBoundsException + for an invalid index and return null for a skipped group. + +2006-01-31 Ito Kazumitsu + + Fixes bug #26002 + * gnu/regexp/gnu/regexp/RE.java(initialize): Parse /\p{prop}/. + (NamedProperty): New inner class. + (getNamedProperty): New method. + (getRETokenNamedProperty): New Method. + * gnu/regexp/RESyntax.java(RE_NAMED_PROPERTY): New syntax falg. + * gnu/regexp/RETokenNamedProperty.java: New file. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/PlainView.java + (paint): Call drawLine with baseline coordinates. + (drawLine): Documented and indented this method. + (drawUnselecetedText): Documented and indented this method. + * javax/swing/plaf/text/Utilites.java + (drawTabbedText): The coordinates denote the baseline of the text + not the upper left corner. + +2006-01-31 Roman Kennke + + * javax/swing/plaf/basic/BasicTextUI.java + (createKeymap): Don't store KeyBindings[] as focusInputMap in + UIManager. Added FIXME regarding the implementation of this method. + +2006-01-30 David Gilbert + + * examples/gnu/classpath/examples/swing/ButtonDemo.java + (ButtonDemo): Move content initialisation to new method, + (initFrameContent): New method, + (main): Call initFrameContent(), + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/FileChooserDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/SliderDemo.java: Likewise, + * examples/gnu/classpath/examples/swing/TextFieldDemo.java: Likewise. + +2006-01-30 David Gilbert + + * examples/gnu/classpath/examples/swing/Demo.java + (Demo): Set frame size, + (mkButtonBar): Removed stacked sub-panels. + +2006-01-30 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Added new fields. + (insert): Initialized fields. Removed call to addEdit, + and created ElementEdit instead. + (insertUpdate): Added check for fracturing. If the + fracturing was not successful, we should push the + last element back on the stack. + (insertParagraph): Fixed call to getEditForParagraphAndIndex. + Also, changed replace calls to use Edit. + (insertFirstContentTag): Removed unneeded check and fixed call + to recreateLeaves. + (insertContent): Fixed check to use new fields. Added code in + to check if leaves overlap. + (createFracture): Fixed call to recreateLeaves. + (recreateLeaves): Fixed code and cleaned it up a bit. + (insertFracture): Set fracNotCreated field. + (addEdit): Removed, this method is not needed. + +2006-01-30 Roman Kennke + + * javax/swing/JRootPane.java + (RootLayout.prefSize): Removed caching for preferredSize. + (RootLayout.invalidateLayout): Likewise. + (RootLayout.preferredLayoutSize): Likewise. + +2006-01-30 Roman Kennke + + PR classpath/26035 + * javax/swing/JFrame.java + (frameInit): Handle the defaultLookAndFeelDecorated flag. + * javax/swing/plaf/metal/MetalRootPaneUI.java + (MetalFrameBorder): New inner class, provides the border for + top level containers with L&F decorations. + (MetalTitlePane): New inner class, provides the title pane for + top level containers with L&F decorations. + (MetalRootLayout): New inner class. Used to layout the root pane + when L&F window decorations are enabled. + (installUI): New method. Handles window decorations. + (uninstallUI): New method. Handles window decorations. + (propertyChange): Handles window decorations. + (installWindowDecorations): New method. Handles window + decorations. + (uninstallWindowDecorations): New method. Handles window + decorations. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (getSupportsWindowDecorations): Overridden to return true. + +2006-01-30 Mark Wielaard + + * javax/swing/JProgressBar.java (JProgressBar(int)): Document + IllegalArgumentException when orientation is illegal. + (JProgressBar(int, int, int)): Likewise and throw exception. + (setOrientation): Likewise. + +2006-01-30 Roman Kennke + + * javax/swing/ViewportLayout.java + (minimumLayoutSize): Rewritten to unconditionally return (4,4). + +2006-01-30 Mark Wielaard + + * javax/swing/JProgressBar.java (orientation): Always set by + constructor. + (JProgressBar(int)): Document default on 'illegal' value. + (JProgressBar(int, int, int)): Likewise and set orientation to + HORIZONTAL when 'illegal'. + (setOrientation): Likewise. + +2006-01-30 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (ListDataHandler.contentsChanged): Update the + updateLayoutStateNeeded flag. + (ListDataHandler.intervalAdded): Update the + updateLayoutStateNeeded flag. + (ListDataHandler.intervalRemoved): Update the + updateLayoutStateNeeded flag. + (PropertyChangeHandler.propertyChange): Correctly update the + listeners on new list model. + (maybeUpdateLayoutState): Don't consider the validation state + of the list. + +2006-01-30 Mark Wielaard + + * gnu/xml/transform/ApplyTemplatesNode.java (clone): Check whether + sortKeys is null. + +2006-01-30 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly insert + components within different layers and -1 position. + +2006-01-30 Mark Wielaard + + * doc/api/Makefile.am (create_html): Add -validhtml. + +2006-01-30 Roman Kennke + + * javax/swing/JLayeredPane.java + (insertIndexForLayer): Fixed algorithm to correctly insert + components within same layer and -1 position. + +2006-01-30 Ito Kazumitsu + + Fixes bug #24876 + * gnu/regexp/gnu/regexp/RE.java(REG_TRY_ENTIRE_MATCH): + New execution flag. + (getMatchImpl): if REG_TRY_ENTIRE_MATCH is set, add an + implicit RETokenEnd at the end of the regexp chain. + Do not select the longest match, but select the first match. + (match): Do not take care of REMatch.empty. + * gnu/regexp/REMatch.java(empty): To be used only in RETokenRepeated. + * gnu/regexp/RETokenOneOf.java: Corrected a typo in a comment. + * gnu/regexp/RETokenBackRef.java: Do not take care of REMatch.empty. + * gnu/regexp/RETokenRepeated.java (match): Rewrote stingy matching. + Do not take care of REMatch.empty. Set and check REMatch.empty + when trying to match the single token. + +2006-01-30 Mark Wielaard + + * java/awt/Cursor.java (toString): Include name and type. + +2006-01-30 Raif S. Naffah + + * gnu/javax/crypto/mac/HMac.java (clone): Clone ipadHash, opadHash, and + the ipad buffer. + * gnu/javax/crypto/mac/BaseMac.java (clone): Clone underlyingHash. + +2006-01-30 Audrius Meskauskas + + PR 26027 + * javax/swing/plaf/basic/BasicListUI.java (maybeUpdateLayoutState): + Consider the validation state of the list. + +2006-01-29 Robert Schuster + + * gnu/java/beans/DefaultExceptionListener.java: Constant public field + INSTANCE added. + * java/beans/XMLDecoder.java: + (setExceptionListener): Use shared DefaultExceptionListener + instance. + * java/beans/Encoder.java: + (setExceptionListener): Use shared DefaultExceptionListener + instance. + +2006-01-29 Roman Kennke + + * javax/swing/ScrollPaneLayout.java + (minimumLayoutSize): Rewritten to match JDKs behaviour. + +2006-01-29 Mark Wielaard + + * java/net/SocketPermission.java (setActions): Trim and lower case + action. + +2006-01-29 Raif S. Naffah + + * gnu/java/security/util/Prime2.java (passEulerCriterion): Was + incorrectly failing primality test for some known primes. Fixed. + (passFermatLittleTheorem): Removed. + (passMillerRabin): Removed. + (isProbablePrime): Cache primes that pass the primality tests. + Use BigInteger.isProbablePrime(int) for primality tests. + (debugBI): New static debugging method. + +2006-01-28 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (updateLayoutState): Removed unneeded special case for VERTICAL. + +2006-01-28 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getCellBounds): Determine correct list width when having a + layoutOrientation of VERTICAL. + (maybeUpdateLayoutState): Don't consider the validation state of + the list. + +2006-01-28 Mark Wielaard + + Reported by Dimitri Fontaine + * java/awt/print/NoPrinterJob.java: New (fake) class. + * java/awt/print/PrinterJob.java (getPrinterJob): Return NoPrinterJob. + +2006-01-28 Mark Wielaard + + * gnu/javax/crypto/mac/HMac.java (clone): Cast cloned ipad to byte[]. + +2006-01-28 Audrius Meskauskas + + * gnu/classpath/examples/swing/Demo.java (mkTree): Make a larger tree. + (addChildren): New method. + +2006-01-28 Raif S. Naffah + + * gnu/javax/crypto/jce/mac/MacAdapter.java (MacAdapter(IMac, Map)): New + constructor for cloning purposes. + (clone): New implementation that ensures cloning. + * gnu/javax/crypto/mac/HMac.java (clone): Implement Cloneable. + * gnu/java/security/Registry.java: Changed value of GNU_SECURITY to + "GNU". + +2006-01-27 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (updateCachedPreferredSize): + Call updateCurrentVisiblePath. + +2006-01-27 Roman Kennke + + * examples/gnu/classpath/examples/swing/MiniDemo.java: New file. + +2006-01-27 Roman Kennke + + * examples/gnu/classpath/examples/swing/ButtonDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/ComboBoxDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/FileChooserDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/ScrollBarDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/SliderDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/TableDemo.java + (createContent): Only create new content if we don't have one + already. + * examples/gnu/classpath/examples/swing/TextFieldDemo.java + (createContent): Only create new content if we don't have one + already. + +2006-01-27 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFirstContentTag): Removed check, not needed. This + still needs to be fixed for some cases. Added call to + recreateLeaves. + (createFracture): Added call to recreateLeaves. + (recreateLeaves): New method used to recreate all the + leaves after the initial insertion. This still needs + more work. + (handleInsertAfterNewline): Removed else, not needed. + +2006-01-27 Roman Kennke + + * javax/swing/JLayeredPane.java + (inserIndexForLayer): Fixed direction of search. + +2006-01-27 Audrius Meskauskas + + * javax/swing/JTree.java (constructor): Put EXPANDED for the root + node into nodeStates. + +2006-01-27 Roman Kennke + + * javax/swing/JLayeredPane.java + (FRAME_CONTENT_LAYER): Made field final. + (componentToLayer): Made field private. + (rectCache): Removed field. + (layers): Removed field. + (JLayeredPane()): Removed initialization of removed fields. + (getLayer): Rewritten to make use of client properties in + JComponents and to be more straighforward. + (static getLayer): Rewritten to make use of client properties in + JComponents. + (layerToRange): Removed method. + (incrLayer): Removed method. + (decrLayer): Removed method. + (highestLayer): Rewritten to be more straightforward. + (lowestLayer): Rewritten to be more straightforward. + (getPosition): Rewritten to be more straightforward. + (getComponentsInLayer): Rewritten to be more straightforward. + (getComponentCountInLayer): Rewritten to be more straightforward. + (getIndexOf): Rewritten to be more straightforward. + (inserIndexForLayer): Rewritten to be more straightforward. + (remove): Rewritten to be more straightforward. + (setLayer): Rewritten to be more straightforward. + (addImpl): Rewritten to be more straightforward. + (putLayer): Rewritten to be more straightforward. + +2006-01-27 Anthony Balkissoon + + * java/lang/Character.java: + (offsetByCodePoints(CharSequence, int, int)): New API method. + (offsetByCodePoints(char[], int, int, int, int)): Likewise. + (toChars): Throw the Exception that the docs say we throw. + (codePointAt): Fixed an off-by-one error in the bounds of the if + statement. + * java/lang/String.java: + (String(int[], int, int)): New API constructor. + +2006-01-27 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Moved this loop to insertUpdate. + (insertUpdate): Likewise. Fixed variable + names. Incremented pos if new paragraph + is inserted. + (split): Changed edits to use replace instead. Prevents + assertion errors. + (insertFirstContentTag): Removed else. + (insertContentTag): Implemented else for JoinNextDirection. + (createFracture): Fixed up code, still not fully complete. + (insertFracture): Fixed to use return value from + recreateAfterFracture. + (recreateAfterFracture): Changed to return an array of the + elements to be added. This prevents an assertion error. + (contains): New function checks if an element is already in + the Vector. Vector's contain function was not enough to use. + (addAddedElement): Changed to use new contains function. + (addAddedElements): Likewise. + (addRemovedElement): Likewise. + (addRemovedElements): Likewise. + +2006-01-27 Audrius Meskauskas + + PR 25520 + * vm/reference/java/io/VMObjectInputStream.java (loaderAction.run): + If no user class loaders found on the stack, return the thread + context class loader. (currentClassLoader): Explained. + +2006-01-27 Roman Kennke + + * java/awt/Container.java + (swapComponents): Removed unspecified method. + * javax/swing/JLayeredPane.java + (setPosition): Reimplemented correctly. + (swapComponents): New helper method. + +2006-01-27 Mark Wielaard + + * configure.ac: Set version to 0.21-pre. + +2006-01-27 Roman Kennke + + PR classpath/25968 + * javax/swing/JComponent.java + (findOverlapFreeParent): Improved the algorithm to make better use + of the optimizedDrawingEnabled flag. + * javax/swing/JLayeredPane.java + (isOptimizedDrawingEnabled): Reimplemented to match the specs. + * javax/swing/JViewport.java + (computeBlit): Fixed check to decide if blitting is possible or not, + so that it doesn't blit if nothing was scrolled (in order to + update the buffer when the view updates itself). + +2006-01-27 Roman Kennke + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Don't set scrollbar policy. + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicPopupMenuUI.java + (PopupMenuHandler.popupMenuWillBecomeInvisible): + Fixed to also handle non-Swing toplevel containers. + (PopupMenuHandler.popupMenuWillBecomeVisible): + Fixed to also handle non-Swing toplevel containers. + * javax/swing/Popup.java + (JWindowPopup.JWindowPopup()): Correctly set parent window on + popup. + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicInternalFrameUI.java + (InternalFramePropertyChangeListener): Don't implement + VetoableChangeListener. + (InternalFramePropertyChangeListener.vetoableChange): Removed. + (internalFrameVetoableChangeListener): Removed unneeded field. + (installListeners): Don't install vetoableChangeListener. + * javax/swing/event/DocumentEvent.java + (EventType): Made class final. + +2006-01-27 Roman Kennke + + * javax/swing/SwingUtilities.java + (calculateInsetArea): Removed unneeded method. The method + calculateInnerArea has the same purpose and is actually specified. + (calculateInnerArea): Rewritten to not use calculateInsetArea. + * javax/swing/plaf/basic/BasicMenuItemUI.java + (paintMenuItem): Use SwingUtilities.calculateInnerArea() instead + of SwingUtilities.calculateInsetArea(). + +2006-01-27 Roman Kennke + + * javax/swing/plaf/basic/BasicTreeUI.java + (installDefaults): Removed requestFocusInWindow() call. + * javax/swing/JComponent.java + (requestFocusInWindow(boolean)): Made method protected. + (printComponent): Made method protected. + (printChildren): Made method protected. + (printComponent): Made method protected. + (printBorder): Made method protected. + +2006-01-27 Roman Kennke + + * javax/swing/AbstractButton.java + (ButtonChangeListener.ButtonChangeListener()): Made constructor + package private. + * javax/swing/ImageIcon.java + (component): Made field final. + (tracker): Made field final. + * javax/swing/JApplet.java + (AccessibleJApplet.AccessibleJApplet): Made constructor protected. + * javax/swing/JCheckBox.java + (AccessibleJCheckBox.AccessibleJCheckBox): Made constructor + protected. + * javax/swing/JDialog.java + (AccessibleJDialog.AccessibleJDialog): Made constructor protected. + * javax/swing/JFrame.java + (AccessibleJFrame.AccessibleJFrame): Made constructor protected. + * javax/swing/JLayeredPane.java + (AccessibleJLayered.AccessibleJLayeredPane): Made constructor + protected. + (DEFAULT_LAYER): Made field final. + (PALETTE_LAYER): Made field final. + (MODAL_LAYER): Made field final. + (POPUP_LAYER): Made field final. + (DRAG_LAYER): Made field final. + * javax/swing/JMenu.java + (ActionChangeListener): Made class private. + * javax/swing/JOptionPane.java + (UNITITIALIZED_VALUE): Made field final. + * javax/swing/JPanel.java + (AccessibleJPanel.AccessibleJPanel): Made constructor protected. + * javax/swing/JPopupMenu.java + (ActionChangeListener): Made class private. + * javax/swing/JTree.java + (paramString): Made method protected. + * javax/swing/JViewport.java + (AccessibleJViewport.AccessibleJViewport): Made constructor protected. + * javax/swing/JWindow.java + (AccessibleJWindow.AccessibleJWindow): Made constructor protected. + * javax/swing/RepaintManager.java + (RepaintWorker): Made class private. + +2006-01-27 Roman Kennke + + * gnu/java/awt/peer/swing/SwingComponentPeer.java + (handleEvent): Removed debug statement. + +2006-01-27 Roman Kennke + + * java/awt/Component.java + (coalescePaintEvents): Don't try to optimize coalescing. This hurts + more than it helps. + +2006-01-26 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (createFracture): Commented out a known problem, + added FIXME tag. + +2006-01-26 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer): Added fields. + (remove): Initialized pos. + (change): Likewise. + (insert): Likewise. + (insertUpdate): Incremented pos. Fixed check, createFracture should + be called on first tag if it is not ContentType. + (insertFirstContentTag): Reworked to use proper offsets and + set offset accordingly. This might need more work in the future. + (insertContentTag): Likewise. Fixed to use pos, instead of + offset. + (createFracture): Fixed to recreate other leaves. Still needs + more work. + (insertFracture): Reimplemented. + (recreateAfterFracture): New method. + (getParagraphElement): Reimplemented, more efficent. + +2006-01-26 Christian Thalinger + + * native/jni/java-lang/java_lang_VMDouble.c (doubleToLongBits) + (doubleToRawLongBits, longBitsToDouble): Swap the byte + ordering for little-endian arms without VFP. + +2006-01-26 Raif S. Naffah + + PR classpath/25981 + * gnu/javax/crypto/jce/GnuCrypto.java (run): Added KeyGenerator entries. + +2006-01-26 Mark Wielaard + + Fixes bug #25970 reported by Michael Kay + * java/math/BigDecimal.java (compareTo): Don't strip trailing zeros. + Add trailing zeros to the fraction of the decimal with the smallest + scale. + +2006-01-26 Roman Kennke + + * javax/swing/text/html/ObjectView.java: New file. + +2006-01-26 Audrius Meskauskas + + * javax/swing/plaf/basic/BasicTreeUI.java (MouseHandler.mousePressed): + Call startEditing when appropriate. + (WAIT_TILL_EDITING, EDIT, startEditTimer): New fields. + (startEditing): Always edit if directly ordered from + MouseHandler.mousePressed. + * javax/swing/tree/DefaultTreeCellEditor.java (CLICK_COUNT_TO_START): + New field. (createTreeCellEditor): Set click count to start. + (getTreeCellEditorComponent): Assing realEditor directly. + +2006-01-25 Casey Marshall + + Merging GNU Crypto and Jessie. + + * NEWS: mention the merge in the 0.21 notes. + * gnu/classpath/debug/Component.java (SSL_APPLICATION): removed. + (SSL_RECORD_LAYER): new constants. + * gnu/java/security/provider/Gnu.java (): add new algorithms + to provider. + * resource/java/security/classpath.security: add new providers. + * gnu/javax/crypto/assembly/Assembly.java, + gnu/javax/crypto/assembly/Cascade.java, + gnu/javax/crypto/assembly/CascadeStage.java, + gnu/javax/crypto/assembly/CascadeTransformer.java, + gnu/javax/crypto/assembly/DeflateTransformer.java, + gnu/javax/crypto/assembly/Direction.java, + gnu/javax/crypto/assembly/LoopbackTransformer.java, + gnu/javax/crypto/assembly/ModeStage.java, + gnu/javax/crypto/assembly/Operation.java, + gnu/javax/crypto/assembly/PaddingTransformer.java, + gnu/javax/crypto/assembly/Stage.java, + gnu/javax/crypto/assembly/Transformer.java, + gnu/javax/crypto/assembly/TransformerException.java, + gnu/javax/crypto/cipher/Anubis.java, + gnu/javax/crypto/cipher/BaseCipher.java, + gnu/javax/crypto/cipher/Blowfish.java, + gnu/javax/crypto/cipher/Cast5.java, + gnu/javax/crypto/cipher/CipherFactory.java, + gnu/javax/crypto/cipher/DES.java, + gnu/javax/crypto/cipher/IBlockCipher.java, + gnu/javax/crypto/cipher/IBlockCipherSpi.java, + gnu/javax/crypto/cipher/Khazad.java, + gnu/javax/crypto/cipher/NullCipher.java, + gnu/javax/crypto/cipher/Rijndael.java, + gnu/javax/crypto/cipher/Serpent.java, + gnu/javax/crypto/cipher/Square.java, + gnu/javax/crypto/cipher/TripleDES.java, + gnu/javax/crypto/cipher/Twofish.java, + gnu/javax/crypto/cipher/WeakKeyException.java, + gnu/javax/crypto/jce/GnuCrypto.java, + gnu/javax/crypto/jce/GnuSasl.java, + gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.java, + gnu/javax/crypto/jce/cipher/AESSpi.java, + gnu/javax/crypto/jce/cipher/ARCFourSpi.java, + gnu/javax/crypto/jce/cipher/AnubisSpi.java, + gnu/javax/crypto/jce/cipher/BlowfishSpi.java, + gnu/javax/crypto/jce/cipher/Cast5Spi.java, + gnu/javax/crypto/jce/cipher/CipherAdapter.java, + gnu/javax/crypto/jce/cipher/DESSpi.java, + gnu/javax/crypto/jce/cipher/KhazadSpi.java, + gnu/javax/crypto/jce/cipher/NullCipherSpi.java, + gnu/javax/crypto/jce/cipher/PBES2.java, + gnu/javax/crypto/jce/cipher/RijndaelSpi.java, + gnu/javax/crypto/jce/cipher/SerpentSpi.java, + gnu/javax/crypto/jce/cipher/SquareSpi.java, + gnu/javax/crypto/jce/cipher/TripleDESSpi.java, + gnu/javax/crypto/jce/cipher/TwofishSpi.java, + gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.java, + gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.java, + gnu/javax/crypto/jce/keyring/GnuKeyring.java, + gnu/javax/crypto/jce/mac/HMacHavalSpi.java, + gnu/javax/crypto/jce/mac/HMacMD2Spi.java, + gnu/javax/crypto/jce/mac/HMacMD4Spi.java, + gnu/javax/crypto/jce/mac/HMacMD5Spi.java, + gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.java, + gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA160Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA256Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA384Spi.java, + gnu/javax/crypto/jce/mac/HMacSHA512Spi.java, + gnu/javax/crypto/jce/mac/HMacTigerSpi.java, + gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.java, + gnu/javax/crypto/jce/mac/MacAdapter.java, + gnu/javax/crypto/jce/mac/OMacAnubisImpl.java, + gnu/javax/crypto/jce/mac/OMacBlowfishImpl.java, + gnu/javax/crypto/jce/mac/OMacCast5Impl.java, + gnu/javax/crypto/jce/mac/OMacDESImpl.java, + gnu/javax/crypto/jce/mac/OMacImpl.java, + gnu/javax/crypto/jce/mac/OMacKhazadImpl.java, + gnu/javax/crypto/jce/mac/OMacRijndaelImpl.java, + gnu/javax/crypto/jce/mac/OMacSerpentImpl.java, + gnu/javax/crypto/jce/mac/OMacSquareImpl.java, + gnu/javax/crypto/jce/mac/OMacTripleDESImpl.java, + gnu/javax/crypto/jce/mac/OMacTwofishImpl.java, + gnu/javax/crypto/jce/mac/TMMH16Spi.java, + gnu/javax/crypto/jce/mac/UHash32Spi.java, + gnu/javax/crypto/jce/mac/UMac32Spi.java, + gnu/javax/crypto/jce/params/BlockCipherParameters.java, + gnu/javax/crypto/jce/params/DEREncodingException.java, + gnu/javax/crypto/jce/params/DERReader.java, + gnu/javax/crypto/jce/params/DERWriter.java, + gnu/javax/crypto/jce/prng/ARCFourRandomSpi.java, + gnu/javax/crypto/jce/prng/CSPRNGSpi.java, + gnu/javax/crypto/jce/prng/FortunaImpl.java, + gnu/javax/crypto/jce/prng/ICMRandomSpi.java, + gnu/javax/crypto/jce/prng/UMacRandomSpi.java, + gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.java, + gnu/javax/crypto/jce/spec/TMMHParameterSpec.java, + gnu/javax/crypto/jce/spec/UMac32ParameterSpec.java, + gnu/javax/crypto/key/BaseKeyAgreementParty.java, + gnu/javax/crypto/key/GnuSecretKey.java, + gnu/javax/crypto/key/IKeyAgreementParty.java, + gnu/javax/crypto/key/IncomingMessage.java, + gnu/javax/crypto/key/KeyAgreementException.java, + gnu/javax/crypto/key/KeyAgreementFactory.java, + gnu/javax/crypto/key/OutgoingMessage.java, + gnu/javax/crypto/key/dh/DHKeyPairRawCodec.java, + gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.java, + gnu/javax/crypto/key/dh/DiffieHellmanReceiver.java, + gnu/javax/crypto/key/dh/DiffieHellmanSender.java, + gnu/javax/crypto/key/dh/ElGamalKeyAgreement.java, + gnu/javax/crypto/key/dh/ElGamalReceiver.java, + gnu/javax/crypto/key/dh/ElGamalSender.java, + gnu/javax/crypto/key/dh/GnuDHKey.java, + gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.java, + gnu/javax/crypto/key/dh/GnuDHPrivateKey.java, + gnu/javax/crypto/key/dh/GnuDHPublicKey.java, + gnu/javax/crypto/key/dh/RFC2631.java, + gnu/javax/crypto/key/srp6/SRP6Host.java, + gnu/javax/crypto/key/srp6/SRP6KeyAgreement.java, + gnu/javax/crypto/key/srp6/SRP6SaslClient.java, + gnu/javax/crypto/key/srp6/SRP6SaslServer.java, + gnu/javax/crypto/key/srp6/SRP6TLSClient.java, + gnu/javax/crypto/key/srp6/SRP6TLSServer.java, + gnu/javax/crypto/key/srp6/SRP6User.java, + gnu/javax/crypto/key/srp6/SRPAlgorithm.java, + gnu/javax/crypto/key/srp6/SRPKey.java, + gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.java, + gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.java, + gnu/javax/crypto/key/srp6/SRPPrivateKey.java, + gnu/javax/crypto/key/srp6/SRPPublicKey.java, + gnu/javax/crypto/keyring/AuthenticatedEntry.java, + gnu/javax/crypto/keyring/BaseKeyring.java, + gnu/javax/crypto/keyring/BinaryDataEntry.java, + gnu/javax/crypto/keyring/CertPathEntry.java, + gnu/javax/crypto/keyring/CertificateEntry.java, + gnu/javax/crypto/keyring/CompressedEntry.java, + gnu/javax/crypto/keyring/EncryptedEntry.java, + gnu/javax/crypto/keyring/Entry.java, + gnu/javax/crypto/keyring/EnvelopeEntry.java, + gnu/javax/crypto/keyring/GnuPrivateKeyring.java, + gnu/javax/crypto/keyring/GnuPublicKeyring.java, + gnu/javax/crypto/keyring/IKeyring.java, + gnu/javax/crypto/keyring/IPrivateKeyring.java, + gnu/javax/crypto/keyring/IPublicKeyring.java, + gnu/javax/crypto/keyring/MalformedKeyringException.java, + gnu/javax/crypto/keyring/MaskableEnvelopeEntry.java, + gnu/javax/crypto/keyring/MeteredInputStream.java, + gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.java, + gnu/javax/crypto/keyring/PasswordEncryptedEntry.java, + gnu/javax/crypto/keyring/PasswordProtectedEntry.java, + gnu/javax/crypto/keyring/PrimitiveEntry.java, + gnu/javax/crypto/keyring/PrivateKeyEntry.java, + gnu/javax/crypto/keyring/Properties.java, + gnu/javax/crypto/keyring/PublicKeyEntry.java, + gnu/javax/crypto/mac/BaseMac.java, + gnu/javax/crypto/mac/HMac.java, + gnu/javax/crypto/mac/HMacFactory.java, + gnu/javax/crypto/mac/IMac.java, + gnu/javax/crypto/mac/MacFactory.java, + gnu/javax/crypto/mac/MacInputStream.java, + gnu/javax/crypto/mac/MacOutputStream.java, + gnu/javax/crypto/mac/OMAC.java, + gnu/javax/crypto/mac/TMMH16.java, + gnu/javax/crypto/mac/UHash32.java, + gnu/javax/crypto/mac/UMac32.java, + gnu/javax/crypto/mode/BaseMode.java, + gnu/javax/crypto/mode/CBC.java, + gnu/javax/crypto/mode/CFB.java, + gnu/javax/crypto/mode/CTR.java, + gnu/javax/crypto/mode/EAX.java, + gnu/javax/crypto/mode/ECB.java, + gnu/javax/crypto/mode/IAuthenticatedMode.java, + gnu/javax/crypto/mode/ICM.java, + gnu/javax/crypto/mode/IMode.java, + gnu/javax/crypto/mode/ModeFactory.java, + gnu/javax/crypto/mode/OFB.java, + gnu/javax/crypto/pad/BasePad.java, + gnu/javax/crypto/pad/IPad.java, + gnu/javax/crypto/pad/PKCS1_V1_5.java, + gnu/javax/crypto/pad/PKCS7.java, + gnu/javax/crypto/pad/PadFactory.java, + gnu/javax/crypto/pad/SSL3.java, + gnu/javax/crypto/pad/TBC.java, + gnu/javax/crypto/pad/TLS1.java, + gnu/javax/crypto/pad/WrongPaddingException.java, + gnu/javax/crypto/prng/ARCFour.java, + gnu/javax/crypto/prng/CSPRNG.java, + gnu/javax/crypto/prng/Fortuna.java, + gnu/javax/crypto/prng/ICMGenerator.java, + gnu/javax/crypto/prng/IPBE.java, + gnu/javax/crypto/prng/PBKDF2.java, + gnu/javax/crypto/prng/PRNGFactory.java, + gnu/javax/crypto/prng/UMacGenerator.java, + gnu/javax/crypto/sasl/AuthInfo.java, + gnu/javax/crypto/sasl/AuthInfoProviderFactory.java, + gnu/javax/crypto/sasl/ClientFactory.java, + gnu/javax/crypto/sasl/ClientMechanism.java, + gnu/javax/crypto/sasl/ConfidentialityException.java, + gnu/javax/crypto/sasl/IAuthInfoProvider.java, + gnu/javax/crypto/sasl/IAuthInfoProviderFactory.java, + gnu/javax/crypto/sasl/IllegalMechanismStateException.java, + gnu/javax/crypto/sasl/InputBuffer.java, + gnu/javax/crypto/sasl/IntegrityException.java, + gnu/javax/crypto/sasl/NoSuchMechanismException.java, + gnu/javax/crypto/sasl/NoSuchUserException.java, + gnu/javax/crypto/sasl/OutputBuffer.java, + gnu/javax/crypto/sasl/SaslEncodingException.java, + gnu/javax/crypto/sasl/SaslInputStream.java, + gnu/javax/crypto/sasl/SaslOutputStream.java, + gnu/javax/crypto/sasl/SaslUtil.java, + gnu/javax/crypto/sasl/ServerFactory.java, + gnu/javax/crypto/sasl/ServerMechanism.java, + gnu/javax/crypto/sasl/UserAlreadyExistsException.java, + gnu/javax/crypto/sasl/anonymous/AnonymousClient.java, + gnu/javax/crypto/sasl/anonymous/AnonymousServer.java, + gnu/javax/crypto/sasl/anonymous/AnonymousUtil.java, + gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Client.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Registry.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Server.java, + gnu/javax/crypto/sasl/crammd5/CramMD5Util.java, + gnu/javax/crypto/sasl/crammd5/PasswordFile.java, + gnu/javax/crypto/sasl/plain/PasswordFile.java, + gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.java, + gnu/javax/crypto/sasl/plain/PlainClient.java, + gnu/javax/crypto/sasl/plain/PlainRegistry.java, + gnu/javax/crypto/sasl/plain/PlainServer.java, + gnu/javax/crypto/sasl/srp/CALG.java, + gnu/javax/crypto/sasl/srp/ClientStore.java, + gnu/javax/crypto/sasl/srp/IALG.java, + gnu/javax/crypto/sasl/srp/KDF.java, + gnu/javax/crypto/sasl/srp/PasswordFile.java, + gnu/javax/crypto/sasl/srp/SRP.java, + gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.java, + gnu/javax/crypto/sasl/srp/SRPClient.java, + gnu/javax/crypto/sasl/srp/SRPRegistry.java, + gnu/javax/crypto/sasl/srp/SRPServer.java, + gnu/javax/crypto/sasl/srp/SecurityContext.java, + gnu/javax/crypto/sasl/srp/ServerStore.java, + gnu/javax/crypto/sasl/srp/StoreEntry.java, + gnu/javax/net/ssl/Base64.java, + gnu/javax/net/ssl/EntropySource.java, + gnu/javax/net/ssl/NullManagerParameters.java, + gnu/javax/net/ssl/PrivateCredentials.java, + gnu/javax/net/ssl/SRPManagerParameters.java, + gnu/javax/net/ssl/SRPTrustManager.java, + gnu/javax/net/ssl/StaticTrustAnchors.java, + gnu/javax/net/ssl/provider/Alert.java, + gnu/javax/net/ssl/provider/AlertException.java, + gnu/javax/net/ssl/provider/Certificate.java, + gnu/javax/net/ssl/provider/CertificateRequest.java, + gnu/javax/net/ssl/provider/CertificateType.java, + gnu/javax/net/ssl/provider/CertificateVerify.java, + gnu/javax/net/ssl/provider/CipherSuite.java, + gnu/javax/net/ssl/provider/ClientHello.java, + gnu/javax/net/ssl/provider/ClientKeyExchange.java, + gnu/javax/net/ssl/provider/CompressionMethod.java, + gnu/javax/net/ssl/provider/Constructed.java, + gnu/javax/net/ssl/provider/ContentType.java, + gnu/javax/net/ssl/provider/Context.java, + gnu/javax/net/ssl/provider/DiffieHellman.java, + gnu/javax/net/ssl/provider/DigestInputStream.java, + gnu/javax/net/ssl/provider/DigestOutputStream.java, + gnu/javax/net/ssl/provider/Enumerated.java, + gnu/javax/net/ssl/provider/Extension.java, + gnu/javax/net/ssl/provider/Extensions.java, + gnu/javax/net/ssl/provider/Finished.java, + gnu/javax/net/ssl/provider/GNUSecurityParameters.java, + gnu/javax/net/ssl/provider/Handshake.java, + gnu/javax/net/ssl/provider/JCESecurityParameters.java, + gnu/javax/net/ssl/provider/JDBCSessionContext.java, + gnu/javax/net/ssl/provider/Jessie.java, + gnu/javax/net/ssl/provider/JessieDHPrivateKey.java, + gnu/javax/net/ssl/provider/JessieDHPublicKey.java, + gnu/javax/net/ssl/provider/JessieRSAPrivateKey.java, + gnu/javax/net/ssl/provider/JessieRSAPublicKey.java, + gnu/javax/net/ssl/provider/KeyPool.java, + gnu/javax/net/ssl/provider/MacException.java, + gnu/javax/net/ssl/provider/OverflowException.java, + gnu/javax/net/ssl/provider/PRNG.java, + gnu/javax/net/ssl/provider/ProtocolVersion.java, + gnu/javax/net/ssl/provider/Random.java, + gnu/javax/net/ssl/provider/RecordInput.java, + gnu/javax/net/ssl/provider/RecordInputStream.java, + gnu/javax/net/ssl/provider/RecordOutputStream.java, + gnu/javax/net/ssl/provider/RecordingInputStream.java, + gnu/javax/net/ssl/provider/SRPTrustManagerFactory.java, + gnu/javax/net/ssl/provider/SSLHMac.java, + gnu/javax/net/ssl/provider/SSLRSASignature.java, + gnu/javax/net/ssl/provider/SSLRandom.java, + gnu/javax/net/ssl/provider/SSLServerSocket.java, + gnu/javax/net/ssl/provider/SSLServerSocketFactory.java, + gnu/javax/net/ssl/provider/SSLSocket.java, + gnu/javax/net/ssl/provider/SSLSocketFactory.java, + gnu/javax/net/ssl/provider/SSLSocketInputStream.java, + gnu/javax/net/ssl/provider/SSLSocketOutputStream.java, + gnu/javax/net/ssl/provider/SecurityParameters.java, + gnu/javax/net/ssl/provider/ServerHello.java, + gnu/javax/net/ssl/provider/ServerKeyExchange.java, + gnu/javax/net/ssl/provider/Session.java, + gnu/javax/net/ssl/provider/SessionContext.java, + gnu/javax/net/ssl/provider/Signature.java, + gnu/javax/net/ssl/provider/SynchronizedRandom.java, + gnu/javax/net/ssl/provider/TLSHMac.java, + gnu/javax/net/ssl/provider/TLSRandom.java, + gnu/javax/net/ssl/provider/Util.java, + gnu/javax/net/ssl/provider/X509KeyManagerFactory.java, + gnu/javax/net/ssl/provider/X509TrustManagerFactory.java, + gnu/javax/net/ssl/provider/XMLSessionContext.java, + gnu/javax/security/auth/Password.java, + gnu/javax/security/auth/callback/AWTCallbackHandler.java, + gnu/javax/security/auth/callback/AbstractCallbackHandler.java, + gnu/javax/security/auth/callback/ConsoleCallbackHandler.java, + gnu/javax/security/auth/callback/DefaultCallbackHandler.java, + gnu/javax/security/auth/callback/GnuCallbacks.java, + gnu/javax/security/auth/callback/SwingCallbackHandler.java, + gnu/java/security/Registry.java, + gnu/java/security/Properties.java, + gnu/java/security/hash/BaseHash.java, + gnu/java/security/hash/HashFactory.java, + gnu/java/security/hash/Haval.java, + gnu/java/security/hash/IMessageDigest.java, + gnu/java/security/hash/MD2.java, + gnu/java/security/hash/MD4.java, + gnu/java/security/hash/MD5.java, + gnu/java/security/hash/RipeMD128.java, + gnu/java/security/hash/RipeMD160.java, + gnu/java/security/hash/Sha160.java, + gnu/java/security/hash/Sha256.java, + gnu/java/security/hash/Sha384.java, + gnu/java/security/hash/Sha512.java, + gnu/java/security/hash/Tiger.java, + gnu/java/security/hash/Whirlpool.java, + gnu/java/security/jce/hash/HavalSpi.java, + gnu/java/security/jce/hash/MD2Spi.java, + gnu/java/security/jce/hash/MD4Spi.java, + gnu/java/security/jce/hash/MD5Spi.java, + gnu/java/security/jce/hash/MessageDigestAdapter.java, + gnu/java/security/jce/hash/RipeMD128Spi.java, + gnu/java/security/jce/hash/RipeMD160Spi.java, + gnu/java/security/jce/hash/Sha160Spi.java, + gnu/java/security/jce/hash/Sha256Spi.java, + gnu/java/security/jce/hash/Sha384Spi.java, + gnu/java/security/jce/hash/Sha512Spi.java, + gnu/java/security/jce/hash/TigerSpi.java, + gnu/java/security/jce/hash/WhirlpoolSpi.java, + gnu/java/security/jce/prng/HavalRandomSpi.java, + gnu/java/security/jce/prng/MD2RandomSpi.java, + gnu/java/security/jce/prng/MD4RandomSpi.java, + gnu/java/security/jce/prng/MD5RandomSpi.java, + gnu/java/security/jce/prng/RipeMD128RandomSpi.java, + gnu/java/security/jce/prng/RipeMD160RandomSpi.java, + gnu/java/security/jce/prng/SecureRandomAdapter.java, + gnu/java/security/jce/prng/Sha160RandomSpi.java, + gnu/java/security/jce/prng/Sha256RandomSpi.java, + gnu/java/security/jce/prng/Sha384RandomSpi.java, + gnu/java/security/jce/prng/Sha512RandomSpi.java, + gnu/java/security/jce/prng/TigerRandomSpi.java, + gnu/java/security/jce/prng/WhirlpoolRandomSpi.java, + gnu/java/security/jce/sig/DSSKeyPairGeneratorSpi.java, + gnu/java/security/jce/sig/DSSRawSignatureSpi.java, + gnu/java/security/jce/sig/KeyPairGeneratorAdapter.java, + gnu/java/security/jce/sig/RSAKeyPairGeneratorSpi.java, + gnu/java/security/jce/sig/RSAPSSRawSignatureSpi.java, + gnu/java/security/jce/sig/SignatureAdapter.java, + gnu/java/security/key/IKeyPairCodec.java, + gnu/java/security/key/IKeyPairGenerator.java, + gnu/java/security/key/KeyPairCodecFactory.java, + gnu/java/security/key/KeyPairGeneratorFactory.java, + gnu/java/security/key/dss/DSSKey.java, + gnu/java/security/key/dss/DSSKeyPairGenerator.java, + gnu/java/security/key/dss/DSSKeyPairRawCodec.java, + gnu/java/security/key/dss/DSSPrivateKey.java, + gnu/java/security/key/dss/DSSPublicKey.java, + gnu/java/security/key/dss/FIPS186.java, + gnu/java/security/key/rsa/GnuRSAKey.java, + gnu/java/security/key/rsa/GnuRSAPrivateKey.java, + gnu/java/security/key/rsa/GnuRSAPublicKey.java, + gnu/java/security/key/rsa/RSAKeyPairGenerator.java, + gnu/java/security/key/rsa/RSAKeyPairRawCodec.java, + gnu/java/security/prng/BasePRNG.java, + gnu/java/security/prng/EntropySource.java, + gnu/java/security/prng/IRandom.java, + gnu/java/security/prng/LimitReachedException.java, + gnu/java/security/prng/MDGenerator.java, + gnu/java/security/prng/PRNGFactory.java, + gnu/java/security/prng/RandomEvent.java, + gnu/java/security/prng/RandomEventListener.java, + gnu/java/security/sig/BaseSignature.java, + gnu/java/security/sig/ISignature.java, + gnu/java/security/sig/ISignatureCodec.java, + gnu/java/security/sig/SignatureFactory.java, + gnu/java/security/sig/dss/DSSSignature.java, + gnu/java/security/sig/dss/DSSSignatureRawCodec.java, + gnu/java/security/sig/rsa/EME_PKCS1_V1_5.java, + gnu/java/security/sig/rsa/EMSA_PKCS1_V1_5.java, + gnu/java/security/sig/rsa/EMSA_PSS.java, + gnu/java/security/sig/rsa/RSA.java, + gnu/java/security/sig/rsa/RSAPKCS1V1_5Signature.java, + gnu/java/security/sig/rsa/RSAPSSSignature.java, + gnu/java/security/sig/rsa/RSAPSSSignatureRawCodec.java, + gnu/java/security/util/Base64.java, + gnu/java/security/util/ExpirableObject.java, + gnu/java/security/util/Prime2.java, + gnu/java/security/util/Sequence.java, + gnu/java/security/util/SimpleList.java, + gnu/java/security/util/Util.java, + resource/gnu/javax/security/auth/callback/MessagesBundle.properties: + new files imported from GNU Crypto and Jessie. + +2006-01-25 Tom Tromey + + * gnu/java/net/protocol/http/ChunkedInputStream.java (read): + Fixed calculation of number of bytes to read. + (size, count, meta, eof): Document. + +2006-01-25 Anthony Balkissoon + + * java/lang/Character.java: + (codePointCount(char[], int, int)): New API method. + (codePointCount(CharSequence, int, int)): Likewise. + +2006-01-25 Audrius Meskauskas + + PR 25205 + * javax/swing/DefaultCellEditor.java (getTreeCellEditorComponent): + Rewritten. + * javax/swing/JTree.java (stopEditing, cancelEditing): Return without + action if not editing. + * javax/swing/plaf/basic/BasicTreeUI.java + (CellEditorHandler.editingCancelled): Delegate to cancelEditing. + (CellEditorHandler.editingStopped): Delegate to stopEditing. + (EditorUpdateTimer): Removed. + (TreeAction.actionPerformed): Stop and not cancel the current editing + when starting editing another node. + (editorTimer, newVal): Removed. + (cancelEditing): Do not send the cancel message. + (completeEditing): Obtain the edited value from the editor. + (finish): New method. + (paintRow): Do not paint the editing component here. + (startEditing, stopEditing): Rewritten. + * javax/swing/tree/DefaultTreeCellEditor.java + (DefaultTextField): Added SVUID. + (EditorContainer): Rewritten. + (RealEditorListener): New inner class. + (ICON_TEXT_GAP, TREE_ICON_GAP: New constants). + (constructor): Add cell editor listener. Do not instantiate timer. + (actionPerformed): Return without action. + (cancelCellEditing): Rewritten. + (createTreeCellEditor): Add cell editor listener to the editor. + (getCellEditorValue): Request the value from the realEditor. + (isCellEditable): Removed timer management. + (prepareForEditing): Remove all components befor adding the + editingComponent. + (startEditingTimer): Start only if it is not null. + (stopCellEditing): Rewritten. + (stopEditingTimer): New method. + (valueChanged): Do not configure editing component here. + +2006-01-25 Roman Kennke + + * javax/swing/text/html/FormView.java: New file. + +2006-01-25 Roman Kennke + + * javax/swing/JSplitPane.java + (addImpl): Call resetToPreferredSizes() when no dividerLocation + has been set in order to set an initial layout. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Fixed error for + layout of the right component. + (BasicHorizontalLayoutManager.resetToPreferredSizes): Set the + dividerLocation to the size of the left component. + (createDefaultNonContinuousLayoutDivider): Fetch the color from + the UIManager. + (setDividerLocation): Don't validate the location here. Sometimes + the divider needs to be set to an invalid location. + (startDragging): Don't revalidate and repaint here. + (finishDraggingTo): Don't repaint here. Also, don't call + dragDividerTo() here. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added SplitPaneDivider.draggingColor + default value. + +2006-01-25 Roman Kennke + + * javax/swing/JSplitPane.java + (addImpl): Removed invalidate() and layout() call. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (PropertyHandler.propertyChange): Remove layoutContainer() and + repaint() call. + +2006-01-25 Roman Kennke + + * configure.ac + * native/Makefile.am + * native/jni/classpath/Makefile.am + * native/jni/classpath/jcl.c + * native/jni/classpath/jcl.h + * native/jni/classpath/native_state.c + * native/jni/gtk-peer/Makefile.am + * native/jni/java-io/Makefile.am + * native/jni/java-io/java_io_VMFile.c + * native/jni/java-io/java_io_VMObjectStreamClass.c + * native/jni/java-lang/Makefile.am + * native/jni/java-net/Makefile.am + * native/jni/java-net/java_net_VMInetAddress.c + * native/jni/java-net/javanet.c + * native/jni/java-net/javanet.h + * native/jni/java-nio/Makefile.am + * native/jni/java-nio/gnu_java_nio_VMPipe.c + * native/jni/java-nio/gnu_java_nio_VMSelector.c + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + * native/jni/java-util/Makefile.am + * native/jni/java-util/java_util_VMTimeZone.c + * native/jni/midi-dssi/Makefile.am + * native/jni/xmlj/Makefile.am + * native/target/Makefile.am + * native/target/Linux/target_native_math.h + * native/target/Linux/target_native_memory.h + * native/target/Linux/Makefile.am + * native/target/Linux/target_native_io.h + * native/target/Linux/target_native_math_float.h + * native/target/Linux/target_native_math_int.h + * native/target/generic/target_generic.c + * native/target/generic/target_generic_io.c + * native/target/generic/target_generic_math.h + * native/target/generic/target_generic_memory.h + * native/target/generic/target_generic_misc.c + * native/target/generic/target_generic_network.c + * native/target/generic/Makefile.am + * native/target/generic/target_generic.h + * native/target/generic/target_generic_file.h + * native/target/generic/target_generic_io.h + * native/target/generic/target_generic_math_float.h + * native/target/generic/target_generic_math_int.h + * native/target/generic/target_generic_misc.h + * native/target/generic/target_generic_network.h: + Reverted target native related changes back to the state of the + 0.20 release. + * native/target/MinGW/.cvsignore + * native/target/MinGW/Makefile.am + * native/target/MinGW/target_native.h + * native/target/MinGW/target_native_file.h + * native/target/MinGW/target_native_io.h + * native/target/MinGW/target_native_math.h + * native/target/MinGW/target_native_memory.h + * native/target/MinGW/target_native_misc.h + * native/target/MinGW/target_native_network.h + * native/target/RTEMS/.cvsignore + * native/target/RTEMS/Makefile.am + * native/target/RTEMS/target_native.h + * native/target/RTEMS/target_native_file.h + * native/target/RTEMS/target_native_io.h + * native/target/RTEMS/target_native_math.h + * native/target/RTEMS/target_native_memory.h + * native/target/RTEMS/target_native_misc.h + * native/target/RTEMS/target_native_network.h + * native/target/SunOS/.cvsignore + * native/target/SunOS/Makefile.am + * native/target/SunOS/target_native.h + * native/target/SunOS/target_native_file.h + * native/target/SunOS/target_native_io.h + * native/target/SunOS/target_native_math.h + * native/target/SunOS/target_native_memory.h + * native/target/SunOS/target_native_misc.h + * native/target/SunOS/target_native_network.h + * native/target/embOS/.cvsignore + * native/target/embOS/Makefile.am + * native/target/embOS/target_native.h + * native/target/embOS/target_native_file.h + * native/target/embOS/target_native_io.c + * native/target/embOS/target_native_io.h + * native/target/embOS/target_native_math.h + * native/target/embOS/target_native_memory.h + * native/target/embOS/target_native_misc.h + * native/target/embOS/target_native_network.h + * native/target/posix/.cvsignore + * native/target/posix/Makefile.am + * native/target/posix/target_posix.c + * native/target/posix/target_posix.h + * native/target/posix/target_posix_file.c + * native/target/posix/target_posix_file.h + * native/target/posix/target_posix_io.c + * native/target/posix/target_posix_io.h + * native/target/posix/target_posix_math.c + * native/target/posix/target_posix_math.h + * native/target/posix/target_posix_memory.c + * native/target/posix/target_posix_memory.h + * native/target/posix/target_posix_misc.c + * native/target/posix/target_posix_misc.h + * native/target/posix/target_posix_network.c + * native/target/posix/target_posix_network.h: + Removed. + +2006-01-24 Wolfgang Baer + + * javax/print/PrintService.java, + * javax/print/DocPrintJob.java, + * javax/print/CancelablePrintJob.java: + Added and enhanced api documentation for class and methods. + +2006-01-24 Wolfgang Baer + + * javax/print/SimpleDoc.java: Make class final. + * javax/print/attribute/standard/PrinterIsAcceptingJobs.java: Likewise. + * javax/print/attribute/DateTimeSyntax.java: + (toString): New overridden method. + * javax/print/attribute/standard/JobStateReasons.java: + (add): Use the super.add method to avoid recursion. + * javax/print/attribute/standard/PrinterStateReasons.java: + (put): Use the super.put method to avoid recursion. + +2006-01-24 Robert Schuster + + * java/beans/XMLEncoder.java: + (writeExpression): Added early return (fixes PR #25941). + (setExceptionListener, anonymous Class): Removed printStackTrace + call. + * java/beans/Encoder: Removed unused imports. + (setupDefaultPersistenceDelegates): Removed unneccessary + PersistenceDelegates for subclasses. + * java/beans/PersistenceDelegate: + (initialize): Use local variable as first argument as it was + intended once. + * java/beans/DefaultPersistenceDelegate: + (initialize): Added call to superclass' implementation, added + early return. + +2006-01-24 Tom Tromey + + * java/util/regex/PatternSyntaxException.java: Added @since. + * java/util/regex/Matcher.java (Matcher): Implements MatchResult. + * java/util/regex/MatchResult.java: New file. + +2006-01-24 David Gilbert + + * javax/swing/text/StringContent.java: Added API docs all over, plus + minor reformatting. + +2006-01-24 Gary Benson + + * java/net/SocketPermission.java: Implemented serialization. + +2006-01-24 David Gilbert + + * javax/swing/text/StringContent.java + (remove): Modified argument check to prevent removal of last character, + (getChars): Removed null argument check to allow NullPointerException, + added API docs, + (checkLocation): Added API docs and white space. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Should only call createFracture with + StartTagType. Added check. + (insertContentTag): Should use the tags length for splitting. + Also, added a check to determine if current's start and end offset are + equal to the offset and endOffset. If so, only one leaf element + should be added. + (createFracture): Removed FIXME. This function is complete. + (split): Added calls to replace. Changed so the child is + added immediately to the paragraph. Prevents NPEs. + +2006-01-23 Mark Wielaard + + * examples/Makefile.am (EXAMPLE_ZIP): Group cd and commands. + +2006-01-23 Tom Tromey + + * gnu/java/security/x509/X509Certificate.java (parse): + Unconditionally read value; for version==1 case when reading + algorithm ID. + +2006-01-23 Roman Kennke + + * javax/swing/plaf/synth/ColorType.java, + * javax/swing/plaf/synth/Region.java, + * javax/swing/plaf/synth/SynthConstants.java, + * javax/swing/plaf/synth/SynthContext.java + * javax/swing/plaf/synth/SynthGraphicsUtils.java, + * javax/swing/plaf/synth/SynthLookAndFeel.java, + * javax/swing/plaf/synth/SynthPainter.java, + * javax/swing/plaf/synth/SynthStyle.java, + * javax/swing/plaf/synth/SynthStyleFactory.java, + * javax/swing/plaf/synth/package.html: + New files. Added the public API and framework classes for the + Synth look and feel. + +2006-01-23 David Gilbert + + * javax/swing/text/Segment.java: API docs all over. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (split): Should not use createLeafElement and createBranchElement here. + We should just instaniate the LeafElements and BranchElements instead + to avoid the case where create*Element is overridden. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFirstContentTag): Moved check outside of if-statement. + This should be checked before creating the new leaf element. + (insertFracture): Fixed check to prevent an NPE. The previous + leaf should only be recreated if it has been created by + insertFirstContentTag. Also, fixed up code: if the endOffset is + greater than the offset, then we need to create a temp leaf + as a place holder. Otherwise, the leaf elements should be + created normally. + +2006-01-23 Gary Benson + + * java/net/SocketPermission.java: Almost completely rewritten. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFracture): Set temp leaf's attributes to prevent an NPE. + +2006-01-23 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Formatted ElementBuffer and added new fields. + (remove): Added check to determine if length is 0. + (insertFirstContentTag): Initialized firstCreated to the element that is created + by the first tag encountered. Removed check in JoinPreviousDirection case, no + longer needed. In OriginateDirection case, added a loop to remove all old leafs + that have been recreated. + (insertContentTag): Cleaned up code. Removed checks that did not do anything. + (insertFracture): Fixed up code, removed unneeded objects and checks. Added + FIXME tags to the lines that need to be rewritten. + +2006-01-23 Mark Wielaard + + * examples/Makefile.am: Add support for fastjar. + +2006-01-23 Ito Kazumitsu + + * gnu/regexp/REToken.java(empty): Made Cloneable. + * gnu/regexp/RETokenOneOf.java(match): RE.java(match): + Use separate methods matchN and matchP depending on the + boolean negative. + (matchN): New method used when negative. Done as before. + (matchP): New method used when not negative. Each token is + tried not by itself but by a clone of it. + +2006-01-23 Chris Burdess + + Fixes bug #25906 + * gnu/xml/dom/DomCharacterData.java: Use a separate empty node list + class to avoid getLength method contention. + * gnu/xml/stream/SAXParser.java: Rethrow correct exception. + +2006-01-23 Chris Burdess + + * native/jni/java-util/Makefile.am: Include library required + explicitly by BSD systems. + * native/target/generic/target_generic_misc.h: Remove old commented + out code. + * native/target/generic/target_generic_network.h: Fallbacks (to + SO_NOSIGPIPE and then 0) for non-portable glibc MSG_NOSIGNAL. + +2006-01-22 Tom Tromey + + * native/target/posix/.cvsignore: Added .deps. + +2006-01-22 Mark Wielaard + + Fixes bug #25832, + reported by James Damour + * java/awt/Container.java (addImpl): Use empty string as name when + null constraints for LayoutManager.addLayoutComponent(). + +2006-01-22 Chris Burdess + + Fixes bug #25903 + * gnu/xml/dom/DomDocumentBuilder.java: Default to using file URL + representing current directory as base for relative URLs. + +2006-01-22 Ito Kazumitsu + + Fixes bug #25837 + * gnu/regexp/REMatch.java(empty): New boolean indicating + an empty string matched. + * gnu/regexp/RE.java(match): Sets empty flag when an empty + string matched. + (initialize): Support back reference \10, \11, and so on. + (parseInt): renamed from getEscapedChar and returns int. + * gnu/regexp/RETokenRepeated.java(match): Sets empty flag + when an empty string matched. Fixed a bug of the case where + an empty string matched. Added special handling of {0}. + * gnu/regexp/RETokenBackRef.java(match): Sets empty flag + when an empty string matched. Fixed the case insensitive matching. + +2006-01-21 Roman Kennke + + * javax/swing/plaf/metal/MetalSplitPaneDivider.java + (paint): Added painting of border if one is installed. + +2006-01-21 Roman Kennke + + PR classpath/25843: + * javax/swing/plaf/basic/BasicBorders.java + (getSplitPaneDividerBorder): Use new border constructor + without arguments. + (SplitPaneDividerBorder.highlight): Removed unneeded field. + (SplitPaneDividerBorder.shadow): Removed unneeded field. + (SplitPaneDividerBorder()): Changed constructor to do nothing. The + colors are fetched dynamically in the paintBorder method. + (SplitPaneDividerBorder.paintBorder): Fetch colors dynamically from + the look and feel. + (SplitPaneDividerBorder.isBorderOpaque): Returns true + unconditionally. + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Added default for SplitPaneDivider.border. + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (tmpBorder): Removed unneeded inner class. + (BasicSplitPaneDivider): Removed setting of border. + (setSplitPaneUI): Don't add the mouse handler to the splitpane + itself. + * javax/swing/plaf/basic/BasicSplitPaneUI.java + (BasicHorizontalLayoutManager.layoutContainer): Mostly rewritten + to get behaviour right. + (BasicHorizontalLayoutManager.distributeExtraSpace): Removed + implementation. This must be rewritten since the layout now works + slightly different (basically, it shouldn't modify the sizes[] + here but instead the dividerLocation. + (dividerLocation): New field. + (installDefaults): Initialize border on divider. + (uninstallDefaults): Only remove background color and border from + splitPane if they are instances of UIDefaults (== not set by + application). + (setDividerLocation): Set the dividerLocation field instead of + doing stunt acts here. + (getDividerLocation): Return dividerLocation field. + (getMinimumDividerLocation): Fixed calculation of minimum location. + +2006-01-21 Guilhem Lavaux + + * m4/acinclude.m4 + (CLASSPATH_WITH_GLIBJ): Add support for fastjar. + + * lib/Makefile.am: Likewise. + +2006-01-21 Roman Kennke + + * javax/swing/PopupFactory.java + (getPopup): If there is no Swing root found in any way, use a + heavyweight popup. This is useful for mixed Swing/AWT GUIs, or + for the Swing AWT peers. + +2006-01-20 Tom Tromey + + * gnu/java/net/protocol/http/HTTPURLConnection.java (connect): + Read response body for redirect. + +2006-01-20 Chris Burdess + + * gnu/java/net/protocol/http/HTTPURLConnection.java: Don't follow + redirects on 304. + +2006-01-20 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (pad): Removed, not needed. + (printElements): Likewise. + (printEdit): Likewise. + +2006-01-20 Roman Kennke + + * javax/swing/text/DefaultFormatter.java + (DefaultFormatter): Don't set a value class. + +2006-01-19 Audrius Meskauskas + + * javax/swing/DefaultCellEditor.java: Commented. + +2006-01-19 Roman Kennke + + * javax/swing/JOptionPane.java + Added cast to Frame for JDialog constructor. + +2006-01-19 Roman Kennke + + * javax/swing/JWindow.java + (JWindow(Window)): Fixed to accept null owner argument. + (JWindow(Window,GraphicsConfiguration)): Fixed to accept null + owner argument. + * javax/swing/SwingUtilities.java + (getOwnerFrame): Owner parameter and return value are fixed to + be of type Window for compatibity with the above JWindow + constructor. + * javax/swing/JDialog.java + (JDialog): Added cast to Frame to make sure the correct constructor + is called. + * javax/swing/JFileChooser.java + (createDialog): Added cast to Frame for JDialog constructor. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java (rowAtPoint): Rewritten. + +2006-01-19 Roman Kennke + + * javax/swing/JWindow.java: Added API docs to the constructors. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java: Commenting method headers. + (EditorUpdateTimer): Removed. + +2006-01-19 Roman Kennke + + * javax/swing/JDialog.java + (JDialog()): Call SwingUtilities.getOwnerFrame() with null. + (JDialog(Frame,String,boolean,GraphicsConfiguration)): Call + SwingUtilities.getOwnerFrame() with the owner argument. + * javax/swing/JFileChooser.java + (showOpenDialog(Component)): Call pack() on the dialog instead of + setting a fixed height. + (showSaveDialog()): Likewise. + (showDialog()): Likewise. + (createDialog): Call SwingUtilities.getOwnerFrame() with null. + * javax/swing/JOptionPane.java: Call SwingUtilities.getOwnerFrame() + with null. + * javax/swing/JWindow.java + (JWindow()): Call SwingUtilities.getOwnerFrame() with null. + (JWindow(Frame)): Call SwingUtilities.getOwnerFrame() with owner + argument. + * javax/swing/SwingUtilities.java + (getOwnerFrame): Changed to take a owner parameter that is returned + as owner frame when not null. + +2006-01-19 Roman Kennke + + * gnu/java/awt/peer/swing/SwingFramePeer.java + (handleMouseEvent): Fixed handling of mouse events. + (handleMouseMotionEvent): Fixed handling of mouse events. + +2006-01-19 Roman Kennke + + * native/target/generic/target_generic_misc.c: + (targetGenericMisc_formatString): Added missing method. + +2006-01-19 Wolfgang Baer + + * m4/acinclude.m4: Test also for ecj found before exiting configure + with no javac found error message. + +2006-01-19 Ito Kazumitsu + + Fixes bug #23212 + * gnu/regexp/RE.java(initialize): Support escaped characters such as + \0123, \x1B, \u1234. + (getEscapedChar): New method. + (CharExpression): New inner class. + (getCharExpression): New Method. + * gnu/regexp/RESyntax.java(RE_OCTAL_CHAR, RE_HEX_CHAR, + RE_UNICODE_CHAR): New syntax bits. + +2006-01-19 Roman Kennke + + * native/target/Makefile.am: Fixed so that posix stuff is really + only built when requested. + +2006-01-19 Audrius Meskauskas + + * javax/swing/JTable.java (editingStopped, editingCancelled): + Repaint the edited cell. + (setValueAt): Do not add the value object to this container. + (editorTimer, rowBeingEdited, columnBeingEdited, oldCellValue): Removed. + (editingStopped): Use editingRow, editingColumn and not + rowBeingEdited, columnBeingEdited. (editValueAt): rewritten. + (doLayout): Move the editor component, if present, into the new + location and call repaint(). (moveToCellBeingEdited): new method. + (TableTextField): new inner class. + (getDefaultEditor): Instantiante TableTextField, not JTextField. + (setValueAt): Repaint the changed segment. + (createDefaultEditors): Implemented. + (BooleanCellRenderer): Center the checkbox and use the default foreground + and background colors. + * javax/swing/plaf/basic/BasicTableUI.java + (paintCell): Do not paint the caret here. Do not accept unused parameters. + (paint): No need to allocate rectangle for each cell. + * javax/swing/DefaultCellEditor.java: Rewritten. + * examples/gnu/classpath/examples/swing/Demo.java (mkTable): + Use TableDemo.java table example. + * examples/gnu/classpath/examples/swing/TableDemo.java: New file. + +2006-01-19 Roman Kennke + + * configure.ac: Added/fixed --enable-posix-layer option to enable + build of posix layer. + * native/target/Makefile.am: Added build for posix layer. + +2006-01-19 Christian Thalinger + + * configure.ac: Set TARGET to Linux per default. + * native/target/Makefile.am (libtarget_la_LIBADD): Removed + libtargetos.la. + * native/target/Linux/Makefile.am: Don't build a libtargetos.la. + * native/target/generic/Makefile.am (INCLUDES): Renamed to + AM_CPPFLAGS. + +2006-01-19 Raif S. Naffah + + * java/security/interfaces/RSAMultiPrimePrivateCrtKey.java: Replaced + what looked like proprietary documentation with original or new one. + * java/security/spec/PSSParameterSpec.java: Likewise. + * java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java: Likewise. + * java/security/spec/RSAOtherPrimeInfo.java: Likewise. + * java/security/AlgorithmParameterGenerator.java: Likewise. + * java/security/AlgorithmParameters.java: Likewise. + * java/security/Identity.java: Likewise. + * java/security/IdentityScope.java: Likewise. + * java/security/KeyFactory.java: Likewise. + * java/security/KeyPairGenerator.java: Likewise. + * java/security/MessageDigest.java: Likewise. + * java/security/Policy.java: Likewise. + * java/security/ProtectionDomain.java: Likewise. + * java/security/Security.java: Likewise. + * java/security/Signature.java: Likewise. + * java/security/SignatureSpi.java: Likewise. + * java/security/SignedObject.java: Likewise. + * java/security/Signer.java: Likewise. + +2006-01-18 Roman Kennke + + * configure.ac: Added --enable-posix-layer option to enable + build of the posix target layer. + +2006-01-18 Roman Kennke + + * native/jni/java-net/java_net_VMInetAddress.c + (Java_java_net_VMInetAddress_lookupInaddrAny): Use target native macro + for INADDR_ANY. + +2006-01-18 Roman Kennke + + * native/jni/java-util/java_util_VMTimeZone.c: + (Java_java_util_VMTimeZone_getSystemTimeZoneId): Rewritten + to use target native layer. + (jint_to_charbuf): Removed unneeded helper function. + +2006-01-18 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_VMPipe.c: + Removed unnecessary include. + * native/jni/java-nio/gnu_java_nio_VMSelector.c: + Reorganized includes to only include sys/* headers when available. + * native/jni/java-nio/java_nio_MappedByteBufferImpl.c: + (get_pagesize): Return 0 when nothing else works. + (Java_java_nio_MappedByteBufferImpl_unmapImpl): + Replaced munmap() and strerror() with corresponding target macros. + (Java_java_nio_MappedByteBufferImpl_isLoadedImpl): + Replaced strerror() with corresponding target macro. + (Java_java_nio_MappedByteBufferImpl_forceImpl): + Replaced strerror() with corresponding target macro. + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c: + (Java_java_nio_VMDirectByteBuffer_allocate): + Replaced malloc() with the corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_free): + Replaced free() with the corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2IB): + Add index to pointer when assigning the value. + (Java_java_nio_VMDirectByteBuffer_get__Lgnu_classpath_Pointer_2I_3BII): + Replaced memcpy with corresponding target macro. Add index when + doing the memcpy, not when fetching the pointer. + (Java_java_nio_VMDirectByteBuffer_put__Lgnu_classpath_Pointer_2I_3BII): + Replaced memcpy with corresponding target macro. + (Java_java_nio_VMDirectByteBuffer_shiftDown): + Replaced memmove with the corresponding target macro. + +2006-01-17 Tom Tromey + + PR classpath/20198: + * java/net/URLClassLoader.java (FileURLLoader): Added argument. + (JarURLLoader): Likewise. + (addURLImpl): Canonicalize file URLs. + +2006-01-17 Christian Thalinger + + * configure.ac: Set TARGET. + * native/Makefile.am, native/jni/classpath/Makefile.am, + native/jni/gtk-peer/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/midi-dssi/Makefile.am, + native/jni/xmlj/Makefile.am, native/target/Makefile.am, + native/target/Linux/Makefile.am, + native/target/generic/Makefile.am, + native/target/posix/Makefile.am: Build libclasspath.so with jcl + and target stuff linked in and link it against lib*.so libraries. + +2006-01-17 Roman Kennke + + * native/jni/java-net/javanet.c: + (_javanet_connect): Changed type of some local variables to jint. + Fixed error handling to throw a SocketTimeoutException if the + connection attempt times out. + (_javanet_bind): Changed type of some local variables to jint. + (_javanet_accept): Likewise. + (_javanet_recvfrom): Likewise. + (_javanet_sendto): Fixed error handling to throw a + PortUnreachableException when connection is refused. + (_javanet_get_option): Changed type of some local variables to jint. + Implemented SOCKOPT_SO_BROADCAST. + (_javanet_shutdownInput): Replaced shutdown call with corresponding + target native macro. + (_javanet_shutdownOutput): Replaced shutdown call with corresponding + target native macro. + * native/jni/java-net/javanet.h: + Defined SOCKET_TIMEOUT_EXCEPTION, PORT_UNREACHABLE_EXCEPTION and + SOCKOPT_SO_BROADCAST. + +2006-01-17 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insert): Cleaned up loop. No need to make so many calls + to getAddedElements and getRemovedElements. + (insertFracture): Removed unneeded array. + +2006-01-17 Lillian Angel + + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Implemented. + (getCaretPosition): Implemented. + (getSelectedText): Implemented. + (getSelectionStart): Implemented. + (getSelectionEnd): Implemented. + (getSelectionEnd): Implemented. + (getCharCount): Implemented. + (insertTextAtIndex): Implemented. + (getTextRange): Implemented. + (delete): Implemented. + (cut): Implemented. + (paste): Implemented. + (replaceText): Implemented. + (selectText): Implemented. + +2006-01-17 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (pad): New debugging method. + (printElements): Likewise. + (printPendingEdits): Likewise. + (printElement): Likewise. + (Edit): Improved docs, moved this class to be an inner class of + ElementBuffer since it only applies within that scope. Changed added + and removed to be Vectors instead of arrays because we need to be able + to add to them after construction. + (ElementBuffer): Updated docs with link to article that helped in this + classes implementation. + (ElementBuffer.Edit.getRemovedElements): New method. + (ElementBuffer.Edit.getAddedElements): Likewise. + (ElementBuffer.Edit.addRemovedElement): Likewise. + (ElementBuffer.Edit.addRemovedElements): Likewise. + (ElementBuffer.Edit.addAddedElement): Likewise. + (ElementBuffer.Edit.addAddedElements): Likewise. + (ElementBuffer.Edit): Improved docs, call addRemovedElements and + addAddedElements. + (ElementBuffer.getEditForParagraphAndIndex): New method. + (ElementBuffer.removeUpdate): Changed type of paragraph to + BranchElement. Corrected style of adding the edit to use the new Edit + facilities. + (ElementBuffer.changeUpdate): Changed style of adding the edit to use + the new Edit facilities. + (ElementBuffer.split): Likewise. + (ElementBuffer.insertParagraph): Likewise. + (ElementBuffer.insertContentTag): Likewise. + (ElementBuffer.insert): Push all BranchElements until the deepest one, + not just the root and the first one. Apply the structural changes to + the tree at the same time as updating the DocumentEvent. + (ElementBuffer.insertUpdate): Fixed docs. Removed the special case + handling of EndTags as the first ElementSpec. Instead have to handle + ContentTags as a special case if they are the first ElementSpec and if + not have to fracture the tree. + (ElementBuffer.createFracture): New method. May not be complete yet. + Added FIXME indicating what may remain to be done. + (ElementBuffer.insertFirstContentTag): New method. + (ElementBuffer.insertFracture): Added FIXME explaining what remains to + be done. Changed the adding of edits to use the new Edit facilities. + Removed the adding of edits for Elements that weren't in the tree prior + to the insertion. + (insertUpdate): Removed incorrect condition for setting a StartTag's + direction to JoinNextDirection. + * javax/swing/text/StyleContent.java: + (SmallAttributeSet.toString): Fixed an off-by-one error in the loop + that was causing an ArrayOutOfBoundsException. + +2006-01-17 Roman Kennke + + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + (Java_gnu_java_nio_channels_FileChannelImpl_init): Improved + exception messages a little. + (Java_gnu_java_nio_channels_FileChannelImpl_open): Provided + alternative implementation for systems without filesystems. + Replaced snprintf with the corresponding target native macro. + (Java_gnu_java_nio_channels_FileChannelImpl_implCloseChannel): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_available): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_size): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_implPosition): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_seek): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_implTruncate): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_mapImpl): Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_read__): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_read___3BII): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_write__I): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_force): + Only do something when we have a filesystem. + (Java_gnu_java_nio_channels_FileChannelImpl_write___3BII): + Replaced ssize_t variables with jint. Provided + alternative implementation for systems without filesystems. + (Java_gnu_java_nio_channels_FileChannelImpl_lock): Reimplemented + to use the corresponding target native macro. + (Java_gnu_java_nio_channels_FileChannelImpl_unlock): Reimplemented + to use the corresponding target native macro. + +2006-01-17 Lillian Angel + + * javax/swing/text/DefaultTextUI.java: + Added deprecated tag. + * javax/swing/text/JTextComponent.java + (AccessibleJTextComponent): Fixed API doc and + partiall9 implemented. + (getCaretPosition): Fixed API doc and implemented. + (getSelectedText): Fixed API doc. + (getSelectionStart): Likewise. + (getSelectionEnd): Likewise. + (caretUpdate): Fixed API doc and + partially implemented. + (getAccessibleStateSet): Likewise. + (getAccessibleRole): Fixed API doc and implemented. + (getAccessibleEditableText): Implemented. + (getAccessibleText): Fixed API doc and implemented. + (insertUpdate): Fixed API doc. + (changedUpdate): Likewise. + (getIndexAtPoint): Likewise. + (getRootEditorRect): Removed. + (getCharacterBounds): Fixed API doc. + (getCharCount): Likewise. + (getCharacterAttribute): Likewise. + (getAtIndex): Likewise. + (getAfterIndex): Likewise. + (getBeforeIndex): Likewise. + (getAccessibleActionCount): Added function stub. + (getAccessibleActionDescription): Added function, + partially implemented. + (doAccessibleAction): Added function stub. + (setTextContents): Likewise. + (insertTextAtIndex): Likewise. + (delete): Likewise. + (cut): Likewise. + (paste): Likewise. + (replaceText): Likewise. + (selectText): Likewise. + (setAttributes): Likewise. + (getAccessibleContext): Implemented. + +2006-01-17 Ito Kazumitsu + + Fixes bug #25817 + * gnu/regexp/RETokenRange.java(constructor): + Keep lo and hi as they are. + (match): Changed the case insensitive comparison. + +2006-01-17 Ito Kazumitsu + + * gnu/regexp/RETokenChar.java(chain): + Do not concatenate tokens whose insens flags are diffent. + +2006-01-17 Roman Kennke + + * native/target/generic/target_generic_network.c: + (targetGenericNetwork_receive): Fixed signature to match the + corresponding .h file. + (targetGenericNetwork_receiveWithAddressPort): Fixed signature + to match the corresponding .h file. + +2006-01-17 Roman Kennke + + * native/jni/classpath/jcl.c: + (JCL_malloc): Replaced calls to malloc with the corresponding + target layer macro. + (JCL_free): Replaced calls to free with the corresponding + target layer macro. + * native/jni/classpath/native_state.c: + (cp_gtk_init_state_table_with_size): Replaced calls to malloc and + calloc with the corresponding target layer macro. + (remove_node): Replaced calls to free with the corresponding + target layer macro. + (add_node): Replaced calls to malloc with the corresponding + target layer macro. + +2006-01-17 Roman Kennke + + * native/jni/java-io/java_io_VMObjectStreamClass.c: + (getFieldReference): Use MALLOC/FREE macros for portability instead + of direct call to malloc() and free(). + +2006-01-17 Roman Kennke + + * native/jni/classpath/jcl.c: Added missing imports. + (JCL_realloc): Fixed signature to include oldsize. This is needed + for some targets. Make this function use the MEMORY_REALLOC macro + for portability. + * native/jni/classpath/jcl.h + (JCL_realloc): Adjusted signature. + * native/jni/java-io/java_io_VMFile.c: + (Java_java_io_VMFile_create): Use target layer macro for handling + errno, for portability. + (Java_java_io_VMFile_length): Release filename string in error cases + before returning. + (Java_java_io_VMFile_list): Initialize filename variable. Use new + version of JCL_realloc. + * native/jni/java-net/java_net_VMInetAddress.c: + (Java_java_net_VMInetAddress_getHostByName): Use renamed macro + TARGET_NATIVE_NETWORK_GET_HOSTADDRESS_BY_NAME. + * native/jni/java-net/javanet.c: + (_javanet_bind): Make errorstr variable const to avoid compiler + warning. + (_javanet_set_option): Fixed typo. + (_javanet_get_option): Fixed typo. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + (Java_gnu_java_nio_channels_FileChannelImpl_open): Made + error_string variable const to avoid compiler warning. + * native/target/generic/target_generic_file.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + Added some spaces to make code better readable. + * native/target/generic/target_generic_memory.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + * native/target/generic/target_generic_misc.c: + Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused + compiler warnings due to use of varargs. + * native/target/generic/target_generic_misc.h: + Removed unused TARGET_NATIVE_MISC_FORMAT_STRING macro. This caused + compiler warnings due to use of varargs. + * native/target/generic/target_generic_network.h: + Replaced // comments with /* */ comments to avoid compiler warnings. + (targetGenericNetwork_receive): Fixed signature to use signed chars + for buffer parameter to avoid warning when passing a jbyte to the + function. + +2006-01-17 David Gilbert + + * javax/swing/text/StyleConstants.java + (getAlignment): Removed isDefined() check, so that resolving parent is + used for lookup, + (getBackground): Likewise, plus changed default value to Color.BLACK, + (getBidiLevel): Removed isDefined() check, + (getComponent): Likewise, + (getFirstLineIndent): Likewise, + (getFontFamily): Likewise, + (getFontSize): Likewise, + (getForeground): Likewise, + (getIcon): Likewise, + (getLeftIndent): Likewise, + (getLineSpacing): Likewise, + (getRightIndent): Likewise, + (getSpaceAbove): Likewise, + (getSpaceBelow): Likewise, + (getTabSet): Likewise, + (isBold): Likewise, + (isItalic): Likewise, + (isStrikeThrough): Likewise, + (isSubscript): Likewise, + (isSuperscript): Likewise, + (isUnderline): Likewise. + +2006-01-17 Gary Benson + + * java/lang/System.java (setSecurityManager): Catch + ClassNotFoundException not Throwable. + +2006-01-16 Anthony Green + + PR classpath/25803 + * gnu/java/net/protocol/http/Request.java + (createResponseBodyStream): Remove Content-Encoding for + compressed streams. + +2006-01-16 Chris Burdess + + * gnu/xml/stream/XMLParser.java, + gnu/xml/stream/XMLStreamWriterImpl.java: Thoroughly check + XMLStreamWriter arguments for conformance to the XML specifications. + * gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/Template.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/xpath/LangFunction.java, + gnu/xml/xpath/Selector.java: better handling of template priorities; + fix indents when pretty-printing; recursive tests for xml:lang. + * gnu/xml/util/XHTMLWriter.java, + gnu/xml/util/XMLWriter.java: Deprecate old serializer classes. + +2006-01-16 Roman Kennke + + * native/target/MinGW/.cvsignore: New file. + * native/target/RTEMS/.cvsignore: New file. + * native/target/SunOS/.cvsignore: New file. + * native/target/embOS/.cvsignore: New file. + * native/target/posix/.cvsignore: New file. + +2006-01-16 David Gilbert + + * javax/swing/text/StyleConstants.java: Updated API docs all over. + +2006-01-16 Roman Kennke + + * configure.ac: Include new target native directories in build. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_file.h: Added missing + include. + * native/target/generic/target_generic_network.c: Fixed several + typos and includes. + * native/target/generic/target_generic_network.h: Likewise. + +2006-01-16 Roman Kennke + + * native/target/Makefile.am: Adjusted SUBDIRS and DIST_SUBDIRS + to include the new targets. + * native/target/posix/Makefile.am: Fixed filenames. + +2006-01-16 Roman Kennke + + * native/target/Makefile.am: Include new targets. + * native/target/Linux/Makefile.am: Include new memory layer. + * native/target/MinGW/Makefile.am: New file. Includes MinGW in dist. + * native/target/RTEMS/Makefile.am: New file. Includes RTEMS in dist. + * native/target/SunOS/Makefile.am: New file. Includes SunOS in dist. + * native/target/embOS/Makefile.am: New file. Includes embOS in dist. + * native/target/generic/Makefile.am: Include new memory and math + layer. + * native/target/posix/Makefile.am: New file. Includes posix in dist. + +2006-01-16 Ito Kazumitsu + + Fixes bug #22884 + * gnu/regexp/RE.java(initialize): Parse embedded flags. + * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_network.c: Fixed typo. + * native/target/generic/target_generic_network.h: Fixed typo. + +2006-01-16 Nicolas Geoffray + + * doc/vmintegration.texinfo: Updated subsection of the + java.lang.InstrumentationImpl documentation. + +2006-01-16 Roman Kennke + + * native/target/RTEMS/target_native.h, + * native/target/RTEMS/target_native_file.h, + * native/target/RTEMS/target_native_io.h, + * native/target/RTEMS/target_native_math.h, + * native/target/RTEMS/target_native_memory.h, + * native/target/RTEMS/target_native_misc.h, + * native/target/RTEMS/target_native_network.h: + New files. Implement the target native layer for the RTEMS platform. + +2006-01-16 Roman Kennke + + * native/target/SunOS/target_native.h, + * native/target/SunOS/target_native_file.h, + * native/target/SunOS/target_native_io.h, + * native/target/SunOS/target_native_math.h, + * native/target/SunOS/target_native_memory.h, + * native/target/SunOS/target_native_misc.h, + * native/target/SunOS/target_native_network.h: + New files. Implement the target native layer for the SunOS platform. + +2006-01-16 Roman Kennke + + * native/target/MinGW/target_native.h, + * native/target/MinGW/target_native_file.h, + * native/target/MinGW/target_native_io.h, + * native/target/MinGW/target_native_math.h, + * native/target/MinGW/target_native_memory.h, + * native/target/MinGW/target_native_misc.h, + * native/target/MinGW/target_native_network.h: + New files. Implement the target native layer for the MinGW + platform. + +2006-01-16 Audrius Meskauskas + + PR 25770 + * javax/swing/DefaultCellEditor.java + (delegate): Assign new instance immediately. + (DefaultCellEditor(JTextField textfield)): Require 2 clicks. + (getTableCellEditorComponent): Rewritten. + (prepareAsJTextField):New method (add listener only once). + * javax/swing/JTable.java + (editingCanceled): Rewritten. + (editingStopped ): Rewritten. + (rowAtPoint): Mind row margin. + (getCellRect): Mind row margin. + (getDefaultEditor): Removing JTextComponent border. + (editCellAt): Rewritten. + * javax/swing/plaf/basic/BasicTableUI.java (MouseInputHandler): + Activate editing mode by the mouse clicks. + (getMaximumSize): Mind row margin. + (getPreferredSize): Mind row margin. + (TableAction): Added 'stop editing' command. + +2006-01-16 Roman Kennke + + * jni/java-io/java_io_VMFile.c + (Java_java_io_VMFile_list): Use new 4 argument version of + TARGET_NATIVE_FILE_READ_DIR macro. + * target/Linux/target_native_io.h: Fixed comment at #endif. + * target/Linux/target_native_memory.h: New file. Contains + portability macros for memory operations. + * target/generic/target_generic.c: New file. Contains some functions + for portability. + * target/generic/target_generic.h: Use posix target and shorter macro + names if CP_NEW is set. + * target/generic/target_generic_file.h: Use posix target and shorter + macro names if CP_NEW is set. + (TARGET_NATIVE_FILE_READ_DIR): New parameter for maxNameLength. + * target/generic/target_generic_io.c: New file. Contains some + functions for IO portability. + * target/generic/target_generic_io.h: Use posix target and shorter + macro names if CP_NEW is set. + * target/generic/target_generic_misc.c: New file. Contains some + functions for miscallaneaous portability issues. + * target/generic/target_generic_misc.h: Use posix target and shorter + macro names if CP_NEW is set. + * target/generic/target_generic_network.c: New file. Contains some + functions for networking portability. + * target/generic/target_generic_network.h: Use posix target and + shorter macro names if CP_NEW is set. + * target/posix/Makefile.am, + * target/posix/target_posix.c, + * target/posix/target_posix.h, + * target/posix/target_posix_file.c, + * target/posix/target_posix_file.h, + * target/posix/target_posix_io.c, + * target/posix/target_posix_io.h, + * target/posix/target_posix_math.c, + * target/posix/target_posix_math.h, + * target/posix/target_posix_memory.c, + * target/posix/target_posix_memory.h, + * target/posix/target_posix_misc.c, + * target/posix/target_posix_misc.h, + * target/posix/target_posix_network.c, + * target/posix/target_posix_network.h: + New files. This implements the target native layer macros for + Posix-like systems. + +2006-01-16 Gary Benson + + * java/net/SocketPermission.java (implies): Fix action checks. + +2006-01-16 Roman Kennke + + * native/target/generic/target_generic_math_float.h: Removed. This + file has been replaced by target_generic_math.h. + * native/target/generic/target_generic_math_int.h: Removed. This + file has been replaced by target_generic_math.h. + * native/target/generic/target_generic_math.h: New file. Replaces + the old _int and _float versions. + * native/target/Linux/target_native_math_float.h: Removed. This + file has been replaced by target_native_math.h. + * native/target/Linux/target_native_math_int.h: Removed. This + file has been replaced by target_native_math.h. + * native/target/Linux/target_native_math.h: New file. Replaces + the old _int and _float versions. + * native/target/Linux/Makefile.am: Adjusted for the changed + filenames. + * native/jni/java-io/java_io_VMFile.c: Include target_native_math.h + instead of target_native_math_int.h. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: + Likewise. + * native/target/generic/target_generic_file.h: Likewise. + +2006-01-16 David Gilbert + + * javax/swing/text/MutableAttributeSet.java: Updated API docs all over. + +2006-01-16 David Gilbert + + * javax/swing/text/SimpleAttributeSet.java + (SimpleAttributeSet()): Initialise storage directly, + (SimpleAttributeSet(AttributeSet)): Removed null check and documented + NullPointerException, + (containsAttribute): If key is found locally, don't check resolving + parent if the value doesn't match, + (getAttribute): Removed redundant instanceof and cast. + +2006-01-16 Gary Benson + + * java/lang/System.java (setSecurityManager): Ensure policy + files are loaded before a security manager is put in place. + +2006-01-16 David Gilbert + + * javax/swing/text/SimpleAttributeSet.java: Updated API docs all over. + +2006-01-16 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (static_initializer): Added comment. + (MediaSize): Added javadoc to mention cache registration. + (MediaSize): Likewise. + (MediaSize): Likewise. + (MediaSize): Likewise. + +2006-01-16 Raif S. Naffah + + PR classpath/25202 + * gnu/javax/security/auth/login/ConfigFileTokenizer.java: New class. + * gnu/javax/security/auth/login/ConfigFileParser.java: New class. + * gnu/javax/security/auth/login/GnuConfiguration.java: New class. + * javax/security/auth/login/AppConfigurationEntry.java: Updated + copyright year. + (toString): Added method implementation. + (LoginModuleControlFlag.toString): Removed class name from result. + * javax/security/auth/login/Configuration.java: Updated copyright year. + (getConfig(): replaced calls to NullConfiguration with + GnuConfiguration. + +2006-01-15 Tom Tromey + + * javax/swing/text/html/HTMLDocument.java (parseBuffer): Genericized. + * javax/swing/text/StyleContext.java (removeAttributes): Genericized. + * java/beans/PersistenceDelegate.java (initialize): Genericized. + * java/beans/Encoder.java (getPersistenceDelegate): Genericized. + (setPersistenceDelegate): Likewise. + +2006-01-15 Wolfgang Baer + + * javax/print/attribute/standard/PrinterStateReasons.java: + (printerStateReasonSet): Genericize the return type. + +2006-01-15 Audrius Meskauskas + + * javax/swing/table/DefaultTableCellRenderer.java + (getTableCellRendererComponent): Render null as the empty cell. + +2006-01-14 Anthony Green + + * java/net/ServerSocket.java (accept): Remove bogus + security check. + (implAccept): Add FIXME comment. + +2006-01-14 Wolfgang Baer + + Fixes bug #25387 + * javax/print/Doc.java: Added and enhanced documentation. + * javax/print/SimpleDoc.java: New file. + +2006-01-14 Wolfgang Baer + + * javax/print/attribute/standard/MediaSize.java: + (Other.TABLOID): New MediaSize added in 1.5 + +2006-01-14 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Ensure that parser is reset + correctly when I/O and runtime exceptions occur during parsing. + +2006-01-13 Roman Kennke + + * gnu/java/awt/peer/swing/SwingButtonPeer.java, + * gnu/java/awt/peer/swing/SwingCanvasPeer.java, + * gnu/java/awt/peer/swing/SwingComponent.java, + * gnu/java/awt/peer/swing/SwingComponentPeer.java, + * gnu/java/awt/peer/swing/SwingContainerPeer.java, + * gnu/java/awt/peer/swing/SwingFramePeer.java, + * gnu/java/awt/peer/swing/SwingLabelPeer.java, + * gnu/java/awt/peer/swing/SwingMenuBarPeer.java, + * gnu/java/awt/peer/swing/SwingMenuItemPeer.java, + * gnu/java/awt/peer/swing/SwingMenuPeer.java, + * gnu/java/awt/peer/swing/SwingPanelPeer.java, + * gnu/java/awt/peer/swing/SwingTextFieldPeer.java, + * gnu/java/awt/peer/swing/SwingToolkit.java, + * gnu/java/awt/peer/swing/SwingWindowPeer.java, + * gnu/java/awt/peer/swing/package.html: + New files. Implemented some basic AWT peers based on Swing. + +2006-01-13 Roman Kennke + + * java/awt/peer/ComponentPeer.java: Added API docs all over. + +2006-01-13 Roman Kennke + + * java/awt/MenuComponent.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/Frame.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java + (accessibleContext): Removed unnecessary field. This is already + defined in MenuComponent. + (setHelpMenu): Renamed the peer variable to myPeer because it was + hiding a field of MenuComponent. + (addNotify): Removed unnecessary cast. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java: Reformatted to better match our + coding style. + +2006-01-13 Roman Kennke + + * java/awt/MenuBar.java + (frame): New field. + (removeNotify): Clear frame field when beeing removed from the + frame. + * java/awt/Frame.java + (setMenuBar): Store a reference of the frame in the MenuBar. + * java/awt/MenuComponent.java + (postEvent): Implemented to forward the call to the parent until + a parent can handle the event. + (dispatchEvent): Moved handling of old style events from + dispatchEventImpl() to here. + (dispatchEventImpl): Moved handling of old style events to + dispatchEvent(). + +2006-01-13 Roman Kennke + + * java/awt/Component.java + (dispatchEvent): Moved handling of old style events from + dispatchEventImpl() to this method. + (translateEvent): Removed unnecessary cast. + (dispatchEventImpl): Moved handling of old style events to + dispatchEvent(). + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (createDefaultRoot): Removed FIXME. + (setLogicalStyle): Added fireUndoableEditUpdate call and + removed FIXME. + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (Edit): New inner class. + (changeUpdate): Changed addEdit call to add a new + instance of Edit to the edits Vector, so addEdits can + be done later. + (split): Likewise. + (insertParagraph): Likewise. + (insertFracture): Likewise. + (insertContentTag): Likewise. + (insert): Added loop to go through edits Vector and perform + addEdit on each object. + +2006-01-13 Chris Burdess + + * gnu/xml/transform/AbstractNumberNode.java, + gnu/xml/transform/ApplyImportsNode.java, + gnu/xml/transform/ApplyTemplatesNode.java, + gnu/xml/transform/AttributeNode.java, + gnu/xml/transform/CallTemplateNode.java, + gnu/xml/transform/ChooseNode.java, + gnu/xml/transform/CommentNode.java, + gnu/xml/transform/CopyNode.java, + gnu/xml/transform/CopyOfNode.java, + gnu/xml/transform/DocumentFunction.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/ForEachNode.java, + gnu/xml/transform/IfNode.java, + gnu/xml/transform/LiteralNode.java, + gnu/xml/transform/MessageNode.java, + gnu/xml/transform/OtherwiseNode.java, + gnu/xml/transform/ParameterNode.java, + gnu/xml/transform/ProcessingInstructionNode.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/Template.java, + gnu/xml/transform/TemplateNode.java, + gnu/xml/transform/TextNode.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/transform/ValueOfNode.java, + gnu/xml/transform/WhenNode.java, + gnu/xml/xpath/NodeTypeTest.java, + gnu/xml/xpath/Selector.java: simplified debugging output; ignore + with-param parameters when template does not define parameters; apply + conflict resolution for templates; strip whitespace on documents + retrieved via document() function; allow node() to match document + nodes. + +2006-01-13 Mark Wielaard + + * doc/www.gnu.org/announce/20060113.wml: New file. + * doc/www.gnu.org/newsitems.txt: Add 0.20 release announcement. + * doc/www.gnu.org/downloads/downloads.wml: Add 0.20. + +2006-01-13 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java: + Removed unused fields. + (insert): Removed unused fields. + (endEdit): Removed, not needed. + (insertUpdate): Removed call to endEdit. + (prepareContentInsertion): Removed, not needed. + (insertContentTag): Removed call to prepareContentInsertion. + (printElements): Removed, not needed. + (attributeSetsAreSame): Removed, not needed. + +2005-01-13 Mark Wielaard + + * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): + Duplicate of toString(int, StringBuilder). + +2005-01-13 Mark Wielaard + + * configure.ac: Set version to 0.20. + * NEWS: Add entries for all the new work done. + +2005-01-13 Mark Wielaard + + * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. + +2005-01-13 Mark Wielaard + + * java/util/regex/Pattern.java (Pattern): Chain REException. + +2006-01-13 Chris Burdess + + * gnu/xml/xpath/NameTest.java: Removed debugging output. + +2005-01-13 Jeroen Frijters + + * java/security/Security.java + (getProperty): Added hack to skip security check when trusted + code is direct caller. + +2005-01-13 Jeroen Frijters + + * java/io/PrintStream.java + (line_separator, PrintStream(OutputStream,boolean)): Use + SystemProperties. + +2005-01-13 Jeroen Frijters + + * gnu/java/nio/charset/Provider.java: Added comment about its + special relation with CharsetProvider. + (static): Removed. + * gnu/java/nio/charset/iconv/IconvProvider.java: Added comment about + its special relation with CharsetProvider. + (static): Removed. + * java/nio/charset/spi/CharsetProvider.java + (CharsetProvider): Add special case to skip security check for + built in providers. + +2005-01-13 Mark Wielaard + + * javax/swing/JMenuItem.java (JMenuItem(Action)): Check whether + name, accel, mnemonic and command are defined before setting. + +2005-01-12 Mark Wielaard + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (FileRenderer.getListCellRendererComponent): Set empty name and null + icon when File is null. + +2006-01-13 Audrius Meskauskas + + * gnu/java/rmi/server/UnicastRef.java (newCall): + Throw ConnectException after catching IOException. + +2006-01-12 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Removed unneeded check. + +2006-01-12 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertContentTag): If the direction is JoinNextDirection + and we haven't come immediately after a fracture, adjust the Element + offsets. Added comment explaining the situation. + (insert): Return early if no ElementSpecs passed in. Removed redundant + call to insertUpdate. Fired the UndoableEditUpdate. + +2006-01-12 Ito Kazumitsu + + Fixes bug #22802 + * gnu/regexp/RE.java(initialize): Fixed the parsing of + character classes within a subexpression. + +2006-12-12 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertUpdate): Added check to check if attribute set is + empty. + (insertUpdate): Added check to determine if last character + is a newline. If it is, we should not be fracturing. + (insert): Added check to determine if attribute set is empty. + If it is, insertUpdate should not be called. + +2006-12-12 Guilhem Lavaux + + * configure.ac: Check for isnan. + + * native/fdlibm/fdlibm.h: If we have a isnan function then do not + define the macro. + +2006-01-12 Chris Burdess + + * gnu/xml/stream/XMLParser.java: Corrected the handling of some XML + 1.1 character ranges. + +2006-01-12 Anthony Balkissoon + + * javax/swing/TransferHandler.java: + (TransferAction): Call super constructor. Fixes Mauve regression + gnu/testlet/javax/swing/JTextField/CopyPaste. + +2006-01-12 Christian Thalinger + + * resource/Makefile.am: Install + logging.properties into $(prefix)/lib. + * resource/Makefile.am (securitydir): Changed to + $(prefix)/lib/security. + +2006-01-12 Roman Kennke + + * javax/swing/JTextField.java + (createDefaultModel): Moved installation of the filterNewlines + property to setDocument(). + (setDocument): New method. Installs the filterNewlines property + on the document. + +2006-01-12 Chris Burdess + + * gnu/xml/dom/DomNode.java, + gnu/xml/transform/ElementAvailableFunction.java: Removed debugging + output. + * gnu/xml/xpath/NameTest.java, + gnu/xml/xpath/NamespaceTest.java, + gnu/xml/xpath/Selector.java: Fix regression for namespace axis + navigation. + * gnu/xml/transform/MessageNode.java: Use standard logging system + for outputting messages. + +2006-01-12 Tom Tromey + + * java/net/InetAddress.java (DEFAULT_CACHE_SIZE): Removed. + (DEFAULT_CACHE_PERIOD, DEFAULT_CACHE_PURGE_PCT): Likewise. + (cache_size, cache_period, cache_purge_pct, cache): Likewise. + (static initializer): Removed cache code. + (checkCacheFor, addToCache): Removed. + (getAllByName): Removed cache code. + (lookup_time): Removed. + (InetAddress): Updated. + +2006-01-12 Chris Burdess + + * gnu/xml/dom/DomDocument.java, + gnu/xml/dom/DomElement.java, + gnu/xml/dom/DomNode.java, + gnu/xml/stream/XMLParser.java, + gnu/xml/transform/Bindings.java, + gnu/xml/transform/ElementAvailableFunction.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/FunctionAvailableFunction.java, + gnu/xml/transform/NamespaceProxy.java, + gnu/xml/transform/StreamSerializer.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/xpath/Selector.java: Implement isEqualNode correctly for + document and element nodes; correct coalescing semantics when parsing; + attribute-sets can only refer to top-level variables and parameters; + fix namespace retrieval during element-available and + function-available functions; implement xsl:fallback for extension + elements; tokenize whitespace correctly during whitespace stripping; + correct following and previous node axes selectors. + +2006-01-12 Roman Kennke + + * java/util/Hashtable.java + (KeyEnumerator.nextElement): Added null check to avoid NPE. + (ValueEnumerator.nextElement): Added null check to avoid NPE. + +2006-01-12 Lillian Angel + + * javax/swing/text/GapContent.java + (UndoInsertString): Changed name of class to InsertUndo to match the JDK. + +2006-01-12 Mark Wielaard + + * vm/reference/gnu/java/net/VMPlainSocketImpl.java (connect): + Throw UnknowHostException when name could not be resolved. + +2006-01-12 Jeroen Frijters + + * java/net/URL.java + (static, getURLStreamHandler): Use SystemProperties. + +2006-01-12 Mark Wielaard + + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java (receive): + Use packet.getLength(). + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (nativeReceive): Check whether the receiver wants zero bytes. + +2006-01-12 Mark Wielaard + + * native/jni/java-net/javanet.c (_javanet_recvfrom): Return -1 when + other side orderly closed connection. + * vm/reference/gnu/java/net/VMPlainSocketImpl.java + (read(PlainSocketImpl)): Mask byte to return unsigned int. Return -1 + when end of stream reached. + +2006-01-12 Mark Wielaard + + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Remove asserts. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: Likewise. + * native/jni/java-net/java_net_VMInetAddress.c: Likewise. + * native/jni/java-net/java_net_VMNetworkInterface.c: Likewise. + * native/jni/java-net/javanet.c: Likewise. + +2006-01-12 Mark Wielaard + + * native/fdlibm/mprec.c (Balloc): Disable assert to workaround + PR classpath/23863. + +2006-01-11 Chris Burdess + + * gnu/xml/transform/AttributeNode.java, + gnu/xml/transform/ElementNode.java, + gnu/xml/transform/LiteralNode.java, + gnu/xml/transform/StreamSerializer.java, + gnu/xml/transform/StrippingInstruction.java, + gnu/xml/transform/Stylesheet.java, + gnu/xml/transform/TransformerImpl.java, + gnu/xml/transform/ValueOfNode.java, + gnu/xml/xpath/Expr.java, + gnu/xml/xpath/LocalNameFunction.java, + gnu/xml/xpath/NameFunction.java, + gnu/xml/xpath/NameTest.java, + gnu/xml/xpath/NamespaceUriFunction.java, + gnu/xml/xpath/NodeTypeTest.java, + gnu/xml/xpath/SubstringFunction.java, + javax/xml/namespace/QName.java: don't determine element namespace + from namespace aliases when specified; better namespace handling + when serializing elements; don't create HTML meta element unless + head element exists; correct encoding of CDATA sections containing + ']]>'; encode HTML character entity references; use ISO-Latin-1 as + default encoding for HTML output; rewrite of XSLT + strip-space/preserve-space handling; correct doctype-public and + doctype-system output attributes; insert generated doctype before + document element; fixed result tree whitespace stripping + algorithm; fixed semantics of XPath name, local-name, and + namespace-uri functions; name tests handle XML/XMLNS namespaces + correctly; fixed semantics of processing-instruction node test. + * gnu/xml/transform/TransformerFactoryImpl.java: Add main method to + aid debugging. + +2006-01-11 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (insertFracture): Added calls to addEdit for each time a structure + is changed. addEdit is called on the newBranch, previous, and parent + structures. + +2006-01-11 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertContentTag): Don't adjust the structure here. + This will have been taken care of in insertFracture. Added a comment + explaining that we need to add edits to the DocumentEvent and that + this may be the place to do it. + +2006-01-11 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Properly recreate Elements if the first + tag is an end tag. Avoid NPE by pushing the proper Element on to the + elementStack when there is a start tag with JoinNextDirection. + +2006-01-11 Roman Kennke + + Reported by: Fridjof Siebert + * java/util/Hashtable.java + (KEYS): Removed unneeded field. + (VALUES): Removed unneeded field. + (ENTRIES): Removed unneeded field. + (keys): Return a KeyEnumerator instance. + (elements): Returns a ValueEnumerator instance. + (toString): Use an EntryIterator instance. + (keySet): Return a KeyIterator instance. + (values): Return a ValueIterator instance. + (entrySet): Return an EntryIterator instance. + (hashCode): Use EntryIterator instance. + (rehash): Changed this loop to avoid redundant reads and make + it obvious that null checking is not needed. + (writeObject): Use EntryIterator instance. + (HashIterator): Removed class. + (Enumerator): Removed class. + (EntryIterator): New class. + (KeyIterator): New class. + (ValueIterator): New class. + (EntryEnumerator): New class. + (KeyEnumerator): New class. + (ValueEnumerator): New class. + +2006-01-11 Lillian Angel + + * javax/swing/text/DefaultStyledDocument.java + (toString): Shouldn't append the '>' character here. + (createDefaultRoot): Should not set the resolve parent. This + causes problems when comparing attribute sets. + +2006-01-10 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Rewritten to properly handle start and + end tags. + (ElementBuffer.insertFracture): New method. + (ElementBuffer.insertContentTag): Removed unnecessary case for + JoinFractureDirection - this only applies to start tags, not content + tags. + (insertUpdate): Corrected conditions for setting direction to + JoinNextDirection. + +2006-01-10 Roman Kennke + + * Makefile.am (EXTRA_DIST): Added ChangeLog-2004. + * ChangeLog-2005: New File. + +2006-01-10 Roman Kennke + + * native/jni/java-nio/java_nio_VMDirectByteBuffer.c + (get): Release the array with the correct pointer. + (put): Release the array with the correct pointer. Copy the array + around _before_ releasing it. + +2006-01-10 Roman Kennke + + * javax/swing/ViewportLayout.java + (layoutContainer): Fixed condition, to avoid ClasscastException. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicSplitPaneDivider.java + (MouseHandler.mousePressed): Fixed indendation. + (MouseHandler.mouseDragged): Fixed indendation. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (playSound): Added @since 1.4 to the API docs. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (maybeUpdateLayoutState): Also update the layout state, if the + list has been invalidated since the last update. + +2006-01-10 Roman Kennke + + * javax/swing/plaf/ComponentUI.java + (update): Fixed indendation. + +2006-01-10 Roman Kennke + + * javax/swing/ViewportLayout.java + (layoutContainer): Fixed condition, so that Scrollable components + are always forced to have to Viewport size, when they + return true for getScrollableTracksViewportHeight() and ..Width(). + +2006-01-10 Roman Kennke + + * javax/swing/RepaintManager.java + (validateInvalidComponents): Fixed condition to avoid NPE. + +2006-01-10 Roman Kennke + + * javax/swing/JViewport.java: + (static_initializer): Removed unused variable myScrollMode. + +2006-01-10 Roman Kennke + + * javax/swing/JTabbedPane.java: + Cleared API docs a little. + +2006-01-10 Roman Kennke + + * java/util/StringTokenizer.java + (StringTokenizer(String, String, boolean)): + Don't trigger NPE here for conformance with the spec. + +2006-01-10 Roman Kennke + + * java/util/ArrayList.java + (DEFAULT_CAPACITY): Changed default capacity to 10, as specified. + +2006-01-10 Roman Kennke + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java + (GdkGraphics2D(GdkGraphics2D)): Added null check for the bg + field to avoid NPE. + +2006-01-10 Roman Kennke + + * native/jni/java-net/javanet.c + (_javanet_shutdownOutput): Replaced strerror() with + TARGET_NATIVE_LAST_ERROR_STRING() for portability. + (_javanet_shutdownInput): Replaced strerror() with + TARGET_NATIVE_LAST_ERROR_STRING() for portability. + +2006-01-10 Robert Schuster + + * java/beans/EventSetDescriptor.java: Reformatted and + fixed API docs. + +2006-01-10 Roman Kennke + + * java/lang/SecurityManager.java + Fully qualified AWT class references in API docs. + +2006-01-10 Robert Schuster + + * java/beans/EventSetDescriptor.java: + (getGetListenerMethod): New method. + +2006-01-10 Mark Wielaard + + * lib/Makefile.am (GCJX): Add -g to get linenumber info. + +2006-01-10 Jeroen Frijters + + PR classpath/25727 + * java/util/Hashtable.java + (contains): Call equals on existing value. + (containsKey, get, put, remove): Call equals on existing key. + (getEntry): Call equals on existing entry. + +2006-01-10 Jeroen Frijters + + PR classpath/24618 + * java/util/AbstractMap.java + (equals(Object,Object)): Test for identity first. + * java/util/WeakHashMap.java + (WeakBucket.WeakEntry.equals): Use helper method to determine equality. + (WeakBucket.WeakEntry.toString): Fixed string representation of + null key. + (internalGet): Use helper method to determine equality. + +2006-01-09 Robert Schuster + + * java/beans/EventSetDescriptor.java: Implemented the two 1.4 + constructors. + +2006-01-09 Anthony Balkissoon + + * javax/swing/text/PlainDocument.java: + (insertUpdate): Handle special case of an insertion immediately + following a newline character. + +2006-01-09 Roman Kennke + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c + (connect): Added stream parameter to _connect() call. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c + (connect): Added stream parameter to _connect() call. + * native/jni/java-net/javanet.c + (_javanet_create_localfd): Added stream parameter. Look up + fd field based on the stream parameter either in SocketImpl or + in DatagramSocketImpl. + (_javanet_connect): Added stream parameter. Call create_localfd + using this stream parameter. Set localPort field either in + SocketImpl or in DatagramSocketImpl, depending on the stream + flag. + * native/jni/java-net/javanet.c + (_javanet_connect): Added stream parameter. + +2006-01-09 Audrius Meskauskas + + * javax.management.Attribute.java: Grammar and + formatting fixes. + +2006-01-09 Mark Wielaard + + * gnu/java/nio/channels/FileChannelImpl.java (map): Throw correct + exception when channel is not readable or writable. + * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c + (mapImpl): Add PROT_WRITE when mode == 'c' (MAP_PRIVATE). Make sure + there is enough space to mmap(). + +2006-01-09 Robert Schuster + + * java/beans/Introspector.java: + (getBeanInfo(Class, int)): New method. + (getBeanInfo(Class, Class): Moved common code in a new method. + (merge): New method. + +2006-01-09 Robert Schuster + + * java/beans/XMLEncoder.java: Fix spelling mistakes. + +2006-01-09 Anthony Balkissoon + + * javax/swing/text/DefaultStyledDocument.java: + (insertUpdate): Removed call to checkForInsertAfterNewline and instead + inlined this method because it needs to change the value of the + finalStartTag and finalStartDirection variables. + (checkForInsertAfterNewline): Removed this method. + (handleInsertAfterNewline): Added case for making the start tag's + direction JoinNextDirection. + +2006-01-09 Lillian Angel + + * javax/swing/plaf/basic/BasicTreeUI.java: + Added new field. + (setRowHeight): Row height is set to the max height of + all the nodes, or 20 as a default value. + (getPathBounds): Cleaned up code. + (getMaxHeight): New helper function that gets the max + height of all the rows. + (getClosestPathForLocation): Fixed to use getMaxHeight. + (updateCachedPreferredSize): Likewise. + (installUI): Shouldn't expand tree on startup. + (getNodeDimensions): Fixed to use getMaxHeight. + +2006-01-09 Mark Wielaard + + * javax/swing/JList.java (setSelectedIndex): Clear selection when + argument is negative. + +2006-01-08 Mark Wielaard + + * java/net/InetAddress.java (getInaddrAny): Explicitly set hostName. + +2006-01-09 Audrius Meskauskas + + * javax.management.Attribute.java: New file. + +2006-01-09 Roman Kennke + + * java/net/DatagramSocketImpl.java + (localPort): Renamed to localport for correct access from native + code. + +2006-01-09 Roman Kennke + + * javax/swing/Popup.java + (LightweightPopup.hide): Repaint the layered pane when popup is + removed. + +2006-01-09 Roman Kennke + + * java/awt/Container.java + (remove): Don't repaint the container here. + +2006-01-08 Tom Tromey + + * java/lang/InheritableThreadLocal.java: Organized imports. + +2006-01-08 Ito Kazumitsu + + Fixes bug #25679 + * gnu/regexp/RETokenRepeated.java(match): Optimized the case + when an empty string matched an empty token. + +2006-01-08 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Check standalone status for mixed + content models from external entities. + * gnu/xml/stream/UnicodeReader.java: Report error instead of + attempting to continue with unpaired surrogates. + * gnu/xml/stream/XMLParser.java: Don't normalize LF equivalents when + resolving entities with character entity references; better + checking of valid character ranges; don't report an error for URI + fragments in notation declarations; check unbound namespace + prefixes for elements and attributes, including XML 1.1 unbinding + syntax; namespace-aware checking of attribute duplicates. + +2006-01-08 Robert Schuster + + * java/beans/Statement.java: Doc fixes. + (doExecute): Workaround for Class.forName call. + (toString): Made output look more like on the JDK. + * java/beans/Expression.java: Doc fixes. + (toString): Made output look more like on the JDK. + * java/beans/PersistenceDelegate.java, + java/beans/DefaultPersistenceDelegate.java, + java/beans/Encoder.java, + java/beans/XMLEncoder.java: New file. + * gnu/java/beans/encoder/ArrayPersistenceDelegate.java, + gnu/java/beans/encoder/ClassPersistenceDelegate.java, + gnu/java/beans/encoder/CollectionPersistenceDelegate.java, + gnu/java/beans/encoder/Context.java, + gnu/java/beans/encoder/GenericScannerState.java, + gnu/java/beans/encoder/IgnoringScannerState.java, + gnu/java/beans/encoder/MapPersistenceDelegate.java, + gnu/java/beans/encoder/ObjectId.java, + gnu/java/beans/encoder/PrimitivePersistenceDelegate.java, + gnu/java/beans/encoder/ReportingScannerState.java, + gnu/java/beans/encoder/Root.java, + gnu/java/beans/encoder/ScanEngine.java, + gnu/java/beans/encoder/ScannerState.java, + gnu/java/beans/encoder/StAXWriter.java, + gnu/java/beans/encoder/Writer.java: New file. + * gnu/java/beans/encoder/elements/Array_Get.java, + gnu/java/beans/encoder/elements/Element.java, + gnu/java/beans/encoder/elements/List_Set.java, + gnu/java/beans/encoder/elements/Array_Set.java, + gnu/java/beans/encoder/elements/NullObject.java, + gnu/java/beans/encoder/elements/StaticMethodInvocation.java, + gnu/java/beans/encoder/elements/StaticFieldAccess.java, + gnu/java/beans/encoder/elements/StringReference.java, + gnu/java/beans/encoder/elements/ClassResolution.java, + gnu/java/beans/encoder/elements/ArrayInstantiation.java, + gnu/java/beans/encoder/elements/PrimitiveInstantiation.java, + gnu/java/beans/encoder/elements/ObjectReference.java, + gnu/java/beans/encoder/elements/ObjectInstantiation.java, + gnu/java/beans/encoder/elements/List_Get.java, + gnu/java/beans/encoder/elements/MethodInvocation.java: New file. + +2006-01-08 Chris Burdess + + * java/lang/Character.java (toChars,toCodePoint): Correct these + methods to use algorithms from Unicode specification. + +2006-01-08 Mark Wielaard + + * native/jni/xmlj/Makefile.am (libxmlj_la_LIBADD): Add jcl.o. + +2006-01-07 Paul Jenner + + Fixes bug #25711 + * examples/Makefile.am: Corrected DESTDIR install paths. + +2006-01-07 Audrius Meskauskas + + * org/omg/CORBA/INVALID_ACTIVITY.java: Removed non - + ASCII character (line 46). + +2006-01-07 Roman Kennke + + * javax/swing/text/TableView.java: New file. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/BufferedReader.java: Removed commented out code. + * gnu/xml/stream/XIncludeFilter.java: Correct XML Base behaviour. + * gnu/xml/stream/XMLParser.java: Make additional StAX properties + available; correct handling of unparsed entity references; + absolutize all base URIs; remove commented out code. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XMLParser.java: Add SAX property to return base + URI of the current event. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java: Add SAX feature to set XML Base + aware processing. + +2006-01-07 Chris Burdess + + * gnu/xml/stream/SAXParser.java, + gnu/xml/stream/XIncludeFilter.java, + gnu/xml/stream/XMLParser.java: Updated documentation. + +2006-01-07 Chris Burdess + + * AUTHORS: add self. + +2006-01-06 Casey Marshall + + * AUTHORS: add myself. + +2006-01-06 Casey Marshall + + PR classpath/25699 + * javax/crypto/CipherInputStream.java (logger): new constant. + (cipher): make final. + (outLength, inBuffer, inLength): removed. + (isStream): make final. + (VIRGIN, LIVING, DYING, DEAD, state): removed. + (eof): new field. + (): call `super,' not `this;' remove `inBuffer' and + `outBuffer' initialization; init `eof;' add debug logging. + (): call `this' with a new null cipher. + (available): fix javadoc to reflect the real semantics; if we + don't have a buffer, call `nextBlock.' + (close): synchronize. + (read): synchronize; fix testing for buffered data. + (read): synchronize; add `skip' semantics if first argument is + `null;' decrypt stream cipher data only if there is any; fix tests + for buffered data. + (skip): stop using `available' to see how many data are buffered. + (nextBlock): simplify to use cipher-allocated output buffers + instead of internally allocated ones. + +2006-01-06 Tom Tromey + + * java/lang/String.java (codePointCount): Fixed javadoc. + +2006-01-06 Tom Tromey + + * java/lang/String.java (contains): Added @since. + +2006-01-06 Ito Kazumitsu + + Fixes bug #25616 + * gnu/regexp/RE.java(initialize): Allow repeat.empty.token. + * gnu/regexp/RETokenRepeated.java(match): Break the loop + when an empty string matched an empty token. + +2006-01-06 Jeroen Frijters + + PR classpath/24858 + * gnu/java/util/WeakIdentityHashMap.java: New file. + * java/lang/InheritableThreadLocal.java + (newChildThread): Modified to remove key indirection. + * java/lang/Thread.java + (locals): Changed type to WeakIdentityHashMap. + (getThreadLocals): Instantiate WeakIdentityHashMap instead of + WeakHashMap. + * java/lang/ThreadLocal.java + (key, Key): Removed. + (get, set): Changed to use "this" instead of "key". + +2006-01-06 Dalibor Topic + + * native/fdlibm/Makefile.am (libfdlibm_la_SOURCES): Removed java-assert.h. + + * native/fdlibm/java-assert.h: Removed file. + + * native/fdlibm/mprec.c: Include assert.h. Don't include java-assert.h. + Replaced use of JvAssert by assert. + +2006-01-05 Anthony Balkissoon + + * javax/swing/text/DefaultCaret.java: + (setDot): Fixed paramater to Math.max to be this.dot and not the + parameter dot. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getCellHeight): New helper method. + (getCellBounds): Use new helper method for determining the cell + height. + (paint): Don't call list.indexToLocation() but instead call + directly into the same UI method. + (locationToIndex): Fixed calculation of # visible rows and handling + of cell heights. + (indexToLocation): Fixed calculation of # visible rows and handling + of cell heights. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (createList): Set VERTICAL_SCROLLBAR_NEVER mode on the JScrollPane + in the file chooser. + +2006-01-05 Anthony Balkissoon + + * javax/swing/JTextPane.java: + (replaceSelection): If the document is an AbstractDocument, use replace + rather than remove and insert. + * javax/swing/event/EventListenerList.java: + (getListeners): Reversed the order of the listeners to match the + reference implementation. + * javax/swing/text/AbstractDocument.java: + (insertString): Add the UndoableEdit from the content.insertString call + to the DocumentEvent. + (DefaultDocumentEvent.toString): Implemented. + * javax/swing/text/DefaultCaret.java: + (setDot): Make sure dot is > 0 and less than the length of the + document. + * javax/swing/text/DefaultStyledDocument.java: + (ElementBuffer.insertUpdate): Set the modified tag of the document + event when we get start and end tags. This ensures that we create the + proper BranchElements in endEdit(). + (ElementBuffer.insertUpdate): Added FIXME to handle + JoinFractureDirection case. + (insertUpdate): Added code to check if we're inserting immediately + after a newline and to handle this case (create start and end tags). + Only change the direction of the first and last tags if they are of + type ContentType. + (checkForInsertAfterNewline): New helper method. + (handleInsertAfterNewline): Likewise. + * javax/swing/text/View.java: + (updateLayout): Avoid NPE by checking if shape is null. Repaint + container. + +2006-01-05 Mark Wielaard + + * newsitems.txt: Add fosdem meeting. + * events/events.wml: Likewise. + * events/fosdem06.wml: New file. + +2006-01-05 Lillian Angel + + * javax/swing/text/GapContent.java + (createPosition): No positions should be created inside the + gap. Fixed check to ensure this does not happen. + +2006-01-05 Roman Kennke + + * javax/swing/RepaintManager.java + (validateInvalidComponents): Search for the validate root + and start validating there. + +2006-01-05 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (ComponentHandler): Removed unneeded class. + (ListDataHandler.contentsChanged): Revalidate instead of calling + damageLayout(). + (ListDataHandler.intervalAdded): Revalidate instead of calling + damageLayout(). + (ListDataHandler.intervalRemoved): Revalidate instead of calling + damageLayout(). + (PropertyChangeHandler.propertyChange): Or flags together instead + of adding them. Don't call damageLayout(). + (componentListener): Removed unnecessary field. + (damageLayout): Removed unnecessary method. + (installListeners): Don't install unnecessary listeners. + (uninstallListeners): Dito. + (getPreferredSize): Don't ask for the real list height and + calculate with the previously calculated list height. + (locationToIndex): Renamed list parameter to l so that it doesn't + shadow the field with the same name. + (indexToLocation): Renamed list parameter to l so that it doesn't + shadow the field with the same name. + +2006-01-04 Tom Tromey + + * include/.cvsignore: Ignore config-int.h. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (getPreferredSize): Rewritten to match the specs. + +2006-01-04 Roman Kennke + + * javax/swing/JFileChooser.java + (showOpenDialog): Set fixed width on the dialog. + (showSaveDialog): Set fixed width on the dialog. + (showDialog): Set fixed width on the dialog. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Added FIXME about getVisibleRowCount() usage. + Adjusted iteration to not use visibleRowCount and instead iterate + over the real number of elements in cellHeights. + (indexToLocation): Added FIXME about getVisibleRowCount() usage. + Adjusted iteration to not use visibleRowCount and instead iterate + over the real number of elements in cellHeights. + +2006-01-04 Roman Kennke + + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c, + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + Added __attribute__((__unused__)) macros to avoid gcc warnings. + +2006-01-04 Roman Kennke + + * vm/reference/gnu/java/net/VMPlainSocketImpl.java: New VM class. + * vm/reference/gnu/java/net/VMPlainDatagramSocketImpl.java: + New VM class. + * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c: New file. + * native/jni/java-net/gnu_java_net_VMPlainDatagramSocketImpl.c: + New file. + * native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c: + Removed. + * native/jni/java-net/gnu_java_net_PlainSocketImpl.c: Removed. + * native/jni/java-net/Makefile.am: Adjusted for new source files. + * gnu/java/net/PlainDatagramSocketImpl.java: Use new VM interface. + * gnu/java/net/PlainSocketImpl.java: Use new VM interface. + * include/gnu_java_net_PlainDatagramSocketImpl.h: Removed. + * include/gnu_java_net_PlainSocketImpl.h: Removed. + * include/gnu_java_net_VMPlainDatagramSocketImpl.h: New header file. + * include/gnu_java_net_VMPlainSocketImpl.h: New header file. + +2006-01-04 Lillian Angel + + * javax/swing/plaf/metal/MetalFileChooserUI.java + (propertyChange): Fixed to change the combo box label + appropriately. Also, fixed to set the textfield's text + correctly. + (editFile): Fixed size of editing field. + (installComponents): Correctly aligned all panels. + (installStrings): Fixed to set the label's text + appropriately depending on the dialog type. + +2006-01-04 Lillian Angel + + PR classpath/25473 + PR classpath/25479 + * javax/swing/JTree.java + (JTree): Because some L&F defaults have been updated, + the selectionMode for the tree needed to be set to SINGLE. + * javax/swing/plaf/basic/BasicFileChooserUI.java: + Initialized accessoryPanel. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (installComponents): Added accessoryPanel to the filechooser. + +2006-01-04 Dalibor Topic + + * configure.ac: Added AX_CREATE_STDINT_H + + * include/Makefile.am (DISTCLEANFILES): Remove config-int.h. + + * m4/ax_create_stdint_h.m4: New file. + + * native/fdlibm/mprec.h: Include config-int.h. Removed C99 + typedefs. Removed stdint.h and inttypes.h includes. + +2006-01-03 Mark Wielaard + + * javax/swing/JMenuItem.java (configurePropertiesFromAction): Only + register keyboard action when accelerator is not null. + * javax/swing/plaf/basic/BasicMenuItemUI.java (propertyChange): Only + re-register accelerator if not null. + (installKeyboardActions): Only put accelerator in map when not null. + +2006-01-04 Lillian Angel + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Removed unneeded default. + * javax/swing/plaf/metal/MetalLookAndFeel.java + (initComponentDefaults): Added and fixed several defaults. + +2006-01-04 Roman Kennke + + * javax/swing/plaf/basic/BasicHTML.java: New class. + +2006-01-03 Tom Tromey + + * java/io/OutputStreamWriter.java (OutputStreamWriter): Added @since. + * java/io/InputStreamReader.java (InputStreamReader): Added @since. + +2006-01-03 Mark Wielaard + + * org/omg/CORBA/INVALID_ACTIVITY.java: Remove non-ascii characters. + +2006-01-03 Mark Wielaard + + * javax/swing/plaf/metal/MetalLookAndFeel.java (MetalLookAndFeel): + Always call createDefaultTheme(). + (createDefaultTheme): Check whether theme is still null. + +2006-01-03 Mark Wielaard + + * gnu/java/awt/peer/gtk/GdkGraphics2D.java (setBackground): Set to + Color.WHITE if null. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/metal/MetalLookAndFeel.java + (getDescription): Fixed to return the correct string. + (getID): Likewise. + (getName): Likewise. + (getDefaults): Added check to avoid NPE. + (getAcceleratorForeground): Likewise. + (getAcceleratorSelectedForeground): Likewise. + (getBlack): Likewise. + (getControl): Likewise. + (getControlDarkShadow): Likewise. + (getControlDisabled): Likewise. + (getControlHighlight): Likewise. + (getControlInfo): Likewise. + (getControlShadow): Likewise. + (getControlTextColor): Likewise. + (getControlTextFont): Likewise. + (getDesktopColor): Likewise. + (getFocusColor): Likewise. + (getHighlightedTextColor): Likewise. + (getInactiveControlTextColor): Likewise. + (getInactiveSystemTextColor): Likewise. + (getMenuBackground): Likewise. + (getMenuDisabledForeground): Likewise. + (getMenuForeground): Likewise. + (getMenuSelectedBackground): Likewise. + (getMenuSelectedForeground): Likewise. + (getMenuTextFont): Likewise. + (getPrimaryControl): Likewise. + (getPrimaryControlDarkShadow): Likewise. + (getPrimaryControlHighlight): Likewise. + (getPrimaryControlInfo): Likewise. + (getPrimaryControlShadow): Likewise. + (getSeparatorBackground): Likewise. + (getSeparatorForeground): Likewise. + (getSubTextFont): Likewise. + (getSystemTextColor): Likewise. + (getSystemTextFont): Likewise. + (getTextHighlightColor): Likewise. + (getUserTextColor): Likewise. + (getUserTextFont): Likewise. + (getWhite): Likewise. + (getWindowBackground): Likewise. + (getWindowTitleBackground): Likewise. + (getWindowTitleFont): Likewise. + (getWindowTitleForeground): Likewise. + (getWindowTitleInactiveBackground): Likewise. + (getWindowTitleInactiveForeground): Likewise. + +2006-01-03 Mark Wielaard + + * javax/swing/JTextArea.java + (JTextArea(Document,text,int,int)): Only call setText() when text is + not null. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicFileChooserUI.java + (installStrings): Fixed installation of defaults that + were changed in BasicLookAndFeel. + * javax/swing/plaf/basic/BasicTabbedPaneUI.java + (installDefaults): Fixed installation of defaults that + were changed in BasicLookAndFeel. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicLookAndFeel.java + (initComponentDefaults): Fixed several defaults that differed + from the JDK. + +2006-01-03 Lillian Angel + + * javax/swing/tree/DefaultTreeSelectionModel.java + (DefaultTreeSelectionModel): Default should be DISCONTIGUOUS_TREE_SELECTION. + +2006-01-03 Lillian Angel + + * javax/swing/AbstractAction.java + (AbstractAction): Fixed to pass in null. Should not be + an empty string. Removed TODO comment. + (AbstractAction): Removed TODO comment. + * javax/swing/JList.java + (init): Default selection mode should be MULTIPLE_INTERVAL_SELECTION. + * javax/swing/JMenuItem.java + (JMenuItem): Set all defaults if the action passed in is not null. + * javax/swing/JProgressBar.java + (JProgressBar): Added check to prevent NPE. + +2006-01-03 Lillian Angel + + * javax/swing/plaf/basic/BasicListUI.java + (getPreferredSize): The JDK adds some extra space to + the list, so we should as well. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (getPreferredSize): Should only take the fileListPanel's + width into account when getting the size. Also, the buttonPanel's + size should not be checked, since it is in the bottomPanel already. + (getMinimumSize): Likewise. + +2006-01-03 Lillian Angel + + * javax/swing/JList.java + (init): visibleRowCount should be 7, like the JDK. + * javax/swing/plaf/metal/MetalFileChooserUI.java + (installComponents): No need to add the fileFilterCombo + to a panel. It can be added to the row directly. + +2006-01-03 Lillian Angel + + PR classpath/25480 PR classpath/25478 + * javax/swing/plaf/basic/BasicScrollPaneUI.java + (updateViewport): Made changes suggested by + Chris Lansdown. + * javax/swing/plaf/metal/MetalFileChooserUI.java: + Removed unneeded import. + (createList): Removed comment, JList wrapping + now works. + (getPreferredSize): Made changes suggested by + Chris Lansdown. Uses fileListPanel, instead + of fileList. + (getMinimumSize): Uses fileListPanel, instead + of fileList. + * javax/swing/plaf/metal/MetalRadioButtonUI.java + (paintFocus): Fixed height. + +2006-01-03 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Added check to avoid ArrayOutOfBoundsException. + +2006-01-03 Roman Kennke + + * javax/swing/plaf/basic/BasicListUI.java + (locationToIndex): Special case for when variable cell heights + are possible. (cellHeights is used instead of cellHeight). + (indexToLocation): Special case for when variable cell heights + are possible. (cellHeights is used instead of cellHeight). + +2006-01-03 Roman Kennke + + * javax/swing/text/DefaultStyledDocument.java + (ElementBuffer.remove): New method. + (ElementBuffer.removeUpdate): New method. + (removeUpdate): New method. + +2006-01-03 Roman Kennke + + * lib/Makefile.am: + (dist-hook): Preserve attributes of Java sources when copying to + dist dir. + +2006-01-03 Raif S. Naffah + + * AUTHORS: Added self. + * java/security/Security.java (getProvider): Ensures provider's name is + not null, not an empty string, and is trimmed before usage. + +2006-01-01 Audrius Meskauskas + + * gnu/CORBA/Poa/AOM.java (add): + Changed parameter Object into gnuServantObject. + (Obj.object): Changed type to gnuServantObject. + (findObject): Rewritten. + +2006-01-01 Andreas Tobler + + * native/jni/qt-peer/mainqtthread.cpp: Remove call to disable double + buffering. Ability has gone in Qt-4.1.x. + + * configure.ac (QT_CFLAGS): Check for 4.1.0 version and for QtCore + to have the right include flags. + +2006-01-01 Raif S. Naffah + + * java/security/MessageDigest.java (getInstance(String,String)): + Use trimmed copy of provider name. + * gnu/java/security/Engine.java + (getInstance(String,String,Provider,Object[])): Use trimmed copy of + service and algorithm names. + +2006-01-01 Raif S. Naffah + + * java/net/InetAddress.java (getAllByName): use LOCALHOST if + localhost is null or is an empty string. Trim hostname before + lookup. + diff --git a/libjava/classpath/ChangeLog.gcj b/libjava/classpath/ChangeLog.gcj index c11d849e752..ef38c1d2391 100644 --- a/libjava/classpath/ChangeLog.gcj +++ b/libjava/classpath/ChangeLog.gcj @@ -1,3 +1,11 @@ +2007-05-31 Matthias Klose + + * javax/management/NotificationBroadcasterSupport.java + (getNotificationInfo): Add cast. + * native/jni/qt-peer/Makefile.am (AM_CXXFLAGS): Add libstdc++ include + directories. + * native/jni/qt-peer/Makefile.in: Regenerate. + 2007-05-30 H.J. Lu PR libjava/32098 diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL index 50a524b6236..86ce66c64e4 100644 --- a/libjava/classpath/INSTALL +++ b/libjava/classpath/INSTALL @@ -50,6 +50,11 @@ Suggested Software - gdk-pixbuf - XTest Extension (libXtst) for GdkRobot support in java.awt. + + - There is a bug in earlier versions of at-spi, atk, and gail, which are + used for GNOME accessibility. Prior to version 1.18.0 of these packages, + gtk graphical applications should be run without accessibility (clear the + GTK_MODULES environment variable). For building gcjwebplugin you'll need the Mozilla plugin support headers and libraries. diff --git a/libjava/classpath/LICENSE b/libjava/classpath/LICENSE index 44620dcef0c..4e3d8b86f6e 100644 --- a/libjava/classpath/LICENSE +++ b/libjava/classpath/LICENSE @@ -358,3 +358,39 @@ the following notice: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +* m4/ax_func_which_gethostbyname_r.m4 + + Copyright © 2005 Caolan McNamara + Copyright © 2005 Daniel Richard G. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + USA. + + As a special exception, the respective Autoconf Macro's copyright + owner gives unlimited permission to copy, distribute and modify the + configure scripts that are the output of Autoconf when processing the + Macro. You need not follow the terms of the GNU General Public License + when using or distributing such scripts, even though portions of the + text of the Macro appear in them. The GNU General Public License + (GPL) does govern all other use of the material that constitutes the + Autoconf Macro. + + This special exception to the GPL applies to versions of the + Autoconf Macro released by the Autoconf Macro Archive. When you make + and distribute a modified version of the Autoconf Macro, you may + extend this special exception to the GPL to apply to your modified + version as well. diff --git a/libjava/classpath/Makefile.am b/libjava/classpath/Makefile.am index 82e97dbde7f..59cc3c0733b 100644 --- a/libjava/classpath/Makefile.am +++ b/libjava/classpath/Makefile.am @@ -10,7 +10,7 @@ ACLOCAL_AMFLAGS = -I m4 -I ../.. -I ../../config native: lib EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \ - ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 \ + ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 ChangeLog-2006 \ ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \ autogen.sh diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in index 11fb52df541..cbec75149dd 100644 --- a/libjava/classpath/Makefile.in +++ b/libjava/classpath/Makefile.in @@ -66,6 +66,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ @@ -117,6 +118,8 @@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -181,10 +184,10 @@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -192,7 +195,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -214,6 +216,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -353,7 +356,7 @@ SUBDIRS = lib doc external include native resource scripts tools $(EXAMPLESDIR) DIST_SUBDIRS = lib doc external include native resource scripts tools examples ACLOCAL_AMFLAGS = -I m4 -I ../.. -I ../../config EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \ - ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 \ + ChangeLog-2003 ChangeLog-2004 ChangeLog-2005 ChangeLog-2006 \ ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj \ autogen.sh diff --git a/libjava/classpath/NEWS b/libjava/classpath/NEWS index 0ebecf396a0..85630ffab3c 100644 --- a/libjava/classpath/NEWS +++ b/libjava/classpath/NEWS @@ -1,9 +1,51 @@ -New in release 0.94 (UNRELEASED) - -* The ASM library is now included. A separate copy is no longer needed. +New in release 0.95 (Apr 23, 2007) +* Full merge of 1.5 generics work. +* Added 1.6 java.util.ServiceLoader support. +* The ASM library is now included. A separate copy is no longer + needed. gjavah works out of the box now. * The setReadTimeout and getReadTimeout methods have been added to - java.net.URLConnection. They are now fully implemented for http URLs. + java.net.URLConnection. They are now fully implemented for http URLs. +* The java.lang.management implementation now includes the new features + added in 1.6 +* java.util.TimeZone now reads time zone information from the system + zoneinfo files (see also runtime interface changes below). +* The collection classes have been updated to support all the 1.6 + additions. +* java.util.spi 1.6 package has been added and is used in java.text. +* Bootstrappable with OpenJDK javac compiler + (use configure --with-javac). +* Large speedups (and locking behaviour updated) in Graphics2D cairo + and freetype support. +* Better detection of browser plugin mechanism for mozilla, iceweasel, + firefox on various platforms. +* Inclusion of generic javadoc classes in tools.zip to support more + javadoc processing tools. +* Added documentation for command lines options for the included GNU + Classpath Tools gjar, gjavah, gnative2ascii, gorbd, grmid, + grmiregistry, gserialver and gtnameserv. + +Runtime interface changes: + +* gnu.java.lang.management.VMThreadMXBeanImpl has gained three new + optional native methods to allow the 1.6 version of the threading + bean to be supported. One (getMonitorInfo) fills in information + about object monitor locks held by a thread and is only required + if the monitoring of object monitor locks is supported by the VM. + The other two (findDeadlockedThreads and getLockInfo) are related + to ownable synchronizers (part of the java.util.concurrent suite) + and only required if monitoring of locks relating to these is + supported by the VM. +* java.util.VMTimeZone and java.util.TimeZone have been refactored + to simplify the reference implementation. VMTimeZone.readtzFile() + and VMTimeZone.skipFully() have been removed, and a new method + VMTimeZone.readSysconfigClockFile() has been introduced. +* VMs need to set the system property "gnu.java.util.zoneinfo.dir" + to point to the directory where zoneinfo files live. In libgcj + this is set to the value of the TZDATA environment variable, or + "/usr/share/zoneinfo" if this is not set. +* VMFile has been extended to support new 1.6 methods (canExecute, + setReadable, setWritable, setExecutable). New in release 0.93 (Dec 8, 2006) diff --git a/libjava/classpath/aclocal.m4 b/libjava/classpath/aclocal.m4 index 7544f03b059..aca1c3cf573 100644 --- a/libjava/classpath/aclocal.m4 +++ b/libjava/classpath/aclocal.m4 @@ -11,6405 +11,6 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 48 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[ac_outfile=conftest.$ac_objext -printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'`; fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - printf "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. - if test "$GCC" = yes; then - sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` - else - sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' - fi - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -kfreebsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - freebsd*) # from 4.6 on - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix3*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # find out which ABI we are using - libsuff= - case "$host_cpu" in - x86_64*|s390x*|powerpc64*) - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *64-bit*) - libsuff=64 - sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" - ;; - esac - fi - rm -rf conftest* - ;; - esac - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff} $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -knetbsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='GNU ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognise shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognise a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix3*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}\n' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;\n" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The C++ compiler is used as linker so we must use $wl - # flag to pass the commands to the underlying system - # linker. We must also pass each convience library through - # to the system linker between allextract/defaultextract. - # The C++ compiler will combine linker options so we - # cannot just pass the convience library names through - # without $wl. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 1996 -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -gcc_dir=\`gcc -print-file-name=. | $SED 's,/\.$,,'\` -gcc_ver=\`gcc -dumpversion\` - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=\`echo $lt_[]_LT_AC_TAGVAR(predep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=\`echo $lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=\`echo $lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=\`echo $lt_sys_lib_search_path_spec | \$SED -e "s@\${gcc_dir}@\\\${gcc_dir}@g;s@\${gcc_ver}@\\\${gcc_ver}@g"\` - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | kfreebsd*-gnu | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix3*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux*) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - case $host_os in - cygwin* | mingw* | pw32*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix3*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - linux*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | kfreebsd*-gnu | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine linker options so we - # cannot just pass the convience library names through - # without $wl, iff we do not link with $LD. - # Luckily, gcc supports the same syntax we need for Sun Studio. - # Supported since Solaris 2.6 (maybe 2.5.1?) - case $wlarc in - '') - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; - esac ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - printf "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - # Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -6948,6 +549,34 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) +# Copyright (C) 1999, 2000, 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +]) + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 @@ -7284,6 +913,7 @@ m4_include([m4/acattribute.m4]) m4_include([m4/accross.m4]) m4_include([m4/acinclude.m4]) m4_include([m4/ax_create_stdint_h.m4]) +m4_include([m4/ax_func_which_gethostbyname_r.m4]) m4_include([m4/gcc_attribute.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) diff --git a/libjava/classpath/autogen.sh b/libjava/classpath/autogen.sh index 9919d15b4b5..eb94e2258b3 100755 --- a/libjava/classpath/autogen.sh +++ b/libjava/classpath/autogen.sh @@ -38,17 +38,14 @@ have_autoconf=false if autoconf --version < /dev/null > /dev/null 2>&1 ; then autoconf_version=`autoconf --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` case $autoconf_version in - 2.59*) - have_autoconf=true - ;; - 2.60*) + 2.59* | 2.6[0-9]* ) have_autoconf=true ;; esac fi if $have_autoconf ; then : ; else echo - echo "You must have autoconf 2.59 or 2.60 installed for $PROJECT." + echo "You must have autoconf 2.59 or later installed for $PROJECT." echo "Install the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/" DIE=1 @@ -65,14 +62,14 @@ elif automake --version < /dev/null > /dev/null 2>&1 ; then ACLOCAL=aclocal automake_version=`automake --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` case $automake_version in - 1.9*) + 1.9* | 1.10*) have_automake=true ;; esac fi if $have_automake ; then : ; else echo - echo "You must have automake 1.9 installed to compile $PROJECT." + echo "You must have automake 1.9 or 1.10 installed to compile $PROJECT." echo "Install the appropriate package for your distribution," echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" DIE=1 diff --git a/libjava/classpath/config.guess b/libjava/classpath/config.guess index 2fc3acce2ea..2b03b482280 100755 --- a/libjava/classpath/config.guess +++ b/libjava/classpath/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-17' +timestamp='2006-12-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,13 +18,15 @@ timestamp='2003-06-17' # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. @@ -53,7 +56,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -66,11 +69,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -104,7 +107,7 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; @@ -123,7 +126,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ;' +esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) @@ -136,13 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -## for Red Hat Linux -if test -f /etc/redhat-release ; then - VENDOR=redhat ; -else - VENDOR= ; -fi - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -165,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -203,50 +200,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" - exit 0 ;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - macppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvmeppc:OpenBSD:*:*) - echo powerpc-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mipseb-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sun3:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + exit ;; *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -284,42 +263,49 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha*:OpenVMS:*:*) - echo alpha-hp-vms - exit 0 ;; + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix - exit 0 ;; + exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 - exit 0 ;; + exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 - exit 0;; + exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; + exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos - exit 0 ;; + exit ;; *:OS/390:*:*) echo i370-ibm-openedition - exit 0 ;; + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp - exit 0;; + exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then @@ -327,32 +313,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in else echo pyramid-pyramid-bsd fi - exit 0 ;; + exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 - exit 0 ;; + exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 - exit 0 ;; - DRS?6000:UNIX_SV:4.2*:7*) + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7 && exit 0 ;; + sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) @@ -361,10 +347,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; + exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 @@ -376,10 +362,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in echo sparc-sun-sunos${UNAME_RELEASE} ;; esac - exit 0 ;; + exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; + exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -390,37 +376,40 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; + exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 - exit 0 ;; + exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; + exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; + exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -444,32 +433,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit (-1); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c \ - && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; + exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax - exit 0 ;; + exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax - exit 0 ;; + exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix - exit 0 ;; + exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 - exit 0 ;; + exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 - exit 0 ;; + exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` @@ -485,29 +475,29 @@ EOF else echo i586-dg-dgux${UNAME_RELEASE} fi - exit 0 ;; + exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 - exit 0 ;; + exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 - exit 0 ;; + exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 - exit 0 ;; + exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd - exit 0 ;; + exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; + exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix - exit 0 ;; + exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` @@ -515,7 +505,7 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build @@ -530,14 +520,18 @@ EOF exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 - echo rs6000-ibm-aix3.2.5 + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi - exit 0 ;; + exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then @@ -551,28 +545,28 @@ EOF IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; + exit ;; *:AIX:*:*) echo rs6000-ibm-aix - exit 0 ;; + exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 - exit 0 ;; + exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 + exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx - exit 0 ;; + exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 - exit 0 ;; + exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd - exit 0 ;; + exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 - exit 0 ;; + exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in @@ -634,9 +628,19 @@ EOF esac if [ ${HP_ARCH} = "hppa2.0w" ] then - # avoid double evaluation of $set_cc_for_build - test -n "$CC_FOR_BUILD" || eval $set_cc_for_build - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else @@ -644,11 +648,11 @@ EOF fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; + exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -676,150 +680,179 @@ EOF exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 - exit 0 ;; + exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd - exit 0 ;; + exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd - exit 0 ;; + exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix - exit 0 ;; + exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf - exit 0 ;; + exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf - exit 0 ;; + exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi - exit 0 ;; + exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites - exit 0 ;; + exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd - exit 0 ;; + exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd - exit 0 ;; + exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd - exit 0 ;; + exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd - exit 0 ;; + exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + exit ;; *:UNICOS/mp:*:*) - echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; + exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*|*:GNU/FreeBSD:*:*) - # Determine whether the default compiler uses glibc. - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #if __GLIBC__ >= 2 - LIBC=gnu - #else - LIBC= - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} - exit 0 ;; + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; + exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit 0 ;; + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks - exit 0 ;; + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix - exit 0 ;; + exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin - exit 0 ;; + exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; + exit ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; + exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu - exit 0 ;; + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -836,8 +869,12 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -855,15 +892,22 @@ EOF #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; ppc:Linux:*:*) - echo powerpc-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc-unknown-linux-gnu + exit ;; ppc64:Linux:*:*) - echo powerpc64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo powerpc64-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -877,7 +921,7 @@ EOF objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -885,25 +929,31 @@ EOF PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac - exit 0 ;; + exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu - exit 0 ;; + exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu - exit 0 ;; + echo ${UNAME_MACHINE}-ibm-linux + exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) - echo x86_64-${VENDOR:-unknown}-linux-gnu - exit 0 ;; + echo x86_64-unknown-linux-gnu + exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -921,15 +971,15 @@ EOF ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 ;; + exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 ;; + exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit 0 ;; + exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -946,23 +996,33 @@ EOF LIBC=gnulibc1 # endif #else - #ifdef __INTEL_COMPILER + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0 - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 - exit 0 ;; + exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... @@ -970,24 +1030,27 @@ EOF # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; + exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop - exit 0 ;; + exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos - exit 0 ;; + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; + exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -995,15 +1058,16 @@ EOF else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi - exit 0 ;; - i*86:*:5:[78]*) + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit 0 ;; + exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi - exit 0 ;; + exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv - exit 0 ;; + exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv - exit 0 ;; + exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; + && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 - exit 0 ;; + exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; + exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; + exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 - exit 0 ;; + exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` @@ -1095,68 +1159,78 @@ EOF else echo ns32k-sni-sysv fi - exit 0 ;; + exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 - exit 0 ;; + exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 - exit 0 ;; + exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 - exit 0 ;; + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos - exit 0 ;; + exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; + exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 - exit 0 ;; + exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi - exit 0 ;; + exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos - exit 0 ;; + exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos - exit 0 ;; + exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos - exit 0 ;; + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} - exit 0 ;; + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Darwin:*:*) - case `uname -p` in - *86) UNAME_PROCESSOR=i686 ;; - powerpc) UNAME_PROCESSOR=powerpc ;; + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit 0 ;; + exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then @@ -1164,22 +1238,25 @@ EOF UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit 0 ;; + exit ;; *:QNX:*:4*) echo i386-pc-qnx - exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux - exit 0 ;; + exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv - exit 0 ;; + exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; + exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 @@ -1190,28 +1267,47 @@ EOF UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; + exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 - exit 0 ;; + exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex - exit 0 ;; + exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 - exit 0 ;; + exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 - exit 0 ;; + exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 - exit 0 ;; + exit ;; *:ITS:*:*) echo pdp10-unknown-its - exit 0 ;; + exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} - exit 0 ;; + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1243,7 +1339,7 @@ main () #endif #if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); + printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) @@ -1332,11 +1428,12 @@ main () } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) @@ -1345,22 +1442,22 @@ then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd - exit 0 ;; + exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi - exit 0 ;; + exit ;; c34*) echo c34-convex-bsd - exit 0 ;; + exit ;; c38*) echo c38-convex-bsd - exit 0 ;; + exit ;; c4*) echo c4-convex-bsd - exit 0 ;; + exit ;; esac fi @@ -1371,7 +1468,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - ftp://ftp.gnu.org/pub/gnu/config/ + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +and + http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub index 6b2ff9f6a7a..b91a4bc4f29 100755 --- a/libjava/classpath/config.sub +++ b/libjava/classpath/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. -timestamp='2003-06-18' +timestamp='2006-12-08' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,14 +22,15 @@ timestamp='2003-06-18' # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. + # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # @@ -70,7 +72,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO @@ -83,11 +85,11 @@ Try \`$me --help' for more information." while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; + echo "$timestamp" ; exit ;; --version | -v ) - echo "$version" ; exit 0 ;; + echo "$version" ; exit ;; --help | --h* | -h ) - echo "$usage"; exit 0 ;; + echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -99,7 +101,7 @@ while test $# -gt 0 ; do *local*) # First pass through any local machine types. echo $1 - exit 0;; + exit ;; * ) break ;; @@ -118,7 +120,9 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -144,7 +148,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) + -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; @@ -169,6 +173,10 @@ case $os in -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -185,6 +193,10 @@ case $os in # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -228,14 +240,18 @@ case $basic_machine in | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -244,28 +260,33 @@ case $basic_machine in | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | mt \ | msp430 \ + | nios | nios2 \ | ns16k | ns32k \ - | openrisc | or32 \ + | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | s390 | s390x \ - | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xstormy16 | xtensa \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; @@ -276,6 +297,9 @@ case $basic_machine in ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -295,21 +319,22 @@ case $basic_machine in | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ - | bs2000-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | cydra-* \ + | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mep-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ @@ -317,31 +342,36 @@ case $basic_machine in | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ | msp430-* \ - | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | s390-* | s390x-* \ - | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ - | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; @@ -361,6 +391,9 @@ case $basic_machine in basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -378,6 +411,9 @@ case $basic_machine in amd64) basic_machine=x86_64-pc ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -437,12 +473,27 @@ case $basic_machine in basic_machine=j90-cray os=-unicos ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -465,6 +516,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx @@ -643,10 +698,6 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; monitor) basic_machine=m68k-rom68k os=-coff @@ -659,6 +710,9 @@ case $basic_machine in basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -727,10 +781,6 @@ case $basic_machine in np1) basic_machine=np1-gould ;; - nv1) - basic_machine=nv1-cray - os=-unicosmp - ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -738,9 +788,12 @@ case $basic_machine in basic_machine=hppa1.1-oki os=-proelf ;; - or32 | or32-*) + openrisc | openrisc-*) basic_machine=or32-unknown - os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson @@ -767,6 +820,12 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -823,6 +882,10 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -833,6 +896,12 @@ case $basic_machine in rtpc | rtpc-*) basic_machine=romp-ibm ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; sa29200) basic_machine=a29k-amd os=-udi @@ -843,6 +912,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -854,6 +927,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -956,6 +1032,10 @@ case $basic_machine in tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -999,6 +1079,10 @@ case $basic_machine in basic_machine=hppa1.1-winbond os=-proelf ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1029,6 +1113,9 @@ case $basic_machine in romp) basic_machine=romp-ibm ;; + mmix) + basic_machine=mmix-knuth + ;; rs6000) basic_machine=rs6000-ibm ;; @@ -1045,13 +1132,10 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sh64) - basic_machine=sh64-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1124,19 +1208,23 @@ case $os in | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei*) + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1154,12 +1242,15 @@ case $os in os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1172,6 +1263,9 @@ case $os in -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1193,6 +1287,9 @@ case $os in -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1215,6 +1312,9 @@ case $os in -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1251,6 +1351,9 @@ case $os in -kaos*) os=-kaos ;; + -zvmoe) + os=-zvmoe + ;; -none) ;; *) @@ -1273,6 +1376,12 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1282,8 +1391,8 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff + c4x-* | tic4x-*) + os=-coff ;; # This must come before the *-dec entry. pdp10-*) @@ -1328,9 +1437,15 @@ case $basic_machine in *-be) os=-beos ;; + *-haiku) + os=-haiku + ;; *-ibm) os=-aix ;; + *-knuth) + os=-mmixware + ;; *-wec) os=-proelf ;; @@ -1463,9 +1578,15 @@ case $basic_machine in -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; @@ -1490,7 +1611,7 @@ case $basic_machine in esac echo $basic_machine$os -exit 0 +exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/libjava/classpath/configure b/libjava/classpath/configure index f33e4358b01..aab12bb9e36 100755 --- a/libjava/classpath/configure +++ b/libjava/classpath/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for GNU Classpath 0.94-pre. +# Generated by GNU Autoconf 2.59 for GNU Classpath 0.95. # # Report bugs to . # @@ -418,8 +418,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='GNU Classpath' PACKAGE_TARNAME='classpath' -PACKAGE_VERSION='0.94-pre' -PACKAGE_STRING='GNU Classpath 0.94-pre' +PACKAGE_VERSION='0.95' +PACKAGE_STRING='GNU Classpath 0.95' PACKAGE_BUGREPORT='classpath@gnu.org' ac_unique_file="java/lang/System.java" @@ -461,7 +461,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE GENINSRC_TRUE GENINSRC_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM AR ac_ct_AR RANLIB ac_ct_RANLIB lt_ECHO CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY ECJ_JAR JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE GENINSRC_TRUE GENINSRC_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN NM AR ac_ct_AR RANLIB ac_ct_RANLIB lt_ECHO CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS CAIRO_CFLAGS CAIRO_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC ECJ JAVAC FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_JAVAC_TRUE FOUND_JAVAC_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY ECJ_JAR JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -942,7 +942,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Classpath 0.94-pre to adapt to many kinds of systems. +\`configure' configures GNU Classpath 0.95 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1013,7 +1013,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Classpath 0.94-pre:";; + short | recursive ) echo "Configuration of GNU Classpath 0.95:";; esac cat <<\_ACEOF @@ -1100,8 +1100,8 @@ Optional Packages: --with-gcj bytecode compilation with gcj --with-jikes bytecode compilation with jikes --with-kjc bytecode compilation with kjc - --with-gcjx bytecode compilation with gcjx --with-ecj bytecode compilation with ecj + --with-javac bytecode compilation with javac --with-classpath specify path to a classes.zip like file --with-vm-classes specify path to VM override source files --with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java @@ -1227,7 +1227,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -GNU Classpath configure 0.94-pre +GNU Classpath configure 0.95 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1241,7 +1241,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Classpath $as_me 0.94-pre, which was +It was created by GNU Classpath $as_me 0.95, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -2076,7 +2076,7 @@ fi # Define the identity of the package. PACKAGE='classpath' - VERSION='0.94-pre' + VERSION='0.95' cat >>confdefs.h <<_ACEOF @@ -11859,6 +11859,109 @@ else fi +if test "x$CC" != xcc; then + echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 +else + echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 +fi +set dummy $CC; ac_cc=`echo $2 | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5' +if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' + if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -15084,11 +15187,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15087: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15190: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15091: \$? = $ac_status" >&5 + echo "$as_me:15194: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -15183,11 +15286,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15186: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15289: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15190: \$? = $ac_status" >&5 + echo "$as_me:15293: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15235,11 +15338,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15238: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15341: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15242: \$? = $ac_status" >&5 + echo "$as_me:15345: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17168,6 +17271,7 @@ rm -f conftest* + for ac_func in ftruncate fsync select \ @@ -17182,7 +17286,7 @@ for ac_func in ftruncate fsync select \ lstat readlink \ inet_aton inet_addr inet_pton \ getifaddrs kqueue kevent epoll_create \ - readdir_r + readdir_r getloadavg do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -18014,6 +18118,77 @@ _ACEOF fi + echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + echo "$as_me:$LINENO: checking for __attribute__" >&5 echo $ECHO_N "checking for __attribute__... $ECHO_C" >&6 if test "${ac_cv_c_attribute+set}" = set; then @@ -18077,6 +18252,325 @@ esac + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + echo "$as_me:$LINENO: checking how many arguments gethostbyname_r() takes" >&5 +echo $ECHO_N "checking how many arguments gethostbyname_r() takes... $ECHO_C" >&6 + + if test "${ac_cv_func_which_gethostbyname_r+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + +################################################################ + +ac_cv_func_which_gethostbyname_r=unknown + +# +# ONE ARGUMENT (sanity check) +# + +# This should fail, as there is no variant of gethostbyname_r() that takes +# a single argument. If it actually compiles, then we can assume that +# netdb.h is not declaring the function, and the compiler is thereby +# assuming an implicit prototype. In which case, we're out of luck. +# +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + (void)gethostbyname_r(name) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=no +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +# +# SIX ARGUMENTS +# (e.g. Linux) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret, *retp; + char buf[1024]; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &retp, &my_h_errno) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=six +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +# +# FIVE ARGUMENTS +# (e.g. Solaris) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret; + char buf[1024]; + int buflen = 1024; + int my_h_errno; + (void)gethostbyname_r(name, &ret, buf, buflen, &my_h_errno) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=five +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +# +# THREE ARGUMENTS +# (e.g. AIX, HP-UX, Tru64) +# + +if test "$ac_cv_func_which_gethostbyname_r" = "unknown"; then + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + char *name = "www.gnu.org"; + struct hostent ret; + struct hostent_data data; + (void)gethostbyname_r(name, &ret, &data) /* ; */ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_which_gethostbyname_r=three +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +fi + +################################################################ + + +fi + +case "$ac_cv_func_which_gethostbyname_r" in + three) + echo "$as_me:$LINENO: result: three" >&5 +echo "${ECHO_T}three" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_3 1 +_ACEOF + + ;; + + five) + echo "$as_me:$LINENO: result: five" >&5 +echo "${ECHO_T}five" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_5 1 +_ACEOF + + ;; + + six) + echo "$as_me:$LINENO: result: six" >&5 +echo "${ECHO_T}six" >&6 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_FUNC_GETHOSTBYNAME_R_6 1 +_ACEOF + + ;; + + no) + echo "$as_me:$LINENO: result: cannot find function declaration in netdb.h" >&5 +echo "${ECHO_T}cannot find function declaration in netdb.h" >&6 + ;; + + unknown) + echo "$as_me:$LINENO: result: can't tell" >&5 +echo "${ECHO_T}can't tell" >&6 + ;; + + *) + { { echo "$as_me:$LINENO: error: internal error" >&5 +echo "$as_me: error: internal error" >&2;} + { (exit 1); exit 1; }; } + ;; +esac + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else @@ -19187,7 +19681,7 @@ ac_x_header_dirs=' /usr/openwin/share/include' if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. + # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -19195,7 +19689,7 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 @@ -19222,7 +19716,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then + if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi @@ -19236,7 +19730,7 @@ if test "$ac_x_libraries" = no; then # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" + LIBS="-lXt $LIBS" if test x$gcc_no_link = xyes; then { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5 echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;} @@ -19248,11 +19742,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include +#include int main () { -XrmInitialize () +XtMalloc (0) ; return 0; } @@ -20937,6 +21431,104 @@ echo "$as_me: error: Library requirements (pangoft2) not met; consider adjusting { (exit 1); exit 1; }; } fi + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for cairo >= 1.1.8" >&5 +echo $ECHO_N "checking for cairo >= 1.1.8... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "cairo >= 1.1.8" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking CAIRO_CFLAGS" >&5 +echo $ECHO_N "checking CAIRO_CFLAGS... $ECHO_C" >&6 + CAIRO_CFLAGS=`$PKG_CONFIG --cflags "cairo >= 1.1.8"` + echo "$as_me:$LINENO: result: $CAIRO_CFLAGS" >&5 +echo "${ECHO_T}$CAIRO_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking CAIRO_LIBS" >&5 +echo $ECHO_N "checking CAIRO_LIBS... $ECHO_C" >&6 + CAIRO_LIBS=`$PKG_CONFIG --libs "cairo >= 1.1.8"` + echo "$as_me:$LINENO: result: $CAIRO_LIBS" >&5 +echo "${ECHO_T}$CAIRO_LIBS" >&6 + else + CAIRO_CFLAGS="" + CAIRO_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "cairo >= 1.1.8"` + echo $CAIRO_PKG_ERRORS + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + { { echo "$as_me:$LINENO: error: Library requirements (cairo >= 1.1.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (cairo >= 1.1.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } + fi + echo "$as_me:$LINENO: checking for XRenderQueryExtension in -lXrender" >&5 echo $ECHO_N "checking for XRenderQueryExtension in -lXrender... $ECHO_C" >&6 if test "${ac_cv_lib_Xrender_XRenderQueryExtension+set}" = set; then @@ -21161,23 +21753,23 @@ fi else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo "$as_me:$LINENO: checking for gconf-2.0 >= 2.11.2" >&5 -echo $ECHO_N "checking for gconf-2.0 >= 2.11.2... $ECHO_C" >&6 + echo "$as_me:$LINENO: checking for gconf-2.0 >= 2.6.0" >&5 +echo $ECHO_N "checking for gconf-2.0 >= 2.6.0... $ECHO_C" >&6 - if $PKG_CONFIG --exists "gconf-2.0 >= 2.11.2" ; then + if $PKG_CONFIG --exists "gconf-2.0 >= 2.6.0" ; then echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 succeeded=yes echo "$as_me:$LINENO: checking GCONF_CFLAGS" >&5 echo $ECHO_N "checking GCONF_CFLAGS... $ECHO_C" >&6 - GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.11.2"` + GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.6.0"` echo "$as_me:$LINENO: result: $GCONF_CFLAGS" >&5 echo "${ECHO_T}$GCONF_CFLAGS" >&6 echo "$as_me:$LINENO: checking GCONF_LIBS" >&5 echo $ECHO_N "checking GCONF_LIBS... $ECHO_C" >&6 - GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.11.2"` + GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.6.0"` echo "$as_me:$LINENO: result: $GCONF_LIBS" >&5 echo "${ECHO_T}$GCONF_LIBS" >&6 else @@ -21185,7 +21777,7 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 GCONF_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. - GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.11.2"` + GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.6.0"` echo $GCONF_PKG_ERRORS fi @@ -21200,8 +21792,8 @@ echo "${ECHO_T}$GCONF_LIBS" >&6 if test $succeeded = yes; then : else - { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 >= 2.11.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 -echo "$as_me: error: Library requirements (gconf-2.0 >= 2.11.2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { { echo "$as_me:$LINENO: error: Library requirements (gconf-2.0 >= 2.6.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (gconf-2.0 >= 2.6.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} { (exit 1); exit 1; }; } fi @@ -22211,6 +22803,110 @@ echo "${ECHO_T}$MOZILLA_LIBS" >&6 fi fi + if test "x${MOZILLA_FOUND}" = xno; then + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for iceape-plugin iceape-xpcom" >&5 +echo $ECHO_N "checking for iceape-plugin iceape-xpcom... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "iceape-plugin iceape-xpcom" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking MOZILLA_CFLAGS" >&5 +echo $ECHO_N "checking MOZILLA_CFLAGS... $ECHO_C" >&6 + MOZILLA_CFLAGS=`$PKG_CONFIG --cflags "iceape-plugin iceape-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_CFLAGS" >&5 +echo "${ECHO_T}$MOZILLA_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking MOZILLA_LIBS" >&5 +echo $ECHO_N "checking MOZILLA_LIBS... $ECHO_C" >&6 + MOZILLA_LIBS=`$PKG_CONFIG --libs "iceape-plugin iceape-xpcom"` + echo "$as_me:$LINENO: result: $MOZILLA_LIBS" >&5 +echo "${ECHO_T}$MOZILLA_LIBS" >&6 + else + MOZILLA_CFLAGS="" + MOZILLA_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + MOZILLA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "iceape-plugin iceape-xpcom"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + MOZILLA_FOUND=yes + else + MOZILLA_FOUND=no + fi + + fi + if test "x${MOZILLA_FOUND}" = xno; then + { { echo "$as_me:$LINENO: error: Couldn't find plugin support headers and libraries, try --disable-plugin" >&5 +echo "$as_me: error: Couldn't find plugin support headers and libraries, try --disable-plugin" >&2;} + { (exit 1); exit 1; }; } + fi + succeeded=no @@ -22310,6 +23006,106 @@ echo "$as_me: error: Library requirements (glib-2.0) not met; consider adjusting fi + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG + +if test -n "$PKG_CONFIG"; then + echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo "$as_me:$LINENO: checking for gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0" >&5 +echo $ECHO_N "checking for gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0... $ECHO_C" >&6 + + if $PKG_CONFIG --exists "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0" ; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + succeeded=yes + + echo "$as_me:$LINENO: checking GTK_CFLAGS" >&5 +echo $ECHO_N "checking GTK_CFLAGS... $ECHO_C" >&6 + GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo "$as_me:$LINENO: result: $GTK_CFLAGS" >&5 +echo "${ECHO_T}$GTK_CFLAGS" >&6 + + echo "$as_me:$LINENO: checking GTK_LIBS" >&5 +echo $ECHO_N "checking GTK_LIBS... $ECHO_C" >&6 + GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo "$as_me:$LINENO: result: $GTK_LIBS" >&5 +echo "${ECHO_T}$GTK_LIBS" >&6 + else + GTK_CFLAGS="" + GTK_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0"` + echo $GTK_PKG_ERRORS + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + : + else + { { echo "$as_me:$LINENO: error: Library requirements (gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements (gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } + fi + + + + @@ -23704,286 +24500,6 @@ fi; -# Check whether --with-gcjx or --without-gcjx was given. -if test "${with_gcjx+set}" = set; then - withval="$with_gcjx" - - if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then - - if test "x${withval}" != x; then - if test -f "${withval}"; then - GCJX="${withval}" - else - # Extract the first word of ""${withval}"", so it can be a program name with args. -set dummy "${withval}"; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - - else - if test "x${withval}" != xno; then - - if test "x" != x; then - if test -f ""; then - GCJX="" - else - # Extract the first word of """", so it can be a program name with args. -set dummy ""; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - - fi - fi - user_specified_javac=gcjx - -else - - - if test "x" != x; then - if test -f ""; then - GCJX="" - else - # Extract the first word of """", so it can be a program name with args. -set dummy ""; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - else - # Extract the first word of ""gcjx"", so it can be a program name with args. -set dummy "gcjx"; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_path_GCJX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GCJX in - [\\/]* | ?:[\\/]*) - ac_cv_path_GCJX="$GCJX" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GCJX="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - ;; -esac -fi -GCJX=$ac_cv_path_GCJX - -if test -n "$GCJX"; then - echo "$as_me:$LINENO: result: $GCJX" >&5 -echo "${ECHO_T}$GCJX" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - fi - - -fi; - - - - # Check whether --with-ecj or --without-ecj was given. if test "${with_ecj+set}" = set; then withval="$with_ecj" @@ -24263,6 +24779,286 @@ fi; + +# Check whether --with-javac or --without-javac was given. +if test "${with_javac+set}" = set; then + withval="$with_javac" + + if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then + + if test "x${withval}" != x; then + if test -f "${withval}"; then + JAVAC="${withval}" + else + # Extract the first word of ""${withval}"", so it can be a program name with args. +set dummy "${withval}"; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + else + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + else + if test "x${withval}" != xno; then + + if test "x" != x; then + if test -f ""; then + JAVAC="" + else + # Extract the first word of """", so it can be a program name with args. +set dummy ""; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + else + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + fi + fi + user_specified_javac=javac + +else + + + if test "x" != x; then + if test -f ""; then + JAVAC="" + else + # Extract the first word of """", so it can be a program name with args. +set dummy ""; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + else + # Extract the first word of ""javac"", so it can be a program name with args. +set dummy "javac"; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_JAVAC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $JAVAC in + [\\/]* | ?:[\\/]*) + ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +JAVAC=$ac_cv_path_JAVAC + +if test -n "$JAVAC"; then + echo "$as_me:$LINENO: result: $JAVAC" >&5 +echo "${ECHO_T}$JAVAC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + fi + + +fi; + + + if test "x${user_specified_javac}" = x; then @@ -24294,6 +25090,16 @@ else FOUND_ECJ_FALSE= fi + + +if test "x${JAVAC}" != x; then + FOUND_JAVAC_TRUE= + FOUND_JAVAC_FALSE='#' +else + FOUND_JAVAC_TRUE='#' + FOUND_JAVAC_FALSE= +fi + else @@ -24325,6 +25131,16 @@ else FOUND_ECJ_FALSE= fi + + +if test "x${user_specified_javac}" = xjavac; then + FOUND_JAVAC_TRUE= + FOUND_JAVAC_FALSE='#' +else + FOUND_JAVAC_TRUE='#' + FOUND_JAVAC_FALSE= +fi + fi @@ -24337,19 +25153,9 @@ else fi - -if test "x${user_specified_javac}" = xgcjx; then - FOUND_GCJX_TRUE= - FOUND_GCJX_FALSE='#' -else - FOUND_GCJX_TRUE='#' - FOUND_GCJX_FALSE= -fi - - - if test "x${GCJ}" = x && test "x${JIKES}" = x && test "x${user_specified_javac}" != xkjc && test "x${user_specified_javac}" != xgcjx && test "x${user_specified_javac}" != xecj; then - { { echo "$as_me:$LINENO: error: cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx" >&5 -echo "$as_me: error: cannot find javac, try --with-gcj, --with-jikes, --with-kjc, --with-ecj, or --with-gcjx" >&2;} + if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then + { { echo "$as_me:$LINENO: error: cannot find javac, try --with-ecj" >&5 +echo "$as_me: error: cannot find javac, try --with-ecj" >&2;} { (exit 1); exit 1; }; } fi @@ -28582,6 +29388,13 @@ echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${FOUND_GCJ_TRUE}" && test -z "${FOUND_GCJ_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"FOUND_GCJ\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -28603,6 +29416,13 @@ echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${FOUND_KJC_TRUE}" && test -z "${FOUND_KJC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"FOUND_KJC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -28610,13 +29430,6 @@ echo "$as_me: error: conditional \"FOUND_KJC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${FOUND_GCJX_TRUE}" && test -z "${FOUND_GCJX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"FOUND_GCJX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"FOUND_GCJX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi if test -z "${USER_SPECIFIED_CLASSLIB_TRUE}" && test -z "${USER_SPECIFIED_CLASSLIB_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"USER_SPECIFIED_CLASSLIB\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -28958,7 +29771,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by GNU Classpath $as_me 0.94-pre, which was +This file was extended by GNU Classpath $as_me 0.95, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29024,7 +29837,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -GNU Classpath config.status 0.94-pre +GNU Classpath config.status 0.95 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -29791,6 +30604,8 @@ s,@FREETYPE2_CFLAGS@,$FREETYPE2_CFLAGS,;t t s,@FREETYPE2_LIBS@,$FREETYPE2_LIBS,;t t s,@PANGOFT2_CFLAGS@,$PANGOFT2_CFLAGS,;t t s,@PANGOFT2_LIBS@,$PANGOFT2_LIBS,;t t +s,@CAIRO_CFLAGS@,$CAIRO_CFLAGS,;t t +s,@CAIRO_LIBS@,$CAIRO_LIBS,;t t s,@XTEST_LIBS@,$XTEST_LIBS,;t t s,@GCONF_CFLAGS@,$GCONF_CFLAGS,;t t s,@GCONF_LIBS@,$GCONF_LIBS,;t t @@ -29813,18 +30628,18 @@ s,@JIKES@,$JIKES,;t t s,@JIKESENCODING@,$JIKESENCODING,;t t s,@JIKESWARNINGS@,$JIKESWARNINGS,;t t s,@KJC@,$KJC,;t t -s,@GCJX@,$GCJX,;t t s,@ECJ@,$ECJ,;t t +s,@JAVAC@,$JAVAC,;t t s,@FOUND_GCJ_TRUE@,$FOUND_GCJ_TRUE,;t t s,@FOUND_GCJ_FALSE@,$FOUND_GCJ_FALSE,;t t s,@FOUND_JIKES_TRUE@,$FOUND_JIKES_TRUE,;t t s,@FOUND_JIKES_FALSE@,$FOUND_JIKES_FALSE,;t t s,@FOUND_ECJ_TRUE@,$FOUND_ECJ_TRUE,;t t s,@FOUND_ECJ_FALSE@,$FOUND_ECJ_FALSE,;t t +s,@FOUND_JAVAC_TRUE@,$FOUND_JAVAC_TRUE,;t t +s,@FOUND_JAVAC_FALSE@,$FOUND_JAVAC_FALSE,;t t s,@FOUND_KJC_TRUE@,$FOUND_KJC_TRUE,;t t s,@FOUND_KJC_FALSE@,$FOUND_KJC_FALSE,;t t -s,@FOUND_GCJX_TRUE@,$FOUND_GCJX_TRUE,;t t -s,@FOUND_GCJX_FALSE@,$FOUND_GCJX_FALSE,;t t s,@USER_CLASSLIB@,$USER_CLASSLIB,;t t s,@USER_SPECIFIED_CLASSLIB_TRUE@,$USER_SPECIFIED_CLASSLIB_TRUE,;t t s,@USER_SPECIFIED_CLASSLIB_FALSE@,$USER_SPECIFIED_CLASSLIB_FALSE,;t t diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac index 39e88bed664..a751c7dd312 100644 --- a/libjava/classpath/configure.ac +++ b/libjava/classpath/configure.ac @@ -6,7 +6,7 @@ dnl ----------------------------------------------------------- dnl define([AC_CACHE_LOAD], )dnl dnl define([AC_CACHE_SAVE], )dnl -AC_INIT([GNU Classpath],[0.94-pre],[classpath@gnu.org],[classpath]) +AC_INIT([GNU Classpath],[0.95],[classpath@gnu.org],[classpath]) AC_CONFIG_SRCDIR(java/lang/System.java) dnl GCJ LOCAL @@ -72,7 +72,7 @@ CLASSPATH_CONVENIENCE="-no-undefined" AC_SUBST(CLASSPATH_CONVENIENCE) AC_PREREQ(2.59) -AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar]) +AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar -Wno-portability]) AC_CONFIG_HEADERS([include/config.h]) AC_PREFIX_DEFAULT(/usr/local/classpath) @@ -360,6 +360,7 @@ AC_DISABLE_STATIC AC_PROG_LIBTOOL dnl AC_PROG_AWK AC_PROG_CC +AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_CXX @@ -427,7 +428,7 @@ if test "x${COMPILE_JNI}" = xyes; then lstat readlink \ inet_aton inet_addr inet_pton \ getifaddrs kqueue kevent epoll_create \ - readdir_r ]) + readdir_r getloadavg]) LIBMAGIC= AC_CHECK_LIB(magic, magic_open, LIBMAGIC=-lmagic) @@ -467,7 +468,9 @@ if test "x${COMPILE_JNI}" = xyes; then [AC_MSG_RESULT(no)])])]) AC_C_CONST + AC_C_INLINE AC_C_ATTRIBUTE + AX_FUNC_WHICH_GETHOSTBYNAME_R dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV AM_ICONV @@ -521,6 +524,7 @@ if test "x${COMPILE_JNI}" = xyes; then PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) PKG_CHECK_MODULES(FREETYPE2, freetype2) PKG_CHECK_MODULES(PANGOFT2, pangoft2) + PKG_CHECK_MODULES(CAIRO, cairo >= 1.1.8) dnl Check if we can link against the XRender library and set dnl HAVE_XRENDER accordingly. AC_CHECK_LIB([Xrender], [XRenderQueryExtension], @@ -546,7 +550,7 @@ if test "x${COMPILE_JNI}" = xyes; then dnl gconf-peer if test "x${COMPILE_GCONF_PEER}" = xyes; then - PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.11.2) + PKG_CHECK_MODULES(GCONF, gconf-2.0 >= 2.6.0) AC_SUBST(GCONF_CFLAGS) AC_SUBST(GCONF_LIBS) dnl we also need gdk for locking @@ -649,12 +653,22 @@ if test "x${COMPILE_JNI}" = xyes; then if test "x${MOZILLA_FOUND}" = xno; then PKG_CHECK_MODULES(MOZILLA, seamonkey-plugin seamonkey-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) fi + if test "x${MOZILLA_FOUND}" = xno; then + PKG_CHECK_MODULES(MOZILLA, iceape-plugin iceape-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no]) + fi + if test "x${MOZILLA_FOUND}" = xno; then + AC_MSG_ERROR([Couldn't find plugin support headers and libraries, try --disable-plugin]) + fi + PKG_CHECK_MODULES(GLIB, glib-2.0) + PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8 gthread-2.0 >= 2.2 gdk-pixbuf-2.0) AC_SUBST(MOZILLA_CFLAGS) AC_SUBST(MOZILLA_LIBS) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) AC_SUBST(PLUGIN_DIR, $HOME/.mozilla/plugins/) fi diff --git a/libjava/classpath/depcomp b/libjava/classpath/depcomp index 27a0ef7029a..ca5ea4e1ef9 100755 --- a/libjava/classpath/depcomp +++ b/libjava/classpath/depcomp @@ -1,7 +1,10 @@ #! /bin/sh - # depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 Free Software Foundation, Inc. + +scriptversion=2006-10-15.18 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software +# Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,22 +28,45 @@ # Originally written by Alexandre Oliva . +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi -# `libtool' can also be set to `yes' or `no'. - -if test -z "$depfile"; then - base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` - dir=`echo "$object" | sed 's,/.*$,/,'` - if test "$dir" = "$object"; then - dir= - fi - # FIXME: should be _deps on DOS. - depfile="$dir.deps/$base" -fi +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" @@ -66,7 +92,20 @@ gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -172,19 +211,25 @@ sgi) aix) # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" - outname="$stripped.o" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi - stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + if test $stat -eq 0; then : else rm -f "$tmpdepfile" @@ -192,6 +237,7 @@ aix) fi if test -f "$tmpdepfile"; then + outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. @@ -206,6 +252,84 @@ aix) rm -f "$tmpdepfile" ;; +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -217,31 +341,47 @@ tru64) base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then - tmpdepfile1="$dir.libs/$base.lo.d" - tmpdepfile2="$dir.libs/$base.d" + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else - tmpdepfile1="$dir$base.o.d" - tmpdepfile2="$dir$base.d" + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else - rm -f "$tmpdepfile1" "$tmpdepfile2" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi @@ -254,7 +394,7 @@ tru64) dashmstdout) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o. + # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. @@ -265,9 +405,7 @@ dashmstdout) shift fi - # Remove `-o $object'. We will use -o /dev/null later, - # however we can't do the remplacement now because - # `-o $object' might simply not be used + # Remove `-o $object'. IFS=" " for arg do @@ -287,7 +425,11 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' @@ -306,6 +448,13 @@ dashXmstdout) makedepend) "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi # X makedepend shift cleared=no @@ -318,7 +467,9 @@ makedepend) case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; - -*) + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; @@ -339,7 +490,7 @@ makedepend) cpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout. + # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. @@ -370,7 +521,8 @@ cpp) done "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" @@ -381,7 +533,7 @@ cpp) msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, + # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " @@ -421,3 +573,12 @@ none) esac exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/doc/Makefile.am b/libjava/classpath/doc/Makefile.am index 641d8d08478..5f9eb68cf48 100644 --- a/libjava/classpath/doc/Makefile.am +++ b/libjava/classpath/doc/Makefile.am @@ -1,21 +1,19 @@ SUBDIRS = api -EXTRA_DIST = README.jaxp $(man_MANS) +EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS) ## GCJ LOCAL: we don't want to install all of Classpath's info files. ## info_TEXINFOS = cp-hacking.texinfo cp-vmintegration.texinfo cp-tools.texinfo TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex info_TEXINFOS = cp-tools.texinfo -cp_tools_TEXINFOS = gcc-vers.texi -%.dvi : %.texinfo +.texinfo.dvi: texi2dvi $< -%.ps : %.dvi +.dvi.ps: dvips -o $@ $< -docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps -install-data-local: install-info +docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps $(TOOLS_MANFILES) man_MANS = $(TOOLS_MANFILES) TOOLS_MANFILES = \ @@ -32,23 +30,11 @@ TOOLS_MANFILES = \ gserialver.1 \ gtnameserv.1 -BASEVER = $(top_srcdir)/../../gcc/BASE-VER -DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE - -POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" -TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl +POD2MAN = pod2man --center="GNU" --release="$(VERSION)" +TEXI2POD = perl $(srcdir)/texi2pod.pl STAMP = echo timestamp > -# gcc-vers.texi is generated from the version files. -gcc-vers.texi: $(BASEVER) $(DEVPHASE) - (echo "@set version-GCC $(shell cat $(BASEVER))"; \ - if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \ - then echo "@set DEVELOPMENT"; \ - else echo "@clear DEVELOPMENT"; \ - fi) > $@T - mv -f $@T $@ - -%.1: %.pod +.pod.1: $(STAMP) $@ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ mv -f $(@).T$$$$ $@) || \ diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in index ad1b5525285..e00e0aefd1e 100644 --- a/libjava/classpath/doc/Makefile.in +++ b/libjava/classpath/doc/Makefile.in @@ -37,23 +37,27 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc -DIST_COMMON = $(cp_tools_TEXINFOS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in texinfo.tex +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -88,12 +92,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -139,6 +146,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -151,15 +159,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -167,7 +176,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -177,6 +185,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -188,6 +197,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -197,6 +207,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -216,6 +227,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -237,6 +249,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -264,8 +277,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -298,6 +313,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -316,10 +332,9 @@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ SUBDIRS = api -EXTRA_DIST = README.jaxp $(man_MANS) +EXTRA_DIST = README.jaxp texi2pod.pl $(man_MANS) TEXINFO_TEX = ../../gcc/doc/include/texinfo.tex info_TEXINFOS = cp-tools.texinfo -cp_tools_TEXINFOS = gcc-vers.texi man_MANS = $(TOOLS_MANFILES) TOOLS_MANFILES = \ gappletviewer.1 \ @@ -335,10 +350,8 @@ TOOLS_MANFILES = \ gserialver.1 \ gtnameserv.1 -BASEVER = $(top_srcdir)/../../gcc/BASE-VER -DEVPHASE = $(top_srcdir)/../../gcc/DEV-PHASE -POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))" -TEXI2POD = perl $(top_srcdir)/../../contrib/texi2pod.pl +POD2MAN = pod2man --center="GNU" --release="$(VERSION)" +TEXI2POD = perl $(srcdir)/texi2pod.pl STAMP = echo timestamp > @GENINSRC_FALSE@STAMP_GENINSRC = @@ -365,7 +378,7 @@ MAINTAINERCLEANFILES = \ all: all-recursive .SUFFIXES: -.SUFFIXES: .dvi .ps +.SUFFIXES: .1 .dvi .pod .ps .texinfo $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -405,7 +418,7 @@ clean-libtool: distclean-libtool: -rm -f libtool -cp-tools.info: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.info: cp-tools.texinfo restore=: && backupdir="$(am__leading_dot)am$$$$" && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ @@ -423,17 +436,17 @@ cp-tools.info: cp-tools.texinfo $(cp_tools_TEXINFOS) fi; \ rm -rf $$backupdir; exit $$rc -cp-tools.dvi: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.dvi: cp-tools.texinfo TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) -o $@ `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo -cp-tools.pdf: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.pdf: cp-tools.texinfo TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) -o $@ `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo -cp-tools.html: cp-tools.texinfo $(cp_tools_TEXINFOS) +cp-tools.html: cp-tools.texinfo rm -rf $(@:.html=.htp) if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) `test -f 'cp-tools.texinfo' || echo '$(srcdir)/'`cp-tools.texinfo; \ @@ -446,9 +459,6 @@ cp-tools.html: cp-tools.texinfo $(cp_tools_TEXINFOS) rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ exit 1; \ fi -.dvi.ps: - TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) -o $@ $< uninstall-info-am: @$(PRE_UNINSTALL) @@ -778,7 +788,7 @@ info: info-recursive info-am: $(INFO_DEPS) -install-data-am: install-data-local install-info-am install-man +install-data-am: install-info-am install-man install-exec-am: @@ -847,36 +857,26 @@ uninstall-man: uninstall-man1 ctags ctags-recursive dist-info distclean distclean-generic \ distclean-libtool distclean-recursive distclean-tags distdir \ dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-data-local install-exec \ - install-exec-am install-info install-info-am install-man \ - install-man1 install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-aminfo \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am uninstall-man uninstall-man1 + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-man1 \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-aminfo mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am \ + uninstall-man uninstall-man1 -%.dvi : %.texinfo +.texinfo.dvi: texi2dvi $< -%.ps : %.dvi +.dvi.ps: dvips -o $@ $< -docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps -install-data-local: install-info +docs: cp-hacking.ps cp-vmintegration.ps cp-tools.ps $(TOOLS_MANFILES) -# gcc-vers.texi is generated from the version files. -gcc-vers.texi: $(BASEVER) $(DEVPHASE) - (echo "@set version-GCC $(shell cat $(BASEVER))"; \ - if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \ - then echo "@set DEVELOPMENT"; \ - else echo "@clear DEVELOPMENT"; \ - fi) > $@T - mv -f $@T $@ - -%.1: %.pod +.pod.1: $(STAMP) $@ -($(POD2MAN) --section=1 $< > $(@).T$$$$ && \ mv -f $(@).T$$$$ $@) || \ diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in index 4a24a9d1a5f..937d0cc9f9c 100644 --- a/libjava/classpath/doc/api/Makefile.in +++ b/libjava/classpath/doc/api/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -64,12 +69,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -115,6 +123,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -127,15 +136,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -143,7 +153,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -153,6 +162,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -164,6 +174,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -173,6 +184,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -192,6 +204,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -213,6 +226,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -240,8 +254,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -274,6 +290,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/doc/cp-hacking.texinfo b/libjava/classpath/doc/cp-hacking.texinfo index efb7aa903c0..c79ea528750 100644 --- a/libjava/classpath/doc/cp-hacking.texinfo +++ b/libjava/classpath/doc/cp-hacking.texinfo @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header -@setfilename hacking.info +@setfilename cp-hacking.info @settitle GNU Classpath Hacker's Guide @c %**end of header @@ -11,7 +11,7 @@ This file contains important information you will need to know if you are going to hack on the GNU Classpath project code. -Copyright (C) 1998,1999,2000,2001,2002,2003,2004, 2005 Free Software Foundation, Inc. +Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007 Free Software Foundation, Inc. @ifnotplaintext @dircategory GNU Libraries @@ -65,6 +65,9 @@ and compilers for the java programming language. * Volunteering:: So you want to help out * Project Goals:: Goals of the GNU Classpath project * Needed Tools and Libraries:: A list of programs and libraries you will need +* Installation:: Installation instructions +* Building and running with the X AWT peers:: Building and running with the X AWT peers +* Misc. Notes:: Miscellaneous notes * Programming Standards:: Standards to use when writing code * Hacking Code:: Working on code, Working with others * Programming Goals:: What to consider when writing code @@ -324,7 +327,7 @@ that way. But finishing, polishing up, documenting, testing and debugging current functionality is of higher priority then adding new functionality. -@node Needed Tools and Libraries, Programming Standards, Project Goals, Top +@node Needed Tools and Libraries, Installation, Project Goals, Top @comment node-name, next, previous, up @chapter Needed Tools and Libraries @@ -338,15 +341,19 @@ needed when working directly on the CVS version. @itemize @bullet @item -GCC 3.3+ +GNU make 3.80+ +@item +GCC 2.95+ +@item +Eclipse Compiler for Java 3.1+ @item CVS 1.11+ @item -automake 1.7+ +automake 1.9+ @item autoconf 2.59+ @item -libtool 1.4.2+ +libtool 1.5+ @item GNU m4 1.4 @item @@ -356,35 +363,50 @@ texinfo 4.2+ All of these tools are available from @uref{ftp://gnudist.gnu.org/pub/gnu/,gnudist.gnu.org} via anonymous ftp, except CVS which is available from -@uref{http://www.cvshome.org/,www.cvshome.org}. They are fully -documented with texinfo manuals. Texinfo can be browsed with the -Emacs editor, or with the text editor of your choice, or transformed -into nicely printable Postscript. +@uref{http://www.cvshome.org/,www.cvshome.org} and the Eclipse +Compiler for Java, which is available from +@uref{http://www.eclipse.org/jdt/core,www.eclipse.org/jdt/core}. + +Except for the Eclipse Compiler for Java, they are fully documented +with texinfo manuals. Texinfo can be browsed with the Emacs editor, +or with the text editor of your choice, or transformed into nicely +printable Postscript. Here is a brief description of the purpose of those tools. @table @b +@item make +GNU make ("gmake") is required for building Classpath. + @item GCC The GNU Compiler Collection. This contains a C compiler (gcc) for compiling the native C code and a compiler for the java programming -language (gcj). You will need at least gcj version 3.3 or higher. If -that version is not available for your platform you can try the -@uref{http://www.jikes.org/, jikes compiler}. We try to keep all code -compilable with both gcj and jikes at all times. +language (gcj). You will need at least gcc version 2.95 or higher +in order to compile the native code. There is currently no +released version of gcj that can compile the Java 1.5 programming +language used by GNU Classpath. + +@item ecj +The Eclipse Compiler for Java. This is a compiler for the Java 1.5 +programming language. It translates source code to bytecode. The +Eclipse Foundation makes ``ecj.jar'' available as the JDT Core Batch +Compiler download. @item CVS A version control system that maintains a centralized Internet repository of all code in the Classpath system. @item automake -This tool automatically creates Makefile.in files from Makefile.am -files. The Makefile.in is turned into a Makefile by autoconf. Why -use this? Because it automatically generates every makefile target -you would ever want (clean, install, dist, etc) in full compliance -with the GNU coding standards. It also simplifies Makefile creation -in a number of ways that cannot be described here. Read the docs for -more info. +This tool automatically creates @file{Makefile.in} files from +@file{Makefile.am} files. The @file{Makefile.in} is turned into a +@file{Makefile} by @command{autoconf}. + +Why use this? Because it automatically generates every makefile +target you would ever want (@option{clean}, @option{install}, +@option{dist}, etc) in full compliance with the GNU coding standards. +It also simplifies Makefile creation in a number of ways that cannot +be described here. Read the docs for more info. @item autoconf Automatically configures a package for the platform on which it is @@ -414,12 +436,29 @@ is revised, you need revise only that one document. @end table +For any build environment involving native libraries, recent +versions of @command{autoconf}, @command{automake}, and @command{libtool} +are required if changes are made that require rebuilding @file{configure}, +@file{Makefile.in}, @file{aclocal.m4}, or @file{config.h.in}. + +When working from CVS you can run those tools by executing +@command{autogen.sh} in the source directory. + +For building the Java bytecode (.class files), you can select +which compiler should be employed using @option{--with-javac} or +@option{--with-ecj} as argument to @command{configure}; +the present default is @command{ecj}. + +Instead of @command{ecj}, you can also use @command{javac}, which is +available at +@uref{https://openjdk.dev.java.net/compiler, openjdk.dev.java.net/compiler}. For compiling the native AWT libraries you need to have the following -libraries installed: +libraries installed (unless @option{--disable-gtk-peer} is used as an argument +to @command{configure}): @table @b -@item GTK+ 2.2.x +@item GTK+ 2.8.x @uref{http://www.gtk.org/,GTK+} is a multi-platform toolkit for creating graphical user interfaces. It is used as the basis of the GNU desktop project GNOME. @@ -427,8 +466,125 @@ GNU desktop project GNOME. @item gdk-pixbuf @uref{http://www.gnome.org/start/,gdk-pixbuf} is a GNOME library for representing images. + +@item XTest +@uref{http://www.x.org,www.x.org} hosts the XTest Extension (libXtst). +It is necessary for GdkRobot support in java.awt. + @end table +There is a bug in earlier versions of at-spi, atk, and gail, which are +used for GNOME accessibility. Prior to version 1.18.0 of these packages, +gtk graphical applications should be run without accessibility (clear the +GTK_MODULES environment variable). + +For building the Qt AWT peer JNI native libraries you have to +specify @option{--enable-qt-peer} and need the following library: + +@table @b +@item Qt +@uref{http://www.trolltech.com/products/qt,Qt} version 4.0.1 or higher. +The Qt library is a cros-platform graphics toolkit. + +@end table + +Please note that at the moment most operating systems do not +ship Qt version 4.0.1 by default. We recommend using GNU Classpath' Qt +support only for its developers and bug reporters. See +@uref{http://developer.classpath.org/mediation/ClasspathShowcase, the wiki} +for details on how to get it to work. + +For building the X AWT peers you have to specify where to find the +Escher library on your system using the @option{--with-escher=ABS.PATH} option. +You will need the following library: + +@table @b +@item Escher +@uref{http://escher.sourceforge.net,Escher} version 0.2.3 or higher. +The Escher library is an implementation of X protocol and associated +libraries written in the Java programming language. + +@end table + +For building the ALSA midi provider code you will need +the following library: + + +@table @b +@item ALSA +@uref{http://www.alsa-project.org,ALSA} libraries. + +The ALSA project provides sound device drivers and associated +libraries for the Linux kernel. + +@end table + +Building the ALSA midi provider code can be disabled by passing +@option{--disable-alsa} to @command{configure}. + +For building the DSSI midi synthesizer provider code you will +need the following libraries: + +@table @b +@item DSSI +@uref{http://dssi.sourceforge.net,DSSI} library for audio +processing plugins. + +@item liblo +@uref{http://plugin.org.uk/liblo/,liblo}, the Lightweight OSC +implementation. + +@item LADSPA +@uref{http://www.ladspa.org,LADSPA}, the Linux Audio Developer's +Simple Plugin API. + +@item JACK +@uref{http://jackit.sourceforge.net,JACK}, a low latency audio +server. + +@item libsndfile +@uref{http://www.mega-nerd.com/libsndfile/,libsndfile}, an audio +file I/O library. + +@item fluidsynth +@uref{http://www.fluidsynth.org/,fluidsynth}, a real-time SoundFont +2 based soft-synth. + +@end table + +The GConf-based backend for java.util.prefs needs the following +library headers: + +@table @b +@item GConf +@uref{http://www.gnome.org/projects/gconf/,GConf} version 2.11.2 +(or higher). GConf is used for storing dektop and application +configuration settings in GNOME. + +@end table + +For building @command{gcjwebplugin} you'll need the Mozilla plugin +support headers and libraries, which are available at +@uref{http://www.mozilla.org,www.mozilla.org}. + +For enabling the com.sun.tools.javac support in tools.zip you +will a need jar file containing the Eclipse Java Compiler. +Otherwise com.sun.tools.javac will not be included in @file{tools.zip}. + +For building the xmlj JAXP implementation (disabled by default, +use @command{configure --enable-xmlj}) you need the following libraries: + +@table @b +@item libxml2 +@uref{http://www.xmlsoft.org/,libxml2} version 2.6.8 or higher. + +The libxml2 library is the XML C library for the Gnome desktop. + +@item libxslt +@uref{http://www.xmlsoft.org/XSLT/,libxslt} version 1.1.11 or higher. + +The libxslt library if the XSLT C library for the Gnome desktop. +@end table GNU Classpath comes with a couple of libraries included in the source that are not part of GNU Classpath proper, but that have been included @@ -457,8 +613,167 @@ java.lang.StrictMath. @end table +@node Installation, Building and running with the X AWT peers, Needed Tools and Libraries, Top +@comment node-name, next, previous, up +@chapter Installation instructions -@node Programming Standards, Hacking Code, Needed Tools and Libraries, Top +This package was designed to use the GNU standard for configuration +and makefiles. To build and install do the following: + +@enumerate +@item Configuration + +Run the @command{configure} script to configure the package. There are +various options you might want to pass to @command{configure} to control how the +package is built. Consider the following options, @command{configure --help} +gives a complete list. + +@table @option +@item --enable-java + +compile Java source (default=@option{yes}). + +@item --enable-jni + +compile JNI source (default=@option{yes}). + +@item --enable-gtk-peer + +compile GTK native peers (default=@option{yes}). + +@item --enable-qt-peer + +compile Qt4 native peers (default=@option{no}). + +@item --enable-default-toolkit + +fully qualified class name of default AWT toolkit (default=@option{no}). + +@item --enable-xmlj + +compile native libxml/xslt library (default=@option{no}). + +@item --enable-load-library + +enable to use JNI native methods (default=@option{yes}). + +@item --enable-local-sockets + +enable build of local Unix sockets. + +@item --with-glibj +define what to install @option{(zip|flat|both|none)} (default=@option{zip}). + +@item --with-escher=/path/to/escher + +enable build of the X/Escher peers, with +the escher library at @file{/path/to/escher}, either +in the form of a JAR file, or a directory +containing the .class files of Escher. + +@item --enable-Werror + +whether to compile C code with @option{-Werror} which turns +any compiler warning into a compilation failure +(default=@option{no}). + +@item --with-gjdoc + +generate documentation using @command{gjdoc} (default=@option{no}). + +@item --with-jay + +Regenerate the parsers with @command{jay}, must be given the +path to the @command{jay} executable + +@item --with-glibj-zip=ABS.PATH + +use prebuilt glibj.zip class library + +@item --with-ecj-jar=ABS.PATH + +specify jar file containing the Eclipse Java Compiler + +@end table + +For more flags run @command{configure --help}. + +@item Building + +Type @command{gmake} to build the package. There is no longer a +dependency problem and we aim to keep it that way. + +@item Installation + +Type @command{gmake install} to install everything. This may require +being the superuser. The default install path is /usr/local/classpath +you may change it by giving @command{configure} the +@option{--prefix=} option. + +@end enumerate + +Report bugs to @email{classpath@@gnu.org} or much better to the +GNU Classpath bug tracker at +@uref{http://savannah.gnu.org/support/?func=addsupport&group=classpath,Savannah}. + +Happy Hacking! + +Once installed, GNU Classpath is ready to be used by any VM that supports +using the official version of GNU Classpath. Simply ensure that +@file{/usr/local/classpath/share/classpath} is in your @env{CLASSPATH} environment +variable. You'll also have to set your @env{LD_LIBRARY_PATH} +variable (or similar system configuration) to include the Classpath +native libraries in @file{/usr/local/classpath/lib/classpath}. + +*NOTE* All example paths assume the default prefix is used with @command{configure}. +If you don't know what this means then the examples are correct. + +@example +LD_LIBRARY_PATH=/usr/local/classpath/lib/classpath +CLASSPATH=/usr/local/classpath/share/classpath/glibj.zip:. +export LD_LIBRARY_PATH CLASSPATH +@end example + +More information about the VMs that use GNU Classpath can be found in the +@file{README} file. + +@node Building and running with the X AWT peers, Misc. Notes, Installation, Top +@comment node-name, next, previous, up +@chapter Building and running with the X AWT peers + +In order build the X peers you need the Escher library version 0.2.3 +from @uref{http://escher.sourceforge.net,escher.sourceforge.net}. +Unpack (and optionally build) the +Escher library following the instructions in the downloaded +package. Enable the build of the X peers by passing +@option{--with-escher=/path/to/escher} to @command{configure} where @file{/path/to/escher} +either points to a directory structure or JAR file containing the +Escher classes. For Unix systems it is preferable to also build local +socket support by passing @option{--enable-local-sockets}, which accelerates +the network communication to the X server significantly. + +In this release you have to enable the X peers at runtime by +setting the system property awt.toolkit=gnu.java.awt.peer.x.XToolkit +by passing @option{-Dawt.toolkit=gnu.java.awt.peer.x.XToolkit} to the @command{java} +command when running an application. + +@node Misc. Notes, Programming Standards, Building and running with the X AWT peers, Top +@comment node-name, next, previous, up +@chapter Misc. Notes + +Compilation is accomplished using a compiler's @@file syntax. For our +part, we avoid placing make style dependencies as rules upon the +compilation of a particular class file and leave this up to the Java +compiler instead. + +The @option{--enable-maintainer-mode} option to @command{configure} currently does very +little and shouldn't be used by ordinary developers or users anyway. + +On Windows machines, the native libraries do not currently build, but +the Java bytecode library will. Gcj trunk is beginning to work under +Cygwin. + +@node Programming Standards, Hacking Code, Misc. Notes, Top @comment node-name, next, previous, up @chapter Programming Standards diff --git a/libjava/classpath/doc/cp-vmintegration.texinfo b/libjava/classpath/doc/cp-vmintegration.texinfo index 6d59b5d8fb4..97f381a5ffa 100644 --- a/libjava/classpath/doc/cp-vmintegration.texinfo +++ b/libjava/classpath/doc/cp-vmintegration.texinfo @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header -@setfilename vmintegration.info +@setfilename cp-vmintegration.info @settitle GNU Classpath VM Integration Guide @c %**end of header @@ -12,7 +12,7 @@ This file contains important information you will need to know if you are going to write an interface between GNU Classpath and a Virtual Machine. -Copyright (C) 1998-2002, 2004, 2005, 2006 Free Software Foundation, Inc. +Copyright (C) 1998-2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. @ifnotplaintext @dircategory GNU Libraries @@ -1376,6 +1376,12 @@ time used by all threads. @item @code{gnu.java.lang.management.ThreadContentionSupport} -- This property should be present if the VM supports thread contention monitoring. +@item @code{gnu.java.lang.management.MonitorUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of object monitor usage. +@item @code{gnu.java.lang.management.OwnableSynchronizerUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of ownable synchronizer usage. @end itemize In addition, the property @@ -1386,11 +1392,18 @@ is enabled at startup. The methods are as follows: @itemize @bullet +@item @code{(findDeadlockedThreads())} -- This should return +an array of thread identifiers which match threads involved in +deadlock cycles (where each thread is waiting to obtain a lock +held by one of the others) on object monitors or ownable +synchronizers. This is specified as a native method in the +reference implementation, and is optional. It is only called +when the VM supports ownable synchronizer monitoring. @item @code{(findMonitorDeadlockedThreads())} -- This should return an array of thread identifiers which match threads involved in deadlock cycles (where each thread is waiting to obtain a lock -held by one of the others). This is specified as a native method -in the reference implementation. +held by one of the others) on object monitors. This is specified +as a native method in the reference implementation. @item @code{(getAllThreads())} -- This should return an array of all live threads and set the @code{filled} variable to the number found. A default implementation is provided. @@ -1408,6 +1421,16 @@ supporting time monitoring. @item @code{(getDaemonThreadCount())} -- This should return the number of live daemon threads. A default implementation is provided, based on @code{getAllThreads()}. +@item @code{(getLockInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports ownable synchronizer usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{LockInfo} objects, providing details on each lock. +@item @code{(getMonitorInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports object monitor usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{MonitorInfo} objects, providing details on each lock. @item @code{(getPeakThreadCount())} -- The VM should maintain a record of the peak number of live threads, and return it when this method is called. This is specified as a native method in the reference diff --git a/libjava/classpath/doc/texi2pod.pl b/libjava/classpath/doc/texi2pod.pl new file mode 100755 index 00000000000..e7b983bd2d2 --- /dev/null +++ b/libjava/classpath/doc/texi2pod.pl @@ -0,0 +1,478 @@ +#! /usr/bin/perl -w + +# Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This file is part of GCC. + +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Fifth Floor, +# Boston MA 02110-1301, USA. + +# This does trivial (and I mean _trivial_) conversion of Texinfo +# markup to Perl POD format. It's intended to be used to extract +# something suitable for a manpage from a Texinfo document. + +$output = 0; +$skipping = 0; +%sects = (); +$section = ""; +@icstack = (); +@endwstack = (); +@skstack = (); +@instack = (); +$shift = ""; +%defs = (); +$fnno = 1; +$inf = ""; +$ibase = ""; +@ipath = (); + +while ($_ = shift) { + if (/^-D(.*)$/) { + if ($1 ne "") { + $flag = $1; + } else { + $flag = shift; + } + $value = ""; + ($flag, $value) = ($flag =~ /^([^=]+)(?:=(.+))?/); + die "no flag specified for -D\n" + unless $flag ne ""; + die "flags may only contain letters, digits, hyphens, dashes and underscores\n" + unless $flag =~ /^[a-zA-Z0-9_-]+$/; + $defs{$flag} = $value; + } elsif (/^-I(.*)$/) { + if ($1 ne "") { + $flag = $1; + } else { + $flag = shift; + } + push (@ipath, $flag); + } elsif (/^-/) { + usage(); + } else { + $in = $_, next unless defined $in; + $out = $_, next unless defined $out; + usage(); + } +} + +if (defined $in) { + $inf = gensym(); + open($inf, "<$in") or die "opening \"$in\": $!\n"; + $ibase = $1 if $in =~ m|^(.+)/[^/]+$|; +} else { + $inf = \*STDIN; +} + +if (defined $out) { + open(STDOUT, ">$out") or die "opening \"$out\": $!\n"; +} + +while(defined $inf) { +while(<$inf>) { + # Certain commands are discarded without further processing. + /^\@(?: + [a-z]+index # @*index: useful only in complete manual + |need # @need: useful only in printed manual + |(?:end\s+)?group # @group .. @end group: ditto + |page # @page: ditto + |node # @node: useful only in .info file + |(?:end\s+)?ifnottex # @ifnottex .. @end ifnottex: use contents + )\b/x and next; + + chomp; + + # Look for filename and title markers. + /^\@setfilename\s+([^.]+)/ and $fn = $1, next; + /^\@settitle\s+([^.]+)/ and $tl = postprocess($1), next; + + # Identify a man title but keep only the one we are interested in. + /^\@c\s+man\s+title\s+([A-Za-z0-9-]+)\s+(.+)/ and do { + if (exists $defs{$1}) { + $fn = $1; + $tl = postprocess($2); + } + next; + }; + + # Look for blocks surrounded by @c man begin SECTION ... @c man end. + # This really oughta be @ifman ... @end ifman and the like, but such + # would require rev'ing all other Texinfo translators. + /^\@c\s+man\s+begin\s+([A-Z]+)\s+([A-Za-z0-9-]+)/ and do { + $output = 1 if exists $defs{$2}; + $sect = $1; + next; + }; + /^\@c\s+man\s+begin\s+([A-Z]+)/ and $sect = $1, $output = 1, next; + /^\@c\s+man\s+end/ and do { + $sects{$sect} = "" unless exists $sects{$sect}; + $sects{$sect} .= postprocess($section); + $section = ""; + $output = 0; + next; + }; + + # handle variables + /^\@set\s+([a-zA-Z0-9_-]+)\s*(.*)$/ and do { + $defs{$1} = $2; + next; + }; + /^\@clear\s+([a-zA-Z0-9_-]+)/ and do { + delete $defs{$1}; + next; + }; + + next unless $output; + + # Discard comments. (Can't do it above, because then we'd never see + # @c man lines.) + /^\@c\b/ and next; + + # End-block handler goes up here because it needs to operate even + # if we are skipping. + /^\@end\s+([a-z]+)/ and do { + # Ignore @end foo, where foo is not an operation which may + # cause us to skip, if we are presently skipping. + my $ended = $1; + next if $skipping && $ended !~ /^(?:ifset|ifclear|ignore|menu|iftex|copying)$/; + + die "\@end $ended without \@$ended at line $.\n" unless defined $endw; + die "\@$endw ended by \@end $ended at line $.\n" unless $ended eq $endw; + + $endw = pop @endwstack; + + if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) { + $skipping = pop @skstack; + next; + } elsif ($ended =~ /^(?:example|smallexample|display)$/) { + $shift = ""; + $_ = ""; # need a paragraph break + } elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) { + $_ = "\n=back\n"; + $ic = pop @icstack; + } elsif ($ended eq "multitable") { + $_ = "\n=back\n"; + } else { + die "unknown command \@end $ended at line $.\n"; + } + }; + + # We must handle commands which can cause skipping even while we + # are skipping, otherwise we will not process nested conditionals + # correctly. + /^\@ifset\s+([a-zA-Z0-9_-]+)/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = "ifset"; + $skipping = 1 unless exists $defs{$1}; + next; + }; + + /^\@ifclear\s+([a-zA-Z0-9_-]+)/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = "ifclear"; + $skipping = 1 if exists $defs{$1}; + next; + }; + + /^\@(ignore|menu|iftex|copying)\b/ and do { + push @endwstack, $endw; + push @skstack, $skipping; + $endw = $1; + $skipping = 1; + next; + }; + + next if $skipping; + + # Character entities. First the ones that can be replaced by raw text + # or discarded outright: + s/\@copyright\{\}/(c)/g; + s/\@dots\{\}/.../g; + s/\@enddots\{\}/..../g; + s/\@([.!? ])/$1/g; + s/\@[:-]//g; + s/\@bullet(?:\{\})?/*/g; + s/\@TeX\{\}/TeX/g; + s/\@pounds\{\}/\#/g; + s/\@minus(?:\{\})?/-/g; + s/\\,/,/g; + + # Now the ones that have to be replaced by special escapes + # (which will be turned back into text by unmunge()) + s/&/&/g; + s/\@\{/{/g; + s/\@\}/}/g; + s/\@\@/&at;/g; + + # Inside a verbatim block, handle @var specially. + if ($shift ne "") { + s/\@var\{([^\}]*)\}/<$1>/g; + } + + # POD doesn't interpret E<> inside a verbatim block. + if ($shift eq "") { + s//>/g; + } else { + s//>/g; + } + + # Single line command handlers. + + /^\@include\s+(.+)$/ and do { + push @instack, $inf; + $inf = gensym(); + $file = postprocess($1); + + # Try cwd and $ibase, then explicit -I paths. + $done = 0; + foreach $path ("", $ibase, @ipath) { + $mypath = $file; + $mypath = $path . "/" . $mypath if ($path ne ""); + open($inf, "<" . $mypath) and ($done = 1, last); + } + die "cannot find $file" if !$done; + next; + }; + + /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/ + and $_ = "\n=head2 $1\n"; + /^\@subsection\s+(.+)$/ + and $_ = "\n=head3 $1\n"; + /^\@subsubsection\s+(.+)$/ + and $_ = "\n=head4 $1\n"; + + # Block command handlers: + /^\@itemize(?:\s+(\@[a-z]+|\*|-))?/ and do { + push @endwstack, $endw; + push @icstack, $ic; + if (defined $1) { + $ic = $1; + } else { + $ic = '@bullet'; + } + $_ = "\n=over 4\n"; + $endw = "itemize"; + }; + + /^\@enumerate(?:\s+([a-zA-Z0-9]+))?/ and do { + push @endwstack, $endw; + push @icstack, $ic; + if (defined $1) { + $ic = $1 . "."; + } else { + $ic = "1."; + } + $_ = "\n=over 4\n"; + $endw = "enumerate"; + }; + + /^\@multitable\s.*/ and do { + push @endwstack, $endw; + $endw = "multitable"; + $_ = "\n=over 4\n"; + }; + + /^\@([fv]?table)\s+(\@[a-z]+)/ and do { + push @endwstack, $endw; + push @icstack, $ic; + $endw = $1; + $ic = $2; + $ic =~ s/\@(?:samp|strong|key|gcctabopt|env)/B/; + $ic =~ s/\@(?:code|kbd)/C/; + $ic =~ s/\@(?:dfn|var|emph|cite|i)/I/; + $ic =~ s/\@(?:file)/F/; + $_ = "\n=over 4\n"; + }; + + /^\@((?:small)?example|display)/ and do { + push @endwstack, $endw; + $endw = $1; + $shift = "\t"; + $_ = ""; # need a paragraph break + }; + + /^\@item\s+(.*\S)\s*$/ and $endw eq "multitable" and do { + @columns = (); + for $column (split (/\s*\@tab\s*/, $1)) { + # @strong{...} is used a @headitem work-alike + $column =~ s/^\@strong{(.*)}$/$1/; + push @columns, $column; + } + $_ = "\n=item ".join (" : ", @columns)."\n"; + }; + + /^\@itemx?\s*(.+)?$/ and do { + if (defined $1) { + # Entity escapes prevent munging by the <> processing below. + $_ = "\n=item $ic\<$1\>\n"; + } else { + $_ = "\n=item $ic\n"; + $ic =~ y/A-Ya-y/B-Zb-z/; + $ic =~ s/(\d+)/$1 + 1/eg; + } + }; + + $section .= $shift.$_."\n"; +} +# End of current file. +close($inf); +$inf = pop @instack; +} + +die "No filename or title\n" unless defined $fn && defined $tl; + +$sects{NAME} = "$fn \- $tl\n"; +$sects{FOOTNOTES} .= "=back\n" if exists $sects{FOOTNOTES}; + +for $sect (qw(NAME SYNOPSIS DESCRIPTION OPTIONS ENVIRONMENT FILES + BUGS NOTES FOOTNOTES SEEALSO AUTHOR COPYRIGHT)) { + if(exists $sects{$sect}) { + $head = $sect; + $head =~ s/SEEALSO/SEE ALSO/; + print "=head1 $head\n\n"; + print scalar unmunge ($sects{$sect}); + print "\n"; + } +} + +sub usage +{ + die "usage: $0 [-D toggle...] [infile [outfile]]\n"; +} + +sub postprocess +{ + local $_ = $_[0]; + + # @value{foo} is replaced by whatever 'foo' is defined as. + while (m/(\@value\{([a-zA-Z0-9_-]+)\})/g) { + if (! exists $defs{$2}) { + print STDERR "Option $2 not defined\n"; + s/\Q$1\E//; + } else { + $value = $defs{$2}; + s/\Q$1\E/$value/; + } + } + + # Formatting commands. + # Temporary escape for @r. + s/\@r\{([^\}]*)\}/R<$1>/g; + s/\@(?:dfn|var|emph|cite|i)\{([^\}]*)\}/I<$1>/g; + s/\@(?:code|kbd)\{([^\}]*)\}/C<$1>/g; + s/\@(?:gccoptlist|samp|strong|key|option|env|command|b)\{([^\}]*)\}/B<$1>/g; + s/\@sc\{([^\}]*)\}/\U$1/g; + s/\@file\{([^\}]*)\}/F<$1>/g; + s/\@w\{([^\}]*)\}/S<$1>/g; + s/\@(?:dmn|math)\{([^\}]*)\}/$1/g; + + # keep references of the form @ref{...}, print them bold + s/\@(?:ref)\{([^\}]*)\}/B<$1>/g; + + # Change double single quotes to double quotes. + s/''/"/g; + s/``/"/g; + + # Cross references are thrown away, as are @noindent and @refill. + # (@noindent is impossible in .pod, and @refill is unnecessary.) + # @* is also impossible in .pod; we discard it and any newline that + # follows it. Similarly, our macro @gol must be discarded. + + s/\(?\@xref\{(?:[^\}]*)\}(?:[^.<]|(?:<[^<>]*>))*\.\)?//g; + s/\s+\(\@pxref\{(?:[^\}]*)\}\)//g; + s/;\s+\@pxref\{(?:[^\}]*)\}//g; + s/\@noindent\s*//g; + s/\@refill//g; + s/\@gol//g; + s/\@\*\s*\n?//g; + + # Anchors are thrown away + s/\@anchor\{(?:[^\}]*)\}//g; + + # @uref can take one, two, or three arguments, with different + # semantics each time. @url and @email are just like @uref with + # one argument, for our purposes. + s/\@(?:uref|url|email)\{([^\},]*)\}/<B<$1>>/g; + s/\@uref\{([^\},]*),([^\},]*)\}/$2 (C<$1>)/g; + s/\@uref\{([^\},]*),([^\},]*),([^\},]*)\}/$3/g; + + # Un-escape <> at this point. + s/<//g; + + # Now un-nest all B<>, I<>, R<>. Theoretically we could have + # indefinitely deep nesting; in practice, one level suffices. + 1 while s/([BIR])<([^<>]*)([BIR])<([^<>]*)>/$1<$2>$3<$4>$1 with bare ...; eliminate empty markup, B<>; + # shift white space at the ends of [BI]<...> expressions outside + # the expression. + s/R<([^<>]*)>/$1/g; + s/[BI]<>//g; + s/([BI])<(\s+)([^>]+)>/$2$1<$3>/g; + s/([BI])<([^>]+?)(\s+)>/$1<$2>$3/g; + + # Extract footnotes. This has to be done after all other + # processing because otherwise the regexp will choke on formatting + # inside @footnote. + while (/\@footnote/g) { + s/\@footnote\{([^\}]+)\}/[$fnno]/; + add_footnote($1, $fnno); + $fnno++; + } + + return $_; +} + +sub unmunge +{ + # Replace escaped symbols with their equivalents. + local $_ = $_[0]; + + s/</E/g; + s/>/E/g; + s/{/\{/g; + s/}/\}/g; + s/&at;/\@/g; + s/&/&/g; + return $_; +} + +sub add_footnote +{ + unless (exists $sects{FOOTNOTES}) { + $sects{FOOTNOTES} = "\n=over 4\n\n"; + } + + $sects{FOOTNOTES} .= "=item $fnno.\n\n"; $fnno++; + $sects{FOOTNOTES} .= $_[0]; + $sects{FOOTNOTES} .= "\n\n"; +} + +# stolen from Symbol.pm +{ + my $genseq = 0; + sub gensym + { + my $name = "GEN" . $genseq++; + my $ref = \*{$name}; + delete $::{$name}; + return $ref; + } +} diff --git a/libjava/classpath/doc/texinfo.tex b/libjava/classpath/doc/texinfo.tex index ad9db292244..80836223506 100644 --- a/libjava/classpath/doc/texinfo.tex +++ b/libjava/classpath/doc/texinfo.tex @@ -3,10 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2002-06-04.06} +\def\texinfoversion{2006-10-04.17} % -% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, -% 2000, 01, 02 Free Software Foundation, Inc. +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free +% Software Foundation, Inc. % % This texinfo.tex file is free software; you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -23,24 +24,17 @@ % to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, % Boston, MA 02110-1301, USA. % -% In other words, you are welcome to use, share and improve this program. -% You are forbidden to forbid anyone else to use, share and improve -% what you give them. Help stamp out software-hoarding! +% As a special exception, when this file is read by TeX when processing +% a Texinfo source document, you may use the result without +% restriction. (This has been our intent since Texinfo was invented.) % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% ftp://ftp.gnu.org/gnu/texinfo.tex -% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) -% ftp://texinfo.org/texinfo/texinfo.tex +% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or % ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see http://www.ctan.org), -% and /home/gd/gnu/doc/texinfo.tex on the GNU machines. -% -% The texinfo.tex in any given Texinfo distribution could well be out +% (and all CTAN mirrors, see http://www.ctan.org). +% The texinfo.tex in any given distribution could well be out % of date, so if that's what you're using, please check. -% -% Texinfo has a small home page at http://texinfo.org/ and also -% http://www.gnu.org/software/texinfo. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the @@ -58,8 +52,12 @@ % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % -% It is possible to adapt texinfo.tex for other languages. You can get -% the existing language-specific files from the full Texinfo distribution. +% It is possible to adapt texinfo.tex for other languages, to some +% extent. You can get the existing language-specific files from the +% full Texinfo distribution. +% +% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. + \message{Loading texinfo [version \texinfoversion]:} @@ -69,7 +67,14 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} -% Save some parts of plain tex whose names we will redefine. +\message{Basics,} +\chardef\other=12 + +% We never want plain's \outer definition of \+ in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + +% Save some plain tex macros whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c @@ -79,23 +84,35 @@ \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! +\let\ptexfootnote=\footnote +\let\ptexgtr=> +\let\ptexhat=^ \let\ptexi=\i +\let\ptexindent=\indent +\let\ptexinsert=\insert \let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent +\let\ptexplus=+ \let\ptexrbrace=\} +\let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t -% We never want plain's outer \+ definition in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -\message{Basics,} -\chardef\other=12 - % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\thisisundefined + \let\linenumber = \empty % Pre-3.0. +\else + \def\linenumber{l.\the\inputlineno:\space} +\fi + % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi @@ -134,48 +151,113 @@ \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi -\ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi + +% Since the category of space is not known, we have to be careful. +\chardef\spacecat = 10 +\def\spaceisspace{\catcode`\ =\spacecat} + +% sometimes characters are active, so we need control sequences. +\chardef\colonChar = `\: +\chardef\commaChar = `\, +\chardef\dashChar = `\- +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\lquoteChar= `\` +\chardef\questChar = `\? +\chardef\rquoteChar= `\' +\chardef\semiChar = `\; +\chardef\underChar = `\_ % Ignore a token. % \def\gobble#1{} -\hyphenation{ap-pen-dix} -\hyphenation{mini-buf-fer mini-buf-fers} -\hyphenation{eshell} -\hyphenation{white-space} +% The following is used inside several \edef's. +\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} + +% Hyphenation fixes. +\hyphenation{ + Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script + ap-pen-dix bit-map bit-maps + data-base data-bases eshell fall-ing half-way long-est man-u-script + man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm + par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces + spell-ing spell-ings + stand-alone strong-est time-stamp time-stamps which-ever white-space + wide-spread wrap-around +} % Margin to add to right of even pages, to left of odd pages. -\newdimen \bindingoffset -\newdimen \normaloffset +\newdimen\bindingoffset +\newdimen\normaloffset \newdimen\pagewidth \newdimen\pageheight +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\def\finalout{\overfullrule=0pt} + +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} + % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\ifx\eTeXversion\undefined -\def\loggingall{\tracingcommands2 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \showboxbreadth\maxdimen\showboxdepth\maxdimen +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\undefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines16 }% -\else -\def\loggingall{\tracingcommands3 \tracingstats2 - \tracingpages1 \tracingoutput1 \tracinglostchars1 - \tracingmacros2 \tracingparagraphs1 \tracingrestores1 - \tracingscantokens1 \tracingassigns1 \tracingifs1 - \tracinggroups1 \tracingnesting2 - \showboxbreadth\maxdimen\showboxdepth\maxdimen -}% -\fi % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. -% +% \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount @@ -222,13 +304,17 @@ % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % - \escapechar = `\\ % use backslash in output files. \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. + % the page break happens to be in the middle of an example. + % We don't want .vr (or whatever) entries like this: + % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} + % "\acronym" won't work when it's read back in; + % it needs to be + % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi + \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize @@ -253,9 +339,9 @@ \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingxxx.) + % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 2\baselineskip + \vskip 24pt \unvbox\footlinebox \fi % @@ -276,7 +362,7 @@ \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox - }% end of group with \turnoffactive + }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } @@ -309,143 +395,161 @@ % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % -\def\parsearg#1{% - \let\next = #1% +\def\parsearg{\parseargusing{}} +\def\parseargusing#1#2{% + \def\argtorun{#2}% \begingroup \obeylines - \futurelet\temp\parseargx + \spaceisspace + #1% + \parseargline\empty% Insert the \empty token, see \finishparsearg below. } -% If the next token is an obeyed space (from an @example environment or -% the like), remove it and recurse. Otherwise, we're done. -\def\parseargx{% - % \obeyedspace is defined far below, after the definition of \sepspaces. - \ifx\obeyedspace\temp - \expandafter\parseargdiscardspace - \else - \expandafter\parseargline - \fi -} - -% Remove a single space (as the delimiter token to the macro call). -{\obeyspaces % - \gdef\parseargdiscardspace {\futurelet\temp\parseargx}} - {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. - % - % First remove any @c comment, then any @comment. - % Result of each macro is put in \toks0. - \argremovec #1\c\relax % - \expandafter\argremovecomment \the\toks0 \comment\relax % - % - % Call the caller's macro, saved as \next in \parsearg. - \expandafter\next\expandafter{\the\toks0}% + \argremovecomment #1\comment\ArgTerm% }% } -% Since all \c{,omment} does is throw away the argument, we can let TeX -% do that for us. The \relax here is matched by the \relax in the call -% in \parseargline; it could be more or less anything, its purpose is -% just to delimit the argument to the \c. -\def\argremovec#1\c#2\relax{\toks0 = {#1}} -\def\argremovecomment#1\comment#2\relax{\toks0 = {#1}} +% First remove any @comment, then any @c comment. +\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} -% \argremovec{,omment} might leave us with trailing spaces, though; e.g., +% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% +% \argremovec might leave us with trailing space, e.g., % @end itemize @c foo -% will have two active spaces as part of the argument with the -% `itemize'. Here we remove all active spaces from #1, and assign the -% result to \toks0. +% This space token undergoes the same procedure and is eventually removed +% by \finishparsearg. % -% This loses if there are any *other* active characters besides spaces -% in the argument -- _ ^ +, for example -- since they get expanded. -% Fortunately, Texinfo does not define any such commands. (If it ever -% does, the catcode of the characters in questionwill have to be changed -% here.) But this means we cannot call \removeactivespaces as part of -% \argremovec{,omment}, since @c uses \parsearg, and thus the argument -% that \parsearg gets might well have any character at all in it. -% -\def\removeactivespaces#1{% - \begingroup - \ignoreactivespaces - \edef\temp{#1}% - \global\toks0 = \expandafter{\temp}% - \endgroup +\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} +\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} +\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% + \def\temp{#3}% + \ifx\temp\empty + % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: + \let\temp\finishparsearg + \else + \let\temp\argcheckspaces + \fi + % Put the space token in: + \temp#1 #3\ArgTerm } -% Change the active space to expand to nothing. +% If a _delimited_ argument is enclosed in braces, they get stripped; so +% to get _exactly_ the rest of the line, we had to prevent such situation. +% We prepended an \empty token at the very beginning and we expand it now, +% just before passing the control to \argtorun. +% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% either the null string, or it ends with \^^M---thus there is no danger +% that a pair of braces would be stripped. % -\begingroup +% But first, we have to remove the trailing space token. +% +\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} + +% \parseargdef\foo{...} +% is roughly equivalent to +% \def\foo{\parsearg\Xfoo} +% \def\Xfoo#1{...} +% +% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my +% favourite TeX trick. --kasal, 16nov03 + +\def\parseargdef#1{% + \expandafter \doparseargdef \csname\string#1\endcsname #1% +} +\def\doparseargdef#1#2{% + \def#2{\parsearg#1}% + \def#1##1% +} + +% Several utility definitions with active space: +{ \obeyspaces - \gdef\ignoreactivespaces{\obeyspaces\let =\empty} -\endgroup + \gdef\obeyedspace{ } + + % Make each space character in the input produce a normal interword + % space in the output. Don't allow a line break at this space, as this + % is used only in environments like @example, where each line of input + % should produce a line of output anyway. + % + \gdef\sepspaces{\obeyspaces\let =\tie} + + % If an index command is used in an @example environment, any spaces + % therein should become regular spaces in the raw index file, not the + % expansion of \tie (\leavevmode \penalty \@M \ ). + \gdef\unsepspaces{\let =\space} +} \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} -%% These are used to keep @begin/@end levels from running away -%% Call \inENV within environments (after a \begingroup) -\newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi} -\def\ENVcheck{% -\ifENV\errmessage{Still within an environment; press RETURN to continue} -\endgroup\fi} % This is not perfect, but it should reduce lossage - -% @begin foo is the same as @foo, for now. -\newhelp\EMsimple{Press RETURN to continue.} - -\outer\def\begin{\parsearg\beginxxx} - -\def\beginxxx #1{% -\expandafter\ifx\csname #1\endcsname\relax -{\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else -\csname #1\endcsname\fi} - -% @end foo executes the definition of \Efoo. +% Define the framework for environments in texinfo.tex. It's used like this: % -\def\end{\parsearg\endxxx} -\def\endxxx #1{% - \removeactivespaces{#1}% - \edef\endthing{\the\toks0}% - % - \expandafter\ifx\csname E\endthing\endcsname\relax - \expandafter\ifx\csname \endthing\endcsname\relax - % There's no \foo, i.e., no ``environment'' foo. - \errhelp = \EMsimple - \errmessage{Undefined command `@end \endthing'}% - \else - \unmatchedenderror\endthing - \fi +% \envdef\foo{...} +% \def\Efoo{...} +% +% It's the responsibility of \envdef to insert \begingroup before the +% actual body; @end closes the group after calling \Efoo. \envdef also +% defines \thisenv, so the current environment is known; @end checks +% whether the environment name matches. The \checkenv macro can also be +% used to check whether the current environment is the one expected. +% +% Non-false conditionals (@iftex, @ifset) don't fit into this, so they +% are not treated as enviroments; they don't open a group. (The +% implementation of @end takes care not to call \endgroup in this +% special case.) + + +% At runtime, environments start with this: +\def\startenvironment#1{\begingroup\def\thisenv{#1}} +% initialize +\let\thisenv\empty + +% ... but they get defined via ``\envdef\foo{...}'': +\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} +\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} + +% Check whether we're in the right environment: +\def\checkenv#1{% + \def\temp{#1}% + \ifx\thisenv\temp \else - % Everything's ok; the right environment has been started. - \csname E\endthing\endcsname + \badenverr \fi } -% There is an environment #1, but it hasn't been started. Give an error. -% -\def\unmatchedenderror#1{% +% Evironment mismatch, #1 expected: +\def\badenverr{% \errhelp = \EMsimple - \errmessage{This `@end #1' doesn't have a matching `@#1'}% + \errmessage{This command can appear only \inenvironment\temp, + not \inenvironment\thisenv}% +} +\def\inenvironment#1{% + \ifx#1\empty + out of any environment% + \else + in environment \expandafter\string#1% + \fi } -% Define the control sequence \E#1 to give an unmatched @end error. +% @end foo executes the definition of \Efoo. +% But first, it executes a specialized version of \checkenv % -\def\defineunmatchedend#1{% - \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}% +\parseargdef\end{% + \if 1\csname iscond.#1\endcsname + \else + % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 + \expandafter\checkenv\csname#1\endcsname + \csname E#1\endcsname + \endgroup + \fi } +\newhelp\EMsimple{Press RETURN to continue.} -% Single-spacing is done by various environments (specifically, in -% \nonfillstart and \quotations). -\newskip\singlespaceskip \singlespaceskip = 12.5pt -\def\singlespace{% - % Why was this kern here? It messes up equalizing space above and below - % environments. --karl, 6may93 - %{\advance \baselineskip by -\singlespaceskip - %\kern \baselineskip}% - \setleading\singlespaceskip -} %% Simple single-character @ commands @@ -466,16 +570,22 @@ \let\{=\mylbrace \let\}=\myrbrace \begingroup - % Definitions to produce actual \{ & \} command in an index. - \catcode`\{ = 12 \catcode`\} = 12 + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux/toc files. + \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\@ = 0 \catcode`\\ = 12 - @gdef@lbracecmd[\{]% - @gdef@rbracecmd[\}]% -@endgroup + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @v @H. +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} @@ -483,10 +593,12 @@ \let\ubaraccent = \b \let\udotaccent = \d -% Other special characters: @questiondown @exclamdown -% Plain TeX defines: @AA @AE @O @OE @L (and lowercase versions) @ss. +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} % Dotless i and dotless j, used for accents. \def\imacro{i} @@ -499,6 +611,25 @@ \fi\fi } +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% + \kern-.15em + \TeX +} + % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and @@ -517,14 +648,32 @@ % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} +% @/ allows a line break. +\let\/=\allowbreak + % @. is an end-of-sentence period. -\def\.{.\spacefactor=3000 } +\def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. -\def\!{!\spacefactor=3000 } +\def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. -\def\?{?\spacefactor=3000 } +\def\?{?\spacefactor=\endofsentencespacefactor\space} + +% @frenchspacing on|off says whether to put extra space after punctuation. +% +\def\onword{on} +\def\offword{off} +% +\parseargdef\frenchspacing{% + \def\temp{#1}% + \ifx\temp\onword \plainfrenchspacing + \else\ifx\temp\offword \plainnonfrenchspacing + \else + \errhelp = \EMsimple + \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% + \fi\fi +} % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would @@ -539,47 +688,24 @@ % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % -\def\group{\begingroup - \ifnum\catcode13=\active \else +% Another complication is that the group might be very large. This can +% cause the glue on the previous page to be unduly stretched, because it +% does not have much material. In this case, it's better to add an +% explicit \vfill so that the extra space is at the bottom. The +% threshold for doing this is if the group is more than \vfilllimit +% percent of a page (\vfilllimit can be changed inside of @tex). +% +\newbox\groupbox +\def\vfilllimit{0.7} +% +\envdef\group{% + \ifnum\catcode`\^^M=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi + \startsavinginserts % - % The \vtop we start below produces a box with normal height and large - % depth; thus, TeX puts \baselineskip glue before it, and (when the - % next line of text is done) \lineskip glue after it. (See p.82 of - % the TeXbook.) Thus, space below is not quite equal to space - % above. But it's pretty close. - \def\Egroup{% - \egroup % End the \vtop. - \endgroup % End the \group. - }% - % - \vtop\bgroup - % We have to put a strut on the last line in case the @group is in - % the midst of an example, rather than completely enclosing it. - % Otherwise, the interline space between the last line of the group - % and the first line afterwards is too small. But we can't put the - % strut in \Egroup, since there it would be on a line by itself. - % Hence this just inserts a strut at the beginning of each line. - \everypar = {\strut}% - % - % Since we have a strut on every line, we don't need any of TeX's - % normal interline spacing. - \offinterlineskip - % - % OK, but now we have to do something about blank - % lines in the input in @example-like environments, which normally - % just turn into \lisppar, which will insert no space now that we've - % turned off the interline space. Simplest is to make them be an - % empty paragraph. - \ifx\par\lisppar - \edef\par{\leavevmode \par}% - % - % Reset ^^M's definition to new definition of \par. - \obeylines - \fi - % + \setbox\groupbox = \vtop\bgroup % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after @@ -589,6 +715,32 @@ \comment } % +% The \vtop produces a box with normal height and large depth; thus, TeX puts +% \baselineskip glue before it, and (when the next line of text is done) +% \lineskip glue after it. Thus, space below is not quite equal to space +% above. But it's pretty close. +\def\Egroup{% + % To get correct interline space between the last line of the group + % and the first line afterwards, we have to propagate \prevdepth. + \endgraf % Not \par, as it may have been set to \lisppar. + \global\dimen1 = \prevdepth + \egroup % End the \vtop. + % \dimen0 is the vertical size of the group's box. + \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox + % \dimen2 is how much space is left on the page (more or less). + \dimen2 = \pageheight \advance\dimen2 by -\pagetotal + % if the group doesn't fit on the current page, and it's a big big + % group, force a page break. + \ifdim \dimen0 > \dimen2 + \ifdim \pagetotal < \vfilllimit\pageheight + \page + \fi + \fi + \box\groupbox + \prevdepth = \dimen1 + \checkinserts +} +% % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % @@ -601,10 +753,8 @@ where each line of input produces a line of output.} \newdimen\mil \mil=0.001in -\def\need{\parsearg\needx} - % Old definition--didn't work. -%\def\needx #1{\par % +%\parseargdef\need{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% @@ -612,7 +762,7 @@ where each line of input produces a line of output.} %\prevdepth=-1000pt %}} -\def\needx#1{% +\parseargdef\need{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par @@ -651,37 +801,11 @@ where each line of input produces a line of output.} \fi } -% @br forces paragraph break +% @br forces paragraph break (and is undocumented). \let\br = \par -% @dots{} output an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in a typewriter -% font as three actual period characters. -% -\def\dots{% - \leavevmode - \hbox to 1.5em{% - \hskip 0pt plus 0.25fil minus 0.25fil - .\hss.\hss.% - \hskip 0pt plus 0.5fil minus 0.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \leavevmode - \hbox to 2em{% - \hskip 0pt plus 0.25fil minus 0.25fil - .\hss.\hss.\hss.% - \hskip 0pt plus 0.5fil minus 0.5fil - }% - \spacefactor=3000 -} - - -% @page forces the start of a new page +% @page forces the start of a new page. % \def\page{\par\vfill\supereject} @@ -693,13 +817,11 @@ where each line of input produces a line of output.} \newskip\exdentamount % This defn is used inside fill environments such as @defun. -\def\exdent{\parsearg\exdentyyy} -\def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}} +\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} % This defn is used inside nofill environments such as @example. -\def\nofillexdent{\parsearg\nofillexdentyyy} -\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount -\leftline{\hskip\leftskip{\rm#1}}}} +\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount + \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion @@ -730,10 +852,10 @@ where each line of input produces a line of output.} % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). -% +% \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% + \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% @@ -751,37 +873,71 @@ where each line of input produces a line of output.} } % @include file insert text of that file as input. -% Allow normal characters that we make active in the argument (a file name). -\def\include{\begingroup - \catcode`\\=12 - \catcode`~=12 - \catcode`^=12 - \catcode`_=12 - \catcode`|=12 - \catcode`<=12 - \catcode`>=12 - \catcode`+=12 - \parsearg\includezzz} -% Restore active chars for included file. -\def\includezzz#1{\endgroup\begingroup - % Read the included file in a group so nested @include's work. +% +\def\include{\parseargusing\filenamecatcodes\includezzz} +\def\includezzz#1{% + \pushthisfilestack \def\thisfile{#1}% - \input\thisfile -\endgroup} + {% + \makevalueexpandable + \def\temp{\input #1 }% + \expandafter + }\temp + \popthisfilestack +} +\def\filenamecatcodes{% + \catcode`\\=\other + \catcode`~=\other + \catcode`^=\other + \catcode`_=\other + \catcode`|=\other + \catcode`<=\other + \catcode`>=\other + \catcode`+=\other + \catcode`-=\other +} + +\def\pushthisfilestack{% + \expandafter\pushthisfilestackX\popthisfilestack\StackTerm +} +\def\pushthisfilestackX{% + \expandafter\pushthisfilestackY\thisfile\StackTerm +} +\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% + \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% +} + +\def\popthisfilestack{\errthisfilestackempty} +\def\errthisfilestackempty{\errmessage{Internal error: + the stack of filenames is empty.}} \def\thisfile{} -% @center line outputs that line, centered - -\def\center{\parsearg\centerzzz} -\def\centerzzz #1{{\advance\hsize by -\leftskip -\advance\hsize by -\rightskip -\centerline{#1}}} +% @center line +% outputs that line, centered. +% +\parseargdef\center{% + \ifhmode + \let\next\centerH + \else + \let\next\centerV + \fi + \next{\hfil \ignorespaces#1\unskip \hfil}% +} +\def\centerH#1{% + {% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break + }% +} +\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} % @sp n outputs n lines of vertical space -\def\sp{\parsearg\spxxx} -\def\spxxx #1{\vskip #1\baselineskip} +\parseargdef\sp{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment @@ -796,13 +952,13 @@ where each line of input produces a line of output.} % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. -% We cannot implement @paragraphindent asis, though. -% +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % -\def\paragraphindent{\parsearg\doparagraphindent} -\def\doparagraphindent#1{% +\parseargdef\paragraphindent{% \def\temp{#1}% \ifx\temp\asisword \else @@ -819,8 +975,7 @@ where each line of input produces a line of output.} % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. -\def\exampleindent{\parsearg\doexampleindent} -\def\doexampleindent#1{% +\parseargdef\exampleindent{% \def\temp{#1}% \ifx\temp\asisword \else @@ -832,51 +987,147 @@ where each line of input produces a line of output.} \fi } +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indent at such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. +% We switch the definition of this back and forth according to WORD. +% By default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\def\insertword{insert} +% +\parseargdef\firstparagraphindent{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent{% + \restorefirstparagraphindent + \indent + }% + \gdef\noindent{% + \restorefirstparagraphindent + \noindent + }% + \global\everypar = {% + \kern -\parindent + \restorefirstparagraphindent + }% +} + +\gdef\restorefirstparagraphindent{% + \global \let \indent = \ptexindent + \global \let \noindent = \ptexnoindent + \global \everypar = {}% +} + + % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. -% We don't use $'s directly in the definition of \math because we need -% to set catcodes according to plain TeX first, to allow for subscripts, -% superscripts, special math chars, etc. -% -% @math does not do math typesetting in section titles, index -% entries, and other such contexts where the catcodes are set before -% @math gets a chance to work. This could perhaps be fixed, but for now -% at least we can have real math in the main text, where it's needed most. -% -\let\implicitmath = $%$ font-lock fix % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ within @math be active (mathcode "8000), and distinguish by seeing -% if the current family is \slfam, which is what @var uses. -% -{\catcode95 = \active % 95 = _ -\gdef\mathunderscore{% - \catcode95=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% -}} -% +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode`\_ = \active + \gdef\mathunderscore{% + \catcode`\_=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. -% +% % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex - \mathcode`\_="8000 \mathunderscore + \mathunderscore \let\\ = \mathbackslash - \implicitmath\finishmath} -\def\finishmath#1{#1\implicitmath\Etex} + \mathactive + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + } +} % @bullet and @minus need the same treatment as @math, just above. -\def\bullet{\implicitmath\ptexbullet\implicitmath} -\def\minus{\implicitmath-\implicitmath} +\def\bullet{$\ptexbullet$} +\def\minus{$-$} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. +% +\def\dots{% + \leavevmode + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em + \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=\endofsentencespacefactor +} + +% @comma{} is so commas can be inserted into text without messing up +% Texinfo's parsing. +% +\let\comma = , % @refill is a no-op. \let\refill=\relax @@ -892,20 +1143,20 @@ where each line of input produces a line of output.} % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% + \fixbackslash % Turn off hack to swallow `\input texinfo'. \iflinks - \readauxfile + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux \fi % \openindices needs to do some work in any case. \openindices - \fixbackslash % Turn off hack to swallow `\input texinfo'. - \global\let\setfilename=\comment % Ignore extra @setfilename cmds. + \let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. - % Just to be on the safe side, close the input stream before the \input. \openin 1 texinfo.cnf - \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi - \closein1 - \temp + \ifeof 1 \else \input texinfo.cnf \fi + \closein 1 % \comment % Ignore the actual filename. } @@ -941,20 +1192,76 @@ where each line of input produces a line of output.} \newif\ifpdf \newif\ifpdfmakepagedest +% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 +% can be set). So we test for \relax and 0 as well as \undefined, +% borrowed from ifpdf.sty. \ifx\pdfoutput\undefined - \pdffalse - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\linkcolor = \relax - \let\pdfmakeoutlines = \relax \else - \pdftrue - \pdfoutput = 1 + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \pdftrue + \fi + \fi +\fi + +% PDF uses PostScript string constants for the names of xref targets, +% for display in the outlines, and in other places. Thus, we have to +% double any backslashes. Otherwise, a name like "\node" will be +% interpreted as a newline (\n), followed by o, d, e. Not good. +% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html +% (and related messages, the final outcome is that it is up to the TeX +% user to double the backslashes and otherwise make the string valid, so +% that's what we do). + +% double active backslashes. +% +{\catcode`\@=0 \catcode`\\=\active + @gdef@activebackslashdouble{% + @catcode`@\=@active + @let\=@doublebackslash} +} + +% To handle parens, we must adopt a different approach, since parens are +% not active characters. hyperref.dtx (which has the same problem as +% us) handles it with this amazing macro to replace tokens. I've +% tinkered with it a little for texinfo, but it's definitely from there. +% +% #1 is the tokens to replace. +% #2 is the replacement. +% #3 is the control sequence with the string. +% +\def\HyPsdSubst#1#2#3{% + \def\HyPsdReplace##1#1##2\END{% + ##1% + \ifx\\##2\\% + \else + #2% + \HyReturnAfterFi{% + \HyPsdReplace##2\END + }% + \fi + }% + \xdef#3{\expandafter\HyPsdReplace#3#1\END}% +} +\long\def\HyReturnAfterFi#1\fi{\fi#1} + +% #1 is a control sequence in which to do the replacements. +\def\backslashparens#1{% + \xdef#1{#1}% redefine it as its expansion; the definition is simply + % \lastnode when called from \setref -> \pdfmkdest. + \HyPsdSubst{(}{\realbackslash(}{#1}% + \HyPsdSubst{)}{\realbackslash)}{#1}% +} + +\ifpdf \input pdfcolor + \pdfcatalog{/PageMode /UseOutlines}% + % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}% - \def\imageheight{#3}% + \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% % without \immediate, pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 @@ -962,18 +1269,29 @@ where each line of input produces a line of output.} \else \immediate\pdfximage \fi - \ifx\empty\imagewidth\else width \imagewidth \fi - \ifx\empty\imageheight\else height \imageheight \fi + \ifdim \wd0 >0pt width \imagewidth \fi + \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 - #1.pdf% + #1.pdf% \else {#1.pdf}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} - \def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}} - \def\pdfmkpgn#1{#1} + \def\pdfmkdest#1{{% + % We have to set dummies so commands such as @code, and characters + % such as \, aren't expanded when present in a section title. + \atdummies + \activebackslashdouble + \def\pdfdestname{#1}% + \backslashparens\pdfdestname + \pdfdest name{\pdfdestname} xyz% + }}% + % + % used to mark target names; must be expandable. + \def\pdfmkpgn#1{#1}% + % \let\linkcolor = \Blue % was Cyan, but that seems light? \def\endlink{\Black\pdfendlink} % Adding outlines to PDF; macros for calculating structure of outlines @@ -981,80 +1299,106 @@ where each line of input produces a line of output.} \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by1 + \advance\tempnum by 1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - \def\pdfmakeoutlines{{% - \openin 1 \jobname.toc - \ifeof 1\else\begingroup - \closein 1 - \indexnofonts - \def\tt{} - \let\_ = \normalunderscore - % Thanh's hack / proper braces in bookmarks + % + % #1 is the section text, which is what will be displayed in the + % outline by the pdf viewer. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node text, + % which might be empty if this toc entry had no corresponding node. + % #4 is the page number + % + \def\dopdfoutline#1#2#3#4{% + % Generate a link to the node text if that exists; else, use the + % page number. We could generate a destination for the section + % text in the case where a section has no node, but it doesn't + % seem worth the trouble, since most documents are normally structured. + \def\pdfoutlinedest{#3}% + \ifx\pdfoutlinedest\empty + \def\pdfoutlinedest{#4}% + \else + % Doubled backslashes in the name. + {\activebackslashdouble \xdef\pdfoutlinedest{#3}% + \backslashparens\pdfoutlinedest}% + \fi + % + % Also double the backslashes in the display string. + {\activebackslashdouble \xdef\pdfoutlinetext{#1}% + \backslashparens\pdfoutlinetext}% + % + \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% + } + % + \def\pdfmakeoutlines{% + \begingroup + % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % - \def\chapentry ##1##2##3{} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{} - \def\secentry ##1##2##3##4{\advancenumber{chap##2}} - \def\unnumbsecentry ##1##2##3{\advancenumber{chap##2}} - \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} - \def\unnumbsubsecentry ##1##2##3##4{\advancenumber{sec##2.##3}} - \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} - \def\unnumbsubsubsecentry ##1##2##3##4##5{\advancenumber{subsec##2.##3.##4}} + % Read toc silently, to get counts of subentries for \pdfoutline. + \def\numchapentry##1##2##3##4{% + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% + }% + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + % + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% + \def\appsecentry{\numsecentry}% + \def\appsubsecentry{\numsubsecentry}% + \def\appsubsubsecentry{\numsubsubsecentry}% + \def\unnchapentry{\numchapentry}% + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% + \readdatafile{toc}% + % + % Read toc second time, this time actually producing the outlines. + % The `-' means take the \expnumber as the absolute number of + % subentries, which we calculated on our first read of the .toc above. + % + % We use the node names as the destinations. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% + % + % PDF outlines are displayed using system fonts, instead of + % document fonts. Therefore we cannot use special characters, + % since the encoding is unknown. For example, the eogonek from + % Latin 2 (0xea) gets translated to a | character. Info from + % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. + % + % xx to do this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Right + % now, I guess we'll just let the pdf reader have its way. + \indexnofonts + \setupdatafile + \catcode`\\=\active \otherbackslash \input \jobname.toc - \def\chapentry ##1##2##3{% - \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} - \let\appendixentry = \chapentry - \def\unnumbchapentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \def\secentry ##1##2##3##4{% - \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} - \def\unnumbsecentry ##1##2##3{% - \pdfoutline goto name{\pdfmkpgn{##3}}{##1}} - \def\subsecentry ##1##2##3##4##5{% - \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} - \def\unnumbsubsecentry ##1##2##3##4{% - \pdfoutline goto name{\pdfmkpgn{##4}}{##1}} - \def\subsubsecentry ##1##2##3##4##5##6{% - \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} - \def\unnumbsubsubsecentry ##1##2##3##4##5{% - \pdfoutline goto name{\pdfmkpgn{##5}}{##1}} - \input \jobname.toc - \endgroup\fi - }} - \def\makelinks #1,{% - \def\params{#1}\def\E{END}% - \ifx\params\E - \let\nextmakelinks=\relax - \else - \let\nextmakelinks=\makelinks - \ifnum\lnkcount>0,\fi - \picknum{#1}% - \startlink attr{/Border [0 0 0]} - goto name{\pdfmkpgn{\the\pgn}}% - \linkcolor #1% - \advance\lnkcount by 1% - \endlink - \fi - \nextmakelinks + \endgroup } - \def\picknum#1{\expandafter\pn#1} - \def\pn#1{% - \def\p{#1}% - \ifx\p\lbrace - \let\nextpn=\ppn - \else - \let\nextpn=\ppnn - \def\first{#1} - \fi - \nextpn - } - \def\ppn#1{\pgn=#1\gobble} - \def\ppnn{\pgn=\first} - \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + % \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces @@ -1069,25 +1413,32 @@ where each line of input produces a line of output.} \else \let \startlink \pdfstartlink \fi + % make a live url in pdf output. \def\pdfurl#1{% \begingroup - \normalturnoffactive\def\@{@}% - \let\value=\expandablevalue + % it seems we really need yet another set of dummies; have not + % tried to figure out what each command should do in the context + % of @url. for now, just make @/ a no-op, that's the only one + % people have actually reported a problem with. + % + \normalturnoffactive + \def\@{@}% + \let\/=\empty + \makevalueexpandable \leavevmode\Red \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - % #1 \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS| + \expandafter\poptoks\the\toksA|ENDTOKS|\relax \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else @@ -1103,20 +1454,45 @@ where each line of input produces a line of output.} \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \linkcolor #1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\fi % \ifx\pdfoutput +\else + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\linkcolor = \relax + \let\pdfmakeoutlines = \relax +\fi % \ifx\pdfoutput \message{fonts,} -% Font-change commands. + +% Change the current font style to #1, remembering it in \curfontstyle. +% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in +% italics, not bold italics. +% +\def\setfontstyle#1{% + \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. + \csname ten#1\endcsname % change the current font +} + +% Select #1 fonts with the current style. +% +\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} + +\def\rm{\fam=0 \setfontstyle{rm}} +\def\it{\fam=\itfam \setfontstyle{it}} +\def\sl{\fam=\slfam \setfontstyle{sl}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} +\def\tt{\fam=\ttfam \setfontstyle{tt}} % Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf analogous to plain's \rm, etc. +% So we set up a \sf. \newfam\sffam -\def\sf{\fam=\sffam \tensf} +\def\sf{\fam=\sffam \setfontstyle{sf}} \let\li = \sf % Sometimes we call it \li, not \sf. -% We don't need math for this one. -\def\ttsl{\tenttsl} +% We don't need math for this font style. +\def\ttsl{\setfontstyle{ttsl}} + % Default leading. \newdimen\textleading \textleading = 13.2pt @@ -1139,11 +1515,13 @@ where each line of input produces a line of output.} }% } + % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor \def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} + % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. @@ -1167,20 +1545,15 @@ where each line of input produces a line of output.} \def\scshape{csc} \def\scbshape{csc} -\newcount\mainmagstep -\ifx\bigger\relax - % not really supported. - \let\mainmagstep=\magstep1 - \setfont\textrm\rmshape{12}{1000} - \setfont\texttt\ttshape{12}{1000} -\else - \mainmagstep=\magstephalf - \setfont\textrm\rmshape{10}{\mainmagstep} - \setfont\texttt\ttshape{10}{\mainmagstep} -\fi -% Instead of cmb10, you many want to use cmbx10. -% cmbx10 is a prettier font on its own, but cmb10 -% looks better when embedded in a line with cmr10. +% Definitions for a main text size of 11pt. This is the default in +% Texinfo. +% +\def\definetextfontsizexi{ +% Text fonts (11.2pt, magstep1). +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} \setfont\textbf\bfshape{10}{\mainmagstep} \setfont\textit\itshape{10}{\mainmagstep} \setfont\textsl\slshape{10}{\mainmagstep} @@ -1190,12 +1563,14 @@ where each line of input produces a line of output.} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep -% A few fonts for @defun, etc. -\setfont\defbf\bxshape{10}{\magstep1} %was 1314 +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstep1} \setfont\deftt\ttshape{10}{\magstep1} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf} +\setfont\defttsl\ttslshape{10}{\magstep1} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} \setfont\smallrm\rmshape{9}{1000} \setfont\smalltt\ttshape{9}{1000} \setfont\smallbf\bfshape{10}{900} @@ -1208,6 +1583,7 @@ where each line of input produces a line of output.} \font\smallsy=cmsy9 % Fonts for small examples (8pt). +\def\smallernominalsize{8pt} \setfont\smallerrm\rmshape{8}{1000} \setfont\smallertt\ttshape{8}{1000} \setfont\smallerbf\bfshape{10}{800} @@ -1219,7 +1595,8 @@ where each line of input produces a line of output.} \font\smalleri=cmmi8 \font\smallersy=cmsy8 -% Fonts for title page: +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} \setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titleit\itbshape{10}{\magstep4} \setfont\titlesl\slbshape{10}{\magstep4} @@ -1231,8 +1608,10 @@ where each line of input produces a line of output.} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} +\def\authortt{\sectt} % Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} \setfont\chaprm\rmbshape{12}{\magstep2} \setfont\chapit\itbshape{10}{\magstep3} \setfont\chapsl\slbshape{10}{\magstep3} @@ -1245,6 +1624,7 @@ where each line of input produces a line of output.} \font\chapsy=cmsy10 scaled \magstep3 % Section fonts (14.4pt). +\def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1} \setfont\secit\itbshape{10}{\magstep2} \setfont\secsl\slbshape{10}{\magstep2} @@ -1257,6 +1637,7 @@ where each line of input produces a line of output.} \font\secsy=cmsy10 scaled \magstep2 % Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} \setfont\ssecrm\rmbshape{12}{\magstephalf} \setfont\ssecit\itbshape{10}{1315} \setfont\ssecsl\slbshape{10}{1315} @@ -1264,11 +1645,181 @@ where each line of input produces a line of output.} \setfont\ssecttsl\ttslshape{10}{1315} \setfont\ssecsf\sfbshape{12}{\magstephalf} \let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{\magstep1} +\setfont\ssecsc\scbshape{10}{1315} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 -% The smallcaps and symbol fonts should actually be scaled \magstep1.5, -% but that is not a standard magnification. + +% Reduced fonts for @acro in text (10pt). +\def\reducednominalsize{10pt} +\setfont\reducedrm\rmshape{10}{1000} +\setfont\reducedtt\ttshape{10}{1000} +\setfont\reducedbf\bfshape{10}{1000} +\setfont\reducedit\itshape{10}{1000} +\setfont\reducedsl\slshape{10}{1000} +\setfont\reducedsf\sfshape{10}{1000} +\setfont\reducedsc\scshape{10}{1000} +\setfont\reducedttsl\ttslshape{10}{1000} +\font\reducedi=cmmi10 +\font\reducedsy=cmsy10 + +% reset the current fonts +\textfonts +\rm +} % end of 11pt text font size definitions + + +% Definitions to make the main text be 10pt Computer Modern, with +% section, chapter, etc., sizes following suit. This is for the GNU +% Press printing of the Emacs 22 manual. Maybe other manuals in the +% future. Used with @smallbook, which sets the leading to 12pt. +% +\def\definetextfontsizex{% +% Text fonts (10pt). +\def\textnominalsize{10pt} +\edef\mainmagstep{1000} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} +\setfont\textbf\bfshape{10}{\mainmagstep} +\setfont\textit\itshape{10}{\mainmagstep} +\setfont\textsl\slshape{10}{\mainmagstep} +\setfont\textsf\sfshape{10}{\mainmagstep} +\setfont\textsc\scshape{10}{\mainmagstep} +\setfont\textttsl\ttslshape{10}{\mainmagstep} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstephalf} +\setfont\deftt\ttshape{10}{\magstephalf} +\setfont\defttsl\ttslshape{10}{\magstephalf} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000} +\setfont\smalltt\ttshape{9}{1000} +\setfont\smallbf\bfshape{10}{900} +\setfont\smallit\itshape{9}{1000} +\setfont\smallsl\slshape{9}{1000} +\setfont\smallsf\sfshape{9}{1000} +\setfont\smallsc\scshape{10}{900} +\setfont\smallttsl\ttslshape{10}{900} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000} +\setfont\smallertt\ttshape{8}{1000} +\setfont\smallerbf\bfshape{10}{800} +\setfont\smallerit\itshape{8}{1000} +\setfont\smallersl\slshape{8}{1000} +\setfont\smallersf\sfshape{8}{1000} +\setfont\smallersc\scshape{10}{800} +\setfont\smallerttsl\ttslshape{10}{800} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3} +\setfont\titleit\itbshape{10}{\magstep4} +\setfont\titlesl\slbshape{10}{\magstep4} +\setfont\titlett\ttbshape{12}{\magstep3} +\setfont\titlettsl\ttslshape{10}{\magstep4} +\setfont\titlesf\sfbshape{17}{\magstep1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} + +% Chapter fonts (14.4pt). +\def\chapnominalsize{14pt} +\setfont\chaprm\rmbshape{12}{\magstep1} +\setfont\chapit\itbshape{10}{\magstep2} +\setfont\chapsl\slbshape{10}{\magstep2} +\setfont\chaptt\ttbshape{12}{\magstep1} +\setfont\chapttsl\ttslshape{10}{\magstep2} +\setfont\chapsf\sfbshape{12}{\magstep1} +\let\chapbf\chaprm +\setfont\chapsc\scbshape{10}{\magstep2} +\font\chapi=cmmi12 scaled \magstep1 +\font\chapsy=cmsy10 scaled \magstep2 + +% Section fonts (12pt). +\def\secnominalsize{12pt} +\setfont\secrm\rmbshape{12}{1000} +\setfont\secit\itbshape{10}{\magstep1} +\setfont\secsl\slbshape{10}{\magstep1} +\setfont\sectt\ttbshape{12}{1000} +\setfont\secttsl\ttslshape{10}{\magstep1} +\setfont\secsf\sfbshape{12}{1000} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep1} +\font\seci=cmmi12 +\font\secsy=cmsy10 scaled \magstep1 + +% Subsection fonts (10pt). +\def\ssecnominalsize{10pt} +\setfont\ssecrm\rmbshape{10}{1000} +\setfont\ssecit\itbshape{10}{1000} +\setfont\ssecsl\slbshape{10}{1000} +\setfont\ssectt\ttbshape{10}{1000} +\setfont\ssecttsl\ttslshape{10}{1000} +\setfont\ssecsf\sfbshape{10}{1000} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1000} +\font\sseci=cmmi10 +\font\ssecsy=cmsy10 + +% Reduced fonts for @acro in text (9pt). +\def\reducednominalsize{9pt} +\setfont\reducedrm\rmshape{9}{1000} +\setfont\reducedtt\ttshape{9}{1000} +\setfont\reducedbf\bfshape{10}{900} +\setfont\reducedit\itshape{9}{1000} +\setfont\reducedsl\slshape{9}{1000} +\setfont\reducedsf\sfshape{9}{1000} +\setfont\reducedsc\scshape{10}{900} +\setfont\reducedttsl\ttslshape{10}{900} +\font\reducedi=cmmi9 +\font\reducedsy=cmsy9 + +% reduce space between paragraphs +\divide\parskip by 2 + +% reset the current fonts +\textfonts +\rm +} % end of 10pt text font size definitions + + +% We provide the user-level command +% @fonttextsize 10 +% (or 11) to redefine the text font size. pt is assumed. +% +\def\xword{10} +\def\xiword{11} +% +\parseargdef\fonttextsize{% + \def\textsizearg{#1}% + \wlog{doing @fonttextsize \textsizearg}% + % + % Set \globaldefs so that documents can use this inside @tex, since + % makeinfo 4.8 does not support it, but we need it nonetheless. + % + \begingroup \globaldefs=1 + \ifx\textsizearg\xword \definetextfontsizex + \else \ifx\textsizearg\xiword \definetextfontsizexi + \else + \errhelp=\EMsimple + \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} + \fi\fi + \endgroup +} + % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since @@ -1283,56 +1834,104 @@ where each line of input produces a line of output.} } % The font-changing commands redefine the meanings of \tenSTYLE, instead -% of just \STYLE. We do this so that font changes will continue to work -% in math mode, where it is the current \fam that is relevant in most -% cases, not the current font. Plain TeX does \def\bf{\fam=\bffam -% \tenbf}, for example. By redefining \tenbf, we obviate the need to -% redefine \bf itself. +% of just \STYLE. We do this because \STYLE needs to also set the +% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire +% \tenSTYLE to set the current font. +% +% Each font-changing command also sets the names \lsize (one size lower) +% and \lllsize (three sizes lower). These relative commands are used in +% the LaTeX logo and acronyms. +% +% This all needs generalizing, badly. +% \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc - \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl + \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy + \let\tenttsl=\textttsl + \def\curfontsize{text}% + \def\lsize{reduced}\def\lllsize{smaller}% \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl + \def\curfontsize{title}% + \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl + \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy + \let\tenttsl=\chapttsl + \def\curfontsize{chap}% + \def\lsize{sec}\def\lllsize{text}% \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc - \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl + \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy + \let\tenttsl=\secttsl + \def\curfontsize{sec}% + \def\lsize{subsec}\def\lllsize{reduced}% \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc - \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl + \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy + \let\tenttsl=\ssecttsl + \def\curfontsize{ssec}% + \def\lsize{text}\def\lllsize{small}% \resetmathfonts \setleading{15pt}} -\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf? +\let\subsubsecfonts = \subsecfonts +\def\reducedfonts{% + \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl + \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc + \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy + \let\tenttsl=\reducedttsl + \def\curfontsize{reduced}% + \def\lsize{small}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl + \def\curfontsize{small}% + \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl + \def\curfontsize{smaller}% + \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} -\let\smallexamplefonts = \smallerfonts + +% Set the fonts to use with the @small... environments. +\let\smallexamplefonts = \smallfonts + +% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample +% can fit this many characters: +% 8.5x11=86 smallbook=72 a4=90 a5=69 +% If we use \scriptfonts (8pt), then we can fit this many characters: +% 8.5x11=90+ smallbook=80 a4=90+ a5=77 +% For me, subjectively, the few extra characters that fit aren't worth +% the additional smallness of 8pt. So I'm making the default 9pt. +% +% By the way, for comparison, here's what fits with @example (10pt): +% 8.5x11=71 smallbook=60 a4=75 a5=58 +% +% I wish the USA used A4 paper. +% --karl, 24jan03. + % Set up the default fonts, so we can use them for creating boxes. % -\textfonts +\definetextfontsizexi % Define these so they can be easily changed for other fonts. \def\angleleft{$\langle$} @@ -1343,27 +1942,41 @@ where each line of input produces a line of output.} % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000} -\setfont\shortcontbf\bxshape{12}{1000} +\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 \setfont\shortcontsl\slshape{12}{1000} +\setfont\shortconttt\ttshape{12}{1000} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi} -\def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx} +\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else + \ptexslash\fi\fi\fi} +\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} +\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally uses \ttsl. +% @var is set to this for defun arguments. +\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally use \sl. We never want +% ttsl for book titles, do we? +\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic +\let\slanted=\smartslanted \let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic -\let\cite=\smartslanted +% @b, explicit bold. \def\b#1{{\bf #1}} \let\strong=\b +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. @@ -1371,11 +1984,28 @@ where each line of input produces a line of output.} \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } +% Set sfcode to normal for the chars that usually have another value. +% Can't use plain's \frenchspacing because it uses the `\x notation, and +% sometimes \x has an active definition that messes things up. +% +\catcode`@=11 + \def\plainfrenchspacing{% + \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m + \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m + \def\endofsentencespacefactor{1000}% for @. and friends + } + \def\plainnonfrenchspacing{% + \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 + \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 + \def\endofsentencespacefactor{3000}% for @. and friends + } +\catcode`@=\other +\def\endofsentencespacefactor{3000}% default + \def\t#1{% - {\tt \rawbackslash \frenchspacing #1}% + {\tt \rawbackslash \plainfrenchspacing #1}% \null } -\let\ttfont=\t \def\samp#1{`\tclose{#1}'\null} \setfont\keyrm\rmshape{8}{1000} \font\keysy=cmsy9 @@ -1410,13 +2040,13 @@ where each line of input produces a line of output.} \nohyphenation % \rawbackslash - \frenchspacing + \plainfrenchspacing #1% }% \null } -% We *must* turn on hyphenation at `-' and `_' in \code. +% We *must* turn on hyphenation at `-' and `_' in @code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. @@ -1426,18 +2056,23 @@ where each line of input produces a line of output.} % and arrange explicitly to hyphenate at a dash. % -- rms. { - \catcode`\-=\active - \catcode`\_=\active + \catcode`\-=\active \catcode`\_=\active + \catcode`\'=\active \catcode`\`=\active % \global\def\code{\begingroup - \catcode`\-=\active \let-\codedash - \catcode`\_=\active \let_\codeunder + \catcode\rquoteChar=\active \catcode\lquoteChar=\active + \let'\codequoteright \let`\codequoteleft + % + \catcode\dashChar=\active \catcode\underChar=\active + \ifallowcodebreaks + \let-\codedash + \let_\codeunder + \else + \let-\realdash + \let_\realunder + \fi \codex } - % - % If we end up with any active - characters when handling the index, - % just treat them as a normal -. - \global\def\indexbreaks{\catcode`\-=\active \let-\realdash} } \def\realdash{-} @@ -1455,30 +2090,53 @@ where each line of input produces a line of output.} } \def\codex #1{\tclose{#1}\endgroup} +% An additional complication: the above will allow breaks after, e.g., +% each of the four underscores in __typeof__. This is undesirable in +% some manuals, especially if they don't have long identifiers in +% general. @allowcodebreaks provides a way to control this. +% +\newif\ifallowcodebreaks \allowcodebreakstrue + +\def\keywordtrue{true} +\def\keywordfalse{false} + +\parseargdef\allowcodebreaks{% + \def\txiarg{#1}% + \ifx\txiarg\keywordtrue + \allowcodebreakstrue + \else\ifx\txiarg\keywordfalse + \allowcodebreaksfalse + \else + \errhelp = \EMsimple + \errmessage{Unknown @allowcodebreaks option `\txiarg'}% + \fi\fi +} + % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). -\def\kbdinputstyle{\parsearg\kbdinputstylexxx} -\def\kbdinputstylexxx#1{% - \def\arg{#1}% - \ifx\arg\worddistinct +\parseargdef\kbdinputstyle{% + \def\txiarg{#1}% + \ifx\txiarg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\arg\wordexample + \else\ifx\txiarg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\arg\wordcode + \else\ifx\txiarg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% + \else + \errhelp = \EMsimple + \errmessage{Unknown @kbdinputstyle option `\txiarg'}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} -% Default is kbdinputdistinct. (Too much of a hassle to call the macro, -% the catcodes are wrong for parsearg to work.) -\gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl} +% Default is `distinct.' +\kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% @@ -1486,8 +2144,8 @@ where each line of input produces a line of output.} \else{\tclose{\kbdfont\look}}\fi \else{\tclose{\kbdfont\look}}\fi} -% For @url, @env, @command quotes seem unnecessary, so use \code. -\let\url=\code +% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. +\let\indicateurl=\code \let\env=\code \let\command=\code @@ -1519,9 +2177,13 @@ where each line of input produces a line of output.} \endlink \endgroup} +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. -% +% %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} @@ -1560,12 +2222,105 @@ where each line of input produces a line of output.} \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font -% @acronym downcases the argument and prints in smallcaps. -\def\acronym#1{{\smallcaps \lowercase{#1}}} +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\selectfonts\lsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} -% @pounds{} is a sterling sign. +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\plainfrenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @pounds{} is a sterling sign, which Knuth put in the CM italic font. +% \def\pounds{{\it\$}} +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + +% @registeredsymbol - R in a circle. The font for the R should really +% be smaller yet, but lllsize is the best we can do for now. +% Adapted from the plain.tex definition of \copyright. +% +\def\registeredsymbol{% + $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% + \hfil\crcr\Orb}}% + }$% +} + +% @textdegree - the normal degrees sign. +% +\def\textdegree{$^\circ$} + +% Laurent Siebenmann reports \Orb undefined with: +% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 +% so we'll define it if necessary. +% +\ifx\Orb\undefined +\def\Orb{\mathhexbox20D} +\fi + \message{page headings,} @@ -1584,86 +2339,103 @@ where each line of input produces a line of output.} \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue -\def\shorttitlepage{\parsearg\shorttitlepagezzz} -\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% +\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} -\def\titlepage{\begingroup \parindent=0pt \textfonts - \let\subtitlerm=\tenrm - \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% - % - \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}% - % - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % - % Now you can print the title using @title. - \def\title{\parsearg\titlezzz}% - \def\titlezzz##1{\leftline{\titlefonts\rm ##1} - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt}% - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Now you can put text using @subtitle. - \def\subtitle{\parsearg\subtitlezzz}% - \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}% - % - % @author should come last, but may come many times. - \def\author{\parsearg\authorzzz}% - \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi - {\authorfont \leftline{##1}}}% - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% +\envdef\titlepage{% + % Open one extra group, as we want to close it in the middle of \Etitlepage. + \begingroup + \parindent=0pt \textfonts + % Leave some space at the very top of the page. + \vglue\titlepagetopglue + % No rule at page bottom unless we print one at the top with @title. + \finishedtitlepagetrue + % + % Most title ``pages'' are actually two pages long, with space + % at the top of the second. We don't want the ragged left on the second. + \let\oldpage = \page + \def\page{% \iffinishedtitlepage\else - \finishtitlepage + \finishtitlepage \fi - \oldpage \let\page = \oldpage - \hbox{}}% -% \def\page{\oldpage \hbox{}} + \page + \null + }% } \def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon - % - % If they want short, they certainly want long too. - \ifsetshortcontentsaftertitlepage - \shortcontents - \contents - \global\let\shortcontents = \relax - \global\let\contents = \relax - \fi - % - \ifsetcontentsaftertitlepage - \contents - \global\let\contents = \relax - \global\let\shortcontents = \relax - \fi + \iffinishedtitlepage\else + \finishtitlepage + \fi + % It is important to do the page break before ending the group, + % because the headline and footline are only empty inside the group. + % If we use the new definition of \page, we always get a blank page + % after the title page, which we certainly don't want. + \oldpage + \endgroup + % + % Need this before the \...aftertitlepage checks so that if they are + % in effect the toc pages will come out with page numbers. + \HEADINGSon + % + % If they want short, they certainly want long too. + \ifsetshortcontentsaftertitlepage + \shortcontents + \contents + \global\let\shortcontents = \relax + \global\let\contents = \relax + \fi + % + \ifsetcontentsaftertitlepage + \contents + \global\let\contents = \relax + \global\let\shortcontents = \relax + \fi } \def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue + \vskip4pt \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue } +%%% Macros to be used within @titlepage: + +\let\subtitlerm=\tenrm +\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + +\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt} + +\parseargdef\title{% + \checkenv\titlepage + \leftline{\titlefonts\rm #1} + % print a rule at the page bottom also. + \finishedtitlepagefalse + \vskip4pt \hrule height 4pt width \hsize \vskip4pt +} + +\parseargdef\subtitle{% + \checkenv\titlepage + {\subtitlefont \rightline{#1}}% +} + +% @author should come last, but may come many times. +% It can also be used inside @quotation. +% +\parseargdef\author{% + \def\temp{\quotation}% + \ifx\thisenv\temp + \def\quotationauthor{#1}% printed in \Equotation. + \else + \checkenv\titlepage + \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi + {\authorfont \leftline{#1}}% + \fi +} + + %%% Set up page headings and footings. \let\thispage=\folio @@ -1673,7 +2445,7 @@ where each line of input produces a line of output.} \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages -% Now make Tex use those variables +% Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline @@ -1687,43 +2459,37 @@ where each line of input produces a line of output.} % @evenfooting @thisfile|| % @oddfooting ||@thisfile + \def\evenheading{\parsearg\evenheadingxxx} -\def\oddheading{\parsearg\oddheadingxxx} -\def\everyheading{\parsearg\everyheadingxxx} - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\oddfooting{\parsearg\oddfootingxxx} -\def\everyfooting{\parsearg\everyfootingxxx} - -{\catcode`\@=0 % - -\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish} -\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{% +\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} +\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish} -\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{% +\def\oddheading{\parsearg\oddheadingxxx} +\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} +\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}% +\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% -\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish} -\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{% +\def\evenfooting{\parsearg\evenfootingxxx} +\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} +\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} -\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish} -\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{% +\def\oddfooting{\parsearg\oddfootingxxx} +\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} +\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. - \global\advance\pageheight by -\baselineskip - \global\advance\vsize by -\baselineskip + \global\advance\pageheight by -12pt + \global\advance\vsize by -12pt } -\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}} -% -}% unbind the catcode of @. +\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} + % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. @@ -1737,7 +2503,7 @@ where each line of input produces a line of output.} \def\headings #1 {\csname HEADINGS#1\endcsname} -\def\HEADINGSoff{ +\def\HEADINGSoff{% \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff @@ -1746,7 +2512,7 @@ where each line of input produces a line of output.} % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. -\def\HEADINGSdouble{ +\def\HEADINGSdouble{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} @@ -1758,7 +2524,7 @@ where each line of input produces a line of output.} % For single-sided printing, chapter title goes across top left of page, % page number on top right. -\def\HEADINGSsingle{ +\def\HEADINGSsingle{% \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} @@ -1805,12 +2571,11 @@ where each line of input produces a line of output.} % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg\settitlezzz} -\def\settitlezzz #1{\gdef\thistitle{#1}} +\def\settitle{\parsearg{\gdef\thistitle}} \message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x). +% Tables -- @table, @ftable, @vtable, @item(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in @@ -1822,7 +2587,7 @@ where each line of input produces a line of output.} % used internally for \itemindent minus \itemmargin \newdimen\itemmax -% Note @table, @vtable, and @vtable define @item, @itemx, etc., with +% Note @table, @ftable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). @@ -1834,22 +2599,10 @@ where each line of input produces a line of output.} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} -\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz} -\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz} - -\def\internalBkitem{\smallbreak \parsearg\kitemzzz} -\def\internalBkitemx{\itemxpar \parsearg\kitemzzz} - -\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}% - \itemzzz {#1}} - -\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}% - \itemzzz {#1}} - \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent - \setbox0=\hbox{\itemfont{#1}}% + \setbox0=\hbox{\itemindicate{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % @@ -1873,10 +2626,14 @@ where each line of input produces a line of output.} % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % - % Stop a page break at the \parskip glue coming up. Unfortunately - % we can't prevent a possible page break at the following - % \baselineskip glue. - \nobreak + % Stop a page break at the \parskip glue coming up. However, if + % what follows is an environment such as @example, there will be no + % \parskip glue; then the negative vskip we just inserted would + % cause the example and the item to crash together. So we use this + % bizarre value of 10001 as a signal to \aboveenvbreak to insert + % \parskip glue after all. Section titles are handled this way also. + % + \penalty 10001 \endgroup \itemxneedsnegativevskipfalse \else @@ -1895,97 +2652,106 @@ where each line of input produces a line of output.} \fi } -\def\item{\errmessage{@item while not in a table}} -\def\itemx{\errmessage{@itemx while not in a table}} -\def\kitem{\errmessage{@kitem while not in a table}} -\def\kitemx{\errmessage{@kitemx while not in a table}} -\def\xitem{\errmessage{@xitem while not in a table}} -\def\xitemx{\errmessage{@xitemx while not in a table}} - -% Contains a kludge to get @end[description] to work. -\def\description{\tablez{\dontindex}{1}{}{}{}{}} +\def\item{\errmessage{@item while not in a list environment}} +\def\itemx{\errmessage{@itemx while not in a list environment}} % @table, @ftable, @vtable. -\def\table{\begingroup\inENV\obeylines\obeyspaces\tablex} -{\obeylines\obeyspaces% -\gdef\tablex #1^^M{% -\tabley\dontindex#1 \endtabley}} - -\def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex} -{\obeylines\obeyspaces% -\gdef\ftablex #1^^M{% -\tabley\fnitemindex#1 \endtabley -\def\Eftable{\endgraf\afterenvbreak\endgroup}% -\let\Etable=\relax}} - -\def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex} -{\obeylines\obeyspaces% -\gdef\vtablex #1^^M{% -\tabley\vritemindex#1 \endtabley -\def\Evtable{\endgraf\afterenvbreak\endgroup}% -\let\Etable=\relax}} - -\def\dontindex #1{} -\def\fnitemindex #1{\doind {fn}{\code{#1}}}% -\def\vritemindex #1{\doind {vr}{\code{#1}}}% - -{\obeyspaces % -\gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup% -\tablez{#1}{#2}{#3}{#4}{#5}{#6}}} - -\def\tablez #1#2#3#4#5#6{% -\aboveenvbreak % -\begingroup % -\def\Edescription{\Etable}% Necessary kludge. -\let\itemindex=#1% -\ifnum 0#3>0 \advance \leftskip by #3\mil \fi % -\ifnum 0#4>0 \tableindent=#4\mil \fi % -\ifnum 0#5>0 \advance \rightskip by #5\mil \fi % -\def\itemfont{#2}% -\itemmax=\tableindent % -\advance \itemmax by -\itemmargin % -\advance \leftskip by \tableindent % -\exdentamount=\tableindent -\parindent = 0pt -\parskip = \smallskipamount -\ifdim \parskip=0pt \parskip=2pt \fi% -\def\Etable{\endgraf\afterenvbreak\endgroup}% -\let\item = \internalBitem % -\let\itemx = \internalBitemx % -\let\kitem = \internalBkitem % -\let\kitemx = \internalBkitemx % -\let\xitem = \internalBxitem % -\let\xitemx = \internalBxitemx % +\envdef\table{% + \let\itemindex\gobble + \tablecheck{table}% } +\envdef\ftable{% + \def\itemindex ##1{\doind {fn}{\code{##1}}}% + \tablecheck{ftable}% +} +\envdef\vtable{% + \def\itemindex ##1{\doind {vr}{\code{##1}}}% + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next +} +\def\tablex#1{% + \def\itemindicate{#1}% + \parsearg\tabley +} +\def\tabley#1{% + {% + \makevalueexpandable + \edef\temp{\noexpand\tablez #1\space\space\space}% + \expandafter + }\temp \endtablez +} +\def\tablez #1 #2 #3 #4\endtablez{% + \aboveenvbreak + \ifnum 0#1>0 \advance \leftskip by #1\mil \fi + \ifnum 0#2>0 \tableindent=#2\mil \fi + \ifnum 0#3>0 \advance \rightskip by #3\mil \fi + \itemmax=\tableindent + \advance \itemmax by -\itemmargin + \advance \leftskip by \tableindent + \exdentamount=\tableindent + \parindent = 0pt + \parskip = \smallskipamount + \ifdim \parskip=0pt \parskip=2pt \fi + \let\item = \internalBitem + \let\itemx = \internalBitemx +} +\def\Etable{\endgraf\afterenvbreak} +\let\Eftable\Etable +\let\Evtable\Etable +\let\Eitemize\Etable +\let\Eenumerate\Etable % This is the counter used by @enumerate, which is really @itemize \newcount \itemno -\def\itemize{\parsearg\itemizezzz} +\envdef\itemize{\parsearg\doitemize} -\def\itemizezzz #1{% - \begingroup % ended by the @end itemize - \itemizey {#1}{\Eitemize} +\def\doitemize#1{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + \def\itemcontents{#1}% + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + \let\item=\itemizeitem } -\def\itemizey #1#2{% -\aboveenvbreak % -\itemmax=\itemindent % -\advance \itemmax by -\itemmargin % -\advance \leftskip by \itemindent % -\exdentamount=\itemindent -\parindent = 0pt % -\parskip = \smallskipamount % -\ifdim \parskip=0pt \parskip=2pt \fi% -\def#2{\endgraf\afterenvbreak\endgroup}% -\def\itemcontents{#1}% -\let\item=\itemizeitem} - -% Set sfcode to normal for the chars that usually have another value. -% These are `.?!:;,' -\def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000 - \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 } +% Definition of @item while inside @itemize and @enumerate. +% +\def\itemizeitem{% + \advance\itemno by 1 % for enumerations + {\let\par=\endgraf \smallbreak}% reasonable place to break + {% + % If the document has an @itemize directly after a section title, a + % \nobreak will be last on the list, and \sectionheading will have + % done a \vskip-\parskip. In that case, we don't want to zero + % parskip, or the item text will crash with the heading. On the + % other hand, when there is normal text preceding the item (as there + % usually is), we do want to zero parskip, or there would be too much + % space. In that case, we won't have a \nobreak before. At least + % that's the theory. + \ifnum\lastpenalty<10000 \parskip=0in \fi + \noindent + \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + \vadjust{\penalty 1200}}% not good to break after first line of item. + \flushcr +} % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. @@ -1996,11 +2762,8 @@ where each line of input produces a line of output.} % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % -\def\enumerate{\parsearg\enumeratezzz} -\def\enumeratezzz #1{\enumeratey #1 \endenumeratey} +\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% - \begingroup % ended by the @end enumerate - % % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi @@ -2071,13 +2834,13 @@ where each line of input produces a line of output.} }% } -% Call itemizey, adding a period to the first argument and supplying the +% Call \doitemize, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 - \itemizey{#1.}\Eenumerate\flushcr + \doitemize{#1.}\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg @@ -2088,16 +2851,6 @@ where each line of input produces a line of output.} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} -% Definition of @item while inside @itemize. - -\def\itemizeitem{% -\advance\itemno by 1 -{\let\par=\endgraf \smallbreak}% -\ifhmode \errmessage{In hmode at itemizeitem}\fi -{\parskip=0in \hskip 0pt -\hbox to 0pt{\hss \itemcontents\hskip \itemmargin}% -\vadjust{\penalty 1200}}% -\flushcr} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 @@ -2124,24 +2877,14 @@ where each line of input produces a line of output.} % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. -% -% For those who want to use more than one line's worth of words in -% the preamble, break the line within one argument and it -% will parse correctly, i.e., -% -% @multitable {Column 1 template} {Column 2 template} {Column 3 -% template} -% Not: -% @multitable {Column 1 template} {Column 2 template} -% {Column 3 template} % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. -% @item, @tab, @multitable or @end multitable do not need to be on their -% own lines, but it will not hurt if they are. +% @item, @tab do not need to be on their own lines, but it will not hurt +% if they are. % Sample multitable: @@ -2185,13 +2928,12 @@ where each line of input produces a line of output.} \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent -% #1 is the part of the @columnfraction before the decimal point, which -% is presumably either 0 or the empty string (but we don't check, we -% just throw it away). #2 is the decimal part, which we use as the -% percent of \hsize for this column. -\def\pickupwholefraction#1.#2 {% +% #1 is the @columnfraction, usually a decimal number like .5, but might +% be just 1. We just use it, whatever it is. +% +\def\pickupwholefraction#1 {% \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}% + \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% \setuptable } @@ -2208,8 +2950,8 @@ where each line of input produces a line of output.} \let\go\pickupwholefraction \else \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip }% Add a normal word space as a separator; - % typically that is always in the input, anyway. + \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a + % separator; typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi @@ -2224,18 +2966,33 @@ where each line of input produces a line of output.} \go } -% This used to have \hskip1sp. But then the space in a template line is -% not enough. That is bad. So let's go back to just & until we -% encounter the problem it was intended to solve again. -% --karl, nathan@acm.org, 20apr99. -\def\tab{&} +% multitable-only commands. +% +% @headitem starts a heading row, which we typeset in bold. +% Assignments have to be global since we are inside the implicit group +% of an alignment entry. Note that \everycr resets \everytab. +\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% +% +% A \tab used to include \hskip1sp. But then the space in a template +% line is not enough. That is bad. So let's go back to just `&' until +% we encounter the problem it was intended to solve again. +% --karl, nathan@acm.org, 20apr99. +\def\tab{\checkenv\multitable &\the\everytab}% % @multitable ... @end multitable definitions: % -\def\multitable{\parsearg\dotable} -\def\dotable#1{\bgroup +\newtoks\everytab % insert after every tab. +% +\envdef\multitable{% \vskip\parskip - \let\item\crcr + \startsavinginserts + % + % @item within a multitable starts a normal row. + % We use \def instead of \let so that if one of the multitable entries + % contains an @itemize, we don't choke on the \item (seen as \crcr aka + % \endtemplate) expanding \doitemize. + \def\item{\crcr}% + % \tolerance=9500 \hbadness=9500 \setmultitablespacing @@ -2243,81 +3000,93 @@ where each line of input produces a line of output.} \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 - \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}% % + \everycr = {% + \noalign{% + \global\everytab={}% + \global\colcount=0 % Reset the column counter. + % Check for saved footnotes, etc. + \checkinserts + % Keeps underfull box messages off when table breaks over pages. + %\filbreak + % Maybe so, but it also creates really weird page breaks when the + % table breaks over pages. Wouldn't \vfil be better? Wait until the + % problem manifests itself, so it can be fixed for real --karl. + }% + }% + % + \parsearg\domultitable +} +\def\domultitable#1{% % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % - % \everycr will reset column counter, \colcount, at the end of - % each line. Every column entry will cause \colcount to advance by one. - % The table preamble - % looks at the current \colcount to find the correct column width. - \everycr{\noalign{% - % - % \filbreak%% keeps underfull box messages off when table breaks over pages. - % Maybe so, but it also creates really weird page breaks when the table - % breaks over pages. Wouldn't \vfil be better? Wait until the problem - % manifests itself, so it can be fixed for real --karl. - \global\colcount=0\relax}}% - % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. - \halign\bgroup&\global\advance\colcount by 1\relax - \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname - % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt - \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip - \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace - \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively marking - % characters. - \noindent\ignorespaces##\unskip\multistrut}\cr + \halign\bgroup &% + \global\advance\colcount by 1 + \multistrut + \vtop{% + % Use the current \colcount to find the correct column width: + \hsize=\expandafter\csname col\the\colcount\endcsname + % + % In order to keep entries from bumping into each other + % we will add a \leftskip of \multitablecolspace to all columns after + % the first one. + % + % If a template has been used, we will add \multitablecolspace + % to the width of each template entry. + % + % If the user has set preamble in terms of percent of \hsize we will + % use that dimension as the width of the column, and the \leftskip + % will keep entries from bumping into each other. Table will start at + % left margin and final column will justify at right margin. + % + % Make sure we don't inherit \rightskip from the outer environment. + \rightskip=0pt + \ifnum\colcount=1 + % The first column will be indented with the surrounding text. + \advance\hsize by\leftskip + \else + \ifsetpercent \else + % If user has not set preamble in terms of percent of \hsize + % we will advance \hsize by \multitablecolspace. + \advance\hsize by \multitablecolspace + \fi + % In either case we will make \leftskip=\multitablecolspace: + \leftskip=\multitablecolspace + \fi + % Ignoring space at the beginning and end avoids an occasional spurious + % blank line, when TeX decides to break the line at the space before the + % box from the multistrut, so the strut ends up on a line by itself. + % For example: + % @multitable @columnfractions .11 .89 + % @item @code{#} + % @tab Legal holiday which is valid in major parts of the whole country. + % Is automatically provided with highlighting sequences respectively + % marking characters. + \noindent\ignorespaces##\unskip\multistrut + }\cr +} +\def\Emultitable{% + \crcr + \egroup % end the \halign + \global\setpercentfalse } -\def\setmultitablespacing{% test to see if user has set \multitablelinespace. -% If so, do nothing. If not, give it an appropriate dimension based on -% current baselineskip. +\def\setmultitablespacing{% + \def\multistrut{\strut}% just use the standard line spacing + % + % Compute \multitablelinespace (if not defined by user) for use in + % \multitableparskip calculation. We used define \multistrut based on + % this, but (ironically) that caused the spacing to be off. + % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 -%% strut to put in table in case some entry doesn't have descenders, -%% to keep lines equally spaced -\let\multistrut = \strut -\else -%% FIXME: what is \box0 supposed to be? -\gdef\multistrut{\vrule height\multitablelinespace depth\dp0 -width0pt\relax} \fi +\fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. @@ -2334,294 +3103,178 @@ width0pt\relax} \fi \message{conditionals,} -% Prevent errors for section commands. -% Used in @ignore and in failing conditionals. -\def\ignoresections{% - \let\chapter=\relax - \let\unnumbered=\relax - \let\top=\relax - \let\unnumberedsec=\relax - \let\unnumberedsection=\relax - \let\unnumberedsubsec=\relax - \let\unnumberedsubsection=\relax - \let\unnumberedsubsubsec=\relax - \let\unnumberedsubsubsection=\relax - \let\section=\relax - \let\subsec=\relax - \let\subsubsec=\relax - \let\subsection=\relax - \let\subsubsection=\relax - \let\appendix=\relax - \let\appendixsec=\relax - \let\appendixsection=\relax - \let\appendixsubsec=\relax - \let\appendixsubsection=\relax - \let\appendixsubsubsec=\relax - \let\appendixsubsubsection=\relax - \let\contents=\relax - \let\smallbook=\relax - \let\titlepage=\relax -} -% Used in nested conditionals, where we have to parse the Texinfo source -% and so want to turn off most commands, in case they are used -% incorrectly. +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @ifnotxml always succeed. They currently do nothing; we don't +% attempt to check whether the conditionals are properly nested. But we +% have to remember that they are conditionals, so that @end doesn't +% attempt to close an environment group. % -\def\ignoremorecommands{% - \let\defcodeindex = \relax - \let\defcv = \relax - \let\deffn = \relax - \let\deffnx = \relax - \let\defindex = \relax - \let\defivar = \relax - \let\defmac = \relax - \let\defmethod = \relax - \let\defop = \relax - \let\defopt = \relax - \let\defspec = \relax - \let\deftp = \relax - \let\deftypefn = \relax - \let\deftypefun = \relax - \let\deftypeivar = \relax - \let\deftypeop = \relax - \let\deftypevar = \relax - \let\deftypevr = \relax - \let\defun = \relax - \let\defvar = \relax - \let\defvr = \relax - \let\ref = \relax - \let\xref = \relax - \let\printindex = \relax - \let\pxref = \relax - \let\settitle = \relax - \let\setchapternewpage = \relax - \let\setchapterstyle = \relax - \let\everyheading = \relax - \let\evenheading = \relax - \let\oddheading = \relax - \let\everyfooting = \relax - \let\evenfooting = \relax - \let\oddfooting = \relax - \let\headings = \relax - \let\include = \relax - \let\lowersections = \relax - \let\down = \relax - \let\raisesections = \relax - \let\up = \relax - \let\set = \relax - \let\clear = \relax - \let\item = \relax +\def\makecond#1{% + \expandafter\let\csname #1\endcsname = \relax + \expandafter\let\csname iscond.#1\endcsname = 1 } +\makecond{iftex} +\makecond{ifnotdocbook} +\makecond{ifnothtml} +\makecond{ifnotinfo} +\makecond{ifnotplaintext} +\makecond{ifnotxml} -% Ignore @ignore, @ifhtml, @ifinfo, @ifplaintext, @ifnottex, @html, @menu, -% @direntry, and @documentdescription. +% Ignore @ignore, @ifhtml, @ifinfo, and the like. % -\def\ignore{\doignore{ignore}} -\def\ifhtml{\doignore{ifhtml}} -\def\ifinfo{\doignore{ifinfo}} -\def\ifplaintext{\doignore{ifplaintext}} -\def\ifnottex{\doignore{ifnottex}} -\def\html{\doignore{html}} -\def\menu{\doignore{menu}} \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} -\def\documentdescriptionword{documentdescription} +\def\docbook{\doignore{docbook}} +\def\html{\doignore{html}} +\def\ifdocbook{\doignore{ifdocbook}} +\def\ifhtml{\doignore{ifhtml}} +\def\ifinfo{\doignore{ifinfo}} +\def\ifnottex{\doignore{ifnottex}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} +\def\menu{\doignore{menu}} +\def\xml{\doignore{xml}} -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory = \comment - -% Ignore text until a line `@end #1'. +% Ignore text until a line `@end #1', keeping track of nested conditionals. % +% A count to remember the depth of nesting. +\newcount\doignorecount + \def\doignore#1{\begingroup - % Don't complain about control sequences we have declared \outer. - \ignoresections - % - % Define a command to swallow text until we reach `@end #1'. - % This @ is a catcode 12 token (that is the normal catcode of @ in - % this texinfo.tex file). We change the catcode of @ below to match. - \long\def\doignoretext##1@end #1{\enddoignore}% + % Scan in ``verbatim'' mode: + \obeylines + \catcode`\@ = \other + \catcode`\{ = \other + \catcode`\} = \other % % Make sure that spaces turn into tokens that match what \doignoretext wants. - \catcode32 = 10 + \spaceisspace % - % Ignore braces, too, so mismatched braces don't cause trouble. - \catcode`\{ = 9 - \catcode`\} = 9 + % Count number of #1's that we've seen. + \doignorecount = 0 % - % We must not have @c interpreted as a control sequence. - \catcode`\@ = 12 + % Swallow text until we reach the matching `@end #1'. + \dodoignore{#1}% +} + +{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. + \obeylines % % - \def\ignoreword{#1}% - \ifx\ignoreword\documentdescriptionword - % The c kludge breaks documentdescription, since - % `documentdescription' contains a `c'. Means not everything will - % be ignored inside @documentdescription, but oh well... - \else - % Make the letter c a comment character so that the rest of the line - % will be ignored. This way, the document can have (for example) - % @c @end ifinfo - % and the @end ifinfo will be properly ignored. - % (We've just changed @ to catcode 12.) - \catcode`\c = 14 + \gdef\dodoignore#1{% + % #1 contains the command name as a string, e.g., `ifinfo'. + % + % Define a command to find the next `@end #1'. + \long\def\doignoretext##1^^M@end #1{% + \doignoretextyyy##1^^M@#1\_STOP_}% + % + % And this command to find another #1 command, at the beginning of a + % line. (Otherwise, we would consider a line `@c @ifset', for + % example, to count as an @ifset for nesting.) + \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% + % + % And now expand that command. + \doignoretext ^^M% + }% +} + +\def\doignoreyyy#1{% + \def\temp{#1}% + \ifx\temp\empty % Nothing found. + \let\next\doignoretextzzz + \else % Found a nested condition, ... + \advance\doignorecount by 1 + \let\next\doignoretextyyy % ..., look for another. + % If we're here, #1 ends with ^^M\ifinfo (for example). \fi - % - % And now expand the command defined above. - \doignoretext + \next #1% the token \_STOP_ is present just after this macro. } -% What we do to finish off ignored text. +% We have to swallow the remaining "\_STOP_". % -\def\enddoignore{\endgroup\ignorespaces}% - -\newif\ifwarnedobs\warnedobsfalse -\def\obstexwarn{% - \ifwarnedobs\relax\else - % We need to warn folks that they may have trouble with TeX 3.0. - % This uses \immediate\write16 rather than \message to get newlines. - \immediate\write16{} - \immediate\write16{WARNING: for users of Unix TeX 3.0!} - \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).} - \immediate\write16{If you are running another version of TeX, relax.} - \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.} - \immediate\write16{ Then upgrade your TeX installation if you can.} - \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)} - \immediate\write16{If you are stuck with version 3.0, run the} - \immediate\write16{ script ``tex3patch'' from the Texinfo distribution} - \immediate\write16{ to use a workaround.} - \immediate\write16{} - \global\warnedobstrue - \fi +\def\doignoretextzzz#1{% + \ifnum\doignorecount = 0 % We have just found the outermost @end. + \let\next\enddoignore + \else % Still inside a nested condition. + \advance\doignorecount by -1 + \let\next\doignoretext % Look for the next @end. + \fi + \next } -% **In TeX 3.0, setting text in \nullfont hangs tex. For a -% workaround (which requires the file ``dummy.tfm'' to be installed), -% uncomment the following line: -%%%%%\font\nullfont=dummy\let\obstexwarn=\relax - -% Ignore text, except that we keep track of conditional commands for -% purposes of nesting, up to an `@end #1' command. -% -\def\nestedignore#1{% - \obstexwarn - % We must actually expand the ignored text to look for the @end - % command, so that nested ignore constructs work. Thus, we put the - % text into a \vbox and then do nothing with the result. To minimize - % the change of memory overflow, we follow the approach outlined on - % page 401 of the TeXbook: make the current font be a dummy font. - % - \setbox0 = \vbox\bgroup - % Don't complain about control sequences we have declared \outer. - \ignoresections - % - % Define `@end #1' to end the box, which will in turn undefine the - % @end command again. - \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}% - % - % We are going to be parsing Texinfo commands. Most cause no - % trouble when they are used incorrectly, but some commands do - % complicated argument parsing or otherwise get confused, so we - % undefine them. - % - % We can't do anything about stray @-signs, unfortunately; - % they'll produce `undefined control sequence' errors. - \ignoremorecommands - % - % Set the current font to be \nullfont, a TeX primitive, and define - % all the font commands to also use \nullfont. We don't use - % dummy.tfm, as suggested in the TeXbook, because not all sites - % might have that installed. Therefore, math mode will still - % produce output, but that should be an extremely small amount of - % stuff compared to the main input. - % - \nullfont - \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont - \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont - \let\tensf=\nullfont - % Similarly for index fonts. - \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont - \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont - \let\smallsf=\nullfont - % Similarly for smallexample fonts. - \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont - \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont - \let\smallersf=\nullfont - % - % Don't complain when characters are missing from the fonts. - \tracinglostchars = 0 - % - % Don't bother to do space factor calculations. - \frenchspacing - % - % Don't report underfull hboxes. - \hbadness = 10000 - % - % Do minimal line-breaking. - \pretolerance = 10000 - % - % Do not execute instructions in @tex - \def\tex{\doignore{tex}}% - % Do not execute macro definitions. - % `c' is a comment character, so the word `macro' will get cut off. - \def\macro{\doignore{ma}}% +% Finish off ignored text. +{ \obeylines% + % Ignore anything after the last `@end #1'; this matters in verbatim + % environments, where otherwise the newline after an ignored conditional + % would result in a blank line in the output. + \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% } + % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we -% didn't need it. Make sure the catcode of space is correct to avoid -% losing inside @example, for instance. +% didn't need it. +% We rely on the fact that \parsearg sets \catcode`\ =10. % -\def\set{\begingroup\catcode` =10 - \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR. - \parsearg\setxxx} -\def\setxxx#1{\setyyy#1 \endsetyyy} +\parseargdef\set{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% - \def\temp{#2}% - \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty - \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted. - \fi - \endgroup + {% + \makevalueexpandable + \def\temp{#2}% + \edef\next{\gdef\makecsname{SET#1}}% + \ifx\temp\empty + \next{}% + \else + \setzzz#2\endsetzzz + \fi + }% } -% Can't use \xdef to pre-expand #2 and save some time, since \temp or -% \next or other control sequences that we've defined might get us into -% an infinite loop. Consider `@set foo @cite{bar}'. -\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}} +% Remove the trailing space \setxxx inserted. +\def\setzzz#1 \endsetzzz{\next{#1}} % @clear VAR clears (i.e., unsets) the variable VAR. % -\def\clear{\parsearg\clearxxx} -\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax} +\parseargdef\clear{% + {% + \makevalueexpandable + \global\expandafter\let\csname SET#1\endcsname=\relax + }% +} % @value{foo} gets the text saved in variable foo. -{ - \catcode`\_ = \active - % - % We might end up with active _ or - characters in the argument if - % we're called from @code, as @code{@value{foo-bar_}}. So \let any - % such active characters to their normal equivalents. - \gdef\value{\begingroup - \catcode`\-=12 \catcode`\_=12 - \indexbreaks \let_\normalunderscore - \valuexxx} -} +\def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} +{ + \catcode`\- = \active \catcode`\_ = \active + % + \gdef\makevalueexpandable{% + \let\value = \expandablevalue + % We don't want these characters active, ... + \catcode`\-=\other \catcode`\_=\other + % ..., but we might end up with active ones in the argument if + % we're called from @code, as @code{@value{foo-bar_}}, though. + % So \let them to their normal equivalents. + \let-\realdash \let_\normalunderscore + } +} % We have this subroutine so that we can handle at least some @value's -% properly in indexes (we \let\value to this in \indexdummies). Ones -% whose names contain - or _ still won't work, but we can't do anything -% about that. The command has to be fully expandable, since the result -% winds up in the index file. This means that if the variable's value -% contains other Texinfo commands, it's almost certain it will fail -% (although perhaps we could fix that with sufficient work to do a -% one-level expansion on the result, instead of complete). +% properly in indexes (we call \makevalueexpandable in \indexdummies). +% The command has to be fully expandable (if the variable is set), since +% the result winds up in the index file. This means that if the +% variable's value contains other Texinfo commands, it's almost certain +% it will fail (although perhaps we could fix that with sufficient work +% to do a one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% + \message{Variable `#1', used in @value, is not set.}% \else \csname SET#1\endcsname \fi @@ -2630,68 +3283,36 @@ width0pt\relax} \fi % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % -\def\ifset{\parsearg\ifsetxxx} -\def\ifsetxxx #1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \expandafter\ifsetfail - \else - \expandafter\ifsetsucceed - \fi +% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +\makecond{ifset} +\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} +\def\doifset#1#2{% + {% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname SET#2\endcsname\relax + #1% If not set, redefine \next. + \fi + \expandafter + }\next } -\def\ifsetsucceed{\conditionalsucceed{ifset}} -\def\ifsetfail{\nestedignore{ifset}} -\defineunmatchedend{ifset} +\def\ifsetfail{\doignore{ifset}} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % -\def\ifclear{\parsearg\ifclearxxx} -\def\ifclearxxx #1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \expandafter\ifclearsucceed - \else - \expandafter\ifclearfail - \fi -} -\def\ifclearsucceed{\conditionalsucceed{ifclear}} -\def\ifclearfail{\nestedignore{ifclear}} -\defineunmatchedend{ifclear} - -% @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we -% read the text following, through the first @end iftex (etc.). Make -% `@end iftex' (etc.) valid only after an @iftex. +% The `\else' inside the `\doifset' parameter is a trick to reuse the +% above code: if the variable is not set, do nothing, if it is set, +% then redefine \next to \ifclearfail. % -\def\iftex{\conditionalsucceed{iftex}} -\def\ifnothtml{\conditionalsucceed{ifnothtml}} -\def\ifnotinfo{\conditionalsucceed{ifnotinfo}} -\def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}} -\defineunmatchedend{iftex} -\defineunmatchedend{ifnothtml} -\defineunmatchedend{ifnotinfo} -\defineunmatchedend{ifnotplaintext} +\makecond{ifclear} +\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} +\def\ifclearfail{\doignore{ifclear}} -% We can't just want to start a group at @iftex (etc.) and end it at -% @end iftex, since then @set commands inside the conditional have no -% effect (they'd get reverted at the end of the group). So we must -% define \Eiftex to redefine itself to be its previous value. (We can't -% just define it to fail again with an ``unmatched end'' error, since -% the @ifset might be nested.) -% -\def\conditionalsucceed#1{% - \edef\temp{% - % Remember the current value of \E#1. - \let\nece{prevE#1} = \nece{E#1}% - % - % At the `@end #1', redefine \E#1 to be its previous value. - \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}% - }% - \temp -} - -% We need to expand lots of \csname's, but we don't want to expand the -% control sequences after we've constructed them. -% -\def\nece#1{\expandafter\noexpand\csname#1\endcsname} +% @dircategory CATEGORY -- specify a category of the dir file +% which this file should belong to. Ignore this in TeX. +\let\dircategory=\comment % @defininfoenclose. \let\definfoenclose=\comment @@ -2701,9 +3322,8 @@ width0pt\relax} \fi % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within \newindex. -{\catcode`\@=11 -\gdef\newwrite{\alloc@7\write\chardef\sixt@@n}} +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that @@ -2742,10 +3362,10 @@ width0pt\relax} \fi % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. -% +% % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. -% +% \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} @@ -2784,284 +3404,422 @@ width0pt\relax} \fi \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} -% Take care of texinfo commands likely to appear in an index entry. -% (Must be a way to avoid doing expansion at all, and thus not have to -% laboriously list every single command here.) -% +% Take care of Texinfo commands that can appear in an index entry. +% Since there are some commands we want to expand, and others we don't, +% we have to laboriously prevent expansion for those that we don't. +% \def\indexdummies{% -\def\ { }% -\def\@{@}% change to @@ when we switch to @ as escape char in aux files. -% Need these in case \tex is in effect and \{ is a \delimiter again. -% But can't use \lbracecmd and \rbracecmd because texindex assumes -% braces and backslashes are used only as delimiters. -\let\{ = \mylbrace -\let\} = \myrbrace -\def\_{{\realbackslash _}}% -\normalturnoffactive -% -% Take care of the plain tex accent commands. -\def\,##1{\realbackslash ,{##1}}% -\def\"{\realbackslash "}% -\def\`{\realbackslash `}% -\def\'{\realbackslash '}% -\def\^{\realbackslash ^}% -\def\~{\realbackslash ~}% -\def\={\realbackslash =}% -\def\b{\realbackslash b}% -\def\c{\realbackslash c}% -\def\d{\realbackslash d}% -\def\u{\realbackslash u}% -\def\v{\realbackslash v}% -\def\H{\realbackslash H}% -\def\dotless##1{\realbackslash dotless {##1}}% -% Take care of the plain tex special European modified letters. -\def\AA{\realbackslash AA}% -\def\AE{\realbackslash AE}% -\def\L{\realbackslash L}% -\def\OE{\realbackslash OE}% -\def\O{\realbackslash O}% -\def\aa{\realbackslash aa}% -\def\ae{\realbackslash ae}% -\def\l{\realbackslash l}% -\def\oe{\realbackslash oe}% -\def\o{\realbackslash o}% -\def\ss{\realbackslash ss}% -% -% Although these internals commands shouldn't show up, sometimes they do. -\def\bf{\realbackslash bf }% -\def\gtr{\realbackslash gtr}% -\def\hat{\realbackslash hat}% -\def\less{\realbackslash less}% -%\def\rm{\realbackslash rm }% -\def\sf{\realbackslash sf}% -\def\sl{\realbackslash sl }% -\def\tclose##1{\realbackslash tclose {##1}}% -\def\tt{\realbackslash tt}% -% -\def\b##1{\realbackslash b {##1}}% -\def\i##1{\realbackslash i {##1}}% -\def\sc##1{\realbackslash sc {##1}}% -\def\t##1{\realbackslash t {##1}}% -\def\r##1{\realbackslash r {##1}}% -% -\def\TeX{\realbackslash TeX}% -\def\acronym##1{\realbackslash acronym {##1}}% -\def\cite##1{\realbackslash cite {##1}}% -\def\code##1{\realbackslash code {##1}}% -\def\command##1{\realbackslash command {##1}}% -\def\dfn##1{\realbackslash dfn {##1}}% -\def\dots{\realbackslash dots }% -\def\emph##1{\realbackslash emph {##1}}% -\def\env##1{\realbackslash env {##1}}% -\def\file##1{\realbackslash file {##1}}% -\def\kbd##1{\realbackslash kbd {##1}}% -\def\key##1{\realbackslash key {##1}}% -\def\math##1{\realbackslash math {##1}}% -\def\option##1{\realbackslash option {##1}}% -\def\samp##1{\realbackslash samp {##1}}% -\def\strong##1{\realbackslash strong {##1}}% -\def\uref##1{\realbackslash uref {##1}}% -\def\url##1{\realbackslash url {##1}}% -\def\var##1{\realbackslash var {##1}}% -\def\w{\realbackslash w }% -% -% These math commands don't seem likely to be used in index entries. -\def\copyright{\realbackslash copyright}% -\def\equiv{\realbackslash equiv}% -\def\error{\realbackslash error}% -\def\expansion{\realbackslash expansion}% -\def\point{\realbackslash point}% -\def\print{\realbackslash print}% -\def\result{\realbackslash result}% -% -% Handle some cases of @value -- where the variable name does not -% contain - or _, and the value does not contain any -% (non-fully-expandable) commands. -\let\value = \expandablevalue -% -\unsepspaces -% Turn off macro expansion -\turnoffmacros + \escapechar = `\\ % use backslash in output files. + \def\@{@}% change to @@ when we switch to @ as escape char in index files. + \def\ {\realbackslash\space }% + % + % Need these in case \tex is in effect and \{ is a \delimiter again. + % But can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. + \let\{ = \mylbrace + \let\} = \myrbrace + % + % I don't entirely understand this, but when an index entry is + % generated from a macro call, the \endinput which \scanmacro inserts + % causes processing to be prematurely terminated. This is, + % apparently, because \indexsorttmp is fully expanded, and \endinput + % is an expandable command. The redefinition below makes \endinput + % disappear altogether for that purpose -- although logging shows that + % processing continues to some further point. On the other hand, it + % seems \endinput does not hurt in the printed index arg, since that + % is still getting written without apparent harm. + % + % Sample source (mac-idx3.tex, reported by Graham Percival to + % help-texinfo, 22may06): + % @macro funindex {WORD} + % @findex xyz + % @end macro + % ... + % @funindex commtest + % + % The above is not enough to reproduce the bug, but it gives the flavor. + % + % Sample whatsit resulting: + % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} + % + % So: + \let\endinput = \empty + % + % Do the redefinitions. + \commondummies } -% If an index command is used in an @example environment, any spaces -% therein should become regular spaces in the raw index file, not the -% expansion of \tie (\leavevmode \penalty \@M \ ). -{\obeyspaces - \gdef\unsepspaces{\obeyspaces\let =\space}} +% For the aux and toc files, @ is the escape character. So we want to +% redefine everything using @ as the escape character (instead of +% \realbackslash, still used for index files). When everything uses @, +% this will be simpler. +% +\def\atdummies{% + \def\@{@@}% + \def\ {@ }% + \let\{ = \lbraceatcmd + \let\} = \rbraceatcmd + % + % Do the redefinitions. + \commondummies + \otherbackslash +} -% \indexnofonts no-ops all font-change commands. -% This is used when outputting the strings to sort the index by. -\def\indexdummyfont#1{#1} -\def\indexdummytex{TeX} -\def\indexdummydots{...} +% Called from \indexdummies and \atdummies. +% +\def\commondummies{% + % + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % preventing its expansion. This is used only for control% words, + % not control letters, because the \space would be incorrect for + % control characters, but is needed to separate the control word + % from whatever follows. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword ##1{\def##1{\string##1\space}}% + \def\definedummyletter##1{\def##1{\string##1}}% + \let\definedummyaccent\definedummyletter + % + \commondummiesnofonts + % + \definedummyletter\_% + % + % Non-English letters. + \definedummyword\AA + \definedummyword\AE + \definedummyword\L + \definedummyword\OE + \definedummyword\O + \definedummyword\aa + \definedummyword\ae + \definedummyword\l + \definedummyword\oe + \definedummyword\o + \definedummyword\ss + \definedummyword\exclamdown + \definedummyword\questiondown + \definedummyword\ordf + \definedummyword\ordm + % + % Although these internal commands shouldn't show up, sometimes they do. + \definedummyword\bf + \definedummyword\gtr + \definedummyword\hat + \definedummyword\less + \definedummyword\sf + \definedummyword\sl + \definedummyword\tclose + \definedummyword\tt + % + \definedummyword\LaTeX + \definedummyword\TeX + % + % Assorted special characters. + \definedummyword\bullet + \definedummyword\comma + \definedummyword\copyright + \definedummyword\registeredsymbol + \definedummyword\dots + \definedummyword\enddots + \definedummyword\equiv + \definedummyword\error + \definedummyword\euro + \definedummyword\expansion + \definedummyword\minus + \definedummyword\pounds + \definedummyword\point + \definedummyword\print + \definedummyword\result + \definedummyword\textdegree + % + % We want to disable all macros so that they are not expanded by \write. + \macrolist + % + \normalturnoffactive + % + % Handle some cases of @value -- where it does not contain any + % (non-fully-expandable) commands. + \makevalueexpandable +} +% \commondummiesnofonts: common to \commondummies and \indexnofonts. +% +\def\commondummiesnofonts{% + % Control letters and accents. + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless + % + % Texinfo font commands. + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sc + \definedummyword\t + % + % Commands that take arguments. + \definedummyword\acronym + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\pxref + \definedummyword\ref + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w + \definedummyword\xref +} + +% \indexnofonts is used when outputting the strings to sort the index +% by, and when constructing control sequence names. It eliminates all +% control sequences and just writes whatever the best ASCII sort string +% would be for a given command (usually its argument). +% \def\indexnofonts{% -\def\@{@}% -% how to handle braces? -\def\_{\normalunderscore}% -% -\let\,=\indexdummyfont -\let\"=\indexdummyfont -\let\`=\indexdummyfont -\let\'=\indexdummyfont -\let\^=\indexdummyfont -\let\~=\indexdummyfont -\let\==\indexdummyfont -\let\b=\indexdummyfont -\let\c=\indexdummyfont -\let\d=\indexdummyfont -\let\u=\indexdummyfont -\let\v=\indexdummyfont -\let\H=\indexdummyfont -\let\dotless=\indexdummyfont -% Take care of the plain tex special European modified letters. -\def\AA{AA}% -\def\AE{AE}% -\def\L{L}% -\def\OE{OE}% -\def\O{O}% -\def\aa{aa}% -\def\ae{ae}% -\def\l{l}% -\def\oe{oe}% -\def\o{o}% -\def\ss{ss}% -% -% Don't no-op \tt, since it isn't a user-level command -% and is used in the definitions of the active chars like <, >, |, etc. -% Likewise with the other plain tex font commands. -%\let\tt=\indexdummyfont -% -\let\b=\indexdummyfont -\let\i=\indexdummyfont -\let\r=\indexdummyfont -\let\sc=\indexdummyfont -\let\t=\indexdummyfont -% -\let\TeX=\indexdummytex -\let\acronym=\indexdummyfont -\let\cite=\indexdummyfont -\let\code=\indexdummyfont -\let\command=\indexdummyfont -\let\dfn=\indexdummyfont -\let\dots=\indexdummydots -\let\emph=\indexdummyfont -\let\env=\indexdummyfont -\let\file=\indexdummyfont -\let\kbd=\indexdummyfont -\let\key=\indexdummyfont -\let\math=\indexdummyfont -\let\option=\indexdummyfont -\let\samp=\indexdummyfont -\let\strong=\indexdummyfont -\let\uref=\indexdummyfont -\let\url=\indexdummyfont -\let\var=\indexdummyfont -\let\w=\indexdummyfont + % Accent commands should become @asis. + \def\definedummyaccent##1{\let##1\asis}% + % We can just ignore other control letters. + \def\definedummyletter##1{\let##1\empty}% + % Hopefully, all control words can become @asis. + \let\definedummyword\definedummyaccent + % + \commondummiesnofonts + % + % Don't no-op \tt, since it isn't a user-level command + % and is used in the definitions of the active chars like <, >, |, etc. + % Likewise with the other plain tex font commands. + %\let\tt=\asis + % + \def\ { }% + \def\@{@}% + % how to handle braces? + \def\_{\normalunderscore}% + % + % Non-English letters. + \def\AA{AA}% + \def\AE{AE}% + \def\L{L}% + \def\OE{OE}% + \def\O{O}% + \def\aa{aa}% + \def\ae{ae}% + \def\l{l}% + \def\oe{oe}% + \def\o{o}% + \def\ss{ss}% + \def\exclamdown{!}% + \def\questiondown{?}% + \def\ordf{a}% + \def\ordm{o}% + % + \def\LaTeX{LaTeX}% + \def\TeX{TeX}% + % + % Assorted special characters. + % (The following {} will end up in the sort string, but that's ok.) + \def\bullet{bullet}% + \def\comma{,}% + \def\copyright{copyright}% + \def\registeredsymbol{R}% + \def\dots{...}% + \def\enddots{...}% + \def\equiv{==}% + \def\error{error}% + \def\euro{euro}% + \def\expansion{==>}% + \def\minus{-}% + \def\pounds{pounds}% + \def\point{.}% + \def\print{-|}% + \def\result{=>}% + \def\textdegree{degrees}% + % + % We need to get rid of all macros, leaving only the arguments (if present). + % Of course this is not nearly correct, but it is the best we can do for now. + % makeinfo does not expand macros in the argument to @deffn, which ends up + % writing an index entry, and texindex isn't prepared for an index sort entry + % that starts with \. + % + % Since macro invocations are followed by braces, we can just redefine them + % to take a single TeX argument. The case of a macro invocation that + % goes to end-of-line is not handled. + % + \macrolist } -% To define \realbackslash, we must make \ not be an escape. -% We must first make another character (@) an escape -% so we do not become unable to do a definition. - -{\catcode`\@=0 \catcode`\\=\other - @gdef@realbackslash{\}} - \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? -% For \ifx comparisons. -\def\emptymacro{\empty} - % Most index entries go through here, but \dosubind is the general case. -% -\def\doind#1#2{\dosubind{#1}{#2}\empty} +% #1 is the index name, #2 is the entry text. +\def\doind#1#2{\dosubind{#1}{#2}{}} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% \empty if called from \doind, as we usually are. The main exception -% is with defuns, which call us directly. +% empty if called from \doind, as we usually are (the main exception +% is with most defuns, which call us directly). % \def\dosubind#1#2#3{% + \iflinks + {% + % Store the main index entry text (including the third arg). + \toks0 = {#2}% + % If third arg is present, precede it with a space. + \def\thirdarg{#3}% + \ifx\thirdarg\empty \else + \toks0 = \expandafter{\the\toks0 \space #3}% + \fi + % + \edef\writeto{\csname#1indfile\endcsname}% + % + \ifvmode + \dosubindsanitize + \else + \dosubindwrite + \fi + }% + \fi +} + +% Write the entry in \toks0 to the index file: +% +\def\dosubindwrite{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}% + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% \fi - {% - \count255=\lastpenalty - {% - \indexdummies % Must do this here, since \bf, etc expand at this stage - \escapechar=`\\ - {% - \let\folio = 0% We will expand all macros now EXCEPT \folio. - \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now - % so it will be output as is; and it will print as backslash. - % - \def\thirdarg{#3}% - % - % If third arg is present, precede it with space in sort key. - \ifx\thirdarg\emptymacro - \let\subentry = \empty - \else - \def\subentry{ #3}% - \fi - % - % First process the index entry with all font commands turned - % off to get the string to sort by. - {\indexnofonts \xdef\indexsorttmp{#2\subentry}}% - % - % Now the real index entry with the fonts. - \toks0 = {#2}% - % - % If the third (subentry) arg is present, add it to the index - % line to write. - \ifx\thirdarg\emptymacro \else - \toks0 = \expandafter{\the\toks0{#3}}% - \fi - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - \edef\temp{% - \write\csname#1indfile\endcsname{% - \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}% - }% - % - % If a skip is the last thing on the list now, preserve it - % by backing up by \lastskip, doing the \write, then inserting - % the skip again. Otherwise, the whatsit generated by the - % \write will make \lastskip zero. The result is that sequences - % like this: - % @end defun - % @tindex whatever - % @defun ... - % will have extra space inserted, because the \medbreak in the - % start of the @defun won't see the skip inserted by the @end of - % the previous defun. - % - % But don't do any of this if we're not in vertical mode. We - % don't want to do a \vskip and prematurely end a paragraph. - % - % Avoid page breaks due to these extra skips, too. - % - \iflinks - \ifvmode - \skip0 = \lastskip - \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi - \fi - % - \temp % do the write - % - % - \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi - \fi - }% - }% - \penalty\count255 + % + % Remember, we are within a group. + \indexdummies % Must do this here, since \bf, etc expand at this stage + \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now + % so it will be output as is; and it will print as backslash. + % + % Process the index entry with all font commands turned off, to + % get the string to sort by. + {\indexnofonts + \edef\temp{\the\toks0}% need full expansion + \xdef\indexsorttmp{\temp}% }% + % + % Set up the complete index entry, with both the sort key and + % the original text, including any font commands. We write + % three arguments to \entry to the .?? file (four in the + % subentry case), texindex reduces to two when writing the .??s + % sorted result. + \edef\temp{% + \write\writeto{% + \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% + }% + \temp +} + +% Take care of unwanted page breaks: +% +% If a skip is the last thing on the list now, preserve it +% by backing up by \lastskip, doing the \write, then inserting +% the skip again. Otherwise, the whatsit generated by the +% \write will make \lastskip zero. The result is that sequences +% like this: +% @end defun +% @tindex whatever +% @defun ... +% will have extra space inserted, because the \medbreak in the +% start of the @defun won't see the skip inserted by the @end of +% the previous defun. +% +% But don't do any of this if we're not in vertical mode. We +% don't want to do a \vskip and prematurely end a paragraph. +% +% Avoid page breaks due to these extra skips, too. +% +% But wait, there is a catch there: +% We'll have to check whether \lastskip is zero skip. \ifdim is not +% sufficient for this purpose, as it ignores stretch and shrink parts +% of the skip. The only way seems to be to check the textual +% representation of the skip. +% +% The following is almost like \def\zeroskipmacro{0.0pt} except that +% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). +% +\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} +% +% ..., ready, GO: +% +\def\dosubindsanitize{% + % \lastskip and \lastpenalty cannot both be nonzero simultaneously. + \skip0 = \lastskip + \edef\lastskipmacro{\the\lastskip}% + \count255 = \lastpenalty + % + % If \lastskip is nonzero, that means the last item was a + % skip. And since a skip is discardable, that means this + % -\skip0 glue we're inserting is preceded by a + % non-discardable item, therefore it is not a potential + % breakpoint, therefore no \nobreak needed. + \ifx\lastskipmacro\zeroskipmacro + \else + \vskip-\skip0 + \fi + % + \dosubindwrite + % + \ifx\lastskipmacro\zeroskipmacro + % If \lastskip was zero, perhaps the last item was a penalty, and + % perhaps it was >=10000, e.g., a \nobreak. In that case, we want + % to re-insert the same penalty (values >10000 are used for various + % signals); since we just inserted a non-discardable item, any + % following glue (such as a \parskip) would be a breakpoint. For example: + % + % @deffn deffn-whatever + % @vindex index-whatever + % Description. + % would allow a break between the index-whatever whatsit + % and the "Description." paragraph. + \ifnum\count255>9999 \penalty\count255 \fi + \else + % On the other hand, if we had a nonzero \lastskip, + % this make-up glue would be preceded by a non-discardable item + % (the whatsit from the \write), so we must insert a \nobreak. + \nobreak\vskip\skip0 + \fi } % The index entry written in the file actually looks like @@ -3099,13 +3857,12 @@ width0pt\relax} \fi % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % -\def\printindex{\parsearg\doprintindex} -\def\doprintindex#1{\begingroup +\parseargdef\printindex{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 - \indexbreaks + \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains @@ -3132,7 +3889,7 @@ width0pt\relax} \fi % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. - \def\indexbackslash{\rawbackslashxx}% + \def\indexbackslash{\backslashcurfont}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns @@ -3154,7 +3911,10 @@ width0pt\relax} \fi \removelastskip % % We like breaks before the index initials, so insert a bonus. - \penalty -300 + \nobreak + \vskip 0pt plus 3\baselineskip + \penalty 0 + \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column @@ -3164,84 +3924,104 @@ width0pt\relax} \fi % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% - \vskip .33\baselineskip plus .1\baselineskip - % % Do our best not to break after the initial. \nobreak + \vskip .33\baselineskip plus .1\baselineskip }} -% This typesets a paragraph consisting of #1, dot leaders, and then #2 -% flush to the right margin. It is used for index and table of contents -% entries. The paragraph is indented by \leftskip. +% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +% then page number (#2) flushed to the right margin. It is used for index +% and table of contents entries. The paragraph is indented by \leftskip. % -\def\entry#1#2{\begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % Do not fill out the last line with white space. - \parfillskip = 0in - % - % No extra space above this paragraph. - \parskip = 0in - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % \hangindent is only relevant when the entry text and page number - % don't both fit on one line. In that case, bob suggests starting the - % dots pretty far over on the line. Unfortunately, a large - % indentation looks wrong when the entry text itself is broken across - % lines. So we use a small indentation and put up with long leaders. - % - % \hangafter is reset to 1 (which is the value we want) at the start - % of each paragraph, so we need not do anything with that. - \hangindent = 2em - % - % When the entry text needs to be broken, just fill out the first line - % with blank space. - \rightskip = 0pt plus1fil - % - % A bit of stretch before each entry for the benefit of balancing columns. - \vskip 0pt plus1pt - % - % Start a ``paragraph'' for the index entry so the line breaking - % parameters we've set above will have an effect. - \noindent - % - % Insert the text of the index entry. TeX will do line-breaking on it. - #1% - % The following is kludged to not output a line of dots in the index if - % there are no page numbers. The next person who breaks this will be - % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#2}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd\ \else% +% A straightforward implementation would start like this: +% \def\entry#1#2{... +% But this frozes the catcodes in the argument, and can cause problems to +% @code, which sets - active. This problem was fixed by a kludge--- +% ``-'' was active throughout whole index, but this isn't really right. +% +% The right solution is to prevent \entry from swallowing the whole text. +% --kasal, 21nov03 +\def\entry{% + \begingroup % - % If we must, put the page number on a line of its own, and fill out - % this line with blank space. (The \hfil is overwhelmed with the - % fill leaders glue in \indexdotfill if the page number does fit.) - \hfil\penalty50 - \null\nobreak\indexdotfill % Have leaders before the page number. + % Start a new paragraph if necessary, so our assignments below can't + % affect previous text. + \par % - % The `\ ' here is removed by the implicit \unskip that TeX does as - % part of (the primitive) \par. Without it, a spurious underfull - % \hbox ensues. - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. + % Do not fill out the last line with white space. + \parfillskip = 0in + % + % No extra space above this paragraph. + \parskip = 0in + % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % \hangindent is only relevant when the entry text and page number + % don't both fit on one line. In that case, bob suggests starting the + % dots pretty far over on the line. Unfortunately, a large + % indentation looks wrong when the entry text itself is broken across + % lines. So we use a small indentation and put up with long leaders. + % + % \hangafter is reset to 1 (which is the value we want) at the start + % of each paragraph, so we need not do anything with that. + \hangindent = 2em + % + % When the entry text needs to be broken, just fill out the first line + % with blank space. + \rightskip = 0pt plus1fil + % + % A bit of stretch before each entry for the benefit of balancing + % columns. + \vskip 0pt plus1pt + % + % Swallow the left brace of the text (first parameter): + \afterassignment\doentry + \let\temp = +} +\def\doentry{% + \bgroup % Instead of the swallowed brace. + \noindent + \aftergroup\finishentry + % And now comes the text of the entry. +} +\def\finishentry#1{% + % #1 is the page number. + % + % The following is kludged to not output a line of dots in the index if + % there are no page numbers. The next person who breaks this will be + % cursed by a Unix daemon. + \def\tempa{{\rm }}% + \def\tempb{#1}% + \edef\tempc{\tempa}% + \edef\tempd{\tempb}% + \ifx\tempc\tempd + \ % \else - \ #2% The page number ends the paragraph. + % + % If we must, put the page number on a line of its own, and fill out + % this line with blank space. (The \hfil is overwhelmed with the + % fill leaders glue in \indexdotfill if the page number does fit.) + \hfil\penalty50 + \null\nobreak\indexdotfill % Have leaders before the page number. + % + % The `\ ' here is removed by the implicit \unskip that TeX does as + % part of (the primitive) \par. Without it, a spurious underfull + % \hbox ensues. + \ifpdf + \pdfgettoks#1.% + \ \the\toksA + \else + \ #1% + \fi \fi - \fi% - \par -\endgroup} + \par + \endgroup +} -% Like \dotfill except takes at least 1 em. +% Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} + \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} @@ -3348,7 +4128,7 @@ width0pt\relax} \fi \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } -% +% % All done with double columns. \def\enddoublecolumns{% \output = {% @@ -3406,6 +4186,12 @@ width0pt\relax} \fi \message{sectioning,} % Chapters, sections, etc. +% \unnumberedno is an oxymoron, of course. But we count the unnumbered +% sections so that we can refer to them unambiguously in the pdf +% outlines by their "section number". We avoid collisions with chapter +% numbers by starting them at 10000. (If a document ever has 10000 +% chapters, we're in trouble anyway, I'm sure.) +\newcount\unnumberedno \unnumberedno = 10000 \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 @@ -3413,9 +4199,12 @@ width0pt\relax} \fi % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ +% % \def\appendixletter{\char\the\appendixno} -% We do the following for the sake of pdftex, which needs the actual +% We do the following ugly conditional instead of the above simple +% construct for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. +% \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% @@ -3453,11 +4242,12 @@ width0pt\relax} \fi % Each @chapter defines this as the name of the chapter. % page headings and footings can use it. @section does likewise. +% However, they are not reliable, because we don't use marks. \def\thischapter{} \def\thissection{} \newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raise/lowersections modify this count +\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} @@ -3467,288 +4257,246 @@ width0pt\relax} \fi \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name -% Choose a numbered-heading macro -% #1 is heading level if unmodified by @raisesections or @lowersections -% #2 is text for heading -\def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \chapterzzz{#2} -\or - \seczzz{#2} -\or - \numberedsubseczzz{#2} -\or - \numberedsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \chapterzzz{#2} +% we only have subsub. +\chardef\maxseclevel = 3 +% +% A numbered section within an unnumbered changes to unnumbered too. +% To achive this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unmlevel = \maxseclevel +% +% Trace whether the current chapter is an appendix or not: +% \chapheadtype is "N" or "A", unnumbered chapters are ignored. +\def\chapheadtype{N} + +% Choose a heading macro +% #1 is heading type +% #2 is heading level +% #3 is text for heading +\def\genhead#1#2#3{% + % Compute the abs. sec. level: + \absseclevel=#2 + \advance\absseclevel by \secbase + % Make sure \absseclevel doesn't fall outside the range: + \ifnum \absseclevel < 0 + \absseclevel = 0 \else - \numberedsubsubseczzz{#2} + \ifnum \absseclevel > 3 + \absseclevel = 3 + \fi \fi -\fi -} - -% like \numhead, but chooses appendix heading levels -\def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \appendixzzz{#2} -\or - \appendixsectionzzz{#2} -\or - \appendixsubseczzz{#2} -\or - \appendixsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \appendixzzz{#2} + % The heading type: + \def\headtype{#1}% + \if \headtype U% + \ifnum \absseclevel < \unmlevel + \chardef\unmlevel = \absseclevel + \fi \else - \appendixsubsubseczzz{#2} + % Check for appendix sections: + \ifnum \absseclevel = 0 + \edef\chapheadtype{\headtype}% + \else + \if \headtype A\if \chapheadtype N% + \errmessage{@appendix... within a non-appendix chapter}% + \fi\fi + \fi + % Check for numbered within unnumbered: + \ifnum \absseclevel > \unmlevel + \def\headtype{U}% + \else + \chardef\unmlevel = 3 + \fi \fi -\fi -} - -% like \numhead, but chooses numberless heading levels -\def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 -\ifcase\absseclevel - \unnumberedzzz{#2} -\or - \unnumberedseczzz{#2} -\or - \unnumberedsubseczzz{#2} -\or - \unnumberedsubsubseczzz{#2} -\else - \ifnum \absseclevel<0 - \unnumberedzzz{#2} + % Now print the heading: + \if \headtype U% + \ifcase\absseclevel + \unnumberedzzz{#3}% + \or \unnumberedseczzz{#3}% + \or \unnumberedsubseczzz{#3}% + \or \unnumberedsubsubseczzz{#3}% + \fi \else - \unnumberedsubsubseczzz{#2} + \if \headtype A% + \ifcase\absseclevel + \appendixzzz{#3}% + \or \appendixsectionzzz{#3}% + \or \appendixsubseczzz{#3}% + \or \appendixsubsubseczzz{#3}% + \fi + \else + \ifcase\absseclevel + \chapterzzz{#3}% + \or \seczzz{#3}% + \or \numberedsubseczzz{#3}% + \or \numberedsubsubseczzz{#3}% + \fi + \fi \fi -\fi + \suppressfirstparagraphindent } -% @chapter, @appendix, @unnumbered. -\def\thischaptername{No Chapter Title} -\outer\def\chapter{\parsearg\chapteryyy} -\def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -\global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}% -\chapmacro {#1}{\the\chapno}% -\gdef\thissection{#1}% -\gdef\thischaptername{#1}% -% We don't substitute the actual chapter name into \thischapter -% because we don't want its macros evaluated now. -\xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}% - {\the\chapno}}}% -\temp -\donoderef -\global\let\section = \numberedsec -\global\let\subsection = \numberedsubsec -\global\let\subsubsection = \numberedsubsubsec +% an interface: +\def\numhead{\genhead N} +\def\apphead{\genhead A} +\def\unnmhead{\genhead U} + +% @chapter, @appendix, @unnumbered. Increment top-level counter, reset +% all lower-level sectioning counters to zero. +% +% Also set \chaplevelprefix, which we prepend to @float sequence numbers +% (e.g., figures), q.v. By default (before any chapter), that is empty. +\let\chaplevelprefix = \empty +% +\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz +\def\chapterzzz#1{% + % section resetting is \global in case the chapter is in a group, such + % as an @include file. + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\chapno by 1 + % + % Used for \float. + \gdef\chaplevelprefix{\the\chapno.}% + \resetallfloatnos + % + \message{\putwordChapter\space \the\chapno}% + % + % Write the actual heading. + \chapmacro{#1}{Ynumbered}{\the\chapno}% + % + % So @section and the like are numbered underneath this chapter. + \global\let\section = \numberedsec + \global\let\subsection = \numberedsubsec + \global\let\subsubsection = \numberedsubsubsec } -\outer\def\appendix{\parsearg\appendixyyy} -\def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz -\def\appendixzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -\global\advance \appendixno by 1 -\message{\putwordAppendix\space \appendixletter}% -\chapmacro {#1}{\putwordAppendix{} \appendixletter}% -\gdef\thissection{#1}% -\gdef\thischaptername{#1}% -\xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash appendixentry{\the\toks0}% - {\appendixletter}}}% -\temp -\appendixnoderef -\global\let\section = \appendixsec -\global\let\subsection = \appendixsubsec -\global\let\subsubsection = \appendixsubsubsec +\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\def\appendixzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\appendixno by 1 + \gdef\chaplevelprefix{\appendixletter.}% + \resetallfloatnos + % + \def\appendixnum{\putwordAppendix\space \appendixletter}% + \message{\appendixnum}% + % + \chapmacro{#1}{Yappendix}{\appendixletter}% + % + \global\let\section = \appendixsec + \global\let\subsection = \appendixsubsec + \global\let\subsubsection = \appendixsubsubsec +} + +\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz +\def\unnumberedzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\unnumberedno by 1 + % + % Since an unnumbered has no number, no prefix for figures. + \global\let\chaplevelprefix = \empty + \resetallfloatnos + % + % This used to be simply \message{#1}, but TeX fully expands the + % argument to \message. Therefore, if #1 contained @-commands, TeX + % expanded them. For example, in `@unnumbered The @cite{Book}', TeX + % expanded @cite (which turns out to cause errors because \cite is meant + % to be executed, not expanded). + % + % Anyway, we don't want the fully-expanded definition of @cite to appear + % as a result of the \message, we just want `@cite' itself. We use + % \the to achieve this: TeX expands \the only once, + % simply yielding the contents of . (We also do this for + % the toc entries.) + \toks0 = {#1}% + \message{(\the\toks0)}% + % + \chapmacro{#1}{Ynothing}{\the\unnumberedno}% + % + \global\let\section = \unnumberedsec + \global\let\subsection = \unnumberedsubsec + \global\let\subsubsection = \unnumberedsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. -\outer\def\centerchap{\parsearg\centerchapyyy} -\def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}} +\outer\parseargdef\centerchap{% + % Well, we could do the following in a group, but that would break + % an assumption that \chapmacro is called at the outermost level. + % Thus we are safer this way: --kasal, 24feb04 + \let\centerparametersmaybe = \centerparameters + \unnmhead0{#1}% + \let\centerparametersmaybe = \relax +} % @top is like @unnumbered. -\outer\def\top{\parsearg\unnumberedyyy} - -\outer\def\unnumbered{\parsearg\unnumberedyyy} -\def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz -\def\unnumberedzzz #1{% -\secno=0 \subsecno=0 \subsubsecno=0 -% -% This used to be simply \message{#1}, but TeX fully expands the -% argument to \message. Therefore, if #1 contained @-commands, TeX -% expanded them. For example, in `@unnumbered The @cite{Book}', TeX -% expanded @cite (which turns out to cause errors because \cite is meant -% to be executed, not expanded). -% -% Anyway, we don't want the fully-expanded definition of @cite to appear -% as a result of the \message, we just want `@cite' itself. We use -% \the to achieve this: TeX expands \the only once, -% simply yielding the contents of . (We also do this for -% the toc entries.) -\toks0 = {#1}\message{(\the\toks0)}% -% -\unnumbchapmacro {#1}% -\gdef\thischapter{#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}% -\temp -\unnumbnoderef -\global\let\section = \unnumberedsec -\global\let\subsection = \unnumberedsubsec -\global\let\subsubsection = \unnumberedsubsubsec -} +\let\top\unnumbered % Sections. -\outer\def\numberedsec{\parsearg\secyyy} -\def\secyyy #1{\numhead1{#1}} % normally calls seczzz -\def\seczzz #1{% -\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % -\gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% - {\the\chapno}{\the\secno}}}% -\temp -\donoderef -\nobreak +\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz +\def\seczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% } -\outer\def\appendixsection{\parsearg\appendixsecyyy} -\outer\def\appendixsec{\parsearg\appendixsecyyy} -\def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz -\def\appendixsectionzzz #1{% -\subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % -\gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% - {\appendixletter}{\the\secno}}}% -\temp -\appendixnoderef -\nobreak +\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz +\def\appendixsectionzzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% } +\let\appendixsec\appendixsection -\outer\def\unnumberedsec{\parsearg\unnumberedsecyyy} -\def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz -\def\unnumberedseczzz #1{% -\plainsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry% - {\the\toks0}{\the\chapno}}}% -\temp -\unnumbnoderef -\nobreak +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz +\def\unnumberedseczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% } % Subsections. -\outer\def\numberedsubsec{\parsearg\numberedsubsecyyy} -\def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz -\def\numberedsubseczzz #1{% -\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % -\subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% - {\the\chapno}{\the\secno}{\the\subsecno}}}% -\temp -\donoderef -\nobreak +\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz +\def\numberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% } -\outer\def\appendixsubsec{\parsearg\appendixsubsecyyy} -\def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz -\def\appendixsubseczzz #1{% -\gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % -\subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% - {\appendixletter}{\the\secno}{\the\subsecno}}}% -\temp -\appendixnoderef -\nobreak +\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz +\def\appendixsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno}% } -\outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy} -\def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz -\def\unnumberedsubseczzz #1{% -\plainsubsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry% - {\the\toks0}{\the\chapno}{\the\secno}}}% -\temp -\unnumbnoderef -\nobreak +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz +\def\unnumberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno}% } % Subsubsections. -\outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy} -\def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz -\def\numberedsubsubseczzz #1{% -\gdef\thissection{#1}\global\advance \subsubsecno by 1 % -\subsubsecheading {#1} - {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% - {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% -\temp -\donoderef -\nobreak +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz +\def\numberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynumbered}% + {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% } -\outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy} -\def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz -\def\appendixsubsubseczzz #1{% -\gdef\thissection{#1}\global\advance \subsubsecno by 1 % -\subsubsecheading {#1} - {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% - {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% -\temp -\appendixnoderef -\nobreak +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz +\def\appendixsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% } -\outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy} -\def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz -\def\unnumberedsubsubseczzz #1{% -\plainsubsubsecheading {#1}\gdef\thissection{#1}% -\toks0 = {#1}% -\edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry% - {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}% -\temp -\unnumbnoderef -\nobreak +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz +\def\unnumberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% } -% These are variants which are not "outer", so they can appear in @ifinfo. -% Actually, they should now be obsolete; ordinary section commands should work. -\def\infotop{\parsearg\unnumberedzzz} -\def\infounnumbered{\parsearg\unnumberedzzz} -\def\infounnumberedsec{\parsearg\unnumberedseczzz} -\def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz} -\def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz} - -\def\infoappendix{\parsearg\appendixzzz} -\def\infoappendixsec{\parsearg\appendixseczzz} -\def\infoappendixsubsec{\parsearg\appendixsubseczzz} -\def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz} - -\def\infochapter{\parsearg\chapterzzz} -\def\infosection{\parsearg\sectionzzz} -\def\infosubsection{\parsearg\subsectionzzz} -\def\infosubsubsection{\parsearg\subsubsectionzzz} - % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. -\global\let\section = \numberedsec -\global\let\subsection = \numberedsubsec -\global\let\subsubsection = \numberedsubsubsec +\let\section = \numberedsec +\let\subsection = \numberedsubsec +\let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading @@ -3761,23 +4509,27 @@ width0pt\relax} \fi % if justification is not attempted. Hence \raggedright. -\def\majorheading{\parsearg\majorheadingzzz} -\def\majorheadingzzz #1{% -{\advance\chapheadingskip by 10pt \chapbreak }% -{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\penalty 200} +\def\majorheading{% + {\advance\chapheadingskip by 10pt \chapbreak }% + \parsearg\chapheadingzzz +} -\def\chapheading{\parsearg\chapheadingzzz} -\def\chapheadingzzz #1{\chapbreak % -{\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\penalty 200} +\def\chapheading{\chapbreak \parsearg\chapheadingzzz} +\def\chapheadingzzz#1{% + {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}% + \bigskip \par\penalty 200\relax + \suppressfirstparagraphindent +} % @heading, @subheading, @subsubheading. -\def\heading{\parsearg\plainsecheading} -\def\subheading{\parsearg\plainsubsecheading} -\def\subsubheading{\parsearg\plainsubsubsecheading} +\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), @@ -3786,8 +4538,6 @@ width0pt\relax} \fi %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} -\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} - %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) @@ -3810,7 +4560,7 @@ width0pt\relax} \fi \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} -\def\CHAPPAGodd{ +\def\CHAPPAGodd{% \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage @@ -3818,107 +4568,205 @@ width0pt\relax} \fi \CHAPPAGon -\def\CHAPFplain{ -\global\let\chapmacro=\chfplain -\global\let\unnumbchapmacro=\unnchfplain -\global\let\centerchapmacro=\centerchfplain} - -% Plain chapter opening. -% #1 is the text, #2 the chapter number or empty if unnumbered. -\def\chfplain#1#2{% +% Chapter opening. +% +% #1 is the text, #2 is the section type (Ynumbered, Ynothing, +% Yappendix, Yomitfromtoc), #3 the chapter number. +% +% To test against our argument. +\def\Ynothingkeyword{Ynothing} +\def\Yomitfromtockeyword{Yomitfromtoc} +\def\Yappendixkeyword{Yappendix} +% +\def\chapmacro#1#2#3{% \pchapsepmacro {% \chapfonts \rm - \def\chapnum{#2}% - \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}% + % + % Have to define \thissection before calling \donoderef, because the + % xref code eventually uses it. On the other hand, it has to be called + % after \pchapsepmacro, or the headline will change too soon. + \gdef\thissection{#1}% + \gdef\thischaptername{#1}% + % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unnchap}% + \gdef\thischapternum{}% + \gdef\thischapter{#1}% + \else\ifx\temptype\Yomitfromtockeyword + \setbox0 = \hbox{}% contents like unnumbered, but no toc entry + \def\toctype{omit}% + \gdef\thischapternum{}% + \gdef\thischapter{}% + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% + \def\toctype{app}% + \xdef\thischapternum{\appendixletter}% + % We don't substitute the actual chapter name into \thischapter + % because we don't want its macros evaluated now. And we don't + % use \thissection because that changes with each section. + % + \xdef\thischapter{\putwordAppendix{} \appendixletter: + \noexpand\thischaptername}% + \else + \setbox0 = \hbox{#3\enspace}% + \def\toctype{numchap}% + \xdef\thischapternum{\the\chapno}% + \xdef\thischapter{\putwordChapter{} \the\chapno: + \noexpand\thischaptername}% + \fi\fi\fi + % + % Write the toc entry for this chapter. Must come before the + % \donoderef, because we include the current node name in the toc + % entry, and \donoderef resets it to empty. + \writetocentry{\toctype}{#1}{#3}% + % + % For pdftex, we have to write out the node definition (aka, make + % the pdfdest) after any page break, but before the actual text has + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. + \donoderef{#2}% + % + % Typeset the actual heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent = \wd0 \centerparametersmaybe + \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } -% Plain opening for unnumbered. -\def\unnchfplain#1{\chfplain{#1}{}} - % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax -\def\centerchfplain#1{{% - \def\centerparametersmaybe{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt - }% - \chfplain{#1}{}% -}} +\def\centerparameters{% + \advance\rightskip by 3\rightskip + \leftskip = \rightskip + \parfillskip = 0pt +} -\CHAPFplain % The default +% I don't think this chapter style is supported any more, so I'm not +% updating it with the new noderef stuff. We'll see. --karl, 11aug03. +% +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} +% \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\nobreak } - \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } - \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } - -\def\CHAPFopen{ -\global\let\chapmacro=\chfopen -\global\let\unnumbchapmacro=\unnchfopen -\global\let\centerchapmacro=\centerchfopen} +\def\CHAPFopen{% + \global\let\chapmacro=\chfopen + \global\let\centerchapmacro=\centerchfopen} -% Section titles. +% Section titles. These macros combine the section number parts and +% call the generic \sectionheading to do the printing. +% \newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip {-1000}} -\def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}} -\def\plainsecheading#1{\sectionheading{sec}{}{#1}} +\def\secheadingbreak{\dobreak \secheadingskip{-1000}} % Subsection titles. -\newskip \subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}} -\def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}} -\def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}} +\newskip\subsecheadingskip +\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} % Subsubsection titles. -\let\subsubsecheadingskip = \subsecheadingskip -\let\subsubsecheadingbreak = \subsecheadingbreak -\def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}} -\def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}} +\def\subsubsecheadingskip{\subsecheadingskip} +\def\subsubsecheadingbreak{\subsecheadingbreak} -% Print any size section title. +% Print any size, any type, section title. % -% #1 is the section type (sec/subsec/subsubsec), #2 is the section -% number (maybe empty), #3 the text. -\def\sectionheading#1#2#3{% - {% - \expandafter\advance\csname #1headingskip\endcsname by \parskip - \csname #1headingbreak\endcsname - }% +% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is +% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the +% section number. +% +\def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. - \csname #1fonts\endcsname \rm + \csname #2fonts\endcsname \rm % - % Only insert the separating space if we have a section number. - \def\secnum{#2}% - \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}% + % Insert space above the heading. + \csname #2headingbreak\endcsname % + % Only insert the space after the number if we have a section number. + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% + \gdef\thissection{#1}% + \else\ifx\temptype\Yomitfromtockeyword + % for @headings -- no section number, don't include in toc, + % and don't redefine \thissection. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% + \gdef\thissection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% + \gdef\thissection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chapmacro. + \writetocentry{\toctype\sectionlevel}{#1}{#4}% + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chapmacro. + \donoderef{#3}% + % + % Interline glue will be inserted when the vbox is completed. + % That glue will be a valid breakpoint for the page, since it'll be + % preceded by a whatsit (usually from the \donoderef, or from the + % \writetocentry if there was no node). We don't want to allow that + % break, since then the whatsits could end up on page n while the + % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. + \nobreak + % + % Output the actual section heading. \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent = \wd0 % zero if no section number - \unhbox0 #3}% + \hangindent=\wd0 % zero if no section number + \unhbox0 #1}% }% - \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak + % Add extra space after the heading -- half of whatever came above it. + % Don't allow stretch, though. + \kern .5 \csname #2headingskip\endcsname + % + % Do not let the kern be a potential breakpoint, as it would be if it + % was followed by glue. + \nobreak + % + % We'll almost certainly start a paragraph next, so don't let that + % glue accumulate. (Not a breakpoint because it's preceded by a + % discardable item.) + \vskip-\parskip + % + % This is purely so the last item on the list is a known \penalty > + % 10000. This is so \startdefun can avoid allowing breakpoints after + % section headings. Otherwise, it would insert a valid breakpoint between: + % + % @section sec-whatever + % @deffn def-whatever + \penalty 10001 } @@ -3927,140 +4775,158 @@ width0pt\relax} \fi \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. We supply {\folio} at the end of the -% argument, which will end up as the last argument to the \...entry macro. +% Called from @chapter, etc. % -% We open the .toc file here instead of at @setfilename or any other -% fixed time so that @contents can be put in the document anywhere. +% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} +% We append the current node name (if any) and page number as additional +% arguments for the \{chap,sec,...}entry macros which will eventually +% read this. The node name is used in the pdf outlines as the +% destination to jump to. +% +% We open the .toc file for writing here instead of at @setfilename (or +% any other fixed time) so that @contents can be anywhere in the document. +% But if #1 is `omit', then we don't do anything. This is used for the +% table of contents chapter openings themselves. % \newif\iftocfileopened -\def\writetocentry#1{% - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue +\def\omitkeyword{omit}% +% +\def\writetocentry#1#2#3{% + \edef\writetoctype{#1}% + \ifx\writetoctype\omitkeyword \else + \iftocfileopened\else + \immediate\openout\tocfile = \jobname.toc + \global\tocfileopenedtrue + \fi + % + \iflinks + {\atdummies + \edef\temp{% + \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% + \temp + }% + \fi \fi - \iflinks \write\tocfile{#1{\folio}}\fi % - % Tell \shipout to create a page destination if we're doing pdf, which - % will be the target of the links in the table of contents. We can't - % just do it on every page because the title pages are numbered 1 and - % 2 (the page numbers aren't printed), and so are the first two pages - % of the document. Thus, we'd have two destinations named `1', and - % two named `2'. - \ifpdf \pdfmakepagedesttrue \fi + % Tell \shipout to create a pdf destination on each page, if we're + % writing pdf. These are used in the table of contents. We can't + % just write one on every page because the title pages are numbered + % 1 and 2 (the page numbers aren't printed), and so are the first + % two pages of the document. Thus, we'd have two destinations named + % `1', and two named `2'. + \ifpdf \global\pdfmakepagedesttrue \fi +} + + +% These characters do not print properly in the Computer Modern roman +% fonts, so we must take special care. This is more or less redundant +% with the Texinfo input format setup at the end of this file. +% +\def\activecatcodes{% + \catcode`\"=\active + \catcode`\$=\active + \catcode`\<=\active + \catcode`\>=\active + \catcode`\\=\active + \catcode`\^=\active + \catcode`\_=\active + \catcode`\|=\active + \catcode`\~=\active +} + + +% Read the toc file, which is essentially Texinfo input. +\def\readtocfile{% + \setupdatafile + \activecatcodes + \input \jobname.toc } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 -% Finish up the main text and prepare to read what we've written -% to \tocfile. +% Prepare to read what we've written to \tocfile. % \def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \unnumbchapmacro{#1}\def\thischapter{}% - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 - % We can't do this, because then an actual ^ in a section - % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. - %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi - \raggedbottom % Worry more about breakpoints than the bottom. - \advance\hsize by -\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \pageno = \lastnegativepageno \fi + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. Thus, we maintain + % \contentsalignmacro in parallel with \pagealignmacro. + % From: Torbjorn Granlund + \contentsalignmacro + \immediate\closeout\tocfile + % + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \def\thischapter{}% + \chapmacro{#1}{Yomitfromtoc}{}% + % + \savepageno = \pageno + \begingroup % Set up to handle contents files properly. + \raggedbottom % Worry more about breakpoints than the bottom. + \advance\hsize by -\contentsrightmargin % Don't use the full line length. + % + % Roman numerals for page numbers. + \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } % Normal (long) toc. \def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \jobname.toc - \ifeof 1 \else - \closein 1 - \input \jobname.toc - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \pdfmakeoutlines - \endgroup - \lastnegativepageno = \pageno - \pageno = \savepageno + \startcontents{\putwordTOC}% + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \ifeof 1 \else + \pdfmakeoutlines + \fi + \closein 1 + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno } % And just the chapters. \def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\chapentry = \shortchapentry - \let\appendixentry = \shortappendixentry - \let\unnumbchapentry = \shortunnumberedentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\secentry ##1##2##3##4{} - \def\unnumbsecentry ##1##2##3{} - \def\subsecentry ##1##2##3##4##5{} - \def\unnumbsubsecentry ##1##2##3##4{} - \def\subsubsecentry ##1##2##3##4##5##6{} - \def\unnumbsubsubsecentry ##1##2##3##4##5{} - \openin 1 \jobname.toc - \ifeof 1 \else - \closein 1 - \input \jobname.toc - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \lastnegativepageno = \pageno - \pageno = \savepageno + \startcontents{\putwordShortTOC}% + % + \let\numchapentry = \shortchapentry + \let\appentry = \shortchapentry + \let\unnchapentry = \shortunnchapentry + % We want a true roman here for the page numbers. + \secfonts + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt + \rm + \hyphenpenalty = 10000 + \advance\baselineskip by 1pt % Open it up a little. + \def\numsecentry##1##2##3##4{} + \let\appsecentry = \numsecentry + \let\unnsecentry = \numsecentry + \let\numsubsecentry = \numsecentry + \let\appsubsecentry = \numsecentry + \let\unnsubsecentry = \numsecentry + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry + \openin 1 \jobname.toc + \ifeof 1 \else + \readtocfile + \fi + \closein 1 + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno } \let\shortcontents = \summarycontents -\ifpdf - \pdfcatalog{/PageMode /UseOutlines}% -\fi - -% These macros generate individual entries in the table of contents. -% The first argument is the chapter or section name. -% The last argument is the page number. -% The arguments in between are the chapter number, section number, ... - -% Chapters, in the main contents. -\def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}} -% -% Chapters, in the short toc. -% See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}% -} - -% Appendices, in the main contents. -\def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}} -% -% Appendices, in the short toc. -\let\shortappendixentry = \shortchapentry - % Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter. -% We could simplify the code here by writing out an \appendixentry -% command in the toc file for appendices, instead of using \chapentry -% for both, but it doesn't seem worth it. -% -\newdimen\shortappendixwidth +% The arg is, e.g., `A' for an appendix, or `3' for a chapter. % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the @@ -4068,29 +4934,61 @@ width0pt\relax} \fi % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) - \dimen0 = 1em - \hbox to \dimen0{#1\hss}% + % + % We'd like to right-justify chapter numbers, but that looks strange + % with appendix letters. And right-justifying numbers and + % left-justifying letters looks strange when there is less than 10 + % chapters. Have to read the whole toc once to know how many chapters + % there are before deciding ... + \hbox to 1em{#1\hss}% } +% These macros generate individual entries in the table of contents. +% The first argument is the chapter or section name. +% The last argument is the page number. +% The arguments in between are the chapter number, section number, ... + +% Chapters, in the main contents. +\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} +% +% Chapters, in the short toc. +% See comments in \dochapentry re vbox and related settings. +\def\shortchapentry#1#2#3#4{% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% +} + +% Appendices, in the main contents. +% Need the word Appendix, and a fixed-size box. +% +\def\appendixbox#1{% + % We use M since it's probably the widest letter. + \setbox0 = \hbox{\putwordAppendix{} M}% + \hbox to \wd0{\putwordAppendix{} #1\hss}} +% +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} + % Unnumbered chapters. -\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}} -\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}} +\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} +\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} % Sections. -\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}} -\def\unnumbsecentry#1#2#3{\dosecentry{#1}{#3}} +\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} +\let\appsecentry=\numsecentry +\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} % Subsections. -\def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}} -\def\unnumbsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} +\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} +\let\appsubsecentry=\numsubsecentry +\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. -\def\subsubsecentry#1#2#3#4#5#6{% - \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}} -\def\unnumbsubsubsecentry#1#2#3#4#5{\dosubsubsecentry{#1}{#5}} +\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} +\let\appsubsubsecentry=\numsubsubsecentry +\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} % This parameter controls the indentation of the various levels. -\newdimen\tocindent \tocindent = 3pc +% Same as \defaultparindent. +\newdimen\tocindent \tocindent = 15pt % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. @@ -4121,17 +5019,8 @@ width0pt\relax} \fi \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} -% Final typesetting of a toc entry; we use the same \entry macro as for -% the index entries, but we want to suppress hyphenation here. (We -% can't do that in the \entry macro, since index entries might consist -% of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.) -\def\tocentry#1#2{\begingroup - \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks - % Do not use \turnoffactive in these arguments. Since the toc is - % typeset in cmr, characters such as _ would come out wrong; we - % have to do the usual translation tricks. - \entry{#1}{#2}% -\endgroup} +% We use the same \entry macro as for the index entries. +\let\tocentry = \entry % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} @@ -4141,15 +5030,15 @@ width0pt\relax} \fi \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} -\let\subsecentryfonts = \textfonts -\let\subsubsecentryfonts = \textfonts +\def\subsecentryfonts{\textfonts} +\def\subsubsecentryfonts{\textfonts} \message{environments,} % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% +% % Since these characters are used in examples, it should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % @@ -4161,18 +5050,18 @@ width0pt\relax} \fi % The @error{} command. % Adapted from the TeXbook's \boxit. -% +% \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} +\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} % -\global\setbox\errorbox=\hbox to \dimen0{\hfil +\setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. - \vbox{ + \vbox{% \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. @@ -4186,17 +5075,16 @@ width0pt\relax} \fi % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. -\def\tex{\begingroup +\envdef\tex{% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie + \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie \catcode `\%=14 - \catcode 43=12 % plus - \catcode`\"=12 - \catcode`\==12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 + \catcode `\+=\other + \catcode `\"=\other + \catcode `\|=\other + \catcode `\<=\other + \catcode `\>=\other \escapechar=`\\ % \let\b=\ptexb @@ -4208,19 +5096,24 @@ width0pt\relax} \fi \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi + \let\indent=\ptexindent + \let\noindent=\ptexnoindent \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace + \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext + \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% -\let\Etex=\endgroup} +} +% There is no need to define \Etex. % Define @lisp ... @end lisp. -% @lisp does a \begingroup so it can rebind things, +% @lisp environment forms a group so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. @@ -4231,34 +5124,25 @@ width0pt\relax} \fi % have any width. \def\lisppar{\null\endgraf} -% Make each space character in the input produce a normal interword -% space in the output. Don't allow a line break at this space, as this -% is used only in environments like @example, where each line of input -% should produce a line of output anyway. -% -{\obeyspaces % -\gdef\sepspaces{\obeyspaces\let =\tie}} - -% Define \obeyedspace to be our active space, whatever it is. This is -% for use in \parsearg. -{\sepspaces% -\global\let\obeyedspace= } - % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip +% start of the next paragraph will insert \parskip. % \def\aboveenvbreak{{% - \ifnum\lastpenalty < 10000 + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip - \penalty-50 + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty<10000 \penalty-50 \fi \vskip\envskipamount \fi \fi @@ -4266,7 +5150,8 @@ width0pt\relax} \fi \let\afterenvbreak = \aboveenvbreak -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will +% also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around @@ -4290,199 +5175,208 @@ width0pt\relax} \fi % \newskip\lskip\newskip\rskip -\long\def\cartouche{% -\begingroup - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt %we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either -% side, and for 6pt waste from -% each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing=\comment - \vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \hsize=\cartinner - \kern3pt - \begingroup - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip +\envdef\cartouche{% + \ifhmode\par\fi % can't be in the midst of a paragraph. + \startsavinginserts + \lskip=\leftskip \rskip=\rightskip + \leftskip=0pt\rightskip=0pt % we want these *outside*. + \cartinner=\hsize \advance\cartinner by-\lskip + \advance\cartinner by-\rskip + \cartouter=\hsize + \advance\cartouter by 18.4pt % allow for 3pt kerns on either + % side, and for 6pt waste from + % each corner char, and rule thickness + \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip + % Flag to tell @lisp, etc., not to narrow margin. + \let\nonarrowing = t% + \vbox\bgroup + \baselineskip=0pt\parskip=0pt\lineskip=0pt + \carttop + \hbox\bgroup + \hskip\lskip + \vrule\kern3pt + \vbox\bgroup + \kern3pt + \hsize=\cartinner + \baselineskip=\normbskip + \lineskip=\normlskip + \parskip=\normpskip + \vskip -\parskip + \comment % For explanation, see the end of \def\group. +} \def\Ecartouche{% - \endgroup - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup -\endgroup -}} + \ifhmode\par\fi + \kern3pt + \egroup + \kern3pt\vrule + \hskip\rskip + \egroup + \cartbot + \egroup + \checkinserts +} % This macro is called at the beginning of all the @example variants, % inside a group. \def\nonfillstart{% \aboveenvbreak - \inENV % This group ends at the end of the body \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. - \singlespace \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes - % @cartouche defines \nonarrowing to inhibit narrowing - % at next level down. \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing - \let\exdent=\nofillexdent - \let\nonarrowing=\relax + \else + \let\nonarrowing = \relax + \fi + \let\exdent=\nofillexdent +} + +% If you want all examples etc. small: @set dispenvsize small. +% If you want even small examples the full size: @set dispenvsize nosmall. +% This affects the following displayed environments: +% @example, @display, @format, @lisp +% +\def\smallword{small} +\def\nosmallword{nosmall} +\let\SETdispenvsize\relax +\def\setnormaldispenv{% + \ifx\SETdispenvsize\smallword + \smallexamplefonts \rm + \fi +} +\def\setsmalldispenv{% + \ifx\SETdispenvsize\nosmallword + \else + \smallexamplefonts \rm \fi } -% Define the \E... control sequence only if we are inside the particular -% environment, so the error checking in \end will work. -% -% To end an @example-like environment, we first end the paragraph (via -% \afterenvbreak's vertical glue), and then the group. That way we keep -% the zero \parskip that the environments set -- \parskip glue will be -% inserted at the beginning of the next paragraph in the document, after -% the environment. -% -\def\nonfillfinish{\afterenvbreak\endgroup} +% We often define two environments, @foo and @smallfoo. +% Let's do it by one command: +\def\makedispenv #1#2{ + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} + \expandafter\let\csname E#1\endcsname \afterenvbreak + \expandafter\let\csname Esmall#1\endcsname \afterenvbreak +} -% @lisp: indented, narrowed, typewriter font. -\def\lisp{\begingroup +% Define two synonyms: +\def\maketwodispenvs #1#2#3{ + \makedispenv{#1}{#3} + \makedispenv{#2}{#3} +} + +% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. +% +% @smallexample and @smalllisp: use smaller fonts. +% Originally contributed by Pavel@xerox. +% +\maketwodispenvs {lisp}{example}{% \nonfillstart - \let\Elisp = \nonfillfinish - \tt + \tt\quoteexpand \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } - -% @example: Same as @lisp. -\def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp} - -% @small... is usually equivalent to the non-small (@smallbook -% redefines). We must call \example (or whatever) last in the -% definition, since it reads the return following the @example (or -% whatever) command. +% @display/@smalldisplay: same as @lisp except keep current font. % -% This actually allows (for example) @end display inside an -% @smalldisplay. Too bad, but makeinfo will catch the error anyway. -% -\def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display} -\def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp} -\def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format} -\def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp} - -% Real @smallexample and @smalllisp (when @smallbook): use smaller fonts. -% Originally contributed by Pavel@xerox. -\def\smalllispx{\begingroup - \def\Esmalllisp{\nonfillfinish\endgroup}% - \def\Esmallexample{\nonfillfinish\endgroup}% - \smallexamplefonts - \lisp -} - -% @display: same as @lisp except keep current font. -% -\def\display{\begingroup +\makedispenv {display}{% \nonfillstart - \let\Edisplay = \nonfillfinish \gobble } -% -% @smalldisplay (when @smallbook): @display plus smaller fonts. -% -\def\smalldisplayx{\begingroup - \def\Esmalldisplay{\nonfillfinish\endgroup}% - \smallexamplefonts \rm - \display -} -% @format: same as @display except don't narrow margins. +% @format/@smallformat: same as @display except don't narrow margins. % -\def\format{\begingroup - \let\nonarrowing = t +\makedispenv{format}{% + \let\nonarrowing = t% \nonfillstart - \let\Eformat = \nonfillfinish \gobble } -% -% @smallformat (when @smallbook): @format plus smaller fonts. -% -\def\smallformatx{\begingroup - \def\Esmallformat{\nonfillfinish\endgroup}% - \smallexamplefonts \rm - \format -} -% @flushleft (same as @format). -% -\def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format} +% @flushleft: same as @format, but doesn't obey \SETdispenvsize. +\envdef\flushleft{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} +\let\Eflushleft = \afterenvbreak % @flushright. % -\def\flushright{\begingroup - \let\nonarrowing = t +\envdef\flushright{% + \let\nonarrowing = t% \nonfillstart - \let\Eflushright = \nonfillfinish \advance\leftskip by 0pt plus 1fill \gobble } +\let\Eflushright = \afterenvbreak % @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. +% and narrows the margins. We keep \parskip nonzero in general, since +% we're doing normal filling. So, when using \aboveenvbreak and +% \afterenvbreak, temporarily make \parskip 0. % -\def\quotation{% - \begingroup\inENV %This group ends at the end of the @quotation body +\envdef\quotation{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \singlespace \parindent=0pt - % We have retained a nonzero parskip for the environment, since we're - % doing normal filling. So to avoid extra space below the environment... - \def\Equotation{\parskip = 0pt \nonfillfinish}% % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing + \else \let\nonarrowing = \relax \fi + \parsearg\quotationlabel +} + +% We have retained a nonzero parskip for the environment, since we're +% doing normal filling. +% +\def\Equotation{% + \par + \ifx\quotationauthor\undefined\else + % indent a bit. + \leftline{\kern 2\leftskip \sl ---\quotationauthor}% + \fi + {\parskip=0pt \afterenvbreak}% +} + +% If we're given an argument, typeset it in bold with a colon after. +\def\quotationlabel#1{% + \def\temp{#1}% + \ifx\temp\empty \else + {\bf #1: }% + \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} -% If we want to allow any as delimiter, +% If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % -% [Knuth] p. 344; only we need to do '@' too +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. \def\dospecials{% - \do\ \do\\\do\@\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% +} % % [Knuth] p. 380 \def\uncatcodespecials{% - \def\do##1{\catcode`##1=12}\dospecials} + \def\do##1{\catcode`##1=\other}\dospecials} % % [Knuth] pp. 380,381,391 % Disable Spanish ligatures ?` and !` of \tt font @@ -4516,6 +5410,34 @@ width0pt\relax} \fi \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} + +% Allow an option to not replace quotes with a regular directed right +% quote/apostrophe (char 0x27), but instead use the undirected quote +% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it +% the default, but it works for pasting with more pdf viewers (at least +% evince), the lilypond developers report. xpdf does work with the +% regular 0x27. +% +\def\codequoteright{% + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax + '% + \else + \char'15 + \fi +} +% +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + `% + \else + \char'22 + \fi +} +% \begingroup \catcode`\^^I=\active \gdef\tabexpand{% @@ -4528,13 +5450,25 @@ width0pt\relax} \fi \wd0=\dimen0 \box0 \starttabbox }% } + \catcode`\'=\active + \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% + % + \catcode`\`=\active + \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% + % + \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% \endgroup + +% start the verbatim environment. \def\setupverbatim{% + \let\nonarrowing = t% + \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \catcode`\`=\active \tabexpand + \quoteexpand % Respect line breaks, % print special symbols as themselves, and % make each space count @@ -4543,15 +5477,15 @@ width0pt\relax} \fi \everypar{\starttabbox}% } -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup - \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12 + \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % @@ -4563,611 +5497,395 @@ width0pt\relax} \fi % % \def\doverbatim#1@end verbatim{#1} % -% For Texinfo it's a lot easier than for LaTeX, +% For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}' +% we need not redefine '\', '{' and '}'. % % Inspired by LaTeX's verbatim command set [latex.ltx] -%% Include LaTeX hack for completeness -- never know -%% \begingroup -%% \catcode`|=0 \catcode`[=1 -%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active -%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[ -%% #1|endgroup|def|Everbatim[]|end[verbatim]] -%% |endgroup +% \begingroup \catcode`\ =\active - \gdef\doverbatim#1@end verbatim{#1\end{verbatim}} + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% + % We really want {...\end verbatim} in the body of the macro, but + % without the active space; thus we have to use \xdef and \gobble. \endgroup % -\def\verbatim{% - \def\Everbatim{\nonfillfinish\endgroup}% - \begingroup - \nonfillstart - \advance\leftskip by -\defbodyindent - \begingroup\setupverbatim\doverbatim +\envdef\verbatim{% + \setupverbatim\doverbatim } +\let\Everbatim = \afterenvbreak + % @verbatiminclude FILE - insert text of file in verbatim environment. % -% Allow normal characters that we make active in the argument (a file name). -\def\verbatiminclude{% - \begingroup - \catcode`\\=12 - \catcode`~=12 - \catcode`^=12 - \catcode`_=12 - \catcode`|=12 - \catcode`<=12 - \catcode`>=12 - \catcode`+=12 - \parsearg\doverbatiminclude -} -\def\setupverbatiminclude{% - \begingroup - \nonfillstart - \advance\leftskip by -\defbodyindent - \begingroup\setupverbatim -} +\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} % \def\doverbatiminclude#1{% - % Restore active chars for included file. - \endgroup - \begingroup - \def\thisfile{#1}% - \expandafter\expandafter\setupverbatiminclude\input\thisfile - \endgroup\nonfillfinish\endgroup + {% + \makevalueexpandable + \setupverbatim + \input #1 + \afterenvbreak + }% } % @copying ... @end copying. % Save the text away for @insertcopying later. -% -\newbox\copyingbox % -\def\copying{\begingroup - \parindent = 0pt % looks wrong on title page - \def\Ecopying{\egroup\endgroup}% - \global\setbox\copyingbox = \vbox\bgroup +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is very desirable. +% +\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} +\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} +% +\def\insertcopying{% + \begingroup + \parindent = 0pt % paragraph indentation looks wrong on title page + \scanexp\copyingtext + \endgroup } -% @insertcopying. -% -\def\insertcopying{\unvcopy\copyingbox} - - \message{defuns,} % @defun etc. -% Allow user to change definition object font (\df) internally -\def\setdeffont #1 {\csname DEF#1\endcsname} - \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt -\newskip\deftypemargin \deftypemargin=12pt \newskip\deflastargmargin \deflastargmargin=18pt -\newcount\parencount -% define \functionparens, which makes ( and ) and & do special things. -% \functionparens affects the group it is contained in. -\def\activeparens{% -\catcode`\(=\active \catcode`\)=\active \catcode`\&=\active -\catcode`\[=\active \catcode`\]=\active} - -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) - -{\activeparens % Now, smart parens don't turn on until &foo (see \amprm) - -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -\global\let(=\lparen \global\let)=\rparen -\global\let[=\lbrack \global\let]=\rbrack - -\gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 } -\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} -% This is used to turn on special parens -% but make & act ordinary (given that it's active). -\gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr} - -% Definitions of (, ) and & used in args for functions. -% This is the definition of ( outside of all parentheses. -\gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested - \global\advance\parencount by 1 -} -% -% This is the definition of ( when already inside a level of parens. -\gdef\opnested{\char`\(\global\advance\parencount by 1 } -% -\gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0. - % also in that case restore the outer-level definition of (. - \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi - \global\advance \parencount by -1 } -% If we encounter &foo, then turn on ()-hacking afterwards -\gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ } -% -\gdef\normalparens{\boldbrax\let&=\ampnr} -} % End of definition inside \activeparens -%% These parens (in \boldbrax) actually are a little bolder than the -%% contained text. This is especially needed for [ and ] -\def\opnr{{\sf\char`\(}\global\advance\parencount by 1 } -\def\clnr{{\sf\char`\)}\global\advance\parencount by -1 } -\let\ampnr = \& -\def\lbrb{{\bf\char`\[}} -\def\rbrb{{\bf\char`\]}} - -% Active &'s sneak into the index arguments, so make sure it's defined. -{ - \catcode`& = 13 - \global\let& = \ampnr -} - -% First, defname, which formats the header line itself. -% #1 should be the function name. -% #2 should be the type of definition, such as "Function". - -\def\defname #1#2{% -% Get the values of \leftskip and \rightskip as they were -% outside the @def... -\dimen2=\leftskip -\advance\dimen2 by -\defbodyindent -\noindent -\setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}% -\dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line -\dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations -\parshape 2 0in \dimen0 \defargsindent \dimen1 -% Now output arg 2 ("Function" or some such) -% ending at \deftypemargin from the right margin, -% but stuck inside a box of width 0 so it does not interfere with linebreaking -{% Adjust \hsize to exclude the ambient margins, -% so that \rightline will obey them. -\advance \hsize by -\dimen2 -\rlap{\rightline{{\rm #2}\hskip -1.25pc }}}% -% Make all lines underfull and no complaints: -\tolerance=10000 \hbadness=10000 -\advance\leftskip by -\defbodyindent -\exdentamount=\defbodyindent -{\df #1}\enskip % Generate function name -} - -% Common pieces to start any @def... -% #1 is the \E... control sequence to end the definition (which we define). -% #2 is the \...x control sequence (which our caller defines). -% #3 is the control sequence to process the header, such as \defunheader. -% -\def\parsebodycommon#1#2#3{% - \begingroup\inENV - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we want to allow a - % break after all. - \ifnum\lastpenalty = 10000 \penalty0 \fi - \medbreak - % - % Define the \E... end token that this defining construct specifies - % so that it will exit this group. - \def#1{\endgraf\endgroup\medbreak}% +% Start the processing of @deffn: +\def\startdefun{% + \ifnum\lastpenalty<10000 + \medbreak + \else + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we need to allow a + % break somewhere. Check specifically for penalty 10002, inserted + % by \defargscommonending, instead of 10000, since the sectioning + % commands also insert a nobreak penalty, and we don't want to allow + % a break between a section heading and a defun. + % + \ifnum\lastpenalty=10002 \penalty2000 \fi + % + % Similarly, after a section heading, do not allow a break. + % But do insert the glue. + \medskip % preceded by discardable penalty, so not a breakpoint + \fi % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } -% Process body of @defun, @deffn, @defmac, etc. +\def\dodefunx#1{% + % First, check whether we are in the right environment: + \checkenv#1% + % + % As above, allow line break if we have multiple x headers in a row. + % It's not a great place, though. + \ifnum\lastpenalty=10002 \penalty3000 \fi + % + % And now, it's time to reuse the body of the original defun: + \expandafter\gobbledefun#1% +} +\def\gobbledefun#1\startdefun{} + +% \printdefunline \deffnheader{text} % -\def\defparsebody#1#2#3{% - \parsebodycommon{#1}{#2}{#3}% - \def#2{\begingroup\obeylines\activeparens\spacesplit#3}% - \catcode61=\active % 61 is `=' - \begingroup\obeylines\activeparens - \spacesplit#3% -} - -% #1, #2, #3 are the common arguments (see \defparsebody). -% #4, delimited by the space, is the class name. -% -\def\defmethparsebody#1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#4}}% -} - -% Used for @deftypemethod and @deftypeivar. -% #1, #2, #3 are the common arguments (see \defparsebody). -% #4, delimited by a space, is the class name. -% #5 is the method's return type. -% -\def\deftypemethparsebody#1#2#3#4 #5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#4}{#5}}% -} - -% Used for @deftypeop. The change from \deftypemethparsebody is an -% extra argument at the beginning which is the `category', instead of it -% being the hardwired string `Method' or `Instance Variable'. We have -% to account for this both in the \...x definition and in parsing the -% input at hand. Thus also need a control sequence (passed as #5) for -% the \E... definition to assign the category name to. -% -\def\deftypeopparsebody#1#2#3#4#5 #6 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 ##3 {% - \def#4{##1}% - \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#5}{#6}}% -} - -% For @defop. -\def\defopparsebody #1#2#3#4#5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\def#4{##1}% - \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}% - \begingroup\obeylines\activeparens - \spacesplit{#3{#5}}% -} - -% These parsing functions are similar to the preceding ones -% except that they do not make parens into active characters. -% These are used for "variables" since they have no arguments. -% -\def\defvarparsebody #1#2#3{% - \parsebodycommon{#1}{#2}{#3}% - \def#2{\begingroup\obeylines\spacesplit#3}% - \catcode61=\active % - \begingroup\obeylines - \spacesplit#3% -} - -% @defopvar. -\def\defopvarparsebody #1#2#3#4#5 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 ##2 {\def#4{##1}% - \begingroup\obeylines\spacesplit{#3{##2}}}% - \begingroup\obeylines - \spacesplit{#3{#5}}% -} - -\def\defvrparsebody#1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% - \begingroup\obeylines - \spacesplit{#3{#4}}% -} - -% This loses on `@deftp {Data Type} {struct termios}' -- it thinks the -% type is just `struct', because we lose the braces in `{struct -% termios}' when \spacesplit reads its undelimited argument. Sigh. -% \let\deftpparsebody=\defvrparsebody -% -% So, to get around this, we put \empty in with the type name. That -% way, TeX won't find exactly `{...}' as an undelimited argument, and -% won't strip off the braces. -% -\def\deftpparsebody #1#2#3#4 {% - \parsebodycommon{#1}{#2}{#3}% - \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% - \begingroup\obeylines - \spacesplit{\parsetpheaderline{#3{#4}}}\empty -} - -% Fine, but then we have to eventually remove the \empty *and* the -% braces (if any). That's what this does. -% -\def\removeemptybraces\empty#1\relax{#1} - -% After \spacesplit has done its work, this is called -- #1 is the final -% thing to call, #2 the type name (which starts with \empty), and #3 -% (which might be empty) the arguments. -% -\def\parsetpheaderline#1#2#3{% - #1{\removeemptybraces#2\relax}{#3}% -}% - -% Split up #2 at the first space token. -% call #1 with two arguments: -% the first is all of #2 before the space token, -% the second is all of #2 after that space token. -% If #2 contains no space token, all of it is passed as the first arg -% and the second is passed as empty. -% -{\obeylines -\gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}% -\long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{% -\ifx\relax #3% -#1{#2}{}\else #1{#2}{#3#4}\fi}} - -% Define @defun. - -% First, define the processing that is wanted for arguments of \defun -% Use this to expand the args and terminate the paragraph they make up - -\def\defunargs#1{\functionparens \sl -% Expand, preventing hyphenation at `-' chars. -% Note that groups don't affect changes in \hyphenchar. -% Set the font temporarily and use \font in case \setfont made \tensl a macro. -{\tensl\hyphenchar\font=0}% -#1% -{\tensl\hyphenchar\font=45}% -\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi% -\interlinepenalty=10000 -\advance\rightskip by 0pt plus 1fil -\endgraf\nobreak\vskip -\parskip\nobreak -} - -\def\deftypefunargs #1{% -% Expand, preventing hyphenation at `-' chars. -% Note that groups don't affect changes in \hyphenchar. -% Use \boldbraxnoamp, not \functionparens, so that & is not special. -\boldbraxnoamp -\tclose{#1}% avoid \code because of side effects on active chars -\interlinepenalty=10000 -\advance\rightskip by 0pt plus 1fil -\endgraf\nobreak\vskip -\parskip\nobreak -} - -% Do complete processing of one @defun or @defunx line already parsed. - -% @deffn Command forward-char nchars - -\def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader} - -\def\deffnheader #1#2#3{\doind {fn}{\code{#2}}% -\begingroup\defname {#2}{#1}\defunargs{#3}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @defun == @deffn Function - -\def\defun{\defparsebody\Edefun\defunx\defunheader} - -\def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDeffunc}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @deftypefun int foobar (int @var{foo}, float @var{bar}) - -\def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader} - -% #1 is the data type. #2 is the name and args. -\def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax} -% #1 is the data type, #2 the name, #3 the args. -\def\deftypefunheaderx #1#2 #3\relax{% -\doind {fn}{\code{#2}}% Make entry in function index -\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}% -\deftypefunargs {#3}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar}) - -\def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader} - -% \defheaderxcond#1\relax$.$ -% puts #1 in @code, followed by a space, but does nothing if #1 is null. -\def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi} - -% #1 is the classification. #2 is the data type. #3 is the name and args. -\def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax} -% #1 is the classification, #2 the data type, #3 the name, #4 the args. -\def\deftypefnheaderx #1#2#3 #4\relax{% -\doind {fn}{\code{#3}}% Make entry in function index -\begingroup -\normalparens % notably, turn off `&' magic, which prevents -% at least some C++ text from working -\defname {\defheaderxcond#2\relax$.$#3}{#1}% -\deftypefunargs {#4}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @defmac == @deffn Macro - -\def\defmac{\defparsebody\Edefmac\defmacx\defmacheader} - -\def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDefmac}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @defspec == @deffn Special Form - -\def\defspec{\defparsebody\Edefspec\defspecx\defspecheader} - -\def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index -\begingroup\defname {#1}{\putwordDefspec}% -\defunargs {#2}\endgroup % -\catcode 61=\other % Turn off change made in \defparsebody -} - -% @defop CATEGORY CLASS OPERATION ARG... -% -\def\defop #1 {\def\defoptype{#1}% -\defopparsebody\Edefop\defopx\defopheader\defoptype} -% -\def\defopheader#1#2#3{% -\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index -\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}% -\defunargs {#3}\endgroup % -} - -% @deftypeop CATEGORY CLASS TYPE OPERATION ARG... -% -\def\deftypeop #1 {\def\deftypeopcategory{#1}% - \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader - \deftypeopcategory} -% -% #1 is the class name, #2 the data type, #3 the operation name, #4 the args. -\def\deftypeopheader#1#2#3#4{% - \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index +\def\printdefunline#1#2{% \begingroup - \defname{\defheaderxcond#2\relax$.$#3} - {\deftypeopcategory\ \putwordon\ \code{#1}}% - \deftypefunargs{#4}% + % call \deffnheader: + #1#2 \endheader + % common ending: + \interlinepenalty = 10000 + \advance\rightskip by 0pt plus 1fil + \endgraf + \nobreak\vskip -\parskip + \penalty 10002 % signal to \startdefun and \dodefunx + % Some of the @defun-type tags do not enable magic parentheses, + % rendering the following check redundant. But we don't optimize. + \checkparencounts \endgroup } -% @deftypemethod CLASS TYPE METHOD ARG... +\def\Edefun{\endgraf\medbreak} + +% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; +% the only thing remainnig is to define \deffnheader. % -\def\deftypemethod{% - \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader} -% -% #1 is the class name, #2 the data type, #3 the method name, #4 the args. -\def\deftypemethodheader#1#2#3#4{% - \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index - \begingroup - \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}% - \deftypefunargs{#4}% - \endgroup +\def\makedefun#1{% + \expandafter\let\csname E#1\endcsname = \Edefun + \edef\temp{\noexpand\domakedefun + \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% + \temp } -% @deftypeivar CLASS TYPE VARNAME +% \domakedefun \deffn \deffnx \deffnheader % -\def\deftypeivar{% - \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader} +% Define \deffn and \deffnx, without parameters. +% \deffnheader has to be defined explicitly. % -% #1 is the class name, #2 the data type, #3 the variable name. -\def\deftypeivarheader#1#2#3{% - \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index - \begingroup - \defname{\defheaderxcond#2\relax$.$#3} - {\putwordInstanceVariableof\ \code{#1}}% - \defvarargs{#3}% - \endgroup +\def\domakedefun#1#2#3{% + \envdef#1{% + \startdefun + \parseargusing\activeparens{\printdefunline#3}% + }% + \def#2{\dodefunx#1}% + \def#3% } -% @defmethod == @defop Method +%%% Untyped functions: + +% @deffn category name args +\makedefun{deffn}{\deffngeneral{}} + +% @deffn category class name args +\makedefun{defop}#1 {\defopon{#1\ \putwordon}} + +% \defopon {category on}class name args +\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deffngeneral {subind}category name args % -\def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader} +\def\deffngeneral#1#2 #3 #4\endheader{% + % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. + \dosubind{fn}{\code{#3}}{#1}% + \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +} + +%%% Typed functions: + +% @deftypefn category type name args +\makedefun{deftypefn}{\deftypefngeneral{}} + +% @deftypeop category class type name args +\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} + +% \deftypeopon {category on}class type name args +\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deftypefngeneral {subind}category type name args % -% #1 is the class name, #2 the method name, #3 the args. -\def\defmethodheader#1#2#3{% - \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index - \begingroup - \defname{#2}{\putwordMethodon\ \code{#1}}% - \defunargs{#3}% - \endgroup +\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% + \dosubind{fn}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% } -% @defcv {Class Option} foo-class foo-flag +%%% Typed variables: -\def\defcv #1 {\def\defcvtype{#1}% -\defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype} +% @deftypevr category type var args +\makedefun{deftypevr}{\deftypecvgeneral{}} -\def\defcvarheader #1#2#3{% -\dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index -\begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}% -\defvarargs {#3}\endgroup % -} +% @deftypecv category class type var args +\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} -% @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME +% \deftypecvof {category of}class type var args +\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } + +% \deftypecvgeneral {subind}category type var args % -\def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader} +\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% + \dosubind{vr}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +%%% Untyped variables: + +% @defvr category var args +\makedefun{defvr}#1 {\deftypevrheader{#1} {} } + +% @defcv category class var args +\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} + +% \defcvof {category of}class var args +\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } + +%%% Type: +% @deftp category name args +\makedefun{deftp}#1 #2 #3\endheader{% + \doind{tp}{\code{#2}}% + \defname{#1}{}{#2}\defunargs{#3\unskip}% +} + +% Remaining @defun-like shortcuts: +\makedefun{defun}{\deffnheader{\putwordDeffunc} } +\makedefun{defmac}{\deffnheader{\putwordDefmac} } +\makedefun{defspec}{\deffnheader{\putwordDefspec} } +\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } +\makedefun{defvar}{\defvrheader{\putwordDefvar} } +\makedefun{defopt}{\defvrheader{\putwordDefopt} } +\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } +\makedefun{defmethod}{\defopon\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} +\makedefun{defivar}{\defcvof\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} + +% \defname, which formats the name of the @def (not the args). +% #1 is the category, such as "Function". +% #2 is the return type, if any. +% #3 is the function name. % -\def\defivarheader#1#2#3{% - \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index - \begingroup - \defname{#2}{\putwordInstanceVariableof\ #1}% - \defvarargs{#3}% - \endgroup +% We are followed by (but not passed) the arguments, if any. +% +\def\defname#1#2#3{% + % Get the values of \leftskip and \rightskip as they were outside the @def... + \advance\leftskip by -\defbodyindent + % + % How we'll format the type name. Putting it in brackets helps + % distinguish it from the body text that may end up on the next line + % just below it. + \def\temp{#1}% + \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} + % + % Figure out line sizes for the paragraph shape. + % The first line needs space for \box0; but if \rightskip is nonzero, + % we need only space for the part of \box0 which exceeds it: + \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % The continuations: + \dimen2=\hsize \advance\dimen2 by -\defargsindent + % (plain.tex says that \dimen1 should be used only as global.) + \parshape 2 0in \dimen0 \defargsindent \dimen2 + % + % Put the type name to the right margin. + \noindent + \hbox to 0pt{% + \hfil\box0 \kern-\hsize + % \hsize has to be shortened this way: + \kern\leftskip + % Intentionally do not respect \rightskip, since we need the space. + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \exdentamount=\defbodyindent + {% + % defun fonts. We use typewriter by default (used to be bold) because: + % . we're printing identifiers, they should be in tt in principle. + % . in languages with many accents, such as Czech or French, it's + % common to leave accents off identifiers. The result looks ok in + % tt, but exceedingly strange in rm. + % . we don't want -- and --- to be treated as ligatures. + % . this still does not fix the ?` and !` ligatures, but so far no + % one has made identifiers using them :). + \df \tt + \def\temp{#2}% return value type + \ifx\temp\empty\else \tclose{\temp} \fi + #3% output function name + }% + {\rm\enskip}% hskip 0.5 em of \tenrm + % + \boldbrax + % arguments will be output next, if any. } -% @defvar -% First, define the processing that is wanted for arguments of @defvar. -% This is actually simple: just print them in roman. -% This must expand the args and terminate the paragraph they make up -\def\defvarargs #1{\normalparens #1% -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak} - -% @defvr Counter foo-count - -\def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader} - -\def\defvrheader #1#2#3{\doind {vr}{\code{#2}}% -\begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup} - -% @defvar == @defvr Variable - -\def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader} - -\def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index -\begingroup\defname {#1}{\putwordDefvar}% -\defvarargs {#2}\endgroup % +% Print arguments in slanted roman (not ttsl), inconsistently with using +% tt for the name. This is because literal text is sometimes needed in +% the argument list (groff manual), and ttsl and tt are not very +% distinguishable. Prevent hyphenation at `-' chars. +% +\def\defunargs#1{% + % use sl by default (not ttsl), + % tt for the names. + \df \sl \hyphenchar\font=0 + % + % On the other hand, if an argument has two dashes (for instance), we + % want a way to get ttsl. Let's try @var for that. + \let\var=\ttslanted + #1% + \sl\hyphenchar\font=45 } -% @defopt == @defvr {User Option} - -\def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader} - -\def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index -\begingroup\defname {#1}{\putwordDefopt}% -\defvarargs {#2}\endgroup % +% We want ()&[] to print specially on the defun line. +% +\def\activeparens{% + \catcode`\(=\active \catcode`\)=\active + \catcode`\[=\active \catcode`\]=\active + \catcode`\&=\active } -% @deftypevar int foobar +% Make control sequences which act like normal parenthesis chars. +\let\lparen = ( \let\rparen = ) -\def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader} +% Be sure that we always have a definition for `(', etc. For example, +% if the fn name has parens in it, \boldbrax will not be in effect yet, +% so TeX would otherwise complain about undefined control sequence. +{ + \activeparens + \global\let(=\lparen \global\let)=\rparen + \global\let[=\lbrack \global\let]=\rbrack + \global\let& = \& -% #1 is the data type. #2 is the name, perhaps followed by text that -% is actually part of the data type, which should not be put into the index. -\def\deftypevarheader #1#2{% -\dovarind#2 \relax% Make entry in variables index -\begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}% -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak -\endgroup} -\def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}} + \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} +} -% @deftypevr {Global Flag} int enable +\newcount\parencount -\def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader} +% If we encounter &foo, then turn on ()-hacking afterwards +\newif\ifampseen +\def\amprm#1 {\ampseentrue{\bf\ }} -\def\deftypevrheader #1#2#3{\dovarind#3 \relax% -\begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1} -\interlinepenalty=10000 -\endgraf\nobreak\vskip -\parskip\nobreak -\endgroup} +\def\parenfont{% + \ifampseen + % At the first level, print parens in roman, + % otherwise use the default font. + \ifnum \parencount=1 \rm \fi + \else + % The \sf parens (in \boldbrax) actually are a little bolder than + % the contained text. This is especially needed for [ and ] . + \sf + \fi +} +\def\infirstlevel#1{% + \ifampseen + \ifnum\parencount=1 + #1% + \fi + \fi +} +\def\bfafterword#1 {#1 \bf} -% Now define @deftp -% Args are printed in bold, a slight difference from @defvar. +\def\opnr{% + \global\advance\parencount by 1 + {\parenfont(}% + \infirstlevel \bfafterword +} +\def\clnr{% + {\parenfont)}% + \infirstlevel \sl + \global\advance\parencount by -1 +} -\def\deftpargs #1{\bf \defvarargs{#1}} +\newcount\brackcount +\def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +} +\def\rbrb{% + {\bf]}% + \global\advance\brackcount by -1 +} -% @deftp Class window height width ... - -\def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader} - -\def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% -\begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} - -% These definitions are used if you use @defunx (etc.) -% anywhere other than immediately after a @defun or @defunx. -% -\def\defcvx#1 {\errmessage{@defcvx in invalid context}} -\def\deffnx#1 {\errmessage{@deffnx in invalid context}} -\def\defivarx#1 {\errmessage{@defivarx in invalid context}} -\def\defmacx#1 {\errmessage{@defmacx in invalid context}} -\def\defmethodx#1 {\errmessage{@defmethodx in invalid context}} -\def\defoptx #1 {\errmessage{@defoptx in invalid context}} -\def\defopx#1 {\errmessage{@defopx in invalid context}} -\def\defspecx#1 {\errmessage{@defspecx in invalid context}} -\def\deftpx#1 {\errmessage{@deftpx in invalid context}} -\def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}} -\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}} -\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}} -\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}} -\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}} -\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}} -\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}} -\def\defunx#1 {\errmessage{@defunx in invalid context}} -\def\defvarx#1 {\errmessage{@defvarx in invalid context}} -\def\defvrx#1 {\errmessage{@defvrx in invalid context}} +\def\checkparencounts{% + \ifnum\parencount=0 \else \badparencount \fi + \ifnum\brackcount=0 \else \badbrackcount \fi +} +\def\badparencount{% + \errmessage{Unbalanced parentheses in @def}% + \global\parencount=0 +} +\def\badbrackcount{% + \errmessage{Unbalanced square braces in @def}% + \global\brackcount=0 +} \message{macros,} @@ -5176,42 +5894,68 @@ width0pt\relax} \fi % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined - \newwrite\macscribble - \def\scanmacro#1{% - \begingroup \newlinechar`\^^M - % Undo catcode changes of \startcontents and \doprintindex - \catcode`\@=0 \catcode`\\=12 \escapechar=`\@ - % Append \endinput to make sure that TeX does not see the ending newline. - \toks0={#1\endinput}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \let\xeatspaces\eatspaces - \input \jobname.tmp - \endgroup -} -\else -\def\scanmacro#1{% -\begingroup \newlinechar`\^^M -% Undo catcode changes of \startcontents and \doprintindex -\catcode`\@=0 \catcode`\\=12 \escapechar=`\@ -\let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup} + \newwrite\macscribble + \def\scantokens#1{% + \toks0={#1}% + \immediate\openout\macscribble=\jobname.tmp + \immediate\write\macscribble{\the\toks0}% + \immediate\closeout\macscribble + \input \jobname.tmp + } \fi +\def\scanmacro#1{% + \begingroup + \newlinechar`\^^M + \let\xeatspaces\eatspaces + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ + % ... and \example + \spaceisspace + % + % Append \endinput to make sure that TeX does not see the ending newline. + % I've verified that it is necessary both for e-TeX and for ordinary TeX + % --kasal, 29nov03 + \scantokens{#1\endinput}% + \endgroup +} + +\def\scanexp#1{% + \edef\temp{\noexpand\scanmacro{#1}}% + \temp +} + \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? -\def\macrolist{} % List of all defined macros in the form - % \do\macro1\do\macro2... + +% List of all defined macros in the form +% \definedummyword\macro1\definedummyword\macro2... +% Currently is also contains all @aliases; the list can be split +% if there is a need. +\def\macrolist{} + +% Add the macro to \macrolist +\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} +\def\addtomacrolistxxx#1{% + \toks0 = \expandafter{\macrolist\definedummyword#1}% + \xdef\macrolist{\the\toks0}% +} % Utility routines. -% Thisdoes \let #1 = #2, except with \csnames. +% This does \let #1 = #2, with \csnames; that is, +% \let \csname#1\endcsname = \csname#2\endcsname +% (except of course we have to play expansion games). +% \def\cslet#1#2{% -\expandafter\expandafter -\expandafter\let -\expandafter\expandafter -\csname#1\endcsname -\csname#2\endcsname} + \expandafter\let + \csname#1\expandafter\endcsname + \csname#2\endcsname +} % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). @@ -5224,7 +5968,7 @@ width0pt\relax} \fi } % Trim a single trailing ^^M off a string. -{\catcode`\^^M=12\catcode`\Q=3% +{\catcode`\^^M=\other \catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% @@ -5238,30 +5982,36 @@ width0pt\relax} \fi % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. +\def\scanctxt{% + \catcode`\"=\other + \catcode`\+=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\@=\other + \catcode`\^=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\~=\other +} + +\def\scanargctxt{% + \scanctxt + \catcode`\\=\other + \catcode`\^^M=\other +} + \def\macrobodyctxt{% - \catcode`\~=12 - \catcode`\^=12 - \catcode`\_=12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 - \catcode`\+=12 - \catcode`\{=12 - \catcode`\}=12 - \catcode`\@=12 - \catcode`\^^M=12 - \usembodybackslash} + \scanctxt + \catcode`\{=\other + \catcode`\}=\other + \catcode`\^^M=\other + \usembodybackslash +} \def\macroargctxt{% - \catcode`\~=12 - \catcode`\^=12 - \catcode`\_=12 - \catcode`\|=12 - \catcode`\<=12 - \catcode`\>=12 - \catcode`\+=12 - \catcode`\@=12 - \catcode`\\=12} + \scanctxt + \catcode`\\=\other +} % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N @@ -5292,42 +6042,39 @@ width0pt\relax} \fi \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - % Add the macroname to \macrolist - \toks0 = \expandafter{\macrolist\do}% - \xdef\macrolist{\the\toks0 - \expandafter\noexpand\csname\the\macname\endcsname}% + \addtomacrolist{\the\macname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} -\def\unmacro{\parsearg\unmacroxxx} -\def\unmacroxxx#1{% +\parseargdef\unmacro{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist + % Remove the macro name from \macrolist: \begingroup - \edef\tempa{\expandafter\noexpand\csname#1\endcsname}% - \def\do##1{% - \def\tempb{##1}% - \ifx\tempa\tempb - % remove this - \else - \toks0 = \expandafter{\newmacrolist\do}% - \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}% - \fi}% - \def\newmacrolist{}% - % Execute macro list to define \newmacrolist - \macrolist - \global\let\macrolist\newmacrolist + \expandafter\let\csname#1\endcsname \relax + \let\definedummyword\unmacrodo + \xdef\macrolist{\macrolist}% \endgroup \else \errmessage{Macro #1 not defined}% \fi } +% Called by \do from \dounmacro on each macro. The idea is to omit any +% macro definitions that have been changed to \relax. +% +\def\unmacrodo#1{% + \ifx #1\relax + % remove this + \else + \noexpand\definedummyword \noexpand#1% + \fi +} + % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. @@ -5437,31 +6184,29 @@ width0pt\relax} \fi % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) -\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} +\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg - \fi \next} - -% We mant to disable all macros during \shipout so that they are not -% expanded by \write. -\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% - \edef\next{\macrolist}\expandafter\endgroup\next} + \fi \macnamexxx} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. -\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx} +\def\alias{\parseargusing\obeyspaces\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{\ignoreactivespaces -\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=% - \expandafter\noexpand\csname#2\endcsname}% -\expandafter\endgroup\next} +\def\aliasyyy #1=#2\relax{% + {% + \expandafter\let\obeyedspace=\empty + \addtomacrolist{#1}% + \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% + }% + \next +} \message{cross references,} -% @xref etc. \newwrite\auxfile @@ -5473,56 +6218,68 @@ width0pt\relax} \fi \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} -% @node's job is to define \lastnode. -\def\node{\ENVcheck\parsearg\nodezzz} -\def\nodezzz#1{\nodexxx [#1,]} -\def\nodexxx[#1,#2]{\gdef\lastnode{#1}} +% @node's only job in TeX is to define \lastnode, which is used in +% cross-references. The @node line might or might not have commas, and +% might or might not have spaces before the first comma, like: +% @node foo , bar , ... +% We don't want such trailing spaces in the node name. +% +\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} +% +% also remove a trailing comma, in case of something like this: +% @node Help-Cross, , , Cross-refs +\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} + \let\nwnode=\node -\let\lastnode=\relax +\let\lastnode=\empty -% The sectioning commands (@chapter, etc.) call these. -\def\donoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}% - {Ysectionnumberandtype}% - \global\let\lastnode=\relax +% Write a cross-reference definition for the current node. #1 is the +% type (Ynumbered, Yappendix, Ynothing). +% +\def\donoderef#1{% + \ifx\lastnode\empty\else + \setref{\lastnode}{#1}% + \global\let\lastnode=\empty \fi } -\def\unnumbnoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}% - \global\let\lastnode=\relax - \fi -} -\def\appendixnoderef{% - \ifx\lastnode\relax\else - \expandafter\expandafter\expandafter\setref{\lastnode}% - {Yappendixletterandtype}% - \global\let\lastnode=\relax - \fi -} - % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister -\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME, namely -% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have -% to set \indexdummies so commands such as @code in a section title -% aren't expanded. It would be nicer not to expand the titles in the -% first place, but there's so many layers that that is hard to do. % -\def\setref#1#2{{% - \indexdummies +\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} + +% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +% anchor), which consists of three parts: +% 1) NAME-title - the current sectioning name taken from \thissection, +% or the anchor name. +% 2) NAME-snt - section number and type, passed as the SNT arg, or +% empty for anchors. +% 3) NAME-pg - the page number. +% +% This is called from \donoderef, \anchor, and \dofloat. In the case of +% floats, there is an additional part, which is not written here: +% 4) NAME-lof - the text as it should appear in a @listoffloats. +% +\def\setref#1#2{% \pdfmkdest{#1}% - \dosetq{#1-title}{Ytitle}% - \dosetq{#1-pg}{Ypagenumber}% - \dosetq{#1-snt}{#2}% -}} + \iflinks + {% + \atdummies % preserve commands, but don't expand them + \edef\writexrdef##1##2{% + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% + \toks0 = \expandafter{\thissection}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \writexrdef{pg}{\folio}% will be written later, during \shipout + }% + \fi +} % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed @@ -5535,137 +6292,159 @@ width0pt\relax} \fi \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% - \def\printednodename{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual}% - \setbox0=\hbox{\printednodename}% + \def\printedrefname{\ignorespaces #3}% + \setbox1=\hbox{\printedmanual\unskip}% + \setbox0=\hbox{\printedrefname\unskip}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. - \def\printednodename{\refx{#1-title}{}}% + \def\printedrefname{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. - \def\printednodename{\ignorespaces #1}% + \def\printedrefname{\ignorespaces #1}% \fi% \fi \fi \fi % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. + % Make link in pdf output. \ifpdf \leavevmode \getfilename{#4}% - {\normalturnoffactive + {\turnoffactive + % See comments at \activebackslashdouble. + {\activebackslashdouble \xdef\pdfxrefdest{#1}% + \backslashparens\pdfxrefdest}% + % \ifnum\filenamelength>0 \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{#1}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% \else \startlink attr{/Border [0 0 0]}% - goto name{#1}% + goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% \linkcolor \fi % - \ifdim \wd1 > 0pt - \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}% + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". We distinguish them by the + % LABEL-title being set to a magic string. + {% + % Have to otherify everything special to allow the \csname to + % include an _ in the xref name, etc. + \indexnofonts + \turnoffactive + \expandafter\global\expandafter\let\expandafter\Xthisreftitle + \csname XR#1-title\endcsname + }% + \iffloat\Xthisreftitle + % If the user specified the print name (third arg) to the ref, + % print it instead of our usual "Figure 1.2". + \ifdim\wd0 = 0pt + \refx{#1-snt}{}% + \else + \printedrefname + \fi + % + % if the user also gave the printed manual name (fifth arg), append + % "in MANUALNAME". + \ifdim \wd1 > 0pt + \space \putwordin{} \cite{\printedmanual}% + \fi \else - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\normalturnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% - % [mynode], - [\printednodename],\space - % page 3 - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% + % node/anchor (non-float) references. + % + % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not + % insert empty discretionaries after hyphens, which means that it will + % not find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, this + % is a loss. Therefore, we give the text of the node name again, so it + % is as if TeX is seeing it for the first time. + \ifdim \wd1 > 0pt + \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% + \else + % _ (for example) has to be the character _ for the purposes of the + % control sequence corresponding to the node, but it has to expand + % into the usual \leavevmode...\vrule stuff for purposes of + % printing. So we \turnoffactive for the \refx-snt, back on for the + % printing, back off for the \refx-pg. + {\turnoffactive + % Only output a following space if the -snt ref is nonempty; for + % @unnumbered and @anchor, it won't be. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + }% + % output the `[mynode]' via a macro so it can be overridden. + \xrefprintnodename\printedrefname + % + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \putwordpage\tie\refx{#1-pg}{}% + \fi \fi \endlink \endgroup} -% \dosetq is the interface for calls from other macros - -% Use \normalturnoffactive so that punctuation chars such as underscore -% and backslash work in node names. (\turnoffactive doesn't do \.) -\def\dosetq#1#2{% - {\let\folio=0% - \normalturnoffactive - \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}% - \iflinks - \next - \fi - }% -} - -% \internalsetq {foo}{page} expands into -% CHARACTERS 'xrdef {foo}{...expansion of \Ypage...} -% When the aux file is read, ' is the escape character - -\def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}} - -% Things to be expanded by \internalsetq - -\def\Ypagenumber{\folio} - -\def\Ytitle{\thissection} - -\def\Ynothing{} - -\def\Ysectionnumberandtype{% -\ifnum\secno=0 \putwordChapter\xreftie\the\chapno % -\else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno % -\else \ifnum \subsubsecno=0 % -\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno % -\else % -\putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno % -\fi \fi \fi } - -\def\Yappendixletterandtype{% -\ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}% -\else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno % -\else \ifnum \subsubsecno=0 % -\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno % -\else % -\putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno % -\fi \fi \fi } - -\gdef\xreftie{'tie} - -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since square brackets don't work well in some documents. Particularly +% one that Bob is working on :). % -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Non-3.0. -\else - \def\linenumber{\the\inputlineno:\space} -\fi +\def\xrefprintnodename#1{[#1]} + +% Things referred to by \setref. +% +\def\Ynothing{} +\def\Yomitfromtoc{} +\def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter@tie \the\chapno + \else \ifnum\subsecno=0 + \putwordSection@tie \the\chapno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno + \else + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} +\def\Yappendix{% + \ifnum\secno=0 + \putwordAppendix@tie @char\the\appendixno{}% + \else \ifnum\subsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno + \else + \putwordSection@tie + @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. - +% \def\refx#1#2{% - \expandafter\ifx\csname X#1\endcsname\relax + {% + \indexnofonts + \otherbackslash + \expandafter\global\expandafter\let\expandafter\thisrefX + \csname XR#1\endcsname + }% + \ifx\thisrefX\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks @@ -5680,22 +6459,50 @@ width0pt\relax} \fi \fi \else % It's defined, so just use it. - \csname X#1\endcsname + \thisrefX \fi #2% Output the suffix in any case. } -% This is the macro invoked by entries in the aux file. +% This is the macro invoked by entries in the aux file. Usually it's +% just a \def (we prepend XR to the control sequence name to avoid +% collisions). But if this is a float type, we have more work to do. % -\def\xrdef#1{\begingroup - % Reenable \ as an escape while reading the second argument. - \catcode`\\ = 0 - \afterassignment\endgroup - \expandafter\gdef\csname X#1\endcsname +\def\xrdef#1#2{% + \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR#1\endcsname + % it was a float, and we have the (safe) float type in \iffloattype. + \expandafter\let\expandafter\floatlist + \csname floatlist\iffloattype\endcsname + % + % Is this the first time we've seen this float type? + \expandafter\ifx\floatlist\relax + \toks0 = {\do}% yes, so just \do + \else + % had it before, so preserve previous elements in list. + \toks0 = \expandafter{\floatlist\do}% + \fi + % + % Remember this xref in the control sequence \floatlistFLOATTYPE, + % for later use in \listoffloats. + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% + \fi } % Read the last existing aux file, if any. No error if none exists. -\def\readauxfile{\begingroup +% +\def\tryauxfile{% + \openin 1 \jobname.aux + \ifeof 1 \else + \readdatafile{aux}% + \global\havexrefstrue + \fi + \closein 1 +} + +\def\setupdatafile{% \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other @@ -5723,9 +6530,7 @@ width0pt\relax} \fi \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other - \catcode`\@=\other - \catcode`\^=\other - % It was suggested to define this as 7, which would allow ^^e4 etc. + % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ @@ -5738,6 +6543,9 @@ width0pt\relax} \fi % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % + \catcode`\^=\other + % + % Special characters. Should be turned off anyway, but... \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other @@ -5749,41 +6557,42 @@ width0pt\relax} \fi \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other - \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % Make the characters 128-255 be printing characters - {% - \count 1=128 - \def\loop{% - \catcode\count 1=\other - \advance\count 1 by 1 - \ifnum \count 1<256 \loop \fi - }% - }% - % The aux file uses ' as the escape (for now). - % Turn off \ as an escape so we do not lose on - % entries which were dumped with control sequences in their names. - % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^ - % Reference to such entries still does not work the way one would wish, - % but at least they do not bomb out when the aux file is read in. - \catcode`\{=1 - \catcode`\}=2 \catcode`\%=\other - \catcode`\'=0 + \catcode`+=\other % avoid \+ for paranoia even though we've turned it off + % + % This is to support \ in node names and titles, since the \ + % characters end up in a \csname. It's easier than + % leaving it active and making its active definition an actual \ + % character. What I don't understand is why it works in the *value* + % of the xrdef. Seems like it should be a catcode12 \, and that + % should not typeset properly. But it works, so I'm moving on for + % now. --karl, 15jan04. \catcode`\\=\other % - \openin 1 \jobname.aux - \ifeof 1 \else - \closein 1 - \input \jobname.aux - \global\havexrefstrue - \global\warnedobstrue - \fi - % Open the new aux file. TeX will close it automatically at exit. - \openout\auxfile=\jobname.aux + % Make the characters 128-255 be printing characters. + {% + \count1=128 + \def\loop{% + \catcode\count1=\other + \advance\count1 by 1 + \ifnum \count1<256 \loop \fi + }% + }% + % + % @ is our escape character in .aux files, and we need braces. + \catcode`\{=1 + \catcode`\}=2 + \catcode`\@=0 +} + +\def\readdatafile#1{% +\begingroup + \setupdatafile + \input\jobname.#1 \endgroup} - -% Footnotes. +\message{insertions,} +% including footnotes. \newcount \footnoteno @@ -5797,37 +6606,39 @@ width0pt\relax} \fi % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment -\let\ptexfootnote=\footnote - {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% + \let\indent=\ptexindent + \let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf - \footnotezzz + \dofootnote }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % -% Oh yes, they do; otherwise, @ifset and anything else that uses -% \parseargline fail inside footnotes because the tokens are fixed when +% Oh yes, they do; otherwise, @ifset (and anything else that uses +% \parseargline) fails inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % -\long\gdef\footnotezzz{\insert\footins\bgroup +\gdef\dofootnote{% + \insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. + \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox @@ -5857,48 +6668,68 @@ width0pt\relax} \fi \footstrut \futurelet\next\fo@t } -\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t - \else\let\next\f@t\fi \next} -\def\f@@t{\bgroup\aftergroup\@foot\let\next} -\def\f@t#1{#1\@foot} -\def\@foot{\strut\par\egroup} - }%end \catcode `\@=11 -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). +% In case a @footnote appears in a vbox, save the footnote text and create +% the real \insert just after the vbox finished. Otherwise, the insertion +% would be lost. +% Similarily, if a @footnote appears inside an alignment, save the footnote +% text to a box and make the \insert when a row of the table is finished. +% And the same can be done for other insert classes. --kasal, 16nov03. + +% Replace the \insert primitive by a cheating macro. +% Deeper inside, just make sure that the saved insertions are not spilled +% out prematurely. % -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% +\def\startsavinginserts{% + \ifx \insert\ptexinsert + \let\insert\saveinsert + \else + \let\checkinserts\relax + \fi } -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). +% This \insert replacement works for both \insert\footins{foo} and +% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. % -\def\finalout{\overfullrule=0pt} +\def\saveinsert#1{% + \edef\next{\noexpand\savetobox \makeSAVEname#1}% + \afterassignment\next + % swallow the left brace + \let\temp = +} +\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} +\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} + +\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} + +\def\placesaveins#1{% + \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname + {\box#1}% +} + +% eat @SAVE -- beware, all of them have catcode \other: +{ + \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) + \gdef\gobblesave @SAVE{} +} + +% initialization: +\def\newsaveins #1{% + \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% + \next +} +\def\newsaveinsX #1{% + \csname newbox\endcsname #1% + \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts + \checksaveins #1}% +} + +% initialize: +\let\checkinserts\empty +\newsaveins\footins +\newsaveins\margin + % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. @@ -5908,12 +6739,12 @@ width0pt\relax} \fi % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else - \closein 1 - % Do not bother showing banner with post-v2.7 epsf.tex (available in - % doc/epsf.tex until it shows up on ctan). + % Do not bother showing banner with epsf.tex v2.7k (available in + % doc/epsf.tex and on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi +\closein 1 % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf @@ -5949,10 +6780,10 @@ width0pt\relax} \fi \nobreak\bigskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space - % above and below. + % above and below. \nobreak\vskip\parskip \nobreak - \line\bgroup\hss + \line\bgroup \fi % % Output the image. @@ -5965,10 +6796,275 @@ width0pt\relax} \fi \epsfbox{#1.eps}% \fi % - \ifimagevmode \hss \egroup \bigbreak \fi % space after the image + \ifimagevmode \egroup \bigbreak \fi % space after the image \endgroup} +% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, +% etc. We don't actually implement floating yet, we always include the +% float "here". But it seemed the best name for the future. +% +\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} + +% There may be a space before second and/or third parameter; delete it. +\def\eatcommaspace#1, {#1,} + +% #1 is the optional FLOATTYPE, the text label for this float, typically +% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, +% this float will not be numbered and cannot be referred to. +% +% #2 is the optional xref label. Also must be present for the float to +% be referable. +% +% #3 is the optional positioning argument; for now, it is ignored. It +% will somehow specify the positions allowed to float to (here, top, bottom). +% +% We keep a separate counter for each FLOATTYPE, which we reset at each +% chapter-level command. +\let\resetallfloatnos=\empty +% +\def\dofloat#1,#2,#3,#4\finish{% + \let\thiscaption=\empty + \let\thisshortcaption=\empty + % + % don't lose footnotes inside @float. + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \startsavinginserts + % + % We can't be used inside a paragraph. + \par + % + \vtop\bgroup + \def\floattype{#1}% + \def\floatlabel{#2}% + \def\floatloc{#3}% we do nothing with this yet. + % + \ifx\floattype\empty + \let\safefloattype=\empty + \else + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + \fi + % + % If label is given but no type, we handle that as the empty type. + \ifx\floatlabel\empty \else + % We want each FLOATTYPE to be numbered separately (Figure 1, + % Table 1, Figure 2, ...). (And if no label, no number.) + % + \expandafter\getfloatno\csname\safefloattype floatno\endcsname + \global\advance\floatno by 1 + % + {% + % This magic value for \thissection is output by \setref as the + % XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % + \edef\thissection{\floatmagic=\safefloattype}% + \setref{\floatlabel}{Yfloat}% + }% + \fi + % + % start with \parskip glue, I guess. + \vskip\parskip + % + % Don't suppress indentation if a float happens to start a section. + \restorefirstparagraphindent +} + +% we have these possibilities: +% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap +% @float Foo,lbl & no caption: Foo 1.1 +% @float Foo & @caption{Cap}: Foo: Cap +% @float Foo & no caption: Foo +% @float ,lbl & Caption{Cap}: 1.1: Cap +% @float ,lbl & no caption: 1.1 +% @float & @caption{Cap}: Cap +% @float & no caption: +% +\def\Efloat{% + \let\floatident = \empty + % + % In all cases, if we have a float type, it comes first. + \ifx\floattype\empty \else \def\floatident{\floattype}\fi + % + % If we have an xref label, the number comes next. + \ifx\floatlabel\empty \else + \ifx\floattype\empty \else % if also had float type, need tie first. + \appendtomacro\floatident{\tie}% + \fi + % the number. + \appendtomacro\floatident{\chaplevelprefix\the\floatno}% + \fi + % + % Start the printed caption with what we've constructed in + % \floatident, but keep it separate; we need \floatident again. + \let\captionline = \floatident + % + \ifx\thiscaption\empty \else + \ifx\floatident\empty \else + \appendtomacro\captionline{: }% had ident, so need a colon between + \fi + % + % caption text. + \appendtomacro\captionline{\scanexp\thiscaption}% + \fi + % + % If we have anything to print, print it, with space before. + % Eventually this needs to become an \insert. + \ifx\captionline\empty \else + \vskip.5\parskip + \captionline + % + % Space below caption. + \vskip\parskip + \fi + % + % If have an xref label, write the list of floats info. Do this + % after the caption, to avoid chance of it being a breakpoint. + \ifx\floatlabel\empty \else + % Write the text that goes in the lof to the aux file as + % \floatlabel-lof. Besides \floatident, we include the short + % caption if specified, else the full caption if specified, else nothing. + {% + \atdummies + % + % since we read the caption text in the macro world, where ^^M + % is turned into a normal character, we have to scan it back, so + % we don't write the literal three characters "^^M" into the aux file. + \scanexp{% + \xdef\noexpand\gtemp{% + \ifx\thisshortcaption\empty + \thiscaption + \else + \thisshortcaption + \fi + }% + }% + \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident + \ifx\gtemp\empty \else : \gtemp \fi}}% + }% + \fi + \egroup % end of \vtop + % + % place the captured inserts + % + % BEWARE: when the floats start floating, we have to issue warning + % whenever an insert appears inside a float which could possibly + % float. --kasal, 26may04 + % + \checkinserts +} + +% Append the tokens #2 to the definition of macro #1, not expanding either. +% +\def\appendtomacro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}% +} + +% @caption, @shortcaption +% +\def\caption{\docaption\thiscaption} +\def\shortcaption{\docaption\thisshortcaption} +\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\defcaption#1#2{\egroup \def#1{#2}} + +% The parameter is the control sequence identifying the counter we are +% going to use. Create it if it doesn't exist and assign it to \floatno. +\def\getfloatno#1{% + \ifx#1\relax + % Haven't seen this figure type before. + \csname newcount\endcsname #1% + % + % Remember to reset this floatno at the next chap. + \expandafter\gdef\expandafter\resetallfloatnos + \expandafter{\resetallfloatnos #1=0 }% + \fi + \let\floatno#1% +} + +% \setref calls this to get the XREFLABEL-snt value. We want an @xref +% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we +% first read the @float command. +% +\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% + +% Magic string used for the XREFLABEL-title value, so \xrefX can +% distinguish floats from other xref types. +\def\floatmagic{!!float!!} + +% #1 is the control sequence we are passed; we expand into a conditional +% which is true if #1 represents a float ref. That is, the magic +% \thissection value which we \setref above. +% +\def\iffloat#1{\expandafter\doiffloat#1==\finish} +% +% #1 is (maybe) the \floatmagic string. If so, #2 will be the +% (safe) float type for this float. We set \iffloattype to #2. +% +\def\doiffloat#1=#2=#3\finish{% + \def\temp{#1}% + \def\iffloattype{#2}% + \ifx\temp\floatmagic +} + +% @listoffloats FLOATTYPE - print a list of floats like a table of contents. +% +\parseargdef\listoffloats{% + \def\floattype{#1}% floattype + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + % + % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. + \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax + \ifhavexrefs + % if the user said @listoffloats foo but never @float foo. + \message{\linenumber No `\safefloattype' floats to list.}% + \fi + \else + \begingroup + \leftskip=\tocindent % indent these entries like a toc + \let\do=\listoffloatsdo + \csname floatlist\safefloattype\endcsname + \endgroup + \fi +} + +% This is called on each entry in a list of floats. We're passed the +% xref label, in the form LABEL-title, which is how we save it in the +% aux file. We strip off the -title and look up \XRLABEL-lof, which +% has the text we're supposed to typeset here. +% +% Figures without xref labels will not be included in the list (since +% they won't appear in the aux file). +% +\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} +\def\listoffloatsdoentry#1-title\finish{{% + % Can't fully expand XR#1-lof because it can contain anything. Just + % pass the control sequence. On the other hand, XR#1-pg is just the + % page number, and we want to fully expand that so we can get a link + % in pdf output. + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry +}} + \message{localization,} % and i18n. @@ -5977,19 +7073,17 @@ width0pt\relax} \fi % properly. Single argument is the language abbreviation. % It would be nice if we could set up a hyphenation file here. % -\def\documentlanguage{\parsearg\dodocumentlanguage} -\def\dodocumentlanguage#1{% +\parseargdef\documentlanguage{% \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. - \openin 1 txi-#1.tex - \ifeof1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \let\temp = \relax - \else - \def\temp{\input txi-#1.tex }% - \fi - \temp + % Read the file if it exists. + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \input txi-#1.tex + \fi + \closein 1 \endgroup } \newhelp\nolanghelp{The given language definition file cannot be found or @@ -6034,12 +7128,14 @@ should work if nowhere else does.} \fi } -% Parameters in order: 1) textheight; 2) textwidth; 3) voffset; -% 4) hoffset; 5) binding offset; 6) topskip. We also call -% \setleading{\textleading}, so the caller should define \textleading. -% The caller should also set \parskip. +% Parameters in order: 1) textheight; 2) textwidth; +% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; +% 7) physical page height; 8) physical page width. % -\def\internalpagesizes#1#2#3#4#5#6{% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. +% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip @@ -6058,55 +7154,88 @@ should work if nowhere else does.} \normaloffset = #4\relax \bindingoffset = #5\relax % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + \fi + % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } -% Use `small' versions. -% -\def\smallenvironments{% - \let\smalldisplay = \smalldisplayx - \let\smallexample = \smalllispx - \let\smallformat = \smallformatx - \let\smalllisp = \smalllispx -} - % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}% + \internalpagesizes{46\baselineskip}{6in}% + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% }} -% Use @smallbook to reset parameters for 7x9.5 (or so) format. +% Use @smallbook to reset parameters for 7x9.25 trim size. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % - \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}% + \internalpagesizes{7.5in}{5in}% + {\voffset}{.25in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt - \deftypemargin = 0pt \defbodyindent = .5cm - \smallenvironments +}} + +% Use @smallerbook to reset parameters for 6x9 trim size. +% (Just testing, parameters still in flux.) +\def\smallerbook{{\globaldefs = 1 + \parskip = 1.5pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.4in}{4.8in}% + {-.2in}{-.4in}% + {0pt}{14pt}% + {9in}{6in}% + % + \lispnarrowing = 0.25in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .4cm }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt - \textleading = 12pt + \textleading = 13.2pt % - \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}% + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{51\baselineskip}{160mm} + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% % \tolerance = 700 \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = 5mm }} % Use @afivepaper to print on European A5 paper. @@ -6116,44 +7245,46 @@ should work if nowhere else does.} \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % - \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}% + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt - \contentsrightmargin = 0mm - \deftypemargin = 0pt + \contentsrightmargin = 0pt \defbodyindent = 2mm \tableindent = 12mm - % - \smallenvironments }} -% A specific text layout, 24x15cm overall, intended for A4 paper. Top margin -% 29mm, hence bottom margin 28mm, nominal side margin 3cm. +% A specific text layout, 24x15cm overall, intended for A4 paper. \def\afourlatex{{\globaldefs = 1 - \textleading = 13.6pt - % \afourpaper - \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}% + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% % - % Must explicitly reset to 0 because we call \afourpaper, apparently, - % although this does not entirely make sense. + % Must explicitly reset to 0 because we call \afourpaper. \globaldefs = 0 }} -% Use @afourwide to print on European A4 paper in wide format. -\def\afourwide{% +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 \afourpaper - \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% -} + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % -\def\pagesizes{\parsearg\pagesizesxxx} -\def\pagesizesxxx#1{\pagesizesyyy #1,,\finish} +\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 @@ -6161,7 +7292,16 @@ should work if nowhere else does.} \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % - \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}% + \dimen0 = #1 + \advance\dimen0 by \voffset + % + \dimen2 = \hsize + \advance\dimen2 by \normaloffset + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% }} % Set default to letter. @@ -6191,8 +7331,8 @@ should work if nowhere else does.} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix -% This macro is used to make a character print one way in ttfont -% where it can probably just be output, and another way in other fonts, +% This macro is used to make a character print one way in \tt +% (where it can probably be output as-is), and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print @@ -6224,8 +7364,9 @@ should work if nowhere else does.} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} +\let\realunder=_ % Subroutine for the previous macro. -\def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}} +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \catcode`\|=\active \def|{{\tt\char124}} @@ -6239,15 +7380,6 @@ should work if nowhere else does.} \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix -%\catcode 27=\active -%\def^^[{$\diamondsuit$} - -% Set up an active definition for =, but don't enable it most of the time. -{\catcode`\==\active -\global\def={{\tt \char 61}}} - -\catcode`+=\active -\catcode`\_=\active % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. @@ -6255,46 +7387,53 @@ should work if nowhere else does.} % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} +% Used sometimes to turn off (effectively) the active characters even after +% parsing them. +\def\turnoffactive{% + \normalturnoffactive + \otherbackslash +} + \catcode`\@=0 -% \rawbackslashxx output one backslash character in current font -\global\chardef\rawbackslashxx=`\\ -%{\catcode`\\=\other -%@gdef@rawbackslashxx{\}} +% \backslashcurfont outputs one backslash character in current font, +% as in \char`\\. +\global\chardef\backslashcurfont=`\\ +\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work -% \rawbackslash redefines \ as input to do \rawbackslashxx. -{\catcode`\\=\active -@gdef@rawbackslash{@let\=@rawbackslashxx }} +% \realbackslash is an actual character `\' with catcode other, and +% \doublebackslash is two of them (for the pdf outlines). +{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} -% \normalbackslash outputs one backslash in fixed width font. -\def\normalbackslash{{\tt\rawbackslashxx}} - -% \catcode 17=0 % Define control-q +% In texinfo, backslash is an active character; it prints the backslash +% in fixed width font. \catcode`\\=\active +@def@normalbackslash{{@tt@backslashcurfont}} +% On startup, @fixbackslash assigns: +% @let \ = @normalbackslash -% Used sometimes to turn off (effectively) the active characters -% even after parsing them. -@def@turnoffactive{@let"=@normaldoublequote -@let\=@realbackslash -@let~=@normaltilde -@let^=@normalcaret -@let_=@normalunderscore -@let|=@normalverticalbar -@let<=@normalless -@let>=@normalgreater -@let+=@normalplus -@let$=@normaldollar}%$ font-lock fix +% \rawbackslash defines an active \ to do \backslashcurfont. +% \otherbackslash defines an active \ to be a literal `\' character with +% catcode other. +@gdef@rawbackslash{@let\=@backslashcurfont} +@gdef@otherbackslash{@let\=@realbackslash} -@def@normalturnoffactive{@let"=@normaldoublequote -@let\=@normalbackslash -@let~=@normaltilde -@let^=@normalcaret -@let_=@normalunderscore -@let|=@normalverticalbar -@let<=@normalless -@let>=@normalgreater -@let+=@normalplus -@let$=@normaldollar}%$ font-lock fix +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. +% +@def@normalturnoffactive{% + @let\=@normalbackslash + @let"=@normaldoublequote + @let~=@normaltilde + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let<=@normalless + @let>=@normalgreater + @let+=@normalplus + @let$=@normaldollar %$ font-lock fix + @unsepspaces +} % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @@ -6308,9 +7447,9 @@ should work if nowhere else does.} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\{ in the file would cause an error. This macro tries to fix +% the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. -% Also back turn on active characters that might appear in the input +% Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @@ -6322,15 +7461,11 @@ should work if nowhere else does.} % Say @foo, not \foo, in error messages. @escapechar = `@@ -% These look ok in all fonts, so just make them not special. +% These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other -@c Set initial fonts. -@textfonts -@rm - @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @@ -6339,3 +7474,9 @@ should work if nowhere else does.} @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: + +@c vim:sw=2: + +@ignore + arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 +@end ignore diff --git a/libjava/classpath/examples/Makefile.am b/libjava/classpath/examples/Makefile.am index 6940bdf2599..8d619e14dc9 100644 --- a/libjava/classpath/examples/Makefile.am +++ b/libjava/classpath/examples/Makefile.am @@ -8,16 +8,16 @@ GLIBJ_CLASSPATH='$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_bui #if FOUND_JIKES #JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. #else -if FOUND_GCJX -JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. -else if FOUND_ECJ -JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +else +if FOUND_JAVAC +JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . else error dunno how to setup the JCOMPILER and compile +#endif +#endif endif -#endif -#endif endif # All our example java source files @@ -35,6 +35,7 @@ BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +EXAMPLE_ICONS += $(srcdir)/gnu/classpath/examples/icons/*.gif # the html pages we use in the swing demo example. EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in index 014386b44cc..731671c8a5f 100644 --- a/libjava/classpath/examples/Makefile.in +++ b/libjava/classpath/examples/Makefile.in @@ -45,16 +45,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = Makefile.jawt Makefile.java2d SOURCES = @@ -73,12 +78,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -124,6 +132,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -136,15 +145,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -152,7 +162,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -162,6 +171,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -173,6 +183,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -182,6 +193,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -201,6 +213,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -222,6 +235,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -249,8 +263,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -283,6 +299,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -301,7 +318,7 @@ target_vendor = @target_vendor@ toolexeclibdir = @toolexeclibdir@ vm_classes = @vm_classes@ GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_builddir)/tools/tools.zip' -@FOUND_ECJ_TRUE@@FOUND_GCJX_FALSE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . +@FOUND_ECJ_FALSE@@FOUND_JAVAC_TRUE@JCOMPILER = $(JAVAC) -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath . # Setup the compiler to use the GNU Classpath library we just build #if FOUND_GCJ @@ -310,7 +327,7 @@ GLIBJ_CLASSPATH = '$(top_builddir)/lib':'$(top_builddir)/lib/glibj.zip':'$(top_b #if FOUND_JIKES #JCOMPILER = $(JIKES) -bootclasspath '' -extdirs '' -sourcepath '' --classpath $(top_builddir)/lib:. #else -@FOUND_GCJX_TRUE@JCOMPILER = $(GCJX) -encoding UTF-8 -bootclasspath '' -sourcepath '' -classpath $(GLIBJ_CLASSPATH):. +@FOUND_ECJ_TRUE@JCOMPILER = $(ECJ) -1.5 -encoding UTF-8 -warn:-deprecation,serial,typeHiding,unchecked,unused,varargsCast -bootclasspath $(GLIBJ_CLASSPATH) -classpath . #endif #endif @@ -328,7 +345,8 @@ EXAMPLE_ZIP = examples.zip BUILT_SOURCES = $(EXAMPLE_ZIP) # the png icons we use in some of the examples. -EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png +EXAMPLE_ICONS = $(srcdir)/gnu/classpath/examples/icons/*.png \ + $(srcdir)/gnu/classpath/examples/icons/*.gif # the html pages we use in the swing demo example. EXAMPLE_HTML = $(srcdir)/gnu/classpath/examples/swing/*.html @@ -540,7 +558,7 @@ uninstall-am: uninstall-exampleDATA uninstall-info-am uninstall-local uninstall uninstall-am uninstall-exampleDATA uninstall-info-am \ uninstall-local -@FOUND_ECJ_FALSE@@FOUND_GCJX_FALSE@error dunno how to setup the JCOMPILER and compile +@FOUND_ECJ_FALSE@@FOUND_JAVAC_FALSE@error dunno how to setup the JCOMPILER and compile # Make sure all sources and icons are also installed so users can use them. # (Be careful to strip off the srcdir part of the path when installing.) diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java b/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java index ed18fd4c2ee..5bb4ec48ac1 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java +++ b/libjava/classpath/examples/gnu/classpath/examples/awt/AicasGraphicsBenchmark.java @@ -100,8 +100,8 @@ public class AicasGraphicsBenchmark extends Panel public AicasGraphicsBenchmark() { - pngTestImage = loadImage("aicas.png"); - gifTestImage = loadImage("palme.gif"); + pngTestImage = loadImage("../icons/aicas.png"); + gifTestImage = loadImage("../icons/palme.gif"); setLayout(new BorderLayout()); testLabel = new Label(); diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java b/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java new file mode 100644 index 00000000000..75b6f67c92f --- /dev/null +++ b/libjava/classpath/examples/gnu/classpath/examples/awt/HintingDemo.java @@ -0,0 +1,377 @@ +/* Demo.java -- Shows examples of AWT components + Copyright (C) 1998, 1999, 2002, 2004, 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath examples. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. */ + +package gnu.classpath.examples.awt; + +import gnu.java.awt.font.*; +import gnu.java.awt.font.opentype.*; + +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.font.*; +import java.io.*; +import java.nio.*; +import java.nio.channels.*; +import java.text.*; + +import javax.swing.BoxLayout; +import javax.swing.JCheckBox; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPanel; +import javax.swing.JSpinner; +import javax.swing.JTextField; +import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; + +public class HintingDemo extends JFrame { + + FontDelegate font; + GNUGlyphVector glyph; + GlyphPreview glyphPreview; + HintPanel hintPanel; + StringViewer stringViewer; + Chooser chooser; + char character; + Options options; + boolean antiAlias; + int flags; + + class StringViewer extends JPanel + implements ActionListener + { + JTextField input; + GNUGlyphVector gv; + Viewer viewer; + StringViewer() + { + setLayout(new GridLayout(0, 1)); + setBorder(new TitledBorder("Use this field to render complete strings")); + input = new JTextField(); + input.addActionListener(this); + add(input); + viewer = new Viewer(); + add(viewer); + } + + public void actionPerformed(ActionEvent event) + { + refresh(); + } + + void refresh() + { + gv = (GNUGlyphVector) + font.createGlyphVector(new Font("Dialog", 0, 12), + new FontRenderContext(null, false, false), + new StringCharacterIterator(input.getText())); + viewer.repaint(); + } + + class Viewer extends JPanel + { + protected void paintComponent(Graphics g) + { + if (gv != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g; + if (antiAlias) + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + } + else + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + } + g2d.clearRect(0, 0, getWidth(), getHeight()); + g2d.setColor(Color.BLACK); + Shape outline = gv.getOutline(0, 0, + flags | FontDelegate.FLAG_FITTED); + g2d.translate(20, Math.floor(outline.getBounds2D().getHeight()) + 2); + g2d.fill(outline); + } + } + } + } + + class HintPanel extends JPanel + { + + HintPanel() + { + setBorder(new TitledBorder("Detailed glyph view")); + } + protected void paintComponent(Graphics g) + { + if (glyph != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g.create(); + Insets i = getInsets(); + g2d.clearRect(i.left, i.top, getWidth() - i.left - i.right, + getHeight() - i.top - i.bottom); + g2d.setColor(Color.GRAY); + for (int x = 20; x < getWidth(); x += 20) + { + g2d.drawLine(x, i.top, x, getHeight() - i.top - i.bottom); + } + for (int y = 20; y < getHeight(); y += 20) + { + g2d.drawLine(i.left, y, getWidth() - i.left - i.right, y); + } + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + g2d.translate(40, 300); + g2d.scale(20., 20.); + g2d.setStroke(new BasicStroke((float) (1/20.))); + g2d.setColor(Color.RED); + g2d.draw(glyph.getOutline(0, 0, flags & ~FontDelegate.FLAG_FITTED)); + g2d.setColor(Color.GREEN); + g2d.draw(glyph.getOutline(0, 0, flags | FontDelegate.FLAG_FITTED)); + } + } + + } + + class GlyphPreview extends JPanel + { + protected void paintComponent(Graphics g) + { + if (glyph != null && g instanceof Graphics2D) + { + Graphics2D g2d = (Graphics2D) g; + if (antiAlias) + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + } + else + { + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_OFF); + } + g2d.clearRect(0, 0, getWidth(), getHeight()); + g2d.setColor(Color.BLACK); + Shape outline = glyph.getOutline(0, 0, + flags | FontDelegate.FLAG_FITTED); + g2d.translate(20, outline.getBounds2D().getHeight() + 2); + g2d.fill(outline); + } + } + + } + + HintingDemo() + { + File file = new File("/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/DejaVuSerif.ttf"); + loadFont(file); + setLayout(new BorderLayout()); + chooser = new Chooser(); + add(chooser, BorderLayout.NORTH); + hintPanel = new HintPanel(); + character = 'A'; + add(hintPanel); + + options = new Options(); + add(options, BorderLayout.EAST); + + stringViewer = new StringViewer(); + add(stringViewer, BorderLayout.SOUTH); + refresh(); + + JMenuBar mb = new JMenuBar(); + setJMenuBar(mb); + JMenu fileMenu = new JMenu("File"); + mb.add(fileMenu); + JMenuItem loadFont = new JMenuItem("Load font"); + loadFont.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent ev) + { + JFileChooser fc = new JFileChooser() + { + public boolean accept(File f) + { + return f.isDirectory() || f.getName().endsWith(".ttf"); + } + }; + int status = fc.showOpenDialog(HintingDemo.this); + if (status == JFileChooser.APPROVE_OPTION) + { + File file = fc.getSelectedFile(); + loadFont(file); + } + } + }); + fileMenu.add(loadFont); + } + + void refresh() + { + if (chooser != null) + chooser.refresh(); + if (glyphPreview != null) + glyphPreview.repaint(); + if (hintPanel != null) + hintPanel.repaint(); + if (stringViewer != null) + stringViewer.refresh(); + } + + class Options extends JPanel + implements ActionListener + { + JCheckBox antiAliasOpt; + JCheckBox hintHorizontalOpt; + JCheckBox hintVerticalOpt; + JCheckBox hintEdgeOpt; + JCheckBox hintStrongOpt; + JCheckBox hintWeakOpt; + Options() + { + setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); + setBorder(new TitledBorder("Hinting options")); + antiAliasOpt = new JCheckBox("Antialias"); + antiAliasOpt.setSelected(true); + antiAliasOpt.addActionListener(this); + add(antiAliasOpt); + hintHorizontalOpt = new JCheckBox("Hint horizontal"); + hintHorizontalOpt.setSelected(true); + hintHorizontalOpt.addActionListener(this); + add(hintHorizontalOpt); + hintVerticalOpt = new JCheckBox("Hint vertical"); + hintVerticalOpt.setSelected(true); + hintVerticalOpt.addActionListener(this); + add(hintVerticalOpt); + hintEdgeOpt = new JCheckBox("Hint edge points"); + hintEdgeOpt.setSelected(true); + hintEdgeOpt.addActionListener(this); + add(hintEdgeOpt); + hintStrongOpt = new JCheckBox("Hint strong points"); + hintStrongOpt.setSelected(true); + hintStrongOpt.addActionListener(this); + add(hintStrongOpt); + hintWeakOpt = new JCheckBox("Hint weak points"); + hintWeakOpt.setSelected(true); + hintWeakOpt.addActionListener(this); + add(hintWeakOpt); + sync(); + } + + void sync() + { + antiAlias = antiAliasOpt.isSelected(); + if (hintHorizontalOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_HORIZONTAL; + else + flags |= FontDelegate.FLAG_NO_HINT_HORIZONTAL; + if (hintVerticalOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_VERTICAL; + else + flags |= FontDelegate.FLAG_NO_HINT_VERTICAL; + if (hintEdgeOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_EDGE_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_EDGE_POINTS; + if (hintStrongOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_STRONG_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_STRONG_POINTS; + if (hintWeakOpt.isSelected()) + flags &= ~FontDelegate.FLAG_NO_HINT_WEAK_POINTS; + else + flags |= FontDelegate.FLAG_NO_HINT_WEAK_POINTS; + + refresh(); + } + + public void actionPerformed(ActionEvent event) + { + sync(); + } + } + + class Chooser extends JPanel + { + JSpinner spin; + Chooser() + { + setLayout(new GridLayout(1, 0)); + setBorder(new TitledBorder("Choose and preview the character to render")); + spin = new JSpinner(); + spin.addChangeListener(new ChangeListener() + { + + public void stateChanged(ChangeEvent event) + { + int val = ((Integer) spin.getValue()).intValue(); + setGlyph((char) val); + } + }); + add(spin); + glyphPreview = new GlyphPreview(); + add(glyphPreview); + } + void refresh() + { + spin.setValue(new Integer(character)); + repaint(); + } + } + + private void loadFont(File file) + { + try + { + RandomAccessFile raf = new RandomAccessFile(file, "r"); + FileChannel chan = raf.getChannel(); + ByteBuffer buf = chan.map(FileChannel.MapMode.READ_ONLY, 0, raf.length()); + FontDelegate[] fonts = OpenTypeFontFactory.createFonts(buf); + font = fonts[0]; + setGlyph(character); + refresh(); + } + catch (Exception ex) + { + ex.printStackTrace(); + } + } + + void setGlyph(char ch) + { + character = ch; + glyph = (GNUGlyphVector) + font.createGlyphVector(new Font("Dialog", 0, 12), + new FontRenderContext(null, false, false), + new StringCharacterIterator(new String(new char[]{ch}))); + refresh(); + } + + public static void main(String[] args) { + HintingDemo f = new HintingDemo(); + f.setSize(500, 500); + f.setVisible(true); + } +} diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png similarity index 100% rename from libjava/classpath/examples/gnu/classpath/examples/awt/aicas.png rename to libjava/classpath/examples/gnu/classpath/examples/icons/aicas.png diff --git a/libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif b/libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif similarity index 100% rename from libjava/classpath/examples/gnu/classpath/examples/awt/palme.gif rename to libjava/classpath/examples/gnu/classpath/examples/icons/palme.gif diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java b/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java index 118ae2463b8..6d359180891 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java +++ b/libjava/classpath/examples/gnu/classpath/examples/java2d/J2dBenchmark.java @@ -174,8 +174,8 @@ public class J2dBenchmark public String init() { boolean loadError = false; - pngTestImage = loadImage("aicas.png"); - gifTestImage = loadImage("palme.gif"); + pngTestImage = loadImage("../icons/aicas.png"); + gifTestImage = loadImage("../icons/palme.gif"); if (texture != null) { diff --git a/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png b/libjava/classpath/examples/gnu/classpath/examples/java2d/aicas.png deleted file mode 100644 index dcf39654b9fee3b0669cdaff063c113d7127b288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2320 zcmV+r3GeoaP)1^@s652jM300006VoOIv00000 z008+zyMF)x010qNS#tmY3lIPR3lIUVBfWJ1000McNliru)C&R+4H-f^oU;G`2%Skp zK~#90?VK-kqf8gZpZ2UE4qTD*IqHZjl69#Iu8~>Sy5ib1=PW06scT%3iA&rYw@B*1 zHSQZp9k}4$S7e6(AqnJ9v+3q{PS2(gn45=t=iWP+?pZjU{=^@OSd(ed@n{-YpKZ%J zz8%^C0FY`m3IP8?JhUkrb1)&fcwdE274oZzm*!K1)avywDJG zjJ*iCsRy1RI@*M@b0OD>nD@$XI?a|cOG=(Uot+6;#S0h2`vUAl$abqm6-5Dnm2;r$ zd0$RI&elSTI}}Myqx5#w9FxWZE0k974onN;q3Bqn((O5%N#+#$)5;kvn3okcalhW0@xt zAwAcnr&4Eg7RsNrn2fPcHRhOESx4?OtcPwu2XFHSHN4l3B7~Rm4VZ=XXAd03F`W00 z&mMMf97WbXhJ|*i_KgiIq+& zDv|KmR4kx;vhi3%dk(|M%~lXZ5^&p4(AEinm7;EJBfsA4`>-9BxwfqnJT{eN>~EVU z8WzMKz9@ix#eZ{$~Q`J%ID50|3q?Ndo^VOBiFRfoXgeVVMx?F#G;e5z|D|82Xa~7Q`8c z*oBQ|-(L_hf9=o>D3HtAWkvnbb2A32M8xp!3ZdP!Lc3}Gdeos`UaY*wDjYwc`A~Xo zUm+aaU z&TLFS2>nt9080{pU!4YJ!OT-7VJ2#2A)QH(`Muk!XAI1qQ&Ck&7Q{526uLJmmSyPS zy#_B8di+D}%0`ulNoYU+GeILu!P!`jkmgjANE`FyX`R84ue<|sBtCZ!I(ef%AHLVP3K0+>+3+3luu$sq`k3h zhqEgi4NbQ0uNOCsMbj9z!%#QJNs`;DMGV(uL;&zvxXlniDuDpi+r@2dd~7O~*J+@w z6Noh-b1s$Sstegr=b`4a2w{wsb*Q(Zd?+IC9YZ%*^3LV#+D0M^R=1^E?4@D7wy!c- zn}so05Yx(YWd4JieIItaxM#KTZhNi|U8Wj=R?ag1}mqk{j4qPTKXK%IzI`iYEO2D9%|jEvw5^SX zCc_*E$$NM^$?f6jmlu!(Sm#_s-qD0%n25TJIuWhc_SM31{`C0ZVok_&AXRV*IuD;k znfr6PEft0)XF`7mHd@`A>~!F>C?ld+6VSb>0|3q;2v*u7fpT7HXtMR|QO``gY1%r0 z*KI(nxKx(H8s2MGx1}y*OO8rJ{Cd>U)=6O|-_}M$ldaeGRpIzV5-_~ilI6Iwa60`N z1_4cbW*CN$WVv*i!Gf6bLRu6A7}~6zDtmnyJQmS(nW8Ilr8UKEZFKw~>9|xPEfo1@ z;dJ^FaZEEJa*q_MFMj^5EYy+tFh5a_a{!r;&S&uxuVZCA5hgRc-}kAyE|%{X6By0|Ar_E;rnl3jDepYjRyGsT>}7!;stbFL%Y>V z9*SXHXLgmCcXx@1zW)aE?r!7Hn_aZXi?}1te0_a|B+FJ91k`oCa-fG)>r= zhGD-?6@?_{_*lb!pKh|}DJ$e2L~w=P}ekz|1iejIAZ|7?d|^y?+}!MC!>itCT6XW58rRpf(a_<#9vY3t#+m!9@IT_*Q&^|*T$e62I*zI5d8pUx q`|tPpSX-1nz%n6!4{%zvD9?XV@Fdd($%x!UVbq}!?l_ZxrFjquWch*GI2{o03Ffy65RCZO%^%qZUZJ%D% zIBV9Nu&J!`vqToHPL-Q9xozqSc7`?EQj8tu&EL9xU#ZxnrOQ|B-M>xyP+P~*XJ=N6sGDFWPkD;*+D-&cC?+XxZkRyC-B`e!Bhi<+lSr zCVbiWc>Bq_3w&m0@GPFL6)Rn@Ae467l>3o$0Y@Qc$_-y8`HpUlRhm6p`){|Hvi|uy zxiDSfaKA+LiP_(UmY&iSinwWSlmN5*dKisvHG$0t%M}*O2xu&xqf1LF*~--_Gyk+G5opf km-K-Ljt5 - - - - - - - - - - - - - - - - - - diff --git a/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java b/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java index 5184e5ba0f6..a7472dfb514 100644 --- a/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java +++ b/libjava/classpath/examples/gnu/classpath/examples/swing/NavigationFilterDemo.java @@ -183,7 +183,7 @@ public class NavigationFilterDemo return pos; case SwingConstants.WEST: // Calculate the next word start. - newpos = Utilities.getWordStart(text, newpos);; + newpos = Utilities.getWordStart(text, newpos); // If that means that the caret will not move, return // the start of the previous word. diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in index f341c44b8bd..416d390c263 100644 --- a/libjava/classpath/external/Makefile.in +++ b/libjava/classpath/external/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -71,12 +76,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -122,6 +130,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -134,15 +143,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -150,7 +160,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -160,6 +169,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -171,6 +181,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -180,6 +191,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -199,6 +211,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -220,6 +233,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -247,8 +261,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -281,6 +297,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in index 3a516eb5572..93f58bf2337 100644 --- a/libjava/classpath/external/jsr166/Makefile.in +++ b/libjava/classpath/external/jsr166/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java index 52cd17a52d3..bbb00a0f0a0 100644 --- a/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java +++ b/libjava/classpath/external/jsr166/java/util/concurrent/ConcurrentSkipListMap.java @@ -866,7 +866,7 @@ public class ConcurrentSkipListMap extends AbstractMap if (n != null) { Node f = n.next; if (n != b.next) // inconsistent read - break;; + break; Object v = n.value; if (v == null) { // n is deleted n.helpDelete(b, f); diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html deleted file mode 100644 index 6bc191ddf01..00000000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/atomic/package.html +++ /dev/null @@ -1,158 +0,0 @@ - - -Atomics - - - - -A small toolkit of classes that support lock-free thread-safe -programming on single variables. In essence, the classes in this -package extend the notion of volatile values, fields, and -array elements to those that also provide an atomic conditional update -operation of the form: - -
-  boolean compareAndSet(expectedValue, updateValue);
-
- -

This method (which varies in argument types across different -classes) atomically sets a variable to the updateValue if it -currently holds the expectedValue, reporting true on -success. The classes in this package also contain methods to get and -unconditionally set values, as well as a weaker conditional atomic -update operation weakCompareAndSet desribed below. - -

The specifications of these methods enable implementations to -employ efficient machine-level atomic instructions that are available -on contemporary processors. However on some platforms, support may -entail some form of internal locking. Thus the methods are not -strictly guaranteed to be non-blocking -- -a thread may block transiently before performing the operation. - -

Instances of classes {@link -java.util.concurrent.atomic.AtomicBoolean}, {@link -java.util.concurrent.atomic.AtomicInteger}, {@link -java.util.concurrent.atomic.AtomicLong}, and {@link -java.util.concurrent.atomic.AtomicReference} each provide access and -updates to a single variable of the corresponding type. Each class -also provides appropriate utility methods for that type. For example, -classes AtomicLong and AtomicInteger provide atomic -increment methods. One application is to generate sequence numbers, -as in: - -

-class Sequencer {
-  private AtomicLong sequenceNumber = new AtomicLong(0);
-  public long next() { return sequenceNumber.getAndIncrement(); }
-}
-
- -

The memory effects for accesses and updates of atomics generally -follow the rules for volatiles, as stated in The Java Language -Specification, Third Edition (17.4 Memory Model): - -

    - -
  • get has the memory effects of reading a -volatile variable. - -
  • set has the memory effects of writing (assigning) a -volatile variable. - -
  • lazySet has the memory effects of writing (assigning) - a volatile variable except that it permits reorderings with - subsequent (but not previous) memory actions that do not themselves - impose reordering constraints with ordinary non-volatile - writes. Among other usage contexts, lazySet may apply when - nulling out, for the sake of garbage collection, a reference that is - never accessed again. - -
  • weakCompareAndSet atomically reads and conditionally - writes a variable but does not - create any happens-before orderings, so provides no guarantees - with respect to previous or subsequent reads and writes of any - variables other than the target of the weakCompareAndSet. - -
  • compareAndSet - and all other read-and-update operations such as getAndIncrement - have the memory effects of both reading and - writing volatile variables. -
- -

In addition to classes representing single values, this package -contains Updater classes that can be used to obtain -compareAndSet operations on any selected volatile -field of any selected class. {@link -java.util.concurrent.atomic.AtomicReferenceFieldUpdater}, {@link -java.util.concurrent.atomic.AtomicIntegerFieldUpdater}, and {@link -java.util.concurrent.atomic.AtomicLongFieldUpdater} are -reflection-based utilities that provide access to the associated field -types. These are mainly of use in atomic data structures in which -several volatile fields of the same node (for example, the -links of a tree node) are independently subject to atomic -updates. These classes enable greater flexibility in how and when to -use atomic updates, at the expense of more awkward reflection-based -setup, less convenient usage, and weaker guarantees. - -

The {@link java.util.concurrent.atomic.AtomicIntegerArray}, {@link -java.util.concurrent.atomic.AtomicLongArray}, and {@link -java.util.concurrent.atomic.AtomicReferenceArray} classes further -extend atomic operation support to arrays of these types. These -classes are also notable in providing volatile access -semantics for their array elements, which is not supported for -ordinary arrays. - -

The atomic classes also support method weakCompareAndSet, -which has limited applicability. On some platforms, the weak version -may be more efficient than compareAndSet in the normal case, -but differs in that any given invocation of weakCompareAndSet -method may return false spuriously (that is, for no apparent -reason). A false return means only that the operation may be -retried if desired, relying on the guarantee that repeated invocation -when the variable holds expectedValue and no other thread is -also attempting to set the variable will eventually succeed. (Such -spurious failures may for example be due to memory contention effects -that are unrelated to whether the expected and current values are -equal.) Additionally weakCompareAndSet does not provide -ordering guarantees that are usually needed for synchronization -control. However, the method may be useful for updating counters and -statistics when such updates are unrelated to the other happens-before -orderings of a program. When a thread sees an update to an atomic -variable caused by a weakCompareAndSet, it does not -necessarily see updates to any other variables that occurred -before the weakCompareAndSet. This may be acceptable when -for example updating performance statistics, but rarely otherwise. - -

The {@link java.util.concurrent.atomic.AtomicMarkableReference} -class associates a single boolean with a reference. For example, this -bit might be used inside a data structure to mean that the object -being referenced has logically been deleted. The {@link -java.util.concurrent.atomic.AtomicStampedReference} class associates -an integer value with a reference. This may be used for example, to -represent version numbers corresponding to series of updates. - -

Atomic classes are designed primarily as building blocks for -implementing non-blocking data structures and related infrastructure -classes. The compareAndSet method is not a general -replacement for locking. It applies only when critical updates for an -object are confined to a single variable. - -

Atomic classes are not general purpose replacements for -java.lang.Integer and related classes. They do not -define methods such as hashCode and -compareTo. (Because atomic variables are expected to be -mutated, they are poor choices for hash table keys.) Additionally, -classes are provided only for those types that are commonly useful in -intended applications. For example, there is no atomic class for -representing byte. In those infrequent cases where you would -like to do so, you can use an AtomicInteger to hold -byte values, and cast appropriately. You can also hold floats -using Float.floatToIntBits and Float.intBitstoFloat -conversions, and doubles using Double.doubleToLongBits and -Double.longBitsToDouble conversions. - - -@since 1.5 - - diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html deleted file mode 100644 index 4b945258b8d..00000000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/locks/package.html +++ /dev/null @@ -1,50 +0,0 @@ - - -Locks - - - - -Interfaces and classes providing a framework for locking and waiting -for conditions that is distinct from built-in synchronization and -monitors. The framework permits much greater flexibility in the use of -locks and conditions, at the expense of more awkward syntax. - -

The {@link java.util.concurrent.locks.Lock} interface supports -locking disciplines that differ in semantics (reentrant, fair, etc), -and that can be used in non-block-structured contexts including -hand-over-hand and lock reordering algorithms. The main implementation -is {@link java.util.concurrent.locks.ReentrantLock}. - -

The {@link java.util.concurrent.locks.ReadWriteLock} interface -similarly defines locks that may be shared among readers but are -exclusive to writers. Only a single implementation, {@link -java.util.concurrent.locks.ReentrantReadWriteLock}, is provided, since -it covers most standard usage contexts. But programmers may create -their own implementations to cover nonstandard requirements. - -

The {@link java.util.concurrent.locks.Condition} interface -describes condition variables that may be associated with Locks. -These are similar in usage to the implicit monitors accessed using -Object.wait, but offer extended capabilities. In particular, -multiple Condition objects may be associated with a single -Lock. To avoid compatibility issues, the names of -Condition methods are different than the corresponding -Object versions. - -

The {@link java.util.concurrent.locks.AbstractQueuedSynchronizer} -class serves as a useful superclass for defining locks and other -synchronizers that rely on queuing blocked threads. The {@link -java.util.concurrent.locks.AbstractQueuedLongSynchronizer} class -provides the same functionality but extends support to 64 bits of -synchronization state. Both extend class {@link -java.util.concurrent.locks.AbstractOwnableSynchronizer}, a simple -class that helps record the thread currently holding exclusive -synchronization. The {@link java.util.concurrent.locks.LockSupport} -class provides lower-level blocking and unblocking support that is -useful for those developers implementing their own customized lock -classes. - -@since 1.5 - - diff --git a/libjava/classpath/external/jsr166/java/util/concurrent/package.html b/libjava/classpath/external/jsr166/java/util/concurrent/package.html deleted file mode 100644 index 20227e1fece..00000000000 --- a/libjava/classpath/external/jsr166/java/util/concurrent/package.html +++ /dev/null @@ -1,222 +0,0 @@ - - -Concurrency Utilities - - - - -

Utility classes commonly useful in concurrent programming. This -package includes a few small standardized extensible frameworks, as -well as some classes that provide useful functionality and are -otherwise tedious or difficult to implement. Here are brief -descriptions of the main components. See also the locks and -atomic packages. - -

Executors

- -Interfaces. {@link java.util.concurrent.Executor} is a simple -standardized interface for defining custom thread-like subsystems, -including thread pools, asynchronous IO, and lightweight task -frameworks. Depending on which concrete Executor class is being used, -tasks may execute in a newly created thread, an existing -task-execution thread, or the thread calling execute(), and -may execute sequentially or concurrently. {@link -java.util.concurrent.ExecutorService} provides a more complete -asynchronous task execution framework. An ExecutorService manages -queuing and scheduling of tasks, and allows controlled shutdown. The -{@link java.util.concurrent.ScheduledExecutorService} subinterface -and associated interfaces add support for delayed and periodic task execution. -ExecutorServices provide methods arranging asynchronous execution of -any function expressed as {@link java.util.concurrent.Callable}, the -result-bearing analog of {@link java.lang.Runnable}. A {@link -java.util.concurrent.Future} returns the results of a function, allows -determination of whether execution has completed, and provides a means to -cancel execution. A {@link java.util.concurrent.RunnableFuture} is -a Future that possesses a run method that upon execution, -sets its results. - -

- -Implementations. Classes {@link -java.util.concurrent.ThreadPoolExecutor} and {@link -java.util.concurrent.ScheduledThreadPoolExecutor} provide tunable, -flexible thread pools. The {@link java.util.concurrent.Executors} -class provides factory methods for the most common kinds and -configurations of Executors, as well as a few utility methods for -using them. Other utilities based on Executors include the concrete -class {@link java.util.concurrent.FutureTask} providing a common -extensible implementation of Futures, and {@link -java.util.concurrent.ExecutorCompletionService}, that assists in -coordinating the processing of groups of asynchronous tasks. - -

Queues

- -The java.util.concurrent {@link -java.util.concurrent.ConcurrentLinkedQueue} class supplies an -efficient scalable thread-safe non-blocking FIFO queue. Five -implementations in java.util.concurrent support the extended {@link -java.util.concurrent.BlockingQueue} interface, that defines blocking -versions of put and take: {@link -java.util.concurrent.LinkedBlockingQueue}, {@link -java.util.concurrent.ArrayBlockingQueue}, {@link -java.util.concurrent.SynchronousQueue}, {@link -java.util.concurrent.PriorityBlockingQueue}, and {@link -java.util.concurrent.DelayQueue}. The different classes cover the most -common usage contexts for producer-consumer, messaging, parallel -tasking, and related concurrent designs. The {@link -java.util.concurrent.BlockingDeque} interface extends -BlockingQueue to support both FIFO and LIFO (stack-based) -operations. Class {@link java.util.concurrent.LinkedBlockingDeque} -provides an implementation. - - -

Timing

- -The {@link java.util.concurrent.TimeUnit} class provides multiple -granularities (including nanoseconds) for specifying and controlling -time-out based operations. Most classes in the package contain -operations based on time-outs in addition to indefinite waits. In all -cases that time-outs are used, the time-out specifies the minimum time -that the method should wait before indicating that it -timed-out. Implementations make a "best effort" to detect -time-outs as soon as possible after they occur. However, an indefinite -amount of time may elapse between a time-out being detected and a -thread actually executing again after that time-out. All methods -that accept timeout parameters treat values less than or equal to -zero to mean not to wait at all. To wait "forever", you can use -a value of Long.MAX_VALUE. - -

Synchronizers

- -Four classes aid common special-purpose synchronization idioms. -{@link java.util.concurrent.Semaphore} is a classic concurrency tool. -{@link java.util.concurrent.CountDownLatch} is a very simple yet very -common utility for blocking until a given number of signals, events, -or conditions hold. A {@link java.util.concurrent.CyclicBarrier} is a -resettable multiway synchronization point useful in some styles of -parallel programming. An {@link java.util.concurrent.Exchanger} allows -two threads to exchange objects at a rendezvous point, and is useful -in several pipeline designs. - -

Concurrent Collections

- -Besides Queues, this package supplies Collection implementations -designed for use in multithreaded contexts: -{@link java.util.concurrent.ConcurrentHashMap}, -{@link java.util.concurrent.ConcurrentSkipListMap}, -{@link java.util.concurrent.ConcurrentSkipListSet}, -{@link java.util.concurrent.CopyOnWriteArrayList}, and -{@link java.util.concurrent.CopyOnWriteArraySet}. -When many threads are expected to access a given collection, -a ConcurrentHashMap is normally preferable to -a synchronized HashMap, and a -ConcurrentSkipListMap is normally preferable -to a synchronized TreeMap. A -CopyOnWriteArrayList is preferable to -a synchronized ArrayList when the expected number of reads -and traversals greatly outnumber the number of updates to a list. - -

The "Concurrent" prefix used with some classes in this package is a -shorthand indicating several differences from similar "synchronized" -classes. For example java.util.Hashtable and -Collections.synchronizedMap(new HashMap()) are -synchronized. But {@link java.util.concurrent.ConcurrentHashMap} is -"concurrent". A concurrent collection is thread-safe, but not -governed by a single exclusion lock. In the particular case of -ConcurrentHashMap, it safely permits any number of concurrent reads as -well as a tunable number of concurrent writes. "Synchronized" classes -can be useful when you need to prevent all access to a collection via -a single lock, at the expense of poorer scalability. In other cases in -which multiple threads are expected to access a common collection, -"concurrent" versions are normally preferable. And unsynchronized -collections are preferable when either collections are unshared, or -are accessible only when holding other locks. - -

Most concurrent Collection implementations (including most Queues) -also differ from the usual java.util conventions in that their Iterators -provide weakly consistent rather than fast-fail traversal. A -weakly consistent iterator is thread-safe, but does not necessarily -freeze the collection while iterating, so it may (or may not) reflect -any updates since the iterator was created. - - -

Memory Consistency Properties

- - -Chapter 17 of the Java Language Specification defines the -happens-before relation on memory operations such as reads and -writes of shared variables. The results of a write by one thread are -guaranteed to be visible to a read by another thread only if the write -operation happens-before the read operation. The -{@code synchronized} and {@code volatile} constructs, as well as the -{@code Thread.start()} and {@code Thread.join()} methods, can form -happens-before relationships. In particular: - -
    -
  • Each action in a thread happens-before every action in that - thread that comes later in the program's order. - -
  • An unlock ({@code synchronized} block or method exit) of a - monitor happens-before every subsequent lock ({@code synchronized} - block or method entry) of that same monitor. And because - the happens-before relation is transitive, all actions - of a thread prior to unlocking happen-before all actions - subsequent to any thread locking that monitor. - -
  • A write to a {@code volatile} field happens-before every - subsequent read of that same field. Writes and reads of - {@code volatile} fields have similar memory consistency effects - as entering and exiting monitors, but do not entail - mutual exclusion locking. - -
  • A call to {@code start} on a thread happens-before any action in the - started thread. - -
  • All actions in a thread happen-before any other thread - successfully returns from a {@code join} on that thread. - -
- - -The methods of all classes in {@code java.util.concurrent} and its -subpackages extend these guarantees to higher-level -synchronization. In particular: - -
    - -
  • Actions in a thread prior to placing an object into any concurrent - collection happen-before actions subsequent to the access or - removal of that element from the collection in another thread. - -
  • Actions in a thread prior to the submission of a {@code Runnable} - to an {@code Executor} happen-before its execution begins. - Similarly for {@code Callables} submitted to an {@code ExecutorService}. - -
  • Actions taken by the asynchronous computation represented by a - {@code Future} happen-before actions subsequent to the - retrieval of the result via {@code Future.get()} in another thread. - -
  • Actions prior to "releasing" synchronizer methods such as - {@code Lock.unlock}, {@code Semaphore.release}, and - {@code CountDownLatch.countDown} happen-before actions - subsequent to a successful "acquiring" method such as - {@code Lock.lock}, {@code Semaphore.acquire}, - {@code Condition.await}, and {@code CountDownLatch.await} on the - same synchronizer object in another thread. - -
  • For each pair of threads that successfully exchange objects via - an {@code Exchanger}, actions prior to the {@code exchange()} - in each thread happen-before those subsequent to the - corresponding {@code exchange()} in another thread. - -
  • Actions prior to calling {@code CyclicBarrier.await} - happen-before actions performed by the barrier action, and - actions performed by the barrier action happen-before actions - subsequent to a successful return from the corresponding {@code await} - in other threads. - -
- -@since 1.5 - - diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in index b672c265e4b..6d36ab3eb18 100644 --- a/libjava/classpath/external/relaxngDatatype/Makefile.in +++ b/libjava/classpath/external/relaxngDatatype/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in index 3fc075bfa34..3ddaa288b54 100644 --- a/libjava/classpath/external/sax/Makefile.in +++ b/libjava/classpath/external/sax/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/external/w3c_dom/COPYRIGHT.html b/libjava/classpath/external/w3c_dom/COPYRIGHT.html deleted file mode 100644 index c7e0e497a5f..00000000000 --- a/libjava/classpath/external/w3c_dom/COPYRIGHT.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - W3C IPR SOFTWARE NOTICE - - - -

- W3C IPR SOFTWARE NOTICE -

-

- Copyright © 2002 World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. -

-

- The DOM bindings are published under the W3C Software Copyright Notice - and License. The software license requires "Notice of any changes or - modifications to the W3C files, including the date changes were made." - Consequently, modified versions of the DOM bindings must document that - they do not conform to the W3C standard; in the case of the IDL - definitions, the pragma prefix can no longer be 'w3c.org'; in the case of - the Java language binding, the package names can no longer be in the - 'org.w3c' package. -

-

- Note: The original version of the W3C Software Copyright Notice - and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 -

-

- Copyright © 1994-2002 World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. http://www.w3.org/Consortium/Legal/ -

-

- This W3C work (including software, documents, or other related items) is - being provided by the copyright holders under the following license. By - obtaining, using and/or copying this work, you (the licensee) agree that - you have read, understood, and will comply with the following terms and - conditions: -

-

- Permission to use, copy, and modify this software and its documentation, - with or without modification,  for any purpose and without fee or - royalty is hereby granted, provided that you include the following on ALL - copies of the software and documentation or portions thereof, including - modifications, that you make: -

-
    -
  1. - The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. -
  2. -
  3. - Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, a short notice of the following form - (hypertext is preferred, text is permitted) should be used within the - body of any redistributed or derivative code: "Copyright © - [$date-of-software] World Wide Web - Consortium, (Massachusetts - Institute of Technology, Institut - National de Recherche en Informatique et en Automatique, Keio University). All Rights - Reserved. http://www.w3.org/Consortium/Legal/" -
  4. -
  5. - Notice of any changes or modifications to the W3C files, including the - date changes were made. (We recommend you provide URIs to the location - from which the code is derived.) -
  6. -
-

- THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT - HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS - FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR - DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, - TRADEMARKS OR OTHER RIGHTS. -

-

- COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR - CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR - DOCUMENTATION. -

-

- The name and trademarks of copyright holders may NOT be used in - advertising or publicity pertaining to the software without specific, - written prior permission. Title to copyright in this software and any - associated documentation will at all times remain with copyright - holders. -

- - diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in index 83d05adbca1..ae8905f509b 100644 --- a/libjava/classpath/external/w3c_dom/Makefile.in +++ b/libjava/classpath/external/w3c_dom/Makefile.in @@ -43,16 +43,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = $(top_builddir)/include/config.h CONFIG_CLEAN_FILES = SOURCES = @@ -62,12 +67,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -113,6 +121,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -125,15 +134,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -141,7 +151,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -151,6 +160,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -162,6 +172,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -171,6 +182,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -190,6 +202,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -211,6 +224,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -238,8 +252,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -272,6 +288,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ diff --git a/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java b/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java index 0c31d4093e2..57150f74695 100644 --- a/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java +++ b/libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java @@ -172,7 +172,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.current_member_kind(); } - ; /** @inheritDoc */ public String current_member_name() throws TypeMismatch, InvalidValue @@ -182,7 +181,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.current_member_name(); } - ; /** @inheritDoc */ public NameDynAnyPair[] get_members_as_dyn_any() throws InvalidValue @@ -191,7 +189,6 @@ public class gnuDynValue extends RecordAny implements DynValue, throw new InvalidValue(ISNULL); return super.gnu_get_members_as_dyn_any(); } - ; /** @inheritDoc */ public NameValuePair[] get_members() throws InvalidValue @@ -201,7 +198,6 @@ public class gnuDynValue extends RecordAny implements DynValue, else return super.gnu_get_members(); } - ; /** @inheritDoc */ public void set_members_as_dyn_any(NameDynAnyPair[] value) @@ -210,7 +206,6 @@ public class gnuDynValue extends RecordAny implements DynValue, super.set_members_as_dyn_any(value); isNull = false; } - ; /** @inheritDoc */ public void set_members(NameValuePair[] value) @@ -219,7 +214,6 @@ public class gnuDynValue extends RecordAny implements DynValue, super.set_members(value); isNull = false; } - ; /** @inheritDoc */ public boolean is_null() diff --git a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java index 8ceec23d781..0dbca7cfbde 100644 --- a/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java +++ b/libjava/classpath/gnu/CORBA/Poa/gnuPOA.java @@ -1348,7 +1348,6 @@ public class gnuPOA { return name; } - ; /** * Return the parent of this POA. diff --git a/libjava/classpath/gnu/classpath/Pair.java b/libjava/classpath/gnu/classpath/Pair.java new file mode 100644 index 00000000000..57af37a7464 --- /dev/null +++ b/libjava/classpath/gnu/classpath/Pair.java @@ -0,0 +1,126 @@ +/* Pair.java -- A heterogenous pair of objects. + Copyright (C) 2006 + Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.classpath; + +/** + * A container for a pair of heterogenous objects. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ +public class Pair +{ + + /** + * The left-hand side of the pair. + */ + private A left; + + /** + * The right-hand side of the pair. + */ + private B right; + + /** + * Constructs a new pair using the given left and + * right values. + * + * @param left the left-hand side of the pair. + * @param right the right-hand side of the pair. + */ + public Pair(A left, B right) + { + this.left = left; + this.right = right; + } + + /** + * Returns the left-hand side of the pair. + * + * @return the left-hand value. + */ + public A getLeft() + { + return left; + } + + /** + * Returns the right-hand side of the pair. + * + * @return the right-hand value. + */ + public B getRight() + { + return right; + } + + /** + * Returns true if the specified object is also a + * pair with equivalent left and right values. + * + * @param obj the object to compare. + * @return true if the two are equal. + */ + public boolean equals(Object obj) + { + if (obj instanceof Pair) + { + Pair p = (Pair) obj; + A lp = p.getLeft(); + B rp = p.getRight(); + return (lp == null ? left == null : lp.equals(left)) && + (rp == null ? right == null : rp.equals(right)); + } + return false; + } + + /** + * Returns a hashcode for the pair, created by the + * summation of the hashcodes of the left and right + * hand values. + * + * @return a hashcode for the pair. + */ + public int hashCode() + { + return (left == null ? 0 : left.hashCode()) + + (right == null ? 0 : right.hashCode()); + } + +} diff --git a/libjava/classpath/gnu/classpath/ServiceFactory.java b/libjava/classpath/gnu/classpath/ServiceFactory.java index 122a79c96ed..daf996c23ca 100644 --- a/libjava/classpath/gnu/classpath/ServiceFactory.java +++ b/libjava/classpath/gnu/classpath/ServiceFactory.java @@ -49,6 +49,7 @@ import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; import java.util.NoSuchElementException; +import java.util.ServiceConfigurationError; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; @@ -176,7 +177,6 @@ public final class ServiceFactory */ private static final Logger LOGGER = Logger.getLogger("gnu.classpath"); - /** * Declared private in order to prevent constructing instances of * this utility class. @@ -224,6 +224,51 @@ public final class ServiceFactory */ public static Iterator lookupProviders(Class spi, ClassLoader loader) + { + return lookupProviders(spi, loader, false); + } + + /** + * Finds service providers that are implementing the specified + * Service Provider Interface. + * + *

On-demand loading: Loading and initializing service + * providers is delayed as much as possible. The rationale is that + * typical clients will iterate through the set of installed service + * providers until one is found that matches some criteria (like + * supported formats, or quality of service). In such scenarios, it + * might make sense to install only the frequently needed service + * providers on the local machine. More exotic providers can be put + * onto a server; the server will only be contacted when no suitable + * service could be found locally. + * + *

Security considerations: Any loaded service providers + * are loaded through the specified ClassLoader, or the system + * ClassLoader if classLoader is + * null. When lookupProviders is called, + * the current {@link AccessControlContext} gets recorded. This + * captured security context will determine the permissions when + * services get loaded via the next() method of the + * returned Iterator. + * + * @param spi the service provider interface which must be + * implemented by any loaded service providers. + * + * @param loader the class loader that will be used to load the + * service providers, or null for the system class + * loader. For using the context class loader, see {@link + * #lookupProviders(Class)}. + * @param error true if a {@link ServiceConfigurationError} + * should be thrown when an error occurs, rather + * than it merely being logged. + * @return an iterator over instances of spi. + * + * @throws IllegalArgumentException if spi is + * null. + */ + public static Iterator lookupProviders(Class spi, + ClassLoader loader, + boolean error) { String resourceName; Enumeration urls; @@ -246,10 +291,14 @@ public final class ServiceFactory * does not return anything (no providers installed). */ log(Level.WARNING, "cannot access {0}", resourceName, ioex); - return Collections.EMPTY_LIST.iterator(); + if (error) + throw new ServiceConfigurationError("Failed to access + " + + resourceName, ioex); + else + return Collections.EMPTY_LIST.iterator(); } - return new ServiceIterator(spi, urls, loader, + return new ServiceIterator(spi, urls, loader, error, AccessController.getContext()); } @@ -342,6 +391,11 @@ public final class ServiceFactory */ private Object nextProvider; + /** + * True if a {@link ServiceConfigurationError} should be thrown + * when an error occurs, instead of it merely being logged. + */ + private boolean error; /** * Constructs an Iterator that loads and initializes services on @@ -359,16 +413,21 @@ public final class ServiceFactory * @param loader the ClassLoader that gets used for loading * service providers. * + * @param error true if a {@link ServiceConfigurationError} + * should be thrown when an error occurs, rather + * than it merely being logged. + * * @param securityContext the security context to use when loading * and initializing service providers. */ ServiceIterator(Class spi, Enumeration urls, ClassLoader loader, - AccessControlContext securityContext) + boolean error, AccessControlContext securityContext) { this.spi = spi; this.urls = urls; this.loader = loader; this.securityContext = securityContext; + this.error = error; this.nextProvider = loadNextServiceProvider(); } @@ -426,6 +485,9 @@ public final class ServiceFactory log(Level.WARNING, "IOException upon reading {0}", currentURL, readProblem); line = null; + if (error) + throw new ServiceConfigurationError("Error reading " + + currentURL, readProblem); } /* When we are at the end of one list of services, @@ -477,6 +539,13 @@ public final class ServiceFactory log(Level.WARNING, msg, new Object[] { line, spi.getName(), currentURL }, ex); + if (error) + throw new ServiceConfigurationError("Cannot load service "+ + "provider class " + + line + " specified by "+ + "\"META-INF/services/"+ + spi.getName() + "\" in "+ + currentURL, ex); continue; } } @@ -497,6 +566,9 @@ public final class ServiceFactory catch (Exception ex) { log(Level.WARNING, "cannot close {0}", currentURL, ex); + if (error) + throw new ServiceConfigurationError("Cannot close " + + currentURL, ex); } reader = null; currentURL = null; @@ -515,6 +587,9 @@ public final class ServiceFactory catch (Exception ex) { log(Level.WARNING, "cannot open {0}", currentURL, ex); + if (error) + throw new ServiceConfigurationError("Cannot open " + + currentURL, ex); } } while (reader == null); diff --git a/libjava/classpath/gnu/classpath/jdwp/util/Value.java b/libjava/classpath/gnu/classpath/jdwp/util/Value.java deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java b/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java index f30c2158100..9732422f57e 100644 --- a/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java +++ b/libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java @@ -1,5 +1,5 @@ /* VariableTable.java -- A class representing a Variable Table for a method - Copyright (C) 2005 Free Software Foundation + Copyright (C) 2005, 2007 Free Software Foundation This file is part of GNU Classpath. diff --git a/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java b/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java index c5e00a019d9..66e7c4e32b4 100644 --- a/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java +++ b/libjava/classpath/gnu/classpath/jdwp/value/ArrayValue.java @@ -1,4 +1,4 @@ -/* ArrayValue.java -- JDWP wrapper class for an Object value +/* ObjectValue.java -- JDWP wrapper class for an Object value Copyright (C) 2007 Free Software Foundation This file is part of GNU Classpath. diff --git a/libjava/classpath/gnu/java/awt/AWTUtilities.java b/libjava/classpath/gnu/java/awt/AWTUtilities.java index ca7b5511853..1b68703697f 100644 --- a/libjava/classpath/gnu/java/awt/AWTUtilities.java +++ b/libjava/classpath/gnu/java/awt/AWTUtilities.java @@ -1,5 +1,5 @@ /* AWTUtilities.java -- Common utility methods for AWT and Swing. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -47,6 +47,7 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.Window; +import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.util.AbstractSequentialList; import java.util.List; @@ -694,4 +695,204 @@ public class AWTUtilities { return java.awt.EventQueue.isDispatchThread(); } + + /** + * Returns whether the specified key code is valid. + */ + public static boolean isValidKey(int keyCode) + { + switch (keyCode) + { + case KeyEvent.VK_ENTER: + case KeyEvent.VK_BACK_SPACE: + case KeyEvent.VK_TAB: + case KeyEvent.VK_CANCEL: + case KeyEvent.VK_CLEAR: + case KeyEvent.VK_SHIFT: + case KeyEvent.VK_CONTROL: + case KeyEvent.VK_ALT: + case KeyEvent.VK_PAUSE: + case KeyEvent.VK_CAPS_LOCK: + case KeyEvent.VK_ESCAPE: + case KeyEvent.VK_SPACE: + case KeyEvent.VK_PAGE_UP: + case KeyEvent.VK_PAGE_DOWN: + case KeyEvent.VK_END: + case KeyEvent.VK_HOME: + case KeyEvent.VK_LEFT: + case KeyEvent.VK_UP: + case KeyEvent.VK_RIGHT: + case KeyEvent.VK_DOWN: + case KeyEvent.VK_COMMA: + case KeyEvent.VK_MINUS: + case KeyEvent.VK_PERIOD: + case KeyEvent.VK_SLASH: + case KeyEvent.VK_0: + case KeyEvent.VK_1: + case KeyEvent.VK_2: + case KeyEvent.VK_3: + case KeyEvent.VK_4: + case KeyEvent.VK_5: + case KeyEvent.VK_6: + case KeyEvent.VK_7: + case KeyEvent.VK_8: + case KeyEvent.VK_9: + case KeyEvent.VK_SEMICOLON: + case KeyEvent.VK_EQUALS: + case KeyEvent.VK_A: + case KeyEvent.VK_B: + case KeyEvent.VK_C: + case KeyEvent.VK_D: + case KeyEvent.VK_E: + case KeyEvent.VK_F: + case KeyEvent.VK_G: + case KeyEvent.VK_H: + case KeyEvent.VK_I: + case KeyEvent.VK_J: + case KeyEvent.VK_K: + case KeyEvent.VK_L: + case KeyEvent.VK_M: + case KeyEvent.VK_N: + case KeyEvent.VK_O: + case KeyEvent.VK_P: + case KeyEvent.VK_Q: + case KeyEvent.VK_R: + case KeyEvent.VK_S: + case KeyEvent.VK_T: + case KeyEvent.VK_U: + case KeyEvent.VK_V: + case KeyEvent.VK_W: + case KeyEvent.VK_X: + case KeyEvent.VK_Y: + case KeyEvent.VK_Z: + case KeyEvent.VK_OPEN_BRACKET: + case KeyEvent.VK_BACK_SLASH: + case KeyEvent.VK_CLOSE_BRACKET: + case KeyEvent.VK_NUMPAD0: + case KeyEvent.VK_NUMPAD1: + case KeyEvent.VK_NUMPAD2: + case KeyEvent.VK_NUMPAD3: + case KeyEvent.VK_NUMPAD4: + case KeyEvent.VK_NUMPAD5: + case KeyEvent.VK_NUMPAD6: + case KeyEvent.VK_NUMPAD7: + case KeyEvent.VK_NUMPAD8: + case KeyEvent.VK_NUMPAD9: + case KeyEvent.VK_MULTIPLY: + case KeyEvent.VK_ADD: + case KeyEvent.VK_SEPARATOR: + case KeyEvent.VK_SUBTRACT: + case KeyEvent.VK_DECIMAL: + case KeyEvent.VK_DIVIDE: + case KeyEvent.VK_DELETE: + case KeyEvent.VK_NUM_LOCK: + case KeyEvent.VK_SCROLL_LOCK: + case KeyEvent.VK_F1: + case KeyEvent.VK_F2: + case KeyEvent.VK_F3: + case KeyEvent.VK_F4: + case KeyEvent.VK_F5: + case KeyEvent.VK_F6: + case KeyEvent.VK_F7: + case KeyEvent.VK_F8: + case KeyEvent.VK_F9: + case KeyEvent.VK_F10: + case KeyEvent.VK_F11: + case KeyEvent.VK_F12: + case KeyEvent.VK_F13: + case KeyEvent.VK_F14: + case KeyEvent.VK_F15: + case KeyEvent.VK_F16: + case KeyEvent.VK_F17: + case KeyEvent.VK_F18: + case KeyEvent.VK_F19: + case KeyEvent.VK_F20: + case KeyEvent.VK_F21: + case KeyEvent.VK_F22: + case KeyEvent.VK_F23: + case KeyEvent.VK_F24: + case KeyEvent.VK_PRINTSCREEN: + case KeyEvent.VK_INSERT: + case KeyEvent.VK_HELP: + case KeyEvent.VK_META: + case KeyEvent.VK_BACK_QUOTE: + case KeyEvent.VK_QUOTE: + case KeyEvent.VK_KP_UP: + case KeyEvent.VK_KP_DOWN: + case KeyEvent.VK_KP_LEFT: + case KeyEvent.VK_KP_RIGHT: + case KeyEvent.VK_DEAD_GRAVE: + case KeyEvent.VK_DEAD_ACUTE: + case KeyEvent.VK_DEAD_CIRCUMFLEX: + case KeyEvent.VK_DEAD_TILDE: + case KeyEvent.VK_DEAD_MACRON: + case KeyEvent.VK_DEAD_BREVE: + case KeyEvent.VK_DEAD_ABOVEDOT: + case KeyEvent.VK_DEAD_DIAERESIS: + case KeyEvent.VK_DEAD_ABOVERING: + case KeyEvent.VK_DEAD_DOUBLEACUTE: + case KeyEvent.VK_DEAD_CARON: + case KeyEvent.VK_DEAD_CEDILLA: + case KeyEvent.VK_DEAD_OGONEK: + case KeyEvent.VK_DEAD_IOTA: + case KeyEvent.VK_DEAD_VOICED_SOUND: + case KeyEvent.VK_DEAD_SEMIVOICED_SOUND: + case KeyEvent.VK_AMPERSAND: + case KeyEvent.VK_ASTERISK: + case KeyEvent.VK_QUOTEDBL: + case KeyEvent.VK_LESS: + case KeyEvent.VK_GREATER: + case KeyEvent.VK_BRACELEFT: + case KeyEvent.VK_BRACERIGHT: + case KeyEvent.VK_AT: + case KeyEvent.VK_COLON: + case KeyEvent.VK_CIRCUMFLEX: + case KeyEvent.VK_DOLLAR: + case KeyEvent.VK_EURO_SIGN: + case KeyEvent.VK_EXCLAMATION_MARK: + case KeyEvent.VK_INVERTED_EXCLAMATION_MARK: + case KeyEvent.VK_LEFT_PARENTHESIS: + case KeyEvent.VK_NUMBER_SIGN: + case KeyEvent.VK_PLUS: + case KeyEvent.VK_RIGHT_PARENTHESIS: + case KeyEvent.VK_UNDERSCORE: + case KeyEvent.VK_FINAL: + case KeyEvent.VK_CONVERT: + case KeyEvent.VK_NONCONVERT: + case KeyEvent.VK_ACCEPT: + case KeyEvent.VK_MODECHANGE: + case KeyEvent.VK_KANA: + case KeyEvent.VK_KANJI: + case KeyEvent.VK_ALPHANUMERIC: + case KeyEvent.VK_KATAKANA: + case KeyEvent.VK_HIRAGANA: + case KeyEvent.VK_FULL_WIDTH: + case KeyEvent.VK_HALF_WIDTH: + case KeyEvent.VK_ROMAN_CHARACTERS: + case KeyEvent.VK_ALL_CANDIDATES: + case KeyEvent.VK_PREVIOUS_CANDIDATE: + case KeyEvent.VK_CODE_INPUT: + case KeyEvent.VK_JAPANESE_KATAKANA: + case KeyEvent.VK_JAPANESE_HIRAGANA: + case KeyEvent.VK_JAPANESE_ROMAN: + case KeyEvent.VK_KANA_LOCK: + case KeyEvent.VK_INPUT_METHOD_ON_OFF: + case KeyEvent.VK_CUT: + case KeyEvent.VK_COPY: + case KeyEvent.VK_PASTE: + case KeyEvent.VK_UNDO: + case KeyEvent.VK_AGAIN: + case KeyEvent.VK_FIND: + case KeyEvent.VK_PROPS: + case KeyEvent.VK_STOP: + case KeyEvent.VK_COMPOSE: + case KeyEvent.VK_ALT_GRAPH: + case KeyEvent.VK_BEGIN: + case KeyEvent.VK_CONTEXT_MENU: + case KeyEvent.VK_WINDOWS: + return true; + default: + return false; + } + } } diff --git a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c b/libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java similarity index 61% rename from libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c rename to libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java index 595c1a28a6e..865da1d9594 100644 --- a/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c +++ b/libjava/classpath/gnu/java/awt/ClasspathGraphicsEnvironment.java @@ -1,5 +1,5 @@ -/* Native implementation of functions in GThreadNativeMethodRunner - Copyright (C) 2004 Free Software Foundation, Inc. +/* ClasspathGraphicsEnvironment.java + Copyright (C) 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -35,36 +35,33 @@ this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ +package gnu.java.awt; -#include "gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h" -#include "gthread-jni.h" +import java.awt.GraphicsEnvironment; +import java.awt.image.ColorModel; +import java.awt.image.SampleModel; +import java.awt.image.WritableRaster; -/* - * Class: GThreadNativeMethodRunner - * Method: nativeRun - * Signature: (J)V - * - * Purpose: Run the C function whose function pointer is - * +/** + * This class extends the GraphicsEnvironment API with some Classpath-specific + * methods, in order to provide optimized graphics handling. + * + * @author Francis Kung */ -JNIEXPORT void JNICALL -Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun - (JNIEnv *env __attribute__((unused)), - jobject lcl_obj __attribute__((unused)), - jlong funcAddr, jlong funcArg) +public abstract class ClasspathGraphicsEnvironment + extends GraphicsEnvironment { - /* Convert the function's address back into a pointer to a C function. */ - void *(*funcPtr)(void *) = (void *(*)(void *)) (size_t)funcAddr; - - /* We do not need to worry about the return value from funcPtr(); it's - just thrown away. That is part of the g_threads spec, so no reason - to worry about returning it. */ - (void) funcPtr((void *) (size_t)funcArg); - /* Fall off the end and terminate the thread of control. */ + /** + * Returns an appropriate Raster that can efficiently back a + * BufferedImage with the given ColorModel and SampleModel. + * + * @param cm The color model. + * @param sm The samepl model. + * @return An appropriate WritableRaster, or null if acceleration/optimization + * is not available for the given colour model / sample model. + */ + public WritableRaster createRaster(ColorModel cm, SampleModel sm) + { + return null; + } } - -/* Local Variables: */ -/* c-file-style: "gnu" */ -/* End: */ - - diff --git a/libjava/classpath/gnu/java/awt/ClasspathToolkit.java b/libjava/classpath/gnu/java/awt/ClasspathToolkit.java index 968cc3b1643..d78fbab4e1e 100644 --- a/libjava/classpath/gnu/java/awt/ClasspathToolkit.java +++ b/libjava/classpath/gnu/java/awt/ClasspathToolkit.java @@ -38,36 +38,28 @@ exception statement from your version. */ package gnu.java.awt; -import gnu.java.awt.EmbeddedWindow; +import gnu.java.awt.peer.ClasspathDesktopPeer; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; import gnu.java.security.action.SetAccessibleAction; import java.awt.AWTException; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.DisplayMode; +import java.awt.Desktop; import java.awt.Font; -import java.awt.FontMetrics; +import java.awt.FontFormatException; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; -import java.awt.Image; -import java.awt.Point; +import java.awt.HeadlessException; import java.awt.Toolkit; -import java.awt.font.FontRenderContext; -import java.awt.image.ColorModel; -import java.awt.image.ImageProducer; +import java.awt.font.TextAttribute; +import java.awt.peer.DesktopPeer; import java.awt.peer.RobotPeer; -import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; -import java.net.MalformedURLException; -import java.net.URL; -import java.text.AttributedString; -import java.util.HashMap; -import java.util.Map; import java.security.AccessController; +import java.util.Map; import javax.imageio.spi.IIORegistry; @@ -118,7 +110,8 @@ public abstract class ClasspathToolkit * this font peer should have, such as size, weight, family name, or * transformation. */ - public abstract ClasspathFontPeer getClasspathFontPeer (String name, Map attrs); + public abstract ClasspathFontPeer getClasspathFontPeer (String name, + Map attrs); /** * Creates a {@link Font}, in a platform-specific manner. @@ -137,9 +130,8 @@ public abstract class ClasspathToolkit try { Constructor fontConstructor = Font.class.getDeclaredConstructor - (new Class[] { String.class, Map.class }); - AccessController.doPrivileged - (new SetAccessibleAction(fontConstructor)); + (new Class[] { String.class, Map.class }); + AccessController.doPrivileged(new SetAccessibleAction(fontConstructor)); f = (Font) fontConstructor.newInstance(new Object[] { name, attrs }); } catch (IllegalAccessException e) @@ -224,5 +216,18 @@ public abstract class ClasspathToolkit { return -1; } + + /* (non-Javadoc) + * @see java.awt.Toolkit#createDesktopPeer(java.awt.Desktop) + */ + protected DesktopPeer createDesktopPeer(Desktop target) + throws HeadlessException + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + + return ClasspathDesktopPeer.getDesktop(); + } + } diff --git a/libjava/classpath/gnu/java/awt/font/FontDelegate.java b/libjava/classpath/gnu/java/awt/font/FontDelegate.java index a26510ee2de..030f9d3bca5 100644 --- a/libjava/classpath/gnu/java/awt/font/FontDelegate.java +++ b/libjava/classpath/gnu/java/awt/font/FontDelegate.java @@ -61,6 +61,13 @@ import java.util.Locale; */ public interface FontDelegate { + public static final int FLAG_FITTED = 1 << 0; + public static final int FLAG_NO_HINT_HORIZONTAL = 1 << 1; + public static final int FLAG_NO_HINT_VERTICAL = 1 << 2; + public static final int FLAG_NO_HINT_EDGE_POINTS = 1 << 3; + public static final int FLAG_NO_HINT_STRONG_POINTS = 1 << 4; + public static final int FLAG_NO_HINT_WEAK_POINTS = 1 << 5; + /** * Returns the full name of this font face in the specified * locale, for example “Univers Light”. @@ -221,7 +228,8 @@ public interface FontDelegate float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics); + boolean fractionalMetrics, + int type); /** diff --git a/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java b/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java index f17a4511375..2f73dce77b0 100644 --- a/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/font/GNUGlyphVector.java @@ -164,7 +164,9 @@ public class GNUGlyphVector renderContext.usesFractionalMetrics(), /* horizontal */ true, advance); - pos[p] = x += advance.x; + // FIXME: We shouldn't round here, but instead hint the metrics + // correctly. + pos[p] = x += Math.round(advance.x); pos[p + 1] = y += advance.y; } valid = true; @@ -284,6 +286,22 @@ public class GNUGlyphVector return outline; } + public Shape getOutline(float x, float y, int type) + { + validate(); + + GeneralPath outline = new GeneralPath(); + int len = glyphs.length; + for (int i = 0; i < len; i++) + { + GeneralPath p = new GeneralPath(getGlyphOutline(i, type)); + outline.append(p, false); + } + AffineTransform t = new AffineTransform(); + t.translate(x, y); + outline.transform(t); + return outline; + } /** * Determines the shape of the specified glyph. @@ -309,7 +327,8 @@ public class GNUGlyphVector path = fontDelegate.getGlyphOutline(glyphs[glyphIndex], fontSize, tx, renderContext.isAntiAliased(), - renderContext.usesFractionalMetrics()); + renderContext.usesFractionalMetrics(), + FontDelegate.FLAG_FITTED); tx = new AffineTransform(); tx.translate(pos[glyphIndex * 2], pos[glyphIndex * 2 + 1]); @@ -317,6 +336,32 @@ public class GNUGlyphVector return path; } + public Shape getGlyphOutline(int glyphIndex, int type) + { + AffineTransform tx, glyphTx; + GeneralPath path; + + validate(); + + if ((transforms != null) + && ((glyphTx = transforms[glyphIndex]) != null)) + { + tx = new AffineTransform(transform); + tx.concatenate(glyphTx); + } + else + tx = transform; + + path = fontDelegate.getGlyphOutline(glyphs[glyphIndex], fontSize, tx, + renderContext.isAntiAliased(), + renderContext.usesFractionalMetrics(), + type); + + tx = new AffineTransform(); + tx.translate(pos[glyphIndex * 2], pos[glyphIndex * 2 + 1]); + path.transform(tx); + return path; + } /** * Determines the position of the specified glyph, or the diff --git a/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java b/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java new file mode 100644 index 00000000000..b0420ab7a2d --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/AutoHinter.java @@ -0,0 +1,83 @@ +/* AutoHinter.java -- The entry point into the hinter implementation. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.Hinter; +import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * The public interface to the automatic gridfitter. + */ +public class AutoHinter + implements Hinter +{ + Latin latinScript; + LatinMetrics metrics; + GlyphHints hints; + + HintScaler scaler = new HintScaler(); + public void init(OpenTypeFont font) + { + // TODO: Should support other scripts too. + latinScript = new Latin(); + metrics = new LatinMetrics(font); + latinScript.initMetrics(metrics, font); + scaler.face = font; + } + + public void applyHints(Zone outline) + { + if (hints == null) + hints = new GlyphHints(); + scaler.xScale = Fixed.valueOf16(outline.scaleX * 64); + scaler.yScale = Fixed.valueOf16(outline.scaleY * 64); + latinScript.scaleMetrics(metrics, scaler); + latinScript.applyHints(hints, outline, metrics); + } + + public void setFlags(int flags) + { + if (hints == null) + hints = new GlyphHints(); + hints.flags = flags; + } + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java index b2c9912342b..87f2abcc3df 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/AxisHints.java @@ -1,4 +1,4 @@ -/* AxisHints.java -- FIXME: briefly describe file purpose +/* AxisHints.java -- Hints specific to an axis Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,4 +42,71 @@ class AxisHints { Segment[] segments; + int majorDir; + int numSegments; + int numEdges; + Edge[] edges; + + AxisHints() + { + segments = new Segment[4]; + edges = new Edge[4]; + } + + Segment newSegment() + { + if (numSegments >= segments.length) + { + // Grow array. + int newMax = segments.length; + newMax += (newMax >> 2) + 4; // From FreeType. + Segment[] newSegs = new Segment[newMax]; + System.arraycopy(segments, 0, newSegs, 0, numSegments); + segments = newSegs; + } + Segment seg = new Segment(); + segments[numSegments] = seg; + numSegments++; + return seg; + } + + public Edge newEdge(int pos) + { + if (numEdges >= edges.length) + { + // Grow array. + int newMax = edges.length; + newMax += (newMax >> 2) + 4; // From FreeType. + Edge[] newEdges = new Edge[newMax]; + System.arraycopy(edges, 0, newEdges, 0, numEdges); + edges = newEdges; + } + int edgeIndex = numEdges; + Edge edge = edges[edgeIndex] = new Edge(); + while (edgeIndex > 0 && edges[edgeIndex - 1].fpos > pos) + { + edges[edgeIndex] = edges[edgeIndex - 1]; + edgeIndex--; + } + edges[edgeIndex] = edge; + numEdges++; + edge.fpos = pos; + + return edge; + + } + + int getEdgeIndex(Edge edge2) + { + int idx = -1; + for (int i = 0; i < numEdges; i++) + { + if (edges[i] == edge2) + { + idx = i; + break; + } + } + return idx; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Constants.java b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java index cb3992825ab..c5b90fa5485 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Constants.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Constants.java @@ -58,4 +58,29 @@ interface Constants * The number of dimensions. */ static final int DIMENSION_MAX = 2; + + /** + * Indicates a vector with no specific direction. + */ + static final int DIR_NONE = 0; + + /** + * Right direction. + */ + static final int DIR_RIGHT = 1; + + /** + * Left direction. + */ + static final int DIR_LEFT = -1; + + /** + * Up direction. + */ + static final int DIR_UP = 2; + + /** + * Down direction. + */ + static final int DIR_DOWN = -2; } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Edge.java b/libjava/classpath/gnu/java/awt/font/autofit/Edge.java new file mode 100644 index 00000000000..d9736650b5f --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Edge.java @@ -0,0 +1,80 @@ +/* Edge.java -- An edge of segments + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.autofit; + +class Edge +{ + int fpos; + Segment first; + Segment last; + int opos; + Edge link; + Edge serif; + int flags; + int dir; + Width blueEdge; + int pos; + int scale; + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Edge] id"); + s.append(hashCode()); + s.append(", fpos: "); + s.append(fpos); + s.append(", opos: "); + s.append(opos); + s.append(", pos: "); + s.append(pos); + s.append(", dir: "); + s.append(dir); + s.append(", serif: "); + s.append(serif != null ? serif.hashCode() : "null"); + s.append(", link: "); + s.append(link != null ? link.hashCode() : "null"); + s.append(", flags: " + flags); + s.append(", blue: " + blueEdge); + s.append(", first: "); + s.append(first == null ? "null" : first.hashCode()); + s.append(", last: "); + s.append(last == null ? "null" : last.hashCode()); + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java index ad73a04a69b..72f07ed81fc 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/GlyphHints.java @@ -38,12 +38,16 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.FontDelegate; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Point; import gnu.java.awt.font.opentype.truetype.Zone; /** * The data and methods used for the actual hinting process. */ class GlyphHints + implements Constants { int xScale; @@ -53,23 +57,584 @@ class GlyphHints AxisHints[] axis; - void rescale(ScriptMetrics metrics) + Point[] points; + int numPoints; + int maxPoints; + + Point[] contours; + int numContours; + int maxContours; + + ScriptMetrics metrics; + + int flags; + + GlyphHints() { - // TODO: Implement. + axis = new AxisHints[Constants.DIMENSION_MAX]; + axis[Constants.DIMENSION_VERT] = new AxisHints(); + axis[Constants.DIMENSION_HORZ] = new AxisHints(); + + xScale = Fixed.ONE; + yScale = Fixed.ONE; + } + + void rescale(ScriptMetrics m) + { + metrics = m; + // TODO: Copy scalerFlags. } void reload(Zone outline) { - // TODO: Implement. + numPoints = 0; + numContours = 0; + axis[0].numSegments = 0; + axis[0].numEdges = 0; + axis[1].numSegments = 0; + axis[1].numEdges = 0; + + // Create/reallocate the contours array. + int newMax = outline.getNumContours(); + if (newMax > maxContours || contours == null) + { + newMax = (newMax + 3) & ~3; // Taken from afhints.c . + Point[] newContours = new Point[newMax]; + if (contours != null) + { + System.arraycopy(contours, 0, newContours, 0, maxContours); + } + contours = newContours; + maxContours = newMax; + } + + // Create/reallocate the points array. + newMax = outline.getSize() + 2; + if (newMax > maxPoints || points == null) + { + newMax = (newMax + 2 + 7) & ~7; // Taken from afhints.c . + Point[] newPoints = new Point[newMax]; + if (points != null) + { + System.arraycopy(points, 0, newPoints, 0, maxPoints); + } + points = newPoints; + maxPoints = newMax; + } + + numPoints = outline.getSize() - 4; // 4 phantom points. + numContours = outline.getNumContours(); + + // Set major direction. We don't handle Type 1 fonts yet. + axis[DIMENSION_HORZ].majorDir = DIR_UP; + axis[DIMENSION_VERT].majorDir = DIR_LEFT; + + // TODO: Freetype seems to scale and translate the glyph at that point. + // I suppose that this is not really needed. + // The scales are scaling from font units to 1/64 device pixels. + xScale = Fixed.valueOf16(outline.scaleX * 64); + yScale = Fixed.valueOf16(outline.scaleY * 64); + + // FIXME: What is that xDelta and yDelta used for? + System.arraycopy(outline.getPoints(), 0, points, 0, numPoints); + + // Setup prev and next and contours array. + // TODO: Probably cache this. + contours = new Point[numContours]; + Point currentContour = points[0]; + for (int i = 0, cIndex = 0; i < numPoints; i++) + { + // Start new contour when the last point has been a contour end. + if (outline.isContourEnd(i)) + { + // Connect the contour end point to the start point. + points[i].setNext(currentContour); + currentContour.setPrev(points[i]); + contours[cIndex] = currentContour; + cIndex++; + currentContour = i < numPoints - 1 ? points[i + 1] : null; + } + else + { + // Connect the current and the previous point. + points[i].setNext(points[i + 1]); + points[i + 1].setPrev(points[i]); + } + } + // Compute directions of in and out vectors of all points as well + // as the weak point flag. + for (int i = 0; i < numPoints; i++) + { + // Compute in and out dir. + Point p = points[i]; + Point prev = p.getPrev(); + int inX = p.getOrigX() - prev.getOrigX(); + int inY = p.getOrigY() - prev.getOrigY(); + p.setInDir(Utils.computeDirection(inX, inY)); + Point next = p.getNext(); + int outX = next.getOrigX() - p.getOrigX(); + int outY = next.getOrigY() - p.getOrigY(); + p.setOutDir(Utils.computeDirection(outX, outY)); + + if (p.isControlPoint()) + { + setWeakPoint(p); + } + else if (p.getOutDir() == p.getInDir()) + { + if (p.getOutDir() != DIR_NONE) + setWeakPoint(p); + else + { + int angleIn = Utils.atan(inY, inX); + int angleOut = Utils.atan(outY, outX); + int delta = Utils.angleDiff(angleIn, angleOut); + if (delta < 2 && delta > -2) + setWeakPoint(p); + } + } + else if (p.getInDir() == - p.getOutDir()) + { + setWeakPoint(p); + } + } + computeInflectionPoints(); } - void computeSegments(int dim) + private void setWeakPoint(Point p) { - // TODO: Implement. + p.setFlags((byte) (p.getFlags() | Point.FLAG_WEAK_INTERPOLATION)); } - void linkSegments(int dim) + /** + * Computes the inflection points for a glyph. + */ + private void computeInflectionPoints() { - // TODO: Implement. + // Do each contour separately. + contours : for (int c = 0; c < contours.length; c++) + { + Point point = contours[c]; + Point first = point; + Point start = point; + Point end = point; + do + { + end = end.getNext(); + if (end == first) + continue contours; + } while (end.getOrigX() == first.getOrigX() + && end.getOrigY() == first.getOrigY()); + + // Extend segment start whenever possible. + Point before = start; + int angleIn; + int angleSeg = Utils.atan(end.getOrigX() - start.getOrigX(), + end.getOrigY() - start.getOrigY()); + do + { + do + { + start = before; + before = before.getPrev(); + if (before == first) + continue contours; + } while (before.getOrigX() == start.getOrigX() + && before.getOrigY() == start.getOrigY()); + angleIn = Utils.atan(start.getOrigX() - before.getOrigX(), + start.getOrigY() - before.getOrigY()); + } while (angleIn == angleSeg); + + first = start; + int diffIn = Utils.angleDiff(angleIn, angleSeg); + // Now, process all segments in the contour. + Point after; + boolean finished = false; + int angleOut, diffOut; + do + { + // First, extend the current segment's end whenever possible. + after = end; + do + { + do + { + end = after; + after = after.getNext(); + if (after == first) + finished = true; + } while (end.getOrigX() == after.getOrigX() + && end.getOrigY() == after.getOrigY()); + angleOut = Utils.atan(after.getOrigX() - end.getOrigX(), + after.getOrigY() - end.getOrigY()); + } while (angleOut == angleSeg); + diffOut = Utils.angleDiff(angleSeg, angleOut); + if ((diffIn ^ diffOut) < 0) + { + // diffIn and diffOut have different signs, we have + // inflection points here. + do + { + start.addFlags(Point.FLAG_INFLECTION); + start = start.getNext(); + } while (start != end); + start.addFlags(Point.FLAG_INFLECTION); + } + start = end; + end = after; + angleSeg = angleOut; + diffIn = diffOut; + } while (! finished); + } + } + + boolean doHorizontal() + { + return (flags & FontDelegate.FLAG_NO_HINT_HORIZONTAL) == 0; + } + + boolean doVertical() + { + return (flags & FontDelegate.FLAG_NO_HINT_VERTICAL) == 0; + } + + void alignWeakPoints(int dim) + { + short touchFlag; + Point point; + // PASS 1 : Move segments to edge positions. + if (dim == DIMENSION_HORZ) + { + touchFlag = Point.FLAG_DONE_X; + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setU(point.getX()); + point.setV(point.getScaledX()); + } + } + else + { + touchFlag = Point.FLAG_DONE_Y; + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setU(point.getY()); + point.setV(point.getScaledY()); + } + } + point = points[0]; + for (int c = 0; c < numContours; c++) + { + point = contours[c]; + int idx = getPointIndex(point); + Point endPoint = point.getPrev(); + int endIdx = getPointIndex(endPoint); + int firstIdx = idx; + while (idx <= endIdx + && (point.getFlags() & touchFlag) == 0) + { + idx++; + point = points[idx]; + } + if (idx <= endIdx) + { + int firstTouched = idx; + int curTouched = idx; + idx++; + point = points[idx]; + while (idx <= endIdx) + { + if ((point.getFlags() & touchFlag) != 0) + { + // We found two successive touch points. We interpolate + // all contour points between them. + iupInterp(curTouched + 1, idx - 1, curTouched, idx); + curTouched = idx; + } + idx++; + point = points[idx]; + } + if (curTouched == firstTouched) + { + // This is a special case: Only one point was touched in the + // contour. We thus simply shift the whole contour. + iupShift(firstIdx, endIdx, curTouched); + } + else + { + // Now interpolate after the last touched point to the end + // of the contour. + iupInterp(curTouched + 1, endIdx, curTouched, firstTouched); + // If the first contour point isn't touched, interpolate + // from the contour start to the first touched point. + if (firstTouched > 0) + { + iupInterp(firstIdx, firstTouched - 1, curTouched, + firstTouched); + } + } + } + } + // Now store the values back. + if (dim == DIMENSION_HORZ) + { + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setX(point.getU()); + } + } + else + { + for (int p = 0; p < numPoints; p++) + { + point = points[p]; + point.setY(point.getU()); + } + } + } + + private void iupShift(int p1, int p2, int ref) + { + int delta = points[ref].getU() - points[ref].getV(); + for (int p = p1; p < ref; p++) + { + points[p].setU(points[p].getV() + delta); + } + for (int p = ref + 1; p <= p2; p++) + { + points[p].setU(points[p].getV() + delta); + } + } + + private void iupInterp(int p1, int p2, int ref1, int ref2) + { + int v1 = points[ref1].getV(); + int v2 = points[ref2].getV(); + int d1 = points[ref1].getU() - v1; + int d2 = points[ref2].getU() - v2; + if (p1 > p2) + return; + if (v1 == v2) + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v1) + u += d1; + else + u += d2; + points[p].setU(u); + } + } + else if (v1 < v2) + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v1) + u += d1; + else if (u >= v2) + u += d2; + else + { + u = points[ref1].getU() + Utils.mulDiv(u - v1, + points[ref2].getU() + - points[ref1].getU(), + v2 - v1); + } + points[p].setU(u); + } + } + else + { + for (int p = p1; p <= p2; p++) + { + int u = points[p].getV(); + if (u <= v2) + u += d2; + else if (u >= v1) + u += d1; + else + { + u = points[ref1].getU() + Utils.mulDiv(u - v1, + points[ref2].getU() + - points[ref1].getU(), + v2 - v1); + } + points[p].setU(u); + } + } + } + + void alignStrongPoints(int dim) + { + AxisHints ax = axis[dim]; + Edge[] edges = ax.edges; + int numEdges = ax.numEdges; + short touchFlag; + if (dim == DIMENSION_HORZ) + touchFlag = Point.FLAG_DONE_X; + else + touchFlag = Point.FLAG_DONE_Y; + + if (numEdges > 0) + { + for (int p = 0; p < numPoints; p++) + { + Point point = points[p]; + if ((point.getFlags() & touchFlag) != 0) + continue; + // If this point is a candidate for weak interpolation, we + // interpolate it after all strong points have been processed. + if ((point.getFlags() & Point.FLAG_WEAK_INTERPOLATION) != 0 + && (point.getFlags() & Point.FLAG_INFLECTION) == 0) + continue; + + int u, ou, fu, delta; + if (dim == DIMENSION_VERT) + { + u = point.getOrigY(); + ou = point.getScaledY(); + } + else + { + u = point.getOrigX(); + ou = point.getScaledX(); + } + fu = u; + // Is the point before the first edge? + Edge edge = edges[0]; + // Inversed vertical dimension. + delta = edge.fpos - u; + if (delta >= 0) + { + u = edge.pos - (edge.opos - ou); + storePoint(point, u, dim, touchFlag); + } + else + { + // Is the point after the last edge? + edge = edges[numEdges - 1]; + delta = u - edge.fpos; + if (delta >= 0) + { + u = edge.pos + (ou - edge.opos); + storePoint(point, u, dim, touchFlag); + } + else + { + // Find enclosing edges. + int min = 0; + int max = numEdges; + int mid, fpos; + boolean found = false; + while (min < max) + { + mid = (max + min) / 2; + edge = edges[mid]; + fpos = edge.fpos; + if (u < fpos) + max = mid; + else if (u > fpos) + min = mid + 1; + else + { + // Directly on the edge. + u = edge.pos; + storePoint(point, u, dim, touchFlag); + found = true; + break; + } + } + if (! found) + { + Edge before = edges[min - 1]; + Edge after = edges[min]; + if (before.scale == 0) + { + before.scale = Fixed.div16(after.pos - before.pos, + after.fpos - before.fpos); + } + u = before.pos + Fixed.mul16(fu - before.fpos, + before.scale); + } + storePoint(point, u, dim, touchFlag); + } + } + } + } + } + + private void storePoint(Point p, int u, int dim, short touchFlag) + { + if (dim == DIMENSION_HORZ) + p.setX(u); + else + p.setY(u); + p.addFlags(touchFlag); + } + + void alignEdgePoints(int dim) + { + AxisHints ax = axis[dim]; + Edge[] edges = ax.edges; + int numEdges = ax.numEdges; + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + Segment seg = edge.first; + do + { + Point point = seg.first; + while (true) + { + if (dim == DIMENSION_HORZ) + { + point.setX(edge.pos); + point.addFlags(Point.FLAG_DONE_X); + } + else + { + point.setY(edge.pos); + point.addFlags(Point.FLAG_DONE_Y); + } + if (point == seg.last) + break; + point = point.getNext(); + } + seg = seg.edgeNext; + } while (seg != edge.first); + } + } + + private int getPointIndex(Point p) + { + int idx = -1; + for (int i = 0; i < numPoints; i++) + { + if (p == points[i]) + { + idx = i; + break; + } + } + return idx; + } + + public boolean doAlignEdgePoints() + { + return (flags & FontDelegate.FLAG_NO_HINT_EDGE_POINTS) == 0; + } + + public boolean doAlignStrongPoints() + { + return (flags & FontDelegate.FLAG_NO_HINT_STRONG_POINTS) == 0; + } + + public boolean doAlignWeakPoints() + { + return (flags & FontDelegate.FLAG_NO_HINT_WEAK_POINTS) == 0; } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java b/libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java similarity index 98% rename from libjava/classpath/gnu/java/awt/font/autofit/Scaler.java rename to libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java index 10518512578..01276b4db01 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Scaler.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/HintScaler.java @@ -40,7 +40,7 @@ package gnu.java.awt.font.autofit; import gnu.java.awt.font.opentype.OpenTypeFont; -class Scaler +class HintScaler { int xScale; @@ -48,5 +48,6 @@ class Scaler int yScale; int yDelta; OpenTypeFont face; - + int renderMode; + } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Latin.java b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java index 0352b41a45a..8951e8b19db 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Latin.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Latin.java @@ -39,8 +39,11 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; import java.awt.geom.AffineTransform; +import java.util.HashSet; import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Fixed; +import gnu.java.awt.font.opentype.truetype.Point; import gnu.java.awt.font.opentype.truetype.Zone; /** @@ -50,12 +53,476 @@ class Latin implements Script, Constants { - private static final int MAX_WIDTHS = 16; + static final int MAX_WIDTHS = 16; - public void applyHints(GlyphHints hints, ScriptMetrics metrics) + private final static int MAX_TEST_CHARS = 12; + + /** + * The types of the 6 blue zones. + */ + private static final int CAPITAL_TOP = 0; + private static final int CAPITAL_BOTTOM = 1; + private static final int SMALL_F_TOP = 2; + private static final int SMALL_TOP = 3; + private static final int SMALL_BOTTOM = 4; + private static final int SMALL_MINOR = 5; + static final int BLUE_MAX = 6; + + /** + * The test chars for the blue zones. + * + * @see #initBlues(LatinMetrics, OpenTypeFont) + */ + private static final String[] TEST_CHARS = + new String[]{"THEZOCQS", "HEZLOCUS", "fijkdbh", + "xzroesc", "xzroesc", "pqgjy"}; + + public void applyHints(GlyphHints hints, Zone outline, ScriptMetrics metrics) + { + hints.reload(outline); + hints.rescale(metrics); + if (hints.doHorizontal()) + { + detectFeatures(hints, DIMENSION_HORZ); + } + if (hints.doVertical()) + { + detectFeatures(hints, DIMENSION_VERT); + computeBlueEdges(hints, (LatinMetrics) metrics); + } + // Grid-fit the outline. + for (int dim = 0; dim < DIMENSION_MAX; dim++) + { + if (dim == DIMENSION_HORZ && hints.doHorizontal() + || dim == DIMENSION_VERT && hints.doVertical()) + { + hintEdges(hints, dim); + if (hints.doAlignEdgePoints()) + hints.alignEdgePoints(dim); + if (hints.doAlignStrongPoints()) + hints.alignStrongPoints(dim); + if (hints.doAlignWeakPoints()) + hints.alignWeakPoints(dim); + + } + } + // FreeType does a save call here. I guess that's not needed as we operate + // on the live glyph data anyway. + } + + private void hintEdges(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + Edge[] edges = axis.edges; + int numEdges = axis.numEdges; + Edge anchor = null; + int hasSerifs = 0; + + // We begin by aligning all stems relative to the blue zone if + // needed -- that's only for horizontal edges. + if (dim == DIMENSION_VERT) + { + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + + Width blue = edge.blueEdge; + Edge edge1 = null; + Edge edge2 = edge.link; + if (blue != null) + { + edge1 = edge; + } + else if (edge2 != null && edge2.blueEdge != null) + { + blue = edge2.blueEdge; + edge1 = edge2; + edge2 = edge; + } + if (edge1 == null) + continue; + + edge1.pos = blue.fit; + edge1.flags |= Segment.FLAG_EDGE_DONE; + + if (edge2 != null && edge2.blueEdge == null) + { + alignLinkedEdge(hints, dim, edge1, edge2); + edge2.flags |= Segment.FLAG_EDGE_DONE; + } + if (anchor == null) + anchor = edge; + } + } + + // Now we will align all stem edges, trying to maintain the + // relative order of stems in the glyph. + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + Edge edge2 = edge.link; + if (edge2 == null) + { + hasSerifs++; + continue; + } + // Now align the stem. + // This should not happen, but it's better to be safe. + if (edge2.blueEdge != null || axis.getEdgeIndex(edge2) < e) + { + alignLinkedEdge(hints, dim, edge2, edge); + edge.flags |= Segment.FLAG_EDGE_DONE; + continue; + } + + if (anchor == null) + { + int orgLen = edge2.opos - edge.opos; + int curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + int uOff, dOff, orgCenter, curPos1, error1, error2; + if (curLen <= 64) // < 1 Pixel. + { + uOff = 32; + dOff = 32; + } + else + { + uOff = 38; + dOff = 26; + } + if (curLen < 96) + { + orgCenter = edge.opos + (orgLen >> 1); + curPos1 = Utils.pixRound(orgCenter); + error1 = orgCenter - (curPos1 - uOff); + if (error1 < 0) + error1 = -error1; + error2 = orgCenter - (curPos1 + dOff); + if (error2 < 0) + error2 = -error2; + if (error1 < error2) + { + curPos1 -= uOff; + } + else + { + curPos1 += dOff; + } + edge.pos = curPos1 - curLen / 2; + edge2.pos = curPos1 + curLen / 2; + } + else + { + edge.pos = Utils.pixRound(edge.opos); + } + anchor = edge; + edge.flags |= Segment.FLAG_EDGE_DONE; + alignLinkedEdge(hints, dim, edge, edge2); + } + else + { + int aDiff = edge.opos - anchor.opos; + int orgPos = anchor.pos + aDiff; + int orgLen = edge2.opos - edge.opos; + int orgCenter = orgPos + (orgLen >> 1); + int curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + //System.err.println("stem width: " + curLen); + if (curLen < 96) + { + int uOff, dOff; + int curPos1 = Utils.pixRound(orgCenter); + if (curLen <= 64) + { + uOff = 32; + dOff = 32; + } + else + { + uOff = 38; + dOff = 26; + } + int delta1 = orgCenter - (curPos1 - uOff); + if (delta1 < 0) + delta1 = -delta1; + int delta2 = orgCenter - (curPos1 + dOff); + if (delta2 < 0) + delta2 = -delta2; + if (delta1 < delta2) + { + curPos1 -= uOff; + } + else + { + curPos1 += dOff; + } + edge.pos = curPos1 - curLen / 2; + edge2.pos = curPos1 + curLen / 2; + } + else + { + orgPos = anchor.pos + (edge.opos - anchor.opos); + orgLen = edge2.opos - edge.opos; + orgCenter = orgPos + (orgLen >> 1); + curLen = computeStemWidth(hints, dim, orgLen, edge.flags, + edge2.flags); + int curPos1 = Utils.pixRound(orgPos); + int delta1 = curPos1 + (curLen >> 1) - orgCenter; + if (delta1 < 0) + delta1 = -delta1; + int curPos2 = Utils.pixRound(orgPos + orgLen) - curLen; + int delta2 = curPos2 + (curLen >> 1) - orgCenter; + if (delta2 < 0) + delta2 = -delta2; + edge.pos = (delta1 < delta2) ? curPos1 : curPos2; + edge2.pos = edge.pos + curLen; + } + edge.flags |= Segment.FLAG_EDGE_DONE; + edge2.flags |= Segment.FLAG_EDGE_DONE; + + if (e > 0 && edge.pos < edges[e - 1].pos) + { + edge.pos = edges[e - 1].pos; + } + } + } + // TODO: Implement the lowercase m symmetry thing. + + // Now we hint the remaining edges (serifs and singles) in order + // to complete our processing. + if (hasSerifs > 0 || anchor == null) + { + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + if ((edge.flags & Segment.FLAG_EDGE_DONE) != 0) + continue; + if (edge.serif != null) + { + alignSerifEdge(hints, edge.serif, edge); + } + else if (anchor == null) + { + edge.pos = Utils.pixRound(edge.opos); + anchor = edge; + } + else + { + edge.pos = anchor.pos + + Utils.pixRound(edge.opos - anchor.opos); + } + edge.flags |= Segment.FLAG_EDGE_DONE; + + if (e > 0 && edge.pos < edges[e - 1].pos) + { + edge.pos = edges[e - 1].pos; + } + if (e + 1 < numEdges + && (edges[e + 1].flags & Segment.FLAG_EDGE_DONE) != 0 + && edge.pos > edges[e + 1].pos) + { + edge.pos = edges[e + 1].pos; + } + } + } + + // Debug: print all hinted edges. + // System.err.println("hinted edges: " ); + // for (int i = 0; i < numEdges; i++) + // { + // System.err.println("edge#" + i + ": " + edges[i]); + // } + } + + private void alignSerifEdge(GlyphHints hints, Edge base, Edge serif) + { + serif.pos = base.pos + (serif.opos - base.opos); + } + + private int computeStemWidth(GlyphHints hints, int dim, int width, + int baseFlags, int stemFlags) + { + LatinMetrics metrics = (LatinMetrics) hints.metrics; + LatinAxis axis = metrics.axis[dim]; + int dist = width; + int sign = 0; + boolean vertical = dim == DIMENSION_VERT; + if (! doStemAdjust(hints)) + return width; + if (dist < 0) + { + dist = -width; + sign = 1; + } + if ((vertical && ! doVertSnap(hints)) || ! vertical && ! doHorzSnap(hints)) + { + // Smooth hinting process. Very lightly quantize the stem width. + // Leave the widths of serifs alone. + if ((stemFlags & Segment.FLAG_EDGE_SERIF) != 0 && vertical + && dist < 3 * 64) + { + return doneWidth(dist, sign); + } + else if ((baseFlags & Segment.FLAG_EDGE_ROUND) != 0) + { + if (dist < 80) + dist = 64; + } + else if (dist < 56) + { + dist = 56; + } + if (axis.widthCount > 0) + { + int delta; + if (axis.widthCount > 0) + { + delta = dist - axis.widths[0].cur; + if (delta < 0) + { + delta = -delta; + } + if (delta < 40) + { + dist = axis.widths[0].cur; + if (dist < 48) + dist = 48; + return doneWidth(dist, sign); + } + } + if (dist < 3 * 64) // < 3 pixels. + { + delta = dist & 63; + dist &= -64; + if (delta < 10) + dist += delta; + else if (delta < 32) + dist += 10; + else if (delta < 54) + dist += 54; + else + dist += delta; + + } + else + { + dist = (dist + 32) & ~63; + } + } + } + else + { + // Strong hinting process: Snap the stem width to integer pixels. + dist = snapWidth(axis.widths, axis.widthCount, dist); + if (vertical) + { + // In the case of vertical hinting, always round + // the stem heights to integer pixels. + if (dist >= 64) + dist = (dist + 16) & ~63; + else + dist = 64; + } + else + { + if (doMono(hints)) + { + // Monochrome horizontal hinting: Snap widths to integer pixels + // with a different threshold. + if (dist < 64) + dist = 64; + else + dist = (dist + 32) & ~63; + } + else + { + // For anti-aliased hinting, we adopt a more subtle + // approach: We strengthen small stems, round those stems + // whose size is between 1 and 2 pixels to an integer, + // otherwise nothing. + if (dist < 48) + dist = (dist + 64) >> 1; + else if (dist < 128) + dist = (dist + 22) & ~63; + else + // Round otherwise to prevent color fringes in LCD mode. + dist = (dist + 32) & ~63; + } + } + } + return doneWidth(dist, sign); + } + + private boolean doMono(GlyphHints hints) + { + return true; + } + + private int snapWidth(Width[] widths, int count, int width) + { + int best = 64 + 32 + 2; + int reference = width; + for (int n = 0; n < count; n++) + { + int w = widths[n].cur; + int dist = width - w; + if (dist < 0) + dist = -dist; + if (dist < best) + { + best = dist; + reference = w; + } + } + int scaled = Utils.pixRound(reference); + if (width >= reference) + { + if (width < scaled + 48) + width = reference; + } + else + { + if (width > scaled + 48) + width = reference; + } + return width; + } + + private int doneWidth(int w, int s) + { + if (s == 1) + w = -w; + return w; + } + + private boolean doVertSnap(GlyphHints hints) { // TODO Auto-generated method stub + return true; + } + private boolean doHorzSnap(GlyphHints hints) + { + // TODO Auto-generated method stub + return true; + } + + private boolean doStemAdjust(GlyphHints hints) + { + // TODO Auto-generated method stub + return true; + } + + private void alignLinkedEdge(GlyphHints hints, int dim, Edge base, Edge stem) + { + int dist = stem.opos - base.opos; + int fitted = computeStemWidth(hints, dim, dist, base.flags, stem.flags); + stem.pos = base.pos + fitted; } public void doneMetrics(ScriptMetrics metrics) @@ -99,10 +566,119 @@ class Latin initBlues(lm, face); } - public void scaleMetrics(ScriptMetrics metrics) + public void scaleMetrics(ScriptMetrics metrics, HintScaler scaler) { - // TODO Auto-generated method stub + LatinMetrics lm = (LatinMetrics) metrics; + lm.scaler.renderMode = scaler.renderMode; + lm.scaler.face = scaler.face; + scaleMetricsDim(lm, scaler, DIMENSION_HORZ); + scaleMetricsDim(lm, scaler, DIMENSION_VERT); + } + private void scaleMetricsDim(LatinMetrics lm, HintScaler scaler, int dim) + { + int scale; + int delta; + if (dim == DIMENSION_HORZ) + { + scale = scaler.xScale; + delta = scaler.xDelta; + } + else + { + scale = scaler.yScale; + delta = scaler.yDelta; + } + LatinAxis axis = lm.axis[dim]; + if (axis.orgScale == scale && axis.orgDelta == delta) + // No change, no need to adjust. + return; + axis.orgScale = scale; + axis.orgDelta = delta; + + // Correct X and Y scale to optimize the alignment of the top small + // letters to the pixel grid. + LatinAxis axis2 = lm.axis[DIMENSION_VERT]; + LatinBlue blue = null; +// for (int nn = 0; nn < axis2.blueCount; nn++) +// { +// if ((axis2.blues[nn].flags & LatinBlue.FLAG_ADJUSTMENT) != 0) +// { +// blue = axis2.blues[nn]; +// break; +// } +// } +// if (blue != null) +// { +// int scaled = Fixed.mul16(blue.shoot.org, scaler.yScale); +// int fitted = Utils.pixRound(scaled); +// if (scaled != fitted) +// { +// if (dim == DIMENSION_HORZ) +// { +// if (fitted < scaled) +// { +// scale -= scale / 50; +// } +// } +// else +// { +// scale = Utils.mulDiv(scale, fitted, scaled); +// } +// } +// } + axis.scale = scale; + axis.delta = delta; + if (dim == DIMENSION_HORZ) + { + lm.scaler.xScale = scale; + lm.scaler.xDelta = delta; + } + else + { + lm.scaler.yScale = scale; + lm.scaler.yDelta = delta; + } + // Scale the standard widths. + for (int nn = 0; nn < axis.widthCount; nn++) + { + Width w = axis.widths[nn]; + w.cur = Fixed.mul16(w.org, scale); + w.fit = w.cur; + } + // Scale blue zones. + if (dim == DIMENSION_VERT) + { + for (int nn = 0; nn < axis.blueCount; nn++) + { + blue = axis.blues[nn]; + blue.ref.cur = Fixed.mul16(blue.ref.org, scale) + delta; + blue.ref.fit = blue.ref.cur; + blue.shoot.cur = Fixed.mul16(blue.ref.org, scale) + delta; + blue.flags &= ~LatinBlue.FLAG_BLUE_ACTIVE; + // A blue zone is only active if it is less than 3/4 pixels tall. + int dist = Fixed.mul16(blue.ref.org - blue.shoot.org, scale); + if (dist <= 48 && dist >= -48) + { + int delta1 = blue.shoot.org - blue.ref.org; + int delta2 = delta1; + if (delta1 < 0) + delta2 = -delta2; + delta2 = Fixed.mul16(delta2, scale); + if (delta2 < 32) + delta2 = 0; + else if (delta2 < 64) + delta2 = 32 + (((delta2 - 32) + 16) & ~31); + else + delta2 = Utils.pixRound(delta2); + if (delta1 < 0) + delta2 = -delta2; + blue.ref.fit = Utils.pixRound(blue.ref.cur); + blue.shoot.fit = blue.ref.fit + delta2; + blue.flags |= LatinBlue.FLAG_BLUE_ACTIVE; + } + } + } } /** @@ -118,12 +694,9 @@ class Latin metrics.axis[DIMENSION_HORZ].widthCount = 0; metrics.axis[DIMENSION_VERT].widthCount = 0; int glyphIndex = face.getGlyph(ch); - // TODO: Avoid that AffineTransform constructor and change - // getRawGlyphOutline() to accept null or remove that parameter altogether. - // Consider this when the thing is done and we know what we need that for. - Zone outline = face.getRawGlyphOutline(glyphIndex, new AffineTransform()); + Zone outline = face.getRawGlyphOutline(glyphIndex, IDENTITY); LatinMetrics dummy = new LatinMetrics(); - Scaler scaler = dummy.scaler; + HintScaler scaler = dummy.scaler; dummy.unitsPerEm = metrics.unitsPerEm; scaler.xScale = scaler.yScale = 10000; scaler.xDelta = scaler.yDelta = 0; @@ -135,20 +708,24 @@ class Latin LatinAxis axis = metrics.axis[dim]; AxisHints axHints = hints.axis[dim]; int numWidths = 0; - hints.computeSegments(dim); - hints.linkSegments(dim); + computeSegments(hints, dim); + linkSegments(hints, dim); Segment[] segs = axHints.segments; + HashSet touched = new HashSet(); for (int i = 0; i < segs.length; i++) { Segment seg = segs[i]; Segment link = seg.link; - if (link != null && link.link == seg && link.index > i) + if (link != null && link.link == seg && ! touched.contains(link)) { int dist = Math.abs(seg.pos - link.pos); if (numWidths < MAX_WIDTHS) - axis.widths[numWidths++].org = dist; + axis.widths[numWidths++] = new Width(dist); } + touched.add(seg); } + Utils.sort(numWidths, axis.widths); + axis.widthCount = numWidths; } for (int dim = 0; dim < DIMENSION_MAX; dim++) { @@ -159,6 +736,78 @@ class Latin } } + void linkSegments(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + Segment[] segments = axis.segments; + int numSegs = axis.numSegments; + int majorDir = axis.majorDir; + int lenThreshold = constant((LatinMetrics) hints.metrics, 8); + lenThreshold = Math.min(1, lenThreshold); + int lenScore = constant((LatinMetrics) hints.metrics, 3000); + for (int i1 = 0; i1 < numSegs; i1++) + { + Segment seg1 = segments[i1]; + // The fake segments are introduced to hint the metrics. + // Never link them to anything. + if (seg1.first == seg1.last || seg1.dir != majorDir) + continue; + for (int i2 = 0; i2 < numSegs; i2++) + { + Segment seg2 = segments[i2]; + if (seg2 != seg1 && seg1.dir + seg2.dir == 0) + { + int pos1 = seg1.pos; + int pos2 = seg2.pos; + // The vertical coords are swapped compared to how FT handles + // this. + int dist = dim == DIMENSION_VERT ? pos1 - pos2 : pos2 - pos1; + if (dist >= 0) + { + int min = seg1.minPos; + int max = seg1.maxPos; + int len, score; + if (min < seg2.minPos) + min = seg2.minPos; + if (max > seg2.maxPos) + max = seg2.maxPos; + len = max - min; + if (len > lenThreshold) + { + score = dist + lenScore / len; + if (score < seg1.score) + { + seg1.score = score; + seg1.link = seg2; + } + if (score < seg2.score) + { + seg2.score = score; + seg2.link = seg1; + } + } + } + } + } + } + for (int i1 = 0; i1 < numSegs; i1++) + { + Segment seg1 = segments[i1]; + Segment seg2 = seg1.link; + if (seg2 != null) + { + seg2.numLinked++; + if (seg2.link != seg1) + { + seg1.link = null; + seg1.serif = seg2.link; + } + } + // Uncomment to show all segments. + // System.err.println("segment#" + i1 + ": " + seg1); + } + } + /** * Initializes the blue zones of the font. * @@ -167,11 +816,548 @@ class Latin */ private void initBlues(LatinMetrics metrics, OpenTypeFont face) { - // TODO: Implement. + int[] flats = new int[MAX_TEST_CHARS]; + int[] rounds = new int[MAX_TEST_CHARS]; + int numFlats; + int numRounds; + LatinBlue blue; + LatinAxis axis = metrics.axis[DIMENSION_VERT]; + // We compute the blues simply by loading each character in the test + // strings, then compute its topmost or bottommost points. + for (int bb = 0; bb < BLUE_MAX; bb++) + { + String p = TEST_CHARS[bb]; + int blueRef; + int blueShoot; + numFlats = 0; + numRounds = 0; + for (int i = 0; i < p.length(); i++) + { + // Load the character. + int glyphIndex = face.getGlyph(p.charAt(i)); + Zone glyph = + face.getRawGlyphOutline(glyphIndex, IDENTITY); + + // Now compute the min and max points. + int numPoints = glyph.getSize() - 4; // 4 phantom points. + Point[] points = glyph.getPoints(); + Point point = points[0]; + int extremum = 0; + int index = 1; + if (isTopBlue(bb)) + { + for (; index < numPoints; index++) + { + point = points[index]; + // We have the vertical direction swapped. The higher + // points have smaller (negative) Y. + if (point.getOrigY() < points[extremum].getOrigY()) + extremum = index; + } + } + else + { + for (; index < numPoints; index++) + { + point = points[index]; + // We have the vertical direction swapped. The higher + // points have smaller (negative) Y. + if (point.getOrigY() > points[extremum].getOrigY()) + extremum = index; + } + } + // Debug, prints out the maxima. + // System.err.println("extremum for " + bb + " / "+ p.charAt(i) + // + ": " + points[extremum]); + + // Now determine if the point is part of a straight or round + // segment. + boolean round; + int idx = extremum; + int first, last, prev, next, end; + int dist; + last = -1; + first = 0; + for (int n = 0; n < glyph.getNumContours(); n++) + { + end = glyph.getContourEnd(n); + // System.err.println("contour end for " + n + ": " + end); + if (end >= idx) + { + last = end; + break; + } + first = end + 1; + } + // Should never happen. + assert last >= 0; + + // Now look for the previous and next points that are not on the + // same Y coordinate. Threshold the 'closeness'. + prev = idx; + next = prev; + do + { + if (prev > first) + prev--; + else + prev = last; + dist = points[prev].getOrigY() - points[extremum].getOrigY(); + if (dist < -5 || dist > 5) + break; + } while (prev != idx); + do + { + if (next < last) + next++; + else + next = first; + dist = points[next].getOrigY() - points[extremum].getOrigY(); + if (dist < -5 || dist > 5) + break; + } while (next != idx); + round = points[prev].isControlPoint() + || points[next].isControlPoint(); + + if (round) + { + rounds[numRounds++] = points[extremum].getOrigY(); + // System.err.println("new round extremum: " + bb + ": " + // + points[extremum].getOrigY()); + } + else + { + flats[numFlats++] = points[extremum].getOrigY(); + // System.err.println("new flat extremum: " + bb + ": " + // + points[extremum].getOrigY()); + } + } + // We have computed the contents of the rounds and flats tables. + // Now determine the reference and overshoot position of the blues -- + // we simply take the median after a simple sort. + Utils.sort(numRounds, rounds); + Utils.sort(numFlats, flats); + blue = axis.blues[axis.blueCount] = new LatinBlue(); + axis.blueCount++; + if (numFlats == 0) + { + blue.ref = blue.shoot = new Width(rounds[numRounds / 2]); + } + else if (numRounds == 0) + { + blue.ref = blue.shoot = new Width(flats[numFlats / 2]); + } + else + { + blue.ref = new Width(flats[numFlats / 2]); + blue.shoot = new Width(rounds[numRounds / 2]); + } + // There are sometimes problems: if the overshoot position of top + // zones is under its reference position, or the opposite for bottom + // zones. We must check everything there and correct problems. + if (blue.shoot != blue.ref) + { + int ref = blue.ref.org; + int shoot = blue.shoot.org; + // Inversed vertical coordinates! + boolean overRef = shoot < ref; + if (isTopBlue(bb) ^ overRef) + { + blue.shoot = blue.ref = new Width((shoot + ref) / 2); + } + } + blue.flags = 0; + if (isTopBlue(bb)) + blue.flags |= LatinBlue.FLAG_TOP; + // The following flag is used later to adjust y and x scales in + // order to optimize the pixel grid alignment of the top small + // letters. + if (bb == SMALL_TOP) + { + blue.flags |= LatinBlue.FLAG_ADJUSTMENT; + } + // Debug: print out the blue zones. + // System.err.println("blue zone #" + bb + ": " + blue); + } } + private static final AffineTransform IDENTITY = new AffineTransform(); + private int constant(LatinMetrics metrics, int c) { return c * (metrics.unitsPerEm / 2048); } + + private void computeSegments(GlyphHints hints, int dim) + { + Point[] points = hints.points; + if (dim == DIMENSION_HORZ) + { + for (int i = 0; i < hints.numPoints; i++) + { + points[i].setU(points[i].getOrigX()); + points[i].setV(points[i].getOrigY()); + } + } + else + { + for (int i = 0; i < hints.numPoints; i++) + { + points[i].setU(points[i].getOrigY()); + points[i].setV(points[i].getOrigX()); + } + } + // Now look at each contour. + AxisHints axis = hints.axis[dim]; + int majorDir = Math.abs(axis.majorDir); + int segmentDir = majorDir; + Point[] contours = hints.contours; + int numContours = hints.numContours; + Segment segment = null; + for (int i = 0; i < numContours; i++) + { + int minPos = 32000; + int maxPos = -32000; + + Point point = contours[i]; + Point last = point.getPrev(); + if (point == last) // Skip singletons. + continue; + if (Math.abs(last.getOutDir()) == majorDir + && Math.abs(point.getOutDir()) == majorDir) + { + // We are already on an edge. Locate its start. + last = point; + while (true) + { + point = point.getPrev(); + if (Math.abs(point.getOutDir()) != majorDir) + { + point = point.getNext(); + break; + } + if (point == last) + break; + } + } + last = point; + boolean passed = false; + boolean onEdge = false; + while (true) + { + int u, v; + if (onEdge) + { + u = point.getU(); + if (u < minPos) + minPos = u; + if (u > maxPos) + maxPos = u; + if (point.getOutDir() != segmentDir || point == last) + { + // Leaving an edge. Record new segment. + segment.last = point; + // (minPos + maxPos) / 2. + segment.pos = (minPos + maxPos) >> 1; + if (segment.first.isControlPoint() + || point.isControlPoint()) + segment.flags |= Segment.FLAG_EDGE_ROUND; + minPos = maxPos = point.getV(); + v = segment.first.getV(); + if (v < minPos) + minPos = v; + if (v > maxPos) + maxPos = v; + segment.minPos = minPos; + segment.maxPos = maxPos; + onEdge = false; + segment = null; + } + } + if (point == last) + { + if (passed) + break; + passed = true; + } + if (! onEdge && Math.abs(point.getOutDir()) == majorDir) + { + // This is the start of a new segment. + segmentDir = point.getOutDir(); + segment = axis.newSegment(); + segment.dir = segmentDir; + segment.flags = Segment.FLAG_EDGE_NORMAL; + minPos = maxPos = point.getU(); + segment.first = point; + segment.last = point; + segment.contour = contours[i]; + segment.score = 32000; + segment.len = 0; + segment.link = null; + onEdge = true; + } + point = point.getNext(); + } + } + + } + + private boolean isTopBlue(int b) + { + return b == CAPITAL_TOP || b == SMALL_F_TOP || b == SMALL_TOP; + } + + private void detectFeatures(GlyphHints hints, int dim) + { + computeSegments(hints, dim); + linkSegments(hints, dim); + computeEdges(hints, dim); + } + + private void computeEdges(GlyphHints hints, int dim) + { + AxisHints axis = hints.axis[dim]; + LatinAxis laxis = ((LatinMetrics) hints.metrics).axis[dim]; + Segment[] segments = axis.segments; + int numSegments = axis.numSegments; + Segment seg; + int upDir; + int scale; + int edgeDistanceThreshold; + axis.numEdges = 0; + scale = dim == DIMENSION_HORZ ? hints.xScale : hints.yScale; + upDir = dim == DIMENSION_HORZ ? DIR_UP : DIR_RIGHT; + + // We will begin by generating a sorted table of edges for the + // current direction. To do so, we simply scan each segment and try + // to find an edge in our table that corresponds to its position. + // + // If no edge is found, we create one and insert a new edge in the + // sorted table. Otherwise, we simply add the segment to the egde's + // list which will be processed in the second step to compute the + // edge's properties. + // + // Note that the edge table is sorted along the segment/edge + // position. + + edgeDistanceThreshold = Fixed.mul16(laxis.edgeDistanceTreshold, scale); + if (edgeDistanceThreshold > 64 / 4) + edgeDistanceThreshold = 64 / 4; + edgeDistanceThreshold = Fixed.div16(edgeDistanceThreshold, scale); + for (int i = 0; i < numSegments; i++) + { + seg = segments[i]; + Edge found = null; + for (int ee = 0; ee < axis.numEdges; ee++) + { + Edge edge = axis.edges[ee]; + int dist = seg.pos - edge.fpos; + if (dist < 0) + dist = -dist; + if (dist < edgeDistanceThreshold) + { + found = edge; + break; + } + } + if (found == null) + { + // Insert new edge in the list and sort according to + // the position. + Edge edge = axis.newEdge(seg.pos); + edge.first = seg; + edge.last = seg; + edge.fpos = seg.pos; + edge.opos = edge.pos = Fixed.mul16(seg.pos, scale); + seg.edgeNext = seg; + seg.edge = edge; + } + else + { + seg.edgeNext = found.first; + found.last.edgeNext = seg; + found.last = seg; + seg.edge = found; + } + } + // Good. We will now compute each edge's properties according to + // segments found on its position. Basically these are: + // - Edge's main direction. + // - Stem edge, serif edge, or both (which defaults to stem edge). + // - Rounded edge, straight or both (which defaults to straight). + // - Link for edge. + + // Now, compute each edge properties. + for (int e = 0; e < axis.numEdges; e++) + { + Edge edge = axis.edges[e]; + // Does it contain round segments? + int isRound = 0; + // Does it contain straight segments? + int isStraight = 0; + // Number of upward segments. + int ups = 0; + // Number of downward segments. + int downs = 0; + + seg = edge.first; + do + { + // Check for roundness of segment. + if ((seg.flags & Segment.FLAG_EDGE_ROUND) != 0) + isRound++; + else + isStraight++; + + // Check for segment direction. + if (seg.dir == upDir) + ups += seg.maxPos - seg.minPos; + else + downs += seg.maxPos - seg.minPos; + + // Check for links. If seg.serif is set, then seg.link must + // be ignored. + boolean isSerif = seg.serif != null && seg.serif.edge != edge; + if (seg.link != null || isSerif) + { + Edge edge2 = edge.link; + Segment seg2 = seg.link; + if (isSerif) + { + seg2 = seg.serif; + edge2 = edge.serif; + } + if (edge2 != null) + { + int edgeDelta = edge.fpos - edge2.fpos; + if (edgeDelta < 0) + edgeDelta = -edgeDelta; + int segDelta = seg.pos - seg2.pos; + if (segDelta < 0) + segDelta = -segDelta; + if (segDelta < edgeDelta) + edge2 = seg2.edge; + } + else + { + edge2 = seg2.edge; + } + if (isSerif) + { + edge.serif = edge2; + edge2.flags |= Segment.FLAG_EDGE_SERIF; + } + else + { + edge.link = edge2; + } + } + seg = seg.edgeNext; + } while (seg != edge.first); + edge.flags = Segment.FLAG_EDGE_NORMAL; + if (isRound > 0 && isRound > isStraight) + edge.flags |= Segment.FLAG_EDGE_ROUND; + + // Set the edge's main direction. + edge.dir = DIR_NONE; + if (ups > downs) + edge.dir = upDir; + else if (ups < downs) + edge.dir = -upDir; + else if (ups == downs) + edge.dir = 0; + + // Gets rid of serif if link is set. This gets rid of many + // unpleasant artifacts. + if (edge.serif != null && edge.link != null) + { + edge.serif = null; + } + + // Debug: Print out all edges. + // System.err.println("edge# " + e + ": " + edge); + } + } + + private void computeBlueEdges(GlyphHints hints, LatinMetrics metrics) + { + AxisHints axis = hints.axis[DIMENSION_VERT]; + Edge[] edges = axis.edges; + int numEdges = axis.numEdges; + LatinAxis latin = metrics.axis[DIMENSION_VERT]; + int scale = latin.scale; + + // Compute which blue zones are active. I.e. have their scaled + // size < 3/4 pixels. + + // For each horizontal edge search the blue zone that is closest. + for (int e = 0; e < numEdges; e++) + { + Edge edge = edges[e]; + // System.err.println("checking edge: " + edge); + Width bestBlue = null; + int bestDist = Fixed.mul16(metrics.unitsPerEm / 40, scale); + + if (bestDist > 64 / 2) + bestDist = 64 / 2; + for (int bb = 0; bb < BLUE_MAX; bb++) + { + LatinBlue blue = latin.blues[bb]; + // System.err.println("checking blue: " + blue); + // Skip inactive blue zones, i.e. those that are too small. + if ((blue.flags & LatinBlue.FLAG_BLUE_ACTIVE) == 0) + continue; + // If it is a top zone, check for right edges. If it is a bottom + // zone, check for left edges. + boolean isTopBlue = (blue.flags & LatinBlue.FLAG_TOP) != 0; + boolean isMajorDir = edge.dir == axis.majorDir; + + // If it is a top zone, the edge must be against the major + // direction. If it is a bottom zone it must be in the major + // direction. + if (isTopBlue ^ isMajorDir) + { + int dist = edge.fpos - blue.ref.org; + if (dist < 0) + dist = -dist; + dist = Fixed.mul16(dist, scale); + if (dist < bestDist) + { + bestDist = dist; + bestBlue = blue.ref; + } + + // Now, compare it to the overshoot position if the edge is + // rounded, and if the edge is over the reference position of + // a top zone, or under the reference position of a bottom + // zone. + if ((edge.flags & Segment.FLAG_EDGE_ROUND) != 0 && dist != 0) + { + // Inversed vertical coordinates! + boolean isUnderRef = edge.fpos > blue.ref.org; + if (isTopBlue ^ isUnderRef) + { + blue = latin.blues[bb]; // Needed? + dist = edge.fpos - blue.shoot.org; + if (dist < 0) + dist = -dist; + dist = Fixed.mul16(dist, scale); + if (dist < bestDist) + { + bestDist = dist; + bestBlue = blue.shoot; + } + } + } + + } + } + if (bestBlue != null) + { + edge.blueEdge = bestBlue; + // Debug: Print out the blue edges. + // System.err.println("blue edge for: " + edge + ": " + bestBlue); + } + } + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java index 8ca1e6d9ed2..9237d0ee5b1 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinAxis.java @@ -49,5 +49,14 @@ class LatinAxis int widthCount; Width[] widths; - float edgeDistanceTreshold; + int edgeDistanceTreshold; + LatinBlue[] blues; + int blueCount; + int orgDelta; + int orgScale; + LatinAxis() + { + widths = new Width[Latin.MAX_WIDTHS]; + blues = new LatinBlue[Latin.BLUE_MAX]; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java new file mode 100644 index 00000000000..694fb24fe07 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinBlue.java @@ -0,0 +1,59 @@ +/* LatinBlue.java -- FIXME: briefly describe file purpose + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.autofit; + +public class LatinBlue +{ + static final int FLAG_BLUE_ACTIVE = 1 << 0; + static final int FLAG_TOP = 1 << 1; + static final int FLAG_ADJUSTMENT = 1 << 2; + Width ref; + Width shoot; + int flags; + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[BlueZone]"); + s.append(" ref: "); + s.append(ref.org); + s.append(", shoot: "); + s.append(shoot.org); + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java index cd955348b37..33fc63ad4ba 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/LatinMetrics.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.opentype.OpenTypeFont; + /** * Latin specific metrics data. */ @@ -48,4 +50,17 @@ class LatinMetrics LatinAxis[] axis; int unitsPerEm; + + LatinMetrics() + { + super(); + axis = new LatinAxis[Constants.DIMENSION_MAX]; + axis[Constants.DIMENSION_HORZ] = new LatinAxis(); + axis[Constants.DIMENSION_VERT] = new LatinAxis(); + } + LatinMetrics(OpenTypeFont face) + { + this(); + unitsPerEm = face.unitsPerEm; + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Script.java b/libjava/classpath/gnu/java/awt/font/autofit/Script.java index 3b353010f2d..c223f0a26af 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Script.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Script.java @@ -39,6 +39,7 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; import gnu.java.awt.font.opentype.OpenTypeFont; +import gnu.java.awt.font.opentype.truetype.Zone; /** * Defines script specific methods for the auto fitter. @@ -51,12 +52,11 @@ interface Script */ void initMetrics(ScriptMetrics metrics, OpenTypeFont face); - void scaleMetrics(ScriptMetrics metrics/* , scaler, map this */); + void scaleMetrics(ScriptMetrics metrics , HintScaler scaler); void doneMetrics(ScriptMetrics metrics); void initHints(GlyphHints hints, ScriptMetrics metrics); - void applyHints(GlyphHints hints, /* some outline object, */ - ScriptMetrics metrics); + void applyHints(GlyphHints hints, Zone outline, ScriptMetrics metrics); } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java index 77c815ae59d..984a06daee4 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/ScriptMetrics.java @@ -45,5 +45,9 @@ class ScriptMetrics { Script script; - Scaler scaler; + HintScaler scaler; + ScriptMetrics() + { + scaler = new HintScaler(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Segment.java b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java index 32032a48fcc..640e82ce2e9 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Segment.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Segment.java @@ -38,10 +38,58 @@ exception statement from your version. */ package gnu.java.awt.font.autofit; +import gnu.java.awt.font.opentype.truetype.Point; + class Segment { + static final int FLAG_EDGE_NORMAL = 0; + static final int FLAG_EDGE_ROUND = 1; + static final int FLAG_EDGE_SERIF = 2; + static final int FLAG_EDGE_DONE = 4; + int dir; + int flags; Segment link; - int index; + Segment serif; + int numLinked; int pos; + Point first; + Point last; + Point contour; + int minPos; + int maxPos; + int score; + int len; + Segment edgeNext; + Edge edge; + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Segment] id: "); + s.append(hashCode()); + s.append(", len:"); + s.append(len); + s.append(", round: "); + s.append(((flags & FLAG_EDGE_ROUND) != 0)); + s.append(", dir: "); + s.append(dir); + s.append(", pos: "); + s.append(pos); + s.append(", minPos: "); + s.append(minPos); + s.append(", maxPos: "); + s.append(maxPos); + s.append(", first: "); + s.append(first); + s.append(", last: "); + s.append(last); + s.append(", contour: "); + s.append(contour); + s.append(", link: "); + s.append(link == null ? "null" : link.hashCode()); + s.append(", serif: "); + s.append(serif == null ? "null" : serif.hashCode()); + return s.toString(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Utils.java b/libjava/classpath/gnu/java/awt/font/autofit/Utils.java new file mode 100644 index 00000000000..4df4705a8d1 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/autofit/Utils.java @@ -0,0 +1,255 @@ +/* Utils.java -- A collection of utility functions for the autofitter + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.autofit; + +import gnu.java.awt.font.opentype.truetype.Fixed; + +/** + * A collection of utility methods used all around the auto fitter. + */ +class Utils + implements Constants +{ + + private static final int ATAN_BITS = 8; + private static final byte[] ATAN = new byte[] + { + 0, 0, 1, 1, 1, 2, 2, 2, + 3, 3, 3, 3, 4, 4, 4, 5, + 5, 5, 6, 6, 6, 7, 7, 7, + 8, 8, 8, 9, 9, 9, 10, 10, + 10, 10, 11, 11, 11, 12, 12, 12, + 13, 13, 13, 14, 14, 14, 14, 15, + 15, 15, 16, 16, 16, 17, 17, 17, + 18, 18, 18, 18, 19, 19, 19, 20, + 20, 20, 21, 21, 21, 21, 22, 22, + 22, 23, 23, 23, 24, 24, 24, 24, + 25, 25, 25, 26, 26, 26, 26, 27, + 27, 27, 28, 28, 28, 28, 29, 29, + 29, 30, 30, 30, 30, 31, 31, 31, + 31, 32, 32, 32, 33, 33, 33, 33, + 34, 34, 34, 34, 35, 35, 35, 35, + 36, 36, 36, 36, 37, 37, 37, 38, + 38, 38, 38, 39, 39, 39, 39, 40, + 40, 40, 40, 41, 41, 41, 41, 42, + 42, 42, 42, 42, 43, 43, 43, 43, + 44, 44, 44, 44, 45, 45, 45, 45, + 46, 46, 46, 46, 46, 47, 47, 47, + 47, 48, 48, 48, 48, 48, 49, 49, + 49, 49, 50, 50, 50, 50, 50, 51, + 51, 51, 51, 51, 52, 52, 52, 52, + 52, 53, 53, 53, 53, 53, 54, 54, + 54, 54, 54, 55, 55, 55, 55, 55, + 56, 56, 56, 56, 56, 57, 57, 57, + 57, 57, 57, 58, 58, 58, 58, 58, + 59, 59, 59, 59, 59, 59, 60, 60, + 60, 60, 60, 61, 61, 61, 61, 61, + 61, 62, 62, 62, 62, 62, 62, 63, + 63, 63, 63, 63, 63, 64, 64, 64 + }; + + private static final int ANGLE_PI = 256; + private static final int ANGLE_PI2 = ANGLE_PI / 2; + private static final int ANGLE_PI4 = ANGLE_PI / 4; + private static final int ANGLE_2PI = ANGLE_PI * 2; + + /** + * Computes the direction constant for the specified vector. The vector is + * given as differential value already. + * + * @param dx the x vector + * @param dy the y vector + * + * @return the direction of that vector, or DIR_NONE, if that vector is not + * approximating against one of the major axises + */ + static int computeDirection(int dx, int dy) + { + int dir = DIR_NONE; + if (dx < 0) + { + if (dy < 0) + { + if (-dx * 12 < -dy) + dir = DIR_UP; + else if (-dy * 12 < -dx) + dir = DIR_LEFT; + } + else // dy >= 0 . + { + if (-dx * 12 < dy) + dir = DIR_DOWN; + else if (dy * 12 < -dx) + dir = DIR_LEFT; + } + } + else // dx >= 0 . + { + if (dy < 0) + { + if (dx * 12 < -dy) + dir = DIR_UP; + else if (-dy * 12 < dx) + dir = DIR_RIGHT; + } + else // dy >= 0 . + { + if (dx * 12 < dy) + dir = DIR_DOWN; + else if (dy * 12 < dx) + dir = DIR_RIGHT; + } + } + return dir; + } + + public static int atan(int dx, int dy) + { + int angle; + // Trivial cases. + if (dy == 0) + { + angle = 0; + if (dx < 0) + angle = ANGLE_PI; + return angle; + } + else if (dx == 0) + { + angle = ANGLE_PI2; + if (dy < 0) + angle = - ANGLE_PI2; + return angle; + } + + + angle = 0; + if (dx < 0) + { + dx = -dx; + dy = -dy; + angle = ANGLE_PI; + } + if (dy < 0) + { + int tmp = dx; + dx = -dy; + dy = tmp; + angle -= ANGLE_PI2; + } + if (dx == 0 && dy == 0) + return 0; + + if (dx == dy) + angle += ANGLE_PI4; + else if (dx > dy) + { + angle += ATAN[Fixed.div(dy, dx) << (ATAN_BITS - 6)]; + } + else + { + angle += ANGLE_PI2 - ATAN[Fixed.div(dx, dy) << (ATAN_BITS - 6)]; + } + + if (angle > ANGLE_PI) + angle -= ANGLE_2PI; + return angle; + } + + public static int angleDiff(int ang1, int ang2) + { + int delta = ang2 - ang1; + delta %= ANGLE_2PI; + if (delta < 0) + delta += ANGLE_2PI; + if (delta > ANGLE_PI) + delta -= ANGLE_2PI; + return delta; + } + + static void sort(int num, int[] array) + { + int swap; + for (int i = 1; i < num; i++) + { + for (int j = i; j > 0; j--) + { + if (array[j] > array[j - 1]) + break; + swap = array[j]; + array[j] = array[j - 1]; + array[j - 1] = swap; + } + } + } + + static void sort(int num, Width[] array) + { + Width swap; + for (int i = 1; i < num; i++) + { + for (int j = 1; j > 0; j--) + { + if (array[j].org > array[j - 1].org) + break; + swap = array[j]; + array[j] = array[j - 1]; + array[j - 1] = swap; + } + } + } + + static int pixRound(int val) + { + return pixFloor(val + 32); + } + + static int pixFloor(int val) + { + return val & ~63; + } + + public static int mulDiv(int a, int b, int c) + { + long prod = a * b; + long div = (prod / c); + return (int) div; + } + +} diff --git a/libjava/classpath/gnu/java/awt/font/autofit/Width.java b/libjava/classpath/gnu/java/awt/font/autofit/Width.java index d4d540069ee..c890cf3de3d 100644 --- a/libjava/classpath/gnu/java/awt/font/autofit/Width.java +++ b/libjava/classpath/gnu/java/awt/font/autofit/Width.java @@ -43,4 +43,20 @@ public class Width int org; int cur; int fit; + Width(int dist) + { + org = dist; + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Width] org: "); + s.append(org); + s.append(", cur: "); + s.append(cur); + s.append(", fit: "); + s.append(fit); + return s.toString(); + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java b/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java new file mode 100644 index 00000000000..9758a2896b7 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/opentype/Hinter.java @@ -0,0 +1,63 @@ +/* Hinter.java -- The interface to a hinting implementation + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.opentype; + +import gnu.java.awt.font.opentype.truetype.Zone; + +/** + * The interface to a hinting implementation. + */ +public interface Hinter +{ + /** + * Initializes the hinter. + * + * @param face the font for which the hinter should be used + */ + void init(OpenTypeFont face); + + /** + * Hints the specified outline. + * + * @param outline the outline to hint + */ + void applyHints(Zone outline); + + void setFlags(int flags); +} diff --git a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java index efc30811f7b..a270ce7d96d 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/OpenTypeFont.java @@ -51,6 +51,7 @@ import java.util.Locale; import gnu.java.awt.font.FontDelegate; import gnu.java.awt.font.GNUGlyphVector; +import gnu.java.awt.font.autofit.AutoHinter; import gnu.java.awt.font.opentype.truetype.TrueTypeScaler; import gnu.java.awt.font.opentype.truetype.Zone; @@ -146,7 +147,8 @@ public final class OpenTypeFont */ private GlyphNamer glyphNamer; - + private Hinter hinter; + /** * Constructs an OpenType or TrueType font. * @@ -579,6 +581,9 @@ public final class OpenTypeFont FontRenderContext frc, CharacterIterator ci) { + // Initialize hinter if necessary. + checkHinter(FontDelegate.FLAG_FITTED); + CharGlyphMap cmap; int numGlyphs; int[] glyphs; @@ -689,13 +694,15 @@ public final class OpenTypeFont float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics) + boolean fractionalMetrics, + int flags) { /* The synchronization is needed because the scaler is not * synchronized. */ + checkHinter(flags); return scaler.getOutline(glyph, pointSize, transform, - antialias, fractionalMetrics); + antialias, fractionalMetrics, hinter, flags); } /** @@ -837,4 +844,29 @@ public final class OpenTypeFont c[3] = (char) (tag & 0xff); return new String(c); } + + /** + * Checks if a hinter is installed and installs one when not. + */ + private void checkHinter(int flags) + { + // When another hinting impl gets added (maybe a true TrueType hinter) + // then add some options here. The Hinter interface might need to be + // tweaked. + if (hinter == null) + { + try + { + hinter = new AutoHinter(); + hinter.init(this); + } + catch (Exception ex) + { + // Protect from problems inside hinter. + hinter = null; + ex.printStackTrace(); + } + } + hinter.setFlags(flags); + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java index 83a31c576c7..c7582b66657 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/Scaler.java @@ -90,7 +90,8 @@ public abstract class Scaler float pointSize, AffineTransform transform, boolean antialias, - boolean fractionalMetrics); + boolean fractionalMetrics, + Hinter hinter, int type); /** diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java index 5d81c5d2e6a..287593e439c 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Fixed.java @@ -48,7 +48,7 @@ package gnu.java.awt.font.opentype.truetype; * * @author Sascha Brawer (brawer@dandelis.ch) */ -final class Fixed +public final class Fixed { public static final int ONE = 1<<6; @@ -69,14 +69,21 @@ final class Fixed return (int) ((((long) a) * b) >> 6); } + public static int mul16(int a, int b) + { + return (int) ((((long) a) * b) >> 16); + } public static int div(int a, int b) { return (int) ((((long) a) << 6) / b); } + public static int div16(int a, int b) + { + return (int) ((((long) a) << 16) / b); + } - public static int ceil(int a) { return (a + 63) & -64; @@ -119,7 +126,10 @@ final class Fixed { return ((float) f) / 64; } - + public static float floatValue16(int f) + { + return ((float) f) / 65536; + } public static double doubleValue(int f) { @@ -138,6 +148,10 @@ final class Fixed return (int) (d * 64); } + public static int valueOf16(double d) + { + return (int) (d * (1 << 16)); + } /** * Makes a string representation of a fixed-point number. diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java index 3733afe92d8..249a87dd403 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/GlyphLoader.java @@ -38,6 +38,8 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.opentype.Hinter; + import java.awt.geom.AffineTransform; import java.nio.ByteBuffer; @@ -112,17 +114,17 @@ final class GlyphLoader double pointSize, AffineTransform transform, boolean antialias, - Zone glyphZone) + Zone glyphZone, Hinter hinter) { glyphZone.setNumPoints(4); loadSubGlyph(glyphIndex, pointSize, transform, antialias, glyphZone, - 0, 0); + 0, 0, hinter); } public void loadGlyph(int glyphIndex, AffineTransform transform, - Zone glyphZone) + Zone glyphZone, Hinter hinter) { - loadGlyph(glyphIndex, unitsPerEm, transform, false, glyphZone); + loadGlyph(glyphIndex, unitsPerEm, transform, false, glyphZone, hinter); } private void loadSubGlyph(int glyphIndex, @@ -131,7 +133,8 @@ final class GlyphLoader boolean antialias, Zone glyphZone, int preTranslateX, - int preTranslateY) + int preTranslateY, + Hinter hinter) { ByteBuffer glyph; int numContours; @@ -159,11 +162,11 @@ final class GlyphLoader if (numContours >= 0) loadSimpleGlyph(glyphIndex, pointSize, transform, antialias, numContours, glyph, glyphZone, - preTranslateX, preTranslateY); + preTranslateX, preTranslateY, hinter); else loadCompoundGlyph(glyphIndex, pointSize, transform, antialias, glyph, glyphZone, - preTranslateX, preTranslateY); + preTranslateX, preTranslateY, hinter); } @@ -172,7 +175,8 @@ final class GlyphLoader boolean antialias, int numContours, ByteBuffer glyph, Zone glyphZone, - int preTranslateX, int preTranslateY) + int preTranslateX, int preTranslateY, + Hinter hinter) { int numPoints; int posInstructions, numInstructions; @@ -203,10 +207,10 @@ final class GlyphLoader glyphZone.transform(pointSize, transform, unitsPerEm, preTranslateX, preTranslateY); - if (execInstructions) - { - // FIXME: Hint the glyph. - } + if (execInstructions && hinter != null) + { + hinter.applyHints(glyphZone); + } } @@ -229,7 +233,8 @@ final class GlyphLoader boolean antialias, ByteBuffer glyph, Zone glyphZone, - int preTranslateX, int preTranslateY) + int preTranslateX, int preTranslateY, + Hinter hinter) { short flags; int subGlyphIndex; @@ -326,7 +331,7 @@ final class GlyphLoader loadSubGlyph(subGlyphIndex, pointSize, componentTransform, antialias, subGlyphZone, Math.round((float) e + preTranslateX), - Math.round(-((float) f + preTranslateY))); + Math.round(-((float) f + preTranslateY)), hinter); glyphZone.combineWithSubGlyph(subGlyphZone, 4); glyph.limit(lim).position(pos); } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java new file mode 100644 index 00000000000..c9664d2dc07 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Point.java @@ -0,0 +1,285 @@ +/* Point.java -- Holds information for one point on a glyph outline + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.font.opentype.truetype; + +/** + * Encapsulates information regarding one point on a glyph outline. + */ +public class Point +{ + public static final short FLAG_TOUCHED_X = 1; + public static final short FLAG_TOUCHED_Y = 2; + public static final short FLAG_ON_CURVE = 4; + public static final short FLAG_CONTOUR_END = 8; + public static final short FLAG_WEAK_INTERPOLATION = 16; + public static final short FLAG_INFLECTION = 32; + public static final short FLAG_DONE_X = 64; + public static final short FLAG_DONE_Y = 128; + + /** + * Right direction. + */ + public static final int DIR_RIGHT = 1; + + /** + * Left direction. + */ + public static final int DIR_LEFT = -1; + + /** + * Up direction. + */ + public static final int DIR_UP = 2; + + /** + * Down direction. + */ + public static final int DIR_DOWN = -2; + + /** + * The original x coordinate in font units. + */ + int origX; + + /** + * The original y coordinate in font units. + */ + int origY; + + /** + * The x coordinate scaled to the target. + */ + int scaledX; + + /** + * The y coordinate scaled to the target. + */ + int scaledY; + + /** + * The final hinted and scaled x coordinate. + */ + int x; + + /** + * The final hinted and scaled y coordinate. + */ + int y; + + int u; + int v; + + /** + * The glyph flags. + */ + short flags; + + /** + * The previous point in the contour. + */ + private Point prev; + + /** + * The next point in the contour. + */ + private Point next; + + /** + * The in-direction of the point, according to the DIR_* constants of this + * class. + */ + int inDir; + + /** + * The out-direction of the point, according to the DIR_* constants of this + * class. + */ + int outDir; + + public Point getNext() + { + return next; + } + + public void setNext(Point next) + { + this.next = next; + } + + public Point getPrev() + { + return prev; + } + + public void setPrev(Point prev) + { + this.prev = prev; + } + + public int getOrigX() + { + return origX; + } + + public void setOrigX(int origX) + { + this.origX = origX; + } + + public int getOrigY() + { + return origY; + } + + public void setOrigY(int origY) + { + this.origY = origY; + } + + public int getInDir() + { + return inDir; + } + + public void setInDir(int inDir) + { + this.inDir = inDir; + } + + public int getOutDir() + { + return outDir; + } + + public void setOutDir(int outDir) + { + this.outDir = outDir; + } + + public short getFlags() + { + return flags; + } + + public void setFlags(short flags) + { + this.flags = flags; + } + + public void addFlags(short flags) + { + this.flags |= flags; + } + + public boolean isControlPoint() + { + return (flags & FLAG_ON_CURVE) == 0; + } + + public int getU() + { + return u; + } + + public void setU(int u) + { + this.u = u; + } + + public int getV() + { + return v; + } + + public void setV(int v) + { + this.v = v; + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[Point] origX: "); + s.append(origX); + s.append(", origY: "); + s.append(origY); + // TODO: Add more info when needed. + return s.toString(); + } + + public int getX() + { + return x; + } + + public void setX(int x) + { + this.x = x; + } + + public int getY() + { + return y; + } + + public void setY(int y) + { + this.y = y; + } + + public int getScaledX() + { + return scaledX; + } + + public void setScaledX(int scaledX) + { + this.scaledX = scaledX; + } + + public int getScaledY() + { + return scaledY; + } + + public void setScaledY(int scaledY) + { + this.scaledY = scaledY; + } +} diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java index 8dfdeff0790..5f5cc0001d9 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java @@ -37,6 +37,7 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.opentype.Hinter; import gnu.java.awt.font.opentype.Scaler; import java.awt.FontFormatException; @@ -191,17 +192,18 @@ public final class TrueTypeScaler float pointSize, AffineTransform deviceTransform, boolean antialias, - boolean fractionalMetrics) + boolean fractionalMetrics, Hinter hinter, + int type) { glyphLoader.loadGlyph(glyphIndex, pointSize, deviceTransform, - antialias, glyphZone); - return glyphZone.getPath(); + antialias, glyphZone, hinter); + return glyphZone.getPath(type); } public Zone getRawOutline(int glyphIndex, AffineTransform transform) { Zone zone = new Zone(glyphZone.getCapacity()); - glyphLoader.loadGlyph(glyphIndex, transform, zone); + glyphLoader.loadGlyph(glyphIndex, transform, zone, null); return zone; } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java index ff5bb631619..7c25a0a6a49 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/Zone.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.awt.font.opentype.truetype; +import gnu.java.awt.font.FontDelegate; + import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import java.awt.geom.PathIterator; @@ -47,27 +49,19 @@ import java.awt.geom.PathIterator; */ public final class Zone { - private final int[] pos; - private final int[] origPos; - private final byte[] flags; + private Point[] points; private int numPoints; - private static final int FLAG_TOUCHED_X = 1; - private static final int FLAG_TOUCHED_Y = 2; - private static final int FLAG_ON_CURVE = 4; - private static final int FLAG_CONTOUR_END = 8; + public double scaleX, scaleY, shearX, shearY; public Zone(int maxNumPoints) { - origPos = new int[maxNumPoints * 2]; - pos = new int[maxNumPoints * 2]; - flags = new byte[maxNumPoints]; + points = new Point[maxNumPoints]; } - public int getCapacity() { - return flags.length; + return points.length; } @@ -79,91 +73,110 @@ public final class Zone public int getX(int point) { - return pos[2 * point]; + return getX(point, FontDelegate.FLAG_FITTED); + } + + public int getX(int point, int flags) + { + int x; + if ((flags & FontDelegate.FLAG_FITTED) != 0) + x = points[point].x; + else + x = points[point].scaledX; + return x; } public void setX(int point, int value, boolean touch) { - pos[2 * point] = value; + points[point].scaledX = value; + points[point].x = value; if (touch) - flags[point] |= FLAG_TOUCHED_X; + points[point].flags |= Point.FLAG_TOUCHED_X; } public void setY(int point, int value, boolean touch) { - pos[2 * point + 1] = value; + points[point].scaledY = value; + points[point].y = value; if (touch) - flags[point] |= FLAG_TOUCHED_Y; + points[point].flags |= Point.FLAG_TOUCHED_Y; } - public int getY(int point) { - return pos[2 * point + 1]; + return getY(point, FontDelegate.FLAG_FITTED); + } + + public int getY(int point, int flags) + { + int y; + if ((flags & FontDelegate.FLAG_FITTED) != 0) + y = points[point].y; + else + y = points[point].scaledY; + return y; } public int getOriginalX(int point) { - return origPos[2 * point]; + return points[point].origX; } public int getOriginalY(int point) { - return origPos[2 * point + 1]; + return points[point].origY; } public void setOriginalX(int point, int x) { - origPos[2 * point] = x; + points[point].origX = x; } public void setOriginalY(int point, int y) { - origPos[2 * point + 1] = y; + points[point].origY = y; } public void setNumPoints(int numPoints) { - this.numPoints = numPoints; for (int i = 0; i < numPoints; i++) - flags[i] = 0; - for (int i = 0; i < 2 * numPoints; i++) - origPos[i] = pos[i] = 0; + points[i] = new Point(); + this.numPoints = numPoints; } public boolean isOnCurve(int point) { - return (flags[point] & FLAG_ON_CURVE) != 0; + return (points[point].flags & Point.FLAG_ON_CURVE) != 0; } public void setOnCurve(int point, boolean onCurve) { if (onCurve) - flags[point] |= FLAG_ON_CURVE; + points[point].flags |= Point.FLAG_ON_CURVE; else - flags[point] &= ~FLAG_ON_CURVE; + points[point].flags &= ~Point.FLAG_ON_CURVE; } public boolean isContourEnd(int point) { - return (flags[point] & FLAG_CONTOUR_END) != 0; + return (points[point].flags & Point.FLAG_CONTOUR_END) != 0; } public void setContourEnd(int point, boolean segEnd) { if (segEnd) - flags[point] |= FLAG_CONTOUR_END; + points[point].flags |= Point.FLAG_CONTOUR_END; else - flags[point] &= ~FLAG_CONTOUR_END; + points[point].flags &= ~Point.FLAG_CONTOUR_END; } @@ -172,7 +185,6 @@ public final class Zone void transform(double pointSize, AffineTransform deviceTransform, int unitsPerEm, int preTranslateX, int preTranslateY) { - double scaleX, scaleY, shearX, shearY; double factor; factor = pointSize / (double) unitsPerEm; @@ -183,11 +195,13 @@ public final class Zone for (int i = 0; i < numPoints; i++) { - int x = origPos[2 * i] + preTranslateX; - int y = origPos[2 * i + 1] + preTranslateY; + int x = points[i].origX + preTranslateX; + int y = points[i].origY + preTranslateY; - origPos[2*i] = pos[2 * i] = Fixed.valueOf(scaleX * x + shearX * y); - origPos[2*i+1] = pos[2 * i + 1] = Fixed.valueOf(shearY * x + scaleY * y); + points[i].scaledX = points[i].x = Fixed.valueOf(scaleX * x + + shearX * y); + points[i].scaledY = points[i].y = Fixed.valueOf(shearY * x + + scaleY * y); } } @@ -197,11 +211,7 @@ public final class Zone { int offset = this.numPoints - numPhantomPoints; int count = zone.numPoints; - System.arraycopy(zone.origPos, 0, this.origPos, 2 * offset, - count * 2); - System.arraycopy(zone.pos, 0, this.pos, 2 * offset, - count * 2); - System.arraycopy(zone.flags, 0, this.flags, offset, count); + System.arraycopy(zone.points, 0, this.points, offset, count); this.numPoints += count - numPhantomPoints; } @@ -211,9 +221,9 @@ public final class Zone for (int i = 0; i < numPoints; i++) { System.out.print(" " + i + ": "); - System.out.print(Fixed.toString(pos[i*2], pos[i*2+1])); + System.out.print(Fixed.toString(points[i].scaledX, points[i].scaledY)); System.out.print(' '); - System.out.print(Fixed.toString(origPos[i*2], origPos[i*2+1])); + System.out.print(Fixed.toString(points[i].origX, points[i].origY)); System.out.print(' '); if (isOnCurve(i)) System.out.print('.'); @@ -228,16 +238,54 @@ public final class Zone } - public PathIterator getPathIterator() + public PathIterator getPathIterator(int type) { - return new ZonePathIterator(this); + return new ZonePathIterator(this, type); } - public GeneralPath getPath() + public GeneralPath getPath(int type) { GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO, numPoints); - p.append(getPathIterator(), /* connect */ false); + p.append(getPathIterator(type), /* connect */ false); return p; } + + /** + * Returns the number of contours in this outline. + * + * @return the number of contours in this outline + */ + public int getNumContours() + { + int num = 0; + for (int i = 0; i < numPoints; i++) + { + if (isContourEnd(i)) + num++; + } + return num; + } + + public int getContourEnd(int n) + { + int idx = -1; + int num = 0; + for (int i = 0; i < numPoints; i++) + { + if (isContourEnd(i)) + { + idx = i; + if (num == n) + break; + num++; + } + } + return idx; + } + + public Point[] getPoints() + { + return points; + } } diff --git a/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java b/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java index d000b9c3e42..0f60828b892 100644 --- a/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java +++ b/libjava/classpath/gnu/java/awt/font/opentype/truetype/ZonePathIterator.java @@ -116,6 +116,7 @@ final class ZonePathIterator private int contourStart; + private int type; /** * Constructs a ZonePathIterator for the specified zone. @@ -123,9 +124,10 @@ final class ZonePathIterator * @param zone the zone whose segments will be enumerated * by this iterator. */ - ZonePathIterator(Zone zone) + ZonePathIterator(Zone zone, int t) { this.zone = zone; + type = t; numPoints = zone.getSize() - /* four phantom points */ 4; // The first segment that needs to be emitted is a SEG_MOVETO. @@ -309,8 +311,8 @@ final class ZonePathIterator int curX, curY; int succ, succX, succY; - curX = zone.getX(cur); - curY = zone.getY(cur); + curX = zone.getX(cur, type); + curY = zone.getY(cur, type); coords[0] = Fixed.floatValue(curX); coords[1] = Fixed.floatValue(curY); @@ -318,8 +320,8 @@ final class ZonePathIterator return PathIterator.SEG_LINETO; succ = getSuccessor(cur); - succX = zone.getX(succ); - succY = zone.getY(succ); + succX = zone.getX(succ, type); + succY = zone.getY(succ, type); if (zone.isOnCurve(succ)) { @@ -359,8 +361,8 @@ final class ZonePathIterator if (zone.isOnCurve(contourStart)) { - x = zone.getX(contourStart); - y = zone.getY(contourStart); + x = zone.getX(contourStart, type); + y = zone.getY(contourStart, type); } else { @@ -374,13 +376,13 @@ final class ZonePathIterator /* An example is the 'o' glyph of the Helvetica which comes * with Apple MacOS X 10.1.5. */ - x = zone.getX(contourEnd); - y = zone.getY(contourEnd); + x = zone.getX(contourEnd, type); + y = zone.getY(contourEnd, type); } else { - x = (zone.getX(contourStart) + zone.getX(contourEnd)) / 2; - y = (zone.getY(contourStart) + zone.getY(contourEnd)) / 2; + x = (zone.getX(contourStart, type) + zone.getX(contourEnd, type)) / 2; + y = (zone.getY(contourStart, type) + zone.getY(contourEnd, type)) / 2; } } diff --git a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java index da21253980f..f6c5ff0cb3b 100644 --- a/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/java2d/AbstractGraphics2D.java @@ -67,8 +67,6 @@ import java.awt.geom.Ellipse2D; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; import java.awt.geom.NoninvertibleTransformException; -import java.awt.geom.PathIterator; -import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; @@ -82,7 +80,6 @@ import java.awt.image.renderable.RenderableImage; import java.text.AttributedCharacterIterator; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; /** @@ -153,6 +150,11 @@ public abstract class AbstractGraphics2D implements Cloneable { + /** + * The default font to use on the graphics object. + */ + private static final Font FONT = new Font("SansSerif", Font.PLAIN, 12); + /** * Accuracy of the sampling in the anti-aliasing shape filler. * Lower values give more speed, while higher values give more quality. @@ -164,7 +166,14 @@ public abstract class AbstractGraphics2D * Caches certain shapes to avoid massive creation of such Shapes in * the various draw* and fill* methods. */ - private static final ThreadLocal shapeCache = new ThreadLocal(); + private static final ThreadLocal shapeCache = + new ThreadLocal(); + + /** + * The scanline converters by thread. + */ + private static final ThreadLocal scanlineConverters = + new ThreadLocal(); /** * The transformation for this Graphics2D instance @@ -176,6 +185,11 @@ public abstract class AbstractGraphics2D */ private Paint paint; + /** + * The paint context during rendering. + */ + private PaintContext paintContext; + /** * The background. */ @@ -239,6 +253,17 @@ public abstract class AbstractGraphics2D */ private boolean isOptimized = true; + private static final BasicStroke STANDARD_STROKE = new BasicStroke(); + + private static final HashMap STANDARD_HINTS; + static { + HashMap hints = new HashMap(); + hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, + RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); + hints.put(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_DEFAULT); + STANDARD_HINTS = hints; + } /** * Creates a new AbstractGraphics2D instance. */ @@ -247,13 +272,8 @@ public abstract class AbstractGraphics2D transform = new AffineTransform(); background = Color.WHITE; composite = AlphaComposite.SrcOver; - stroke = new BasicStroke(); - HashMap hints = new HashMap(); - hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, - RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); - hints.put(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_DEFAULT); - renderingHints = new RenderingHints(hints); + stroke = STANDARD_STROKE; + renderingHints = new RenderingHints(STANDARD_HINTS); } /** @@ -958,15 +978,8 @@ public abstract class AbstractGraphics2D */ public void drawGlyphVector(GlyphVector gv, float x, float y) { - int numGlyphs = gv.getNumGlyphs(); translate(x, y); - // TODO: We could use fill(gv.getOutline()), but that seems to be - // slightly more inefficient. - for (int i = 0; i < numGlyphs; i++) - { - Shape o = gv.getGlyphOutline(i); - fillShape(o, true); - } + fillShape(gv.getOutline(), true); translate(-x, -y); } @@ -1557,21 +1570,14 @@ public abstract class AbstractGraphics2D antialias = (v == RenderingHints.VALUE_ANTIALIAS_ON); } - Rectangle2D userBounds = s.getBounds2D(); - Rectangle2D deviceBounds = new Rectangle2D.Double(); - ArrayList segs = getSegments(s, transform, deviceBounds, false); - Rectangle2D clipBounds = new Rectangle2D.Double(); - ArrayList clipSegs = getSegments(clip, transform, clipBounds, true); - segs.addAll(clipSegs); - Rectangle2D inclClipBounds = new Rectangle2D.Double(); - Rectangle2D.union(clipBounds, deviceBounds, inclClipBounds); - if (segs.size() > 0) + ScanlineConverter sc = getScanlineConverter(); + int resolution = 0; + if (antialias) { - if (antialias) - fillShapeAntialias(segs, deviceBounds, userBounds, inclClipBounds); - else - fillShapeImpl(segs, deviceBounds, userBounds, inclClipBounds); + // Adjust resolution according to rendering hints. + resolution = 2; } + sc.renderShape(this, s, clip, transform, resolution); } /** @@ -1704,141 +1710,6 @@ public abstract class AbstractGraphics2D throw new UnsupportedOperationException("Not implemented yet."); } - /** - * Fills the specified polygon without anti-aliasing. - */ - private void fillShapeImpl(ArrayList segs, Rectangle2D deviceBounds2D, - Rectangle2D userBounds, - Rectangle2D inclClipBounds) - { - // This is an implementation of a polygon scanline conversion algorithm - // described here: - // http://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/scan/ - - // Create table of all edges. - // The edge buckets, sorted and indexed by their Y values. - - double minX = deviceBounds2D.getMinX(); - double minY = deviceBounds2D.getMinY(); - double maxX = deviceBounds2D.getMaxX(); - double maxY = deviceBounds2D.getMaxY(); - double icMinY = inclClipBounds.getMinY(); - double icMaxY = inclClipBounds.getMaxY(); - Rectangle deviceBounds = new Rectangle((int) minX, (int) minY, - (int) Math.ceil(maxX) - (int) minX, - (int) Math.ceil(maxY) - (int) minY); - PaintContext pCtx = paint.createContext(getColorModel(), deviceBounds, - userBounds, transform, renderingHints); - - ArrayList[] edgeTable = new ArrayList[(int) Math.ceil(icMaxY) - - (int) Math.ceil(icMinY) + 1]; - - for (Iterator i = segs.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - int yindex = (int) Math.ceil(edge.y0) - (int) Math.ceil(icMinY); - if (edgeTable[yindex] == null) // Create bucket when needed. - edgeTable[yindex] = new ArrayList(); - edgeTable[yindex].add(edge); // Add edge to the bucket of its line. - } - - // TODO: The following could be useful for a future optimization. -// // Sort all the edges in the edge table within their buckets. -// for (int y = 0; y < edgeTable.length; y++) -// { -// if (edgeTable[y] != null) -// Collections.sort(edgeTable[y]); -// } - - // The activeEdges list contains all the edges of the current scanline - // ordered by their intersection points with this scanline. - ArrayList activeEdges = new ArrayList(); - PolyEdgeComparator comparator = new PolyEdgeComparator(); - - // Scan all relevant lines. - int minYInt = (int) Math.ceil(icMinY); - - Rectangle devClip = getDeviceBounds(); - int scanlineMax = (int) Math.min(maxY, devClip.getMaxY()); - for (int y = minYInt; y < scanlineMax; y++) - { - ArrayList bucket = edgeTable[y - minYInt]; - // Update all the x intersections in the current activeEdges table - // and remove entries that are no longer in the scanline. - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (y > edge.y1) - i.remove(); - else - { - edge.xIntersection += edge.slope; - //edge.xIntersection = edge.x0 + edge.slope * (y - edge.y0); - //System.err.println("edge.xIntersection: " + edge.xIntersection); - } - } - - if (bucket != null) - activeEdges.addAll(bucket); - - // Sort current edges. We are using a bubble sort, because the order - // of the intersections will not change in most situations. They - // will only change, when edges intersect each other. - int size = activeEdges.size(); - if (size > 1) - { - for (int i = 1; i < size; i++) - { - PolyEdge e1 = (PolyEdge) activeEdges.get(i - 1); - PolyEdge e2 = (PolyEdge) activeEdges.get(i); - if (comparator.compare(e1, e2) > 0) - { - // Swap e2 with its left neighbor until it 'fits'. - int j = i; - do - { - activeEdges.set(j, e1); - activeEdges.set(j - 1, e2); - j--; - if (j >= 1) - e1 = (PolyEdge) activeEdges.get(j - 1); - } while (j >= 1 && comparator.compare(e1, e2) > 0); - } - } - } - - // Now draw all pixels inside the polygon. - // This is the last edge that intersected the scanline. - PolyEdge previous = null; // Gets initialized below. - boolean insideShape = false; - boolean insideClip = false; - //System.err.println("scanline: " + y); - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (edge.y1 <= y) - continue; - - // Draw scanline when we are inside the shape AND inside the - // clip. - if (insideClip && insideShape) - { - int x0 = (int) previous.xIntersection; - int x1 = (int) edge.xIntersection; - if (x0 < x1) - fillScanline(pCtx, x0, x1, y); - } - // Update state. - previous = edge; - if (edge.isClip) - insideClip = ! insideClip; - else - insideShape = ! insideShape; - } - } - pCtx.dispose(); - } - /** * Paints a scanline between x0 and x1. Override this when your backend * can efficiently draw/fill horizontal lines. @@ -1847,8 +1718,9 @@ public abstract class AbstractGraphics2D * @param x1 the right offset * @param y the scanline */ - protected void fillScanline(PaintContext pCtx, int x0, int x1, int y) + protected void fillScanline(int x0, int x1, int y) { + PaintContext pCtx = paintContext; Raster paintRaster = pCtx.getRaster(x0, y, x1 - x0, 1); ColorModel paintColorModel = pCtx.getColorModel(); CompositeContext cCtx = composite.createContext(paintColorModel, @@ -1860,198 +1732,6 @@ public abstract class AbstractGraphics2D cCtx.dispose(); } - /** - * Fills arbitrary shapes in an anti-aliased fashion. - * - * @param segs the line segments which define the shape which is to be filled - */ - private void fillShapeAntialias(ArrayList segs, Rectangle2D deviceBounds2D, - Rectangle2D userBounds, - Rectangle2D inclClipBounds) - { - // This is an implementation of a polygon scanline conversion algorithm - // described here: - // http://www.cs.berkeley.edu/~ug/slide/pipeline/assignments/scan/ - // The antialiasing is implemented using a sampling technique, we do - // not scan whole lines but fractions of the line. - - double minX = deviceBounds2D.getMinX(); - double minY = deviceBounds2D.getMinY(); - double maxX = deviceBounds2D.getMaxX(); - double maxY = deviceBounds2D.getMaxY(); - double icMinY = inclClipBounds.getMinY(); - double icMaxY = inclClipBounds.getMaxY(); - double icMinX = inclClipBounds.getMinX(); - double icMaxX = inclClipBounds.getMaxX(); - Rectangle deviceBounds = new Rectangle((int) minX, (int) minY, - (int) Math.ceil(maxX) - (int) minX, - (int) Math.ceil(maxY) - (int) minY); - PaintContext pCtx = paint.createContext(ColorModel.getRGBdefault(), - deviceBounds, - userBounds, transform, - renderingHints); - - // This array will contain the oversampled transparency values for - // each pixel in the scanline. - int numScanlines = (int) Math.ceil(icMaxY) - (int) icMinY; - int numScanlinePixels = (int) Math.ceil(icMaxX) - (int) icMinX + 1; - if (alpha == null || alpha.length < (numScanlinePixels + 1)) - alpha = new int[numScanlinePixels + 1]; - - int firstLine = (int) icMinY; - //System.err.println("minY: " + minY); - int firstSubline = (int) (Math.ceil((icMinY - Math.floor(icMinY)) * AA_SAMPLING)); - double firstLineDouble = firstLine + firstSubline / (double) AA_SAMPLING; - //System.err.println("firstSubline: " + firstSubline); - - // Create table of all edges. - // The edge buckets, sorted and indexed by their Y values. - //System.err.println("numScanlines: " + numScanlines); - if (edgeTable == null - || edgeTable.length < numScanlines * AA_SAMPLING + AA_SAMPLING) - edgeTable = new ArrayList[numScanlines * AA_SAMPLING + AA_SAMPLING]; - - //System.err.println("firstLineDouble: " + firstLineDouble); - - for (Iterator i = segs.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - int yindex = (int) (Math.ceil((edge.y0 - firstLineDouble) * AA_SAMPLING)); - //System.err.println("yindex: " + yindex + " for y0: " + edge.y0); - // Initialize edge's slope and initial xIntersection. - edge.slope = ((edge.x1 - edge.x0) / (edge.y1 - edge.y0)) / AA_SAMPLING; - if (edge.y0 == edge.y1) // Horizontal edge. - edge.xIntersection = Math.min(edge.x0, edge.x1); - else - { - double alignedFirst = Math.ceil(edge.y0 * AA_SAMPLING) / AA_SAMPLING; - edge.xIntersection = edge.x0 + (edge.slope * AA_SAMPLING) * (alignedFirst - edge.y0); - } - //System.err.println(edge); - // FIXME: Sanity check should not be needed when clipping works. - if (yindex >= 0 && yindex < edgeTable.length) - { - if (edgeTable[yindex] == null) // Create bucket when needed. - edgeTable[yindex] = new ArrayList(); - edgeTable[yindex].add(edge); // Add edge to the bucket of its line. - } - } - - // The activeEdges list contains all the edges of the current scanline - // ordered by their intersection points with this scanline. - ArrayList activeEdges = new ArrayList(); - PolyEdgeComparator comparator = new PolyEdgeComparator(); - - // Scan all lines. - int yindex = 0; - //System.err.println("firstLine: " + firstLine + ", maxY: " + maxY + ", firstSubline: " + firstSubline); - for (int y = firstLine; y <= icMaxY; y++) - { - int leftX = (int) icMaxX; - int rightX = (int) icMinX; - boolean emptyScanline = true; - for (int subY = firstSubline; subY < AA_SAMPLING; subY++) - { - //System.err.println("scanline: " + y + ", subScanline: " + subY); - ArrayList bucket = edgeTable[yindex]; - // Update all the x intersections in the current activeEdges table - // and remove entries that are no longer in the scanline. - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - // TODO: Do the following using integer arithmetics. - if ((y + ((double) subY / (double) AA_SAMPLING)) > edge.y1) - i.remove(); - else - { - edge.xIntersection += edge.slope; - //System.err.println("edge: " + edge); - //edge.xIntersection = edge.x0 + edge.slope * (y - edge.y0); - //System.err.println("edge.xIntersection: " + edge.xIntersection); - } - } - - if (bucket != null) - { - activeEdges.addAll(bucket); - edgeTable[yindex].clear(); - } - - // Sort current edges. We are using a bubble sort, because the order - // of the intersections will not change in most situations. They - // will only change, when edges intersect each other. - int size = activeEdges.size(); - if (size > 1) - { - for (int i = 1; i < size; i++) - { - PolyEdge e1 = (PolyEdge) activeEdges.get(i - 1); - PolyEdge e2 = (PolyEdge) activeEdges.get(i); - if (comparator.compare(e1, e2) > 0) - { - // Swap e2 with its left neighbor until it 'fits'. - int j = i; - do - { - activeEdges.set(j, e1); - activeEdges.set(j - 1, e2); - j--; - if (j >= 1) - e1 = (PolyEdge) activeEdges.get(j - 1); - } while (j >= 1 && comparator.compare(e1, e2) > 0); - } - } - } - - // Now draw all pixels inside the polygon. - // This is the last edge that intersected the scanline. - PolyEdge previous = null; // Gets initialized below. - boolean insideClip = false; - boolean insideShape = false; - //System.err.println("scanline: " + y + ", subscanline: " + subY); - for (Iterator i = activeEdges.iterator(); i.hasNext();) - { - PolyEdge edge = (PolyEdge) i.next(); - if (edge.y1 <= (y + (subY / (double) AA_SAMPLING))) - continue; - - if (insideClip && insideShape) - { - // TODO: Use integer arithmetics here. - if (edge.y1 > (y + (subY / (double) AA_SAMPLING))) - { - //System.err.println(edge); - // TODO: Eliminate the aligments. - int x0 = (int) Math.min(Math.max(previous.xIntersection, minX), maxX); - int x1 = (int) Math.min(Math.max(edge.xIntersection, minX), maxX); - //System.err.println("minX: " + minX + ", x0: " + x0 + ", x1: " + x1 + ", maxX: " + maxX); - // TODO: Pull out cast. - int left = x0 - (int) minX; - int right = x1 - (int) minX + 1; - alpha[left]++; - alpha[right]--; - leftX = Math.min(x0, leftX); - rightX = Math.max(x1+2, rightX); - emptyScanline = false; - } - } - previous = edge; - if (edge.isClip) - insideClip = ! insideClip; - else - insideShape = ! insideShape; - } - yindex++; - } - firstSubline = 0; - // Render full scanline. - //System.err.println("scanline: " + y); - if (! emptyScanline) - fillScanlineAA(alpha, leftX, y, rightX - leftX, pCtx, (int) minX); - } - - pCtx.dispose(); - } /** * Fills a horizontal line between x0 and x1 for anti aliased rendering. @@ -2113,7 +1793,6 @@ public abstract class AbstractGraphics2D cCtx.dispose(); } - /** * Initializes this graphics object. This must be called by subclasses in * order to correctly initialize the state of this object. @@ -2121,13 +1800,8 @@ public abstract class AbstractGraphics2D protected void init() { setPaint(Color.BLACK); - setFont(new Font("SansSerif", Font.PLAIN, 12)); + setFont(FONT); isOptimized = true; - - // FIXME: Should not be necessary. A clip of null should mean - // 'clip against device bounds. - destinationRaster = getDestinationRaster(); - clip = getDeviceBounds(); } /** @@ -2266,80 +1940,6 @@ public abstract class AbstractGraphics2D p.transform(t); } - /** - * Converts the specified shape into a list of segments. - * - * @param s the shape to convert - * @param t the transformation to apply before converting - * @param deviceBounds an output parameter; holds the bounding rectangle of - * s in device space after return - * @param isClip true when the shape is a clip, false for normal shapes; - * this influences the settings in the created PolyEdge instances. - * - * @return a list of PolyEdge that form the shape in device space - */ - private ArrayList getSegments(Shape s, AffineTransform t, - Rectangle2D deviceBounds, boolean isClip) - { - // Flatten the path. TODO: Determine the best flattening factor - // wrt to speed and quality. - PathIterator path = s.getPathIterator(getTransform(), 1.0); - - // Build up polygons and let the native backend render this using - // rawFillShape() which would provide a default implementation for - // drawPixel using a PolyScan algorithm. - double[] seg = new double[6]; - - // TODO: Use ArrayList here when availble. - ArrayList segs = new ArrayList(); - double segX = 0.; // The start point of the current edge. - double segY = 0.; - double polyX = 0.; // The start point of the current polygon. - double polyY = 0.; - - double minX = Integer.MAX_VALUE; - double maxX = Integer.MIN_VALUE; - double minY = Integer.MAX_VALUE; - double maxY = Integer.MIN_VALUE; - - //System.err.println("fill polygon"); - while (! path.isDone()) - { - int segType = path.currentSegment(seg); - minX = Math.min(minX, seg[0]); - maxX = Math.max(maxX, seg[0]); - minY = Math.min(minY, seg[1]); - maxY = Math.max(maxY, seg[1]); - - //System.err.println("segment: " + segType + ", " + seg[0] + ", " + seg[1]); - if (segType == PathIterator.SEG_MOVETO) - { - segX = seg[0]; - segY = seg[1]; - polyX = seg[0]; - polyY = seg[1]; - } - else if (segType == PathIterator.SEG_CLOSE) - { - // Close the polyline. - PolyEdge edge = new PolyEdge(segX, segY, - polyX, polyY, isClip); - segs.add(edge); - } - else if (segType == PathIterator.SEG_LINETO) - { - PolyEdge edge = new PolyEdge(segX, segY, - seg[0], seg[1], isClip); - segs.add(edge); - segX = seg[0]; - segY = seg[1]; - } - path.next(); - } - deviceBounds.setRect(minX, minY, maxX - minX, maxY - minY); - return segs; - } - /** * Returns the ShapeCache for the calling thread. * @@ -2347,7 +1947,7 @@ public abstract class AbstractGraphics2D */ private ShapeCache getShapeCache() { - ShapeCache sc = (ShapeCache) shapeCache.get(); + ShapeCache sc = shapeCache.get(); if (sc == null) { sc = new ShapeCache(); @@ -2355,4 +1955,20 @@ public abstract class AbstractGraphics2D } return sc; } + + /** + * Returns the scanline converter for this thread. + * + * @return the scanline converter for this thread + */ + private ScanlineConverter getScanlineConverter() + { + ScanlineConverter sc = scanlineConverters.get(); + if (sc == null) + { + sc = new ScanlineConverter(); + scanlineConverters.set(sc); + } + return sc; + } } diff --git a/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java b/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java new file mode 100644 index 00000000000..4d1e777ccf5 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/ActiveEdges.java @@ -0,0 +1,195 @@ +/* ActiveEdges.java -- A collection of active edges for scanline conversion + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.java2d; + +/** + * A collection of active edges for scanline conversion. + */ +final class ActiveEdges +{ + + /** + * The active edges. This can contain null values at arbirary locations. + * The method #sort() packs this together. + */ + private PolyEdge[] activeEdges; + + /** + * The actual number of active edges. The array can be bigger than this + * number. + */ + private int numActiveEdges; + + /** + * Creates a new ActiveEdges object. + */ + ActiveEdges() + { + activeEdges = new PolyEdge[8]; + numActiveEdges = 0; + } + + /** + * Clears out all active edges. This is cheap as it simply resets the + * counter to 0. It does not release all references to PolyEdge instances. + */ + void clear() + { + numActiveEdges = 0; + } + + /** + * Adds the specified edge to the list of active edges. This does not yet + * sort the edges and therefore does destroy any order of the list. + * + * @param edge the edge to add + */ + void add(PolyEdge edge) + { + // Grow array when necessary. + int oldSize = activeEdges.length; + if (numActiveEdges >= oldSize) + { + int newSize = oldSize + oldSize / 4 + 1; + PolyEdge[] newEdges = new PolyEdge[newSize]; + System.arraycopy(activeEdges, 0, newEdges, 0, oldSize); + activeEdges = newEdges; + } + activeEdges[numActiveEdges] = edge; + numActiveEdges++; + } + + /** + * Intersects all active edges, sorts them according to their intersection + * points and packs the array to remove unneeded edges. This does also + * remove any edges that do not intersect the scanline (i.e. they end above + * of the scanline). + * + * @param y the scanline height + */ + void intersectSortAndPack(int n, int y) + { + // Intersect and pack in one go. + int last = 0; + PolyEdge tmp; + for (int i = 0; i < numActiveEdges; i++) + { + PolyEdge edge = activeEdges[i]; + // Clear out edge that ends above the scanline. + if (edge != null && edge.y1 >= y) + { + assert edge.y1 >= y && edge.y0 <= y : "edge must cross scanline"; + edge.intersect(n, y); + activeEdges[last] = edge; + last++; + + // Bubble up the added edge. + for (int j = last - 1; j > 0; j--) + { + if (activeEdges[j].xIntersection + < activeEdges[j - 1].xIntersection) + { + tmp = activeEdges[j]; + activeEdges[j] = activeEdges[j - 1]; + activeEdges[j - 1] = tmp; + } + else + { + // The beginning of the list is already sorted. + break; + } + } + } + } + numActiveEdges = last; + + } + + /** + * Returns the number of active edges. This is only reliable after a + * call to {@link #intersectSortAndPack(int, int)}. + * + * @return the number of active edges + */ + int getNumActiveEdges() + { + return numActiveEdges; + } + + /** + * Returns the active edge at the position i. + * + * @param i the index + * + * @return the active edge at the specified index + */ + PolyEdge getActiveEdge(int i) + { + return activeEdges[i]; + } + + /** + * Removes all edges that end above the specified height. + * + * @param y the cut-off height + */ + void remove(int y) + { + for (int i = 0; i < numActiveEdges; i++) + { + PolyEdge edge = activeEdges[i]; + if (edge != null && edge.y1 < y) + { + activeEdges[i] = null; + } + } + } + + public String toString() + { + StringBuilder s = new StringBuilder(); + s.append("[ActiveEdges] "); + for (int i = 0; i < numActiveEdges; i++) + { + s.append(activeEdges[i]); + s.append(','); + } + return s.toString(); + } +} diff --git a/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java b/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java index 6c3b546881a..eb0cc7f8f3e 100644 --- a/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java +++ b/libjava/classpath/gnu/java/awt/java2d/PolyEdge.java @@ -38,37 +38,62 @@ exception statement from your version. */ package gnu.java.awt.java2d; +import gnu.java.math.Fixed; + /** - * An edge in a polygon. This is used by the scanline conversion algorithm - * implemented in {@link AbstractGraphics2D#rawFillShape}. + * An edge in a polygon. * * @author Roman Kennke (kennke@aicas.com) */ -public class PolyEdge +final class PolyEdge implements Comparable { /** * The start and end coordinates of the edge. y0 is always smaller or equal * than y1. + * + * These values are stored as fixed-point decimals. */ - public double x0, y0, x1, y1; + public int x0, y0, x1, y1; /** * The slope of the edge. This is dx / dy. + * + * This is a fixed point decimal. */ - double slope; + private int slope; /** * The intersection of this edge with the current scanline. + * + * This is a fixed point decimal. */ - double xIntersection; + int xIntersection; /** * Indicates whether this edge is from the clip or from the target shape. */ boolean isClip; + /** + * Implements a linked list for the edge pool. + */ + PolyEdge poolNext; + + /** + * Implements a linked list for the scanline edge lists. + */ + PolyEdge scanlineNext; + + /** + * Create an uninitialized edge. + */ + PolyEdge() + { + // Nothing to do here. + } + /** * Creates a new PolyEdge with the specified coordinates. * @@ -77,7 +102,20 @@ public class PolyEdge * @param x1 the end point, x coordinate * @param y1 the end point, y coordinate */ - PolyEdge(double x0, double y0, double x1, double y1, boolean clip) + PolyEdge(int n, int x0, int y0, int x1, int y1, boolean clip) + { + init(n, x0, y0, x1, y1, clip); + } + + /** + * (Re-) Initializes this edge. + * + * @param x0 + * @param y0 + * @param x1 + * @param y1 + */ + void init(int n, int x0, int y0, int x1, int y1, boolean clip) { isClip = clip; if (y0 < y1) @@ -94,11 +132,7 @@ public class PolyEdge this.x1 = x0; this.y1 = y0; } - slope = (this.x1 - this.x0) / (this.y1 - this.y0); - if (this.y0 == this.y1) // Horizontal edge. - xIntersection = Math.min(this.x0, this.x1); - else - xIntersection = this.x0 + slope * (Math.ceil(this.y0) - this.y0); + slope = Fixed.div(n, this.x1 - this.x0, this.y1 - this.y0); } /** @@ -115,6 +149,19 @@ public class PolyEdge return comp; } + /** + * Intersects this edge with the scanline at height y. The result is + * stored in {@link #xIntersection}. + * + * @param y the scanline + */ + void intersect(int n, int y) + { + int dy = y - y0; + int dx = Fixed.mul(n, slope, dy); + xIntersection = x0 + dx; + } + public String toString() { return "Edge: " + x0 + ", " + y0 + ", " + x1 + ", " + y1 + ", slope: " diff --git a/libjava/classpath/gnu/java/awt/java2d/Scanline.java b/libjava/classpath/gnu/java/awt/java2d/Scanline.java new file mode 100644 index 00000000000..24c3d34d5c3 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/Scanline.java @@ -0,0 +1,91 @@ +/* Scanline.java -- A scanline for the scanline converter + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.java2d; + +/** + * Represents a scanline in the {@link ScanlineConverter}. This is basically + * a sorted list of {@link PolyEdge}s that is made for maximum reuse. + */ +class Scanline +{ + + /** + * The actual edges array. The fields can be null. + */ + private PolyEdge edges; + + /** + * Clears this scanline. This only resets the number of edges to 0. The + * actual PolyEdge objects are preserved for possible later reuse. + */ + void clear() + { + edges = null; + } + + /** + * Create a new Scanline. + */ + Scanline() + { + // Nothing to do. + } + + /** + * Inserts an edge into this scanline. This is performed in a sorted fashion, + * and so that it reuses as much existing resources as possible. + */ + void addEdge(PolyEdge edge) + { + + // Allocate PolyEdge when necessary or reuse an old one. + edge.scanlineNext = edges; + edges = edge; + } + + /** + * Returns the edges queue. + * + * @return the edges queue + */ + PolyEdge getEdges() + { + return edges; + } +} diff --git a/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java b/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java new file mode 100644 index 00000000000..9f9d8921f59 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/java2d/ScanlineConverter.java @@ -0,0 +1,404 @@ +/* ScanlineConverter.java -- Rasterizes Shapes + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.awt.java2d; + +import gnu.java.math.Fixed; + +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.PathIterator; + +/** + * Rasterizes {@link Shape} objects on an AbstractGraphics2D. + */ +final class ScanlineConverter +{ + + /** + * The number of digits to use for fixed point arithmetics. + */ + private static int FIXED_DIGITS = 6; + + /** + * The fixed value for the number 1. + */ + private static int ONE = Fixed.fixedValue(FIXED_DIGITS, 1); + + /** + * The actual number of scanlines. + */ + private int numScanlines; + + /** + * The number of scanlines. This can contain more elements than we have + * scanlines. The real number of scanlines is stored in + * {@link #numScanlines}. This can also contain null values for empty + * scanlines. + */ + private Scanline[] scanlines; + + /** + * The upper bounds which correspond to the index 0 in the scanline array. + * + * This is a fixed point value. + */ + private int upperBounds; + + /** + * The resolution of the scanline converter. + * + * This is a fixed point value. + */ + private int resolution; + + /** + * One half step according to the resolution. This is stored to avoid + * unnecessary operations during rendering. + */ + private int halfStep; + + /** + * This is used in {@link #addShape(PathIterator, boolean)} to + * receive the coordinates of the path. + */ + private float[] coords; + + /** + * The active edges. + */ + private ActiveEdges activeEdges; + + private PolyEdge edgePool; + private PolyEdge edgePoolLast; + + private int minY; + private int maxY; + + /** + * Create a new ScanlineConverter. + */ + ScanlineConverter() + { + scanlines = new Scanline[10]; + coords = new float[6]; + activeEdges = new ActiveEdges(); + edgePool = new PolyEdge(); + edgePoolLast = edgePool; + } + + /** + * Renders the specified shape using the specified clip and transform. + * + * @param shape the shape to render + * @param clip the clip + * @param trans the transform + */ + void renderShape(AbstractGraphics2D g, Shape shape, Shape clip, + AffineTransform trans, int res) + { + // Prepare resolution and upper bounds. + clear(); + setResolution(res); + + boolean haveClip = clip != null; + + // Add shapes. + PathIterator path = shape.getPathIterator(trans, resolution); + addShape(path, false); + if (haveClip) + { + path= clip.getPathIterator(trans, resolution); + addShape(path, true); + } + + setUpperBounds(minY); + + PolyEdge edge = edgePool; + while (edge != edgePoolLast) + { + addEdge(edge); + edge = edge.poolNext; + } + + int y = upperBounds; + int lastIndex = scanlineIndex(y - resolution); + int index; + activeEdges.clear(); + // The render loop... + Scanline scanline = null; + while (y <= maxY) + { + // First we put together our list of active edges. + index = scanlineIndex(y); + // If we go outside the scanline array we still need to render the + // remaining edges until they end. + scanline = index < scanlines.length ? scanlines[index] : null; + if (scanline != null) + { + edge = scanline.getEdges(); + while (edge != null) + { + activeEdges.add(edge); + edge = edge.scanlineNext; + } + } + + // Then we intersect all active edges with the current scanline + // and sort them according to their intersection points. + activeEdges.intersectSortAndPack(FIXED_DIGITS, y + halfStep); + + // Ok, now we can perform the actual scanlining. + boolean push = lastIndex != index; + doScanline(g, y, push, haveClip); + + // Remove obsolete active edges. + //activeEdges.remove(y + halfStep); + + // Go on with the next line... + y += resolution; + lastIndex = index; + } + } + + /** + * Clears all scanlines. + */ + private void clear() + { + // Reset edge pool. + edgePoolLast = edgePool; + + // Reset scanlines. + for (int i = scanlines.length - 1; i >= 0 ; i--) + { + Scanline sl = scanlines[i]; + if (sl != null) + sl.clear(); + } + + // Reset bounds. + minY = Integer.MAX_VALUE; + maxY = Integer.MIN_VALUE; + } + + /** + * Performs the scanlining on the current set of active edges. + */ + private void doScanline(AbstractGraphics2D g, int y, boolean push, + boolean haveClip) + { + // We begin outside the clip and outside the shape. We only draw when + // we are inside the clip AND inside the shape. + boolean inClip = ! haveClip; + boolean inShape = false; + PolyEdge lastEdge = null; + int numEdges = activeEdges.getNumActiveEdges(); + for (int i = 0; i < numEdges; i++) + { + PolyEdge edge = activeEdges.getActiveEdge(i); + if (inClip && inShape) + { + assert lastEdge != null; + int x0 = lastEdge.xIntersection; + int x1 = edge.xIntersection; + assert x0 <= x1; + if (push) + { + if (resolution == ONE) + { + // Non-AA rendering. + g.fillScanline(Fixed.intValue(FIXED_DIGITS, x0), + Fixed.intValue(FIXED_DIGITS, x1 - resolution), + Fixed.intValue(FIXED_DIGITS, y)); + } + else + { + // AA rendering. + // FIXME: Implement. + System.err.println("Implement AA rendering."); + } + } + } + if (edge.isClip) + inClip = ! inClip; + else + inShape = ! inShape; + + lastEdge = edge; + } + } + + /** + * Sets the resolution. A value of 0 rasterizes the shape normally without + * anti-aliasing. Greater values renders with a resolution of 2 ^ res. + * + * @param res the resolution + */ + private void setResolution(int res) + { + int one = Fixed.fixedValue(FIXED_DIGITS, 1); + resolution = one / (1 << res); + halfStep = resolution / 2; + } + + /** + * Sets the vertical bounds of that shape that is beeing rendered. + * + * @param y0 the upper bounds + */ + private void setUpperBounds(int y0) + { + upperBounds = fit(y0); + } + + /** + * Add a shape to the scanline converter. + * + * @param path + * @param clip + */ + private void addShape(PathIterator path, boolean clip) + { + int startX = 0; + int startY = 0; + int lastX = 0; + int lastY = 0; + while (! path.isDone()) + { + int type = path.currentSegment(coords); + switch (type) + { + case PathIterator.SEG_MOVETO: + startX = lastX = Fixed.fixedValue(FIXED_DIGITS, coords[0]); + startY = lastY = Fixed.fixedValue(FIXED_DIGITS, coords[1]); + minY = Math.min(startY, minY); + maxY = Math.max(startY, maxY); + break; + case PathIterator.SEG_LINETO: + int x = Fixed.fixedValue(FIXED_DIGITS, coords[0]); + int y = Fixed.fixedValue(FIXED_DIGITS, coords[1]); + edgePoolAdd(lastX, lastY, x, y, clip); + lastX = x; + lastY = y; + minY = Math.min(lastY, minY); + maxY = Math.max(lastY, maxY); + break; + case PathIterator.SEG_CLOSE: + edgePoolAdd(lastX, lastY, startX, startY, clip); + lastX = startX; + lastY = startY; + break; + case PathIterator.SEG_CUBICTO: + case PathIterator.SEG_QUADTO: + default: + assert false; + } + path.next(); + } + } + + /** + * Adds an edge into the scanline array. + */ + private void addEdge(PolyEdge edge) + { + // Determine index. + int upper = Math.min(edge.y0, edge.y1); + // Fit to raster. + int index = scanlineIndex(upper); + // Grow array when necessary. + if (index >= scanlines.length) + { + int oldSize = scanlines.length; + int newSize = Math.max(oldSize + oldSize / 2 + 1, index + 10); + Scanline[] newScanlines = new Scanline[newSize]; + System.arraycopy(scanlines, 0, newScanlines, 0, oldSize); + scanlines = newScanlines; + } + + // Add edge. + if (scanlines[index] == null) + { + scanlines[index] = new Scanline(); + } + scanlines[index].addEdge(edge); + } + + /** + * Fits an Y coordinate to the grid. + * + * @param y the Y coordinate to fit + * + * @return the fitted Y coordinate + */ + private int fit(int y) + { + int val1 = Fixed.div(FIXED_DIGITS, y, resolution); + int rounded = Fixed.round(FIXED_DIGITS, val1); + return Fixed.div(FIXED_DIGITS, rounded, resolution); + } + + /** + * Calculates the scanline index for the specified y coordinate. + * + * @param y the y coordinate as fixed point value + * + * @return the scanline index + */ + private int scanlineIndex(int y) + { + int fitted = fit(y); + // Cleverly skip the fixed point conversions here. + return (fitted - upperBounds)/ resolution; + } + + private void edgePoolAdd(int x0, int y0, int x1, int y1, boolean clip) + { + // Don't need no horizontal edges. + if (y0 != y1) + { + edgePoolLast.init(FIXED_DIGITS, x0, y0, x1, y1, clip); + if (edgePoolLast.poolNext == null) + { + edgePoolLast.poolNext = new PolyEdge(); + } + edgePoolLast = edgePoolLast.poolNext; + } + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java new file mode 100644 index 00000000000..bef42dcea34 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/ClasspathDesktopPeer.java @@ -0,0 +1,301 @@ +/* ClasspathDesktopPeer.java -- Offers a concrete implementation for DesktopPeer + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +package gnu.java.awt.peer; + +import java.awt.AWTPermission; +import java.awt.Desktop.Action; +import java.awt.peer.DesktopPeer; + +import java.io.File; +import java.io.IOException; + +import java.net.URI; + +import java.util.prefs.Preferences; + +/** + * Offers a common implementation for the Desktop peers, that enables + * access to default system application within java processes. + * + * @author Mario Torre + */ +public class ClasspathDesktopPeer + implements DesktopPeer +{ + /** This is the fallback browser, if no desktop was detected. */ + protected static final String _DEFAULT_BROWSER = "firefox"; + + /** gnu.java.awt.peer.Desktop.html.command */ + protected static final String _BROWSE = "html"; + + /** gnu.java.awt.peer.Desktop.mail.command */ + protected static final String _MAIL = "mail"; + + /** gnu.java.awt.peer.Desktop.edit.command */ + protected static final String _EDIT = "edit"; + + /** gnu.java.awt.peer.Desktop.print.command */ + protected static final String _PRINT = "print"; + + /** gnu.java.awt.peer.Desktop.open.command */ + protected static final String _OPEN = "open"; + + /** */ + protected static final KDEDesktopPeer kde = new KDEDesktopPeer(); + + /** */ + protected static final GnomeDesktopPeer gnome = new GnomeDesktopPeer(); + + /** */ + protected static final ClasspathDesktopPeer classpath = + new ClasspathDesktopPeer(); + + /** + * Preference subsystem. Packagers and users can override the default + * behaviour of this class via preferences and system properties. + */ + protected Preferences prefs = + Preferences.userNodeForPackage(ClasspathDesktopPeer.class).node("Desktop"); + + /** + * @param target + */ + protected ClasspathDesktopPeer() + { + /* nothing to do */ + } + + public boolean isSupported(Action action) + { + String check = null; + + switch(action) + { + case BROWSE: + check = _BROWSE; + break; + + case MAIL: + check = _MAIL; + break; + + case EDIT: + check = _EDIT; + break; + + case PRINT: + check = _PRINT; + break; + + case OPEN: default: + check = _OPEN; + break; + } + + return this.supportCommand(check); + } + + public void browse(URI url) throws IOException + { + checkPermissions(); + + String browser = getCommand(_BROWSE); + + if (browser == null) + throw new UnsupportedOperationException(); + + browser = browser + " " + url.toString(); + + Runtime.getRuntime().exec(browser); + } + + public void edit(File file) throws IOException + { + checkPermissions(file, false); + + String edit = getCommand(_EDIT); + + if (edit == null) + throw new UnsupportedOperationException(); + + edit = edit + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(edit); + } + + public void mail(URI mailtoURL) throws IOException + { + checkPermissions(); + + String scheme = mailtoURL.getScheme(); + if (scheme == null || !scheme.equalsIgnoreCase("mailto")) + throw new IllegalArgumentException("URI Scheme not of type mailto"); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + mail = mail + " " + mailtoURL.toString(); + + Runtime.getRuntime().exec(mail); + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail); + } + + public void open(File file) throws IOException + { + checkPermissions(file, true); + + String open = getCommand(_OPEN); + + if (open == null) + throw new UnsupportedOperationException(); + + open = open + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(open); + } + + public void print(File file) throws IOException + { + checkPrintPermissions(file); + + String print = getCommand(_PRINT); + + if (print == null) + throw new UnsupportedOperationException(); + + print = print + " " + file.getAbsolutePath(); + Runtime.getRuntime().exec(print); + } + + protected String getCommand(String action) + { + // check if a system property exist + String command = + System.getProperty("gnu.java.awt.peer.Desktop." + action + ".command"); + + // otherwise, get it from preferences, if any + if (command == null) + { + command = prefs.node(action).get("command", null); + } + + return command; + } + + /** + * Note: Checks for AWTPermission("showWindowWithoutWarningBanner") only. + */ + protected void checkPermissions() + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new AWTPermission("showWindowWithoutWarningBanner")); + } + } + + /** + * Calls checkPermissions() and checks for SecurityManager.checkRead() + * and, if readOnly is false, for SecurityManager.checkWrite() + */ + protected void checkPermissions(File file, boolean readOnly) + { + checkPermissions(); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkRead(file.toString()); + if (!readOnly) sm.checkWrite(file.toString()); + } + } + + /** + * Calls checkPermissions(file, true) and checks for + * SecurityManager.checkPrintJobAccess() + */ + protected void checkPrintPermissions(File file) + { + checkPermissions(file, true); + + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPrintJobAccess(); + } + } + + /** + * @param check + * @return + */ + protected boolean supportCommand(String check) + { + return ((this.getCommand(check) != null) ? true : false); + } + + /** + * @return + */ + public static DesktopPeer getDesktop() + { + // check if we are under Gnome or KDE or anything else + String desktopSession = System.getenv("GNOME_DESKTOP_SESSION_ID"); + if (desktopSession == null) + { + desktopSession = System.getenv("KDE_FULL_SESSION"); + if (desktopSession != null) + return kde; + } + else + { + return gnome; + } + + // revert to this class for default values + return classpath; + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java index 2176f34a5f1..60fde2557ac 100644 --- a/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java @@ -54,6 +54,7 @@ import java.awt.peer.FontPeer; import java.text.AttributedCharacterIterator; import java.text.CharacterIterator; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; @@ -120,6 +121,23 @@ public abstract class ClasspathFontPeer */ protected AffineTransform transform; + static class LRUCache extends LinkedHashMap + { + int max_entries; + public LRUCache(int max) + { + super(max, 0.75f, true); + max_entries = max; + } + protected boolean removeEldestEntry(Map.Entry eldest) + { + return size() > max_entries; + } + } + + private static LRUCache transCache = + new LRUCache(50); + protected static ClasspathToolkit tk() { return (ClasspathToolkit)(Toolkit.getDefaultToolkit ()); @@ -200,7 +218,19 @@ public abstract class ClasspathFontPeer protected static void copyTransformToAttrs (AffineTransform trans, Map attrs) { if (trans != null) - attrs.put(TextAttribute.TRANSFORM, new TransformAttribute (trans)); + { + TransformAttribute ta; + synchronized(transCache) + { + ta = transCache.get(trans); + if (ta == null) + { + ta = new TransformAttribute(trans); + transCache.put(trans, ta); + } + } + attrs.put(TextAttribute.TRANSFORM, ta); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java new file mode 100644 index 00000000000..be216318140 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/GnomeDesktopPeer.java @@ -0,0 +1,153 @@ +/* GnomeDesktopPeer.java -- Offers a GNOME Desktop peer for DesktopPeer + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +package gnu.java.awt.peer; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +/** + * @author Mario Torre + */ +public class GnomeDesktopPeer + extends ClasspathDesktopPeer +{ + /** + * Query string to use if a GNOME desktop is detected to get the name of the + * default browser. This requires gconftool-2 (part of GNOME). + */ + private static final String BROWSER_QUERY_GNOME = + "gconftool-2 -g /desktop/gnome/url-handlers/http/command"; + + protected String getCommand(String action) + { + // check if a command already exists + String command = super.getCommand(action); + + if (command == null) + { + try + { + if (action == _BROWSE) + { + command = execQuery(BROWSER_QUERY_GNOME); + } + else if (action == _PRINT) + { + command = null; + } + else + { + command = "gnome-open"; + } + } + catch (Exception e) + { + command = null; + } + } + + return command; + } + + public void browse(URI url) throws IOException + { + checkPermissions(); + + String browser = getCommand(_BROWSE); + + if (browser == null) + throw new UnsupportedOperationException(); + + browser = browser + " " + url.toString(); + + Runtime.getRuntime().exec(browser); + } + + protected boolean supportCommand(String check) + { + if (check == _PRINT) + { + return super.supportCommand(check); + } + + return true; + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail + " mailto:"); + } + + protected String execQuery(String command) throws IOException + { + InputStream in = null; + StringBuilder output = new StringBuilder(); + + try + { + Process process = Runtime.getRuntime().exec(command); + + // Get the input stream and read from it + in = process.getInputStream(); + int c; + while ((c = in.read()) != - 1) + { + output.append((char) c); + } + } + finally + { + if (in != null) + in.close(); + } + + // remove %s from the string, leave only the command line + int index = output.indexOf("%s"); + output.delete(index, index + 1); + + return output.toString().trim(); + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java b/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java new file mode 100644 index 00000000000..676bd891758 --- /dev/null +++ b/libjava/classpath/gnu/java/awt/peer/KDEDesktopPeer.java @@ -0,0 +1,135 @@ +/* GnomeDesktopPeer.java -- Offers a KDE Desktop peer for DesktopPeer + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +package gnu.java.awt.peer; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; + +/** + * @author Mario Torre + */ +public class KDEDesktopPeer + extends ClasspathDesktopPeer +{ + /** + * Query string to use if a GNOME desktop is detected to get the name of the + * default browser. This requires gconftool-2 (part of GNOME). + */ + private static final String BROWSER_QUERY_GNOME = + "gconftool-2 -g /desktop/gnome/url-handlers/http/command"; + + protected String getCommand(String action) + { + // check if a command already exists + String command = super.getCommand(action); + + if (command == null) + { + try + { + if (action == _MAIL) + { + command = "kfmclient exec"; + } + else if (action == _PRINT) + { + command = "kprinter"; + } + else + { + command = "kfmclient openURL"; + } + } + catch (Exception e) + { + command = null; + } + } + + return command; + } + + protected boolean supportCommand(String check) + { + return true; + } + + public void mail() throws IOException + { + checkPermissions(); + + String mail = getCommand(_MAIL); + + if (mail == null) + throw new UnsupportedOperationException(); + + Runtime.getRuntime().exec(mail + " 'mailto: '"); + } + + protected String execQuery(String command) throws IOException + { + InputStream in = null; + StringBuilder output = new StringBuilder(); + + try + { + Process process = Runtime.getRuntime().exec(command); + + // Get the input stream and read from it + in = process.getInputStream(); + int c; + while ((c = in.read()) != - 1) + { + output.append((char) c); + } + } + finally + { + if (in != null) + in.close(); + } + + // remove %s from the string, leave only the command line + int index = output.indexOf("%s"); + output.delete(index, index + 1); + + return output.toString().trim(); + } +} diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java index 5238bfe7410..dad537aa748 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/AsyncImage.java @@ -61,11 +61,11 @@ public class AsyncImage private class NullImageSource implements ImageProducer { - private ArrayList consumers; + private ArrayList consumers; NullImageSource() { - consumers = new ArrayList(); + consumers = new ArrayList(); } public void addConsumer(ImageConsumer ic) @@ -145,14 +145,14 @@ public class AsyncImage * * This is package private to avoid accessor methods. */ - HashSet observers; + HashSet observers; /** * Creates a new AsyncImage that loads from the specified URL. */ AsyncImage(URL url) { - observers = new HashSet(); + observers = new HashSet(); Loader l = new Loader(url); Thread t = new Thread(l); t.start(); @@ -221,7 +221,7 @@ public class AsyncImage { // This field gets null when image loading is complete and we don't // need to store any more observers. - HashSet observs = observers; + HashSet observs = observers; if (observs != null) { observs.add(obs); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java index c792645d3e8..31c5e641ec8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/BufferedImageGraphics.java @@ -40,6 +40,7 @@ package gnu.java.awt.peer.gtk; import java.awt.AlphaComposite; import java.awt.Color; +import java.awt.Composite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -49,7 +50,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -74,12 +74,6 @@ public class BufferedImageGraphics extends CairoGraphics2D */ private BufferedImage image, buffer; - /** - * Allows us to lock the image from updates (if we want to perform a few - * intermediary operations on the cairo surface, then update it all at once) - */ - private boolean locked; - /** * Image size. */ @@ -93,7 +87,8 @@ public class BufferedImageGraphics extends CairoGraphics2D /** * Cache BufferedImageGraphics surfaces. */ - static WeakHashMap bufferedImages = new WeakHashMap(); + static WeakHashMap bufferedImages + = new WeakHashMap(); /** * Its corresponding cairo_t. @@ -109,30 +104,30 @@ public class BufferedImageGraphics extends CairoGraphics2D this.image = bi; imageWidth = bi.getWidth(); imageHeight = bi.getHeight(); - locked = false; if (!(image.getSampleModel() instanceof SinglePixelPackedSampleModel)) hasFastCM = false; else if(bi.getColorModel().equals(CairoSurface.cairoCM_opaque)) { - hasFastCM = true; - hasAlpha = false; + hasFastCM = true; + hasAlpha = false; } - else if(bi.getColorModel().equals(CairoSurface.cairoColorModel)) + else if(bi.getColorModel().equals(CairoSurface.cairoColorModel) + || bi.getColorModel().equals(CairoSurface.cairoCM_pre)) { - hasFastCM = true; - hasAlpha = true; + hasFastCM = true; + hasAlpha = true; } else hasFastCM = false; // Cache surfaces. if( bufferedImages.get( bi ) != null ) - surface = (CairoSurface)bufferedImages.get( bi ); + surface = bufferedImages.get( bi ); else { - surface = new CairoSurface( imageWidth, imageHeight ); - bufferedImages.put(bi, surface); + surface = new CairoSurface( imageWidth, imageHeight ); + bufferedImages.put(bi, surface); } cairo_t = surface.newCairoContext(); @@ -148,10 +143,7 @@ public class BufferedImageGraphics extends CairoGraphics2D int minY = image.getRaster().getSampleModelTranslateY(); // Pull pixels directly out of data buffer - if(raster instanceof CairoSurface) - pixels = ((CairoSurface)raster).getPixels(raster.getWidth() * raster.getHeight()); - else - pixels = ((DataBufferInt)raster.getDataBuffer()).getData(); + pixels = ((DataBufferInt)raster.getDataBuffer()).getData(); // Discard pixels that fall outside of the image's bounds // (ie, this image is actually a subimage of a different image) @@ -161,7 +153,8 @@ public class BufferedImageGraphics extends CairoGraphics2D int scanline = sm.getScanlineStride(); for (int i = 0; i < imageHeight; i++) - System.arraycopy(pixels, (i - minY) * scanline - minX, pixels2, i * imageWidth, imageWidth); + System.arraycopy(pixels, (i - minY) * scanline - minX, pixels2, + i * imageWidth, imageWidth); pixels = pixels2; } @@ -173,11 +166,13 @@ public class BufferedImageGraphics extends CairoGraphics2D } else { - pixels = CairoGraphics2D.findSimpleIntegerArray(image.getColorModel(),image.getData()); + pixels = CairoGraphics2D.findSimpleIntegerArray(image.getColorModel(), + image.getData()); + if (pixels != null) + System.arraycopy(pixels, 0, surface.getData(), + 0, pixels.length); } - surface.setPixels( pixels ); - setup( cairo_t ); setClip(0, 0, imageWidth, imageHeight); } @@ -189,7 +184,6 @@ public class BufferedImageGraphics extends CairoGraphics2D cairo_t = surface.newCairoContext(); imageWidth = copyFrom.imageWidth; imageHeight = copyFrom.imageHeight; - locked = false; hasFastCM = copyFrom.hasFastCM; hasAlpha = copyFrom.hasAlpha; @@ -202,17 +196,14 @@ public class BufferedImageGraphics extends CairoGraphics2D */ private void updateBufferedImage(int x, int y, int width, int height) { - if (locked) - return; - - double[] points = new double[]{x, y, width+x, height+y}; - transform.transform(points, 0, points, 0, 2); - x = (int)points[0]; - y = (int)points[1]; - width = (int)Math.ceil(points[2] - points[0]); - height = (int)Math.ceil(points[3] - points[1]); + Rectangle bounds = new Rectangle(x, y, width, height); + bounds = getTransformedBounds(bounds, transform).getBounds(); + x = bounds.x; + y = bounds.y; + width = bounds.width; + height = bounds.height; - int[] pixels = surface.getPixels(imageWidth * imageHeight); + int[] pixels = surface.getData(); if( x > imageWidth || y > imageHeight ) return; @@ -403,14 +394,10 @@ public class BufferedImageGraphics extends CairoGraphics2D BufferedImage bImg = (BufferedImage) img; // Find translated bounds - Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); - Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), - bImg.getHeight() + bImg.getMinY()); + Rectangle2D bounds = new Rectangle(bImg.getMinX(), bImg.getMinY(), + bImg.getWidth(), bImg.getHeight()); if (xform != null) - { - origin = xform.transform(origin, origin); - pt = xform.transform(pt, pt); - } + bounds = getTransformedBounds(bounds, xform); // Create buffer and draw image createBuffer(); @@ -420,10 +407,7 @@ public class BufferedImageGraphics extends CairoGraphics2D g2d.drawImage(img, xform, obs); // Perform compositing - return drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), - obs); + return drawComposite(bounds, obs); } } @@ -438,6 +422,11 @@ public class BufferedImageGraphics extends CairoGraphics2D if (comp == null || comp instanceof AlphaComposite) { super.drawGlyphVector(gv, x, y); + + // this returns an integer-based Rectangle (rather than a + // Rectangle2D), which takes care of any necessary rounding for us. + bounds = bounds.getBounds(); + updateBufferedImage((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); } @@ -468,12 +457,7 @@ public class BufferedImageGraphics extends CairoGraphics2D private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) { // Find bounds in device space - double[] points = new double[] {bounds.getX(), bounds.getY(), - bounds.getMaxX(), bounds.getMaxY()}; - transform.transform(points, 0, points, 0, 2); - bounds = new Rectangle2D.Double(points[0], points[1], - (points[2] - points[0]), - (points[3] - points[1])); + bounds = getTransformedBounds(bounds, transform); // Clip bounds by the stored clip, and by the internal buffer Rectangle2D devClip = this.getClipInDevSpace(); @@ -482,17 +466,15 @@ public class BufferedImageGraphics extends CairoGraphics2D buffer.getWidth(), buffer.getHeight()); Rectangle2D.intersect(bounds, devClip, bounds); - // Round bounds as needed, but be conservative in our rounding + // Round bounds as needed, but be careful in our rounding // (otherwise it may leave unpainted stripes) double x = bounds.getX(); double y = bounds.getY(); - double w = bounds.getWidth(); - double h = bounds.getHeight(); - if (Math.floor(x) != x) - w--; - if (Math.floor(y) != y) - h--; - bounds.setRect(Math.ceil(x), Math.ceil(y), Math.floor(w), Math.floor(h)); + double maxX = x + bounds.getWidth(); + double maxY = y + bounds.getHeight(); + x = Math.round(x); + y = Math.round(y); + bounds.setRect(x, y, Math.round(maxX - x), Math.round(maxY - y)); // Find subimage of internal buffer for updating BufferedImage buffer2 = buffer; @@ -511,9 +493,10 @@ public class BufferedImageGraphics extends CairoGraphics2D compCtx.compose(buffer2.getRaster(), current.getRaster(), current.getRaster()); - // Prevent the clearRect in CairoGraphics2D.drawImage from clearing - // our composited image - locked = true; + // Set cairo's composite to direct SRC, since we've already done our own + // compositing + Composite oldcomp = comp; + setComposite(AlphaComposite.Src); // This MUST call directly into the "action" method in CairoGraphics2D, // not one of the wrappers, to ensure that the composite isn't processed @@ -521,8 +504,9 @@ public class BufferedImageGraphics extends CairoGraphics2D boolean rv = super.drawImage(current, AffineTransform.getTranslateInstance(bounds.getX(), bounds.getY()), - new Color(0,0,0,0), null); - locked = false; + null, null); + setComposite(oldcomp); + updateColor(); return rv; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java index 4a6ad008259..3a386075a69 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoGraphics2D.java @@ -172,6 +172,12 @@ public abstract class CairoGraphics2D extends Graphics2D * Rendering hint map. */ private RenderingHints hints; + + /** + * Status of the anti-alias flag in cairo. + */ + private boolean antialias = false; + private boolean ignoreAA = false; /** * Some operations (drawing rather than filling) require that their @@ -228,6 +234,7 @@ public abstract class CairoGraphics2D extends Graphics2D setPaint(Color.black); setStroke(new BasicStroke()); setTransform(new AffineTransform()); + cairoSetAntialias(nativePointer, antialias); } /** @@ -244,7 +251,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (g.fg.getAlpha() != -1) foreground = new Color(g.fg.getRed(), g.fg.getGreen(), g.fg.getBlue(), - g.fg.getAlpha()); + g.fg.getAlpha()); else foreground = new Color(g.fg.getRGB()); @@ -274,6 +281,9 @@ public abstract class CairoGraphics2D extends Graphics2D setTransformImpl(transform); setClip(clip); setComposite(comp); + + antialias = !g.antialias; + setAntialias(g.antialias); } /** @@ -311,8 +321,8 @@ public abstract class CairoGraphics2D extends Graphics2D public abstract GraphicsConfiguration getDeviceConfiguration(); - protected abstract void copyAreaImpl(int x, int y, - int width, int height, int dx, int dy); + protected abstract void copyAreaImpl(int x, int y, int width, int height, + int dx, int dy); /** @@ -345,8 +355,8 @@ public abstract class CairoGraphics2D extends Graphics2D int g2, int b2, int a2, boolean cyclic); protected native void setPaintPixels(long pointer, int[] pixels, int w, - int h, int stride, boolean repeat, - int x, int y); + int h, int stride, boolean repeat, + int x, int y); /** * Set the current transform matrix @@ -390,9 +400,9 @@ public abstract class CairoGraphics2D extends Graphics2D /* * Draws a Glyph Vector */ - native void cairoDrawGlyphVector(long pointer, GdkFontPeer font, + protected native void cairoDrawGlyphVector(long pointer, GdkFontPeer font, float x, float y, int n, - int[] codes, float[] positions); + int[] codes, float[] positions, long[] fontset); /** * Set the font in cairo. @@ -454,9 +464,15 @@ public abstract class CairoGraphics2D extends Graphics2D protected native void cairoClip(long pointer); /** - * Save clip + * Clear clip */ protected native void cairoResetClip(long pointer); + + /** + * Set antialias. + */ + protected native void cairoSetAntialias(long pointer, boolean aa); + ///////////////////////// TRANSFORMS /////////////////////////////////// /** @@ -648,33 +664,35 @@ public abstract class CairoGraphics2D extends Graphics2D setColor((Color) paint); customPaint = false; } + else if (paint instanceof TexturePaint) { - TexturePaint tp = (TexturePaint) paint; - BufferedImage img = tp.getImage(); + TexturePaint tp = (TexturePaint) paint; + BufferedImage img = tp.getImage(); - // map the image to the anchor rectangle - int width = (int) tp.getAnchorRect().getWidth(); - int height = (int) tp.getAnchorRect().getHeight(); + // map the image to the anchor rectangle + int width = (int) tp.getAnchorRect().getWidth(); + int height = (int) tp.getAnchorRect().getHeight(); - double scaleX = width / (double) img.getWidth(); - double scaleY = height / (double) img.getHeight(); + double scaleX = width / (double) img.getWidth(); + double scaleY = height / (double) img.getHeight(); - AffineTransform at = new AffineTransform(scaleX, 0, 0, scaleY, 0, 0); - AffineTransformOp op = new AffineTransformOp(at, getRenderingHints()); - BufferedImage texture = op.filter(img, null); - int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width); - setPaintPixels(nativePointer, pixels, width, height, width, true, 0, 0); + AffineTransform at = new AffineTransform(scaleX, 0, 0, scaleY, 0, 0); + AffineTransformOp op = new AffineTransformOp(at, getRenderingHints()); + BufferedImage texture = op.filter(img, null); + int[] pixels = texture.getRGB(0, 0, width, height, null, 0, width); + setPaintPixels(nativePointer, pixels, width, height, width, true, 0, 0); customPaint = false; } + else if (paint instanceof GradientPaint) { - GradientPaint gp = (GradientPaint) paint; - Point2D p1 = gp.getPoint1(); - Point2D p2 = gp.getPoint2(); - Color c1 = gp.getColor1(); - Color c2 = gp.getColor2(); - setGradient(nativePointer, p1.getX(), p1.getY(), p2.getX(), p2.getY(), + GradientPaint gp = (GradientPaint) paint; + Point2D p1 = gp.getPoint1(); + Point2D p2 = gp.getPoint2(); + Color c1 = gp.getColor1(); + Color c2 = gp.getColor2(); + setGradient(nativePointer, p1.getX(), p1.getY(), p2.getX(), p2.getY(), c1.getRed(), c1.getGreen(), c1.getBlue(), c1.getAlpha(), c2.getRed(), c2.getGreen(), c2.getBlue(), c2.getAlpha(), gp.isCyclic()); @@ -703,15 +721,11 @@ public abstract class CairoGraphics2D extends Graphics2D int userHeight = bounds.height; // Find bounds in device space - Point2D origin = transform.transform(new Point2D.Double(userX, userY), - null); - Point2D extreme = transform.transform(new Point2D.Double(userWidth + userX, - userHeight + userY), - null); - int deviceX = (int)origin.getX(); - int deviceY = (int)origin.getY(); - int deviceWidth = (int)Math.ceil(extreme.getX() - origin.getX()); - int deviceHeight = (int)Math.ceil(extreme.getY() - origin.getY()); + Rectangle2D bounds2D = getTransformedBounds(bounds, transform); + int deviceX = (int)bounds2D.getX(); + int deviceY = (int)bounds2D.getY(); + int deviceWidth = (int)Math.ceil(bounds2D.getWidth()); + int deviceHeight = (int)Math.ceil(bounds2D.getHeight()); // Get raster of the paint background PaintContext pc = paint.createContext(CairoSurface.cairoColorModel, @@ -792,21 +806,22 @@ public abstract class CairoGraphics2D extends Graphics2D stroke = st; if (stroke instanceof BasicStroke) { - BasicStroke bs = (BasicStroke) stroke; - cairoSetLine(nativePointer, bs.getLineWidth(), bs.getEndCap(), - bs.getLineJoin(), bs.getMiterLimit()); + BasicStroke bs = (BasicStroke) stroke; + cairoSetLine(nativePointer, bs.getLineWidth(), bs.getEndCap(), + bs.getLineJoin(), bs.getMiterLimit()); - float[] dashes = bs.getDashArray(); - if (dashes != null) - { - double[] double_dashes = new double[dashes.length]; - for (int i = 0; i < dashes.length; i++) - double_dashes[i] = dashes[i]; - cairoSetDash(nativePointer, double_dashes, double_dashes.length, - (double) bs.getDashPhase()); - } - else - cairoSetDash(nativePointer, new double[0], 0, 0.0); + float[] dashes = bs.getDashArray(); + if (dashes != null) + { + double[] double_dashes = new double[dashes.length]; + for (int i = 0; i < dashes.length; i++) + double_dashes[i] = dashes[i]; + + cairoSetDash(nativePointer, double_dashes, double_dashes.length, + (double) bs.getDashPhase()); + } + else + cairoSetDash(nativePointer, new double[0], 0, 0.0); } } @@ -864,6 +879,7 @@ public abstract class CairoGraphics2D extends Graphics2D { if (fg == null) fg = Color.BLACK; + cairoSetRGBAColor(nativePointer, fg.getRed() / 255.0, fg.getGreen() / 255.0,fg.getBlue() / 255.0, fg.getAlpha() / 255.0); @@ -916,18 +932,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (transform == null) return uclip; else - { - Point2D pos = transform.transform(new Point2D.Double(uclip.getX(), - uclip.getY()), - (Point2D) null); - Point2D extent = transform.deltaTransform(new Point2D.Double(uclip - .getWidth(), - uclip - .getHeight()), - (Point2D) null); - return new Rectangle2D.Double(pos.getX(), pos.getY(), extent.getX(), - extent.getY()); - } + return getTransformedBounds(clip.getBounds2D(), transform); } public void setClip(int x, int y, int width, int height) @@ -946,8 +951,8 @@ public abstract class CairoGraphics2D extends Graphics2D // initial clip properly. if( firstClip ) { - originalClip = s; - firstClip = false; + originalClip = s; + firstClip = false; } clip = s; @@ -1007,7 +1012,7 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) { - AlphaComposite a = (AlphaComposite) comp; + AlphaComposite a = (AlphaComposite) comp; cairoSetOperator(nativePointer, a.getRule()); } @@ -1066,7 +1071,9 @@ public abstract class CairoGraphics2D extends Graphics2D Rectangle r = findStrokedBounds(s); setCustomPaint(r); } - + + setAntialias(!hints.get(RenderingHints.KEY_ANTIALIASING) + .equals(RenderingHints.VALUE_ANTIALIAS_OFF)); createPath(s, true); cairoStroke(nativePointer); } @@ -1077,7 +1084,9 @@ public abstract class CairoGraphics2D extends Graphics2D if (customPaint) setCustomPaint(s.getBounds()); - + + setAntialias(!hints.get(RenderingHints.KEY_ANTIALIASING) + .equals(RenderingHints.VALUE_ANTIALIAS_OFF)); double alpha = 1.0; if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); @@ -1263,13 +1272,15 @@ public abstract class CairoGraphics2D extends Graphics2D public void copyArea(int ox, int oy, int owidth, int oheight, int odx, int ody) { + // FIXME: does this handle a rotation transform properly? + // (the width/height might not be correct) Point2D pos = transform.transform(new Point2D.Double(ox, oy), - (Point2D) null); + (Point2D) null); Point2D dim = transform.transform(new Point2D.Double(ox + owidth, - oy + oheight), - (Point2D) null); + oy + oheight), + (Point2D) null); Point2D p2 = transform.transform(new Point2D.Double(ox + odx, oy + ody), - (Point2D) null); + (Point2D) null); int x = (int)pos.getX(); int y = (int)pos.getY(); int width = (int)(dim.getX() - pos.getX()); @@ -1291,14 +1302,14 @@ public abstract class CairoGraphics2D extends Graphics2D // Clip edges if necessary if( x + dx < r.getX() ) // left { - width = x + dx + width; - x = (int)r.getX() - dx; + width = x + dx + width; + x = (int)r.getX() - dx; } if( y + dy < r.getY() ) // top { - height = y + dy + height; - y = (int)r.getY() - dy; + height = y + dy + height; + y = (int)r.getY() - dy; } if( x + dx + width >= r.getWidth() ) // right @@ -1325,10 +1336,10 @@ public abstract class CairoGraphics2D extends Graphics2D return hints.get(hintKey); } - public void setRenderingHints(Map hints) + public void setRenderingHints(Map hints) { this.hints = new RenderingHints(getDefaultHints()); - this.hints.add(new RenderingHints(hints)); + this.hints.putAll(hints); shiftDrawCalls = hints.containsValue(RenderingHints.VALUE_STROKE_NORMALIZE) || hints.containsValue(RenderingHints.VALUE_STROKE_DEFAULT); @@ -1342,7 +1353,7 @@ public abstract class CairoGraphics2D extends Graphics2D public void addRenderingHints(Map hints) { - this.hints.add(new RenderingHints(hints)); + this.hints.putAll(hints); } public RenderingHints getRenderingHints() @@ -1373,6 +1384,24 @@ public abstract class CairoGraphics2D extends Graphics2D // Do bilinear interpolation as default return INTERPOLATION_BILINEAR; } + + /** + * Set antialias if needed. If the ignoreAA flag is set, this method will + * return without doing anything. + * + * @param needAA RenderingHints.VALUE_ANTIALIAS_ON or RenderingHints.VALUE_ANTIALIAS_OFF + */ + private void setAntialias(boolean needAA) + { + if (ignoreAA) + return; + + if (needAA != antialias) + { + antialias = !antialias; + cairoSetAntialias(nativePointer, antialias); + } + } ///////////////////////// IMAGE. METHODS /////////////////////////////////// @@ -1396,12 +1425,12 @@ public abstract class CairoGraphics2D extends Graphics2D try { - invertedXform = xform.createInverse(); + invertedXform = xform.createInverse(); } catch (NoninvertibleTransformException e) { - throw new ImagingOpException("Unable to invert transform " - + xform.toString()); + throw new ImagingOpException("Unable to invert transform " + + xform.toString()); } // Unrecognized image - convert to a BufferedImage @@ -1411,10 +1440,10 @@ public abstract class CairoGraphics2D extends Graphics2D img = AsyncImage.realImage(img, obs); if( !(img instanceof BufferedImage) ) { - ImageProducer source = img.getSource(); - if (source == null) - return false; - img = Toolkit.getDefaultToolkit().createImage(source); + ImageProducer source = img.getSource(); + if (source == null) + return false; + img = Toolkit.getDefaultToolkit().createImage(source); } BufferedImage b = (BufferedImage) img; @@ -1427,7 +1456,7 @@ public abstract class CairoGraphics2D extends Graphics2D // use the cached CairoSurface that BIG is drawing onto if( BufferedImageGraphics.bufferedImages.get( b ) != null ) - raster = (Raster)BufferedImageGraphics.bufferedImages.get( b ); + raster = BufferedImageGraphics.bufferedImages.get( b ); else raster = b.getRaster(); @@ -1437,12 +1466,12 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); - if(raster instanceof CairoSurface) + if(raster instanceof CairoSurface + && ((CairoSurface)raster).sharedBuffer == true) { - ((CairoSurface)raster).drawSurface(nativePointer, i2u, alpha, - getInterpolation()); + drawCairoSurface((CairoSurface)raster, xform, alpha, getInterpolation()); updateColor(); - return true; + return true; } if( bgcolor != null ) @@ -1450,24 +1479,31 @@ public abstract class CairoGraphics2D extends Graphics2D Color oldColor = bg; setBackground(bgcolor); - double[] origin = new double[] {0,0}; - double[] dimensions = new double[] {width, height}; - xform.transform(origin, 0, origin, 0, 1); - xform.deltaTransform(dimensions, 0, dimensions, 0, 1); - clearRect((int)origin[0], (int)origin[1], - (int)dimensions[0], (int)dimensions[1]); + Rectangle2D bounds = new Rectangle2D.Double(0, 0, width, height); + bounds = getTransformedBounds(bounds, xform); + + clearRect((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), (int)bounds.getHeight()); setBackground(oldColor); } int[] pixels = b.getRGB(0, 0, width, height, null, 0, width); - // FIXME: The above method returns data in the standard ARGB colorspace, // meaning data should NOT be alpha pre-multiplied; however Cairo expects // data to be premultiplied. + + cairoSave(nativePointer); + Rectangle2D bounds = new Rectangle2D.Double(0, 0, width, height); + bounds = getTransformedBounds(bounds, xform); + cairoRectangle(nativePointer, bounds.getX(), bounds.getY(), + bounds.getWidth(), bounds.getHeight()); + cairoClip(nativePointer); drawPixels(nativePointer, pixels, width, height, width, i2u, alpha, getInterpolation()); + + cairoRestore(nativePointer); // Cairo seems to lose the current color which must be restored. updateColor(); @@ -1578,6 +1614,66 @@ public abstract class CairoGraphics2D extends Graphics2D { return drawImage(img, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, null, observer); } + + /** + * Optimized method for drawing a CairoSurface onto this graphics context. + * + * @param surface The surface to draw. + * @param tx The transformation matrix (cannot be null). + * @param alpha The alpha value to paint with ( 0 <= alpha <= 1). + * @param interpolation The interpolation type. + */ + protected void drawCairoSurface(CairoSurface surface, AffineTransform tx, + double alpha, int interpolation) + { + // Find offset required if this surface is a sub-raster, and append offset + // to transformation. + if (surface.getSampleModelTranslateX() != 0 + || surface.getSampleModelTranslateY() != 0) + { + Point2D origin = new Point2D.Double(0, 0); + Point2D offset = new Point2D.Double(surface.getSampleModelTranslateX(), + surface.getSampleModelTranslateY()); + + tx.transform(origin, origin); + tx.transform(offset, offset); + + tx.translate(offset.getX() - origin.getX(), + offset.getY() - origin.getY()); + } + + // Find dimensions of this surface relative to the root parent surface + Rectangle bounds = new Rectangle(-surface.getSampleModelTranslateX(), + -surface.getSampleModelTranslateY(), + surface.width, surface.height); + + // Clip to the translated image + // We use direct cairo methods to avoid the overhead of maintaining a + // java copy of the clip, since we will be reverting it immediately + // after drawing + Shape newBounds = tx.createTransformedShape(bounds); + cairoSave(nativePointer); + walkPath(newBounds.getPathIterator(null), false); + cairoClip(nativePointer); + + // Draw the surface + try + { + double[] i2u = new double[6]; + tx.createInverse().getMatrix(i2u); + surface.nativeDrawSurface(surface.surfacePointer, nativePointer, i2u, + alpha, interpolation); + } + catch (NoninvertibleTransformException ex) + { + // This should never happen(?), so we don't need to do anything here. + ; + } + + // Restore clip + cairoRestore(nativePointer); + } + ///////////////////////// TEXT METHODS //////////////////////////////////// @@ -1592,7 +1688,15 @@ public abstract class CairoGraphics2D extends Graphics2D tl = new TextLayout( str, getFont(), getFontRenderContext() ); fontPeer.textLayoutCache.put(str, tl); } + + // Set antialias to text_antialiasing, and set the ignoreAA flag so that + // the setting doesn't get overridden in a draw() or fill() call. + setAntialias(!hints.get(RenderingHints.KEY_TEXT_ANTIALIASING) + .equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); + ignoreAA = true; + tl.draw(this, x, y); + ignoreAA = false; } public void drawString(String str, int x, int y) @@ -1617,19 +1721,25 @@ public abstract class CairoGraphics2D extends Graphics2D if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); + + setAntialias(!hints.get(RenderingHints.KEY_TEXT_ANTIALIASING) + .equals(RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)); + ignoreAA = true; + if (gv instanceof FreetypeGlyphVector && alpha == 1.0) { int n = gv.getNumGlyphs (); int[] codes = gv.getGlyphCodes (0, n, null); + long[] fontset = ((FreetypeGlyphVector)gv).getGlyphFonts (0, n, null); float[] positions = gv.getGlyphPositions (0, n, null); setFont (gv.getFont ()); GdkFontPeer fontPeer = (GdkFontPeer) font.getPeer(); - synchronized (fontPeer) - { - cairoDrawGlyphVector(nativePointer, fontPeer, - x, y, n, codes, positions); - } + synchronized (fontPeer) + { + cairoDrawGlyphVector(nativePointer, fontPeer, + x, y, n, codes, positions, fontset); + } } else { @@ -1637,6 +1747,8 @@ public abstract class CairoGraphics2D extends Graphics2D fill(gv.getOutline()); translate(-x, -y); } + + ignoreAA = false; } public void drawString(AttributedCharacterIterator ci, float x, float y) @@ -1702,9 +1814,9 @@ public abstract class CairoGraphics2D extends Graphics2D { if( onStroke ) { - Shape stroked = stroke.createStrokedShape( s ); - return stroked.intersects( (double)rect.x, (double)rect.y, - (double)rect.width, (double)rect.height ); + Shape stroked = stroke.createStrokedShape( s ); + return stroked.intersects( (double)rect.x, (double)rect.y, + (double)rect.width, (double)rect.height ); } return s.intersects( (double)rect.x, (double)rect.y, (double)rect.width, (double)rect.height ); @@ -1747,34 +1859,34 @@ public abstract class CairoGraphics2D extends Graphics2D imageToUser.getMatrix(i2u); else { - i2u[0] = 1; - i2u[1] = 0; - i2u[2] = 0; - i2u[3] = 1; - i2u[4] = 0; - i2u[5] = 0; + i2u[0] = 1; + i2u[1] = 0; + i2u[2] = 0; + i2u[3] = 1; + i2u[4] = 0; + i2u[5] = 0; } int[] pixels = findSimpleIntegerArray(cm, r); if (pixels == null) { - // FIXME: I don't think this code will work correctly with a non-RGB - // MultiPixelPackedSampleModel. Although this entire method should - // probably be rewritten to better utilize Cairo's different supported - // data formats. - if (sm instanceof MultiPixelPackedSampleModel) - { - pixels = r.getPixels(0, 0, r.getWidth(), r.getHeight(), pixels); - for (int i = 0; i < pixels.length; i++) - pixels[i] = cm.getRGB(pixels[i]); - } - else - { - pixels = new int[r.getWidth() * r.getHeight()]; - for (int i = 0; i < pixels.length; i++) - pixels[i] = cm.getRGB(db.getElem(i)); - } + // FIXME: I don't think this code will work correctly with a non-RGB + // MultiPixelPackedSampleModel. Although this entire method should + // probably be rewritten to better utilize Cairo's different supported + // data formats. + if (sm instanceof MultiPixelPackedSampleModel) + { + pixels = r.getPixels(0, 0, r.getWidth(), r.getHeight(), pixels); + for (int i = 0; i < pixels.length; i++) + pixels[i] = cm.getRGB(pixels[i]); + } + else + { + pixels = new int[r.getWidth() * r.getHeight()]; + for (int i = 0; i < pixels.length; i++) + pixels[i] = cm.getRGB(db.getElem(i)); + } } // Change all transparent pixels in the image to the specified bgcolor, @@ -1782,20 +1894,21 @@ public abstract class CairoGraphics2D extends Graphics2D // correctly. if (cm.hasAlpha()) { - if (bgcolor != null && cm.hasAlpha()) - for (int i = 0; i < pixels.length; i++) - { - if (cm.getAlpha(pixels[i]) == 0) - pixels[i] = bgcolor.getRGB(); - } + if (bgcolor != null && cm.hasAlpha()) + for (int i = 0; i < pixels.length; i++) + { + if (cm.getAlpha(pixels[i]) == 0) + pixels[i] = bgcolor.getRGB(); + } } else for (int i = 0; i < pixels.length; i++) - pixels[i] |= 0xFF000000; + pixels[i] |= 0xFF000000; double alpha = 1.0; if (comp instanceof AlphaComposite) alpha = ((AlphaComposite) comp).getAlpha(); + drawPixels(nativePointer, pixels, r.getWidth(), r.getHeight(), r.getWidth(), i2u, alpha, getInterpolation()); @@ -1815,7 +1928,7 @@ public abstract class CairoGraphics2D extends Graphics2D double shift = 0.5; if (!transform.isIdentity()) shift /= transform.getScaleX(); - return Math.round(coord) + shift; + return (coord + shift); } else return coord; @@ -1831,7 +1944,7 @@ public abstract class CairoGraphics2D extends Graphics2D double shift = 0.5; if (!transform.isIdentity()) shift /= transform.getScaleY(); - return Math.round(coord) + shift; + return (coord + shift); } else return coord; @@ -1849,53 +1962,54 @@ public abstract class CairoGraphics2D extends Graphics2D cairoSetFillRule(nativePointer, p.getWindingRule()); for (; ! p.isDone(); p.next()) { - int seg = p.currentSegment(coords); - switch (seg) - { - case PathIterator.SEG_MOVETO: - x = shiftX(coords[0], doShift); - y = shiftY(coords[1], doShift); - cairoMoveTo(nativePointer, x, y); - break; - case PathIterator.SEG_LINETO: - x = shiftX(coords[0], doShift); - y = shiftY(coords[1], doShift); - cairoLineTo(nativePointer, x, y); - break; - case PathIterator.SEG_QUADTO: - // splitting a quadratic bezier into a cubic: - // see: http://pfaedit.sourceforge.net/bezier.html - double x1 = x + (2.0 / 3.0) * (shiftX(coords[0], doShift) - x); - double y1 = y + (2.0 / 3.0) * (shiftY(coords[1], doShift) - y); + int seg = p.currentSegment(coords); + switch (seg) + { + case PathIterator.SEG_MOVETO: + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); + cairoMoveTo(nativePointer, x, y); + break; + case PathIterator.SEG_LINETO: + x = shiftX(coords[0], doShift); + y = shiftY(coords[1], doShift); + cairoLineTo(nativePointer, x, y); + break; + case PathIterator.SEG_QUADTO: + // splitting a quadratic bezier into a cubic: + // see: http://pfaedit.sourceforge.net/bezier.html + double x1 = x + (2.0 / 3.0) * (shiftX(coords[0], doShift) - x); + double y1 = y + (2.0 / 3.0) * (shiftY(coords[1], doShift) - y); - double x2 = x1 + (1.0 / 3.0) * (shiftX(coords[2], doShift) - x); - double y2 = y1 + (1.0 / 3.0) * (shiftY(coords[3], doShift) - y); + double x2 = x1 + (1.0 / 3.0) * (shiftX(coords[2], doShift) - x); + double y2 = y1 + (1.0 / 3.0) * (shiftY(coords[3], doShift) - y); - x = shiftX(coords[2], doShift); - y = shiftY(coords[3], doShift); - cairoCurveTo(nativePointer, x1, y1, x2, y2, x, y); - break; - case PathIterator.SEG_CUBICTO: - x = shiftX(coords[4], doShift); - y = shiftY(coords[5], doShift); - cairoCurveTo(nativePointer, shiftX(coords[0], doShift), - shiftY(coords[1], doShift), - shiftX(coords[2], doShift), - shiftY(coords[3], doShift), x, y); - break; - case PathIterator.SEG_CLOSE: - cairoClosePath(nativePointer); - break; - } + x = shiftX(coords[2], doShift); + y = shiftY(coords[3], doShift); + cairoCurveTo(nativePointer, x1, y1, x2, y2, x, y); + break; + case PathIterator.SEG_CUBICTO: + x = shiftX(coords[4], doShift); + y = shiftY(coords[5], doShift); + cairoCurveTo(nativePointer, shiftX(coords[0], doShift), + shiftY(coords[1], doShift), + shiftX(coords[2], doShift), + shiftY(coords[3], doShift), x, y); + break; + case PathIterator.SEG_CLOSE: + cairoClosePath(nativePointer); + break; + } } } /** * Used by setRenderingHints() */ - private Map getDefaultHints() + private Map getDefaultHints() { - HashMap defaultHints = new HashMap(); + HashMap defaultHints = + new HashMap(); defaultHints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT); @@ -1972,11 +2086,27 @@ public abstract class CairoGraphics2D extends Graphics2D if (clip == null) return; - if (! (clip instanceof GeneralPath)) - clip = new GeneralPath(clip); - - GeneralPath p = (GeneralPath) clip; - p.transform(t); + // If the clip is a rectangle, and the transformation preserves the shape + // (translate/stretch only), then keep the clip as a rectangle + double[] matrix = new double[4]; + t.getMatrix(matrix); + if (clip instanceof Rectangle2D && matrix[1] == 0 && matrix[2] == 0) + { + Rectangle2D rect = (Rectangle2D)clip; + double[] origin = new double[] {rect.getX(), rect.getY()}; + double[] dimensions = new double[] {rect.getWidth(), rect.getHeight()}; + t.transform(origin, 0, origin, 0, 1); + t.deltaTransform(dimensions, 0, dimensions, 0, 1); + rect.setRect(origin[0], origin[1], dimensions[0], dimensions[1]); + } + else + { + if (! (clip instanceof GeneralPath)) + clip = new GeneralPath(clip); + + GeneralPath p = (GeneralPath) clip; + p.transform(t); + } } private static Rectangle computeIntersection(int x, int y, int w, int h, @@ -1999,4 +2129,39 @@ public abstract class CairoGraphics2D extends Graphics2D return rect; } + + static Rectangle2D getTransformedBounds(Rectangle2D bounds, AffineTransform tx) + { + double x1 = bounds.getX(); + double x2 = bounds.getX() + bounds.getWidth(); + double x3 = x1; + double x4 = x2; + double y1 = bounds.getY(); + double y2 = y1; + double y3 = bounds.getY() + bounds.getHeight(); + double y4 = y3; + + double[] points = new double[] {x1, y1, x2, y2, x3, y3, x4, y4}; + tx.transform(points, 0, points, 0, 4); + + double minX = points[0]; + double maxX = minX; + double minY = points[1]; + double maxY = minY; + for (int i = 0; i < 8; i++) + { + if (points[i] < minX) + minX = points[i]; + if (points[i] > maxX) + maxX = points[i]; + i++; + + if (points[i] < minY) + minY = points[i]; + if (points[i] > maxY) + maxY = points[i]; + } + + return new Rectangle2D.Double(minX, minY, (maxX - minX), (maxY - minY)); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java index 5b63e62e7ed..b45a79fd6e7 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurface.java @@ -1,5 +1,5 @@ /* CairoSurface.java - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,15 +42,22 @@ import gnu.java.awt.Buffers; import java.awt.Graphics2D; import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Shape; import java.awt.color.ColorSpace; +import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.DataBuffer; +import java.awt.image.DataBufferInt; import java.awt.image.DirectColorModel; +import java.awt.image.Raster; +import java.awt.image.RasterFormatException; import java.awt.image.SampleModel; import java.awt.image.SinglePixelPackedSampleModel; import java.awt.image.WritableRaster; import java.nio.ByteOrder; +import java.util.Arrays; import java.util.Hashtable; /** @@ -68,9 +75,9 @@ public class CairoSurface extends WritableRaster long surfacePointer; /** - * The native pointer to the image's data buffer + * Whether the data buffer is shared between java and cairo. */ - long bufferPointer; + boolean sharedBuffer; // FIXME: use only the cairoCM_pre colormodel // since that's what Cairo really uses (is there a way to do this cheaply? @@ -98,22 +105,12 @@ public class CairoSurface extends WritableRaster * @param width, height - the image size * @param stride - the buffer row stride. (in ints) */ - private native void create(int width, int height, int stride); + private native void create(int width, int height, int stride, int[] buf); /** * Destroys the cairo surface and frees the buffer. */ - private native void destroy(long surfacePointer, long bufferPointer); - - /** - * Gets buffer elements - */ - private native int nativeGetElem(long bufferPointer, int i); - - /** - * Sets buffer elements. - */ - private native void nativeSetElem(long bufferPointer, int i, int val); + private native void destroy(long surfacePointer, int[] buf); /** * Draws this image to a given CairoGraphics context, @@ -123,33 +120,30 @@ public class CairoSurface extends WritableRaster double[] i2u, double alpha, int interpolation); - public void drawSurface(long contextPointer, double[] i2u, double alpha, - int interpolation) - { - nativeDrawSurface(surfacePointer, contextPointer, i2u, alpha, interpolation); - } - /** - * getPixels -return the pixels as a java array. + * Synchronizes the image's data buffers, copying any changes made in the + * Java array into the native array. + * + * This method should only be called if (sharedBuffers == false). */ - native int[] nativeGetPixels(long bufferPointer, int size); - - public int[] getPixels(int size) - { - return nativeGetPixels(bufferPointer, size); - } - + native void syncNativeToJava(long surfacePointer, int[] buffer); + /** - * getPixels -return the pixels as a java array. + * Synchronizes the image's data buffers, copying any changes made in the + * native array into the Java array. + * + * This method should only be called if (sharedBuffers == false). */ - native void nativeSetPixels(long bufferPointer, int[] pixels); - - public void setPixels(int[] pixels) - { - nativeSetPixels(bufferPointer, pixels); - } - - native long getFlippedBuffer(long bufferPointer, int size); + native void syncJavaToNative(long surfacePointer, int[] buffer); + + /** + * Return the buffer, with the sample values of each pixel reversed + * (ie, in ABGR instead of ARGB). + * + * @return A pointer to a flipped buffer. The memory is allocated in native + * code, and must be explicitly freed when it is no longer needed. + */ + native long getFlippedBuffer(long surfacePointer); /** * Create a cairo_surface_t with specified width and height. @@ -158,20 +152,38 @@ public class CairoSurface extends WritableRaster */ public CairoSurface(int width, int height) { - super(createCairoSampleModel(width, height), - null, new Point(0, 0)); + this(0, 0, width, height); + } + + public CairoSurface(int x, int y, int width, int height) + { + super(createCairoSampleModel(width, height), null, new Point(x, y)); if(width <= 0 || height <= 0) throw new IllegalArgumentException("Image must be at least 1x1 pixels."); this.width = width; this.height = height; - create(width, height, width); + dataBuffer = new DataBufferInt(width * height); + create(width, height, width, getData()); - if(surfacePointer == 0 || bufferPointer == 0) + if(surfacePointer == 0) throw new Error("Could not allocate bitmap."); - - dataBuffer = new CairoDataBuffer(); + } + + /** + * Create a Cairo Surface that is a subimage of another Cairo Surface + */ + public CairoSurface(SampleModel sm, CairoSurface parent, Rectangle bounds, + Point origin) + { + super(sm, parent.dataBuffer, bounds, origin, parent); + + this.width = super.width; + this.height = super.height; + this.surfacePointer = parent.surfacePointer; + this.sharedBuffer = parent.sharedBuffer; + this.dataBuffer = parent.dataBuffer; } /** @@ -188,39 +200,39 @@ public class CairoSurface extends WritableRaster // Swap ordering from GdkPixbuf to Cairo if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) { - for (int i = 0; i < data.length; i++ ) - { - // On a big endian system we get a RRGGBBAA data array. - int alpha = data[i] & 0xFF; - if( alpha == 0 ) // I do not know why we need this, but it works. - data[i] = 0; - else - { - // Cairo needs a ARGB32 native array. - data[i] = (data[i] >>> 8) | (alpha << 24); - } - } + for (int i = 0; i < data.length; i++ ) + { + // On a big endian system we get a RRGGBBAA data array. + int alpha = data[i] & 0xFF; + if( alpha == 0 ) // I do not know why we need this, but it works. + data[i] = 0; + else + { + // Cairo needs a ARGB32 native array. + data[i] = (data[i] >>> 8) | (alpha << 24); + } + } } else { - for (int i = 0; i < data.length; i++ ) - { - // On a little endian system we get a AABBGGRR data array. - int alpha = data[i] & 0xFF000000; - if( alpha == 0 ) // I do not know why we need this, but it works. - data[i] = 0; - else - { - int b = (data[i] & 0xFF0000) >> 16; - int g = (data[i] & 0xFF00); - int r = (data[i] & 0xFF) << 16; - // Cairo needs a ARGB32 native array. - data[i] = alpha | r | g | b; - } - } + for (int i = 0; i < data.length; i++ ) + { + // On a little endian system we get a AABBGGRR data array. + int alpha = data[i] & 0xFF000000; + if( alpha == 0 ) // I do not know why we need this, but it works. + data[i] = 0; + else + { + int b = (data[i] & 0xFF0000) >> 16; + int g = (data[i] & 0xFF00); + int r = (data[i] & 0xFF) << 16; + // Cairo needs a ARGB32 native array. + data[i] = alpha | r | g | b; + } + } } - setPixels( data ); + System.arraycopy(data, 0, getData(), 0, data.length); } /** @@ -228,8 +240,8 @@ public class CairoSurface extends WritableRaster */ public void dispose() { - if(surfacePointer != 0) - destroy(surfacePointer, bufferPointer); + if(surfacePointer != 0 && parent == null) + destroy(surfacePointer, getData()); } /** @@ -245,8 +257,17 @@ public class CairoSurface extends WritableRaster */ public GtkImage getGtkImage() { - return new GtkImage( width, height, - getFlippedBuffer(bufferPointer, width * height )); + return new GtkImage(width, height, getFlippedBuffer(surfacePointer)); + } + + /** + * Convenience method to quickly grab the data array backing this Raster. + * + * @return The array behind the databuffer. + */ + public int[] getData() + { + return ((DataBufferInt)dataBuffer).getData(); } /** @@ -276,34 +297,6 @@ public class CairoSurface extends WritableRaster new Hashtable()); } - private class CairoDataBuffer extends DataBuffer - { - public CairoDataBuffer() - { - super(DataBuffer.TYPE_INT, width * height); - } - - /** - * DataBuffer.getElem implementation - */ - public int getElem(int bank, int i) - { - if(bank != 0 || i < 0 || i >= width * height) - throw new IndexOutOfBoundsException(i+" size: "+width * height); - return nativeGetElem(bufferPointer, i); - } - - /** - * DataBuffer.setElem implementation - */ - public void setElem(int bank, int i, int val) - { - if(bank != 0 || i < 0 || i >= width*height) - throw new IndexOutOfBoundsException(i+" size: "+width * height); - nativeSetElem(bufferPointer, i, val); - } - } - /** * Return a Graphics2D drawing to the CairoSurface. */ @@ -325,16 +318,25 @@ public class CairoSurface extends WritableRaster } /** - * Copy an area of the surface. Expects parameters must be within bounds. - * Count on a segfault otherwise. + * Copy a portion of this surface to another area on the surface. The given + * parameters must be within bounds - count on a segfault otherwise. + * + * @param x The x coordinate of the area to be copied from. + * @param y The y coordinate of the area to be copied from. + * @param width The width of the area to be copied. + * @param height The height of the area to be copied. + * @param dx The destination x coordinate. + * @param dy The destination y coordinate. + * @param stride The scanline stride. */ - native void copyAreaNative2(long bufferPointer, int x, int y, int width, - int height, int dx, int dy, int stride); public void copyAreaNative(int x, int y, int width, int height, int dx, int dy, int stride) { - copyAreaNative2(bufferPointer, x, y, width, height, dx, dy, stride); + copyAreaNative2(surfacePointer, x, y, width, height, dx, dy, stride); } + native void copyAreaNative2(long surfacePointer, + int x, int y, int width, int height, + int dx, int dy, int stride); /** * Creates a SampleModel that matches Cairo's native format @@ -345,4 +347,83 @@ public class CairoSurface extends WritableRaster new int[]{0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000}); } + + /** + * Returns whether this ColorModel is compatible with Cairo's native types. + * + * @param cm The color model to check. + * @return Whether it is compatible. + */ + public static boolean isCompatibleColorModel(ColorModel cm) + { + return (cm.equals(cairoCM_pre) || cm.equals(cairoCM_opaque) || + cm.equals(cairoColorModel)); + } + + /** + * Returns whether this SampleModel is compatible with Cairo's native types. + * + * @param sm The sample model to check. + * @return Whether it is compatible. + */ + public static boolean isCompatibleSampleModel(SampleModel sm) + { + return (sm instanceof SinglePixelPackedSampleModel + && sm.getDataType() == DataBuffer.TYPE_INT + && Arrays.equals(((SinglePixelPackedSampleModel)sm).getBitMasks(), + new int[]{0x00FF0000, 0x0000FF00, + 0x000000FF, 0xFF000000})); + } + + ///// Methods interhited from Raster and WritableRaster ///// + public Raster createChild(int parentX, int parentY, int width, int height, + int childMinX, int childMinY, int[] bandList) + { + return createWritableChild(parentX, parentY, width, height, + childMinX, childMinY, bandList); + } + + public WritableRaster createCompatibleWritableRaster() + { + return new CairoSurface(width, height); + } + + public WritableRaster createCompatibleWritableRaster (int x, int y, + int w, int h) + { + return new CairoSurface(x, y, w, h); + } + + public Raster createTranslatedChild(int childMinX, int childMinY) + { + return createWritableTranslatedChild(childMinX, childMinY); + } + + public WritableRaster createWritableChild(int parentX, int parentY, + int w, int h, int childMinX, + int childMinY, int[] bandList) + { + if (parentX < minX || parentX + w > minX + width + || parentY < minY || parentY + h > minY + height) + throw new RasterFormatException("Child raster extends beyond parent"); + + SampleModel sm = (bandList == null) ? + sampleModel : + sampleModel.createSubsetSampleModel(bandList); + + return new CairoSurface(sm, this, + new Rectangle(childMinX, childMinY, w, h), + new Point(sampleModelTranslateX + childMinX - parentX, + sampleModelTranslateY + childMinY - parentY)); + } + + public WritableRaster createWritableTranslatedChild(int x, int y) + { + int tcx = sampleModelTranslateX - minX + x; + int tcy = sampleModelTranslateY - minY + y; + + return new CairoSurface(sampleModel, this, + new Rectangle(x, y, width, height), + new Point(tcx, tcy)); + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java index 36743b9c2da..35b015f3200 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/CairoSurfaceGraphics.java @@ -40,6 +40,7 @@ package gnu.java.awt.peer.gtk; import java.awt.AlphaComposite; import java.awt.Color; +import java.awt.Composite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GraphicsConfiguration; @@ -50,7 +51,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -116,6 +116,18 @@ public class CairoSurfaceGraphics extends CairoGraphics2D */ public void draw(Shape s) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + + // Find total bounds of shape + Rectangle r = findStrokedBounds(s); + if (shiftDrawCalls) + { + r.width++; + r.height++; + } + + // Do the drawing if (comp == null || comp instanceof AlphaComposite) super.draw(s); @@ -126,14 +138,21 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setStroke(this.getStroke()); g2d.setColor(this.getColor()); + g2d.setTransform(transform); g2d.draw(s); - drawComposite(s.getBounds2D(), null); + drawComposite(r.getBounds2D(), null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } public void fill(Shape s) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.fill(s); @@ -144,14 +163,21 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setPaint(this.getPaint()); g2d.setColor(this.getColor()); + g2d.setTransform(transform); g2d.fill(s); drawComposite(s.getBounds2D(), null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } public void drawRenderedImage(RenderedImage image, AffineTransform xform) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.drawRenderedImage(image, xform); @@ -161,18 +187,25 @@ public class CairoSurfaceGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); + g2d.setTransform(transform); g2d.drawRenderedImage(image, xform); drawComposite(buffer.getRaster().getBounds(), null); } - + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } protected boolean drawImage(Image img, AffineTransform xform, Color bgcolor, ImageObserver obs) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + + boolean ret; if (comp == null || comp instanceof AlphaComposite) - return super.drawImage(img, xform, bgcolor, obs); + ret = super.drawImage(img, xform, bgcolor, obs); else { @@ -187,14 +220,10 @@ public class CairoSurfaceGraphics extends CairoGraphics2D BufferedImage bImg = (BufferedImage) img; // Find translated bounds - Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); - Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), - bImg.getHeight() + bImg.getMinY()); + Rectangle2D bounds = new Rectangle(bImg.getMinX(), bImg.getMinY(), + bImg.getWidth(), bImg.getHeight()); if (xform != null) - { - origin = xform.transform(origin, origin); - pt = xform.transform(pt, pt); - } + bounds = getTransformedBounds(bounds, xform); // Create buffer and draw image createBuffer(); @@ -204,15 +233,20 @@ public class CairoSurfaceGraphics extends CairoGraphics2D g2d.drawImage(img, xform, obs); // Perform compositing - return drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), - obs); + ret = drawComposite(bounds, obs); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); + + return ret; } public void drawGlyphVector(GlyphVector gv, float x, float y) { + if (!surface.sharedBuffer) + surface.syncJavaToNative(surface.surfacePointer, surface.getData()); + if (comp == null || comp instanceof AlphaComposite) super.drawGlyphVector(gv, x, y); @@ -230,51 +264,64 @@ public class CairoSurfaceGraphics extends CairoGraphics2D bounds.getWidth(), bounds.getHeight()); drawComposite(bounds, null); } + + if (!surface.sharedBuffer) + surface.syncNativeToJava(surface.surfacePointer, surface.getData()); } private boolean drawComposite(Rectangle2D bounds, ImageObserver observer) { - // Clip source to visible areas that need updating - Rectangle2D clip = this.getClipBounds(); - Rectangle2D.intersect(bounds, clip, bounds); - clip = new Rectangle(buffer.getMinX(), buffer.getMinY(), - buffer.getWidth(), buffer.getHeight()); - Rectangle2D.intersect(bounds, clip, bounds); + // Find bounds in device space + bounds = getTransformedBounds(bounds, transform); + + // Clip bounds by the stored clip, and by the internal buffer + Rectangle2D devClip = this.getClipInDevSpace(); + Rectangle2D.intersect(bounds, devClip, bounds); + devClip = new Rectangle(buffer.getMinX(), buffer.getMinY(), + buffer.getWidth(), buffer.getHeight()); + Rectangle2D.intersect(bounds, devClip, bounds); + // Round bounds as needed, but be careful in our rounding + // (otherwise it may leave unpainted stripes) + double x = bounds.getX(); + double y = bounds.getY(); + double maxX = x + bounds.getWidth(); + double maxY = y + bounds.getHeight(); + x = Math.round(x); + y = Math.round(y); + bounds.setRect(x, y, Math.round(maxX - x), Math.round(maxY - y)); + + // Find subimage of internal buffer for updating BufferedImage buffer2 = buffer; if (!bounds.equals(buffer2.getRaster().getBounds())) buffer2 = buffer2.getSubimage((int)bounds.getX(), (int)bounds.getY(), (int)bounds.getWidth(), (int)bounds.getHeight()); - - // Get destination clip to bounds - double[] points = new double[] {bounds.getX(), bounds.getY(), - bounds.getMaxX(), bounds.getMaxY()}; - transform.transform(points, 0, points, 0, 2); - - Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); - - Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); - + + // Find subimage of main image for updating BufferedImage current = CairoSurface.getBufferedImage(surface); - current = current.getSubimage((int)deviceBounds.getX(), - (int)deviceBounds.getY(), - (int)deviceBounds.getWidth(), - (int)deviceBounds.getHeight()); + current = current.getSubimage((int)bounds.getX(), (int)bounds.getY(), + (int)bounds.getWidth(), + (int)bounds.getHeight()); // Perform actual composite operation compCtx.compose(buffer2.getRaster(), current.getRaster(), buffer2.getRaster()); + // Set cairo's composite to direct SRC, since we've already done our own + // compositing + Composite oldcomp = comp; + setComposite(AlphaComposite.Src); + // This MUST call directly into the "action" method in CairoGraphics2D, // not one of the wrappers, to ensure that the composite isn't processed // more than once! boolean rv = super.drawImage(buffer2, AffineTransform.getTranslateInstance(bounds.getX(), bounds.getY()), - new Color(0,0,0,0), null); + null, null); + setComposite(oldcomp); + updateColor(); return rv; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java index 8adf275ad44..e54320697d8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/ComponentGraphics.java @@ -52,7 +52,6 @@ import java.awt.Shape; import java.awt.Toolkit; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; -import java.awt.geom.Line2D; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; @@ -78,7 +77,7 @@ public class ComponentGraphics extends CairoGraphics2D protected long cairo_t; private BufferedImage buffer, componentBuffer; - private static ThreadLocal hasLock = new ThreadLocal(); + private static ThreadLocal hasLock = new ThreadLocal(); private static Integer ONE = Integer.valueOf(1); ComponentGraphics() @@ -122,11 +121,11 @@ public class ComponentGraphics extends CairoGraphics2D */ private void lock() { - Integer i = (Integer) hasLock.get(); + Integer i = hasLock.get(); if (i == null) { - start_gdk_drawing(); - hasLock.set(ONE); + start_gdk_drawing(); + hasLock.set(ONE); } else hasLock.set(Integer.valueOf(i.intValue() + 1)); @@ -137,14 +136,16 @@ public class ComponentGraphics extends CairoGraphics2D */ private void unlock() { - Integer i = (Integer) hasLock.get(); + Integer i = hasLock.get(); if (i == null) throw new IllegalStateException(); if (i == ONE) { - hasLock.set(null); - end_gdk_drawing(); + hasLock.set(null); + end_gdk_drawing(); } + else if (i.intValue() == 2) + hasLock.set(ONE); else hasLock.set(Integer.valueOf(i.intValue() - 1)); } @@ -176,11 +177,11 @@ public class ComponentGraphics extends CairoGraphics2D private static native Pointer nativeGrab(GtkComponentPeer component); private native void copyAreaNative(GtkComponentPeer component, int x, int y, - int width, int height, int dx, int dy); + int width, int height, int dx, int dy); private native void drawVolatile(GtkComponentPeer component, - long vimg, int x, int y, - int width, int height, int cx, int cy, + long vimg, int x, int y, + int width, int height, int cx, int cy, int cw, int ch); /** @@ -232,16 +233,16 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.draw(s); - + else { createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setStroke(this.getStroke()); g2d.setColor(this.getColor()); g2d.draw(s); - + drawComposite(s.getBounds2D(), null); } } @@ -250,16 +251,16 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.fill(s); - + else { createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setPaint(this.getPaint()); g2d.setColor(this.getColor()); g2d.fill(s); - + drawComposite(s.getBounds2D(), null); } } @@ -268,7 +269,7 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.drawRenderedImage(image, xform); - + else { createBuffer(); @@ -276,7 +277,7 @@ public class ComponentGraphics extends CairoGraphics2D Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); g2d.drawRenderedImage(image, xform); - + drawComposite(buffer.getRaster().getBounds(), null); } } @@ -287,7 +288,7 @@ public class ComponentGraphics extends CairoGraphics2D boolean rv; if (comp == null || comp instanceof AlphaComposite) rv = super.drawImage(img, xform, bgcolor, obs); - + else { // Get buffered image of source @@ -299,7 +300,7 @@ public class ComponentGraphics extends CairoGraphics2D img = Toolkit.getDefaultToolkit().createImage(source); } BufferedImage bImg = (BufferedImage) img; - + // Find translated bounds Point2D origin = new Point2D.Double(bImg.getMinX(), bImg.getMinY()); Point2D pt = new Point2D.Double(bImg.getWidth() + bImg.getMinX(), @@ -309,18 +310,18 @@ public class ComponentGraphics extends CairoGraphics2D origin = xform.transform(origin, origin); pt = xform.transform(pt, pt); } - + // Create buffer and draw image createBuffer(); - + Graphics2D g2d = (Graphics2D)buffer.getGraphics(); g2d.setRenderingHints(this.getRenderingHints()); g2d.drawImage(img, xform, obs); // Perform compositing rv = drawComposite(new Rectangle2D.Double(origin.getX(), - origin.getY(), - pt.getX(), pt.getY()), + origin.getY(), + pt.getX(), pt.getY()), obs); } return rv; @@ -330,7 +331,7 @@ public class ComponentGraphics extends CairoGraphics2D { if (comp == null || comp instanceof AlphaComposite) super.drawGlyphVector(gv, x, y); - + else { createBuffer(); @@ -339,7 +340,7 @@ public class ComponentGraphics extends CairoGraphics2D g2d.setPaint(this.getPaint()); g2d.setStroke(this.getStroke()); g2d.drawGlyphVector(gv, x, y); - + Rectangle2D bounds = gv.getLogicalBounds(); bounds = new Rectangle2D.Double(x + bounds.getX(), y + bounds.getY(), bounds.getWidth(), bounds.getHeight()); @@ -373,8 +374,8 @@ public class ComponentGraphics extends CairoGraphics2D (int) r.getHeight()); return true; } - else - return super.drawImage(vimg.getSnapshot(), x, y, observer); + else + return super.drawImage(vimg.getSnapshot(), x, y, observer); } BufferedImage bimg; @@ -382,7 +383,7 @@ public class ComponentGraphics extends CairoGraphics2D bimg = (BufferedImage) img; else { - ImageProducer source = img.getSource(); + ImageProducer source = img.getSource(); if (source == null) return false; bimg = (BufferedImage) Toolkit.getDefaultToolkit().createImage(source); @@ -418,9 +419,9 @@ public class ComponentGraphics extends CairoGraphics2D (int) r.getHeight()); return true; } - else - return super.drawImage(vimg.getSnapshot(), x, y, - width, height, observer); + else + return super.drawImage(vimg.getSnapshot(), x, y, + width, height, observer); } BufferedImage bimg; @@ -429,7 +430,7 @@ public class ComponentGraphics extends CairoGraphics2D bimg = (BufferedImage) img; else { - ImageProducer source = img.getSource(); + ImageProducer source = img.getSource(); if (source == null) return false; bimg = (BufferedImage) Toolkit.getDefaultToolkit().createImage(source); @@ -458,8 +459,8 @@ public class ComponentGraphics extends CairoGraphics2D transform.transform(points, 0, points, 0, 2); Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); + points[2] - points[0], + points[3] - points[1]); Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); @@ -519,8 +520,8 @@ public class ComponentGraphics extends CairoGraphics2D new Point(0,0)); componentBuffer = new BufferedImage(GtkVolatileImage.gdkColorModel, rst, - GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), - new Hashtable()); + GtkVolatileImage.gdkColorModel.isAlphaPremultiplied(), + new Hashtable()); } } @@ -723,7 +724,7 @@ public class ComponentGraphics extends CairoGraphics2D unlock(); } } - + @Override protected void cairoRectangle(long pointer, double x, double y, double width, double height) @@ -908,4 +909,33 @@ public class ComponentGraphics extends CairoGraphics2D unlock(); } } + + @Override + protected void cairoSetAntialias(long pointer, boolean aa) + { + try + { + lock(); + super.cairoSetAntialias(pointer, aa); + } + finally + { + unlock(); + } + } + + @Override + protected void drawCairoSurface(CairoSurface surface, AffineTransform tx, + double alpha, int interpolation) + { + try + { + lock(); + super.drawCairoSurface(surface, tx, alpha, interpolation); + } + finally + { + unlock(); + } + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java index 131a964488f..280f3e6fbcd 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/FreetypeGlyphVector.java @@ -79,6 +79,11 @@ public class FreetypeGlyphVector extends GlyphVector * The glyph codes */ private int[] glyphCodes; + + /** + * The set of fonts used in this glyph vector. + */ + private long[] fontSet = null; /** * Glyph transforms. (de facto only the translation is used) @@ -86,6 +91,19 @@ public class FreetypeGlyphVector extends GlyphVector private AffineTransform[] glyphTransforms; private GlyphMetrics[] metricsCache; + + private native void dispose(long[] fonts); + + /** + * Returns a pointer to the native PangoFcFont object. + * + * The object will be referenced with g_object_ref n times before being + * returned, and must be unreferenced a corresponding number of times. + * + * @param n Number of times to reference the object. + * @return Pointer to the native default font. + */ + private native long getNativeFontPointer(int n); /** * Create a glyphvector from a given (Freetype) font and a String. @@ -112,11 +130,11 @@ public class FreetypeGlyphVector extends GlyphVector getGlyphs(); if( flags == Font.LAYOUT_RIGHT_TO_LEFT ) { - // reverse the glyph ordering. - int[] temp = new int[ nGlyphs ]; - for(int i = 0; i < nGlyphs; i++) - temp[ i ] = glyphCodes[ nGlyphs - i - 1]; - glyphCodes = temp; + // reverse the glyph ordering. + int[] temp = new int[ nGlyphs ]; + for(int i = 0; i < nGlyphs; i++) + temp[i] = glyphCodes[nGlyphs - i - 1]; + glyphCodes = temp; } performDefaultLayout(); } @@ -135,6 +153,13 @@ public class FreetypeGlyphVector extends GlyphVector glyphCodes = new int[ codes.length ]; System.arraycopy(codes, 0, glyphCodes, 0, codes.length); nGlyphs = glyphCodes.length; + + if (fontSet == null) + { + fontSet = new long[nGlyphs]; + Arrays.fill(fontSet, getNativeFontPointer(nGlyphs)); + } + performDefaultLayout(); } @@ -152,11 +177,12 @@ public class FreetypeGlyphVector extends GlyphVector if( gv.metricsCache != null ) { - metricsCache = new GlyphMetrics[ nGlyphs ]; - System.arraycopy(gv.metricsCache, 0, metricsCache, 0, nGlyphs); + metricsCache = new GlyphMetrics[ nGlyphs ]; + System.arraycopy(gv.metricsCache, 0, metricsCache, 0, nGlyphs); } glyphCodes = new int[ nGlyphs ]; + fontSet = new long[nGlyphs]; glyphPositions = new float[(nGlyphs + 1) * 2]; glyphTransforms = new AffineTransform[ nGlyphs ]; for(int i = 0; i < nGlyphs; i++ ) @@ -166,6 +192,13 @@ public class FreetypeGlyphVector extends GlyphVector } System.arraycopy(gv.glyphPositions, 0, glyphPositions, 0, glyphPositions.length); + System.arraycopy(gv.glyphCodes, 0, glyphCodes, 0, nGlyphs); + System.arraycopy(gv.fontSet, 0, fontSet, 0, nGlyphs); + } + + public void finalize() + { + dispose(fontSet); } /** @@ -175,16 +208,17 @@ public class FreetypeGlyphVector extends GlyphVector { nGlyphs = s.codePointCount( 0, s.length() ); glyphCodes = new int[ nGlyphs ]; + fontSet = new long[ nGlyphs ]; int[] codePoints = new int[ nGlyphs ]; int stringIndex = 0; for(int i = 0; i < nGlyphs; i++) { - codePoints[i] = s.codePointAt( stringIndex ); + codePoints[i] = s.codePointAt( stringIndex ); // UTF32 surrogate handling - if( codePoints[i] != (int)s.charAt( stringIndex ) ) - stringIndex ++; - stringIndex ++; + if( codePoints[i] != (int)s.charAt( stringIndex ) ) + stringIndex ++; + stringIndex ++; if (Character.isISOControl(codePoints[i])) { @@ -194,22 +228,22 @@ public class FreetypeGlyphVector extends GlyphVector } } - glyphCodes = getGlyphs( codePoints ); + getGlyphs( codePoints, glyphCodes, fontSet ); } /** * Returns the glyph code within the font for a given character */ - public native int[] getGlyphs(int[] codepoints); + public native void getGlyphs(int[] codepoints, int[] glyphs, long[] fonts); /** * Returns the kerning of a glyph pair */ - private native Point2D getKerning(int leftGlyph, int rightGlyph); + private native Point2D getKerning(int leftGlyph, int rightGlyph, long font); - private native double[] getMetricsNative( int glyphCode ); + private native double[] getMetricsNative(int glyphCode, long font); - private native GeneralPath getGlyphOutlineNative(int glyphIndex); + private native GeneralPath getGlyphOutlineNative(int glyphIndex, long font); public Object clone() @@ -267,10 +301,12 @@ public class FreetypeGlyphVector extends GlyphVector x += gm.getAdvanceX(); y += gm.getAdvanceY(); - - if (i != nGlyphs-1) + + // Get the kerning only if it's not the last glyph, and the two glyphs are + // using the same font + if (i != nGlyphs-1 && fontSet[i] == fontSet[i+1]) { - Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1]); + Point2D p = getKerning(glyphCodes[i], glyphCodes[i + 1], fontSet[i]); x += p.getX(); y += p.getY(); } @@ -291,7 +327,7 @@ public class FreetypeGlyphVector extends GlyphVector * Returns multiple glyphcodes. */ public int[] getGlyphCodes(int beginGlyphIndex, int numEntries, - int[] codeReturn) + int[] codeReturn) { int[] rval; @@ -305,6 +341,26 @@ public class FreetypeGlyphVector extends GlyphVector return rval; } + /** + * Returns pointers to the fonts used in this glyph vector. + * + * The array index matches that of the glyph vector itself. + */ + protected long[] getGlyphFonts(int beginGlyphIndex, int numEntries, + long[] codeReturn) + { + long[] rval; + + if( codeReturn == null || codeReturn.length < numEntries) + rval = new long[ numEntries ]; + else + rval = codeReturn; + + System.arraycopy(fontSet, beginGlyphIndex, rval, 0, numEntries); + + return rval; + } + public Shape getGlyphLogicalBounds(int glyphIndex) { GlyphMetrics gm = getGlyphMetrics( glyphIndex ); @@ -335,26 +391,24 @@ public class FreetypeGlyphVector extends GlyphVector for(int i = 0; i < nGlyphs; i++) { - GlyphMetrics gm = (GlyphMetrics) - peer.getGlyphMetrics( glyphCodes[ i ] ); - if( gm == null ) - { - double[] val = getMetricsNative( glyphCodes[ i ] ); - if( val == null ) - gm = null; - else - { - gm = new GlyphMetrics( true, - (float)val[1], - (float)val[2], - new Rectangle2D.Double - ( val[3], val[4], - val[5], val[6] ), - GlyphMetrics.STANDARD ); - peer.putGlyphMetrics( glyphCodes[ i ], gm ); - } - } - metricsCache[ i ] = gm; + GlyphMetrics gm = (GlyphMetrics)peer.getGlyphMetrics(glyphCodes[i]); + if( gm == null ) + { + double[] val = getMetricsNative(glyphCodes[i], fontSet[i]); + if( val == null ) + gm = null; + else + { + gm = new GlyphMetrics(true, + (float)val[1], + (float)val[2], + new Rectangle2D.Double(val[3], val[4], + val[5], val[6] ), + GlyphMetrics.STANDARD ); + peer.putGlyphMetrics( glyphCodes[ i ], gm ); + } + } + metricsCache[ i ] = gm; } } @@ -371,13 +425,21 @@ public class FreetypeGlyphVector extends GlyphVector /** * Returns the outline of a single glyph. + * + * Despite what the Sun API says, this method returns the glyph relative to + * the origin of the *entire string*, not each individual glyph. */ public Shape getGlyphOutline(int glyphIndex) { - GeneralPath gp = getGlyphOutlineNative( glyphCodes[ glyphIndex ] ); - if (glyphTransforms[glyphIndex] != null) - gp.transform( glyphTransforms[glyphIndex]); + GeneralPath gp = getGlyphOutlineNative(glyphCodes[glyphIndex], + fontSet[glyphIndex]); + AffineTransform tx = AffineTransform.getTranslateInstance(glyphPositions[glyphIndex*2], + glyphPositions[glyphIndex*2+1]); + if (glyphTransforms[glyphIndex] != null) + tx.concatenate( glyphTransforms[glyphIndex]); + + gp.transform(tx); return gp; } @@ -432,7 +494,6 @@ public class FreetypeGlyphVector extends GlyphVector return logicalBounds; Rectangle2D rect = (Rectangle2D)getGlyphLogicalBounds( 0 ); - AffineTransform tx = new AffineTransform(); for( int i = 1; i < nGlyphs; i++ ) { Rectangle2D r2 = (Rectangle2D)getGlyphLogicalBounds( i ); @@ -458,14 +519,8 @@ public class FreetypeGlyphVector extends GlyphVector public Shape getOutline() { GeneralPath path = new GeneralPath(); - AffineTransform tx = new AffineTransform(); for( int i = 0; i < getNumGlyphs(); i++ ) - { - Shape outline = getGlyphOutline(i); - tx.setToTranslation(glyphPositions[i*2], glyphPositions[i*2 +1]); - outline = tx.createTransformedShape(outline); - path.append(outline, false); - } + path.append(getGlyphOutline(i), false); return path; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java b/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java deleted file mode 100644 index e73df9e5509..00000000000 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java +++ /dev/null @@ -1,109 +0,0 @@ -/* GThreadMutex.java -- Implements a mutex object for glib's gthread - abstraction, for use with GNU Classpath's --portable-native-sync option. - This is used in gthread-jni.c - - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package gnu.java.awt.peer.gtk; - -/** Implements a mutex object for glib's gthread - abstraction, for use with GNU Classpath's --portable-native-sync option. - This is used in gthread-jni.c. - - We use this object to implement the POSIX semantics for Mutexes. They are - needed are needed for the function vector that is passed to glib's - g_thread subpackage's initialization function. - - The GThreadMutex object itself serves as the Real Lock; if code has - entered the monitor for this GThreadMutex object (in Java language, if - it's synchronized on this object) then it holds the lock that this object - represents. - - @author Steven Augart - May, 2004 - - -*/ - -class GThreadMutex -{ - /** Might "lock" be locked? Is anyone waiting - to get that lock? How long is the queue? - - If zero, nobody holds a lock on this GThreadMutex object, and nobody is - trying to get one. Before someone attempts to acquire a lock on this - object, they must increment potentialLockers. After they release their - lock on this object, they must decrement potentialLockers. - - Access to this field is guarded by synchronizing on the object - lockForPotentialLockers. - - After construction, we only access this field via JNI. - */ - volatile int potentialLockers; - - /** An object to synchronize to if you want to examine or modify the - potentialLockers field. Only hold this lock for brief - moments, just long enough to check or set the value of - lockForPotentialLockers. - - We use this representation so that g_thread_mutex_trylock() will work - with the POSIX semantics. This is the only case in which you ever hold a - lock on lockForPotentialLockers while trying to get another - lock -- if you are the mutex_trylock() implementation, and you have just - checked that potentialLockers has the value zero. In that - case, mutex_trylock() holds the lock on lockForPotentialLockers so that - another thread calling mutex_trylock() or mutex_lock() won't increment - potentialLockers after we've checked it and before we've gained the lock - on the POSIX mutex. Of course, in that case the operation of gaining - the POSIX lock itself will succeed immediately, and once it has - succeeded, trylock releases lockForPotentialLockers right away, - incremented to 1 (one). - - After construction, we only access this field via JNI. - */ - Object lockForPotentialLockers; - - GThreadMutex() - { - potentialLockers = 0; - lockForPotentialLockers = new Object(); - } -} -// Local Variables: -// c-file-style: "gnu" -// End: diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java b/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java deleted file mode 100644 index 9a1b8e3a30a..00000000000 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java +++ /dev/null @@ -1,303 +0,0 @@ -/* GThreadNativeMethodRunner.java -- Implements pthread_create(), under - glib's gthread abstraction, for use with GNU Classpath's - --portable-native-sync option. - This is used by gthread-jni.c - - Copyright (C) 2004, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - -package gnu.java.awt.peer.gtk; - -import java.lang.ref.WeakReference; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -/** Implements pthread_create(), under glib's gthread abstraction, for use - with GNU Classpath's --portable-native-sync option. This is used in - gthread-jni.c - - Also implements a registry for threads, mapping Thread objects to small - integers. The registry uses weak references for threads that aren't - joinable, so that they will be garbage collected. - - There are a number of possible alternative implementations. - - - The rest of this comment consists of an answer to a question that was - raised on the commit-classpath mailing list: - - Mark Wielaard wrote: - - > Can't we assume that jobject and gpointer are both (void *) so we don't - > need the int <-> Thread (global jobject ref) mapping? - > Maybe there are platforms where jobject and gpointer aren't the same, - > but I guess that is pretty unlikely. - - - I agree with you on the pointer size issues. A gpointer is a void *, so - it's certainly guaranteed to be at least as large as any other - pointer. And a jobject is implicitly an opaque pointer (in Jikes RVM, we - use small integers, but we coerce them into the representation of a - pointer). - - The int <==> Thread mapping addresses a different issue. I realize that I - did not document this properly (two and a half lines in thread_create), - and the point is subtle (at least to me; took me a while to figure out). - - The int => Thread mapping always returns jobjects that are local - references, not global ones. This is because Thread objects need to be - able to go away and be garbage collected after the thread they refer to - has died. - - If we keep a global object reference to a thread, then when do we delete - that global object reference? We have an answer in the case of GThread - objects that were explicitly created with the joinable attribute. It is - safe for us to maintain a global reference to any joinable thread, since - the joinable thread must linger (even if only in a zombie state) - until it's explicitly joined via a g_thread_join() call. The global ref - could be cleaned up at that point too. - - However, in the case of GThreads that were created non-joinable by - g_thread_create(), and in the case of Java threads that were created - within pure Java code (not via g_thread_create()), we don't want them to - linger forever, and there is no way to tell when the last reference - to such threads needs to expire. In the case of this application -- AWT - with GTK peers -- it would probably be safe anyway, since there are not - very many threads we create, but I was going for correctness even in the - case of long-running programs that might set up and tear down AWT - interfaces many times. - - So, I duplicated the POSIX thread-ID semantics. The thread ID of a - non-joinable thread remains valid as long as that thread is still alive. - Once that thread dies, the old thread ID may be reused at any moment. And - that's why the array indexed by thread ID numbers is an array of weak - references. - - That's also why the int => Thread jobject mapping function always returns - local references, since global references would lock the Thread in memory - forever. - - I would dearly love there to be a cleaner solution. I dislike the - repeated dips from C code into Java that are necessary to look up thread - ID numbers. If anyone can think of one, I'm all ears. -*/ - -class GThreadNativeMethodRunner - extends Thread -{ - /** The C function pointer that was passed to g_thread_create(). - Specifically, this the numeric address of an object of - C type "void *(*funcPtr)(void *funcArg)". - */ - private final long funcPtr; - - /** The argument for the function "funcPtr(funcArg)". */ - private final long funcArg; - - GThreadNativeMethodRunner(long funcPtr, long funcArg, boolean joinable) - { - this.funcPtr = funcPtr; - this.funcArg = funcArg; - - if (joinable) - registerSelfJoinable(); - } - - public void run() - { - nativeRun(funcPtr, funcArg); - } - - private native void nativeRun(long funcPtr, long funcArg); - - /** THREADS is an array of threads, indexed by thread ID codes. Not sure - whether this is the "best" approach but it does make it O(1) to look up a - thread by its ID. - - Zero is a valid thread ID code. Any negative number is invalid. - - Possible future fixes (TODO?) - - - The THREADS array will only grow. probably not a problem. - But we could keep count when nulling entries and shrink when we have - lots of nulls at the end. Probably not worth it. --mjw - - - Could make this a set of Object; see the comment on "joinable" below. - - The initial size of 17 is just a starting point. Any number will do, - including zero. - */ - private static WeakReference[] threads = new WeakReference[17]; - - /** Used by threadToThreadID, below. Returns the registration number of - the newly-registered thread. - */ - private static synchronized int registerThread(Thread t) - { - int i; - - for (i = 0; i < threads.length; ++i) - { - WeakReference ref = threads[i]; - if (ref == null) - break; // found an empty spot. - } - - if (i == threads.length) - { - /* expand the array */ - WeakReference[] bigger = new WeakReference[threads.length * 2]; - System.arraycopy(threads, 0, bigger, 0, threads.length); - threads = bigger; - } - - threads[i] = new WeakReference(t); - - return i; - } - - /** Look up the Thread ID # for a Thread. Assign a Thread ID # if none - exists. This is a general routine for handling all threads, including - the VM's main thread, if appropriate. - - - Runs in O(n/2) time. - - We can't just issue a threadID upon thread creation. If we were to do - that, not all threads would have a threadID, because not all threads - are launched by GThreadNativeMethodRunner. - */ - static synchronized int threadToThreadID(Thread t) - { - for (int i = 0; i < threads.length; ++i ) - { - if (threads[i] == null) - continue; - Thread referent = (Thread) threads[i].get(); - if (referent == null) - { - threads[i] = null; // Purge the dead WeakReference. - continue; - } - if (referent.equals(t)) - return i; - } // for() - - /* No match found. */ - return registerThread(t); - } - - /** @param threadID Must be a non-negative integer. - - Used to return null if the thread number was out of range or if - the thread was unregistered. Now we throw an exception. - - Possible Alternative Interface: We could go back to returning null in - some sort of check-free mode, so code that calls this function must - be prepared to get null. - */ - static Thread threadIDToThread(int threadID) - throws IllegalArgumentException - { - if (threadID < 0) - throw new IllegalArgumentException("Received a negative threadID, " - + threadID); - if (threadID >= threads.length) - throw new IllegalArgumentException("Received a threadID (" + threadID - + ") higher than was" - + " ever issued"); - - /* Note: if the user is using a stale reference, things will just - break. We might end up getting a different thread than the one - expected. - - TODO: Add an error-checking mode where the user's problems with threads - are announced. For instance, if the user asks for the thread - associated with a threadID that was never issued, we could print a - warning or even abort. - - TODO: Consider optionally disabling all of the error-checking we - already have; it probably slows down the implementation. We could - just return NULL. This is just the reverse of the above TODO item. - */ - - WeakReference threadRef = threads[threadID]; - - if (threadRef == null) - throw new IllegalArgumentException("Asked to look up a stale or unissued" - + "threadID (" + threadID + ")" ); - - - Thread referent = (Thread) threadRef.get(); - if (referent == null) - throw new IllegalArgumentException ("Asked to look up a stale threadID (" - + threadID + ")"); - return referent; - } - - /** Joinable threads need a hard reference, so that they won't go away when - they die. That is because their thread IDs need to stay valid until the - thread is joined via thread_join(threadID). Joinable threads have to be - explicitly joined before they are allowed to go away completely. - - Possible Alternative Implementation: Eliminate the Joinable set. When - calling getThreadIDFromThread() you know whether or not the thread - is joinable. So just store the Thread itself in the threads array? - Make that array an Object array and check with instanceof. This - looks cleaner and more robust to me and it saves a native -> Java - call. But instanceof might be expensive. --mjw - */ - private static final Set joinable = - Collections.synchronizedSet(new HashSet()); - - /** Only called from the constructor. */ - private void registerSelfJoinable() - { - joinable.add(this); - } - - /** This method is only called from JNI, and only after we have succeeded in - a thread_join() operation. */ - static void deRegisterJoinable(Thread thread) - { - joinable.remove(thread); - } -} - -// Local Variables: -// c-file-style: "gnu" -// End: diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java index 5f5126ac590..c3c94d8a935 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java @@ -67,7 +67,7 @@ public class GdkFontPeer extends ClasspathFontPeer * The size of the cache has been chosen so that relativly large GUIs with * text documents are still efficient. */ - HashMap textLayoutCache = new GtkToolkit.LRUCache(500); + HashMap textLayoutCache = new GtkToolkit.LRUCache(500); private class GdkFontMetrics extends FontMetrics { @@ -79,7 +79,7 @@ public class GdkFontPeer extends ClasspathFontPeer public int stringWidth (String str) { - TextLayout tl = (TextLayout) textLayoutCache.get(str); + TextLayout tl = textLayoutCache.get(str); if (tl == null) { tl = new TextLayout(str, font, DEFAULT_CTX); @@ -140,7 +140,7 @@ public class GdkFontPeer extends ClasspathFontPeer /** * Cache GlyphMetrics objects. */ - private HashMap metricsCache; + private HashMap metricsCache; private static final int FONT_METRICS_ASCENT = 0; private static final int FONT_METRICS_MAX_ASCENT = 1; @@ -235,7 +235,7 @@ public class GdkFontPeer extends ClasspathFontPeer super(name, style, size); initState (); setFont (this.familyName, this.style, (int)this.size); - metricsCache = new HashMap(); + metricsCache = new HashMap(); setupMetrics(); } @@ -244,7 +244,7 @@ public class GdkFontPeer extends ClasspathFontPeer super(name, attributes); initState (); setFont (this.familyName, this.style, (int)this.size); - metricsCache = new HashMap(); + metricsCache = new HashMap(); setupMetrics(); } @@ -261,9 +261,9 @@ public class GdkFontPeer extends ClasspathFontPeer return font; else { - ClasspathToolkit toolkit; - toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); - return toolkit.getFont(font.getName(), font.getAttributes()); + ClasspathToolkit toolkit; + toolkit = (ClasspathToolkit) Toolkit.getDefaultToolkit(); + return toolkit.getFont(font.getName(), font.getAttributes()); } } @@ -294,9 +294,9 @@ public class GdkFontPeer extends ClasspathFontPeer name = getName(NameDecoder.NAME_SUBFAMILY, locale); if (name == null) { - name = getName(NameDecoder.NAME_SUBFAMILY, Locale.ENGLISH); - if ("Regular".equals(name)) - name = null; + name = getName(NameDecoder.NAME_SUBFAMILY, Locale.ENGLISH); + if ("Regular".equals(name)) + name = null; } return name; @@ -340,12 +340,12 @@ public class GdkFontPeer extends ClasspathFontPeer { if (nameTable == null) { - byte[] data = getTrueTypeTable((byte)'n', (byte) 'a', - (byte) 'm', (byte) 'e'); - if( data == null ) - return null; + byte[] data = getTrueTypeTable((byte)'n', (byte) 'a', + (byte) 'm', (byte) 'e'); + if( data == null ) + return null; - nameTable = ByteBuffer.wrap( data ); + nameTable = ByteBuffer.wrap( data ); } return NameDecoder.getName(nameTable, name, locale); @@ -492,8 +492,8 @@ public class GdkFontPeer extends ClasspathFontPeer char[] chars, int start, int limit, int flags) { - return new FreetypeGlyphVector( font, chars, start, limit - start, - frc, flags); + return new FreetypeGlyphVector(font, chars, start, limit - start, + frc, flags); } public LineMetrics getLineMetrics (Font font, String str, @@ -515,13 +515,13 @@ public class GdkFontPeer extends ClasspathFontPeer */ GlyphMetrics getGlyphMetrics( int glyphCode ) { - return (GlyphMetrics)metricsCache.get( new Integer( glyphCode ) ); + return metricsCache.get(new Integer(glyphCode)); } /** * Put a GlyphMetrics object in the cache. */ - void putGlyphMetrics( int glyphCode, Object metrics ) + void putGlyphMetrics( int glyphCode, GlyphMetrics metrics ) { metricsCache.put( new Integer( glyphCode ), metrics ); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java index db725b697df..bd6daa2d1e5 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java @@ -38,16 +38,21 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.ClasspathGraphicsEnvironment; + import java.awt.Font; import java.awt.Graphics2D; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.HeadlessException; import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; import java.awt.image.Raster; +import java.awt.image.SampleModel; +import java.awt.image.WritableRaster; import java.util.Locale; -public class GdkGraphicsEnvironment extends GraphicsEnvironment +public class GdkGraphicsEnvironment extends ClasspathGraphicsEnvironment { private final int native_state = GtkGenericPeer.getUniqueInteger (); @@ -139,4 +144,13 @@ public class GdkGraphicsEnvironment extends GraphicsEnvironment * Used by GtkMouseInfoPeer. */ native int[] getMouseCoordinates(); + + public WritableRaster createRaster(ColorModel cm, SampleModel sm) + { + if (CairoSurface.isCompatibleSampleModel(sm) + && CairoSurface.isCompatibleColorModel(cm)) + return new CairoSurface(sm.getWidth(), sm.getHeight()); + else + return null; + } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java index 6d0a52b91be..6f6ea560db7 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java @@ -184,22 +184,22 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder int len = 0; synchronized(pixbufLock) { - initState(); + initState(); } needsClose = true; // Note: We don't want the pixbufLock while reading from the InputStream. while ((len = is.read (bytes)) != -1) { - synchronized(pixbufLock) - { - pumpBytes (bytes, len); - } + synchronized(pixbufLock) + { + pumpBytes (bytes, len); + } } synchronized(pixbufLock) { - pumpDone(); + pumpDone(); } needsClose = false; @@ -217,7 +217,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder { synchronized(pixbufLock) { - finish(needsClose); + finish(needsClose); } } @@ -226,8 +226,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder { public String name; public boolean writable = false; - public ArrayList mimeTypes = new ArrayList(); - public ArrayList extensions = new ArrayList(); + public ArrayList mimeTypes = new ArrayList(); + public ArrayList extensions = new ArrayList(); public ImageFormatSpec(String name, boolean writable) { @@ -246,7 +246,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder } } - static ArrayList imageFormatSpecs; + static ArrayList imageFormatSpecs; public static ImageFormatSpec registerFormat(String name, boolean writable) { @@ -254,7 +254,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder synchronized(GdkPixbufDecoder.class) { if (imageFormatSpecs == null) - imageFormatSpecs = new ArrayList(); + imageFormatSpecs = new ArrayList(); imageFormatSpecs.add(ifs); } return ifs; @@ -262,13 +262,13 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder static String[] getFormatNames(boolean writable) { - ArrayList names = new ArrayList(); + ArrayList names = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; names.add(ifs.name); @@ -279,62 +279,50 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder * This generally means "all the extensions people might use". */ - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) - names.add((String) j.next()); + names.add(j.next()); } } - Object[] objs = names.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return names.toArray(new String[names.size()]); } static String[] getFormatExtensions(boolean writable) { - ArrayList extensions = new ArrayList(); + ArrayList extensions = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) - extensions.add((String) j.next()); + extensions.add(j.next()); } } - Object[] objs = extensions.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return extensions.toArray(new String[extensions.size()]); } static String[] getFormatMimeTypes(boolean writable) { - ArrayList mimeTypes = new ArrayList(); + ArrayList mimeTypes = new ArrayList(); synchronized (imageFormatSpecs) { - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (writable && !ifs.writable) continue; - Iterator j = ifs.mimeTypes.iterator(); + Iterator j = ifs.mimeTypes.iterator(); while (j.hasNext()) - mimeTypes.add((String) j.next()); + mimeTypes.add(j.next()); } } - Object[] objs = mimeTypes.toArray(); - String[] strings = new String[objs.length]; - for (int i = 0; i < objs.length; ++i) - strings[i] = (String) objs[i]; - return strings; + return mimeTypes.toArray(new String[mimeTypes.size()]); } @@ -348,10 +336,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder String str = (String) ext; - Iterator i = imageFormatSpecs.iterator(); + Iterator i = imageFormatSpecs.iterator(); while (i.hasNext()) { - ImageFormatSpec ifs = (ImageFormatSpec) i.next(); + ImageFormatSpec ifs = i.next(); if (needWritable && !ifs.writable) continue; @@ -359,10 +347,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (ifs.name.equals(str)) return str; - Iterator j = ifs.extensions.iterator(); + Iterator j = ifs.extensions.iterator(); while (j.hasNext()) { - String extension = (String)j.next(); + String extension = j.next(); if (extension.equals(str)) return ifs.name; } @@ -370,7 +358,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder j = ifs.mimeTypes.iterator(); while (j.hasNext()) { - String mimeType = (String)j.next(); + String mimeType = j.next(); if (mimeType.equals(str)) return ifs.name; } @@ -510,10 +498,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (pixels == null) { - BufferedImage img; - if(model != null && model.hasAlpha()) - img = CairoSurface.getBufferedImage(width, height); - img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); + BufferedImage img; + if(model != null && model.hasAlpha()) + img = CairoSurface.getBufferedImage(width, height); + img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); int[] pix = new int[4]; for (int y = 0; y < height; ++y) for (int x = 0; x < width; ++x) @@ -527,10 +515,10 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder workerThread.start(); processImageStarted(1); synchronized(pixbufLock) - { - streamImage(pixels, this.ext, width, height, model.hasAlpha(), - this); - } + { + streamImage(pixels, this.ext, width, height, model.hasAlpha(), + this); + } synchronized(data) { data.add(DATADONE); @@ -539,18 +527,18 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder while (workerThread.isAlive()) { - try - { - workerThread.join(); - } - catch (InterruptedException ioe) - { - // Ignored. - } + try + { + workerThread.join(); + } + catch (InterruptedException ioe) + { + // Ignored. + } } if (exception != null) - throw exception; + throw exception; processImageComplete(); } @@ -566,7 +554,7 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder * Needs to be synchronized for access. * The special object DATADONE is added when all data has been delivered. */ - private ArrayList data = new ArrayList(); + private ArrayList data = new ArrayList(); /** * Holds any IOException thrown by the run method that needs @@ -643,7 +631,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder this.ext = findFormatName(ext, false); } - public GdkPixbufReader(GdkPixbufReaderSpi ownerSpi, Object ext, GdkPixbufDecoder d) + public GdkPixbufReader(GdkPixbufReaderSpi ownerSpi, Object ext, + GdkPixbufDecoder d) { this(ownerSpi, ext); dec = d; @@ -680,10 +669,12 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder if (bufferedImage == null) { - if(model != null && model.hasAlpha()) - bufferedImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_ARGB); - else - bufferedImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_RGB); + if(model != null && model.hasAlpha()) + bufferedImage = new BufferedImage (width, height, + BufferedImage.TYPE_INT_ARGB); + else + bufferedImage = new BufferedImage (width, height, + BufferedImage.TYPE_INT_RGB); } int pixels2[]; @@ -735,11 +726,11 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder return null; } - public Iterator getImageTypes(int imageIndex) + public Iterator getImageTypes(int imageIndex) throws IOException { BufferedImage img = getBufferedImage(); - Vector vec = new Vector(); + Vector vec = new Vector(); vec.add(new ImageTypeSpecifier(img)); return vec.iterator(); } @@ -767,8 +758,8 @@ public class GdkPixbufDecoder extends gnu.java.awt.image.ImageDecoder else if (get instanceof DataInput) dec = new GdkPixbufDecoder((DataInput) get); else - throw new IllegalArgumentException("input object not supported: " - + get); + throw new IllegalArgumentException("input object not supported: " + + get); } public BufferedImage read(int imageIndex, ImageReadParam param) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java b/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java index 62116a3226c..a69c6f0659e 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java @@ -188,7 +188,7 @@ class GdkScreenGraphicsDevice extends GraphicsDevice displayModes = nativeGetDisplayModes(env); } - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); for(int i=0;i groupMap + = new WeakHashMap(); public native void createCheckButton (); public native void createRadioButton (long groupPointer); @@ -98,7 +99,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -133,8 +134,8 @@ public class GtkCheckboxPeer extends GtkComponentPeer { if (currentState != state) { - currentState = state; - gtkToggleButtonSetActive(state); + currentState = state; + gtkToggleButtonSetActive(state); } } @@ -158,7 +159,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -203,7 +204,7 @@ public class GtkCheckboxPeer extends GtkComponentPeer Long groupPointer = null; synchronized (groupMap) { - groupPointer = (Long) groupMap.get(current_group); + groupPointer = groupMap.get(current_group); } if (groupPointer == null) @@ -230,9 +231,9 @@ public class GtkCheckboxPeer extends GtkComponentPeer // Only fire event is state actually changed. if (currentState != state) { - currentState = state; - super.postItemEvent(awtComponent, - state ? ItemEvent.SELECTED : ItemEvent.DESELECTED); + currentState = state; + super.postItemEvent(awtComponent, + state ? ItemEvent.SELECTED : ItemEvent.DESELECTED); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java index d866cefd33c..ff061d35c74 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java @@ -55,12 +55,12 @@ public class GtkChoicePeer extends GtkComponentPeer int count = c.getItemCount (); if (count > 0) { - for (int i = 0; i < count; i++) - add( c.getItem(i), i ); + for (int i = 0; i < count; i++) + add(c.getItem(i), i); - selected = c.getSelectedIndex(); - if( selected >= 0 ) - select( selected ); + selected = c.getSelectedIndex(); + if (selected >= 0) + select( selected ); } else selected = -1; @@ -121,9 +121,9 @@ public class GtkChoicePeer extends GtkComponentPeer { if( selected != index ) { - selected = index; - postItemEvent (((Choice) awtComponent).getItem( selected ), - ItemEvent.SELECTED); + selected = index; + postItemEvent (((Choice) awtComponent).getItem( selected ), + ItemEvent.SELECTED); } } @@ -133,11 +133,11 @@ public class GtkChoicePeer extends GtkComponentPeer */ public void handleEvent (AWTEvent event) { - super.handleEvent( event ); - if( event instanceof ItemEvent ) - if( ((ItemEvent)event).getItemSelectable() == awtComponent && - ((ItemEvent)event).getStateChange() == ItemEvent.SELECTED ) - ((Choice)awtComponent).select( selected ); + super.handleEvent (event); + if (event instanceof ItemEvent) + if (((ItemEvent)event).getItemSelectable() == awtComponent + && ((ItemEvent)event).getStateChange() == ItemEvent.SELECTED) + ((Choice)awtComponent).select( selected ); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java index f520fe224b1..e41754641bb 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java @@ -71,9 +71,9 @@ public class GtkClipboard extends Clipboard // cached by GtkSelection. True if // gdk_display_supports_selection_notification. static final boolean canCache = initNativeState(clipboard, selection, - stringMimeType, - imageMimeType, - filesMimeType); + stringMimeType, + imageMimeType, + filesMimeType); /** * Creates the clipboard and sets the initial contents to the @@ -140,8 +140,8 @@ public class GtkClipboard extends Clipboard if (contents == null) { - advertiseContent(null, false, false, false); - return; + advertiseContent(null, false, false, false); + return; } // We don't need to do anything for a GtkSelection facade. @@ -153,46 +153,45 @@ public class GtkClipboard extends Clipboard boolean files = false; if (contents instanceof StringSelection - || contents.isDataFlavorSupported(DataFlavor.stringFlavor) - || contents.isDataFlavorSupported(DataFlavor.plainTextFlavor) - || contents.isDataFlavorSupported(DataFlavor - .getTextPlainUnicodeFlavor())) + || contents.isDataFlavorSupported(DataFlavor.stringFlavor) + || contents.isDataFlavorSupported(DataFlavor.plainTextFlavor) + || contents.isDataFlavorSupported(DataFlavor.getTextPlainUnicodeFlavor())) text = true; DataFlavor[] flavors = contents.getTransferDataFlavors(); String[] mimeTargets = new String[flavors.length]; for (int i = 0; i < flavors.length; i++) { - DataFlavor flavor = flavors[i]; - String mimeType = flavor.getMimeType(); - mimeTargets[i] = mimeType; + DataFlavor flavor = flavors[i]; + String mimeType = flavor.getMimeType(); + mimeTargets[i] = mimeType; - if (! text) - if ("text".equals(flavor.getPrimaryType()) - || flavor.isRepresentationClassReader()) - text = true; + if (! text) + if ("text".equals(flavor.getPrimaryType()) + || flavor.isRepresentationClassReader()) + text = true; - if (! images && flavors[i].equals(DataFlavor.imageFlavor)) - { - try - { - Object o = contents.getTransferData(DataFlavor.imageFlavor); - if (o instanceof Image) - images = true; - } - catch (UnsupportedFlavorException ufe) - { - } - catch (IOException ioe) - { - } - catch (ClassCastException cce) - { - } - } + if (! images && flavors[i].equals(DataFlavor.imageFlavor)) + { + try + { + Object o = contents.getTransferData(DataFlavor.imageFlavor); + if (o instanceof Image) + images = true; + } + catch (UnsupportedFlavorException ufe) + { + } + catch (IOException ioe) + { + } + catch (ClassCastException cce) + { + } + } - if (flavors[i].equals(DataFlavor.javaFileListFlavor)) - files = true; + if (flavors[i].equals(DataFlavor.javaFileListFlavor)) + files = true; } advertiseContent(mimeTargets, text, images, files); @@ -207,9 +206,9 @@ public class GtkClipboard extends Clipboard * selection has explicitly been erased. */ private native void advertiseContent(String[] targets, - boolean text, - boolean images, - boolean files); + boolean text, + boolean images, + boolean files); /** * Called by the gtk+ clipboard when an application has requested @@ -228,7 +227,7 @@ public class GtkClipboard extends Clipboard try { return (String) contents.getTransferData(DataFlavor.stringFlavor); - } + } catch (UnsupportedFlavorException ufe) { } @@ -244,20 +243,20 @@ public class GtkClipboard extends Clipboard // turn the result into a string. try { - DataFlavor plainText = DataFlavor.getTextPlainUnicodeFlavor(); - Reader r = plainText.getReaderForText(contents); - if (r != null) - { - StringBuffer sb = new StringBuffer(); - char[] cs = new char[1024]; - int l = r.read(cs); - while (l != -1) - { - sb.append(cs, 0, l); - l = r.read(cs); - } - return sb.toString(); - } + DataFlavor plainText = DataFlavor.getTextPlainUnicodeFlavor(); + Reader r = plainText.getReaderForText(contents); + if (r != null) + { + StringBuffer sb = new StringBuffer(); + char[] cs = new char[1024]; + int l = r.read(cs); + while (l != -1) + { + sb.append(cs, 0, l); + l = r.read(cs); + } + return sb.toString(); + } } catch (IllegalArgumentException iae) { @@ -288,11 +287,11 @@ public class GtkClipboard extends Clipboard try { - Object o = contents.getTransferData(DataFlavor.imageFlavor); - if( o instanceof GtkImage ) - return (GtkImage) o; - else - return new GtkImage(((Image)o).getSource()); + Object o = contents.getTransferData(DataFlavor.imageFlavor); + if( o instanceof GtkImage ) + return (GtkImage) o; + else + return new GtkImage(((Image)o).getSource()); } catch (UnsupportedFlavorException ufe) { @@ -321,14 +320,13 @@ public class GtkClipboard extends Clipboard try { - List list = (List) contents.getTransferData - (DataFlavor.javaFileListFlavor); - String[] uris = new String[list.size()]; - int u = 0; - Iterator it = list.iterator(); - while (it.hasNext()) - uris[u++] = ((File) it.next()).toURI().toString(); - return uris; + List list = (List) contents.getTransferData(DataFlavor.javaFileListFlavor); + String[] uris = new String[list.size()]; + int u = 0; + Iterator it = list.iterator(); + while (it.hasNext()) + uris[u++] = ((File) it.next()).toURI().toString(); + return uris; } catch (UnsupportedFlavorException ufe) { @@ -365,34 +363,34 @@ public class GtkClipboard extends Clipboard // the other provideXXX() methods. try { - DataFlavor flavor = new DataFlavor(target); - Object o = contents.getTransferData(flavor); + DataFlavor flavor = new DataFlavor(target); + Object o = contents.getTransferData(flavor); - if (o instanceof byte[]) - return (byte[]) o; + if (o instanceof byte[]) + return (byte[]) o; - if (o instanceof InputStream) - { - InputStream is = (InputStream) o; - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte[] bs = new byte[1024]; - int l = is.read(bs); - while (l != -1) - { - baos.write(bs, 0, l); - l = is.read(bs); - } - return baos.toByteArray(); - } + if (o instanceof InputStream) + { + InputStream is = (InputStream) o; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] bs = new byte[1024]; + int l = is.read(bs); + while (l != -1) + { + baos.write(bs, 0, l); + l = is.read(bs); + } + return baos.toByteArray(); + } - if (o instanceof Serializable) - { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(o); - oos.close(); - return baos.toByteArray(); - } + if (o instanceof Serializable) + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(o); + oos.close(); + return baos.toByteArray(); + } } catch (ClassNotFoundException cnfe) { @@ -416,8 +414,8 @@ public class GtkClipboard extends Clipboard * Clipboard can be cached (gdk_display_supports_selection_notification). */ private static native boolean initNativeState(GtkClipboard clipboard, - GtkClipboard selection, - String stringTarget, - String imageTarget, - String filesTarget); + GtkClipboard selection, + String stringTarget, + String imageTarget, + String filesTarget); } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java index 61df796dc00..8e593455774 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java @@ -74,11 +74,11 @@ class GtkClipboardNotifier extends Thread { synchronized (notifier) { - if (clipboard == GtkClipboard.clipboard) - announceClipboardChange = true; - else - announcePrimaryChange = true; - notifier.notifyAll(); + if (clipboard == GtkClipboard.clipboard) + announceClipboardChange = true; + else + announcePrimaryChange = true; + notifier.notifyAll(); } } @@ -87,44 +87,43 @@ class GtkClipboardNotifier extends Thread GtkClipboard clipboard; while (true) { - synchronized (this) - { - while (! announceClipboardChange && ! announcePrimaryChange) - { - try - { - this.wait(); - } - catch (InterruptedException ie) - { - // ignore - } - } + synchronized (this) + { + while (! announceClipboardChange && ! announcePrimaryChange) + { + try + { + this.wait(); + } + catch (InterruptedException ie) + { + // ignore + } + } - if (announceClipboardChange) - { - clipboard = GtkClipboard.clipboard; - announceClipboardChange = false; - } - else - { - clipboard = GtkClipboard.selection; - announcePrimaryChange = false; - } - } + if (announceClipboardChange) + { + clipboard = GtkClipboard.clipboard; + announceClipboardChange = false; + } + else + { + clipboard = GtkClipboard.selection; + announcePrimaryChange = false; + } + } - // Do the actual announcement without the lock held. We will - // notice a new change after this notification has finished. - try - { - clipboard.setContents(new GtkSelection(clipboard), null); - } - catch (Throwable t) - { - // should never happen, but might if we have some faulty - // listener. - t.printStackTrace(); - } + // Do the actual announcement without the lock held. We will + // notice a new change after this notification has finished. + try + { + clipboard.setContents(new GtkSelection(clipboard), null); + } + catch (Throwable t) + { + // should never happen, but might if we have some faulty listener. + t.printStackTrace(); + } } } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java index b1ef09d6e1b..a7ae8e17f2b 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java @@ -109,7 +109,7 @@ public class GtkComponentPeer extends GtkGenericPeer native void gtkWidgetGetLocationOnScreen (int[] point); native void gtkWidgetSetCursor (int type, GtkImage image, int x, int y); native void gtkWidgetSetCursorUnlocked (int type, GtkImage image, - int x, int y); + int x, int y); native void gtkWidgetSetBackground (int red, int green, int blue); native void gtkWidgetSetForeground (int red, int green, int blue); native void gtkWidgetSetSensitive (boolean sensitive); @@ -206,7 +206,7 @@ public class GtkComponentPeer extends GtkGenericPeer } public int checkImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { return getToolkit().checkImage(image, width, height, observer); } @@ -402,7 +402,7 @@ public class GtkComponentPeer extends GtkGenericPeer } public boolean prepareImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { return getToolkit().prepareImage(image, width, height, observer); } @@ -539,17 +539,17 @@ public class GtkComponentPeer extends GtkGenericPeer int type = cursor.getType(); if (cursor instanceof GtkCursor) { - GtkCursor gtkCursor = (GtkCursor) cursor; - image = gtkCursor.getGtkImage(); - Point hotspot = gtkCursor.getHotspot(); - x = hotspot.x; - y = hotspot.y; + GtkCursor gtkCursor = (GtkCursor) cursor; + image = gtkCursor.getGtkImage(); + Point hotspot = gtkCursor.getHotspot(); + x = hotspot.x; + y = hotspot.y; } else { - image = null; - x = 0; - y = 0; + image = null; + x = 0; + y = 0; } if (Thread.currentThread() == GtkMainThread.mainThread) @@ -597,7 +597,7 @@ public class GtkComponentPeer extends GtkGenericPeer if (b && ! (awtComponent instanceof Window)) { Rectangle bounds = awtComponent.getBounds(); - b = (bounds.width > 0) && (bounds.height > 0); + b = (bounds.width > 0) && (bounds.height > 0); } if (Thread.currentThread() == GtkMainThread.mainThread) @@ -617,23 +617,23 @@ public class GtkComponentPeer extends GtkGenericPeer } protected void postMouseEvent(int id, long when, int mods, int x, int y, - int clickCount, boolean popupTrigger) + int clickCount, boolean popupTrigger) { q().postEvent(new MouseEvent(awtComponent, id, when, mods, x, y, - clickCount, popupTrigger)); + clickCount, popupTrigger)); } /** * Callback for component_scroll_cb. */ protected void postMouseWheelEvent(int id, long when, int mods, - int x, int y, int clickCount, - boolean popupTrigger, - int type, int amount, int rotation) + int x, int y, int clickCount, + boolean popupTrigger, + int type, int amount, int rotation) { q().postEvent(new MouseWheelEvent(awtComponent, id, when, mods, - x, y, clickCount, popupTrigger, - type, amount, rotation)); + x, y, clickCount, popupTrigger, + type, amount, rotation)); } protected void postExposeEvent (int x, int y, int width, int height) @@ -659,12 +659,12 @@ public class GtkComponentPeer extends GtkGenericPeer && keyCode != KeyEvent.VK_ALT)) { synchronized(q) - { - q.postEvent(keyEvent); - keyEvent = new KeyEvent(awtComponent, KeyEvent.KEY_TYPED, when, - mods, KeyEvent.VK_UNDEFINED, keyChar, - keyLocation); - q.postEvent(keyEvent); + { + q.postEvent(keyEvent); + keyEvent = new KeyEvent(awtComponent, KeyEvent.KEY_TYPED, when, + mods, KeyEvent.VK_UNDEFINED, keyChar, + keyLocation); + q.postEvent(keyEvent); } } else @@ -685,8 +685,8 @@ public class GtkComponentPeer extends GtkGenericPeer protected void postItemEvent (Object item, int stateChange) { q().postEvent (new ItemEvent ((ItemSelectable)awtComponent, - ItemEvent.ITEM_STATE_CHANGED, - item, stateChange)); + ItemEvent.ITEM_STATE_CHANGED, + item, stateChange)); } protected void postTextEvent () @@ -828,8 +828,8 @@ public class GtkComponentPeer extends GtkGenericPeer // buffer and one front buffer. if (numBuffers == 2) backBuffer = new GtkVolatileImage(this, awtComponent.getWidth(), - awtComponent.getHeight(), - caps.getBackBufferCapabilities()); + awtComponent.getHeight(), + caps.getBackBufferCapabilities()); else throw new AWTException("GtkComponentPeer.createBuffers:" + " multi-buffering not supported"); @@ -846,18 +846,18 @@ public class GtkComponentPeer extends GtkGenericPeer public void flip (BufferCapabilities.FlipContents contents) { getGraphics().drawImage(backBuffer, - awtComponent.getWidth(), - awtComponent.getHeight(), - null); + awtComponent.getWidth(), + awtComponent.getHeight(), + null); // create new back buffer and clear it to the background color. if (contents == BufferCapabilities.FlipContents.BACKGROUND) { backBuffer = createVolatileImage(awtComponent.getWidth(), - awtComponent.getHeight()); + awtComponent.getHeight()); backBuffer.getGraphics().clearRect(0, 0, - awtComponent.getWidth(), - awtComponent.getHeight()); + awtComponent.getWidth(), + awtComponent.getHeight()); } // FIXME: support BufferCapabilities.FlipContents.PRIOR } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java index 8650578f70e..7d5ef91de13 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java @@ -40,7 +40,6 @@ package gnu.java.awt.peer.gtk; import java.awt.Dialog; import java.awt.FileDialog; -import java.awt.Graphics; import java.awt.event.PaintEvent; import java.awt.peer.FileDialogPeer; import java.io.File; @@ -160,7 +159,8 @@ public class GtkFileDialogPeer extends GtkDialogPeer implements FileDialogPeer in turn call the filter's accept() method and give back the return value. */ // called back by native side: filename_filter_cb - boolean filenameFilterCallback (String fullname) { + boolean filenameFilterCallback (String fullname) + { String filename = fullname.substring(fullname.lastIndexOf(FS) + 1); String dirname = fullname.substring(0, fullname.lastIndexOf(FS)); File dir = new File(dirname); @@ -205,19 +205,19 @@ public class GtkFileDialogPeer extends GtkDialogPeer implements FileDialogPeer if (sepIndex < 0) { /* This should never happen on Unix (all paths start with '/') */ - currentFile = fileName; + currentFile = fileName; } else { if (fileName.length() > (sepIndex + 1)) - { - String fn = fileName.substring (sepIndex + 1); - currentFile = fn; - } - else - { + { + String fn = fileName.substring (sepIndex + 1); + currentFile = fn; + } + else + { currentFile = null; - } + } String dn = fileName.substring (0, sepIndex + 1); currentDirectory = dn; diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java index d113e92f5b4..b35be522746 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java @@ -1,5 +1,5 @@ /* GtkFramePeer.java -- Implements FramePeer with GTK - Copyright (C) 1999, 2002, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -176,13 +176,17 @@ public class GtkFramePeer extends GtkWindowPeer public void setIconImage (Image image) { - if (image != null) - { - if (image instanceof GtkImage) - nativeSetIconImage((GtkImage) image); - else - nativeSetIconImage(new GtkImage(image.getSource())); - } + if (image != null) + { + GtkImage gtkImage; + if (image instanceof GtkImage) + gtkImage = (GtkImage) image; + else + gtkImage = new GtkImage(image.getSource()); + + if (gtkImage.isLoaded && ! gtkImage.errorLoading) + nativeSetIconImage(gtkImage); + } } protected void postConfigureEvent (int x, int y, int width, int height) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java index 0fd98bbd7b4..719669eae0d 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java @@ -71,7 +71,7 @@ public class GtkImage extends Image /** * Properties. */ - Hashtable props; + Hashtable props; /** * Loaded or not flag, for asynchronous compatibility. @@ -87,7 +87,7 @@ public class GtkImage extends Image /** * Observer queue. */ - Vector observers; + Vector observers; /** * Error flag for loading. @@ -103,10 +103,10 @@ public class GtkImage extends Image * The 32-bit AABBGGRR format the GDK uses. */ static ColorModel nativeModel = new DirectColorModel(32, - 0x000000FF, - 0x0000FF00, - 0x00FF0000, - 0xFF000000); + 0x000000FF, + 0x0000FF00, + 0x00FF0000, + 0xFF000000); /** * The singleton GtkImage that is returned on errors by GtkToolkit. @@ -178,7 +178,7 @@ public class GtkImage extends Image public GtkImage (ImageProducer producer) { isLoaded = false; - observers = new Vector(); + observers = new Vector(); source = producer; errorLoading = false; source.startProduction(new GtkImageConsumer(this, source)); @@ -194,7 +194,7 @@ public class GtkImage extends Image { isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); errorLoading = false; } @@ -208,26 +208,26 @@ public class GtkImage extends Image File f = new File(filename); try { - String path = f.getCanonicalPath(); - synchronized(pixbufLock) - { - if (loadPixbuf(f.getCanonicalPath()) != true) - throw new IllegalArgumentException("Couldn't load image: " - + filename); - } + String path = f.getCanonicalPath(); + synchronized(pixbufLock) + { + if (loadPixbuf(f.getCanonicalPath()) != true) + throw new IllegalArgumentException("Couldn't load image: " + + filename); + } } catch(IOException e) { - IllegalArgumentException iae; - iae = new IllegalArgumentException("Couldn't load image: " - + filename); - iae.initCause(e); - throw iae; + IllegalArgumentException iae; + iae = new IllegalArgumentException("Couldn't load image: " + + filename); + iae.initCause(e); + throw iae; } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -240,13 +240,13 @@ public class GtkImage extends Image { synchronized(pixbufLock) { - if (loadImageFromData (data) != true) - throw new IllegalArgumentException ("Couldn't load image."); + if (loadImageFromData (data) != true) + throw new IllegalArgumentException ("Couldn't load image."); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); errorLoading = false; } @@ -256,7 +256,7 @@ public class GtkImage extends Image public GtkImage (URL url) { isLoaded = false; - observers = new Vector(); + observers = new Vector(); errorLoading = false; if( url == null) return; @@ -269,23 +269,23 @@ public class GtkImage extends Image int n = 0; while ((n = bis.read(buf)) != -1) - baos.write(buf, 0, n); + baos.write(buf, 0, n); bis.close(); } catch(IOException e) { - throw new IllegalArgumentException ("Couldn't load image."); + throw new IllegalArgumentException ("Couldn't load image."); } byte[] array = baos.toByteArray(); synchronized(pixbufLock) { - if (loadImageFromData(array) != true) - throw new IllegalArgumentException ("Couldn't load image."); + if (loadImageFromData(array) != true) + throw new IllegalArgumentException ("Couldn't load image."); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -295,14 +295,14 @@ public class GtkImage extends Image { this.width = width; this.height = height; - props = new Hashtable(); + props = new Hashtable(); isLoaded = true; observers = null; // Use the GDK scaling method. synchronized(pixbufLock) { - createScaledPixbuf(src, hints); + createScaledPixbuf(src, hints); } } @@ -315,11 +315,11 @@ public class GtkImage extends Image this.pixbuf = pixbuf; synchronized(pixbufLock) { - createFromPixbuf(); + createFromPixbuf(); } isLoaded = true; observers = null; - props = new Hashtable(); + props = new Hashtable(); } /** @@ -331,7 +331,7 @@ public class GtkImage extends Image { this.width = width; this.height = height; - props = new Hashtable(); + props = new Hashtable(); isLoaded = true; observers = null; initFromBuffer( bufferPointer ); @@ -346,8 +346,8 @@ public class GtkImage extends Image { if (errorImage == null) { - errorImage = new GtkImage(); - errorImage.errorLoading = true; + errorImage = new GtkImage(); + errorImage.errorLoading = true; } return errorImage; } @@ -362,25 +362,25 @@ public class GtkImage extends Image * Callback from the image consumer. */ public void setImage(int width, int height, - int[] pixels, Hashtable properties) + int[] pixels, Hashtable properties) { this.width = width; this.height = height; - props = (properties != null) ? properties : new Hashtable(); + props = (properties != null) ? properties : new Hashtable(); if (width <= 0 || height <= 0 || pixels == null) { - errorLoading = true; - return; + errorLoading = true; + return; } - isLoaded = true; - deliver(); synchronized(pixbufLock) { - createPixbuf(); - setPixels(pixels); + createPixbuf(); + setPixels(pixels); } + isLoaded = true; + deliver(); } // java.awt.Image methods //////////////////////////////////////////////// @@ -427,7 +427,7 @@ public class GtkImage extends Image return null; } return new MemoryImageSource(width, height, nativeModel, pixels, - 0, width); + 0, width); } /** @@ -436,19 +436,19 @@ public class GtkImage extends Image public Graphics getGraphics () { throw new IllegalAccessError("This method only works for off-screen" - +" Images."); + +" Images."); } /** * Returns a scaled instance of this pixbuf. */ public Image getScaledInstance(int width, - int height, - int hints) + int height, + int hints) { if (width <= 0 || height <= 0) - throw new IllegalArgumentException("Width and height of scaled bitmap"+ - "must be >= 0"); + throw new IllegalArgumentException("Width and height of scaled bitmap" + + "must be >= 0"); return new GtkImage(this, width, height, hints); } @@ -465,13 +465,13 @@ public class GtkImage extends Image { if (isLoaded && source != null) { - observers = new Vector(); - isLoaded = false; - synchronized(pixbufLock) + observers = new Vector(); + isLoaded = false; + synchronized(pixbufLock) { freePixbuf(); } - source.startProduction(new GtkImageConsumer(this, source)); + source.startProduction(new GtkImageConsumer(this, source)); } } @@ -479,10 +479,10 @@ public class GtkImage extends Image { if (isLoaded) { - synchronized(pixbufLock) - { - freePixbuf(); - } + synchronized(pixbufLock) + { + freePixbuf(); + } } } @@ -493,10 +493,10 @@ public class GtkImage extends Image { if (addObserver(observer)) { - if (errorLoading == true) - return ImageObserver.ERROR; - else - return 0; + if (errorLoading == true) + return ImageObserver.ERROR; + else + return 0; } return ImageObserver.ALLBITS | ImageObserver.WIDTH | ImageObserver.HEIGHT; @@ -517,8 +517,8 @@ public class GtkImage extends Image if (observers != null) for(int i=0; i < observers.size(); i++) - ((ImageObserver)observers.elementAt(i)). - imageUpdate(this, flags, 0, 0, width, height); + ((ImageObserver)observers.elementAt(i)).imageUpdate(this, flags, 0, 0, + width, height); observers = null; } @@ -531,10 +531,10 @@ public class GtkImage extends Image { if (!isLoaded) { - if(observer != null) - if (!observers.contains (observer)) - observers.addElement (observer); - return true; + if(observer != null) + if (!observers.contains (observer)) + observers.addElement (observer); + return true; } return false; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java index 53e97bb1a8a..44cfaf9266a 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java @@ -55,7 +55,7 @@ public class GtkImageConsumer implements ImageConsumer { private GtkImage target; private int width, height; - private Hashtable properties; + private Hashtable properties; private int[] pixelCache = null; private ImageProducer source; @@ -97,55 +97,55 @@ public class GtkImageConsumer implements ImageConsumer } public synchronized void setPixels (int x, int y, int width, int height, - ColorModel cm, byte[] pixels, - int offset, int scansize) + ColorModel cm, byte[] pixels, + int offset, int scansize) { setPixels (x, y, width, height, cm, convertPixels (pixels), offset, scansize); } public synchronized void setPixels (int x, int y, int width, int height, - ColorModel cm, int[] pixels, - int offset, int scansize) + ColorModel cm, int[] pixels, + int offset, int scansize) { if (pixelCache == null) return; // Not sure this should ever happen. if (cm.equals(GtkImage.nativeModel)) for (int i = 0; i < height; i++) - System.arraycopy (pixels, offset + (i * scansize), - pixelCache, (y + i) * this.width + x, - width); + System.arraycopy (pixels, offset + (i * scansize), + pixelCache, (y + i) * this.width + x, + width); else { - if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) - { - for (int i = 0; i < height; i++) - for (int j = 0; j < width; j++) - { - // get in RRGGBBAA and convert to AARRGGBB - int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); - int a = ((pix & 0xFF000000) >> 24) & 0xFF; - int rgb = (pix & 0x00FFFFFF) << 8; - pix = rgb | a; - pixelCache[(y + i) * this.width + x + j] = pix; - } - } - else - { - for (int i = 0; i < height; i++) - for (int j = 0; j < width; j++) - { - // get in AARRGGBB and convert to AABBGGRR - int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); - byte b = (byte)(pix & 0xFF); - byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); - pix &= 0xFF00FF00; - pix |= ((b & 0xFF) << 16); - pix |= (r & 0xFF); - pixelCache[(y + i) * this.width + x + j] = pix; - } - } + if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in RRGGBBAA and convert to AARRGGBB + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + int a = ((pix & 0xFF000000) >> 24) & 0xFF; + int rgb = (pix & 0x00FFFFFF) << 8; + pix = rgb | a; + pixelCache[(y + i) * this.width + x + j] = pix; + } + } + else + { + for (int i = 0; i < height; i++) + for (int j = 0; j < width; j++) + { + // get in AARRGGBB and convert to AABBGGRR + int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]); + byte b = (byte)(pix & 0xFF); + byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF); + pix &= 0xFF00FF00; + pix |= ((b & 0xFF) << 16); + pix |= (r & 0xFF); + pixelCache[(y + i) * this.width + x + j] = pix; + } + } } } @@ -162,7 +162,7 @@ public class GtkImageConsumer implements ImageConsumer return ret; } - public synchronized void setProperties (Hashtable props) + public synchronized void setProperties (Hashtable props) { this.properties = props; } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java index 02db90d72bd..76f8e5fe331 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java @@ -90,11 +90,11 @@ public class GtkLabelPeer extends GtkComponentPeer switch (alignment) { case Label.LEFT: - return 0.0f; + return 0.0f; case Label.CENTER: - return 0.5f; + return 0.5f; case Label.RIGHT: - return 1.0f; + return 1.0f; } return 0.0f; diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java index bd6ec0aef75..f943a75d171 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java @@ -148,33 +148,33 @@ public class GtkListPeer extends GtkComponentPeer { // Only generate the ActionEvent on the second click of a // multiple click. - MouseEvent me = (MouseEvent) e; - if (!me.isConsumed () - && (me.getModifiersEx () & MouseEvent.BUTTON1_DOWN_MASK) != 0 - && me.getClickCount() == 2) - { + MouseEvent me = (MouseEvent) e; + if (!me.isConsumed () + && (me.getModifiersEx () & MouseEvent.BUTTON1_DOWN_MASK) != 0 + && me.getClickCount() == 2) + { String selectedItem = ((List) awtComponent).getSelectedItem (); // Double-click only generates an Action event if // something is selected. if (selectedItem != null) - postActionEvent (((List) awtComponent).getSelectedItem (), - me.getModifiersEx ()); - } + postActionEvent (((List) awtComponent).getSelectedItem (), + me.getModifiersEx ()); + } } if (e.getID () == KeyEvent.KEY_PRESSED) { - KeyEvent ke = (KeyEvent) e; - if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER) - { + KeyEvent ke = (KeyEvent) e; + if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER) + { String selectedItem = ((List) awtComponent).getSelectedItem (); // Enter only generates an Action event if something is // selected. if (selectedItem != null) - postActionEvent (selectedItem, ke.getModifiersEx ()); - } + postActionEvent (selectedItem, ke.getModifiersEx ()); + } } super.handleEvent (e); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java index a4e280fe45f..e40a04eed92 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMainThread.java @@ -40,8 +40,6 @@ package gnu.java.awt.peer.gtk; import gnu.java.awt.peer.NativeEventLoopRunningEvent; -import java.awt.AWTEvent; - /** * The Java thread representing the native GTK main loop, that is, * GtkMainThread.mainThread, terminates when GtkToolkit.gtkMain() @@ -172,9 +170,9 @@ public class GtkMainThread extends Thread { synchronized (nWindowsLock) { - if (numberOfWindows == 0) - startMainThread(); - numberOfWindows++; + if (numberOfWindows == 0) + startMainThread(); + numberOfWindows++; } } @@ -182,9 +180,9 @@ public class GtkMainThread extends Thread { synchronized (nWindowsLock) { - numberOfWindows--; - if (numberOfWindows == 0) - endMainThread(); + numberOfWindows--; + if (numberOfWindows == 0) + endMainThread(); } } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java index 898f224f5e1..c3427b18f36 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java @@ -76,15 +76,15 @@ public class GtkMenuBarPeer extends GtkMenuComponentPeer { if (hasHelpMenu) { - // Remove the (help) menu, which is after all the other items. - delMenu(((MenuBar) awtWidget).getMenuCount()); - hasHelpMenu = false; + // Remove the (help) menu, which is after all the other items. + delMenu(((MenuBar) awtWidget).getMenuCount()); + hasHelpMenu = false; } if (menu != null) { - addMenu(menu); - hasHelpMenu = true; + addMenu(menu); + hasHelpMenu = true; } } @@ -103,9 +103,9 @@ public class GtkMenuBarPeer extends GtkMenuComponentPeer // Make sure the help menu is the last one. if (hasHelpMenu) { - addHelpMenu(null); - addMenu((GtkMenuPeer) m.getPeer()); - addHelpMenu(((MenuBar) awtWidget).getHelpMenu()); + addHelpMenu(null); + addMenu((GtkMenuPeer) m.getPeer()); + addHelpMenu(((MenuBar) awtWidget).getHelpMenu()); } else addMenu((GtkMenuPeer) m.getPeer()); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java index 55b95a18d0f..1e37cefc144 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java @@ -64,9 +64,9 @@ public abstract class GtkMenuComponentPeer extends GtkGenericPeer if (f == null) { MenuContainer parent = mc.getParent (); - // Submenus inherit the font of their containing Menu(Bar). - if (parent instanceof MenuComponent) - f = parent.getFont (); + // Submenus inherit the font of their containing Menu(Bar). + if (parent instanceof MenuComponent) + f = parent.getFont (); } setFont(f); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java index 1d581c1a15c..ff6bdca9fbe 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java @@ -96,8 +96,8 @@ public class GtkMenuPeer extends GtkMenuItemPeer MenuShortcut ms = item.getShortcut (); if (ms != null) { - key = ms.getKey (); - shiftModifier = ms.usesShiftModifier (); + key = ms.getKey (); + shiftModifier = ms.usesShiftModifier (); } addItem ((MenuItemPeer) item.getPeer (), key, shiftModifier); @@ -110,8 +110,8 @@ public class GtkMenuPeer extends GtkMenuItemPeer if (ms != null) { - key = ms.getKey (); - shiftModifier = ms.usesShiftModifier (); + key = ms.getKey (); + shiftModifier = ms.usesShiftModifier (); } addItem (item, key, shiftModifier); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java index 02bf84d4e8e..7aea50991df 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkMouseInfoPeer.java @@ -53,9 +53,9 @@ public class GtkMouseInfoPeer implements MouseInfoPeer public int fillPointWithCoords(Point p) { int[] coords = gde.getMouseCoordinates(); - p.x = coords[1]; - p.y = coords[2]; - return coords[0]; + p.x = coords[1]; + p.y = coords[2]; + return coords[0]; } public boolean isWindowUnderMouse(Window w) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java index 69f8b494625..657a2760876 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java @@ -74,10 +74,8 @@ public class GtkScrollPanePeer extends GtkContainerPeer // If the child is in this range, GTK adds both scrollbars, but // the AWT doesn't. So set the peer's scroll policy to // GTK_POLICY_NEVER. - if ((width > dim[0] - getVScrollbarWidth () - && width <= dim[0]) - && (height > dim[1] - getHScrollbarHeight () - && height <= dim[1])) + if ((width > dim[0] - getVScrollbarWidth () && width <= dim[0]) + && (height > dim[1] - getHScrollbarHeight () && height <= dim[1])) setPolicy (ScrollPane.SCROLLBARS_NEVER); else setPolicy (((ScrollPane) awtComponent).getScrollbarDisplayPolicy ()); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java index e4147d36c97..c29706f408f 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java @@ -50,14 +50,14 @@ public class GtkScrollbarPeer extends GtkComponentPeer Scrollbar sb = (Scrollbar) awtComponent; create (sb.getOrientation (), sb.getValue (), - sb.getMinimum (), sb.getMaximum (), - sb.getUnitIncrement (), sb.getBlockIncrement (), - sb.getVisibleAmount ()); + sb.getMinimum (), sb.getMaximum (), + sb.getUnitIncrement (), sb.getBlockIncrement (), + sb.getVisibleAmount ()); } native void create (int orientation, int value, - int min, int max, int stepIncr, int pageIncr, - int visibleAmount); + int min, int max, int stepIncr, int pageIncr, + int visibleAmount); native void connectSignals (); @@ -86,7 +86,7 @@ public class GtkScrollbarPeer extends GtkComponentPeer { Scrollbar bar = (Scrollbar) awtComponent; q().postEvent(new AdjustmentEvent(bar, - AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, - type, value, true)); + AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED, + type, value, true)); } } diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java index 6a92f86e8b0..967a2edb432 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java @@ -130,7 +130,7 @@ public class GtkSelection implements Transferable * Set as response to a requestURIs() call. Only valid when * urisDelivered is true */ - private List uris; + private List uris; /** * Indicates a requestBytes(String) call was made and the @@ -163,51 +163,51 @@ public class GtkSelection implements Transferable DataFlavor[] result; synchronized (requestLock) { - // Did we request already and cache the result? - if (mimeTypesDelivered) - result = (DataFlavor[]) dataFlavors.clone(); - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } + // Did we request already and cache the result? + if (mimeTypesDelivered) + result = (DataFlavor[]) dataFlavors.clone(); + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } - // If nobody else beat us and cached the result we try - // ourselves to get it. - if (! mimeTypesDelivered) - { - requestInProgress = true; - requestMimeTypes(clipboard); - while (! mimeTypesDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = dataFlavors; - if (! GtkClipboard.canCache) - { - dataFlavors = null; - mimeTypesDelivered = false; - } - requestLock.notifyAll(); - } + // If nobody else beat us and cached the result we try + // ourselves to get it. + if (! mimeTypesDelivered) + { + requestInProgress = true; + requestMimeTypes(clipboard); + while (! mimeTypesDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = dataFlavors; + if (! GtkClipboard.canCache) + { + dataFlavors = null; + mimeTypesDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -220,53 +220,55 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - if (mimeTypes == null) - dataFlavors = new DataFlavor[0]; - else - { - // Most likely the mimeTypes include text in which case we add an - // extra element. - ArrayList flavorsList = new ArrayList(mimeTypes.length + 1); - for (int i = 0; i < mimeTypes.length; i++) - { - try - { - if (mimeTypes[i] == GtkClipboard.stringMimeType) - { - // XXX - Fix DataFlavor.getTextPlainUnicodeFlavor() - // and also add it to the list. - flavorsList.add(DataFlavor.stringFlavor); - flavorsList.add(DataFlavor.plainTextFlavor); - } - else if (mimeTypes[i] == GtkClipboard.imageMimeType) - flavorsList.add(DataFlavor.imageFlavor); - else if (mimeTypes[i] == GtkClipboard.filesMimeType) - flavorsList.add(DataFlavor.javaFileListFlavor); - else - { - // We check the target to prevent duplicates - // of the "magic" targets above. - DataFlavor target = new DataFlavor(mimeTypes[i]); - if (! flavorsList.contains(target)) - flavorsList.add(target); - } - } - catch (ClassNotFoundException cnfe) - { - cnfe.printStackTrace(); - } - catch (NullPointerException npe) - { - npe.printStackTrace(); - } - } + if (mimeTypes == null) + dataFlavors = new DataFlavor[0]; + else + { + // Most likely the mimeTypes include text in which case we add an + // extra element. + ArrayList flavorsList = + new ArrayList(mimeTypes.length + 1); + + for (int i = 0; i < mimeTypes.length; i++) + { + try + { + if (mimeTypes[i] == GtkClipboard.stringMimeType) + { + // XXX - Fix DataFlavor.getTextPlainUnicodeFlavor() + // and also add it to the list. + flavorsList.add(DataFlavor.stringFlavor); + flavorsList.add(DataFlavor.plainTextFlavor); + } + else if (mimeTypes[i] == GtkClipboard.imageMimeType) + flavorsList.add(DataFlavor.imageFlavor); + else if (mimeTypes[i] == GtkClipboard.filesMimeType) + flavorsList.add(DataFlavor.javaFileListFlavor); + else + { + // We check the target to prevent duplicates + // of the "magic" targets above. + DataFlavor target = new DataFlavor(mimeTypes[i]); + if (! flavorsList.contains(target)) + flavorsList.add(target); + } + } + catch (ClassNotFoundException cnfe) + { + cnfe.printStackTrace(); + } + catch (NullPointerException npe) + { + npe.printStackTrace(); + } + } - dataFlavors = new DataFlavor[flavorsList.size()]; - flavorsList.toArray(dataFlavors); - } + dataFlavors = new DataFlavor[flavorsList.size()]; + flavorsList.toArray(dataFlavors); + } - mimeTypesDelivered = true; - requestLock.notifyAll(); + mimeTypesDelivered = true; + requestLock.notifyAll(); } } @@ -279,7 +281,7 @@ public class GtkSelection implements Transferable DataFlavor[] dfs = getTransferDataFlavors(); for (int i = 0; i < dfs.length; i++) if (flavor.equals(dfs[i])) - return true; + return true; return false; } @@ -294,51 +296,51 @@ public class GtkSelection implements Transferable String result; synchronized (requestLock) { - // Did we request already and cache the result? - if (textDelivered) - result = text; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } + // Did we request already and cache the result? + if (textDelivered) + result = text; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! textDelivered) - { - requestInProgress = true; - requestText(clipboard); - while (! textDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = text; - if (! GtkClipboard.canCache) - { - text = null; - textDelivered = false; - } - requestLock.notifyAll(); - } + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! textDelivered) + { + requestInProgress = true; + requestText(clipboard); + while (! textDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = text; + if (! GtkClipboard.canCache) + { + text = null; + textDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -351,9 +353,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.text = text; - textDelivered = true; - requestLock.notifyAll(); + this.text = text; + textDelivered = true; + requestLock.notifyAll(); } } @@ -367,54 +369,56 @@ public class GtkSelection implements Transferable Image result; synchronized (requestLock) { - // Did we request already and cache the result? - if (imageDelivered) - result = image; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } + // Did we request already and cache the result? + if (imageDelivered) + result = image; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! imageDelivered) - { - requestInProgress = true; - requestImage(clipboard); - while (! imageDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - if (imagePointer != null) - image = new GtkImage(imagePointer); - imagePointer = null; - result = image; - if (! GtkClipboard.canCache) - { - image = null; - imageDelivered = false; - } - requestLock.notifyAll(); - } + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! imageDelivered) + { + requestInProgress = true; + requestImage(clipboard); + while (! imageDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + + if (imagePointer != null) + image = new GtkImage(imagePointer); + + imagePointer = null; + result = image; + if (! GtkClipboard.canCache) + { + image = null; + imageDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -430,9 +434,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.imagePointer = pointer; - imageDelivered = true; - requestLock.notifyAll(); + this.imagePointer = pointer; + imageDelivered = true; + requestLock.notifyAll(); } } @@ -441,56 +445,56 @@ public class GtkSelection implements Transferable * URIs/Files and if not requests them and waits till they are * available. */ - private List getURIs() + private List getURIs() { - List result; + List result; synchronized (requestLock) { - // Did we request already and cache the result? - if (urisDelivered) - result = uris; - else - { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } + // Did we request already and cache the result? + if (urisDelivered) + result = uris; + else + { + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } - // If nobody else beat us we try ourselves to get and - // caching the result. - if (! urisDelivered) - { - requestInProgress = true; - requestURIs(clipboard); - while (! urisDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - requestInProgress = false; - } - result = uris; - if (! GtkClipboard.canCache) - { - uris = null; - urisDelivered = false; - } - requestLock.notifyAll(); - } + // If nobody else beat us we try ourselves to get and + // caching the result. + if (! urisDelivered) + { + requestInProgress = true; + requestURIs(clipboard); + while (! urisDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + requestInProgress = false; + } + result = uris; + if (! GtkClipboard.canCache) + { + uris = null; + urisDelivered = false; + } + requestLock.notifyAll(); + } } return result; } @@ -503,26 +507,26 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - if (uris != null && uris.length != 0) - { - ArrayList list = new ArrayList(uris.length); - for (int i = 0; i < uris.length; i++) - { - try - { - URI uri = new URI(uris[i]); - if (uri.getScheme().equals("file")) - list.add(new File(uri)); - } - catch (URISyntaxException use) - { - } - } - this.uris = list; - } + if (uris != null && uris.length != 0) + { + ArrayList list = new ArrayList(uris.length); + for (int i = 0; i < uris.length; i++) + { + try + { + URI uri = new URI(uris[i]); + if (uri.getScheme().equals("file")) + list.add(new File(uri)); + } + catch (URISyntaxException use) + { + } + } + this.uris = list; + } - urisDelivered = true; - requestLock.notifyAll(); + urisDelivered = true; + requestLock.notifyAll(); } } @@ -537,39 +541,39 @@ public class GtkSelection implements Transferable byte[] result; synchronized (requestLock) { - // Wait till there are no pending requests. - while (requestInProgress) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } + // Wait till there are no pending requests. + while (requestInProgress) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } - // Request bytes and wait till they are available. - requestInProgress = true; - requestBytes(clipboard, target); - while (! bytesDelivered) - { - try - { - requestLock.wait(); - } - catch (InterruptedException ie) - { - // ignored - } - } - result = bytes; - bytes = null; - bytesDelivered = false; - requestInProgress = false; + // Request bytes and wait till they are available. + requestInProgress = true; + requestBytes(clipboard, target); + while (! bytesDelivered) + { + try + { + requestLock.wait(); + } + catch (InterruptedException ie) + { + // ignored + } + } + result = bytes; + bytes = null; + bytesDelivered = false; + requestInProgress = false; - requestLock.notifyAll(); + requestLock.notifyAll(); } return result; } @@ -583,9 +587,9 @@ public class GtkSelection implements Transferable { synchronized (requestLock) { - this.bytes = bytes; - bytesDelivered = true; - requestLock.notifyAll(); + this.bytes = bytes; + bytesDelivered = true; + requestLock.notifyAll(); } } @@ -596,30 +600,30 @@ public class GtkSelection implements Transferable // try one more time through getBytes(). if (flavor.equals(DataFlavor.stringFlavor)) { - String text = getText(); - if (text != null) - return text; + String text = getText(); + if (text != null) + return text; } if (flavor.equals(DataFlavor.plainTextFlavor)) { - String text = getText(); - if (text != null) - return new StringBufferInputStream(text); + String text = getText(); + if (text != null) + return new StringBufferInputStream(text); } if (flavor.equals(DataFlavor.imageFlavor)) { - Image image = getImage(); - if (image != null) - return image; + Image image = getImage(); + if (image != null) + return image; } if (flavor.equals(DataFlavor.javaFileListFlavor)) { - List uris = getURIs(); - if (uris != null) - return uris; + List uris = getURIs(); + if (uris != null) + return uris; } byte[] bytes = getBytes(flavor.getMimeType()); @@ -628,20 +632,20 @@ public class GtkSelection implements Transferable if (flavor.isMimeTypeSerializedObject()) { - try - { - ByteArrayInputStream bais = new ByteArrayInputStream(bytes); - ObjectInputStream ois = new ObjectInputStream(bais); - return ois.readObject(); - } - catch (IOException ioe) - { - ioe.printStackTrace(); - } - catch (ClassNotFoundException cnfe) - { - cnfe.printStackTrace(); - } + try + { + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + ObjectInputStream ois = new ObjectInputStream(bais); + return ois.readObject(); + } + catch (IOException ioe) + { + ioe.printStackTrace(); + } + catch (ClassNotFoundException cnfe) + { + cnfe.printStackTrace(); + } } if (flavor.isRepresentationClassInputStream()) diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java index 5d9be1aec63..0c7d3a860e8 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java @@ -100,8 +100,8 @@ public class GtkTextAreaPeer extends GtkComponentPeer // GtkComponent.create. if (f == null) { - f = new Font ("Dialog", Font.PLAIN, 12); - awtComponent.setFont (f); + f = new Font ("Dialog", Font.PLAIN, 12); + awtComponent.setFont (f); } FontMetrics fm = getFontMetrics (f); @@ -154,11 +154,11 @@ public class GtkTextAreaPeer extends GtkComponentPeer int width = 0; if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) height = getHScrollbarHeight (); if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) width = getVScrollbarWidth (); Font f = awtComponent.getFont (); @@ -183,11 +183,11 @@ public class GtkTextAreaPeer extends GtkComponentPeer int width = 0; if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_HORIZONTAL_ONLY) height = getHScrollbarHeight (); if (ta.getScrollbarVisibility () == TextArea.SCROLLBARS_BOTH - || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) + || ta.getScrollbarVisibility () == TextArea.SCROLLBARS_VERTICAL_ONLY) width = getVScrollbarWidth (); Font f = awtComponent.getFont (); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java index 763304864e0..9e62c8e7975 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java @@ -94,8 +94,8 @@ public class GtkTextFieldPeer extends GtkComponentPeer // GtkComponent.create. if (f == null) { - f = new Font ("Dialog", Font.PLAIN, 12); - awtComponent.setFont (f); + f = new Font ("Dialog", Font.PLAIN, 12); + awtComponent.setFont (f); } FontMetrics fm = getFontMetrics (f); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java index f746a47479f..df18d39c9d2 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java @@ -1,5 +1,5 @@ /* GtkToolkit.java -- Implements an AWT Toolkit using GTK for peers - Copyright (C) 1998, 1999, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1998, 1999, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,6 +39,7 @@ exception statement from your version. */ package gnu.java.awt.peer.gtk; +import gnu.java.awt.AWTUtilities; import gnu.java.awt.EmbeddedWindow; import gnu.java.awt.dnd.GtkMouseDragGestureRecognizer; import gnu.java.awt.dnd.peer.gtk.GtkDragSourceContextPeer; @@ -86,6 +87,7 @@ import java.awt.dnd.DragGestureRecognizer; import java.awt.dnd.DragSource; import java.awt.dnd.InvalidDnDOperationException; import java.awt.dnd.peer.DragSourceContextPeer; +import java.awt.font.TextAttribute; import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; @@ -104,8 +106,8 @@ import java.awt.peer.LabelPeer; import java.awt.peer.ListPeer; import java.awt.peer.MenuBarPeer; import java.awt.peer.MenuItemPeer; -import java.awt.peer.MouseInfoPeer; import java.awt.peer.MenuPeer; +import java.awt.peer.MouseInfoPeer; import java.awt.peer.PanelPeer; import java.awt.peer.PopupMenuPeer; import java.awt.peer.RobotPeer; @@ -132,9 +134,11 @@ import javax.imageio.spi.IIORegistry; public class GtkToolkit extends gnu.java.awt.ClasspathToolkit { + static final Object GTK_LOCK; + private static EventQueue q; - static native void gtkInit(int portableNativeSync); + static native void gtkInit(int portableNativeSync, Object lock); static native void gtkMain(); @@ -154,8 +158,9 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit portableNativeSync = 1; // true else portableNativeSync = 0; // false - - gtkInit(portableNativeSync); + + GTK_LOCK = new String("GTK LOCK"); + gtkInit(portableNativeSync, GTK_LOCK); } public GtkToolkit () @@ -167,14 +172,14 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit private native void getScreenSizeDimensions(int[] xy); public int checkImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { int status = ImageObserver.ALLBITS | ImageObserver.WIDTH | ImageObserver.HEIGHT; if (image instanceof GtkImage) - return ((GtkImage) image).checkImage (observer); + return ((GtkImage) image).checkImage (observer); if (image instanceof AsyncImage) return ((AsyncImage) image).checkImage(observer); @@ -208,11 +213,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - image = CairoSurface.getBufferedImage( new GtkImage( filename ) ); + image = CairoSurface.getBufferedImage( new GtkImage( filename ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -230,11 +235,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - image = CairoSurface.getBufferedImage( new GtkImage( producer ) ); + image = CairoSurface.getBufferedImage( new GtkImage( producer ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -245,13 +250,13 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit Image image; try { - byte[] data = new byte[ imagelength ]; - System.arraycopy(imagedata, imageoffset, data, 0, imagelength); - image = CairoSurface.getBufferedImage( new GtkImage( data ) ); + byte[] data = new byte[ imagelength ]; + System.arraycopy(imagedata, imageoffset, data, 0, imagelength); + image = CairoSurface.getBufferedImage( new GtkImage( data ) ); } catch (IllegalArgumentException iae) { - image = null; + image = null; } return imageOrError(image); } @@ -275,22 +280,22 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit { /* Return the GDK-native ABGR format */ return new DirectColorModel(32, - 0x000000FF, - 0x0000FF00, - 0x00FF0000, - 0xFF000000); + 0x000000FF, + 0x0000FF00, + 0x00FF0000, + 0xFF000000); } public String[] getFontList () { return (new String[] { "Dialog", - "DialogInput", - "Monospaced", - "Serif", - "SansSerif" }); + "DialogInput", + "Monospaced", + "Serif", + "SansSerif" }); } - static class LRUCache extends LinkedHashMap + static class LRUCache extends LinkedHashMap { int max_entries; public LRUCache(int max) @@ -304,8 +309,9 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } } - private LRUCache fontCache = new LRUCache(50); - private LRUCache imageCache = new LRUCache(50); + private LRUCache fontCache = + new LRUCache(50); + private LRUCache imageCache = new LRUCache(50); public FontMetrics getFontMetrics (Font font) { @@ -315,7 +321,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public Image getImage (String filename) { if (imageCache.containsKey(filename)) - return (Image) imageCache.get(filename); + return imageCache.get(filename); else { Image im = createImage(filename); @@ -327,7 +333,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit public Image getImage (URL url) { if (imageCache.containsKey(url)) - return (Image) imageCache.get(url); + return imageCache.get(url); else { Image im = createImage(url); @@ -378,12 +384,12 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit * assumes the image is already prepared for rendering. */ public boolean prepareImage (Image image, int width, int height, - ImageObserver observer) + ImageObserver observer) { /* GtkImages are always prepared, as long as they're loaded. */ if (image instanceof GtkImage) - return ((((GtkImage)image).checkImage (observer) & - ImageObserver.ALLBITS) != 0); + return ((((GtkImage)image).checkImage (observer) + & ImageObserver.ALLBITS) != 0); if (image instanceof AsyncImage) { @@ -411,11 +417,11 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit /* Make the Peer reflect the state of the Component */ if (! (c instanceof Window)) { - cp.setCursor (c.getCursor ()); + cp.setCursor (c.getCursor ()); - Rectangle bounds = c.getBounds (); - cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); - cp.setVisible (c.isVisible ()); + Rectangle bounds = c.getBounds (); + cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); + cp.setVisible (c.isVisible ()); } } @@ -563,7 +569,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit */ private FontPeer getFontPeer (String name, int style, int size) { - Map attrs = new HashMap (); + Map attrs = new HashMap(); ClasspathFontPeer.copyStyleToAttrs (style, attrs); ClasspathFontPeer.copySizeToAttrs (size, attrs); return getClasspathFontPeer (name, attrs); @@ -575,16 +581,17 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit * model, hence "ClasspathFontPeer". */ - public ClasspathFontPeer getClasspathFontPeer (String name, Map attrs) + public ClasspathFontPeer getClasspathFontPeer (String name, + Map attrs) { - Map keyMap = new HashMap (attrs); + Map keyMap = new HashMap(attrs); // We don't know what kind of "name" the user requested (logical, face, // family), and we don't actually *need* to know here. The worst case // involves failure to consolidate fonts with the same backend in our // cache. This is harmless. keyMap.put ("GtkToolkit.RequestedFontName", name); if (fontCache.containsKey (keyMap)) - return (ClasspathFontPeer) fontCache.get (keyMap); + return fontCache.get (keyMap); else { ClasspathFontPeer newPeer = new GdkFontPeer (name, attrs); @@ -619,11 +626,10 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit return new GtkDragSourceContextPeer(e); } - public DragGestureRecognizer createDragGestureRecognizer(Class recognizer, - DragSource ds, - Component comp, - int actions, - DragGestureListener l) + public T + createDragGestureRecognizer(Class recognizer, DragSource ds, + Component comp, int actions, + DragGestureListener l) { if (recognizer.getName().equals("java.awt.dnd.MouseDragGestureRecognizer") && ! GraphicsEnvironment.isHeadless()) @@ -631,7 +637,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit GtkMouseDragGestureRecognizer gestureRecognizer = new GtkMouseDragGestureRecognizer(ds, comp, actions, l); gestureRecognizer.registerListeners(); - return gestureRecognizer; + return recognizer.cast(gestureRecognizer); } else { @@ -639,7 +645,7 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit } } - public Map mapInputMethodHighlight(InputMethodHighlight highlight) + public Map mapInputMethodHighlight(InputMethodHighlight highlight) { throw new Error("not implemented"); } @@ -668,6 +674,22 @@ public class GtkToolkit extends gnu.java.awt.ClasspathToolkit return new GdkRobotPeer (screen); } + public boolean getLockingKeyState(int keyCode) + { + int state = getLockState(keyCode); + + if (state != -1) + return state == 1; + + if (AWTUtilities.isValidKey(keyCode)) + throw new UnsupportedOperationException + ("cannot get locking state of key code " + keyCode); + + throw new IllegalArgumentException("invalid key code " + keyCode); + } + + protected native int getLockState(int keyCode); + public void registerImageIOSpis(IIORegistry reg) { GdkPixbufDecoder.registerSpis(reg); diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java index 8d49719b1d3..1451dd93354 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java @@ -172,19 +172,17 @@ public class GtkWindowPeer extends GtkContainerPeer public void setBounds (int x, int y, int width, int height) { - if (x != getX() - || y != getY() - || width != getWidth() - || height != getHeight()) + if (x != getX() || y != getY() || width != getWidth() + || height != getHeight()) { - this.x = x; - this.y = y; - this.width = width; - this.height = height; + this.x = x; + this.y = y; + this.width = width; + this.height = height; - nativeSetBounds (x, y, - width - insets.left - insets.right, - height - insets.top - insets.bottom); + nativeSetBounds (x, y, + width - insets.left - insets.right, + height - insets.top - insets.bottom); } } @@ -211,7 +209,7 @@ public class GtkWindowPeer extends GtkContainerPeer width = awtComponent.getWidth(); height = awtComponent.getHeight(); setSize (width - insets.left - insets.right, - height - insets.top - insets.bottom); + height - insets.top - insets.bottom); gtkWindowSetResizable (resizable); } @@ -253,22 +251,20 @@ public class GtkWindowPeer extends GtkContainerPeer awtComponent.dispatchEvent(ev); } - if (frame_width != getWidth() - || frame_height != getHeight()) + if (frame_width != getWidth() || frame_height != getHeight()) { - this.width = frame_width; - this.height = frame_height; - q().postEvent(new ComponentEvent(awtComponent, - ComponentEvent.COMPONENT_RESIZED)); + this.width = frame_width; + this.height = frame_height; + q().postEvent(new ComponentEvent(awtComponent, + ComponentEvent.COMPONENT_RESIZED)); } - if (frame_x != getX() - || frame_y != getY()) + if (frame_x != getX() || frame_y != getY()) { - this.x = frame_x; - this.y = frame_y; - q().postEvent(new ComponentEvent(awtComponent, - ComponentEvent.COMPONENT_MOVED)); + this.x = frame_x; + this.y = frame_y; + q().postEvent(new ComponentEvent(awtComponent, + ComponentEvent.COMPONENT_MOVED)); } } @@ -287,8 +283,8 @@ public class GtkWindowPeer extends GtkContainerPeer { if (id == WindowEvent.WINDOW_STATE_CHANGED) { - if (windowState != newState) - { + if (windowState != newState) + { // Post old styleWindowEvent with WINDOW_ICONIFIED or // WINDOW_DEICONIFIED if appropriate. if ((windowState & Frame.ICONIFIED) != 0 @@ -302,10 +298,10 @@ public class GtkWindowPeer extends GtkContainerPeer WindowEvent.WINDOW_ICONIFIED, opposite, 0, 0)); // Post new-style WindowStateEvent. - q().postEvent (new WindowEvent ((Window) awtComponent, id, + q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite, windowState, newState)); - windowState = newState; - } + windowState = newState; + } } else q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite)); @@ -384,7 +380,7 @@ public class GtkWindowPeer extends GtkContainerPeer } protected void postMouseEvent(int id, long when, int mods, int x, int y, - int clickCount, boolean popupTrigger) + int clickCount, boolean popupTrigger) { // Translate AWT co-ordinates, which include a window frame's // insets, to GTK co-ordinates, which do not include a window @@ -392,8 +388,8 @@ public class GtkWindowPeer extends GtkContainerPeer // insets but GtkFramePeer and GtkDialogPeer insets will be // non-zero. super.postMouseEvent (id, when, mods, - x + insets.left, y + insets.top, - clickCount, popupTrigger); + x + insets.left, y + insets.top, + clickCount, popupTrigger); } // We override this to keep it in sync with our internal diff --git a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java index 62dbb45d81a..88438862b34 100644 --- a/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java +++ b/libjava/classpath/gnu/java/awt/peer/gtk/VolatileImageGraphics.java @@ -207,11 +207,11 @@ public class VolatileImageGraphics extends ComponentGraphics if (img instanceof GtkVolatileImage && (comp == null || comp instanceof AlphaComposite)) { - owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, - x, y, - ((GtkVolatileImage)img).width, - ((GtkVolatileImage)img).height ); - return true; + owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, + x, y, + ((GtkVolatileImage)img).width, + ((GtkVolatileImage)img).height ); + return true; } return super.drawImage( img, x, y, observer ); } @@ -222,9 +222,9 @@ public class VolatileImageGraphics extends ComponentGraphics if ((img instanceof GtkVolatileImage) && (comp == null || comp instanceof AlphaComposite)) { - owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, - x, y, width, height ); - return true; + owner.drawVolatile( ((GtkVolatileImage)img).nativePointer, + x, y, width, height ); + return true; } return super.drawImage( img, x, y, width, height, observer ); } @@ -254,8 +254,8 @@ public class VolatileImageGraphics extends ComponentGraphics transform.transform(points, 0, points, 0, 2); Rectangle2D deviceBounds = new Rectangle2D.Double(points[0], points[1], - points[2] - points[0], - points[3] - points[1]); + points[2] - points[0], + points[3] - points[1]); Rectangle2D.intersect(deviceBounds, this.getClipInDevSpace(), deviceBounds); current = current.getSubimage((int)deviceBounds.getX(), diff --git a/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java b/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java index 5116769389e..9b53b278b26 100644 --- a/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java +++ b/libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java @@ -1,5 +1,5 @@ /* QtToolkit.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,7 @@ exception statement from your version. */ package gnu.java.awt.peer.qt; +import gnu.java.awt.ClasspathToolkit; import gnu.java.awt.EmbeddedWindow; import gnu.java.awt.peer.ClasspathFontPeer; import gnu.java.awt.peer.EmbeddedWindowPeer; @@ -50,56 +51,56 @@ import java.awt.Choice; import java.awt.Dialog; import java.awt.Dimension; import java.awt.EventQueue; +import java.awt.FileDialog; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.Label; import java.awt.List; -import java.awt.MenuBar; import java.awt.Menu; +import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.Panel; -import java.awt.TextArea; -import java.awt.TextField; -import java.awt.FileDialog; -import java.awt.GraphicsDevice; -import java.awt.GraphicsEnvironment; import java.awt.PopupMenu; import java.awt.PrintJob; -import java.awt.Scrollbar; import java.awt.ScrollPane; +import java.awt.Scrollbar; +import java.awt.TextArea; +import java.awt.TextField; import java.awt.Window; import java.awt.datatransfer.Clipboard; import java.awt.dnd.DragGestureEvent; import java.awt.dnd.peer.DragSourceContextPeer; import java.awt.event.AWTEventListener; +import java.awt.im.InputMethodHighlight; import java.awt.image.ColorModel; import java.awt.image.DirectColorModel; import java.awt.image.ImageObserver; import java.awt.image.ImageProducer; -import java.awt.im.InputMethodHighlight; import java.awt.peer.ButtonPeer; -import java.awt.peer.FontPeer; -import java.awt.peer.PanelPeer; import java.awt.peer.CanvasPeer; -import java.awt.peer.FramePeer; -import java.awt.peer.PopupMenuPeer; import java.awt.peer.CheckboxMenuItemPeer; -import java.awt.peer.LabelPeer; -import java.awt.peer.RobotPeer; import java.awt.peer.CheckboxPeer; -import java.awt.peer.ScrollPanePeer; import java.awt.peer.ChoicePeer; -import java.awt.peer.ListPeer; -import java.awt.peer.ScrollbarPeer; -import java.awt.peer.MenuBarPeer; -import java.awt.peer.TextAreaPeer; import java.awt.peer.DialogPeer; -import java.awt.peer.MenuItemPeer; -import java.awt.peer.TextFieldPeer; import java.awt.peer.FileDialogPeer; +import java.awt.peer.FontPeer; +import java.awt.peer.FramePeer; +import java.awt.peer.LabelPeer; +import java.awt.peer.ListPeer; +import java.awt.peer.MenuBarPeer; +import java.awt.peer.MenuItemPeer; import java.awt.peer.MenuPeer; +import java.awt.peer.PanelPeer; +import java.awt.peer.PopupMenuPeer; +import java.awt.peer.RobotPeer; +import java.awt.peer.ScrollPanePeer; +import java.awt.peer.ScrollbarPeer; +import java.awt.peer.TextAreaPeer; +import java.awt.peer.TextFieldPeer; import java.awt.peer.WindowPeer; import java.io.InputStream; import java.net.URL; @@ -107,8 +108,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Properties; -import gnu.java.awt.ClasspathToolkit; - public class QtToolkit extends ClasspathToolkit { public static EventQueue eventQueue = null; // the native event queue @@ -163,7 +162,9 @@ public class QtToolkit extends ClasspathToolkit if( guiThread == null ) initToolkit(); - while (!guiThread.isRunning()); // make sure the GUI thread has started. + // make sure the GUI thread has started. + while (!guiThread.isRunning()) + ; if( graphicsEnv == null ) graphicsEnv = new QtGraphicsEnvironment( this ); diff --git a/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java b/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java index 9a3db012583..b86eea50b20 100644 --- a/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java +++ b/libjava/classpath/gnu/java/awt/print/JavaPrinterGraphics.java @@ -135,7 +135,8 @@ public class JavaPrinterGraphics extends Graphics implements PrinterGraphics { int index = 0; while(spoolPage(out, printable, pageFormat, index++) == - Printable.PAGE_EXISTS); + Printable.PAGE_EXISTS) + ; } out.println("%%Trailer"); out.println("%%EOF"); diff --git a/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java b/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java index e4cc8199a54..4e052a1d3f4 100644 --- a/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java +++ b/libjava/classpath/gnu/java/awt/print/PostScriptGraphics2D.java @@ -191,7 +191,8 @@ class PostScriptGraphics2D extends Graphics2D { int index = 0; while(spoolPage(out, printable, pageFormat, index++) == - Printable.PAGE_EXISTS); + Printable.PAGE_EXISTS) + ; } out.println("%%Trailer"); out.println("%%EOF"); diff --git a/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java b/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java index edf07d760d3..b78a8141384 100644 --- a/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java +++ b/libjava/classpath/gnu/java/beans/encoder/ScanEngine.java @@ -153,7 +153,7 @@ public class ScanEngine writer = new StAXWriter(os); root = new Root(); - final ScannerState start = current = new GenericScannerState(root);; + final ScannerState start = current = new GenericScannerState(root); ScannerState conf; // Use the ReportingScannerState to debug serialization issues. diff --git a/libjava/classpath/gnu/java/io/Base64InputStream.java b/libjava/classpath/gnu/java/io/Base64InputStream.java index b0824ab6935..1f5d220dbb6 100644 --- a/libjava/classpath/gnu/java/io/Base64InputStream.java +++ b/libjava/classpath/gnu/java/io/Base64InputStream.java @@ -139,7 +139,9 @@ public class Base64InputStream extends FilterInputStream while (count < len) { int i; - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; + int pos = BASE_64.indexOf((char) i); if (pos >= 0) { @@ -173,11 +175,13 @@ public class Base64InputStream extends FilterInputStream case 1: throw new IOException("malformed Base-64 input"); case 2: - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; if (i != BASE_64_PAD) throw new IOException("malformed Base-64 input"); case 3: - while (Character.isWhitespace((char) (i = in.read()))); + while (Character.isWhitespace((char) (i = in.read()))) + ; } eof = true; break; diff --git a/libjava/classpath/gnu/java/io/class-dependencies.conf b/libjava/classpath/gnu/java/io/class-dependencies.conf deleted file mode 100644 index 2500f6b14b5..00000000000 --- a/libjava/classpath/gnu/java/io/class-dependencies.conf +++ /dev/null @@ -1,75 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - - -# All encodings supported are loaded via gnu/java/io/EncodingManager.findEncoderConstructor -# or gnu/java/io/EncodingManager.findDecoderConstructor from class -# gnu/java/io/decode/Decoder. -# -# This introduces a dependency for all encodings. To allow an easy selection -# and addition of encodings, the library variable {encodings} can be set to -# the set of supported encodings. -# -{encodings}: 8859_1 8859_2 8859_3 8859_4 8859_5 UTF8 - -gnu/java/io/EncodingManager.findEncoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ - gnu/java/io/decode/Decoder{encodings}.* - -gnu/java/io/EncodingManager.findDecoderConstructor(Ljava/lang/String;Z)Ljava/lang/reflect/Constructor;: \ - gnu/java/io/encode/Encoder{encodings}.* \ - -# end of file diff --git a/libjava/classpath/gnu/java/lang/management/BeanImpl.java b/libjava/classpath/gnu/java/lang/management/BeanImpl.java index e5b47181273..59e79a550d3 100644 --- a/libjava/classpath/gnu/java/lang/management/BeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/BeanImpl.java @@ -37,6 +37,8 @@ exception statement from your version. */ package gnu.java.lang.management; +import gnu.javax.management.Translator; + import java.lang.management.ManagementPermission; import java.lang.reflect.Array; @@ -124,7 +126,7 @@ public class BeanImpl new OpenMBeanAttributeInfoSupport[oldA.length]; for (int a = 0; a < oldA.length; ++a) { - OpenMBeanParameterInfo param = translate(oldA[a].getType()); + OpenMBeanParameterInfo param = Translator.translate(oldA[a].getType()); if (param.getMinValue() == null) { Object[] lv; @@ -134,7 +136,8 @@ public class BeanImpl lv = param.getLegalValues().toArray(); attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), oldA[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), oldA[a].isReadable(), oldA[a].isWritable(), oldA[a].isIs(), @@ -144,13 +147,16 @@ public class BeanImpl else attribs[a] = new OpenMBeanAttributeInfoSupport(oldA[a].getName(), oldA[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), oldA[a].isReadable(), oldA[a].isWritable(), oldA[a].isIs(), param.getDefaultValue(), - param.getMinValue(), - param.getMaxValue()); + ((Comparable) + param.getMinValue()), + ((Comparable) + param.getMaxValue())); } MBeanConstructorInfo[] oldC = info.getConstructors(); OpenMBeanConstructorInfo[] cons = new OpenMBeanConstructorInfoSupport[oldC.length]; @@ -166,7 +172,7 @@ public class BeanImpl new OpenMBeanOperationInfoSupport(oldO[a].getName(), oldO[a].getDescription(), translateSignature(oldO[a].getSignature()), - translate(oldO[a].getReturnType()).getOpenType(), + Translator.translate(oldO[a].getReturnType()).getOpenType(), oldO[a].getImpact()); openInfo = new OpenMBeanInfoSupport(info.getClassName(), info.getDescription(), attribs, cons, ops, info.getNotifications()); @@ -201,32 +207,36 @@ public class BeanImpl return ((Enum) value).name(); Class vClass = value.getClass(); if (vClass.isArray()) - return value; + vClass = vClass.getComponentType(); String cName = vClass.getName(); String[] allowedTypes = OpenType.ALLOWED_CLASSNAMES; for (int a = 0; a < allowedTypes.length; ++a) if (cName.equals(allowedTypes[a])) return value; - if (value instanceof List) - { - List l = (List) value; - Class e = null; - TypeVariable[] vars = vClass.getTypeParameters(); - for (int a = 0; a < vars.length; ++a) - if (vars[a].getName().equals("E")) - e = (Class) vars[a].getGenericDeclaration(); - if (e == null) - e = Object.class; - Object[] array = (Object[]) Array.newInstance(e, l.size()); - return l.toArray(array); - } OpenMBeanInfo info = (OpenMBeanInfo) getMBeanInfo(); - OpenMBeanAttributeInfo[] attribs = - (OpenMBeanAttributeInfo[]) info.getAttributes(); + MBeanAttributeInfo[] attribs = + (MBeanAttributeInfo[]) info.getAttributes(); OpenType type = null; for (int a = 0; a < attribs.length; ++a) - if (attribs[a].getName().equals("attribute")) - type = attribs[a].getOpenType(); + if (attribs[a].getName().equals(attribute)) + type = ((OpenMBeanAttributeInfo) attribs[a]).getOpenType(); + if (value instanceof List) + { + try + { + Class e = + Class.forName(((ArrayType) type).getElementOpenType().getClassName()); + List l = (List) value; + Object[] array = (Object[]) Array.newInstance(e, l.size()); + return l.toArray(array); + } + catch (ClassNotFoundException e) + { + throw (InternalError) (new InternalError("The class of the list " + + "element type could not " + + "be created").initCause(e)); + } + } if (value instanceof Map) { TabularType ttype = (TabularType) type; @@ -319,19 +329,13 @@ public class BeanImpl return getCachedMBeanInfo(); } - private OpenType getTypeFromClass(Class c) - throws OpenDataException - { - return translate(c.getName()).getOpenType(); - } - private OpenMBeanParameterInfo[] translateSignature(MBeanParameterInfo[] oldS) throws OpenDataException { OpenMBeanParameterInfo[] sig = new OpenMBeanParameterInfoSupport[oldS.length]; for (int a = 0; a < oldS.length; ++a) { - OpenMBeanParameterInfo param = translate(oldS[a].getType()); + OpenMBeanParameterInfo param = Translator.translate(oldS[a].getType()); if (param.getMinValue() == null) { Object[] lv; @@ -341,179 +345,24 @@ public class BeanImpl lv = param.getLegalValues().toArray(); sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), oldS[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), param.getDefaultValue(), lv); } else sig[a] = new OpenMBeanParameterInfoSupport(oldS[a].getName(), oldS[a].getDescription(), - param.getOpenType(), + ((OpenType) + param.getOpenType()), param.getDefaultValue(), - param.getMinValue(), - param.getMaxValue()); + ((Comparable) + param.getMinValue()), + ((Comparable) + param.getMaxValue())); } return sig; } - private OpenMBeanParameterInfo translate(String type) - throws OpenDataException - { - if (type.equals("boolean") || type.equals(Boolean.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.BOOLEAN, - null, - new Object[] { - Boolean.TRUE, - Boolean.FALSE - }); - if (type.equals("byte") || type.equals(Byte.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.BYTE, - null, - Byte.valueOf(Byte.MIN_VALUE), - Byte.valueOf(Byte.MAX_VALUE)); - if (type.equals("char") || type.equals(Character.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.CHARACTER, - null, - Character.valueOf(Character.MIN_VALUE), - Character.valueOf(Character.MAX_VALUE)); - if (type.equals("double") || type.equals(Double.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.DOUBLE, - null, - Double.valueOf(Double.MIN_VALUE), - Double.valueOf(Double.MAX_VALUE)); - if (type.equals("float") || type.equals(Float.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.FLOAT, - null, - Float.valueOf(Float.MIN_VALUE), - Float.valueOf(Float.MAX_VALUE)); - if (type.equals("int") || type.equals(Integer.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.INTEGER, - null, - Integer.valueOf(Integer.MIN_VALUE), - Integer.valueOf(Integer.MAX_VALUE)); - if (type.equals("long") || type.equals(Long.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.LONG, - null, - Long.valueOf(Long.MIN_VALUE), - Long.valueOf(Long.MAX_VALUE)); - if (type.equals("short") || type.equals(Short.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.SHORT, - null, - Short.valueOf(Short.MIN_VALUE), - Short.valueOf(Short.MAX_VALUE)); - if (type.equals(String.class.getName())) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.STRING); - if (type.equals("void")) - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.VOID); - if (type.startsWith("java.util.Map")) - { - int lparam = type.indexOf("<"); - int comma = type.indexOf(",", lparam); - int rparam = type.indexOf(">", comma); - String key = type.substring(lparam + 1, comma).trim(); - OpenType k = translate(key).getOpenType(); - OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); - CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), - new String[] { "key", "value" }, - new String[] { "Map key", "Map value"}, - new OpenType[] { k, v}); - TabularType ttype = new TabularType(key, key, ctype, - new String[] { "key" }); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - ttype); - } - if (type.startsWith("java.util.List")) - { - int lparam = type.indexOf("<"); - int rparam = type.indexOf(">"); - OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - new ArrayType(1, e) - ); - } - Class c; - try - { - c = Class.forName(type); - } - catch (ClassNotFoundException e) - { - throw (InternalError) - (new InternalError("The class for a type used in a management bean " + - "could not be loaded.").initCause(e)); - } - if (c.isEnum()) - { - Object[] values = c.getEnumConstants(); - String[] names = new String[values.length]; - for (int a = 0; a < values.length; ++a) - names[a] = values[a].toString(); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - SimpleType.STRING, - null, - (Object[]) names); - } - try - { - c.getMethod("from", new Class[] { CompositeData.class }); - Method[] methods = c.getMethods(); - List names = new ArrayList(); - List types = new ArrayList(); - for (int a = 0; a < methods.length; ++a) - { - String name = methods[a].getName(); - if (name.startsWith("get")) - { - names.add(name.substring(3)); - types.add(getTypeFromClass(methods[a].getReturnType())); - } - } - String[] fields = (String[]) names.toArray(); - CompositeType ctype = new CompositeType(c.getName(), c.getName(), - fields, fields, - (OpenType[]) types.toArray()); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - ctype); - } - catch (NoSuchMethodException e) - { - /* Ignored; we expect this if this isn't a from(CompositeData) class */ - } - if (c.isArray()) - { - int depth; - for (depth = 0; c.getName().charAt(depth) == '['; ++depth); - OpenType ot = getTypeFromClass(c.getComponentType()); - return new OpenMBeanParameterInfoSupport("TransParam", - "Translated parameter", - new ArrayType(depth, ot) - ); - } - throw new InternalError("The type used does not have an open type translation."); - } } diff --git a/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java index 9eefc0d9db5..07fb7bf0355 100644 --- a/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/OperatingSystemMXBeanImpl.java @@ -82,6 +82,11 @@ public final class OperatingSystemMXBeanImpl return System.getProperty("os.name"); } + public double getSystemLoadAverage() + { + return VMOperatingSystemMXBeanImpl.getSystemLoadAverage(); + } + public String getVersion() { return System.getProperty("os.version"); diff --git a/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java b/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java index 609b58da737..5d0282301e3 100644 --- a/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java +++ b/libjava/classpath/gnu/java/lang/management/ThreadMXBeanImpl.java @@ -83,7 +83,19 @@ public final class ThreadMXBeanImpl */ private static final String TIME_ENABLED = "gnu.java.lang.management.ThreadTimeInitallyEnabled"; - + + /** + * Constant for monitor usage monitoring support. + */ + private static final String MONITOR_SUPPORT = + "gnu.java.lang.management.MonitorUsageMonitoringSupport"; + + /** + * Constant for ownable synchronizer usage monitoring support. + */ + private static final String SYNCHRONIZER_SUPPORT = + "gnu.java.lang.management.OwnableSynchronizerUsageMonitoringSupport"; + /** * Flag to indicate whether time monitoring is enabled or not. */ @@ -112,6 +124,23 @@ public final class ThreadMXBeanImpl contentionEnabled = false; } + public ThreadInfo[] dumpAllThreads(boolean lockedMonitors, + boolean lockedSynchronizers) + { + return getThreadInfo(getAllThreadIds(), lockedMonitors, + lockedSynchronizers); + } + + public long[] findDeadlockedThreads() + { + checkMonitorPermissions(); + if (!isSynchronizerUsageSupported()) + throw new UnsupportedOperationException("Ownable synchronizer usage " + + "monitoring is not provided " + + "by this VM."); + return VMThreadMXBeanImpl.findDeadlockedThreads(); + } + public long[] findMonitorDeadlockedThreads() { checkMonitorPermissions(); @@ -207,6 +236,27 @@ public final class ThreadMXBeanImpl return infos; } + public ThreadInfo[] getThreadInfo(long[] ids, boolean lockedMonitors, + boolean lockedSynchronizers) + { + checkMonitorPermissions(); + if (lockedMonitors && !isObjectMonitorUsageSupported()) + throw new UnsupportedOperationException("Monitor usage monitoring is " + + "not provided by this VM."); + if (lockedSynchronizers && !isSynchronizerUsageSupported()) + throw new UnsupportedOperationException("Ownable synchronizer usage " + + "monitoring is not provided " + + "by this VM."); + ThreadInfo[] infos = getThreadInfo(ids, Integer.MAX_VALUE); + if (lockedMonitors) + for (ThreadInfo info : infos) + VMThreadMXBeanImpl.getMonitorInfo(info); + if (lockedSynchronizers) + for (ThreadInfo info : infos) + VMThreadMXBeanImpl.getLockInfo(info); + return infos; + } + public long getThreadUserTime(long id) { if (!isThreadCpuTimeSupported()) @@ -231,6 +281,16 @@ public final class ThreadMXBeanImpl return SystemProperties.getProperty(CURRENT_THREAD_TIME_SUPPORT) != null; } + public boolean isObjectMonitorUsageSupported() + { + return SystemProperties.getProperty(MONITOR_SUPPORT) != null; + } + + public boolean isSynchronizerUsageSupported() + { + return SystemProperties.getProperty(SYNCHRONIZER_SUPPORT) != null; + } + public boolean isThreadContentionMonitoringEnabled() { if (isThreadContentionMonitoringSupported()) diff --git a/libjava/classpath/gnu/java/locale/LocaleHelper.java b/libjava/classpath/gnu/java/locale/LocaleHelper.java index cec0147179f..4fefd163979 100644 --- a/libjava/classpath/gnu/java/locale/LocaleHelper.java +++ b/libjava/classpath/gnu/java/locale/LocaleHelper.java @@ -55,105 +55,44 @@ import java.util.ResourceBundle; public class LocaleHelper { /** - * This method is used by the localized name lookup methods to retrieve - * the localized name of a particular piece of locale data. - * If the display name can not be localized to the supplied - * locale, it will fall back on other output in the following order: - * - *
    - *
  • the localized name in the default locale
  • - *
  • the localized name in English (optional)
  • - *
  • the localized name in the root locale bundle (optional)
  • - *
  • the localized input string
  • - *
*

- * If the supplied key is merely the empty string, then the empty string is - * returned. + * This method is used by the localized name lookup methods to + * retrieve the next locale to try. The next locale is derived + * from the supplied locale by applying the first applicable + * rule from the following: + *

+ *
    + *
  1. If the variant contains a '_', then + * this and everything following it is trimmed.
  2. + *
  3. If the variant is non-empty, it is converted to + * an empty string.
  4. + *
  5. If the country is non-empty, it is converted to + * an empty string.
  6. + *
  7. If the language is non-empty, it is converted to + * an empty string (forming {@link java.util.Locale#ROOT})
  8. + *
+ *

+ * The base fallback locale is {@link java.util.Locale#ROOT}. *

* - * @param inLocale the locale to use for formatting the display string. - * @param key the locale data used as a key to the localized lookup tables. - * @param name the name of the hashtable containing the localized data. - * @param checkEnglish true if the method should fall back on data - * from the English locale. - * @param checkRoot true if the method should fall back on data from the - * unlocalized root locale. - * @return a String, hopefully containing the localized - * variant of the input data. - * @throws NullPointerException if inLocale is null. + * @param locale the locale for which a localized piece of + * data could not be obtained. + * @return the next fallback locale to try. */ - public static String getLocalizedString(Locale inLocale, String key, - String name, boolean checkEnglish, - boolean checkRoot) + public static Locale getFallbackLocale(Locale locale) { - String localizedString; - String property; - - if (key.equals("")) - return ""; - property = name + "." + key; - /* Localize to inLocale */ - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - inLocale).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - /* Localize to default locale */ - if (localizedString == null) - { - try - { - ResourceBundle bundle; - - bundle = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation"); - localizedString = bundle.getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Localize to English */ - if (localizedString == null && checkEnglish) - { - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - Locale.ENGLISH).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Return unlocalized version */ - if (localizedString == null && checkRoot) - { - try - { - localizedString = - ResourceBundle.getBundle("gnu.java.locale.LocaleInformation", - new Locale("","","") - ).getString(property); - } - catch (MissingResourceException exception) - { - localizedString = null; - } - } - /* Return original input string */ - if (localizedString == null) - { - localizedString = key; - } - return localizedString; + String language = locale.getLanguage(); + String country = locale.getCountry(); + String variant = locale.getVariant(); + int uscore = variant.indexOf('_'); + if (uscore != -1) + return new Locale(language, country, + variant.substring(0, uscore)); + if (!variant.isEmpty()) + return new Locale(language, country, ""); + if (!country.isEmpty()) + return new Locale(language, "", ""); + return Locale.ROOT; } /** diff --git a/libjava/classpath/gnu/java/math/Fixed.java b/libjava/classpath/gnu/java/math/Fixed.java new file mode 100644 index 00000000000..e0284c329b9 --- /dev/null +++ b/libjava/classpath/gnu/java/math/Fixed.java @@ -0,0 +1,207 @@ +/* Fixed.java -- Utility methods for fixed point arithmetics + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.math; + +/** + * Utility methods for fixed point arithmetics. + */ +public final class Fixed +{ + + /** + * Private constructor to avoid instantiation. + */ + private Fixed() + { + // Forbidden constructor. + } + + /** + * Divides two fixed point values with n digits. + * + * @param n the number of digits + * @param a the first operand as fixed point value + * @param b the second operand as fixed point value + * + * @return a / b as fixed point value + */ + public static int div(int n, int a, int b) + { + return (int) ((((long) a) << n) / b); + } + + /** + * Multiplies two fixed point values with n digits. + * + * @param n the number of digits + * @param a the first operand as fixed point value + * @param b the second operand as fixed point value + * + * @return a * b as fixed point value + */ + public static int mul(int n, int a, int b) + { + return (int) ((((long) a) * b) >> n); + } + + /** + * Returns the ceiling value of a fixed point value a with + * the n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return ceil(a) as fixed point value + */ + public static int ceil(int n, int a) + { + return (a + (1 << n - 1)) & -(1 << n); + } + + /** + * Returns the floor value of a fixed point value a with + * n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return floor(a) as fixed point value + */ + public static int floor(int n, int a) + { + return a & -(1 << n); + } + + /** + * Returns the round value of a fixed point value a with + * the n digits. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return round(a) as fixed point value + */ + public static int round(int n, int a) + { + return (a + (1 << (n - 1))) & -(1 << n); + } + + /** + * Returns the fixed point value a with n digits + * as float. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the float value of a + */ + public static float floatValue(int n, int a) + { + return ((float) a) / (1 << n); + } + + /** + * Returns the fixed point value a with n digits + * as double. + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the double value of a + */ + public static double doubleValue(int n, int a) + { + return ((double) a) / (1 << n); + } + + /** + * Returns the fixed point value that corresponds to the specified float + * value a with n digits. + * + * @param n the number of digits + * @param a the float value + * + * @return the fixed point value + */ + public static int fixedValue(int n, float a) + { + return (int) (a * (1 << n)); + } + + /** + * Returns the fixed point value that corresponds to the specified double + * value a with n digits. + * + * @param n the number of digits + * @param a the double value + * + * @return the fixed point value + */ + public static int fixedValue(int n, double a) + { + return (int) (a * (1 << n)); + } + + /** + * Returns the integer value of the specified fixed point value + * a. This simply cuts of the digits (== floor(a)). + * + * @param n the number of digits + * @param a the fixed point value + * + * @return the integer value + */ + public static int intValue(int n, int a) + { + return a >> n; + } + + /** + * Returns a fixed point decimal as rounded integer value. + * + * @param n the number of digits + * @param a the fixed point number + * + * @return the fixed point decimal as rounded integer value + */ + public static int roundIntValue(int n, int a) + { + return (a + (1 << (n - 1))) >> n; + } +} diff --git a/libjava/classpath/gnu/java/net/BASE64.java b/libjava/classpath/gnu/java/net/BASE64.java deleted file mode 100644 index 901aa0c35fc..00000000000 --- a/libjava/classpath/gnu/java/net/BASE64.java +++ /dev/null @@ -1,190 +0,0 @@ -/* BASE.java -- - Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. - -This file is part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; see the file COPYING. If not, write to the -Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301 USA. - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.java.net; - -/** - * Encodes and decodes text according to the BASE64 encoding. - * - * @author Chris Burdess (dog@gnu.org) - */ -public final class BASE64 -{ - private static final byte[] src = { - 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, - 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, - 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, - 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, - 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, - 0x79, 0x7a, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - 0x38, 0x39, 0x2b, 0x2f - }; - - private static final byte[] dst; - static - { - dst = new byte[0x100]; - for (int i = 0x0; i < 0xff; i++) - { - dst[i] = -1; - } - for (int i = 0; i < src.length; i++) - { - dst[src[i]] = (byte) i; - } - } - - private BASE64() - { - } - - /** - * Encode the specified byte array using the BASE64 algorithm. - * - * @param bs the source byte array - */ - public static byte[] encode(byte[] bs) - { - int si = 0, ti = 0; // source/target array indices - byte[] bt = new byte[((bs.length + 2) * 4) / 3]; // target byte array - for (; si < bs.length; si += 3) - { - int buflen = bs.length - si; - if (buflen == 1) - { - byte b = bs[si]; - int i = 0; - bt[ti++] = src[b >>> 2 & 0x3f]; - bt[ti++] = src[(b << 4 & 0x30) + (i >>> 4 & 0xf)]; - } - else if (buflen == 2) - { - byte b1 = bs[si], b2 = bs[si + 1]; - int i = 0; - bt[ti++] = src[b1 >>> 2 & 0x3f]; - bt[ti++] = src[(b1 << 4 & 0x30) + (b2 >>> 4 & 0xf)]; - bt[ti++] = src[(b2 << 2 & 0x3c) + (i >>> 6 & 0x3)]; - } - else - { - byte b1 = bs[si], b2 = bs[si + 1], b3 = bs[si + 2]; - bt[ti++] = src[b1 >>> 2 & 0x3f]; - bt[ti++] = src[(b1 << 4 & 0x30) + (b2 >>> 4 & 0xf)]; - bt[ti++] = src[(b2 << 2 & 0x3c) + (b3 >>> 6 & 0x3)]; - bt[ti++] = src[b3 & 0x3f]; - } - } - if (ti < bt.length) - { - byte[] tmp = new byte[ti]; - System.arraycopy(bt, 0, tmp, 0, ti); - bt = tmp; - } - /*while (ti < bt.length) - { - bt[ti++] = 0x3d; - }*/ - return bt; - } - - /** - * Decode the specified byte array using the BASE64 algorithm. - * - * @param bs the source byte array - */ - public static byte[] decode(byte[] bs) - { - int srclen = bs.length; - while (srclen > 0 && bs[srclen - 1] == 0x3d) - { - srclen--; /* strip padding character */ - } - byte[] buffer = new byte[srclen]; - int buflen = 0; - int si = 0; - int len = srclen - si; - while (len > 0) - { - byte b0 = dst[bs[si++] & 0xff]; - byte b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 2 & 0xfc | b2 >>> 4 & 0x3); - if (len > 2) - { - b0 = b2; - b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 4 & 0xf0 | b2 >>> 2 & 0xf); - if (len > 3) - { - b0 = b2; - b2 = dst[bs[si++] & 0xff]; - buffer[buflen++] = (byte) (b0 << 6 & 0xc0 | b2 & 0x3f); - } - } - len = srclen - si; - } - byte[] bt = new byte[buflen]; - System.arraycopy(buffer, 0, bt, 0, buflen); - return bt; - } - - public static void main(String[] args) - { - boolean decode = false; - for (int i = 0; i < args.length; i++) - { - if (args[i].equals("-d")) - { - decode = true; - } - else - { - try - { - byte[] in = args[i].getBytes("US-ASCII"); - byte[] out = decode ? decode(in) : encode(in); - System.out.println(args[i] + " = " + - new String(out, "US-ASCII")); - } - catch (java.io.UnsupportedEncodingException e) - { - e.printStackTrace(System.err); - } - } - } - } -} diff --git a/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java b/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java index bb0a7ce5d21..e3d1b8e5a96 100644 --- a/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java +++ b/libjava/classpath/gnu/java/net/DefaultContentHandlerFactory.java @@ -81,8 +81,8 @@ public class DefaultContentHandlerFactory implements ContentHandlerFactory "image/x-xpixmap" }; - private static HashSet imageTypes - = new HashSet(Arrays.asList(known_image_types)); + private static HashSet imageTypes + = new HashSet(Arrays.asList(known_image_types)); public ContentHandler createContentHandler(String mimeType) { diff --git a/libjava/classpath/gnu/java/net/GetLocalHostAction.java b/libjava/classpath/gnu/java/net/GetLocalHostAction.java index 7483b025773..fa76015552b 100644 --- a/libjava/classpath/gnu/java/net/GetLocalHostAction.java +++ b/libjava/classpath/gnu/java/net/GetLocalHostAction.java @@ -48,9 +48,9 @@ import java.security.PrivilegedAction; * @author Chris Burdess (dog@gnu.org) */ public class GetLocalHostAction - implements PrivilegedAction + implements PrivilegedAction { - public Object run() + public InetAddress run() { try { diff --git a/libjava/classpath/gnu/java/net/HeaderFieldHelper.java b/libjava/classpath/gnu/java/net/HeaderFieldHelper.java index 0fb8d953d21..a8d13ce153b 100644 --- a/libjava/classpath/gnu/java/net/HeaderFieldHelper.java +++ b/libjava/classpath/gnu/java/net/HeaderFieldHelper.java @@ -49,8 +49,8 @@ import java.util.Vector; */ public class HeaderFieldHelper { - private Vector headerFieldKeys; - private Vector headerFieldValues; + private Vector headerFieldKeys; + private Vector headerFieldValues; public HeaderFieldHelper() { @@ -59,8 +59,8 @@ public class HeaderFieldHelper public HeaderFieldHelper (int size) { - headerFieldKeys = new Vector (size); - headerFieldValues = new Vector (size); + headerFieldKeys = new Vector (size); + headerFieldValues = new Vector (size); } public void addHeaderField (String key, String value) @@ -75,7 +75,7 @@ public class HeaderFieldHelper try { - key = (String) headerFieldKeys.elementAt (index); + key = headerFieldKeys.elementAt (index); } catch (ArrayIndexOutOfBoundsException e) { @@ -90,7 +90,7 @@ public class HeaderFieldHelper try { - value = (String) headerFieldValues.elementAt (index); + value = headerFieldValues.elementAt (index); } catch (ArrayIndexOutOfBoundsException e) { @@ -105,8 +105,7 @@ public class HeaderFieldHelper try { - value = (String) headerFieldValues.elementAt - (headerFieldKeys.indexOf(key)); + value = headerFieldValues.elementAt(headerFieldKeys.indexOf(key)); } catch (ArrayIndexOutOfBoundsException e) { @@ -115,9 +114,9 @@ public class HeaderFieldHelper return value; } - public Map getHeaderFields() + public Map getHeaderFields() { - HashMap headers = new HashMap(); + HashMap headers = new HashMap(); int max = headerFieldKeys.size(); for (int index = 0; index < max; index++) diff --git a/libjava/classpath/gnu/java/net/IndexListParser.java b/libjava/classpath/gnu/java/net/IndexListParser.java index 1165929fc35..2d90ceb6433 100644 --- a/libjava/classpath/gnu/java/net/IndexListParser.java +++ b/libjava/classpath/gnu/java/net/IndexListParser.java @@ -43,6 +43,7 @@ import java.io.InputStreamReader; import java.net.URL; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.Set; import java.util.jar.JarFile; /** @@ -70,7 +71,8 @@ public class IndexListParser double versionNumber; // Map each jar to the prefixes defined for the jar. // This is intentionally kept in insertion order. - LinkedHashMap prefixes = new LinkedHashMap(); + LinkedHashMap> prefixes + = new LinkedHashMap>(); /** * Parses the given jarfile's INDEX.LIST file if it exists. @@ -107,7 +109,7 @@ public class IndexListParser while ((line = br.readLine()) != null) { URL jarURL = new URL(baseURL, line); - HashSet values = new HashSet(); + HashSet values = new HashSet(); // Read the names in the section. while ((line = br.readLine()) != null) @@ -174,7 +176,7 @@ public class IndexListParser * * @return an map of all the headers, or null if no INDEX.LIST was found */ - public LinkedHashMap getHeaders() + public LinkedHashMap> getHeaders() { return prefixes; } diff --git a/libjava/classpath/gnu/java/net/loader/JarURLLoader.java b/libjava/classpath/gnu/java/net/loader/JarURLLoader.java index 9385760d547..40194be799a 100644 --- a/libjava/classpath/gnu/java/net/loader/JarURLLoader.java +++ b/libjava/classpath/gnu/java/net/loader/JarURLLoader.java @@ -32,7 +32,7 @@ public final class JarURLLoader extends URLLoader // Base jar: url for all resources loaded from jar. final URL baseJarURL; // The "Class-Path" attribute of this Jar's manifest. - ArrayList classPath; + ArrayList classPath; // If not null, a mapping from INDEX.LIST for this jar only. // This is a set of all prefixes and top-level files that // ought to be available in this jar. @@ -90,20 +90,20 @@ public final class JarURLLoader extends URLLoader IndexListParser parser = new IndexListParser(jarfile, baseJarURL, baseURL); - LinkedHashMap indexMap = parser.getHeaders(); + LinkedHashMap> indexMap = parser.getHeaders(); if (indexMap != null) { // Note that the index also computes // the resulting Class-Path -- there are jars out there // where the index lists some required jars which do // not appear in the Class-Path attribute in the manifest. - this.classPath = new ArrayList(); - Iterator it = indexMap.entrySet().iterator(); + this.classPath = new ArrayList(); + Iterator>> it = indexMap.entrySet().iterator(); while (it.hasNext()) { - Map.Entry entry = (Map.Entry) it.next(); - URL subURL = (URL) entry.getKey(); - Set prefixes = (Set) entry.getValue(); + Map.Entry> entry = it.next(); + URL subURL = entry.getKey(); + Set prefixes = entry.getValue(); if (subURL.equals(baseURL)) this.indexSet = prefixes; else @@ -127,7 +127,7 @@ public final class JarURLLoader extends URLLoader = attributes.getValue(Attributes.Name.CLASS_PATH)) != null)) { - this.classPath = new ArrayList(); + this.classPath = new ArrayList(); StringTokenizer st = new StringTokenizer(classPathString, " "); while (st.hasMoreElements ()) { @@ -144,7 +144,7 @@ public final class JarURLLoader extends URLLoader cache, factory, subURL, subURL); this.classPath.add(subLoader); - ArrayList extra = subLoader.getClassPath(); + ArrayList extra = subLoader.getClassPath(); if (extra != null) this.classPath.addAll(extra); } @@ -208,7 +208,7 @@ public final class JarURLLoader extends URLLoader } } - public ArrayList getClassPath() + public ArrayList getClassPath() { return classPath; } diff --git a/libjava/classpath/gnu/java/net/loader/URLLoader.java b/libjava/classpath/gnu/java/net/loader/URLLoader.java index d073c54296a..5228bcac96d 100644 --- a/libjava/classpath/gnu/java/net/loader/URLLoader.java +++ b/libjava/classpath/gnu/java/net/loader/URLLoader.java @@ -140,7 +140,7 @@ public abstract class URLLoader * Return a list of new URLLoader objects representing any * class path entries added by this container. */ - public ArrayList getClassPath() + public ArrayList getClassPath() { return null; } diff --git a/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java b/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java index 295a15d2b53..b7b8bf12bf1 100644 --- a/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java +++ b/libjava/classpath/gnu/java/net/loader/URLStreamHandlerCache.java @@ -51,7 +51,8 @@ public class URLStreamHandlerCache * private protocol handler cache (also a HashMap), so we can avoid * creating handlers each time the same protocol comes. */ - private HashMap factoryCache = new HashMap(5); + private HashMap> factoryCache + = new HashMap>(5); public URLStreamHandlerCache() { @@ -62,7 +63,7 @@ public class URLStreamHandlerCache // Since we only support three protocols so far, 5 is enough // for cache initial size. if (factory != null && factoryCache.get(factory) == null) - factoryCache.put(factory, new HashMap(5)); + factoryCache.put(factory, new HashMap(5)); } public synchronized URLStreamHandler get(URLStreamHandlerFactory factory, @@ -71,8 +72,8 @@ public class URLStreamHandlerCache if (factory == null) return null; // Check if there're handler for the same protocol in cache. - HashMap cache = (HashMap) factoryCache.get(factory); - URLStreamHandler handler = (URLStreamHandler) cache.get(protocol); + HashMap cache = factoryCache.get(factory); + URLStreamHandler handler = cache.get(protocol); if (handler == null) { // Add it to cache. diff --git a/libjava/classpath/gnu/java/net/local/LocalServerSocket.java b/libjava/classpath/gnu/java/net/local/LocalServerSocket.java index 15163f243a8..9d8a6ccdf32 100644 --- a/libjava/classpath/gnu/java/net/local/LocalServerSocket.java +++ b/libjava/classpath/gnu/java/net/local/LocalServerSocket.java @@ -44,7 +44,6 @@ import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; -import java.net.SocketException; public final class LocalServerSocket extends ServerSocket { diff --git a/libjava/classpath/gnu/java/net/local/LocalSocket.java b/libjava/classpath/gnu/java/net/local/LocalSocket.java index b262c794e3d..92acc65bb62 100644 --- a/libjava/classpath/gnu/java/net/local/LocalSocket.java +++ b/libjava/classpath/gnu/java/net/local/LocalSocket.java @@ -46,7 +46,6 @@ import java.net.InetAddress; import java.net.Socket; import java.net.SocketAddress; import java.net.SocketException; -import java.net.SocketImpl; import java.nio.channels.IllegalBlockingModeException; import java.nio.channels.SocketChannel; diff --git a/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java b/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java index f5317d479bc..fd79019183a 100644 --- a/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java @@ -1139,7 +1139,7 @@ public class FTPConnection * @param pathname the directory pathname, or null * @return a list of filenames(strings) */ - public List nameList(String pathname) + public List nameList(String pathname) throws IOException { if (dtp == null || transferMode == MODE_STREAM) @@ -1164,7 +1164,7 @@ public class FTPConnection in = new BufferedInputStream(in); in = new CRLFInputStream(in); // TODO ensure that TYPE is correct LineInputStream li = new LineInputStream(in); - List ret = new ArrayList(); + ArrayList ret = new ArrayList(); for (String line = li.readLine(); line != null; line = li.readLine()) diff --git a/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java b/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java index f937e51f606..cfad5a7c1a6 100644 --- a/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java @@ -50,7 +50,9 @@ import java.net.InetAddress; import java.net.URL; import java.net.URLConnection; import java.security.AccessController; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -112,7 +114,7 @@ public class FTPURLConnection { username = "anonymous"; GetLocalHostAction a = new GetLocalHostAction(); - InetAddress localhost =(InetAddress) AccessController.doPrivileged(a); + InetAddress localhost = AccessController.doPrivileged(a); password = SystemProperties.getProperty("user.name") + "@" + ((localhost == null) ? "localhost" : localhost.getHostName()); } @@ -232,9 +234,9 @@ public class FTPURLConnection return null; } - public Map getRequestProperties() + public Map> getRequestProperties() { - Map map = new HashMap(); + Map> map = new HashMap>(); addRequestPropertyValue(map, "passive"); addRequestPropertyValue(map, "representationType"); addRequestPropertyValue(map, "fileStructure"); @@ -242,10 +244,13 @@ public class FTPURLConnection return map; } - private void addRequestPropertyValue(Map map, String key) + private void addRequestPropertyValue(Map> map, + String key) { String value = getRequestProperty(key); - map.put(key, value); + ArrayList l = new ArrayList(); + l.add(value); + map.put(key, l); } public void setRequestProperty(String key, String value) diff --git a/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java b/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java index 9870412f2da..8abef71d521 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java +++ b/libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java @@ -58,10 +58,6 @@ import java.net.ProtocolException; public class ChunkedInputStream extends InputStream { - - private static final byte CR = 0x0d; - private static final byte LF = 0x0a; - Headers headers; /** The underlying stream. */ diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java index 3956d2aba3a..9d19bfbdba4 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java @@ -129,7 +129,7 @@ public class HTTPConnection */ protected int minorVersion; - private final List handshakeCompletedListeners; + private final List handshakeCompletedListeners; /** * The socket this connection communicates on. @@ -154,7 +154,7 @@ public class HTTPConnection /** * Nonce values seen by this connection. */ - private Map nonceCounts; + private Map nonceCounts; /** * The cookie manager for this connection. @@ -244,7 +244,8 @@ public class HTTPConnection this.connectionTimeout = connectionTimeout; this.timeout = timeout; majorVersion = minorVersion = 1; - handshakeCompletedListeners = new ArrayList(2); + handshakeCompletedListeners + = new ArrayList(2); } /** @@ -357,7 +358,8 @@ public class HTTPConnection /** * The pool */ - final LinkedList connectionPool = new LinkedList(); + final LinkedList connectionPool + = new LinkedList(); /** * Maximum size of the pool. @@ -857,7 +859,7 @@ public class HTTPConnection { return 0; } - return((Integer) nonceCounts.get(nonce)).intValue(); + return nonceCounts.get(nonce).intValue(); } /** @@ -868,7 +870,7 @@ public class HTTPConnection int current = getNonceCount(nonce); if (nonceCounts == null) { - nonceCounts = new HashMap(); + nonceCounts = new HashMap(); } nonceCounts.put(nonce, new Integer(current + 1)); } diff --git a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java index 6c926b72fb4..b31f426695f 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java +++ b/libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java @@ -50,11 +50,11 @@ import java.net.URL; import java.security.cert.Certificate; import java.util.Collections; import java.util.Date; +import java.util.List; import java.util.Map; import javax.net.ssl.HandshakeCompletedEvent; import javax.net.ssl.HandshakeCompletedListener; -import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSocketFactory; @@ -170,7 +170,8 @@ public class HTTPURLConnection if (secure) { SSLSocketFactory factory = getSSLSocketFactory(); - HostnameVerifier verifier = getHostnameVerifier(); + // FIXME: use the verifier + // HostnameVerifier verifier = getHostnameVerifier(); if (factory != null) { connection.setSSLSocketFactory(factory); @@ -428,12 +429,12 @@ public class HTTPURLConnection return requestHeaders.getValue(key); } - public Map getRequestProperties() + public Map> getRequestProperties() { if (connected) throw new IllegalStateException("Already connected"); - Map m = requestHeaders.getAsMap(); + Map> m = requestHeaders.getAsMap(); return Collections.unmodifiableMap(m); } @@ -509,7 +510,7 @@ public class HTTPURLConnection return errorSink; } - public Map getHeaderFields() + public Map> getHeaderFields() { if (!connected) { @@ -522,7 +523,7 @@ public class HTTPURLConnection return null; } } - Map m = response.getHeaders().getAsMap(); + Map> m = response.getHeaders().getAsMap(); m.put(null, Collections.singletonList(getStatusLine(response))); return Collections.unmodifiableMap(m); } diff --git a/libjava/classpath/gnu/java/net/protocol/http/Headers.java b/libjava/classpath/gnu/java/net/protocol/http/Headers.java index a793bbd9728..c8736bbac8f 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/Headers.java +++ b/libjava/classpath/gnu/java/net/protocol/http/Headers.java @@ -42,6 +42,7 @@ import gnu.java.net.LineInputStream; import java.io.IOException; import java.io.InputStream; +import java.lang.Iterable; import java.text.DateFormat; import java.text.ParseException; import java.util.ArrayList; @@ -49,6 +50,7 @@ import java.util.Collections; import java.util.Date; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.List; import java.util.Map; /** @@ -60,12 +62,13 @@ import java.util.Map; * @author Chris Burdess (dog@gnu.org) * @author David Daney (ddaney@avtrex.com) */ -class Headers +class Headers implements Iterable { /** * A list of HeaderElements */ - private final ArrayList headers = new ArrayList(); + private final ArrayList headers + = new ArrayList(); /** * The HTTP dateformat used to parse date header fields. @@ -102,7 +105,7 @@ class Headers * * @return the Iterator. */ - Iterator iterator() + public Iterator iterator() { return headers.iterator(); } @@ -118,7 +121,7 @@ class Headers { for (int i = headers.size() - 1; i >= 0; i--) { - HeaderElement e = (HeaderElement)headers.get(i); + HeaderElement e = headers.get(i); if (e.name.equalsIgnoreCase(header)) { return e.value; @@ -219,7 +222,7 @@ class Headers { for (int i = headers.size() - 1; i >= 0; i--) { - HeaderElement e = (HeaderElement)headers.get(i); + HeaderElement e = headers.get(i); if (e.name.equalsIgnoreCase(name)) { e.value = value; @@ -240,9 +243,9 @@ class Headers */ public void putAll(Headers o) { - for (Iterator it = o.iterator(); it.hasNext(); ) + for (Iterator it = o.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); + HeaderElement e = it.next(); remove(e.name); addValue(e.name, e.value); } @@ -256,9 +259,9 @@ class Headers */ public void remove(String name) { - for (Iterator it = headers.iterator(); it.hasNext(); ) + for (Iterator it = headers.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); + HeaderElement e = it.next(); if (e.name.equalsIgnoreCase(name)) it.remove(); } @@ -358,26 +361,26 @@ class Headers * * @return a Map containing all the headers. */ - public Map getAsMap() + public Map> getAsMap() { - LinkedHashMap m = new LinkedHashMap(); - for (Iterator it = headers.iterator(); it.hasNext(); ) + LinkedHashMap> m = new LinkedHashMap>(); + for (Iterator it = headers.iterator(); it.hasNext(); ) { - HeaderElement e = (HeaderElement)it.next(); - ArrayList l = (ArrayList)m.get(e.name); + HeaderElement e = it.next(); + ArrayList l = (ArrayList)m.get(e.name); if (l == null) { - l = new ArrayList(1); + l = new ArrayList(1); l.add(e.value); m.put(e.name, l); } else l.add(0, e.value); } - for (Iterator it = m.entrySet().iterator(); it.hasNext(); ) + for (Iterator>> it = m.entrySet().iterator(); it.hasNext(); ) { - Map.Entry me = (Map.Entry)it.next(); - ArrayList l = (ArrayList)me.getValue(); + Map.Entry> me = it.next(); + List l = me.getValue(); me.setValue(Collections.unmodifiableList(l)); } return m; @@ -397,7 +400,7 @@ class Headers if (i >= headers.size() || i < 0) return null; - return ((HeaderElement)headers.get(i)).name; + return headers.get(i).name; } /** @@ -414,8 +417,6 @@ class Headers if (i >= headers.size() || i < 0) return null; - return ((HeaderElement)headers.get(i)).value; + return headers.get(i).value; } - } - diff --git a/libjava/classpath/gnu/java/net/protocol/http/Request.java b/libjava/classpath/gnu/java/net/protocol/http/Request.java index cd9d7ea4423..06a779f3311 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/Request.java +++ b/libjava/classpath/gnu/java/net/protocol/http/Request.java @@ -1,5 +1,5 @@ /* Request.java -- - Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,8 +38,8 @@ exception statement from your version. */ package gnu.java.net.protocol.http; -import gnu.java.net.BASE64; import gnu.java.net.LineInputStream; +import gnu.java.util.Base64; import java.io.IOException; import java.io.InputStream; @@ -96,7 +96,7 @@ public class Request /** * Map of response header handlers. */ - protected Map responseHeaderHandlers; + protected Map responseHeaderHandlers; /** * The authenticator. @@ -121,7 +121,7 @@ public class Request this.method = method; this.path = path; requestHeaders = new Headers(); - responseHeaderHandlers = new HashMap(); + responseHeaderHandlers = new HashMap(); } /** @@ -302,9 +302,8 @@ public class Request String line = method + ' ' + requestUri + ' ' + version + CRLF; out.write(line.getBytes(US_ASCII)); // Request headers - for (Iterator i = requestHeaders.iterator(); i.hasNext(); ) + for (Headers.HeaderElement elt : requestHeaders) { - Headers.HeaderElement elt = (Headers.HeaderElement)i.next(); line = elt.name + HEADER_SEP + elt.value + CRLF; out.write(line.getBytes(US_ASCII)); } @@ -439,9 +438,8 @@ public class Request void notifyHeaderHandlers(Headers headers) { - for (Iterator i = headers.iterator(); i.hasNext(); ) + for (Headers.HeaderElement entry : headers) { - Headers.HeaderElement entry = (Headers.HeaderElement) i.next(); // Handle Set-Cookie if ("Set-Cookie".equalsIgnoreCase(entry.name)) handleSetCookie(entry.value); @@ -461,7 +459,6 @@ public class Request throws IOException { long contentLength = -1; - Headers trailer = null; // Persistent connections are the default in HTTP/1.1 boolean doClose = "close".equalsIgnoreCase(getHeader("Connection")) || @@ -532,7 +529,7 @@ public class Request Credentials creds = authenticator.getCredentials(realm, attempts); String userPass = creds.getUsername() + ':' + creds.getPassword(); byte[] b_userPass = userPass.getBytes("US-ASCII"); - byte[] b_encoded = BASE64.encode(b_userPass); + byte[] b_encoded = Base64.encode(b_userPass).getBytes("US-ASCII"); String authorization = scheme + " " + new String(b_encoded, "US-ASCII"); setHeader("Authorization", authorization); diff --git a/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java b/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java index 8947471885c..fe05ba09e5e 100644 --- a/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java +++ b/libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java @@ -1,5 +1,5 @@ /* CookieManager.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Iterator; -import java.util.List; import java.util.Map; /** @@ -59,23 +58,23 @@ public class SimpleCookieManager * The cookie cache. * This is a dictionary mapping domains to maps of cookies by name. */ - protected Map cookies; + protected Map> cookies; /** * Constructor. */ public SimpleCookieManager() { - cookies = new HashMap(); + cookies = new HashMap>(); } public void setCookie(Cookie cookie) { String domain = cookie.getDomain(); - Map map =(Map) cookies.get(domain); + Map map = cookies.get(domain); if (map == null) { - map = new HashMap(); + map = new HashMap(); cookies.put(domain, map); } String name = cookie.getName(); @@ -84,7 +83,7 @@ public class SimpleCookieManager public Cookie[] getCookies(String host, boolean secure, String path) { - List matches = new ArrayList(); + ArrayList matches = new ArrayList(); Date now = new Date(); if (Character.isLetter(host.charAt(0))) { @@ -102,17 +101,16 @@ public class SimpleCookieManager return ret; } - private void addCookies(List matches, String domain, boolean secure, - String path, Date now) + private void addCookies(ArrayList matches, String domain, + boolean secure, String path, Date now) { - Map map = (Map) cookies.get(domain); + Map map = cookies.get(domain); if (map != null) { - List expired = new ArrayList(); - for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) + ArrayList expired = new ArrayList(); + for (Map.Entry entry : map.entrySet()) { - Map.Entry entry = (Map.Entry) i.next(); - Cookie cookie = (Cookie) entry.getValue(); + Cookie cookie = entry.getValue(); Date expires = cookie.getExpiryDate(); if (expires != null && expires.before(now)) { @@ -129,7 +127,7 @@ public class SimpleCookieManager } } // Good housekeeping - for (Iterator i = expired.iterator(); i.hasNext(); ) + for (Iterator i = expired.iterator(); i.hasNext(); ) { map.remove(i.next()); } diff --git a/libjava/classpath/gnu/java/net/protocol/jar/Connection.java b/libjava/classpath/gnu/java/net/protocol/jar/Connection.java index f99806ae42d..386aacef63e 100644 --- a/libjava/classpath/gnu/java/net/protocol/jar/Connection.java +++ b/libjava/classpath/gnu/java/net/protocol/jar/Connection.java @@ -76,7 +76,8 @@ public final class Connection extends JarURLConnection public static class JarFileCache { - private static Hashtable cache = new Hashtable(); + private static Hashtable cache + = new Hashtable(); private static final int READBUFSIZE = 4*1024; public static synchronized JarFile get (URL url, boolean useCaches) @@ -85,7 +86,7 @@ public final class Connection extends JarURLConnection JarFile jf; if (useCaches) { - jf = (JarFile) cache.get (url); + jf = cache.get (url); if (jf != null) return jf; } diff --git a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java index 7c09766a557..c57d0a36016 100644 --- a/libjava/classpath/gnu/java/net/protocol/jar/Handler.java +++ b/libjava/classpath/gnu/java/net/protocol/jar/Handler.java @@ -164,7 +164,7 @@ public class Handler extends URLStreamHandler if (jar_path.indexOf("/.") < 0) return url_string; - ArrayList tokens = new ArrayList(); + ArrayList tokens = new ArrayList(); StringTokenizer st = new StringTokenizer(jar_path, "/"); while (st.hasMoreTokens()) { @@ -183,7 +183,7 @@ public class Handler extends URLStreamHandler StringBuffer path = new StringBuffer(url_string.length()); path.append(url_string.substring(0, jar_stop + 1)); - Iterator it = tokens.iterator(); + Iterator it = tokens.iterator(); while (it.hasNext()) path.append('/').append(it.next()); diff --git a/libjava/classpath/gnu/java/nio/ChannelInputStream.java b/libjava/classpath/gnu/java/nio/ChannelInputStream.java index 675a62f3d88..f56536d65ad 100644 --- a/libjava/classpath/gnu/java/nio/ChannelInputStream.java +++ b/libjava/classpath/gnu/java/nio/ChannelInputStream.java @@ -59,6 +59,16 @@ public final class ChannelInputStream extends InputStream this.ch = ch; } + public int read(byte[] buf, int off, int len) throws IOException + { + if (ch instanceof SelectableChannel + && (! ((SelectableChannel) ch).isBlocking())) + throw new IllegalBlockingModeException(); + + ByteBuffer b = ByteBuffer.wrap(buf, off, len); + return ch.read(b); + } + public int read() throws IOException { if (ch instanceof SelectableChannel @@ -74,6 +84,6 @@ public final class ChannelInputStream extends InputStream if (result == 0) throw new IOException("Could not read from channel"); - return buffer.get(0); + return buffer.get(0) & 0xff; } } diff --git a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java index 56167b69ea8..0c509b985ff 100644 --- a/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java +++ b/libjava/classpath/gnu/java/nio/SelectorProviderImpl.java @@ -117,4 +117,5 @@ public class SelectorProviderImpl extends SelectorProvider { return new SocketChannelImpl (this); } + } diff --git a/libjava/classpath/gnu/java/nio/charset/ByteCharset.java b/libjava/classpath/gnu/java/nio/charset/ByteCharset.java index da0fdcbcdb3..e2025482956 100644 --- a/libjava/classpath/gnu/java/nio/charset/ByteCharset.java +++ b/libjava/classpath/gnu/java/nio/charset/ByteCharset.java @@ -115,8 +115,11 @@ abstract class ByteCharset extends Charset return CoderResult.OVERFLOW; } - if((c = lookup[(int) (b & 0xFF)]) == NONE); - // return CoderResult.unmappableForLength (1); + if((c = lookup[(int) (b & 0xFF)]) == NONE) + { + in.position (in.position () - 1); + return CoderResult.unmappableForLength (1); + } out.put (c); } diff --git a/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java b/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java index 033440d5da2..be7b4afe05d 100644 --- a/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java +++ b/libjava/classpath/gnu/java/nio/charset/EncodingHelper.java @@ -148,6 +148,17 @@ public class EncodingHelper throw new UnsupportedEncodingException("Charset "+name+" not found."); } } + + /** + * Returns the default charset without throwing any exceptions. The default + * charset is UTF8. + * + * @return the default charset + */ + public static Charset getDefaultCharset() + { + return new UTF_8(); + } } diff --git a/libjava/classpath/gnu/java/security/util/Base64.java b/libjava/classpath/gnu/java/security/util/Base64.java deleted file mode 100644 index 9b2ae12dc27..00000000000 --- a/libjava/classpath/gnu/java/security/util/Base64.java +++ /dev/null @@ -1,349 +0,0 @@ -/* Base64.java -- - Copyright (C) 2003, 2006 Free Software Foundation, Inc. - -This file is a part of GNU Classpath. - -GNU Classpath is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or (at -your option) any later version. - -GNU Classpath is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU Classpath; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 -USA - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under -terms of your choice, provided that you also meet, for each linked -independent module, the terms and conditions of the license of that -module. An independent module is a module which is not derived from -or based on this library. If you modify this library, you may extend -this exception to your version of the library, but you are not -obligated to do so. If you do not wish to do so, delete this -exception statement from your version. */ - - -package gnu.java.security.util; - -import gnu.java.security.Configuration; - -import java.io.UnsupportedEncodingException; -import java.util.logging.Logger; - -/** - * Most of this implementation is from Robert Harder's public domain Base64 - * code (version 1.4.1 available from <http://iharder.net/xmlizable>). - */ -public class Base64 -{ - private static final Logger log = Logger.getLogger(Base64.class.getName()); - - /** Maximum line length (76) of Base64 output. */ - private static final int MAX_LINE_LENGTH = 76; - - /** The new line character (\n) as one byte. */ - private static final byte NEW_LINE = (byte) '\n'; - - /** The equals sign (=) as a byte. */ - private static final byte EQUALS_SIGN = (byte) '='; - - private static final byte WHITE_SPACE_ENC = -5; // white space in encoding - - private static final byte EQUALS_SIGN_ENC = -1; // equals sign in encoding - - /** The 64 valid Base64 values. */ - private static final byte[] ALPHABET = { - (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', - (byte) 'G', (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', - (byte) 'M', (byte) 'N', (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', - (byte) 'S', (byte) 'T', (byte) 'U', (byte) 'V', (byte) 'W', (byte) 'X', - (byte) 'Y', (byte) 'Z', (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', - (byte) 'e', (byte) 'f', (byte) 'g', (byte) 'h', (byte) 'i', (byte) 'j', - (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n', (byte) 'o', (byte) 'p', - (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u', (byte) 'v', - (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z', (byte) '0', (byte) '1', - (byte) '2', (byte) '3', (byte) '4', (byte) '5', (byte) '6', (byte) '7', - (byte) '8', (byte) '9', (byte) '+', (byte) '/' - }; - - /** - * Translates a Base64 value to either its 6-bit reconstruction value or a - * negative number indicating some other meaning. - */ - private static final byte[] DECODABET = { - -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 0 - 8 - -5, -5, // Whitespace: Tab and Linefeed - -9, -9, // Decimal 11 - 12 - -5, // Whitespace: Carriage Return - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 14 - 26 - -9, -9, -9, -9, -9, // Decimal 27 - 31 - -5, // Whitespace: Space - -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 33 - 42 - 62, // Plus sign at decimal 43 - -9, -9, -9, // Decimal 44 - 46 - 63, // Slash at decimal 47 - 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, // Numbers zero through nine - -9, -9, -9, // Decimal 58 - 60 - -1, // Equals sign at decimal 61 - -9, -9, -9, // Decimal 62 - 64 - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, // Letters 'A' through 'N' - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // Letters 'O' through 'Z' - -9, -9, -9, -9, -9, -9, // Decimal 91 - 96 - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, // Letters 'a' through 'm' - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, // Letters 'n' through 'z' - -9, -9, -9, -9 // Decimal 123 - 126 - }; - - /** Trivial private ctor to enfore Singleton pattern. */ - private Base64() - { - super(); - } - - /** - * Encodes a byte array into Base64 notation. Equivalent to calling - * encode(source, 0, source.length). - * - * @param src the data to convert. - */ - public static final String encode(final byte[] src) - { - return encode(src, 0, src.length, true); - } - - /** - * Encodes a byte array into Base64 notation. - * - * @param src the data to convert. - * @param off offset in array where conversion should begin. - * @param len length of data to convert. - * @param breakLines break lines at 80 characters or less. - */ - public static final String encode(final byte[] src, final int off, - final int len, final boolean breakLines) - { - final int len43 = len * 4 / 3; - final byte[] outBuff = new byte[len43 // Main 4:3 - + ((len % 3) > 0 ? 4 : 0) // Account for padding - + (breakLines ? (len43 / MAX_LINE_LENGTH) - : 0)]; // New lines - int d = 0; - int e = 0; - final int len2 = len - 2; - int lineLength = 0; - for (; d < len2; d += 3, e += 4) - { - encode3to4(src, d + off, 3, outBuff, e); - lineLength += 4; - if (breakLines && lineLength == MAX_LINE_LENGTH) - { - outBuff[e + 4] = NEW_LINE; - e++; - lineLength = 0; - } - } - if (d < len) // padding needed - { - encode3to4(src, d + off, len - d, outBuff, e); - e += 4; - } - return new String(outBuff, 0, e); - } - - /** - * Decodes data from Base64 notation. - * - * @param s the string to decode. - * @return the decoded data. - */ - public static final byte[] decode(final String s) - throws UnsupportedEncodingException - { - final byte[] bytes; - bytes = s.getBytes("US-ASCII"); - return decode(bytes, 0, bytes.length); - } - - /** - * Decodes Base64 content in byte array format and returns the decoded byte - * array. - * - * @param src the Base64 encoded data. - * @param off the offset of where to begin decoding. - * @param len the length of characters to decode. - * @return the decoded data. - * @throws IllegalArgumentException if src contains an illegal - * Base-64 character. - */ - public static byte[] decode(final byte[] src, final int off, final int len) - { - final int len34 = len * 3 / 4; - final byte[] outBuff = new byte[len34]; // Upper limit on size of output - int outBuffPosn = 0; - final byte[] b4 = new byte[4]; - int b4Posn = 0; - int i; - byte sbiCrop, sbiDecode; - for (i = off; i < off + len; i++) - { - sbiCrop = (byte) (src[i] & 0x7F); // Only the low seven bits - sbiDecode = DECODABET[sbiCrop]; - if (sbiDecode >= WHITE_SPACE_ENC) - { // White space, Equals sign or better - if (sbiDecode >= EQUALS_SIGN_ENC) - { - b4[b4Posn++] = sbiCrop; - if (b4Posn > 3) - { - outBuffPosn += decode4to3(b4, 0, outBuff, outBuffPosn); - b4Posn = 0; - // If that was the equals sign, break out of 'for' loop - if (sbiCrop == EQUALS_SIGN) - break; - } // end if: quartet built - } // end if: equals sign or better - } - throw new IllegalArgumentException("Illegal BASE-64 character at #" - + i + ": " + src[i] + "(decimal)"); - } - final byte[] result = new byte[outBuffPosn]; - System.arraycopy(outBuff, 0, result, 0, outBuffPosn); - return result; - } - - /** - * Encodes up to three bytes of the array src and writes the - * resulting four Base64 bytes to dest. The source and - * destination arrays can be manipulated anywhere along their length by - * specifying sOffset and dOffset. - *

- * This method does not check to make sure the arrays are large enough to - * accomodate sOffset + 3 for the src array or - * dOffset + 4 for the dest array. The actual - * number of significant bytes in the input array is given by - * numBytes. - * - * @param src the array to convert. - * @param sOffset the index where conversion begins. - * @param numBytes the number of significant bytes in your array. - * @param dest the array to hold the conversion. - * @param dOffset the index where output will be put. - * @return the destination array. - */ - private static final byte[] encode3to4(final byte[] src, final int sOffset, - final int numBytes, final byte[] dest, - final int dOffset) - { - // 1 2 3 - // 01234567890123456789012345678901 Bit position - // --------000000001111111122222222 Array position from threeBytes - // --------| || || || | Six bit groups to index ALPHABET - // >>18 >>12 >> 6 >> 0 Right shift necessary - // 0x3F 0x3F 0x3F Additional AND - - // Create buffer with zero-padding if there are only one or two - // significant bytes passed in the array. - // We have to shift left 24 in order to flush out the 1's that appear - // when Java treats a value as negative that is cast from a byte to an int. - final int inBuff = (numBytes > 0 ? ((src[sOffset] << 24) >>> 8) : 0) - | (numBytes > 1 ? ((src[sOffset + 1] << 24) >>> 16) : 0) - | (numBytes > 2 ? ((src[sOffset + 2] << 24) >>> 24) : 0); - switch (numBytes) - { - case 3: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3F]; - dest[dOffset + 3] = ALPHABET[(inBuff) & 0x3F]; - break; - case 2: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3F]; - dest[dOffset + 3] = EQUALS_SIGN; - break; - case 1: - dest[dOffset ] = ALPHABET[(inBuff >>> 18)]; - dest[dOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3F]; - dest[dOffset + 2] = EQUALS_SIGN; - dest[dOffset + 3] = EQUALS_SIGN; - break; - } - return dest; - } - - /** - * Decodes four bytes from array src and writes the resulting - * bytes (up to three of them) to dest. - *

- * The source and destination arrays can be manipulated anywhere along their - * length by specifying sOffset and dOffset. - *

- * This method does not check to make sure your arrays are large enough to - * accomodate sOffset + 4 for the src array or - * dOffset + 3 for the dest array. This method - * returns the actual number of bytes that were converted from the Base64 - * encoding. - * - * @param src the array to convert. - * @param sOffset the index where conversion begins. - * @param dest the array to hold the conversion. - * @param dOffset the index where output will be put. - * @return the number of decoded bytes converted. - */ - private static final int decode4to3(final byte[] src, final int sOffset, - final byte[] dest, final int dOffset) - { - if (src[sOffset + 2] == EQUALS_SIGN) // Example: Dk== - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12); - dest[dOffset] = (byte)(outBuff >>> 16); - return 1; - } - if (src[sOffset + 3] == EQUALS_SIGN) // Example: DkL= - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12) - | ((DECODABET[src[sOffset + 2]] & 0xFF) << 6); - dest[dOffset ] = (byte)(outBuff >>> 16); - dest[dOffset + 1] = (byte)(outBuff >>> 8); - return 2; - } - try // Example: DkLE - { - final int outBuff = ((DECODABET[src[sOffset ]] & 0xFF) << 18) - | ((DECODABET[src[sOffset + 1]] & 0xFF) << 12) - | ((DECODABET[src[sOffset + 2]] & 0xFF) << 6) - | ((DECODABET[src[sOffset + 3]] & 0xFF)); - dest[dOffset ] = (byte)(outBuff >> 16); - dest[dOffset + 1] = (byte)(outBuff >> 8); - dest[dOffset + 2] = (byte) outBuff; - return 3; - } - catch (Exception x) - { - if (Configuration.DEBUG) - { - log.fine("" + src[sOffset ] + ": " + (DECODABET[src[sOffset ]])); - log.fine("" + src[sOffset + 1] + ": " + (DECODABET[src[sOffset + 1]])); - log.fine("" + src[sOffset + 2] + ": " + (DECODABET[src[sOffset + 2]])); - log.fine("" + src[sOffset + 3] + ": " + (DECODABET[src[sOffset + 3]])); - } - return -1; - } - } -} diff --git a/libjava/classpath/gnu/java/security/x509/X509Certificate.java b/libjava/classpath/gnu/java/security/x509/X509Certificate.java index b3f8a696a85..14c5652648a 100644 --- a/libjava/classpath/gnu/java/security/x509/X509Certificate.java +++ b/libjava/classpath/gnu/java/security/x509/X509Certificate.java @@ -1,5 +1,5 @@ /* X509Certificate.java -- X.509 certificate. - Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,7 @@ import gnu.java.security.der.DERValue; import gnu.java.security.x509.ext.BasicConstraints; import gnu.java.security.x509.ext.ExtendedKeyUsage; import gnu.java.security.x509.ext.Extension; +import gnu.java.security.x509.ext.GeneralName; import gnu.java.security.x509.ext.IssuerAlternativeNames; import gnu.java.security.x509.ext.KeyUsage; import gnu.java.security.x509.ext.SubjectAlternativeNames; @@ -103,6 +104,7 @@ public class X509Certificate extends java.security.cert.X509Certificate // Constants and fields. // ------------------------------------------------------------------------ + private static final long serialVersionUID = -2491127588187038216L; private static final Logger logger = SystemLogger.SYSTEM; protected static final OID ID_DSA = new OID ("1.2.840.10040.4.1"); @@ -133,7 +135,7 @@ public class X509Certificate extends java.security.cert.X509Certificate protected transient PublicKey subjectKey; protected transient BitString issuerUniqueId; protected transient BitString subjectUniqueId; - protected transient Map extensions; + protected transient Map extensions; // Signature. protected transient OID sigAlgId; @@ -157,7 +159,7 @@ public class X509Certificate extends java.security.cert.X509Certificate throws CertificateException, IOException { super(); - extensions = new HashMap(); + extensions = new HashMap(); try { parse(encoded); @@ -178,7 +180,7 @@ public class X509Certificate extends java.security.cert.X509Certificate protected X509Certificate() { - extensions = new HashMap(); + extensions = new HashMap(); } // X509Certificate methods. @@ -316,17 +318,15 @@ public class X509Certificate extends java.security.cert.X509Certificate return null; } - public List getExtendedKeyUsage() throws CertificateParsingException + public List getExtendedKeyUsage() throws CertificateParsingException { Extension e = getExtension(ExtendedKeyUsage.ID); if (e != null) { - List a = ((ExtendedKeyUsage) e.getValue()).getPurposeIds(); - List b = new ArrayList(a.size()); - for (Iterator it = a.iterator(); it.hasNext(); ) - { - b.add(it.next().toString()); - } + List a = ((ExtendedKeyUsage) e.getValue()).getPurposeIds(); + List b = new ArrayList(a.size()); + for (OID oid : a) + b.add(oid.toString()); return Collections.unmodifiableList(b); } return null; @@ -342,24 +342,44 @@ public class X509Certificate extends java.security.cert.X509Certificate return -1; } - public Collection getSubjectAlternativeNames() + public Collection> getSubjectAlternativeNames() throws CertificateParsingException { Extension e = getExtension(SubjectAlternativeNames.ID); if (e != null) { - return ((SubjectAlternativeNames) e.getValue()).getNames(); + List names + = ((SubjectAlternativeNames) e.getValue()).getNames(); + List> list = new ArrayList>(names.size()); + for (GeneralName name : names) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + list.add(n); + } + return list; } return null; } - public Collection getIssuerAlternativeNames() + public Collection> getIssuerAlternativeNames() throws CertificateParsingException { Extension e = getExtension(IssuerAlternativeNames.ID); if (e != null) { - return ((IssuerAlternativeNames) e.getValue()).getNames(); + List names + = ((IssuerAlternativeNames) e.getValue()).getNames(); + List> list = new ArrayList>(names.size()); + for (GeneralName name : names) + { + List n = new ArrayList(2); + n.add(name.kind().tag()); + n.add(name.name()); + list.add(n); + } + return list; } return null; } @@ -378,24 +398,22 @@ public class X509Certificate extends java.security.cert.X509Certificate return false; } - public Set getCriticalExtensionOIDs() + public Set getCriticalExtensionOIDs() { - HashSet s = new HashSet(); - for (Iterator it = extensions.values().iterator(); it.hasNext(); ) + HashSet s = new HashSet(); + for (Extension e : extensions.values()) { - Extension e = (Extension) it.next(); if (e.isCritical()) s.add(e.getOid().toString()); } return Collections.unmodifiableSet(s); } - public Set getNonCriticalExtensionOIDs() + public Set getNonCriticalExtensionOIDs() { - HashSet s = new HashSet(); - for (Iterator it = extensions.values().iterator(); it.hasNext(); ) + HashSet s = new HashSet(); + for (Extension e : extensions.values()) { - Extension e = (Extension) it.next(); if (!e.isCritical()) s.add(e.getOid().toString()); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java b/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java index 50bc6d367d7..c451762f8e0 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java +++ b/libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java @@ -1,5 +1,5 @@ /* CertificatePolicies.java -- certificate policy extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,8 +61,8 @@ public class CertificatePolicies extends Extension.Value public static final OID ID = new OID("2.5.29.32"); - private final List policies; - private final Map policyQualifierInfos; + private final List policies; + private final Map> policyQualifierInfos; // Constructor. // ------------------------------------------------------------------------- @@ -76,8 +76,9 @@ public class CertificatePolicies extends Extension.Value throw new IOException("malformed CertificatePolicies"); int len = 0; - LinkedList policyList = new LinkedList(); - HashMap qualifierMap = new HashMap(); + LinkedList policyList = new LinkedList(); + HashMap> qualifierMap + = new HashMap>(); while (len < pol.getLength()) { DERValue policyInfo = der.read(); @@ -92,7 +93,7 @@ public class CertificatePolicies extends Extension.Value { DERValue qual = der.read(); int len2 = 0; - LinkedList quals = new LinkedList(); + LinkedList quals = new LinkedList(); while (len2 < qual.getLength()) { val = der.read(); @@ -109,8 +110,8 @@ public class CertificatePolicies extends Extension.Value policyQualifierInfos = Collections.unmodifiableMap(qualifierMap); } - public CertificatePolicies (final List policies, - final Map policyQualifierInfos) + public CertificatePolicies (final List policies, + final Map> policyQualifierInfos) { for (Iterator it = policies.iterator(); it.hasNext(); ) if (!(it.next() instanceof OID)) @@ -129,54 +130,69 @@ public class CertificatePolicies extends Extension.Value throw new IllegalArgumentException ("policyQualifierInfos values must be Lists of PolicyQualifierInfos"); } - this.policies = Collections.unmodifiableList (new ArrayList (policies)); + this.policies = Collections.unmodifiableList (new ArrayList(policies)); this.policyQualifierInfos = Collections.unmodifiableMap - (new HashMap (policyQualifierInfos)); + (new HashMap>(policyQualifierInfos)); } // Instance methods. // ------------------------------------------------------------------------- - public List getPolicies() + public List getPolicies() { return policies; } - - public List getPolicyQualifierInfos(OID oid) + + /** + * Returns the list of policy OIDs, formatted as dotted-decimal strings. + * + * @return + */ + public List getPolicyStrings() { - return (List) policyQualifierInfos.get(oid); + List l = new ArrayList(policies.size()); + for (OID oid : policies) + { + l.add(oid.toString()); + } + return l; + } + + public List getPolicyQualifierInfos(OID oid) + { + return policyQualifierInfos.get(oid); } public byte[] getEncoded() { if (encoded == null) { - List pol = new ArrayList (policies.size()); - for (Iterator it = policies.iterator(); it.hasNext(); ) + List pol = new ArrayList(policies.size()); + for (Iterator it = policies.iterator(); it.hasNext(); ) { - OID policy = (OID) it.next(); - List qualifiers = getPolicyQualifierInfos (policy); - List l = new ArrayList (qualifiers == null ? 1 : 2); - l.add (new DERValue (DER.OBJECT_IDENTIFIER, policy)); + OID policy = it.next(); + List qualifiers = getPolicyQualifierInfos(policy); + List l = new ArrayList(qualifiers == null ? 1 : 2); + l.add(new DERValue(DER.OBJECT_IDENTIFIER, policy)); if (qualifiers != null) { - List ll = new ArrayList (qualifiers.size()); - for (Iterator it2 = qualifiers.iterator(); it.hasNext(); ) + List ll = new ArrayList(qualifiers.size()); + for (Iterator it2 = qualifiers.iterator(); it.hasNext(); ) { - PolicyQualifierInfo info = (PolicyQualifierInfo) it2.next(); + PolicyQualifierInfo info = it2.next(); try { - ll.add (DERReader.read (info.getEncoded())); + ll.add(DERReader.read(info.getEncoded())); } catch (IOException ioe) { } } - l.add (new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, ll)); + l.add(new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, ll)); } - pol.add (new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, l)); + pol.add(new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, l)); } - encoded = new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, pol).getEncoded(); + encoded = new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, pol).getEncoded(); } return (byte[]) encoded.clone(); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java b/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java index 37b08acf43e..428013d04bd 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java +++ b/libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java @@ -1,5 +1,5 @@ /* ExtendedKeyUsage.java -- the extended key usage extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -56,7 +56,7 @@ public class ExtendedKeyUsage extends Extension.Value public static final OID ID = new OID("2.5.29.37"); - private final List purposeIds; + private final List purposeIds; // Constructor. // ------------------------------------------------------------------------- @@ -69,13 +69,13 @@ public class ExtendedKeyUsage extends Extension.Value if (!usageList.isConstructed()) throw new IOException("malformed ExtKeyUsageSyntax"); int len = 0; - purposeIds = new LinkedList(); + purposeIds = new LinkedList(); while (len < usageList.getLength()) { DERValue val = der.read(); if (val.getTag() != DER.OBJECT_IDENTIFIER) throw new IOException("malformed KeyPurposeId"); - purposeIds.add(val.getValue()); + purposeIds.add((OID) val.getValue()); len += val.getEncodedLength(); } } @@ -83,7 +83,7 @@ public class ExtendedKeyUsage extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getPurposeIds() + public List getPurposeIds() { return Collections.unmodifiableList(purposeIds); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/Extension.java b/libjava/classpath/gnu/java/security/x509/ext/Extension.java index 69251987ec9..2b7e96d5abc 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/Extension.java +++ b/libjava/classpath/gnu/java/security/x509/ext/Extension.java @@ -1,5 +1,5 @@ /* Extension.java -- an X.509 certificate or CRL extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -171,6 +171,10 @@ public class Extension { value = new ReasonCode(encval); } + else if (oid.equals(NameConstraints.ID)) + { + value = new NameConstraints(encval); + } else { value = new Value(encval); @@ -226,11 +230,11 @@ public class Extension public DERValue getDerValue() { - List ext = new ArrayList (3); - ext.add (new DERValue (DER.OBJECT_IDENTIFIER, oid)); - ext.add (new DERValue (DER.BOOLEAN, Boolean.valueOf (critical))); - ext.add (new DERValue (DER.OCTET_STRING, value.getEncoded())); - return new DERValue (DER.CONSTRUCTED|DER.SEQUENCE, ext); + List ext = new ArrayList(3); + ext.add(new DERValue(DER.OBJECT_IDENTIFIER, oid)); + ext.add(new DERValue(DER.BOOLEAN, Boolean.valueOf(critical))); + ext.add(new DERValue(DER.OCTET_STRING, value.getEncoded())); + return new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, ext); } // Own methods. diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java new file mode 100644 index 00000000000..fbc05339f6d --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralName.java @@ -0,0 +1,232 @@ +/* GeneralName.java -- a GeneralName. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +USA + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.security.x509.ext; + +import gnu.java.security.der.DER; +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; +import gnu.java.security.x509.Util; + +import java.io.IOException; +import java.util.Arrays; + +/** + * The GeneralName structure from X.509. + * + *
+  GeneralName ::= CHOICE {
+    otherName                       [0]     OtherName,
+    rfc822Name                      [1]     IA5String,
+    dNSName                         [2]     IA5String,
+    x400Address                     [3]     ORAddress,
+    directoryName                   [4]     Name,
+    ediPartyName                    [5]     EDIPartyName,
+    uniformResourceIdentifier       [6]     IA5String,
+    iPAddress                       [7]     OCTET STRING,
+    registeredID                    [8]     OBJECT IDENTIFIER }
+
+  OtherName ::= SEQUENCE {
+    type-id    OBJECT IDENTIFIER,
+    value      [0] EXPLICIT ANY DEFINED BY type-id }
+
+  EDIPartyName ::= SEQUENCE {
+    nameAssigner            [0]     DirectoryString OPTIONAL,
+    partyName               [1]     DirectoryString }
+
+ * + * @author Casey Marshall (csm@gnu.org) + */ +public class GeneralName +{ + public static enum Kind + { + otherName (0), + rfc822Name (1), + dNSName (2), + x400Address (3), + directoryName (4), + ediPartyName (5), + uniformResourceIdentifier (6), + iPAddress (7), + registeredId (8); + + private int tag; + + private Kind(int tag) + { + this.tag = tag; + } + + public static Kind forTag(final int tag) + { + switch (tag) + { + case 0: return otherName; + case 1: return rfc822Name; + case 2: return dNSName; + case 3: return x400Address; + case 4: return directoryName; + case 5: return ediPartyName; + case 6: return uniformResourceIdentifier; + case 7: return iPAddress; + case 8: return registeredId; + } + + throw new IllegalArgumentException("invalid tag: " + tag); + } + + public int tag() + { + return tag; + } + }; + + private final Kind kind; + private final byte[] name; + private final byte[] encoded; + + public GeneralName(byte[] encoded) throws IOException + { + DERReader reader = new DERReader(encoded); + DERValue value = reader.read(); + + if (value.getTagClass() != DER.CONTEXT) + throw new IOException("malformed GeneralName"); + + this.encoded = value.getEncoded(); + + kind = Kind.forTag(value.getTag()); + switch (kind) + { + case otherName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + // Skip the two fields of the name. + reader.read(); // OID + reader.read(); // Octet string + break; + + case rfc822Name: + name = (byte[]) value.getValue(); + break; + + case dNSName: + name = (byte[]) value.getValue(); + break; + + case x400Address: + name = (byte[]) value.getValue(); + break; + + case directoryName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + break; + + case ediPartyName: + name = value.getEncoded(); + name[0] = (byte) (DER.CONSTRUCTED | DER.SEQUENCE); + break; + + case uniformResourceIdentifier: + name = (byte[]) value.getValue(); + break; + + case iPAddress: + name = (byte[]) value.getValue(); + break; + + case registeredId: + name = value.getEncoded(); + name[0] = DER.OBJECT_IDENTIFIER; + break; + + default: + name = null; // Not reached. + } + } + + public GeneralName(Kind kind, byte[] name) + { + this.kind = kind; + this.name = (byte[]) name.clone(); + this.encoded = null; + } + + public Kind kind() + { + return kind; + } + + public byte[] name() + { + return (byte[]) name.clone(); + } + + public byte[] encoded() + { + try + { + return (byte[]) encoded.clone(); + } + catch (NullPointerException npe) + { + return null; + } + } + + public boolean equals(Object o) + { + try + { + GeneralName that = (GeneralName) o; + return (that.kind() == kind() && Arrays.equals(name, that.name)); + } + catch (ClassCastException cce) + { + return false; + } + } + + public String toString() + { + return (super.toString() + " [ kind=" + kind + "; name=" + + Util.hexDump(name, "") + " ]"); + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java index b342cbd5f2e..f56ee963b9c 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java @@ -38,106 +38,38 @@ exception statement from your version. */ package gnu.java.security.x509.ext; -import gnu.java.security.OID; -import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; import gnu.java.security.der.DERValue; import java.io.IOException; -import java.net.InetAddress; -import java.util.ArrayList; import java.util.Collections; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import javax.security.auth.x500.X500Principal; - public class GeneralNames { // Instance methods. // ------------------------------------------------------------------------- - public static final int OTHER_NAME = 0; - public static final int RFC822_NAME = 1; - public static final int DNS_NAME = 2; - public static final int X400_ADDRESS = 3; - public static final int DIRECTORY_NAME = 4; - public static final int EDI_PARTY_NAME = 5; - public static final int URI = 6; - public static final int IP_ADDRESS = 7; - public static final int REGISTERED_ID = 8; - - private List names; + private List names; // Constructor. // ------------------------------------------------------------------------- public GeneralNames(final byte[] encoded) throws IOException { - names = new LinkedList(); + names = new LinkedList(); DERReader der = new DERReader(encoded); DERValue nameList = der.read(); if (!nameList.isConstructed()) throw new IOException("malformed GeneralNames"); int len = 0; - int i = 0; while (len < nameList.getLength()) { DERValue name = der.read(); - List namePair = new ArrayList(2); - int tagClass = name.getTagClass(); - if (tagClass != DER.CONTEXT) - throw new IOException("malformed GeneralName: Tag class is " + tagClass); - namePair.add(Integer.valueOf(name.getTag())); - DERValue val = null; - switch (name.getTag()) - { - case RFC822_NAME: - case DNS_NAME: - case X400_ADDRESS: - case URI: - namePair.add(new String((byte[]) name.getValue())); - break; - - case OTHER_NAME: - // MUST return the encoded bytes of the OID/OctetString sequence - byte[] anotherName = name.getEncoded(); - anotherName[0] = (byte) (DER.CONSTRUCTED|DER.SEQUENCE); - namePair.add(anotherName); - // DERReader goes back on Constructed things so we need to skip over them - DERValue skip = der.read(); // skip OID - skip = der.read(); // skip Octet String - break; - - case EDI_PARTY_NAME: - namePair.add(name.getValue()); - break; - - case DIRECTORY_NAME: - byte[] b = name.getEncoded(); - b[0] = (byte) (DER.CONSTRUCTED|DER.SEQUENCE); - DERReader r = new DERReader (b); - r.read (); - namePair.add(new X500Principal(r.read ().getEncoded ()).toString()); - break; - - case IP_ADDRESS: - namePair.add(InetAddress.getByAddress((byte[]) name.getValue()) - .getHostAddress()); - break; - - case REGISTERED_ID: - byte[] bb = name.getEncoded(); - bb[0] = (byte) DER.OBJECT_IDENTIFIER; - namePair.add(new OID(bb).toString()); - break; - - default: - throw new IOException("unknown tag " + name.getTag()); - } - names.add(namePair); + GeneralName generalName = new GeneralName(name.getEncoded()); + names.add(generalName); len += name.getEncodedLength(); } } @@ -145,21 +77,9 @@ public class GeneralNames // Instance methods. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { - List l = new ArrayList(names.size()); - for (Iterator it = names.iterator(); it.hasNext(); ) - { - List ll = (List) it.next(); - List pair = new ArrayList(2); - pair.add(ll.get(0)); - if (ll.get(1) instanceof byte[]) - pair.add(((byte[]) ll.get(1)).clone()); - else - pair.add(ll.get(1)); - l.add(Collections.unmodifiableList(pair)); - } - return Collections.unmodifiableList(l); + return Collections.unmodifiableList(names); } public String toString() diff --git a/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java b/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java new file mode 100644 index 00000000000..5f6ffd98701 --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/GeneralSubtree.java @@ -0,0 +1,156 @@ +/* GeneralSubtree.java -- + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +USA + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.security.x509.ext; + +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; + +import java.io.IOException; +import java.math.BigInteger; + +/** + * The GeneralSubtree structure, a part of the {@link NameConstraints} + * extension. + * + *
+  GeneralSubtree ::= SEQUENCE {
+    base                    GeneralName,
+    minimum         [0]     BaseDistance DEFAULT 0,
+    maximum         [1]     BaseDistance OPTIONAL }
+
+  BaseDistance ::= INTEGER (0..MAX)
+ * + * @author Casey Marshall (csm@gnu.org) + */ +public class GeneralSubtree +{ + private final GeneralName base; + private final int minimum; + private final int maximum; + + public GeneralSubtree(byte[] encoded) throws IOException + { + DERReader reader = new DERReader(encoded); + DERValue generalSubtree = reader.read(); + + if (!generalSubtree.isConstructed()) + throw new IOException("malformed GeneralSubtree"); + + DERValue generalName = reader.read(); + base = new GeneralName(generalName.getEncoded()); + if (generalName.isConstructed()) + reader.skip(generalName.getLength()); + + int len = generalName.getEncodedLength(); + if (len < generalSubtree.getLength()) + { + DERValue distance = reader.read(); + if (distance.getTag() == 0) + { + minimum = ((BigInteger) distance.getValue()).intValue(); + len += distance.getEncodedLength(); + if (len < generalSubtree.getLength()) + { + distance = reader.read(); + if (distance.getTag() != 1) + throw new IOException("unexpected tag " + + distance.getTag() + + " (expected 1 for GeneralSubtree maximum distance)"); + maximum = ((BigInteger) distance.getValue()).intValue(); + } + else + { + maximum = -1; + } + } + else if (distance.getTag() == 1) + { + minimum = 1; + maximum = ((BigInteger) distance.getValue()).intValue(); + } + else + { + throw new IOException("unexpected tag " + distance.getTag() + + " (expected 0 or 1 for GeneralSubtree distance)"); + } + } + else + { + minimum = 0; + maximum = -1; + } + } + + /** + * Returns the base name. + * + * @return The base name. + */ + public GeneralName base() + { + return base; + } + + /** + * Returns the minimum base distance, possibly zero. + * + * @return The minimum base distance. + */ + public int minimum() + { + return minimum; + } + + /** + * Returns the maximum base distance, or -1 if this value was not specified. + * + * @return The maximum base distance. + */ + public int maximum() + { + return maximum; + } + + public String toString() + { + return (GeneralSubtree.class.getName() + " [ base=" + base + + "; minimum=" + minimum + "; maximim=" + maximum + + " ]"); + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java b/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java index 8b017dc62d8..080070b9890 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java @@ -1,5 +1,5 @@ /* IssuerAlternatuveNames.java -- issuer alternative names extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +65,7 @@ public class IssuerAlternativeNames extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { return names.getNames(); } diff --git a/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java b/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java new file mode 100644 index 00000000000..607c4296642 --- /dev/null +++ b/libjava/classpath/gnu/java/security/x509/ext/NameConstraints.java @@ -0,0 +1,161 @@ +/* NameConstraints.java -- the NameConstraints X.509 extension. + Copyright (C) 2006 Free Software Foundation, Inc. + +This file is a part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or (at +your option) any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 +USA + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.security.x509.ext; + +import gnu.java.security.OID; +import gnu.java.security.der.DERReader; +import gnu.java.security.der.DERValue; +import gnu.java.security.x509.ext.Extension.Value; + +import java.io.IOException; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * The NameConstraints extension. From RFC 3280, section 4.2.1.11, this + * extension is defined as: + * + *
+  id-ce-nameConstraints OBJECT IDENTIFIER ::=  { id-ce 30 }
+
+  NameConstraints ::= SEQUENCE {
+    permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
+    excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }
+
+  GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
+
+  GeneralSubtree ::= SEQUENCE {
+    base                    GeneralName,
+    minimum         [0]     BaseDistance DEFAULT 0,
+    maximum         [1]     BaseDistance OPTIONAL }
+
+  BaseDistance ::= INTEGER (0..MAX)
+  
+ * + * See also the classes {@link GeneralNames} and {@link GeneralSubtree}. + * + * @author csm + */ +public class NameConstraints extends Value +{ + public static final OID ID = new OID("2.5.29.30"); + + private List permittedSubtrees; + private List excludedSubtrees; + + public NameConstraints(byte[] encoded) throws IOException + { + super(encoded); + + DERReader der = new DERReader(encoded); + DERValue value = der.read(); + if (!value.isConstructed()) + { + throw new IOException("malformed NameConstraints"); + } + + permittedSubtrees = new LinkedList(); + excludedSubtrees = new LinkedList(); + int len = 0; + if (len < value.getLength()) + { + DERValue subtrees = der.read(); + if (subtrees.getTag() == 0) + { + int len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + permittedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + len += subtrees.getEncodedLength(); + + if (len < value.getLength()) + { + subtrees = der.read(); + if (subtrees.getTag() != 1) + throw new IOException("unexpected tag " + subtrees.getTag() + + " (expecting 1 for excludedSubtrees)"); + len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + excludedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + } + } + else if (subtrees.getTag() == 1) + { + int len2 = 0; + while (len2 < subtrees.getLength()) + { + DERValue subtree = der.read(); + excludedSubtrees.add(new GeneralSubtree(subtree.getEncoded())); + der.skip(subtree.getLength()); + len2 += subtree.getEncodedLength(); + } + } + else + throw new IOException("unexpected tag " + subtrees.getTag() + + " (expecting 0 or 1)"); + } + } + + public List permittedSubtrees() + { + return Collections.unmodifiableList(permittedSubtrees); + } + + public List excludedSubtrees() + { + return Collections.unmodifiableList(excludedSubtrees); + } + + public String toString() + { + return NameConstraints.class.getName() + " [ permittedSubtrees=" + + permittedSubtrees + "; excludedSubtrees=" + excludedSubtrees + + " ]"; + } +} diff --git a/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java b/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java index f88e854965f..8b6347d99a3 100644 --- a/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java +++ b/libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java @@ -1,5 +1,5 @@ /* SubjectAlternatuveNames.java -- subject alternative names extension. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +65,7 @@ public class SubjectAlternativeNames extends Extension.Value // Instance method. // ------------------------------------------------------------------------- - public List getNames() + public List getNames() { return names.getNames(); } diff --git a/libjava/classpath/gnu/javax/net/ssl/Base64.java b/libjava/classpath/gnu/java/util/Base64.java similarity index 89% rename from libjava/classpath/gnu/javax/net/ssl/Base64.java rename to libjava/classpath/gnu/java/util/Base64.java index 52989da69d3..592696bcc80 100644 --- a/libjava/classpath/gnu/javax/net/ssl/Base64.java +++ b/libjava/classpath/gnu/java/util/Base64.java @@ -1,5 +1,5 @@ /* Base64.java -- Base64 encoding and decoding. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -81,7 +81,7 @@ SOFTWARE, EVEN IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. */ -package gnu.javax.net.ssl; +package gnu.java.util; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -102,6 +102,17 @@ public final class Base64 /** Base-64 padding character. */ private static final char BASE_64_PAD = '='; + /** + * Base64 encode a byte array, with no line wrapping. + * + * @param buf The byte array to encode. + * @return buf encoded in Base64. + */ + public static String encode(byte[] buf) + { + return encode(buf, 0); + } + /** * Base64 encode a byte array, returning the returning string. * @@ -111,11 +122,29 @@ public final class Base64 */ public static String encode(byte[] buf, int tw) { - int srcLength = buf.length; + return encode(buf, 0, buf.length, tw); + } + + /** + * Base64 encode a byte array, returning the returning string. + * + * @param buf The byte array to encode. + * @param offset The offset in the byte array to start. + * @param length The number of bytes to encode. + * @param tw The total length of any line, 0 for unlimited. + * @return buf encoded in Base64. + */ + public static String encode(byte[] buf, int offset, int length, int tw) + { + if (offset < 0 || length < 0 || offset + length > buf.length) + throw new ArrayIndexOutOfBoundsException(buf.length + " " + + offset + " " + + length); + int srcLength = buf.length - offset; byte[] input = new byte[3]; int[] output = new int[4]; StringBuffer out = new StringBuffer(); - int i = 0; + int i = offset; int chars = 0; while (srcLength > 2) @@ -270,6 +299,7 @@ public final class Base64 throw new IOException("malformed Base64 sequence"); case 2: + i++; for ( ; i < b64.length(); i++) { if (!Character.isWhitespace(b64.charAt(i))) @@ -292,7 +322,6 @@ public final class Base64 // We should only see whitespace after this. if (!Character.isWhitespace(b64.charAt(i))) { - System.err.println(b64.charAt(i)); throw new IOException("malformed Base64 sequence"); } } diff --git a/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java b/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java index ecddd3a55f2..f73c3e70311 100644 --- a/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java +++ b/libjava/classpath/gnu/java/util/prefs/EventDispatcher.java @@ -53,7 +53,7 @@ public class EventDispatcher extends Thread // This is a queue of events to dispatch. This thread waits on // the queue and when notified will remove events until the queue // is empty. - private static final ArrayList queue = new ArrayList(); + private static final ArrayList queue = new ArrayList(); // FIXME: this thread probably ought to go in some classpath-internal // ThreadGroup. But we don't have that yet. @@ -81,7 +81,7 @@ public class EventDispatcher extends Thread // Ignore. } } - r = (Runnable) queue.remove(0); + r = queue.remove(0); } // Invoke outside the synchronization, so that // we aren't blocking other threads from posting events. diff --git a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java index a7e2322b524..0fd4df36616 100644 --- a/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java +++ b/libjava/classpath/gnu/java/util/prefs/GConfBasedPreferences.java @@ -41,7 +41,6 @@ import gnu.java.util.prefs.gconf.GConfNativePeer; import java.security.Permission; -import java.util.Iterator; import java.util.List; import java.util.prefs.AbstractPreferences; import java.util.prefs.BackingStoreException; @@ -185,7 +184,7 @@ public class GConfBasedPreferences */ protected String[] childrenNamesSpi() throws BackingStoreException { - List nodeList = backend.getChildrenNodes(this.node); + List nodeList = backend.getChildrenNodes(this.node); String[] nodes = new String[nodeList.size()]; nodeList.toArray(nodes); @@ -228,7 +227,7 @@ public class GConfBasedPreferences */ protected String[] keysSpi() throws BackingStoreException { - List keyList = backend.getKeys(this.node); + List keyList = backend.getKeys(this.node); String[] keys = new String[keyList.size()]; keyList.toArray(keys); @@ -246,31 +245,24 @@ public class GConfBasedPreferences try { // gets the listing of directories in this node - List dirs = backend.getChildrenNodes(directory); + List dirs = backend.getChildrenNodes(directory); if (dirs.size() != 0) { - String currentDir = null; - - for (Iterator itr = dirs.iterator(); itr.hasNext();) + for (String currentDir : dirs) { - currentDir = (String) itr.next(); - // recursive search inside this directory postorderRemove(currentDir); } } // remove all the keys associated to this directory - List entries = backend.getKeys(directory); + List entries = backend.getKeys(directory); if (entries.size() != 0) { - String key = null; - - for (Iterator keys = entries.iterator(); keys.hasNext();) + for (String key : entries) { - key = (String) keys.next(); this.removeSpi(key); } } diff --git a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java b/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java index cccb9bf2fc2..dc82379160b 100644 --- a/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java +++ b/libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java @@ -52,7 +52,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { private final boolean isUser; /** Contains all the preference entries of this node. */ - private HashMap entries = new HashMap(); + private HashMap entries = new HashMap(); /** * Creates a new preferences node with the given name and parent. @@ -98,7 +98,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { * this node. */ protected String[] keysSpi() throws BackingStoreException { - return (String[]) entries.keySet().toArray(new String[entries.size()]); + return entries.keySet().toArray(new String[entries.size()]); } /** @@ -106,7 +106,7 @@ public class MemoryBasedPreferences extends AbstractPreferences { * null when the key has not been set. */ protected String getSpi(String key) { - return (String) entries.get(key); + return entries.get(key); } /** diff --git a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java index 6049863e916..5e12c718b2c 100644 --- a/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java +++ b/libjava/classpath/gnu/java/util/prefs/gconf/GConfNativePeer.java @@ -147,7 +147,7 @@ public final class GConfNativePeer * @return a java.util.List of keys. If there are no keys in the given node, a * list of size 0 is returned. */ - public List getKeys(String node) throws BackingStoreException + public List getKeys(String node) throws BackingStoreException { return gconf_client_all_keys(node); } @@ -159,7 +159,7 @@ public final class GConfNativePeer * @param node the node to get subnodes from. If there are no subnodes in the * given node, a list of size 0 is returned. */ - public List getChildrenNodes(String node) throws BackingStoreException + public List getChildrenNodes(String node) throws BackingStoreException { return gconf_client_all_nodes(node); } @@ -295,7 +295,7 @@ public final class GConfNativePeer * @return A list of nodes under the given source node. */ native - static final protected List gconf_client_all_nodes(String node) + static final protected List gconf_client_all_nodes(String node) throws BackingStoreException; /** @@ -305,7 +305,7 @@ public final class GConfNativePeer * @return A list of all keys stored in the given node. */ native - static final protected List gconf_client_all_keys(String node) + static final protected List gconf_client_all_keys(String node) throws BackingStoreException; /** diff --git a/libjava/classpath/gnu/java/util/regex/RETokenChar.java b/libjava/classpath/gnu/java/util/regex/RETokenChar.java index b70e6b1d843..42dcd93268a 100644 --- a/libjava/classpath/gnu/java/util/regex/RETokenChar.java +++ b/libjava/classpath/gnu/java/util/regex/RETokenChar.java @@ -113,7 +113,6 @@ final class RETokenChar extends REToken { boolean chain(REToken next) { if (next instanceof RETokenChar && ((RETokenChar)next).insens == insens) { RETokenChar cnext = (RETokenChar) next; - // assume for now that next can only be one character int newsize = ch.length + cnext.ch.length; char[] chTemp = new char [newsize]; @@ -122,7 +121,9 @@ final class RETokenChar extends REToken { System.arraycopy(cnext.ch,0,chTemp,ch.length,cnext.ch.length); ch = chTemp; - return false; + if (cnext.next == null) + return false; + return chain(cnext.next); } else return super.chain(next); } diff --git a/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java b/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java index d2696e1c6b8..b6dc21e19cd 100644 --- a/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java +++ b/libjava/classpath/gnu/javax/imageio/png/PNGICCProfile.java @@ -61,7 +61,9 @@ public class PNGICCProfile extends PNGChunk { super( type, data, crc ); int i = 0; - while( data[i++] != 0 ); + while( data[i++] != 0 ) + ; + try { name = new String(data, 0, i, "8859_1"); diff --git a/libjava/classpath/gnu/javax/management/Translator.java b/libjava/classpath/gnu/javax/management/Translator.java new file mode 100644 index 00000000000..69191d43f86 --- /dev/null +++ b/libjava/classpath/gnu/javax/management/Translator.java @@ -0,0 +1,544 @@ +/* Translator.java -- Performs MXBean data type translation. + Copyright (C) 2007 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package gnu.javax.management; + +import java.lang.reflect.Array; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.lang.reflect.Type; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; + +import javax.management.JMX; +import javax.management.MBeanServerInvocationHandler; + +import javax.management.openmbean.ArrayType; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeDataSupport; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.OpenDataException; +import javax.management.openmbean.OpenMBeanParameterInfo; +import javax.management.openmbean.OpenMBeanParameterInfoSupport; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.SimpleType; +import javax.management.openmbean.TabularData; +import javax.management.openmbean.TabularDataSupport; +import javax.management.openmbean.TabularType; + +/** + * Translates Java data types to their equivalent + * open data type, and vice versa, according to the + * {@link javax.management.MXBean} rules. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + */ +public final class Translator +{ + + /** + * Translates the input Java data types to the equivalent + * open data types. + * + * @param jtypes the Java types supplied as parameters. + * @param method the method that was called. + * @return the equivalent open types required by the {@link MXBean}. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object[] fromJava(Object[] jtypes, Method method) + throws Throwable + { + Type[] gtypes = method.getGenericParameterTypes(); + Object[] otypes = new Object[jtypes.length]; + for (int a = 0; a < jtypes.length; ++a) + otypes[a] = fromJava(jtypes[a], (Class) gtypes[a]); + return otypes; + } + + /** + * Translates the input Java data type to the equivalent + * open data type. + * + * @param jtype the Java type supplied as a parameter. + * @param type the type of the parameter. + * @return the equivalent open type required by the {@link MXBean}. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object fromJava(Object jtype, Type type) + throws Throwable + { + if (jtype == null) + return null; + Class jclass = jtype.getClass(); + if (OpenType.ALLOWED_CLASSNAMES_LIST.contains(jclass.getName())) + return jtype; + if (jclass.isArray()) + { + Class ctype = jclass.getComponentType(); + if (ctype.isPrimitive()) + return jtype; + if (OpenType.ALLOWED_CLASSNAMES_LIST.contains(ctype.getName())) + return jtype; + Object[] elems = (Object[]) jtype; + Object[] celems = new Object[elems.length]; + for (int a = 0; a < elems.length; ++a) + celems[a] = fromJava(elems[a], elems[a].getClass()); + return makeArraySpecific(celems); + } + String tName = getTypeName(type); + if (jtype instanceof List || jtype instanceof Set || + jtype instanceof SortedSet) + { + String elemType = tName.substring(tName.indexOf("<") + 1, + tName.indexOf(">")).trim(); + if (jtype instanceof SortedSet) + { + Class elemClass = Class.forName(elemType); + if (!Comparable.class.isAssignableFrom(elemClass)) + throw new IllegalArgumentException(jtype + " has a " + + "non-comparable element " + + "type, " + elemClass); + if (((SortedSet) jtype).comparator() != null) + throw new IllegalArgumentException(jtype + " does not " + + "use natural ordering."); + } + List elems = (List) jtype; + Object[] celems = new Object[elems.size()]; + for (int a = 0; a < elems.size(); ++a) + { + Object elem = elems.get(a); + celems[a] = fromJava(elem, elem.getClass()); + } + return makeArraySpecific(celems); + } + if (jtype instanceof Enum) + return ((Enum) jtype).name(); + if (jtype instanceof Map || jtype instanceof SortedMap) + { + int lparam = tName.indexOf("<"); + int comma = tName.indexOf(",", lparam); + int rparam = tName.indexOf(">", comma); + String key = tName.substring(lparam + 1, comma).trim(); + String value = tName.substring(comma + 1, rparam).trim(); + String typeName = null; + if (jtype instanceof Map) + typeName = "java.util.Map" + tName.substring(lparam); + else + { + Class keyClass = Class.forName(key); + if (!Comparable.class.isAssignableFrom(keyClass)) + throw new IllegalArgumentException(jtype + " has a " + + "non-comparable element " + + "type, " + keyClass); + if (((SortedMap) jtype).comparator() != null) + throw new IllegalArgumentException(jtype + " does not " + + "use natural ordering."); + typeName = "java.util.SortedMap" + tName.substring(lparam); + } + OpenType k = translate(key).getOpenType(); + OpenType v = translate(value).getOpenType(); + CompositeType rowType = new CompositeType(typeName, typeName, + new String[] { "key", "value" }, + new String[] { "Map key", "Map value"}, + new OpenType[] {k,v}); + TabularType tabType = new TabularType(typeName, typeName, rowType, + new String[]{"key"}); + TabularData data = new TabularDataSupport(tabType); + for (Map.Entry entry : (Set) ((Map) jtype).entrySet()) + { + try + { + data.put(new CompositeDataSupport(rowType, + new String[] { + "key", + "value" + }, + new Object[] { + entry.getKey(), + entry.getValue() + })); + } + catch (OpenDataException e) + { + throw (InternalError) (new InternalError("A problem occurred " + + "converting the map " + + "to a composite data " + + "structure.").initCause(e)); + } + } + return data; + } + if (JMX.isMXBeanInterface(jclass)) + { + try + { + MBeanServerInvocationHandler ih = (MBeanServerInvocationHandler) + Proxy.getInvocationHandler(jtype); + return ih.getObjectName(); + } + catch (IllegalArgumentException e) + { + throw new IllegalArgumentException("For a MXBean to be translated " + + "to an open type, it must be a " + + "proxy.", e); + } + catch (ClassCastException e) + { + throw new IllegalArgumentException("For a MXBean to be translated " + + "to an open type, it must have a " + + "MBeanServerInvocationHandler.", e); + } + } + /* FIXME: Handle other types */ + throw new IllegalArgumentException("The type, " + jtype + + ", is not convertible."); + } + + /** + * Translates the returned open data type to the value + * required by the interface. + * + * @param otype the open type returned by the method call. + * @param method the method that was called. + * @return the equivalent return type required by the interface. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + public static final Object toJava(Object otype, Method method) + throws Throwable + { + Class returnType = method.getReturnType(); + if (returnType.isEnum()) + { + String ename = (String) otype; + Enum[] constants = (Enum[]) returnType.getEnumConstants(); + for (Enum c : constants) + if (c.name().equals(ename)) + return c; + } + if (List.class.isAssignableFrom(returnType)) + { + Object[] elems = (Object[]) otype; + List l = new ArrayList(elems.length); + for (Object elem : elems) + l.add(elem); + return l; + } + if (Map.class.isAssignableFrom(returnType)) + { + TabularData data = (TabularData) otype; + Map m = new HashMap(data.size()); + for (Object val : data.values()) + { + CompositeData vals = (CompositeData) val; + m.put(vals.get("key"), vals.get("value")); + } + return m; + } + try + { + Method m = returnType.getMethod("from", + new Class[] + { CompositeData.class }); + return m.invoke(null, (CompositeData) otype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this + isn't a from(CompositeData) class */ + } + return otype; + } + + /** + * Creates a new array which has the specific type + * used by the elements of the original {@link Object} + * array supplied. + * + * @param arr a series of elements in an {@link Object} + * array. + * @return the same elements in a new array of the specific + * type. + */ + private static final Object[] makeArraySpecific(Object[] arr) + { + Object[] rcelems = (Object[]) Array.newInstance(arr[0].getClass(), + arr.length); + System.arraycopy(arr, 0, rcelems, 0, arr.length); + return rcelems; + } + + /** + * Translates the name of a type into an equivalent + * {@link javax.management.openmbean.OpenMBeanParameterInfo} + * that describes it. + * + * @param type the type to describe. + * @return an instance of + * {@link javax.management.openmbean.OpenMBeanParameterInfo}, + * describing the translated type and limits of the given type. + * @throws OpenDataException if a type is not open. + */ + public static final OpenMBeanParameterInfo translate(String type) + throws OpenDataException + { + if (type.equals("boolean") || type.equals(Boolean.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BOOLEAN, + null, + new Boolean[] { + Boolean.TRUE, + Boolean.FALSE + }); + if (type.equals("byte") || type.equals(Byte.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.BYTE, + null, + Byte.valueOf(Byte.MIN_VALUE), + Byte.valueOf(Byte.MAX_VALUE)); + if (type.equals("char") || type.equals(Character.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.CHARACTER, + null, + Character.valueOf(Character.MIN_VALUE), + Character.valueOf(Character.MAX_VALUE)); + if (type.equals("double") || type.equals(Double.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.DOUBLE, + null, + Double.valueOf(Double.MIN_VALUE), + Double.valueOf(Double.MAX_VALUE)); + if (type.equals("float") || type.equals(Float.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.FLOAT, + null, + Float.valueOf(Float.MIN_VALUE), + Float.valueOf(Float.MAX_VALUE)); + if (type.equals("int") || type.equals(Integer.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.INTEGER, + null, + Integer.valueOf(Integer.MIN_VALUE), + Integer.valueOf(Integer.MAX_VALUE)); + if (type.equals("long") || type.equals(Long.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.LONG, + null, + Long.valueOf(Long.MIN_VALUE), + Long.valueOf(Long.MAX_VALUE)); + if (type.equals("short") || type.equals(Short.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.SHORT, + null, + Short.valueOf(Short.MIN_VALUE), + Short.valueOf(Short.MAX_VALUE)); + if (type.equals(String.class.getName())) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING); + if (type.equals("void")) + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.VOID); + if (type.startsWith("java.util.Map")) + { + int lparam = type.indexOf("<"); + int comma = type.indexOf(",", lparam); + int rparam = type.indexOf(">", comma); + String key = type.substring(lparam + 1, comma).trim(); + OpenType k = translate(key).getOpenType(); + OpenType v = translate(type.substring(comma + 1, rparam).trim()).getOpenType(); + CompositeType ctype = new CompositeType(Map.class.getName(), Map.class.getName(), + new String[] { "key", "value" }, + new String[] { "Map key", "Map value"}, + new OpenType[] { k, v}); + TabularType ttype = new TabularType(key, key, ctype, + new String[] { "key" }); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ttype); + } + if (type.startsWith("java.util.List")) + { + int lparam = type.indexOf("<"); + int rparam = type.indexOf(">"); + OpenType e = translate(type.substring(lparam + 1, rparam).trim()).getOpenType(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(1, e) + ); + } + Class c; + try + { + c = Class.forName(type); + } + catch (ClassNotFoundException e) + { + throw (InternalError) + (new InternalError("The class for a type used in a management bean " + + "could not be loaded.").initCause(e)); + } + if (c.isEnum()) + { + Object[] values = c.getEnumConstants(); + String[] names = new String[values.length]; + for (int a = 0; a < values.length; ++a) + names[a] = values[a].toString(); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + SimpleType.STRING, + null, names); + } + try + { + c.getMethod("from", new Class[] { CompositeData.class }); + Method[] methods = c.getDeclaredMethods(); + List names = new ArrayList(); + List types = new ArrayList(); + for (int a = 0; a < methods.length; ++a) + { + String name = methods[a].getName(); + if (name.startsWith("get")) + { + names.add(name.substring(3)); + types.add(getTypeFromClass(methods[a].getReturnType())); + } + } + String[] fields = names.toArray(new String[names.size()]); + CompositeType ctype = new CompositeType(c.getName(), c.getName(), + fields, fields, + types.toArray(new OpenType[types.size()])); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + ctype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this isn't a from(CompositeData) class */ + } + if (c.isArray()) + { + int depth; + for (depth = 0; c.getName().charAt(depth) == '['; ++depth) + ; + OpenType ot = getTypeFromClass(c.getComponentType()); + return new OpenMBeanParameterInfoSupport("TransParam", + "Translated parameter", + new ArrayType(depth, ot) + ); + } + throw new InternalError("The type used does not have an open type translation."); + } + + /** + * Obtains the {@link javax.management.openmbean.OpenType} + * for a particular class. + * + * @param c the class to obtain the type for. + * @return the appropriate instance. + * @throws OpenDataException if the type is not open. + */ + private static final OpenType getTypeFromClass(Class c) + throws OpenDataException + { + return Translator.translate(c.getName()).getOpenType(); + } + + /** + *

+ * Returns the type name according to the rules described + * in {@link javax.management.MXBean}. Namely, for a type, + * {@code T}, {@code typename(T)} is computed as follows: + *

+ *
    + *
  • If T is non-generic and not an array, then the value + * of {@link java.lang.Class#getName()} is returned.
  • + *
  • If T is an array type, {@code{E[]}, then the type name + * is {@code typename(E)} followed by an occurrence + * of {@code '[]'} for each dimension.
  • + *
  • If T is a generic or parameterized type, the type name + * is composed of {@code typename(P)}, where {@code P} is the + * parameterized type name, followed by {@code '<'}, the resulting + * list of type names of the parameters after applying {@code typename} + * to each, separated by commas, and {@code '>'}.
  • + *
+ * + * @param type the type to return the type name of. + * @return the type name computed according to the rules above. + */ + private static final String getTypeName(Type type) + { + if (type instanceof Class) + { + Class c = (Class) type; + if (c.isArray()) + { + StringBuilder b = + new StringBuilder(c.getComponentType().getName()); + String normName = c.getName(); + for (int a = 0; a < normName.length(); ++a) + { + if (normName.charAt(a) == '[') + b.append("[]"); + else + break; + } + return b.toString(); + } + return c.getName(); + } + return type.toString(); + } + +} diff --git a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java index 442629309e7..4a37cd8b1f9 100644 --- a/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java +++ b/libjava/classpath/gnu/javax/net/ssl/PrivateCredentials.java @@ -1,5 +1,5 @@ /* PrivateCredentials.java -- private key/certificate pairs. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2007 Free Software Foundation, Inc. This file is a part of GNU Classpath. @@ -38,8 +38,6 @@ exception statement from your version. */ package gnu.javax.net.ssl; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.EOFException; import java.io.InputStream; import java.io.IOException; @@ -80,6 +78,7 @@ import gnu.javax.crypto.pad.WrongPaddingException; import gnu.java.security.der.DER; import gnu.java.security.der.DERReader; +import gnu.java.util.Base64; /** * An instance of a manager factory parameters for holding a single diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java index 22c488d68c0..4a7f924e87d 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLEngineImpl.java @@ -99,7 +99,7 @@ public final class SSLEngineImpl extends SSLEngine private Mode mode; - private enum Mode { SERVER, CLIENT }; + private enum Mode { SERVER, CLIENT } SSLEngineImpl (SSLContextImpl contextImpl, String host, int port) { diff --git a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java index 415efc6f58d..e6981c9c79d 100644 --- a/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java +++ b/libjava/classpath/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.java @@ -188,7 +188,8 @@ public class SSLRSASignatureImpl extends SignatureSpi final byte[] eb = EB.toByteArray(); if (eb[0] == 0x00) { - for (i = 0; i < eb.length && eb[i] == 0x00; i++); + for (i = 0; i < eb.length && eb[i] == 0x00; i++) + ; } else if (eb[0] == 0x01) { diff --git a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java index b5b5069233c..40adb783ee1 100644 --- a/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java +++ b/libjava/classpath/gnu/javax/security/auth/login/ConfigFileParser.java @@ -122,7 +122,9 @@ public final class ConfigFileParser initParser(r); while (parseAppOrOtherEntry()) - ; // do nothing + { + /* do nothing */ + } } private void initParser(Reader r) throws IOException @@ -157,7 +159,9 @@ public final class ConfigFileParser List lmis = new ArrayList(); while (parseACE(lmis)) - ; // do nothing + { + /* do nothing */ + } c = cft.nextToken(); if (c != '}') diff --git a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java index c91f1e39851..3810dff4736 100644 --- a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java +++ b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java @@ -1,5 +1,5 @@ /* AlsaMidiSequencerDevice.java -- The ALSA MIDI sequencer device - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,10 +51,6 @@ import javax.sound.midi.Sequencer; import javax.sound.midi.Track; import javax.sound.midi.Transmitter; -// FIXME: These next two imports are only required by gcj it seems. -import javax.sound.midi.MidiDevice.Info; -import javax.sound.midi.Sequencer.SyncMode; - /** * The ALSA MIDI sequencer device. This is a singleton device. * diff --git a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java index d666be1f1ba..0e59bc8d669 100644 --- a/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java +++ b/libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java @@ -1,5 +1,5 @@ /* AlsaPortDevice.java -- ALSA MIDI Port Devices - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,9 +43,6 @@ import javax.sound.midi.MidiMessage; import javax.sound.midi.Receiver; import javax.sound.midi.Transmitter; -// FIXME: This next import is only rquired for gcj it seems. -import javax.sound.midi.MidiDevice.Info; - import gnu.javax.sound.midi.alsa.AlsaMidiDeviceProvider.AlsaPortInfo; /** diff --git a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java index ca09b305078..26821862691 100644 --- a/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java +++ b/libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java @@ -1,5 +1,5 @@ /* DSSISynthesizer.java -- DSSI Synthesizer Provider - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,9 +55,6 @@ import javax.sound.midi.Synthesizer; import javax.sound.midi.Transmitter; import javax.sound.midi.VoiceStatus; -// FIXME: This import in only required for gcj it seems. -import javax.sound.midi.MidiDevice.Info; - /** * DSSI soft-synth support. * diff --git a/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java b/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java index 06732e401fe..77bac127dce 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java +++ b/libjava/classpath/gnu/javax/swing/text/html/CharacterAttributeTranslator.java @@ -74,7 +74,7 @@ public class CharacterAttributeTranslator colorMap.put("teal" , "#008080"); colorMap.put("white" , "#FFFFFF"); colorMap.put("yellow" , "#FFFF00"); - }; + } /** * Convert the color string represenation into java.awt.Color. The valid diff --git a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java index 5647e25069d..1f8fdfa2258 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/css/CSSParser.java @@ -308,7 +308,9 @@ public class CSSParser { // FIXME: Handle block and ATKEYWORD. boolean success = parseAny(s); - while (parseAny(s)); + while (parseAny(s)) + ; + return success; } @@ -329,7 +331,8 @@ public class CSSParser boolean ret = parseAny(sel); if (ret) { - while (parseAny(sel)); + while (parseAny(sel)) + ; } return ret; } diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java b/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java index 1f4b3ec6adc..5924e0fb989 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java @@ -390,7 +390,6 @@ public class gnuDTD allowed.add(allowed_values [ i ]); } } - ; AttributeList attr = new AttributeList(name, type, modifier, default_value, allowed, null); diff --git a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java index 3a407310e74..c0d1e636e92 100644 --- a/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java +++ b/libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java @@ -1382,7 +1382,7 @@ public class Parser if (c == '\r') buffer.append(' '); // CR replaced by space else if (c == '\n') - ; // LF ignored + { /* LF ignored */ } else if (c == '\t') buffer.append(' '); // Tab replaced by space else diff --git a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java index 343f48c13fd..e62ce207639 100644 --- a/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java +++ b/libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java @@ -1,5 +1,5 @@ /* DomDocumentBuilder.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006,2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,6 +48,7 @@ import org.w3c.dom.Document; import org.w3c.dom.DOMConfiguration; import org.w3c.dom.DOMImplementation; import org.w3c.dom.ls.DOMImplementationLS; +import org.w3c.dom.ls.LSException; import org.w3c.dom.ls.LSInput; import org.w3c.dom.ls.LSParser; import org.xml.sax.EntityResolver; @@ -122,7 +123,18 @@ class DomDocumentBuilder { LSInput input = ls.createLSInput(); input.setByteStream(in); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(InputStream in, String systemId) @@ -131,13 +143,35 @@ class DomDocumentBuilder LSInput input = ls.createLSInput(); input.setByteStream(in); input.setSystemId(systemId); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(String systemId) throws SAXException, IOException { - return parser.parseURI(systemId); + try + { + return parser.parseURI(systemId); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } public Document parse(InputSource is) @@ -176,7 +210,18 @@ class DomDocumentBuilder input.setPublicId(is.getPublicId()); input.setSystemId(systemId); input.setEncoding(is.getEncoding()); - return parser.parse(input); + try + { + return parser.parse(input); + } + catch (LSException e) + { + Throwable e2 = e.getCause(); + if (e2 instanceof IOException) + throw (IOException) e2; + else + throw e; + } } } diff --git a/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java b/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java index 6bc069d3201..88f9bae23fe 100644 --- a/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java +++ b/libjava/classpath/gnu/xml/dom/ls/DomLSParser.java @@ -1,5 +1,5 @@ /* DomLSParser.java -- - Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001,2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -275,6 +275,15 @@ public class DomLSParser true); reader.setFeature("http://xml.org/sax/features/validation", validating); + try + { + reader.setFeature("http://gnu.org/sax/features/coalescing", + coalescing); + } + catch (SAXNotRecognizedException e) + { + // ignore + } try { reader.setFeature("http://xml.org/sax/features/use-attributes2", diff --git a/libjava/classpath/gnu/xml/pipeline/DomConsumer.java b/libjava/classpath/gnu/xml/pipeline/DomConsumer.java index bdbf9281880..da527b96587 100644 --- a/libjava/classpath/gnu/xml/pipeline/DomConsumer.java +++ b/libjava/classpath/gnu/xml/pipeline/DomConsumer.java @@ -365,7 +365,7 @@ public class DomConsumer implements EventConsumer throws SAXException { SAXParseException e; - ErrorHandler errHandler = consumer.getErrorHandler ();; + ErrorHandler errHandler = consumer.getErrorHandler (); if (locator == null) e = new SAXParseException (message, null, null, -1, -1, x); diff --git a/libjava/classpath/gnu/xml/stream/SAXParser.java b/libjava/classpath/gnu/xml/stream/SAXParser.java index 1329ab2971c..af4a6af4217 100644 --- a/libjava/classpath/gnu/xml/stream/SAXParser.java +++ b/libjava/classpath/gnu/xml/stream/SAXParser.java @@ -1,5 +1,5 @@ /* SAXParser.java -- - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -187,6 +187,8 @@ public class SAXParser lexicalHandler = (LexicalHandler) value; else if ((GNU_FEATURES + "xml-base").equals(name)) baseAware = Boolean.TRUE.equals(value); + else if ((GNU_FEATURES + "coalescing").equals(name)) + coalescing = Boolean.TRUE.equals(value); else throw new SAXNotSupportedException(name); } diff --git a/libjava/classpath/gnu/xml/stream/XMLParser.java b/libjava/classpath/gnu/xml/stream/XMLParser.java index 663a300f88c..fae4afec808 100644 --- a/libjava/classpath/gnu/xml/stream/XMLParser.java +++ b/libjava/classpath/gnu/xml/stream/XMLParser.java @@ -439,6 +439,7 @@ public class XMLParser throw e2; } } + systemId = canonicalize(systemId); pushInput(new Input(in, null, null, systemId, null, null, false, true)); } @@ -513,6 +514,7 @@ public class XMLParser throw e2; } } + systemId = canonicalize(systemId); pushInput(new Input(null, reader, null, systemId, null, null, false, true)); } @@ -1540,7 +1542,7 @@ public class XMLParser { if (!externalEntities) return; - String url = absolutize(input.systemId, ids.systemId); + String url = canonicalize(absolutize(input.systemId, ids.systemId)); // Check for recursion for (Iterator i = inputStack.iterator(); i.hasNext(); ) { @@ -1586,6 +1588,20 @@ public class XMLParser this.input = input; } + /** + * Returns a canonicalized version of the specified URL. + * This is largely to work around a problem with the specification of + * file URLs. + */ + static String canonicalize(String url) + { + if (url == null) + return null; + if (url.startsWith("file:") && !url.startsWith("file://")) + url = "file://" + url.substring(5); + return url; + } + /** * "Absolutize" a URL. This resolves a relative URL into an absolute one. * @param base the current base URL diff --git a/libjava/classpath/gnu/xml/util/XCat.java b/libjava/classpath/gnu/xml/util/XCat.java index 0f163387081..f3704cd25c7 100644 --- a/libjava/classpath/gnu/xml/util/XCat.java +++ b/libjava/classpath/gnu/xml/util/XCat.java @@ -274,7 +274,7 @@ public class XCat implements EntityResolver2 InputSource retval; retval = catalogs [i].resolve (usingPublic, publicId, systemId); if (retval != null) - return retval;; + return retval; } } catch (DoneDelegation x) { // done! diff --git a/libjava/classpath/include/Makefile.am b/libjava/classpath/include/Makefile.am index e81d1443ad7..9cb9a05cfc2 100644 --- a/libjava/classpath/include/Makefile.am +++ b/libjava/classpath/include/Makefile.am @@ -76,7 +76,6 @@ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h \ -$(top_srcdir)/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h \ $(top_srcdir)/include/GtkDragSourceContextPeer.h QTPEER_H_FILES = \ @@ -136,6 +135,7 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h \ $(top_srcdir)/include/java_io_VMFile.h \ $(top_srcdir)/include/java_io_VMObjectInputStream.h \ $(top_srcdir)/include/java_io_VMObjectStreamClass.h \ @@ -190,6 +190,8 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h: $(top_srcdir)/vm/reference/gnu/java $(JAVAH) -o $@ gnu.java.nio.VMPipe $(top_srcdir)/include/gnu_java_nio_VMSelector.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMSelector.java $(JAVAH) -o $@ gnu.java.nio.VMSelector +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: $(top_srcdir)/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java + $(JAVAH) -o $@ gnu.java.lang.management.VMOperatingSystemMXBeanImpl $(top_srcdir)/include/java_io_VMFile.h: $(top_srcdir)/vm/reference/java/io/VMFile.java $(JAVAH) -o $@ java.io.VMFile $(top_srcdir)/include/java_io_VMObjectInputStream.h: $(top_srcdir)/vm/reference/java/io/VMObjectInputStream.java diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in index 7ce5c73b08a..d2f0707de2c 100644 --- a/libjava/classpath/include/Makefile.in +++ b/libjava/classpath/include/Makefile.in @@ -44,16 +44,21 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/no-executables.m4 \ - $(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \ - $(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \ + $(top_srcdir)/../../libtool.m4 \ + $(top_srcdir)/../../ltoptions.m4 \ + $(top_srcdir)/../../ltsugar.m4 \ + $(top_srcdir)/../../ltversion.m4 \ + $(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \ + $(top_srcdir)/m4/acinclude.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \ + $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = @@ -63,12 +68,15 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@ BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@ +CAIRO_CFLAGS = @CAIRO_CFLAGS@ +CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -114,6 +122,7 @@ DATE = @DATE@ DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ @@ -126,15 +135,16 @@ ERROR_CFLAGS = @ERROR_CFLAGS@ EXAMPLESDIR = @EXAMPLESDIR@ EXEEXT = @EXEEXT@ FASTJAR = @FASTJAR@ +FGREP = @FGREP@ FIND = @FIND@ FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@ FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@ FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@ FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@ -FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@ -FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@ FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@ FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@ +FOUND_JAVAC_FALSE = @FOUND_JAVAC_FALSE@ +FOUND_JAVAC_TRUE = @FOUND_JAVAC_TRUE@ FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@ FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@ FOUND_KJC_FALSE = @FOUND_KJC_FALSE@ @@ -142,7 +152,6 @@ FOUND_KJC_TRUE = @FOUND_KJC_TRUE@ FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@ FREETYPE2_LIBS = @FREETYPE2_LIBS@ GCJ = @GCJ@ -GCJX = @GCJX@ GCONF_CFLAGS = @GCONF_CFLAGS@ GCONF_LIBS = @GCONF_LIBS@ GDK_CFLAGS = @GDK_CFLAGS@ @@ -152,6 +161,7 @@ GENINSRC_TRUE = @GENINSRC_TRUE@ GJDOC = @GJDOC@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_LIBS = @GLIB_LIBS@ +GREP = @GREP@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@ @@ -163,6 +173,7 @@ INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +JAVAC = @JAVAC@ JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@ JAVA_MAINTAINER_MODE_FALSE = @JAVA_MAINTAINER_MODE_FALSE@ JAVA_MAINTAINER_MODE_TRUE = @JAVA_MAINTAINER_MODE_TRUE@ @@ -172,6 +183,7 @@ JIKES = @JIKES@ JIKESENCODING = @JIKESENCODING@ JIKESWARNINGS = @JIKESWARNINGS@ KJC = @KJC@ +LD = @LD@ LDFLAGS = @LDFLAGS@ LIBDEBUG = @LIBDEBUG@ LIBICONV = @LIBICONV@ @@ -191,6 +203,7 @@ MKDIR = @MKDIR@ MOC = @MOC@ MOZILLA_CFLAGS = @MOZILLA_CFLAGS@ MOZILLA_LIBS = @MOZILLA_LIBS@ +NM = @NM@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -212,6 +225,7 @@ RANLIB = @RANLIB@ REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@ REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@ REMOVE = @REMOVE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@ @@ -239,8 +253,10 @@ X_EXTRA_LIBS = @X_EXTRA_LIBS@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ @@ -273,6 +289,7 @@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ multi_basedir = @multi_basedir@ @@ -363,7 +380,6 @@ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkToolkit.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h \ $(top_srcdir)/include/gnu_java_awt_peer_gtk_GtkVolatileImage.h \ -$(top_srcdir)/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h \ $(top_srcdir)/include/GtkDragSourceContextPeer.h QTPEER_H_FILES = \ @@ -423,6 +439,7 @@ $(top_srcdir)/include/gnu_java_nio_VMPipe.h \ $(top_srcdir)/include/gnu_java_nio_VMSelector.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvEncoder.h \ $(top_srcdir)/include/gnu_java_nio_charset_iconv_IconvDecoder.h \ +$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h \ $(top_srcdir)/include/java_io_VMFile.h \ $(top_srcdir)/include/java_io_VMObjectInputStream.h \ $(top_srcdir)/include/java_io_VMObjectStreamClass.h \ @@ -657,6 +674,8 @@ uninstall-am: uninstall-info-am @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMPipe @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_nio_VMSelector.h: $(top_srcdir)/vm/reference/gnu/java/nio/VMSelector.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.nio.VMSelector +@CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h: $(top_srcdir)/vm/reference/gnu/java/lang/management/VMOperatingSystemMXBeanImpl.java +@CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ gnu.java.lang.management.VMOperatingSystemMXBeanImpl @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMFile.h: $(top_srcdir)/vm/reference/java/io/VMFile.java @CREATE_JNI_HEADERS_TRUE@ $(JAVAH) -o $@ java.io.VMFile @CREATE_JNI_HEADERS_TRUE@$(top_srcdir)/include/java_io_VMObjectInputStream.h: $(top_srcdir)/vm/reference/java/io/VMObjectInputStream.java diff --git a/libjava/classpath/include/config-int.h b/libjava/classpath/include/config-int.h new file mode 100644 index 00000000000..e92dbf15984 --- /dev/null +++ b/libjava/classpath/include/config-int.h @@ -0,0 +1,9 @@ +#ifndef _CLASSPATH_INCLUDE_CONFIG_INT_H +#define _CLASSPATH_INCLUDE_CONFIG_INT_H 1 +#ifndef _GENERATED_STDINT_H +#define _GENERATED_STDINT_H "classpath 0.95" +/* generated using gnu compiler gcc (GCC) 4.1.2 20070403 (Red Hat 4.1.2-8) */ +#define _STDINT_HAVE_STDINT_H 1 +#include +#endif +#endif diff --git a/libjava/classpath/include/config.h.in b/libjava/classpath/include/config.h.in index 6abf7972dfe..a0e3150c5c9 100644 --- a/libjava/classpath/include/config.h.in +++ b/libjava/classpath/include/config.h.in @@ -33,6 +33,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_CRT_EXTERNS_H +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + /* Define to 1 if you have the header file. */ #undef HAVE_DSSI_H @@ -60,6 +63,15 @@ /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE +/* three-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_3 + +/* five-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_5 + +/* six-argument gethostbyname_r */ +#undef HAVE_FUNC_GETHOSTBYNAME_R_6 + /* Define to 1 if you have the `gethostbyname_r' function. */ #undef HAVE_GETHOSTBYNAME_R @@ -69,6 +81,9 @@ /* Define to 1 if you have the `getifaddrs' function. */ #undef HAVE_GETIFADDRS +/* Define to 1 if you have the `getloadavg' function. */ +#undef HAVE_GETLOADAVG + /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE @@ -315,6 +330,13 @@ /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + /* Name of package */ #undef PACKAGE @@ -382,6 +404,12 @@ /* Define to empty if `const' does not conform to ANSI C. */ #undef const +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + /* GNU C attributes. */ #ifndef FUNCATTR #ifdef HAVE_GNUC25_ATTRIB diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h index 3e88d5747f7..3ae95a283e5 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoGraphics2D.h @@ -22,7 +22,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetRGBACo JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFillRule (JNIEnv *env, jobject, jlong, jint); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetLine (JNIEnv *env, jobject, jlong, jdouble, jint, jint, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetDash (JNIEnv *env, jobject, jlong, jdoubleArray, jint, jdouble); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (JNIEnv *env, jobject, jlong, jobject, jfloat, jfloat, jint, jintArray, jfloatArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector (JNIEnv *env, jobject, jlong, jobject, jfloat, jfloat, jint, jintArray, jfloatArray, jlongArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetFont (JNIEnv *env, jobject, jlong, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoRectangle (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoArc (JNIEnv *env, jobject, jlong, jdouble, jdouble, jdouble, jdouble, jdouble); @@ -37,6 +37,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoStroke (J JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoFill (JNIEnv *env, jobject, jlong, jdouble); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoClip (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoResetClip (JNIEnv *env, jobject, jlong); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoSetAntialias (JNIEnv *env, jobject, jlong, jboolean); #undef gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST #define gnu_java_awt_peer_gtk_CairoGraphics2D_INTERPOLATION_NEAREST 0L diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h index 38857071091..ba7a1f57337 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_CairoSurface.h @@ -10,14 +10,12 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject, jint, jint, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env, jobject, jlong, jlong); -JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetElem (JNIEnv *env, jobject, jlong, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetElem (JNIEnv *env, jobject, jlong, jint, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_create (JNIEnv *env, jobject, jint, jint, jint, jintArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_destroy (JNIEnv *env, jobject, jlong, jintArray); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeDrawSurface (JNIEnv *env, jobject, jlong, jlong, jdoubleArray, jdouble, jint); -JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeGetPixels (JNIEnv *env, jobject, jlong, jint); -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeSetPixels (JNIEnv *env, jobject, jlong, jintArray); -JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, jlong, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_syncNativeToJava (JNIEnv *env, jobject, jlong, jintArray); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_syncJavaToNative (JNIEnv *env, jobject, jlong, jintArray); +JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_getFlippedBuffer (JNIEnv *env, jobject, jlong); JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_nativeNewCairoContext (JNIEnv *env, jobject, jlong); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_CairoSurface_copyAreaNative2 (JNIEnv *env, jobject, jlong, jint, jint, jint, jint, jint, jint, jint); diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h index 10a4ea5e51f..95463229347 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_FreetypeGlyphVector.h @@ -10,10 +10,12 @@ extern "C" { #endif -JNIEXPORT jintArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs (JNIEnv *env, jobject, jintArray); -JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning (JNIEnv *env, jobject, jint, jint); -JNIEXPORT jdoubleArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative (JNIEnv *env, jobject, jint); -JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative (JNIEnv *env, jobject, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphs (JNIEnv *env, jobject, jintArray, jintArray, jlongArray); +JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getKerning (JNIEnv *env, jobject, jint, jint, jlong); +JNIEXPORT jdoubleArray JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getMetricsNative (JNIEnv *env, jobject, jint, jlong); +JNIEXPORT jobject JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative (JNIEnv *env, jobject, jint, jlong); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_dispose (JNIEnv *env, jobject, jlongArray); +JNIEXPORT jlong JNICALL Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getNativeFontPointer (JNIEnv *env, jobject, jint); #ifdef __cplusplus } diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h deleted file mode 100644 index 1db809878fb..00000000000 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h +++ /dev/null @@ -1,19 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ - -#ifndef __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ -#define __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ - -#include - -#ifdef __cplusplus -extern "C" -{ -#endif - -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GThreadNativeMethodRunner_nativeRun (JNIEnv *env, jobject, jlong, jlong); - -#ifdef __cplusplus -} -#endif - -#endif /* __gnu_java_awt_peer_gtk_GThreadNativeMethodRunner__ */ diff --git a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h index b91d54cdb09..5bceda7ad7b 100644 --- a/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h +++ b/libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h @@ -10,7 +10,7 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass, jint); +JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkInit (JNIEnv *env, jclass, jint, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkMain (JNIEnv *env, jclass); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_gtkQuit (JNIEnv *env, jclass); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_beep (JNIEnv *env, jobject); @@ -18,6 +18,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenSizeDimens JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getScreenResolution (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_sync (JNIEnv *env, jobject); JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_loadSystemColors (JNIEnv *env, jobject, jintArray); +JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getLockState (JNIEnv *env, jobject, jint); JNIEXPORT jint JNICALL Java_gnu_java_awt_peer_gtk_GtkToolkit_getMouseNumberOfButtons (JNIEnv *env, jobject); #ifdef __cplusplus diff --git a/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h b/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h new file mode 100644 index 00000000000..3f35dad2182 --- /dev/null +++ b/libjava/classpath/include/gnu_java_lang_management_VMOperatingSystemMXBeanImpl.h @@ -0,0 +1,19 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ + +#ifndef __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ +#define __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +JNIEXPORT jdouble JNICALL Java_gnu_java_lang_management_VMOperatingSystemMXBeanImpl_getSystemLoadAverage (JNIEnv *env, jclass); + +#ifdef __cplusplus +} +#endif + +#endif /* __gnu_java_lang_management_VMOperatingSystemMXBeanImpl__ */ diff --git a/libjava/classpath/include/java_io_VMFile.h b/libjava/classpath/include/java_io_VMFile.h index fa1079f121e..4b0273d1144 100644 --- a/libjava/classpath/include/java_io_VMFile.h +++ b/libjava/classpath/include/java_io_VMFile.h @@ -20,9 +20,13 @@ JNIEXPORT jboolean JNICALL Java_java_io_VMFile_exists (JNIEnv *env, jclass, jstr JNIEXPORT jboolean JNICALL Java_java_io_VMFile_delete (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setLastModified (JNIEnv *env, jclass, jstring, jlong); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_mkdir (JNIEnv *env, jclass, jstring); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setReadable (JNIEnv *env, jclass, jstring, jboolean, jboolean); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setWritable (JNIEnv *env, jclass, jstring, jboolean, jboolean); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_setExecutable (JNIEnv *env, jclass, jstring, jboolean, jboolean); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_isFile (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canWrite (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canRead (JNIEnv *env, jclass, jstring); +JNIEXPORT jboolean JNICALL Java_java_io_VMFile_canExecute (JNIEnv *env, jclass, jstring); JNIEXPORT jboolean JNICALL Java_java_io_VMFile_isDirectory (JNIEnv *env, jclass, jstring); JNIEXPORT jstring JNICALL Java_java_io_VMFile_toCanonicalForm (JNIEnv *env, jclass, jstring); #undef java_io_VMFile_IS_CASE_SENSITIVE diff --git a/libjava/classpath/install-sh b/libjava/classpath/install-sh index 11870f1b019..4fbbae7b7ff 100755 --- a/libjava/classpath/install-sh +++ b/libjava/classpath/install-sh @@ -1,36 +1,62 @@ #!/bin/sh -# # install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). + +scriptversion=2006-10-14.15 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. # -# Copyright 1991 by the Massachusetts Institute of Technology +# Copyright (C) 1994 X Consortium # -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# from scratch. +nl=' +' +IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi - -# put in absolute paths if you don't have them in your path; or use env. vars. +# Put in absolute file names if you don't have them in your path; +# or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" @@ -41,211 +67,441 @@ stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" +posix_glob= +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chmodcmd=$chmodprog +chowncmd= +chgrpcmd= +stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" -src="" -dst="" -dir_arg="" +src= +dst= +dir_arg= +dstarg= +no_target_directory= -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... - -d) dir_arg=true - shift - continue;; +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. - -o) chowncmd="$chownprog $2" - shift - shift - continue;; +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; +while test $# -ne 0; do + case $1 in + -c) shift + continue;; - -s) stripcmd="$stripprog" - shift - continue;; + -d) dir_arg=true + shift + continue;; - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; + --help) echo "$usage"; exit $?;; - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done + -m) mode=$2 + shift + shift + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + continue;; -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - : -fi + -o) chowncmd="$chownprog $2" + shift + shift + continue;; -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - chmodcmd="" - else - instcmd=$mkdirprog - fi -else + -s) stripcmd=$stripprog + shift + continue;; -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f "$src" ] || [ -d "$src" ] - then - : - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - : - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - : - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' - ' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" + -t) dstarg=$2 shift + shift + continue;; - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - : - fi + -T) no_target_directory=true + shift + continue;; - pathcomp="${pathcomp}/" + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac done + +if test $# -ne 0 && test -z "$dir_arg$dstarg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done fi -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi -else +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 -# If we're going to rename the final executable, determine the name now. + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename + mkdir_mode= fi -# don't allow the sed command to completely eliminate the filename + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix=/ ;; + -*) prefix=./ ;; + *) prefix= ;; + esac + + case $posix_glob in + '') + if (set -f) 2>/dev/null; then + posix_glob=true + else + posix_glob=false + fi ;; + esac + + oIFS=$IFS + IFS=/ + $posix_glob && set -f + set fnord $dstdir + shift + $posix_glob && set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= else - : + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi fi + prefix=$prefix/ + done -# Make a temp file name in the proper directory. + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi - dsttmp=$dstdir/#inst.$$# + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else -# Move or copy the file name to the temp name + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ - $doit $instcmd $src $dsttmp && + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap "rm -f ${dsttmp}" 0 && + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && -# and set any options; do chmod last to preserve setuid bits + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dst"; then + $doit $rmcmd -f "$dst" 2>/dev/null \ + || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ + && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ + || { + echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + else + : + fi + } && -# Now rename the file to the real destination. + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + } || exit 1 - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile + trap '' 0 + fi +done -fi && - - -exit 0 +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/libjava/classpath/java/awt/AWTEvent.java b/libjava/classpath/java/awt/AWTEvent.java index 3f4027c2c05..102062cdfe6 100644 --- a/libjava/classpath/java/awt/AWTEvent.java +++ b/libjava/classpath/java/awt/AWTEvent.java @@ -262,9 +262,17 @@ public abstract class AWTEvent extends EventObject */ public String toString () { + String src; + if (source instanceof Component) + src = ((Component) source).getName(); + else if (source instanceof MenuComponent) + src = ((MenuComponent) source).getName(); + else if (source != null) + src = source.toString(); + else + src = "null"; String string = getClass ().getName () + "[" + paramString () + "] on " - + source; - + + src; return string; } diff --git a/libjava/classpath/java/awt/AWTKeyStroke.java b/libjava/classpath/java/awt/AWTKeyStroke.java index 527e85873e0..e0b34e99238 100644 --- a/libjava/classpath/java/awt/AWTKeyStroke.java +++ b/libjava/classpath/java/awt/AWTKeyStroke.java @@ -1,5 +1,5 @@ /* AWTKeyStroke.java -- an immutable key stroke - Copyright (C) 2002, 2004, 2005 Free Software Foundation + Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation This file is part of GNU Classpath. @@ -93,9 +93,9 @@ public class AWTKeyStroke implements Serializable private static final int MAX_CACHE_SIZE = 2048; /** Prune stale entries. */ - protected boolean removeEldestEntry(Map.Entry + protected boolean removeEldestEntry(Entry eldest) - { // XXX - FIXME Use Map.Entry, not just Entry as gcj 3.1 workaround. + { return size() > MAX_CACHE_SIZE; } }; diff --git a/libjava/classpath/java/awt/AlphaComposite.java b/libjava/classpath/java/awt/AlphaComposite.java index 92b9e09a60d..90df2e66d8c 100644 --- a/libjava/classpath/java/awt/AlphaComposite.java +++ b/libjava/classpath/java/awt/AlphaComposite.java @@ -1,5 +1,5 @@ /* AlphaComposite.java -- provides a context for performing alpha compositing - Copyright (C) 2002, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -61,8 +61,8 @@ public final class AlphaComposite implements Composite private static final int MAX_CACHE_SIZE = 2048; /** Prune stale entries. */ - protected boolean removeEldestEntry(Map.Entry eldest) - { // XXX - FIXME Use Map.Entry, not just Entry as gcj 3.1 workaround. + protected boolean removeEldestEntry(Entry eldest) + { return size() > MAX_CACHE_SIZE; } }; diff --git a/libjava/classpath/java/awt/Canvas.java b/libjava/classpath/java/awt/Canvas.java index 843fded44db..95db1f57e1a 100644 --- a/libjava/classpath/java/awt/Canvas.java +++ b/libjava/classpath/java/awt/Canvas.java @@ -74,11 +74,6 @@ public class Canvas */ private static transient long next_canvas_number; - /** - * The graphics configuration associated with the canvas. - */ - transient GraphicsConfiguration graphicsConfiguration; - /** * The buffer strategy associated with this canvas. */ @@ -100,14 +95,7 @@ public class Canvas */ public Canvas(GraphicsConfiguration graphicsConfiguration) { - this.graphicsConfiguration = graphicsConfiguration; - } - - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (graphicsConfiguration != null) - return graphicsConfiguration; - return super.getGraphicsConfigurationImpl(); + this.graphicsConfig = graphicsConfiguration; } /** diff --git a/libjava/classpath/java/awt/CardLayout.java b/libjava/classpath/java/awt/CardLayout.java index 2e3feece8d2..35380d2370b 100644 --- a/libjava/classpath/java/awt/CardLayout.java +++ b/libjava/classpath/java/awt/CardLayout.java @@ -225,7 +225,7 @@ public class CardLayout implements LayoutManager2, Serializable */ public Dimension maximumLayoutSize (Container target) { - if (target == null) + if (target == null || target.ncomponents == 0) return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE); // The JCL says that this returns Integer.MAX_VALUE for both // dimensions. But that just seems wrong to me. diff --git a/libjava/classpath/java/awt/Component.java b/libjava/classpath/java/awt/Component.java index b6eadabbb5c..f8bed17618e 100644 --- a/libjava/classpath/java/awt/Component.java +++ b/libjava/classpath/java/awt/Component.java @@ -726,7 +726,23 @@ public abstract class Component */ public GraphicsConfiguration getGraphicsConfiguration() { - return getGraphicsConfigurationImpl(); + GraphicsConfiguration conf = null; + synchronized (getTreeLock()) + { + if (graphicsConfig != null) + { + conf = graphicsConfig; + } + else + { + Component par = getParent(); + if (par != null) + { + conf = parent.getGraphicsConfiguration(); + } + } + } + return conf; } /** @@ -823,7 +839,8 @@ public abstract class Component */ public boolean isShowing() { - return visible && peer != null && (parent == null || parent.isShowing()); + Component par = parent; + return visible && peer != null && (par == null || par.isShowing()); } /** @@ -1179,19 +1196,12 @@ public abstract class Component */ public Font getFont() { - Font f; - synchronized (getTreeLock()) - { - f = getFontImpl(); - } - return f; + return getFontImpl(); } /** * Implementation of getFont(). This is pulled out of getFont() to prevent - * client programs from overriding this. This method is executed within - * a tree lock, so we can assume that the hierarchy doesn't change in - * between. + * client programs from overriding this. * * @return the font of this component */ @@ -1204,7 +1214,12 @@ public abstract class Component if (p != null) f = p.getFontImpl(); else - f = new Font("Dialog", Font.PLAIN, 12); + { + // It is important to return null here and not some kind of default + // font, otherwise the Swing UI would not install its fonts because + // it keeps non-UIResource fonts. + f = null; + } } return f; } @@ -5434,27 +5449,6 @@ p *
  • the set of backward traversal keys this.peer = peer; } - /** - * Implementation method that allows classes such as Canvas and Window to - * override the graphics configuration without violating the published API. - * - * @return the graphics configuration - */ - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (peer != null) - { - GraphicsConfiguration config = peer.getGraphicsConfiguration(); - if (config != null) - return config; - } - - if (parent != null) - return parent.getGraphicsConfiguration(); - - return null; - } - /** * Translate an AWT 1.1 event ({@link AWTEvent}) into an AWT 1.0 * event ({@link Event}). diff --git a/libjava/classpath/java/awt/Desktop.java b/libjava/classpath/java/awt/Desktop.java new file mode 100644 index 00000000000..8010464c00d --- /dev/null +++ b/libjava/classpath/java/awt/Desktop.java @@ -0,0 +1,268 @@ +/* Desktop.java -- enable desktop integration between java programs and system + programs. + Copyright (C) 2006 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + + +package java.awt; + +import java.awt.peer.DesktopPeer; +import java.io.File; +import java.io.IOException; +import java.net.URI; + +/** + * This class enables Java application to access system commands to perform + * desktop oriented operations, like writing and sending emails, or surfing + * webpages with the system browser or editing/printing files with a default + * editor. Methods are provided to handle these common operations, plus an + * open command selects a default registered application for the + * specified file type. For example, opening an odf file results in launching + * OpenOffice. If an operation is not supported, or the application fails to + * launch, an exception is generated. + * + * Implementation note: As this class is used to manage Desktop + * integration, we provide some extension to configure the behaviour of this + * class depending on the type of dektop that is detected.
    + * + * First of all, we support 5 system properties that can be used to define + * the application to launch in any given case. These properties are:
    + *
    + * gnu.java.awt.peer.Desktop.html.command
    + * gnu.java.awt.peer.Desktop.mail.command
    + * gnu.java.awt.peer.Desktop.edit.command
    + * gnu.java.awt.peer.Desktop.print.command
    + * gnu.java.awt.peer.Desktop.open.command
    + *
    + *
    + * These can be specified from the command line and have priority on every + * other setting.
    + *
    + * The second method supported is defining a Java preference.
    + * The main preference node is a user node relative to the + * class gnu.java.awt.peer.ClasspathDesktopPeer. This node + * contains a child for each supported operation. The key for each type is + * always command: + *

    + * gnu.java.awt.peer.Desktop.html.command
    + * gnu.java.awt.peer.Desktop.mail.command
    + * gnu.java.awt.peer.Desktop.edit.command
    + * gnu.java.awt.peer.Desktop.print.command
    + * gnu.java.awt.peer.Desktop.open.command
    + *
    + *
    + * The access to these keys is done with the Preference API or, if outside + * of the java scope, is done in a backend dependent way. For example, + * with the GConf backend, you can access these properties + * with (may not be accurate on your system): + *

    + * + * gconftool-2 -g /apps/classpath/gnu/java/awt/peer/Desktop/html/command + * + * + * @author Mario Torre + * @since 1.6 + */ +public class Desktop +{ + /** + * Represents an action type supported by a platform. + * + * To determine if a given action is supported by the platform, + * use the Desktop.isSupported(java.awt.Desktop.Action) + * method. + * + * @author Mario Torre + */ + public enum Action + { + BROWSE, EDIT, MAIL, OPEN, PRINT + } + + private DesktopPeer peer; + + private Desktop() + { + /* nothing to be done */ + } + + /** + * Returns an istance of the Desktop Class. + * + * If this implementation does not support Desktop, an + * UnsupportedOperationException will be thrown. + * Also, an HeadlessException will be generated if + * GraphicsEnvironment.isHeadless() returns true. + * + * @throws UnsupportedOperationException + * @throws HeadlessException + */ + public static Desktop getDesktop() throws UnsupportedOperationException, + HeadlessException + { + if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + + if (!Desktop.isDesktopSupported()) + throw new UnsupportedOperationException(); + + Desktop desktop = new Desktop(); + desktop.peer = Toolkit.getDefaultToolkit().createDesktopPeer(desktop); + + return desktop; + } + + /** + * Check if this implementation supports Desktop. + * If true, use getDesktop to get an instance of this class. + * + * This implementation will return false when GraphicsEnvironment.isHeadless + * returns true. + * + * @return true if this class is supported on the current platform; + * false otherwise + */ + private static boolean isDesktopSupported() + { + if (GraphicsEnvironment.isHeadless()) + return false; + + return true; + } + + /** + * Check if the given Action is supported by this implementation. + * + * @param action + * @return + */ + public boolean isSupported(Desktop.Action action) + { + return peer.isSupported(action); + } + + /** + * Launches the Desktop default browser to open the given uri. + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"),a SecurityException will + * be generated. + * + * @param uri + * @throws IOException + */ + public void browse(URI uri) + throws IOException + { + peer.browse(uri); + } + + /** + * Launch the edit command to edit this file. + * File should already exist before the editing starts. + * + * If a security manager exists and + * SecurityManager.checkRead(java.lang.String) method denies read access to + * the file, or SecurityManager.checkPrintJobAccess() method denies the + * permission to print the file, a SecurityException will be generated. + * + * @param file + * @throws IOException + */ + public void edit(File file) + throws IOException + { + peer.edit(file); + } + + /** + * Launches the Desktop default mailer. + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will + * be generated. + * + * @throws IOException + */ + public void mail() + throws IOException + { + peer.mail(); + } + + /** + * Launches the Desktop default mailer, with the given mailtoURI + * as agrument. The mailtoURI must conform to the + * {@link http://www.ietf.org/rfc/rfc2368.txt The mailto URL scheme (RFC 2368)} + * + * If a security manager exists and denies + * AWTPermission("showWindowWithoutWarningBanner"), a SecurityException will + * be generated. + * + * @param mailtoURI + * @throws IOException + */ + public void mail(URI mailtoURI) + throws IOException + { + peer.mail(mailtoURI); + } + + /** + * Launches the Desktop default application to open the given File. + * If file is a directory, a file manager is launched. + * + * @param file + * @throws IOException + */ + public void open(File file) + throws IOException + { + peer.open(file); + } + + /** + * Launch the print program to print this file. + * + * @param file + * @throws IOException + */ + public void print(File file) + throws IOException + { + peer.print(file); + } +} diff --git a/libjava/classpath/java/awt/EventDispatchThread.java b/libjava/classpath/java/awt/EventDispatchThread.java index 074a84975ac..9f81a794415 100644 --- a/libjava/classpath/java/awt/EventDispatchThread.java +++ b/libjava/classpath/java/awt/EventDispatchThread.java @@ -73,6 +73,9 @@ class EventDispatchThread extends Thread // Ignore and use default. } setPriority(priority); + + // Make sure that an event dispatch thread is never a daemon thread. + setDaemon(false); } public void run() diff --git a/libjava/classpath/java/awt/EventQueue.java b/libjava/classpath/java/awt/EventQueue.java index 74dbd5fb67d..eb17449a00c 100644 --- a/libjava/classpath/java/awt/EventQueue.java +++ b/libjava/classpath/java/awt/EventQueue.java @@ -128,10 +128,8 @@ public class EventQueue if (peekEvent() != null) return false; - Frame[] frames = Frame.getFrames(); - for (int i = 0; i < frames.length; ++i) - if (frames[i].isDisplayable()) - return false; + if (Frame.hasDisplayableFrames()) + return false; return true; } diff --git a/libjava/classpath/java/awt/Frame.java b/libjava/classpath/java/awt/Frame.java index d5cc7f53197..3cc8738c63f 100644 --- a/libjava/classpath/java/awt/Frame.java +++ b/libjava/classpath/java/awt/Frame.java @@ -40,9 +40,10 @@ exception statement from your version. */ package java.awt; import java.awt.peer.FramePeer; +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.util.ArrayList; -import java.util.Iterator; import java.util.Vector; import javax.accessibility.AccessibleContext; @@ -484,44 +485,72 @@ public class Frame extends Window implements MenuContainer return super.paramString () + ",title=" + title + resizable + state; } - private static ArrayList weakFrames = new ArrayList(); + /** + * The list of active frames. GC'ed frames get removed in noteFrame(). + */ + private static ArrayList> weakFrames = + new ArrayList>(); + + /** + * The death queue for all frames. + */ + private static ReferenceQueue weakFramesQueue = + new ReferenceQueue(); private static void noteFrame(Frame f) { synchronized (weakFrames) { - weakFrames.add(new WeakReference(f)); + // Remove GCed frames from the list. + Reference ref = weakFramesQueue.poll(); + while (ref != null) + { + weakFrames.remove(ref); + ref = weakFramesQueue.poll(); + } + // Add new frame. + weakFrames.add(new WeakReference(f)); } } + /** + * Returns true when there are any displayable frames, + * false otherwise. + * + * @return true when there are any displayable frames, + * false otherwise + */ + static boolean hasDisplayableFrames() + { + synchronized (weakFrames) + { + for (WeakReference r : Frame.weakFrames) + { + Frame f = (Frame) r.get(); + if (f != null && f.isDisplayable()) + return true; + } + } + return false; + } + public static Frame[] getFrames() { - int n = 0; synchronized (weakFrames) - { - Iterator i = weakFrames.iterator(); - while (i.hasNext()) - { - WeakReference wr = (WeakReference) i.next(); - if (wr.get() != null) - ++n; - } - if (n == 0) - return new Frame[0]; - else - { - Frame[] frames = new Frame[n]; - n = 0; - i = weakFrames.iterator(); - while (i.hasNext()) - { - WeakReference wr = (WeakReference) i.next(); - if (wr.get() != null) - frames[n++] = (Frame) wr.get(); - } - return frames; - } - } + { + ArrayList existingFrames = new ArrayList(); + for (WeakReference ref : weakFrames) + { + Frame f = ref.get(); + if (f != null) + { + existingFrames.add(f); + } + } + Frame[] frames = new Frame[existingFrames.size()]; + frames = existingFrames.toArray(frames); + return frames; + } } public void setState(int state) diff --git a/libjava/classpath/java/awt/GraphicsConfiguration.java b/libjava/classpath/java/awt/GraphicsConfiguration.java index 792b2cc1b2b..3cf8b65db8f 100644 --- a/libjava/classpath/java/awt/GraphicsConfiguration.java +++ b/libjava/classpath/java/awt/GraphicsConfiguration.java @@ -38,8 +38,6 @@ exception statement from your version. */ package java.awt; -import gnu.classpath.NotImplementedException; - import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; @@ -131,7 +129,8 @@ public abstract class GraphicsConfiguration ImageCapabilities caps) throws AWTException { - throw new AWTException("not implemented"); + // Must be overridden by implementations to check caps. + return createCompatibleVolatileImage(w, h); } /** @@ -149,6 +148,32 @@ public abstract class GraphicsConfiguration int height, int transparency); + /** + * Creates a volatile image with the specified capabilities and transparency. + * If the backend cannot meet the requested capabilities and transparency, + * an AWTException is thrown. + * + * @param width the width of the image + * @param height the height of the image + * @param caps the requested capabilities + * @param transparency the required transparency + * + * @return a volatile image with the specified capabilites and transparency + * + * @throws AWTException if the required capabilities and transparency cannot + * be met + * + * @since 1.5 + */ + public VolatileImage createCompatibleVolatileImage(int width, int height, + ImageCapabilities caps, + int transparency) + throws AWTException + { + // Must be overridden by implementations to check caps. + return createCompatibleVolatileImage(width, height, transparency); + } + /** * Returns a buffered image optimized to this device, and with the specified * transparency, so that blitting can be supported in the buffered image. diff --git a/libjava/classpath/java/awt/RenderingHints.java b/libjava/classpath/java/awt/RenderingHints.java index ce327e36947..e98a00c5bab 100644 --- a/libjava/classpath/java/awt/RenderingHints.java +++ b/libjava/classpath/java/awt/RenderingHints.java @@ -158,7 +158,7 @@ public class RenderingHints } } // class KeyImpl - private HashMap hintMap = new HashMap(); + private HashMap hintMap = new HashMap(); /** * A key for the 'antialiasing' hint. Permitted values are: @@ -711,9 +711,9 @@ public class RenderingHints Iterator iterator = m.keySet().iterator(); while (iterator.hasNext()) { - Key key = (Key) iterator.next(); - if (!key.isCompatibleValue(m.get(key))) - throw new IllegalArgumentException(); + Key key = (Key) iterator.next(); + if (!key.isCompatibleValue(m.get(key))) + throw new IllegalArgumentException(); } // map is OK, update hintMap.putAll(m); @@ -783,7 +783,7 @@ public class RenderingHints try { RenderingHints copy = (RenderingHints) super.clone(); - copy.hintMap = (HashMap) hintMap.clone(); + copy.hintMap = new HashMap(hintMap); return copy; } catch (CloneNotSupportedException e) diff --git a/libjava/classpath/java/awt/Toolkit.java b/libjava/classpath/java/awt/Toolkit.java index 69040722e72..305402e9541 100644 --- a/libjava/classpath/java/awt/Toolkit.java +++ b/libjava/classpath/java/awt/Toolkit.java @@ -1,5 +1,5 @@ /* Toolkit.java -- AWT Toolkit superclass - Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,6 +40,7 @@ exception statement from your version. */ package java.awt; import gnu.classpath.SystemProperties; +import gnu.java.awt.AWTUtilities; import gnu.java.awt.peer.GLightweightPeer; import gnu.java.awt.peer.headless.HeadlessToolkit; @@ -62,6 +63,7 @@ import java.awt.peer.CanvasPeer; import java.awt.peer.CheckboxMenuItemPeer; import java.awt.peer.CheckboxPeer; import java.awt.peer.ChoicePeer; +import java.awt.peer.DesktopPeer; import java.awt.peer.DialogPeer; import java.awt.peer.FileDialogPeer; import java.awt.peer.FontPeer; @@ -147,6 +149,15 @@ public abstract class Toolkit awtEventListeners = new AWTEventListenerProxy[0]; } + /** + * + * @param target + * @return + * @throws HeadlessException + */ + protected abstract DesktopPeer createDesktopPeer(Desktop target) + throws HeadlessException; + /** * Creates a peer object for the specified Button. * @@ -802,12 +813,11 @@ public abstract class Toolkit */ public boolean getLockingKeyState(int keyCode) { - if (keyCode != KeyEvent.VK_CAPS_LOCK - && keyCode != KeyEvent.VK_NUM_LOCK - && keyCode != KeyEvent.VK_SCROLL_LOCK) - throw new IllegalArgumentException(); - - throw new UnsupportedOperationException(); + if (AWTUtilities.isValidKey(keyCode)) + throw new UnsupportedOperationException + ("cannot get locking state of key code " + keyCode); + + throw new IllegalArgumentException("invalid key code " + keyCode); } /** diff --git a/libjava/classpath/java/awt/Window.java b/libjava/classpath/java/awt/Window.java index 41dff5577e0..2a59375ced9 100644 --- a/libjava/classpath/java/awt/Window.java +++ b/libjava/classpath/java/awt/Window.java @@ -87,7 +87,6 @@ public class Window extends Container implements Accessible private transient WindowListener windowListener; private transient WindowFocusListener windowFocusListener; private transient WindowStateListener windowStateListener; - private transient GraphicsConfiguration graphicsConfiguration; private transient boolean shown; @@ -132,13 +131,13 @@ public class Window extends Container implements Accessible setLayout(new BorderLayout()); GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment(); - graphicsConfiguration = g.getDefaultScreenDevice().getDefaultConfiguration(); + graphicsConfig = g.getDefaultScreenDevice().getDefaultConfiguration(); } Window(GraphicsConfiguration gc) { this(); - graphicsConfiguration = gc; + graphicsConfig = gc; } /** @@ -204,19 +203,11 @@ public class Window extends Container implements Accessible throw new IllegalArgumentException ("gc must be from a screen device"); if (gc == null) - graphicsConfiguration = GraphicsEnvironment.getLocalGraphicsEnvironment() - .getDefaultScreenDevice() - .getDefaultConfiguration(); + graphicsConfig = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getDefaultScreenDevice() + .getDefaultConfiguration(); else - graphicsConfiguration = gc; - } - - GraphicsConfiguration getGraphicsConfigurationImpl() - { - if (graphicsConfiguration != null) - return graphicsConfiguration; - - return super.getGraphicsConfigurationImpl(); + graphicsConfig = gc; } /** @@ -1073,9 +1064,14 @@ public class Window extends Container implements Accessible */ public GraphicsConfiguration getGraphicsConfiguration() { - if (graphicsConfiguration != null) return graphicsConfiguration; - if (peer != null) return peer.getGraphicsConfiguration(); - return null; + GraphicsConfiguration conf = graphicsConfig; + if (conf == null) + { + conf = GraphicsEnvironment.getLocalGraphicsEnvironment() + .getDefaultScreenDevice().getDefaultConfiguration(); + graphicsConfig = conf; + } + return conf; } protected void processWindowFocusEvent(WindowEvent event) diff --git a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java index e163fe067e2..7f296b5941a 100644 --- a/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java +++ b/libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java @@ -38,12 +38,21 @@ exception statement from your version. */ package java.awt.datatransfer; -import gnu.classpath.NotImplementedException; - +import java.awt.Toolkit; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.WeakHashMap; /** @@ -72,19 +81,102 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * This map maps native Strings to lists of * DataFlavors */ - private HashMap nativeToFlavorMap = new HashMap(); + private HashMap> nativeToFlavorMap = + new HashMap>(); /** * This map maps DataFlavors to lists of native * Strings */ - private HashMap flavorToNativeMap = new HashMap(); + private HashMap> flavorToNativeMap = + new HashMap>(); /** * Private constructor. */ private SystemFlavorMap () { + AccessController.doPrivileged + (new PrivilegedAction() + { + public Object run() + { + try + { + // Load installed flavormap.properties first. + String sep = File.separator; + File propsFile = + new File(System.getProperty("gnu.classpath.home.url") + + sep + "accessibility.properties"); + InputStream in = new FileInputStream(propsFile); + Properties props = new Properties(); + props.load(in); + in.close(); + + String augmented = Toolkit.getProperty("AWT.DnD.flavorMapFileURL", + null); + if (augmented != null) + { + URL url = new URL(augmented); + in = url.openStream(); + props.load(in); + } + setupMapping(props); + } + catch (IOException ex) + { + // Can't do anything about it. + } + return null; + } + }); + } + + /** + * Sets up the mapping from native to mime types and vice versa as specified + * in the flavormap.properties file. + * + * This is package private to avoid an accessor method. + * + * @param props the properties file + */ + void setupMapping(Properties props) + { + Enumeration propNames = props.propertyNames(); + while (propNames.hasMoreElements()) + { + try + { + String nat = (String) propNames.nextElement(); + String mime = (String) props.getProperty(nat); + // Check valid mime type. + MimeType type = new MimeType(mime); + DataFlavor flav = new DataFlavor(mime); + + List flavs = nativeToFlavorMap.get(nat); + if (flavs == null) + { + flavs = new ArrayList(); + nativeToFlavorMap.put(nat, flavs); + } + List nats = flavorToNativeMap.get(flav); + if (nats == null) + { + nats = new ArrayList(); + flavorToNativeMap.put(flav, nats); + } + flavs.add(flav); + nats.add(nat); + } + catch (ClassNotFoundException ex) + { + // Skip. + } + catch (MimeTypeParseException ex) + { + // Skip. + } + } } /** @@ -263,16 +355,52 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable * specified native and a DataFlavor whose MIME type is a decoded * version of the native. */ - public List getFlavorsForNative (String nat) - throws NotImplementedException + public List getFlavorsForNative(String nat) { - throw new Error ("Not implemented"); + List ret = new ArrayList(); + if (nat == null) + { + Collection> all = nativeToFlavorMap.values(); + for (List list : all) + { + for (DataFlavor flav : list) + { + if (! ret.contains(flav)) + ret.add(flav); + } + } + } + else + { + List list = nativeToFlavorMap.get(nat); + if (list != null) + ret.addAll(list); + } + return ret; } public List getNativesForFlavor (DataFlavor flav) - throws NotImplementedException { - throw new Error ("Not implemented"); + List ret = new ArrayList(); + if (flav == null) + { + Collection> all = flavorToNativeMap.values(); + for (List list : all) + { + for (String nat : list) + { + if (! ret.contains(nat)) + ret.add(nat); + } + } + } + else + { + List list = flavorToNativeMap.get(flav); + if (list != null) + ret.addAll(list); + } + return ret; } /** @@ -298,10 +426,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable { if ((nativeStr == null) || (flavor == null)) throw new NullPointerException(); - List flavors = (List) nativeToFlavorMap.get(nativeStr); + List flavors = nativeToFlavorMap.get(nativeStr); if (flavors == null) { - flavors = new ArrayList(); + flavors = new ArrayList(); nativeToFlavorMap.put(nativeStr, flavors); } else @@ -336,10 +464,10 @@ public final class SystemFlavorMap implements FlavorMap, FlavorTable { if ((nativeStr == null) || (flavor == null)) throw new NullPointerException(); - List natives = (List) flavorToNativeMap.get(flavor); + List natives = flavorToNativeMap.get(flavor); if (natives == null) { - natives = new ArrayList(); + natives = new ArrayList(); flavorToNativeMap.put(flavor, natives); } else diff --git a/libjava/classpath/java/awt/geom/GeneralPath.java b/libjava/classpath/java/awt/geom/GeneralPath.java index 1e9ede5ee67..fa27d1908c7 100644 --- a/libjava/classpath/java/awt/geom/GeneralPath.java +++ b/libjava/classpath/java/awt/geom/GeneralPath.java @@ -79,22 +79,17 @@ import java.awt.Shape; */ public final class GeneralPath implements Shape, Cloneable { - // WORKAROUND for gcj 4.0.x (x < 3) - // fully qualify PathIterator constants. - /** Same constant as {@link PathIterator#WIND_EVEN_ODD}. */ - public static final int WIND_EVEN_ODD - = java.awt.geom.PathIterator.WIND_EVEN_ODD; + public static final int WIND_EVEN_ODD = PathIterator.WIND_EVEN_ODD; /** Same constant as {@link PathIterator#WIND_NON_ZERO}. */ - public static final int WIND_NON_ZERO - = java.awt.geom.PathIterator.WIND_NON_ZERO; + public static final int WIND_NON_ZERO = PathIterator.WIND_NON_ZERO; /** Initial size if not specified. */ private static final int INIT_SIZE = 10; /** A big number, but not so big it can't survive a few float operations */ - private static final double BIG_VALUE = java.lang.Double.MAX_VALUE / 10.0; + private static final double BIG_VALUE = Double.MAX_VALUE / 10.0; /** The winding rule. * This is package-private to avoid an accessor method. diff --git a/libjava/classpath/java/awt/image/BufferedImage.java b/libjava/classpath/java/awt/image/BufferedImage.java index ef3141d0ead..c9879461ce2 100644 --- a/libjava/classpath/java/awt/image/BufferedImage.java +++ b/libjava/classpath/java/awt/image/BufferedImage.java @@ -39,7 +39,9 @@ exception statement from your version. */ package java.awt.image; import gnu.java.awt.Buffers; +import gnu.java.awt.ClasspathGraphicsEnvironment; import gnu.java.awt.ComponentDataBlitOp; +import gnu.java.awt.peer.gtk.CairoSurface; import java.awt.Graphics; import java.awt.Graphics2D; @@ -83,7 +85,7 @@ public class BufferedImage extends Image /** * Vector of TileObservers (or null) */ - Vector tileObservers; + Vector tileObservers; /** * The image's WritableRaster @@ -143,39 +145,39 @@ public class BufferedImage extends Image { SampleModel sm = null; ColorModel cm = null; - boolean premultiplied = (type == BufferedImage.TYPE_INT_ARGB_PRE || - type == BufferedImage.TYPE_4BYTE_ABGR_PRE); + boolean premultiplied = (type == BufferedImage.TYPE_INT_ARGB_PRE + || type == BufferedImage.TYPE_4BYTE_ABGR_PRE); switch( type ) { case BufferedImage.TYPE_INT_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x00FF0000, - 0x0000FF00, - 0x000000FF } ) ; - cm = new DirectColorModel( 24, 0xff0000, 0xff00, 0xff ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF } ) ; + cm = new DirectColorModel( 24, 0xff0000, 0xff00, 0xff ); + break; case BufferedImage.TYPE_3BYTE_BGR: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, - width, height, - 3, width * 3, - new int[]{ 2, 1, 0 } ); - cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), - false, false, - BufferedImage.OPAQUE, - DataBuffer.TYPE_BYTE); + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 3, width * 3, + new int[]{ 2, 1, 0 } ); + cm = new ComponentColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), + false, false, + BufferedImage.OPAQUE, + DataBuffer.TYPE_BYTE); break; case BufferedImage.TYPE_INT_ARGB: case BufferedImage.TYPE_INT_ARGB_PRE: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x00FF0000, - 0x0000FF00, - 0x000000FF, - 0xFF000000 } ); + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x00FF0000, + 0x0000FF00, + 0x000000FF, + 0xFF000000 } ); if (premultiplied) cm = new DirectColorModel( ColorSpace.getInstance(ColorSpace.CS_sRGB), 32, 0xff0000, 0xff00, 0xff, 0xff000000, @@ -183,7 +185,8 @@ public class BufferedImage extends Image Buffers.smallestAppropriateTransferType(32)); else cm = new DirectColorModel( 32, 0xff0000, 0xff00, 0xff, 0xff000000 ); - break; + + break; case BufferedImage.TYPE_4BYTE_ABGR: case BufferedImage.TYPE_4BYTE_ABGR_PRE: @@ -195,57 +198,58 @@ public class BufferedImage extends Image true, premultiplied, BufferedImage.TRANSLUCENT, DataBuffer.TYPE_BYTE); - break; + break; case BufferedImage.TYPE_INT_BGR: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, - width, height, - new int[]{ 0x000000FF, - 0x0000FF00, - 0x00FF0000 } ) ; - cm = new DirectColorModel( 24, 0xff, 0xff00, 0xff0000 ); + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_INT, + width, height, + new int[]{ 0x000000FF, + 0x0000FF00, + 0x00FF0000 } ) ; + cm = new DirectColorModel( 24, 0xff, 0xff00, 0xff0000 ); break; case BufferedImage.TYPE_USHORT_565_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - new int[]{ 0xF800, - 0x7E0, - 0x1F } ) ; - cm = new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0xF800, + 0x7E0, + 0x1F } ) ; + cm = new DirectColorModel( 16, 0xF800, 0x7E0, 0x1F ); + break; + case BufferedImage.TYPE_USHORT_555_RGB: - sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - new int[]{ 0x7C00, - 0x3E0, - 0x1F } ) ; - cm = new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ); - break; + sm = new SinglePixelPackedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + new int[]{ 0x7C00, + 0x3E0, + 0x1F } ) ; + cm = new DirectColorModel( 15, 0x7C00, 0x3E0, 0x1F ); + break; case BufferedImage.TYPE_BYTE_INDEXED: - cm = createDefaultIndexedColorModel( false ); + cm = createDefaultIndexedColorModel( false ); case BufferedImage.TYPE_BYTE_GRAY: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, - width, height, - 1, width, new int[]{ 0 } ); - break; + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_BYTE, + width, height, + 1, width, new int[]{ 0 } ); + break; case BufferedImage.TYPE_USHORT_GRAY: - sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, - width, height, - 1, width, new int[]{ 0 } ); - break; + sm = new PixelInterleavedSampleModel( DataBuffer.TYPE_USHORT, + width, height, + 1, width, new int[]{ 0 } ); + break; case BufferedImage.TYPE_BYTE_BINARY: - cm = createDefaultIndexedColorModel( true ); - sm = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, - width, height, 1); - break; + cm = createDefaultIndexedColorModel( true ); + sm = new MultiPixelPackedSampleModel(DataBuffer.TYPE_BYTE, + width, height, 1); + break; default: - sm = null; + sm = null; } if( sm == null ) @@ -253,33 +257,41 @@ public class BufferedImage extends Image if( cm == null ) // only for the grayscale types { - int buftype; - int[] bits = new int[1]; - if( type == BufferedImage.TYPE_BYTE_GRAY ) - { - buftype = DataBuffer.TYPE_BYTE; - bits[0] = 8; - } - else - { - buftype = DataBuffer.TYPE_USHORT; - bits[0] = 16; - } - ColorSpace graySpace = ColorSpace.getInstance( ColorSpace.CS_GRAY ); - - cm = new ComponentColorModel( graySpace, bits, false, false, - Transparency.OPAQUE, buftype ); + int buftype; + int[] bits = new int[1]; + if( type == BufferedImage.TYPE_BYTE_GRAY ) + { + buftype = DataBuffer.TYPE_BYTE; + bits[0] = 8; + } + else + { + buftype = DataBuffer.TYPE_USHORT; + bits[0] = 16; + } + ColorSpace graySpace = ColorSpace.getInstance( ColorSpace.CS_GRAY ); + + cm = new ComponentColorModel( graySpace, bits, false, false, + Transparency.OPAQUE, buftype ); } - init( cm, - Raster.createWritableRaster(sm, new Point( 0, 0 ) ), - premultiplied, - null, // no properties - type ); + WritableRaster rst = null; + + // Attempt to create an accelerated backend for this image + GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); + if (env instanceof ClasspathGraphicsEnvironment) + rst = ((ClasspathGraphicsEnvironment)env).createRaster(cm, sm); + + // Default to a standard Java raster & databuffer if needed + if (rst == null) + rst = Raster.createWritableRaster(sm, new Point( 0, 0 ) ); + + init(cm, rst, premultiplied, + null, // no properties + type ); } - public BufferedImage(int w, int h, int type, - IndexColorModel indexcolormodel) + public BufferedImage(int w, int h, int type, IndexColorModel indexcolormodel) { if ((type != TYPE_BYTE_BINARY) && (type != TYPE_BYTE_INDEXED)) throw new IllegalArgumentException("Type must be TYPE_BYTE_BINARY or TYPE_BYTE_INDEXED"); @@ -289,27 +301,21 @@ public class BufferedImage extends Image throw new IllegalArgumentException("Byte type cannot have a larger than 256-color palette."); init( indexcolormodel, - indexcolormodel.createCompatibleWritableRaster(w, h), - indexcolormodel.isAlphaPremultiplied(), - null, // no properties - type ); + indexcolormodel.createCompatibleWritableRaster(w, h), + indexcolormodel.isAlphaPremultiplied(), + null, // no properties + type ); } - public BufferedImage(ColorModel colormodel, - WritableRaster writableraster, - boolean premultiplied, - Hashtable properties) + public BufferedImage(ColorModel colormodel, WritableRaster writableraster, + boolean premultiplied, Hashtable properties) { - init(colormodel, writableraster, premultiplied, properties, - TYPE_CUSTOM); + init(colormodel, writableraster, premultiplied, properties, TYPE_CUSTOM); } - private void init(ColorModel cm, - WritableRaster writableraster, - boolean premultiplied, - Hashtable properties, - int type) + private void init(ColorModel cm, WritableRaster writableraster, + boolean premultiplied, Hashtable properties, int type) { raster = writableraster; colorModel = cm; @@ -329,29 +335,32 @@ public class BufferedImage extends Image { if( binary ) { - byte[] t = new byte[]{ 0, (byte)255 }; - return new IndexColorModel( 1, 2, t, t, t ); + byte[] t = new byte[]{ 0, (byte)255 }; + return new IndexColorModel( 1, 2, t, t, t ); } byte[] r = new byte[256]; byte[] g = new byte[256]; byte[] b = new byte[256]; + int index = 0; for( int i = 0; i < 6; i++ ) for( int j = 0; j < 6; j++ ) - for( int k = 0; k < 6; k++ ) - { - r[ index ] = (byte)(i * 51); - g[ index ] = (byte)(j * 51); - b[ index ] = (byte)(k * 51); - index++; - } + for( int k = 0; k < 6; k++ ) + { + r[ index ] = (byte)(i * 51); + g[ index ] = (byte)(j * 51); + b[ index ] = (byte)(k * 51); + index++; + } + while( index < 256 ) { - r[ index ] = g[ index ] = b[ index ] = - (byte)(18 + (index - 216) * 6); - index++; + r[ index ] = g[ index ] = b[ index ] = + (byte)(18 + (index - 216) * 6); + index++; } + return new IndexColorModel( 8, 256, r, g, b ); } @@ -375,12 +384,13 @@ public class BufferedImage extends Image // create a src child that has the right bounds... WritableRaster src = raster.createWritableChild(x, y, w, h, x, y, - null // same bands - ); + null); // same bands + if (src.getSampleModel () instanceof ComponentSampleModel && dest.getSampleModel () instanceof ComponentSampleModel) // Refer to ComponentDataBlitOp for optimized data blitting: ComponentDataBlitOp.INSTANCE.filter(src, dest); + else { // slower path @@ -397,7 +407,8 @@ public class BufferedImage extends Image return env.createGraphics (this); } - public void flush() { + public void flush() + { } public WritableRaster getAlphaRaster() @@ -512,26 +523,24 @@ public class BufferedImage extends Image public int getRGB(int x, int y) { - Object rgbElem = raster.getDataElements(x, y, - null // create as needed - ); + Object rgbElem = raster.getDataElements(x, y, null); return colorModel.getRGB(rgbElem); } - public int[] getRGB(int startX, int startY, int w, int h, - int[] rgbArray, - int offset, int scanlineStride) + public int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, + int offset, int scanlineStride) { if (rgbArray == null) - { - /* - 000000000000000000 - 00000[#######----- [ = start - -----########----- ] = end - -----#######]00000 - 000000000000000000 */ - int size = (h-1)*scanlineStride + w; - rgbArray = new int[size]; + { + /* + 000000000000000000 + 00000[#######----- [ = start + -----########----- ] = end + -----#######]00000 + 000000000000000000 + */ + int size = (h-1)*scanlineStride + w; + rgbArray = new int[size]; } int endX = startX + w; @@ -547,15 +556,15 @@ public class BufferedImage extends Image Object rgbElem = null; for (int y=startY; y consumers = new Vector(); public void addConsumer(ImageConsumer ic) { - if(!consumers.contains(ic)) - consumers.add(ic); + if(!consumers.contains(ic)) + consumers.add(ic); } public boolean isConsumer(ImageConsumer ic) @@ -589,7 +598,7 @@ public class BufferedImage extends Image public void removeConsumer(ImageConsumer ic) { - consumers.remove(ic); + consumers.remove(ic); } public void startProduction(ImageConsumer ic) @@ -610,9 +619,9 @@ public class BufferedImage extends Image consumers.add(ic); - for(int i=0;i(); tileObservers.add (to); } diff --git a/libjava/classpath/java/awt/image/ComponentSampleModel.java b/libjava/classpath/java/awt/image/ComponentSampleModel.java index bccabbbcadb..73e7fb4d3d0 100644 --- a/libjava/classpath/java/awt/image/ComponentSampleModel.java +++ b/libjava/classpath/java/awt/image/ComponentSampleModel.java @@ -36,12 +36,8 @@ exception statement from your version. */ package java.awt.image; -import gnu.java.awt.Buffers; - import java.util.Arrays; -/* FIXME: This class does not yet support data type TYPE_SHORT */ - /** * ComponentSampleModel supports a flexible organization of pixel samples in * memory, permitting pixel samples to be interleaved by band, by scanline, @@ -88,9 +84,7 @@ public class ComponentSampleModel extends SampleModel * corresponding sample for the next pixel in the same row. */ protected int pixelStride; - - private boolean tightPixelPacking = false; - + /** * Creates a new sample model that assumes that all bands are stored in a * single bank of the {@link DataBuffer}. @@ -203,22 +197,6 @@ public class ComponentSampleModel extends SampleModel this.scanlineStride = scanlineStride; this.pixelStride = pixelStride; - // See if we can use some speedups - - /* FIXME: May these checks should be reserved for the - PixelInterleavedSampleModel? */ - - if (pixelStride == numBands) - { - tightPixelPacking = true; - for (int b = 0; b < numBands; b++) { - if ((bandOffsets[b] != b) || (bankIndices[b] != 0)) - { - tightPixelPacking = false; - break; - } - } - } } /** @@ -275,8 +253,30 @@ public class ComponentSampleModel extends SampleModel highestOffset = Math.max(highestOffset, bandOffsets[b]); int size = pixelStride * (width - 1) + scanlineStride * (height - 1) + highestOffset + 1; - - return Buffers.createBuffer(getDataType(), size, numBanks); + + DataBuffer buffer = null; + switch (getTransferType()) + { + case DataBuffer.TYPE_BYTE: + buffer = new DataBufferByte(size, numBanks); + break; + case DataBuffer.TYPE_SHORT: + buffer = new DataBufferShort(size, numBanks); + break; + case DataBuffer.TYPE_USHORT: + buffer = new DataBufferUShort(size, numBanks); + break; + case DataBuffer.TYPE_INT: + buffer = new DataBufferInt(size, numBanks); + break; + case DataBuffer.TYPE_FLOAT: + buffer = new DataBufferFloat(size, numBanks); + break; + case DataBuffer.TYPE_DOUBLE: + buffer = new DataBufferDouble(size, numBanks); + break; + } + return buffer; } /** @@ -424,239 +424,80 @@ public class ComponentSampleModel extends SampleModel */ public Object getDataElements(int x, int y, Object obj, DataBuffer data) { - int xyOffset = pixelStride * x + scanlineStride * y; - - int[] totalBandDataOffsets = new int[numBands]; - - /* Notice that band and bank offsets are different. Band offsets - are managed by the sample model, and bank offsets are managed - by the data buffer. Both must be accounted for. */ - - /* FIXME: For single pixels, it is probably easier to simple - call getElem instead of calculating the bank offset ourself. - - On the other hand, then we need to push the value through - the int type returned by the getElem method. */ - - int[] bankOffsets = data.getOffsets(); - - for (int b = 0; b < numBands; b++) + int type = getTransferType(); + int numDataEls = getNumDataElements(); + int offset = y * scanlineStride + x * pixelStride; + switch (type) { - totalBandDataOffsets[b] = bandOffsets[b] + bankOffsets[bankIndices[b]] - + xyOffset; - } - - try - { - switch (getTransferType()) + case DataBuffer.TYPE_BYTE: + byte[] bData; + if (obj == null) + bData = new byte[numDataEls]; + else + bData = (byte[]) obj; + for (int i = 0; i < numDataEls; i++) { - case DataBuffer.TYPE_BYTE: - DataBufferByte inByte = (DataBufferByte) data; - byte[] outByte = (byte[]) obj; - if (outByte == null) - outByte = new byte[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outByte[b] = inByte.getData(bankIndices[b])[dOffset]; - } - return outByte; - - case DataBuffer.TYPE_USHORT: - DataBufferUShort inUShort = (DataBufferUShort) data; - short[] outUShort = (short[]) obj; - if (outUShort == null) - outUShort = new short[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outUShort[b] = inUShort.getData(bankIndices[b])[dOffset]; - } - return outUShort; - - case DataBuffer.TYPE_SHORT: - DataBufferShort inShort = (DataBufferShort) data; - short[] outShort = (short[]) obj; - if (outShort == null) - outShort = new short[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outShort[b] = inShort.getData(bankIndices[b])[dOffset]; - } - return outShort; - - case DataBuffer.TYPE_INT: - DataBufferInt inInt = (DataBufferInt) data; - int[] outInt = (int[]) obj; - if (outInt == null) - outInt = new int[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outInt[b] = inInt.getData(bankIndices[b])[dOffset]; - } - return outInt; - - case DataBuffer.TYPE_FLOAT: - DataBufferFloat inFloat = (DataBufferFloat) data; - float[] outFloat = (float[]) obj; - if (outFloat == null) - outFloat = new float[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outFloat[b] = inFloat.getData(bankIndices[b])[dOffset]; - } - return outFloat; - - case DataBuffer.TYPE_DOUBLE: - DataBufferDouble inDouble = (DataBufferDouble) data; - double[] outDouble = (double[]) obj; - if (outDouble == null) - outDouble = new double[numBands]; - - for (int b = 0; b < numBands; b++) - { - int dOffset = totalBandDataOffsets[b]; - outDouble[b] = inDouble.getData(bankIndices[b])[dOffset]; - } - return outDouble; - - default: - throw new IllegalStateException("unknown transfer type " - + getTransferType()); + bData[i] = (byte) data.getElem(bankIndices[i], + offset + bandOffsets[i]); } - } - catch (ArrayIndexOutOfBoundsException aioobe) - { - String msg = "While reading data elements, " + - "x=" + x + ", y=" + y +", " + ", xyOffset=" + xyOffset + - ", data.getSize()=" + data.getSize() + ": " + aioobe; - throw new ArrayIndexOutOfBoundsException(msg); - } - } - - /** - * Returns the samples for the pixels in the region defined by - * (x, y, w, h) in a primitive array (the array type is - * determined by the data type for this model). The obj - * argument provides an option to supply an existing array to hold the - * result, if this is null a new array will be allocated. - * - * @param x the x-coordinate. - * @param y the y-coordinate. - * @param w the width. - * @param h the height. - * @param obj a primitive array that, if not null, will be - * used to store and return the sample values. - * @param data the data buffer (null not permitted). - * - * @return An array of sample values for the specified pixels. - * - * @see #setDataElements(int, int, int, int, Object, DataBuffer) - */ - public Object getDataElements(int x, int y, int w, int h, Object obj, - DataBuffer data) - { - if (!tightPixelPacking) - { - return super.getDataElements(x, y, w, h, obj, data); - } - - // using get speedup - - // We can copy whole rows - int rowSize = w * numBands; - int dataSize = rowSize * h; - - DataBuffer transferBuffer = Buffers.createBuffer(getTransferType(), obj, - dataSize); - obj = Buffers.getData(transferBuffer); - - int inOffset = pixelStride * x + scanlineStride * y + data.getOffset(); - // Assumes only one band is used - - /* We don't add band offsets since we assume that bands have - offsets 0, 1, 2, ... */ - - // See if we can copy everything in one go - if (scanlineStride == rowSize) - { - // Collapse scan lines: - rowSize *= h; - // We ignore scanlineStride since it won't be of any use - h = 1; - } - - int outOffset = 0; - Object inArray = Buffers.getData(data); - for (int yd = 0; yd < h; yd++) - { - System.arraycopy(inArray, inOffset, obj, outOffset, rowSize); - inOffset += scanlineStride; - outOffset += rowSize; + obj = bData; + break; + case DataBuffer.TYPE_SHORT: + case DataBuffer.TYPE_USHORT: + short[] sData; + if (obj == null) + sData = new short[numDataEls]; + else + sData = (short[]) obj; + for (int i = 0; i < numDataEls; i++) + { + sData[i] = (short) data.getElem(bankIndices[i], + offset + bandOffsets[i]); + } + obj = sData; + break; + case DataBuffer.TYPE_INT: + int[] iData; + if (obj == null) + iData = new int[numDataEls]; + else + iData = (int[]) obj; + for (int i = 0; i < numDataEls; i++) + { + iData[i] = data.getElem(bankIndices[i], offset + bandOffsets[i]); + } + obj = iData; + break; + case DataBuffer.TYPE_FLOAT: + float[] fData; + if (obj == null) + fData = new float[numDataEls]; + else + fData = (float[]) obj; + for (int i = 0; i < numDataEls; i++) + { + fData[i] = data.getElemFloat(bankIndices[i], + offset + bandOffsets[i]); + } + obj = fData; + break; + case DataBuffer.TYPE_DOUBLE: + double[] dData; + if (obj == null) + dData = new double[numDataEls]; + else + dData = (double[]) obj; + for (int i = 0; i < numDataEls; i++) + { + dData[i] = data.getElemDouble(bankIndices[i], + offset + bandOffsets[i]); + } + obj = dData; + break; } return obj; } - /** - * Sets the samples for the pixels in the region defined by - * (x, y, w, h) from a supplied primitive array (the array type - * must be consistent with the data type for this model). - * - * @param x the x-coordinate. - * @param y the y-coordinate. - * @param w the width. - * @param h the height. - * @param obj a primitive array containing the sample values. - * @param data the data buffer (null not permitted). - * - * @see #getDataElements(int, int, int, int, Object, DataBuffer) - */ - public void setDataElements(int x, int y, int w, int h, - Object obj, DataBuffer data) - { - if (!tightPixelPacking) - { - super.setDataElements(x, y, w, h, obj, data); - return; - } - - // using set speedup, we can copy whole rows - int rowSize = w * numBands; - int dataSize = rowSize * h; - - DataBuffer transferBuffer - = Buffers.createBufferFromData(getTransferType(), obj, dataSize); - - int[] bankOffsets = data.getOffsets(); - - int outOffset = pixelStride * x + scanlineStride * y + bankOffsets[0]; - // same assumptions as in get... - - // See if we can copy everything in one go - if (scanlineStride == rowSize) - { - // Collapse scan lines: - rowSize *= h; - h = 1; - } - - int inOffset = 0; - Object outArray = Buffers.getData(data); - for (int yd = 0; yd < h; yd++) - { - System.arraycopy(obj, inOffset, outArray, outOffset, rowSize); - outOffset += scanlineStride; - inOffset += rowSize; - } - } /** * Returns all the samples for the pixel at location (x, y) @@ -764,78 +605,51 @@ public class ComponentSampleModel extends SampleModel */ public void setDataElements(int x, int y, Object obj, DataBuffer data) { - int offset = pixelStride * x + scanlineStride * y; - int[] totalBandDataOffsets = new int[numBands]; - int[] bankOffsets = data.getOffsets(); - for (int b = 0; b < numBands; b++) - totalBandDataOffsets[b] = bandOffsets[b] + bankOffsets[bankIndices[b]] - + offset; - - switch (getTransferType()) + int type = getTransferType(); + int numDataEls = getNumDataElements(); + int offset = y * scanlineStride + x * pixelStride; + switch (type) { case DataBuffer.TYPE_BYTE: - { - DataBufferByte out = (DataBufferByte) data; - byte[] in = (byte[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } - case DataBuffer.TYPE_USHORT: - { - DataBufferUShort out = (DataBufferUShort) data; - short[] in = (short[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + byte[] bData = (byte[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], + ((int) bData[i]) & 0xFF); + } + break; case DataBuffer.TYPE_SHORT: - { - DataBufferShort out = (DataBufferShort) data; - short[] in = (short[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + case DataBuffer.TYPE_USHORT: + short[] sData = (short[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], + ((int) sData[i]) & 0xFFFF); + } + break; case DataBuffer.TYPE_INT: - { - DataBufferInt out = (DataBufferInt) data; - int[] in = (int[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + int[] iData = (int[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElem(bankIndices[i], offset + bandOffsets[i], iData[i]); + } + break; case DataBuffer.TYPE_FLOAT: - { - DataBufferFloat out = (DataBufferFloat) data; - float[] in = (float[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } + float[] fData = (float[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElemFloat(bankIndices[i], offset + bandOffsets[i], + fData[i]); + } + break; case DataBuffer.TYPE_DOUBLE: - { - DataBufferDouble out = (DataBufferDouble) data; - double[] in = (double[]) obj; - - for (int b = 0; b < numBands; b++) - out.getData(bankIndices[b])[totalBandDataOffsets[b]] = in[b]; - - return; - } - default: - throw new UnsupportedOperationException("transfer type not " + - "implemented"); + double[] dData = (double[]) obj; + for (int i = 0; i < numDataEls; i++) + { + data.setElemDouble(bankIndices[i], offset + bandOffsets[i], + dData[i]); + } + break; } } diff --git a/libjava/classpath/java/awt/image/IndexColorModel.java b/libjava/classpath/java/awt/image/IndexColorModel.java index 46879cc98c9..d8a27d51ff1 100644 --- a/libjava/classpath/java/awt/image/IndexColorModel.java +++ b/libjava/classpath/java/awt/image/IndexColorModel.java @@ -134,7 +134,7 @@ public class IndexColorModel extends ColorModel if (size < 1) throw new IllegalArgumentException("size < 1"); map_size = size; - rgb = new int[size]; + rgb = createColorMap(bits, size); for (int i = 0; i < size; i++) { rgb[i] = (0xff000000 @@ -187,7 +187,7 @@ public class IndexColorModel extends ColorModel map_size = size; opaque = (alphas == null); - rgb = new int[size]; + rgb = createColorMap(bits, size); if (alphas == null) { for (int i = 0; i < size; i++) @@ -275,7 +275,7 @@ public class IndexColorModel extends ColorModel map_size = size; opaque = !hasAlpha; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (hasAlpha) { int alpha; @@ -360,7 +360,7 @@ public class IndexColorModel extends ColorModel throw new IllegalArgumentException("size < 1"); map_size = size; opaque = !hasAlpha; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (!hasAlpha) for (int i = 0; i < size; i++) rgb[i] = cmap[i + start] | 0xff000000; @@ -419,7 +419,7 @@ public class IndexColorModel extends ColorModel this.trans = -1; this.validBits = validBits; - rgb = new int[size]; + rgb = createColorMap(bits, size); if (!hasAlpha) for (int i = 0; i < size; i++) rgb[i] = cmap[i + start] | 0xff000000; @@ -726,4 +726,11 @@ public class IndexColorModel extends ColorModel } } } + + private int[] createColorMap(int bits, int size) + { + // According to a Mauve test, the RI allocates at least 256 entries here. + int realSize = Math.max(256, Math.max(1 << bits, size)); + return new int[realSize]; + } } diff --git a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java index 9ed948c54f3..1b0ac3f7904 100644 --- a/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java +++ b/libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java @@ -39,7 +39,6 @@ package java.awt.image; import java.util.Arrays; import gnu.java.awt.BitMaskExtent; -import gnu.java.awt.Buffers; /** * A SampleModel used when all samples are stored in a single @@ -151,14 +150,25 @@ public class SinglePixelPackedSampleModel extends SampleModel */ public DataBuffer createDataBuffer() { - int size; - // We can save (scanlineStride - width) pixels at the very end of // the buffer. The Sun reference implementation (J2SE 1.3.1 and // 1.4.1_01) seems to do this; tested with Mauve test code. - size = scanlineStride * (height - 1) + width; + int size = scanlineStride * (height - 1) + width; - return Buffers.createBuffer(getDataType(), size); + DataBuffer buffer = null; + switch (getTransferType()) + { + case DataBuffer.TYPE_BYTE: + buffer = new DataBufferByte(size); + break; + case DataBuffer.TYPE_USHORT: + buffer = new DataBufferUShort(size); + break; + case DataBuffer.TYPE_INT: + buffer = new DataBufferInt(size); + break; + } + return buffer; } /** @@ -253,73 +263,39 @@ public class SinglePixelPackedSampleModel extends SampleModel public Object getDataElements(int x, int y, Object obj, DataBuffer data) { - int offset = scanlineStride*y + x + data.getOffset(); - - return Buffers.getData(data, offset, obj, - 0, // destination offset, - 1 // length - ); - } - - /** - * This is a more efficient implementation of the default implementation in - * the super class. - * @param x The x-coordinate of the pixel rectangle to store in - * obj. - * @param y The y-coordinate of the pixel rectangle to store in - * obj. - * @param w The width of the pixel rectangle to store in obj. - * @param h The height of the pixel rectangle to store in obj. - * @param obj The primitive array to store the pixels into or null to force - * creation. - * @param data The DataBuffer that is the source of the pixel data. - * @return The primitive array containing the pixel data. - * @see java.awt.image.SampleModel#getDataElements(int, int, int, int, - * java.lang.Object, java.awt.image.DataBuffer) - */ - public Object getDataElements(int x, int y, int w, int h, Object obj, - DataBuffer data) - { - int size = w*h; - int dataSize = size; - Object pixelData = null; - switch (getTransferType()) - { + int type = getTransferType(); + Object ret = null; + switch (type) + { case DataBuffer.TYPE_BYTE: - pixelData = ((DataBufferByte) data).getData(); - if (obj == null) obj = new byte[dataSize]; - break; - case DataBuffer.TYPE_USHORT: - pixelData = ((DataBufferUShort) data).getData(); - if (obj == null) obj = new short[dataSize]; - break; - case DataBuffer.TYPE_INT: - pixelData = ((DataBufferInt) data).getData(); - if (obj == null) obj = new int[dataSize]; - break; - default: - // Seems like the only sensible thing to do. - throw new ClassCastException(); - } - if(x == 0 && scanlineStride == w) - { - // The full width need to be copied therefore we can copy in one shot. - System.arraycopy(pixelData, scanlineStride*y + data.getOffset(), obj, - 0, size); - } - else - { - // Since we do not need the full width we need to copy line by line. - int outOffset = 0; - int dataOffset = scanlineStride*y + x + data.getOffset(); - for (int yy = y; yy<(y+h); yy++) { - System.arraycopy(pixelData, dataOffset, obj, outOffset, w); - dataOffset += scanlineStride; - outOffset += w; + byte[] in = (byte[]) obj; + if (in == null) + in = new byte[1]; + in[0] = (byte) data.getElem(x + y * scanlineStride); + ret = in; } + break; + case DataBuffer.TYPE_USHORT: + { + short[] in = (short[]) obj; + if (in == null) + in = new short[1]; + in[0] = (short) data.getElem(x + y * scanlineStride); + ret = in; + } + break; + case DataBuffer.TYPE_INT: + { + int[] in = (int[]) obj; + if (in == null) + in = new int[1]; + in[0] = data.getElem(x + y * scanlineStride); + ret = in; + } + break; } - return obj; + return ret; } /** @@ -414,30 +390,29 @@ public class SinglePixelPackedSampleModel extends SampleModel public void setDataElements(int x, int y, Object obj, DataBuffer data) { - int transferType = getTransferType(); - switch (transferType) - { - case DataBuffer.TYPE_BYTE: - { - byte[] in = (byte[]) obj; - data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff); - break; - } - case DataBuffer.TYPE_USHORT: - { - short[] in = (short[]) obj; + switch (transferType) + { + case DataBuffer.TYPE_BYTE: + { + byte[] in = (byte[]) obj; + data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff); + } + break; + case DataBuffer.TYPE_USHORT: + { + short[] in = (short[]) obj; data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xffff); - break; - } - case DataBuffer.TYPE_INT: - { - int[] in = (int[]) obj; + } + break; + case DataBuffer.TYPE_INT: + { + int[] in = (int[]) obj; data.setElem(y * scanlineStride + x, in[0]); break; - } - } - } + } + } + } /** * Sets the samples for the pixel at (x, y) in the specified data buffer to @@ -479,7 +454,6 @@ public class SinglePixelPackedSampleModel extends SampleModel DataBuffer data) { int inOffset = 0; - int[] pixel = new int[numBands]; for (int yy=y; yy<(y+h); yy++) { int offset = scanlineStride*yy + x; diff --git a/libjava/classpath/java/awt/peer/DesktopPeer.java b/libjava/classpath/java/awt/peer/DesktopPeer.java new file mode 100644 index 00000000000..355d293b311 --- /dev/null +++ b/libjava/classpath/java/awt/peer/DesktopPeer.java @@ -0,0 +1,64 @@ +/* DesktopPeer.java -- Interface to enable access to common applications + Copyright (C) 2006, 2007 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +package java.awt.peer; + +import java.awt.Desktop.Action; +import java.io.File; +import java.io.IOException; +import java.net.URI; + +/** + * @author Mario Torre + * + */ +public interface DesktopPeer +{ + public void browse(URI url) throws IOException; + + public void edit(File file) throws IOException; + + public boolean isSupported(Action action); + + public void mail(URI mailtoURL) throws IOException; + + public void mail() throws IOException; + + public void open(File file) throws IOException; + + public void print(File file) throws IOException; +} diff --git a/libjava/classpath/java/awt/print/PrinterJob.java b/libjava/classpath/java/awt/print/PrinterJob.java index 8afada1675e..3715dd235ec 100644 --- a/libjava/classpath/java/awt/print/PrinterJob.java +++ b/libjava/classpath/java/awt/print/PrinterJob.java @@ -264,15 +264,12 @@ public abstract class PrinterJob * @return Array of stream print services, could be empty. * @since 1.4 */ - // FIXME: - // Enable when StreamPrintServiceFactory has lookupStreamServiceFactories -// public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType) -// { -// return StreamPrintServiceFactory.lookupStreamServiceFactories( -// new DocFlavor("application/x-java-jvm-local-objectref", -// "java.awt.print.Pageable"), -// mimeType); -// } + public static StreamPrintServiceFactory[] + lookupStreamPrintServices(String mimeType) + { + return StreamPrintServiceFactory.lookupStreamPrintServiceFactories( + DocFlavor.SERVICE_FORMATTED.PAGEABLE, mimeType); + } /** * Return the printer for this job. If print services aren't supported by diff --git a/libjava/classpath/java/beans/ConstructorProperties.java b/libjava/classpath/java/beans/ConstructorProperties.java new file mode 100644 index 00000000000..4c82c00337f --- /dev/null +++ b/libjava/classpath/java/beans/ConstructorProperties.java @@ -0,0 +1,72 @@ +/* ConstructorProperties.java - Associate constructor params with props + Copyright (C) 2006 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package java.beans; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.CONSTRUCTOR; + +/** + * An annotation used to associate the parameters of a + * constructor with the accessor methods that later provide + * access to these values. For example, the parameters of + * the constructor Person(String name, int age) + * may be linked to the bean's two accessors, getName() + * and getAge() using + * @ConstructorProperties({"name","age"}). + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +@Documented @Retention(RUNTIME) @Target(CONSTRUCTOR) +public @interface ConstructorProperties +{ + + /** + * Contains the name of the accessor methods associated + * with each constructor parameter. + * + * @return the accessor method names corresponding to the + * constructor parameters. + */ + String[] value(); + +} diff --git a/libjava/classpath/java/beans/XMLEncoder.java b/libjava/classpath/java/beans/XMLEncoder.java index feff68bd360..7242d0c699e 100644 --- a/libjava/classpath/java/beans/XMLEncoder.java +++ b/libjava/classpath/java/beans/XMLEncoder.java @@ -248,7 +248,7 @@ public class XMLEncoder extends Encoder scanEngine.writeObject(o); - if (get(o) == null); + if (get(o) == null) super.writeObject(o); accessCounter--; diff --git a/libjava/classpath/java/io/File.java b/libjava/classpath/java/io/File.java index 5d1b3ec8516..f34b4dd2b5c 100644 --- a/libjava/classpath/java/io/File.java +++ b/libjava/classpath/java/io/File.java @@ -163,6 +163,29 @@ public class File implements Serializable, Comparable return VMFile.canWrite(path); } + /** + * This method tests whether or not the current thread is allowed to + * to execute the file pointed to by this object. This will be true if and + * and only if 1) the file exists and 2) the SecurityManager + * (if any) allows access to the file via it's checkExec + * method 3) the file is executable. + * + * @return true if execution is allowed, + * false otherwise + * + * @exception SecurityException If the SecurityManager + * does not allow access to the file + */ + public boolean canExecute() + { + if (!VMFile.exists(path)) + return false; + + checkExec(); + + return VMFile.canExecute(path); + } + /** * This method creates a new file of zero length with the same name as * the path of this File object if an only if that file @@ -1122,6 +1145,153 @@ public class File implements Serializable, Comparable return file; } + /** + * This method sets the owner's read permission for the File represented by + * this object. + * + * It is the same as calling setReadable(readable, true). + * + * @param readable true to set read permission, + * false to unset the read permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean, boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable) + { + return setReadable(readable, true); + } + + /** + * This method sets the read permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * read permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be read by everyone. + * + * On unix like systems this sets the user, group + * and other read bits and is equal to call + * chmod a+r on the file. + * + * @param readable true to set read permission, + * false to unset the read permission. + * @param ownerOnly true to set read permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setReadable(boolean) + * @since 1.6 + */ + public boolean setReadable(boolean readable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setReadable(path, readable, ownerOnly); + } + + /** + * This method sets the owner's write permission for the File represented by + * this object. + * + * It is the same as calling setWritable(readable, true). + * + * @param writable true to set write permission, + * false to unset write permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean, boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable) + { + return setWritable(writable, true); + } + + /** + * This method sets the write permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * write permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be written by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+w on the file. + * + * @param writable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setWritable(boolean) + * @since 1.6 + */ + public boolean setWritable(boolean writable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setWritable(path, writable, ownerOnly); + } + + /** + * This method sets the owner's execute permission for the File represented + * by this object. + * + * It is the same as calling setExecutable(readable, true). + * + * @param executable true to set execute permission, + * false to unset execute permission. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean, boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable) + { + return setExecutable(executable, true); + } + + /** + * This method sets the execute permissions for the File represented by + * this object. + * + * If ownerOnly is set to true then only the + * execute permission bit for the owner of the file is changed. + * + * If ownerOnly is set to false, the file + * permissions are changed so that the file can be executed by everyone. + * + * On unix like systems this set the user, group + * and other write bits and is equal to call + * chmod a+x on the file. + * + * @param executable true to set write permission, + * false to unset write permission. + * @param ownerOnly true to set write permission + * for owner only, false for all. + * @return true if the file permissions are changed, + * false otherwise. + * @exception SecurityException If write access of the file is not permitted. + * @see #setExecutable(boolean) + * @since 1.6 + */ + public boolean setExecutable(boolean executable, boolean ownerOnly) + { + checkWrite(); + return VMFile.setExecutable(path, executable, ownerOnly); + } + /** * This method sets the file represented by this object to be read only. * A read only file or directory cannot be modified. Please note that @@ -1315,6 +1485,15 @@ public class File implements Serializable, Comparable s.checkRead(path); } + private void checkExec() + { + // Check the SecurityManager + SecurityManager s = System.getSecurityManager(); + + if (s != null) + s.checkExec(path); + } + /** * Calling this method requests that the file represented by this object * be deleted when the virtual machine exits. Note that this request cannot diff --git a/libjava/classpath/java/io/ObjectInputStream.java b/libjava/classpath/java/io/ObjectInputStream.java index 735d46cd920..37b2b64489c 100644 --- a/libjava/classpath/java/io/ObjectInputStream.java +++ b/libjava/classpath/java/io/ObjectInputStream.java @@ -39,6 +39,7 @@ exception statement from your version. */ package java.io; +import gnu.classpath.Pair; import gnu.classpath.VMStackWalker; import java.lang.reflect.Array; @@ -50,10 +51,11 @@ import java.lang.reflect.Modifier; import java.lang.reflect.Proxy; import java.security.AccessController; import java.security.PrivilegedAction; +import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; +import java.util.Map; import java.util.TreeSet; -import java.util.Vector; /** * @author Tom Tromey (tromey@redhat.com) @@ -104,7 +106,7 @@ public class ObjectInputStream extends InputStream this.blockDataInput = new DataInputStream(this); this.realInputStream = new DataInputStream(in); this.nextOID = baseWireHandle; - this.objectLookupTable = new Vector(); + handles = new HashMap>(); this.classLookupTable = new Hashtable(); setBlockDataMode(true); readStreamHeader(); @@ -131,6 +133,70 @@ public class ObjectInputStream extends InputStream */ public final Object readObject() throws ClassNotFoundException, IOException + { + return readObject(true); + } + + /** + *

    + * Returns the next deserialized object read from the + * underlying stream in an unshared manner. Any object + * returned by this method will not be returned by + * subsequent calls to either this method or {@link #readObject()}. + *

    + *

    + * This behaviour is achieved by: + *

    + *
      + *
    • Marking the handles created by successful calls to this + * method, so that future calls to {@link #readObject()} or + * {@link #readUnshared()} will throw an {@link ObjectStreamException} + * rather than returning the same object reference.
    • + *
    • Throwing an {@link ObjectStreamException} if the next + * element in the stream is a reference to an earlier object.
    • + *
    + * + * @return a reference to the deserialized object. + * @throws ClassNotFoundException if the class of the object being + * deserialized can not be found. + * @throws StreamCorruptedException if information in the stream + * is inconsistent. + * @throws ObjectStreamException if the next object has already been + * returned by an earlier call to this + * method or {@link #readObject()}. + * @throws OptionalDataException if primitive data occurs next in the stream. + * @throws IOException if an I/O error occurs from the stream. + * @since 1.4 + * @see #readObject() + */ + public Object readUnshared() + throws IOException, ClassNotFoundException + { + return readObject(false); + } + + /** + * Returns the next deserialized object read from the underlying stream. + * + * This method can be overriden by a class by implementing + * private void readObject (ObjectInputStream). + * + * If an exception is thrown from this method, the stream is left in + * an undefined state. This method can also throw Errors and + * RuntimeExceptions if caused by existing readResolve() user code. + * + * @param shared true if handles created by this call should be shared + * with later calls. + * @return The object read from the underlying stream. + * + * @exception ClassNotFoundException The class that an object being + * read in belongs to cannot be found. + * + * @exception IOException Exception from underlying + * InputStream. + */ + private final Object readObject(boolean shared) + throws ClassNotFoundException, IOException { if (this.useSubclassMethod) return readObjectOverride(); @@ -146,7 +212,7 @@ public class ObjectInputStream extends InputStream try { - ret_val = parseContent(marker); + ret_val = parseContent(marker, shared); } finally { @@ -163,13 +229,15 @@ public class ObjectInputStream extends InputStream * byte indicating its type. * * @param marker the byte marker. + * @param shared true if handles created by this call should be shared + * with later calls. * @return an object which represents the parsed content. * @throws ClassNotFoundException if the class of an object being * read in cannot be found. * @throws IOException if invalid data occurs or one is thrown by the * underlying InputStream. */ - private Object parseContent(byte marker) + private Object parseContent(byte marker, boolean shared) throws ClassNotFoundException, IOException { Object ret_val; @@ -207,6 +275,9 @@ public class ObjectInputStream extends InputStream int oid = realInputStream.readInt(); if(dump) dumpElementln(Integer.toHexString(oid)); ret_val = lookupHandle(oid); + if (!shared) + throw new + InvalidObjectException("References can not be read unshared."); break; } @@ -215,7 +286,7 @@ public class ObjectInputStream extends InputStream if(dump) dumpElementln("CLASS"); ObjectStreamClass osc = (ObjectStreamClass)readObject(); Class clazz = osc.forClass(); - assignNewHandle(clazz); + assignNewHandle(clazz,shared); ret_val = clazz; break; } @@ -229,7 +300,7 @@ public class ObjectInputStream extends InputStream // TC_PROXYCLASSDESC newHandle proxyClassDescInfo // i.e. we have to assign the handle immediately after // reading the marker. - int handle = assignNewHandle("Dummy proxy"); + int handle = assignNewHandle("Dummy proxy",shared); /* END GCJ LOCAL */ int n_intf = this.realInputStream.readInt(); @@ -260,7 +331,7 @@ public class ObjectInputStream extends InputStream } } /* GCJ LOCAL */ - rememberHandle(osc,handle); + rememberHandle(osc,shared,handle); /* END GCJ LOCAL */ if (!is_consumed) @@ -301,7 +372,8 @@ public class ObjectInputStream extends InputStream if(dump) dumpElement("STRING="); String s = this.realInputStream.readUTF(); if(dump) dumpElementln(s); - ret_val = processResolution(null, s, assignNewHandle(s)); + ret_val = processResolution(null, s, assignNewHandle(s,shared), + shared); break; } @@ -314,12 +386,12 @@ public class ObjectInputStream extends InputStream int length = this.realInputStream.readInt(); if(dump) dumpElementln (length + "; COMPONENT TYPE=" + componentType); Object array = Array.newInstance(componentType, length); - int handle = assignNewHandle(array); + int handle = assignNewHandle(array,shared); readArrayElements(array, componentType); if(dump) for (int i = 0, len = Array.getLength(array); i < len; i++) dumpElementln(" ELEMENT[" + i + "]=", Array.get(array, i)); - ret_val = processResolution(null, array, handle); + ret_val = processResolution(null, array, handle, shared); break; } @@ -337,7 +409,7 @@ public class ObjectInputStream extends InputStream { Externalizable obj = osc.newInstance(); - int handle = assignNewHandle(obj); + int handle = assignNewHandle(obj,shared); boolean read_from_blocks = ((osc.getFlags() & SC_BLOCK_DATA) != 0); @@ -355,14 +427,14 @@ public class ObjectInputStream extends InputStream throw new IOException("No end of block data seen for class with readExternal (ObjectInputStream) method."); } - ret_val = processResolution(osc, obj, handle); + ret_val = processResolution(osc, obj, handle,shared); break; } // end if (osc.realClassIsExternalizable) Object obj = newObject(clazz, osc.firstNonSerializableParentConstructor); - int handle = assignNewHandle(obj); + int handle = assignNewHandle(obj,shared); Object prevObject = this.currentObject; ObjectStreamClass prevObjectStreamClass = this.currentObjectStreamClass; TreeSet prevObjectValidators = @@ -404,7 +476,7 @@ public class ObjectInputStream extends InputStream byte writeMarker = this.realInputStream.readByte(); while (writeMarker != TC_ENDBLOCKDATA) { - parseContent(writeMarker); + parseContent(writeMarker, shared); writeMarker = this.realInputStream.readByte(); } if(dump) dumpElementln("yes"); @@ -419,7 +491,7 @@ public class ObjectInputStream extends InputStream this.currentObject = prevObject; this.currentObjectStreamClass = prevObjectStreamClass; - ret_val = processResolution(osc, obj, handle); + ret_val = processResolution(osc, obj, handle, shared); if (currentObjectValidators != null) invokeValidators(); this.currentObjectValidators = prevObjectValidators; @@ -453,7 +525,7 @@ public class ObjectInputStream extends InputStream dumpElementln("CONSTANT NAME = " + constantName); Class clazz = osc.forClass(); Enum instance = Enum.valueOf(clazz, constantName); - assignNewHandle(instance); + assignNewHandle(instance,shared); ret_val = instance; break; } @@ -554,7 +626,7 @@ public class ObjectInputStream extends InputStream ObjectStreamField[] fields = new ObjectStreamField[field_count]; ObjectStreamClass osc = new ObjectStreamClass(name, uid, flags, fields); - assignNewHandle(osc); + assignNewHandle(osc,true); for (int i = 0; i < field_count; i++) { @@ -1555,13 +1627,15 @@ public class ObjectInputStream extends InputStream * Assigns the next available handle to obj. * * @param obj The object for which we want a new handle. + * @param shared True if the handle should be shared + * with later calls. * @return A valid handle for the specified object. */ - private int assignNewHandle(Object obj) + private int assignNewHandle(Object obj, boolean shared) { int handle = this.nextOID; this.nextOID = handle + 1; - rememberHandle(obj,handle); + rememberHandle(obj,shared,handle); return handle; } @@ -1569,40 +1643,44 @@ public class ObjectInputStream extends InputStream * Remember the object associated with the given handle. * * @param obj an object - * + * @param shared true if the reference should be shared + * with later calls. * @param handle a handle, must be >= baseWireHandle * * @see #lookupHandle */ - private void rememberHandle(Object obj, int handle) + private void rememberHandle(Object obj, boolean shared, + int handle) { - Vector olt = this.objectLookupTable; - handle = handle - baseWireHandle; - - if (olt.size() <= handle) - olt.setSize(handle + 1); - - olt.set(handle, obj); + handles.put(handle, new Pair(shared, obj)); } /** * Look up the object associated with a given handle. * * @param handle a handle, must be >= baseWireHandle - * * @return the object remembered for handle or null if none. - * + * @throws StreamCorruptedException if the handle is invalid. + * @throws InvalidObjectException if the reference is not shared. * @see #rememberHandle */ private Object lookupHandle(int handle) + throws ObjectStreamException { - Vector olt = this.objectLookupTable; - handle = handle - baseWireHandle; - Object result = handle < olt.size() ? olt.get(handle) : null; - return result; + Pair result = handles.get(handle); + if (result == null) + throw new StreamCorruptedException("The handle, " + + Integer.toHexString(handle) + + ", is invalid."); + if (!result.getLeft()) + throw new InvalidObjectException("The handle, " + + Integer.toHexString(handle) + + ", is not shared."); + return result.getRight(); } - private Object processResolution(ObjectStreamClass osc, Object obj, int handle) + private Object processResolution(ObjectStreamClass osc, Object obj, int handle, + boolean shared) throws IOException { if (osc != null && obj instanceof Serializable) @@ -1633,13 +1711,34 @@ public class ObjectInputStream extends InputStream if (this.resolveEnabled) obj = resolveObject(obj); - rememberHandle(obj, handle); + rememberHandle(obj, shared, handle); + if (!shared) + { + if (obj instanceof byte[]) + return ((byte[]) obj).clone(); + if (obj instanceof short[]) + return ((short[]) obj).clone(); + if (obj instanceof int[]) + return ((int[]) obj).clone(); + if (obj instanceof long[]) + return ((long[]) obj).clone(); + if (obj instanceof char[]) + return ((char[]) obj).clone(); + if (obj instanceof boolean[]) + return ((boolean[]) obj).clone(); + if (obj instanceof float[]) + return ((float[]) obj).clone(); + if (obj instanceof double[]) + return ((double[]) obj).clone(); + if (obj instanceof Object[]) + return ((Object[]) obj).clone(); + } return obj; } private void clearHandles() { - this.objectLookupTable.clear(); + handles.clear(); this.nextOID = baseWireHandle; } @@ -1966,7 +2065,7 @@ public class ObjectInputStream extends InputStream private boolean useSubclassMethod; private int nextOID; private boolean resolveEnabled; - private Vector objectLookupTable; + private Map> handles; private Object currentObject; private ObjectStreamClass currentObjectStreamClass; private TreeSet currentObjectValidators; diff --git a/libjava/classpath/java/io/ObjectOutputStream.java b/libjava/classpath/java/io/ObjectOutputStream.java index 316b9070133..b1894b36882 100644 --- a/libjava/classpath/java/io/ObjectOutputStream.java +++ b/libjava/classpath/java/io/ObjectOutputStream.java @@ -170,6 +170,7 @@ public class ObjectOutputStream extends OutputStream * If an exception is thrown from this method, the stream is left in * an undefined state. * + * @param obj the object to serialize. * @exception NotSerializableException An attempt was made to * serialize an Object that is not serializable. * @@ -178,8 +179,70 @@ public class ObjectOutputStream extends OutputStream * * @exception IOException Exception from underlying * OutputStream. + * @see #writeUnshared(Object) */ public final void writeObject(Object obj) throws IOException + { + writeObject(obj, true); + } + + /** + * Writes an object to the stream in the same manner as + * {@link #writeObject(Object)}, but without the use of + * references. As a result, the object is always written + * to the stream in full. Likewise, if an object is written + * by this method and is then later written again by + * {@link #writeObject(Object)}, both calls will write out + * the object in full, as the later call to + * {@link #writeObject(Object)} will know nothing of the + * earlier use of {@link #writeUnshared(Object)}. + * + * @param obj the object to serialize. + * @throws NotSerializableException if the object being + * serialized does not implement + * {@link Serializable}. + * @throws InvalidClassException if a problem occurs with + * the class of the object being + * serialized. + * @throws IOException if an I/O error occurs on the underlying + * OutputStream. + * @since 1.4 + * @see #writeObject(Object) + */ + public void writeUnshared(Object obj) + throws IOException + { + writeObject(obj, false); + } + + /** + * Writes a representation of obj to the underlying + * output stream by writing out information about its class, then + * writing out each of the objects non-transient, non-static + * fields. If any of these fields are other objects, + * they are written out in the same manner. + * + * This method can be overriden by a class by implementing + * private void writeObject (ObjectOutputStream). + * + * If an exception is thrown from this method, the stream is left in + * an undefined state. + * + * @param obj the object to serialize. + * @param shared true if the serialized object should be + * shared with later calls. + * @exception NotSerializableException An attempt was made to + * serialize an Object that is not serializable. + * + * @exception InvalidClassException Somebody tried to serialize + * an object which is wrongly formatted. + * + * @exception IOException Exception from underlying + * OutputStream. + * @see #writeUnshared(Object) + */ + private final void writeObject(Object obj, boolean shared) + throws IOException { if (useSubclassMethod) { @@ -212,7 +275,7 @@ public class ObjectOutputStream extends OutputStream } int handle = findHandle(obj); - if (handle >= 0) + if (handle >= 0 && shared) { realOutput.writeByte(TC_REFERENCE); realOutput.writeInt(handle); @@ -243,7 +306,8 @@ public class ObjectOutputStream extends OutputStream writeObject(osc.getSuper()); } - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); break; } @@ -263,7 +327,8 @@ public class ObjectOutputStream extends OutputStream /* TC_ENUM classDesc newHandle enumConstantName */ realOutput.writeByte(TC_ENUM); writeObject(osc); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); writeObject(((Enum) obj).name()); break; } @@ -299,7 +364,8 @@ public class ObjectOutputStream extends OutputStream if (obj instanceof String) { realOutput.writeByte(TC_STRING); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); realOutput.writeUTF((String)obj); break; } @@ -308,7 +374,8 @@ public class ObjectOutputStream extends OutputStream { realOutput.writeByte(TC_ARRAY); writeObject(osc); - assignNewHandle(obj); + if (shared) + assignNewHandle(obj); writeArraySizeAndElements(obj, clazz.getComponentType()); break; } @@ -316,11 +383,12 @@ public class ObjectOutputStream extends OutputStream realOutput.writeByte(TC_OBJECT); writeObject(osc); - if (replaceDone) - assignNewHandle(replacedObject); - else - assignNewHandle(obj); - + if (shared) + if (replaceDone) + assignNewHandle(replacedObject); + else + assignNewHandle(obj); + if (obj instanceof Externalizable) { if (protocolVersion == PROTOCOL_VERSION_2) diff --git a/libjava/classpath/java/io/StreamTokenizer.java b/libjava/classpath/java/io/StreamTokenizer.java index b4695ab3d09..759aa9a2f05 100644 --- a/libjava/classpath/java/io/StreamTokenizer.java +++ b/libjava/classpath/java/io/StreamTokenizer.java @@ -330,6 +330,7 @@ public class StreamTokenizer { while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF) ; + if (ch != TT_EOF) in.unread(ch); return nextToken(); // Recursive, but not too deep in normal cases @@ -431,6 +432,7 @@ public class StreamTokenizer { while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF) ; + if (ch != TT_EOF) in.unread(ch); return nextToken(); // Recursive, but not too deep in normal cases. diff --git a/libjava/classpath/java/io/class-dependencies.conf b/libjava/classpath/java/io/class-dependencies.conf deleted file mode 100644 index 633bb174941..00000000000 --- a/libjava/classpath/java/io/class-dependencies.conf +++ /dev/null @@ -1,100 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -java/io/File: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/FileDescriptor: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -java/io/FileInputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V - -java/io/FileOutputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -java/io/ObjectInputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/ObjectOutputStream: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/lang/SecurityManager.currentClassLoader()Ljava/lang/ClassLoader; \ - java/lang/IllegalArgumentException.(Ljava/lang/String;)V - -java/io/RandomAccessFile: \ - java/lang/ClassNotFoundException.(Ljava/lang/String;)V \ - java/lang/InternalError.(Ljava/lang/String;)V \ - java/io/FileNotFoundException.(Ljava/lang/String;)V \ - java/io/IOException.(Ljava/lang/String;)V - -# end of file diff --git a/libjava/classpath/java/lang/Character.java b/libjava/classpath/java/lang/Character.java index b9c6f24e79f..506033f31bc 100644 --- a/libjava/classpath/java/lang/Character.java +++ b/libjava/classpath/java/lang/Character.java @@ -156,7 +156,7 @@ public final class Character implements Serializable, Comparable private final String canonicalName; /** Enumeration for the forName() method */ - private enum NameType { CANONICAL, NO_SPACES, CONSTANT; }; + private enum NameType { CANONICAL, NO_SPACES, CONSTANT; } /** * Constructor for strictly defined blocks. diff --git a/libjava/classpath/java/lang/Class.java b/libjava/classpath/java/lang/Class.java index f44782f9692..d3df881367c 100644 --- a/libjava/classpath/java/lang/Class.java +++ b/libjava/classpath/java/lang/Class.java @@ -45,6 +45,7 @@ import java.io.InputStream; import java.io.Serializable; import java.lang.annotation.Annotation; import java.lang.annotation.Inherited; +import java.lang.reflect.AccessibleObject; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -1126,15 +1127,7 @@ public final class Class if (!Modifier.isPublic(constructor.getModifiers()) || !Modifier.isPublic(VMClass.getModifiers(this, true))) { - final Constructor finalConstructor = constructor; - AccessController.doPrivileged(new PrivilegedAction() - { - public Object run() - { - finalConstructor.setAccessible(true); - return null; - } - }); + setAccessible(constructor); } synchronized(this) { @@ -1397,7 +1390,9 @@ public final class Class { try { - return (T[]) getMethod("values").invoke(null); + Method m = getMethod("values"); + setAccessible(m); + return (T[]) m.invoke(null); } catch (NoSuchMethodException exception) { @@ -1787,5 +1782,18 @@ public final class Class return VMClass.isMemberClass(this); } - + /** + * Utility method for use by classes in this package. + */ + static void setAccessible(final AccessibleObject obj) + { + AccessController.doPrivileged(new PrivilegedAction() + { + public Object run() + { + obj.setAccessible(true); + return null; + } + }); + } } diff --git a/libjava/classpath/java/lang/Enum.java b/libjava/classpath/java/lang/Enum.java index f141619be4d..fa217bb67a6 100644 --- a/libjava/classpath/java/lang/Enum.java +++ b/libjava/classpath/java/lang/Enum.java @@ -97,9 +97,12 @@ public abstract class Enum> try { + // XXX We should not use getDeclaredField, because it does + // an unnecessary security check. Field f = etype.getDeclaredField(s); if (! f.isEnumConstant()) throw new IllegalArgumentException(s); + Class.setAccessible(f); return (S) f.get(null); } catch (NoSuchFieldException exception) @@ -220,4 +223,14 @@ public abstract class Enum> k = k.getSuperclass(); return k; } + + /** + * Enumerations can not have finalization methods. + * + * @since 1.6 + */ + protected final void finalize() + { + } + } diff --git a/libjava/classpath/java/lang/StrictMath.java b/libjava/classpath/java/lang/StrictMath.java index ec74ca4133b..6eb1cb20859 100644 --- a/libjava/classpath/java/lang/StrictMath.java +++ b/libjava/classpath/java/lang/StrictMath.java @@ -2278,8 +2278,9 @@ public final strictfp class StrictMath j |= iq[i]; if (j == 0) // Need recomputation. { - int k; - for (k = 1; iq[jk - k] == 0; k++); // k = no. of terms needed. + int k; // k = no. of terms needed. + for (k = 1; iq[jk - k] == 0; k++) + ; for (i = jz + 1; i <= jz + k; i++) // Add q[jz+1] to q[jz+k]. { diff --git a/libjava/classpath/java/lang/String.java b/libjava/classpath/java/lang/String.java index 28b77c0aa56..ecb46881148 100644 --- a/libjava/classpath/java/lang/String.java +++ b/libjava/classpath/java/lang/String.java @@ -1592,8 +1592,10 @@ public final class String if (begin == limit) return ""; while (value[begin++] <= '\u0020'); + int end = limit; - while (value[--end] <= '\u0020'); + while (value[--end] <= '\u0020') + ; return substring(begin - offset - 1, end - offset + 1); } @@ -1988,4 +1990,17 @@ public final class String return Character.offsetByCodePoints(value, offset, count, offset + index, codePointOffset); } + + /** + * Returns true if, and only if, {@link #length()} + * is 0. + * + * @return true if the length of the string is zero. + * @since 1.6 + */ + public boolean isEmpty() + { + return count == 0; + } + } diff --git a/libjava/classpath/java/lang/System.java b/libjava/classpath/java/lang/System.java index ca390bf161b..68d76fc2164 100644 --- a/libjava/classpath/java/lang/System.java +++ b/libjava/classpath/java/lang/System.java @@ -1,5 +1,5 @@ /* System.java -- useful methods to interface with the system - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,8 +42,11 @@ package java.lang; import gnu.classpath.SystemProperties; import gnu.classpath.VMStackWalker; +import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; +import java.nio.channels.Channel; +import java.nio.channels.spi.SelectorProvider; import java.util.AbstractCollection; import java.util.Collection; import java.util.Collections; @@ -362,6 +365,7 @@ public final class System *
    gnu.java.io.encoding_scheme_alias.iso-latin-_?
    8859_?
    *
    gnu.java.io.encoding_scheme_alias.latin?
    8859_?
    *
    gnu.java.io.encoding_scheme_alias.utf-8
    UTF8
    + *
    gnu.java.util.zoneinfo.dir
    Root of zoneinfo tree
    *
    gnu.javax.print.server
    Hostname of external CUPS server.
    * * @@ -671,6 +675,25 @@ public final class System return VMRuntime.mapLibraryName(libname); } + /** + * Returns the inherited channel of the VM. + * + * This wraps the inheritedChannel() call of the system's default + * {@link SelectorProvider}. + * + * @return the inherited channel of the VM + * + * @throws IOException If an I/O error occurs + * @throws SecurityException If an installed security manager denies access + * to RuntimePermission("inheritedChannel") + * + * @since 1.5 + */ + public static Channel inheritedChannel() + throws IOException + { + return SelectorProvider.provider().inheritedChannel(); + } /** * This is a specialised Collection, providing diff --git a/libjava/classpath/java/lang/class-dependencies.conf b/libjava/classpath/java/lang/class-dependencies.conf deleted file mode 100644 index 4fbf75eb1ce..00000000000 --- a/libjava/classpath/java/lang/class-dependencies.conf +++ /dev/null @@ -1,58 +0,0 @@ -# This property file contains dependencies of classes, methods, and -# field on other methods or classes. -# -# Syntax: -# -# : [... ] -# -# means that when is included, (... ) must -# be included as well. -# -# and are of the form -# -# -# -# or just -# -# -# -# Within dependencies, variables can be used. A variable is defined as -# follows: -# -# {variable}: value1 value2 ... value -# -# variables can be used on the right side of dependencies as follows: -# -# : com.bla.blu.{variable}.Class.m()V -# -# The use of the variable will expand to dependencies of the form -# -# : com.bla.blu.value1.Class.m()V -# : com.bla.blu.value2.Class.m()V -# ... -# : com.bla.blu.value.Class.m()V -# -# Variables can be redefined when building a system to select the -# required support for features like encodings, protocols, etc. -# -# Hints: -# -# - For methods and fields, the signature is mandatory. For -# specification, please see the Java Virtual Machine Specification by -# SUN. Unlike in the spec, field signatures (types) are in brackets. -# -# - Package names must be separated by '/' (and not '.'). E.g., -# java/lang/Class (this is necessary, because the '.' is used to -# separate method or field names from classes) -# -# - In case refers to a class, only the class itself will be -# included in the resulting binary, NOT necessarily all its methods -# and fields. If you want to refer to all methods and fields, you can -# write class.* as an abbreviation. -# -# - Abbreviations for packages are also possible: my/package/* means all -# methods and fields of all classes in my/package. -# -# - A line with a trailing '\' continues in the next line. - -# end of file diff --git a/libjava/classpath/java/lang/management/LockInfo.java b/libjava/classpath/java/lang/management/LockInfo.java new file mode 100644 index 00000000000..ae5166834ca --- /dev/null +++ b/libjava/classpath/java/lang/management/LockInfo.java @@ -0,0 +1,114 @@ +/* LockInfo.java - Information on a lock. + Copyright (C) 2006 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package java.lang.management; + +import java.beans.ConstructorProperties; + +/** + * Provides information on a lock held by a thread. + * A lock can be either a built-in monitor, an + * ownable synchronizer (i.e. a subclass + * of {@link java.util.concurrent.locks.AbstractOwnableSynchronizer}), + * or a {@link java.util.concurrent.locks.Condition} + * object. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class LockInfo +{ + + /** + * The class name of the lock object. + */ + private String className; + + /** + * The identity hash code of the lock object. + */ + private int identityHashCode; + + /** + * Constructs a new {@link LockInfo} object with the + * specified class name and identity hash code. + * + * @param className the name of the class of the lock object. + * @param identityHashCode the identity hash code of the + * lock object. + */ + @ConstructorProperties({"className","identityHashCode"}) + public LockInfo(String className, int identityHashCode) + { + this.className = className; + this.identityHashCode = identityHashCode; + } + + /** + * Returns the class name of the lock object. + * + * @return the class name of the lock object. + */ + public String getClassName() + { + return className; + } + + /** + * Returns the identity hash code of the lock object. + * + * @return the identity hash code of the lock object. + */ + public int getIdentityHashCode() + { + return identityHashCode; + } + + /** + * Returns a textual representation of the lock, + * constructed by concatenating the class name, + * '@' and the identity hash code + * in unsigned hexadecimal form. + * + * @return a textual representation of the lock. + */ + public String toString() + { + return className + '@' + Integer.toHexString(identityHashCode); + } + +} diff --git a/libjava/classpath/java/lang/management/ManagementFactory.java b/libjava/classpath/java/lang/management/ManagementFactory.java index a51ca0f4c9f..977b3997535 100644 --- a/libjava/classpath/java/lang/management/ManagementFactory.java +++ b/libjava/classpath/java/lang/management/ManagementFactory.java @@ -49,20 +49,36 @@ import gnu.java.lang.management.MemoryPoolMXBeanImpl; import gnu.java.lang.management.RuntimeMXBeanImpl; import gnu.java.lang.management.ThreadMXBeanImpl; +import java.io.IOException; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; + import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.logging.LogManager; +import javax.management.Attribute; import javax.management.InstanceAlreadyExistsException; import javax.management.MBeanRegistrationException; import javax.management.MBeanServer; +import javax.management.MBeanServerConnection; import javax.management.MBeanServerFactory; import javax.management.MalformedObjectNameException; import javax.management.NotCompliantMBeanException; +import javax.management.NotificationEmitter; +import javax.management.NotificationFilter; +import javax.management.NotificationListener; import javax.management.ObjectName; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.TabularData; + /** *

    * Provides access to the system's management beans via a series @@ -549,4 +565,253 @@ public class ManagementFactory return platformServer; } + /** + *

    + * Returns a proxy for the specified platform bean. A proxy object is created + * using Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), + * new Class[] { mxbeanInterface }, handler). The + * {@link javax.management.NotificationEmitter} class is also added to the + * array if the bean provides notifications. handler refers + * to the invocation handler which forwards calls to the connection, and + * also provides translation between the Java data types used in the + * bean interfaces and the open data types, as specified in the description + * of this class. It is this translation that makes the + * usual {@link javax.management.MBeanServerInvocationHandler} inappropriate + * for providing such a proxy. + *

    + *

    + * Note: use of the proxy may result in + * {@link java.io.IOException}s from the underlying {@link MBeanServerConnection} + * and a {@link java.io.InvalidObjectException} if enum constants + * used on the client and the server don't match. + *

    + * + * @param connection the server connection to use to access the bean. + * @param mxbeanName the {@link javax.management.ObjectName} of the + * bean to provide a proxy for. + * @param mxbeanInterface the interface for the bean being proxied. + * @return a proxy for the specified bean. + * @throws IllegalArgumentException if mxbeanName is not a valid + * {@link javax.management.ObjectName}, + * the interface and name do not match the + * same bean, the name does not refer to a + * platform bean or the bean is not registered + * with the server accessed by connection. + * @throws IOException if the connection throws one. + */ + public static T newPlatformMXBeanProxy(MBeanServerConnection connection, + String mxbeanName, + Class mxbeanInterface) + throws IOException + { + if (!(mxbeanName.equals(CLASS_LOADING_MXBEAN_NAME) || + mxbeanName.equals(COMPILATION_MXBEAN_NAME) || + mxbeanName.startsWith(GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE) || + mxbeanName.startsWith(MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE) || + mxbeanName.equals(MEMORY_MXBEAN_NAME) || + mxbeanName.startsWith(MEMORY_POOL_MXBEAN_DOMAIN_TYPE) || + mxbeanName.equals(OPERATING_SYSTEM_MXBEAN_NAME) || + mxbeanName.equals(RUNTIME_MXBEAN_NAME) || + mxbeanName.equals(THREAD_MXBEAN_NAME))) + { + throw new IllegalArgumentException("The named bean, " + mxbeanName + + ", is not a platform name."); + } + if ((mxbeanName.equals(CLASS_LOADING_MXBEAN_NAME) && + mxbeanInterface != ClassLoadingMXBean.class) || + (mxbeanName.equals(COMPILATION_MXBEAN_NAME) && + mxbeanInterface != CompilationMXBean.class) || + (mxbeanName.startsWith(GARBAGE_COLLECTOR_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != GarbageCollectorMXBean.class) || + (mxbeanName.startsWith(MEMORY_MANAGER_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != MemoryManagerMXBean.class) || + (mxbeanName.equals(MEMORY_MXBEAN_NAME) && + mxbeanInterface != MemoryMXBean.class) || + (mxbeanName.startsWith(MEMORY_POOL_MXBEAN_DOMAIN_TYPE) && + mxbeanInterface != MemoryPoolMXBean.class) || + (mxbeanName.equals(OPERATING_SYSTEM_MXBEAN_NAME) && + mxbeanInterface != OperatingSystemMXBean.class) || + (mxbeanName.equals(RUNTIME_MXBEAN_NAME) && + mxbeanInterface != RuntimeMXBean.class) || + (mxbeanName.equals(THREAD_MXBEAN_NAME) && + mxbeanInterface != ThreadMXBean.class)) + throw new IllegalArgumentException("The interface, " + mxbeanInterface + + ", does not match the bean, " + mxbeanName); + ObjectName bean; + try + { + bean = new ObjectName(mxbeanName); + } + catch (MalformedObjectNameException e) + { + throw new IllegalArgumentException("The named bean is invalid."); + } + if (!(connection.isRegistered(bean))) + throw new IllegalArgumentException("The bean is not registered on this connection."); + Class[] interfaces; + if (mxbeanName.equals(MEMORY_MXBEAN_NAME)) + interfaces = new Class[] { mxbeanInterface, NotificationEmitter.class }; + else + interfaces = new Class[] { mxbeanInterface }; + return (T) Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), + interfaces, + new ManagementInvocationHandler(connection, bean)); + } + + /** + * This invocation handler provides method calls for a platform bean + * by forwarding them to a {@link MBeanServerConnection}. Translation from + * Java data types to open data types is performed as specified above. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.5 + */ + private static class ManagementInvocationHandler + implements InvocationHandler + { + + /** + * The encapsulated connection. + */ + private MBeanServerConnection conn; + + /** + * The bean being proxied. + */ + private ObjectName bean; + + /** + * Constructs a new {@link InvocationHandler} which proxies + * for the specified bean using the supplied connection. + * + * @param conn the connection on which to forward method calls. + * @param bean the bean to proxy. + */ + public ManagementInvocationHandler(MBeanServerConnection conn, + ObjectName bean) + throws IOException + { + this.conn = conn; + this.bean = bean; + } + + /** + * Called by the proxy class whenever a method is called. The method + * is emulated by retrieving an attribute from, setting an attribute on + * or invoking a method on the server connection as required. Translation + * between the Java data types supplied as arguments to the open types used + * by the bean is provided, as well as translation of the return value back + * in to the appropriate Java type. + * + * @param proxy the proxy on which the method was called. + * @param method the method which was called. + * @param args the arguments supplied to the method. + * @return the return value from the method. + * @throws Throwable if an exception is thrown in performing the + * method emulation. + */ + public Object invoke(Object proxy, Method method, Object[] args) + throws Throwable + { + String name = method.getName(); + if (name.equals("toString")) + return "Proxy for " + bean + " using " + conn; + if (name.equals("addNotificationListener")) + { + conn.addNotificationListener(bean, + (NotificationListener) args[0], + (NotificationFilter) args[1], + args[2]); + return null; + } + if (name.equals("getNotificationInfo")) + return conn.getMBeanInfo(bean).getNotifications(); + if (name.equals("removeNotificationListener")) + { + if (args.length == 1) + conn.removeNotificationListener(bean, + (NotificationListener) + args[0]); + else + conn.removeNotificationListener(bean, + (NotificationListener) + args[0], + (NotificationFilter) + args[1], args[2]); + return null; + } + String attrib = null; + if (name.startsWith("get")) + attrib = name.substring(3); + else if (name.startsWith("is")) + attrib = name.substring(2); + if (attrib != null) + return translate(conn.getAttribute(bean, attrib), method); + else if (name.startsWith("set")) + { + conn.setAttribute(bean, new Attribute(name.substring(3), + args[0])); + return null; + } + else + return translate(conn.invoke(bean, name, args, null), method); + } + + /** + * Translates the returned open data type to the value + * required by the interface. + * + * @param otype the open type returned by the method call. + * @param method the method that was called. + * @return the equivalent return type required by the interface. + * @throws Throwable if an exception is thrown in performing the + * conversion. + */ + private final Object translate(Object otype, Method method) + throws Throwable + { + Class returnType = method.getReturnType(); + if (returnType.isEnum()) + { + String ename = (String) otype; + Enum[] constants = (Enum[]) returnType.getEnumConstants(); + for (Enum c : constants) + if (c.name().equals(ename)) + return c; + } + if (List.class.isAssignableFrom(returnType)) + { + Object[] elems = (Object[]) otype; + List l = new ArrayList(elems.length); + for (Object elem : elems) + l.add(elem); + return l; + } + if (Map.class.isAssignableFrom(returnType)) + { + TabularData data = (TabularData) otype; + Map m = new HashMap(data.size()); + for (Object val : data.values()) + { + CompositeData vals = (CompositeData) val; + m.put(vals.get("key"), vals.get("value")); + } + return m; + } + try + { + Method m = returnType.getMethod("from", + new Class[] + { CompositeData.class }); + return m.invoke(null, (CompositeData) otype); + } + catch (NoSuchMethodException e) + { + /* Ignored; we expect this if this + isn't a from(CompositeData) class */ + } + return otype; + } + + } } diff --git a/libjava/classpath/java/lang/management/MemoryUsage.java b/libjava/classpath/java/lang/management/MemoryUsage.java index 3c2a4cba6e9..d851da9a72e 100644 --- a/libjava/classpath/java/lang/management/MemoryUsage.java +++ b/libjava/classpath/java/lang/management/MemoryUsage.java @@ -180,14 +180,14 @@ public class MemoryUsage if (data == null) return null; CompositeType type = data.getCompositeType(); - ThreadInfo.checkAttribute(type, "init", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "used", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "committed", SimpleType.LONG); - ThreadInfo.checkAttribute(type, "max", SimpleType.LONG); - return new MemoryUsage(((Long) data.get("init")).longValue(), - ((Long) data.get("used")).longValue(), - ((Long) data.get("committed")).longValue(), - ((Long) data.get("max")).longValue()); + ThreadInfo.checkAttribute(type, "Init", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Used", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Committed", SimpleType.LONG); + ThreadInfo.checkAttribute(type, "Max", SimpleType.LONG); + return new MemoryUsage(((Long) data.get("Init")).longValue(), + ((Long) data.get("Used")).longValue(), + ((Long) data.get("Committed")).longValue(), + ((Long) data.get("Max")).longValue()); } /** diff --git a/libjava/classpath/java/lang/management/MonitorInfo.java b/libjava/classpath/java/lang/management/MonitorInfo.java new file mode 100644 index 00000000000..cba73a80de4 --- /dev/null +++ b/libjava/classpath/java/lang/management/MonitorInfo.java @@ -0,0 +1,179 @@ +/* MonitorInfo.java - Information on a monitor lock. + Copyright (C) 2006 Free Software Foundation + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package java.lang.management; + +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.CompositeType; +import javax.management.openmbean.SimpleType; + +/** + * Provides information on a monitor lock held by a thread. + * A monitor lock is obtained when a thread enters a synchronized + * block or method. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.6 + */ +public class MonitorInfo + extends LockInfo +{ + + /** + * The stack depth at which the lock was obtained. + */ + private int stackDepth; + + /** + * The stack frame at which the lock was obtained. + */ + private StackTraceElement stackFrame; + + /** + * Constructs a new {@link MonitorInfo} using the specified + * lock class name and identity hash code, and the given + * stack depth and frame. + * + * @param className the class name of the lock object. + * @param identityHashCode the identity hash code of the lock object. + * @param stackDepth the depth of the stack at which the lock + * was obtained. + * @param stackFrame the frame of the stack at which the lock was + * obtained. + * @throws IllegalArgumentException if the stack depth and frame are + * inconsistent i.e. the frame is + * null but the depth is + * ≥ 0, or the frame is not + * null but the depth is + * < 0. + */ + public MonitorInfo(String className, int identityHashCode, int stackDepth, + StackTraceElement stackFrame) + { + super(className, identityHashCode); + if (stackFrame == null && stackDepth >= 0) + throw new IllegalArgumentException("The stack frame is null, but the " + + "stack depth is greater than or equal " + + "to zero."); + if (stackFrame != null && stackDepth < 0) + throw new IllegalArgumentException("The stack frame is not null, but the " + + "stack depth is less than zero."); + this.stackDepth = stackDepth; + this.stackFrame = stackFrame; + } + + /** + *

    + * Returns a {@link MonitorInfo} instance using the values + * given in the supplied + * {@link javax.management.openmbean.CompositeData} object. + * The composite data instance should contain the following + * attributes with the specified types: + *

    + *
  • + * + * + * + * + * + *
    NameType
    classNamejava.lang.String
    identityHashCodejava.lang.Integer
    lockedStackDepthjava.lang.Integer
    lockedStackFramejavax.management.openmbean.CompositeData + *
    + *

    + * The stack trace is further described as: + *

    + * + * + * + * + * + * + * + *
    NameType
    classNamejava.lang.String
    methodNamejava.lang.String
    fileNamejava.lang.String
    lineNumberjava.lang.Integer
    nativeMethodjava.lang.Boolean
    + * + * @param data the composite data structure to take values from. + * @return a new instance containing the values from the + * composite data structure, or null + * if the data structure was also null. + * @throws IllegalArgumentException if the composite data structure + * does not match the structure + * outlined above. + */ + public static MonitorInfo from(CompositeData data) + { + if (data == null) + return null; + CompositeType type = data.getCompositeType(); + ThreadInfo.checkAttribute(type, "ClassName", SimpleType.STRING); + ThreadInfo.checkAttribute(type, "IdentityHashCode", SimpleType.INTEGER); + ThreadInfo.checkAttribute(type, "LockedStackDepth", SimpleType.INTEGER); + ThreadInfo.checkAttribute(type, "LockedStackFrame", + ThreadInfo.getStackTraceType()); + CompositeData frame = (CompositeData) data.get("LockedStackFrame"); + return new MonitorInfo((String) data.get("ClassName"), + (Integer) data.get("IdentityHashCode"), + (Integer) data.get("LockedStackDepth"), + new StackTraceElement((String) frame.get("ClassName"), + (String) frame.get("MethodName"), + (String) frame.get("FileName"), + (Integer) frame.get("LineNumber"))); + } + + /** + * Returns the depth of the stack at which the lock was obtained. + * This works as an index into the array returned by + * {@link ThreadInfo#getStackTrace()}. + * + * @return the depth of the stack at which the lock was obtained, + * or a negative number if this information is unavailable. + */ + public int getLockedStackDepth() + { + return stackDepth; + } + + /** + * Returns the stack frame at which the lock was obtained. + * + * @return the stack frame at which the lock was obtained, + * or null if this informati0on is unavailable. + */ + public StackTraceElement getLockedStackFrame() + { + return stackFrame; + } + +} diff --git a/libjava/classpath/java/lang/management/OperatingSystemMXBean.java b/libjava/classpath/java/lang/management/OperatingSystemMXBean.java index 2430a9fbf5c..ed38285a560 100644 --- a/libjava/classpath/java/lang/management/OperatingSystemMXBean.java +++ b/libjava/classpath/java/lang/management/OperatingSystemMXBean.java @@ -86,6 +86,22 @@ public interface OperatingSystemMXBean */ String getName(); + /** + * Returns the system load average for the last minute, or -1 + * if this is unavailable. The availability and calculation + * of the load average is system-dependent, but is usually + * a damped time-dependent average obtained by monitoring the + * number of queued and running processes. It is expected + * that this method will be called frequently to monitor the + * average over time, so it may not be implemented on systems + * where such a call is expensive. + * + * @return the system load average for the last minute, or -1 + * if this is unavailable. + * @since 1.6 + */ + double getSystemLoadAverage(); + /** * Returns the version of the underlying operating system. This * is equivalent to obtaining the os.version property diff --git a/libjava/classpath/java/lang/management/ThreadInfo.java b/libjava/classpath/java/lang/management/ThreadInfo.java index 428aca3fac8..884f5af5e9e 100644 --- a/libjava/classpath/java/lang/management/ThreadInfo.java +++ b/libjava/classpath/java/lang/management/ThreadInfo.java @@ -37,6 +37,8 @@ exception statement from your version. */ package java.lang.management; +import java.util.Arrays; + import javax.management.openmbean.ArrayType; import javax.management.openmbean.CompositeData; import javax.management.openmbean.CompositeType; @@ -68,6 +70,8 @@ import javax.management.openmbean.SimpleType; * monitor, upon which the thread described here is blocked. *
  • The stack trace of the thread (if requested on creation * of this object
  • + *
  • The current locks held on object monitors by the thread.
  • + *
  • The current locks held on ownable synchronizers by the thread.
  • * *
  • Synchronization Statistics *