| History log of /src/usr.bin/mklocale |
| Revision | Date | Author | Comments |
| 1.18 | 03-Jun-2023 |
lukem | bsd.own.mk: rename GCC_NO_* to CC_WNO_*
Rename compiler-warning-disable variables from GCC_NO_warning to CC_WNO_warning where warning is the full warning name as used by the compiler.
GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH
Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
|
| 1.17 | 13-Oct-2019 |
mrg | introduce some common variables for use in GCC warning disables:
GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8) GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8) GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8) GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8)
use these to turn off warnings for most GCC-8 complaints. many of these are false positives, most of the real bugs are already commited, or are yet to come.
we plan to introduce versions of (some?) of these that use the "-Wno-error=" form, which still displays the warnings but does not make it an error, and all of the above will be re-considered as either being "fix me" (warning still displayed) or "warning is wrong."
|
| 1.16 | 14-Apr-2009 |
lukem | branches: 1.16.46; Enable WARNS=4 by default for usr.bin, except for: awk bdes checknr compile_et error gss hxtool kgetcred kinit klist ldd less lex locale login m4 man menuc mk_cmds mklocale msgc openssl rpcgen rpcinfo sdiff spell ssh string2key telnet tn3270 verify_krb5_conf xlint
|
| 1.15 | 05-Jan-2009 |
tnozaki | branches: 1.15.2; 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script.
2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems.
3. fix build breakage when CITRUS=no was set.
|
| 1.14 | 02-Jan-2009 |
tnozaki | add some *.c specific CPPFLAGS.
|
| 1.13 | 02-Jan-2009 |
tnozaki | 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself.
2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.12 | 02-Jan-2009 |
tnozaki | 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.
|
| 1.11 | 01-Aug-2003 |
lukem | branches: 1.11.40; Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES. This is a change of behaviour. If a Makefile wants the clean semantics it must specifically append to CLEANFILES. Resolves PR toolchain/5204.
* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS that have a suffix of: .c .m .s .S .C .cc .cpp .cxx
* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES
* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}
* Deprecate the (short lived) DEPENDSRCS
Update the various Makefiles to these new semantics; generally either adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing specific .o dependencies with DPSRCS entries.
Tested with "make -j 8 distribution" and "make distribution".
|
| 1.10 | 18-May-2003 |
lukem | Now that <bsd.prog.mk> DTRT if HOSTPROG is defined (i.e, it is a no-op), there's no need to special-case .include-ing it.
|
| 1.9 | 10-Mar-2003 |
tshiozak | some changes around mklocale: - clean up cpp directives. - stop including rune.h from mklocale. - stop using _BSD_RUNE_T macro. instead, use int32_t directly in runetype.h. - move _DEFAULT_INVALID_RUNE to runetype.h. These were for historical reason on porting rune from FreeBSD, but it seems that these are no longer reasonable but troublesome under the current NetBSD build system. additionally: - runetype.h -> locale/runetype.h in mklocale, because this might conflict to FreeBSD's one.
|
| 1.8 | 18-Sep-2002 |
lukem | makefile delint. use NETBSDSRCDIR as appropriate
|
| 1.7 | 12-Nov-2001 |
tv | branches: 1.7.2; Clean up. Use -I., not -I${.OBJDIR}. Don't have to clean up y.tab.h.
|
| 1.6 | 14-Aug-2001 |
tv | Add hooks to allow toolchain bits to be reachover-built at the top level.
|
| 1.5 | 28-Jan-2001 |
thorpej | Make this build with WARNS=2.
|
| 1.4 | 11-Jan-2001 |
enami | Make yacc.h before making lex.o.
|
| 1.3 | 22-Dec-2000 |
itojun | remove unnecessary -I to cpp
|
| 1.2 | 22-Dec-2000 |
itojun | populate citrus xpg4dl locale definitions into /usr/share. if there are any mistakes, please report (i only speak English/Japanese). currently, only singlebyte locales are usable.
TODO: enable multibyte handler in libc - there still are few design discussions, but we are almost ready.
|
| 1.1 | 28-May-2000 |
minoura | branches: 1.1.2; file Makefile was initially added on branch minoura-xpg4dl.
|
| 1.1.2.1 | 28-May-2000 |
minoura | Citrus Project XPG4DL, an implementation of I18N (locale) framework, is imported.
|
| 1.7.2.1 | 23-Jul-2004 |
tron | Apply patch (request by dbj in ticket 1723): Fix building the netbsd-1-6 branch under Darwin/MacOS.
|
| 1.11.40.4 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): lib/libc/locale/fix_grouping.c: revision 1.3 lib/libc/locale/iswctype_sb.c: revision 1.7 lib/libc/locale/rune.h: revision 1.14 lib/libc/locale/runetype.h: file removal lib/libc/locale/runetype_local.h: revision 1.1 lib/libc/stdio/fparseln.c: revision 1.8 lib/libc/string/wcscmp.c: revision 1.7 lib/libc/string/wcsncmp.c: revision 1.7 lib/libc/string/wmemcmp.c: revision 1.5 tools/compat/configure: regen tools/compat/configure.ac: revision 1.68 tools/compat/nbtool_config.h.in: regen usr.bin/mklocale/Makefile: revision 1.15 usr.bin/mklocale/lex.l: revision 1.16 usr.bin/mklocale/yacc.y: revision 1.27 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script. 2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems. 3. fix build breakage when CITRUS=no was set.
|
| 1.11.40.3 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): usr.bin/mklocale/Makefile: revision 1.14 add some *.c specific CPPFLAGS.
|
| 1.11.40.2 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): usr.bin/mklocale/Makefile: revision 1.13 usr.bin/mklocale/lex.l: revision 1.15 usr.bin/mklocale/yacc.y: revision 1.26 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself. 2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.11.40.1 | 15-Jan-2009 |
snj | 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.
|
| 1.15.2.1 | 13-May-2009 |
jym | Sync with HEAD.
Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
|
| 1.16.46.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.8 | 22-May-2010 |
tnozaki | rework bulid breakage problem on linux.
ldef.h: s/1<<8/_CTYPE_CACHE_SIZE/ ctype_local.h: use limits.h instead of machine/limits.h runetype_local.h: don't use HAVE_NBTOOL_CONFIG as evil way.
|
| 1.7 | 22-May-2010 |
tnozaki | yacc.y: s/_CTYPE_NUM_CHARS/_CTYPE_CACHED_SIZE/ ldef.h: remove redundant include, ctype_local.h is already included by runetype_local.h.
|
| 1.6 | 22-May-2010 |
tnozaki | include ctype_local.h
|
| 1.5 | 22-May-2010 |
tnozaki | 1. hide _CTYPE_PRIVATE section in ctype.h, move them to private header ctype_local.h. 2. do not use _CTYPE_NUM_CHARS macro to read data from LC_CTYPE(old BSDCTYPE style) database. because 1<<CHAR_BIT is MD, so i added MI macro _CTYPE_CACHE_SIZE(1<<8). 3. remove _NB_CACHED_RUNE macro, use _CTYPE_CACHE_SIZE instead.
|
| 1.4 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
|
| 1.3 | 11-Mar-2003 |
tshiozak | changes for cross build on FreeBSD box. - rename some macros and types defined in runetype.h. - move declarations of some global symbols to rune.h from runetype.h. - make sure the target sources use rune.h and mklocale use runetype.h. I tested them on FreeBSD-4.6.2 box (./build.sh -m i386 tools).
|
| 1.2 | 22-Dec-2000 |
itojun | branches: 1.2.2; populate citrus xpg4dl locale definitions into /usr/share. if there are any mistakes, please report (i only speak English/Japanese). currently, only singlebyte locales are usable.
TODO: enable multibyte handler in libc - there still are few design discussions, but we are almost ready.
|
| 1.1 | 28-May-2000 |
minoura | branches: 1.1.2; file ldef.h was initially added on branch minoura-xpg4dl.
|
| 1.1.2.1 | 28-May-2000 |
minoura | Citrus Project XPG4DL, an implementation of I18N (locale) framework, is imported.
|
| 1.2.2.1 | 23-Jul-2004 |
tron | Apply patch (request by dbj in ticket 1723): Fix building the netbsd-1-6 branch under Darwin/MacOS.
|
| 1.20 | 03-Sep-2016 |
dholland | __dead should come first; also remove more K&Risms.
|
| 1.19 | 03-Sep-2016 |
sevan | Remove K&R __P macros. Remove main() function prototype if present. Mark usage() as __dead if not already. Binaries generated with & without these patches were compared with diff -r.
|
| 1.18 | 13-Jun-2010 |
tnozaki | 1. split runetype_local.h -> runetype_file.h and remove renameing _Rune* -> _NBRune* namespace protection.
FreeBSD traditionaly exposes struct _Rune* in runetype.h which included by ctype.h. it may cause conflicting type error in our cross build process, former we use renaming namespace to avoid this problem, now i reworked more resonable way.
2. merge rune_local.h to runetype_local.h, and remove it. 3. split bsdctype.h -> bsdctype_{file,local}.h
|
| 1.17 | 12-Jun-2010 |
tnozaki | use _FileRune* instead of _Rune*.
|
| 1.16 | 05-Jan-2009 |
tnozaki | 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script.
2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems.
3. fix build breakage when CITRUS=no was set.
|
| 1.15 | 02-Jan-2009 |
tnozaki | 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself.
2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.14 | 02-Jan-2009 |
tnozaki | 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.
|
| 1.13 | 27-Oct-2003 |
lukem | branches: 1.13.40; Overhaul how `build.sh tools' are used:
* Rename "config.h" to "nbtool_config.h" and HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H. This makes in more obvious in the source when we're using tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before <sys/cdefs.h> so that the former can provide __RCSID() (et al), and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding: #if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" #endif to the top of the source files (for the general case).
|
| 1.12 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
|
| 1.11 | 21-Apr-2003 |
bjh21 | This is a host tool, so check if __RCSID is defined before using it.
|
| 1.10 | 21-Apr-2003 |
christos | enable RCSID..
|
| 1.9 | 06-Apr-2003 |
tshiozak | - support for the additional code area of zh_CN.GB18030 locale, - make sure that __nbrune_t is unsigned 32bit clean and - fix wrong copyright notice in the last commit. this patch is contributed by Takehiko NOZAKI <sigsegv at s25 dot xrea dot com>.
|
| 1.8 | 10-Mar-2003 |
tshiozak | rename _CTYPE_x to _RUNETYPE_x for avoiding compile error on FreeBSD.
|
| 1.7 | 10-Mar-2003 |
tshiozak | some changes around mklocale: - clean up cpp directives. - stop including rune.h from mklocale. - stop using _BSD_RUNE_T macro. instead, use int32_t directly in runetype.h. - move _DEFAULT_INVALID_RUNE to runetype.h. These were for historical reason on porting rune from FreeBSD, but it seems that these are no longer reasonable but troublesome under the current NetBSD build system. additionally: - runetype.h -> locale/runetype.h in mklocale, because this might conflict to FreeBSD's one.
|
| 1.6 | 03-Mar-2003 |
tshiozak | use UINT32_C and PRIu32 macros instead of 0x...U and %u.
|
| 1.5 | 27-Jan-2003 |
uwe | On FreeBSD host define _DONT_USE_CTYPE_INLINE_ before including ctype.h. We pull in our _RuneLocale, while the inlines are for the host _RuneLocale.
|
| 1.4 | 29-Jan-2002 |
tv | branches: 1.4.2; Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
| 1.3 | 22-Dec-2000 |
itojun | cleanup #if around __RCS
|
| 1.2 | 22-Dec-2000 |
itojun | populate citrus xpg4dl locale definitions into /usr/share. if there are any mistakes, please report (i only speak English/Japanese). currently, only singlebyte locales are usable.
TODO: enable multibyte handler in libc - there still are few design discussions, but we are almost ready.
|
| 1.1 | 28-May-2000 |
minoura | branches: 1.1.2; file lex.l was initially added on branch minoura-xpg4dl.
|
| 1.1.2.2 | 23-Jun-2000 |
minoura | Import of most recent XPG4DL dated 2000.06.23.
|
| 1.1.2.1 | 28-May-2000 |
minoura | Citrus Project XPG4DL, an implementation of I18N (locale) framework, is imported.
|
| 1.4.2.1 | 23-Jul-2004 |
tron | Apply patch (request by dbj in ticket 1723): Fix building the netbsd-1-6 branch under Darwin/MacOS.
|
| 1.13.40.3 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): lib/libc/locale/fix_grouping.c: revision 1.3 lib/libc/locale/iswctype_sb.c: revision 1.7 lib/libc/locale/rune.h: revision 1.14 lib/libc/locale/runetype.h: file removal lib/libc/locale/runetype_local.h: revision 1.1 lib/libc/stdio/fparseln.c: revision 1.8 lib/libc/string/wcscmp.c: revision 1.7 lib/libc/string/wcsncmp.c: revision 1.7 lib/libc/string/wmemcmp.c: revision 1.5 tools/compat/configure: regen tools/compat/configure.ac: revision 1.68 tools/compat/nbtool_config.h.in: regen usr.bin/mklocale/Makefile: revision 1.15 usr.bin/mklocale/lex.l: revision 1.16 usr.bin/mklocale/yacc.y: revision 1.27 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script. 2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems. 3. fix build breakage when CITRUS=no was set.
|
| 1.13.40.2 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): usr.bin/mklocale/Makefile: revision 1.13 usr.bin/mklocale/lex.l: revision 1.15 usr.bin/mklocale/yacc.y: revision 1.26 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself. 2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.13.40.1 | 15-Jan-2009 |
snj | 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.
|
| 1.19 | 05-Jan-2024 |
rin | mklocale(1): Add range check for TODIGIT, rather than disabling it
PR lib/57798
Digit value specified by TODIGIT is storaged as lowest 8 bits of _RuneType, see lib/libc/locale/runetype_file.h:
https://nxr.netbsd.org/xref/src/lib/libc/locale/runetype_file.h#56
The symptom reported in the PR is due to missing range check for this value; values of 256 and above were mistakenly treated as other flag bits in _RuneType.
For example, U+5146 has numerical value 1000,000,000,000 == 0xe8d4a51000 where __BITS(30, 31) == _RUNETYPE_SW3 are turned on. This is why wcwidth(3) returned 3 for this character.
This apparently affected not only character width, but also other attributes storaged in _RuneType.
IIUC, digit value attributes in _RuneType have never been utilized until now, but preserve these if digit fits within (0, 256). This should be safer for pulling this up into netbsd-10. Also, these attributes may be useful to implement some I18N features as suggested by uwe@ in the PR.
netbsd-[98] is not affected as these use old UTF-8 ctype definitions.
|
| 1.18 | 28-Dec-2023 |
rin | mklocale: XXX: Neglect TODIGIT at the moment
PR lib/57798
It was implemented with an assumption that all digit characters can be mapped to numerical values <= 255.
This is no longer true for Unicode, and results in, e.g., wrong return values of wcwidth(3) for U+5146 or U+16B60.
As a workaround, neglect TODIGIT for now, as done for OpenBSD: https://github.com/OpenBSD/src/commit/4efe9bdeb34
XXX At least netbsd-10 should be fixed, but it requires some tests.
|
| 1.17 | 03-Jul-2017 |
wiz | branches: 1.17.16; Remove workaround for ancient HTML generation code.
|
| 1.16 | 15-Jul-2013 |
joerg | Fix description of hex encoding.
|
| 1.15 | 14-May-2010 |
joerg | branches: 1.15.6; 1.15.12; Escape punctuation. Use logical markup for indentation.
|
| 1.14 | 02-Jan-2009 |
wiz | Document new -t flag, bump date.
|
| 1.13 | 24-Jan-2004 |
wiz | branches: 1.13.40; Some fixes from jmc@openbsd.
|
| 1.12 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
|
| 1.11 | 01-May-2003 |
wiz | Comment out another euc(4) reference. Prefer mdoc to man plain roff. Use \*[Lt] and \*[Gt] instead of < and > for HTML output, but prefer .Aq if possible. "a, b, and c" instead of "a, b and c".
|
| 1.10 | 01-May-2003 |
gmcgarry | Remove references to non-existent pages. Addresses PR#12544.
|
| 1.9 | 22-Dec-2002 |
wiz | Debugging is usually spelled with three gs.
|
| 1.8 | 30-Sep-2002 |
grant | New sentence, new line.
|
| 1.7 | 08-Feb-2002 |
ross | Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
|
| 1.6 | 01-Dec-2001 |
wiz | Sort sections.
|
| 1.5 | 04-Apr-2001 |
wiz | Comment out colldef xref.
|
| 1.4 | 04-Apr-2001 |
wiz | Remove references to rune(3), mbrune(3), and utf2(4). Fix some markup, and remove a sentence. OK'd by soda.
|
| 1.3 | 23-Dec-2000 |
itojun | noted that we should switch to localedef.
|
| 1.2 | 22-Dec-2000 |
itojun | populate citrus xpg4dl locale definitions into /usr/share. if there are any mistakes, please report (i only speak English/Japanese). currently, only singlebyte locales are usable.
TODO: enable multibyte handler in libc - there still are few design discussions, but we are almost ready.
|
| 1.1 | 28-May-2000 |
minoura | branches: 1.1.2; file mklocale.1 was initially added on branch minoura-xpg4dl.
|
| 1.1.2.2 | 23-Jun-2000 |
minoura | Import of most recent XPG4DL dated 2000.06.23.
|
| 1.1.2.1 | 28-May-2000 |
minoura | Citrus Project XPG4DL, an implementation of I18N (locale) framework, is imported.
|
| 1.13.40.1 | 16-Jan-2009 |
snj | Pull up following revision(s) (requested by wiz in ticket #225): usr.bin/mklocale/mklocale.1: revision 1.14 Document new -t flag, bump date.
|
| 1.15.12.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.15.6.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.17.16.1 | 14-Jan-2024 |
martin | Pull up following revision(s) (requested by rin in ticket #538):
usr.bin/mklocale/yacc.y: revision 1.35 usr.bin/mklocale/yacc.y: revision 1.36 usr.bin/mklocale/mklocale.1: revision 1.18 usr.bin/mklocale/mklocale.1: revision 1.19
mklocale: XXX: Neglect TODIGIT at the moment PR lib/57798
It was implemented with an assumption that all digit characters can be mapped to numerical values <= 255. This is no longer true for Unicode, and results in, e.g., wrong return values of wcwidth(3) for U+5146 or U+16B60.
As a workaround, neglect TODIGIT for now, as done for OpenBSD: https://github.com/OpenBSD/src/commit/4efe9bdeb34 XXX
At least netbsd-10 should be fixed, but it requires some tests.
mklocale(1): Add range check for TODIGIT, rather than disabling it PR lib/57798
Digit value specified by TODIGIT is storaged as lowest 8 bits of _RuneType, see lib/libc/locale/runetype_file.h: https://nxr.netbsd.org/xref/src/lib/libc/locale/runetype_file.h#56
The symptom reported in the PR is due to missing range check for this value; values of 256 and above were mistakenly treated as other flag bits in _RuneType.
For example, U+5146 has numerical value 1000,000,000,000 == 0xe8d4a51000 where __BITS(30, 31) == _RUNETYPE_SW3 are turned on.
This is why wcwidth(3) returned 3 for this character.
This apparently affected not only character width, but also other attributes storaged in _RuneType.
IIUC, digit value attributes in _RuneType have never been utilized until now, but preserve these if digit fits within (0, 256). This should be safer for pulling this up into netbsd-10. Also, these attributes may be useful to implement some I18N features as suggested by uwe@ in the PR.
netbsd-[98] is not affected as these use old UTF-8 ctype definitions.
|
| 1.4 | 16-Jun-2015 |
christos | fix some error handling.
|
| 1.3 | 04-Jul-2013 |
joerg | Swap order of _CITRUS_LC_MONETARY_SYM_INT_N_CS_PRECEDES and _CITRUS_LC_MONETARY_SYM_INT_P_SEP_BY_SPACE to match data files.
|
| 1.2 | 05-Jan-2009 |
dogcow | branches: 1.2.2; 1.2.10; 1.2.12; 1.2.16; move nbtool_config.h include to the top.
|
| 1.1 | 02-Jan-2009 |
tnozaki | 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.
|
| 1.2.16.1 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.2.12.1 | 29-Jul-2013 |
msaitoh | Pull up following revision(s) (requested by joerg in ticket #914): usr.bin/mklocale/mklocaledb.c: revision 1.3 Swap order of _CITRUS_LC_MONETARY_SYM_INT_N_CS_PRECEDES and _CITRUS_LC_MONETARY_SYM_INT_P_SEP_BY_SPACE to match data files.
|
| 1.2.10.1 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
| 1.2.2.4 | 30-Jul-2013 |
msaitoh | Pull up following revision(s) (requested by joerg in ticket #1869): usr.bin/mklocale/mklocaledb.c: revision 1.3 Swap order of _CITRUS_LC_MONETARY_SYM_INT_N_CS_PRECEDES and _CITRUS_LC_MONETARY_SYM_INT_P_SEP_BY_SPACE to match data files.
|
| 1.2.2.3 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): usr.bin/mklocale/mklocaledb.c: revision 1.2 move nbtool_config.h include to the top.
|
| 1.2.2.2 | 15-Jan-2009 |
snj | 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.
|
| 1.2.2.1 | 05-Jan-2009 |
snj | file mklocaledb.c was added on branch netbsd-5 on 2009-01-15 03:24:11 +0000
|
| 1.36 | 05-Jan-2024 |
rin | mklocale(1): Add range check for TODIGIT, rather than disabling it
PR lib/57798
Digit value specified by TODIGIT is storaged as lowest 8 bits of _RuneType, see lib/libc/locale/runetype_file.h:
https://nxr.netbsd.org/xref/src/lib/libc/locale/runetype_file.h#56
The symptom reported in the PR is due to missing range check for this value; values of 256 and above were mistakenly treated as other flag bits in _RuneType.
For example, U+5146 has numerical value 1000,000,000,000 == 0xe8d4a51000 where __BITS(30, 31) == _RUNETYPE_SW3 are turned on. This is why wcwidth(3) returned 3 for this character.
This apparently affected not only character width, but also other attributes storaged in _RuneType.
IIUC, digit value attributes in _RuneType have never been utilized until now, but preserve these if digit fits within (0, 256). This should be safer for pulling this up into netbsd-10. Also, these attributes may be useful to implement some I18N features as suggested by uwe@ in the PR.
netbsd-[98] is not affected as these use old UTF-8 ctype definitions.
|
| 1.35 | 28-Dec-2023 |
rin | mklocale: XXX: Neglect TODIGIT at the moment
PR lib/57798
It was implemented with an assumption that all digit characters can be mapped to numerical values <= 255.
This is no longer true for Unicode, and results in, e.g., wrong return values of wcwidth(3) for U+5146 or U+16B60.
As a workaround, neglect TODIGIT for now, as done for OpenBSD: https://github.com/OpenBSD/src/commit/4efe9bdeb34
XXX At least netbsd-10 should be fixed, but it requires some tests.
|
| 1.34 | 13-Oct-2019 |
christos | branches: 1.34.8; use strlcpy instead of strncpy.
|
| 1.33 | 03-Sep-2016 |
dholland | branches: 1.33.14; __dead should come first; also remove more K&Risms.
|
| 1.32 | 03-Sep-2016 |
sevan | Remove K&R __P macros. Remove main() function prototype if present. Mark usage() as __dead if not already. Binaries generated with & without these patches were compared with diff -r.
|
| 1.31 | 13-Jun-2010 |
tnozaki | 1. split runetype_local.h -> runetype_file.h and remove renameing _Rune* -> _NBRune* namespace protection.
FreeBSD traditionaly exposes struct _Rune* in runetype.h which included by ctype.h. it may cause conflicting type error in our cross build process, former we use renaming namespace to avoid this problem, now i reworked more resonable way.
2. merge rune_local.h to runetype_local.h, and remove it. 3. split bsdctype.h -> bsdctype_{file,local}.h
|
| 1.30 | 12-Jun-2010 |
tnozaki | use _FileRune* instead of _Rune*.
|
| 1.29 | 22-May-2010 |
tnozaki | yacc.y: s/_CTYPE_NUM_CHARS/_CTYPE_CACHED_SIZE/ ldef.h: remove redundant include, ctype_local.h is already included by runetype_local.h.
|
| 1.28 | 22-May-2010 |
tnozaki | 1. hide _CTYPE_PRIVATE section in ctype.h, move them to private header ctype_local.h. 2. do not use _CTYPE_NUM_CHARS macro to read data from LC_CTYPE(old BSDCTYPE style) database. because 1<<CHAR_BIT is MD, so i added MI macro _CTYPE_CACHE_SIZE(1<<8). 3. remove _NB_CACHED_RUNE macro, use _CTYPE_CACHE_SIZE instead.
|
| 1.27 | 05-Jan-2009 |
tnozaki | 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script.
2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems.
3. fix build breakage when CITRUS=no was set.
|
| 1.26 | 02-Jan-2009 |
tnozaki | 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself.
2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.25 | 02-Jan-2009 |
tnozaki | 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.
|
| 1.24 | 05-Jan-2004 |
jmmv | branches: 1.24.40; Homogenize usage messages: make the 'usage' word all lowercase, as this seems to be the most common practice in our tree.
|
| 1.23 | 27-Oct-2003 |
lukem | Overhaul how `build.sh tools' are used:
* Rename "config.h" to "nbtool_config.h" and HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H. This makes in more obvious in the source when we're using tools/compat/config.h versus "standard autoconf" config.h
* Consistently move the inclusion of nbtool_config.h to before <sys/cdefs.h> so that the former can provide __RCSID() (et al), and there's no need to protect those macros any more.
These changes should make it easier to "tool-ify" a program by adding: #if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" #endif to the top of the source files (for the general case).
|
| 1.22 | 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22365, verified by myself.
|
| 1.21 | 14-Jul-2003 |
itojun | strdup is easier
|
| 1.20 | 12-May-2003 |
tshiozak | zero-clear the file structures, to fixate paddings. this change solves the illness pointed out by Nino Dehne in tech-userlevel list.
|
| 1.19 | 21-Apr-2003 |
bjh21 | This is a host tool, so check if __RCSID is defined before using it.
|
| 1.18 | 21-Apr-2003 |
christos | enable RCSID..
|
| 1.17 | 11-Mar-2003 |
tshiozak | changes for cross build on FreeBSD box. - rename some macros and types defined in runetype.h. - move declarations of some global symbols to rune.h from runetype.h. - make sure the target sources use rune.h and mklocale use runetype.h. I tested them on FreeBSD-4.6.2 box (./build.sh -m i386 tools).
|
| 1.16 | 10-Mar-2003 |
tshiozak | rename _CTYPE_x to _RUNETYPE_x for avoiding compile error on FreeBSD.
|
| 1.15 | 10-Mar-2003 |
tshiozak | some changes around mklocale: - clean up cpp directives. - stop including rune.h from mklocale. - stop using _BSD_RUNE_T macro. instead, use int32_t directly in runetype.h. - move _DEFAULT_INVALID_RUNE to runetype.h. These were for historical reason on porting rune from FreeBSD, but it seems that these are no longer reasonable but troublesome under the current NetBSD build system. additionally: - runetype.h -> locale/runetype.h in mklocale, because this might conflict to FreeBSD's one.
|
| 1.14 | 10-Mar-2003 |
tshiozak | revoke using PRIu32 macro and add fallback for UINT32_C macro, because these do not exist on rather older systems. XXX: I wonder someone will add them to tools/compat.
|
| 1.13 | 03-Mar-2003 |
tshiozak | use UINT32_C and PRIu32 macros instead of 0x...U and %u.
|
| 1.12 | 03-Mar-2003 |
tshiozak | sync with the last change of runetype.h; %ld -> %u.
|
| 1.11 | 27-Jan-2003 |
uwe | On FreeBSD host define _DONT_USE_CTYPE_INLINE_ before including ctype.h. We pull in our _RuneLocale, while the inlines are for the host _RuneLocale.
|
| 1.10 | 26-Apr-2002 |
bjh21 | branches: 1.10.2; Include <arpa/inet.h> for ntohl and htonl on POSIX systems. Also include its prerequisites for compiling on older NetBSD versions.
|
| 1.9 | 17-Mar-2002 |
tshiozak | refine i18n stuffs. - add libc/citrus directory. this directory contains the common stuffs not only for locale but also other facilities relating to i18n (e.g. iconv). - To keep the binary compatibility for the ctype modules easily, the interface between libc and the modules is simplified. - For the future integrated extension, module pool is renamed from "/usr/lib/runemodule" to "/usr/lib/i18n". In the future, this directory will contain the modules for "iconv", "collation", etc. - some cosmetic changes. - Bug fix for runetype.h; __attribute__((__packed__)) is placed at the wrong position and it is invalid unintentionally. But, the all members of the structures seem well-aligned. Thus, this bug causes no problem, hopefully.
HEADS UP: - /usr/lib/rumemodule is obsoleted. If you use the multibyte locales, you need to install /usr/lib/i18n/* from sys/lib/i18n_module . - The binary compatibility of /usr/share/locale/*/LC_CTYPE is probably kept. Perhaps, the bug fix about __packed__ mentioned above breaks the compatibility... Be careful especially on 64bit platforms.
|
| 1.8 | 31-Jan-2002 |
tv | Roll in fixes to permit cross-compiling from non-NetBSD hosts. This round has been tested on Solaris/x86 and Linux hosts.
* Add host tools cap_mkdb, ctags, m4, uudecode. * Protect __RCSID() and __COPYRIGHT() better. * Reduce the number of places that need to include "config.h", to keep sources closer to their "vanilla" versions. * Add more compat #defines and autoconf-checked functions.
|
| 1.7 | 29-Jan-2002 |
tv | Make almost all tools compile and run properly on non-NetBSD hosts. (In particular, most tools now run correctly on Solaris 7.)
|
| 1.6 | 20-Oct-2001 |
jmc | Convert default invalid to to use the #define now available in rune.h
|
| 1.5 | 28-Jan-2001 |
thorpej | If the new locale's variable data is length 0, don't bother trying to write it. fwrite(3) is a noop in that case anyway, and the error detection logic here was screwing up on the 0 return from fwrite(3) (that return value is mandated by SUSv2 for size or count of 0).
While here, improve the error messgages given to the user.
|
| 1.4 | 28-Jan-2001 |
thorpej | Make this build with WARNS=2.
|
| 1.3 | 22-Dec-2000 |
itojun | cleanup #if around __RCS
|
| 1.2 | 22-Dec-2000 |
itojun | populate citrus xpg4dl locale definitions into /usr/share. if there are any mistakes, please report (i only speak English/Japanese). currently, only singlebyte locales are usable.
TODO: enable multibyte handler in libc - there still are few design discussions, but we are almost ready.
|
| 1.1 | 28-May-2000 |
minoura | branches: 1.1.2; file yacc.y was initially added on branch minoura-xpg4dl.
|
| 1.1.2.2 | 23-Jun-2000 |
minoura | Import of most recent XPG4DL dated 2000.06.23.
|
| 1.1.2.1 | 28-May-2000 |
minoura | Citrus Project XPG4DL, an implementation of I18N (locale) framework, is imported.
|
| 1.10.2.1 | 23-Jul-2004 |
tron | Apply patch (request by dbj in ticket 1723): Fix building the netbsd-1-6 branch under Darwin/MacOS.
|
| 1.24.40.3 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): lib/libc/locale/fix_grouping.c: revision 1.3 lib/libc/locale/iswctype_sb.c: revision 1.7 lib/libc/locale/rune.h: revision 1.14 lib/libc/locale/runetype.h: file removal lib/libc/locale/runetype_local.h: revision 1.1 lib/libc/stdio/fparseln.c: revision 1.8 lib/libc/string/wcscmp.c: revision 1.7 lib/libc/string/wcsncmp.c: revision 1.7 lib/libc/string/wmemcmp.c: revision 1.5 tools/compat/configure: regen tools/compat/configure.ac: revision 1.68 tools/compat/nbtool_config.h.in: regen usr.bin/mklocale/Makefile: revision 1.15 usr.bin/mklocale/lex.l: revision 1.16 usr.bin/mklocale/yacc.y: revision 1.27 1. reworking PR lib/40317: libnbcompat already contains empty fparseln.lo so previous fix doesn't work correctly. i've just added broken fparseln check to configure script. 2. reworking cross build breakage under FreeBSD/MacOS X. FreeBSD/MacOS X still have public /usr/include/runetype.h derived from 4.4BSD-Lite. so i renamed out private header from src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h to solve this problems. 3. fix build breakage when CITRUS=no was set.
|
| 1.24.40.2 | 15-Jan-2009 |
snj | Pull up following revision(s) (requested by jmcneill in ticket #270): usr.bin/mklocale/Makefile: revision 1.13 usr.bin/mklocale/lex.l: revision 1.15 usr.bin/mklocale/yacc.y: revision 1.26 1. fixes PR lib/40317, don't use libc's fparseln(3). it is non-portable function, toolchain should link it yourself. 2. fixes crossbuild breakage reported by Chiristoph Egger on current-user, FreeBSD and MacOS X still make Rune* as public API in their ctype.h. so added namespace protection NB* by including src/lib/libc/locale/rune.h instead of src/lib/libc/locale/runetype.h.
|
| 1.24.40.1 | 15-Jan-2009 |
snj | 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.
|
| 1.33.14.1 | 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
| 1.34.8.1 | 14-Jan-2024 |
martin | Pull up following revision(s) (requested by rin in ticket #538):
usr.bin/mklocale/yacc.y: revision 1.35 usr.bin/mklocale/yacc.y: revision 1.36 usr.bin/mklocale/mklocale.1: revision 1.18 usr.bin/mklocale/mklocale.1: revision 1.19
mklocale: XXX: Neglect TODIGIT at the moment PR lib/57798
It was implemented with an assumption that all digit characters can be mapped to numerical values <= 255. This is no longer true for Unicode, and results in, e.g., wrong return values of wcwidth(3) for U+5146 or U+16B60.
As a workaround, neglect TODIGIT for now, as done for OpenBSD: https://github.com/OpenBSD/src/commit/4efe9bdeb34 XXX
At least netbsd-10 should be fixed, but it requires some tests.
mklocale(1): Add range check for TODIGIT, rather than disabling it PR lib/57798
Digit value specified by TODIGIT is storaged as lowest 8 bits of _RuneType, see lib/libc/locale/runetype_file.h: https://nxr.netbsd.org/xref/src/lib/libc/locale/runetype_file.h#56
The symptom reported in the PR is due to missing range check for this value; values of 256 and above were mistakenly treated as other flag bits in _RuneType.
For example, U+5146 has numerical value 1000,000,000,000 == 0xe8d4a51000 where __BITS(30, 31) == _RUNETYPE_SW3 are turned on.
This is why wcwidth(3) returned 3 for this character.
This apparently affected not only character width, but also other attributes storaged in _RuneType.
IIUC, digit value attributes in _RuneType have never been utilized until now, but preserve these if digit fits within (0, 256). This should be safer for pulling this up into netbsd-10. Also, these attributes may be useful to implement some I18N features as suggested by uwe@ in the PR.
netbsd-[98] is not affected as these use old UTF-8 ctype definitions.
|