[loc-en-dev] Java Identifiers unstable?
Mark Davis ☕
mark at macchiato.com
Fri Oct 8 11:31:48 PDT 2010
Thanks,
Mark
*— Il meglio è l’inimico del bene —*
On Fri, Oct 8, 2010 at 10:51, Naoto Sato <naoto.sato at oracle.com> wrote:
> 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
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/locale-enhancement-dev/attachments/20101008/b1689a81/attachment.html
More information about the locale-enhancement-dev
mailing list