RFR: 7178922 : (props) re-visit how os.name is determined on Mac
David DeHaven
david.dehaven at oracle.com
Wed Nov 14 18:21:01 UTC 2012
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.
>
More information about the core-libs-dev
mailing list