We do use CFLocale for the default format locale detection, which is used for formatting Date/Time/Number etc. Users can specify different language from it for the UI language, such as menu/button/etc, which can (I think) only be retrieved with that JRS function.

Naoto

On 11/14/12 10:21 AM, David DeHaven wrote:

Why not just use CFLocale and call CFLocaleCopyCurrent?

https://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFLocaleRef/Reference/reference.html#//apple_ref/c/func/CFLocaleCopyCurrent

-DrD-

As to the default locale detection, we need to call JavaRuntimeSupport. 
MacOSX's POSIX calls do not return user's preferred language/format settings.

Naoto

On 11/14/12 1:59 AM, Alan Bateman wrote:
On 13/11/2012 22:50, Brent Christian wrote:
At present, the JDK port for OS X gets its value for os.name from a
JRS function exported by the Apple Java Runtime Support framework.

Historically this has either been "Mac OS X", or "Mac OS X Server",
but there have been reports that this could change at any time, e.g.
to just "OS X". This would break any app that relies on this property
to detect the Mac platform using something like:

System.getProperty("os.name").startsWith("Mac").

To ensure compatibility going forward, the os.name System property on
Mac should be hard-coded to the value that is expected, "Mac OS X".
(FWIW, as of 10.7 Mac OS X Server is no longer a separate edition of
the OS).

Webrev is here:
http://cr.openjdk.java.net/~bchristi/7178922/webrev.0/

Note: the setUnknownOSAndVersion() function is unused following my
change, so I went ahead and removed it.

Thanks,
-Brent
This might be a question for the MacOSX folks but is it safe to continue
to depend on JavaRuntimeSupport period? I'm just wondering if we really
need to use it to determine the OS version and locale?

-Alan.



Reply via email to