+2011-04-28 Eric Blake <eblake@redhat.com>
+
+ hash, mgetgroups: drop xalloc dependency
+ * lib/hash.c (includes): Adjust includes.
+ * lib/mgetgroups.c (includes): Likewise.
+ (xgetgroups): Move...
+ * lib/xgetgroups.c: ...to new file.
+ * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
+ * modules/xgetgroups: New file, split from...
+ * modules/mgetgroups: ...here.
+ (Depends-on): Add xalloc-oversized.
+ * modules/hash (Depends-on): Likewise.
+ * modules/hash-tests (Depends-on): Drop xalloc.
+ (test_hash_LDADD): Drop unused library.
+ * tests/test-hash.c (main): Break xalloc dependency.
+ (includes): Drop unused include.
+
+ xalloc-oversized: new module
+ * modules/xalloc-oversized: New module.
+ * modules/xalloc (Depends-on): Add it.
+ * lib/xalloc.h (xalloc_oversized): Move...
+ * lib/xalloc-oversized.h: ...into new file.
+
+ utimecmp: drop dependency on xmalloc
+ * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
+ due to memory pressure.
+ * modules/utimecmp (Depends-on): Drop xalloc.
+
+2011-04-27 Eric Blake <eblake@redhat.com>
+
+ getcwd: fix mingw bugs
+ * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
+ * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
+ * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
+
+2011-04-27 Bruno Haible <bruno@clisp.org>
+
+ mkstemps: Ensure declaration on MacOS X 10.5.
+ * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
+ * doc/glibc-functions/mkstemps.texi: Document header file problem on
+ MacOS X.
+
+2011-04-27 Bruno Haible <bruno@clisp.org>
+
+ mkstemp: More documentation.
+ * doc/posix-functions/mkstemp.texi: Document header file problem on
+ MacOS X.
+
+2011-04-27 Bruno Haible <bruno@clisp.org>
+
+ mkstemp: Tweak configure message when cross-compiling.
+ * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
+ result as a guess.
+
+2011-04-27 Bruno Haible <bruno@clisp.org>
+
+ clean-temp: Clarify what it does.
+ * lib/clean-temp.h: Add more comments.
+ * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
+ module.
+ * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
+ * doc/glibc-functions/mkstemps.texi: Likewise.
+ * doc/glibc-functions/mkostemps.texi: Likewise.
+
+2011-04-27 Eric Blake <eblake@redhat.com>
+
+ fchdir: avoid extra chdir and fix test
+ * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
+ getcwd-lgpl.
+ * lib/fchdir.c (get_name): Any absolute name will do; it does not
+ have to be canonical.
+ (canonicalize_file_name): Drop unused macro.
+ * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
+
+ filenamecat-lgpl: fix licence
+ * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
+ when it was first created.
+
+ linkat, renameat: add missing dependency
+ * modules/linkat (Depends-on): Require getcwd-lgpl.
+ * modules/renameat (Depends-on): Likewise.
+
+ tests: reduce dependencies
+ * tests/test-linkat.c (main): Use lighter-weight getcwd.
+ * tests/test-renameat.c (main): Likewise.
+ * modules/linkat-tests (Depends-on): Relax dependency.
+ * modules/renameat-tests (Depends-on): Likewise.
+ * modules/fchdir-tests (Depends-on): Likewise. Also make cloexec
+ dependency explicit.
+
+ save-cwd: reduce default dependency
+ * modules/save-cwd (Depends-on): Use getcwd-lgpl.
+ * lib/save-cwd.c: Update comments.
+ * NEWS: Document the semantic change.
+
+ getcwd: enhance tests
+ * tests/test-getcwd-lgpl.c: New file, taken from...
+ * tests/test-getcwd.c: ...old contents. Rewrite this file to
+ repeat long path stress tests from m4 probe.
+ * modules/getcwd-lgpl-tests: New module.
+ * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
+ * m4/getcwd-abort-bug.m4: Update comment.
+ * m4/getcwd-path-max.m4: Likewise.
+
+ getcwd-lgpl: new module
+ * modules/getcwd-lgpl: New module.
+ * lib/getcwd-lgpl.c: New file.
+ * doc/posix-functions/getcwd.texi (getcwd): Document it.
+ * MODULES.html.sh (lacking POSIX:2008): Likewise.
+ * modules/getcwd (configure.ac): Set C witness.
+ * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
+
+ getcwd: tweak comments
+ * m4/getcwd-abort-bug.m4: Fix comments.
+ * m4/getcwd-path-max.m4: Likewise.
+ * m4/getcwd.m4: Likewise.
+
+2011-04-27 Reuben Thomas <rrt@sc3d.org>
+ and Eric Blake <eblake@redhat.com>
+
+ mkstemp: replace if system version uses wrong permissions
+ * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
+ read/write mode bits set in file created by mkstemp.
+ * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
+
+2011-04-27 Eric Blake <eblake@redhat.com>
+
+ passfd: avoid compiler warning
+ * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
+ Reported by Laine Stump.
+
+2011-04-27 J.T. Conklin <jtc@acorntoolworks.com> (tiny change)
+
+ * gnulib-tool: change "join -a 2" to "join -a2", the latter is
+ required by the NetBSD (and perhaps other 4.4BSD derived) join.
+
+2011-04-27 Reuben Thomas <rrt@sc3d.org>
+ and Eric Blake <eblake@redhat.com>
+
+ mkstemp: mention clean-temp module
+ * lib/mkstemp.c: Add comment.
+ * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
+
+2011-04-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttypes: also provide default values for 32-bit tests
+ * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
+ for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
+
+2011-04-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ strtoumax: remove dependency on strtoimax
+ This is like the strtoull change of yesterday.
+ * modules/strtoumax (Files): Add lib/strtoimax.c.
+ (Depends-on): Remove strtoimax and add verify.
+
+ inttypes-incomplete: new module
+ * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
+ all but the PRI* and SCN* parts of gl_INTTYPES_H.
+ (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
+ of gl_INTTYPES_H.
+ (gl_INTTYPES_H): Rewrite in terms of these new macros.
+ (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
+ parts, in case gl_INTTYPE_PRI_SCN is not invoked.
+ * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
+ * modules/strtoumax, modules/xstrtol (Depends-on):
+ Depend on inttypes-incomplete, not inttypes.
+ * modules/inttypes-incomplete: New module, containing the contents
+ of the old modules/inttypes module, except that the Files: section
+ omits m4/inttypes-pri.m4, and the configure.ac section invokes
+ gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
+ * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
+ (Depends-on): Depend only on inttypes-incomplete.
+ (Makefile.am): Remove everything; this is now in inttypes-incomplete.
+
+ inttypes: omit now-redundant strtoimax and strtoumax work
+ * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
+ strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
+
+ strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
+ This supports apps that need pointers to strtoimax and strtoumax,
+ and ports to HP-UX 11.00 64.bit, which has macros that expand to
+ nonexistent functions. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
+ et seq.
+ * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
+ * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
+ a macro.
+ * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
+
+2011-04-25 Simon Josefsson <simon@josefsson.org>
+
+ * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
+
+2011-04-25 Bruno Haible <bruno@clisp.org>
+
+ strtol, strtoul: Mark modules as obsolete.
+ * modules/strtol (Status, Notice): New sections.
+ * modules/strtoul (Status, Notice): New sections.
+
+2011-04-25 Bruno Haible <bruno@clisp.org>
+
+ strtod: Remove check for strtod, unless supporting old platforms.
+ * modules/strtod-obsolete: New file.
+ * m4/strtod-obsolete.m4: New file.
+ * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
+ if gl_FUNC_STRTOD_OBSOLETE is not also defined.
+ * modules/strtod (Depends-on): Add strtod-obsolete.
+ * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
+
+2011-04-25 Bruno Haible <bruno@clisp.org>
+
+ strcase: Make module obsolete.
+ * modules/strcase (Status, Notice): New sections.
+
+2011-04-25 Bruno Haible <bruno@clisp.org>
+
+ dup2: Remove check for dup2, unless supporting old obsolete platforms.
+ * modules/dup2-obsolete: New file.
+ * m4/dup2-obsolete.m4: New file.
+ * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
+ gl_FUNC_DUP2_OBSOLETE is not also defined.
+ * modules/dup2 (Depends-on): Add dup2-obsolete.
+ * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
+
+2011-04-25 Bruno Haible <bruno@clisp.org>
+
+ strnlen: Avoid memchr related link error on old obsolete platforms.
+ * modules/memchr-obsolete: New file.
+ * m4/memchr-obsolete.m4: New file.
+ * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
+ gl_FUNC_MEMCHR_OBSOLETE is not also defined.
+ * modules/memchr (Depends-on): Add memchr-obsolete.
+ * modules/strnlen (Depends-on): Likewise.
+ * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
+
+2011-04-25 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: makefile_at_at_check extend and clean up
+ * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
+ in addition to */Makefile.am.
+ Exempt legitimate uses of @VAR@ notation, e.g.,
+ MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
+ Remove obsolete coreutils-specific comment.
+ Prompted by discussion here:
+ http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
+
+2011-04-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ strtoul: remove dependency on strtol
+ This is so that 'configure' need not check for strtol merely because
+ the application needs strtoul.
+ * modules/strtoul (Files): Add lib/strtol.c.
+ (Depends-on): Remove strtol.
+
+ strtoull: remove dependency on strtoul
+ This is like the strtoll change.
+ * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
+ (Depends-on): Remove strtoul.
+
+ strtoll: remove dependency on strtol
+ This is so that 'configure' need not check for strtol merely because
+ the application needs strtoll.
+ * modules/strtoll (Files): Add lib/strtol.c.
+ (Depends-on): Remove strtol.
+
+2011-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttypes: Move some configure check to module 'imaxdiv'.
+ * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
+ instead of gl_INTTYPES_H. Check for imaxdiv decl here.
+ * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
+
+2011-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttypes: Move some configure check to module 'imaxabs'.
+ * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
+ instead of gl_INTTYPES_H. Check for imaxabs decl here.
+ * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
+
+2011-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ inttypes: Remove configure tests that are not needed since 2009-12-31.
+ * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
+ gl_cv_header_working_inttypes_h.
+
+2011-04-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * modules/strnlen (Depends-on): Remove memchr.
+ The strnlen implementation doesn't need the memchr module's fixes; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
+
+ strtol: remove dependency on wchar
+ * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
+ * modules/strtol (Depends-on): Remove wchar.
+
+2011-04-21 Eric Blake <eblake@redhat.com>
+
+ passfd: fix test regression on Linux
+ * modules/passfd-tests (configure.ac): Correct socketpair check.
+
+ passfd: speed up configure and drop unused code
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
+ * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
+ its use. Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
+ Instead of probing at configure for unix_scm_rights_bsd44_way,
+ instead probe for CMSG_FIRSTHDR at compile time. Simplify BSD 4.3
+ check to a struct member probe.
+ * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
+ (sendfd, recvfd): Update preprocessor checks.
+ * modules/passfd (Files): Reflect rename, and drop unused file.
+ (Depends-on): Drop unused dependency.
+
+ passfd: allow compilation on mingw
+ * modules/sys_socket (Depends-on): Add sys_uio.
+ * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
+ iovec and a minimal struct msghdr.
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
+ * tests/test-sys_socket.c (main): Enhance test.
+ * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
+ guaranteed to provide what we need.
+ (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
+ * modules/passfd-tests (Depends-on): Add sys_wait.
+ * tests/test-passfd.c (main): Skip test on mingw, for now.
+ * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
+ partial 'struct msghdr' implementation.
+
+ sys_uio: new module
+ * modules/sys_uio: New module.
+ * modules/sys_uio-tests: Likewise.
+ * lib/sys_uio.in.h: New file.
+ * m4/sys_uio_h.m4: Likewise.
+ * tests/test-sys_uio.c: Likewise.
+ * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
+ * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ useless-if-before-free: avoid false-positive
+ * build-aux/useless-if-before-free: Adjust regexp for the non-brace
+ disjunct so that it too requires a terminating ";". Without that,
+ this script would identify as useless one statement from gcc that
+ was not:
+ if (aligned_ptr)
+ free (((void **) aligned_ptr) [-1]);
+
+2011-04-20 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ doc: update users.txt.
+ * users.txt: Add barcode.
+
+2011-04-19 Bruno Haible <bruno@clisp.org>
+
+ ioctl: Remove link dependency on native Windows.
+ * lib/fd-hook.h: Renamed from lib/close-hook.h.
+ (gl_close_fn, gl_ioctl_fn): New types.
+ (struct fd_hook): Renamed from struct close_hook. Change type of
+ private_close_fn field. Add private_ioctl_fn field.
+ (close_hook_fn): Add parameter for primary close method.
+ (execute_close_hooks, execute_all_close_hooks): Likewise.
+ (ioctl_hook_fn): New type.
+ (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
+ (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
+ argument.
+ (unregister_fd_hook): Renamed from unregister_close_hook.
+ * lib/fd-hook.c: Renamed from lib/close-hook.c.
+ Don't include <unistd.h>.
+ (close): Remove undef.
+ (anchor): Update.
+ (execute_close_hooks): Add argument for primary close method.
+ (execute_all_close_hooks): Likewise.
+ (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
+ (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
+ argument. Allow each argument to be NULL.
+ (unregister_fd_hook): Renamed from unregister_close_hook.
+ * lib/close.c (rpl_close): Pass 'close' function pointer to
+ execute_all_close_hooks.
+ * lib/ioctl.c: Include <errno.h>, fd-hook.h.
+ (primary_ioctl): New function.
+ (ioctl): Don't call ioctlsocket here. Instead, call
+ execute_all_ioctl_hooks.
+ * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
+ close method.
+ (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
+ (fd_sockets_hook): Renamed from close_sockets_hook.
+ (gl_sockets_startup, gl_sockets_cleanup): Update.
+ * modules/fd-hook: Renamed from modules/close-hook. Update.
+ * modules/close (Depends-on): Add fd-hook, remove close-hook.
+ * modules/sockets (Depends-on): Likewise.
+ * modules/ioctl (Depends-on): Add fd-hook.
+ * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
+ GNULIB_SOCKET.
+
+2011-04-19 Bruno Haible <bruno@clisp.org>
+
+ Move the support of O_NONBLOCK in open() to the 'open' module.
+ * modules/nonblocking (Depends-on): Remove 'open'.
+ * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
+ gl_cv_have_open_O_NONBLOCK.
+ * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
+ O_NONBLOCK support.
+ * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
+
+2011-04-17 Bruno Haible <bruno@clisp.org>
+
+ pipe2: Simplify code.
+ * lib/pipe2.c (pipe2): Reduce code duplication.
+
+2011-04-17 Bruno Haible <bruno@clisp.org>
+
+ nonblocking: Add comment.
+ * lib/fcntl.in.h (O_NONBLOCK): Add comment.
+
+2011-04-17 Bruno Haible <bruno@clisp.org>
+
+ nonblocking: Add tests for sockets.
+ * tests/test-nonblocking-socket.sh: New file.
+ * tests/test-nonblocking-socket-main.c: New file.
+ * tests/test-nonblocking-socket-child.c: New file.
+ * tests/test-nonblocking-socket.h: New file.
+ * tests/socket-server.h: New file.
+ * tests/socket-client.h: New file.
+ * modules/nonblocking-socket-tests: New file.
+ * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
+
+2011-04-17 Bruno Haible <bruno@clisp.org>
+
+ nonblocking: Add tests for pipes.
+ * tests/test-nonblocking-pipe.sh: New file.
+ * tests/test-nonblocking-pipe-main.c: New file.
+ * tests/test-nonblocking-pipe-child.c: New file.
+ * tests/test-nonblocking-pipe.h: New file.
+ * tests/test-nonblocking-writer.h: New file.
+ * tests/test-nonblocking-reader.h: New file.
+ * tests/test-nonblocking-misc.h: New file.
+ * modules/nonblocking-pipe-tests: New file.
+ * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
+
+2011-04-16 Bruno Haible <bruno@clisp.org>
+
+ gettext: Clarify the needed programmer actions.
+ * modules/gettext (Notice): New field.
+ Suggested by Ben Pfaff <blp@cs.stanford.edu>.
+
+2011-04-16 Bruno Haible <bruno@clisp.org>
+
+ strchrnul: Tweak last commit.
+ * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
+ bug.
+ * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
+ as in _GL_FUNCDECL_SYS.
+ * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
+ AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
+
+2011-04-15 Eric Blake <eblake@redhat.com>
+
+ strchrnul: work around cygwin bug
+ * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
+ * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
+ * modules/string (Makefile.am): Substitute it.
+ * lib/string.in.h (strchrnul): Use it.
+
+2011-04-15 Bruno Haible <bruno@clisp.org>
+
+ Don't require lib/stdio-write.c when only module 'stdio' is used.
+ * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
+ invocation.
+ Reported by Rob Vermaas <rob.vermaas@gmail.com>.
+
+2011-04-14 Bruno Haible <bruno@clisp.org>
+
+ Support non-blocking pipe I/O in read() on native Windows.
+ * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
+ (read): New declaration.
+ * lib/read.c: New file.
+ * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
+ _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
+ (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
+ vscanf): New declarations.
+ * lib/stdio-read.c: New file.
+ * m4/read.m4: New file.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
+ REPLACE_READ.
+ * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
+ GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+ GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
+ desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
+ (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
+ GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+ GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
+ * modules/read: New file.
+ * modules/nonblocking (Files): Add lib/stdio-read.c.
+ * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
+ * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
+ GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
+ GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
+ * modules/pread (Depends-on): Add read.
+ * modules/safe-read (Depends-on): Likewise.
+ * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
+ gets, scanf, vfscanf, vscanf): Verify signatures.
+ * doc/posix-functions/read.texi: Mention 'nonblocking' module and
+ problem with non-blocking pipes.
+ * doc/posix-functions/fgetc.texi: Likewise.
+ * doc/posix-functions/fgets.texi: Likewise.
+ * doc/posix-functions/fread.texi: Likewise.
+ * doc/posix-functions/fscanf.texi: Likewise.
+ * doc/posix-functions/getc.texi: Likewise.
+ * doc/posix-functions/getchar.texi: Likewise.
+ * doc/posix-functions/gets.texi: Likewise.
+ * doc/posix-functions/scanf.texi: Likewise.
+ * doc/posix-functions/vfscanf.texi: Likewise.
+ * doc/posix-functions/vscanf.texi: Likewise.
+
+2011-04-14 Bruno Haible <bruno@clisp.org>
+
+ Support non-blocking pipe I/O in write() on native Windows.
+ * lib/write.c (rpl_write): Split a write request that failed merely
+ because the byte count was larger than the pipe buffer's size.
+ * doc/posix-functions/write.texi: Mention the problem with large byte
+ counts.
+
+2011-04-14 Bruno Haible <bruno@clisp.org>
+
+ wchar: Ensure that wchar_t gets defined on uClibc.
+ * lib/wchar.in.h: On uClibc, include <stddef.h>.
+ Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
+
+2011-04-13 Bruno Haible <bruno@clisp.org>
+
+ safe-write, full-read: Avoid unnecessary compilation units.
+ * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
+ (Depends-on): Remove safe-read. Add ssize_t.
+ * modules/full-read (Files): Add lib/full-write.c.
+ (Depends-on): Add full-write.
+
+2011-04-13 Bruno Haible <bruno@clisp.org>
+
+ Support non-blocking pipe I/O and SIGPIPE in pwrite().
+ * modules/pwrite (Depends-on): Add 'write'.
+
+2011-04-13 Bruno Haible <bruno@clisp.org>
+
+ Support non-blocking pipe I/O in write() on native Windows.
+ * lib/unistd.in.h (write): Enable replacement also if
+ GNULIB_UNISTD_H_NONBLOCKING is 1.
+ * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
+ (rpl_write): When failing to write on a non-blocking pipe, change
+ errno from ENOSPC to EAGAIN.
+ * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
+ putchar, puts, vfprintf, vprintf): Enable replacement also if
+ GNULIB_STDIO_H_NONBLOCKING is 1.
+ * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
+ (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
+ (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
+ CALL_WITH_SIGPIPE_EMULATION.
+ (CALL_WITH_SIGPIPE_EMULATION): Use them.
+ * m4/nonblocking.m4: New file.
+ * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
+ for non-blocking I/O support.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+ GNULIB_UNISTD_H_NONBLOCKING.
+ * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
+ required for non-blocking I/O support.
+ (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
+ * modules/nonblocking (Files): Add m4/nonblocking.m4,
+ lib/stdio-write.c, m4/asm-underscore.m4.
+ (Depends-on): Add stdio, unistd.
+ (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
+ Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
+ * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
+ * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
+ * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
+ problem with non-blocking pipes.
+ * doc/posix-functions/fputc.texi: Likewise.
+ * doc/posix-functions/fputs.texi: Likewise.
+ * doc/posix-functions/fwrite.texi: Likewise.
+ * doc/posix-functions/printf.texi: Likewise.
+ * doc/posix-functions/putc.texi: Likewise.
+ * doc/posix-functions/putchar.texi: Likewise.
+ * doc/posix-functions/puts.texi: Likewise.
+ * doc/posix-functions/vfprintf.texi: Likewise.
+ * doc/posix-functions/vprintf.texi: Likewise.
+ * doc/posix-functions/write.texi: Likewise.
+
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: prohibit doubled words
+ Detect them also when they're separated by a newline.
+ There are 3 ways to customize it:
+ - disable the test on a per file basis, as usual with rules using
+ $(VC_LIST_EXCEPT)
+ - replace the default doubled-word-selecting regexp (affects all files)
+ - ignore a particular file-vs-doubled-word match
+ I nearly used that last one to ignore the "is is" match in
+ coreutils' NEWS file, since the text was "ls -is is ..."
+ To do that, I would have added this line to cfg.mk:
+ ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
+ but it would have ignored any "is is" match in NEWS.
+ Low probability, but still...
+ Instead, I changed the text, slightly:
+ - ls -is is now consistent with ls -lis in ignoring values returned
+ + "ls -is" is now consistent with ls -lis in ignoring values returned
+ * top/maint.mk (prohibit_double_word_RE_): Provide default.
+ (prohibit_doubled_word_): Define.
+ (sc_prohibit_doubled_word): New rule.
+ (sc_prohibit_the_the): Remove. Subsumed by the above.
+
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ maint: fix doubled-word typo in comment
+ * m4/gethostname.m4: s/is is/it is/
+ * m4/getdomainname.m4: Likewise.
+
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ maint: remove doubled word: s/it it/it/
+ * lib/stat-time.h (get_stat_birthtime): s/it it/it/
+
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: remove useless semicolon and backslash
+ * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
+ semicolon and backslash.
+
+2011-04-10 Bruno Haible <bruno@clisp.org>
+
+ stdint test: Fix compilation failure on OSF/1 with DTK compiler.
+ * modules/stdint-tests (Depends-on): Add wchar.
+
+2011-04-10 Jim Meyering <meyering@redhat.com>
+
+ maint: remove doubled words in comments, e.g., s/a a/a/
+ * lib/strptime.c (day_of_the_week): s/the the/the/
+ * tests/test-chown.h (test_chown): s/a a/a/
+
+ test-chown.h: correct a cast
+ * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
+ when the destination is a stat.st_gid.
+
+2011-04-09 Mats Erik Andersson <mats.andersson@gisladisker.se> (tiny change)
+
+ getaddrinfo: Fix test for sa_len member.
+ * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
+ include <sys/types.h> before <sys/socket.h>.
+
+2011-04-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ maint: change "can not" to "cannot"
+ * doc/posix-functions/iconv.texi (iconv): This one crossed line
+ boundaries.
+
+2011-04-09 Jim Meyering <meyering@redhat.com>
+
+ maint: change "a a" to "a"
+ * tests/test-lchown.h (test_lchown): s/a a/a/
+
+ maint.mk: prohibit \<the the\>
+ * top/maint.mk (sc_prohibit_the_the): New rule.
+
+ maint: fix "the the" in comment
+ * lib/count-one-bits.h: s/the the/the/
+
+ maint: change "can not" to "cannot"
+ But do not change the occurrences in maintain.texi or in
+ build-aux/po/Makefile.in.in, which I presume comes from gettext.
+ * doc/gnulib-tool.texi: s/can not/cannot/
+ * doc/posix-functions/accept.texi (accept): Likewise.
+ * doc/posix-functions/socket.texi (socket): Likewise.
+ * lib/mbrtowc.c: Likewise.
+
+ maint.mk: prohibit use of "can not"
+ * top/maint.mk (sc_prohibit_can_not): New rule.
+ Writing "can not" (rather than "cannot") is too common. Prohibit it.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ careadlinkat: Guard against misuse of careadlinkatcwd.
+ * lib/careadlinkat.c: Include <stdlib.h>.
+ (careadlinkatcwd): Check that the fd argument is as expected.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ careadlinkat: Use common coding style.
+ * lib/careadlinkat.c: Move gnulib includes after system includes.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ careadlinkat: Clarify specification.
+ * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
+ (careadlinkatcwd): Add comment.
+ * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ areadlinkat: Avoid link error on many platforms.
+ * modules/areadlinkat (Depends-on): Add areadlink.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ allocator, careadlinkat: Fix double-inclusion guard.
+ * lib/allocator.h: Fix double-inclusion guard.
+ * lib/careadlinkat.h: Likewise.
+
+2011-04-09 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Update after module 'areadlink' changed.
+ * lib/relocwrapper.c: Update dependencies hierarchy.
+ * build-aux/install-reloc: Update list of files to be compiled.
+ * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
+ lib/allocator.[hc].
+
2011-04-08 Eric Blake <eblake@redhat.com>
strftime: silence gnulib-tool warning
* tests/test-open.h (test_open): Likewise.
* doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
- careadlink: fix compilation error on mingw
+ careadlinkat: fix compilation error on mingw
* lib/careadlinkat.c (standard_allocator): Avoid renaming fields
within struct allocator.