-m(dup2): Texinfo typo
[gnulib.git] / ChangeLog
index 339ce01..0a1297d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,927 @@
+2009-08-27  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-bitrotate.c (main): Remove test that uses a shift count
+       of 0.
+
+2009-08-27  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
+       compilers.
+       * doc/func.texi: Document the SunPRO C bug.
+
+2009-08-27  Bruno Haible  <bruno@clisp.org>
+
+       Fix link error on Solaris.
+       * tests/test-parse-duration.c (xstrdup): Remove function.
+
+2009-08-26  Pádraig Brady  <P@draigbrady.com>
+
+       ignore-value: handle pointer types, too
+       * lib/ignore-value.h (__attribute__): Remove definition.
+       (ignore_value): Remove use of "__attribute__ ((unused))" in favor
+       of a more concise and more-often effective "(void) i" statement.
+       (ignore_ptr): New function to suppress warnings from functions that
+       return pointers, and to make it explicit that one function doesn't
+       handle all cases.
+
+2009-08-25  Bruno Haible  <bruno@clisp.org>
+
+       dup2: work around a Linux bug.
+       * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
+       * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
+       * doc/posix-functions/dup2.texi: Mention the Linux bug.
+       Reported by Simon Josefsson.
+
+2009-08-25  Jim Meyering  <meyering@redhat.com>
+
+       libguestfs uses gnulib
+       * users.txt: Add libguestfs.
+
+2009-08-24  Eric Blake  <ebb9@byu.net>
+
+       dup2, pipe2: fix some recent test failures on cygwin 1.5.x
+       * lib/pipe2.c (includes): Add binary-io.h.
+       * lib/dup2.c (rpl_dup2): Correct buggy errno value.
+
+2009-08-24  Bruno Haible  <bruno@clisp.org>
+
+       Tolerate declared but missing accept4 syscall.
+       * lib/accept4.c (accept4): Invoke original accept4 function first, if
+       available.
+       * lib/sys_socket.in.h (accept4): If the function is already present,
+       override it.
+       * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
+       * modules/accept4 (Makefile.am): Compile accept4.c always.
+       Reported by Paolo Bonzini and Eric Blake.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       New module 'accept4'.
+       * lib/sys_socket.in.h (accept4): New declaration.
+       * lib/accept4.c: New file.
+       * m4/accept4.m4: New file.
+       * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
+       GNULIB_ACCEPT4, HAVE_ACCEPT4.
+       * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
+       HAVE_ACCEPT4.
+       * modules/accept4: New file.
+       * doc/glibc-functions/accept4.texi: Mention the new module.
+
+2009-08-24  Jim Meyering  <meyering@redhat.com>
+
+       progname: also set global program_invocation_name, when possible
+       Before this change, a libtool-enabled program that calls glibc's
+       error function would report the program name as
+       "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
+       * modules/progname (configure.ac): Check for a declaration of
+       program_invocation_name.
+       * lib/progname.c:  Include <errno.h>.
+       (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
+       Set program_invocation_name.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/dup3.c: Include <string.h>.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/dup3.c (dup3): Test only once whether the system actually exists.
+       * lib/pipe2.c (pipe2): Likewise.
+       Suggested by Eric Blake.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Tolerate declared but missing dup3 syscall.
+       * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
+       * lib/unistd.in.h (dup3): If the function is already present,
+       override it.
+       * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
+       * modules/dup3 (Makefile.am): Compile dup3.c always.
+       Reported by Paolo Bonzini.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Tolerate declared but missing pipe2 syscall.
+       * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
+       available.
+       * lib/unistd.in.h (pipe2): If the function is already present,
+       override it.
+       * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
+       * modules/pipe2 (Makefile.am): Compile pipe2.c always.
+       Reported by Paolo Bonzini.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe2.c (pipe2): Move #ifs inside function.
+
+2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
+
+       quotearg: document limitations of quote_these_too
+       * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
+       those limitations are created.
+       * lib/quotearg.h (set_char_quoting): Document that digits and
+       letters that are special after backslash are not permitted.
+       (quotearg_char): Cross-reference set_char_quoting documentation.
+
+2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
+
+       quotearg: implement custom_quoting_style
+       * lib/quotearg.c: (struct quoting_options): Add left_quote and
+       right_quote fields.
+       (set_custom_quoting): New public function.
+       (quotearg_buffer_restyled): Add left_quote and right_quote
+       arguments, handle them very much like locale quoting, and update
+       all uses.
+       (quotearg_n_custom): New public function.
+       (quotearg_n_custom_mem): New public function.
+       (quotearg_custom): New public function.
+       (quotearg_custom_mem): New public function.
+       * lib/quotearg.h: Prototype and document new public functions.
+       (enum quoting_style): For escape_quoting_style and
+       clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
+       ignored even though they're otherwise like c_quoting_style.
+       Add custom_quoting_style member and document with comparison to
+       clocale_quoting_style.
+       * tests/test-quotearg.c (custom_quotes): New array.
+       (custom_results): New array.
+       (main): Extend to test custom quoting.
+
+2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
+
+       quotearg: fix right quote escaping when it's in quote_these_too
+       * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
+       quote, be sure to prepend only one backslash.
+       * tests/test-quotearg.c (use_quote_double_quotes): New function.
+       (main): Test it.
+
+2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
+
+       quotearg-tests: test escaping of embedded locale quotes
+       * tests/test-quotearg.c (struct result_strings): Add member for
+       new input.
+       (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
+       (inputs): Add new input.
+       (results_g): Add expected results.
+       (flag_results): Likewise.
+       (locale_results): Likewise.
+       (compare_strings): Check those.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'dup3'.
+       * modules/dup3-tests: New file.
+       * tests/test-dup3.c: New file.
+
+       New module 'dup3'.
+       * lib/unistd.in.h (dup3): New declaration.
+       * lib/dup3.c: New file.
+       * m4/dup3.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
+       HAVE_DUP3.
+       * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
+       * modules/dup3: New file.
+       * doc/glibc-functions/dup3.texi: Mention the new module.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Tweak the dup2 test.
+       * tests/test-dup2.c (main): Create the test file empty. Verify that an
+       out-of-range fd yields EBADF. Verify that after writing to /dev/null,
+       the test file is still empty. Fix argument order of lseek.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Avoid test link errors when the modules getopt-gnu, gettext are used.
+       * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       Fix getdtablesize() on mingw.
+       * lib/getdtablesize.c (getdtablesize): Implement differently.
+       * lib/unistd.in.h (getdtablesize): Improve comment.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       New module 'mkostemp'.
+       Based on Ulrich Drepper's 2007-08-10 change in glibc.
+       * lib/stdlib.in.h (mksotemp): New declaration.
+       * lib/mkostemp.c: New file, from glibc with modifications.
+       * lib/tempname.h (GT_FILE): Remove outdated comment.
+       (gen_tempname): Add flags argument.
+       * lib/tempname.c (__GT_BIGFILE): Remove macro.
+       (__GT_FILE): Map to 1.
+       (small_open, large_open): Remove macros.
+       (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
+       * lib/mkstemp.c (mkstemp): Update.
+       * lib/mkdtemp.c (mkdtemp): Likewise.
+       * m4/mkostemp.m4: New file.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
+       HAVE_MKOSTEMP.
+       * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
+       HAVE_MKOSTEMP.
+       * modules/mkostemp: New file, based on modules/mkstemp.
+       * doc/glibc-functions/mkostemp.texi: Mention the new module.
+       * NEWS: Mention the change.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
+       Reported by Eric Blake.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
+       Reported by Eric Blake.
+
+2009-08-23  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
+       * modules/pipe2 (Depends-on): Likewise.
+
+2009-08-23  Eric Blake  <ebb9@byu.net>
+
+       fcntl-h: add O_TTY_INIT support
+       * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
+       * tests/test-fcntl-h.c (o): Test it.
+       * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
+
+       fcntl-h: rename from fcntl, in preparation for fcntl(2)
+       * modules/fcntl: Move <fcntl.h> header replacement...
+       * modules/fcntl-h: ...to new name, so as not to collide with
+       like-named function.
+       * tests/test-fcntl.c: Rename...
+       * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
+       * modules/fcntl-tests: Rename...
+       * modules/fcntl-h-tests: ...to this.  Update test file name.
+       * modules/chdir-long (Depends-on): Update clients.
+       * modules/chdir-safer (Depends-on): Likewise.
+       * modules/fcntl-safer (Depends-on): Likewise.
+       * modules/fts (Depends-on): Likewise.
+       * modules/mkancesdirs (Depends-on): Likewise.
+       * modules/mkdir-p (Depends-on): Likewise.
+       * modules/open (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+       * MODULES.html.sh (systems lacking POSIX:2008): Update name.
+       * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
+       * modules/binary-io (License): Relicense under LGPL.
+       * modules/pipe2 (License): Likewise.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
+       return value.
+       * lib/pipe-filter-gi.c (filter_init): Likewise.
+       Reported by Eric Blake.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
+       * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
+       * modules/pipe (Depends-on): Add pipe2.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'pipe2'.
+       * modules/pipe2-tests: New file.
+       * tests/test-pipe2.c: New file.
+
+       New module 'pipe2'.
+       * lib/unistd.in.h (pipe2): New declaration.
+       * lib/pipe2.c: New file.
+       * m4/pipe2.m4: New file.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
+       HAVE_PIPE2.
+       * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
+       * modules/pipe2: New file.
+       * doc/glibc-functions/pipe2.texi: Mention the new module.
+
+2009-08-22  Bruno Haible  <bruno@clisp.org>
+
+       Reference some new glibc functions.
+       * doc/glibc-functions/accept4.texi: New file.
+       * doc/glibc-functions/dup3.texi: New file.
+       * doc/glibc-functions/mkostemp.texi: New file.
+       * doc/glibc-functions/pipe2.texi: New file.
+       * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
+       (Glibc sys/socket.h): Refer to accept4.
+       (Glibc unistd.h): Refer to dup3, pipe2.
+       Reported by Eric Blake.
+
+2009-08-22  Jim Meyering  <meyering@redhat.com>
+           Bruno Haible  <bruno@clisp.org>
+
+       annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
+       This makes it so packages using automake-1.11's silent-rules option
+       can print e.g., a single "GEN    configmake.h" line, rather than
+       the 30+ statements that perform the job.  If you want to see the
+       actual commands, you can still run "make V=1".
+       * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
+       so that make output is abbreviated when those variables are defined
+       appropriately.
+       * modules/argz: Likewise.
+       * modules/arpa_inet: Likewise.
+       * modules/byteswap: Likewise.
+       * modules/configmake: Likewise.
+       * modules/dirent: Likewise.
+       * modules/errno: Likewise.
+       * modules/fcntl: Likewise.
+       * modules/float: Likewise.
+       * modules/fnmatch: Likewise.
+       * modules/getopt-posix: Likewise.
+       * modules/glob: Likewise.
+       * modules/iconv_open: Likewise.
+       * modules/inttypes: Likewise.
+       * modules/localcharset: Likewise.
+       * modules/locale: Likewise.
+       * modules/math: Likewise.
+       * modules/netdb: Likewise.
+       * modules/netinet_in: Likewise.
+       * modules/poll: Likewise.
+       * modules/posix_spawnp-tests: Likewise.
+       * modules/sched: Likewise.
+       * modules/search: Likewise.
+       * modules/selinux-h: Likewise.
+       * modules/signal: Likewise.
+       * modules/spawn: Likewise.
+       * modules/stdarg: Likewise.
+       * modules/stdbool: Likewise.
+       * modules/stddef: Likewise.
+       * modules/stdint: Likewise.
+       * modules/stdio: Likewise.
+       * modules/stdlib: Likewise.
+       * modules/string: Likewise.
+       * modules/strings: Likewise.
+       * modules/sys_file: Likewise.
+       * modules/sys_ioctl: Likewise.
+       * modules/sys_select: Likewise.
+       * modules/sys_socket: Likewise.
+       * modules/sys_stat: Likewise.
+       * modules/sys_time: Likewise.
+       * modules/sys_times: Likewise.
+       * modules/sys_utsname: Likewise.
+       * modules/sys_wait: Likewise.
+       * modules/sysexits: Likewise.
+       * modules/time: Likewise.
+       * modules/unistd: Likewise.
+       * modules/wchar: Likewise.
+       * modules/wctype: Likewise.
+
+2009-08-22  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: detect write failure
+       * build-aux/announce-gen: Add Coda at end.
+       Remove equivalent-but-more-verbose block at top.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       bootstrap: --help to stdout.
+       * bootstrap (usage): Don't send --help to stderr.
+       Use a here doc instead of a long string.
+
+2009-08-21  Eric Blake  <ebb9@byu.net>
+
+       test-popen-safer: split from test-popen
+       * tests/test-popen.c (main): Move...
+       * tests/test-popen.h: ...into new file.
+       * tests/test-popen-safer2.c: New file.
+       * modules/popen-tests (Files): Add test-popen.h.
+       * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
+       Suggested by Bruno Haible.
+
+       test-fcntl-safer: split from test-open
+       * tests/test-open.c (main): Move...
+       * tests/test-open.h: ...into new file.
+       * tests/test-fcntl-safer.c: New file.
+       * modules/open-tests (Files): Add test-open.h.
+       * modules/fcntl-safer-tests: New file.
+       Suggested by Bruno Haible.
+
+       test-fopen-safer: split from test-fopen
+       * tests/test-fopen.c (main): Move...
+       * tests/test-fopen.h: ...into new file.
+       * tests/test-fopen-safer.c: New file.
+       * modules/fopen-tests (Files): Add test-fopen.h.
+       * modules/fopen-safer-tests: New file.
+       Suggested by Bruno Haible.
+
+2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       popen-safer: test O_CLOEXEC at run-time.
+       * lib/popen-safer.c: Test O_CLOEXEC at run-time.
+
+2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       fcntl: move more flags to the header
+       * lib/cloexec.c: Do not define FD_CLOEXEC here.
+       * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
+       * lib/fcntl.in.h: Do both things here.
+
+2009-08-21  Jim Meyering  <meyering@redhat.com>
+
+       consistently remove $@-t before redirecting to it
+       * modules/argz: Remove $@-t and $@ before redirecting to the former.
+       * modules/alloca-opt: Likewise.
+       * modules/byteswap: Likewise.
+       * modules/fnmatch: Likewise.
+       * modules/getopt-posix: Likewise.
+       * modules/glob: Likewise.
+       * modules/poll: Likewise.
+       * modules/posix_spawnp-tests: Likewise.
+       * modules/sys_socket: Likewise.
+       * modules/sysexits: Likewise.
+
+2009-08-21  Eric Blake  <ebb9@byu.net>
+
+       popen: simplify access to original popen
+       * lib/popen.c (rpl_popen): No need to worry about popen being a
+       macro.
+       Reported by Bruno Haible.
+
+2009-08-20  Eric Blake  <ebb9@byu.net>
+
+       build: avoid some compiler warnings
+       * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
+       * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
+       type.
+       (new_exclude_segment, excluded_file_pattern_p)
+       (excluded_file_name_p): Reduce scope.
+       * lib/vasnprintf.c (decimal_point_char): Avoid warning on
+       old-style declaration.
+
+2009-08-20  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-exclude1.sh: Handle Windows EOL.
+       * tests/test-exclude2.sh: Likewise.
+       * tests/test-exclude3.sh: Likewise.
+       * tests/test-exclude4.sh: Likewise.
+       * tests/test-exclude5.sh: Likewise.
+       * tests/test-exclude6.sh: Likewise.
+       * tests/test-exclude7.sh: Likewise.
+
+2009-08-19  Akim Demaille  <demaille@gostai.com>
+
+       bootstrap: find sha1sum when named gsha1sum.
+       * bootstrap (find_tool): New.
+       ($SHA1SUM): New.
+       Use it.
+
+2009-08-20  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
+       * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
+       expression that converts "." in a file name to "\." in the resulting
+       regexp.  Start with a dummy statement, so that prior shell variable
+       definitions are expanded portably.  Reported by Simon Josefsson.
+
+2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
+
+       Fix polling for writeability of a screen buffer.
+       * lib/poll.c: Distinguish input and screen buffers for the
+       Win32 implementation.
+       * lib/select.c: Likewise.
+
+2009-08-19  Eric Blake  <ebb9@byu.net>
+
+       popen-safer: prevent popen from clobbering std descriptors
+       * modules/popen-safer: New file.
+       * lib/popen-safer.c: Likewise.
+       * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
+       * lib/stdio--.h (popen): Provide override.
+       * lib/stdio-safer.h (popen_safer): Provide declaration.
+       * tests/test-popen.c (includes): Partially test this.
+       * modules/popen-safer-tests: New file, for more tests.
+       * tests/test-popen-safer.c: Likewise.
+       * MODULES.html.sh (file stream based Input/Output): Mention it.
+
+       tests: test some of the *-safer modules
+       * modules/fopen-safer (Depends-on): Add fopen.
+       * modules/fcntl-safer (Depends-on): Add fcntl.
+       * modules/stdlib-safer (Depends-on): Add stdlib.
+       (configure.ac): Set indicator.
+       * modules/unistd-safer (configure.ac): Likewise.
+       * modules/tmpfile-safer (configure.ac): Likewise.
+       (Depends-on): Add tmpfile.
+       * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
+       active.
+       * tests/test-fopen.c (includes): Test safer versions when they are
+       in use.
+       * tests/test-open.c (includes): Likewise.
+
+       popen: fix cygwin 1.5 bug when stdin closed
+       * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
+       * modules/popen: New file.
+       * modules/popen-tests: Likewise.
+       * tests/test-popen.c: Likewise.
+       * m4/popen.m4: Likewise.
+       * lib/popen.c: Likewise.
+       * lib/stdio.in.h (popen): New declaration.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
+       * modules/stdio (Makefile.am): Likewise.
+       * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
+
+2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint.mk: give full control over update-copyright exclusions
+       * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
+       ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
+       (update-copyright): Don't force inclusion of top-level
+       ChangeLog.  Don't force exclusion of all COPYING files, but make
+       them the default exclusion instead.
+
+2009-08-16  Bruno Haible  <bruno@clisp.org>
+
+       Fix test failures on Solaris 10.
+       * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
+       tests when Solaris iconv() is used.
+       * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
+       * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
+
+2009-08-16  Bruno Haible  <bruno@clisp.org>
+
+       Fix test failures on Solaris 10.
+       * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
+       'tr' program and pass it as first argument.
+       * tests/test-pipe-filter-gi1.sh: Likewise.
+       * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
+       program as first argument.
+       * tests/test-pipe-filter-gi1.c (main): Likewise.
+
+2009-08-16  Eric Blake  <ebb9@byu.net>
+
+       fpurge: fix previous commits
+       * modules/fpurge (Makefile.am): Make replacement conditional,
+       partially reverting 2007-04-29 change; missed in previous
+       attempt.
+       * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
+       is missing.
+
+2009-08-16  Bruno Haible  <bruno@clisp.org>
+
+       Clarify fpurge's effect on the file position.
+       * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
+       * tests/test-fpurge.c (main): Make a second pass for checking the file
+       position.
+
+2009-08-16  Bruno Haible  <bruno@clisp.org>
+
+       * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
+       declaration of fpurge is missing.
+       * tests/test-fpurge.c (main): Check that the file has not more contents
+       than expected. Close the file before removing it.
+
+2009-08-15  Eric Blake  <ebb9@byu.net>
+
+       fpurge: don't wrap working cygwin implementation
+       * lib/fpurge.c (fpurge): Fix comment typo.
+       * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
+       1.7 to avoid replacement.
+       * tests/test-fpurge.c (main): Enhance test.
+
+2009-08-15  Eric Blake  <ebb9@byu.net>
+       and Jim Meyering  <meyering@redhat.com>
+
+       test-update-copyright: skip if perl is insufficient
+       * tests/test-update-copyright.sh: Failure to run maintainer tool
+       should not cause testsuite failure on cygwin 1.5.
+
+2009-08-14  Eric Blake  <ebb9@byu.net>
+
+       doc: mention more functions added in cygwin 1.7.0
+       * doc/posix-headers/limits.texi (limits.h): Update for recent
+       cygwin additions.
+       * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
+       * doc/posix-functions/wordexp.texi (wordexp): Likewise.
+       * doc/posix-functions/wordfree.texi (wordfree): Likewise.
+       * doc/posix-functions/setlocale.texi (setlocale): Likewise.
+       * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
+
+2009-08-14  Eric Blake  <ebb9@byu.net>
+
+       maint.mk: simplify update-copyright rule
+       * top/maint.mk (update-copyright-local): Delete, and document how
+       to do it in cfg.mk instead.
+       (update-copyright-exclude-regexp): Delete, and document how to do
+       it in .x-update-copyright instead.
+       (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
+       exclude ChangeLog.
+
+2009-08-14  Bruno Haible  <bruno@clisp.org>
+
+       * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
+
+2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       maint.mk: support update-copyright-env
+       * top/maint.mk (update-copyright-env): Define place-holder.
+       (update-copyright): Expand $(update-copyright-env) before
+       invoking update-copyright.
+
+2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: implement forced reformatting
+       * build-aux/update-copyright: Implement and document
+       UPDATE_COPYRIGHT_FORCE.
+       * tests/test-update-copyright.sh: Test it.
+
+2009-08-14  Eric Blake  <ebb9@byu.net>
+       and Bruno Haible  <bruno@clisp.org>
+
+       stddef: fix NetBSD 5.0 NULL bug, rather than working around it
+       * tests/test-locale.c: Revert previous patch related to NULL.
+       * tests/test-stdio.c: Likewise.
+       * tests/test-stdlib.c: Likewise.
+       * tests/test-string.c: Likewise.
+       * tests/test-unistd.c: Likewise.
+       * modules/time-tests (Depends-on): Add verify.
+       * modules/wchar-tests (Depends-on): Likewise.
+       * tests/test-time.c: Test for NULL compliance.
+       * tests/test-wchar.c: Likewise.
+       * modules/locale (Depends-on): Add stddef.
+       * modules/stdio (Depends-on): Likewise.
+       * modules/stdlib (Depends-on): Likewise.
+       * modules/string (Depends-on): Likewise.
+       * modules/time (Depends-on): Likewise.
+       * modules/unistd (Depends-on): Likewise.
+       * modules/wchar (Depends-on): Likewise.
+       * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
+       * lib/stdlib.in.h (includes): Likewise.
+       * lib/string.in.h (includes): Likewise.
+       * lib/time.in.h (includes): Likewise.
+       * lib/unistd.in.h (includes): Likewise.
+       * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
+       replaced.
+       * m4/wchar.m4 (gl_WCHAR_H): Likewise.
+       * m4/stddef_h.m4: New file.
+       * modules/stddef: Likewise.
+       * lib/stddef.in.h: Likewise.
+       * modules/stddef-tests: Likewise.
+       * tests/test-stddef.c: Likewise.
+       * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
+       * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
+       * doc/posix-headers/locale.texi (locale.h): Likewise.
+       * doc/posix-headers/stdio.texi (stdio.h): Likewise.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+       * doc/posix-headers/string.texi (string.h): Likewise.
+       * doc/posix-headers/time.texi (time.h): Likewise.
+       * doc/posix-headers/unistd.texi (unistd.h): Likewise.
+       * doc/posix-headers/wchar.texi (wchar.h): Likewise.
+
+2009-08-14  Eric Blake  <ebb9@byu.net>
+
+       doc: improve git diff of texinfo files
+       * .gitattributes: Add rule for *.texi files, with hint on how to
+       use it.
+       Copied from m4, and based on a report by Bruno Haible.
+
+2009-08-14  Bruno Haible  <bruno@clisp.org>
+
+       Disable multithread support by default on Cygwin 1.5.x for real.
+       * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
+
+2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: much ado about intervals
+       * build-aux/update-copyright: Implement and document
+       UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
+       of copyright year intervals.
+       Also, document UPDATE_COPYRIGHT_YEAR.
+       * tests/test-update-copyright.sh: Test it.
+
+       update-copyright: convert 2-digit to 4-digit years
+       * build-aux/update-copyright: Implement and document.
+       * tests/test-update-copyright.sh: Update.
+
+2009-08-14  Jim Meyering  <meyering@redhat.com>
+
+       test-exclude: avoid coreutils "make check" failure
+       * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
+       just as in test-argmatch.c.
+
+2009-08-13  Eric Blake  <ebb9@byu.net>
+
+       test-dup2: fix bad assumption
+       * tests/test-dup2.c (main): Tolerate leaked fds from environment.
+       Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
+
+       test-version-etc: fix CRLF portability issue
+       * tests/test-version-etc.sh: Use tr, not sed, as not all sed
+       recognize \r.
+       * tests/test-argp-version-etc-1.sh: Likewise.
+
+       getopt: update client modules
+       * modules/argp (Depends-on): Use getopt-gnu.
+       * modules/git-merge-changelog (Depends-on): Likewise.
+       * modules/long-options (Depends-on): Likewise.
+       * modules/xstrtol (Depends-on): Likewise.
+
+2009-08-13  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-version-etc.sh: Don't fail on different
+       project/version.  Don't fail on CRLF differences.  Rewrite to use
+       multiple -e instead of multiple sed forks, suggested by Eric Blake
+       <ebb9@byu.net>.
+       * tests/test-argp-version-etc-1.sh: Likewise.
+
+2009-08-13  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-version-etc.sh: Don't fail on different
+       project/version.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Tests for modules 'getopt-posix', 'getopt-gnu'.
+       * modules/getopt-posix-tests: New file.
+       * tests/test-getopt.c: New file.
+       * tests/test-getopt.h: New file.
+       * tests/test-getopt_long.h: New file.
+
+       New modules 'getopt-posix', 'getopt-gnu'.
+       * modules/getopt-gnu: New file, renamed from modules/getopt.
+       * modules/getopt-posix: New file.
+       * modules/getopt: Turn into an obsolete alias for getopt-gnu.
+       * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
+       (gl_GETOPT): Remove macro.
+       (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
+       Disable the test against BSD systems that declare optreset. Test
+       against mingw bug. Test against lack of support of optional arguments
+       on many platforms.
+       * doc/glibc-headers/getopt.texi: Update module name and list of
+       relevant platforms.
+       * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
+       'getopt-gnu' and more portability problems.
+       * NEWS: Mention the changes.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Ensure that optarg etc. get declared by <unistd.h>.
+       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
+       AC_USE_SYSTEM_EXTENSIONS.
+       * modules/getopt (Depends-on): Add 'extensions'.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Avoid test link errors.
+       * modules/pipe-filter-ii-tests (Makefile.am): Define
+       test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
+       * modules/pipe-filter-gi-tests (Makefile.am): Define
+       test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
+       gl_GETOPT_SUBSTITUTE before.
+       (gl_GETOPT): Use it.
+       * m4/argp.m4 (gl_ARGP): Update.
+       Reported by Sergey Poznyakoff.
+
+       * m4/getopt.m4: Reorder macros.
+       (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
+       (gl_GETOPT_SUBSTITUTE): Remove macro.
+
+2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Minor improvement in gitlog-to-changelog
+
+       * build-aux/gitlog-to-changelog: New option `--format' makes
+       output format string configurable.
+
+2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Optimize exclude: use hash tables for non-wildcard patterns.
+
+       * lib/exclude.c: Include hash.h and mbuiter.h
+       (struct exclude_pattern, exclude_segment): New data types.
+       (struct exclude): Rewrite.
+       (fnmatch_pattern_has_wildcards): New function.
+       (new_exclude_segment, free_exclude_segment): New functions.
+       (excluded_file_pattern_p, excluded_file_name_p): New functions.
+       (excluded_file_name, add_exclude): Rewrite using new struct exclude.
+       * lib/exclude.h (is_fnmatch_pattern): New prototype.
+       * modules/exclude: Depend on hash and mbuiter.
+
+       * modules/exclude-tests: New file.
+       * tests/test-exclude.c: New file.
+       * tests/test-exclude1.sh: New file.
+       * tests/test-exclude2.sh: New file.
+       * tests/test-exclude3.sh: New file.
+       * tests/test-exclude4.sh: New file.
+       * tests/test-exclude5.sh: New file.
+       * tests/test-exclude6.sh: New file.
+       * tests/test-exclude7.sh: New file.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Ensure that getopt() gets declared by <unistd.h>.
+       * lib/unistd.in.h: Conditionally include getopt.h.
+       * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
+       Set GNULIB_UNISTD_H_GETOPT.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       GNULIB_UNISTD_H_GETOPT.
+       * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Clarify logic.
+       * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
+       gl_replace_getopt instead of GETOPT_H.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       * m4/getopt.m4: Add comments.
+
+2009-08-12  Bruno Haible  <bruno@clisp.org>
+
+       Disable multithread support by default on Cygwin 1.5.x.
+       * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
+       set gl_use_threads=no if not specified otherwise.
+
+2009-08-11  Bruno Haible  <bruno@clisp.org>
+
+       Avoid compilation error on NetBSD 5.0.
+       * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
+       * tests/test-stdio.c: Likewise.
+       * tests/test-stdlib.c: Likewise.
+       * tests/test-string.c: Likewise.
+       * tests/test-unistd.c: Likewise.
+       Reported by Greg Troxel <gdt@ir.bbn.com>
+       at <https://savannah.gnu.org/support/?106973>.
+
+2009-08-11  Bruno Haible  <bruno@clisp.org>
+
+       * modules/dup2-tests (Depends-on): Remove close.
+
+       Undo 2009-07-19 commit.
+       * modules/acl-tests (Depends-on): Remove 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-08-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
+
+2009-08-10  Bruno Haible  <bruno@clisp.org>
+
+       Fix a gcc warning.
+       * lib/write.c (rpl_write): Cast result of _get_osfhandle.
+
+2009-08-10  Bruno Haible  <bruno@clisp.org>
+
+       Don't optimize AC_LIBOBJs, as they may appear in different contexts.
+       * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
+       not only the first time.
+       * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
+       * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
+       * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
+       is 1, not only the the first time.
+
+2009-08-10  Bruno Haible  <bruno@clisp.org>
+
+       Make it possible to use module 'gethostname' without module 'close'.
+       * lib/unistd.in.h (close): Evoke a link error only if
+       UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
+       * modules/unistd (Makefile.am): Substitute
+       UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
+       * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
+       SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
+       * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
+       SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
+       * modules/sys_ioctl (Makefile.am): Substitute
+       SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
+       * modules/socket (configure.ac): On native Windows, set
+       UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
+       SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
+       Reported by Sam Steingold <sds@gnu.org>.
+
+2009-08-10  Bruno Haible  <bruno@clisp.org>
+
+       * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
+       * modules/ioctl (configure.ac): Likewise.
+
+2009-08-10  Bruno Haible  <bruno@clisp.org>
+
+       Avoid collision between gnulib wrapper and libintl wrapper.
+       * lib/stdio-write.c (printf): Don't define if a printf wrapper is
+       already defined in intl/printf.c.
+       (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
+       (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
+
 2009-08-09  Bruno Haible  <bruno@clisp.org>
 
        Make <sys/select.h> really self-contained, also on Solaris 10.
        different project/version.
 
 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Tests for module 'pipe-filter-gi'.
        * modules/pipe-filter-gi-tests: New file.
        * modules/pipe-filter-gi: New file.
 
 2009-08-02  Bruno Haible  <bruno@clisp.org>
-            Paolo Bonzini  <bonzini@gnu.org>
+           Paolo Bonzini  <bonzini@gnu.org>
 
        Tests for module 'pipe-filter-ii'.
        * modules/pipe-filter-ii-tests: New file.
        * lib/gethostname.c: Include limits.h.
 
 2009-08-02  Simon Josefsson  <simon@josefsson.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Ensure HOST_NAME_MAX as part of the gethostname module.
        * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,