On Fri, 2006-07-28 at 09:56 +0200, Jeroen Frijters wrote: > Even if something is "Obviously Wrong", it may not be a good idea to fix > it because it would be a breaking change. For example: > http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6227069 > Obvious? Anyway, IMHO "fixing" something in a compatibility-breaking way simply isn't a fix at all. It's the opposite. However, this goes in the opposite direction as well. And that's when you really need to make a judgement call. I just did so in the BigDecimal patch I just commited (which is why I was rude enough to cross-post it to the main list). Which is that setScale(scale, rounding) should throw an ArithmeticException if scale < 0. The spec says so, and the JRE does so prior to v1.5. In 1.5 it does not (with no change to the doc). So without thinking too hard I figured it was a 1.5 regression and put the exception back in (fixing a mauve regression on our part). After all, this could break compatibility, in theory. Although now I'm not quite so sure, because the probable cause of this is that the divide(BigDecimal, scale, rounding) method which we (and Sun, presumably) implement this on, shows the same behaviour, only the docs have changed. /Sven