svn commit: r290494 - in head: . contrib/ipfilter contrib/llvm/lib/Target/Sparc/AsmParser contrib/llvm/lib/Target/Sparc/Disassembler contrib/llvm/lib/Target/Sparc/InstPrinter contrib/netbsd-tests/l...

Baptiste Daroussin bapt at FreeBSD.org
Sat Nov 7 12:43:38 UTC 2015


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 <garrett at 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 <garrett at damore.org>
+ * Copyright 2010 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 1995 Alex Tatmanjants <alex at 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 <draco at 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 ***


More information about the svn-src-head mailing list