[cp-patches] FYI: Set version number and add NEWS entries
Hi, 2005-01-13 Mark Wielaard [EMAIL PROTECTED] * configure.ac: Set version to 0.20. * NEWS: Add entries for all the new work done. We are almost done. Sorry for all the omissions in the NEWS file. Obviously a lot more has happened then what I summarized. Please do add your own entries next time you added something cool. Reading a 215K ChangeLog is fun, but a lot of work :) Cheers, Mark Index: configure.ac === RCS file: /cvsroot/classpath/classpath/configure.ac,v retrieving revision 1.124 diff -u -r1.124 configure.ac --- configure.ac 12 Jan 2006 21:01:26 - 1.124 +++ configure.ac 13 Jan 2006 11:32:49 - @@ -6,7 +6,7 @@ dnl define([AC_CACHE_LOAD], )dnl dnl define([AC_CACHE_SAVE], )dnl -AC_INIT([GNU Classpath],[0.20-pre],[EMAIL PROTECTED],[classpath]) +AC_INIT([GNU Classpath],[0.20],[EMAIL PROTECTED],[classpath]) AC_CONFIG_SRCDIR(java/lang/System.java) AC_CANONICAL_TARGET Index: NEWS === RCS file: /cvsroot/classpath/classpath/NEWS,v retrieving revision 1.105 diff -u -r1.105 NEWS --- NEWS 13 Nov 2005 22:29:45 - 1.105 +++ NEWS 13 Jan 2006 11:32:50 - @@ -1,10 +1,47 @@ -New in release 0.20 +New in release 0.20 (Jan 13, 2006) + +* New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX, + XPath and XSLT improvements. Support for XInclude and XML Base added. + Conformance is now regularly tested against various test-suites at + http://builder.classpath.org/xml/ See also doc/README.jaxp. + +* Full beans XMLEncoder implementation. + +* javax.sound.sampled implementation. + +* javax.print.attribute and javax.print.event implementated. + +* Lots of new datatransfer, print swing and swing.text work and optimization. + +* Additional 1.5 support. Including new (separate) generic branch release. + +* SecurityManager cleanups and start of review of all Permission checks + (includes adding lots of new checks to the Mauve test-suite). + +* Buildable on cygwin. + +* Fully buildable as in-workspace library-plus-vm inside (native) Eclipse + see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse + +* Full example that shows a real world CORBA and Free Swing implementation. + See examples/gnu/classpath/examples/CORBA/swing/README.html + +* A list of bug fixes can be found at: +http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpathtarget_milestone=0.20 Runtime interface changes: * New method VMStackWalker.getClassLoader() was added to avoid an infinite loop between getCallingClassLoader() and Class.getClassLoader(). +* The included fdlibm implementation has seen several cleanups to handle + new architectures and namespacing issues (in particular for ppc, darwin + and non-C99 compilers). Please double check any arithmetic test against + new platforms/runtimes. + +* The gnu.java.net.Plain[Datagram]Socket implementations have been + turned into VM reference classes with JNI/Posix implementations. + New in release 0.19 (Nov 2, 2005) * The Swing RepaintManager has been reworked for more efficient painting, signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] RFC: gnu.regexp fix to allow ([(])
Hi Ito, On Wed, 2006-01-11 at 01:08 +0900, Ito Kazumitsu wrote: This fixes the bug #22802. ChangeLog: 2006-01-10 Ito Kazumitsu [EMAIL PROTECTED] Fixes bug #22802 * gnu/regexp/RE.java(initialize): Fixed the parsing of character classes within a subexpression. This introduces a few Mauve failures: +FAIL: gnu.testlet.java.util.regex.CharacterClasses: testMatchComplete '[[]' flags 0 (number 5) +FAIL: gnu.testlet.java.util.regex.CharacterClasses: testComplete '[[]' flags 0 (reset) (number 5) +FAIL: gnu.testlet.java.util.regex.CharacterClasses: testMatchComplete '[^[]' flags 0 (number 5) +FAIL: gnu.testlet.java.util.regex.CharacterClasses: testComplete '[^[]' flags 0 (reset) (number 5) Could you take a look at those? I did check in the following patch to chain the REException so it is more clear where this is coming from: 2005-01-13 Mark Wielaard [EMAIL PROTECTED] * java/util/regex/Pattern.java (Pattern): Chain REException. Cheers, Mark diff -u -r1.13 Pattern.java --- java/util/regex/Pattern.java2 Jul 2005 20:32:44 - 1.13 +++ java/util/regex/Pattern.java13 Jan 2006 09:45:10 - @@ -103,8 +103,11 @@ } catch (REException e) { - throw new PatternSyntaxException(e.getMessage(), + PatternSyntaxException pse; + pse = new PatternSyntaxException(e.getMessage(), regex, e.getPosition()); + pse.initCause(e); + throw pse; } } signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] [generics] Modifier.toString()
Hi, there is a somewhat unfortunate situation on the generics branch with Modifier.toString() which takes a StringBuffer on the trunk, but a StringBuilder on the branch. Officially this isn't part of the Vm interface, but there are runtimes that override the Method, Constructor and Field classes and that do use this package private method. To make them work again for now I just duplicated this method to work with either a Stringbuffer or a StringBuilder. 2005-01-13 Mark Wielaard [EMAIL PROTECTED] * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): Duplicate of toString(int, StringBuilder). Committed to the branch. Cheers, Mark Index: java/lang/reflect/Modifier.java === RCS file: /cvsroot/classpath/classpath/java/lang/reflect/Modifier.java,v retrieving revision 1.8.2.3 diff -u -r1.8.2.3 Modifier.java --- java/lang/reflect/Modifier.java 2 Aug 2005 20:12:23 - 1.8.2.3 +++ java/lang/reflect/Modifier.java 13 Jan 2006 13:13:44 - @@ -292,12 +292,54 @@ } /** + * Package helper method that can take a StringBuilder. + * @param mod the modifier + * @param r the StringBuilder to which the String representation is appended + * @return r, with information appended + */ + static StringBuilder toString(int mod, StringBuilder r) + { +if (isPublic(mod)) + r.append(public ); +if (isProtected(mod)) + r.append(protected ); +if (isPrivate(mod)) + r.append(private ); +if (isAbstract(mod)) + r.append(abstract ); +if (isStatic(mod)) + r.append(static ); +if (isFinal(mod)) + r.append(final ); +if (isTransient(mod)) + r.append(transient ); +if (isVolatile(mod)) + r.append(volatile ); +if (isSynchronized(mod)) + r.append(synchronized ); +if (isNative(mod)) + r.append(native ); +if (isStrict(mod)) + r.append(strictfp ); +if (isInterface(mod)) + r.append(interface ); + +// Trim trailing space. +if ((mod ALL_FLAGS) != 0) + r.setLength(r.length() - 1); +return r; + } + + /** * Package helper method that can take a StringBuffer. + * This is indeed a duplicate of the method that takes a StringBuilder + * since some runtimes override the given Method, Constructor and Field + * classes that and use a StringBuffer. * @param mod the modifier * @param r the StringBuffer to which the String representation is appended * @return r, with information appended */ - static StringBuilder toString(int mod, StringBuilder r) + static StringBuffer toString(int mod, StringBuffer r) { if (isPublic(mod)) r.append(public ); signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] Re: Patch: DefaultStyledDocument clean-up
Ugh! Attached wrong patch.. here is the correct one. Lillian On Fri, 2006-01-13 at 11:21 -0500, Lillian Angel wrote: Cleaned up the code in DefaultStyledDocument. 2006-01-13 Lillian Angel [EMAIL PROTECTED] * 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. Index: javax/swing/text/DefaultStyledDocument.java === RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultStyledDocument.java,v retrieving revision 1.35 diff -u -r1.35 DefaultStyledDocument.java --- javax/swing/text/DefaultStyledDocument.java 12 Jan 2006 22:53:25 - 1.35 +++ javax/swing/text/DefaultStyledDocument.java 13 Jan 2006 16:19:49 - @@ -433,34 +433,12 @@ private int endOffset; /** - * The number of inserted end tags. This is a counter which always gets - * incremented when an end tag is inserted. This is evaluated before - * content insertion to go up the element stack. - */ -private int numEndTags; - -/** - * The number of inserted start tags. This is a counter which always gets - * incremented when an end tag is inserted. This is evaluated before - * content insertion to go up the element stack. - */ -private int numStartTags; - -/** * The current position in the element tree. This is used for bulk inserts * using ElementSpecs. */ private Stack elementStack; /** - * Holds fractured elements during insertion of end and start tags. - * Inserting an end tag may lead to fracturing of the current paragraph - * element. The elements that have been cut off may be added to the - * next paragraph that is created in the next start tag. - */ -Element[] fracture; - -/** * The ElementChange that describes the latest changes. */ DefaultDocumentEvent documentEvent; @@ -767,8 +745,6 @@ elementStack.clear(); elementStack.push(root); elementStack.push(root.getElement(root.getElementIndex(offset))); - numEndTags = 0; - numStartTags = 0; insertUpdate(data); } @@ -851,40 +827,6 @@ break; } } - endEdit(); -} - -/** - * Finishes an insertion by possibly evaluating the outstanding start and - * end tags. However, this is only performed if the event has received any - * modifications. - */ -private void endEdit() -{ - if (documentEvent.modified) -prepareContentInsertion(); -} - -/** - * Evaluates the number of inserted end tags and performs the corresponding - * structural changes. - */ -private void prepareContentInsertion() -{ - while (numEndTags 0) -{ - elementStack.pop(); - numEndTags--; -} - - while (numStartTags 0) -{ - Element current = (Element) elementStack.peek(); - Element newParagraph = -insertParagraph((BranchElement) current, offset); - elementStack.push(newParagraph); - numStartTags--; -} } private Element insertParagraph(BranchElement par, int offset) @@ -1025,7 +967,6 @@ */ private void insertContentTag(ElementSpec tag) { - prepareContentInsertion(); int len = tag.getLength(); int dir = tag.getDirection(); AttributeSet tagAtts = tag.getAttributes(); @@ -1921,35 +1862,6 @@ { // Nothing to do here. This is intended to be overridden by subclasses. } - - void printElements (Element start, int pad) - { -for (int i = 0; i pad; i++) - System.out.print( ); -if (pad == 0) - System.out.println (ROOT ELEMENT (+start.getStartOffset()+, +start.getEndOffset()+)); -else if (start instanceof AbstractDocument.BranchElement) - System.out.println (BranchElement (+start.getStartOffset()+, +start.getEndOffset()+)); -else - { -{ - try -{ - System.out.println (LeafElement (+start.getStartOffset()+, - + start.getEndOffset()+): + - start.getDocument(). - getText(start.getStartOffset(), - start.getEndOffset() - - start.getStartOffset())); -} - catch (BadLocationException ble) -{ -} -} - } -for (int i = 0; i start.getElementCount(); i ++) - printElements (start.getElement(i), pad+3); - } /**
[cp-patches] FYI: Add 0.20 release announcement
And now it is official! 2006-01-13 Mark Wielaard [EMAIL PROTECTED] * 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. Committed, Mark Index: doc/www.gnu.org/newsitems.txt === RCS file: /cvsroot/classpath/classpath/doc/www.gnu.org/newsitems.txt,v retrieving revision 1.36 diff -u -r1.36 newsitems.txt --- doc/www.gnu.org/newsitems.txt 5 Jan 2006 20:07:36 - 1.36 +++ doc/www.gnu.org/newsitems.txt 13 Jan 2006 16:52:58 - @@ -3,6 +3,11 @@ url=events/fosdem06.html /newsitem +newsitem date=13 Jan 2006 +createlink name=GNU Classpath 0.20 +url=announce/20060113.html +/newsitem + newsitem date=02 Nov 2005 createlink name=GNU Classpath 0.19 url=announce/20051102.html Index: doc/www.gnu.org/announce/20060113.wml === RCS file: doc/www.gnu.org/announce/20060113.wml diff -N doc/www.gnu.org/announce/20060113.wml --- /dev/null 1 Jan 1970 00:00:00 - +++ doc/www.gnu.org/announce/20060113.wml 13 Jan 2006 16:52:58 - @@ -0,0 +1,289 @@ +#!wml --include=.. + +#use wml::std::page +#use wml::std::lang +#use wml::fmt::isolatin +#use wml::std::case global=upper + +lang:star:slice: + +set-var last-modified-author=mjw + +#include include/macros.wml + +header title=GNU Classpath 0.20 Announcement (2006-01-13) +pre +GNU Classpath 0.20 released + +GNU Classpath, essential libraries for java, is a project to create +free core class libraries for use with runtimes, compilers and tools +for the java programming language. + +The GNU Classpath developer snapshot releases are not directly aimed +at the end user but are meant to be integrated into larger development +platforms. For example the GCC (gcj) and Kaffe projects will use the +developer snapshots as a base for future versions. More projects based +on GNU Classpath: http://www.gnu.org/software/classpath/stories.html + +Some highlights of changes in this release (more extensive list below): + + New StAX pull parser and SAX-over-StAX driver. Full XMLEncoder + implementation. The packages javax.sound.sampled, javax.print.attribute + and javax.print.event have been implemented. Lots of new datatransfer, + print, swing and swing.text work. Performance improvements in the + painting/layout mechanism. Additional 1.5 support, including (separate) + generic branch release. SecurityManager cleanups and start of review + of all Permission checks. Buildable on cygwin. Fully buildable as + in-workspace library-plus-vm inside (native) Eclipse. Real world + Free Swing and CORBA example added. + +GNU Classpath 0.20 also comes in a generic version. +classpath-0.20-generics contains a version of the core library +that uses the new 1.5 language features such as generics and +enumerations. ECJ, JamVM, IKVM and Cacao are known to support the +generics release (*). And you should be able to run Eclipse 3.1 with +it to develop programs that use the new 1.5 language and core library +additions. classpath-generics is a work in progress and not as +extensively tested as our regular releases. But please try it out if +you want to help us test the new 1.5 support of the core libraries. + +(*) There is one additional VM interface needed for the VMClassLoader +static final Class defineClassWithTransformers(ClassLoader loader, +String name, byte[] data, int offset, int len, ProtectionDomain pd) +Which is used for the new java.management.instrumentation support. +See the VM Integration Guide for more details: +http://www.gnu.org/software/classpath/docs/vmintegration.html + +Thanks to a donation of Berkeley Signal Inc GNU Classpath now has an +official autobuilder machine which is used for quality assurance, +regression testing, conformance reports and for publishing continous +snapshots. The machine can be reached as http://builder.classpath.org/ + +40 people actively contributed to this release and made +605 CVS commits during the last two months of development +(excluding the generics branch work). diffstat since 0.19: + 617 files changed, 89622 insertions(+), 37478 deletions(-) + +More details about the various changes and contributions below. + +A full list of bug reports fixed for this release can be found at: +http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpathtarget_milestone=0.20 + +The GNU Classpath developers site http://developer.classpath.org/ +provides detailed information on how to start with helping the GNU +Classpath project and gives an overview of the core class library +packages currently provided. For each snapshot release generated +documentation is provided through the GNU Classpath Tools gjdoc +project. A documentation generation framework for java source +files used by the GNU project. Full documentation on the currently
Re: [cp-patches] [generics] Modifier.toString()
Mark == Mark Wielaard [EMAIL PROTECTED] writes: Mark there is a somewhat unfortunate situation on the generics branch with Mark Modifier.toString() which takes a StringBuffer on the trunk, but a Mark StringBuilder on the branch. Officially this isn't part of the Vm Mark interface, but there are runtimes that override the Method, Constructor Mark and Field classes and that do use this package private method. Mark To make them work again for now I just duplicated this method to work Mark with either a Stringbuffer or a StringBuilder. Let's make a public method somewhere in gnu.*. Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] GNU Crypto and Jessie merge
Raif == Raif S Naffah [EMAIL PROTECTED] writes: Raif Tom Tromey, some time ago, worked on Jalopy, to customize it to suit GNU Raif formatting standard purposes. he may be able to shed some light on the Raif tool's fitness for this purpose. if it works that can solve this issue Raif --and a similar one in the Mauve part for the corresponding testlets. Just for the record ... I gave up on this after finding the Eclipse formatter. Jalopy had some important bugs and I didn't have the time (or the interest, really) to fix all of them. Eclipse's formatter, though not perfect, is at least actively developed :-) Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] Patch: Another DefaultStyledDocument fix
I changed the class so all the addEdit calls are all done after insertUpdate is called. This fixes some mauve regressions. 2006-01-13 Lillian Angel [EMAIL PROTECTED] * 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. Index: javax/swing/text/DefaultStyledDocument.java === RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultStyledDocument.java,v retrieving revision 1.36 diff -u -r1.36 DefaultStyledDocument.java --- javax/swing/text/DefaultStyledDocument.java 13 Jan 2006 16:20:51 - 1.36 +++ javax/swing/text/DefaultStyledDocument.java 13 Jan 2006 19:26:34 - @@ -410,6 +410,33 @@ return b.toString(); } } + + /** + * Instance of all editing information for an object in + * the Vector. + */ + class Edit + { +/** The element to edit . */ +Element e; + +/** The index of the change. */ +int index; + +/** The removed elements. */ +Element[] removed; + +/** The added elements. */ +Element[] added; + +public Edit(Element e, int i, Element[] removed, Element[] added) +{ + this.e = e; + this.index = i; + this.removed = removed; + this.added = added; +} + } /** * Performs all emstructural/code changes to the codeElement/code @@ -594,7 +621,7 @@ added = new Element[]{ res[0], res[1] }; } par.replace(index, removed.length, added); - addEdit(par, index, removed, added); + edits.add(new Edit(par, index, removed, added)); } int endOffset = offset + length; @@ -617,7 +644,7 @@ added = new Element[]{ res[0], res[1] }; } par.replace(index, removed.length, added); - addEdit(par, index, removed, added); + edits.add(new Edit(par, index, removed, added)); } } @@ -683,7 +710,7 @@ } ((BranchElement) el).replace(index, removed.length, added); - addEdit(el, index, removed, added); + edits.add(new Edit(el, index, removed, added)); BranchElement newPar = (BranchElement) createBranchElement(el.getParentElement(), el.getAttributes()); @@ -698,7 +725,7 @@ added = new Element[0]; ((BranchElement) el).replace(index, removed.length, added); - addEdit(el, index, removed, added); + edits.add(new Edit(el, index, removed, added)); BranchElement newPar = (BranchElement) createBranchElement(el.getParentElement(), el.getAttributes()); @@ -742,10 +769,18 @@ this.endOffset = offset + length; documentEvent = ev; // Push the root and the paragraph at offset onto the element stack. + edits.clear(); elementStack.clear(); elementStack.push(root); elementStack.push(root.getElement(root.getElementIndex(offset))); insertUpdate(data); + + int size = edits.size(); + for (int i = 0; i size; i++) +{ + Edit curr = (Edit) edits.get(i); + addEdit(curr.e, curr.index, curr.removed, curr.added); +} } /** @@ -779,9 +814,8 @@ (grandParent.getElementIndex(parent.getEndOffset())); Element firstLeaf = nextBranch.getElement(0); while (!firstLeaf.isLeaf()) -{ firstLeaf = firstLeaf.getElement(0); -} + BranchElement parent2 = (BranchElement) firstLeaf.getParentElement(); Element newEl2 = createLeafElement(parent2, @@ -789,7 +823,6 @@ offset, firstLeaf.getEndOffset()); parent2.replace(0, 1, new Element[] { newEl2 }); - ((BranchElement) parent). replace(index, 1, new Element[] { newEl1 }); } @@ -869,14 +902,14 @@ } } par.replace(index, removed.length, added); - addEdit(par, index, removed, added); + edits.add(new Edit(par, index, removed, added)); } else { ret = createBranchElement(par, null); Element[] added = new Element[]{ ret }; par.replace(index, 0, added); - addEdit(par, index, new Element[0], added); + edits.add(new Edit(par, index,
Re: [cp-patches] GNU Crypto and Jessie merge
Tom == Thomas Fitzsimmons [EMAIL PROTECTED] writes: sounds like your VM is not installing the additional Providers: GnuSecurity and GnuCrypto. the patch includes a modification to the classpath.security resource file to add the above. Tom Ugh, I thought the patch contained the new files so I only applied it. Tom That would explain some, maybe all of my problems. I'm rebuilding now. We have our own copy of classpath.security in libjava. I think this is a leftover from the big merge and should be removed. Tom ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] Re: FYI: Another DefaultStyledDocument fix
Another small fix. 2006-01-13 Lillian Angel [EMAIL PROTECTED] * javax/swing/text/DefaultStyledDocument.java (createDefaultRoot): Removed FIXME. (setLogicalStyle): Added fireUndoableEditUpdate call and removed FIXME. On Fri, 2006-01-13 at 14:34 -0500, Lillian Angel wrote: I changed the class so all the addEdit calls are all done after insertUpdate is called. This fixes some mauve regressions. 2006-01-13 Lillian Angel [EMAIL PROTECTED] * 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. Index: javax/swing/text/DefaultStyledDocument.java === RCS file: /cvsroot/classpath/classpath/javax/swing/text/DefaultStyledDocument.java,v retrieving revision 1.37 diff -u -r1.37 DefaultStyledDocument.java --- javax/swing/text/DefaultStyledDocument.java 13 Jan 2006 19:30:45 - 1.37 +++ javax/swing/text/DefaultStyledDocument.java 13 Jan 2006 20:03:41 - @@ -1343,8 +1343,6 @@ protected AbstractDocument.AbstractElement createDefaultRoot() { Element[] tmp; -// FIXME: Create a SecionElement here instead of a BranchElement. -// Use createBranchElement() and createLeafElement instead. SectionElement section = new SectionElement(); BranchElement paragraph = new BranchElement(section, null); @@ -1589,12 +1587,11 @@ int start = el.getStartOffset(); int end = el.getEndOffset(); DefaultDocumentEvent ev = -new DefaultDocumentEvent ( - start, +new DefaultDocumentEvent (start, end - start, DocumentEvent.EventType.CHANGE); - // FIXME: Add an UndoableEdit to this event and fire it. fireChangedUpdate(ev); + fireUndoableEditUpdate(new UndoableEditEvent(this, ev)); } else throw new ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Component event handling fix
Hi, this is the first patch that I commit to make our AWT more compatible with the 1.0-style event handling. It moves some code from dispatchEventImpl to dispatchEvent and fixes translateEvent() to also be usable for MenuComponent events. 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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(). /Roman Index: java/awt/Component.java === RCS file: /cvsroot/classpath/classpath/java/awt/Component.java,v retrieving revision 1.91 diff -u -r1.91 Component.java --- java/awt/Component.java 30 Nov 2005 19:19:23 - 1.91 +++ java/awt/Component.java 13 Jan 2006 21:15:18 - @@ -2308,6 +2308,10 @@ */ public final void dispatchEvent(AWTEvent e) { +Event oldEvent = translateEvent(e); +if (oldEvent != null) + postEvent (oldEvent); + // Some subclasses in the AWT package need to override this behavior, // hence the use of dispatchEventImpl(). dispatchEventImpl(e); @@ -4597,7 +4601,7 @@ */ static Event translateEvent (AWTEvent e) { -Component target = (Component) e.getSource (); +Object target = e.getSource (); Event translated = null; if (e instanceof InputEvent) @@ -4790,16 +4794,12 @@ void dispatchEventImpl(AWTEvent e) { -Event oldEvent = translateEvent (e); // This boolean tells us not to process focus events when the focus // opposite component is the same as the focus component. boolean ignoreFocus = (e instanceof FocusEvent ((FocusEvent)e).getComponent() == ((FocusEvent)e).getOppositeComponent()); -if (oldEvent != null) - postEvent (oldEvent); - if (eventTypeEnabled (e.id)) { // the trick we use to communicate between dispatch and redispatch ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Old style event fixes, part 2
This is the second part for the old (1.0) style AWT event handling. The problem that is fixed here is that events that are targetted at menu components (like ActionEvents) must be forwarded along the parent chain and finally must end up in the frame that holds the menu bar (I have an application here that expects exactly this). Unfortunatly, the MenuBar knows nothing about its parent frame (MenuBars are not part of the normal component hierarchy, also they are not derived from Component). MenuBar.getParent() returns null. So I had to add a reference to the parent frame to MenuBar and forward the event this way. 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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(). /Roman Index: java/awt/MenuBar.java === RCS file: /cvsroot/classpath/classpath/java/awt/MenuBar.java,v retrieving revision 1.17 diff -u -r1.17 MenuBar.java --- java/awt/MenuBar.java 2 Jul 2005 20:32:25 - 1.17 +++ java/awt/MenuBar.java 13 Jan 2006 21:21:22 - @@ -91,6 +91,13 @@ */ private transient AccessibleContext accessibleContext; + /** + * The frame that this menubar is associated with. We need to know this so + * that [EMAIL PROTECTED] MenuComponent#postEvent(Event)} can post the event to the + * frame if no other component processed the event. + */ + Frame frame; + /*/ /* @@ -303,6 +310,7 @@ Menu mi = (Menu) e.nextElement(); mi.removeNotify(); } + frame = null; super.removeNotify(); } Index: java/awt/Frame.java === RCS file: /cvsroot/classpath/classpath/java/awt/Frame.java,v retrieving revision 1.34 diff -u -r1.34 Frame.java --- java/awt/Frame.java 20 Sep 2005 01:05:28 - 1.34 +++ java/awt/Frame.java 13 Jan 2006 21:21:22 - @@ -332,6 +332,7 @@ invalidateTree (); ((FramePeer) peer).setMenuBar(menuBar); } + menuBar.frame = this; this.menuBar = menuBar; } Index: java/awt/MenuComponent.java === RCS file: /cvsroot/classpath/classpath/java/awt/MenuComponent.java,v retrieving revision 1.23 diff -u -r1.23 MenuComponent.java --- java/awt/MenuComponent.java 3 Oct 2005 17:21:06 - 1.23 +++ java/awt/MenuComponent.java 13 Jan 2006 21:21:23 - @@ -38,6 +38,7 @@ package java.awt; +import java.awt.event.ActionEvent; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.peer.MenuComponentPeer; @@ -352,8 +353,21 @@ public boolean postEvent(Event event) { - // This is overridden by subclasses that support events. - return false; + boolean retVal = false; + MenuContainer parent = getParent(); + if (parent == null) +{ + if (this instanceof MenuBar) +{ + MenuBar menuBar = (MenuBar) this; + if (menuBar.frame != null) +retVal = menuBar.frame.postEvent(event); +} +} + else +retVal = parent.postEvent(event); + + return retVal; } /*/ @@ -364,6 +378,13 @@ */ public final void dispatchEvent(AWTEvent event) { + /* Convert AWT 1.1 event to AWT 1.0 event */ + Event oldStyleEvent = Component.translateEvent(event); + if (oldStyleEvent != null) +{ + postEvent(oldStyleEvent); +} + // See comment in Component.dispatchEvent(). dispatchEventImpl(event); } @@ -380,15 +401,6 @@ */ void dispatchEventImpl(AWTEvent event) { - Event oldStyleEvent; - - // This is overridden by subclasses that support events. - /* Convert AWT 1.1 event to AWT 1.0 event */ - oldStyleEvent = Component.translateEvent(event); - if (oldStyleEvent != null) -{ - postEvent(oldStyleEvent); -} /* Do local processing */ processEvent(event); } ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: fix MenuBar warnings
This fixes some warnings that were pointed out by Eclipse in java.awt.MenuBar. 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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. /Roman Index: java/awt/MenuBar.java === RCS file: /cvsroot/classpath/classpath/java/awt/MenuBar.java,v retrieving revision 1.19 diff -u -r1.19 MenuBar.java --- java/awt/MenuBar.java 13 Jan 2006 21:40:09 - 1.19 +++ java/awt/MenuBar.java 13 Jan 2006 21:46:35 - @@ -39,7 +39,6 @@ package java.awt; import java.awt.peer.MenuBarPeer; -import java.awt.peer.MenuComponentPeer; import java.io.Serializable; import java.util.Enumeration; @@ -74,14 +73,6 @@ private Vector menus = new Vector(); /** - * The accessible context for this component. - * - * @see #getAccessibleContext() - * @serial ignored. - */ - private transient AccessibleContext accessibleContext; - - /** * The frame that this menubar is associated with. We need to know this so * that [EMAIL PROTECTED] MenuComponent#postEvent(Event)} can post the event to the * frame if no other component processed the event. @@ -127,11 +118,11 @@ menu.parent.remove(menu); menu.parent = this; -MenuBarPeer peer = (MenuBarPeer) getPeer (); -if (peer != null) +MenuBarPeer myPeer = (MenuBarPeer) getPeer (); +if (myPeer != null) { menu.addNotify(); -peer.addHelpMenu(menu); +myPeer.addHelpMenu(menu); } } @@ -234,7 +225,7 @@ public void addNotify() { if (getPeer() == null) - setPeer((MenuComponentPeer) getToolkit().createMenuBar(this)); + setPeer(getToolkit().createMenuBar(this)); Enumeration e = menus.elements(); while (e.hasMoreElements()) { ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: MenuBar reformatting
I reformatted the java.awt.MenuBar to better match our coding style. 2006-01-13 Roman Kennke [EMAIL PROTECTED] * java/awt/MenuBar.java: Reformatted to better match our coding style. /Roman Index: java/awt/MenuBar.java === RCS file: /cvsroot/classpath/classpath/java/awt/MenuBar.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- java/awt/MenuBar.java 13 Jan 2006 21:26:33 - 1.18 +++ java/awt/MenuBar.java 13 Jan 2006 21:40:09 - 1.19 @@ -60,28 +60,18 @@ implements MenuContainer, Serializable, Accessible { -/* - * Static Variables - */ - -// Serialization Constant -private static final long serialVersionUID = -4930327919388951260L; - -/*/ - -/* - * Instance Variables - */ - -/** - * @serial The menu used for providing help information - */ -private Menu helpMenu; - -/** - * @serial The menus contained in this menu bar. - */ -private Vector menus = new Vector(); +//Serialization Constant + private static final long serialVersionUID = -4930327919388951260L; + + /** + * @serial The menu used for providing help information + */ + private Menu helpMenu; + + /** + * @serial The menus contained in this menu bar. + */ + private Vector menus = new Vector(); /** * The accessible context for this component. @@ -98,334 +88,284 @@ */ Frame frame; -/*/ - -/* - * Constructors - */ - -/** - * Initializes a new instance of codeMenuBar/code. - * - * @exception HeadlessException If GraphicsEnvironment.isHeadless() is true. - */ -public -MenuBar() -{ - if (GraphicsEnvironment.isHeadless()) -throw new HeadlessException (); -} - -/*/ - -/* - * Instance Methods - */ - -/** - * Returns the help menu for this menu bar. This may be codenull/code. - * - * @return The help menu for this menu bar. - */ -public Menu -getHelpMenu() -{ - return(helpMenu); -} - -/*/ - -/** - * Sets the help menu for this menu bar. - * - * @param menu The new help menu for this menu bar. - */ -public synchronized void -setHelpMenu(Menu menu) -{ - if (helpMenu != null) -{ - helpMenu.removeNotify (); - helpMenu.parent = null; -} - helpMenu = menu; - - if (menu.parent != null) -menu.parent.remove (menu); - menu.parent = this; + /** + * Initializes a new instance of codeMenuBar/code. + * + * @throws HeadlessException if GraphicsEnvironment.isHeadless() is true + */ + public MenuBar() + { +if (GraphicsEnvironment.isHeadless()) + throw new HeadlessException(); + } - MenuBarPeer peer = (MenuBarPeer) getPeer (); - if (peer != null) -{ - menu.addNotify(); - peer.addHelpMenu (menu); -} -} + /** + * Returns the help menu for this menu bar. This may be codenull/code. + * + * @return the help menu for this menu bar + */ + public Menu getHelpMenu() + { +return helpMenu; + } -/*/ + /** + * Sets the help menu for this menu bar. + * + * @param menu the new help menu for this menu bar + */ + public synchronized void setHelpMenu(Menu menu) + { +if (helpMenu != null) + { +helpMenu.removeNotify(); +helpMenu.parent = null; + } +helpMenu = menu; + +if (menu.parent != null) + menu.parent.remove(menu); +menu.parent = this; + +MenuBarPeer peer = (MenuBarPeer) getPeer (); +if (peer != null) + { +menu.addNotify(); +peer.addHelpMenu(menu); + } + } -/** Add a menu to this MenuBar. If the menu has already has a - * parent, it is first removed from its old parent before being - * added. - * - * @param menu The menu to add. - * - * @return The menu that was added. - */ -public synchronized Menu -add(Menu menu) -{ - if (menu.parent != null) -menu.parent.remove (menu); + /** + * Add a menu to this MenuBar. If the menu has already has a + * parent, it is first removed from its old parent before being + * added. + * + * @param menu the menu to add + * + * @return the menu that was added + */ + public synchronized Menu add(Menu menu) + { +if (menu.parent != null) + menu.parent.remove(menu); - menu.parent = this; - menus.addElement(menu); +menu.parent = this; +menus.addElement(menu); - if (peer != null) -{ +if (peer != null) menu.addNotify(); -} - - return(menu); -} - -/*/ - -/** - * Removes the menu at the specified index. - * - * @param index The index of the menu to remove from the menu bar. - */ -public synchronized void -remove(int
[cp-patches] FYI: reformatted Frame
I also reformatted java.awt.Frame to match our coding style. 2006-01-13 Roman Kennke [EMAIL PROTECTED] * java/awt/Frame.java: Reformatted to better match our coding style. /Roman Index: java/awt/Frame.java === RCS file: /cvsroot/classpath/classpath/java/awt/Frame.java,v retrieving revision 1.35 diff -u -r1.35 Frame.java --- java/awt/Frame.java 13 Jan 2006 21:26:33 - 1.35 +++ java/awt/Frame.java 13 Jan 2006 22:00:43 - @@ -57,143 +57,156 @@ */ public class Frame extends Window implements MenuContainer { -/** - * Constant for the default cursor. - * @deprecated Replaced by codeCursor.DEFAULT_CURSOR/code instead. - */ -public static final int DEFAULT_CURSOR = Cursor.DEFAULT_CURSOR; - -/** - * Constant for a cross-hair cursor. - * @deprecated Use codeCursor.CROSSHAIR_CURSOR/code instead. - */ -public static final int CROSSHAIR_CURSOR = Cursor.CROSSHAIR_CURSOR; - -/** - * Constant for a cursor over a text field. - * @deprecated Use codeCursor.TEXT_CURSOR/code instead. - */ -public static final int TEXT_CURSOR = Cursor.TEXT_CURSOR; - -/** - * Constant for a cursor to display while waiting for an action to complete. - * @deprecated Use codeCursor.WAIT_CURSOR/code. - */ -public static final int WAIT_CURSOR = Cursor.WAIT_CURSOR; - -/** - * Cursor used over SW corner of window decorations. - * @deprecated Use codeCursor.SW_RESIZE_CURSOR/code instead. - */ -public static final int SW_RESIZE_CURSOR = Cursor.SW_RESIZE_CURSOR; - -/** - * Cursor used over SE corner of window decorations. - * @deprecated Use codeCursor.SE_RESIZE_CURSOR/code instead. - */ -public static final int SE_RESIZE_CURSOR = Cursor.SE_RESIZE_CURSOR; - -/** - * Cursor used over NW corner of window decorations. - * @deprecated Use codeCursor.NW_RESIZE_CURSOR/code instead. - */ -public static final int NW_RESIZE_CURSOR = Cursor.NW_RESIZE_CURSOR; - -/** - * Cursor used over NE corner of window decorations. - * @deprecated Use codeCursor.NE_RESIZE_CURSOR/code instead. - */ -public static final int NE_RESIZE_CURSOR = Cursor.NE_RESIZE_CURSOR; - -/** - * Cursor used over N edge of window decorations. - * @deprecated Use codeCursor.N_RESIZE_CURSOR/code instead. - */ -public static final int N_RESIZE_CURSOR = Cursor.N_RESIZE_CURSOR; - -/** - * Cursor used over S edge of window decorations. - * @deprecated Use codeCursor.S_RESIZE_CURSOR/code instead. - */ -public static final int S_RESIZE_CURSOR = Cursor.S_RESIZE_CURSOR; - -/** - * Cursor used over E edge of window decorations. - * @deprecated Use codeCursor.E_RESIZE_CURSOR/code instead. - */ -public static final int E_RESIZE_CURSOR = Cursor.E_RESIZE_CURSOR; - -/** - * Cursor used over W edge of window decorations. - * @deprecated Use codeCursor.W_RESIZE_CURSOR/code instead. - */ -public static final int W_RESIZE_CURSOR = Cursor.W_RESIZE_CURSOR; - -/** - * Constant for a hand cursor. - * @deprecated Use codeCursor.HAND_CURSOR/code instead. - */ -public static final int HAND_CURSOR = Cursor.HAND_CURSOR; - -/** - * Constant for a cursor used during window move operations. - * @deprecated Use codeCursor.MOVE_CURSOR/code instead. - */ -public static final int MOVE_CURSOR = Cursor.MOVE_CURSOR; - -public static final int ICONIFIED = 1; -public static final int MAXIMIZED_BOTH = 6; -public static final int MAXIMIZED_HORIZ = 2; -public static final int MAXIMIZED_VERT = 4; -public static final int NORMAL = 0; - -// Serialization version constant -private static final long serialVersionUID = 2673458971256075116L; - -/** - * @serial The version of the class data being serialized - * // FIXME: what is this value? - */ -private int frameSerializedDataVersion; - -/** - * @serial Image used as the icon when this frame is minimized. - */ -private Image icon; - -/** - * @serial Constant used by the JDK Motif peer set. Not used in - * this implementation. - */ -private boolean mbManagement; - -/** - * @serial The menu bar for this frame. - */ -//private MenuBar menuBar = new MenuBar(); -private MenuBar menuBar; - -/** - * @serial A list of other top-level windows owned by this window. - */ -Vector ownedWindows = new Vector(); - -/** - * @serial Indicates whether or not this frame is resizable. - */ -private boolean resizable = true; - -/** - * @serial The state of this frame. - * // FIXME: What are the values here? - * This is package-private to avoid an accessor method. - */ -int state; - -/** - * @serial The title of the frame. - */ -private String title = ; + + /** + * Constant for the default cursor. + * + * @deprecated Replaced by codeCursor.DEFAULT_CURSOR/code instead. + */ + public static final int DEFAULT_CURSOR = Cursor.DEFAULT_CURSOR; + + /** + * Constant for a cross-hair cursor. + * + * @deprecated Use codeCursor.CROSSHAIR_CURSOR/code instead. + */ + public static final int CROSSHAIR_CURSOR = Cursor.CROSSHAIR_CURSOR; + + /** + * Constant
Re: [cp-patches] [FYI]: Patch for javax.print.attribute.standard package
Hi Mark, sorry for the late response. Mark Wielaard wrote: Hi Wolfgang, On Fri, 2005-12-30 at 14:07 +0100, Wolfgang Baer wrote: 2005-12-30 Wolfgang Baer [EMAIL PROTECTED] * javax/print/attribute/standard/package.html: Added description. * javax/print/attribute/standard/MediaSize.java: Added and updated javadocs to class and methods. (static_initializer): Initialize nested class constants. (MediaSize): Add instances to the cache. (MediaSize): Likewise. (MediaSize): Likewise. (MediaSize): Likewise. [...] + private static ArrayList mediaCache; + + static +{ + mediaCache = new ArrayList(); + + MediaSize tmp = MediaSize.ISO.A0; + tmp = MediaSize.JIS.B0; + tmp = MediaSize.Engineering.A; + tmp = MediaSize.NA.LEGAL; + tmp = MediaSize.Other.EXECUTIVE; +} It took me a while to realize what was going on here. I think a comment is in place (and how do you guarantee that all the other inner classes are registered? Like MediaSize.ISO.A4 for example.). All the static instances in the inner container classes like ISO or OTHER should be automatically added as they are static. Or do I miss something ? At least every instance is added as far as I can see. Evrything I do here is to call one instance of every container class so it gets loaded and everyone of its static MediaSize objects are instantiated. Should I put a comment here ? Are you sure that every newly created MediaSize object should automagically be added to the mediaCache and not just the standard MediaSizes? I see there is no other method to register a new standard MediaSize, but adding it through the public constructor seems asking for confusion. The just commited mauve test userClass shows that user constructed MediaSize subclass instances are added to the cache used by findMedia and the other static methods. So I am think I am right here. Regards, Wolfgang ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
Re: [cp-patches] [generics] FYI: New Instrumentation parameter to VMInstrumentationImpl.redefineClasses
On Sun, 2005-12-04 at 14:11 +0100, Nicolas Geoffray wrote: Here's a fix that eases implementation of the VMInstrumentationImpl.redefineClasses method. The VM might not want to keep the Instrument object, therefore it must be given explicitely to the VMInstrumentationImpl.redefineClasses method 2005-12-04 Nicolas Geoffray [EMAIL PROTECTED] * vm/reference/java/lang/VMInstrumentationImpl.java (redefineClasses): Added an extra parameter of type java.lang.instrument.Instrument. *java/lang/InstrumentationImpl.java (redefineClasses): Added the Instrumentation object to the arguments of VMInstrumentationImpl.redefineClasses call. ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches Am I missing something or is there a reason the code was only added to the branch and not to HEAD? From the patches, I don't see any 1.5 language features. Thanks, -- Andrew :-) Please avoid sending me Microsoft Office (e.g. Word, PowerPoint) attachments. See http://www.fsf.org/philosophy/no-word-attachments.html If you use Microsoft Office, support movement towards the end of vendor lock-in: http://opendocumentfellowship.org/petition/ Value your freedom, or you will lose it, teaches history. `Don't bother us with politics' respond those who don't want to learn. -- Richard Stallman Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html public class gcj extends Freedom implements Java { ... } signature.asc Description: This is a digitally signed message part ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] FYI: Swing based AWT peers.
Here comes a first prototypical implementation of AWT peers based on Swing. This is not a complete AWT toolkit implementation and cannot be. It only provides a couple of AWT widgets (only the very basic ATM). The following screenshot is a small AWT program that runs with these peers: http://kennke.org/~roman/awtswing.png Of course, for making the Swing based peers work, they still have to be wired to a native drawing backend. I'll try to hack together one for GTK soon (based on the GTK peers of course). The code is pretty well documented, also the package.html contains the most important hints for implementing a real toolkit on top of those widgets. Cheers, Roman 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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. swingpeers.tar.gz Description: GNU Zip compressed data ___ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches
[cp-patches] RFC: gnu.regexp: support embedded flags
This fixes the bug #22884. ChangeLog: 2006-01-14 Ito Kazumitsu [EMAIL PROTECTED] Fixes bug #22884 * gnu/regexp/RE.java(initialize): Parse embedded flags. * gnu/regexp/RESyntax.java(RE_EMBEDDED_FLAGS): New syntax bit. Index: classpath/gnu/regexp/RE.java === RCS file: /cvsroot/classpath/classpath/gnu/regexp/RE.java,v retrieving revision 1.9 diff -u -r1.9 RE.java --- classpath/gnu/regexp/RE.java12 Jan 2006 22:13:49 - 1.9 +++ classpath/gnu/regexp/RE.java14 Jan 2006 00:55:45 - @@ -333,6 +333,11 @@ char ch; boolean quot = false; +// Saved syntax and flags. +RESyntax savedSyntax = null; +int savedCflags = 0; +boolean flagsSaved = false; + while (index pLength) { // read the next character unit (including backslash escapes) index = getCharUnit(pattern,index,unit,quot); @@ -525,6 +530,86 @@ index += 2; } break; + case 'i': + case 'd': + case 'm': + case 's': + // case 'u': not supported + // case 'x': not supported + case '-': +if (!syntax.get(RESyntax.RE_EMBEDDED_FLAGS)) break; + // Set or reset syntax flags. + int flagIndex = index + 1; + int endFlag = -1; + RESyntax newSyntax = new RESyntax(syntax); + int newCflags = cflags; + boolean negate = false; + while (flagIndex pLength endFlag 0) { + switch(pattern[flagIndex]) { + case 'i': + if (negate) + newCflags = ~REG_ICASE; + else + newCflags |= REG_ICASE; + flagIndex++; + break; + case 'd': + if (negate) + newSyntax.setLineSeparator(RESyntax.DEFAULT_LINE_SEPARATOR); + else + newSyntax.setLineSeparator(\n); + flagIndex++; + break; + case 'm': + if (negate) + newCflags = ~REG_MULTILINE; + else + newCflags |= REG_MULTILINE; + flagIndex++; + break; + case 's': + if (negate) + newCflags = ~REG_DOT_NEWLINE; + else + newCflags |= REG_DOT_NEWLINE; + flagIndex++; + break; + // case 'u': not supported + // case 'x': not supported + case '-': + negate = true; + flagIndex++; + break; + case ':': + case ')': + endFlag = pattern[flagIndex]; + break; + default: + throw new REException(getLocalizedMessage(repeat.no.token), REException.REG_BADRPT, index); + } + } + if (endFlag == ')') { + syntax = newSyntax; + cflags = newCflags; + insens = ((cflags REG_ICASE) 0); + // This can be treated as though it were a comment. + comment = true; + index = flagIndex - 1; + break; + } + if (endFlag == ':') { + savedSyntax = syntax; + savedCflags = cflags; + flagsSaved = true; + syntax = newSyntax; + cflags = newCflags; + insens = ((cflags REG_ICASE) 0); + index = flagIndex -1; + // Fall through to the next case. + } + else { + throw new REException(getLocalizedMessage(unmatched.paren), REException.REG_ESUBREG,index); + } case ':': if (syntax.get(RESyntax.RE_PURE_GROUPING)) { pure = true; @@ -616,6 +701,12 @@ } index = nextIndex; + if (flagsSaved) { + syntax = savedSyntax; + cflags = savedCflags; + insens = ((cflags REG_ICASE) 0); + flagsSaved = false; + } } // not a comment } // subexpression Index: classpath/gnu/regexp/RESyntax.java === RCS file: /cvsroot/classpath/classpath/gnu/regexp/RESyntax.java,v retrieving revision 1.3 diff -u -r1.3 RESyntax.java --- classpath/gnu/regexp/RESyntax.java 2 Jul 2005 20:32:15 - 1.3 +++ classpath/gnu/regexp/RESyntax.java 14 Jan 2006 00:55:45 - @@ -202,7 +202,12 @@ */ public static final int RE_POSSESSIVE_OPS= 25; - private static final int BIT_TOTAL = 26; + /** + * Syntax bit. Allow embedded flags, (?is-x), as in Perl5. + */ + public static final int RE_EMBEDDED_FLAGS= 26; + + private
[cp-testresults] FAIL: gcc build on Fri Jan 13 09:01:51 UTC 2006
./../.././gcc/gcjh -d . -classpath '' -bootclasspath classpath/lib $name name=`echo classpath/lib/gnu/gcj/xlib/XExposeEvent.class | sed -e 's/\.class$//' -e 's,classpath/lib/,,'`; \ /home/cpdev/Nightly/gcc/trunk/mkinstalldirs `dirname $name`; \ ./../.././gcc/gcjh -d . -classpath '' -bootclasspath classpath/lib $name name=`echo classpath/lib/gnu/gcj/xlib/XID.class | sed -e 's/\.class$//' -e 's,classpath/lib/,,'`; \ /home/cpdev/Nightly/gcc/trunk/mkinstalldirs `dirname $name`; \ ./../.././gcc/gcjh -d . -classpath '' -bootclasspath classpath/lib $name name=`echo classpath/lib/gnu/gcj/xlib/XImage.class | sed -e 's/\.class$//' -e 's,classpath/lib/,,'`; \ /home/cpdev/Nightly/gcc/trunk/mkinstalldirs `dirname $name`; \ ./../.././gcc/gcjh -d . -classpath '' -bootclasspath classpath/lib $name name=`echo classpath/lib/gnu/gcj/xlib/XUnmapEvent.class | sed -e 's/\.class$//' -e 's,classpath/lib/,,'`; \ /home/cpdev/Nightly/gcc/trunk/mkinstalldirs `dirname $name`; \ ./../.././gcc/gcjh -d . -classpath '' -bootclasspath classpath/lib $name make[4]: Leaving directory `/home/cpdev/Nightly/gcc/build/i686-pc-linux-gnu/libjava' depbase=`echo prims.lo | sed 's|[^/]*$|.deps/|;s|\.lo$||'`; \ if /bin/sh ./libtool --mode=compile /home/cpdev/Nightly/gcc/build/./gcc/xgcc -shared-libgcc -B/home/cpdev/Nightly/gcc/build/./gcc -nostdinc++ -L/home/cpdev/Nightly/gcc/build/i686-pc-linux-gnu/libstdc++-v3/src -L/home/cpdev/Nightly/gcc/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/bin/ -B/home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/lib/ -isystem /home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/include -isystem /home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../trunk/libjava -I./include -I./gcj -I../../../trunk/libjava -Iinclude -I../../../trunk/libjava/include -I../../../trunk/libjava/classpath/include -I../../../trunk/libjava/classpath/native/fdlibm -I../../../trunk/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../trunk/libjava/libltdl -I../../../trunk/libjava/libltdl -I../../../trunk/libjava/.././libjava/../gcc -I../../../trunk/libjava/../zlib -I../../../trunk/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\/home/cpdev/Nightly/gcc/install\ -DLIBDIR=\/home/cpdev/Nightly/gcc/install/lib\ -DJAVA_HOME=\/home/cpdev/Nightly/gcc/install\ -DBOOT_CLASS_PATH=\/home/cpdev/Nightly/gcc/install/share/java/libgcj-4.2.0.jar\ -DJAVA_EXT_DIRS=\/home/cpdev/Nightly/gcc/install/share/java/ext\ -DGCJ_ENDORSED_DIRS=\/home/cpdev/Nightly/gcc/install/share/java/gcj-endorsed\ -DLIBGCJ_DEFAULT_DATABASE=\/home/cpdev/Nightly/gcc/install/lib/gcj-4.2.0/classmap.db\ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\gcj-4.2.0/classmap.db\ -DTOOLEXECLIBDIR=\/home/cpdev/Nightly/gcc/install/lib\ -g -D_GNU_SOURCE -MT prims.lo -MD -MP -MF $depbase.Tpo -c -o prims.lo ../../../trunk/libjava/prims.cc; \ then mv -f $depbase.Tpo $depbase.Plo; else rm -f $depbase.Tpo; exit 1; fi mkdir .libs /home/cpdev/Nightly/gcc/build/./gcc/xgcc -shared-libgcc -B/home/cpdev/Nightly/gcc/build/./gcc -nostdinc++ -L/home/cpdev/Nightly/gcc/build/i686-pc-linux-gnu/libstdc++-v3/src -L/home/cpdev/Nightly/gcc/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/bin/ -B/home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/lib/ -isystem /home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/include -isystem /home/cpdev/Nightly/gcc/install/i686-pc-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../trunk/libjava -I./include -I./gcj -I../../../trunk/libjava -Iinclude -I../../../trunk/libjava/include -I../../../trunk/libjava/classpath/include -I../../../trunk/libjava/classpath/native/fdlibm -I../../../trunk/libjava/../boehm-gc/include -I../boehm-gc/include -I../../../trunk/libjava/libltdl -I../../../trunk/libjava/libltdl -I../../../trunk/libjava/.././libjava/../gcc -I../../../trunk/libjava/../zlib -I../../../trunk/libjava/../libffi/include -I../libffi/include -fno-rtti -fnon-call-exceptions -fdollars-in-identifiers -Wswitch-enum -D_FILE_OFFSET_BITS=64 -ffloat-store -fomit-frame-pointer -Wextra -Wall -D_GNU_SOURCE -DPREFIX=\/home/cpdev/Nightly/gcc/install\ -DLIBDIR=\/home/cpdev/Nightly/gcc/install/lib\ -DJAVA_HOME=\/home/cpdev/Nightly/gcc/install\ -DBOOT_CLASS_PATH=\/home/cpdev/Nightly/gcc/install/share/java/libgcj-4.2.0.jar\ -DJAVA_EXT_DIRS=\/home/cpdev/Nightly/gcc/install/share/java/ext\ -DGCJ_ENDORSED_DIRS=\/home/cpdev/Nightly/gcc/install/share/java/gcj-endorsed\ -DLIBGCJ_DEFAULT_DATABASE=\/home/cpdev/Nightly/gcc/install/lib/gcj-4.2.0/classmap.db\ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL=\gcj-4.2.0/classmap.db\ -DTOOLEXECLIBDIR=\/home/cpdev/Nightly/gcc/install/lib\ -g -D_GNU_SOURCE -MT prims.lo -MD -MP -MF .deps/prims.Tpo -c ../../../trunk/libjava/prims.cc
[cp-testresults] FAIL: ecj built with native-ecj on Fri Jan 13 21:28:17 UTC 2006
xargs: ../ecj-gcj-build/ecj: No such file or directory ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
[cp-testresults] FAIL: ecj built with gcj (native) on Sat Jan 14 01:12:17 UTC 2006
/tmp/ccT88wFb.o(.text+0x16c3d): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::SUFFIX_class' /tmp/ccT88wFb.o(.text+0x16ca5): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `void org::eclipse::jdt::core::compiler::CharOperation::replace(JArraywchar_t*, wchar_t, wchar_t)' /tmp/ccT88wFb.o(.text+0x16d23): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::Messages::class$' /tmp/ccT88wFb.o(.text+0x16d31): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::Messages::compilation_write' /tmp/ccT88wFb.o(.text+0x16da1): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `java::lang::String* org::eclipse::jdt::internal::compiler::util::Messages::bind(java::lang::String*, JArrayjava::lang::Object**)' /tmp/ccT88wFb.o(.text+0x16e56): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `void org::eclipse::jdt::internal::compiler::ClassFile::writeToDisk(bool, java::lang::String*, java::lang::String*, JArraychar*)' /tmp/ccT88wFb.o(.text+0x16fe6): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::Compiler::class$' /tmp/ccT88wFb.o(.text+0x17053): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::Compiler::Compiler(org::eclipse::jdt::internal::compiler::env::INameEnvironment*, org::eclipse::jdt::internal::compiler::IErrorHandlingPolicy*, java::util::Map*, org::eclipse::jdt::internal::compiler::ICompilerRequestor*, org::eclipse::jdt::internal::compiler::IProblemFactory*)' /tmp/ccT88wFb.o(.text+0x17178): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::env::INameEnvironment::class$' /tmp/ccT88wFb.o(.data+0x4f0): undefined reference to `org::eclipse::jdt::internal::compiler::env::AccessRuleSet::class$' /tmp/ccT88wFb.o(.data+0x5e8): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccT88wFb.o(.data+0x7b8): undefined reference to `org::eclipse::jdt::internal::compiler::env::ICompilationUnit::class$' /tmp/ccT88wFb.o(.data+0xbbc): undefined reference to `org::eclipse::jdt::internal::compiler::env::INameEnvironment::class$' /tmp/ccT88wFb.o(.data+0xbc0): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccT88wFb.o(.data+0xef4): undefined reference to `org::eclipse::jdt::internal::compiler::impl::CompilerOptions::class$' /tmp/ccT88wFb.o(.data+0x12b4): undefined reference to `org::eclipse::jdt::internal::compiler::problem::ProblemSeverities::class$' /tmp/ccT88wFb.o(.data+0x12b8): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccT88wFb.o(.data+0x22cc): undefined reference to `org::eclipse::jdt::internal::compiler::ICompilerRequestor::class$' /tmp/ccT88wFb.o(.data+0x2550): undefined reference to `org::eclipse::jdt::internal::compiler::IErrorHandlingPolicy::class$' /tmp/ccT88wFb.o(.rodata+0x2600): undefined reference to `org::eclipse::jdt::core::compiler::InvalidInputException::class$' collect2: ld returned 1 exit status ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
[cp-testresults] FAIL: ecj built with gcj (native) on Sat Jan 14 04:58:45 UTC 2006
/tmp/ccpvoI8w.o(.text+0x16c3d): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::SUFFIX_class' /tmp/ccpvoI8w.o(.text+0x16ca5): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `void org::eclipse::jdt::core::compiler::CharOperation::replace(JArraywchar_t*, wchar_t, wchar_t)' /tmp/ccpvoI8w.o(.text+0x16d23): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::Messages::class$' /tmp/ccpvoI8w.o(.text+0x16d31): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `org::eclipse::jdt::internal::compiler::util::Messages::compilation_write' /tmp/ccpvoI8w.o(.text+0x16da1): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `java::lang::String* org::eclipse::jdt::internal::compiler::util::Messages::bind(java::lang::String*, JArrayjava::lang::Object**)' /tmp/ccpvoI8w.o(.text+0x16e56): In function `void org::eclipse::jdt::internal::compiler::batch::Main::outputClassFiles(org::eclipse::jdt::internal::compiler::CompilationResult*)': : undefined reference to `void org::eclipse::jdt::internal::compiler::ClassFile::writeToDisk(bool, java::lang::String*, java::lang::String*, JArraychar*)' /tmp/ccpvoI8w.o(.text+0x16fe6): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::Compiler::class$' /tmp/ccpvoI8w.o(.text+0x17053): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::Compiler::Compiler(org::eclipse::jdt::internal::compiler::env::INameEnvironment*, org::eclipse::jdt::internal::compiler::IErrorHandlingPolicy*, java::util::Map*, org::eclipse::jdt::internal::compiler::ICompilerRequestor*, org::eclipse::jdt::internal::compiler::IProblemFactory*)' /tmp/ccpvoI8w.o(.text+0x17178): In function `void org::eclipse::jdt::internal::compiler::batch::Main::performCompilation()': : undefined reference to `org::eclipse::jdt::internal::compiler::env::INameEnvironment::class$' /tmp/ccpvoI8w.o(.data+0x4f0): undefined reference to `org::eclipse::jdt::internal::compiler::env::AccessRuleSet::class$' /tmp/ccpvoI8w.o(.data+0x5e8): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccpvoI8w.o(.data+0x7b8): undefined reference to `org::eclipse::jdt::internal::compiler::env::ICompilationUnit::class$' /tmp/ccpvoI8w.o(.data+0xbbc): undefined reference to `org::eclipse::jdt::internal::compiler::env::INameEnvironment::class$' /tmp/ccpvoI8w.o(.data+0xbc0): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccpvoI8w.o(.data+0xef4): undefined reference to `org::eclipse::jdt::internal::compiler::impl::CompilerOptions::class$' /tmp/ccpvoI8w.o(.data+0x12b4): undefined reference to `org::eclipse::jdt::internal::compiler::problem::ProblemSeverities::class$' /tmp/ccpvoI8w.o(.data+0x12b8): undefined reference to `org::eclipse::jdt::internal::compiler::util::SuffixConstants::class$' /tmp/ccpvoI8w.o(.data+0x22cc): undefined reference to `org::eclipse::jdt::internal::compiler::ICompilerRequestor::class$' /tmp/ccpvoI8w.o(.data+0x2550): undefined reference to `org::eclipse::jdt::internal::compiler::IErrorHandlingPolicy::class$' /tmp/ccpvoI8w.o(.rodata+0x2600): undefined reference to `org::eclipse::jdt::core::compiler::InvalidInputException::class$' collect2: ld returned 1 exit status ___ Classpath-testresults mailing list Classpath-testresults@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-testresults
RE: SecurityManager troubles (and the release)
On Fri, 2006-01-13 at 08:48 +0100, Mark Wielaard wrote: Maybe we can again special case that security check by doing a this.getClass().getClassLoader() == null? Hmmm, no, that doesn't work since getClassLoader() will trigger a security check. Nasty... I see you solved this by just doing an instanceof on the bootstrap providers. Much easier :) Thanks. With this issue out of the way and most of the tests giving green lights I am now going into release mode. Which just means I will do the following and then push out 0.20 unless someone screams hard enough :) - Do a last mauve run and some application testing. - Write the NEWS entries. - Set version number to 0.20. - Do a last make distcheck, generate documentation. - Tag the CVS tree (classpath-0_20-release) - Merge last changes from head to generics-branch. - Do a quick smoke test of generics (make distcheck, launch eclipse, write generic-hello-world, run it) - Tag the generics tree (generics-0_20-release) - upload to ftp://ftp.gnu.org/gnu/classpath/ - Write announcement - Announce! Cheers, Mark signature.asc Description: This is a digitally signed message part ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Guilhem Lavaux wrote: Gary Benson wrote: FWIW I was able to push IBM's JRE into an infinite loop with this test, so it would appear to be vulnerable to the same class of problems even if not this actual problem. BTW, Gary your test triggers a really nasty VerifyError in kaffe so maybe we also have to do some work here. Although it works fine on JDK 1.4.2. Whatever it triggered on IBM looked nasty too. It just printed this out forever: Stack overflow occurred outside JITted code or Interpreter. Searching for valid stack frames. Stack trace information below may not be accurate or complete. It is provided for diagnostic purposes. ... Had to kill -9 it to stop it. At least when jamvm looped I could kill it normally ;) Cheers, Gary ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
[Bug classpath/25760] File(mydir).list() returns null instead of File[]
--- Comment #4 from stephan at apache dot org 2006-01-13 11:34 --- Part of the problem is that the Available task doesn't call AntClassLoader.cleanup(). I filed a bug against Ant, see http://issues.apache.org/bugzilla/show_bug.cgi?id=38260 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25760 ___ Bug-classpath mailing list Bug-classpath@gnu.org http://lists.gnu.org/mailman/listinfo/bug-classpath
Re: SecurityManager troubles
On Thu, 2006-01-12 at 14:15 +, Gary Benson wrote: FWIW I was able to push IBM's JRE into an infinite loop with this test, so it would appear to be vulnerable to the same class of problems even if not this actual problem. Another test which completely kicks us out. Actually it's an stack overflow, but it segfaults for obvious reasons... (note to me: dammit, i have to implement that). TWISTI ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Jeroen Frijters wrote: I think I figured it out. With the attached test I could reproduce the problem on IKVM as well. The attach Classpath patch fixing things, although past 0.20 I think we should refactor the security properties like I did with the system properties (i.e. introduce a gnu.classpath.SecurityProperties class). The change to java.security.Security has made the majority of the Mauve workarounds unnecessary: thanks! Now to see if I can get rid of the last little bit... Cheers, Gary ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: RMI and java.rmi.server.hostname
Tom Tromey wrote: Your patch looks like it would help, but it doesn't address all the issues. It seems reasonable to use it as an interim solution though. It sounds like by default we're using 127.0.0.1 -- does this happen with the JDK as well? Sun's JDK? Works nicely with java.rmi.server.hostname set. Without, it also defaults to 127.0.0.1, just like Classpath. Lorenz ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
tagged and ready
Hi hackers, The CVS tree has been tagged for both trunk and generics branch the final make distcheck is running and will be uploaded in a minute to ftp://ftp.gnu.org/gnu/classpath/ Official release announcement is in the works and will follow in a couple of hours. But please feel free to go crazy again adding lots of new coolness. Thanks all, Mark signature.asc Description: This is a digitally signed message part ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Gary Benson wrote: Jeroen Frijters wrote: I think I figured it out. With the attached test I could reproduce the problem on IKVM as well. The attach Classpath patch fixing things, although past 0.20 I think we should refactor the security properties like I did with the system properties (i.e. introduce a gnu.classpath.SecurityProperties class). The change to java.security.Security has made the majority of the Mauve workarounds unnecessary: thanks! Now to see if I can get rid of the last little bit... The attached patch allows all Mauve workarounds to be removed. Ok to commit? Cheers, Gary Index: ChangeLog === RCS file: /cvsroot/classpath/classpath/ChangeLog,v retrieving revision 1.6049 diff -u -r1.6049 ChangeLog --- ChangeLog 13 Jan 2006 14:30:27 - 1.6049 +++ ChangeLog 13 Jan 2006 14:33:56 - @@ -1,3 +1,8 @@ +2006-01-13 Gary Benson [EMAIL PROTECTED] + + * java/lang/System.java (setSecurityManager): Ensure policy + files are loaded before a security manager is put in place. + 2006-01-13 Mark Wielaard [EMAIL PROTECTED] * configure.ac: Set version to 0.20. Index: java/lang/System.java === RCS file: /cvsroot/classpath/classpath/java/lang/System.java,v retrieving revision 1.53 diff -u -r1.53 System.java --- java/lang/System.java 13 Sep 2005 22:19:15 - 1.53 +++ java/lang/System.java 13 Jan 2006 14:33:56 - @@ -178,6 +178,23 @@ if (SecurityManager.current != null) SecurityManager.current.checkPermission (new RuntimePermission(setSecurityManager)); + +// java.security.Security's class initialiser loads and parses the +// policy files. If it hasn't been run already it will be run +// during the first permission check. That initialisation will +// fail if a very restrictive security manager is in force, so we +// preload it here. +if (SecurityManager.current == null) + { + try + { + Class.forName(java.security.Security); + } + catch (Throwable t) + { + } + } + SecurityManager.current = sm; } ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Mark Wielaard wrote: Maybe we can again special case that security check by doing a this.getClass().getClassLoader() == null? Hmmm, no, that doesn't work since getClassLoader() will trigger a security check. Nasty... That's what VMStackWalker.getClassLoader() is for... you could use it. -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
RE: SecurityManager troubles
Archie Cobbs wrote: Mark Wielaard wrote: Maybe we can again special case that security check by doing a this.getClass().getClassLoader() == null? Hmmm, no, that doesn't work since getClassLoader() will trigger a security check. Nasty... That's what VMStackWalker.getClassLoader() is for... you could use it. I considered that, but it is a little less safe than the approach I took, because if in the future a new subclass of CharsetProvider is added to the API, the calling class loader check would succeed if a user provider subclassed this new subclass. Regards, Jeroen ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
ANN: GNU Classpath 0.20 released
GNU Classpath 0.20 released GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language. The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. More projects based on GNU Classpath: http://www.gnu.org/software/classpath/stories.html Some highlights of changes in this release (more extensive list below): New StAX pull parser and SAX-over-StAX driver. Full XMLEncoder implementation. The packages javax.sound.sampled, javax.print.attribute and javax.print.event have been implemented. Lots of new datatransfer, print, swing and swing.text work. Performance improvements in the painting/layout mechanism. Additional 1.5 support, including (separate) generic branch release. SecurityManager cleanups and start of review of all Permission checks. Buildable on cygwin. Fully buildable as in-workspace library-plus-vm inside (native) Eclipse. Real world Free Swing and CORBA example added. GNU Classpath 0.20 also comes in a generic version. classpath-0.20-generics contains a version of the core library that uses the new 1.5 language features such as generics and enumerations. ECJ, JamVM, IKVM and Cacao are known to support the generics release (*). And you should be able to run Eclipse 3.1 with it to develop programs that use the new 1.5 language and core library additions. classpath-generics is a work in progress and not as extensively tested as our regular releases. But please try it out if you want to help us test the new 1.5 support of the core libraries. (*) There is one additional VM interface needed for the VMClassLoader static final Class defineClassWithTransformers(ClassLoader loader, String name, byte[] data, int offset, int len, ProtectionDomain pd) Which is used for the new java.management.instrumentation support. See the VM Integration Guide for more details: http://www.gnu.org/software/classpath/docs/vmintegration.html Thanks to a donation of Berkeley Signal Inc GNU Classpath now has an official autobuilder machine which is used for quality assurance, regression testing, conformance reports and for publishing continous snapshots. The machine can be reached as http://builder.classpath.org/ 40 people actively contributed to this release and made 605 CVS commits during the last two months of development (excluding the generics branch work). diffstat since 0.19: 617 files changed, 89622 insertions(+), 37478 deletions(-) More details about the various changes and contributions below. A full list of bug reports fixed for this release can be found at: http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpathtarget_milestone=0.20 The GNU Classpath developers site http://developer.classpath.org/ provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided. For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ For more information about the project see also: - GNU Classpath home page: http://www.gnu.org/software/classpath/ - GNU Classpath and Friends meeting (Feb 25/26, Brussels, Fosdem): http://www.gnu.org/software/classpath/events/fosdem06.html - Developer information (wiki): http://developer.classpath.org/ - Full class documentation http://developer.classpath.org/doc/ - GNU Classpath hackers: http://planet.classpath.org/ - Autobuilder, current build status, build snapshots: http://builder.classpath.org/ - Application test pages (wiki) http://developer.classpath.org/mediation/FreeAWTTestApps http://developer.classpath.org/mediation/FreeSwingTestApps http://developer.classpath.org/mediation/FreeSWTTestApps - GNU Classpath hacking with Eclipse (wiki) http://developer.classpath.org/mediation/ClasspathHackingWithEclipse - GNU Classpath promotion banners: http://developer.classpath.org/mediation/ClasspathBanners This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or higher is recommended. Included, but not activated by default in this release is a Graphics2D implementation based on the Cairo Graphics framework (http://www.cairographics.org). Enabling this makes programs like JFreeChart and JEdit start up on GNU Classpath based runtimes. To enable this support install the cairo 0.5.x snapshot, configure GNU Classpath with --enable-gtk-cairo. One of the major focuses of the GNU Classpath project is expanding and using the Mauve test suite for Compatibility,
Re: SecurityManager troubles
Gary Benson wrote: Guilhem Lavaux wrote: Gary Benson wrote: FWIW I was able to push IBM's JRE into an infinite loop with this test, so it would appear to be vulnerable to the same class of problems even if not this actual problem. BTW, Gary your test triggers a really nasty VerifyError in kaffe so maybe we also have to do some work here. Although it works fine on JDK 1.4.2. Whatever it triggered on IBM looked nasty too. It just printed this out forever: Stack overflow occurred outside JITted code or Interpreter. Searching for valid stack frames. Stack trace information below may not be accurate or complete. It is provided for diagnostic purposes. ... Had to kill -9 it to stop it. At least when jamvm looped I could kill it normally ;) Cheers, Gary Hi Gary, I have found what was causing the VerifyError in kaffe. I have fixed it and now it passes your test successfully with the help of latest patches from Jeroen. Thanks to you all ! Cheers, Guilhem. ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Gary Benson wrote: Gary Benson wrote: Jeroen Frijters wrote: I think I figured it out. With the attached test I could reproduce the problem on IKVM as well. The attach Classpath patch fixing things, although past 0.20 I think we should refactor the security properties like I did with the system properties (i.e. introduce a gnu.classpath.SecurityProperties class). The change to java.security.Security has made the majority of the Mauve workarounds unnecessary: thanks! Now to see if I can get rid of the last little bit... The attached patch allows all Mauve workarounds to be removed. Ok to commit? Cheers, Gary Index: ChangeLog === RCS file: /cvsroot/classpath/classpath/ChangeLog,v retrieving revision 1.6049 diff -u -r1.6049 ChangeLog --- ChangeLog 13 Jan 2006 14:30:27 - 1.6049 +++ ChangeLog 13 Jan 2006 14:33:56 - @@ -1,3 +1,8 @@ +2006-01-13 Gary Benson [EMAIL PROTECTED] + + * java/lang/System.java (setSecurityManager): Ensure policy + files are loaded before a security manager is put in place. + 2006-01-13 Mark Wielaard [EMAIL PROTECTED] * configure.ac: Set version to 0.20. Index: java/lang/System.java === RCS file: /cvsroot/classpath/classpath/java/lang/System.java,v retrieving revision 1.53 diff -u -r1.53 System.java --- java/lang/System.java 13 Sep 2005 22:19:15 - 1.53 +++ java/lang/System.java 13 Jan 2006 14:33:56 - @@ -178,6 +178,23 @@ if (SecurityManager.current != null) SecurityManager.current.checkPermission (new RuntimePermission(setSecurityManager)); + +// java.security.Security's class initialiser loads and parses the +// policy files. If it hasn't been run already it will be run +// during the first permission check. That initialisation will +// fail if a very restrictive security manager is in force, so we +// preload it here. +if (SecurityManager.current == null) + { + try + { + Class.forName(java.security.Security); + } + catch (Throwable t) + { + } + } + SecurityManager.current = sm; It might be more appropriate to only catch Exception, not Throwable. -Archie __ Archie Cobbs *CTO, Awarix* http://www.awarix.com ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
Guilhem Lavaux wrote: Gary Benson wrote: Guilhem Lavaux wrote: Gary Benson wrote: FWIW I was able to push IBM's JRE into an infinite loop with this test, so it would appear to be vulnerable to the same class of problems even if not this actual problem. BTW, Gary your test triggers a really nasty VerifyError in kaffe so maybe we also have to do some work here. Although it works fine on JDK 1.4.2. Whatever it triggered on IBM looked nasty too. It just printed this out forever: Stack overflow occurred outside JITted code or Interpreter. Searching for valid stack frames. Stack trace information below may not be accurate or complete. It is provided for diagnostic purposes. ... Had to kill -9 it to stop it. At least when jamvm looped I could kill it normally ;) Cheers, Gary Hi Gary, I have found what was causing the VerifyError in kaffe. I have fixed it and now it passes your test successfully with the help of latest patches from Jeroen. Thanks to you all ! Wow, that was awesome to watch ... GNU Classpath's developer community simply rocks. cheers, dalibor topic ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
Re: SecurityManager troubles
On Sat, Jan 14, 2006 at 12:16:48AM +0100, Dalibor Topic wrote: I have found what was causing the VerifyError in kaffe. I have fixed it and now it passes your test successfully with the help of latest patches from Jeroen. Thanks to you all ! Wow, that was awesome to watch ... GNU Classpath's developer community simply rocks. cheers, dalibor topic Many eyes and all that :) -- Stephane Meslin-Weber Email: [EMAIL PROTECTED] Senior Software Engineer Web: http://odonata.tangency.co.uk signature.asc Description: Digital signature ___ Classpath mailing list Classpath@gnu.org http://lists.gnu.org/mailman/listinfo/classpath
[commit-cp] classpath ./ChangeLog java/security/Security.java
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Jeroen Frijters [EMAIL PROTECTED] 06/01/13 07:56:36 Modified files: . : ChangeLog java/security : Security.java Log message: 2005-01-13 Jeroen Frijters [EMAIL PROTECTED] * java/security/Security.java (getProperty): Added hack to skip security check when trusted code is direct caller. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6043tr2=1.6044r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/security/Security.java.diff?tr1=1.39tr2=1.40r1=textr2=text
[commit-cp] classpath ./ChangeLog java/util/regex/Pattern.java
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 09:49:52 Modified files: . : ChangeLog java/util/regex: Pattern.java Log message: * java/util/regex/Pattern.java (Pattern): Chain REException. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6045tr2=1.6046r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/util/regex/Pattern.java.diff?tr1=1.13tr2=1.14r1=textr2=text
[commit-cp] classpath ./ChangeLog gnu/xml/xpath/NameTest.java
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Chris Burdess [EMAIL PROTECTED] 06/01/13 09:38:03 Modified files: . : ChangeLog gnu/xml/xpath : NameTest.java Log message: 2006-01-13 Chris Burdess [EMAIL PROTECTED] * gnu/xml/xpath/NameTest.java: Removed debugging output. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6044tr2=1.6045r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/xml/xpath/NameTest.java.diff?tr1=1.6tr2=1.7r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/text/DefaultC...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 09:56:20 Modified files: . : ChangeLog javax/swing/text: DefaultCaret.java Log message: * javax/swing/text/DefaultCaret.java: Chain all AssertionErrors. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6046tr2=1.6047r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/text/DefaultCaret.java.diff?tr1=1.28tr2=1.29r1=textr2=text
[commit-cp] classpath configure.ac NEWS ChangeLog
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 11:34:07 Modified files: . : configure.ac NEWS ChangeLog Log message: * configure.ac: Set version to 0.20. * NEWS: Add entries for all the new work done. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/configure.ac.diff?tr1=1.124tr2=1.125r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/NEWS.diff?tr1=1.105tr2=1.106r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6047tr2=1.6048r1=textr2=text
[commit-cp] classpath ./ChangeLog ./Makefile.am ./NEWS ./co... [generics-branch]
CVSROOT:/cvsroot/classpath Module name:classpath Branch: generics-branch Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 13:17:15 Modified files: . : ChangeLog Makefile.am NEWS configure.ac gnu/java/awt/peer/gtk: GdkGraphics2D.java gnu/java/nio/channels: FileChannelImpl.java gnu/java/nio/charset: Provider.java gnu/java/nio/charset/iconv: IconvProvider.java gnu/java/rmi/server: UnicastRef.java gnu/regexp : RE.java gnu/xml/dom: DomDocument.java DomElement.java DomNode.java gnu/xml/stream : XMLParser.java gnu/xml/transform: AttributeNode.java Bindings.java ElementAvailableFunction.java ElementNode.java FunctionAvailableFunction.java LiteralNode.java MessageNode.java StreamSerializer.java Stylesheet.java TransformerFactoryImpl.java TransformerImpl.java ValueOfNode.java gnu/xml/xpath : Expr.java LocalNameFunction.java NameFunction.java NameTest.java NamespaceTest.java NamespaceUriFunction.java NodeTypeTest.java Selector.java SubstringFunction.java java/beans : EventSetDescriptor.java Introspector.java java/io: PrintStream.java java/lang : SecurityManager.java java/net : InetAddress.java URL.java java/nio/charset/spi: CharsetProvider.java java/security : Security.java java/util : AbstractMap.java ArrayList.java StringTokenizer.java WeakHashMap.java java/util/regex: Pattern.java javax/management: Attribute.java javax/swing: JMenuItem.java JTabbedPane.java JTextField.java JViewport.java RepaintManager.java TransferHandler.java ViewportLayout.java javax/swing/plaf: ComponentUI.java javax/swing/plaf/basic: BasicListUI.java BasicLookAndFeel.java BasicSplitPaneDivider.java javax/swing/plaf/metal: MetalFileChooserUI.java javax/swing/text: DefaultCaret.java DefaultStyledDocument.java GapContent.java PlainDocument.java javax/xml/namespace: QName.java lib: Makefile.am native/fdlibm : fdlibm.h mprec.c native/jni/java-net: gnu_java_net_VMPlainDatagramSocketImpl.c gnu_java_net_VMPlainSocketImpl.c java_net_VMInetAddress.c java_net_VMNetworkInterface.c javanet.c javanet.h native/jni/java-nio: gnu_java_nio_channels_FileChannelImpl.c java_nio_VMDirectByteBuffer.c resource : Makefile.am vm/reference/gnu/java/net: VMPlainDatagramSocketImpl.java VMPlainSocketImpl.java Added files: gnu/xml/transform: NamespaceProxy.java StrippingInstruction.java Log message: * Update to classpath-0_20-release minus: - java/beans/EventSetDescriptor.java - java/util/Hashtable.java CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?only_with_tag=generics-branchtr1=1.2386.2.195tr2=1.2386.2.196r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/Makefile.am.diff?only_with_tag=generics-branchtr1=1.34.2.5tr2=1.34.2.6r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/NEWS.diff?only_with_tag=generics-branchtr1=1.47.2.16tr2=1.47.2.17r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/configure.ac.diff?only_with_tag=generics-branchtr1=1.43.2.22tr2=1.43.2.23r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/gtk/GdkGraphics2D.java.diff?only_with_tag=generics-branchtr1=1.15.2.13tr2=1.15.2.14r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/nio/channels/FileChannelImpl.java.diff?only_with_tag=generics-branchtr1=1.7.2.7tr2=1.7.2.8r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/nio/charset/Provider.java.diff?only_with_tag=generics-branchtr1=1.2.2.4tr2=1.2.2.5r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/nio/charset/iconv/IconvProvider.java.diff?only_with_tag=generics-branchtr1=1.1.2.3tr2=1.1.2.4r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/rmi/server/UnicastRef.java.diff?only_with_tag=generics-branchtr1=1.6.2.2tr2=1.6.2.3r1=textr2=text
[commit-cp] classpath ./ChangeLog java/lang/reflect/Modifie... [generics-branch]
CVSROOT:/cvsroot/classpath Module name:classpath Branch: generics-branch Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 13:25:57 Modified files: . : ChangeLog java/lang/reflect: Modifier.java Log message: * java/lang/reflect/Modifier.java (toString(int, StringBuffer)): Duplicate of toString(int, StringBuilder). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?only_with_tag=generics-branchtr1=1.2386.2.196tr2=1.2386.2.197r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/lang/reflect/Modifier.java.diff?only_with_tag=generics-branchtr1=1.8.2.3tr2=1.8.2.4r1=textr2=text
[commit-cp] classpath ChangeLog
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Gary Benson [EMAIL PROTECTED] 06/01/13 14:30:27 Modified files: . : ChangeLog Log message: 2006-01-13 Gary Benson [EMAIL PROTECTED] * ChangeLog: Correct some 2005s to 2006. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6048tr2=1.6049r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/text/DefaultS...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Lillian Angel [EMAIL PROTECTED] 06/01/13 16:20:52 Modified files: . : ChangeLog javax/swing/text: DefaultStyledDocument.java Log message: 2006-01-13 Lillian Angel [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6049tr2=1.6050r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/text/DefaultStyledDocument.java.diff?tr1=1.35tr2=1.36r1=textr2=text
[commit-cp] classpath ./ChangeLog doc/www.gnu.org/newsitems...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Mark Wielaard [EMAIL PROTECTED] 06/01/13 16:55:29 Modified files: . : ChangeLog doc/www.gnu.org: newsitems.txt doc/www.gnu.org/downloads: downloads.wml Added files: doc/www.gnu.org/announce: 20060113.wml Log message: * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6050tr2=1.6051r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/doc/www.gnu.org/newsitems.txt.diff?tr1=1.36tr2=1.37r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/doc/www.gnu.org/announce/20060113.wml?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/doc/www.gnu.org/downloads/downloads.wml.diff?tr1=1.15tr2=1.16r1=textr2=text
[commit-cp] classpath ./ChangeLog javax/swing/text/DefaultS...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Lillian Angel [EMAIL PROTECTED] 06/01/13 19:30:45 Modified files: . : ChangeLog javax/swing/text: DefaultStyledDocument.java Log message: 2006-01-13 Lillian Angel [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6052tr2=1.6053r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/javax/swing/text/DefaultStyledDocument.java.diff?tr1=1.36tr2=1.37r1=textr2=text
[commit-cp] classpath ./ChangeLog java/awt/Component.java
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/13 21:18:13 Modified files: . : ChangeLog java/awt : Component.java Log message: 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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(). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6054tr2=1.6055r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/Component.java.diff?tr1=1.91tr2=1.92r1=textr2=text
[commit-cp] classpath/java/awt MenuBar.java Frame.java Menu...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/13 21:26:33 Modified files: java/awt : MenuBar.java Frame.java MenuComponent.java Log message: 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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(). CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/MenuBar.java.diff?tr1=1.17tr2=1.18r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/Frame.java.diff?tr1=1.34tr2=1.35r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/MenuComponent.java.diff?tr1=1.23tr2=1.24r1=textr2=text
[commit-cp] classpath java/awt/MenuBar.java ./ChangeLog
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/13 21:47:01 Modified files: java/awt : MenuBar.java . : ChangeLog Log message: 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/MenuBar.java.diff?tr1=1.19tr2=1.20r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6056tr2=1.6057r1=textr2=text
[commit-cp] classpath ./ChangeLog java/awt/peer/ComponentPe...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/13 22:23:17 Modified files: . : ChangeLog java/awt/peer : ComponentPeer.java Log message: 2006-01-13 Roman Kennke [EMAIL PROTECTED] * java/awt/peer/ComponentPeer.java: Added API docs all over. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6059tr2=1.6060r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/java/awt/peer/ComponentPeer.java.diff?tr1=1.15tr2=1.16r1=textr2=text
[commit-cp] classpath/gnu/java/awt/peer/swing
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/14 00:22:25 classpath/gnu/java/awt/peer/swing Update of /cvsroot/classpath/classpath/gnu/java/awt/peer/swing In directory savannah:/tmp/cvs-serv9178/gnu/java/awt/peer/swing Log Message: Directory /cvsroot/classpath/classpath/gnu/java/awt/peer/swing added to the repository
[commit-cp] classpath ./ChangeLog gnu/java/awt/peer/swing/S...
CVSROOT:/cvsroot/classpath Module name:classpath Branch: Changes by: Roman Kennke [EMAIL PROTECTED]06/01/14 00:26:26 Modified files: . : ChangeLog Added files: gnu/java/awt/peer/swing: SwingButtonPeer.java SwingCanvasPeer.java SwingComponent.java SwingComponentPeer.java SwingContainerPeer.java SwingFramePeer.java SwingLabelPeer.java SwingMenuBarPeer.java SwingMenuItemPeer.java SwingMenuPeer.java SwingPanelPeer.java SwingTextFieldPeer.java SwingToolkit.java SwingWindowPeer.java package.html Log message: 2006-01-13 Roman Kennke [EMAIL PROTECTED] * 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. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/ChangeLog.diff?tr1=1.6060tr2=1.6061r1=textr2=text http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingButtonPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingCanvasPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingComponent.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingComponentPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingContainerPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingFramePeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingLabelPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingMenuBarPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingMenuItemPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingMenuPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingPanelPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingTextFieldPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingToolkit.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/SwingWindowPeer.java?rev=1.1 http://cvs.savannah.gnu.org/viewcvs/classpath/classpath/gnu/java/awt/peer/swing/package.html?rev=1.1