+2009-06-25 Sergey Poznyakoff <gray@gnu.org.ua>
+
+ Provide additional interfaces and documentation for version-etc
+ module.
+
+ * lib/version-etc.c (version_etc_arn, version_etc_ar): New
+ interfaces.
+ * lib/version-etc.h (version_etc_arn, version_etc_ar): New
+ prototypes.
+
+2009-06-24 Bruno Haible <bruno@clisp.org>
+
+ * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
+ HAVE_LIB${NAME} macro.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2009-06-23 Simon Josefsson <simon@josefsson.org>
+
+ * modules/hash-tests (test_hash_LDADD): Link to libintl when
+ needed.
+
+2009-06-21 Bruno Haible <bruno@clisp.org>
+
+ Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
+ work.
+ * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
+ together with LIB${NAME}, LTLIB${NAME}.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2009-06-20 Jim Meyering <meyering@redhat.com>
+
+ tests: make sc_require_test_exit_idiom more generic
+ * top/maint.mk (Exit_witness_file): New overridable variable.
+ (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
+ Relax test for /^Exit \$fail$$/ to just /^Exit ./.
+
+2009-06-19 Jim Meyering <meyering@redhat.com>
+
+ hash: reverse order of src/dst parameters in an internal interface
+ * lib/hash.c (transfer_entries): Reverse order of parameters to
+ put DST before SRC. Adjust callers.
+
+ tests: test-hash: avoid wholesale duplication
+ * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
+ Instead, use a loop and add a single conditional.
+
+ tests: test-hash: allow seed selection via a command line argument
+ * tests/test-hash.c (get_seed): New function.
+ (main): Use it.
+
+2009-06-19 Eric Blake <ebb9@byu.net>
+
+ hash: avoid memory leak on allocation failure
+ * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
+ failure. Factor repeated algorithm...
+ (transfer_entries): ...into new helper routine.
+ (hash_delete): React to hash_rehash return value.
+
+ hash: reduce memory pressure in hash_rehash no-op case
+ * lib/hash.c (next_prime): Avoid overflow.
+ (hash_initialize): Factor bucket size computation...
+ (compute_bucket_size): ...into new helper function.
+ (hash_rehash): Use new function and open coding to reduce memory
+ pressure, and avoid a memory leak in USE_OBSTACK code.
+ Reported by Jim Meyering.
+
+2009-06-18 Eric Blake <ebb9@byu.net>
+
+ hash: make rotation more obvious
+ * modules/hash (Depends-on): Add bitrotate and stdint.
+ * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
+ * lib/hash.c (headers): Drop limits.h. Add stdint.h.
+ (SIZE_MAX): Rely on headers for definition.
+ (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
+ (raw_hasher): Use rotr_sz.
+ Suggested by Jim Meyering.
+
+ hash: fix memory leak in last patch
+ * lib/hash.c (hash_rehash): Avoid memory leak.
+
+ hash: avoid no-op rehashing
+ * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
+
+ hash: provide default callback functions
+ * lib/hash.c (raw_hasher, raw_comparator): New functions.
+ (hash_initialize): Use them as defaults.
+ * tests/test-hash.c (main): Test this.
+
+ hash: minor optimization
+ * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
+ when possible.
+ (hash_initialize): Document this promise.
+ (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
+ * tests/test-hash.c (hash_compare_strings): Test this.
+
2009-06-18 Bruno Haible <bruno@clisp.org>
* m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is