Re: [cp-patches] Patch: GtkComponentPeer fix
Lillian Angel wrote: I added this check to prevent several assertion errors in GdkGraphics. 2006-02-07 Lillian Angel [EMAIL PROTECTED] * 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. Surely that should be if either its height or its width are less than 1? -- 犬 Chris Burdess They that can give up essential liberty to obtain a little safety deserve neither liberty nor safety. - Benjamin Franklin PGP.sig Description: This is a digitally signed message part
[cp-patches] FYI: Adding IOR parser and Naming Service to the tools package.
This patch adds IOR parser and GIOP (CORBA) naming service to the tools package. These two tools can be easily made using classes from gnu.CORBA package. So they benefit a lot from being here and not in the separate project (it is easier to keep all classes in sync). 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * 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. Index: examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java === RCS file: /sources/classpath/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java,v retrieving revision 1.1 diff -u -r1.1 _GameManagerImpl_Tie.java --- examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java 15 Nov 2005 21:16:26 - 1.1 +++ examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java 8 Feb 2006 11:36:52 - @@ -57,13 +57,8 @@ * Tie on the client side. The Game Manager methods contain the code for remote * invocation. * - * This class is normally generated with rmic from the [EMAIL PROTECTED] GameManagerImpl}: - * - * pre - * rmic -iiop -poa -keep gnu.classpath.examples.CORBA.swing.x5.GameManagerImpl - * /pre - * - * (the compiled package must be present in the current folder). + * This class is normally generated with rmic or grmic from the + * [EMAIL PROTECTED] GameManagerImpl}. See tools/gnu/classpath/tools/giop/README. * * In this example the class was manually edited and commented for better * understanding of functionality. Index: examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java === RCS file: /sources/classpath/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java,v retrieving revision 1.1 diff -u -r1.1 _PlayerImpl_Tie.java --- examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java 15 Nov 2005 21:16:26 - 1.1 +++ examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java 8 Feb 2006 11:36:53 - @@ -58,11 +58,8 @@ * rmic -iiop -poa -keep gnu.classpath.examples.CORBA.swing.x5.PlayerImpl * (the compiled package must be present in the current folder). * - * This class is normally generated with rmic from the [EMAIL PROTECTED] PlayerImpl}: - * pre - * rmic -iiop -poa -keep gnu.classpath.examples.CORBA.swing.x5.PlayerImpl - * /pre - * (the compiled package must be present in the current folder). + * This class is normally generated with rmic or grmic from the + * [EMAIL PROTECTED] PlayerImpl}. See tools/gnu/classpath/tools/giop/README. * * In this example the class was manually edited and commented for better * understanding of functionality. Index: gnu/CORBA/IOR.java === RCS file: /sources/classpath/classpath/gnu/CORBA/IOR.java,v retrieving revision 1.11 diff -u -r1.11 IOR.java --- gnu/CORBA/IOR.java 7 Nov 2005 07:48:24 - 1.11 +++ gnu/CORBA/IOR.java 8 Feb 2006 11:36:58 - @@ -140,6 +140,27 @@ b.append(' '); return b.toString(); } + + /** + * Get a better formatted multiline string representation. + */ + public String toStringFormatted() + { +StringBuffer b = new StringBuffer(); +b.append(\n Native set + name(native_set)); +if (conversion != null conversion.length 0) + { +b.append(\n Other supported sets:\n); +for (int i = 0; i conversion.length; i++) + { +b.append(name(conversion[i])); +b.append(' '); + } + } +b.append(\n); +return b.toString(); + } + /** * Write into CDR stream. @@ -590,6 +611,39 @@ return b.toString(); } + + /** + * Returns a multiline formatted human readable string representation of + * this IOR object. + */ + public String toStringFormatted() + { +StringBuffer b = new StringBuffer(); +b.append(\nObject Id:\n ); +b.append(Id); +b.append(\nObject is accessible at:\n ); +b.append(Internet); + +if (Big_Endian) + b.append(\n Big endian
[cp-patches] Re: [commit-cp] classpath ./.classpath ./ChangeLog ./configure....
Hi Audrius, On Wed, 2006-02-08 at 07:35 +, Audrius Meskauskas wrote: Added files: tools/gnu/classpath/tools/giop/grmic/templates: StubMethod.jav TieMethod.jav TieMethodVoid.jav Tie.jav Stub.jav ImplTie.jav StubMethodVoid.jav tools/gnu/classpath/tools/giop/grmic: Generator.java CompilationError.java GiopRmicCompiler.java GiopIo.java MethodGenerator.java tools/gnu/classpath/tools/giop: GRMIC.txt GRMIC.java README tools : Makefile.am Makefile.in Makefile The Makefile and Makefile.in should not be in CVS, but should be generated by the autogen.sh script. Log message: 2006-02-07 Audrius Meskauskas [EMAIL PROTECTED] * .classpath: New source patch (tools). * Makefile.am (SUBDIRS, DIST_SUBDIRS): added tools. * configure.ac (AC_CONFIG_FILES): added tools/Makefile * gnu/classpath/tools/Makefile.am, gnu/classpath/tools/giop/GRMIC.java gnu/classpath/tools/giop/GRMIC.txt, gnu/classpath/tools/giop/README, gnu/classpath/tools/giop/grmic/CompilationError.java, gnu/classpath/tools/giop/grmic/Generator.java, gnu/classpath/tools/giop/grmic/GiopIo.java, gnu/classpath/tools/giop/grmic/GiopRmicCompiler.java, gnu/classpath/tools/giop/grmic/MethodGenerator.java, gnu/classpath/tools/giop/grmic/templates/ImplTie.jav, gnu/classpath/tools/giop/grmic/templates/Stub.jav, gnu/classpath/tools/giop/grmic/templates/StubMethod.jav, gnu/classpath/tools/giop/grmic/templates/StubMethodVoid.jav, gnu/classpath/tools/giop/grmic/templates/Tie.jav, gnu/classpath/tools/giop/grmic/templates/TieMethod.jav, gnu/classpath/tools/giop/grmic/templates/TieMethodVoid.jav: New files. The files were actually checked into tools/gnu/classpath/tools/... (note the starting tools/). Which is good. But the ChangeLog entry is wrong. Unfortunately neither the checked in Makefile(.in) nor the Makefile.am actually work. The Makefile(.in) files refer to a file README, which isn't in the tools directory. The Makefile.am produces a Makefile(.in) which tries to install a tools/gnu/classpath/tools/giop/README.txt which is also not there. I didn't study the patch carefully yet. I just made this patch to make the build work again: 2006-02-08 Mark Wielaard [EMAIL PROTECTED] * tools/Makefile.am (READMES): Change README.txt to README. * tools/Makefile.in: Removed. * tools/Makefile: Removed. You have to rerun autogen.sh and configure for it to work. Cheers, Mark --- tools/Makefile.am +++ tools/Makefile.am @@ -34,7 +34,7 @@ TOOLS_HELPS = $(srcdir)/gnu/classpath/tools/giop/*.txt # The tool specific README files. -READMES = $(srcdir)/gnu/classpath/tools/giop/README.txt +READMES = $(srcdir)/gnu/classpath/tools/giop/README # All the files we find interesting ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(TOOLS_TEMPLATES) $(READMES) signature.asc Description: This is a digitally signed message part
[cp-patches] FYI: tools build system minor fix
It seems that the tool text help files (built-in help system) was not copied to the source folder during installation. The path fixes this minor problem. 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] *tools/Makefile.am (ALL_TOOLS_FILES): Add $(TOOLS_HELPS). Index: Makefile.am === RCS file: /sources/classpath/classpath/tools/Makefile.am,v retrieving revision 1.2 diff -u -r1.2 Makefile.am --- Makefile.am 8 Feb 2006 12:14:05 - 1.2 +++ Makefile.am 8 Feb 2006 12:30:53 - @@ -37,7 +37,7 @@ READMES = $(srcdir)/gnu/classpath/tools/giop/README # All the files we find interesting -ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(TOOLS_TEMPLATES) $(READMES) +ALL_TOOLS_FILES = $(TOOLS_JAVA_FILES) $(TOOLS_TEMPLATES) $(TOOLS_HELPS) $(READMES) # Some architecture independent data to be installed. TOOLS_DATA = $(TOOLS_ZIP)
[cp-patches] FYI: Removed the wrongly comitted file tools/Makefile.in
Removing the file that was comitted by chance. 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * tools/Makefile.in: Removed.
[cp-patches] Re: RFC: gnu.regexp: backslash escape in a replacement
From: Ito Kazumitsu [EMAIL PROTECTED] Date: Wed, 08 Feb 2006 00:01:46 +0900 (JST) I added support for backslash escape in a replacement as an optional feature for fear that some application may depend on the current behavior of gnu.regexp. Reading Sun's API docment, I found that the replacement may contain not only $1-$9 but also $10, $11, $12, ... 2006-02-07 Ito Kazumitsu [EMAIL PROTECTED] 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. Index: classpath/gnu/regexp/RE.java === RCS file: /cvsroot/classpath/classpath/gnu/regexp/RE.java,v retrieving revision 1.16 diff -u -r1.16 RE.java --- classpath/gnu/regexp/RE.java6 Feb 2006 14:03:59 - 1.16 +++ classpath/gnu/regexp/RE.java8 Feb 2006 13:03:00 - @@ -142,7 +142,7 @@ * Compilation flag. Do not differentiate case. Subsequent * searches using this RE will be case insensitive. */ - public static final int REG_ICASE = 2; + public static final int REG_ICASE = 0x02; /** * Compilation flag. The match-any-character operator (dot) @@ -150,14 +150,14 @@ * bit RE_DOT_NEWLINE (see RESyntax for details). This is equivalent to * the /s operator in Perl. */ - public static final int REG_DOT_NEWLINE = 4; + public static final int REG_DOT_NEWLINE = 0x04; /** * Compilation flag. Use multiline mode. In this mode, the ^ and $ * anchors will match based on newlines within the input. This is * equivalent to the /m operator in Perl. */ - public static final int REG_MULTILINE = 8; + public static final int REG_MULTILINE = 0x08; /** * Execution flag. @@ -186,14 +186,14 @@ * // m4.toString(): foolBR * /CODE */ - public static final int REG_NOTBOL = 16; + public static final int REG_NOTBOL = 0x10; /** * Execution flag. * The match-end operator ($) does not match at the end * of the input string. Useful for matching on substrings. */ - public static final int REG_NOTEOL = 32; + public static final int REG_NOTEOL = 0x20; /** * Execution flag. @@ -207,7 +207,7 @@ * the example under REG_NOTBOL. It also affects the use of the \lt; * and \b operators. */ - public static final int REG_ANCHORINDEX = 64; + public static final int REG_ANCHORINDEX = 0x40; /** * Execution flag. @@ -216,14 +216,24 @@ * the corresponding subexpressions. For example, you may want to * replace all matches of one dollar with $1. */ - public static final int REG_NO_INTERPOLATE = 128; + public static final int REG_NO_INTERPOLATE = 0x80; /** * Execution flag. * Try to match the whole input string. An implicit match-end operator * is added to this regexp. */ - public static final int REG_TRY_ENTIRE_MATCH = 256; + public static final int REG_TRY_ENTIRE_MATCH = 0x0100; + + /** + * Execution flag. + * The substitute and substituteAll methods will treat the + * character '\' in the replacement as an escape to a literal + * character. In this case \n, \$, \\, \x40 and \012 + * will become n, $, \, x40 and 012 respectively. + * This flag has no effect if REG_NO_INTERPOLATE is set on. + */ + public static final int REG_REPLACE_USE_BACKSLASHESCAPE = 0x0200; /** Returns a string representing the version of the gnu.regexp package. */ public static final String version() { @@ -1614,8 +1624,7 @@ StringBuffer buffer = new StringBuffer(); REMatch m = getMatchImpl(input,index,eflags,buffer); if (m==null) return buffer.toString(); -buffer.append( ((eflags REG_NO_INTERPOLATE) 0) ? - replace : m.substituteInto(replace) ); +buffer.append(getReplacement(replace, m, eflags)); if (input.move(m.end[0])) { do { buffer.append(input.charAt(0)); @@ -1676,8 +1685,7 @@ StringBuffer buffer = new StringBuffer(); REMatch m; while ((m = getMatchImpl(input,index,eflags,buffer)) != null) { - buffer.append( ((eflags REG_NO_INTERPOLATE) 0) ? - replace : m.substituteInto(replace) ); + buffer.append(getReplacement(replace, m, eflags)); index = m.getEndIndex(); if (m.end[0] == 0) { char ch = input.charAt(0); @@ -1692,6 +1700,39 @@ } return buffer.toString(); } + + public static String getReplacement(String replace, REMatch m, int eflags) { +if ((eflags REG_NO_INTERPOLATE) 0) + return replace; +else { + if ((eflags
Re: [cp-patches] Patch: GtkComponentPeer fix
On Wed, 2006-02-08 at 08:47 +, Chris Burdess wrote: Lillian Angel wrote: I added this check to prevent several assertion errors in GdkGraphics. 2006-02-07 Lillian Angel [EMAIL PROTECTED] * 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. Surely that should be if either its height or its width are less than 1? Yes, Fixed. 2006-02-08 Lillian Angel [EMAIL PROTECTED] * gnu/java/awt/peer/gtk/GtkComponentPeer.java (handleEvent): Fixed check to determine if height or width is less than 1. Index: gnu/java/awt/peer/gtk/GtkComponentPeer.java === RCS file: /sources/classpath/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java,v retrieving revision 1.99 diff -u -r1.99 GtkComponentPeer.java --- gnu/java/awt/peer/gtk/GtkComponentPeer.java 7 Feb 2006 19:11:38 - 1.99 +++ gnu/java/awt/peer/gtk/GtkComponentPeer.java 8 Feb 2006 14:33:44 - @@ -308,18 +308,20 @@ { Graphics g = getGraphics(); +if (awtComponent.getWidth() 1 || awtComponent.getHeight() 1) + break; + // Some peers like GtkFileDialogPeer are repainted by Gtk itself if (g == null) break; g.setClip(((PaintEvent) event).getUpdateRect()); -if (awtComponent.getWidth() 0 awtComponent.getHeight() 0) - { -if (id == PaintEvent.PAINT) - awtComponent.paint(g); -else - awtComponent.update(g); - } + +if (id == PaintEvent.PAINT) + awtComponent.paint(g); +else + awtComponent.update(g); + g.dispose(); } catch (InternalError e)
[cp-patches] FYI: PlainView fixlet
I noticed that the PasswordView did draw one character too much. Investigation showed that the mistake is in PlainView.drawLine(), where we used to call drawUnselectedText() with startOffset and endOffset, whereas it should be endOffset - 1 (because endOffset is actually the position _after_ the last character in the element). 2006-02-08 Roman Kennke [EMAIL PROTECTED] * javax/swing/text/PlainView.java (drawLine): Call drawUnselectedText() with end offset - 1 to avoid drawing unnecessary characters. /Roman Index: javax/swing/text/PlainView.java === RCS file: /cvsroot/classpath/classpath/javax/swing/text/PlainView.java,v retrieving revision 1.35 diff -u -r1.35 PlainView.java --- javax/swing/text/PlainView.java 31 Jan 2006 10:03:32 - 1.35 +++ javax/swing/text/PlainView.java 8 Feb 2006 15:53:53 - @@ -46,7 +46,6 @@ import java.awt.Rectangle; import java.awt.Shape; -import javax.swing.SwingConstants; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent.ElementChange; @@ -153,7 +152,8 @@ metrics = g.getFontMetrics(); // FIXME: Selected text are not drawn yet. Element line = getElement().getElement(lineIndex); -drawUnselectedText(g, x, y, line.getStartOffset(), line.getEndOffset()); +drawUnselectedText(g, x, y, line.getStartOffset(), + line.getEndOffset() - 1); //drawSelectedText(g, , , , ); } catch (BadLocationException e)
[cp-patches] Patch: Choice fix
I have a test case that shows problem if any one is interested. But, the dispatchEventImpl function was causing several problems. This fixes several assertion errors when painting. 2006-02-08 Lillian Angel [EMAIL PROTECTED] * 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. Index: java/awt/Choice.java === RCS file: /sources/classpath/classpath/java/awt/Choice.java,v retrieving revision 1.23 diff -u -r1.23 Choice.java --- java/awt/Choice.java 7 Oct 2005 23:46:22 - 1.23 +++ java/awt/Choice.java 8 Feb 2006 16:26:26 - @@ -468,15 +468,16 @@ public synchronized void select(int index) { - if ((index 0) || (index getItemCount())) + if ((index 0) || (index = getItemCount())) throw new IllegalArgumentException(Bad index: + index); - this.selectedIndex = index; - if (peer != null) -{ + if (pItems.size() 0) { + selectedIndex = index; ChoicePeer cp = (ChoicePeer) peer; - cp.select (index); -} + if (cp != null) { + cp.select(index); + } + } } /*/ @@ -573,18 +574,6 @@ item_listeners.itemStateChanged(event); } -void -dispatchEventImpl(AWTEvent e) -{ - if (e.id = ItemEvent.ITEM_LAST - e.id = ItemEvent.ITEM_FIRST - (item_listeners != null - || (eventMask AWTEvent.ITEM_EVENT_MASK) != 0)) -processEvent(e); - else -super.dispatchEventImpl(e); -} - /*/ /**
[cp-patches] FYI: SpinnerDateModel fixes
I committed this patch to fix some small issues revealed by the new tests I added to Mauve recently: 2006-02-08 David Gilbert [EMAIL PROTECTED] * 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. Regards, Dave Index: javax/swing/SpinnerDateModel.java === RCS file: /sources/classpath/classpath/javax/swing/SpinnerDateModel.java,v retrieving revision 1.3 diff -u -r1.3 SpinnerDateModel.java --- javax/swing/SpinnerDateModel.java 2 Jul 2005 20:32:49 - 1.3 +++ javax/swing/SpinnerDateModel.java 8 Feb 2006 16:50:45 - @@ -87,6 +87,12 @@ public SpinnerDateModel(Date value, Comparable start, Comparable end, int calendarField) { +if (value == null) + throw new IllegalArgumentException(Null 'value' argument.); +if (start != null value.compareTo(start) 0) + throw new IllegalArgumentException(Require value on or after start.); +if (end != null value.compareTo(end) 0) + throw new IllegalArgumentException(Require value on or before end.); date = Calendar.getInstance(); date.setTime(value); this.start = start; @@ -167,9 +173,9 @@ prevCal.setTime(date.getTime()); prevCal.roll(calendarField, false); Date prevDate = prevCal.getTime(); -if (end != null) - if (end.compareTo(prevDate) 0) - return null; +if (start != null) + if (start.compareTo(prevDate) 0) +return null; return prevDate; } @@ -231,7 +237,11 @@ { if (! (value instanceof Date) || value == null) throw new IllegalArgumentException(Value not a date.); -date.setTime((Date) value); -fireStateChanged(); + +if (!date.getTime().equals(value)) + { +date.setTime((Date) value); +fireStateChanged(); + } } }
[cp-patches] FYI: Removing one more wrongly comitted file.
Removing the file that was comitted by chance. 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * tools/Makefile: Removed.
[cp-patches] FYI: Commenting javax.rmi.server
This patch adds comments to the two previously silent classes. No code is changed. 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * java/rmi/server/RemoteRef.java, java/rmi/server/RemoteStub.java: Commented. Index: java/rmi/server/RemoteRef.java === RCS file: /sources/classpath/classpath/java/rmi/server/RemoteRef.java,v retrieving revision 1.9 diff -u -r1.9 RemoteRef.java --- java/rmi/server/RemoteRef.java 5 Oct 2005 15:33:35 - 1.9 +++ java/rmi/server/RemoteRef.java 8 Feb 2006 19:06:01 - @@ -1,5 +1,6 @@ /* RemoteRef.java -- - Copyright (c) 1996, 1997, 1998, 1999, 2004 Free Software Foundation, Inc. + Copyright (c) 1996, 1997, 1998, 1999, 2004, 2006 + Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -44,8 +45,16 @@ import java.rmi.Remote; import java.rmi.RemoteException; +/** + * Represents a handler to the remote object. Each instance of the + * [EMAIL PROTECTED] RemoteStub} contains such handler and uses it to invoke remote + * methods via [EMAIL PROTECTED] #invoke(Remote, Method, Object[], long)}. + */ public interface RemoteRef extends Externalizable { + /** + * Indicates compatibility with JDK 1.1.* + */ long serialVersionUID = 3632638527362204081L; /** @@ -55,29 +64,74 @@ String packagePrefix = sun.rmi.server; /** - * @deprecated + * @deprecated use [EMAIL PROTECTED] #invoke(Remote, Method, Object[], long)} instead. */ void invoke (RemoteCall call) throws Exception; - Object invoke (Remote obj, Method method, Object[] params, long opnum) + /** + * Invoke a method. This method either returns the result of remote invocation + * or throws RemoteException if the remote call failed. Other exceptions may + * be thrown if some problem has occured in the application level. + * + * @param obj the object, containing the remote reference (for instance, + * remote stub, generated by rmic). + * @param method the method to invoke + * @param params the method parameters + * @param methodHash a persistent hash code that can be used to represent a + * method + * @return the result of the remote invocation + * @throws RemoteException if the remote call has failed + * @throws Exception if one is raised at the application level + */ + Object invoke (Remote obj, Method method, Object[] params, long methodHash) throws Exception; /** - * @deprecated + * @deprecated use [EMAIL PROTECTED] #invoke(Remote, Method, Object[], long)} instead. */ RemoteCall newCall (RemoteObject obj, Operation[] op, int opnum, long hash) throws RemoteException; /** - * @deprecated + * @deprecated use [EMAIL PROTECTED] #invoke(Remote, Method, Object[], long)} instead. */ void done (RemoteCall call) throws RemoteException; + /** + * Compare two remote objects for equality. The references are equal if + * they point to the same remote object. + * + * @param ref the reference to compare. + * + * @return true if this and passed references both point to the same remote + * object, false otherwise. + */ boolean remoteEquals (RemoteRef ref); + /** + * Get the hashcode for a remote object. Two remote object stubs, referring + * to the same remote object, have the same hash code. + * + * @return the hashcode of the remote object + */ int remoteHashCode(); + + /** + * Returns the class name of the reference type that must be written to the + * given stream. When writing, this returned name is passed first, and + * the reference.writeExternal(out) writes the reference specific data. + * + * @param out the stream, where the data must be written + * + * @return the class name. + */ String getRefClass (ObjectOutput out); + /** + * Get the string representation of this remote reference. + * + * @return the string representation. + */ String remoteToString(); } Index: java/rmi/server/RemoteStub.java === RCS file: /sources/classpath/classpath/java/rmi/server/RemoteStub.java,v retrieving revision 1.6 diff -u -r1.6 RemoteStub.java --- java/rmi/server/RemoteStub.java 2 Jul 2005 20:32:40 - 1.6 +++ java/rmi/server/RemoteStub.java 8 Feb 2006 19:06:01 - @@ -37,21 +37,40 @@ package java.rmi.server; +/** + * This is a base class for the automatically generated RMI stubs. + */ public abstract class RemoteStub extends RemoteObject { + /** + * Use serialVersionUID for interoperability. + */ static final long serialVersionUID = -1585587260594494182l; - + + /** + * Constructs the remote stub with no reference set. + */ protected RemoteStub () { super (); } - + + /** + * Constructs the remote stub that uses given remote reference for the + * method invocations. + * + * @param ref the remote reference for the method
[cp-patches] Patch: FYI: .cvsignore
I'm checking this in. This updates .cvsignore for the new tools directory. Tom 2006-02-08 Tom Tromey [EMAIL PROTECTED] * tools/.cvsignore: Added Makefile.in. Index: tools/.cvsignore === RCS file: tools/.cvsignore diff -N tools/.cvsignore --- /dev/null 1 Jan 1970 00:00:00 - +++ tools/.cvsignore1 Jan 1970 00:00:00 - @@ -0,0 +1,1 @@ +Makefile.in
[cp-patches] FYI: SpinnerNumberModel.java fixes
This patch (committed) fixes some failures on Mauve tests that I committed to Mauve CVS earlier today: 2006-02-08 David Gilbert [EMAIL PROTECTED] * 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. Regards, Dave Gilbert JFreeChart Project Leader Index: javax/swing/SpinnerNumberModel.java === RCS file: /sources/classpath/classpath/javax/swing/SpinnerNumberModel.java,v retrieving revision 1.7 diff -u -r1.7 SpinnerNumberModel.java --- javax/swing/SpinnerNumberModel.java 2 Jul 2005 20:32:49 - 1.7 +++ javax/swing/SpinnerNumberModel.java 8 Feb 2006 21:44:32 - @@ -131,30 +131,11 @@ if (minimum.compareTo(value) 0) throw new IllegalArgumentException(minimum is not = value); } -else - minimum = new Comparable() - { - public int compareTo(Object obj) - { - return -1; - } - }; - - if (maximum != null) { if (maximum.compareTo(value) 0) throw new IllegalArgumentException(maximum is not = value); } -else - maximum = new Comparable() - { - public int compareTo(Object obj) - { - return 1; - } - }; - this.value = value; this.stepSize = stepSize; @@ -175,8 +156,11 @@ if (! (value instanceof Number)) throw new IllegalArgumentException(value must be a Number); -this.value = (Number) value; -fireStateChanged(); +if (!this.value.equals(value)) + { +this.value = (Number) value; +fireStateChanged(); + } } /** @@ -258,7 +242,7 @@ public void setMinimum(Comparable newMinimum) { -if (minimum != newMinimum) +if (minimum != null ? !minimum.equals(newMinimum) : newMinimum != null) { minimum = newMinimum; fireStateChanged(); @@ -272,7 +256,7 @@ public void setMaximum(Comparable newMaximum) { -if (maximum != newMaximum) +if (maximum != null ? !maximum.equals(newMaximum) : newMaximum != null) { maximum = newMaximum; fireStateChanged(); @@ -289,7 +273,7 @@ if (newStepSize == null) throw new IllegalArgumentException(); -if (stepSize != newStepSize) +if (!stepSize.equals(newStepSize)) { stepSize = newStepSize; fireStateChanged();
[cp-patches] RFC: Time out HTTP keep-alive connections
Currently we keep a HTTP keep-alive connection open forever. Although allowed by RFC 2616, this is forbidden by several other specifications derived from it (DLNA and UPnP). In addition to being incompatible with these other specification, it is a waste of resources to leave these connections open. A further point of reference is Sun's runtime which closes after 10 seconds of idle time. I am using http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26082 to track the issue. The patch factors the connection pooling code into a new class (HTTPConnection.Pool) and adds a thread that closes the idle connections. Also of note is the ability to pool more than one connection to a single server. Having more than one pooled connection to the same server should give higher throughput to programs that read from the same server on multiple threads. The patch and testing are against GCC-4.1. If no objections are raised, I will retest on the classpath HEAD before committing. 2006-02-08 David Daney [EMAIL PROTECTED] 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. David Daney Index: gnu/java/net/protocol/http/HTTPConnection.java === --- gnu/java/net/protocol/http/HTTPConnection.java (revision 110501) +++ gnu/java/net/protocol/http/HTTPConnection.java (working copy) @@ -1,5 +1,5 @@ /* HTTPConnection.java -- - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -49,11 +49,14 @@ import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Socket; +import java.security.AccessController; import java.security.GeneralSecurityException; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.ListIterator; import java.util.List; import java.util.Map; @@ -164,7 +167,7 @@ /** * The pool that this connection is a member of (if any). */ - private LinkedHashMap pool; + private Pool pool; /** * Creates a new HTTP connection. @@ -331,27 +334,235 @@ } /** + * Manages a pool of HTTPConections. The pool will have a maximum + * size determined by the value of the maxConn parameter passed to + * the [EMAIL PROTECTED] #get} method. This value inevitably comes from the + * http.maxConnections system property. If the + * classpath.net.http.keepAliveTTL system property is set, that will + * be the maximum time (in seconds) that an idle connection will be + * maintained. + */ + static class Pool + { +/** + * Singleton instance of the pool. + */ +static Pool instance = new Pool(); + +/** + * The pool + */ +final LinkedList connectionPool = new LinkedList(); + +/** + * Maximum size of the pool. + */ +int maxConnections; + +/** + * If greater than zero, the maximum time a connection will remain + * int the pool. + */ +int connectionTTL; + + +class GetPropertiesAction + implements PrivilegedAction +{ + public Object run() + { +String ttl = System.getProperty(classpath.net.http.keepAliveTTL); +connectionTTL = (ttl != null ttl.length() 0) ? + 1000 * Math.max(1, Integer.parseInt(ttl)) : 1; + +String mc = System.getProperty(http.maxConnections); +maxConnections = (mc != null mc.length() 0) ? + Math.max(Integer.parseInt(mc), 1) : 5; +if (maxConnections 1) + maxConnections = 1; +return null; + } +} + +/** + * A thread that removes connections older than connectionTTL. + */ +class Reaper + implements Runnable +{ + public void run() + { +synchronized (Pool.this) + { +try + { +do + { +while (connectionPool.size() 0) + { +long currentTime = System.currentTimeMillis(); + +HTTPConnection c = + (HTTPConnection)connectionPool.getFirst(); + +long waitTime = c.timeLastUsed + + connectionTTL - currentTime; + +if (waitTime =
Classpath on Cgwin: UnsatisfiedLinkError problem
Hi guys, after building Classpath on Cygwin, I'm now trying to use it in a simple HelloWorld application. As an interpreter, I'm using JC (by Archie Cobbs). When I run: $jc HelloWorld I got the following exception: java.lang.UnsatisfiedLinkError: failed to open native library: 'usr/local/classpath/lib/classpath/libjavanio.so' The reason, I think, is that Classpath doesn't know it's running on Cygwin, therefore it looks for libjavanio.so instead of libjavanio.dll (which exists on the filesytem). Can anyone help out? thanks for any help, Enrico
Re: Classpath on Cgwin: UnsatisfiedLinkError problem
Hi Enrico, On Wed, Feb 08, 2006 at 02:14:59PM +0100, Enrico Migliore wrote: after building Classpath on Cygwin, I'm now trying to use it in a simple HelloWorld application. As an interpreter, I'm using JC (by Archie Cobbs). When I run: $jc HelloWorld I got the following exception: java.lang.UnsatisfiedLinkError: failed to open native library: 'usr/local/classpath/lib/classpath/libjavanio.so' The reason, I think, is that Classpath doesn't know it's running on Cygwin, therefore it looks for libjavanio.so instead of libjavanio.dll (which exists on the filesytem). When initially writing the CygwinOnClasspath[0] wiki entry on the mediation wiki, I came across the same issue. I found that the problem is actually not in GNU Classpath but more in how specific VMs deal with loadLibrary calls. For example, java.nio.channels.FileChannelImpl in GNU Classpath uses the following for loading its native library: if (Configuration.INIT_LOAD_LIBRARY) { System.loadLibrary(javanio); } VM writers typically handle the delegated loadLibrary() call via their implementation of the VM* interface classes and in their own native code. As cygwin uses a decidedly odd naming convention for its dlls, I'd say those parts of jc would need to be investigated. IIRC, Cygwin calles its equivalent of libjavanio.so cygjavanio-0.dll. Hope this helps, Steph [0] http://developer.classpath.org/mediation/ClasspathOnCygwin -- Stephane Meslin-Weber Email: [EMAIL PROTECTED] Senior Software Engineer Web: http://odonata.tangency.co.uk signature.asc Description: Digital signature
Re: Classpath on Cgwin: UnsatisfiedLinkError problem
On Wed, Feb 08, 2006 at 03:19:19PM +, S. Meslin-Weber wrote: When initially writing the CygwinOnClasspath[0] wiki entry on the ... [0] http://developer.classpath.org/mediation/ClasspathOnCygwin Woops... I did mean ClasspathOnCygwin (the link is correct) CygwinOnClasspath would be an interesting project! -- Stephane Meslin-Weber Email: [EMAIL PROTECTED] Senior Software Engineer Web: http://odonata.tangency.co.uk signature.asc Description: Digital signature
[Bug classpath/26166] Matcher.find mis-behaviour
--- Comment #5 from kaz at maczuka dot gcd dot org 2006-02-08 11:13 --- Before implementing this new syntax, could someone explain this strange behavior of Sun's JDK? The source of W.java used here is attached below. bash$ java -DFIND=1 W 'b' '[^b]' false bash$ java -DFIND=1 W 'b' '[^b[b]]' true G0 = b bash$ java -DFIND=1 W 'b' '[^b[b]b]' false bash$ java -DFIND=1 W 'b' '[^b[b]b[b]]' true G0 = b bash$ java -DFIND=1 W 'b' '[^b[b]b[b]b]' false bash$ java -DFIND=1 W 'b' '[^[b]]' true G0 = b bash$ java -DFIND=1 W 'b' '[^[b]b]' false bash$ java -DFIND=1 W 'b' '[^[b]b[b]]' true G0 = b bash$ java -DFIND=1 W 'b' '[^[b]b[b]b]' false bash$ cat W.java import java.util.regex.*; public class W { public static void main(String[] args) throws Exception { int flags = 0; boolean find = (System.getProperty(FIND) != null); if (System.getProperty(CASE_INSENSITIVE) != null) { flags |= Pattern.CASE_INSENSITIVE; } Pattern p = Pattern.compile(args[1], flags); Matcher m = p.matcher(args[0]); boolean b = (find ? m.find() : m.matches()); System.out.println(b); if (b) { int groups = m.groupCount(); for (int i = 0; i = groups; i++) { System.out.println(G + i + = + m.group(i)); } } } } I assume [^X[Y][Z]] means (not X) or Y or Z whrere X must not contain a subclass enclosed by []. [^[X]] and [^X[Y]Z] are invalid expressions whose matching results are meaningless, although Sun's JDK neglects the checking of validity. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26166 ___ Bug-classpath mailing list Bug-classpath@gnu.org http://lists.gnu.org/mailman/listinfo/bug-classpath
Re: [Cp-tools-discuss] Re: Planning to check-in new branch: the GIOP extensions for rmic.
Tom == Thomas Fitzsimmons [EMAIL PROTECTED] writes: Tom In fact, long term, I'd rather see all of the tools in cp-tools Tom merged into cvs.savannah.gnu.org:/sources/classpath and used by Tom all bundlers of GNU Classpath. Yeah, I agree. This has a number of benefits, and I can't think of any drawbacks. We discussed this on irc a bit and one thing that came up was licensing. In particular, I think we want to be sure that the various tools are usable in a typical java environment -- so for instance I think we want it to be clear to end users, packagers, etc, that it is fine for 'ant' to load gjdoc (or any Classspath tool) from the tools.jar. From my perspective this would be simplest if we made sure all the tools were also GPL+Exception. This would also make it simpler to refactor code across the tool/core boundary. However, a relicense may not actually be required. A statement from the FSF assuring people that this kind of use is allowable would probably suffice. Tom Toward that end, I plan to propose merging gcjappletviewer into Tom GNU Classpath once the security work is done. Excellent! Tom
Re: Classpath on Cgwin: UnsatisfiedLinkError problem
S. Meslin-Weber wrote: VM writers typically handle the delegated loadLibrary() call via their implementation of the VM* interface classes and in their own native code. As cygwin uses a decidedly odd naming convention for its dlls, I'd say those parts of jc would need to be investigated. IIRC, Cygwin calles its equivalent of libjavanio.so cygjavanio-0.dll. So... what's an #ifdef one can use on cygwin to detect cygwin? E.g. #ifdef WINDOWS or #ifdef CYGWIN or something? (This is hard for me to fix right now because I don't have cygwin set up anywhere). Presumably other VMs have the same issue (if they want to run on cygwin). Has anyone already solved this problem? Enrico: the relevant macro is _JC_LIBRARY_FMT in definitions.h. Perhaps you can play with some possibilities there. Thanks, -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com
[commit-cp] classpath gnu/CORBA/IOR.java ./ChangeLog ./NEWS...
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: Audrius Meskauskas [EMAIL PROTECTED] 06/02/08 12:14:05 Modified files: gnu/CORBA : IOR.java . : ChangeLog NEWS examples/gnu/classpath/examples/CORBA/swing/x5: _GameManagerImpl_Tie.java _PlayerImpl_Tie.java tools/gnu/classpath/tools/giop: GRMIC.java README tools : Makefile.am Added files: tools/gnu/classpath/tools: HelpPrinter.java tools/gnu/classpath/tools/giop: IorParser.txt NameService.java IorParser.java NamingService.txt Log message: 2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/HelpPrinter.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/CORBA/IOR.java.diff?tr1=1.11tr2=1.12r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6300tr2=1.6301r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/NEWS.diff?tr1=1.107tr2=1.108r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/IorParser.txt?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/NameService.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/GRMIC.java.diff?tr1=1.1tr2=1.2r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/IorParser.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/NamingService.txt?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/gnu/classpath/tools/giop/README.diff?tr1=1.1tr2=1.2r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/Makefile.am.diff?tr1=1.1tr2=1.2r1=textr2=text
[commit-cp] classpath/tools Makefile.in
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: Audrius Meskauskas [EMAIL PROTECTED] 06/02/08 12:54:29 Removed files: tools : Makefile.in Log message: tools/Makefile.in2006-02-08 Audrius Meskauskas [EMAIL PROTECTED] * tools/Makefile.in: Removed.
[commit-cp] classpath ChangeLog
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: Audrius Meskauskas [EMAIL PROTECTED] 06/02/08 12:50:15 Modified files: . : ChangeLog Log message: Correcting the first 2006-02-07 Audrius Meskauskas [EMAIL PROTECTED] changelog entry. Sorry. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6302tr2=1.6303r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/text/PlainVie...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/02/08 15:57:41 Modified files: . : ChangeLog javax/swing/text: PlainView.java Log message: 2006-02-08 Roman Kennke [EMAIL PROTECTED] * javax/swing/text/PlainView.java (drawLine): Call drawUnselectedText() with end offset - 1 to avoid drawing unnecessary characters. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6304tr2=1.6305r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/text/PlainView.java.diff?tr1=1.35tr2=1.36r1=textr2=text
[commit-cp] classpath ./ChangeLog java/awt/Choice.java
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: Lillian Angel [EMAIL PROTECTED] 06/02/08 16:31:23 Modified files: . : ChangeLog java/awt : Choice.java Log message: 2006-02-08 Lillian Angel [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6305tr2=1.6306r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/Choice.java.diff?tr1=1.23tr2=1.24r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/SpinnerDateMo...
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: David Gilbert [EMAIL PROTECTED] 06/02/08 16:54:51 Modified files: . : ChangeLog javax/swing: SpinnerDateModel.java Log message: 2006-02-08 David Gilbert [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6306tr2=1.6307r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/SpinnerDateModel.java.diff?tr1=1.3tr2=1.4r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/SpinnerNumber...
CVSROOT:/sources/classpath Module name:classpath Branch: Changes by: David Gilbert [EMAIL PROTECTED] 06/02/08 21:46:25 Modified files: . : ChangeLog javax/swing: SpinnerNumberModel.java Log message: 2006-02-08 David Gilbert [EMAIL PROTECTED] * 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. -- CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6309tr2=1.6310r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/SpinnerNumberModel.java.diff?tr1=1.7tr2=1.8r1=textr2=text
[commit-cp] classpath ./ChangeLog tools/.cvsignore
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Tom Tromey [EMAIL PROTECTED] 06/02/08 20:52:31 Modified files: . : ChangeLog Added files: tools : .cvsignore Log message: * tools/.cvsignore: Added Makefile.in. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6308tr2=1.6309r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/tools/.cvsignore?rev=1.1