[dsdp-tm-dev] mnemonic generation policies and a patch
Kushal and Martin --
I've added a patch for
Please review this patch as soon as possible.
There are two changes which can be considered API changes. I view
extremely low risk.
(1) findUniqueMnemonic was changed from public to private. It was
within the class and I wanted to remove its (ugly) side effect of
allocating the mnemonic.
(2) The MNEMONIC_CHAR static final was made private. I have no idea
was public to begin with.
I've reorganized the class and cleaned up a substantial chunk of the
it has always been a source of bug reports.
I've added the ability to recognize a much wider range of characters
mnemonics - including greek, extended latin, and cyrillic. CJK
according to IBM policy, require latin mnemonics. This is what was
by this bug report.
I also added the ability to generate greek and russian upper case
mnemonics if the current locale's ISO 639-1 code is greek or russian.
scheme extends to other languages quite easily.
Lastly, I know that the mnemonic generation is a sticking point
between IBM and
the other companies that might use RSE, thus I've developed a mnemonic
generation policy mechanism. Its complete but not active. You'll find
setUniqueMnemonic(). Basically, if a product doesn't want RSE to mess
labels, it won't.
Initial testing looks good. I'm going to continue testing on Sunday and
hopefully commit on Monday.
A couple of sticking points:
(1) the greek and russian alphabets have been added to the source
had to mark the source member as UTF-8 encoded. If this is a problem
I can use
the unicode code point notation instead for these strings.
(2) I use ICU4J in a number of spots. I had to add the com.ibm.icu
plugin as a
dependency to org.eclipse.rse.ui. I haven't detected any problems in