[loc-en-dev] Java Identifiers unstable?

Naoto Sato naoto.sato at oracle.com
Fri Oct 8 10:51:21 PDT 2010


Filed a bug 6990687 for this.

Naoto

(10/7/10 6:15 PM), Mark Davis ☕ wrote:
> I don't remember who it was at Sun.
>
>
> For the unicodeStart and unicodePart, you should either shift to the
> Unicode definition, or at a minimum, document that it is not the same as
> the Unicode definition. And then document whether or not you keep it stable.
>
> For the javaStart and javaPart, it really needs to be stable.
>
>     * You could keep basically the same definition, but note that
>       characters may be added for backwards compatibility. Internally,
>       what you'd need to do is whenever you update to a new version of
>       Unicode, check that all characters are retained; if any aren't,
>       then grandfather them in with a hard-coded list.
>     * Alternatively, you could base it on Unicode definition, with a set
>       of grandfathered characters for backwards compatibility.
>
>
> Mark
>
> /— Il meglio è l’inimico del bene —/
>
>
> On Thu, Oct 7, 2010 at 11:54, Naoto Sato <naoto.sato at oracle.com
> <mailto:naoto.sato at oracle.com>> wrote:
>
>     Hi Mark,
>
>     It looks like the javadoc has been the same since JDK 1.1 days
>     ("char" version of the APIs), and AFAIK, the implementation does not
>     follow the TR31.
>
>     Do you remember who at Sun brought this issue to the consortium? I
>     would like to know to what extent s/he went about this, but probably
>     we end up filing a bug to correct the APIs and their implementations.
>
>     Naoto
>
>
>     (10/7/10 8:07 AM), Mark Davis ☕ wrote:
>
>         I know this isn't the right forum, but I'm not sure how to
>         report it.
>
>         Unicode has mechanisms to guarantee that program identifiers are
>         stable
>         over versions of Unicode, and defines properties that have that
>         guarantee: XID_Start and XID_Continue (see
>         http://unicode.org/reports/tr31/).
>
>         Sun was actually the one that brought up this issue, back some 6
>         or 7
>         years, prompting the Consortium to develop a definition that
>         guaranteed
>         stability.
>
>         However, when I look at the documentation for isJavaIdentifierPart,
>         isCharacteIdentifierPart, etc., it appears that these are
>         defined not in
>         terms of those properties, but in terms of properties that are *not*
>         stable over releases.
>
>         http://download.oracle.com/javase/6/docs/api/java/lang/Character.html#isJavaIdentifierPart(int)
>         etc.
>
>         That means that a program that was compiled under one release of
>         Java
>         could fail under a future one, simply because the identifiers break
>         under the new release.
>
>         It may be a matter of just documentation being wrong, or it
>         could be the
>         underlying implementation. Anyway, how can I surface this?
>
>         Mark
>
>
>



More information about the locale-enhancement-dev mailing list