[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[dsdp-tm-dev] mnemonic generation policies and a patch
|
Kushal and Martin --
I've added a patch for
https://bugs.eclipse.org/bugs/show_bug.cgi?id=187860
Please review this patch as soon as possible.
There are two changes which can be considered API changes. I view
these as
extremely low risk.
(1) findUniqueMnemonic was changed from public to private. It was
only used
within the class and I wanted to remove its (ugly) side effect of
actually
allocating the mnemonic.
(2) The MNEMONIC_CHAR static final was made private. I have no idea
why this
was public to begin with.
I've reorganized the class and cleaned up a substantial chunk of the
code since
it has always been a source of bug reports.
I've added the ability to recognize a much wider range of characters
as valid
mnemonics - including greek, extended latin, and cyrillic. CJK
languages still,
according to IBM policy, require latin mnemonics. This is what was
required
by this bug report.
I also added the ability to generate greek and russian upper case
characters as
mnemonics if the current locale's ISO 639-1 code is greek or russian.
The
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
it in
setUniqueMnemonic(). Basically, if a product doesn't want RSE to mess
with
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
code. I've
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
doing so.
-- Dave