New module 'environ'.
[gnulib.git] / ChangeLog
index 7ac312a..36e7e06 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,170 @@
+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
 
        * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
        Avoids a crash on Windows Vista.
-       Reported by Simon Josefsson <simon@josefsson.org>.
+       Reported by Adam Strzelecki <ono@java.pl> via
+       Simon Josefsson <simon@josefsson.org>.
 
 2008-02-06  Bruno Haible  <bruno@clisp.org>
 
        * 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.