Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/perseant-stdc-iso10646]: src Initial commit of a mostly-working implemen...



details:   https://anonhg.NetBSD.org/src/rev/b6e415f3f26e
branches:  perseant-stdc-iso10646
changeset: 850623:b6e415f3f26e
user:      perseant <perseant%NetBSD.org@localhost>
date:      Fri Jul 14 15:53:07 2017 +0000

description:
Initial commit of a mostly-working implementation of __STDC_ISO_10646__,
with collation support using the Unicode Collation Algorithm.

The conversion from men/ku/ten form to Unicode is a gross hack at present.
Fixing this, and fleshing out the LC_COLLATE locale component, are next
on the agenda.

diffstat:

 bin/csh/extern.h                                         |     341 -
 bin/csh/time.c                                           |     285 -
 distrib/pmax/ramdisk/Makefile                            |      39 -
 distrib/sets/lists/tests/mi                              |    4325 -
 distrib/sparc64/xminiroot/Makefile                       |      47 -
 doc/3RDPARTY                                             |    1728 -
 doc/BRANCHES                                             |    2143 -
 doc/BUILDING.mdoc                                        |    2147 -
 doc/CHANGES                                              |      46 -
 doc/CHANGES.prev                                         |   12223 -
 doc/HACKS                                                |     949 -
 doc/LAST_MINUTE                                          |       7 -
 doc/Makefile                                             |       9 -
 doc/README.files                                         |      45 -
 doc/RESPONSIBLE                                          |     335 -
 doc/TODO                                                 |      61 -
 doc/TODO.8                                               |      10 -
 doc/TODO.clang                                           |      13 -
 doc/TODO.i18n                                            |     140 -
 doc/TODO.kqueue                                          |      43 -
 doc/TODO.modules                                         |     137 -
 doc/TODO.nits                                            |      31 -
 doc/TODO.ptrace                                          |      33 -
 doc/TODO.smpnet                                          |     147 -
 doc/roadmaps/desktop                                     |     346 -
 doc/roadmaps/mess                                        |     223 -
 doc/roadmaps/mobile                                      |     130 -
 doc/roadmaps/networking                                  |     135 -
 doc/roadmaps/people/christos                             |       6 -
 doc/roadmaps/people/kamil                                |       9 -
 doc/roadmaps/ports                                       |      84 -
 doc/roadmaps/security                                    |      82 -
 doc/roadmaps/storage                                     |     432 -
 doc/roadmaps/system                                      |      93 -
 doc/roadmaps/verification                                |     101 -
 doc/roadmaps/virtualization                              |      89 -
 external/gpl3/binutils/dist/bfd/elfxx-mips.c             |   16222 -
 external/gpl3/binutils/dist/gas/config/tc-mips.h         |     211 -
 external/gpl3/gcc/dist/gcc/config/mips/netbsd.h          |     231 -
 external/gpl3/gcc/dist/gcc/config/netbsd.h               |     205 -
 external/gpl3/gcc/dist/gcc/configure                     |   30091 -
 external/gpl3/gcc/dist/gcc/configure.ac                  |    5916 -
 external/gpl3/gcc/dist/gcc/varasm.c                      |    7759 -
 external/mit/xorg/server/xorg-server.old/hw/vfb/Makefile |     137 -
 extsrc/Makefile                                          |       7 -
 extsrc/Makefile.extsrc                                   |      77 -
 extsrc/external/Makefile                                 |       5 -
 include/wchar.h                                          |       5 +-
 lib/libc/citrus/Makefile.inc                             |       6 +-
 lib/libc/citrus/citrus_ctype.c                           |       6 +-
 lib/libc/citrus/citrus_iconv.c                           |       5 +-
 lib/libc/citrus/citrus_iconv.h                           |      17 +-
 lib/libc/citrus/citrus_iconv_local.h                     |      16 +-
 lib/libc/citrus/citrus_lc_collate.c                      |     106 +
 lib/libc/citrus/citrus_namespace.h                       |       4 +-
 lib/libc/citrus/citrus_none.c                            |      34 +-
 lib/libc/citrus/citrus_stdenc.h                          |      19 +-
 lib/libc/citrus/citrus_stdenc_local.h                    |      28 +-
 lib/libc/citrus/citrus_stdenc_template.h                 |       6 +-
 lib/libc/citrus/modules/citrus_big5.c                    |      12 +-
 lib/libc/citrus/modules/citrus_dechanyu.c                |      12 +-
 lib/libc/citrus/modules/citrus_euc.c                     |      24 +-
 lib/libc/citrus/modules/citrus_euctw.c                   |      12 +-
 lib/libc/citrus/modules/citrus_gbk2k.c                   |      18 +-
 lib/libc/citrus/modules/citrus_hz.c                      |      12 +-
 lib/libc/citrus/modules/citrus_iconv_none.c              |      12 +-
 lib/libc/citrus/modules/citrus_iconv_std.c               |      30 +-
 lib/libc/citrus/modules/citrus_iso2022.c                 |      12 +-
 lib/libc/citrus/modules/citrus_johab.c                   |      12 +-
 lib/libc/citrus/modules/citrus_mskanji.c                 |      24 +-
 lib/libc/citrus/modules/citrus_ues.c                     |      10 +-
 lib/libc/citrus/modules/citrus_utf1632.c                 |      18 +-
 lib/libc/citrus/modules/citrus_utf7.c                    |      12 +-
 lib/libc/citrus/modules/citrus_utf8.c                    |      12 +-
 lib/libc/citrus/modules/citrus_viqr.c                    |      12 +-
 lib/libc/citrus/modules/citrus_zw.c                      |      14 +-
 lib/libc/locale/Makefile.inc                             |      10 +-
 lib/libc/locale/_wcstod.h                                |      23 +-
 lib/libc/locale/_wctype.c                                |       9 +-
 lib/libc/locale/collate_local.h                          |      26 +
 lib/libc/locale/collate_locale.c                         |      77 +
 lib/libc/locale/global_locale.c                          |       8 +-
 lib/libc/locale/iswctype_mb.c                            |      38 +-
 lib/libc/locale/multibyte_amd1.c                         |      71 +-
 lib/libc/locale/multibyte_c90.c                          |      38 +-
 lib/libc/locale/rune.c                                   |      11 +-
 lib/libc/locale/rune_iso10646.c                          |     480 +
 lib/libc/locale/rune_iso10646.h                          |      44 +
 lib/libc/locale/runetable.c                              |       7 +-
 lib/libc/locale/runetype_local.h                         |       7 +-
 lib/libc/locale/setlocale.c                              |       6 +-
 lib/libc/locale/setlocale_local.h                        |       4 +-
 lib/libc/locale/u2k.h                                    |   35712 ++
 lib/libc/locale/unicode_ccc_data.h                       |     829 +
 lib/libc/locale/unicode_collate.c                        |     467 +
 lib/libc/locale/unicode_collate.h                        |      54 +
 lib/libc/locale/unicode_collation_data.h                 |   31309 +
 lib/libc/locale/unicode_decomp_data.h                    |   67579 ++++
 lib/libc/locale/unicode_lc_collate.c                     |      53 +
 lib/libc/locale/unicode_nfd_qc_data.h                    |   13235 +
 lib/libc/locale/unicode_reserved_cp_data.h               |     241 +
 lib/libc/locale/unicode_reserved_range_data.h            |     464 +
 lib/libc/locale/unicode_ucd.c                            |     484 +
 lib/libc/locale/unicode_ucd.h                            |      98 +
 lib/libc/locale/wcscoll.c                                |      10 +-
 lib/libc/locale/wcsxfrm.c                                |      24 +-
 lib/libpthread/arch/arm/pthread_md.h                     |      80 -
 share/mk/bsd.man.mk                                      |     310 -
 sys/arch/amd64/amd64/genassym.cf                         |     377 -
 sys/arch/amd64/amd64/vector.S                            |     974 -
 sys/arch/arm/arm/cpufunc_asm_arm11x6.S                   |     222 -
 sys/arch/arm/arm/cpufunc_asm_armv6.S                     |     148 -
 sys/arch/arm/sunxi/files.sunxi                           |     110 -
 sys/arch/arm/sunxi/sun8i_h3_ccu.c                        |     302 -
 sys/arch/arm/sunxi/sunxi_ccu.c                           |     344 -
 sys/arch/arm/sunxi/sunxi_ccu.h                           |     304 -
 sys/arch/arm/sunxi/sunxi_mmc.c                           |     857 -
 sys/arch/arm/sunxi/sunxi_mmc.h                           |     179 -
 sys/arch/emips/include/disklabel.h                       |       2 +-
 sys/arch/evbarm/conf/std.vexpress                        |      32 -
 sys/arch/i386/i386/genassym.cf                           |     424 -
 sys/arch/i386/i386/vector.S                              |    1107 -
 sys/arch/macppc/macppc/machdep.c                         |     478 -
 sys/arch/macppc/stand/bootxx/Makefile                    |      30 -
 sys/arch/mips/mips/trap.c                                |    1186 -
 sys/arch/mips/mips/vm_machdep.c                          |     425 -
 sys/arch/pmax/pmax/bus.c                                 |     356 -
 sys/arch/x68k/include/cdefs.h                            |       2 +-
 sys/arch/x68k/include/cpufunc.h                          |       2 +-
 sys/arch/x68k/include/ieeefp.h                           |       2 +-
 sys/arch/x68k/include/profile.h                          |       2 +-
 sys/arch/x68k/include/setjmp.h                           |       2 +-
 sys/arch/x86/include/cpu.h                               |     565 -
 sys/arch/x86/include/intr.h                              |     215 -
 sys/arch/x86/isa/isa_machdep.c                           |     377 -
 sys/arch/xen/conf/files.xen                              |     412 -
 sys/arch/xen/include/evtchn.h                            |      72 -
 sys/arch/xen/include/intr.h                              |     193 -
 sys/arch/xen/include/pci_machdep.h                       |      82 -
 sys/arch/xen/x86/intr.c                                  |     469 -
 sys/arch/xen/xen/evtchn.c                                |     867 -
 sys/arch/xen/xen/isa_machdep.c                           |     266 -
 sys/arch/xen/xen/pci_intr_machdep.c                      |     225 -
 sys/arch/xen/xen/pciback.c                               |     807 -
 sys/arch/xen/xen/pciide_machdep.c                        |     127 -
 sys/arch/xen/xen/xenevt.c                                |     647 -
 sys/conf/Makefile.kern.inc                               |     560 -
 sys/dev/ic/msm6258.c                                     |     394 -
 sys/dev/scsipi/scsipi_base.c                             |    2675 -
 sys/dev/sdmmc/ld_sdmmc.c                                 |     356 -
 sys/dev/sdmmc/sdmmc_mem.c                                |    2195 -
 sys/dev/sdmmc/sdmmcreg.h                                 |     418 -
 sys/dev/sdmmc/sdmmcvar.h                                 |     382 -
 sys/dev/usb/ualea.c                                      |     262 -
 sys/fs/union/union.h                                     |     184 -
 sys/fs/union/union_subr.c                                |    1229 -
 sys/netipsec/key.c                                       |    8243 -
 sys/netipsec/xform_ah.c                                  |    1290 -
 sys/opencrypto/crypto.c                                  |    1886 -
 sys/opencrypto/cryptodev.h                               |     668 -
 sys/sys/cdefs.h                                          |     649 -
 tests/bin/sh/t_arith.sh                                  |    1117 -
 tests/bin/sh/t_option.sh                                 |     676 -
 tests/lib/libc/c063/Makefile                             |      26 -
 tests/lib/libc/c063/t_faccessat.c                        |     186 -
 tests/lib/libc/c063/t_fchmodat.c                         |     198 -
 tests/lib/libc/c063/t_fchownat.c                         |     248 -
 tests/lib/libc/c063/t_fexecve.c                          |      95 -
 tests/lib/libc/c063/t_fstatat.c                          |     197 -
 tests/lib/libc/c063/t_linkat.c                           |     217 -
 tests/lib/libc/c063/t_mkdirat.c                          |     120 -
 tests/lib/libc/c063/t_mkfifoat.c                         |     120 -
 tests/lib/libc/c063/t_mknodat.c                          |     151 -
 tests/lib/libc/c063/t_o_search.c                         |     281 -
 tests/lib/libc/c063/t_openat.c                           |     166 -
 tests/lib/libc/c063/t_readlinkat.c                       |     158 -
 tests/lib/libc/c063/t_renameat.c                         |     152 -
 tests/lib/libc/c063/t_symlinkat.c                        |     150 -
 tests/lib/libc/c063/t_unlinkat.c                         |     177 -
 tests/lib/libc/c063/t_utimensat.c                        |     213 -
 tests/lib/libc/locale/Makefile                           |       3 +-
 tests/lib/libc/locale/ducet_test.h                       |  198061 ++++++++++++
 tests/lib/libc/locale/t_ducet.c                          |     142 +
 tests/lib/libc/locale/t_wcscoll.c                        |       4 +-
 tests/net/ipsec/Makefile                                 |      16 -
 tests/net/ipsec/t_ipsec_misc.sh                          |     805 -
 usr.bin/mkubootimage/mkubootimage.1                      |     169 -
 usr.bin/mkubootimage/mkubootimage.c                      |     461 -
 usr.bin/mkubootimage/uboot.h                             |      85 -
 usr.bin/systat/iostat.c                                  |     377 -
 usr.bin/systat/vmstat.c                                  |     852 -
 usr.bin/time/ext.h                                       |       5 -
 usr.bin/time/time.1                                      |     173 -
 usr.bin/time/time.c                                      |     209 -
 usr.sbin/inetd/inetd.8                                   |     650 -
 usr.sbin/installboot/arch/landisk.c                      |     249 -
 196 files changed, 349948 insertions(+), 131736 deletions(-)

diffs (truncated from 483605 to 300 lines):

diff -r bfad9195e916 -r b6e415f3f26e bin/csh/extern.h
--- a/bin/csh/extern.h  Fri Jul 14 14:57:43 2017 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,341 +0,0 @@
-/* $NetBSD: extern.h,v 1.29 2013/07/16 17:47:43 christos Exp $ */
-
-/*-
- * Copyright (c) 1991, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)extern.h    8.1 (Berkeley) 5/31/93
- */
-
-#ifndef _EXTERN_H_
-#define _EXTERN_H_
-
-#include <sys/cdefs.h>
-
-/*
- * csh.c
- */
-int gethdir(Char *);
-void dosource(Char **, struct command *);
-__dead void exitstat(void);
-__dead void goodbye(void);
-void importpath(Char *);
-void initdesc(void);
-__dead void pintr(int);
-__dead void pintr1(int);
-void printprompt(void);
-#ifdef EDIT
-char *printpromptstr(EditLine *);
-#endif
-void process(int);
-void rechist(void);
-void untty(void);
-int vis_fputc(int, FILE *);
-
-#ifdef PROF
-__dead void done(int);
-#else
-__dead void xexit(int);
-#endif
-
-/*
- * dir.c
- */
-void dinit(Char *);
-void dodirs(Char **, struct command *);
-Char *dcanon(Char *, Char *);
-void dtildepr(Char *, Char *);
-void dtilde(void);
-void dochngd(Char **, struct command *);
-Char *dnormalize(Char *);
-void dopushd(Char **, struct command *);
-void dopopd(Char **, struct command *);
-struct directory;
-void dfree(struct directory *);
-
-/*
- * dol.c
- */
-void Dfix(struct command *);
-Char *Dfix1(Char *);
-void heredoc(Char *);
-
-/*
- * err.c
- */
-void seterror(int, ...);
-__dead void stderror(int, ...);
-
-/*
- * exec.c
- */
-__dead void doexec(Char **, struct command *);
-void dohash(Char **, struct command *);
-void dounhash(Char **, struct command *);
-void dowhich(Char **, struct command *);
-void execash(Char **, struct command *);
-void hashstat(Char **, struct command *);
-void xechoit(Char **);
-
-/*
- * exp.c
- */
-int expr(Char ***);
-int exp0(Char ***, int);
-
-/*
- * file.c
- */
-#ifdef FILEC
-ssize_t tenex(Char *, size_t);
-#endif
-
-/*
- * func.c
- */
-void Setenv(Char *, Char *);
-void doalias(Char **, struct command *);
-void dobreak(Char **, struct command *);
-void docontin(Char **, struct command *);
-void doecho(Char **, struct command *);
-void doelse(Char **, struct command *);
-void doend(Char **, struct command *);
-void doeval(Char **, struct command *);
-void doexit(Char **, struct command *);
-void doforeach(Char **, struct command *);
-void doglob(Char **, struct command *);
-void dogoto(Char **, struct command *);
-void doif(Char **, struct command *);
-void dolimit(Char **, struct command *);
-__dead void dologin(Char **, struct command *);
-__dead void dologout(Char **, struct command *);
-void donohup(Char **, struct command *);
-void doonintr(Char **, struct command *);
-void doprintf(Char **, struct command *);
-void dorepeat(Char **, struct command *);
-void dosetenv(Char **, struct command *);
-void dosuspend(Char **, struct command *);
-void doswbrk(Char **, struct command *);
-void doswitch(Char **, struct command *);
-void doumask(Char **, struct command *);
-void dounlimit(Char **, struct command *);
-void dounsetenv(Char **, struct command *);
-void dowhile(Char **, struct command *);
-void dozip(Char **, struct command *);
-void func(struct command *, struct biltins *);
-struct biltins *isbfunc(struct command *);
-void prvars(void);
-void gotolab(Char *);
-int srchx(Char *);
-void unalias(Char **, struct command *);
-void wfree(void);
-
-/*
- * glob.c
- */
-Char **dobackp(Char *, int);
-void Gcat(Char *, Char *);
-Char *globone(Char *, int);
-int  Gmatch(Char *, Char *);
-void ginit(void);
-Char **globall(Char **);
-void rscan(Char **, void (*)(int));
-void tglob(Char **);
-void trim(Char **);
-#ifdef FILEC
-int sortscmp(const ptr_t, const ptr_t);
-#endif /* FILEC */
-
-/*
- * hist.c
- */
-void dohist(Char **, struct command *);
-struct Hist *enthist(int, struct wordent *, int);
-#ifdef EDIT
-void loadhist(struct Hist *);
-#endif
-void savehist(struct wordent *);
-
-/*
- * lex.c
- */
-void addla(Char *);
-void bseek(struct Ain *);
-void btell(struct Ain *);
-void btoeof(void);
-void copylex(struct wordent *, struct wordent *);
-Char *domod(Char *, int);
-void freelex(struct wordent *);
-int lex(struct wordent *);
-void prlex(FILE *, struct wordent *);
-#ifdef EDIT
-int sprlex(char **, struct wordent *);
-#endif
-int readc(int);
-void settell(void);
-void unreadc(int);
-
-/*
- * misc.c
- */
-int any(const char *, int);
-Char **blkcat(Char **, Char **);
-Char **blkcpy(Char **, Char **);
-Char **blkend(Char **);
-void blkfree(Char **);
-int blklen(Char **);
-void blkpr(FILE *, Char **);
-Char **blkspl(Char **, Char **);
-void closem(void);
-Char **copyblk(Char **);
-int dcopy(int, int);
-int dmove(int, int);
-void donefds(void);
-Char lastchr(Char *);
-void lshift(Char **, size_t);
-int number(Char *);
-int prefix(Char *, Char *);
-Char **saveblk(Char **);
-Char *strip(Char *);
-Char *quote(Char *);
-char *strsave(const char *);
-char *strspl(char *, char *);
-__dead void udvar(Char *);
-
-#ifndef        SHORT_STRINGS
-# ifdef NOTUSED
-char *strstr(const char *, const char *);
-# endif /* NOTUSED */
-char *strend(char *);
-#endif
-
-/*
- * parse.c
- */
-void alias(struct wordent *);
-void freesyn(struct command *);
-struct command *syntax(struct wordent *, struct wordent *, int);
-
-
-/*
- * proc.c
- */
-void dobg(Char **, struct command *);
-void dobg1(Char **, struct command *);
-void dofg(Char **, struct command *);
-void dofg1(Char **, struct command *);
-void dojobs(Char **, struct command *);
-void dokill(Char **, struct command *);
-void donotify(Char **, struct command *);
-void dostop(Char **, struct command *);
-void dowait(Char **, struct command *);
-void palloc(int, struct command *);
-void panystop(int);
-void pchild(int);
-void pendjob(void);
-struct process *pfind(Char *);
-int pfork(struct command *, int);
-void pgetty(int, int);
-void pjwait(struct process *);
-void pnote(void);
-void prestjob(void);
-void psavejob(void);
-void pstart(struct process *, int);
-void pwait(void);
-
-/*
- * sem.c
- */
-void execute(struct command *, int, int *, int *);
-void mypipe(int *);
-
-/*
- * set.c
- */
-struct varent*adrof1(Char *, struct varent *);
-void doset(Char **, struct command *);
-void dolet(Char **, struct command *);
-Char *putn(int);
-int getn(Char *);
-Char *value1(Char *, struct varent *);
-void set(Char *, Char *);
-void set1(Char *, Char **, struct varent *);
-void setq(Char *, Char **, struct varent *);
-void unset(Char **, struct command *);
-void unset1(Char *[], struct varent *);
-void unsetv(Char *);
-void setNS(Char *);
-void shift(Char **, struct command *);
-void plist(struct varent *);
-
-/*
- * time.c



Home | Main Index | Thread Index | Old Index