New module 'unicase/u32-toupper'.
[gnulib.git] / ChangeLog
index 2f0ba74..ed1d188 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,398 @@
+2009-03-08  Bruno Haible  <bruno@clisp.org>
+
+       New module 'unicase/u32-toupper'.
+       * lib/unicase/u32-toupper.c: New file.
+       * modules/unicase/u32-toupper: New file.
+
+       New module 'unicase/u16-toupper'.
+       * lib/unicase/u16-toupper.c: New file.
+       * modules/unicase/u16-toupper: New file.
+
+       New module 'unicase/u8-toupper'.
+       * lib/unicase/u8-toupper.c: New file.
+       * modules/unicase/u8-toupper: New file.
+
+       New module 'unicase/u32-casemap'.
+       * lib/unicase/u32-casemap.c: New file.
+       * modules/unicase/u32-casemap: New file.
+
+       New module 'unicase/u16-casemap'.
+       * lib/unicase/u16-casemap.c: New file.
+       * modules/unicase/u16-casemap: New file.
+
+       New module 'unicase/u8-casemap'.
+       * lib/unicase/unicasemap.h: New file.
+       * lib/unicase/u8-casemap.c: New file.
+       * lib/unicase/u-casemap.h: New file.
+       * modules/unicase/u8-casemap: New file.
+
+       New module 'unicase/special-casing'.
+       * lib/unicase/special-casing.h: New file.
+       * lib/unicase/special-casing.c: New file.
+       * lib/unicase/special-casing-table.gperf: New file, generated by
+       gen-uni-tables.c.
+       * modules/unicase/special-casing: New file.
+
+       Tests for module 'unicase/locale-language'.
+       * modules/unicase/locale-language-tests: New file.
+       * tests/unicase/test-locale-language.sh: New file.
+       * tests/unicase/test-locale-language.c: New file.
+
+       New module 'unicase/locale-language'.
+       * lib/unicase/locale-language.c: New file.
+       * lib/unicase/locale-languages.gperf: New file.
+       * modules/unicase/locale-language: New file.
+
+       Generate more tables for case conversion and case folding.
+       * lib/gen-uni-tables.c (SCC_*): New enum items.
+       (struct special_casing_rule): New type.
+       (casing_rules, num_casing_rules, allocated_casing_rules): New
+       variables.
+       (add_casing_rule, fill_casing_rules): New functions.
+       (struct casefold_rule): New type.
+       (casefolding_rules, num_casefolding_rules,
+       allocated_casefolding_rules): New variables.
+       (fill_casefolding_rules): New function.
+       (unicode_casefold): New variable.
+       (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
+       sort_casing_rules, output_casing_rules): New functions.
+       (main): Accept to more arguments: SpecialCasing.txt and
+       CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
+       redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
+       Output mapping for casefolding.
+
+       * lib/unicase.h: Include stdbool.h, uninorm.h.
+       (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
+       u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
+       (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
+       arguments.
+       (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
+       resultp arguments.
+       (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
+       (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
+       resultp arguments.
+       (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
+       u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
+       u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
+       u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
+       declarations.
+       * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
+
+2009-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+       u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
+       * lib/uninorm/u-normcmp.h (FUNC): Likewise.
+       * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Adjust u*_normcmp, u*_normcoll API.
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+       u16_normcoll, u32_normcoll): Change failure conventions.
+       * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
+       errno and return -1.
+       * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/u32-normcoll'.
+       * modules/uninorm/u32-normcoll-tests: New file.
+       * tests/uninorm/test-u32-normcoll.c: New file.
+
+       Tests for module 'uninorm/u16-normcoll'.
+       * modules/uninorm/u16-normcoll-tests: New file.
+       * tests/uninorm/test-u16-normcoll.c: New file.
+
+       Tests for module 'uninorm/u8-normcoll'.
+       * modules/uninorm/u8-normcoll-tests: New file.
+       * tests/uninorm/test-u8-normcoll.c: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * tests/uninorm/test-u32-normcmp.h: New file, extracted from
+       tests/uninorm/test-u32-normcmp.c.
+       * tests/uninorm/test-u32-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u32-normcmp-tests (Files): Add
+       tests/uninorm/test-u32-normcmp.h.
+       (Depends-on): Remove uninorm/u32-normcmp.
+
+       * tests/uninorm/test-u16-normcmp.h: New file, extracted from
+       tests/uninorm/test-u16-normcmp.c.
+       * tests/uninorm/test-u16-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u16-normcmp-tests (Files): Add
+       tests/uninorm/test-u16-normcmp.h.
+       (Depends-on): Remove uninorm/u16-normcmp.
+
+       * tests/uninorm/test-u8-normcmp.h: New file, extracted from
+       tests/uninorm/test-u8-normcmp.c.
+       * tests/uninorm/test-u8-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u8-normcmp-tests (Files): Add
+       tests/uninorm/test-u8-normcmp.h.
+       (Depends-on): Remove uninorm/u8-normcmp.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'uninorm/u32-normcoll'.
+       * lib/uninorm/u32-normcoll.c: New file.
+       * modules/uninorm/u32-normcoll: New file.
+
+       New module 'uninorm/u16-normcoll'.
+       * lib/uninorm/u16-normcoll.c: New file.
+       * modules/uninorm/u16-normcoll: New file.
+
+       New module 'uninorm/u8-normcoll'.
+       * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
+       declarations.
+       * lib/uninorm/u8-normcoll.c: New file.
+       * lib/uninorm/u-normcoll.h: New file.
+       * modules/uninorm/u8-normcoll: New file.
+
+       New module 'uninorm/u32-normxfrm'.
+       * lib/uninorm/u32-normxfrm.c: New file.
+       * modules/uninorm/u32-normxfrm: New file.
+
+       New module 'uninorm/u16-normxfrm'.
+       * lib/uninorm/u16-normxfrm.c: New file.
+       * modules/uninorm/u16-normxfrm: New file.
+
+       New module 'uninorm/u8-normxfrm'.
+       * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
+       declarations.
+       * lib/uninorm/u8-normxfrm.c: New file.
+       * lib/uninorm/u-normxfrm.h: New file.
+       * modules/uninorm/u8-normxfrm: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
+       * modules/uninorm/u16-normcmp (Depends-on): Likewise.
+       * modules/uninorm/u32-normcmp (Depends-on): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'memxfrm'.
+       * lib/memxfrm.h: New file.
+       * lib/memxfrm.c: New file.
+       * modules/memxfrm: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'memcmp2'.
+       * lib/memcmp2.h: New file.
+       * lib/memcmp2.c: New file.
+       * modules/memcmp2: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/decomposing-form'.
+       * modules/uninorm/decomposing-form-tests: New file.
+       * tests/uninorm/test-decomposing-form.c: New file.
+
+       New module 'uninorm/decomposing-form'.
+       * lib/uninorm.h (uninorm_decomposing_form): New declaration.
+       * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
+       Add 'decomposing_variant' field.
+       * lib/uninorm/decomposing-form.c: New file.
+       * lib/uninorm/nfc.c (uninorm_nfc): Update.
+       * lib/uninorm/nfd.c (uninorm_nfd): Update.
+       * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
+       * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
+       * modules/uninorm/decomposing-form: New file.
+       * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
+       * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
+       strings.
+
+2009-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/u32-normcmp'.
+       * tests/uninorm/test-u32-normcmp.c: New file.
+       * modules/uninorm/u32-normcmp-tests: New file.
+
+       Tests for module 'uninorm/u16-normcmp'.
+       * tests/uninorm/test-u16-normcmp.c: New file.
+       * modules/uninorm/u16-normcmp-tests: New file.
+
+       Tests for module 'uninorm/u8-normcmp'.
+       * tests/uninorm/test-u8-normcmp.c: New file.
+       * modules/uninorm/u8-normcmp-tests: New file.
+
+       New module 'uninorm/u32-normcmp'.
+       * lib/uninorm/u32-normcmp.c: New file.
+       * modules/uninorm/u32-normcmp: New file.
+
+       New module 'uninorm/u16-normcmp'.
+       * lib/uninorm/u16-normcmp.c: New file.
+       * modules/uninorm/u16-normcmp: New file.
+
+       New module 'uninorm/u8-normcmp'.
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
+       declarations.
+       * lib/uninorm/u8-normcmp.c: New file.
+       * lib/uninorm/u-normcmp.h: New file.
+       * modules/uninorm/u8-normcmp: New file.
+
+2009-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
+       Reported by Eric Blake.
+
+2009-03-06  Eric Blake  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
+       * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
+       condition.
+       (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
+       * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
+       condition.
+       (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
+
+2009-03-06  Eric Blake  <ebb9@byu.net>
+
+       * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
+       to avoid compiler warnings.
+       * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
+
+2009-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-ftell.c (main): Disable test beyond end of file on
+       FreeMiNT.
+       Patch by Alan Hourihane <alanh@fairlite.co.uk>.
+
+2009-03-05  Kamil Dudka  <kdudka@redhat.com>
+
+       * lib/filevercmp.c: Move hidden files up in ordering.
+       * tests/test-filevercmp.c: Add tests for hidden files.
+
+2009-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/visibility (Makefile.am): Augment AM_CFLAGS.
+       * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
+       AM_CFLAGS.
+       Reported by Simon Josefsson.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
+       Reported by Simon Josefsson.
+
+       * doc/ld-version-script.texi: Update node reference.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/visibility (License): Change to 'unlimited'.
+       Suggested by Simon Josefsson.
+
+2009-03-03  Jim Meyering  <meyering@redhat.com>
+
+       unlinkdir: cannot_unlink_dir may modify process state
+       * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
+       it's neither thread-safe nor appropriate for use in a library.
+
+2009-03-03  Eric Blake  <ebb9@byu.net>
+
+       test-closein: silence test under Darwin
+       * tests/test-closein.sh: Ignore stderr from cat, since we don't
+       care if it dies from EPIPE or EBADF.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
+       earlier.
+       * doc/visibility.texi: Fix @node and @section.
+
+2009-03-03  Simon Josefsson  <simon@josefsson.org>
+
+       * doc/gnulib.texi: Link to sections for ld version script and
+       visibility.
+       * doc/visibility.texi: Add @node and @section.
+       * modules/ld-version-script: New module.
+       * m4/ld-version-script.m4: New file.
+       * doc/ld-version-script.texi: New file.
+
+2009-03-02  David Lutterkort  <lutter@redhat.com>
+
+       * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * doc/visibility.texi: Mention libtool's -export-symbols option.
+
+2009-03-02  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: new option: --no-print-checksums
+       * build-aux/announce-gen (usage): Describe it.
+       (print_checksums): Print a newline here, not in the [*] footnote.
+       (main): Honor it.
+
+2009-03-01  Bruno Haible  <bruno@clisp.org>
+
+       Use socklen_t in the native Windows replacements prototypes.
+       * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
+       instead of 'int'.
+       * lib/getsockopt.c (rpl_getsockopt): Likewise.
+       * lib/setsockopt.c (rpl_setsockopt): Likewise.
+       * modules/getsockopt (Depends-on): Add socklen.
+       * modules/setsockopt (Depends-on): Add socklen.
+
+2009-03-01  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
+       least 4.2.
+
+2009-03-01  Eric Blake  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
+       error messages.
+       * lib/wait-process.c (wait_subprocess): Omit error message about
+       deadly signal sent to the child of termsigp != NULL.
+
+2009-03-01  Eric Blake  <ebb9@byu.net>
+
+       * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
+
+2009-03-01  Bruno Haible  <bruno@clisp.org>
+
+       Avoid a gcc warning.
+       * tests/test-sched.c (b): Make global.
+       Reported by Eric Blake.
+
+2009-01-19  Martin Lambers  <marlam@marlam.de>
+
+       Provide POSIX semantics for socket timeout options on W32.
+       * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
+       * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
+       * modules/setsockopt: Depend on sys_time module for struct timeval.
+       * modules/getsockopt: Depend on sys_time module for struct timeval.
+
+2009-03-01  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
+       __USE_GNU, for consistency with netdb.in.h.
+       Reported by Alan Hourihane <alanh@fairlite.co.uk>.
+
+2009-03-01  Bruno Haible  <bruno@clisp.org>
+
+       More support for FreeMiNT.
+       * lib/fseeko.c (rpl_fseeko): Complete last commit.
+       Reported by Alan Hourihane <alanh@fairlite.co.uk>.
+
 2009-03-01  Bruno Haible  <bruno@clisp.org>
 
        More support for FreeMiNT.