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:
(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.