Author: bapt
Date: Sat Nov  7 12:43:35 2015
New Revision: 290494
URL: https://svnweb.freebsd.org/changeset/base/290494

Log:
  Improve collation string and locales support
  
  Merge collation support from Illumos and DragonflyBSD.
  
  Locales are now generated with the new localedef(1) tool from CLDR POSIX 
files.
  The generated files are now identified as "BSD 1.0" format.
  
  The libc now only read "BSD 1.0" locales definitions, all other version will 
be
  set to "C"
  The localedef(1) tool has been imported from Illumos and modified to use 
tree(3)
  instead of the CDDL avl(3)
  A set of tool created by edwin@ and extended by marino@ for dragonfly has been
  added to be able to generate locales and the Makefiles from the vanilla CLDR
  unicode databases + a universal UTF-8 charmap (by marino@)
  Update the locales to unicode v27
  Given our regex(3) does not support multibyte (yet) it has been forced to 
always
  use locale C
  Remove now unused colldef(1) and mklocale(1)
  Finish implementing the numeric BSD extension for ctypes
  The number of supported locales has grown from 175 to 250 locales. Among the 
new
  locales: 6 Arabic locales (AE EG JO MA QA SA), Different variations of spanish
  locales.
  Added new 3 components locales for mn_Cyrl_MN, sr_Cyrl_RS sr_Latn_RS,
  zh_Hans_CN, zh_Hant_HK and zh_Hant_TW. Some aliases has been for 2 components
  version when possible.
  
  Thanks: Garrett D'Amore (Illumos) who made sure all his work was done under
  BSD license!, Edwin Groothuis (edwin@) for the work he made on tools to be 
able
  to generate locales definition usable in freebsd sources out of vanilla CLDR
  definitions, John Marino (DragonflyBSD) who first merge the Illumos work into
  Dragonfly and spent hours tracking down bugs.

Added:
     - copied unchanged from r290491, 
projects/collation/share/colldef/af_ZA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/am_ET.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ar_SA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/be_BY.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ca_AD.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/cs_CZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/da_DK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/el_GR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/en_US.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/es_MX.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/et_EE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/fi_FI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/he_IL.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/hi_IN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/hr_HR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/hu_HU.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/hy_AM.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/is_IS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ja_JP.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/kk_Cyrl_KZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ko_KR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/lt_LT.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/lv_LV.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/nb_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/pl_PL.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ro_RO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/ru_RU.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/se_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/sk_SK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/sl_SI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/sv_SE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/tr_TR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/uk_UA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/zh_Hans_CN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/colldef/zh_Hant_TW.UTF-8.src
  head/share/ctypedef/
     - copied from r290491, projects/collation/share/ctypedef/
  head/share/locale-links/
     - copied from r290491, projects/collation/share/locale-links/
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_AE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_EG.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_JO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_MA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_QA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ar_SA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/da_DK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/de_AT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_AU.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_CA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_GB.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_GB.US-ASCII.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_IE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_NZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_PH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_SG.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_US.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_ZA.ISO8859-1.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_ZA.US-ASCII.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/en_ZA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/es_AR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/es_CR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/es_MX.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/fr_CA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/fr_CH.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/fr_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/hi_IN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/hr_HR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/hu_HU.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/is_IS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/it_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ja_JP.SJIS.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/kk_Cyrl_KZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/lv_LV.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/mn_Cyrl_MN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/nb_NO.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/nb_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/nl_BE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/nl_NL.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/nn_NO.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/pt_BR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/ro_RO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/se_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sk_SK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sl_SI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sr_Latn_RS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sv_FI.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sv_FI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sv_SE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sv_SE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/tr_TR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hans_CN.GB2312.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hans_CN.GBK.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hans_CN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hans_CN.eucCN.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hant_HK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hant_TW.Big5.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/zh_Hant_TW.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/ar_SA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/cs_CZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/de_DE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/en_US.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/es_MX.ISO8859-1.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/es_MX.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/et_EE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/eu_ES.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/fi_FI.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/fi_FI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/fr_FR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/hi_IN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/hu_HU.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/is_IS.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/is_IS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/it_IT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/it_IT.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/kk_Cyrl_KZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/lt_LT.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/mn_Cyrl_MN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/nb_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/nl_NL.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/nn_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/pl_PL.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/pt_PT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/pt_PT.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/ro_RO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/se_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sk_SK.ISO8859-2.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sk_SK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sl_SI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sr_Cyrl_RS.ISO8859-5.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sr_Latn_RS.ISO8859-2.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sr_Latn_RS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/sv_SE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/tr_TR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hans_CN.GB2312.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hans_CN.GBK.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hans_CN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hant_HK.Big5HKSCS.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hant_HK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hant_TW.Big5.src
     - copied unchanged from r290491, 
projects/collation/share/msgdef/zh_Hant_TW.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/ar_SA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/en_US.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/en_ZA.US-ASCII.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/fr_CH.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/fr_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/hi_IN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/hy_AM.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/it_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/ru_RU.CP866.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/sr_Latn_RS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/tr_TR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/uk_UA.ISO8859-5.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/uk_UA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/zh_Hans_CN.GB2312.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/zh_Hans_CN.eucCN.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/zh_Hant_TW.Big5.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/af_ZA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/ar_JO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/ar_MA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/ar_SA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/ca_IT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/ca_IT.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/da_DK.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/de_AT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/de_DE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_CA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_GB.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_HK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_IE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_PH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_SG.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_US.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/en_ZA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/es_AR.ISO8859-1.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/es_CR.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/es_ES.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/es_MX.ISO8859-1.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/es_MX.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/eu_ES.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fi_FI.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_BE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_BE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_CA.ISO8859-1.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_CA.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_CH.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/fr_FR.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/hi_IN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/is_IS.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/it_CH.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/it_CH.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/it_IT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/kk_Cyrl_KZ.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/mn_Cyrl_MN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/nb_NO.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/nl_BE.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/nl_NL.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/nn_NO.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/pt_PT.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/se_FI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/se_NO.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sr_Cyrl_RS.ISO8859-5.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sr_Latn_RS.ISO8859-2.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sr_Latn_RS.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sv_FI.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sv_FI.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/sv_SE.ISO8859-15.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hans_CN.GB2312.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hans_CN.GBK.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hans_CN.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hans_CN.eucCN.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hant_HK.Big5HKSCS.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hant_HK.UTF-8.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hant_TW.Big5.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/zh_Hant_TW.UTF-8.src
  head/tools/tools/locale/
     - copied from r290491, projects/collation/tools/tools/locale/
  head/usr.bin/localedef/
     - copied from r290491, projects/collation/usr.bin/localedef/
Directory Properties:
  head/share/colldef/af_ZA.UTF-8.src   (props changed)
  head/share/colldef/am_ET.UTF-8.src   (props changed)
  head/share/colldef/ar_SA.UTF-8.src   (props changed)
  head/share/colldef/be_BY.UTF-8.src   (props changed)
  head/share/colldef/ca_AD.UTF-8.src   (props changed)
  head/share/colldef/cs_CZ.UTF-8.src   (props changed)
  head/share/colldef/da_DK.UTF-8.src   (props changed)
  head/share/colldef/el_GR.UTF-8.src   (props changed)
  head/share/colldef/en_US.UTF-8.src   (props changed)
  head/share/colldef/es_MX.UTF-8.src   (props changed)
  head/share/colldef/et_EE.UTF-8.src   (props changed)
  head/share/colldef/fi_FI.UTF-8.src   (props changed)
  head/share/colldef/he_IL.UTF-8.src   (props changed)
  head/share/colldef/hi_IN.UTF-8.src   (props changed)
  head/share/colldef/hr_HR.UTF-8.src   (props changed)
  head/share/colldef/hu_HU.UTF-8.src   (props changed)
  head/share/colldef/hy_AM.UTF-8.src   (props changed)
  head/share/colldef/is_IS.UTF-8.src   (props changed)
  head/share/colldef/ja_JP.UTF-8.src   (props changed)
  head/share/colldef/kk_Cyrl_KZ.UTF-8.src   (props changed)
  head/share/colldef/ko_KR.UTF-8.src   (props changed)
  head/share/colldef/lt_LT.UTF-8.src   (props changed)
  head/share/colldef/lv_LV.UTF-8.src   (props changed)
  head/share/colldef/nb_NO.UTF-8.src   (props changed)
  head/share/colldef/pl_PL.UTF-8.src   (props changed)
  head/share/colldef/ro_RO.UTF-8.src   (props changed)
  head/share/colldef/ru_RU.UTF-8.src   (props changed)
  head/share/colldef/se_NO.UTF-8.src   (props changed)
  head/share/colldef/sk_SK.UTF-8.src   (props changed)
  head/share/colldef/sl_SI.UTF-8.src   (props changed)
  head/share/colldef/sv_SE.UTF-8.src   (props changed)
  head/share/colldef/tr_TR.UTF-8.src   (props changed)
  head/share/colldef/uk_UA.UTF-8.src   (props changed)
  head/share/colldef/zh_Hans_CN.UTF-8.src   (props changed)
  head/share/colldef/zh_Hant_TW.UTF-8.src   (props changed)
  head/share/monetdef/ar_AE.UTF-8.src   (props changed)
  head/share/monetdef/ar_EG.UTF-8.src   (props changed)
  head/share/monetdef/ar_JO.UTF-8.src   (props changed)
  head/share/monetdef/ar_MA.UTF-8.src   (props changed)
  head/share/monetdef/ar_QA.UTF-8.src   (props changed)
  head/share/monetdef/ar_SA.UTF-8.src   (props changed)
  head/share/monetdef/da_DK.UTF-8.src   (props changed)
  head/share/monetdef/de_AT.ISO8859-15.src   (props changed)
  head/share/monetdef/en_AU.UTF-8.src   (props changed)
  head/share/monetdef/en_CA.UTF-8.src   (props changed)
  head/share/monetdef/en_GB.ISO8859-15.src   (props changed)
  head/share/monetdef/en_GB.US-ASCII.src   (props changed)
  head/share/monetdef/en_IE.ISO8859-15.src   (props changed)
  head/share/monetdef/en_NZ.UTF-8.src   (props changed)
  head/share/monetdef/en_PH.UTF-8.src   (props changed)
  head/share/monetdef/en_SG.UTF-8.src   (props changed)
  head/share/monetdef/en_US.UTF-8.src   (props changed)
  head/share/monetdef/en_ZA.ISO8859-1.src   (props changed)
  head/share/monetdef/en_ZA.US-ASCII.src   (props changed)
  head/share/monetdef/en_ZA.UTF-8.src   (props changed)
  head/share/monetdef/es_AR.UTF-8.src   (props changed)
  head/share/monetdef/es_CR.UTF-8.src   (props changed)
  head/share/monetdef/es_MX.UTF-8.src   (props changed)
  head/share/monetdef/fr_CA.UTF-8.src   (props changed)
  head/share/monetdef/fr_CH.ISO8859-15.src   (props changed)
  head/share/monetdef/fr_CH.UTF-8.src   (props changed)
  head/share/monetdef/hi_IN.UTF-8.src   (props changed)
  head/share/monetdef/hr_HR.UTF-8.src   (props changed)
  head/share/monetdef/hu_HU.UTF-8.src   (props changed)
  head/share/monetdef/is_IS.UTF-8.src   (props changed)
  head/share/monetdef/it_CH.UTF-8.src   (props changed)
  head/share/monetdef/ja_JP.SJIS.src   (props changed)
  head/share/monetdef/kk_Cyrl_KZ.UTF-8.src   (props changed)
  head/share/monetdef/lv_LV.UTF-8.src   (props changed)
  head/share/monetdef/mn_Cyrl_MN.UTF-8.src   (props changed)
  head/share/monetdef/nb_NO.ISO8859-15.src   (props changed)
  head/share/monetdef/nb_NO.UTF-8.src   (props changed)
  head/share/monetdef/nl_BE.ISO8859-15.src   (props changed)
  head/share/monetdef/nl_NL.ISO8859-15.src   (props changed)
  head/share/monetdef/nn_NO.ISO8859-15.src   (props changed)
  head/share/monetdef/pt_BR.UTF-8.src   (props changed)
  head/share/monetdef/ro_RO.UTF-8.src   (props changed)
  head/share/monetdef/se_NO.UTF-8.src   (props changed)
  head/share/monetdef/sk_SK.UTF-8.src   (props changed)
  head/share/monetdef/sl_SI.UTF-8.src   (props changed)
  head/share/monetdef/sr_Latn_RS.UTF-8.src   (props changed)
  head/share/monetdef/sv_FI.ISO8859-15.src   (props changed)
  head/share/monetdef/sv_FI.UTF-8.src   (props changed)
  head/share/monetdef/sv_SE.ISO8859-15.src   (props changed)
  head/share/monetdef/sv_SE.UTF-8.src   (props changed)
  head/share/monetdef/tr_TR.UTF-8.src   (props changed)
  head/share/monetdef/zh_Hans_CN.GB2312.src   (props changed)
  head/share/monetdef/zh_Hans_CN.GBK.src   (props changed)
  head/share/monetdef/zh_Hans_CN.UTF-8.src   (props changed)
  head/share/monetdef/zh_Hans_CN.eucCN.src   (props changed)
  head/share/monetdef/zh_Hant_HK.UTF-8.src   (props changed)
  head/share/monetdef/zh_Hant_TW.Big5.src   (props changed)
  head/share/monetdef/zh_Hant_TW.UTF-8.src   (props changed)
  head/share/msgdef/ar_SA.UTF-8.src   (props changed)
  head/share/msgdef/cs_CZ.UTF-8.src   (props changed)
  head/share/msgdef/de_DE.UTF-8.src   (props changed)
  head/share/msgdef/en_US.UTF-8.src   (props changed)
  head/share/msgdef/es_MX.ISO8859-1.src   (props changed)
  head/share/msgdef/es_MX.UTF-8.src   (props changed)
  head/share/msgdef/et_EE.UTF-8.src   (props changed)
  head/share/msgdef/eu_ES.UTF-8.src   (props changed)
  head/share/msgdef/fi_FI.ISO8859-15.src   (props changed)
  head/share/msgdef/fi_FI.UTF-8.src   (props changed)
  head/share/msgdef/fr_FR.UTF-8.src   (props changed)
  head/share/msgdef/hi_IN.UTF-8.src   (props changed)
  head/share/msgdef/hu_HU.UTF-8.src   (props changed)
  head/share/msgdef/is_IS.ISO8859-15.src   (props changed)
  head/share/msgdef/is_IS.UTF-8.src   (props changed)
  head/share/msgdef/it_IT.ISO8859-15.src   (props changed)
  head/share/msgdef/it_IT.UTF-8.src   (props changed)
  head/share/msgdef/kk_Cyrl_KZ.UTF-8.src   (props changed)
  head/share/msgdef/lt_LT.UTF-8.src   (props changed)
  head/share/msgdef/mn_Cyrl_MN.UTF-8.src   (props changed)
  head/share/msgdef/nb_NO.UTF-8.src   (props changed)
  head/share/msgdef/nl_NL.UTF-8.src   (props changed)
  head/share/msgdef/nn_NO.UTF-8.src   (props changed)
  head/share/msgdef/pl_PL.UTF-8.src   (props changed)
  head/share/msgdef/pt_PT.ISO8859-15.src   (props changed)
  head/share/msgdef/pt_PT.UTF-8.src   (props changed)
  head/share/msgdef/ro_RO.UTF-8.src   (props changed)
  head/share/msgdef/se_NO.UTF-8.src   (props changed)
  head/share/msgdef/sk_SK.ISO8859-2.src   (props changed)
  head/share/msgdef/sk_SK.UTF-8.src   (props changed)
  head/share/msgdef/sl_SI.UTF-8.src   (props changed)
  head/share/msgdef/sr_Cyrl_RS.ISO8859-5.src   (props changed)
  head/share/msgdef/sr_Latn_RS.ISO8859-2.src   (props changed)
  head/share/msgdef/sr_Latn_RS.UTF-8.src   (props changed)
  head/share/msgdef/sv_SE.UTF-8.src   (props changed)
  head/share/msgdef/tr_TR.UTF-8.src   (props changed)
  head/share/msgdef/zh_Hans_CN.GB2312.src   (props changed)
  head/share/msgdef/zh_Hans_CN.GBK.src   (props changed)
  head/share/msgdef/zh_Hans_CN.UTF-8.src   (props changed)
  head/share/msgdef/zh_Hant_HK.Big5HKSCS.src   (props changed)
  head/share/msgdef/zh_Hant_HK.UTF-8.src   (props changed)
  head/share/msgdef/zh_Hant_TW.Big5.src   (props changed)
  head/share/msgdef/zh_Hant_TW.UTF-8.src   (props changed)
  head/share/numericdef/ar_SA.UTF-8.src   (props changed)
  head/share/numericdef/en_US.UTF-8.src   (props changed)
  head/share/numericdef/en_ZA.US-ASCII.src   (props changed)
  head/share/numericdef/fr_CH.ISO8859-15.src   (props changed)
  head/share/numericdef/fr_CH.UTF-8.src   (props changed)
  head/share/numericdef/hi_IN.UTF-8.src   (props changed)
  head/share/numericdef/hy_AM.UTF-8.src   (props changed)
  head/share/numericdef/it_CH.UTF-8.src   (props changed)
  head/share/numericdef/ru_RU.CP866.src   (props changed)
  head/share/numericdef/sr_Latn_RS.UTF-8.src   (props changed)
  head/share/numericdef/tr_TR.UTF-8.src   (props changed)
  head/share/numericdef/uk_UA.ISO8859-5.src   (props changed)
  head/share/numericdef/uk_UA.UTF-8.src   (props changed)
  head/share/numericdef/zh_Hans_CN.GB2312.src   (props changed)
  head/share/numericdef/zh_Hans_CN.eucCN.src   (props changed)
  head/share/numericdef/zh_Hant_TW.Big5.src   (props changed)
  head/share/timedef/af_ZA.UTF-8.src   (props changed)
  head/share/timedef/ar_JO.UTF-8.src   (props changed)
  head/share/timedef/ar_MA.UTF-8.src   (props changed)
  head/share/timedef/ar_SA.UTF-8.src   (props changed)
  head/share/timedef/ca_IT.ISO8859-15.src   (props changed)
  head/share/timedef/ca_IT.UTF-8.src   (props changed)
  head/share/timedef/da_DK.ISO8859-15.src   (props changed)
  head/share/timedef/de_AT.ISO8859-15.src   (props changed)
  head/share/timedef/de_DE.ISO8859-15.src   (props changed)
  head/share/timedef/en_CA.UTF-8.src   (props changed)
  head/share/timedef/en_GB.UTF-8.src   (props changed)
  head/share/timedef/en_HK.UTF-8.src   (props changed)
  head/share/timedef/en_IE.UTF-8.src   (props changed)
  head/share/timedef/en_PH.UTF-8.src   (props changed)
  head/share/timedef/en_SG.UTF-8.src   (props changed)
  head/share/timedef/en_US.UTF-8.src   (props changed)
  head/share/timedef/en_ZA.UTF-8.src   (props changed)
  head/share/timedef/es_AR.ISO8859-1.src   (props changed)
  head/share/timedef/es_CR.UTF-8.src   (props changed)
  head/share/timedef/es_ES.ISO8859-15.src   (props changed)
  head/share/timedef/es_MX.ISO8859-1.src   (props changed)
  head/share/timedef/es_MX.UTF-8.src   (props changed)
  head/share/timedef/eu_ES.UTF-8.src   (props changed)
  head/share/timedef/fi_FI.ISO8859-15.src   (props changed)
  head/share/timedef/fr_BE.ISO8859-15.src   (props changed)
  head/share/timedef/fr_BE.UTF-8.src   (props changed)
  head/share/timedef/fr_CA.ISO8859-1.src   (props changed)
  head/share/timedef/fr_CA.UTF-8.src   (props changed)
  head/share/timedef/fr_CH.ISO8859-15.src   (props changed)
  head/share/timedef/fr_CH.UTF-8.src   (props changed)
  head/share/timedef/fr_FR.ISO8859-15.src   (props changed)
  head/share/timedef/hi_IN.UTF-8.src   (props changed)
  head/share/timedef/is_IS.ISO8859-15.src   (props changed)
  head/share/timedef/it_CH.ISO8859-15.src   (props changed)
  head/share/timedef/it_CH.UTF-8.src   (props changed)
  head/share/timedef/it_IT.ISO8859-15.src   (props changed)
  head/share/timedef/kk_Cyrl_KZ.UTF-8.src   (props changed)
  head/share/timedef/mn_Cyrl_MN.UTF-8.src   (props changed)
  head/share/timedef/nb_NO.ISO8859-15.src   (props changed)
  head/share/timedef/nl_BE.UTF-8.src   (props changed)
  head/share/timedef/nl_NL.UTF-8.src   (props changed)
  head/share/timedef/nn_NO.ISO8859-15.src   (props changed)
  head/share/timedef/pt_PT.ISO8859-15.src   (props changed)
  head/share/timedef/se_FI.UTF-8.src   (props changed)
  head/share/timedef/se_NO.UTF-8.src   (props changed)
  head/share/timedef/sr_Cyrl_RS.ISO8859-5.src   (props changed)
  head/share/timedef/sr_Latn_RS.ISO8859-2.src   (props changed)
  head/share/timedef/sr_Latn_RS.UTF-8.src   (props changed)
  head/share/timedef/sv_FI.ISO8859-15.src   (props changed)
  head/share/timedef/sv_FI.UTF-8.src   (props changed)
  head/share/timedef/sv_SE.ISO8859-15.src   (props changed)
  head/share/timedef/zh_Hans_CN.GB2312.src   (props changed)
  head/share/timedef/zh_Hans_CN.GBK.src   (props changed)
  head/share/timedef/zh_Hans_CN.UTF-8.src   (props changed)
  head/share/timedef/zh_Hans_CN.eucCN.src   (props changed)
  head/share/timedef/zh_Hant_HK.Big5HKSCS.src   (props changed)
  head/share/timedef/zh_Hant_HK.UTF-8.src   (props changed)
  head/share/timedef/zh_Hant_TW.Big5.src   (props changed)
  head/share/timedef/zh_Hant_TW.UTF-8.src   (props changed)
Replaced:
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sk_SK.ISO8859-2.src
     - copied unchanged from r290491, 
projects/collation/share/monetdef/sl_SI.ISO8859-2.src
     - copied unchanged from r290491, 
projects/collation/share/numericdef/uk_UA.KOI8-U.src
     - copied unchanged from r290491, 
projects/collation/share/timedef/de_DE.UTF-8.src
Directory Properties:
  head/share/monetdef/sk_SK.ISO8859-2.src   (props changed)
  head/share/monetdef/sl_SI.ISO8859-2.src   (props changed)
  head/share/numericdef/uk_UA.KOI8-U.src   (props changed)
  head/share/timedef/de_DE.UTF-8.src   (props changed)
Deleted:
  head/lib/libc/locale/ascii.c
  head/share/colldef/README
  head/share/colldef/be_BY.CP1131.src
  head/share/colldef/be_BY.CP1251.src
  head/share/colldef/be_BY.ISO8859-5.src
  head/share/colldef/bg_BG.CP1251.src
  head/share/colldef/ca_ES.ISO8859-1.src
  head/share/colldef/ca_ES.ISO8859-15.src
  head/share/colldef/cs_CZ.ISO8859-2.src
  head/share/colldef/de_DE.ISO8859-1.src
  head/share/colldef/de_DE.ISO8859-15.src
  head/share/colldef/el_GR.ISO8859-7.src
  head/share/colldef/en_DK.example
  head/share/colldef/es_ES.ISO8859-1.src
  head/share/colldef/es_ES.ISO8859-15.src
  head/share/colldef/et_EE.ISO8859-15.src
  head/share/colldef/hi_IN.ISCII-DEV.src
  head/share/colldef/hr_HR.ISO8859-2.src
  head/share/colldef/hy_AM.ARMSCII-8.src
  head/share/colldef/is_IS.ISO8859-1.src
  head/share/colldef/is_IS.ISO8859-15.src
  head/share/colldef/kk_KZ.PT154.src
  head/share/colldef/la_LN.ISO8859-1.src
  head/share/colldef/la_LN.ISO8859-13.src
  head/share/colldef/la_LN.ISO8859-15.src
  head/share/colldef/la_LN.ISO8859-2.src
  head/share/colldef/la_LN.ISO8859-4.src
  head/share/colldef/la_LN.US-ASCII.src
  head/share/colldef/lt_LT.ISO8859-4.src
  head/share/colldef/map.ARMSCII-8
  head/share/colldef/map.CP1131
  head/share/colldef/map.CP1251
  head/share/colldef/map.CP866
  head/share/colldef/map.ISCII-DEV
  head/share/colldef/map.ISO8859-1
  head/share/colldef/map.ISO8859-13
  head/share/colldef/map.ISO8859-15
  head/share/colldef/map.ISO8859-2
  head/share/colldef/map.ISO8859-4
  head/share/colldef/map.ISO8859-5
  head/share/colldef/map.ISO8859-7
  head/share/colldef/map.ISO8859-9
  head/share/colldef/map.KOI8-R
  head/share/colldef/map.KOI8-U
  head/share/colldef/map.PT154
  head/share/colldef/no_NO.ISO8859-1.src
  head/share/colldef/no_NO.ISO8859-15.src
  head/share/colldef/pl_PL.ISO8859-2.src
  head/share/colldef/ru_RU.CP1251.src
  head/share/colldef/ru_RU.CP866.src
  head/share/colldef/ru_RU.ISO8859-5.src
  head/share/colldef/ru_RU.KOI8-R.src
  head/share/colldef/sl_SI.ISO8859-2.src
  head/share/colldef/sr_YU.ISO8859-5.src
  head/share/colldef/sv_SE.ISO8859-1.src
  head/share/colldef/sv_SE.ISO8859-15.src
  head/share/colldef/tr_TR.ISO8859-9.src
  head/share/colldef/uk_UA.CP1251.src
  head/share/colldef/uk_UA.ISO8859-5.src
  head/share/colldef/uk_UA.KOI8-U.src
  head/share/mklocale/
  head/share/monetdef/Makefile.depend
  head/share/monetdef/af_ZA.ISO8859-1.src
  head/share/monetdef/ca_ES.ISO8859-1.src
  head/share/monetdef/ca_ES.UTF-8.src
  head/share/monetdef/da_DK.ISO8859-1.src
  head/share/monetdef/de_AT.ISO8859-1.src
  head/share/monetdef/de_CH.ISO8859-1.src
  head/share/monetdef/de_DE.ISO8859-1.src
  head/share/monetdef/de_DE.UTF-8.src
  head/share/monetdef/el_GR.ISO8859-7.src
  head/share/monetdef/el_GR.UTF-8.src
  head/share/monetdef/en_AU.ISO8859-1.src
  head/share/monetdef/en_CA.ISO8859-1.src
  head/share/monetdef/en_GB.ISO8859-1.src
  head/share/monetdef/en_NZ.ISO8859-1.src
  head/share/monetdef/en_US.ISO8859-1.src
  head/share/monetdef/es_ES.ISO8859-1.src
  head/share/monetdef/es_ES.UTF-8.src
  head/share/monetdef/et_EE.ISO8859-15.src
  head/share/monetdef/fi_FI.ISO8859-1.src
  head/share/monetdef/fi_FI.UTF-8.src
  head/share/monetdef/fr_BE.ISO8859-1.src
  head/share/monetdef/fr_BE.UTF-8.src
  head/share/monetdef/fr_FR.ISO8859-1.src
  head/share/monetdef/fr_FR.UTF-8.src
  head/share/monetdef/hr_HR.ISO8859-2.src
  head/share/monetdef/is_IS.ISO8859-1.src
  head/share/monetdef/it_IT.ISO8859-1.src
  head/share/monetdef/it_IT.UTF-8.src
  head/share/monetdef/kk_KZ.PT154.src
  head/share/monetdef/kk_KZ.UTF-8.src
  head/share/monetdef/lt_LT.ISO8859-13.src
  head/share/monetdef/mn_MN.UTF-8.src
  head/share/monetdef/nl_BE.ISO8859-1.src
  head/share/monetdef/nl_BE.UTF-8.src
  head/share/monetdef/nl_NL.ISO8859-1.src
  head/share/monetdef/no_NO.ISO8859-1.src
  head/share/monetdef/pt_BR.ISO8859-1.src
  head/share/monetdef/pt_PT.ISO8859-1.src
  head/share/monetdef/pt_PT.ISO8859-15.src
  head/share/monetdef/pt_PT.UTF-8.src
  head/share/monetdef/ro_RO.ISO8859-2.src
  head/share/monetdef/sr_YU.ISO8859-2.src
  head/share/monetdef/sr_YU.ISO8859-5.src
  head/share/monetdef/sr_YU.UTF-8.src
  head/share/monetdef/sv_SE.ISO8859-1.src
  head/share/monetdef/zh_CN.GB18030.src
  head/share/monetdef/zh_CN.GB2312.src
  head/share/monetdef/zh_CN.UTF-8.src
  head/share/monetdef/zh_CN.eucCN.src
  head/share/monetdef/zh_HK.UTF-8.src
  head/share/monetdef/zh_TW.Big5.src
  head/share/msgdef/Makefile.depend
  head/share/msgdef/af_ZA.ISO8859-1.src
  head/share/msgdef/ca_ES.ISO8859-1.src
  head/share/msgdef/cs_CZ.ISO8859-2.src
  head/share/msgdef/da_DK.ISO8859-1.src
  head/share/msgdef/de_DE.ISO8859-1.src
  head/share/msgdef/en_CA.ISO8859-1.src
  head/share/msgdef/en_GB.ISO8859-1.src
  head/share/msgdef/en_US.ISO8859-1.src
  head/share/msgdef/es_ES.ISO8859-1.src
  head/share/msgdef/et_EE.ISO8859-15.src
  head/share/msgdef/eu_ES.ISO8859-1.src
  head/share/msgdef/fi_FI.ISO8859-1.src
  head/share/msgdef/fr_BE.ISO8859-1.src
  head/share/msgdef/fr_CH.ISO8859-1.src
  head/share/msgdef/fr_FR.ISO8859-1.src
  head/share/msgdef/hr_HR.ISO8859-2.src
  head/share/msgdef/hu_HU.ISO8859-2.src
  head/share/msgdef/is_IS.ISO8859-1.src
  head/share/msgdef/it_IT.ISO8859-1.src
  head/share/msgdef/kk_KZ.PT154.src
  head/share/msgdef/kk_KZ.UTF-8.src
  head/share/msgdef/lt_LT.ISO8859-13.src
  head/share/msgdef/mn_MN.UTF-8.src
  head/share/msgdef/nl_NL.ISO8859-1.src
  head/share/msgdef/no_NO.ISO8859-1.src
  head/share/msgdef/pl_PL.ISO8859-2.src
  head/share/msgdef/pt_PT.ISO8859-1.src
  head/share/msgdef/ro_RO.ISO8859-2.src
  head/share/msgdef/sl_SI.ISO8859-2.src
  head/share/msgdef/sr_YU.ISO8859-2.src
  head/share/msgdef/sr_YU.ISO8859-5.src
  head/share/msgdef/sr_YU.UTF-8.src
  head/share/msgdef/sv_SE.ISO8859-1.src
  head/share/msgdef/zh_CN.GB18030.src
  head/share/msgdef/zh_CN.GB2312.src
  head/share/msgdef/zh_CN.UTF-8.src
  head/share/msgdef/zh_CN.eucCN.src
  head/share/msgdef/zh_TW.Big5.src
  head/share/msgdef/zh_TW.UTF-8.src
  head/share/numericdef/Makefile.depend
  head/share/numericdef/af_ZA.ISO8859-1.src
  head/share/numericdef/am_ET.UTF-8.src
  head/share/numericdef/be_BY.CP1251.src
  head/share/numericdef/bg_BG.CP1251.src
  head/share/numericdef/ca_ES.ISO8859-1.src
  head/share/numericdef/cs_CZ.ISO8859-2.src
  head/share/numericdef/da_DK.ISO8859-1.src
  head/share/numericdef/de_CH.ISO8859-1.src
  head/share/numericdef/de_DE.ISO8859-1.src
  head/share/numericdef/el_GR.ISO8859-7.src
  head/share/numericdef/en_US.ISO8859-1.src
  head/share/numericdef/es_ES.ISO8859-1.src
  head/share/numericdef/et_EE.ISO8859-15.src
  head/share/numericdef/eu_ES.ISO8859-1.src
  head/share/numericdef/fi_FI.ISO8859-1.src
  head/share/numericdef/fr_BE.ISO8859-1.src
  head/share/numericdef/fr_FR.ISO8859-1.src
  head/share/numericdef/hi_IN.ISCII-DEV.src
  head/share/numericdef/hr_HR.ISO8859-2.src
  head/share/numericdef/hu_HU.ISO8859-2.src
  head/share/numericdef/hy_AM.ARMSCII-8.src
  head/share/numericdef/is_IS.ISO8859-1.src
  head/share/numericdef/it_IT.ISO8859-1.src
  head/share/numericdef/ja_JP.eucJP.src
  head/share/numericdef/kk_KZ.PT154.src
  head/share/numericdef/ko_KR.eucKR.src
  head/share/numericdef/lt_LT.ISO8859-13.src
  head/share/numericdef/mn_MN.UTF-8.src
  head/share/numericdef/nl_NL.ISO8859-1.src
  head/share/numericdef/no_NO.ISO8859-1.src
  head/share/numericdef/pl_PL.ISO8859-2.src
  head/share/numericdef/pt_BR.ISO8859-1.src
  head/share/numericdef/pt_PT.ISO8859-1.src
  head/share/numericdef/ro_RO.ISO8859-2.src
  head/share/numericdef/ru_RU.KOI8-R.src
  head/share/numericdef/sk_SK.ISO8859-2.src
  head/share/numericdef/sl_SI.ISO8859-2.src
  head/share/numericdef/sr_YU.ISO8859-2.src
  head/share/numericdef/sr_YU.ISO8859-5.src
  head/share/numericdef/sv_SE.ISO8859-1.src
  head/share/numericdef/tr_TR.ISO8859-9.src
  head/share/numericdef/zh_CN.eucCN.src
  head/share/timedef/Makefile.depend
  head/share/timedef/ca_ES.ISO8859-1.src
  head/share/timedef/ca_ES.UTF-8.src
  head/share/timedef/da_DK.ISO8859-1.src
  head/share/timedef/de_AT.ISO8859-1.src
  head/share/timedef/de_DE.ISO8859-1.src
  head/share/timedef/en_GB.ISO8859-1.src
  head/share/timedef/en_US.ISO8859-1.src
  head/share/timedef/es_ES.ISO8859-1.src
  head/share/timedef/eu_ES.ISO8859-1.src
  head/share/timedef/fi_FI.ISO8859-1.src
  head/share/timedef/fr_FR.ISO8859-1.src
  head/share/timedef/is_IS.ISO8859-1.src
  head/share/timedef/it_IT.ISO8859-1.src
  head/share/timedef/kk_KZ.PT154.src
  head/share/timedef/kk_KZ.UTF-8.src
  head/share/timedef/la_LN.ISO8859-1.src
  head/share/timedef/lt_LT.ISO8859-4.src
  head/share/timedef/mn_MN.UTF-8.src
  head/share/timedef/nb_NO.ISO8859-1.src
  head/share/timedef/nl_NL.ISO8859-1.src
  head/share/timedef/nn_NO.ISO8859-1.src
  head/share/timedef/pt_PT.ISO8859-1.src
  head/share/timedef/sr_YU.ISO8859-2.src
  head/share/timedef/sr_YU.ISO8859-5.src
  head/share/timedef/sr_YU.UTF-8.src
  head/share/timedef/sv_SE.ISO8859-1.src
  head/share/timedef/zh_CN.GB18030.src
  head/share/timedef/zh_CN.GB2312.src
  head/share/timedef/zh_CN.UTF-8.src
  head/share/timedef/zh_CN.eucCN.src
  head/share/timedef/zh_TW.Big5.src
  head/share/timedef/zh_TW.UTF-8.src
  head/usr.bin/colldef/
  head/usr.bin/mklocale/
Modified:
  head/Makefile.inc1
  head/ObsoleteFiles.inc
  head/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
  head/etc/mtree/BSD.usr.dist
  head/include/_ctype.h
  head/include/ctype.h
  head/include/limits.h
  head/include/wctype.h
  head/include/xlocale/_ctype.h
  head/lib/libc/locale/Makefile.inc
  head/lib/libc/locale/big5.c
  head/lib/libc/locale/collate.c
  head/lib/libc/locale/collate.h
  head/lib/libc/locale/collcmp.c
  head/lib/libc/locale/euc.c
  head/lib/libc/locale/gb18030.c
  head/lib/libc/locale/gb2312.c
  head/lib/libc/locale/gbk.c
  head/lib/libc/locale/isctype.c
  head/lib/libc/locale/iswctype.c
  head/lib/libc/locale/mblocal.h
  head/lib/libc/locale/mbsnrtowcs.c
  head/lib/libc/locale/mskanji.c
  head/lib/libc/locale/nl_langinfo.c
  head/lib/libc/locale/none.c
  head/lib/libc/locale/rune.c
  head/lib/libc/locale/setrunelocale.c
  head/lib/libc/locale/table.c
  head/lib/libc/locale/utf8.c
  head/lib/libc/locale/wcsnrtombs.c
  head/lib/libc/locale/wctype.c
  head/lib/libc/string/strcoll.c
  head/lib/libc/string/strxfrm.c
  head/lib/libc/string/wcscoll.c
  head/lib/libc/string/wcsxfrm.c
  head/share/Makefile
  head/share/colldef/Makefile
  head/share/mk/src.libnames.mk
  head/share/monetdef/Makefile
  head/share/monetdef/am_ET.UTF-8.src   (contents, props changed)
  head/share/monetdef/be_BY.CP1131.src   (contents, props changed)
  head/share/monetdef/be_BY.CP1251.src   (contents, props changed)
  head/share/monetdef/be_BY.ISO8859-5.src   (contents, props changed)
  head/share/monetdef/be_BY.UTF-8.src   (contents, props changed)
  head/share/monetdef/bg_BG.CP1251.src   (contents, props changed)
  head/share/monetdef/bg_BG.UTF-8.src   (contents, props changed)
  head/share/monetdef/cs_CZ.ISO8859-2.src   (contents, props changed)
  head/share/monetdef/cs_CZ.UTF-8.src   (contents, props changed)
  head/share/monetdef/de_AT.UTF-8.src   (contents, props changed)
  head/share/monetdef/en_GB.UTF-8.src   (contents, props changed)
  head/share/monetdef/en_IE.UTF-8.src   (contents, props changed)
  head/share/monetdef/fr_CA.ISO8859-1.src   (contents, props changed)
  head/share/monetdef/he_IL.UTF-8.src   (contents, props changed)
  head/share/monetdef/hi_IN.ISCII-DEV.src   (contents, props changed)
  head/share/monetdef/hu_HU.ISO8859-2.src   (contents, props changed)
  head/share/monetdef/hy_AM.ARMSCII-8.src   (contents, props changed)
  head/share/monetdef/hy_AM.UTF-8.src   (contents, props changed)
  head/share/monetdef/ja_JP.UTF-8.src   (contents, props changed)
  head/share/monetdef/ja_JP.eucJP.src   (contents, props changed)
  head/share/monetdef/ko_KR.UTF-8.src   (contents, props changed)
  head/share/monetdef/ko_KR.eucKR.src   (contents, props changed)
  head/share/monetdef/lv_LV.ISO8859-13.src   (contents, props changed)
  head/share/monetdef/nl_NL.UTF-8.src   (contents, props changed)
  head/share/monetdef/pl_PL.ISO8859-2.src   (contents, props changed)
  head/share/monetdef/pl_PL.UTF-8.src   (contents, props changed)
  head/share/monetdef/ru_RU.CP1251.src   (contents, props changed)
  head/share/monetdef/ru_RU.CP866.src   (contents, props changed)
  head/share/monetdef/ru_RU.ISO8859-5.src   (contents, props changed)
  head/share/monetdef/ru_RU.KOI8-R.src   (contents, props changed)
  head/share/monetdef/ru_RU.UTF-8.src   (contents, props changed)
  head/share/monetdef/tr_TR.ISO8859-9.src   (contents, props changed)
  head/share/monetdef/uk_UA.CP1251.src   (contents, props changed)
  head/share/monetdef/uk_UA.ISO8859-5.src   (contents, props changed)
  head/share/monetdef/uk_UA.KOI8-U.src   (contents, props changed)
  head/share/monetdef/uk_UA.UTF-8.src   (contents, props changed)
  head/share/msgdef/Makefile
  head/share/msgdef/am_ET.UTF-8.src   (contents, props changed)
  head/share/msgdef/be_BY.CP1131.src   (contents, props changed)
  head/share/msgdef/be_BY.CP1251.src   (contents, props changed)
  head/share/msgdef/be_BY.ISO8859-5.src   (contents, props changed)
  head/share/msgdef/be_BY.UTF-8.src   (contents, props changed)
  head/share/msgdef/bg_BG.CP1251.src   (contents, props changed)
  head/share/msgdef/bg_BG.UTF-8.src   (contents, props changed)
  head/share/msgdef/el_GR.ISO8859-7.src   (contents, props changed)
  head/share/msgdef/el_GR.UTF-8.src   (contents, props changed)
  head/share/msgdef/he_IL.UTF-8.src   (contents, props changed)
  head/share/msgdef/hi_IN.ISCII-DEV.src   (contents, props changed)
  head/share/msgdef/hy_AM.ARMSCII-8.src   (contents, props changed)
  head/share/msgdef/hy_AM.UTF-8.src   (contents, props changed)
  head/share/msgdef/ja_JP.SJIS.src   (contents, props changed)
  head/share/msgdef/ja_JP.UTF-8.src   (contents, props changed)
  head/share/msgdef/ja_JP.eucJP.src   (contents, props changed)
  head/share/msgdef/ko_KR.UTF-8.src   (contents, props changed)
  head/share/msgdef/ko_KR.eucKR.src   (contents, props changed)
  head/share/msgdef/lv_LV.ISO8859-13.src   (contents, props changed)
  head/share/msgdef/lv_LV.UTF-8.src   (contents, props changed)
  head/share/msgdef/ru_RU.CP1251.src   (contents, props changed)
  head/share/msgdef/ru_RU.CP866.src   (contents, props changed)
  head/share/msgdef/ru_RU.ISO8859-5.src   (contents, props changed)
  head/share/msgdef/ru_RU.KOI8-R.src   (contents, props changed)
  head/share/msgdef/ru_RU.UTF-8.src   (contents, props changed)
  head/share/msgdef/tr_TR.ISO8859-9.src   (contents, props changed)
  head/share/msgdef/uk_UA.CP1251.src   (contents, props changed)
  head/share/msgdef/uk_UA.ISO8859-5.src   (contents, props changed)
  head/share/msgdef/uk_UA.KOI8-U.src   (contents, props changed)
  head/share/msgdef/uk_UA.UTF-8.src   (contents, props changed)
  head/share/numericdef/Makefile
  head/share/timedef/Makefile
  head/share/timedef/am_ET.UTF-8.src   (contents, props changed)
  head/share/timedef/be_BY.CP1131.src   (contents, props changed)
  head/share/timedef/be_BY.CP1251.src   (contents, props changed)
  head/share/timedef/be_BY.ISO8859-5.src   (contents, props changed)
  head/share/timedef/be_BY.UTF-8.src   (contents, props changed)
  head/share/timedef/bg_BG.CP1251.src   (contents, props changed)
  head/share/timedef/bg_BG.UTF-8.src   (contents, props changed)
  head/share/timedef/cs_CZ.ISO8859-2.src   (contents, props changed)
  head/share/timedef/cs_CZ.UTF-8.src   (contents, props changed)
  head/share/timedef/da_DK.UTF-8.src   (contents, props changed)
  head/share/timedef/de_AT.UTF-8.src   (contents, props changed)
  head/share/timedef/el_GR.ISO8859-7.src   (contents, props changed)
  head/share/timedef/el_GR.UTF-8.src   (contents, props changed)
  head/share/timedef/es_ES.UTF-8.src   (contents, props changed)
  head/share/timedef/et_EE.ISO8859-15.src   (contents, props changed)
  head/share/timedef/et_EE.UTF-8.src   (contents, props changed)
  head/share/timedef/fi_FI.UTF-8.src   (contents, props changed)
  head/share/timedef/fr_FR.UTF-8.src   (contents, props changed)
  head/share/timedef/he_IL.UTF-8.src   (contents, props changed)
  head/share/timedef/hi_IN.ISCII-DEV.src   (contents, props changed)
  head/share/timedef/hr_HR.ISO8859-2.src   (contents, props changed)
  head/share/timedef/hr_HR.UTF-8.src   (contents, props changed)
  head/share/timedef/hu_HU.ISO8859-2.src   (contents, props changed)
  head/share/timedef/hu_HU.UTF-8.src   (contents, props changed)
  head/share/timedef/hy_AM.ARMSCII-8.src   (contents, props changed)
  head/share/timedef/hy_AM.UTF-8.src   (contents, props changed)
  head/share/timedef/is_IS.UTF-8.src   (contents, props changed)
  head/share/timedef/it_IT.UTF-8.src   (contents, props changed)
  head/share/timedef/ja_JP.SJIS.src   (contents, props changed)
  head/share/timedef/ja_JP.UTF-8.src   (contents, props changed)
  head/share/timedef/ja_JP.eucJP.src   (contents, props changed)
  head/share/timedef/ko_KR.UTF-8.src   (contents, props changed)
  head/share/timedef/ko_KR.eucKR.src   (contents, props changed)
  head/share/timedef/lt_LT.ISO8859-13.src   (contents, props changed)
  head/share/timedef/lt_LT.UTF-8.src   (contents, props changed)
  head/share/timedef/lv_LV.ISO8859-13.src   (contents, props changed)
  head/share/timedef/lv_LV.UTF-8.src   (contents, props changed)
  head/share/timedef/nb_NO.UTF-8.src   (contents, props changed)
  head/share/timedef/nn_NO.UTF-8.src   (contents, props changed)
  head/share/timedef/pl_PL.ISO8859-2.src   (contents, props changed)
  head/share/timedef/pl_PL.UTF-8.src   (contents, props changed)
  head/share/timedef/pt_BR.ISO8859-1.src   (contents, props changed)
  head/share/timedef/pt_BR.UTF-8.src   (contents, props changed)
  head/share/timedef/pt_PT.UTF-8.src   (contents, props changed)
  head/share/timedef/ro_RO.ISO8859-2.src   (contents, props changed)
  head/share/timedef/ro_RO.UTF-8.src   (contents, props changed)
  head/share/timedef/ru_RU.CP1251.src   (contents, props changed)
  head/share/timedef/ru_RU.CP866.src   (contents, props changed)
  head/share/timedef/ru_RU.ISO8859-5.src   (contents, props changed)
  head/share/timedef/ru_RU.KOI8-R.src   (contents, props changed)
  head/share/timedef/ru_RU.UTF-8.src   (contents, props changed)
  head/share/timedef/sk_SK.ISO8859-2.src   (contents, props changed)
  head/share/timedef/sk_SK.UTF-8.src   (contents, props changed)
  head/share/timedef/sl_SI.ISO8859-2.src   (contents, props changed)
  head/share/timedef/sl_SI.UTF-8.src   (contents, props changed)
  head/share/timedef/sv_SE.UTF-8.src   (contents, props changed)
  head/share/timedef/tr_TR.ISO8859-9.src   (contents, props changed)
  head/share/timedef/tr_TR.UTF-8.src   (contents, props changed)
  head/share/timedef/uk_UA.CP1251.src   (contents, props changed)
  head/share/timedef/uk_UA.ISO8859-5.src   (contents, props changed)
  head/share/timedef/uk_UA.KOI8-U.src   (contents, props changed)
  head/share/timedef/uk_UA.UTF-8.src   (contents, props changed)
  head/tools/build/mk/OptionalObsoleteFiles.inc
  head/usr.bin/Makefile
Directory Properties:
  head/   (props changed)
  head/MAINTAINERS   (props changed)
  head/cddl/   (props changed)
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/   (props 
changed)
  head/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  head/contrib/apr/   (props changed)
  head/contrib/binutils/   (props changed)
  head/contrib/bmake/   (props changed)
  head/contrib/compiler-rt/   (props changed)
  head/contrib/dma/   (props changed)
  head/contrib/dtc/   (props changed)
  head/contrib/elftoolchain/   (props changed)
  head/contrib/elftoolchain/ar/   (props changed)
  head/contrib/elftoolchain/brandelf/   (props changed)
  head/contrib/elftoolchain/elfdump/   (props changed)
  head/contrib/expat/   (props changed)
  head/contrib/file/   (props changed)
  head/contrib/gcc/   (props changed)
  head/contrib/gdb/   (props changed)
  head/contrib/groff/   (props changed)
  head/contrib/ipfilter/   (props changed)
  head/contrib/ipfilter/ml_ipl.c   (props changed)
  head/contrib/ipfilter/mlfk_ipl.c   (props changed)
  head/contrib/ipfilter/mlh_rule.c   (props changed)
  head/contrib/ipfilter/mli_ipl.c   (props changed)
  head/contrib/ipfilter/mln_ipl.c   (props changed)
  head/contrib/ipfilter/mls_ipl.c   (props changed)
  head/contrib/libarchive/   (props changed)
  head/contrib/libarchive/libarchive/   (props changed)
  head/contrib/libc++/   (props changed)
  head/contrib/libcxxrt/   (props changed)
  head/contrib/libexecinfo/   (props changed)
  head/contrib/libucl/   (props changed)
  head/contrib/llvm/   (props changed)
  head/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp   (props 
changed)
  head/contrib/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp   
(props changed)
  head/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp   (props 
changed)
  head/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.h   (props 
changed)
  head/contrib/llvm/projects/libunwind/   (props changed)
  head/contrib/llvm/tools/clang/   (props changed)
  head/contrib/llvm/tools/lldb/   (props changed)
  head/contrib/llvm/tools/llvm-dwarfdump/   (props changed)
  head/contrib/llvm/tools/llvm-lto/   (props changed)
  head/contrib/mdocml/   (props changed)
  head/contrib/ncurses/   (props changed)
  head/contrib/netcat/   (props changed)
  head/contrib/ntp/   (props changed)
  head/contrib/openpam/   (props changed)
  head/contrib/pf/   (props changed)
  head/contrib/sendmail/   (props changed)
  head/contrib/serf/   (props changed)
  head/contrib/sqlite3/   (props changed)
  head/contrib/subversion/   (props changed)
  head/contrib/tcpdump/   (props changed)
  head/contrib/top/   (props changed)
  head/contrib/tzcode/stdtime/   (props changed)
  head/contrib/tzdata/   (props changed)
  head/contrib/unbound/   (props changed)
  head/contrib/wpa/   (props changed)
  head/crypto/openssh/   (props changed)
  head/crypto/openssl/   (props changed)
  head/gnu/lib/   (props changed)
  head/gnu/usr.bin/binutils/   (props changed)
  head/gnu/usr.bin/cc/cc_tools/   (props changed)
  head/gnu/usr.bin/gdb/   (props changed)
  head/include/   (props changed)
  head/lib/libc/   (props changed)
  head/lib/libc/stdtime/   (props changed)
  head/lib/libutil/   (props changed)
  head/lib/libvmmapi/   (props changed)
  head/lib/libz/   (props changed)
  head/sbin/   (props changed)
  head/sbin/dumpon/   (props changed)
  head/sbin/ipfw/   (props changed)
  head/share/   (props changed)
  head/share/ctypedef/be_BY.CP1131.src   (props changed)
  head/share/ctypedef/ca_IT.ISO8859-15.src   (props changed)
  head/share/ctypedef/el_GR.ISO8859-7.src   (props changed)
  head/share/ctypedef/en_GB.ISO8859-15.src   (props changed)
  head/share/ctypedef/en_US.UTF-8.src   (props changed)
  head/share/ctypedef/hi_IN.ISCII-DEV.src   (props changed)
  head/share/ctypedef/hy_AM.ARMSCII-8.src   (props changed)
  head/share/ctypedef/ja_JP.SJIS.src   (props changed)
  head/share/ctypedef/ko_KR.eucKR.src   (props changed)
  head/share/ctypedef/uk_UA.CP1251.src   (props changed)
  head/share/ctypedef/zh_Hans_CN.GB18030.src   (props changed)
  head/share/ctypedef/zh_Hant_HK.Big5HKSCS.src   (props changed)
  head/share/man/man4/   (props changed)
  head/share/zoneinfo/   (props changed)
  head/sys/   (props changed)
  head/sys/amd64/include/vmm.h   (props changed)
  head/sys/amd64/include/vmm_dev.h   (props changed)
  head/sys/amd64/include/xen/   (props changed)
  head/sys/amd64/vmm/   (props changed)
  head/sys/boot/   (props changed)
  head/sys/boot/powerpc/kboot/   (props changed)
  head/sys/boot/powerpc/ofw/   (props changed)
  head/sys/cddl/contrib/opensolaris/   (props changed)
  head/sys/conf/   (props changed)
  head/sys/contrib/dev/acpica/   (props changed)
  head/sys/contrib/ipfilter/   (props changed)
  head/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c   (props changed)
  head/sys/dev/hyperv/   (props changed)
  head/sys/modules/hyperv/   (props changed)
  head/targets/   (props changed)
  head/usr.bin/calendar/   (props changed)
  head/usr.bin/mkimg/   (props changed)
  head/usr.bin/procstat/   (props changed)
  head/usr.sbin/bhyve/   (props changed)
  head/usr.sbin/bhyvectl/   (props changed)
  head/usr.sbin/bhyveload/   (props changed)
  head/usr.sbin/jail/   (props changed)
  head/usr.sbin/ndiscvt/   (props changed)
  head/usr.sbin/rtadvctl/   (props changed)
  head/usr.sbin/rtadvd/   (props changed)
  head/usr.sbin/rtsold/   (props changed)
  head/usr.sbin/zic/   (props changed)

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Sat Nov  7 12:33:30 2015        (r290493)
+++ head/Makefile.inc1  Sat Nov  7 12:43:35 2015        (r290494)
@@ -1486,7 +1486,8 @@ bootstrap-tools: .PHONY
     usr.sbin/config \
     ${_crunch} \
     ${_nmtree} \
-    ${_vtfontcvt}
+    ${_vtfontcvt} \
+    usr.bin/localedef
 ${_bt}-${_tool}: .PHONY .MAKE
        ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
                cd ${.CURDIR}/${_tool} && \

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc      Sat Nov  7 12:33:30 2015        (r290493)
+++ head/ObsoleteFiles.inc      Sat Nov  7 12:43:35 2015        (r290494)
@@ -38,6 +38,65 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20151107: String collation improvements
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_COLLATE
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_CTYPE
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MESSAGES
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_MONETARY
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_NUMERIC
+OLD_FILES+=usr/share/locale/kk_KZ.PT154/LC_TIME
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_COLLATE
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_CTYPE
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_MESSAGES
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_MONETARY
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_NUMERIC
+OLD_FILES+=usr/share/locale/kk_KZ.UTF-8/LC_TIME
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-1/LC_TIME
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-13/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-15/LC_TIME
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-2/LC_TIME
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.ISO8859-4/LC_TIME
+OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_COLLATE
+OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_CTYPE
+OLD_FILES+=usr/share/locale/la_LN.US-ASCII/LC_TIME
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_COLLATE
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_CTYPE
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_MESSAGES
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_MONETARY
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_NUMERIC
+OLD_FILES+=usr/share/locale/mn_MN.UTF-8/LC_TIME
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_COLLATE
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_CTYPE
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_MONETARY
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_NUMERIC
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-1/LC_TIME
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_COLLATE
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_CTYPE
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_MONETARY
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_NUMERIC
+OLD_FILES+=usr/share/locale/no_NO.ISO8859-15/LC_TIME
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_COLLATE
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_CTYPE
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_MESSAGES
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_MONETARY
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_NUMERIC
+OLD_FILES+=usr/share/locale/no_NO.UTF-8/LC_TIME
+OLD_FILES+=usr/share/locale/UTF-8/LC_CTYPE
+OLD_FILES+=usr/bin/colldef
+OLD_FILES+=usr/share/man/man1/colldef.1.gz
+OLD_FILES+=usr/bin/mklocale
+OLD_FILES+=usr/share/man/man1/mklocale.1.gz
 # 20151101: added missing _test suffix on multiple tests in lib/libc
 OLD_FILES+=usr/tests/lib/libc/c063/faccessat
 OLD_FILES+=usr/tests/lib/libc/c063/fchmodat

Modified: head/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c
==============================================================================
--- head/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c      Sat Nov  7 
12:33:30 2015        (r290493)
+++ head/contrib/netbsd-tests/lib/libc/locale/t_mbstowcs.c      Sat Nov  7 
12:43:35 2015        (r290494)
@@ -87,7 +87,11 @@ static struct test {
                0x5B, 0x01, 0x7F, 0x5D, 0x5B, 0x80, 0x07FF, 0x5D, 0x5B, 0x0800,
                0xFFFF, 0x5D, 0x5B, 0x10000, 0x10FFFF, 0x5D, 0x0A
        },
+#ifdef __FreeBSD__
+       {        1, -1, -1,  1,  1, -1, 1,  1,  1, 1, -1,  1,  1, -1, -1,
+#else
        {        1, -1, -1,  1,  1, -1, -1,  1,  1, -1, -1,  1,  1, -1, -1,
+#endif
                 1,  1, -1, -1,  1,  1, -1, -1,  1, -1
        }, 
        -1

Modified: head/etc/mtree/BSD.usr.dist
==============================================================================
--- head/etc/mtree/BSD.usr.dist Sat Nov  7 12:33:30 2015        (r290493)
+++ head/etc/mtree/BSD.usr.dist Sat Nov  7 12:43:35 2015        (r290494)
@@ -505,14 +505,22 @@
             ..
         ..
         locale
-            UTF-8
-            ..
             af_ZA.ISO8859-1
             ..
-            af_ZA.ISO8859-15
-            ..
             af_ZA.UTF-8
             ..
+            ar_AE.UTF-8
+            ..
+            ar_EG.UTF-8
+            ..
+            ar_JO.UTF-8
+            ..
+            ar_MA.UTF-8
+            ..
+            ar_QA.UTF-8
+            ..
+            ar_SA.UTF-8
+            ..
             am_ET.UTF-8
             ..
             be_BY.CP1131
@@ -527,27 +535,19 @@
             ..
             bg_BG.UTF-8
             ..
-            ca_AD.ISO8859-1
-            ..
             ca_AD.ISO8859-15
             ..
-            ca_AD.UTF-8
-            ..
-            ca_ES.ISO8859-1
-            ..
             ca_ES.ISO8859-15
             ..
-            ca_ES.UTF-8
-            ..
-            ca_FR.ISO8859-1
-            ..
             ca_FR.ISO8859-15
             ..
-            ca_FR.UTF-8
+            ca_IT.ISO8859-15
+            ..
+            ca_AD.UTF-8
             ..
-            ca_IT.ISO8859-1
+            ca_ES.UTF-8
             ..
-            ca_IT.ISO8859-15
+            ca_FR.UTF-8
             ..
             ca_IT.UTF-8
             ..
@@ -555,26 +555,18 @@
             ..
             cs_CZ.UTF-8
             ..
-            da_DK.ISO8859-1
-            ..
             da_DK.ISO8859-15
             ..
             da_DK.UTF-8
             ..
-            de_AT.ISO8859-1
-            ..
             de_AT.ISO8859-15
             ..
             de_AT.UTF-8
             ..
-            de_CH.ISO8859-1
-            ..
             de_CH.ISO8859-15
             ..
             de_CH.UTF-8
             ..
-            de_DE.ISO8859-1
-            ..
             de_DE.ISO8859-15
             ..
             de_DE.UTF-8
@@ -585,88 +577,92 @@
             ..
             en_AU.ISO8859-1
             ..
-            en_AU.ISO8859-15
-            ..
             en_AU.US-ASCII
             ..
             en_AU.UTF-8
             ..
             en_CA.ISO8859-1
             ..
-            en_CA.ISO8859-15
-            ..
             en_CA.US-ASCII
             ..
             en_CA.UTF-8
             ..
-            en_GB.ISO8859-1
-            ..
             en_GB.ISO8859-15
             ..
             en_GB.US-ASCII
             ..
             en_GB.UTF-8
             ..
+            en_HK.ISO8859-1
+            ..
+            en_HK.UTF-8
+            ..
+            en_IE.ISO8859-15
+            ..
             en_IE.UTF-8
             ..
             en_NZ.ISO8859-1
             ..
-            en_NZ.ISO8859-15
-            ..
             en_NZ.US-ASCII
             ..
             en_NZ.UTF-8
             ..
-            en_US.ISO8859-1
+            en_PH.UTF-8
             ..
-            en_US.ISO8859-15
+            en_SG.ISO8859-1
+            ..
+            en_SG.UTF-8
+            ..
+            en_US.ISO8859-1
             ..
             en_US.US-ASCII
             ..
             en_US.UTF-8
             ..
-            es_ES.ISO8859-1
+            en_ZA.ISO8859-1
+            ..
+            en_ZA.US-ASCII
+            ..
+            en_ZA.UTF-8
+            ..
+            es_AR.ISO8859-1
+            ..
+            es_AR.UTF-8
+            ..
+            es_CR.UTF-8
             ..
             es_ES.ISO8859-15
             ..
             es_ES.UTF-8
             ..
+            es_MX.ISO8859-1
+            ..
+            es_MX.UTF-8
+            ..
             et_EE.ISO8859-15
             ..
             et_EE.UTF-8
             ..
-            eu_ES.ISO8859-1
-            ..
             eu_ES.ISO8859-15
             ..
             eu_ES.UTF-8
             ..
-            fi_FI.ISO8859-1
-            ..
             fi_FI.ISO8859-15
             ..
             fi_FI.UTF-8
             ..
-            fr_BE.ISO8859-1
-            ..
             fr_BE.ISO8859-15
             ..
             fr_BE.UTF-8
             ..
             fr_CA.ISO8859-1
             ..
-            fr_CA.ISO8859-15
-            ..
             fr_CA.UTF-8
             ..
-            fr_CH.ISO8859-1
-            ..
             fr_CH.ISO8859-15
             ..
             fr_CH.UTF-8
             ..
-            fr_FR.ISO8859-1
-            ..
             fr_FR.ISO8859-15
             ..
             fr_FR.UTF-8
@@ -675,6 +671,8 @@
             ..
             hi_IN.ISCII-DEV
             ..
+            hi_IN.UTF-8
+            ..
             hr_HR.ISO8859-2
             ..
             hr_HR.UTF-8
@@ -687,20 +685,14 @@
             ..
             hy_AM.UTF-8
             ..
-            is_IS.ISO8859-1
-            ..
             is_IS.ISO8859-15
             ..
             is_IS.UTF-8
             ..
-            it_CH.ISO8859-1
-            ..
             it_CH.ISO8859-15
             ..
             it_CH.UTF-8
             ..
-            it_IT.ISO8859-1
-            ..
             it_IT.ISO8859-15
             ..
             it_IT.UTF-8
@@ -713,70 +705,38 @@
             ..
             kk_Cyrl_KZ.UTF-8
             ..
-            kk_KZ.PT154
-            ..
-            kk_KZ.UTF-8
-            ..
             ko_KR.CP949
             ..
             ko_KR.UTF-8
             ..
             ko_KR.eucKR
             ..
-            la_LN.ISO8859-1
-            ..
-            la_LN.ISO8859-13
-            ..
-            la_LN.ISO8859-15
-            ..
-            la_LN.ISO8859-2
-            ..
-            la_LN.ISO8859-4
-            ..
-            la_LN.US-ASCII
-            ..
             lt_LT.ISO8859-13
             ..
-            lt_LT.ISO8859-4
-            ..
             lt_LT.UTF-8
             ..
             lv_LV.ISO8859-13
             ..
             lv_LV.UTF-8
             ..
-            mn_MN.UTF-8
-            ..
-            nb_NO.ISO8859-1
+            mn_Cyrl_MN.UTF-8
             ..
             nb_NO.ISO8859-15
             ..
             nb_NO.UTF-8
             ..
-            nl_BE.ISO8859-1
-            ..
             nl_BE.ISO8859-15
             ..
             nl_BE.UTF-8
             ..
-            nl_NL.ISO8859-1
-            ..
             nl_NL.ISO8859-15
             ..
             nl_NL.UTF-8
             ..
-            nn_NO.ISO8859-1
-            ..
             nn_NO.ISO8859-15
             ..
             nn_NO.UTF-8
             ..
-            no_NO.ISO8859-1
-            ..
-            no_NO.ISO8859-15
-            ..
-            no_NO.UTF-8
-            ..
             pl_PL.ISO8859-2
             ..
             pl_PL.UTF-8
@@ -785,8 +745,6 @@
             ..
             pt_BR.UTF-8
             ..
-            pt_PT.ISO8859-1
-            ..
             pt_PT.ISO8859-15
             ..
             pt_PT.UTF-8
@@ -805,6 +763,10 @@
             ..
             ru_RU.UTF-8
             ..
+            se_FI.UTF-8
+            ..
+            se_NO.UTF-8
+            ..
             sk_SK.ISO8859-2
             ..
             sk_SK.UTF-8
@@ -813,13 +775,17 @@
             ..
             sl_SI.UTF-8
             ..
-            sr_YU.ISO8859-2
+            sr_Cyrl_RS.ISO8859-5
             ..
-            sr_YU.ISO8859-5
+            sr_Cyrl_RS.UTF-8
             ..
-            sr_YU.UTF-8
+            sr_Latn_RS.ISO8859-2
             ..
-            sv_SE.ISO8859-1
+            sr_Latn_RS.UTF-8
+            ..
+            sv_FI.ISO8859-15
+            ..
+            sv_FI.UTF-8
             ..
             sv_SE.ISO8859-15
             ..
@@ -837,23 +803,23 @@
             ..
             uk_UA.UTF-8
             ..
-            zh_CN.GB18030
+            zh_Hans_CN.GB18030
             ..
-            zh_CN.GB2312
+            zh_Hans_CN.GB2312
             ..
-            zh_CN.GBK
+            zh_Hans_CN.GBK
             ..
-            zh_CN.UTF-8
+            zh_Hans_CN.UTF-8
             ..
-            zh_CN.eucCN
+            zh_Hans_CN.eucCN
             ..
-            zh_HK.Big5HKSCS
+            zh_Hant_HK.Big5HKSCS
             ..
-            zh_HK.UTF-8
+            zh_Hant_HK.UTF-8
             ..
-            zh_TW.Big5
+            zh_Hant_TW.Big5
             ..
-            zh_TW.UTF-8
+            zh_Hant_TW.UTF-8
             ..
         ..
         man

Modified: head/include/_ctype.h
==============================================================================
--- head/include/_ctype.h       Sat Nov  7 12:33:30 2015        (r290493)
+++ head/include/_ctype.h       Sat Nov  7 12:43:35 2015        (r290494)
@@ -59,6 +59,7 @@
 #define        _CTYPE_I        0x00080000L             /* Ideogram */
 #define        _CTYPE_T        0x00100000L             /* Special */
 #define        _CTYPE_Q        0x00200000L             /* Phonogram */
+#define        _CTYPE_N        0x00400000L             /* Number (superset of 
digit) */
 #define        _CTYPE_SW0      0x20000000L             /* 0 width character */
 #define        _CTYPE_SW1      0x40000000L             /* 1 width character */
 #define        _CTYPE_SW2      0x80000000L             /* 2 width character */

Modified: head/include/ctype.h
==============================================================================
--- head/include/ctype.h        Sat Nov  7 12:33:30 2015        (r290493)
+++ head/include/ctype.h        Sat Nov  7 12:43:35 2015        (r290494)
@@ -85,17 +85,17 @@ int isspecial(int);
 __END_DECLS
 
 #ifndef __cplusplus
-#define        isalnum(c)      __sbistype((c), _CTYPE_A|_CTYPE_D)
+#define        isalnum(c)      __sbistype((c), _CTYPE_A|_CTYPE_D|_CTYPE_N)
 #define        isalpha(c)      __sbistype((c), _CTYPE_A)
 #define        iscntrl(c)      __sbistype((c), _CTYPE_C)
-#define        isdigit(c)      __isctype((c), _CTYPE_D) /* ANSI -- locale 
independent */
+#define        isdigit(c)      __sbistype((c), _CTYPE_D)
 #define        isgraph(c)      __sbistype((c), _CTYPE_G)
 #define        islower(c)      __sbistype((c), _CTYPE_L)
 #define        isprint(c)      __sbistype((c), _CTYPE_R)
 #define        ispunct(c)      __sbistype((c), _CTYPE_P)
 #define        isspace(c)      __sbistype((c), _CTYPE_S)
 #define        isupper(c)      __sbistype((c), _CTYPE_U)
-#define        isxdigit(c)     __isctype((c), _CTYPE_X) /* ANSI -- locale 
independent */
+#define        isxdigit(c)     __sbistype((c), _CTYPE_X)
 #define        tolower(c)      __sbtolower(c)
 #define        toupper(c)      __sbtoupper(c)
 #endif /* !__cplusplus */
@@ -126,7 +126,7 @@ __END_DECLS
 #define        digittoint(c)   __sbmaskrune((c), 0xFF)
 #define        ishexnumber(c)  __sbistype((c), _CTYPE_X)
 #define        isideogram(c)   __sbistype((c), _CTYPE_I)
-#define        isnumber(c)     __sbistype((c), _CTYPE_D)
+#define        isnumber(c)     __sbistype((c), _CTYPE_D|_CTYPE_N)
 #define        isphonogram(c)  __sbistype((c), _CTYPE_Q)
 #define        isrune(c)       __sbistype((c), 0xFFFFFF00L)
 #define        isspecial(c)    __sbistype((c), _CTYPE_T)

Modified: head/include/limits.h
==============================================================================
--- head/include/limits.h       Sat Nov  7 12:33:30 2015        (r290493)
+++ head/include/limits.h       Sat Nov  7 12:43:35 2015        (r290494)
@@ -63,7 +63,7 @@
 #define        BC_DIM_MAX               2048   /* max array elements in bc(1) 
*/
 #define        BC_SCALE_MAX               99   /* max scale value in bc(1) */
 #define        BC_STRING_MAX            1000   /* max const string length in 
bc(1) */
-#define        COLL_WEIGHTS_MAX            0   /* max weights for order 
keyword */
+#define        COLL_WEIGHTS_MAX           10   /* max weights for order 
keyword */
 #define        EXPR_NEST_MAX              32   /* max expressions nested in 
expr(1) */
 #define        LINE_MAX                 2048   /* max bytes in an input line */
 #define        RE_DUP_MAX                255   /* max RE's in interval 
notation */

Modified: head/include/wctype.h
==============================================================================
--- head/include/wctype.h       Sat Nov  7 12:33:30 2015        (r290493)
+++ head/include/wctype.h       Sat Nov  7 12:43:35 2015        (r290494)
@@ -95,27 +95,27 @@ wint_t      nextwctype(wint_t, wctype_t);
 __END_DECLS
 
 #ifndef __cplusplus
-#define        iswalnum(wc)            __istype((wc), _CTYPE_A|_CTYPE_D)
+#define        iswalnum(wc)            __istype((wc), 
_CTYPE_A|_CTYPE_D|_CTYPE_N)
 #define        iswalpha(wc)            __istype((wc), _CTYPE_A)
 #define        iswblank(wc)            __istype((wc), _CTYPE_B)
 #define        iswcntrl(wc)            __istype((wc), _CTYPE_C)
 #define        iswctype(wc, charclass) __istype((wc), (charclass))
-#define        iswdigit(wc)            __isctype((wc), _CTYPE_D)
+#define        iswdigit(wc)            __istype((wc), _CTYPE_D)
 #define        iswgraph(wc)            __istype((wc), _CTYPE_G)
 #define        iswlower(wc)            __istype((wc), _CTYPE_L)
 #define        iswprint(wc)            __istype((wc), _CTYPE_R)
 #define        iswpunct(wc)            __istype((wc), _CTYPE_P)
 #define        iswspace(wc)            __istype((wc), _CTYPE_S)
 #define        iswupper(wc)            __istype((wc), _CTYPE_U)
-#define        iswxdigit(wc)           __isctype((wc), _CTYPE_X)
+#define        iswxdigit(wc)           __istype((wc), _CTYPE_X)
 #define        towlower(wc)            __tolower(wc)
 #define        towupper(wc)            __toupper(wc)
 
 #if __BSD_VISIBLE
 #define        iswascii(wc)            (((wc) & ~0x7F) == 0)
-#define        iswhexnumber(wc)        __istype((wc), _CTYPE_X)
+#define        iswhexnumber(wc)        __istype((wc), _CTYPE_X) /* alias of 
iswxdigit */
 #define        iswideogram(wc)         __istype((wc), _CTYPE_I)
-#define        iswnumber(wc)           __istype((wc), _CTYPE_D)
+#define        iswnumber(wc)           __istype((wc), _CTYPE_D|_CTYPE_N)
 #define        iswphonogram(wc)        __istype((wc), _CTYPE_Q)
 #define        iswrune(wc)             __istype((wc), 0xFFFFFF00L)
 #define        iswspecial(wc)          __istype((wc), _CTYPE_T)

Modified: head/include/xlocale/_ctype.h
==============================================================================
--- head/include/xlocale/_ctype.h       Sat Nov  7 12:33:30 2015        
(r290493)
+++ head/include/xlocale/_ctype.h       Sat Nov  7 12:43:35 2015        
(r290494)
@@ -119,7 +119,7 @@ __sbistype_l(__ct_rune_t __c, unsigned l
                { return __sbistype_l(__c, __cat, __l); }
 #endif
 
-XLOCALE_ISCTYPE(alnum, _CTYPE_A|_CTYPE_D)
+XLOCALE_ISCTYPE(alnum, _CTYPE_A|_CTYPE_D|_CTYPE_N)
 XLOCALE_ISCTYPE(alpha, _CTYPE_A)
 XLOCALE_ISCTYPE(blank, _CTYPE_B)
 XLOCALE_ISCTYPE(cntrl, _CTYPE_C)
@@ -128,7 +128,7 @@ XLOCALE_ISCTYPE(graph, _CTYPE_G)
 XLOCALE_ISCTYPE(hexnumber, _CTYPE_X)
 XLOCALE_ISCTYPE(ideogram, _CTYPE_I)
 XLOCALE_ISCTYPE(lower, _CTYPE_L)
-XLOCALE_ISCTYPE(number, _CTYPE_D)
+XLOCALE_ISCTYPE(number, _CTYPE_D|_CTYPE_N)
 XLOCALE_ISCTYPE(phonogram, _CTYPE_Q)
 XLOCALE_ISCTYPE(print, _CTYPE_R)
 XLOCALE_ISCTYPE(punct, _CTYPE_P)

Modified: head/lib/libc/locale/Makefile.inc
==============================================================================
--- head/lib/libc/locale/Makefile.inc   Sat Nov  7 12:33:30 2015        
(r290493)
+++ head/lib/libc/locale/Makefile.inc   Sat Nov  7 12:43:35 2015        
(r290494)
@@ -4,7 +4,7 @@
 # locale sources
 .PATH: ${LIBC_SRCTOP}/${LIBC_ARCH}/locale ${LIBC_SRCTOP}/locale
 
-SRCS+= ascii.c big5.c btowc.c collate.c collcmp.c euc.c fix_grouping.c \
+SRCS+= big5.c btowc.c collate.c collcmp.c euc.c fix_grouping.c \
        gb18030.c gb2312.c gbk.c ctype.c isctype.c iswctype.c \
        ldpart.c lmessages.c lmonetary.c lnumeric.c localeconv.c mblen.c \
        mbrlen.c \

Modified: head/lib/libc/locale/big5.c
==============================================================================
--- head/lib/libc/locale/big5.c Sat Nov  7 12:33:30 2015        (r290493)
+++ head/lib/libc/locale/big5.c Sat Nov  7 12:43:35 2015        (r290494)
@@ -1,4 +1,6 @@
 /*-
+ * Copyright 2013 Garrett D'Amore <garr...@damore.org>
+ * Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2002-2004 Tim J. Robbins. All rights reserved.
  * Copyright (c) 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -19,11 +21,7 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
@@ -61,6 +59,12 @@ static size_t        _BIG5_mbrtowc(wchar_t * __
 static int     _BIG5_mbsinit(const mbstate_t *);
 static size_t  _BIG5_wcrtomb(char * __restrict, wchar_t,
                    mbstate_t * __restrict);
+static size_t  _BIG5_mbsnrtowcs(wchar_t * __restrict,
+                   const char ** __restrict, size_t, size_t,
+                   mbstate_t * __restrict);
+static size_t  _BIG5_wcsnrtombs(char * __restrict,
+                   const wchar_t ** __restrict, size_t, size_t,
+                   mbstate_t * __restrict);
 
 typedef struct {
        wchar_t ch;
@@ -72,6 +76,8 @@ _BIG5_init(struct xlocale_ctype *l, _Run
 
        l->__mbrtowc = _BIG5_mbrtowc;
        l->__wcrtomb = _BIG5_wcrtomb;
+       l->__mbsnrtowcs = _BIG5_mbsnrtowcs;
+       l->__wcsnrtombs = _BIG5_wcsnrtombs;
        l->__mbsinit = _BIG5_mbsinit;
        l->runes = rl;
        l->__mb_cur_max = 2;
@@ -147,7 +153,7 @@ _BIG5_mbrtowc(wchar_t * __restrict pwc, 
                wc = (wc << 8) | (*s++ & 0xff);
                if (pwc != NULL)
                        *pwc = wc;
-                return (2);
+               return (2);
        } else {
                if (pwc != NULL)
                        *pwc = wc;
@@ -178,3 +184,17 @@ _BIG5_wcrtomb(char * __restrict s, wchar
        *s = wc & 0xff;
        return (1);
 }
+
+static size_t
+_BIG5_mbsnrtowcs(wchar_t * __restrict dst, const char ** __restrict src,
+    size_t nms, size_t len, mbstate_t * __restrict ps)
+{
+       return (__mbsnrtowcs_std(dst, src, nms, len, ps, _BIG5_mbrtowc));
+}
+
+static size_t
+_BIG5_wcsnrtombs(char * __restrict dst, const wchar_t ** __restrict src,
+    size_t nwc, size_t len, mbstate_t * __restrict ps)
+{
+       return (__wcsnrtombs_std(dst, src, nwc, len, ps, _BIG5_wcrtomb));
+}

Modified: head/lib/libc/locale/collate.c
==============================================================================
--- head/lib/libc/locale/collate.c      Sat Nov  7 12:33:30 2015        
(r290493)
+++ head/lib/libc/locale/collate.c      Sat Nov  7 12:43:35 2015        
(r290494)
@@ -1,4 +1,6 @@
 /*-
+ * Copyright 2014 Garrett D'Amore <garr...@damore.org>
+ * Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 1995 Alex Tatmanjants <a...@elvisti.kiev.ua>
  *             at Electronni Visti IA, Kiev, Ukraine.
  *                     All rights reserved.
@@ -28,66 +30,57 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
+ *
+ * Adapted to xlocale by John Marino <dr...@marino.st>
  */
 
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
 #include "namespace.h"
-#include <arpa/inet.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+#include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <wchar.h>
 #include <errno.h>
 #include <unistd.h>
-#include <sysexits.h>
+#include <fcntl.h>
 #include "un-namespace.h"
 
 #include "collate.h"
 #include "setlocale.h"
 #include "ldpart.h"
-
 #include "libc_private.h"
 
-/*
- * To avoid modifying the original (single-threaded) code too much, we'll just
- * define the old globals as fields inside the table.
- *
- * We also modify the collation table test functions to search the thread-local
- * table first and the global table second.  
- */
-#define __collate_substitute_nontrivial 
(table->__collate_substitute_nontrivial)
-#define __collate_substitute_table_ptr (table->__collate_substitute_table_ptr)
-#define __collate_char_pri_table_ptr (table->__collate_char_pri_table_ptr)
-#define __collate_chain_pri_table (table->__collate_chain_pri_table)
-int __collate_load_error;
-
-
 struct xlocale_collate __xlocale_global_collate = {
-       {{0}, "C"}, 1, 0
+       {{0}, "C"}, 1, 0, 0, 0
 };
 
- struct xlocale_collate __xlocale_C_collate = {
-       {{0}, "C"}, 1, 0
+struct xlocale_collate __xlocale_C_collate = {
+       {{0}, "C"}, 1, 0, 0, 0
 };
 
-void __collate_err(int ex, const char *f) __dead2;
-
-int
+static int
 __collate_load_tables_l(const char *encoding, struct xlocale_collate *table);
 
 static void
 destruct_collate(void *t)
 {
        struct xlocale_collate *table = t;
-       if (__collate_chain_pri_table) {
-               free(__collate_chain_pri_table);
+       if (table->map && (table->maplen > 0)) {
+               (void) munmap(table->map, table->maplen);
        }
        free(t);
 }
 
 void *
-__collate_load(const char *encoding, locale_t unused)
+__collate_load(const char *encoding, __unused locale_t unused)
 {
        if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) {
                return &__xlocale_C_collate;
@@ -109,237 +102,602 @@ __collate_load(const char *encoding, loc
 int
 __collate_load_tables(const char *encoding)
 {
-       int ret = __collate_load_tables_l(encoding, &__xlocale_global_collate);
-       __collate_load_error = __xlocale_global_collate.__collate_load_error;
-       return ret;
+
+       return (__collate_load_tables_l(encoding, &__xlocale_global_collate));
 }
 
 int
 __collate_load_tables_l(const char *encoding, struct xlocale_collate *table)
 {
-       FILE *fp;
-       int i, saverr, chains;
-       uint32_t u32;
-       char strbuf[STR_LEN], buf[PATH_MAX];
-       void *TMP_substitute_table, *TMP_char_pri_table, *TMP_chain_pri_table;
+       int i, chains, z;
+       char *buf;
+       char *TMP;
+       char *map;
+       collate_info_t *info;
+       struct stat sbuf;
+       int fd;
+
+       table->__collate_load_error = 1;
 
        /* 'encoding' must be already checked. */
        if (strcmp(encoding, "C") == 0 || strcmp(encoding, "POSIX") == 0) {
-               table->__collate_load_error = 1;
                return (_LDP_CACHE);
        }
 
-       /* 'PathLocale' must be already set & checked. */
-       /* Range checking not needed, encoding has fixed size */
-       (void)strcpy(buf, _PathLocale);
-       (void)strcat(buf, "/");
-       (void)strcat(buf, encoding);
-       (void)strcat(buf, "/LC_COLLATE");
-       if ((fp = fopen(buf, "re")) == NULL)
+       asprintf(&buf, "%s/%s/LC_COLLATE", _PathLocale, encoding);
+       if (buf == NULL)
                return (_LDP_ERROR);
 
-       if (fread(strbuf, sizeof(strbuf), 1, fp) != 1) {
-               saverr = errno;
-               (void)fclose(fp);
-               errno = saverr;
+       if ((fd = _open(buf, O_RDONLY)) < 0) {
+               free(buf);
                return (_LDP_ERROR);
        }
-       chains = -1;
-       if (strcmp(strbuf, COLLATE_VERSION) == 0)
-               chains = 0;
-       else if (strcmp(strbuf, COLLATE_VERSION1_2) == 0)
-               chains = 1;
-       if (chains < 0) {
-               (void)fclose(fp);
-               errno = EFTYPE;
+       free(buf);
+       if (_fstat(fd, &sbuf) < 0) {
+               (void) _close(fd);
+               return (_LDP_ERROR);
+       }
+       if (sbuf.st_size < (COLLATE_STR_LEN + sizeof (info))) {
+               (void) _close(fd);
+               errno = EINVAL;
+               return (_LDP_ERROR);
+       }
+       map = mmap(NULL, sbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
+       (void) _close(fd);
+       if ((TMP = map) == NULL) {
                return (_LDP_ERROR);
        }
-       if (chains) {
-               if (fread(&u32, sizeof(u32), 1, fp) != 1) {
-                       saverr = errno;
-                       (void)fclose(fp);
-                       errno = saverr;
-                       return (_LDP_ERROR);
-               }
-               if ((chains = (int)ntohl(u32)) < 1) {
-                       (void)fclose(fp);
-                       errno = EFTYPE;
-                       return (_LDP_ERROR);
-               }
-       } else
-               chains = TABLE_SIZE;
 
-       if ((TMP_substitute_table =
-            malloc(sizeof(__collate_substitute_table))) == NULL) {
-               saverr = errno;
-               (void)fclose(fp);
-               errno = saverr;
+       if (strncmp(TMP, COLLATE_VERSION, COLLATE_STR_LEN) != 0) {
+               (void) munmap(map, sbuf.st_size);
+               errno = EINVAL;
                return (_LDP_ERROR);
        }
-       if ((TMP_char_pri_table =
-            malloc(sizeof(__collate_char_pri_table))) == NULL) {
-               saverr = errno;
-               free(TMP_substitute_table);
-               (void)fclose(fp);
-               errno = saverr;
+       TMP += COLLATE_STR_LEN;
+
+       info = (void *)TMP;
+       TMP += sizeof (*info);
+
+       if ((info->directive_count < 1) ||
+           (info->directive_count >= COLL_WEIGHTS_MAX) ||
+           ((chains = info->chain_count) < 0)) {
+               (void) munmap(map, sbuf.st_size);
+               errno = EINVAL;
                return (_LDP_ERROR);
        }
-       if ((TMP_chain_pri_table =
-            malloc(sizeof(*__collate_chain_pri_table) * chains)) == NULL) {
-               saverr = errno;
-               free(TMP_substitute_table);
-               free(TMP_char_pri_table);
-               (void)fclose(fp);
-               errno = saverr;
+
+       i = (sizeof (collate_char_t) * (UCHAR_MAX + 1)) +
+           (sizeof (collate_chain_t) * chains) +
+           (sizeof (collate_large_t) * info->large_count);
+       for (z = 0; z < info->directive_count; z++) {
+               i += sizeof (collate_subst_t) * info->subst_count[z];
+       }
+       if (i != (sbuf.st_size - (TMP - map))) {
+               (void) munmap(map, sbuf.st_size);
+               errno = EINVAL;
                return (_LDP_ERROR);
        }
 
-#define FREAD(a, b, c, d) \
-{ \
-       if (fread(a, b, c, d) != c) { \
-               saverr = errno; \
-               free(TMP_substitute_table); \
-               free(TMP_char_pri_table); \
-               free(TMP_chain_pri_table); \
-               (void)fclose(d); \
-               errno = saverr; \
-               return (_LDP_ERROR); \
-       } \
-}
-
-       FREAD(TMP_substitute_table, sizeof(__collate_substitute_table), 1, fp);
-       FREAD(TMP_char_pri_table, sizeof(__collate_char_pri_table), 1, fp);
-       FREAD(TMP_chain_pri_table,
-             sizeof(*__collate_chain_pri_table), chains, fp);
-       (void)fclose(fp);
-
-       if (__collate_substitute_table_ptr != NULL)
-               free(__collate_substitute_table_ptr);
-       __collate_substitute_table_ptr = TMP_substitute_table;
-       if (__collate_char_pri_table_ptr != NULL)
-               free(__collate_char_pri_table_ptr);
-       __collate_char_pri_table_ptr = TMP_char_pri_table;
-       for (i = 0; i < UCHAR_MAX + 1; i++) {
-               __collate_char_pri_table[i].prim =
-                   ntohl(__collate_char_pri_table[i].prim);
-               __collate_char_pri_table[i].sec =
-                   ntohl(__collate_char_pri_table[i].sec);
-       }
-       if (__collate_chain_pri_table != NULL)
-               free(__collate_chain_pri_table);
-       __collate_chain_pri_table = TMP_chain_pri_table;
-       for (i = 0; i < chains; i++) {
-               __collate_chain_pri_table[i].prim =
-                   ntohl(__collate_chain_pri_table[i].prim);
-               __collate_chain_pri_table[i].sec =
-                   ntohl(__collate_chain_pri_table[i].sec);
-       }
-       __collate_substitute_nontrivial = 0;
-       for (i = 0; i < UCHAR_MAX + 1; i++) {
-               if (__collate_substitute_table[i][0] != i ||
-                   __collate_substitute_table[i][1] != 0) {
-                       __collate_substitute_nontrivial = 1;
-                       break;
+       table->info = info;
+       table->char_pri_table = (void *)TMP;
+       TMP += sizeof (collate_char_t) * (UCHAR_MAX + 1);
+
+       for (z = 0; z < info->directive_count; z++) {
+               if (info->subst_count[z] > 0) {
+                       table->subst_table[z] = (void *)TMP;
+                       TMP += info->subst_count[z] * sizeof (collate_subst_t);
+               } else {
+                       table->subst_table[z] = NULL;
                }
        }
-       table->__collate_load_error = 0;
 
+       if (chains > 0) {
+               table->chain_pri_table = (void *)TMP;
+               TMP += chains * sizeof (collate_chain_t);
+       } else
+               table->chain_pri_table = NULL;
+       if (info->large_count > 0)
+               table->large_pri_table = (void *)TMP;
+       else
+               table->large_pri_table = NULL;
+
+       table->__collate_load_error = 0;
        return (_LDP_LOADED);
 }
 
-u_char *
-__collate_substitute(struct xlocale_collate *table, const u_char *s)
+static const int32_t *
+substsearch(struct xlocale_collate *table, const wchar_t key, int pass)
+{
+       const collate_subst_t *p;
+       int n = table->info->subst_count[pass];
+
+       if (n == 0)
+               return (NULL);
+
+       if (pass >= table->info->directive_count)
+               return (NULL);
+
+       if (!(key & COLLATE_SUBST_PRIORITY))
+               return (NULL);
+
+       p = table->subst_table[pass] + (key & ~COLLATE_SUBST_PRIORITY);
+       assert(p->key == key);
+       return (p->pri);
+}
+
+static collate_chain_t *
+chainsearch(struct xlocale_collate *table, const wchar_t *key, int *len)
 {
-       int dest_len, len, nlen;
-       int delta = strlen(s);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to