Fixed some (very) incorrect logic in getPreviousWord. I fixed the
BreakIterator problem that I reported earlier, so now test apps can use
javax.swing.text.Utilities.getNextWord and getPreviousWord.
2005-09-22 Anthony Balkissoon <[EMAIL PROTECTED]>
* javax/swing/text/Utilities.java:
(getPreviousWord): Fixed incorrect logic. Use preceding() instead of
following(), previous() instead of next().
--Tony
Index: javax/swing/text/Utilities.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/Utilities.java,v
retrieving revision 1.9
diff -u -r1.9 Utilities.java
--- javax/swing/text/Utilities.java 22 Sep 2005 17:30:29 -0000 1.9
+++ javax/swing/text/Utilities.java 22 Sep 2005 19:00:21 -0000
@@ -337,11 +337,12 @@
String text = c.getText();
BreakIterator wb = BreakIterator.getWordInstance();
wb.setText(text);
- int last = wb.following(offs);
+ int last = wb.preceding(offs);
int current = wb.previous();
+
while (current != BreakIterator.DONE)
{
- for (int i = last; i < current; i++)
+ for (int i = last; i < offs; i++)
{
// FIXME: Should use isLetter(int) and text.codePointAt(int)
// instead, but isLetter(int) isn't implemented yet
@@ -349,8 +350,8 @@
return last;
}
last = current;
- current = wb.next();
+ current = wb.previous();
}
- return BreakIterator.DONE;
+ return 0;
}
}
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches