New module 'environ'.
[gnulib.git] / ChangeLog
index 7929dcd..36e7e06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,396 @@
+2008-02-24  Bruno Haible  <bruno@clisp.org>
+
+       New module 'environ'.
+       * modules/environ: New file.
+       * lib/unistd.in.h (environ): New declaration.
+       * m4/environ.m4: New file.
+       (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
+       after use.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
+       HAVE_DECL_ENVIRON.
+       * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
+       HAVE_DECL_ENVIRON.
+       * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
+       wrong claim that 'environ' is missing on some systems.
+       * modules/execute (Depends-on): Add environ.
+       * lib/execute.c (environ): Remove fallback declaration.
+       * modules/pipe (Depends-on): Add environ.
+       * lib/pipe.c (environ): Remove fallback declaration.
+       * modules/setenv (Depends-on): Add environ.
+       * lib/setenv.c (environ): Remove fallback declaration.
+       * modules/unsetenv (Depends-on): Add environ.
+       * lib/unsetenv.c (environ): Remove fallback declaration.
+       * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
+       m4/environ.m4.
+       (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
+       (gl_PREREQ_UNSETENV): Likewise.
+
+2008-02-24  Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/environ.texi: Document the MacOS X problem.
+
+2008-02-20  Bob Proulx  <bob@proulx.com>
+
+       Enable use of older two part flavor 'git describe'.
+       * build-aux/git-version-gen: If using the older two part flavor of
+       git version then recreate the third part now present in the
+       newer three part flavor of git describe.
+
+2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
+
+       * lib/fts.c (fts_build): Typo correction to comment.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
+       generating no-op conflicts.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       Speed up by 10%.
+       * lib/git-merge-changelog.c (main): Use the iterator to iterate through
+       result_entries, rather than an index-based loop.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       Speed up by 25%.
+       * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
+       'hashcode_cached'.
+       (entry_create): New function.
+       (entry_hashcode): Use the cached hashcode if possible.
+       (read_changelog_file, try_split_merged_entry): Use entry_create.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       Speed up from O(n^2) to O(n) for long ChangeLog files.
+       * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
+       (read_changelog_file): Change implementation of entries_reversed list
+       to rbtreehash.
+       * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       New option --split-merged-entry.
+       * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
+       (find_paragraph_end, try_split_merged_entry): New functions.
+       (long_options): Add option --split-merged-entry.
+       (usage): Document option --split-merged-entry.
+       (main): Implement option --split-merged-entry.
+       Reported by Eric Blake.
+
+2008-02-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c: Include c-strstr.h.
+       (main): Support the "git pull --rebase" situation.
+       * modules/git-merge-changelog (Depends-on): Add c-strstr.
+       Reported by Eric Blake.
+
+2008-02-16  Eric Blake  <ebb9@byu.net>
+
+       Avoid doubling \ in common case of "c-maybe" quoting style.
+       * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
+       eliding outer quotes.
+       * lib/quotearg.h: Document this.
+       * tests/test-quotearg.c (result_strings, inputs, results_g)
+       (flag_results, locale_results): Test it by adding a new string to
+       each test group.
+       (compare_strings): Test new string.
+
+2008-02-13  Eric Blake  <ebb9@byu.net>
+
+       Avoid trigraph quoting in default output.
+       * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
+       * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
+       unless explicitly requested.
+       * tests/test-quotearg.c (flag_results, main): Add additional tests.
+
+2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
+
+       Don't rely on signed integer overflowing to negative value.
+       * lib/getugroups.c (getugroups): Include <limits.h>.
+       Instead, compare against INT_MAX, and increment only if the test passes.
+
+2008-02-13  Jim Meyering  <meyering@redhat.com>
+       and Eric Blake  <ebb9@byu.net>
+
+       Avoid shadowing warning and compile errors on Linux.
+       * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
+       forwarding macros on Linux.
+       (dcgettext): Define a stub, for Linux.
+       (results_g, main): Avoid warnings.
+
+2008-02-12  Eric Blake  <ebb9@byu.net>
+
+       Silence warning in last patch.
+       * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
+
+       Quotearg part 4: add tests, fix c-maybe colon quoting.
+       * lib/quotearg.h: Improve documentation.
+       * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
+       escapes when adding outer quotes.  When quoting trigraphs, use
+       valid C notation.  When quoting NUL, omit extra characters if next
+       character is not digit.  Alter prototype.
+       (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
+       callers.
+       * modules/quotearg-tests: New module.
+       * tests/test-quotearg.c: New test.
+
+2008-02-07  Eric Blake  <ebb9@byu.net>
+
+       Quotearg part 3: add flag to control outer quote elision.
+       * lib/quotearg.h (c_maybe_quoting_style): New style.
+       (enum quoting_flags): Better documentation of flags.
+       * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
+       c-maybe style.
+       (quotearg_buffer_restyled): Handle new flag to elide outer
+       quotes.
+
+       Quotearg part 2: add flag that can control NUL elision.
+       * lib/quotearg.h (set_quoting_flags): New prototype.
+       * lib/quotearg.c (struct quoting_options): Add flag field.
+       (set_quoting_flags): New function.
+       (quotearg_buffer_restyled): Add flags parameter.
+       (quotearg_alloc_mem): Set the flag if length cannot be returned.
+       (quotearg_n_options): Set the flag, since length cannot be
+       returned.
+       (quoting_options_from_style): Default flags correctly.
+
+       Quotearg part 1: more wrappers, restore quotearg_char state.
+       * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
+       (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
+       (quotearg_colon_mem): New wrappers.
+       * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
+       (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
+       functions.
+       (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
+       (quotearg_colon_mem): New functions.
+
+2008-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
+       library in the current directory: it does not work with parallel make.
+       Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2008-02-11  Bruno Haible  <bruno@clisp.org>
+
+       * .gitattributes: New file.
+
+2008-02-11  Jim Meyering  <meyering@redhat.com>
+
+       useless-if-before-free: Fix reversed exit values.
+       * build-aux/useless-if-before-free: Use correct values
+       for EXIT_MATCH and EXIT_NO_MATCH.
+
+       * build-aux/useless-if-before-free: Close stdout carefully.
+
+2008-02-10  Bruno Haible  <bruno@clisp.org>
+
+       New module 'git-merge-changelog'.
+       * modules/git-merge-changelog: New file.
+       * lib/git-merge-changelog.c: New file.
+
+2008-02-10  Jim Meyering  <meyering@redhat.com>
+
+       useless-if-before-free: New option: --list (-l).
+
+       useless-if-before-free: Don't exit immediately upon open failure.
+       * build-aux/useless-if-before-free: Exit 2 for errors.
+       Upon failure to open a file, don't exit immediately.
+       Rather, just warn and continue with any remaining files.
+
+2008-02-10  Bruno Haible  <bruno@clisp.org>
+
+       New abstract list operation 'node_set_value'.
+       * lib/gl_list.h (gl_list_node_set_value): New function.
+       (struct gl_list_implementation): New field node_set_value.
+       * lib/gl_list.c (gl_list_node_set_value): New function.
+       * lib/gl_array_list.c (gl_array_node_set_value): New function.
+       (gl_array_list_implementation): Update.
+       * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
+       (gl_carray_list_implementation): Update.
+       * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
+       * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
+       * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
+       * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
+       * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
+       * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
+       * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
+       Update.
+       * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
+       * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
+       (gl_sublist_list_implementation): Update.
+
+2008-02-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
+       Needed when ELEMENT is #defined to 'some_type *'.
+
+2008-02-10  Jim Meyering  <meyering@redhat.com>
+
+       New script and module: useless-if-before-free
+       * MODULES.html.sh (maint+release support): Add useless-if-before-free.
+       * build-aux/useless-if-before-free: New file.
+       * modules/useless-if-before-free: New file.
+
+       * build-aux/gitlog-to-changelog: Use committer date, not author date.
+
+       xstrtol_error: Fix typo.
+       * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
+       s/exit_failure/exit_status/.
+
+2008-02-09  Jim Meyering  <meyering@redhat.com>
+
+       New script and module: gitlog-to-changelog
+       * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
+       * modules/gitlog-to-changelog: New file.
+       * build-aux/gitlog-to-changelog: New file.
+
+2008-02-08  Jim Meyering  <meyering@redhat.com>
+
+       Avoid two "parameter unused" warnings.
+       * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
+       Mark "st" as used.
+
+       Use "git COMMAND", not "git-COMMAND".
+       * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
+       * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
+       * build-aux/git-version-gen: Use "git status", not "git-status".
+
+2008-02-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
+       Avoids a crash on Windows Vista.
+       Reported by Adam Strzelecki <ono@java.pl> via
+       Simon Josefsson <simon@josefsson.org>.
+
+2008-02-06  Bruno Haible  <bruno@clisp.org>
+
+       Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
+       * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
+       * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
+       (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
+       * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
+       gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
+       gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+       * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
+       * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
+       * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+       * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
+       left-adjust flag.
+       * tests/test-snprintf-posix.h (test_function): Likewise.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * doc/posix-functions/fprintf.texi: Update.
+       * doc/posix-functions/printf.texi: Update.
+       * doc/posix-functions/snprintf.texi: Update.
+       * doc/posix-functions/sprintf.texi: Update.
+       * doc/posix-functions/vfprintf.texi: Update.
+       * doc/posix-functions/vprintf.texi: Update.
+       * doc/posix-functions/vsnprintf.texi: Update.
+       * doc/posix-functions/vsprintf.texi: Update.
+       Reported by Peter Fales <psfales@alcatel-lucent.com>.
+
+2008-02-06  Bruno Haible  <bruno@clisp.org>
+
+       Fix bug introduced on 2008-01-26.
+       * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
+
+2008-02-06  Bruno Haible  <bruno@clisp.org>
+
+       Fix bug introduced on 2007-06-10.
+       * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
+       !NEED_PRINTF_FLAG_ZERO.
+
+2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
+
+       getloadavg: use libperfstat on AIX5
+       * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
+
+2008-02-03  Bruno Haible  <bruno@clisp.org>
+
+       * lib/diffseq.h: Add comments about required #includes.
+       Reported by Michael Biggs <gnulib@doubleplum.net>.
+
+2008-02-01  Bruno Haible  <bruno@clisp.org>
+
+       * users.txt: Add gnuit.
+
+2008-01-31  Bruno Haible  <bruno@clisp.org>
+
+       * lib/md4.c (set_uint32): Mark as inline.
+       * lib/md5.c (set_uint32): Likewise.
+       * lib/sha1.c (set_uint32): Likewise.
+       * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
+       * m4/md5.m4 (gl_MD5): Likewise.
+       * m4/sha1.m4 (gl_SHA1): Likewise.
+
+2008-01-31  Jim Meyering  <meyering@redhat.com>
+
+       Use "sizeof VAR", rather than a literal "4".
+       * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
+       * lib/md4.c (md4_read_ctx): Likewise.
+       * lib/sha1.c (sha1_read_ctx): Likewise.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-sha1.c: New file, based on test-md5.c.
+
+       * modules/crypto/sha1-tests: New file.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
+
+2008-01-31  Jim Meyering  <meyering@redhat.com>
+
+       Prefer "sizeof v" over the equivalent "4".
+       * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
+       * lib/md5.c (set_uint32): Likewise.
+       * lib/sha1.c (set_uint32): Likewise.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/sha1.c (set_uint32): Mark function as static.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       md2: clarify comments to say that alignment is not required.
+       * lib/md2.h: Remove warning about alignment in comment.
+       * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
+       never been required.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       md4: adapt alignment constraint fix from sha1.
+       * lib/md4.c (set_uint32): New function, from sha1.c
+       (md4_read_ctx): Use it.
+       (md4_finish_ctx): Doc fix.
+       * lib/md4.h: Doc fix.
+
+2008-01-31  Simon Josefsson  <simon@josefsson.org>
+
+       md5: adapt alignment constraint fix from sha1.
+       * lib/md5.c (set_uint32): New function, from sha1.c
+       (md5_read_ctx): Use it.
+       (md5_finish_ctx): Doc fix.
+       * lib/md5.h: Doc fix.
+
+2008-01-30  Peter Palfrader  <weasel@debian.org>
+
+       sha1: remove the result buffer alignment constraint
+       * lib/sha1.c (set_uint32): New function.
+       (sha1_read_ctx): Rewrite to remove the result buffer alignment
+       constraint.
+       (sha1_finish_ctx): Remove comment warning about alignment constraint.
+       * lib/sha1.h: Likewise.
+
 2008-01-30  Andreas Schwab  <schwab@suse.de>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
        correct definition of LDBL_MIN_EXP.
        * NEWS: Mention the change.
 
 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
        the GCC builtins for signbits are present and set
        here, since it is not a POSIX function.
 
 2008-01-14  Colin Watson  <cjwatson@debian.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
        works fine; if not, set REPLACE_STRSIGNAL.
        * m4/uintmax_t.m4: New file.
        * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
 
-Copyright (C) 1997-2008 Free Software Foundation, Inc.
-Copying and distribution of this file, with or without modification,
-are permitted provided the copyright notice and this notice are preserved.
+
+       -----
+
+       Copyright (C) 1997-2008 Free Software Foundation, Inc.
+
+       Copying and distribution of this file, with or without
+       modification, are permitted provided the copyright notice
+       and this notice are preserved.