I need a review for this simple change.
The problem here is that on Mac the file names with composite letters
(like letters with diacritic symbols)
are being kept in the Normalized Form Decomposed, so if file contains
class with the Composed name the
command-line utility or badly configured IDE may provide to the java
command the incorrectly created class name
(derived from what the OS says the .class file name is) hence we got
ClassNotFound for the main class.
The solution would be to catch the ClassNotFoundException during
initialization of the main class
and try it again with "properly" normalized name and only if it fails
for the second time to issue an error.
I don't think this approach may cause any regressions but i have tried
all the related tests and seems
there are no new failures with this change.
Since i haven't found a way of writing a regression test that is
stable on different locales even on Mac OS
(not speaking about other OS'es) there will be no regression test for
this issue.
Webrev can be found at:
http://cr.openjdk.java.net/~kizune/8017248/webrev.00
Bug description is:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8017248
/Alex