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

Reply via email to