+2009-07-14 Bruno Haible <bruno@clisp.org>
+
+ * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
+ Reported by anonymous kc.
+
+2009-07-07 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: don't look for translatable strings in *.m4 or *.mk
+ * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
+ when searching for translatable strings.
+
+2009-07-05 Jim Meyering <meyering@redhat.com>
+
+ remove superfluous parentheses in STREQ definition
+ * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
+ * lib/getugroups.c (STREQ): Likewise.
+ * lib/fnmatch.c (STREQ): Likewise.
+ Spotted by Bruno Haible.
+
+2009-07-04 Jim Meyering <meyering@redhat.com>
+
+ argv-iter: new module
+ * MODULES.html.sh: Add argv-iter.
+ * lib/argv-iter.c, lib/argv-iter.h: New files.
+ * modules/argv-iter: New file.
+ * modules/argv-iter-tests: New file.
+ * tests/test-argv-iter.c: Test it.
+
+2009-07-04 Bruno Haible <bruno@clisp.org>
+
+ Fix assertion.
+ * lib/git-merge-changelog.c (compute_mapping): In the case where file1
+ contains more exact copies of a given entry than file2, leave the extra
+ copies unpaired rather than aborting.
+ Reported by Eric Blake.
+
+2009-07-02 Bruno Haible <bruno@clisp.org>
+
+ Speedup git-merge-changelog for git cherry-pick.
+ * lib/git-merge-changelog.c (struct entries_mapping): New type.
+ (entries_mapping_get): New function, extracted from compute_mapping.
+ (entries_mapping_reverse_get): New function.
+ (compute_mapping): Add a 'full' argument. Return the result in a
+ 'struct entries_mapping'.
+ (main): Update. Access the mappings through entries_mapping_get.
+ Reported by Eric Blake.
+
+2009-07-02 Bruno Haible <bruno@clisp.org>
+
+ * lib/git-merge-changelog.c (compute_mapping): Fix determination of
+ best_i.
+
+2009-07-02 Bruno Haible <bruno@clisp.org>
+
+ Speed up approximate search for matching ChangeLog entries.
+ * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
+ argument. Call fstrcmp_bounded instead of fstrcmp.
+ (compute_mapping, try_split_merged_entry, main): Update callers.
+
+2009-07-02 Bruno Haible <bruno@clisp.org>
+
+ * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
+
+2009-06-30 Bruno Haible <bruno@clisp.org>
+
+ Reduce the number of uc_is_cased calls.
+ * lib/unicase.h (casing_suffix_context_t): Add
+ 'first_char_except_ignorable' field.
+ * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
+ (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
+ * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
+ Update initializer.
+ * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
+ case-ignorable characters.
+ * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
+ * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
+ * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
+ * modules/unicase/u16-suffix-context (Depends-on): Likewise.
+ * modules/unicase/u32-suffix-context (Depends-on): Likewise.
+
+2009-06-30 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unicase/ignorable'.
+ * modules/unicase/ignorable-tests: New file.
+ * tests/unicase/test-ignorable.c: New file, generated by
+ gen-uni-tables.
+
+ Tests for module 'unicase/cased'.
+ * modules/unicase/cased-tests: New file.
+ * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
+ * tests/unicase/test-predicate-part1.h: New file, derived from
+ tests/unictype/test-predicate-part1.h.
+ * tests/unicase/test-predicate-part2.h: New file, same as
+ tests/unictype/test-predicate-part2.h.
+
+ Fix evaluation of "Before C" condition of FINAL_SIGMA.
+ * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
+ (output_casing_properties): New function.
+ (main): Call it.
+ * lib/unicase/cased.h: New file, generated by gen-uni-tables.
+ * lib/unicase/cased.c: Include unictype/bitmap.h.
+ (uc_is_cased): Define through a bitmap lookup.
+ * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
+ * lib/unicase/ignorable.c: Include unictype/bitmap.h.
+ (uc_is_case_ignorable): Define through a bitmap lookup.
+ * modules/unicase/cased (Files): Add lib/unicase/cased.h,
+ lib/unictype/bitmap.h.
+ (Depends-on): Add inline. Clean up.
+ * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
+ lib/unictype/bitmap.h.
+ (Depends-on): Add inline. Clean up.
+ * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
+ recognition.
+ * tests/unicase/test-u16-tolower.c (main): Likewise.
+ * tests/unicase/test-u32-tolower.c (main): Likewise.
+
+2009-06-30 Bruno Haible <bruno@clisp.org>
+
+ * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
+ * lib/unicase/u16-casemap.c: Likewise.
+ * lib/unicase/u32-casemap.c: Likewise.
+
2009-06-29 Bruno Haible <bruno@clisp.org>
+ Define u32_casefold as a wrapper around u32_ct_casefold.
+ * lib/unicase/u32-casefold.c: Update.
+ * modules/unicase/u32-casefold (Depends-on): Add
+ unicase/u32-ct-casefold, unicase/empty-prefix-context,
+ unicase/empty-suffix-context. Clean up.
+
+ Define u16_casefold as a wrapper around u16_ct_casefold.
+ * lib/unicase/u16-casefold.c: Update.
+ * modules/unicase/u16-casefold (Depends-on): Add
+ unicase/u16-ct-casefold, unicase/empty-prefix-context,
+ unicase/empty-suffix-context. Clean up.
+
+ Define u8_casefold as a wrapper around u8_ct_casefold.
+ * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
+ * lib/unicase/u8-casefold.c: Update.
+ * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
+ unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+ Define u32_totitle as a wrapper around u32_ct_totitle.
+ * lib/unicase/u32-totitle.c: Update.
+ * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
+ unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+ Define u16_totitle as a wrapper around u16_ct_totitle.
+ * lib/unicase/u16-totitle.c: Update.
+ * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
+ unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+ Define u8_totitle as a wrapper around u8_ct_totitle.
+ * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
+ functions.
+ (FUNC): Delegate to U_CT_TOTITLE.
+ * lib/unicase/u8-totitle.c: Update.
+ * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
+ unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
+
+ * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
+ invocation.
+ * modules/unicase/u32-tolower (Depends-on): Add
+ unicase/empty-prefix-context, unicase/empty-suffix-context.
+
+ * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
+ invocation.
+ * modules/unicase/u16-tolower (Depends-on): Add
+ unicase/empty-prefix-context, unicase/empty-suffix-context.
+
+ * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
+ * modules/unicase/u8-tolower (Depends-on): Add
+ unicase/empty-prefix-context, unicase/empty-suffix-context.
+
* lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
invocation.
* modules/unicase/u32-toupper (Depends-on): Add