+2009-02-21 Bruno Haible <bruno@clisp.org>
+
+ * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
+ (UC_DECOMP_*): New enumeration items.
+ (get_decomposition): New function.
+ (struct decomp_table): New type.
+ (output_decomposition, output_decomposition_tables): New functions.
+ (unicode_composition_exclusions): New variable.
+ (fill_composition_exclusions, debug_output_composition_tables): New
+ functions.
+ (main): Accept one more argument. Invoke fill_composition_exclusions.
+ Output decomposition and composition tables.
+
+ New module 'uninorm/base'.
+ * lib/uninorm.h: New file.
+ * lib/unictype.h: Update comment.
+ * modules/uninorm/base: New file.
+
+2009-02-21 David Lutterkort <lutter@redhat.com>
+
+ Tests for module 'safe-alloc'.
+ * tests/test-safe-alloc.c: New file.
+ * modules/safe-alloc-tests: New file.
+
+ New module 'safe-alloc'.
+ * lib/safe-alloc.h: New file.
+ * lib/safe-alloc.c: New file.
+ * m4/safe-alloc.m4: New file.
+ * modules/safe-alloc: New file.
+ * doc/safe-alloc.texi: New file.
+ * doc/gnulib.texi: Include it.
+ * MODULES.html.sh (Memory management functions <stdlib.h>): Add
+ safe-alloc.
+
+2009-02-18 Bruno Haible <bruno@clisp.org>
+
+ Fix link error on non-glibc systems.
+ * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
+ variable.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-02-18 Jim Meyering <meyering@redhat.com>
+
+ fts: avoid used-uninitialized error due to recent change
+ * lib/fts.c (fts_read): Guard uses of the new member,
+ parent->fts_n_dirs_remaining, since it's not relevant for
+ the parent of a directory specified on the command-line.
+
+2009-02-17 James Youngman <jay@gnu.org>
+ Bruno Haible <bruno@clisp.org>
+
+ * m4/include_next.m4: Reformulate comment.
+
+2009-02-16 Jim Meyering <meyering@redhat.com>
+
+ fts: add #if guards so that the fts_lgpl module still builds
+ * lib/fts.c: Guard just-added hash-table-using parts with
+ #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
+ Reported by Simon Josefsson.
+
+2009-02-15 Bruno Haible <bruno@clisp.org>
+
+ * modules/array-mergesort-tests: New file.
+ * tests/test-array-mergesort.c: New file.
+
+ New module 'array-mergesort'.
+ * modules/array-mergesort: New file.
+ * lib/array-mergesort.h: New file.
+
+2009-02-15 Bruno Haible <bruno@clisp.org>
+
+ Fix 2009-02-07 commit.
+ * lib/gen-uni-tables.c (output_predicate, output_category,
+ output_combclass, output_bidi_category, output_decimal_digit,
+ output_digit, output_numeric, output_mirror, output_scripts,
+ output_ident_category, output_simple_mapping): Fix format directives.
+ (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
+
+2009-02-15 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
+ fixes are available from IBM.
+
+2009-02-13 Jim Meyering <meyering@redhat.com>
+
+ fts: arrange not to stat non-directories in more cases
+ This makes GNU find (when it doesn't need to stat each file)
+ *much* more efficient at traversing reiserfs file systems.
+ * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
+ (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
+ * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
+ (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
+ (leaf_optimization_applies): New function.
+ (LCO_hash, LCO_compare): New helper functions.
+ (link_count_optimize_ok): New function.
+ (fts_stat): Initialize new member (if dir).
+ (fts_read): Decrement parent's fts_n_dirs_remaining count if
+ we've just stat'ed a directory. Skip the stat call when possible.
+ ---
+ Note this AFS-related exchange:
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
+ and note find's pioctl call in find/fstype.c.
+ But that is necessary only if you want to enable the
+ optimization for AFS, and for now, I don't.
+
+ fts: move a function definition "up" (no semantic change)
+ * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
+ "up" to precede upcoming use of a related function.
+
+2009-02-11 Jim Meyering <meyering@redhat.com>
+
+ fts: correct internal computation of nlinks (optimization-related)
+ * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
+ whether the current entry is a directory, so don't test it.
+
+2009-02-10 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'uniwbrk/ulc-wordbreaks'.
+ * modules/uniwbrk/ulc-wordbreaks-tests: New file.
+ * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
+ * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
+
+ Tests for module 'uniwbrk/u32-wordbreaks'.
+ * modules/uniwbrk/u32-wordbreaks-tests: New file.
+ * tests/uniwbrk/test-u32-wordbreaks.c: New file.
+
+ Tests for module 'uniwbrk/u16-wordbreaks'.
+ * modules/uniwbrk/u16-wordbreaks-tests: New file.
+ * tests/uniwbrk/test-u16-wordbreaks.c: New file.
+
+ Tests for module 'uniwbrk/u8-wordbreaks'.
+ * modules/uniwbrk/u8-wordbreaks-tests: New file.
+ * tests/uniwbrk/test-u8-wordbreaks.c: New file.
+
+2009-02-10 Bruno Haible <bruno@clisp.org>
+
+ * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
+ property.
+ * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
+ * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
+ * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
+
+2009-02-10 Simon Josefsson <simon@josefsson.org>
+
+ * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
+ inline keywords. Reported by Bruno Haible <bruno@clisp.org>.
+
+2009-02-10 Bruno Haible <bruno@clisp.org>
+
+ * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
+ * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
+ * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
+ * lib/unilbrk/u8-possible-linebreaks.c: Update.
+ * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
+ * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
+
+2009-02-09 Simon Josefsson <simon@josefsson.org>
+
+ * lib/sockets.h (gl_fd_to_handle): New function.
+
+ * tests/test-sockets.c: Call gl_fd_to_handle.
+
+2009-02-09 Bruno Haible <bruno@clisp.org>
+
+ * doc/havelib.texi: Document the conventions on bi-arch systems.
+
+2009-02-08 Bruno Haible <bruno@clisp.org>
+
+ Document the AC_LIB_LINKFLAGS macro.
+ * doc/havelib.texi: New file, mostly written on 2005-05-24.
+ * doc/gnulib.texi: Include it.
+
+2009-02-08 Bruno Haible <bruno@clisp.org>
+
+ Fix wrong order of sections, compared to TOC.
+ * doc/gnulib.texi: Include relocatable-maint.texi after the
+ "Regular expressions" node, not before.
+
+2009-02-08 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unicase/totitle'.
+ * modules/unicase/totitle-tests: New file.
+
+ Tests for module 'unicase/tolower'.
+ * modules/unicase/tolower-tests: New file.
+
+ Tests for module 'unicase/toupper'.
+ * modules/unicase/toupper-tests: New file.
+ * tests/unicase/test-mapping-part1.h: New file.
+ * tests/unicase/test-mapping-part2.h: New file.
+
+ 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.
+ * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
+
+2009-01-20 Michael Gold <mgold@ncf.ca> (tiny change)
+
+ * doc/c-strtod.texi: Mention a couple of restrictions.
+
+2009-01-20 Jim Meyering <meyering@redhat.com>
+
+ gettimeofday: move more declarations out of functions
+ * lib/gettimeofday.c: Move extern declarations of tzset and
+ gmtime out of containing functions. Prompted by Bruno Haible.
+
+2009-01-20 Paolo Bonzini <bonzini@gnu.org>
+
+ regex: do not depend on obsolete modules.
+ * modules/regex: Remove memcmp and memmove.
+
+2009-01-19 Bruno Haible <bruno@clisp.org>
+
+ Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
+ * modules/uniconv/u16-conv-from-enc (configure.ac): Require
+ gl_BIGENDIAN, not AC_C_BIGENDIAN.
+ * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
+ * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
+
+2009-01-19 Bruno Haible <bruno@clisp.org>
+
+ * tests/test-link.c: Include <errno.h>.
+ (main): Exit with code 77 when a hard link cannot be created due to
+ the file system.
+ * tests/test-link.sh: Skip test when a hard link cannot be created due
+ to the file system.
+ Suggested by Eric Blake.
+
+2009-01-19 Martin Lambers <marlam@marlam.de>
+
+ * modules/link-tests: New file.
+ * tests/test-link.sh: New file.
+ * tests/test-link.c: New file.
+
2009-01-19 Eric Blake <ebb9@byu.net>
doc: mention another function added in cygwin 1.7.0