ChakraCore icon indicating copy to clipboard operation
ChakraCore copied to clipboard

libicu v78 formatting changes

Open ShortDevelopment opened this issue 4 weeks ago • 1 comments

The following Intl test started failing in MacOS ci likely to the new libicu v78.1 (see https://github.com/chakra-core/ChakraCore/pull/7038#issuecomment-3591893684)

https://github.com/chakra-core/ChakraCore/blob/2dba810c925eb366e44a1f7d7a5b2e289e2f8510/test/Intl/DateTimeFormat.js#L207-L208

ci-linux.txt ci-macos.txt

ChakraCore

CC generates a skeleton in javascript

https://github.com/chakra-core/ChakraCore/blob/2dba810c925eb366e44a1f7d7a5b2e289e2f8510/lib/Runtime/Library/InJavascript/Intl.js#L1746-L1746 https://github.com/chakra-core/ChakraCore/blob/2dba810c925eb366e44a1f7d7a5b2e289e2f8510/lib/Runtime/Library/InJavascript/Intl.js#L1295-L1459

and uses udatpg_getBestPattern to let libicu generate an appropriate pattern.

https://github.com/chakra-core/ChakraCore/blob/2dba810c925eb366e44a1f7d7a5b2e289e2f8510/lib/Runtime/Library/IntlEngineInterfaceExtensionObject.cpp#L2800 https://github.com/chakra-core/ChakraCore/blob/2dba810c925eb366e44a1f7d7a5b2e289e2f8510/lib/Runtime/Library/IntlEngineInterfaceExtensionObject.cpp#L2843-L2851

libicu

The table below shows the behavior changes of udatpg_getBestPattern (de-DE is just for additional context) Notice the missing , in en-US v78.1.

version locale skeleton pattern
v77.1 en-US EEEEh cccc, h/a
cccch cccc, h/a
de-DE EEEEh cccc, h 'Uhr' a
cccch cccc, h 'Uhr' a
v78.1 en-US EEEEh EEEE h/a
cccch EEEE h/a
de-DE EEEEh EEEE, h/a
cccch EEEE, h/a

ShortDevelopment avatar Nov 29 '25 20:11 ShortDevelopment

https://unicode-org.atlassian.net/browse/CLDR-19139

ShortDevelopment avatar Nov 30 '25 21:11 ShortDevelopment