X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=75ae3a67a933b72b53f8d1b40e998127c0ef4fb2;hb=8ec8f4b42e39d3aaf2dda06c38b8db00efcc69f5;hp=70de83ef5cf38910e433841e21e6699cbfb5db1e;hpb=3ea7149254196fdcf06e81140c3d6c2910e9daad;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 70de83ef5..75ae3a67a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,671 @@ +2009-07-25 Jim Meyering + + maint.mk: avoid warnings about missing files + * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a + diagnostic when .prev-version does not exist. + (_cfg_mk): Define, so it can be empty when cfg.mk does not exist. + (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about + nonexistent cfg.mk. + Suggestions from Simon Josefsson. + +2009-07-25 Bruno Haible + + * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already + defined as macros. Needed on QNX 6.4.1. + Reported by Matt Kraai . + +2009-07-23 Jim Meyering + + maint.mk: invoke "make dist" with a working value of XZ_OPT + * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT. + +2009-07-22 Matt Kraai (tiny change) + + Make fseeko.c compile on QNX. + * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE. + +2009-07-22 Peter Simons + + C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope + * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope. + * lib/md4.h: Likewise. + * lib/md5.h: Likewise. + * lib/sha1.h: Likewise. + * lib/sha256.h: Likewise. + * lib/sha512.h: Likewise. + + tests-sha1: don't assign literal string to 'char *' variable + * tests/test-sha1.c (main): Declare locals with "const" to match + attributes of the right hand side. + +2009-07-21 Eric Blake + + dup2: fix more mingw problems + * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating + fd to itself. + * doc/posix-functions/dup2.texi (dup2): Document the bug. + * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision. + * lib/fchdir.c (dup2): Manage preprocessor macros correctly. + (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take + care of mingw bugs. + +2009-07-21 Jim Meyering + + vc-list-files: avoid failure when /bin/sh is dash + * build-aux/vc-list-files: Avoid a shell portability problem with dash. + On some Debian based systems, /bin/sh is a symlink to dash, and running + this command would omit the "/" following each 'tests' prefix: + dash -x build-aux/vc-list-files -C . tests + That is because bash and dash work differently: + $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done + bash ok + dash odd + +2009-07-21 Eric Blake + + dup2-tests: test previous patch + * modules/dup2-tests: New file. + * tests/test-dup2.c: Likewise. + * tests/test-open.c (main): Avoid unspecified behavior. + * tests/test-pipe.c (child_main): Use dup2 semantics to simplify + test. + + dup2: work around mingw and cygwin 1.5 bug + * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (dup2): Declare the replacement. + * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it. + * doc/posix-functions/dup2.texi (dup2): Document the bugs. + * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement. + * modules/execute (Depends-on): Add dup2. + * modules/fseterr (Depends-on): Likewise. + * modules/pipe (Depends-on): Likewise. + * modules/posix_spawn-internal (Depends-on): Likewise. + +2009-07-21 Bruno Haible + + * modules/.gitattributes: New file. + +2009-07-20 Bruno Haible + + * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro. + (main): Use it. + +2009-07-20 Eric Blake + + test-pipe: make a bit more robust. + * tests/test-pipe.c (myerr): Allow error messages regardless of + what we do to stderr. + (test_pipe): Rearrange to avoid deadlock. + (child_main): Try a larger read, to ensure we avoided deadlock. + * lib/pipe.c (create_pipe) [_WIN32]: Fix comment. + * lib/pipe.h (create_pipe_bidi): Document potential for deadlock + if misused. + +2009-07-19 Jim Meyering + + fts: avoid false-positive cycle-detection + * lib/fts.c (fts_read): Reinitialize cycle-detection data structures + for each new command line argument. + +2009-07-19 Bruno Haible + + Fix build error on mingw with the modules sys_select and unistd. + * modules/acl-tests (Depends-on): Add close. + * modules/binary-io-tests (Depends-on): Likewise. + * modules/closein-tests (Depends-on): Likewise. + * modules/flock-tests (Depends-on): Likewise. + * modules/fsync-tests (Depends-on): Likewise. + * modules/lseek-tests (Depends-on): Likewise. + * modules/pipe-tests (Depends-on): Likewise. + * modules/posix_spawn-tests (Depends-on): Likewise. + * modules/posix_spawnp-tests (Depends-on): Likewise. + * modules/stat-time-tests (Depends-on): Likewise. + * modules/yesno-tests (Depends-on): Likewise. + +2009-07-19 Bruno Haible + + Unify conditionals. + * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__ + macros, not at the compiler macros. + * lib/pipe.c: Likewise. + * lib/execute.c: Likewise. + * lib/spawni.c: Likewise. + +2009-07-19 Bruno Haible + + Fix handling of closed stdin/stdout/stderr on mingw. + * lib/w32spawn.h: Include unistd.h. + (dup_noinherit): Return -1 if the old handle is invalid. Allocate new + file descriptor with O_NOINHERIT flag. + (fd_safer_noinherit): New function, based on fd-safer.c. + (dup_safer_noinherit): New function, based on dup-safer.c. + (undup_safer_noinherit): New function. + * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of + dup_noinherit. Use undup_safer_noinherit instead of dup2 and close. + * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit + instead of fd_safer. + * tests/test-pipe.c: Include . + (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result. + + * tests/test-pipe.c (child_main, parent_main): New functions, extracted + from main. + (test_pipe): Pass an extra argument for disambiguation. + (main): Invoke parent_main or child_main. + + * tests/test-pipe.c (test_pipe): Pass slave_process = true argument + consistently. + +2009-07-18 Eric Blake + + test-pipe: fix mingw build + * tests/test-pipe.c (main): Avoid fcntl on mingw. + +2009-07-18 Bruno Haible + + * modules/pipe-tests (Makefile.am): Fix typo. + +2009-07-18 Eric Blake + + error: fix mingw build + * lib/error.c (error, error_at_line): Avoid fcntl on mingw. + Reported by Bruno Haible. + + error: avoid undefined use of stdout + * lib/error.c (error, error_at_line): Check that fd 1 is open + before flushing stdout. Avoids a crash on cygwin when libsigsegv + is handling faults and the close_stdout module wants to report the + detection of closed stdout as an error. + +2009-07-17 Eric Blake + + pipe: be robust in face of closed fds + * lib/pipe.c (create_pipe): Closed standard descriptors in parent + should cause child to misbehave. + * modules/pipe-tests: New module. + * tests/test-pipe.c: New file. + * tests/test-pipe.sh: New file. + Reported by Akim Demaille. + +2009-07-14 Bruno Haible + + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems. + Reported by anonymous kc. + +2009-07-07 Jim Meyering + + 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 + + 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 + + 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 + + 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 + + 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 + + * lib/git-merge-changelog.c (compute_mapping): Fix determination of + best_i. + +2009-07-02 Bruno Haible + + 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 + + * lib/git-merge-changelog.c (main): Add comment about git cherry-pick. + +2009-06-30 Bruno Haible + + 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 + + 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 + + * 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 + + 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 + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap + invocation. + * modules/unicase/u16-toupper (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation. + * modules/unicase/u8-toupper (Depends-on): Add + unicase/empty-prefix-context, unicase/empty-suffix-context. + + New module 'unicase/u32-ct-casefold'. + * lib/unicase/u32-ct-casefold.c: New file. + * modules/unicase/u32-ct-casefold: New file. + + New module 'unicase/u16-ct-casefold'. + * lib/unicase/u16-ct-casefold.c: New file. + * modules/unicase/u16-ct-casefold: New file. + + New module 'unicase/u8-ct-casefold'. + * lib/unicase/u8-ct-casefold.c: New file. + * lib/unicase/u-ct-casefold.h: New file, derived from + lib/unicase/u-casefold.h. + * modules/unicase/u8-ct-casefold: New file. + + New module 'unicase/u32-ct-totitle'. + * lib/unicase/u32-ct-totitle.c: New file. + * modules/unicase/u32-ct-totitle: New file. + + New module 'unicase/u16-ct-totitle'. + * lib/unicase/u16-ct-totitle.c: New file. + * modules/unicase/u16-ct-totitle: New file. + + New module 'unicase/u8-ct-totitle'. + * lib/unicase/u8-ct-totitle.c: New file. + * lib/unicase/u-ct-totitle.h: New file, derived from + lib/unicase/u-totitle.h. + * modules/unicase/u8-ct-totitle: New file. + + New module 'unicase/u32-ct-tolower'. + * lib/unicase/u32-ct-tolower.c: New file. + * modules/unicase/u32-ct-tolower: New file. + + New module 'unicase/u16-ct-tolower'. + * lib/unicase/u16-ct-tolower.c: New file. + * modules/unicase/u16-ct-tolower: New file. + + New module 'unicase/u8-ct-tolower'. + * lib/unicase/u8-ct-tolower.c: New file. + * modules/unicase/u8-ct-tolower: New file. + + New module 'unicase/u32-ct-toupper'. + * lib/unicase/u32-ct-toupper.c: New file. + * modules/unicase/u32-ct-toupper: New file. + + New module 'unicase/u16-ct-toupper'. + * lib/unicase/u16-ct-toupper.c: New file. + * modules/unicase/u16-ct-toupper: New file. + + New module 'unicase/u8-ct-toupper'. + * lib/unicase/u8-ct-toupper.c: New file. + * modules/unicase/u8-ct-toupper: New file. + + Add context arguments to u*_casemap functions. + * lib/unicase/unicasemap.h: Include unicase.h. + (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and + suffix_context arguments. + * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove + functions. + (FUNC): Add prefix_context and suffix_context arguments. Use + uc_is_cased and uc_is_case_ignorable. + * lib/unicase/u8-casemap.c: Include caseprop.h and context.h. + * lib/unicase/u16-casemap.c: Likewise. + * lib/unicase/u32-casemap.c: Likewise. + * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h. + (Depends-on): Add unicase/cased, unicase/ignorable. Clean up. + + New module 'unicase/u32-suffix-context'. + * lib/unicase/u32-suffix-context.c: New file. + * modules/unicase/u32-suffix-context: New file. + + New module 'unicase/u16-suffix-context'. + * lib/unicase/u16-suffix-context.c: New file. + * modules/unicase/u16-suffix-context: New file. + + New module 'unicase/u8-suffix-context'. + * lib/unicase/u8-suffix-context.c: New file. + * lib/unicase/u-suffix-context.h: New file. + * modules/unicase/u8-suffix-context: New file. + + New module 'unicase/empty-suffix-context'. + * lib/unicase/empty-suffix-context.c: New file. + * modules/unicase/empty-suffix-context: New file. + + New module 'unicase/u32-prefix-context'. + * lib/unicase/u32-prefix-context.c: New file. + * modules/unicase/u32-prefix-context: New file. + + New module 'unicase/u16-prefix-context'. + * lib/unicase/u16-prefix-context.c: New file. + * modules/unicase/u16-prefix-context: New file. + + New module 'unicase/u8-prefix-context'. + * lib/unicase/u8-prefix-context.c: New file. + * lib/unicase/u-prefix-context.h: New file. + * lib/unicase/context.h: New file. + * modules/unicase/u8-prefix-context: New file. + + New module 'unicase/empty-prefix-context'. + * lib/unicase/empty-prefix-context.c: New file. + * modules/unicase/empty-prefix-context: New file. + + New module 'unicase/ignorable'. + * lib/unicase/ignorable.c: New file. + * modules/unicase/ignorable: New file. + + New module 'unicase/cased'. + * lib/unicase/caseprop.h: New file. + * lib/unicase/cased.c: New file. + * modules/unicase/cased: New file. + + New functions for case mapping of substrings. + * lib/unicase.h (casing_prefix_context_t): New type. + (unicase_empty_prefix_context): New variable. + (u8_casing_prefix_context, u16_casing_prefix_context, + u32_casing_prefix_context, u8_casing_prefixes_context, + u16_casing_prefixes_context, u32_casing_prefixes_context): New + declarations. + (casing_suffix_context_t): New type. + (unicase_empty_suffix_context): New variable. + (u8_casing_suffix_context, u16_casing_suffix_context, + u32_casing_suffix_context, u8_casing_suffixes_context, + u16_casing_suffixes_context, u32_casing_suffixes_context, + u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower, + u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle, + u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New + declarations. + +2009-06-28 Jim Meyering + + boostrap: indent only with spaces + * build-aux/bootstrap: Indent only with spaces, never TABs. + + bootstrap: split long lines + * build-aux/bootstrap: Keep line length < 80. + + bootstrap: sync from coreutils + * build-aux/bootstrap: Honor variables like $ACLOCAL, etc., + just as autoreconf does. Verify a list of prerequisite + package-name,version-number pairs if defined in bootstrap.conf. + Refer to README-prereq, if prerequisites are not satisfied. + +2009-06-27 Eric Blake + + tests: add test for bogus NULL definition + * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL. + * tests/test-stdlib.c: Likewise. + * tests/test-string.c: Likewise. + * tests/test-locale.c: Likewise. + * tests/test-unistd.c: Likewise. + * modules/stdio-tests (Depends-on): Add verify. + * modules/stdlib-tests (Depends-on): Likewise. + * modules/string-tests (Depends-on): Likewise. + * modules/locale-tests (Depends-on): Likewise. + * modules/unistd-tests (Depends-on): Likewise. + +2009-06-27 Paolo Bonzini + + * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove + self-explaining comment. + * m4/selinux-selinux-h: Update serial. + (gl_LIBSELINUX): New macro, adding a warning for missing development + packages to code extracted from... + (gl_HEADERS_SELINUX_SELINUX_H): ... this one. Require gl_LIBSELINUX. + Add warning for missing development packages here, too. + +2009-06-26 Paolo Bonzini + + * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL. + +2009-06-25 Eric Blake + + version-etc: fix regression + * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough + gcc. + (version_etc): Use it, to catch bugs with trailing NULL. + * lib/version-etc.c (version_etc_arn): Delete unused argument. + (version_etc_va): Fix logic bug. + * modules/version-etc-tests: Add test. + * tests/test-version-etc.c: New file. + * tests/test-version-etc.sh: Likewise. + +2009-06-25 Sam Steingold + + * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include , for the + mbtowc declaration. + +2009-06-25 Eric Blake + + fpurge: migrate into + * lib/fpurge.h: Delete... + * lib/stdio.in.h (fpurge): ...and declare here, instead. + * lib/fpurge.c (fpurge): Change declaring header. + * modules/fpurge (Files): Drop deleted file. + (Depends-on): Add stdio. + (configure.ac): Set witness. + * modules/stdio (Makefile.am): Support fpurge macros. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. + * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables. + * lib/fflush.c: Update client. + * tests/test-fpurge.c: Likewise. + * NEWS: Mention the change. + +2009-06-25 Sergey Poznyakoff + + * lib/argp-version-etc.c (program_authors): Add const + qualifier. + * lib/version-etc.c: Fix typos in the comments. + * modules/argp-version-etc: Depends on version-etc. + +2009-06-25 Sergey Poznyakoff + + argp-version-etc: new module. + + * lib/argp-version-etc.c: New file. + * lib/argp-version-etc.h: New file. + * modules/argp-version-etc: New file. + * modules/argp-version-etc-tests: New file. + * tests/test-argp-version-etc.c: New test. + * tests/test-argp-version-etc-1.sh: New test. + +2009-06-25 Sergey Poznyakoff + + 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 + + * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of + HAVE_LIB${NAME} macro. + Reported by Sam Steingold . + +2009-06-23 Simon Josefsson + + * modules/hash-tests (test_hash_LDADD): Link to libintl when + needed. + +2009-06-21 Bruno Haible + + 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 . + +2009-06-20 Jim Meyering + + 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 + + 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 + + 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 hash: make rotation more obvious