Make it possible to use module 'gethostname' without module 'close' or 'ioctl'.
[gnulib.git] / ChangeLog
index e1b2807..7784e0c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,668 @@
+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.
+       * lib/sys_select.in.h: Include <string.h>.
+       * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
+       Solaris 10 problem.
+       * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
+       * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
+       Reported by Jim Meyering.
+
+2009-08-09  Bruno Haible  <bruno@clisp.org>
+
+       Avoid warnings from 'aclocal' that are due to a use of macro name
+       AM_XGETTEXT_OPTION that is not defined in automake.
+       * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
+       automake.
+       * modules/error (configure.ac): Likewise.
+       * modules/propername (configure.ac): Likewise.
+       * modules/vasprintf (configure.ac): Likewise.
+       * modules/verror (configure.ac): Likewise.
+       * modules/xprintf (configure.ac): Likewise.
+       * modules/xvasprintf (configure.ac): Likewise.
+
+2009-08-08  Bruno Haible  <bruno@clisp.org>
+
+       Avoid compilation error in C++ mode.
+       * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
+       Reported by Sam Steingold <sds@gnu.org>.
+
+2009-08-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
+       for the various Unix platforms.
+       * doc/posix-headers/limits.texi: Update platforms list regarding
+       HOST_NAME_MAX.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-08-07  Jim Meyering  <meyering@redhat.com>
+
+       selinux-at: fix typo in a comment
+       * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
+       Spotted by Paolo Bonzini.
+
+       selinux-at: remove redundant m4 code, add documentation
+       * modules/selinux-at (configure.ac): Remove redundant code.
+       LIB_SELINUX is already set via the dependent module, selinux-h.
+       (Include): Add quotes around selinux-at.h.
+       * lib/selinux-at.h: Add documentation.
+       Reported by Bruno Haible in
+       http://marc.info/?l=gnulib-bug&m=124958988300749
+
+2009-08-07  Bruno Haible  <bruno@clisp.org>
+
+       Avoid link error on MacOS X 10.3 and 10.4.
+       * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
+       on non-ELF systems.
+       * lib/argp-pv.c (argp_program_version): Likewise.
+       Reported by Simon Josefsson.
+
+2009-08-07  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-version-etc.sh: Use $EXEEXT.
+
+2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: update documentation to point to maint.mk
+       * build-aux/update-copyright: Here.
+
+2009-08-06  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: support update-copyright-local
+       * top/maint.mk (update-copyright-local): Define place-holder.
+       (update-copyright): Depend on $(update-copyright-local).
+
+2009-08-06  Jim Meyering  <meyering@redhat.com>
+
+       selinux-at: new module
+       Initially written for coreutils, this module will soon be
+       used by findutils, too.
+       * MODULES.html.sh [Misc]: Add selinux-at.
+       * lib/selinux-at.h: New file, from coreutils.
+       * lib/selinux-at.c: Likewise.
+       * modules/selinux-at: Likewise.
+       (License): Change from LGPL to GPL, since it depends
+       on the GPL'd openat module.
+
+       doc: update README
+       * README: Remove references to cogito.
+       Remove cvs-repo-updating instructions from 2007.
+       Don't imply that CVS is better if you have limited disk space.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: support C-style comments
+       * build-aux/update-copyright: Implement and document.
+       * tests/test-update-copyright.sh: Test.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: support omitted "(C)"
+       * build-aux/update-copyright: Implement and document.  Also,
+       allow variable whitespace before "(C)".
+       * tests/test-update-copyright.sh: Test.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: don't trip on non-FSF copyright statements
+       * build-aux/update-copyright: Fix so that the first correctly
+       formatted FSF copyright statement is recognized no matter what
+       appears before it.  Update documentation.
+       * tests/test-update-copyright.sh: Test that.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: clean up code a little
+       * build-aux/update-copyright: Append "_re" to the name of any
+       variable holding a regular expression.
+       Replace "old" and "new" with "stmt" in variable names.
+       Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
+       handled correctly.
+       Format code more consistently.
+
+2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright-tests: improve portability
+       * tests/test-update-copyright.sh: Use cmp if diff cannot handle
+       -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
+
+2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: support @copyright{} and &copy;
+       * build-aux/update-copyright: Implement and document.
+       * tests/test-update-copyright.sh: Test.
+
+2009-08-04  Jim Meyering  <meyering@redhat.com>
+
+       update-copyright-tests: correctly test EOL=\r\n handling
+       * tests/test-update-copyright.sh: Put \r at the end of some lines
+       for the dos-eol tests.  Based on a patch by Joel E. Denny.
+
+       maint.mk: make update-copyright exclusion list more configurable
+       * top/maint.mk (update-copyright): Default to excluding COPYING,
+       but allow an override, in case someone does want to update that file.
+
+       maint.mk: don't update copyright date in COPYING
+       * top/maint.mk (update-copyright): Exclude COPYING.
+
+       maint.mk: add a copyright-updating rule
+       * top/maint.mk (update-copyright): New rule.
+       Derived from coreutils/Makefile.am.
+
+       update-copyright: rename some variables
+       * build-aux/update-copyright: Rename a few variables for clarity.
+       Tweak syntax.  List Joel E. Denny as coauthor.
+
+2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: fix bug for 2-digit last year and add tests
+       * build-aux/update-copyright: Fix bug.
+       Use UPDATE_COPYRIGHT_YEAR from environment as current year if
+       specified.
+       * modules/update-copyright-tests: New
+       * tests/test-update-copyright.sh: New.
+
+2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: handle leading tabs in line prefix
+       * build-aux/update-copyright: Count leading tabs as 8 spaces
+       when computing margin.  This helps with the formatting of
+       ChangeLogs, for example.
+       Fix documentation a little.
+
+2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: support EOL=\r\n
+       * build-aux/update-copyright: Implement that.
+
+2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: automatically format copyright statements
+       * build-aux/update-copyright: Implement that.
+       Also, be a little more predictable and safer by always failing
+       when the full copyright format is not perfectly recognized as an
+       unbroken whole.  Discussed at
+       <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
+       Rewrite documentation.
+
+2009-08-03  Bruno Haible  <bruno@clisp.org>
+
+       * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uname'.
+       * modules/uname-tests: New file.
+       * tests/test-uname.c: New file.
+
+       New module 'uname'.
+       * lib/uname.c: New file.
+       * m4/uname.m4: New file.
+       * modules/uname: New file.
+       * doc/posix-functions/uname.texi: Mention the new module.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'sys_utsname'.
+       * modules/sys_utsname-tests: New file.
+       * tests/test-sys_utsname.c: New file.
+
+       New module 'sys_utsname'.
+       * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
+       * m4/sys_utsname_h.m4: New file.
+       * modules/sys_utsname: New file.
+       * doc/posix-headers/sys_utsname.texi: Mention the new module.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+
+       Implicitly initialize the sockets library.
+       * lib/gethostname.c: Include sockets.h.
+       (rpl_gethostname): Invoke gl_sockets_startup.
+       * lib/socket.c: Include sockets.h.
+       (rpl_socket): Invoke gl_sockets_startup.
+       * modules/gethostname (Depends-on): Add sockets.
+       * modules/socket (Depends-on): Likewise.
+       * tests/test-poll.c: Don't include sockets.h.
+       (main): Don't invoke gl_sockets_startup.
+       * tests/test-select.c: Don't include sockets.h.
+       (main): Don't invoke gl_sockets_startup.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+
+       Allow multiple calls to gl_sockets_startup.
+       * lib/sockets.c (initialized_sockets_version): New variable.
+       (gl_sockets_startup): Do nothing if already called for this or a higher
+       version.
+       (gl_sockets_cleanup): Reset initialized_sockets_version.
+
+2009-08-03  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
+       different project/version.
+
+2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'pipe-filter-gi'.
+       * modules/pipe-filter-gi-tests: New file.
+       * tests/test-pipe-filter-gi1.sh: New file.
+       * tests/test-pipe-filter-gi1.c: New file.
+       * tests/test-pipe-filter-gi2.sh: New file.
+       * tests/test-pipe-filter-gi2-main.c: New file.
+       * tests/test-pipe-filter-gi2-child.c: New file.
+
+       New module 'pipe-filter-gi'.
+       * lib/pipe-filter-gi.c: New file.
+       * modules/pipe-filter-gi: New file.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+            Paolo Bonzini  <bonzini@gnu.org>
+
+       Tests for module 'pipe-filter-ii'.
+       * modules/pipe-filter-ii-tests: New file.
+       * tests/test-pipe-filter-ii1.sh: New file.
+       * tests/test-pipe-filter-ii1.c: New file.
+       * tests/test-pipe-filter-ii2.sh: New file.
+       * tests/test-pipe-filter-ii2-main.c: New file.
+       * tests/test-pipe-filter-ii2-child.c: New file.
+
+       New module 'pipe-filter-ii'.
+       * lib/pipe-filter.h: New file.
+       * lib/pipe-filter-ii.c: New file.
+       * lib/pipe-filter-aux.h: New file.
+       * modules/pipe-filter-ii: New file.
+
+2009-08-02  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gc-libgcrypt.c: Change copyright to FSF.
+       * lib/gc-gnulib.c: Likewise.
+
+2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
+
+       * lib/gethostname.c: Include limits.h.
+
+2009-08-02  Simon Josefsson  <simon@josefsson.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,
+       define also HOST_NAME_MAX.
+       * tests/test-gethostname.c: Include <limits.h>.
+       (main): Check also HOST_NAME_MAX.
+       * doc/posix-headers/limits.texi: Document the mingw problem.
+
+2009-08-02  Bruno Haible  <bruno@clisp.org>
+
+       * lib/gethostname.c (gethostname): Fix handling of large len argument.
+       Add comments.
+
+2009-03-31  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/gethostname.c: Add Windows wrapper.
+       * m4/gethostname.m4: Look for gethostname in -lws2_32.
+       * modules/gethostname: Depend on sys_socket & errno, for also
+       added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
+       * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
+
+2009-07-31  Jim Meyering  <meyering@redhat.com>
+
+       getloadavg: fix symbol name in comment
+       * lib/getloadavg.c: Correct a typo I introduced when adding
+       comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
+       Matt Kraai spotted the problem.
+
+2009-07-29  Matt Kraai  <mkraai@beckman.com>
+
+       getloadavg: check whether n_name is a pointer, for QNX 6.4.1
+       * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
+       code also if ! defined N_NAME_POINTER.
+       * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
+       This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
+       but the n_name member is a 12-byte array.
+
+2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
+
+       update-copyright: generalize comment handling
+       * build-aux/update-copyright: Handle copyright statements
+       within more comment styles.
+       Document usage.
+       Report any file with an external copyright holder or parse failure.
+
+2009-07-29  Jim Meyering  <meyering@redhat.com>
+
+       mktime: correct setting of REPLACE_MKTIME
+       * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
+
+       update-copyright: new module
+       * modules/update-copyright: New file.
+       * build-aux/update-copyright: New file.
+       * MODULES.html.sh (maint+release support): Add update-copyright.
+
+2009-07-27  Bruno Haible  <bruno@clisp.org>
+
+       Fix compilation error when <ctime> is used and mktime is replaced.
+       * lib/time.in.h (mktime): New declaration.
+       * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
+       REPLACE_MKTIME instead of defining mktime in config.h.
+       * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
+       * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
+       Reported by Ross McFarland <rwmcfa1@neces.com>.
+
+2009-07-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
+       Reported by Matt Kraai <mkraai@beckman.com>.
+
+2009-07-25  Jim Meyering  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       * 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 <mkraai@beckman.com>.
+
+2009-07-23  Jim Meyering  <meyering@redhat.com>
+
+       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  <mkraai@beckman.com>  (tiny change)
+
+       Make fseeko.c compile on QNX.
+       * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
+
+2009-07-22  Peter Simons  <simons@cryp.to>
+
+       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  <ebb9@byu.net>
+
+       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  <meyering@redhat.com>
+
+       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  <ebb9@byu.net>
+
+       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  <bruno@clisp.org>
+
+       * modules/.gitattributes: New file.
+
+2009-07-20  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
+       (main): Use it.
+
+2009-07-20  Eric Blake  <ebb9@byu.net>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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 <windows.h>.
+       (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  <ebb9@byu.net>
+
+       test-pipe: fix mingw build
+       * tests/test-pipe.c (main): Avoid fcntl on mingw.
+
+2009-07-18  Bruno Haible  <bruno@clisp.org>
+
+       * modules/pipe-tests (Makefile.am): Fix typo.
+
+2009-07-18  Eric Blake  <ebb9@byu.net>
+
+       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  <ebb9@byu.net>
+
+       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  <bruno@clisp.org>
+
+       * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
+       Reported by anonymous kc.
+
+2009-07-07  Jim Meyering  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <meyering@redhat.com>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c (compute_mapping): Fix determination of
+       best_i.
+
+2009-07-02  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
+
 2009-06-30  Bruno Haible  <bruno@clisp.org>
 
+       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  <bruno@clisp.org>
+
+       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.