New module 'unicase/totitle'.
[gnulib.git] / ChangeLog
index 521eb24..2437436 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,678 @@
+2009-02-08  Bruno Haible  <bruno@clisp.org>
+
+       New module 'unicase/totitle'.
+       * modules/unicase/totitle: New file.
+       * lib/unicase/totitle.c: New file.
+
+       New module 'unicase/tolower'.
+       * modules/unicase/tolower: New file.
+       * lib/unicase/tolower.c: New file.
+
+       New module 'unicase/toupper'.
+       * modules/unicase/toupper: New file.
+       * lib/unicase/toupper.c: New file.
+       * lib/unicase/simple-mapping.h: New file.
+
+       * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
+       (mapping_table): New structure.
+       (output_simple_mapping): New function.
+       (main): Invoke output_simple_mapping_test and output_simple_mapping.
+       * modules/gen-uni-tables (Description): Update.
+       * lib/unicase/toupper.h: New file, automatically generated by
+       gen-uni-tables.
+       * lib/unicase/tolower.h: New file, automatically generated by
+       gen-uni-tables.
+       * lib/unicase/totitle.h: New file, automatically generated by
+       gen-uni-tables.
+       * tests/unicase/test-uc_toupper.c: New file, automatically generated by
+       gen-uni-tables.
+       * tests/unicase/test-uc_tolower.c: New file, automatically generated by
+       gen-uni-tables.
+       * tests/unicase/test-uc_totitle.c: New file, automatically generated by
+       gen-uni-tables.
+
+       New module 'unicase/base'.
+       * modules/unicase/base: New file.
+       * lib/unicase.h: New file.
+
+2009-02-08  Bruno Haible  <bruno@clisp.org>
+
+       New module 'uniwbrk/ulc-wordbreaks'.
+       * modules/uniwbrk/ulc-wordbreaks: New file.
+       * lib/uniwbrk/ulc-wordbreaks.c: New file.
+
+       New module 'uniwbrk/u32-wordbreaks'.
+       * modules/uniwbrk/u32-wordbreaks: New file.
+       * lib/uniwbrk/u32-wordbreaks.c: New file.
+
+       New module 'uniwbrk/u16-wordbreaks'.
+       * modules/uniwbrk/u16-wordbreaks: New file.
+       * lib/uniwbrk/u16-wordbreaks.c: New file.
+
+       New module 'uniwbrk/u8-wordbreaks'.
+       * modules/uniwbrk/u8-wordbreaks: New file.
+       * lib/uniwbrk/u8-wordbreaks.c: New file.
+       * lib/uniwbrk/u-wordbreaks.h: New file.
+
+       New module 'uniwbrk/table'.
+       * modules/uniwbrk/table: New file.
+       * lib/uniwbrk/wbrktable.h: New file.
+       * lib/uniwbrk/wbrktable.c: New file.
+
+       New module 'uniwbrk/wordbreak-property'.
+       * modules/uniwbrk/wordbreak-property: New file.
+       * lib/uniwbrk/wordbreak-property.c: New file.
+
+       * lib/gen-uni-tables.c (WBP_*): New enum items.
+       (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
+       (unicode_org_wbp): New variable.
+       (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
+       New functions.
+       (wbp_table): New structure.
+       (output_wbp, output_wbrk_tables): New functions.
+       (main): Accept additional argument. Invoke fill_org_wbp,
+       debug_output_wbrk_tables, debug_output_org_wbrk_tables,
+       output_wbrk_tables.
+       * modules/gen-uni-tables (Description): Update.
+       * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
+       gen-uni-tables.
+
+       New module 'uniwbrk/base'.
+       * modules/uniwbrk/base: New file.
+       * lib/uniwbrk.h: New file.
+
+2009-02-08  Bruno Haible  <bruno@clisp.org>
+
+       Update to Unicode 5.1.0.
+       * lib/gen-uni-tables.c (is_property_alphabetic): Include
+       U+2185..U+2188.
+       (is_property_default_ignorable_code_point): Don't include characters
+       of category Cc or Cs and not-a-characters.
+       (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
+       U+0D79, U+109E, U+109F, U+A60C.
+       * lib/unictype/bidi_of.h: Regenerated.
+       * lib/unictype/blocks.h: Regenerated.
+       * lib/unictype/categ_C.h: Regenerated.
+       * lib/unictype/categ_Cf.h: Regenerated.
+       * lib/unictype/categ_Cn.h: Regenerated.
+       * lib/unictype/categ_L.h: Regenerated.
+       * lib/unictype/categ_Ll.h: Regenerated.
+       * lib/unictype/categ_Lm.h: Regenerated.
+       * lib/unictype/categ_Lo.h: Regenerated.
+       * lib/unictype/categ_Lu.h: Regenerated.
+       * lib/unictype/categ_M.h: Regenerated.
+       * lib/unictype/categ_Mc.h: Regenerated.
+       * lib/unictype/categ_Me.h: Regenerated.
+       * lib/unictype/categ_Mn.h: Regenerated.
+       * lib/unictype/categ_N.h: Regenerated.
+       * lib/unictype/categ_Nd.h: Regenerated.
+       * lib/unictype/categ_Nl.h: Regenerated.
+       * lib/unictype/categ_No.h: Regenerated.
+       * lib/unictype/categ_P.h: Regenerated.
+       * lib/unictype/categ_Pd.h: Regenerated.
+       * lib/unictype/categ_Pe.h: Regenerated.
+       * lib/unictype/categ_Pf.h: Regenerated.
+       * lib/unictype/categ_Pi.h: Regenerated.
+       * lib/unictype/categ_Po.h: Regenerated.
+       * lib/unictype/categ_Ps.h: Regenerated.
+       * lib/unictype/categ_S.h: Regenerated.
+       * lib/unictype/categ_Sk.h: Regenerated.
+       * lib/unictype/categ_Sm.h: Regenerated.
+       * lib/unictype/categ_So.h: Regenerated.
+       * lib/unictype/categ_of.h: Regenerated.
+       * lib/unictype/combining.h: Regenerated.
+       * lib/unictype/ctype_alnum.h: Regenerated.
+       * lib/unictype/ctype_alpha.h: Regenerated.
+       * lib/unictype/ctype_graph.h: Regenerated.
+       * lib/unictype/ctype_lower.h: Regenerated.
+       * lib/unictype/ctype_print.h: Regenerated.
+       * lib/unictype/ctype_punct.h: Regenerated.
+       * lib/unictype/ctype_upper.h: Regenerated.
+       * lib/unictype/decdigit.h: Regenerated.
+       * lib/unictype/digit.h: Regenerated.
+       * lib/unictype/mirror.h: Regenerated.
+       * lib/unictype/numeric.h: Regenerated.
+       * lib/unictype/pr_alphabetic.h: Regenerated.
+       * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
+       * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
+       * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
+       * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
+       * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
+       * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
+       * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
+       * lib/unictype/pr_combining.h: Regenerated.
+       * lib/unictype/pr_dash.h: Regenerated.
+       * lib/unictype/pr_decimal_digit.h: Regenerated.
+       * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
+       * lib/unictype/pr_deprecated.h: Regenerated.
+       * lib/unictype/pr_diacritic.h: Regenerated.
+       * lib/unictype/pr_extender.h: Regenerated.
+       * lib/unictype/pr_format_control.h: Regenerated.
+       * lib/unictype/pr_grapheme_base.h: Regenerated.
+       * lib/unictype/pr_grapheme_extend.h: Regenerated.
+       * lib/unictype/pr_grapheme_link.h: Regenerated.
+       * lib/unictype/pr_id_continue.h: Regenerated.
+       * lib/unictype/pr_id_start.h: Regenerated.
+       * lib/unictype/pr_ideographic.h: Regenerated.
+       * lib/unictype/pr_ignorable_control.h: Regenerated.
+       * lib/unictype/pr_lowercase.h: Regenerated.
+       * lib/unictype/pr_math.h: Regenerated.
+       * lib/unictype/pr_numeric.h: Regenerated.
+       * lib/unictype/pr_other_alphabetic.h: Regenerated.
+       * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
+       * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
+       * lib/unictype/pr_other_id_continue.h: Regenerated.
+       * lib/unictype/pr_other_lowercase.h: Regenerated.
+       * lib/unictype/pr_other_math.h: Regenerated.
+       * lib/unictype/pr_punctuation.h: Regenerated.
+       * lib/unictype/pr_sentence_terminal.h: Regenerated.
+       * lib/unictype/pr_soft_dotted.h: Regenerated.
+       * lib/unictype/pr_terminal_punctuation.h: Regenerated.
+       * lib/unictype/pr_unassigned_code_value.h: Regenerated.
+       * lib/unictype/pr_unified_ideograph.h: Regenerated.
+       * lib/unictype/pr_uppercase.h: Regenerated.
+       * lib/unictype/pr_xid_continue.h: Regenerated.
+       * lib/unictype/pr_xid_start.h: Regenerated.
+       * lib/unictype/pr_zero_width.h: Regenerated.
+       * lib/unictype/scripts.h: Regenerated.
+       * lib/unictype/scripts_byname.gperf: Regenerated.
+       * lib/unictype/sy_java_ident.h: Regenerated.
+       * lib/unilbrk/lbrkprop1.h: Regenerated.
+       * lib/unilbrk/lbrkprop2.h: Regenerated.
+       * tests/unictype/test-categ_C.c: Regenerated.
+       * tests/unictype/test-categ_Cf.c: Regenerated.
+       * tests/unictype/test-categ_Cn.c: Regenerated.
+       * tests/unictype/test-categ_L.c: Regenerated.
+       * tests/unictype/test-categ_Ll.c: Regenerated.
+       * tests/unictype/test-categ_Lm.c: Regenerated.
+       * tests/unictype/test-categ_Lo.c: Regenerated.
+       * tests/unictype/test-categ_Lu.c: Regenerated.
+       * tests/unictype/test-categ_M.c: Regenerated.
+       * tests/unictype/test-categ_Mc.c: Regenerated.
+       * tests/unictype/test-categ_Me.c: Regenerated.
+       * tests/unictype/test-categ_Mn.c: Regenerated.
+       * tests/unictype/test-categ_N.c: Regenerated.
+       * tests/unictype/test-categ_Nd.c: Regenerated.
+       * tests/unictype/test-categ_Nl.c: Regenerated.
+       * tests/unictype/test-categ_No.c: Regenerated.
+       * tests/unictype/test-categ_P.c: Regenerated.
+       * tests/unictype/test-categ_Pd.c: Regenerated.
+       * tests/unictype/test-categ_Pe.c: Regenerated.
+       * tests/unictype/test-categ_Pf.c: Regenerated.
+       * tests/unictype/test-categ_Pi.c: Regenerated.
+       * tests/unictype/test-categ_Po.c: Regenerated.
+       * tests/unictype/test-categ_Ps.c: Regenerated.
+       * tests/unictype/test-categ_S.c: Regenerated.
+       * tests/unictype/test-categ_Sk.c: Regenerated.
+       * tests/unictype/test-categ_Sm.c: Regenerated.
+       * tests/unictype/test-categ_So.c: Regenerated.
+       * tests/unictype/test-ctype_alnum.c: Regenerated.
+       * tests/unictype/test-ctype_alpha.c: Regenerated.
+       * tests/unictype/test-ctype_graph.c: Regenerated.
+       * tests/unictype/test-ctype_lower.c: Regenerated.
+       * tests/unictype/test-ctype_print.c: Regenerated.
+       * tests/unictype/test-ctype_punct.c: Regenerated.
+       * tests/unictype/test-ctype_upper.c: Regenerated.
+       * tests/unictype/test-decdigit.h: Regenerated.
+       * tests/unictype/test-digit.h: Regenerated.
+       * tests/unictype/test-numeric.h: Regenerated.
+       * tests/unictype/test-pr_alphabetic.c: Regenerated.
+       * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
+       * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
+       * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
+       * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
+       * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
+       * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
+       * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
+       * tests/unictype/test-pr_combining.c: Regenerated.
+       * tests/unictype/test-pr_dash.c: Regenerated.
+       * tests/unictype/test-pr_decimal_digit.c: Regenerated.
+       * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
+       * tests/unictype/test-pr_deprecated.c: Regenerated.
+       * tests/unictype/test-pr_diacritic.c: Regenerated.
+       * tests/unictype/test-pr_extender.c: Regenerated.
+       * tests/unictype/test-pr_format_control.c: Regenerated.
+       * tests/unictype/test-pr_grapheme_base.c: Regenerated.
+       * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
+       * tests/unictype/test-pr_grapheme_link.c: Regenerated.
+       * tests/unictype/test-pr_id_continue.c: Regenerated.
+       * tests/unictype/test-pr_id_start.c: Regenerated.
+       * tests/unictype/test-pr_ideographic.c: Regenerated.
+       * tests/unictype/test-pr_ignorable_control.c: Regenerated.
+       * tests/unictype/test-pr_lowercase.c: Regenerated.
+       * tests/unictype/test-pr_math.c: Regenerated.
+       * tests/unictype/test-pr_numeric.c: Regenerated.
+       * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
+       * tests/unictype/test-pr_other_default_ignorable_code_point.c:
+       Regenerated.
+       * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
+       * tests/unictype/test-pr_other_id_continue.c: Regenerated.
+       * tests/unictype/test-pr_other_lowercase.c: Regenerated.
+       * tests/unictype/test-pr_other_math.c: Regenerated.
+       * tests/unictype/test-pr_punctuation.c: Regenerated.
+       * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
+       * tests/unictype/test-pr_soft_dotted.c: Regenerated.
+       * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
+       * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
+       * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
+       * tests/unictype/test-pr_uppercase.c: Regenerated.
+       * tests/unictype/test-pr_xid_continue.c: Regenerated.
+       * tests/unictype/test-pr_xid_start.c: Regenerated.
+       * tests/unictype/test-pr_zero_width.c: Regenerated.
+
+       Update to Unicode 5.1.0.
+       * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
+       U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
+       U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
+       U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
+       U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
+       U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
+       U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
+       U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
+       U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
+       (nonspacing_table_ind): Update.
+       * tests/uniwidth/test-uc_width2.sh: Update expected result.
+
+       Update to Unicode 5.1.0.
+       * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
+       code transform.
+       * lib/uniname/uniname.c (unicode_character_name,
+       unicode_name_character): Add the range 0x1Fxxx to the code transform.
+       * lib/uniname/uninames.h: Regenerated.
+       * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
+
+2009-02-07  Bruno Haible  <bruno@clisp.org>
+
+       Merge gen-ctype and gen-lbrk into a single program.
+       * lib/gen-uni-tables.c: New file, incorporating
+       lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
+       Add directory prefixes to the names of the generated files.
+       * lib/unictype/gen-ctype.c: Remove file.
+       * lib/unilbrk/gen-lbrk.c: Remove file.
+       * modules/gen-uni-tables: New file.
+       * modules/unictype/gen-ctype: Remove file.
+       * modules/unilbrk/gen-lbrk: Remove file.
+
+2009-02-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
+
+       New module 'unistr/u32-strcoll'.
+       * modules/unistr/u32-strcoll: New file.
+       * lib/unistr/u32-strcoll.c: New file.
+
+       New module 'unistr/u16-strcoll'.
+       * modules/unistr/u16-strcoll: New file.
+       * lib/unistr/u16-strcoll.c: New file.
+
+       New module 'unistr/u8-strcoll'.
+       * modules/unistr/u8-strcoll: New file.
+       * lib/unistr/u8-strcoll.c: New file.
+       * lib/unistr/u-strcoll.h: New file.
+
+2009-02-07  Bruno Haible  <bruno@clisp.org>
+
+       * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
+       * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
+       * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
+       * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
+       * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
+       * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
+
+2009-02-07  Bruno Haible  <bruno@clisp.org>
+
+       Make 64-bit clean.
+       * lib/unictype/gen-ctype.c (output_predicate, output_category,
+       output_combclass, output_bidi_category, output_decimal_digit,
+       output_digit, output_numeric, output_mirror, output_scripts,
+       output_ident_category): Use proper width specifier in format strings.
+
+2009-02-07  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
+       failure behaviour.
+
+2009-02-07  Jim Meyering  <meyering@redhat.com>
+
+       regex: avoid compilation failure with upcoming gcc-4.4
+       * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
+       [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
+       "... error: integer overflow in preprocessor expression".
+
+2009-02-05  Ben Pfaff  <blp@gnu.org>
+
+       Fix link errors on Windows when close module is used.
+       * modules/close: Add $(LIB_CLOSE) to Link section.
+       * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
+       $(LIB_CLOSE) on Windows.
+
+2009-02-05  Jim Meyering  <meyering@redhat.com>
+
+       still avoid unused-parameter warnings, but do it cleanly
+       * lib/fsusage.c (UNUSED_PARAM): Remove definition.
+       (get_fs_usage): Cast to void instead.
+       * lib/mountlist.c (UNUSED_PARAM): Remove definition.
+       (dev_from_mount_options, read_file_system_list): Cast to void.
+       Prompted by Bruno Haible.
+
+2009-02-04  Jim Meyering  <meyering@redhat.com>
+
+       fsusage.c: correct copyright year
+       * lib/fsusage.c: Reflect year in which the change is pushed into
+
+       avoid misc. warnings
+       * lib/fsusage.c (UNUSED_PARAM): Define.
+       (get_fs_usage): Mark parameter "disk" as unused.
+       * lib/getugroups.c (getgrent): Use "void" in prototype.
+       * lib/mountlist.c: Mark unused parameters.
+       (read_file_system_list): Declare a local with "const".
+       * lib/nanosleep.c (getnow): Declare static.
+       * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
+
+       dirfd: set errno upon failure
+       * lib/dirfd.c: Include <errno.h>.
+       Set errno to ENOTSUP when returning -1.
+       * modules/dirfd (Depends-on): Add errno.
+       Suggested by John Kodis <kodis@comcast.net>.
+
+2009-02-01  Bruno Haible  <bruno@clisp.org>
+
+       Don't assume sizeof (long) >= sizeof (void *).
+       * lib/memcmp.c: Include stdint.h.
+       (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
+       srcp2 to 'const byte *'.
+       (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
+       types to uintptr_t.
+       (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
+       * modules/memcmp (Depends-on): Add stdint.
+       Reported by Ozkan Sezer <sezeroz@gmail.com>.
+
+2009-01-30  Eric Blake  <ebb9@byu.net>
+
+       fix more require-before-expand issues
+       * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
+       expand, AC_PROG_AWK.
+       * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
+
+2009-01-28  Eric Blake  <ebb9@byu.net>
+
+       version-etc: use consistent URL formatting
+       * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
+       Improve formatting.  Use fputs for string without %.
+
+2009-01-28  Jim Meyering  <meyering@redhat.com>
+
+       00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
+       * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
+       "underquoted definition of NAME" from autoconf-2.59.
+
+2009-01-28  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi: Add "Obsolete modules" to index.
+
+2009-01-28  Jim Meyering  <meyering@redhat.com>
+
+       useless-if-before-free: recognize more variants
+       * build-aux/useless-if-before-free: Also recognize e.g.,
+       if (NULL != p) free (p);
+
+2009-01-27  Mark McLoughlin  <markmc@redhat.com>
+
+       test-getaddrinfo: skip (don't fail) this test when there's no network
+       * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
+       on the presumption that it means you lack network access.
+
+2009-01-26  Jim Meyering  <meyering@redhat.com>
+
+       fflush: avoid warnings on modern systems
+       * lib/fflush.c (rpl_fflush): Move declarations of locals,
+       pos and result, into scopes where they're used.
+
+2009-01-26  Eric Blake  <ebb9@byu.net>
+
+       Silence warning reintroduced by recent extensions patch.
+       * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
+       (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
+       autoconf.
+
+       Backport improved autoconf semantics of AC_DEFUN_ONCE.
+       * m4/00gnulib.m4: New file.
+       * gnulib-tool (func_get_filelist): Always use it.
+       * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
+       Reported by Bruno Haible, with suggestions from Paolo Bonzini.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Make test-quotearg work on MacOS X and AIX.
+       * tests/test-quotearg.sh: New file.
+       * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
+       * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
+       * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
+       include <libintl.h>.
+       (fake_locale): Remove variable.
+       (gettext, dgettext, dcgettext): Remove functions.
+       (main): Instead of setting a fake locale, set a real locale. Call
+       textdomain and bindtextdomain.
+       * modules/quotearg-tests (Files): Add the new files.
+       (Depends-on): Add gettext, setenv, unsetenv.
+       (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
+       (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
+       Augment TESTS_ENVIRONMENT.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
+       fr_FR.ISO8859-1 locale on MacOS X.
+       * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
+       ja_JP.eucJP locale on MacOS X.
+       * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
+       zh_CN.GB18030 locale on MacOS X.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Avoid link errors on MacOS X 10.3.
+       * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
+       * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
+       * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
+       * modules/pipe (Files): Remove m4/posix_spawn.m4.
+       (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
+       posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
+       posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
+       posix_spawnattr_init, posix_spawnattr_setsigmask,
+       posix_spawnattr_setflags, posix_spawnattr_destroy.
+
+       * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
+       * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
+       * modules/execute (Files): Remove m4/posix_spawn.m4.
+       (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
+       posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
+       posix_spawnattr_init, posix_spawnattr_setsigmask,
+       posix_spawnattr_setflags, posix_spawnattr_destroy.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glthread/threadlib.c: Include <stdlib.h>.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/glthread/threadlib.c (dummy): New declaration.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
+       multibyte characters also for the GB18030 encoding. Don't crash when
+       the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Avoid redefining 'struct random_data' on OSF/1 5.1.
+       * lib/stdlib.in.h: Include <random.h> if it exists.
+       * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
+       HAVE_RANDOM_H. Include <random.h> when testing whether
+       'struct random_data' exists.
+       * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Don't install charset.alias on MacOS X >= 10.3.
+       * lib/localcharset.c (DARWIN7): New macro.
+       (get_charset_aliases): Hardcode the result for Darwin7.
+       * modules/localcharset (install-exec-local): Don't install
+       charset.alias on MacOS X >= 10.3, if the file does not yet exist.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Don't install charset.alias on mingw and Cygwin.
+       * modules/localcharset (install-exec-local): Don't install
+       charset.alias on mingw and Cygwin, if the file does not yet exist.
+       The result for these platforms is hardcoded in localcharset.c.
+
+2009-01-25  Bruno Haible  <bruno@clisp.org>
+
+       Make it possible again to use AC_GNU_SOURCE together with gnulib.
+       * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
+       before requiring AC_USE_SYSTEM_EXTENSIONS.
+
+2009-01-25  Jim Meyering  <meyering@redhat.com>
+
+       c-strtod: avoid warnings
+       * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
+       "assignment discards qualifiers from pointer target type" warnings.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       Add support for non-UTF-8 locales on MacOS X.
+       * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
+       canonical encodings. For Darwin 7 and newer, don't map traditional
+       encodings to UTF-8.
+       Reported by Vincent Lefevre <vincent@vinc17.org>
+       at <http://savannah.gnu.org/bugs/?25235>.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi (Obsolete modules): New section.
+       Reported by Mike Frysinger <vapier@gentoo.org>.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
+       (%.dvi): New rule.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
+       Reported by Eric Blake.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
+       set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2009-01-24  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
+
+2009-01-23  Bruno Haible  <bruno@clisp.org>
+
+       Make c-strtod, c-strtold usable in libraries.
+       * lib/c-strtod.c: Include string.h instead of xalloc.h.
+       (C_STRTOD): Call strdup instead of xstrdup.
+       * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
+       * modules/c-strtold (Depends-on): Likewise.
+       * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
+       * NEWS: Mention the change.
+       Reported by Michael Gold <mgold@ncf.ca>.
+
+2009-01-23  Jim Meyering  <meyering@redhat.com>
+
+       c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
+       * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
+       ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
+
+2009-01-23  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
+       GNU CoreUtils.
+       * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
+       * modules/version-etc (Description): Update.
+
+2009-01-22  Bruno Haible  <bruno@clisp.org>
+
+       Cache the C locale object.
+       * lib/c-strtod.c (c_locale_cache): New variable.
+       (c_locale): New function.
+       (C_STRTOD): Use it, and don't call freelocale.
+       * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
+       Suggested by Paolo Bonzini.
+
+2009-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/getloadavg.c (getloadavg): Check c_strtod result against error
+       conditions other than overflow.
+
+2009-01-21  Bruno Haible  <bruno@clisp.org>
+
+       * lib/c-strtod.c: Include errno.h.
+       (C_STRTOD): Check against NULL return from newlocale. Preserve errno
+       value from STRTOD_L and STRTOD.
+
+2009-01-21  Bruno Haible  <bruno@clisp.org>
+       and Jim Meyering  <meyering@redhat.com>
+
+       nanosleep: skip configure test (fail it) for apple universal builds
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
+       universal builds, assume that nanosleep does not work.
+       * modules/nanosleep (Depends-on): Add multiarch.
+
+       mktime: skip configure test (fail it) for apple universal builds
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
+       universal builds, assume that mktime does not work.
+       * modules/mktime (Depends-on): Add multiarch.
+
+2009-01-21  Eric Blake  <ebb9@byu.net>
+
+       multiarch: avoid expand-before-require warning
+       * modules/multiarch (configure.ac): Require, rather than expand,
+       gl_MULTIARCH.
+       * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
+       (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
+       enforce that all clients require it.  Partial reversion of
+       2008-12-29 patch.
+
+       error: avoid expand-before-require warning
+       * modules/errno (configure.ac): Require, rather than expand,
+       gl_HEADER_ERRNO_H.
+       * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
+       (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
+       enforce that all clients require it.
+
+       gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
+       * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
+       obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
+       and rely solely on gl_USE_SYSTEM_EXTENSIONS.
+
+2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       Revert:
+       2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
+
+       regex: do not depend on obsolete modules.
+       * modules/regex: Remove memcmp and memmove.
+
+2009-01-20  Bruno Haible  <bruno@clisp.org>
+
+       Make the 'link' module link on Windows NT 4.
+       * lib/link.c (_WIN32_WINNT): Don't define.
+       (CreateHardLinkFuncType): New type.
+       (CreateHardLinkFunc, initialized): New variables.
+       (initialize): New function.
+       (link): Invoke CreateHardLink indirectly through the function pointer.
+
 2009-01-20  Bruno Haible  <bruno@clisp.org>
 
        Fix compilation failure on mingw.