NetBSD Problem Report #39662

From soda@NetBSD.org  Wed Oct  1 08:40:22 2008
Return-Path: <soda@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by narn.NetBSD.org (Postfix) with ESMTP id 9830563BD01
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  1 Oct 2008 08:40:22 +0000 (UTC)
Message-Id: <20081001083952.D56061CEBE04@mail.yuruyuru.net>
Date: Wed,  1 Oct 2008 17:39:52 +0900 (JST)
From: soda@NetBSD.org
Reply-To: soda@NetBSD.org
To: gnats-bugs@gnats.NetBSD.org
Subject: shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format
X-Send-Pr-Version: 3.95

>Number:         39662
>Category:       lib
>Synopsis:       shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    lib-bug-people
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 01 08:45:00 +0000 2008
>Closed-Date:    Thu Jan 15 04:43:47 +0000 2009
>Last-Modified:  Thu Jan 15 04:43:47 +0000 2009
>Originator:     Noriyuki Soda
>Release:        NetBSD 4.99.72
>Organization:
>Environment:
port independent.
>Description:
The LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format which was introduced
at May 2008 has some shortcoming, and probably will introduce ABI problems
in the future.  So it's better to corrent it before 5.0 release.
Please see the following mail for detail:
http://mail-index.netbsd.org/tech-userlevel/2008/05/23/msg000602.html

>How-To-Repeat:
>Fix:

I believe tnozaki@netbsd is working to fix it.

>Release-Note:

>Audit-Trail:
From: "Takehiko NOZAKI" <takehiko.nozaki@gmail.com>
To: gnats-bugs@netbsd.org
Cc: tech-userlevel@netbsd.org
Subject: [RFC] introducing new locale-db implementation (Re: lib/39662: shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format)
Date: Fri, 2 Jan 2009 02:41:37 +0900

 happy new year! all.

 let's remember following discussion about locale-db format.
 http://mail-index.netbsd.org/tech-userlevel/2008/05/21/msg000591.html

 let me summarize:

 1. the lack of magic number, no versioning mechanism is the killer
    for backward binary compatibility for libc itself.

 2. plain-text based db file can't afford to store wide string data,
   it is not good idea "on the fly" conversion, we need more efficient format
   that can easily handle byteorder(3) issue.

 3. making /usr/share/locale/*/LC_MESSAGES as the monolithic file
    give us the confliction with gettext(3)'s namespace,

 4. we're already have too many locale db format,
   LC_CTYPE(rune), *.cat(catgets), *.mo(gettext), citrus_db(iconv)
   introducing another format is not good idea.

 before the shipping of 5.0, we have to fix these problems (this
 problem is already filed as PR/39662, and blocker for netbsd-5).

 so i wrote brand new localedata implementation for LC_*.
 it uses citrus_db framework as backend(we're already uses citrus_db
 to implement iconv).

 here is the patch to HEAD and netbsd-5.
 ftp://ftp.netbsd.org/pub/NetBSD/misc/tnozaki/

 i've already checked this patch doesn't break release build:
    i386, amd64, hpcarm, hpcmips, hpcsh, vax.

 i want to commit this patch into HEAD and send pullup-5 request.
 is there any objection, or comments?


 P.S.

 i think it is better to merge only libc's change,
 and don't install LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db for 5.0
 (currently, this patch **install** all kind of locale-db, see
 src/share/locale/Makefile).

 because of following reason:

 1. our regex(3) doesn't supports multibyte encoding such as UTF-8,
 so it can't parse multibyte LC_MESSAGES's yesexpr/noexpr correctly.
 we have to introdule multibyte-aware regex(3).

 2. some locale(ja_JP.eucJP, ko_KR.eucKR) assign LC_NUMERIC's currency_symbol
 as 0x5c(\), the zombie derrived from internalional version of ISO646 makes
 some shell script broken, i'm afraid.
    $ LANG=ja_JP.eucJP locale -k currency_symbol
    currency_symbol="\"

 as far as Solaris' locale(1), 0x5c is surely escaped.
    currency_symbol="\\"

 we have to fix our locale(1).

 3. date(1) output is too strange under some locale(ja_JP.eucJP and so on),
 because the format string is hardcoded:
 [src/bin/date.c]
    120
    121         format = "%a %b %e %H:%M:%S %Z %Y";
    122

 this format must be "%+", but it seems that our strftime(3) lacks
 "%+" conversion facility.  and more, LC_TIME's d_t_fmt field doesn't include
 %a(week) and %Z(timezone).  so we have to fix date(1), and add new field to
 implement "%+" and maintain locale definition file.

 i think there is no time to fix these problems until 5.0 release...


 P.P.S.

 i once sugested make LC_* as sub-directory for versioning.
 http://mail-index.netbsd.org/tech-userlevel/2008/05/23/msg000602.html

 but i abondon this, because we already have monolithic LC_CTYPE db.
 so my previous idea of  localedef(1) at tech-userlevel@  is
 hard to realize ;-< and i think it is much confusious that such
 monolithic'db and modular'ed db exists same time.

 anyway, forward compatibility is no problems, new setlocale(3) can read
 previous plain-text type as well as new citrus_db's locale-db.
 but backward is not, because  localeio.c never validate locale-db,
 no IS_REG, no magic, no size checing :-<
 # that's why i strongly against to localeio at tech-userlevel@.


 very truly yours.
 --
 Takehiko NOZAKI <tnozaki@NetBSD.org>

From: Alistair Crooks <agc@pkgsrc.org>
To: Takehiko NOZAKI <takehiko.nozaki@gmail.com>
Cc: gnats-bugs@NetBSD.org, tech-userlevel@NetBSD.org
Subject: Re: [RFC] introducing new locale-db implementation (Re: lib/39662: shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format)
Date: Thu, 1 Jan 2009 21:56:42 +0000

 On Fri, Jan 02, 2009 at 02:41:37AM +0900, Takehiko NOZAKI wrote:
 > happy new year! all.
 > 
 > let's remember following discussion about locale-db format.
 > http://mail-index.netbsd.org/tech-userlevel/2008/05/21/msg000591.html
 > 
 > let me summarize:
 > 
 > 1. the lack of magic number, no versioning mechanism is the killer
 >    for backward binary compatibility for libc itself.
 > 
 > 2. plain-text based db file can't afford to store wide string data,
 >   it is not good idea "on the fly" conversion, we need more efficient format
 >   that can easily handle byteorder(3) issue.
 > 
 > 3. making /usr/share/locale/*/LC_MESSAGES as the monolithic file
 >    give us the confliction with gettext(3)'s namespace,
 > 
 > 4. we're already have too many locale db format,
 >   LC_CTYPE(rune), *.cat(catgets), *.mo(gettext), citrus_db(iconv)
 >   introducing another format is not good idea.
 > 
 > before the shipping of 5.0, we have to fix these problems (this
 > problem is already filed as PR/39662, and blocker for netbsd-5).
 > 
 > so i wrote brand new localedata implementation for LC_*.
 > it uses citrus_db framework as backend(we're already uses citrus_db
 > to implement iconv).
 > 
 > here is the patch to HEAD and netbsd-5.
 > ftp://ftp.netbsd.org/pub/NetBSD/misc/tnozaki/
 > 
 > i've already checked this patch doesn't break release build:
 >    i386, amd64, hpcarm, hpcmips, hpcsh, vax.
 > 
 > i want to commit this patch into HEAD and send pullup-5 request.
 > is there any objection, or comments?

 On behalf of 5.0 release engineering team, and also the core team,
 we'd like to thank you very much for all your work, and would like to
 ask you to please commit the patch into HEAD.

 With thanks,
 Alistair

From: Takehiko NOZAKI <tnozaki@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/39662 CVS commit: src
Date: Fri,  2 Jan 2009 00:20:24 +0000 (UTC)

 Module Name:	src
 Committed By:	tnozaki
 Date:		Fri Jan  2 00:20:24 UTC 2009

 Modified Files:
 	src/distrib/sets/lists/base: mi
 	src/distrib/utils/libhack: Makefile Makefile.inc
 	src/etc/mtree: NetBSD.dist
 	src/include: locale.h
 	src/lib/libc/citrus: Makefile.inc citrus_bcs.h citrus_csmapper.c
 	    citrus_module.c citrus_namespace.h
 	src/lib/libc/citrus/modules: citrus_euc.c
 	src/lib/libc/gen: Makefile.inc isctype.c tolower_.c toupper_.c
 	src/lib/libc/iconv: Makefile.inc iconv.c
 	src/lib/libc/locale: Makefile.inc _wctrans.c _wctrans_local.h
 	    aliasname.c aliasname_local.h ctypeio.c ctypeio.h iswctype_sb.c
 	    localeconv.c localeio.c localeio.h multibyte.h multibyte_amd1.c
 	    multibyte_c90.c nl_langinfo.c rune.c rune.h rune_local.h runeglue.c
 	    runetable.c setlocale.c
 	src/lib/libc/nls: Makefile.inc catopen.c
 	src/lib/libc/string: Makefile.inc wcscmp.c wcsncmp.c wmemcmp.c
 	src/regress/lib/libc/locale: Makefile
 	src/regress/lib/libc/locale/ctype1: Makefile en_US.UTF-8.exp.uue
 	    ja_JP.SJIS.exp.uue ja_JP.eucJP.exp.uue
 	src/regress/lib/libc/locale/ctype2: Makefile
 	src/regress/lib/libc/locale/ctype3: Makefile
 	src/regress/lib/libc/locale/mbtowc: Makefile
 	src/regress/lib/libc/locale/wcstod: wcstod_test.c
 	src/share/locale: Makefile locale.alias
 	src/share/locale/ctype: Makefile
 	src/share/locale/messages: Makefile
 	src/share/locale/monetary: Makefile af_ZA.ISO8859-1.src am_ET.UTF-8.src
 	    be_BY.CP1251.src be_BY.ISO8859-5.src bg_BG.CP1251.src
 	    ca_ES.ISO8859-1.src cs_CZ.ISO8859-2.src da_DK.ISO8859-1.src
 	    de_AT.ISO8859-1.src de_CH.ISO8859-1.src de_DE.ISO8859-1.src
 	    el_GR.ISO8859-7.src en_AU.ISO8859-1.src en_CA.ISO8859-1.src
 	    en_GB.ISO8859-1.src en_NZ.ISO8859-1.src es_ES.ISO8859-1.src
 	    et_EE.ISO8859-15.src fi_FI.ISO8859-1.src fr_BE.ISO8859-1.src
 	    fr_CA.ISO8859-1.src fr_FR.ISO8859-1.src he_IL.UTF-8.src
 	    hr_HR.ISO8859-2.src hu_HU.ISO8859-2.src hy_AM.ARMSCII-8.src
 	    is_IS.ISO8859-1.src it_IT.ISO8859-1.src ja_JP.eucJP.src
 	    kk_KZ.PT154.src ko_KR.eucKR.src lt_LT.ISO8859-13.src
 	    mn_MN.UTF-8.src nl_BE.ISO8859-1.src nl_NL.ISO8859-1.src
 	    no_NO.ISO8859-1.src pl_PL.ISO8859-2.src pt_BR.ISO8859-1.src
 	    pt_PT.ISO8859-1.src ro_RO.ISO8859-2.src ru_RU.CP1251.src
 	    ru_RU.CP866.src ru_RU.ISO8859-5.src ru_RU.KOI8-R.src
 	    sk_SK.ISO8859-2.src sl_SI.ISO8859-2.src sv_SE.ISO8859-1.src
 	    tr_TR.ISO8859-9.src uk_UA.CP1251.src uk_UA.ISO8859-5.src
 	    uk_UA.KOI8-U.src zh_CN.eucCN.src zh_TW.Big5.src
 	src/share/locale/numeric: Makefile
 	src/share/locale/time: Makefile
 	src/usr.bin/locale: locale.c
 	src/usr.bin/mklocale: Makefile lex.l yacc.y
 	src/usr.sbin/chrtbl: Makefile
 Added Files:
 	src/lib/libc/citrus: citrus_aliasname_local.h citrus_bcs_strtol.c
 	    citrus_bcs_strtoul.c citrus_fix_grouping.h citrus_lc_ctype.c
 	    citrus_lc_messages.c citrus_lc_messages.h citrus_lc_monetary.c
 	    citrus_lc_monetary.h citrus_lc_numeric.c citrus_lc_numeric.h
 	    citrus_lc_template.h citrus_lc_template_decl.h citrus_lc_time.c
 	    citrus_lc_time.h
 	src/lib/libc/locale: _wctype.c _wctype_local.h bsdctype.c bsdctype.h
 	    current_locale.c dummy_lc_collate.c dummy_lc_template.h
 	    fix_grouping.c fix_grouping.h generic_lc_all.c
 	    generic_lc_template.h generic_lc_template_decl.h global_locale.c
 	    iswctype_mb.c localeio_lc_ctype.c localeio_lc_messages.c
 	    localeio_lc_monetary.c localeio_lc_numeric.c localeio_lc_time.c
 	    nb_lc_messages_misc.h nb_lc_monetary_misc.h nb_lc_numeric_misc.h
 	    nb_lc_template.h nb_lc_template_decl.h nb_lc_time_misc.h
 	    setlocale_local.h
 	src/regress/lib/libc/locale/ctype1: ja_JP.ISO-2022-JP.exp.uue
 	    ja_JP.ISO-2022-JP.in.uue
 	src/regress/lib/libc/locale/ctype2: ja_JP.ISO-2022-JP-2.in.uue
 	src/regress/lib/libc/locale/mbtowc: ja_JP.ISO-2022-JP
 	src/share/locale: Makefile.locale
 	src/share/locale/messages: en_US.US-ASCII.src ja_JP.ISO-2022-JP.src
 	    ja_JP.ct.src sr_ME.ISO8859-2.src sr_ME.ISO8859-5.src
 	    zh_TW.eucTW.src
 	src/share/locale/monetary: en_US.US-ASCII.src ja_JP.ISO-2022-JP.src
 	    sr_ME.ISO8859-2.src sr_RS.ISO8859-2.src zh_HK.Big5hkscs.src
 	src/share/locale/numeric: en_US.US-ASCII.src sr_ME.ISO8859-2.src
 	src/share/locale/time: en_US.US-ASCII.src ja_JP.ISO-2022-JP.src
 	    ja_JP.ct.src sr_ME.ISO8859-2.src sr_ME.ISO8859-5.src
 	    sr_ME.UTF-8.src zh_TW.eucTW.src
 	src/usr.bin/mklocale: mklocaledb.c
 	src/usr.sbin/chrtbl: ctypeio.c ctypeio.h
 Removed Files:
 	src/lib/libc/locale: ___runetype_mb.c iswctype.c lcmessages.c
 	    lcmessages.h lcmonetary.c lcmonetary.h lcnumeric.c lcnumeric.h
 	    lctime.c lctime.h setrunelocale.c
 	src/lib/libc/string: wcswidth.c
 	src/regress/lib/libc/locale/ctype1: ja_JP.ISO2022-JP.exp.uue
 	    ja_JP.ISO2022-JP.in.uue
 	src/regress/lib/libc/locale/ctype2: ja_JP.ISO2022-JP2.in.uue
 	src/regress/lib/libc/locale/mbtowc: ja_JP.ISO2022-JP
 	src/share/locale/messages: en_US.ISO8859-1.src sr_YU.ISO8859-2.src
 	    sr_YU.ISO8859-5.src sr_YU.UTF-8.src zh_CN.GB18030.src
 	src/share/locale/monetary: be_BY.CP1131.src be_BY.UTF-8.src
 	    bg_BG.UTF-8.src cs_CZ.UTF-8.src en_GB.UTF-8.src en_IE.UTF-8.src
 	    en_US.ISO8859-1.src hi_IN.ISCII-DEV.src hy_AM.UTF-8.src
 	    ja_JP.UTF-8.src kk_KZ.UTF-8.src ko_KR.UTF-8.src pl_PL.UTF-8.src
 	    ru_RU.UTF-8.src sr_YU.ISO8859-2.src sr_YU.ISO8859-5.src
 	    sr_YU.UTF-8.src uk_UA.UTF-8.src zh_CN.GB18030.src zh_CN.UTF-8.src
 	    zh_HK.UTF-8.src
 	src/share/locale/numeric: am_ET.UTF-8.src en_US.ISO8859-1.src
 	    ja_JP.eucJP.src ko_KR.eucKR.src mn_MN.UTF-8.src sr_YU.ISO8859-2.src
 	    sr_YU.ISO8859-5.src zh_CN.eucCN.src
 	src/share/locale/time: en_US.ISO8859-1.src sr_YU.ISO8859-2.src
 	    sr_YU.ISO8859-5.src sr_YU.UTF-8.src zh_CN.GB18030.src

 Log Message:
 Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES} db format.
 ok'ed by core and releng.
 (thanks for agc@, snj@ and i'm sorry for long time patience).

 [libc]
 - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
   new locale-db implementation using citrus_db backend,
   see src/lib/libc/citrus/citrus_lc_*.[ch].
 - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
   internally, because they're locale-aware function.
 - add some stubs for multi-locale issue, see {current,global}_locale.c.
 - remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
 - remove __savectype() from ctypeio.[ch].

 [tools]
 - mklocale(1): add new option ``-t'' that generates new style
   LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
 - chrtbl(1): added ctypeio.[ch] for __savectype().

 [locale-db]
 - added en_US.US-ASCII locale.
 - removed some shareable locale definition file:
     en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
     zh_CN.eucCN -> zh_CN.GB18030
     and more...see src/share/locale/*/Makefile.
 - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
 - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
   for X11's locale.alias file alignments.
 - fix regression test, wrong wcs?width(3), NAN/INF usage.

 i tested release-build following arch:
   i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

 citrus_lc_*.[ch] also can read old-plain-text style locale-db.
 so that backward compatibility is keeped, but lc*.[ch] can't read
 new citrus_db'ed locale-db and localeio.c never check sanity,
 so forward compatibility is broken ;-<

 old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.


 To generate a diff of this commit:
 cvs rdiff -r1.787 -r1.788 src/distrib/sets/lists/base/mi
 cvs rdiff -r1.21 -r1.22 src/distrib/utils/libhack/Makefile
 cvs rdiff -r1.22 -r1.23 src/distrib/utils/libhack/Makefile.inc
 cvs rdiff -r1.386 -r1.387 src/etc/mtree/NetBSD.dist
 cvs rdiff -r1.14 -r1.15 src/include/locale.h
 cvs rdiff -r1.5 -r1.6 src/lib/libc/citrus/Makefile.inc
 cvs rdiff -r0 -r1.1 src/lib/libc/citrus/citrus_aliasname_local.h \
     src/lib/libc/citrus/citrus_bcs_strtol.c \
     src/lib/libc/citrus/citrus_bcs_strtoul.c \
     src/lib/libc/citrus/citrus_fix_grouping.h \
     src/lib/libc/citrus/citrus_lc_ctype.c \
     src/lib/libc/citrus/citrus_lc_messages.c \
     src/lib/libc/citrus/citrus_lc_messages.h \
     src/lib/libc/citrus/citrus_lc_monetary.c \
     src/lib/libc/citrus/citrus_lc_monetary.h \
     src/lib/libc/citrus/citrus_lc_numeric.c \
     src/lib/libc/citrus/citrus_lc_numeric.h \
     src/lib/libc/citrus/citrus_lc_template.h \
     src/lib/libc/citrus/citrus_lc_template_decl.h \
     src/lib/libc/citrus/citrus_lc_time.c src/lib/libc/citrus/citrus_lc_time.h
 cvs rdiff -r1.4 -r1.5 src/lib/libc/citrus/citrus_bcs.h
 cvs rdiff -r1.8 -r1.9 src/lib/libc/citrus/citrus_csmapper.c
 cvs rdiff -r1.7 -r1.8 src/lib/libc/citrus/citrus_module.c
 cvs rdiff -r1.6 -r1.7 src/lib/libc/citrus/citrus_namespace.h
 cvs rdiff -r1.12 -r1.13 src/lib/libc/citrus/modules/citrus_euc.c
 cvs rdiff -r1.165 -r1.166 src/lib/libc/gen/Makefile.inc
 cvs rdiff -r1.16 -r1.17 src/lib/libc/gen/isctype.c
 cvs rdiff -r1.9 -r1.10 src/lib/libc/gen/tolower_.c \
     src/lib/libc/gen/toupper_.c
 cvs rdiff -r1.2 -r1.3 src/lib/libc/iconv/Makefile.inc
 cvs rdiff -r1.6 -r1.7 src/lib/libc/iconv/iconv.c
 cvs rdiff -r1.52 -r1.53 src/lib/libc/locale/Makefile.inc
 cvs rdiff -r1.10 -r0 src/lib/libc/locale/___runetype_mb.c
 cvs rdiff -r1.6 -r1.7 src/lib/libc/locale/_wctrans.c
 cvs rdiff -r1.2 -r1.3 src/lib/libc/locale/_wctrans_local.h \
     src/lib/libc/locale/aliasname.c
 cvs rdiff -r0 -r1.1 src/lib/libc/locale/_wctype.c \
     src/lib/libc/locale/_wctype_local.h src/lib/libc/locale/bsdctype.c \
     src/lib/libc/locale/bsdctype.h src/lib/libc/locale/current_locale.c \
     src/lib/libc/locale/dummy_lc_collate.c \
     src/lib/libc/locale/dummy_lc_template.h \
     src/lib/libc/locale/fix_grouping.c src/lib/libc/locale/fix_grouping.h \
     src/lib/libc/locale/generic_lc_all.c \
     src/lib/libc/locale/generic_lc_template.h \
     src/lib/libc/locale/generic_lc_template_decl.h \
     src/lib/libc/locale/global_locale.c src/lib/libc/locale/iswctype_mb.c \
     src/lib/libc/locale/localeio_lc_ctype.c \
     src/lib/libc/locale/localeio_lc_messages.c \
     src/lib/libc/locale/localeio_lc_monetary.c \
     src/lib/libc/locale/localeio_lc_numeric.c \
     src/lib/libc/locale/localeio_lc_time.c \
     src/lib/libc/locale/nb_lc_messages_misc.h \
     src/lib/libc/locale/nb_lc_monetary_misc.h \
     src/lib/libc/locale/nb_lc_numeric_misc.h \
     src/lib/libc/locale/nb_lc_template.h \
     src/lib/libc/locale/nb_lc_template_decl.h \
     src/lib/libc/locale/nb_lc_time_misc.h \
     src/lib/libc/locale/setlocale_local.h
 cvs rdiff -r1.1 -r1.2 src/lib/libc/locale/aliasname_local.h \
     src/lib/libc/locale/ctypeio.h src/lib/libc/locale/localeio.c \
     src/lib/libc/locale/localeio.h
 cvs rdiff -r1.7 -r1.8 src/lib/libc/locale/ctypeio.c
 cvs rdiff -r1.16 -r0 src/lib/libc/locale/iswctype.c
 cvs rdiff -r1.5 -r1.6 src/lib/libc/locale/iswctype_sb.c \
     src/lib/libc/locale/multibyte_amd1.c
 cvs rdiff -r1.1 -r0 src/lib/libc/locale/lcmessages.c \
     src/lib/libc/locale/lcmessages.h src/lib/libc/locale/lcmonetary.c \
     src/lib/libc/locale/lcmonetary.h src/lib/libc/locale/lcnumeric.c \
     src/lib/libc/locale/lcnumeric.h src/lib/libc/locale/lctime.c \
     src/lib/libc/locale/lctime.h
 cvs rdiff -r1.14 -r1.15 src/lib/libc/locale/localeconv.c
 cvs rdiff -r1.3 -r1.4 src/lib/libc/locale/multibyte.h
 cvs rdiff -r1.4 -r1.5 src/lib/libc/locale/multibyte_c90.c
 cvs rdiff -r1.11 -r1.12 src/lib/libc/locale/nl_langinfo.c
 cvs rdiff -r1.30 -r1.31 src/lib/libc/locale/rune.c
 cvs rdiff -r1.12 -r1.13 src/lib/libc/locale/rune.h
 cvs rdiff -r1.10 -r1.11 src/lib/libc/locale/rune_local.h
 cvs rdiff -r1.13 -r1.14 src/lib/libc/locale/runeglue.c
 cvs rdiff -r1.17 -r1.18 src/lib/libc/locale/runetable.c
 cvs rdiff -r1.54 -r1.55 src/lib/libc/locale/setlocale.c
 cvs rdiff -r1.18 -r0 src/lib/libc/locale/setrunelocale.c
 cvs rdiff -r1.8 -r1.9 src/lib/libc/nls/Makefile.inc
 cvs rdiff -r1.25 -r1.26 src/lib/libc/nls/catopen.c
 cvs rdiff -r1.67 -r1.68 src/lib/libc/string/Makefile.inc
 cvs rdiff -r1.5 -r1.6 src/lib/libc/string/wcscmp.c \
     src/lib/libc/string/wcsncmp.c
 cvs rdiff -r1.5 -r0 src/lib/libc/string/wcswidth.c
 cvs rdiff -r1.3 -r1.4 src/lib/libc/string/wmemcmp.c
 cvs rdiff -r1.3 -r1.4 src/regress/lib/libc/locale/Makefile
 cvs rdiff -r1.3 -r1.4 src/regress/lib/libc/locale/ctype1/Makefile
 cvs rdiff -r1.1 -r1.2 src/regress/lib/libc/locale/ctype1/en_US.UTF-8.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.SJIS.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.eucJP.exp.uue
 cvs rdiff -r0 -r1.1 \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.in.uue
 cvs rdiff -r1.1 -r0 \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.in.uue
 cvs rdiff -r1.4 -r1.5 src/regress/lib/libc/locale/ctype2/Makefile
 cvs rdiff -r0 -r1.1 \
     src/regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue
 cvs rdiff -r1.1 -r0 \
     src/regress/lib/libc/locale/ctype2/ja_JP.ISO2022-JP2.in.uue
 cvs rdiff -r1.4 -r1.5 src/regress/lib/libc/locale/ctype3/Makefile
 cvs rdiff -r1.2 -r1.3 src/regress/lib/libc/locale/mbtowc/Makefile
 cvs rdiff -r0 -r1.1 src/regress/lib/libc/locale/mbtowc/ja_JP.ISO-2022-JP
 cvs rdiff -r1.1 -r0 src/regress/lib/libc/locale/mbtowc/ja_JP.ISO2022-JP
 cvs rdiff -r1.1 -r1.2 src/regress/lib/libc/locale/wcstod/wcstod_test.c
 cvs rdiff -r1.4 -r1.5 src/share/locale/Makefile
 cvs rdiff -r0 -r1.1 src/share/locale/Makefile.locale
 cvs rdiff -r1.10 -r1.11 src/share/locale/locale.alias
 cvs rdiff -r1.27 -r1.28 src/share/locale/ctype/Makefile
 cvs rdiff -r1.4 -r1.5 src/share/locale/messages/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/messages/en_US.ISO8859-1.src \
     src/share/locale/messages/sr_YU.ISO8859-2.src \
     src/share/locale/messages/sr_YU.ISO8859-5.src \
     src/share/locale/messages/sr_YU.UTF-8.src \
     src/share/locale/messages/zh_CN.GB18030.src
 cvs rdiff -r0 -r1.1 src/share/locale/messages/en_US.US-ASCII.src \
     src/share/locale/messages/ja_JP.ISO-2022-JP.src \
     src/share/locale/messages/ja_JP.ct.src \
     src/share/locale/messages/sr_ME.ISO8859-2.src \
     src/share/locale/messages/sr_ME.ISO8859-5.src \
     src/share/locale/messages/zh_TW.eucTW.src
 cvs rdiff -r1.4 -r1.5 src/share/locale/monetary/Makefile
 cvs rdiff -r1.1 -r1.2 src/share/locale/monetary/af_ZA.ISO8859-1.src \
     src/share/locale/monetary/am_ET.UTF-8.src \
     src/share/locale/monetary/be_BY.CP1251.src \
     src/share/locale/monetary/be_BY.ISO8859-5.src \
     src/share/locale/monetary/bg_BG.CP1251.src \
     src/share/locale/monetary/ca_ES.ISO8859-1.src \
     src/share/locale/monetary/cs_CZ.ISO8859-2.src \
     src/share/locale/monetary/da_DK.ISO8859-1.src \
     src/share/locale/monetary/de_AT.ISO8859-1.src \
     src/share/locale/monetary/de_CH.ISO8859-1.src \
     src/share/locale/monetary/de_DE.ISO8859-1.src \
     src/share/locale/monetary/el_GR.ISO8859-7.src \
     src/share/locale/monetary/en_AU.ISO8859-1.src \
     src/share/locale/monetary/en_CA.ISO8859-1.src \
     src/share/locale/monetary/en_GB.ISO8859-1.src \
     src/share/locale/monetary/en_NZ.ISO8859-1.src \
     src/share/locale/monetary/es_ES.ISO8859-1.src \
     src/share/locale/monetary/et_EE.ISO8859-15.src \
     src/share/locale/monetary/fi_FI.ISO8859-1.src \
     src/share/locale/monetary/fr_BE.ISO8859-1.src \
     src/share/locale/monetary/fr_CA.ISO8859-1.src \
     src/share/locale/monetary/fr_FR.ISO8859-1.src \
     src/share/locale/monetary/he_IL.UTF-8.src \
     src/share/locale/monetary/hr_HR.ISO8859-2.src \
     src/share/locale/monetary/hu_HU.ISO8859-2.src \
     src/share/locale/monetary/hy_AM.ARMSCII-8.src \
     src/share/locale/monetary/is_IS.ISO8859-1.src \
     src/share/locale/monetary/it_IT.ISO8859-1.src \
     src/share/locale/monetary/ja_JP.eucJP.src \
     src/share/locale/monetary/kk_KZ.PT154.src \
     src/share/locale/monetary/ko_KR.eucKR.src \
     src/share/locale/monetary/lt_LT.ISO8859-13.src \
     src/share/locale/monetary/mn_MN.UTF-8.src \
     src/share/locale/monetary/nl_BE.ISO8859-1.src \
     src/share/locale/monetary/nl_NL.ISO8859-1.src \
     src/share/locale/monetary/no_NO.ISO8859-1.src \
     src/share/locale/monetary/pl_PL.ISO8859-2.src \
     src/share/locale/monetary/pt_BR.ISO8859-1.src \
     src/share/locale/monetary/pt_PT.ISO8859-1.src \
     src/share/locale/monetary/ro_RO.ISO8859-2.src \
     src/share/locale/monetary/ru_RU.CP1251.src \
     src/share/locale/monetary/ru_RU.CP866.src \
     src/share/locale/monetary/ru_RU.ISO8859-5.src \
     src/share/locale/monetary/ru_RU.KOI8-R.src \
     src/share/locale/monetary/sk_SK.ISO8859-2.src \
     src/share/locale/monetary/sl_SI.ISO8859-2.src \
     src/share/locale/monetary/sv_SE.ISO8859-1.src \
     src/share/locale/monetary/tr_TR.ISO8859-9.src \
     src/share/locale/monetary/uk_UA.CP1251.src \
     src/share/locale/monetary/uk_UA.ISO8859-5.src \
     src/share/locale/monetary/uk_UA.KOI8-U.src \
     src/share/locale/monetary/zh_CN.eucCN.src \
     src/share/locale/monetary/zh_TW.Big5.src
 cvs rdiff -r1.1 -r0 src/share/locale/monetary/be_BY.CP1131.src \
     src/share/locale/monetary/be_BY.UTF-8.src \
     src/share/locale/monetary/bg_BG.UTF-8.src \
     src/share/locale/monetary/cs_CZ.UTF-8.src \
     src/share/locale/monetary/en_GB.UTF-8.src \
     src/share/locale/monetary/en_IE.UTF-8.src \
     src/share/locale/monetary/en_US.ISO8859-1.src \
     src/share/locale/monetary/hi_IN.ISCII-DEV.src \
     src/share/locale/monetary/hy_AM.UTF-8.src \
     src/share/locale/monetary/ja_JP.UTF-8.src \
     src/share/locale/monetary/kk_KZ.UTF-8.src \
     src/share/locale/monetary/ko_KR.UTF-8.src \
     src/share/locale/monetary/pl_PL.UTF-8.src \
     src/share/locale/monetary/ru_RU.UTF-8.src \
     src/share/locale/monetary/sr_YU.ISO8859-2.src \
     src/share/locale/monetary/sr_YU.ISO8859-5.src \
     src/share/locale/monetary/sr_YU.UTF-8.src \
     src/share/locale/monetary/uk_UA.UTF-8.src \
     src/share/locale/monetary/zh_CN.GB18030.src \
     src/share/locale/monetary/zh_CN.UTF-8.src \
     src/share/locale/monetary/zh_HK.UTF-8.src
 cvs rdiff -r0 -r1.1 src/share/locale/monetary/en_US.US-ASCII.src \
     src/share/locale/monetary/ja_JP.ISO-2022-JP.src \
     src/share/locale/monetary/sr_ME.ISO8859-2.src \
     src/share/locale/monetary/sr_RS.ISO8859-2.src \
     src/share/locale/monetary/zh_HK.Big5hkscs.src
 cvs rdiff -r1.3 -r1.4 src/share/locale/numeric/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/numeric/am_ET.UTF-8.src \
     src/share/locale/numeric/en_US.ISO8859-1.src \
     src/share/locale/numeric/ja_JP.eucJP.src \
     src/share/locale/numeric/ko_KR.eucKR.src \
     src/share/locale/numeric/mn_MN.UTF-8.src \
     src/share/locale/numeric/sr_YU.ISO8859-2.src \
     src/share/locale/numeric/sr_YU.ISO8859-5.src \
     src/share/locale/numeric/zh_CN.eucCN.src
 cvs rdiff -r0 -r1.1 src/share/locale/numeric/en_US.US-ASCII.src \
     src/share/locale/numeric/sr_ME.ISO8859-2.src
 cvs rdiff -r1.4 -r1.5 src/share/locale/time/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/time/en_US.ISO8859-1.src \
     src/share/locale/time/sr_YU.ISO8859-2.src \
     src/share/locale/time/sr_YU.ISO8859-5.src \
     src/share/locale/time/sr_YU.UTF-8.src \
     src/share/locale/time/zh_CN.GB18030.src
 cvs rdiff -r0 -r1.1 src/share/locale/time/en_US.US-ASCII.src \
     src/share/locale/time/ja_JP.ISO-2022-JP.src \
     src/share/locale/time/ja_JP.ct.src \
     src/share/locale/time/sr_ME.ISO8859-2.src \
     src/share/locale/time/sr_ME.ISO8859-5.src \
     src/share/locale/time/sr_ME.UTF-8.src \
     src/share/locale/time/zh_TW.eucTW.src
 cvs rdiff -r1.5 -r1.6 src/usr.bin/locale/locale.c
 cvs rdiff -r1.11 -r1.12 src/usr.bin/mklocale/Makefile
 cvs rdiff -r1.13 -r1.14 src/usr.bin/mklocale/lex.l
 cvs rdiff -r0 -r1.1 src/usr.bin/mklocale/mklocaledb.c
 cvs rdiff -r1.24 -r1.25 src/usr.bin/mklocale/yacc.y
 cvs rdiff -r1.7 -r1.8 src/usr.sbin/chrtbl/Makefile
 cvs rdiff -r0 -r1.1 src/usr.sbin/chrtbl/ctypeio.c \
     src/usr.sbin/chrtbl/ctypeio.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->pending-pullups
State-Changed-By: tnozaki@NetBSD.org
State-Changed-When: Fri, 02 Jan 2009 01:18:51 +0000
State-Changed-Why:
patch submitted and send pullup request.

From: Soren Jacobsen <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/39662 CVS commit: [netbsd-5] src
Date: Thu, 15 Jan 2009 03:24:11 +0000 (UTC)

 Module Name:	src
 Committed By:	snj
 Date:		Thu Jan 15 03:24:11 UTC 2009

 Modified Files:
 	src/distrib/sets/lists/base [netbsd-5]: mi
 	src/distrib/utils/libhack [netbsd-5]: Makefile Makefile.inc
 	src/etc/mtree [netbsd-5]: NetBSD.dist
 	src/include [netbsd-5]: locale.h
 	src/lib/libc/citrus [netbsd-5]: Makefile.inc citrus_bcs.h
 	    citrus_csmapper.c citrus_module.c citrus_namespace.h
 	src/lib/libc/citrus/modules [netbsd-5]: citrus_euc.c
 	src/lib/libc/gen [netbsd-5]: Makefile.inc isctype.c tolower_.c
 	    toupper_.c
 	src/lib/libc/iconv [netbsd-5]: Makefile.inc iconv.c
 	src/lib/libc/locale [netbsd-5]: Makefile.inc _wctrans.c
 	    _wctrans_local.h aliasname.c aliasname_local.h ctypeio.c ctypeio.h
 	    iswctype_sb.c localeconv.c localeio.c localeio.h multibyte.h
 	    multibyte_amd1.c multibyte_c90.c nl_langinfo.c rune.c rune.h
 	    rune_local.h runeglue.c runetable.c setlocale.c
 	src/lib/libc/nls [netbsd-5]: Makefile.inc catopen.c
 	src/lib/libc/string [netbsd-5]: Makefile.inc wcscmp.c wcsncmp.c
 	    wmemcmp.c
 	src/regress/lib/libc/locale [netbsd-5]: Makefile
 	src/regress/lib/libc/locale/ctype1 [netbsd-5]: Makefile
 	    en_US.UTF-8.exp.uue ja_JP.SJIS.exp.uue ja_JP.eucJP.exp.uue
 	src/regress/lib/libc/locale/ctype2 [netbsd-5]: Makefile
 	src/regress/lib/libc/locale/ctype3 [netbsd-5]: Makefile
 	src/regress/lib/libc/locale/mbtowc [netbsd-5]: Makefile
 	src/regress/lib/libc/locale/wcstod [netbsd-5]: wcstod_test.c
 	src/share/locale [netbsd-5]: Makefile locale.alias
 	src/share/locale/ctype [netbsd-5]: Makefile
 	src/share/locale/messages [netbsd-5]: Makefile
 	src/share/locale/monetary [netbsd-5]: Makefile af_ZA.ISO8859-1.src
 	    am_ET.UTF-8.src be_BY.CP1251.src be_BY.ISO8859-5.src
 	    bg_BG.CP1251.src ca_ES.ISO8859-1.src cs_CZ.ISO8859-2.src
 	    da_DK.ISO8859-1.src de_AT.ISO8859-1.src de_CH.ISO8859-1.src
 	    de_DE.ISO8859-1.src el_GR.ISO8859-7.src en_AU.ISO8859-1.src
 	    en_CA.ISO8859-1.src en_GB.ISO8859-1.src en_NZ.ISO8859-1.src
 	    es_ES.ISO8859-1.src et_EE.ISO8859-15.src fi_FI.ISO8859-1.src
 	    fr_BE.ISO8859-1.src fr_CA.ISO8859-1.src fr_FR.ISO8859-1.src
 	    he_IL.UTF-8.src hr_HR.ISO8859-2.src hu_HU.ISO8859-2.src
 	    hy_AM.ARMSCII-8.src is_IS.ISO8859-1.src it_IT.ISO8859-1.src
 	    ja_JP.eucJP.src kk_KZ.PT154.src ko_KR.eucKR.src
 	    lt_LT.ISO8859-13.src mn_MN.UTF-8.src nl_BE.ISO8859-1.src
 	    nl_NL.ISO8859-1.src no_NO.ISO8859-1.src pl_PL.ISO8859-2.src
 	    pt_BR.ISO8859-1.src pt_PT.ISO8859-1.src ro_RO.ISO8859-2.src
 	    ru_RU.CP1251.src ru_RU.CP866.src ru_RU.ISO8859-5.src
 	    ru_RU.KOI8-R.src sk_SK.ISO8859-2.src sl_SI.ISO8859-2.src
 	    sv_SE.ISO8859-1.src tr_TR.ISO8859-9.src uk_UA.CP1251.src
 	    uk_UA.ISO8859-5.src uk_UA.KOI8-U.src zh_CN.eucCN.src zh_TW.Big5.src
 	src/share/locale/numeric [netbsd-5]: Makefile
 	src/share/locale/time [netbsd-5]: Makefile
 	src/usr.bin/locale [netbsd-5]: locale.c
 	src/usr.bin/mklocale [netbsd-5]: Makefile lex.l yacc.y
 	src/usr.sbin/chrtbl [netbsd-5]: Makefile
 Added Files:
 	src/lib/libc/citrus [netbsd-5]: citrus_aliasname_local.h
 	    citrus_bcs_strtol.c citrus_bcs_strtoul.c citrus_fix_grouping.h
 	    citrus_lc_ctype.c citrus_lc_messages.c citrus_lc_messages.h
 	    citrus_lc_monetary.c citrus_lc_monetary.h citrus_lc_numeric.c
 	    citrus_lc_numeric.h citrus_lc_template.h citrus_lc_template_decl.h
 	    citrus_lc_time.c citrus_lc_time.h
 	src/lib/libc/locale [netbsd-5]: _wctype.c _wctype_local.h bsdctype.c
 	    bsdctype.h current_locale.c dummy_lc_collate.c dummy_lc_template.h
 	    fix_grouping.c fix_grouping.h generic_lc_all.c
 	    generic_lc_template.h generic_lc_template_decl.h global_locale.c
 	    iswctype_mb.c localeio_lc_ctype.c localeio_lc_messages.c
 	    localeio_lc_monetary.c localeio_lc_numeric.c localeio_lc_time.c
 	    nb_lc_messages_misc.h nb_lc_monetary_misc.h nb_lc_numeric_misc.h
 	    nb_lc_template.h nb_lc_template_decl.h nb_lc_time_misc.h
 	    setlocale_local.h
 	src/regress/lib/libc/locale/ctype1 [netbsd-5]:
 	    ja_JP.ISO-2022-JP.exp.uue ja_JP.ISO-2022-JP.in.uue
 	src/regress/lib/libc/locale/mbtowc [netbsd-5]: ja_JP.ISO-2022-JP
 	src/share/locale [netbsd-5]: Makefile.locale
 	src/share/locale/messages [netbsd-5]: en_US.US-ASCII.src
 	    ja_JP.ISO-2022-JP.src ja_JP.ct.src sr_ME.ISO8859-2.src
 	    sr_ME.ISO8859-5.src zh_TW.eucTW.src
 	src/share/locale/monetary [netbsd-5]: en_US.US-ASCII.src
 	    ja_JP.ISO-2022-JP.src sr_ME.ISO8859-2.src sr_RS.ISO8859-2.src
 	    zh_HK.Big5hkscs.src
 	src/share/locale/numeric [netbsd-5]: en_US.US-ASCII.src
 	    sr_ME.ISO8859-2.src
 	src/share/locale/time [netbsd-5]: en_US.US-ASCII.src
 	    ja_JP.ISO-2022-JP.src ja_JP.ct.src sr_ME.ISO8859-2.src
 	    sr_ME.ISO8859-5.src sr_ME.UTF-8.src zh_TW.eucTW.src
 	src/usr.bin/mklocale [netbsd-5]: mklocaledb.c
 	src/usr.sbin/chrtbl [netbsd-5]: ctypeio.c ctypeio.h
 Removed Files:
 	src/lib/libc/locale [netbsd-5]: ___runetype_mb.c iswctype.c
 	    lcmessages.c lcmessages.h lcmonetary.c lcmonetary.h lcnumeric.c
 	    lcnumeric.h lctime.c lctime.h setrunelocale.c
 	src/lib/libc/string [netbsd-5]: wcswidth.c
 	src/regress/lib/libc/locale/ctype1 [netbsd-5]: ja_JP.ISO2022-JP.exp.uue
 	    ja_JP.ISO2022-JP.in.uue
 	src/regress/lib/libc/locale/ctype2 [netbsd-5]: ja_JP.ISO2022-JP2.in.uue
 	src/regress/lib/libc/locale/mbtowc [netbsd-5]: ja_JP.ISO2022-JP
 	src/share/locale/messages [netbsd-5]: en_US.ISO8859-1.src
 	    sr_YU.ISO8859-2.src sr_YU.ISO8859-5.src sr_YU.UTF-8.src
 	    zh_CN.GB18030.src
 	src/share/locale/monetary [netbsd-5]: be_BY.CP1131.src be_BY.UTF-8.src
 	    bg_BG.UTF-8.src cs_CZ.UTF-8.src en_GB.UTF-8.src en_IE.UTF-8.src
 	    en_US.ISO8859-1.src hi_IN.ISCII-DEV.src hy_AM.UTF-8.src
 	    ja_JP.UTF-8.src kk_KZ.UTF-8.src ko_KR.UTF-8.src pl_PL.UTF-8.src
 	    ru_RU.UTF-8.src sr_YU.ISO8859-2.src sr_YU.ISO8859-5.src
 	    sr_YU.UTF-8.src uk_UA.UTF-8.src zh_CN.GB18030.src zh_CN.UTF-8.src
 	    zh_HK.UTF-8.src
 	src/share/locale/numeric [netbsd-5]: am_ET.UTF-8.src
 	    en_US.ISO8859-1.src ja_JP.eucJP.src ko_KR.eucKR.src mn_MN.UTF-8.src
 	    sr_YU.ISO8859-2.src sr_YU.ISO8859-5.src zh_CN.eucCN.src
 	src/share/locale/time [netbsd-5]: en_US.ISO8859-1.src
 	    sr_YU.ISO8859-2.src sr_YU.ISO8859-5.src sr_YU.UTF-8.src
 	    zh_CN.GB18030.src

 Log Message:
 Pull up following revision(s) (requested by tnozaki in ticket #222):
 	distrib/sets/lists/base/mi: revision 1.788
 	distrib/utils/libhack/Makefile.inc: revision 1.23
 	distrib/utils/libhack/Makefile: revision 1.22
 	etc/mtree/NetBSD.dist: revision 1.387
 	include/locale.h: revision 1.15
 	lib/libc/citrus/Makefile.inc: revision 1.6
 	lib/libc/citrus/citrus_aliasname_local.h: revision 1.1
 	lib/libc/citrus/citrus_bcs.h: revision 1.5
 	lib/libc/citrus/citrus_bcs_strtol.c: revision 1.1
 	lib/libc/citrus/citrus_bcs_strtoul.c: revision 1.1
 	lib/libc/citrus/citrus_csmapper.c: revision 1.9
 	lib/libc/citrus/citrus_fix_grouping.h: revision 1.1
 	lib/libc/citrus/citrus_lc_ctype.c: revision 1.1
 	lib/libc/citrus/citrus_lc_messages.c: revision 1.1
 	lib/libc/citrus/citrus_lc_messages.h: revision 1.1
 	lib/libc/citrus/citrus_lc_monetary.c: revision 1.1
 	lib/libc/citrus/citrus_lc_monetary.h: revision 1.1
 	lib/libc/citrus/citrus_lc_numeric.c: revision 1.1
 	lib/libc/citrus/citrus_lc_numeric.h: revision 1.1
 	lib/libc/citrus/citrus_lc_template.h: revision 1.1
 	lib/libc/citrus/citrus_lc_template_decl.h: revision 1.1
 	lib/libc/citrus/citrus_lc_time.c: revision 1.1
 	lib/libc/citrus/citrus_lc_time.h: revision 1.1
 	lib/libc/citrus/citrus_module.c: revision 1.8
 	lib/libc/citrus/citrus_namespace.h: revision 1.7
 	lib/libc/citrus/modules/citrus_euc.c: revision 1.13
 	lib/libc/gen/Makefile.inc: revision 1.166
 	lib/libc/gen/isctype.c: revision 1.17 via patch
 	lib/libc/gen/tolower_.c: revision 1.10
 	lib/libc/gen/toupper_.c: revision 1.10
 	lib/libc/iconv/Makefile.inc: revision 1.3
 	lib/libc/iconv/iconv.c: revision 1.7
 	lib/libc/locale/Makefile.inc: revision 1.53
 	lib/libc/locale/___runetype_mb.c: file removal
 	lib/libc/locale/_wctrans.c: revision 1.7
 	lib/libc/locale/_wctrans_local.h: revision 1.3
 	lib/libc/locale/_wctype.c: revision 1.1
 	lib/libc/locale/_wctype_local.h: revision 1.1
 	lib/libc/locale/aliasname.c: revision 1.3
 	lib/libc/locale/aliasname_local.h: revision 1.2
 	lib/libc/locale/bsdctype.c: revision 1.1
 	lib/libc/locale/bsdctype.h: revision 1.1
 	lib/libc/locale/ctypeio.c: revision 1.8
 	lib/libc/locale/ctypeio.h: revision 1.2
 	lib/libc/locale/current_locale.c: revision 1.1
 	lib/libc/locale/dummy_lc_collate.c: revision 1.1
 	lib/libc/locale/dummy_lc_template.h: revision 1.1
 	lib/libc/locale/fix_grouping.c: revision 1.1
 	lib/libc/locale/fix_grouping.h: revision 1.1
 	lib/libc/locale/generic_lc_all.c: revision 1.1
 	lib/libc/locale/generic_lc_template.h: revision 1.1
 	lib/libc/locale/generic_lc_template_decl.h: revision 1.1
 	lib/libc/locale/global_locale.c: revision 1.1
 	lib/libc/locale/iswctype.c: file removal
 	lib/libc/locale/iswctype_mb.c: revision 1.1
 	lib/libc/locale/iswctype_sb.c: revision 1.6
 	lib/libc/locale/lcmessages.c: file removal
 	lib/libc/locale/lcmessages.h: file removal
 	lib/libc/locale/lcmonetary.c: file removal
 	lib/libc/locale/lcmonetary.h: file removal
 	lib/libc/locale/lcnumeric.c: file removal
 	lib/libc/locale/lcnumeric.h: file removal
 	lib/libc/locale/lctime.c: file removal
 	lib/libc/locale/lctime.h: file removal
 	lib/libc/locale/localeconv.c: revision 1.15
 	lib/libc/locale/localeio.c: revision 1.2
 	lib/libc/locale/localeio.h: revision 1.2
 	lib/libc/locale/localeio_lc_ctype.c: revision 1.1
 	lib/libc/locale/localeio_lc_messages.c: revision 1.1
 	lib/libc/locale/localeio_lc_monetary.c: revision 1.1
 	lib/libc/locale/localeio_lc_numeric.c: revision 1.1
 	lib/libc/locale/localeio_lc_time.c: revision 1.1
 	lib/libc/locale/multibyte.h: revision 1.4
 	lib/libc/locale/multibyte_amd1.c: revision 1.6
 	lib/libc/locale/multibyte_c90.c: revision 1.5
 	lib/libc/locale/nb_lc_messages_misc.h: revision 1.1
 	lib/libc/locale/nb_lc_monetary_misc.h: revision 1.1
 	lib/libc/locale/nb_lc_numeric_misc.h: revision 1.1
 	lib/libc/locale/nb_lc_template.h: revision 1.1
 	lib/libc/locale/nb_lc_template_decl.h: revision 1.1
 	lib/libc/locale/nb_lc_time_misc.h: revision 1.1
 	lib/libc/locale/nl_langinfo.c: revision 1.12
 	lib/libc/locale/rune.c: revision 1.31
 	lib/libc/locale/rune.h: revision 1.13
 	lib/libc/locale/rune_local.h: revision 1.11
 	lib/libc/locale/runeglue.c: revision 1.14
 	lib/libc/locale/runetable.c: revision 1.18
 	lib/libc/locale/setlocale.c: revision 1.55 via patch
 	lib/libc/locale/setlocale_local.h: revision 1.1
 	lib/libc/locale/setrunelocale.c: file removal
 	lib/libc/nls/Makefile.inc: revision 1.9
 	lib/libc/nls/catopen.c: revision 1.26
 	lib/libc/string/Makefile.inc: revision 1.68
 	lib/libc/string/wcscmp.c: revision 1.6
 	lib/libc/string/wcsncmp.c: revision 1.6
 	lib/libc/string/wcswidth.c: file removal
 	lib/libc/string/wmemcmp.c: revision 1.4
 	regress/lib/libc/locale/Makefile: revision 1.4
 	regress/lib/libc/locale/ctype1/Makefile: revision 1.4
 	regress/lib/libc/locale/ctype1/en_US.UTF-8.exp.uue: revision 1.2
 	regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.exp.uue: revision 1.1
 	regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.in.uue: revision 1.1
 	regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.exp.uue: file removal
 	regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.in.uue: file removal
 	regress/lib/libc/locale/ctype1/ja_JP.SJIS.exp.uue: revision 1.2
 	regress/lib/libc/locale/ctype1/ja_JP.eucJP.exp.uue: revision 1.2
 	regress/lib/libc/locale/ctype2/Makefile: revision 1.5
 	regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue: revision 1.1
 	regress/lib/libc/locale/ctype2/ja_JP.ISO2022-JP2.in.uue: file removal
 	regress/lib/libc/locale/ctype3/Makefile: revision 1.5
 	regress/lib/libc/locale/mbtowc/Makefile: revision 1.3
 	regress/lib/libc/locale/mbtowc/ja_JP.ISO-2022-JP: revision 1.1
 	regress/lib/libc/locale/mbtowc/ja_JP.ISO2022-JP: file removal
 	regress/lib/libc/locale/wcstod/wcstod_test.c: revision 1.2
 	share/locale/Makefile.locale: revision 1.1
 	share/locale/Makefile: revision 1.5
 	share/locale/ctype/Makefile: revision 1.28
 	share/locale/locale.alias: revision 1.11
 	share/locale/messages/Makefile: revision 1.5
 	share/locale/messages/en_US.ISO8859-1.src: file removal
 	share/locale/messages/en_US.US-ASCII.src: revision 1.1
 	share/locale/messages/ja_JP.ISO-2022-JP.src: revision 1.1
 	share/locale/messages/ja_JP.ct.src: revision 1.1
 	share/locale/messages/sr_ME.ISO8859-2.src: revision 1.1
 	share/locale/messages/sr_ME.ISO8859-5.src: revision 1.1
 	share/locale/messages/sr_YU.ISO8859-2.src: file removal
 	share/locale/messages/sr_YU.ISO8859-5.src: file removal
 	share/locale/messages/sr_YU.UTF-8.src: file removal
 	share/locale/messages/zh_CN.GB18030.src: file removal
 	share/locale/messages/zh_TW.eucTW.src: revision 1.1
 	share/locale/monetary/Makefile: revision 1.5
 	share/locale/monetary/af_ZA.ISO8859-1.src: revision 1.2
 	share/locale/monetary/am_ET.UTF-8.src: revision 1.2
 	share/locale/monetary/be_BY.CP1131.src: file removal
 	share/locale/monetary/be_BY.CP1251.src: revision 1.2
 	share/locale/monetary/be_BY.ISO8859-5.src: revision 1.2
 	share/locale/monetary/be_BY.UTF-8.src: revision 1.2
 	share/locale/monetary/bg_BG.CP1251.src: revision 1.2
 	share/locale/monetary/bg_BG.UTF-8.src: revision 1.2
 	share/locale/monetary/ca_ES.ISO8859-1.src: revision 1.2
 	share/locale/monetary/cs_CZ.ISO8859-2.src: revision 1.2
 	share/locale/monetary/cs_CZ.UTF-8.src: revision 1.2
 	share/locale/monetary/da_DK.ISO8859-1.src: revision 1.2
 	share/locale/monetary/de_AT.ISO8859-1.src: revision 1.2
 	share/locale/monetary/de_CH.ISO8859-1.src: revision 1.2
 	share/locale/monetary/de_DE.ISO8859-1.src: revision 1.2
 	share/locale/monetary/el_GR.ISO8859-7.src: revision 1.2
 	share/locale/monetary/en_AU.ISO8859-1.src: revision 1.2
 	share/locale/monetary/en_CA.ISO8859-1.src: revision 1.2
 	share/locale/monetary/en_GB.ISO8859-1.src: revision 1.2
 	share/locale/monetary/en_GB.UTF-8.src: revision 1.2
 	share/locale/monetary/en_IE.UTF-8.src: revision 1.2
 	share/locale/monetary/en_NZ.ISO8859-1.src: revision 1.2
 	share/locale/monetary/en_US.ISO8859-1.src: revision 1.2
 	share/locale/monetary/en_US.US-ASCII.src: revision 1.1
 	share/locale/monetary/es_ES.ISO8859-1.src: revision 1.2
 	share/locale/monetary/et_EE.ISO8859-15.src: revision 1.2
 	share/locale/monetary/fi_FI.ISO8859-1.src: revision 1.2
 	share/locale/monetary/fr_BE.ISO8859-1.src: revision 1.2
 	share/locale/monetary/fr_CA.ISO8859-1.src: revision 1.2
 	share/locale/monetary/fr_FR.ISO8859-1.src: revision 1.2
 	share/locale/monetary/he_IL.UTF-8.src: revision 1.2
 	share/locale/monetary/hi_IN.ISCII-DEV.src: revision 1.2
 	share/locale/monetary/hr_HR.ISO8859-2.src: revision 1.2
 	share/locale/monetary/hu_HU.ISO8859-2.src: revision 1.2
 	share/locale/monetary/hy_AM.ARMSCII-8.src: revision 1.2
 	share/locale/monetary/hy_AM.UTF-8.src: revision 1.2
 	share/locale/monetary/is_IS.ISO8859-1.src: revision 1.2
 	share/locale/monetary/it_IT.ISO8859-1.src: revision 1.2
 	share/locale/monetary/ja_JP.ISO-2022-JP.src: revision 1.1
 	share/locale/monetary/ja_JP.UTF-8.src: revision 1.2
 	share/locale/monetary/ja_JP.eucJP.src: revision 1.2
 	share/locale/monetary/kk_KZ.PT154.src: revision 1.2
 	share/locale/monetary/kk_KZ.UTF-8.src: revision 1.2
 	share/locale/monetary/ko_KR.UTF-8.src: revision 1.2
 	share/locale/monetary/ko_KR.eucKR.src: revision 1.2
 	share/locale/monetary/lt_LT.ISO8859-13.src: revision 1.2
 	share/locale/monetary/mn_MN.UTF-8.src: revision 1.2
 	share/locale/monetary/nl_BE.ISO8859-1.src: revision 1.2
 	share/locale/monetary/nl_NL.ISO8859-1.src: revision 1.2
 	share/locale/monetary/no_NO.ISO8859-1.src: revision 1.2
 	share/locale/monetary/pl_PL.ISO8859-2.src: revision 1.2
 	share/locale/monetary/pl_PL.UTF-8.src: revision 1.2
 	share/locale/monetary/pt_BR.ISO8859-1.src: revision 1.2
 	share/locale/monetary/pt_PT.ISO8859-1.src: revision 1.2
 	share/locale/monetary/ro_RO.ISO8859-2.src: revision 1.2
 	share/locale/monetary/ru_RU.CP1251.src: revision 1.2
 	share/locale/monetary/ru_RU.CP866.src: revision 1.2
 	share/locale/monetary/ru_RU.ISO8859-5.src: revision 1.2
 	share/locale/monetary/ru_RU.KOI8-R.src: revision 1.2
 	share/locale/monetary/ru_RU.UTF-8.src: revision 1.2
 	share/locale/monetary/sk_SK.ISO8859-2.src: revision 1.2
 	share/locale/monetary/sl_SI.ISO8859-2.src: revision 1.2
 	share/locale/monetary/sr_ME.ISO8859-2.src: revision 1.1
 	share/locale/monetary/sr_RS.ISO8859-2.src: revision 1.1
 	share/locale/monetary/sr_YU.ISO8859-2.src: revision 1.2
 	share/locale/monetary/sr_YU.ISO8859-5.src: revision 1.2
 	share/locale/monetary/sr_YU.UTF-8.src: revision 1.2
 	share/locale/monetary/sv_SE.ISO8859-1.src: revision 1.2
 	share/locale/monetary/tr_TR.ISO8859-9.src: revision 1.2
 	share/locale/monetary/uk_UA.CP1251.src: revision 1.2
 	share/locale/monetary/uk_UA.ISO8859-5.src: revision 1.2
 	share/locale/monetary/uk_UA.KOI8-U.src: revision 1.2
 	share/locale/monetary/uk_UA.UTF-8.src: revision 1.2
 	share/locale/monetary/zh_CN.GB18030.src: revision 1.2
 	share/locale/monetary/zh_CN.UTF-8.src: revision 1.2
 	share/locale/monetary/zh_CN.eucCN.src: revision 1.2
 	share/locale/monetary/zh_HK.Big5hkscs.src: revision 1.1
 	share/locale/monetary/zh_HK.UTF-8.src: revision 1.2
 	share/locale/monetary/zh_TW.Big5.src: revision 1.2
 	share/locale/numeric/Makefile: revision 1.4
 	share/locale/numeric/am_ET.UTF-8.src: file removal
 	share/locale/numeric/en_US.ISO8859-1.src: file removal
 	share/locale/numeric/en_US.US-ASCII.src: revision 1.1
 	share/locale/numeric/ja_JP.eucJP.src: file removal
 	share/locale/numeric/ko_KR.eucKR.src: file removal
 	share/locale/numeric/mn_MN.UTF-8.src: file removal
 	share/locale/numeric/sr_ME.ISO8859-2.src: revision 1.1
 	share/locale/numeric/sr_YU.ISO8859-2.src: file removal
 	share/locale/numeric/sr_YU.ISO8859-5.src: file removal
 	share/locale/numeric/zh_CN.eucCN.src: file removal
 	share/locale/time/Makefile: revision 1.5
 	share/locale/time/en_US.ISO8859-1.src: file removal
 	share/locale/time/en_US.US-ASCII.src: revision 1.1
 	share/locale/time/ja_JP.ISO-2022-JP.src: revision 1.1
 	share/locale/time/ja_JP.ct.src: revision 1.1
 	share/locale/time/sr_ME.ISO8859-2.src: revision 1.1
 	share/locale/time/sr_ME.ISO8859-5.src: revision 1.1
 	share/locale/time/sr_ME.UTF-8.src: revision 1.1
 	share/locale/time/sr_YU.ISO8859-2.src: file removal
 	share/locale/time/sr_YU.ISO8859-5.src: file removal
 	share/locale/time/sr_YU.UTF-8.src: file removal
 	share/locale/time/zh_CN.GB18030.src: file removal
 	share/locale/time/zh_TW.eucTW.src: revision 1.1
 	usr.bin/locale/locale.c: revision 1.6
 	usr.bin/mklocale/Makefile: revision 1.12
 	usr.bin/mklocale/lex.l: revision 1.14
 	usr.bin/mklocale/mklocaledb.c: revision 1.1
 	usr.bin/mklocale/yacc.y: revision 1.25
 	usr.sbin/chrtbl/Makefile: revision 1.8
 	usr.sbin/chrtbl/ctypeio.c: revision 1.1
 	usr.sbin/chrtbl/ctypeio.h: revision 1.1
 Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES}
 db format.
 ok'ed by core and releng.
 (thanks for agc@, snj@ and i'm sorry for long time patience).
 [libc]
 - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
   new locale-db implementation using citrus_db backend,
   see src/lib/libc/citrus/citrus_lc_*.[ch].
 - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
   internally, because they're locale-aware function.
 - add some stubs for multi-locale issue, see {current,global}_locale.c.
 - remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
 - remove __savectype() from ctypeio.[ch].
 [tools]
 - mklocale(1): add new option ``-t'' that generates new style
   LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
 - chrtbl(1): added ctypeio.[ch] for __savectype().
 [locale-db]
 - added en_US.US-ASCII locale.
 - removed some shareable locale definition file:
     en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
     zh_CN.eucCN -> zh_CN.GB18030
     and more...see src/share/locale/*/Makefile.
 - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
 - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
   for X11's locale.alias file alignments.
 - fix regression test, wrong wcs?width(3), NAN/INF usage.

 i tested release-build following arch:
   i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

 citrus_lc_*.[ch] also can read old-plain-text style locale-db.
 so that backward compatibility is keeped, but lc*.[ch] can't read
 new citrus_db'ed locale-db and localeio.c never check sanity,
 so forward compatibility is broken ;-<
 old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.


 To generate a diff of this commit:
 cvs rdiff -r1.780.2.2 -r1.780.2.3 src/distrib/sets/lists/base/mi
 cvs rdiff -r1.21 -r1.21.14.1 src/distrib/utils/libhack/Makefile
 cvs rdiff -r1.22 -r1.22.14.1 src/distrib/utils/libhack/Makefile.inc
 cvs rdiff -r1.385 -r1.385.2.1 src/etc/mtree/NetBSD.dist
 cvs rdiff -r1.14 -r1.14.34.1 src/include/locale.h
 cvs rdiff -r1.5 -r1.5.32.1 src/lib/libc/citrus/Makefile.inc
 cvs rdiff -r0 -r1.2.2.2 src/lib/libc/citrus/citrus_aliasname_local.h \
     src/lib/libc/citrus/citrus_bcs_strtol.c \
     src/lib/libc/citrus/citrus_fix_grouping.h \
     src/lib/libc/citrus/citrus_lc_ctype.c \
     src/lib/libc/citrus/citrus_lc_messages.c \
     src/lib/libc/citrus/citrus_lc_messages.h \
     src/lib/libc/citrus/citrus_lc_monetary.c \
     src/lib/libc/citrus/citrus_lc_monetary.h \
     src/lib/libc/citrus/citrus_lc_numeric.c \
     src/lib/libc/citrus/citrus_lc_numeric.h \
     src/lib/libc/citrus/citrus_lc_template.h \
     src/lib/libc/citrus/citrus_lc_template_decl.h \
     src/lib/libc/citrus/citrus_lc_time.c src/lib/libc/citrus/citrus_lc_time.h
 cvs rdiff -r1.4 -r1.4.10.1 src/lib/libc/citrus/citrus_bcs.h
 cvs rdiff -r0 -r1.3.2.2 src/lib/libc/citrus/citrus_bcs_strtoul.c
 cvs rdiff -r1.8 -r1.8.10.1 src/lib/libc/citrus/citrus_csmapper.c
 cvs rdiff -r1.7 -r1.7.4.1 src/lib/libc/citrus/citrus_module.c
 cvs rdiff -r1.6 -r1.6.26.1 src/lib/libc/citrus/citrus_namespace.h
 cvs rdiff -r1.12 -r1.12.4.1 src/lib/libc/citrus/modules/citrus_euc.c
 cvs rdiff -r1.163 -r1.163.4.1 src/lib/libc/gen/Makefile.inc
 cvs rdiff -r1.16 -r1.16.38.1 src/lib/libc/gen/isctype.c
 cvs rdiff -r1.9 -r1.9.38.1 src/lib/libc/gen/tolower_.c \
     src/lib/libc/gen/toupper_.c
 cvs rdiff -r1.2 -r1.2.38.1 src/lib/libc/iconv/Makefile.inc
 cvs rdiff -r1.6 -r1.6.24.1 src/lib/libc/iconv/iconv.c
 cvs rdiff -r1.52 -r1.52.4.1 src/lib/libc/locale/Makefile.inc
 cvs rdiff -r1.10 -r0 src/lib/libc/locale/___runetype_mb.c
 cvs rdiff -r1.6 -r1.6.32.1 src/lib/libc/locale/_wctrans.c
 cvs rdiff -r1.2 -r1.2.38.1 src/lib/libc/locale/_wctrans_local.h
 cvs rdiff -r0 -r1.2.2.2 src/lib/libc/locale/_wctype.c \
     src/lib/libc/locale/_wctype_local.h src/lib/libc/locale/bsdctype.c \
     src/lib/libc/locale/bsdctype.h src/lib/libc/locale/current_locale.c \
     src/lib/libc/locale/dummy_lc_collate.c \
     src/lib/libc/locale/dummy_lc_template.h \
     src/lib/libc/locale/fix_grouping.h src/lib/libc/locale/generic_lc_all.c \
     src/lib/libc/locale/generic_lc_template.h \
     src/lib/libc/locale/generic_lc_template_decl.h \
     src/lib/libc/locale/global_locale.c src/lib/libc/locale/iswctype_mb.c \
     src/lib/libc/locale/localeio_lc_ctype.c \
     src/lib/libc/locale/localeio_lc_messages.c \
     src/lib/libc/locale/localeio_lc_monetary.c \
     src/lib/libc/locale/localeio_lc_numeric.c \
     src/lib/libc/locale/localeio_lc_time.c \
     src/lib/libc/locale/nb_lc_messages_misc.h \
     src/lib/libc/locale/nb_lc_monetary_misc.h \
     src/lib/libc/locale/nb_lc_numeric_misc.h \
     src/lib/libc/locale/nb_lc_template.h \
     src/lib/libc/locale/nb_lc_template_decl.h \
     src/lib/libc/locale/nb_lc_time_misc.h \
     src/lib/libc/locale/setlocale_local.h
 cvs rdiff -r1.2 -r1.2.32.1 src/lib/libc/locale/aliasname.c
 cvs rdiff -r1.1 -r1.1.42.1 src/lib/libc/locale/aliasname_local.h
 cvs rdiff -r1.7 -r1.7.26.1 src/lib/libc/locale/ctypeio.c
 cvs rdiff -r1.1 -r1.1.54.1 src/lib/libc/locale/ctypeio.h
 cvs rdiff -r0 -r1.4.2.2 src/lib/libc/locale/fix_grouping.c
 cvs rdiff -r1.16 -r0 src/lib/libc/locale/iswctype.c
 cvs rdiff -r1.5 -r1.5.4.1 src/lib/libc/locale/iswctype_sb.c
 cvs rdiff -r1.1 -r0 src/lib/libc/locale/lcmessages.c \
     src/lib/libc/locale/lcmessages.h src/lib/libc/locale/lcmonetary.c \
     src/lib/libc/locale/lcmonetary.h src/lib/libc/locale/lcnumeric.c \
     src/lib/libc/locale/lcnumeric.h src/lib/libc/locale/lctime.c \
     src/lib/libc/locale/lctime.h
 cvs rdiff -r1.14 -r1.14.18.1 src/lib/libc/locale/localeconv.c
 cvs rdiff -r1.1 -r1.1.8.1 src/lib/libc/locale/localeio.c \
     src/lib/libc/locale/localeio.h
 cvs rdiff -r1.3 -r1.3.38.1 src/lib/libc/locale/multibyte.h
 cvs rdiff -r1.5 -r1.5.38.1 src/lib/libc/locale/multibyte_amd1.c
 cvs rdiff -r1.4 -r1.4.38.1 src/lib/libc/locale/multibyte_c90.c
 cvs rdiff -r1.11 -r1.11.26.1 src/lib/libc/locale/nl_langinfo.c
 cvs rdiff -r1.30 -r1.30.12.1 src/lib/libc/locale/rune.c
 cvs rdiff -r1.12 -r1.12.12.1 src/lib/libc/locale/rune.h \
     src/lib/libc/locale/runeglue.c
 cvs rdiff -r1.10 -r1.10.8.1 src/lib/libc/locale/rune_local.h
 cvs rdiff -r1.17 -r1.17.4.1 src/lib/libc/locale/runetable.c
 cvs rdiff -r1.54 -r1.54.4.1 src/lib/libc/locale/setlocale.c
 cvs rdiff -r1.18 -r0 src/lib/libc/locale/setrunelocale.c
 cvs rdiff -r1.8 -r1.8.60.1 src/lib/libc/nls/Makefile.inc
 cvs rdiff -r1.25 -r1.25.6.1 src/lib/libc/nls/catopen.c
 cvs rdiff -r1.67 -r1.67.18.1 src/lib/libc/string/Makefile.inc
 cvs rdiff -r1.5 -r1.5.38.1 src/lib/libc/string/wcscmp.c \
     src/lib/libc/string/wcsncmp.c
 cvs rdiff -r1.5 -r0 src/lib/libc/string/wcswidth.c
 cvs rdiff -r1.3 -r1.3.38.1 src/lib/libc/string/wmemcmp.c
 cvs rdiff -r1.3 -r1.3.12.1 src/regress/lib/libc/locale/Makefile
 cvs rdiff -r1.3 -r1.3.38.1 src/regress/lib/libc/locale/ctype1/Makefile
 cvs rdiff -r1.1 -r1.1.38.1 \
     src/regress/lib/libc/locale/ctype1/en_US.UTF-8.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.SJIS.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.eucJP.exp.uue
 cvs rdiff -r0 -r1.1.2.2 \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO-2022-JP.in.uue
 cvs rdiff -r1.1 -r0 \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.exp.uue \
     src/regress/lib/libc/locale/ctype1/ja_JP.ISO2022-JP.in.uue
 cvs rdiff -r1.4 -r1.4.38.1 src/regress/lib/libc/locale/ctype2/Makefile
 cvs rdiff -r1.1 -r0 \
     src/regress/lib/libc/locale/ctype2/ja_JP.ISO2022-JP2.in.uue
 cvs rdiff -r1.4 -r1.4.38.1 src/regress/lib/libc/locale/ctype3/Makefile
 cvs rdiff -r1.2 -r1.2.12.1 src/regress/lib/libc/locale/mbtowc/Makefile
 cvs rdiff -r0 -r1.1.2.2 src/regress/lib/libc/locale/mbtowc/ja_JP.ISO-2022-JP
 cvs rdiff -r1.1 -r0 src/regress/lib/libc/locale/mbtowc/ja_JP.ISO2022-JP
 cvs rdiff -r1.1 -r1.1.30.1 src/regress/lib/libc/locale/wcstod/wcstod_test.c
 cvs rdiff -r1.4 -r1.4.32.1 src/share/locale/Makefile
 cvs rdiff -r0 -r1.1.2.2 src/share/locale/Makefile.locale
 cvs rdiff -r1.10 -r1.10.2.1 src/share/locale/locale.alias
 cvs rdiff -r1.27 -r1.27.2.1 src/share/locale/ctype/Makefile
 cvs rdiff -r1.4 -r1.4.4.1 src/share/locale/messages/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/messages/en_US.ISO8859-1.src \
     src/share/locale/messages/sr_YU.ISO8859-2.src \
     src/share/locale/messages/sr_YU.ISO8859-5.src \
     src/share/locale/messages/sr_YU.UTF-8.src \
     src/share/locale/messages/zh_CN.GB18030.src
 cvs rdiff -r0 -r1.1.2.2 src/share/locale/messages/en_US.US-ASCII.src \
     src/share/locale/messages/ja_JP.ISO-2022-JP.src \
     src/share/locale/messages/ja_JP.ct.src \
     src/share/locale/messages/sr_ME.ISO8859-2.src \
     src/share/locale/messages/sr_ME.ISO8859-5.src \
     src/share/locale/messages/zh_TW.eucTW.src
 cvs rdiff -r1.4 -r1.4.4.1 src/share/locale/monetary/Makefile
 cvs rdiff -r1.1 -r1.1.8.1 src/share/locale/monetary/af_ZA.ISO8859-1.src \
     src/share/locale/monetary/am_ET.UTF-8.src \
     src/share/locale/monetary/be_BY.CP1251.src \
     src/share/locale/monetary/be_BY.ISO8859-5.src \
     src/share/locale/monetary/bg_BG.CP1251.src \
     src/share/locale/monetary/ca_ES.ISO8859-1.src \
     src/share/locale/monetary/cs_CZ.ISO8859-2.src \
     src/share/locale/monetary/da_DK.ISO8859-1.src \
     src/share/locale/monetary/de_AT.ISO8859-1.src \
     src/share/locale/monetary/de_CH.ISO8859-1.src \
     src/share/locale/monetary/de_DE.ISO8859-1.src \
     src/share/locale/monetary/el_GR.ISO8859-7.src \
     src/share/locale/monetary/en_AU.ISO8859-1.src \
     src/share/locale/monetary/en_CA.ISO8859-1.src \
     src/share/locale/monetary/en_GB.ISO8859-1.src \
     src/share/locale/monetary/en_NZ.ISO8859-1.src \
     src/share/locale/monetary/es_ES.ISO8859-1.src \
     src/share/locale/monetary/et_EE.ISO8859-15.src \
     src/share/locale/monetary/fi_FI.ISO8859-1.src \
     src/share/locale/monetary/fr_BE.ISO8859-1.src \
     src/share/locale/monetary/fr_CA.ISO8859-1.src \
     src/share/locale/monetary/fr_FR.ISO8859-1.src \
     src/share/locale/monetary/he_IL.UTF-8.src \
     src/share/locale/monetary/hr_HR.ISO8859-2.src \
     src/share/locale/monetary/hu_HU.ISO8859-2.src \
     src/share/locale/monetary/hy_AM.ARMSCII-8.src \
     src/share/locale/monetary/is_IS.ISO8859-1.src \
     src/share/locale/monetary/it_IT.ISO8859-1.src \
     src/share/locale/monetary/ja_JP.eucJP.src \
     src/share/locale/monetary/kk_KZ.PT154.src \
     src/share/locale/monetary/ko_KR.eucKR.src \
     src/share/locale/monetary/lt_LT.ISO8859-13.src \
     src/share/locale/monetary/mn_MN.UTF-8.src \
     src/share/locale/monetary/nl_BE.ISO8859-1.src \
     src/share/locale/monetary/nl_NL.ISO8859-1.src \
     src/share/locale/monetary/no_NO.ISO8859-1.src \
     src/share/locale/monetary/pl_PL.ISO8859-2.src \
     src/share/locale/monetary/pt_BR.ISO8859-1.src \
     src/share/locale/monetary/pt_PT.ISO8859-1.src \
     src/share/locale/monetary/ro_RO.ISO8859-2.src \
     src/share/locale/monetary/ru_RU.CP1251.src \
     src/share/locale/monetary/ru_RU.CP866.src \
     src/share/locale/monetary/ru_RU.ISO8859-5.src \
     src/share/locale/monetary/ru_RU.KOI8-R.src \
     src/share/locale/monetary/sk_SK.ISO8859-2.src \
     src/share/locale/monetary/sl_SI.ISO8859-2.src \
     src/share/locale/monetary/sv_SE.ISO8859-1.src \
     src/share/locale/monetary/tr_TR.ISO8859-9.src \
     src/share/locale/monetary/uk_UA.CP1251.src \
     src/share/locale/monetary/uk_UA.ISO8859-5.src \
     src/share/locale/monetary/uk_UA.KOI8-U.src \
     src/share/locale/monetary/zh_CN.eucCN.src \
     src/share/locale/monetary/zh_TW.Big5.src
 cvs rdiff -r1.1 -r0 src/share/locale/monetary/be_BY.CP1131.src \
     src/share/locale/monetary/be_BY.UTF-8.src \
     src/share/locale/monetary/bg_BG.UTF-8.src \
     src/share/locale/monetary/cs_CZ.UTF-8.src \
     src/share/locale/monetary/en_GB.UTF-8.src \
     src/share/locale/monetary/en_IE.UTF-8.src \
     src/share/locale/monetary/en_US.ISO8859-1.src \
     src/share/locale/monetary/hi_IN.ISCII-DEV.src \
     src/share/locale/monetary/hy_AM.UTF-8.src \
     src/share/locale/monetary/ja_JP.UTF-8.src \
     src/share/locale/monetary/kk_KZ.UTF-8.src \
     src/share/locale/monetary/ko_KR.UTF-8.src \
     src/share/locale/monetary/pl_PL.UTF-8.src \
     src/share/locale/monetary/ru_RU.UTF-8.src \
     src/share/locale/monetary/sr_YU.ISO8859-2.src \
     src/share/locale/monetary/sr_YU.ISO8859-5.src \
     src/share/locale/monetary/sr_YU.UTF-8.src \
     src/share/locale/monetary/uk_UA.UTF-8.src \
     src/share/locale/monetary/zh_CN.GB18030.src \
     src/share/locale/monetary/zh_CN.UTF-8.src \
     src/share/locale/monetary/zh_HK.UTF-8.src
 cvs rdiff -r0 -r1.1.2.2 src/share/locale/monetary/en_US.US-ASCII.src \
     src/share/locale/monetary/ja_JP.ISO-2022-JP.src \
     src/share/locale/monetary/sr_ME.ISO8859-2.src \
     src/share/locale/monetary/sr_RS.ISO8859-2.src \
     src/share/locale/monetary/zh_HK.Big5hkscs.src
 cvs rdiff -r1.3 -r1.3.4.1 src/share/locale/numeric/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/numeric/am_ET.UTF-8.src \
     src/share/locale/numeric/en_US.ISO8859-1.src \
     src/share/locale/numeric/ja_JP.eucJP.src \
     src/share/locale/numeric/ko_KR.eucKR.src \
     src/share/locale/numeric/mn_MN.UTF-8.src \
     src/share/locale/numeric/sr_YU.ISO8859-2.src \
     src/share/locale/numeric/sr_YU.ISO8859-5.src \
     src/share/locale/numeric/zh_CN.eucCN.src
 cvs rdiff -r0 -r1.1.2.2 src/share/locale/numeric/en_US.US-ASCII.src \
     src/share/locale/numeric/sr_ME.ISO8859-2.src
 cvs rdiff -r1.4 -r1.4.4.1 src/share/locale/time/Makefile
 cvs rdiff -r1.1 -r0 src/share/locale/time/en_US.ISO8859-1.src \
     src/share/locale/time/sr_YU.ISO8859-2.src \
     src/share/locale/time/sr_YU.ISO8859-5.src \
     src/share/locale/time/sr_YU.UTF-8.src \
     src/share/locale/time/zh_CN.GB18030.src
 cvs rdiff -r0 -r1.1.2.2 src/share/locale/time/en_US.US-ASCII.src \
     src/share/locale/time/ja_JP.ISO-2022-JP.src \
     src/share/locale/time/ja_JP.ct.src \
     src/share/locale/time/sr_ME.ISO8859-2.src \
     src/share/locale/time/sr_ME.ISO8859-5.src \
     src/share/locale/time/sr_ME.UTF-8.src \
     src/share/locale/time/zh_TW.eucTW.src
 cvs rdiff -r1.5 -r1.5.28.1 src/usr.bin/locale/locale.c
 cvs rdiff -r1.11 -r1.11.40.1 src/usr.bin/mklocale/Makefile
 cvs rdiff -r1.13 -r1.13.40.1 src/usr.bin/mklocale/lex.l
 cvs rdiff -r0 -r1.2.2.2 src/usr.bin/mklocale/mklocaledb.c
 cvs rdiff -r1.24 -r1.24.40.1 src/usr.bin/mklocale/yacc.y
 cvs rdiff -r1.7 -r1.7.4.1 src/usr.sbin/chrtbl/Makefile
 cvs rdiff -r0 -r1.1.2.2 src/usr.sbin/chrtbl/ctypeio.c \
     src/usr.sbin/chrtbl/ctypeio.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Soren Jacobsen <snj@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/39662 CVS commit: [netbsd-5] src/regress/lib/libc/locale/ctype2
Date: Thu, 15 Jan 2009 03:27:21 +0000 (UTC)

 Module Name:	src
 Committed By:	snj
 Date:		Thu Jan 15 03:27:21 UTC 2009

 Added Files:
 	src/regress/lib/libc/locale/ctype2 [netbsd-5]:
 	    ja_JP.ISO-2022-JP-2.in.uue

 Log Message:
 Pull up following revision(s) (requested by tnozaki in ticket #222):
 	regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue: revision 1.1
 Fixes PR lib/39662, shortcomings in LC_{MONETARY,NUMERIC,TIME,MESSAGES}
 db format.
 ok'ed by core and releng.
 (thanks for agc@, snj@ and i'm sorry for long time patience).
 [libc]
 - localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
   new locale-db implementation using citrus_db backend,
   see src/lib/libc/citrus/citrus_lc_*.[ch].
 - add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
   internally, because they're locale-aware function.
 - add some stubs for multi-locale issue, see {current,global}_locale.c.
 - remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
 - remove __savectype() from ctypeio.[ch].
 [tools]
 - mklocale(1): add new option ``-t'' that generates new style
   LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
 - chrtbl(1): added ctypeio.[ch] for __savectype().
 [locale-db]
 - added en_US.US-ASCII locale.
 - removed some shareable locale definition file:
     en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
     zh_CN.eucCN -> zh_CN.GB18030
     and more...see src/share/locale/*/Makefile.
 - remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
 - change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
   for X11's locale.alias file alignments.
 - fix regression test, wrong wcs?width(3), NAN/INF usage.

 i tested release-build following arch:
   i386, amd64, hpc{mips,arm,sh}, sparc64, vax.

 citrus_lc_*.[ch] also can read old-plain-text style locale-db.
 so that backward compatibility is keeped, but lc*.[ch] can't read
 new citrus_db'ed locale-db and localeio.c never check sanity,
 so forward compatibility is broken ;-<
 old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.


 To generate a diff of this commit:
 cvs rdiff -r0 -r1.1.2.2 \
     src/regress/lib/libc/locale/ctype2/ja_JP.ISO-2022-JP-2.in.uue

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: pending-pullups->closed
State-Changed-By: snj@NetBSD.org
State-Changed-When: Thu, 15 Jan 2009 04:43:47 +0000
State-Changed-Why:
Pulled up to netbsd-5.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.