diff -r 635ee75d82a5 -r 8d9d63f414b5 rt/emul/mini/src/main/java/java/lang/String.java --- a/rt/emul/mini/src/main/java/java/lang/String.java Fri Sep 27 20:20:50 2013 +0200 +++ b/rt/emul/mini/src/main/java/java/lang/String.java Thu Oct 03 14:39:56 2013 +0200 @@ -2239,12 +2239,14 @@ "var s = this.toString();\n" + "target = target.toString();\n" + "replacement = replacement.toString();\n" + + "var pos = 0;\n" + "for (;;) {\n" - + " var ret = s.replace(target, replacement);\n" - + " if (ret === s) {\n" - + " return ret;\n" + + " var indx = s.indexOf(target, pos);\n" + + " if (indx === -1) {\n" + + " return s;\n" + " }\n" - + " s = ret;\n" + + " pos = indx + replacement.length;\n" + + " s = s.substring(0, indx) + replacement + s.substring(indx + target.length);\n" + "}" ) public native String replace(CharSequence target, CharSequence replacement);