+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
+ * modules/strftime-tests (Depends-on): Drop automatic dependency.
+
+2011-04-08 Bruno Haible <bruno@clisp.org>
+
+ verify: Fix syntax error with GCC 4.6 in C++ mode.
+ * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
+ (HAVE_STATIC_ASSERT): New macro.
+ (verify_true, verify): Use 'static_assert' if it is supported and
+ '_Static_assert' is not supported.
+
+2011-04-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ allocator: New module.
+ * modules/allocator, lib/allocator.c: New files.
+ * lib/allocator.h (stdlib_allocator): New decl.
+ * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
+ Remove. Do not include <stdlib.h>.
+ (careadlinkat): Use stdlib_allocator instead of rolling our own.
+ * modules/careadlinkat (Files): Remove lib/allocator.h.
+ (Depends-on): Add allocator.
+
+ stdlib: let modules use system malloc, realloc
+ * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
+ if !_GL_USE_STDLIB_ALLOC.
+ (malloc, realloc): Limit this change to a smaller scope.
+
+ * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
+ (malloc, realloc): Don't #undef; no longer needed.
+ * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
+ * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
+ * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
+
+ careadlinkat: rename members to avoid problem
+ * lib/allocator.h (struct allocator): Rename members from
+ malloc/realloc to allocate/reallocate, to avoid problems if malloc
+ and realloc are #define'd. Reported by Eric Blake in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
+ * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
+
+2011-04-08 Eric Blake <eblake@redhat.com>
+
+ nonblocking: reduce dependency
+ * tests/test-nonblocking.c: Only test sockets when in use.
+ * modules/nonblocking-tests (Depends-on): Drop socket.
+ (Makefile.am): Link even if sockets are not present.
+ * modules/pipe2-tests (Makefile.am): Likewise.
+ * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
+
+ pipe2: fix O_NONBLOCK support on mingw
+ * modules/pipe2 (Depends-on): Add nonblocking.
+ * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
+ * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
+ * tests/test-nonblocking.c (main): Likewise.
+ * modules/pipe2-tests (Makefile.am): Avoid link failure.
+
+ fcntl-h: fix O_ACCMODE on cygwin
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
+ * lib/fcntl.in.h (O_ACCMODE): Fix it.
+
+ pipe-filter: drop O_NONBLOCK workarounds
+ * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
+ * modules/pipe-filter-ii (Depends-on): Likewise.
+ * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
+
+ nonblocking: provide O_NONBLOCK for mingw
+ * modules/nonblocking (Depends-on): Add open.
+ (configure.ac): Set new witness macro.
+ * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
+ * modules/fcntl-h (Makefile.am): Substitute it.
+ * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
+ nonblocking module is in use.
+ * lib/nonblocking.c: Adjust portability test.
+ * lib/open.c (open): Don't let native open see gnulib flag.
+ * tests/test-fcntl-h.c (main): Enhance test.
+ * tests/test-open.h (test_open): Likewise.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
+
+ careadlinkat: fix compilation error on mingw
+ * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
+ within struct allocator.
+
+2011-04-06 Eric Blake <eblake@redhat.com>
+
+ binary-io: relicense under LGPLv2+
+ * modules/binary-io (License): Relax to LGPLv2+.
+ Requested for libvirt, and required by pipe2.
+
+2011-04-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ verify: use _Static_assert if available
+ * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
+ (verify_true, verify): Use it if available. This generates better
+ diagnostics with GCC 4.6.0 and later.
+
+2011-04-05 Bruno Haible <bruno@clisp.org>
+
+ Remove leftover generated .h files after config.status changed.
+
+ * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
+ GL_GENERATE_ALLOCA_H.
+ * modules/alloca-opt (Makefile.am): Remove alloca.h if
+ GL_GENERATE_ALLOCA_H evaluates to false.
+
+ * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
+ GL_GENERATE_ARGZ_H.
+ * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
+ evaluates to false.
+
+ * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
+ GL_GENERATE_BYTESWAP_H.
+ * modules/byteswap (Makefile.am): Remove byteswap.h if
+ GL_GENERATE_BYTESWAP_H evaluates to false.
+
+ * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
+ GL_GENERATE_ERRNO_H.
+ * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
+ evaluates to false.
+
+ * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
+ GL_GENERATE_FLOAT_H.
+ * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
+ evaluates to false.
+
+ * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
+ GL_GENERATE_FNMATCH_H.
+ * modules/fnmatch (Makefile.am): Remove fnmatch.h if
+ GL_GENERATE_FNMATCH_H evaluates to false.
+
+ * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
+ GL_GENERATE_GLOB_H.
+ * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
+ evaluates to false.
+
+ * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
+ automake conditional GL_GENERATE_ICONV_H.
+ * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
+ evaluates to false.
+
+ * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
+ GL_GENERATE_NETINET_IN_H.
+ * modules/netinet_in (Makefile.am): Remove netinet/in.h if
+ GL_GENERATE_NETINET_IN_H evaluates to false.
+
+ * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
+ conditional GL_GENERATE_PTHREAD_H.
+ (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
+ * modules/pthread (Makefile.am): Remove pthread.h if
+ GL_GENERATE_PTHREAD_H evaluates to false.
+
+ * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
+ GL_GENERATE_SCHED_H.
+ * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
+ evaluates to false.
+
+ * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
+ conditional GL_GENERATE_SELINUX_CONTEXT_H.
+ * modules/selinux-h (Makefile.am): Remove selinux/context.h if
+ GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
+
+ * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
+ GL_GENERATE_STDARG_H.
+ * modules/stdarg (Makefile.am): Remove stdarg.h if
+ GL_GENERATE_STDARG_H evaluates to false.
+
+ * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
+ GL_GENERATE_STDBOOL_H.
+ * modules/stdbool (Makefile.am): Remove stdbool.h if
+ GL_GENERATE_STDBOOL_H evaluates to false.
+
+ * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
+ conditional GL_GENERATE_STDDEF_H.
+ (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
+ * modules/stddef (Makefile.am): Remove stddef.h if
+ GL_GENERATE_STDDEF_H evaluates to false.
+
+ * m4/stdint.m4 (gl_STDINT_H): New automake conditional
+ GL_GENERATE_STDINT_H.
+ * modules/stdint (Makefile.am): Remove stdint.h if
+ GL_GENERATE_STDINT_H evaluates to false.
+
+ * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
+ GL_GENERATE_SYSEXITS_H.
+ * modules/sysexits (Makefile.am): Remove sysexits.h if
+ GL_GENERATE_SYSEXITS_H evaluates to false.
+
+ Reported by Karl Berry and Ralf Wildenhues.
+
+2011-04-05 Bruno Haible <bruno@clisp.org>
+
+ Ensure to rebuild generated .h files when config.status has changed.
+ * modules/arpa_inet (Makefile.am): Add dependency from .h file to
+ config.status.
+ * modules/ctype (Makefile.am): Likewise.
+ * modules/dirent (Makefile.am): Likewise.
+ * modules/errno (Makefile.am): Likewise.
+ * modules/fcntl-h (Makefile.am): Likewise.
+ * modules/float (Makefile.am): Likewise.
+ * modules/getopt-posix (Makefile.am): Likewise.
+ * modules/glob (Makefile.am): Likewise.
+ * modules/iconv-h (Makefile.am): Likewise.
+ * modules/inttypes (Makefile.am): Likewise.
+ * modules/langinfo (Makefile.am): Likewise.
+ * modules/locale (Makefile.am): Likewise.
+ * modules/math (Makefile.am): Likewise.
+ * modules/netdb (Makefile.am): Likewise.
+ * modules/netinet_in (Makefile.am): Likewise.
+ * modules/poll-h (Makefile.am): Likewise.
+ * modules/pthread (Makefile.am): Likewise.
+ * modules/pty (Makefile.am): Likewise.
+ * modules/sched (Makefile.am): Likewise.
+ * modules/search (Makefile.am): Likewise.
+ * modules/selinux-h (Makefile.am): Likewise.
+ * modules/signal (Makefile.am): Likewise.
+ * modules/spawn (Makefile.am): Likewise.
+ * modules/stdarg (Makefile.am): Likewise.
+ * modules/stdbool (Makefile.am): Likewise.
+ * modules/stddef (Makefile.am): Likewise.
+ * modules/stdint (Makefile.am): Likewise.
+ * modules/stdio (Makefile.am): Likewise.
+ * modules/stdlib (Makefile.am): Likewise.
+ * modules/string (Makefile.am): Likewise.
+ * modules/strings (Makefile.am): Likewise.
+ * modules/sys_file (Makefile.am): Likewise.
+ * modules/sys_ioctl (Makefile.am): Likewise.
+ * modules/sys_select (Makefile.am): Likewise.
+ * modules/sys_socket (Makefile.am): Likewise.
+ * modules/sys_stat (Makefile.am): Likewise.
+ * modules/sys_time (Makefile.am): Likewise.
+ * modules/sys_times (Makefile.am): Likewise.
+ * modules/sys_utsname (Makefile.am): Likewise.
+ * modules/sys_wait (Makefile.am): Likewise.
+ * modules/sysexits (Makefile.am): Likewise.
+ * modules/termios (Makefile.am): Likewise.
+ * modules/time (Makefile.am): Likewise.
+ * modules/unistd (Makefile.am): Likewise.
+ * modules/wchar (Makefile.am): Likewise.
+ * modules/wctype-h (Makefile.am): Likewise.
+ Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
+
+2011-04-05 Bruno Haible <bruno@clisp.org>
+
+ pipe2: Relicense under LGPLv2+.
+ * modules/pipe2 (License): Change to LGPLv2+.
+ Requested by Eric Blake, for libvirt.
+
+2011-04-05 Bruce Korb <bkorb@gnu.org>
+
+ bootstrap: compute gnulib_extra_files after updating build_aux
+ * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
+ change build_aux or also supply gnulib_extra_files. Handle correctly.
+
+2011-04-05 Eric Blake <eblake@redhat.com>
+
+ bootstrap: preserve git whitelist item sorting
+ * build-aux/bootstrap (sort_patterns): New function.
+ (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
+
+2011-04-05 Simon Josefsson <simon@josefsson.org>
+
+ * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
+ sc_space_tab check.
+
+2011-04-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ areadlink, areadlinkat: rewrite in terms of careadlinkat
+ * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
+ instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
+ (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
+ (malloc, realloc): Remove #undefs.
+ (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
+ * modules/areadlink (Depends-on): Add careadlinkat. Remove
+ readlink, ssize_t, stdint, unistd.
+ * modules/areadlinkat (Depends-on): Add careadlinkat. Remove
+ areadlink, stdint.
+
+ careadlinkat: new module
+ * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
+ * modules/careadlinkat: New files, written by me with
+ a review and feedback from Ben Pfaff in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
+
+2011-04-01 Bruno Haible <bruno@clisp.org>
+
+ wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
+ * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
+ _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
+ systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
+ Reported by Bruce Korb <bruce.korb@gmail.com>.
+
+2011-04-01 Bruno Haible <bruno@clisp.org>
+
+ wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
+ * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
+ * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
+ * modules/wcpcpy (Depends-on): Add extensions.
+ * modules/wcpncpy (Depends-on): Likewise.
+ * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
+ systems.
+ * doc/posix-functions/wcpncpy.texi: Likewise.
+ * doc/posix-functions/wcwidth.texi: Likewise.
+
+2011-03-31 Eric Blake <eblake@redhat.com>
+
+ nonblocking: fix mingw test failures
+ * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
+ non-blocking flag on regular file.
+ (get_nonblocking_flag): Set errno on invalid fd.
+ * tests/test-nonblocking.c (main): Avoid test failure on
+ directories if fchdir is not active.
+ * modules/nonblocking-tests (Depends-on): Drop unused dependency.
+
+2011-03-31 Bruno Haible <bruno@clisp.org>
+
+ Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
+ * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
+ gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
+ Reported by Simon Josefsson <simon@josefsson.org>.
+
+2011-03-31 Bruno Haible <bruno@clisp.org>
+ and Eric Blake <eblake@redhat.com>
+
+ nonblocking: new module
+ * modules/nonblocking: New module.
+ * modules/nonblocking-tests: Likewise.
+ * lib/nonblocking.h: New file.
+ * lib/nonblocking.c: Likewise.
+ * tests/test-nonblocking.c: New test.
+ * lib/ioctl.c (ioctl) [mingw]: Update comment.
+
+2011-03-30 Bruno Haible <bruno@clisp.org>
+
+ stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
+ * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
+ instead of 'printf' format for GCC >= 4.4.
+ (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
+ (fprintf, printf, vfprintf, vprintf): Declare with
+ _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
+ the system's vfprintf() function.
+ Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
+
+2011-03-30 Eric Blake <eblake@redhat.com>
+
+ passfd: fix scoping bug
+ * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
+ before sendmsg/recvmsg.
+
+ passfd: standardize coding conventions
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
+ can be learned at compile time.
+ * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
+ ifdefs.
+ (sendfd, recvfd): Follow gnulib code conventions.
+
+ passfd: fix incorrect sendmsg arguments
+ * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
+ incorrect msg_controllen value.
+ * modules/passfd-tests (Depends-on): Check for alarm.
+ * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
+ Reported by Bastien ROUCARIES.
+
+2011-03-30 Bruno Haible <bruno@clisp.org>
+
+ c-strcasestr: Relicense under LGPLv2+.
+ * modules/c-strcasestr (License): Change to LGPLv2+.
+ Requested by Eric Blake, for libvirt.
+
+2011-03-30 Simon Josefsson <simon@josefsson.org>
+
+ * users.txt: Add libidn2. Fix libtasn1 link.
+
+2011-03-30 Jim Meyering <meyering@redhat.com>
+
+ tests: readlink* ("",... fails with EINVAL on newer kernels
+ readlink and readlinkat have typically failed with ENOENT for
+ the invalid, empty file name, "". However, with the advent
+ of linux-2.6.39, they fail with EINVAL.
+ * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
+ when operating on the empty file name.
+ * tests/test-readlink.h (test_readlink): Likewise.
+
+2011-03-29 Bruno Haible <bruno@clisp.org>
+
+ Relicense some modules under LGPLv2+, for libidn2.
+ * modules/array-mergesort (License): Change to LGPLv2+.
+ * modules/c-strcaseeq (License): Likewise.
+ * modules/striconveh (License): Likewise.
+ * modules/striconveha (License): Likewise.
+ * modules/uniconv/base (License): Likewise.
+ * modules/uniconv/u8-conv-from-enc (License): Likewise.
+ * modules/uniconv/u8-strconv-from-enc (License): Likewise.
+ * modules/uniconv/u8-strconv-from-locale (License): Likewise.
+ * modules/unictype/base (License): Likewise.
+ * modules/unictype/bidiclass-of (License): Likewise.
+ * modules/unictype/category-M (License): Likewise.
+ * modules/unictype/category-none (License): Likewise.
+ * modules/unictype/category-of (License): Likewise.
+ * modules/unictype/category-test (License): Likewise.
+ * modules/unictype/category-test-withtable (License): Likewise.
+ * modules/unictype/combining-class (License): Likewise.
+ * modules/unictype/joiningtype-of (License): Likewise.
+ * modules/unictype/scripts (License): Likewise.
+ * modules/uninorm/base (License): Likewise.
+ * modules/uninorm/canonical-decomposition (License): Likewise.
+ * modules/uninorm/composition (License): Likewise.
+ * modules/uninorm/decompose-internal (License): Likewise.
+ * modules/uninorm/decomposition-table (License): Likewise.
+ * modules/uninorm/nfc (License): Likewise.
+ * modules/uninorm/nfd (License): Likewise.
+ * modules/uninorm/u32-normalize (License): Likewise.
+ * modules/unistr/base (License): Likewise.
+ * modules/unistr/u32-cpy (License): Likewise.
+ * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
+ * modules/unistr/u32-to-u8 (License): Likewise.
+ * modules/unistr/u32-uctomb (License): Likewise.
+ * modules/unistr/u8-check (License): Likewise.
+ * modules/unistr/u8-mblen (License): Likewise.
+ * modules/unistr/u8-mbtouc (License): Likewise.
+ * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
+ * modules/unistr/u8-mbtoucr (License): Likewise.
+ * modules/unistr/u8-prev (License): Likewise.
+ * modules/unistr/u8-strlen (License): Likewise.
+ * modules/unistr/u8-to-u32 (License): Likewise.
+ * modules/unistr/u8-uctomb (License): Likewise.
+ * modules/unitypes (License): Likewise.
+ Requested by Simon Josefsson.
+
+2011-03-29 Simon Josefsson <simon@josefsson.org>
+
+ lib-symbol-visibility: Add a notice.
+ * modules/lib-symbol-visibility (Notice): New field.
+
+2011-03-29 Bruno Haible <bruno@clisp.org>
+
+ getaddrinfo: Doc fix.
+ * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
+ section "fixed in Gnulib".
+
+2011-03-28 Simon Josefsson <simon@josefsson.org>
+
+ * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
+ Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/property-byname: Reduce the number of load-time relocations.
+ * lib/unictype/pr_byname.c: Include <stdlib.h>.
+ (UC_PROPERTY_INDEX_*): New enumeration values.
+ (uc_property_byname): Convert an index from the lookup table to an
+ uc_property_t.
+ * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
+ values.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/property-byname: Allow omitted word separators and aliases.
+ * lib/unictype/pr_byname.gperf: Add property names without word
+ separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
+ for 'space'.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/joininggroup-byname: Allow hyphens, omitted word separators.
+ * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
+ also hyphens to space.
+ * lib/unictype/joininggroup_byname.gperf: Recognize the names also
+ without spaces.
+ * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/joiningtype-byname: Recognize long names as well.
+ * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
+ a long name.
+ * lib/unictype/joiningtype_byname.c: Include <string.h>,
+ unictype/joiningtype_byname.h.
+ (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
+ * lib/unictype/joiningtype_byname.gperf: New file.
+ * modules/unictype/joiningtype-byname (Files): Add
+ lib/unictype/joiningtype_byname.gperf.
+ (Depends-on): Add gperf.
+ (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
+ * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
+ long names.
+
+ Tests for module 'unictype/joiningtype-longname'.
+ * modules/unictype/joiningtype-longname-tests: New file.
+ * tests/unictype/test-joiningtype_longname.c: New file.
+
+ New module 'unictype/joiningtype-longname'.
+ * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
+ * lib/unictype/joiningtype_longname.c: New file.
+ * modules/unictype/joiningtype-longname: New file.
+ * modules/unictype/joiningtype-all (Depends-on): Add
+ unictype/joiningtype-longname.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/bidiclass-byname: Recognize long names as well.
+ * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
+ name.
+ * lib/unictype/bidi_byname.c: Include <string.h>,
+ unictype/bidi_byname.h.
+ (uc_bidi_class_byname): Use uc_bidi_class_lookup.
+ * lib/unictype/bidi_byname.gperf: New file.
+ * modules/unictype/bidiclass-byname (Files): Add
+ lib/unictype/bidi_byname.gperf.
+ (Depends-on): Add gperf.
+ (Makefile.am): Add rule for generating unictype/bidi_byname.h.
+ * tests/unictype/test-bidi_byname.c (main): Test the recognition of
+ long names.
+
+ Tests for module 'unictype/bidiclass-longname'.
+ * modules/unictype/bidiclass-longname-tests: New file.
+ * tests/unictype/test-bidi_longname.c: New file.
+
+ New module 'unictype/bidiclass-longname'.
+ * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
+ * lib/unictype/bidi_longname.c: New file.
+ * modules/unictype/bidiclass-longname: New file.
+ * modules/unictype/bidiclass-all (Depends-on): Add
+ unictype/bidiclass-longname.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/bidi*: Rename modules.
+ * modules/unictype/bidiclass-all: Renamed from
+ modules/unictype/bidicategory-all.
+ * modules/unictype/bidiclass-name: Renamed from
+ modules/unictype/bidiclass-name.
+ (Description): Update.
+ * modules/unictype/bidiclass-name-tests: Renamed from
+ modules/unictype/bidicategory-name-tests.
+ * modules/unictype/bidiclass-byname: Renamed from
+ modules/unictype/bidicategory-byname.
+ (Description): Update.
+ * modules/unictype/bidiclass-byname-tests: Renamed from
+ modules/unictype/bidicategory-byname-tests.
+ * modules/unictype/bidiclass-of: Renamed from
+ modules/unictype/bidicategory-of.
+ (Description): Update.
+ * modules/unictype/bidiclass-of-tests: Renamed from
+ modules/unictype/bidicategory-of-tests.
+ * modules/unictype/bidiclass-test: Renamed from
+ modules/unictype/bidicategory-test.
+ (Description): Update.
+ * modules/unictype/bidiclass-test-tests: Renamed from
+ modules/unictype/bidicategory-test-tests.
+ * modules/unictype/bidicategory-all: New file, a simple redirection.
+ * modules/unictype/bidicategory-name: Likewise.
+ * modules/unictype/bidicategory-byname: Likewise.
+ * modules/unictype/bidicategory-of: Likewise.
+ * modules/unictype/bidicategory-test: Likewise.
+ * modules/unictype/property-bidi-* (Dependencies): Update.
+ * lib/unictype/bidi_*.c: Update comment.
+
+2011-03-26 Bruno Haible <bruno@clisp.org>
+
+ unictype/bidi*: Rename functions, part 2.
+ * modules/unictype/bidicategory-name (configure.ac): Update required
+ libunistring version.
+ * modules/unictype/bidicategory-byname (configure.ac): Likewise.
+
+2011-03-25 Bruno Haible <bruno@clisp.org>
+
+ New module 'unictype/combining-class-all'.
+ * modules/unictype/combining-class-all: New file.
+
+ Tests for module 'unictype/combining-class-byname'.
+ * modules/unictype/combining-class-byname-tests: New file.
+ * tests/unictype/test-combiningclass_byname.c: New file.
+
+ New module 'unictype/combining-class-byname'.
+ * lib/unictype.in.h (uc_combining_class_byname): New declaration.
+ * lib/unictype/combiningclass_byname.c: New file.
+ * lib/unictype/combiningclass_byname.gperf: New file.
+ * modules/unictype/combining-class-byname: New file.
+
+ Tests for module 'unictype/combining-class-longname'.
+ * modules/unictype/combining-class-longname-tests: New file.
+ * tests/unictype/test-combiningclass_longname.c: New file.
+
+ New module 'unictype/combining-class-longname'.
+ * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
+ * lib/unictype/combiningclass_longname.c: New file.
+ * modules/unictype/combining-class-longname: New file.
+
+ Tests for module 'unictype/combining-class-name'.
+ * modules/unictype/combining-class-name-tests: New file.
+ * tests/unictype/test-combiningclass_name.c: New file.
+
+ New module 'unictype/combining-class-name'.
+ * lib/unictype.in.h (uc_combining_class_name): New declaration.
+ * lib/unictype/combiningclass_name.c: New file.
+ * modules/unictype/combining-class-name: New file.
+
+2011-03-25 Bruno Haible <bruno@clisp.org>
+
+ unictype/combining-class: Rename source files.
+ * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
+ of unictype/combining.h.
+ * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
+ Update.
+ * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
+ * modules/unictype/combining-class (Description): Fix.
+ (Files, Makefile.am): Update.
+ * tests/unictype/test-combiningclass.c: Renamed from
+ tests/unictype/test-combining.c.
+ * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
+
+2011-03-25 Bruno Haible <bruno@clisp.org>
+
+ unictype: Update list of canonical combining classes.
+ * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
+
+2011-03-25 Bruno Haible <bruno@clisp.org>
+
+ unictype/category-byname: Recognize long names as well.
+ * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
+ a long name.
+ * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
+ unictype/categ_byname.h.
+ (UC_CATEGORY_INDEX_*): New enumeration values.
+ (uc_general_category_byname): Use uc_general_category_lookup and
+ convert from index to value.
+ * lib/unictype/categ_byname.gperf: New file.
+ * modules/unictype/category-byname (Files): Add
+ lib/unictype/categ_byname.gperf.
+ (Depends-on): Add gperf.
+ (Makefile.am): Add rule for generating unictype/categ_byname.h.
+ * tests/unictype/test-categ_byname.c (main): Test the recognition of
+ long names.
+
+ Tests for module 'unictype/category-longname'.
+ * modules/unictype/category-longname-tests: New file.
+ * tests/unictype/test-categ_longname.c: New file.
+
+ New module 'unictype/category-longname'.
+ * lib/unictype.in.h (uc_general_category_long_name): New declaration.
+ * lib/unictype/categ_longname.c: New file.
+ * modules/unictype/category-longname: New file.
+ * modules/unictype/category-all (Depends-on): Add it.
+
+2011-03-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unictype/category-LC'.
+ * modules/unictype/category-LC-tests: New file.
+ * tests/unictype/test-categ_LC.c: New file, automatically generated.
+
+ New module 'unictype/category-LC'.
+ * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
+ (UC_CATEGORY_LC): New declaration.
+ (UC_CASED_LETTER): New macro.
+ * lib/gen-uni-tables.c (is_category_LC): New function.
+ (output_categories): Also handle category LC.
+ (UC_CATEGORY_MASK_LC): New enumeration value.
+ (general_category_byname): Also handle category LC.
+ * lib/unictype/categ_LC.c: New file.
+ * lib/unictype/categ_LC.h: New file, automatically generated.
+ * lib/unictype/categ_name.c (uc_general_category_name): Also handle
+ category LC.
+ * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
+ * modules/unictype/category-LC: New file.
+ * modules/unictype/category-byname (Depends-on): Add
+ unictype/category-LC.
+ * modules/unictype/category-all (Depends-on): Likewise.
+
+2011-03-25 Eric Blake <eblake@redhat.com>
+
+ xmalloc: revert yesterday's regression
+ * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
+ realloc's underlying behavior (allowing allocation of zero-size
+ objects, especially if malloc-gnu is also in use).
+
+2011-03-25 Reuben Thomas <rrt@sc3d.org>
+
+ maint.mk: add missing version to VC-tag
+ * top/maint.mk: git tag was missing actual tag name; add it.
+
+ valgrind: do leak checking, and exit with code 1 on error (not 0)
+ * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
+ to VALGRIND.
+
+2010-11-30 Reuben Thomas <rrt@sc3d.org>
+
+ posix-modules: say what it does.
+ * posix-modules: Add a line to the --help output saying what it does.
+
+2011-03-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ xmalloc: Do not leak if underlying realloc is C99 compatible.
+ * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
+ This avoids a leak on C99-based systems. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
+
+2011-03-24 Eric Blake <eblake@redhat.com>
+
+ realloc: document portability problem
+ * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
+ passing 0 size to realloc.
+
+2011-03-23 Ben Walton <bwalton@artsci.utoronto.ca>
+
+ doc: update users.txt
+ * users.txt: Add cvsps, tmpwatch
+
+2011-03-23 Matt Rice <ratmice@gmail.com>
+
+ doc: update users.txt
+ * users.txt: Add gdb.
+
+2011-03-23 Jim Meyering <meyering@redhat.com>
+
+ doc: update users.txt
+ Looking through matches up to the following URL (there are still
+ several more pages), I found several projects that use gnulib:
+ http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
+ * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
+ gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
+
+2011-03-22 Bruno Haible <bruno@clisp.org>
+
+ unictype/bidi*: Rename functions.
+ * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
+ uc_bidi_class, uc_is_bidi_class): New declarations.
+ * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
+ uc_bidi_category_byname.
+ (uc_bidi_category_byname): New function.
+ * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
+ u_bidi_category_name.
+ (uc_bidi_class_name): Renamed from uc_bidi_category_name.
+ (uc_bidi_category_name): New function.
+ * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
+ uc_bidi_category.
+ (uc_bidi_category): New function.
+ * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
+ uc_is_bidi_category. Invoke uc_bidi_class.
+ (uc_is_bidi_category): New function.
+ * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
+ instead of uc_bidi_category_byname.
+ * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
+ instead of uc_bidi_category_name.
+ * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
+ uc_bidi_category.
+ * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
+ instead of uc_is_bidi_category.
+
+2011-03-21 Bruno Haible <bruno@clisp.org>
+
+ New module 'unictype/joininggroup-all'.
+ * modules/unictype/joininggroup-all: New file.
+
+ Tests for module 'unictype/joininggroup-of'.
+ * modules/unictype/joininggroup-of-tests: New file.
+ * tests/unictype/test-joininggroup_of.c: New file.
+ * tests/unictype/test-joininggroup_of.h: New file, automatically
+ generated by gen-uni-tables.
+
+ New module 'unictype/joininggroup-of'.
+ * modules/unictype/joininggroup-of: New file.
+ * lib/unictype/joininggroup_of.c: New file.
+ * lib/unictype/joininggroup_of.h: New file, automatically generated by
+ gen-uni-tables.
+
+ Tests for module 'unictype/joininggroup-byname'.
+ * modules/unictype/joininggroup-byname-tests: New file.
+ * tests/unictype/test-joininggroup_byname.c: New file.
+
+ New module 'unictype/joininggroup-byname'.
+ * modules/unictype/joininggroup-byname: New file.
+ * lib/unictype/joininggroup_byname.c: New file.
+ * lib/unictype/joininggroup_byname.gperf: New file.
+
+ Tests for module 'unictype/joininggroup-name'.
+ * modules/unictype/joininggroup-name-tests: New file.
+ * tests/unictype/test-joininggroup_name.c: New file.
+
+ New module 'unictype/joininggroup-name'.
+ * modules/unictype/joininggroup-name: New file.
+ * lib/unictype/joininggroup_name.c: New file.
+ * lib/unictype/joininggroup_name.h: New file.
+
+ New module 'unictype/joiningtype-all'.
+ * modules/unictype/joiningtype-all: New file.
+
+ Tests for module 'unictype/joiningtype-of'.
+ * modules/unictype/joiningtype-of-tests: New file.
+ * tests/unictype/test-joiningtype_of.c: New file.
+ * tests/unictype/test-joiningtype_of.h: New file, automatically
+ generated by gen-uni-tables.
+
+ New module 'unictype/joiningtype-of'.
+ * modules/unictype/joiningtype-of: New file.
+ * lib/unictype/joiningtype_of.c: New file.
+ * lib/unictype/joiningtype_of.h: New file, automatically generated by
+ gen-uni-tables.
+
+ Tests for module 'unictype/joiningtype-byname'.
+ * modules/unictype/joiningtype-byname-tests: New file.
+ * tests/unictype/test-joiningtype_byname.c: New file.
+
+ New module 'unictype/joiningtype-byname'.
+ * modules/unictype/joiningtype-byname: New file.
+ * lib/unictype/joiningtype_byname.c: New file.
+
+ Tests for module 'unictype/joiningtype-name'.
+ * modules/unictype/joiningtype-name-tests: New file.
+ * tests/unictype/test-joiningtype_name.c: New file.
+
+ New module 'unictype/joiningtype-name'.
+ * modules/unictype/joiningtype-name: New file.
+ * lib/unictype/joiningtype_name.c: New file.
+
+ unictype: Add support for Arabic shaping properties.
+ * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
+ (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
+ declarations.
+ (UC_JOINING_GROUP_*): New enumeration values.
+ (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
+ declarations.
+ * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
+ (unicode_joining_type): New variable.
+ (UC_JOINING_GROUP_*): New enumeration values.
+ (unicode_joining_group): New variable.
+ (fill_arabicshaping, joining_type_as_c_identifier,
+ output_joining_type_test, output_joining_type,
+ joining_group_as_c_identifier, output_joining_group_test,
+ output_joining_group): New functions.
+ (main); Add an argument denoting the ArabicShaping.txt file. Invoke
+ fill_arabicshaping and output_joining_type_test, output_joining_type,
+ output_joining_group_test, output_joining_group.
+ Reported by Simon Josefsson.
+
+2011-03-21 Jim Meyering <meyering@redhat.com>
+
+ strftime: fix a bug in yesterday's change
+ * lib/strftime.c (add): Accommodate width's initial value of -1.
+ Otherwise, nstrftime would copy uninitialized data into
+ the result buffer.
+
+2011-03-21 Jim Meyering <meyering@redhat.com>
+
+ tests: add strftime-tests module
+ * tests/test-strftime.c: New file.
+ * modules/strftime-tests: New module.
+
+2011-03-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ strftime: don't assume a byte count fits in 'int'
+ * lib/strftime.c (add): Don't assume first arg fits in 'int'. I
+ found this problem by static analysis, using gcc -Wstrict-overflow
+ (GCC 4.5.2, x86-64). This reported an optimization that depended
+ on an integer overflow having undefined behavior, but it turns out
+ that the argument is a size, which might not fit in 'int' anyway,
+
+2011-03-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdio: don't require ignore_value around fwrite
+
+ This patch works around libc bug 11959
+ <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
+ Without this patch, applications must often write
+ ignore_value (fwrite (...)) even though the ignore_value is
+ not helpful here. It's common to write many objects, using
+ fwrite/printf/etc., and then use ferror to detect output error.
+
+ I considered making this patch optional, but decided against it,
+ because libc is obviously being inconsistent here: there is no
+ reason libc should insist that user code must inspect fwrite
+ return's value without also insisting that it inspect printf's,
+ putchar's, etc. If user code wants to have a strict style where
+ all these functions' values are checked (so that ferror need not
+ be checked), we could add support for that style in a new gnulib
+ module, but in the meantime it's better to be consistent and to
+ support common usage.
+
+ * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
+ to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
+ that we are compiling in checking mode, and if not C++, and
+ if not already wrapping fwrite for some other reason.
+ (fwrite): #define to rpl_fwrite if the latter is defined.
+
+2011-03-20 Bruno Haible <bruno@clisp.org>
+
+ verror: Fix compilation error introduced on 2011-02-13.
+ * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
+ instead of __attribute__.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-03-20 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ socklen: do not depend on sys_socket
+ While trying to modify Emacs to use gnulib's socklen module,
+ I discovered a circular dependency: socklen depends on sys_socket
+ and vice versa. Emacs can use socklen, but it does not need
+ sys_socket because it has its own substitute for sys/socket.h.
+ * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
+ gl_TYPE_SOCKLEN_T.
+ (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
+ gl_PREREQ_SYS_H_SOCKET.
+ (gl_TYPE_SOCKLEN_T): Require it instead of requiring
+ gl_PREREQ_SYS_H_SOCKET.
+ * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
+ gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
+ * modules/socklen (Depends-on): Do not depend on sys_socket.
+ (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
+
+2011-03-20 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: sort file names *after* new transformation
+ * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
+ prefix would have led to an unwarranted failure in GNU parted.
+ Sort after that transformation.
+
+2011-03-19 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: fix po-file syntax-check rule
+ * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
+ Patch by Bruno Haible.
+
+2011-03-19 Bruno Haible <bruno@clisp.org>
+
+ socklen: Update comment.
+ * m4/socklen.m4: Update comment about platforms.
+
+2011-03-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ inet_ntop, inet_pton: Simplify.
+ * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
+ documented to provide socklen_t and we already depend on sys_socket.
+ * modules/inet_pton (Depends-on): Likewise.
+ * lib/arpa_inet.in.h: Adjust comment.
+
+2011-03-19 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ netdb: Simplify.
+ * modules/netdb (Depends-on): Remove socklen, since sys_socket is
+ documented to provide socklen_t and we already depend on sys_socket.
+ * lib/netdb.in.h: Adjust comment.
+
+2011-03-19 Bruno Haible <bruno@clisp.org>
+
+ sys_socket, netdb: Document problem with socklen_t.
+ * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
+ platforms.
+ * doc/posix-headers/netdb.texi: Likewise.
+
+2011-03-18 Eric Blake <eblake@redhat.com>
+
+ maint.mk: let po check work in VPATH build
+ * top/maint.mk (po_file): Allow cfg.mk override.
+ (sc_po_check): Allow VPATH use.
+ Reported by Jiri Denemark.
+
+2011-03-16 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: allow fine-grained syntax-check exclusion via Make variables
+ Before, you would have had to create one .x-sc_ file per rule in order
+ to exempt offending files. Now, you may instead use a Make variable --
+ usually defined in cfg.mk -- whose name identifies the affected rule.
+ * top/maint.mk (_sc_excl): Define.
+ (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
+ (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ ignore-value tests: Avoid warnings.
+ * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
+ empty for gcc < 3.4.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd: Fix link error on Solaris.
+ * modules/passfd (Description): Correct.
+ (Depends-on): Add socketlib.
+ (Link): New section.
+ * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd: Fix link error on AIX 5.2.
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
+ * lib/sys_socket.in.h: Include <stddef.h>.
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
+ CMSG_FIRSTHDR. Remove unused variable.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd: Fix compilation error on OpenBSD.
+ * lib/passfd.c: Include <sys/uio.h>.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd test: Fix warnings.
+ * tests/test-passfd.c: Include <sys/wait.h>.
+ (main): Fix typo.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd module, part 4, tweaks.
+ * tests/test-passfd.c: Reorder includes.
+ (main): Fix perror and printf calls.
+
+2011-03-07 Bastien Roucariès <roucaries.bastien@gmail.com>
+
+ passfd module, part 4.
+ * modules/passfd-tests: New file.
+ * tests/test-passfd.c: New file.
+
+2011-03-13 Jim Meyering <meyering@redhat.com>
+
+ Makefile: rely on GNU make; derive syntax-check rule names
+ Rather than requiring that each sc_ rule be listed as a dependent
+ of "check", use features of GNU make to derive the list.
+ * Makefile (syntax-check-rules): Define.
+ (check): Depend on the new variable, not the hard-coded list.
+
+2011-03-13 Bastien Roucariès <roucaries.bastien@gmail.com>
+ Bruno Haible <bruno@clisp.org>
+
+ passfd module, part 3.
+ * lib/passfd.h (recvfd): Add a flags argument.
+ * lib/passfd.c: Include <fcntl.h>, cloexec.h.
+ (recvfd): Add a flags argument.
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
+ exists.
+ * modules/passfd (Depends-on): Add cloexec.
+ Suggested by Eric Blake.
+
+2011-03-13 Bruno Haible <bruno@clisp.org>
+
+ passfd module, part 2, tweaks.
+ * modules/passfd (Files): Reorder.
+ (Depends-on): Remove errno.
+ (Include): Remove <sys/socket.h>, <sys/un.h>.
+ * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
+ * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
+ specification header. Include <sys/socket.h> always. Don't include
+ <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
+ (sendfd): Clarify that it sets errno when it fails.
+ (recvfd): Fix specification.
+
+2011-03-07 Bastien Roucariès <roucaries.bastien@gmail.com>
+
+ passfd module, part 2.
+ * modules/passfd: New file.
+ * lib/passfd.h: New file.
+ * lib/passfd.c: New file.
+
+2011-03-12 Bruno Haible <bruno@clisp.org>
+
+ wcswidth, mbswidth: Avoid integer overflow.
+ * lib/wcswidth.c: Include <limits.h>.
+ * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
+ * lib/mbswidth.c: Include <limits.h>.
+ (mbsnwidth): Avoid 'int' overflow.
+ Reported by Jim Meyering.
+
+2011-03-12 Bruno Haible <bruno@clisp.org>
+
+ futimens, utimensat: Avoid endless recursion on Solaris 10.
+ * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
+ Solaris.
+ Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
+ in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
+
+2011-03-11 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: relax a regexp to accommodate other formatting styles
+ * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
+ between "ngettext" and the following "(".
+
+2011-03-11 Pádraig Brady <P@draigBrady.com>
+
+ maint.mk: suppress a false positive warning
+ * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
+ diagnostics are marked with ngettext.
+
+2011-03-10 Eric Blake <eblake@redhat.com>
+
+ wchar: add explicit dependencies, for Tru64
+ * modules/mbmemcasecoll (Depends-on): Add wchar.
+ * modules/mbtowc (Depends-on): Likewise.
+ * modules/vasnprintf (Depends-on): Likewise.
+ * modules/unistdio/u-printf-args (Depends-on): Likewise.
+ * modules/wctomb (Depends-on): Likewise.
+ Reported by Peter O'Gorman.
+
+2011-03-08 Bruno Haible <bruno@clisp.org>
+
+ passfd module, part 1, tweaks.
+ * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
+ Improve indentation. Improve AC_MSG_CHECKING messages.
+ * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
+ gl_SOCKET_FAMILIES.
+
+2011-03-07 Bastien Roucariès <roucaries.bastien@gmail.com>
+
+ passfd module, part 1.
+ * m4/afunix.m4: New file.
+ * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
+ sockets.
+
+2011-03-08 Bruno Haible <bruno@clisp.org>
+
+ regex-quote: New API.
+ * lib/regex-quote.h: Include <stdbool.h>.
+ (struct regex_quote_spec): New type.
+ (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
+ New declarations.
+ (regex_quote_length, regex_quote_copy, regex_quote): Take a
+ 'const struct regex_quote_spec *' argument.
+ * lib/regex-quote.c (RE_*, PCRE_*): New macros.
+ (pcre_special): New constant.
+ (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
+ New functions.
+ (regex_quote_length, regex_quote_copy, regex_quote): Take a
+ 'const struct regex_quote_spec *' argument.
+ * modules/regex-quote (Depends-on): Add stdbool.
+ * tests/test-regex-quote.c (check): Update for new API. Add test for
+ anchored results.
+ * NEWS: Mention the API change.
+ Reported by Reuben Thomas and Eric Blake.
+
+2011-03-06 Bruno Haible <bruno@clisp.org>
+
+ regex-quote: Fix creation of POSIX extended regular expressions.
+ * lib/regex-quote.c (ere_special): Add grouping and alternation
+ operators.
+
+2011-03-05 Bruno Haible <bruno@clisp.org>
+
+ doc: Improve doc regarding autopoint vs. gnulib.
+ * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
+ disable autopoint while running autoreconf.
+ Suggested by Ralf Wildenhues.
+
+2011-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
+ * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
+
+2011-03-03 Bruce Korb <bkorb@gnu.org>
+
+ parse-duration: remove xalloc.h dependency
+ * lib/parse-duration.c (parse_period): handle NULL return from
+ strdup instead of calling xstrdup().
+ * modules/parse-duration: remove "xalloc" dependency
+
+2011-03-03 Matthew Booth <mbooth@redhat.com>
+
+ bootstrap: honor m4_base when running aclocal
+ * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
+
+2011-03-02 Jim Meyering <meyering@redhat.com>
+
+ getopt-gnu: relax license from LGPLv3+ to LGPLv2+
+ * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
+ on request from Matt Booth.
+
+2011-03-01 Eric Blake <eblake@redhat.com>
+
+ test-link: work on Hurd
+ * tests/test-link.h (test_link): Hurd rejects linking directories
+ with EISDIR instead of the POSIX-mandated EPERM.
+
+2011-02-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdio: simplify by moving files to printf-posix, sigpipe
+ * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
+ since this symbol is needed only if printf is replaced.
+ * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
+ Require gl_ASM_SYMBOL_PREFIX.
+ * modules/printf-posix (Files): Add m4/asm-underscore.m4.
+ * modules/sigpipe (Files): Likewise. Also, add m4/stdio-write.c.
+ (Depends-on): Add 'raise'.
+ (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
+ * modules/stdio (Files): Remove lib/stdio-write.c,
+ m4/asm-underscore.m4.
+ (Depends-on): Remove 'raise'.
+
+ stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
+ * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
+ * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
+ * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
+
+2011-02-28 Bruno Haible <bruno@clisp.org>
+
+ localcharset: Assume ANSI C behaviour of free().
+ * lib/localcharset.c (get_charset_aliases): Remove NULL test before
+ calling free().
+ Suggested by Simon Josefsson <simon@josefsson.org>.
+
+2011-02-28 Corinna Vinschen <vinschen@redhat.com> (tiny change)
+ Charles Wilson <cygwin@cwilson.fastmail.fm> (tiny change)
+ Bruno Haible <bruno@clisp.org> (tiny change)
+
+ On Cygwin, use /proc file system instead of win32 API.
+ * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
+ Win32 file names.
+ (DllMain): Simplify by removing Cygwin specific code.
+ (find_shared_library_fullname): Use Linux specific implementation also
+ for Cygwin.
+ (get_shared_library_fullname): Update accordingly.
+ * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
+ Win32 file names.
+ (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
+ Cygwin specific code.
+
+2011-02-28 Christian Rössel <christian.roessel@gmx.de> (tiny change)
+ Markus Geimer <m.geimer@fz-juelich.de> (tiny change)
+
+ Fix OpenMP flag detection for various Fortran compilers.
+ * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
+ OpenMP-conditional compilation construct, to force compile
+ failure with missing OpenMP flag.
+ (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
+
+2011-02-25 Eric Blake <eblake@redhat.com>
+
+ strstr: expand test coverage
+ * tests/test-strstr.c (main): Add much shorter trigger. Fix C89
+ compilation.
+ * tests/test-memmem.c (main): Duplicate tests.
+ * tests/test-strcasestr.c (main): Likewise.
+ * tests/test-c-strcasestr.c (main): Likewise.
+
+2011-02-25 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: detect missing-NL-at-EOF, too
+ * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
+ it also detects when a file lacks a newline at EOF.
+ (require_exactly_one_NL_at_EOF_): Renamed from
+ detect_empty_lines_at_EOF_. I opted not to rename the rule,
+ since people may well have .x-sc_... file names tied to the
+ existing name. Suggested by Eric Blake.
+
+2011-02-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ dirname: move m4/dos.m4 functionality into lib/dosname.h
+
+ m4/dos.m4 needs to go. It laboriously invokes the C compiler, and
+ extracts symbols from it, puts them into config.h; but it's much
+ easier to use the symbols directly. filename.h already does this,
+ but it disagrees with dos.m4 in some respects. This patch
+ introduces a different include file dosname.h that packages up
+ dos.m4, and then later we can work on merging filename.h and
+ dosname.h. Applications that need only the easy-to-configure
+ symbols should consider including dosname.h rather than dirname.h.
+ * NEWS: Mention incompatible changes.
+ * m4/dos.m4: Remove.
+ * lib/dosname.h, modules/dosname: New files.
+ * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
+ (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
+ (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
+ * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
+ Include dosname.h, not dirname.h.
+ * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
+ Include dosname.h, for definitions of symbols like ISSLASH
+ that used to be in config.h.
+ * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
+ * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
+ * m4/stat.m4 (gl_FUNC_STAT): Likewise.
+ * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
+ * modules/dirname-lgpl (Files): Omit m4/dos.m4.
+ * modules/rmdir (Files): Likewise.
+ * modules/stat (Files): Likewise.
+ * modules/unlink (Files): Likewise.
+ * modules/dirname-lgpl (Depends-on): Add dosname.
+ * modules/lstat (Depends-on): Likewise.
+ * modules/openat (Depends-on): Likewise.
+ * modules/rmdir (Depends-on): Likewise.
+ * modules/savewd (Depends-on): Likewise.
+ * modules/stat (Depends-on): Likewise.
+ * modules/unlink (Depends-on): Likewise.
+ * modules/openat (Depends-on): Remove dirname-lgpl.
+ * modules/savewd (Depends-on): Likewise.
+ * tests/test-dirname.c: Do not use removed symbols like
+ FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR. Instead, use
+ the remaining symbols, e.g., ISSLASH ('\\').
+
+2011-02-25 Eric Blake <eblake@redhat.com>
+
+ strstr: revert patches that introduced bug and pessimization
+ * lib/str-two-way.h: Add another reference.
+ (two_way_short_needle, two_way_long_needle): Revert changes from
+ 2011-02-24; they pessimize search speed.
+ (critical_factorization): Partially revert changes from
+ 2010-06-22; they violate the requirement that the left half of the
+ needle be smaller than the period of the needle.
+
+2011-02-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ filenamecat: remove unnecessary dependency on dirname-lgpl
+ * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
+ is no direct dependency, just an indirect one via filenamecat-lgpl.
+
+ remove: remove unnecessary use of m4/dos.m4
+ * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
+ * modules/remove (FILES): Remove m4/dos.m4.
+
+ * lib/openat-proc.c: Don't include dirname.h; not needed.
+
+ backupfile: remove unnecessary use of m4/dos.m4
+ * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
+ of its symbols are used by the backupfile code. backupfile.c does
+ use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
+ for the rare case of programs that want all their backup file
+ names to live within 8+3 limits, and dos.m4 doesn't address that.
+ * modules/backupfile (Files): Remove m4/dos.m4.
+
+2011-02-24 Jim Meyering <meyering@redhat.com>
+
+ strstr: fix a bug whereby strstr would mistakenly return NULL
+ * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
+ in period calculation.
+ (two_way_long_needle): Likewise.
+ The original problem was reported by Mike Stump in
+ http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
+ Ralf Wildenhues provided the short needle and haystack.
+ * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
+ Add a more involved test to trigger the bug in two_way_long_needle.
+
+2011-02-24 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
+
+ gnulib-tool: remove use of bold display in help screen
+ * gnulib-tool (func_usage): Do not use bold display anymore in the
+ help screen. That was just meant to be a temporary emphasis for a
+ backward-incompatible change.
+
+2011-02-23 Bruno Haible <bruno@clisp.org>
+
+ Fix misindentation of preprocessor directives.
+ * lib/argp-namefrob.h: Reindent preprocessor directives.
+ * lib/getopt_int.h (struct _getopt_data): Likewise.
+ * lib/progreloc.c (maybe_executable, find_executable): Likewise.
+ * lib/vasnprintf.c (decode_long_double): Likewise.
+ * tests/test-argmatch.c: Insert blank lines, for clarity.
+ * tests/test-exclude.c: Likewise.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ ioctl: Fix for MacOS X in 64-bit mode.
+ * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
+ value.
+ Suggested by Eric Blake.
+ Reported by Markus Gothe <nietzsche@lysator.liu.se>.
+
+2011-02-22 Jim Meyering <meyering@redhat.com>
+
+ maint: sc_cpp_indent_check: remove the "only in lib/" restriction
+ * Makefile (sc_cpp_indent_check): Don't limit the check to files
+ in lib/.
+
+2011-02-22 Eric Blake <eblake@redhat.com>
+
+ maint: avoid any CDPATH issue
+ * Makefile (sc_cpp_indent_check): Anchor cd argument.
+
+ maint: adjust cpp indentation for my modules, as well
+ * Makefile (sc_cpp_indent_check): Add my name.
+ * lib/fbufmode.c: Filter through cppi.
+ * lib/fpurge.c: Likewise.
+ * lib/freadable.c: Likewise.
+ * lib/freading.c: Likewise.
+ * lib/fwritable.c: Likewise.
+ * lib/fwriting.c: Likewise.
+ * lib/sigaction.c: Likewise.
+
+2011-02-22 Jim Meyering <meyering@redhat.com>
+
+ maint: adjust cpp indentation to reflect nesting depth
+ I.e., in a block of code that begins with an unnested "#if",
+ put one space between the "#" in column 1 and following token.
+ For example,
+ -#include <sys/vfs.h>
+ +# include <sys/vfs.h>
+ Do this only in .c files that are part of a module I maintain.
+ * lib/linkat.c: Filter through cppi.
+ * lib/nanosleep.c: Likewise.
+ * lib/openat.c: Likewise.
+ * lib/openat-die.c: Likewise.
+ * lib/dup3.c: Likewise.
+ * lib/fchownat.c: Likewise.
+ * lib/flock.c: Likewise.
+ * lib/fsync.c: Likewise.
+ * lib/fts.c: Likewise.
+ * lib/getpass.c: Likewise.
+ * lib/gettimeofday.c: Likewise.
+ * lib/userspec.c: Likewise.
+ * Makefile (sc_cpp_indent_check): New rule, to check this.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ New module 'wctomb'.
+ * lib/stdlib.in.h (wctomb): New declaration.
+ * lib/wctomb.c: New file.
+ * lib/wctomb-impl.h: New file.
+ * m4/wctomb.m4: New file.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
+ REPLACE_WCTOMB.
+ * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
+ REPLACE_WCTOMB.
+ * modules/wctomb: New file.
+ * tests/test-stdlib-c++.cc: Test signature of wctomb.
+ * doc/posix-functions/wctomb.texi: Mention the new module.
+ * modules/wctob (Depends-on): Add wctomb.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ New module 'mbtowc'.
+ * lib/stdlib.in.h (mbtowc): New declaration.
+ * lib/mbtowc.c: New file.
+ * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
+ * m4/mbtowc.m4: New file.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
+ REPLACE_MBTOWC.
+ * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
+ REPLACE_MBTOWC.
+ * modules/mbtowc: New file.
+ * tests/test-stdlib-c++.cc: Test signature of mbtowc.
+ * doc/posix-functions/mbtowc.texi: Mention the new module.
+ * modules/btowc (Depends-on): Add mbtowc.
+
+2011-02-22 Bruno Haible <bruno@clisp.org>
+
+ wcrtomb: Add more tests for native Windows platforms.
+ * tests/test-wcrtomb-w32-1.sh: New file.
+ * tests/test-wcrtomb-w32-2.sh: New file.
+ * tests/test-wcrtomb-w32-3.sh: New file.
+ * tests/test-wcrtomb-w32-4.sh: New file.
+ * tests/test-wcrtomb-w32-5.sh: New file.
+ * tests/test-wcrtomb-w32.c: New file.
+ * modules/wcrtomb-tests (Files): Add them.
+ (Makefile.am): Arrange to run these tests.
+ * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
+ * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
+
+2011-02-20 Bruno Haible <bruno@clisp.org>
+
+ wcrtomb: Enhance test.
+ * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
+
+2011-02-20 Bruno Haible <bruno@clisp.org>
+
+ mbrtowc: Tiny optimization.
+ * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
+
+2011-02-20 Jim Meyering <meyering@redhat.com>
+
+ test-exclude.c: remove unmatched #endif
+ * tests/test-exclude.c: Remove stray #endif, left over from
+ the change of a week ago.
+
+2011-02-19 Jim Meyering <meyering@redhat.com>
+
+ git-version-gen: skip "-dirty" check when appropriate
+ * build-aux/git-version-gen: Don't run any git commands when the
+ version string comes from .tarball-version. Prior to this, we
+ would run git update-index --refresh even from a just-unpacked
+ tarball directory, and that could affect a .git/ directory in a
+ parent of the build directory. Reported by Mike Frysinger.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ unictype/property-byname: Reduce the size of the 'data' segment.
+ * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ unictype/scripts: Reduce the size of the 'data' segment.
+ * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
+ '%pic'.
+ * lib/unictype/scripts_byname.gperf: Regenerated.
+
+2011-02-19 Bruno Haible <bruno@clisp.org>
+
+ stdint: Update documentation.
+ * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
+
+2011-02-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdint: omit redundant check for wchar.h
+ * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
+ always tests whether wchar.h exists, so remove the now-redundant test.
+
+2011-02-18 Bruno Haible <bruno@clisp.org>
+
+ stdint: Cut dependency to module 'wchar'.
+ * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
+ include the necessary prerequisites.
+ * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
+ * modules/stdint (Depends-on): Remove wchar.
+ (Makefile.am): Substitute HAVE_WCHAR_H.
+ This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
+
+2011-02-18 Eric Blake <eblake@redhat.com>
+
+ longlong: skip, rather than fail, on cross-compilation
+ * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
+ when cross-compiling; regression from 2011-02-16.
+
+2011-02-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Mention 2011-02-08 change to stdlib.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Add comments about platforms.
+ * m4/getloadavg.m4: Add comment.
+ * lib/getloadavg.c: Likewise.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg: Fix link error on Solaris 2.6.
+ * modules/getloadavg (Link): New section.
+ * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
+ linking test-getloadavg.
+ * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
+ getloadavg.
+
+2011-02-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
+ It was 'int', but this doesn't match the IRIX 6.5 manual.
+ Suggested by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ havelib: Fix comments.
+ * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
+ change.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ havelib: Update config.rpath.
+ * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
+
+2011-02-17 Bruno Haible <bruno@clisp.org>
+
+ getloadavg test: Add some plausibility checks.
+ * tests/test-getloadavg.c (check_avg): Print a warning when the value
+ is improbable.
+
+2011-02-16 Eric Blake <eblake@redhat.com>
+
+ maintainer-makefile: make syntax-check a no-op from tarballs
+ * top/maint.mk (no-vc-detected): New rule.
+ (local-checks-available): Use it to avoid hanging if someone tries
+ 'make syntax-check' from a tarball. Also append to any non-syntax
+ checks already defined in cfg.mk.
+
+2011-02-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ longlong: tune, particularly for common case of c99
+
+ * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
+ or running anything if c99, or if unsigned long long int does not
+ work. In either case, we know the answer without further tests.
+ Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice. Instead, compile
+ it at most once, and use its results for both long long int and
+ unsigned long long int. This is more likely to be efficient in
+ the common case where the program wants to check for both long
+ long int and unsigned long long int.
+ (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
+ since the answer is already known.
+
+2011-02-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ getloadavg: set errno
+ * lib/getloadavg.c: Set errno when returning -1. If no other
+ error number looks appropriate, set it to ENOSYS if the getloadavg
+ looks like it can't possibly ever work, ENOTSUP otherwise.
+ Suggested by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
+
+ getloadavg: trim unused parts and speed up 'configure'
+ * NEWS: Document this.
+ * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
+ always compiled if getloadavg is absent.
+ Move test code to ...
+ * tests/test-getloadavg.c: New file, containing previous
+ contents of test from lib/getloadavg.c. It also contains
+ suggestions by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
+ * modules/getloadavg-tests: New file.
+ * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
+ Do tests in the same order as they're needed for getloadavg.c.
+ Omit setgid-related tests that generate symbols KMEM_GROUP,
+ NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
+ Do only the tests that are needed to see whether the system has
+ getloadavg, moving the other tests into ...
+ (gl_PREREQ_GETLOADAVG): ... here. Do not define obsolete symbol
+ NLIST_NAME_UNION; nobody should be using it. Do not define
+ symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
+ relevant, as the user of this module shouldn't care how getloadavg
+ is implemented.
+
+ getloadavg: omit unused var
+ * lib/getloadavg.c (getloadavg): Omit unused local variable.
+
+2011-02-15 Jim Meyering <meyering@redhat.com>
+
+ doc: update users.txt
+ * users.txt: Update iwhd's URL.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ Consistent macro naming for macros that use GCC __attribute__.
+ * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
+ _ATTRIBUTE_NONNULL_.
+ * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
+ * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
+ * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
+ ATTRIBUTE_DEPRECATED.
+ * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
+ ATTRIBUTE_NORETURN.
+ * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
+ (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
+ (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
+ * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
+ ATTRIBUTE_SENTINEL.
+ * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
+ ATTRIBUTE_RETURN_CHECK.
+ * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
+ * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
+ ATTRIBUTE_NORETURN.
+ * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
+ Reported by Paul Eggert.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ Don't interfere with a program's definition of __attribute__.
+ * lib/argp.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
+ * lib/argp-fmtstream.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
+ * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
+ GCC 3 or newer.
+ * lib/error.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (error, error_at_line): Use it.
+ * lib/hash.h (__attribute__): Remove definition.
+ (ATTRIBUTE_WUR): Update definition. Define always.
+ * lib/openat.h (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ * lib/sigpipe-die.h (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ * lib/vasnprintf.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (asnprintf, vasnprintf): Use it.
+ * lib/xalloc.h (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
+ * lib/xmemdup0.h (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ * lib/xprintf.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
+ * lib/xstrtol.h (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ * lib/xvasprintf.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT): New macro.
+ (xasprintf, xvasprintf): Use it.
+ * tests/test-argmatch.c (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ * tests/test-exclude.c (__attribute__): Remove definition.
+ (ATTRIBUTE_NORETURN): Update definition. Define always.
+ Reported by Paul Eggert.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ mbrtowc: Add more tests for native Windows platforms.
+ * tests/test-mbrtowc-w32-1.sh: New file.
+ * tests/test-mbrtowc-w32-2.sh: New file.
+ * tests/test-mbrtowc-w32-3.sh: New file.
+ * tests/test-mbrtowc-w32-4.sh: New file.
+ * tests/test-mbrtowc-w32-5.sh: New file.
+ * tests/test-mbrtowc-w32.c: New file.
+ * modules/mbrtowc-tests (Files): Add them.
+ (Makefile.am): Arrange to run these tests.
+ * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
+ * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ mbrtowc: Work around native Windows bug.
+ * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
+ guess when no suitable locale for testing was found.
+ * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ mbsinit: Work around mingw bug.
+ * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
+ * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
+ Windows.
+ * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ mbsinit: Don't crash for a NULL argument.
+ * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
+ * tests/test-mbsinit.c (mbsinit): Check this behaviour.
+
+2011-02-13 Bruno Haible <bruno@clisp.org>
+
+ Don't interfere with a program's definition of __attribute__.
+ * lib/stdio.in.h (__attribute__): Remove definition.
+ (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
+ (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
+ printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
+ vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
+ * lib/string.in.h (__attribute__): Remove definition.
+ Reported by Paul Eggert.
+
+2011-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdlib: don't get in the way of non-GCC __attribute__
+ See thread starting at
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
+ Revert previous stdlib change, installing the following instead:
+ * lib/stdlib.in.h (__attribute__): Remove. We do not want
+ to get in the way of a non-GCC compiler that supports __attribute__.
+ (_GL_ATTRIBUTE_RETURN): New macro.
+ (_Exit): Use it instead of __attribute__.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ quotearg test: Avoid test failure on mingw.
+ * tests/test-quotearg.sh: Convert the locale identifier from native
+ Windows syntax to Unix syntax.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ setlocale: Prefer gnulib's override over libintl's override.
+ * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
+ * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
+ GNULIB_defined_setlocale is set.
+
+2011-02-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdlib: support non-GCC __attribute__
+
+ Fix a serious and tricky problem encountered when attempting to
+ add the getloadavg module to Emacs. Emacs worked fine on RHEL
+ 5.5, but it crashed due to memory corruption on Solaris 10 with
+ Sun C 5.11. Emacs normally ORs 3-bit tags into their low-order
+ bits that are otherwise zero. This tagging is optional inside
+ Emacs but is preferred and is used when __attribute__ ((__aligned
+ (8))) works, as it does with both recent-enough GCC and with Sun C
+ 5.11. However, Sun C 5.11 is not GCC and does not #define
+ __GNUC__ and __GNUC_MINOR__.
+
+ When I added the getloadavg module to Emacs, it brought in
+ stdlib.in.h, which contained this fragment:
+
+ #ifndef __attribute__
+ # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
+ # define __attribute__(Spec) /* empty */
+ # endif
+ #endif
+
+ When files that include <stdlib.h> were compiled with Sun C 5.11,
+ the above code disabled __attribute__ ((__aligned (8))), which
+ caused variables to not be properly aligned, which eventually led
+ to the pointer corruption mentioned above. (This was a bit hard
+ to diagnose, unfortunately.)
+
+ Several "#define __attribute__(X) /* empty */" code snippets need
+ to be eradicated from Gnulib to work with non-GCC compilers that
+ support __attribute__. The Autoconf way to do this is to test for
+ each kind of attribute that we want support for, and selectively
+ enable that in source code.
+
+ Fix this problem just for stdlib.h, by adding a test for the
+ __noreturn__ attribute, and change stdlib.in.h to use that test
+ when needed. This technique can be easily generalized to the
+ other *.in.h files and attributes, and a similar technique can be
+ used for *.h and *.c files. This patch is enough to solve the
+ problem for Emacs + getloadavg, and I thought I'd publish it for
+ feedback before undertaking further, similar fixes in other
+ modules.
+
+ This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
+ because it's not needed for stdlib.h. It merely substitutes the
+ value directly into stdlib.h. We may well need to #define it, or
+ similar symbols, for other modules, but it's nice to also have an
+ option to not #define it for applications like Emacs that do not
+ need it.
+
+ * lib/stdlib.in.h (__attribute__): Do not #define.
+ (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
+ be defined only if the _Exit module is also used.
+ * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
+ HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
+ platforms.
+ * modules/_Exit (Files): Add m4/attribute.m4.
+ * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
+ * m4/attribute.m4: New file.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ wcsrtombs: Work around bug on native Windows.
+ * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
+ * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
+ instead of len.
+ * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ mbsrtowcs: Work around bug on native Windows.
+ * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
+ against mingw bug.
+ * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ Avoid setlocale bugs in tests.
+ * modules/btowc (Dependencies): Add setlocale.
+ * modules/c-strcase (Dependencies): Likewise.
+ * modules/mbmemcasecmp (Dependencies): Likewise.
+ * modules/mbmemcasecoll (Dependencies): Likewise.
+ * modules/mbrtowc (Dependencies): Likewise.
+ * modules/mbscasecmp (Dependencies): Likewise.
+ * modules/mbscasestr (Dependencies): Likewise.
+ * modules/mbschr (Dependencies): Likewise.
+ * modules/mbscspn (Dependencies): Likewise.
+ * modules/mbsinit (Dependencies): Likewise.
+ * modules/mbsncasecmp (Dependencies): Likewise.
+ * modules/mbsnrtowcs (Dependencies): Likewise.
+ * modules/mbspbrk (Dependencies): Likewise.
+ * modules/mbspcasecmp (Dependencies): Likewise.
+ * modules/mbsrchr (Dependencies): Likewise.
+ * modules/mbsrtowcs (Dependencies): Likewise.
+ * modules/mbsspn (Dependencies): Likewise.
+ * modules/mbsstr (Dependencies): Likewise.
+ * modules/nl_langinfo (Dependencies): Likewise.
+ * modules/quotearg (Dependencies): Likewise.
+ * modules/unicase/locale-language (Dependencies): Likewise.
+ * modules/unicase/ulc-casecmp (Dependencies): Likewise.
+ * modules/unicase/ulc-casecoll (Dependencies): Likewise.
+ * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
+ * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
+ * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
+ * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
+ * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
+ * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
+ * modules/vasnprintf-posix (Dependencies): Likewise.
+ * modules/wcrtomb (Dependencies): Likewise.
+ * modules/wcsnrtombs (Dependencies): Likewise.
+ * modules/wcsrtombs (Dependencies): Likewise.
+
+2011-02-12 Bruno Haible <bruno@clisp.org>
+
+ setlocale: Workaround native Windows bug.
+ * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
+ succeeds but sets LC_CTYPE to "C", report a failure.
+ * tests/test-setlocale2.sh: New file.
+ * tests/test-setlocale2.c: New file.
+ * modules/setlocale-tests (Files): Add the new files.
+ (Makefile.am): Enable test-setlocale2.sh test.
+ * doc/posix-functions/setlocale.texi: Mention workaround.
+
+2011-02-11 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'setlocale'.
+ * modules/setlocale-tests: New file.
+ * tests/test-setlocale1.sh: New file.
+ * tests/test-setlocale1.c: New file.
+
+ New module 'setlocale'.
+ * lib/locale.in.h (setlocale): New declaration.
+ * lib/setlocale.c: New file, based on
+ gettext/gettext-runtime/intl/setlocale.c.
+ * m4/setlocale.m4: New file.
+ * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
+ (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
+ * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
+ REPLACE_SETLOCALE.
+ * modules/setlocale: New file.
+ * tests/test-locale-c++.cc: Test the declaration of setlocale.
+ * doc/posix-functions/setlocale.texi: Mention the new module.
+
+2011-02-11 Bruno Haible <bruno@clisp.org>
+
+ Prepare for locale dependent tests on mingw.
+ * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
+ because it has the wrong locale encoding.
+ * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
+ French_France.1252 instead of "fr".
+ (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
+ * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
+ because it has the wrong locale encoding.
+ * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
+ native Windows, try Turkish_Turkey.65001.
+ * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
+ Chinese_China.54936.
+
+ Prepare for locale dependent tests on mingw.
+ * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
+ differently.
+ * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
+ * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
+ * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
+ * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
+
+2011-02-11 Eric Blake <eblake@redhat.com>
+
+ strptime: avoid compiler warnings
+ * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
+ compiler warnings about dead code.
+ Reported by Daniel P. Berrange.
+
+2011-02-11 Thien-Thi Nguyen <ttn@gnuvola.org>
+
+ doc: update users.txt
+ * users.txt: Add rcs.
+
+2011-02-10 John W. Eaton <jwe@gnu.org>
+
+ doc: update users.txt
+ * users.txt: Add octave.
+
+2011-02-10 Jim Meyering <meyering@redhat.com>
+
+ doc: update users.txt
+ * users.txt: Add iwhd.
+
+2011-02-09 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Make copyright notice adjustment more robust.
+ * gnulib-tool (func_import): In sed_transform_main_lib_file,
+ sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
+ allow a line break to occur after "GNU" in "GNU [Lesser] General Public
+ License".
+ Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'towctrans'.
+ * modules/towctrans: New file.
+ * lib/wctype.in.h (towctrans): New declaration.
+ * lib/towctrans.c: New file.
+ * lib/towctrans-impl.h: New file.
+ * m4/towctrans.m4: New file.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
+ (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
+ * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
+ * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
+ * doc/posix-functions/towctrans.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wctrans'.
+ * modules/wctrans: New file.
+ * lib/wctype.in.h (wctrans): New declaration.
+ * lib/wctrans.c: New file.
+ * lib/wctrans-impl.h: New file.
+ * m4/wctrans.m4: New file.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
+ (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
+ * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
+ * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
+ * doc/posix-functions/wctrans.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'iswctype'.
+ * modules/iswctype: New file.
+ * lib/wctype.in.h (iswctype): New declaration.
+ * lib/iswctype.c: New file.
+ * lib/iswctype-impl.h: New file.
+ * m4/iswctype.m4: New file.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
+ (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
+ * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
+ * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
+ * doc/posix-functions/iswctype.texi: Mention the new module and the
+ HP-UX 11.00 problem.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wctype'.
+ * modules/wctype: Change to represent the wctype() substitute.
+ * lib/wctype.in.h (wctype): New declaration.
+ * lib/wctype.c: New file.
+ * lib/wctype-impl.h: New file.
+ * m4/wctype.m4: New file.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
+ (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
+ * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
+ * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
+ * doc/posix-functions/wctype.texi: Mention the new module and the
+ HP-UX 11.00 problem.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ wctype-h: Ensure wctype_t and wctrans_t are defined.
+ * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
+ (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
+ * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
+ HAVE_WCTRANS_T.
+ * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
+
+2011-02-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ flock: fix license typo
+
+ * lib/flock.c: Fix typo in license. One of the "Lesser"s was
+ omitted.
+
+2011-02-08 Bruno Haible <bruno@clisp.org>
+
+ Split large sed scripts, for HP-UX sed.
+ * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
+ to avoid HP-UX limit of 99 commands, in the near future.
+ * modules/stdlib (Makefile.am): Likewise.
+ * modules/unistd (Makefile.am): Likewise.
+ * modules/wchar (Makefile.am): Likewise.
+ Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
+ Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
+
+2011-02-08 Paul Eggert <eggert@cs.ucla.edu>
+ Bruno Haible <bruno@clisp.org>
+
+ stdlib: improve random_r modularization
+ * lib/stdlib.in.h: Encapsulate all the stuff having to do with
+ random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
+ you also need the random_r module to get this material right.
+ * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
+ * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
+ (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
+
+2011-02-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdlib: don't depend on stdint
+ * lib/stdlib.in.h: Don't include <stdint.h> merely because
+ GNULIB_POSIXCHECK is defined. GNULIB_POSIXCHECK seems to
+ be independent of whether stdint.h is needed.
+ * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
+ here, instead of ...
+ * m4/stdlib_h.m4 (gl_STDLIB_H): ... here. Applications that need
+ struct random_data should be using the random_r module, not just
+ the stdlib module (which wouldn't make sense: what package needs
+ just struct random_data without also needing random_r?).
+ * modules/stdlib (Depends-on): Remove stdint.
+
+ getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
+ See the thread rooted at
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
+ * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
+ Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
+ || defined SUNOS_5 || (defined LOAD_AVE_TYPE && ! defined
+ __VMS)); previously it was always included (via fcntl--.h).
+ (getloadavg): Do not use c_strtod. Instead, approximate it by
+ hand; this is good enough for load averages. Also, do not use
+ set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
+ flags directly if available and don't bother otherwise. (Packages
+ that need the extra reliability should use the modules that define
+ these flags on older platforms that lack them.)
+ * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
+ fcntl-safer.
+
+2011-02-08 Jim Meyering <meyering@redhat.com>
+
+ di-set.h, ino-map.h: add multiple-inclusion guard
+ Technically, the guard is required only for ino-map.h, due to its
+ INO_MAP_INSERT_FAILURE definition, but do both for consistency.
+ * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
+ * lib/ino-map.h: Likewise.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ iswblank: Ensure declaration on glibc systems.
+ * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
+ * modules/iswblank (Dependencies): Add 'extensions'.
+ * doc/posix-functions/iswblank.texi: Document the glibc problem.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'iswblank'.
+ * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
+ * modules/iswblank: New file.
+ * modules/wctype-h (Files): Remove lib/iswblank.c.
+ (Makefile.am): Substitute GNULIB_ISWBLANK.
+ * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
+ * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
+ (gl_WCTYPE_H_DEFAULTS): New macro.
+ (gl_WCTYPE_H): Require it. Remove iswblank related code.
+ * modules/iswblank-tests: New file.
+ * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
+ * tests/test-wctype-h.c (main): Remove iswblank tests.
+ * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
+ * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
+ of 'wctype-h'.
+ * NEWS: Mention the change.
+ * modules/mbchar (Depends-on): Add iswblank.
+
+2011-02-08 Bruno Haible <bruno@clisp.org>
+
+ di-set tests: Refactor.
+ * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
+ unnecessary includes.
+ (ASSERT): Remove macro.
+ (main): Make C90 compliant by avoiding variable declaration after
+ statement.
+ * modules/di-set-tests (Files): Add tests/macros.h.
+
+2011-02-08 Bruno Haible <bruno@clisp.org>
+
+ ino-map tests: Refactor.
+ * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
+ unnecessary includes.
+ (ASSERT): Remove macro.
+ (main): Make C90 compliant by avoiding variable declaration after
+ statement.
+ * modules/ino-map-tests (Files): Add tests/macros.h.
+
+2011-02-08 Jim Meyering <meyering@redhat.com>
+
+ di-set: add "const" to a cast
+ * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
+ "(void const *)", not "(void *)". Spotted by Bruno Haible.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ Rename module 'wctype' to 'wctype-h'.
+ * modules/wctype-h: Renamed from modules/wctype.
+ * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
+ * modules/wctype-h-tests: Renamed from modules/wctype-tests.
+ (Files, Depends-on, Makefile.am): Update.
+ * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
+ (Files, Makefile.am): Update.
+ * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
+ * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
+ * doc/posix-headers/wctype.texi: Update.
+ * doc/posix-functions/iswalnum.texi: Update.
+ * doc/posix-functions/iswalpha.texi: Update.
+ * doc/posix-functions/iswblank.texi: Update.
+ * doc/posix-functions/iswcntrl.texi: Update.
+ * doc/posix-functions/iswdigit.texi: Update.
+ * doc/posix-functions/iswgraph.texi: Update.
+ * doc/posix-functions/iswlower.texi: Update.
+ * doc/posix-functions/iswprint.texi: Update.
+ * doc/posix-functions/iswpunct.texi: Update.
+ * doc/posix-functions/iswspace.texi: Update.
+ * doc/posix-functions/iswupper.texi: Update.
+ * doc/posix-functions/iswxdigit.texi: Update.
+ * doc/posix-functions/towlower.texi: Update.
+ * doc/posix-functions/towupper.texi: Update.
+ * NEWS: Mention the change.
+ * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
+ * modules/mbchar (Dependencies): Likewise.
+ * modules/mbswidth (Dependencies): Likewise.
+ * modules/quotearg (Dependencies): Likewise.
+ * modules/regex (Dependencies): Likewise.
+ * modules/wcscasecmp (Dependencies): Likewise.
+ * modules/wcsncasecmp (Dependencies): Likewise.
+ * modules/wcwidth (Dependencies): Likewise.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcswidth'.
+ * modules/wcswidth: New file.
+ * lib/wchar.in.h (wcswidth): New declaration.
+ * lib/wcswidth.c: New file.
+ * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
+ * m4/wcswidth.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
+ REPLACE_WCSWIDTH.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
+ HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
+ * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
+ * doc/posix-functions/wcswidth.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcstok'.
+ * modules/wcstok: New file.
+ * lib/wchar.in.h (wcstok): New declaration.
+ * lib/wcstok.c: New file.
+ * lib/wcstok-impl.h: New file, from libutf8 with modifications.
+ * m4/wcstok.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
+ * tests/test-wchar-c++.cc: Test the declaration of wcstok.
+ * doc/posix-functions/wcstok.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsstr'.
+ * modules/wcsstr: New file.
+ * lib/wchar.in.h (wcsstr): New declaration.
+ * lib/wcsstr.c: New file.
+ * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsstr.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
+ * doc/posix-functions/wcsstr.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcspbrk'.
+ * modules/wcspbrk: New file.
+ * lib/wchar.in.h (wcspbrk): New declaration.
+ * lib/wcspbrk.c: New file.
+ * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
+ * m4/wcspbrk.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
+ * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
+ * doc/posix-functions/wcspbrk.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsspn'.
+ * modules/wcsspn: New file.
+ * lib/wchar.in.h (wcsspn): New declaration.
+ * lib/wcsspn.c: New file.
+ * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsspn.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
+ * doc/posix-functions/wcsspn.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscspn'.
+ * modules/wcscspn: New file.
+ * lib/wchar.in.h (wcscspn): New declaration.
+ * lib/wcscspn.c: New file.
+ * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
+ * m4/wcscspn.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
+ * doc/posix-functions/wcscspn.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsrchr'.
+ * modules/wcsrchr: New file.
+ * lib/wchar.in.h (wcsrchr): New declaration.
+ * lib/wcsrchr.c: New file.
+ * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsrchr.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
+ * doc/posix-functions/wcsrchr.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcschr'.
+ * modules/wcschr: New file.
+ * lib/wchar.in.h (wcschr): New declaration.
+ * lib/wcschr.c: New file.
+ * lib/wcschr-impl.h: New file, from libutf8 with modifications.
+ * m4/wcschr.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
+ * tests/test-wchar-c++.cc: Test the declaration of wcschr.
+ * doc/posix-functions/wcschr.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsdup'.
+ * modules/wcsdup: New file.
+ * lib/wchar.in.h (wcsdup): New declaration.
+ * lib/wcsdup.c: New file.
+ * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsdup.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
+ * doc/posix-functions/wcsdup.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsxfrm'.
+ * modules/wcsxfrm: New file.
+ * lib/wchar.in.h (wcsxfrm): New declaration.
+ * lib/wcsxfrm.c: New file.
+ * lib/wcsxfrm-impl.h: New file.
+ * m4/wcsxfrm.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
+ * doc/posix-functions/wcsxfrm.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscoll'.
+ * modules/wcscoll: New file.
+ * lib/wchar.in.h (wcscoll): New declaration.
+ * lib/wcscoll.c: New file.
+ * lib/wcscoll-impl.h: New file.
+ * m4/wcscoll.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
+ * doc/posix-functions/wcscoll.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsncasecmp'.
+ * modules/wcsncasecmp: New file.
+ * lib/wchar.in.h (wcsncasecmp): New declaration.
+ * lib/wcsncasecmp.c: New file.
+ * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsncasecmp.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
+ HAVE_WCSNCASECMP.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
+ * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
+
+2011-02-06 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscasecmp'.
+ * modules/wcscasecmp: New file.
+ * lib/wchar.in.h (wcscasecmp): New declaration.
+ * lib/wcscasecmp.c: New file.
+ * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
+ * m4/wcscasecmp.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
+ HAVE_WCSCASECMP.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
+ * doc/posix-functions/wcscasecmp.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsncmp'.
+ * modules/wcsncmp: New file.
+ * lib/wchar.in.h (wcsncmp): New declaration.
+ * lib/wcsncmp.c: New file.
+ * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsncmp.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
+ * doc/posix-functions/wcsncmp.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscmp'.
+ * modules/wcscmp: New file.
+ * lib/wchar.in.h (wcscmp): New declaration.
+ * lib/wcscmp.c: New file.
+ * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
+ * m4/wcscmp.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
+ * doc/posix-functions/wcscmp.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsncat'.
+ * modules/wcsncat: New file.
+ * lib/wchar.in.h (wcsncat): New declaration.
+ * lib/wcsncat.c: New file.
+ * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsncat.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
+ * doc/posix-functions/wcsncat.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscat'.
+ * modules/wcscat: New file.
+ * lib/wchar.in.h (wcscat): New declaration.
+ * lib/wcscat.c: New file.
+ * lib/wcscat-impl.h: New file, from libutf8 with modifications.
+ * m4/wcscat.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscat.
+ * doc/posix-functions/wcscat.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcpncpy'.
+ * modules/wcpncpy: New file.
+ * lib/wchar.in.h (wcpncpy): New declaration.
+ * lib/wcpncpy.c: New file.
+ * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
+ * m4/wcpncpy.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
+ * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
+ * doc/posix-functions/wcpncpy.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsncpy'.
+ * modules/wcsncpy: New file.
+ * lib/wchar.in.h (wcsncpy): New declaration.
+ * lib/wcsncpy.c: New file.
+ * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsncpy.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
+ * doc/posix-functions/wcsncpy.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcpcpy'.
+ * modules/wcpcpy: New file.
+ * lib/wchar.in.h (wcpcpy): New declaration.
+ * lib/wcpcpy.c: New file.
+ * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
+ * m4/wcpcpy.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
+ * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
+ * doc/posix-functions/wcpcpy.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcscpy'.
+ * modules/wcscpy: New file.
+ * lib/wchar.in.h (wcscpy): New declaration.
+ * lib/wcscpy.c: New file.
+ * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
+ * m4/wcscpy.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
+ * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
+ * doc/posix-functions/wcscpy.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcsnlen'.
+ * modules/wcsnlen: New file.
+ * lib/wchar.in.h (wcsnlen): New declaration.
+ * lib/wcsnlen.c: New file.
+ * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
+ * m4/wcsnlen.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
+ * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
+ * doc/posix-functions/wcsnlen.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wcslen'.
+ * modules/wcslen: New file.
+ * lib/wchar.in.h (wcslen): New declaration.
+ * lib/wcslen.c: New file.
+ * lib/wcslen-impl.h: New file, from libutf8 with modifications.
+ * m4/wcslen.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
+ * tests/test-wchar-c++.cc: Test the declaration of wcslen.
+ * doc/posix-functions/wcslen.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wmemset'.
+ * modules/wmemset: New file.
+ * lib/wchar.in.h (wmemset): New declaration.
+ * lib/wmemset.c: New file.
+ * lib/wmemset-impl.h: New file, from libutf8 with modifications.
+ * m4/wmemset.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
+ * tests/test-wchar-c++.cc: Test the declaration of wmemset.
+ * doc/posix-functions/wmemset.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wmemmove'.
+ * modules/wmemmove: New file.
+ * lib/wchar.in.h (wmemmove): New declaration.
+ * lib/wmemmove.c: New file.
+ * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
+ * m4/wmemmove.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
+ HAVE_WMEMMOVE.
+ * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
+ * doc/posix-functions/wmemmove.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wmemcpy'.
+ * modules/wmemcpy: New file.
+ * lib/wchar.in.h (wmemcpy): New declaration.
+ * lib/wmemcpy.c: New file.
+ * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
+ * m4/wmemcpy.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
+ * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
+ * doc/posix-functions/wmemcpy.texi: Mention the new module.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wmemcmp'.
+ * modules/wmemcmp: New file.
+ * lib/wchar.in.h (wmemcmp): New declaration.
+ * lib/wmemcmp.c: New file.
+ * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
+ * m4/wmemcmp.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
+ * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
+ * doc/posix-functions/wmemcmp.texi: Mention the new module.
+
+2011-02-07 Jim Meyering <meyering@redhat.com>
+
+ di-set, ino-map: new modules, from coreutils
+ * lib/di-set.c: New file.
+ * lib/di-set.h: Likewise.
+ * lib/ino-map.c: Likewise.
+ * lib/ino-map.h: Likewise.
+ * modules/di-set: Likewise.
+ * modules/di-set-tests: Likewise.
+ * modules/ino-map: Likewise.
+ * modules/ino-map-tests: Likewise.
+ * tests/test-di-set.c: Likewise.
+ * tests/test-ino-map.c: Likewise.
+
+2011-02-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ getloadavg: merge minor changes from Emacs
+
+ * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
+ (getloadavg): Use memset, not bzero.
+
+ 2008-07-25 Chong Yidong <cyd@stupidchicken.com>
+ * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
+ clash (bug#86).
+
+2010-11-14 Bruno Haible <bruno@clisp.org>
+
+ Allow multiple gnulib generated replacements to coexist.
+ * lib/getopt.in.h (struct option): Avoid identical redefinition.
+ * lib/inttypes.in.h (imaxdiv_t): Likewise.
+ * lib/langinfo.in.h (nl_item): Likewise.
+ * lib/math.in.h (_NaN, NAN): Likewise.
+ * lib/netdb.in.h (struct addrinfo): Likewise.
+ * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
+ * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
+ pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
+ pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
+ pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
+ pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
+ pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
+ pthread_mutexattr_init, pthread_mutexattr_settype,
+ pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
+ pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
+ pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
+ pthread_spin_trylock, pthread_spin_unlock): Likewise.
+ * lib/sched.in.h (struct sched_param): Likewise.
+ * lib/se-selinux.in.h (security_class_t, security_context_t,
+ is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
+ matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
+ lsetfilecon, fsetfilecon, security_check_context,
+ security_check_context_raw, setexeccon, matchpathcon_init_prefix):
+ Likewise.
+ * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
+ Likewise.
+ * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
+ _gl_function_taking_int_returning_void_t, union sigval,
+ struct siginfo_t, siginfo_t, struct sigaction): Likewise.
+ * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
+ verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
+ * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
+ gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
+ uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
+ uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
+ gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
+ gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
+ gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
+ * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
+ * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
+ socklen_t, rpl_fd_isset): Likewise.
+ * lib/sys_stat.in.h (rpl_mkdir): Likewise.
+ * lib/sys_time.in.h (struct timeval): Likewise.
+ * lib/sys_times.in.h (struct tms): Likewise.
+ * lib/sys_utsname.in.h (struct utsname):
+ * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
+ * lib/unistd.in.h (getpagesize): Likewise.
+ * lib/wchar.in.h (mbstate_t): Likewise.
+ * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
+ iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
+ towlower, towupper): Likewise.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2011-02-05 Eric Blake <eblake@redhat.com>
+
+ unsetenv: work around Haiku issues
+ * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
+ * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
+
+2010-12-30 Bruce Korb <bkorb@gnu.org>
+
+ libposix: avoid calling error() within libposix
+ * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
+ is defined.
+
+2011-02-05 Eric Blake <eblake@redhat.com>
+
+ strerror_r-posix: port to cygwin
+ * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
+ implementation.
+ * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
+ * tests/test-strerror_r.c (main): Fix test.
+ * doc/posix-functions/strerror_r.texi (strerror_r): Document the
+ issue.
+
+2011-02-05 Bruno Haible <bruno@clisp.org>
+
+ New module 'wmemchr'.
+ * modules/wmemchr: New file.
+ * lib/wchar.in.h (wmemchr): New declaration.
+ * lib/wmemchr.c: New file.
+ * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
+ * m4/wmemchr.m4: New file.
+ * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
+ (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
+ * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
+ * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
+ * doc/posix-functions/wmemchr.texi: Mention the new module.
+
+2011-02-04 Eric Blake <eblake@redhat.com>
+
+ fdopendir: detect FreeBSD bug
+ * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
+ * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
+
+2011-02-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdbool: do not define HAVE_STDBOOL_H
+ * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
+ AC_HEADER_STDBOOL. All uses changed. Do not define
+ HAVE_STDBOOL_H, as gnulib does not need this. This change is
+ imported from the latest Autoconf git. It was motivated by Emacs,
+ which uses gnulib but does not need HAVE_STDBOOL_H.
+
+2011-02-04 Bruno Haible <bruno@clisp.org>
+
+ wcsnrtombs: Prepare for new module wwcsnrtombs.
+ * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
+ * lib/wcsnrtombs.c: Include it.
+ * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
+
+ wcsrtombs: Prepare for new module wwcsrtombs.
+ * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
+ * lib/wcsrtombs.c: Include it.
+ * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
+
+ mbsnrtowcs: Prepare for new module mbsnrtowwcs.
+ * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
+ * lib/mbsnrtowcs.c: Include it.
+ * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
+
+ mbsrtowcs: Prepare for new module mbsrtowwcs.
+ * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
+ * lib/mbsrtowcs.c: Include it.
+ * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
+
+2011-02-04 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf: Reduce use of malloc for small format strings.
+ * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
+ (arguments): Add room for the first 7 arguments.
+ * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
+ (char_directives, u8_directives, u16_directives, u32_directives): Add
+ room for the first 7 directives.
+ * lib/printf-parse.c: Include <string.h>.
+ (PRINTF_PARSE): Change memory handling code so that it uses the first
+ 7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
+ * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
+ Reported by Pádraig Brady <P@draigbrady.com>.
+
+2011-01-31 Eric Blake <eblake@redhat.com>
+
+ dup2: work around Haiku bug
+ * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
+ * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
+ * doc/posix-functions/dup2.texi (dup2): Document the bug.
+ * tests/test-dup2.c (main): Enhance test.
+
+2011-01-31 Simon Josefsson <simon@josefsson.org>
+
+ doc: off_t is not available in eglibc 2.11.2 stdio.h.
+ * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
+ declared by eglibc 2.11.2.
+ * lib/stdio.in.h: Likewise.
+
+2011-01-31 Eric Blake <eblake@redhat.com>
+
+ ignore-value: add missing test dependency
+ * tests/test-ignore-value.c: Revert previous change; stdio.h
+ provides off_t.
+ * modules/ignore-value-tests (Depends-on): Add missing dependency.
+
+2011-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ mktime: clarify long_int width checking
+ * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
+ the top level, to make it clearer that the assumption about
+ long_int width is being checked. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
+
+2011-01-30 Simon Josefsson <simon@josefsson.org>
+
+ ignore-value: Fix self-test.
+ * tests/test-ignore-value.c: Include sys/types.h for off_t.
+
+2011-01-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ TYPE_MAXIMUM: avoid theoretically undefined behavior
+ * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
+ negative number, which the C Standard says has undefined behavior.
+ In practice this is not a problem, but might as well do it by the book.
+ Reported by Rich Felker and Eric Blake; see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
+ * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
+ * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+ * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
+ * m4/stdint.m4 (gl_STDINT_H): Likewise.
+ * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
+
+ mktime: #undef mktime before #defining it
+ * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
+
+ mktime: systematically normalize tm_isdst comparisons
+ * lib/mktime.c (isdst_differ): New function.
+ (__mktime_internal): Use it systematically for all isdst comparisons.
+ This completes the fix for libc BZ #6723, and removes the need for
+ normalizing tm_isdst. See
+ <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
+ (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
+
+ mktime: fix some integer overflow issues and sidestep the rest
+
+ This was prompted by a bug report by Benjamin Lindner for MinGW
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
+ His bug is due to signed integer overflow (0 - INT_MIN), and I
+ I scanned through mktime.c looking for other integer overflow
+ problems, fixing all the bugs I found.
+
+ Although the C Standard says the resulting code is still not safe
+ in the presence of integer overflow, in practice it should be good
+ enough for all real-world two's-complement implementations, except
+ for debugging environments that deliberately trap on integer
+ overflow (e.g., gcc -ftrapv).
+
+ * lib/mktime.c (WRAPV): New macro.
+ (SHR): Also check that long_int and time_t shift right in the
+ usual way, before using the fast-but-unportable method.
+ (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
+ used. The code already assumed two's complement, so there's
+ no need to test for alternatives. All uses removed.
+ (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
+ the C standard. Problem reported by Rich Felker in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
+ (twos_complement_arithmetic): Also check long_int and time_t.
+ (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
+ (guess_time_tm, ranged_convert, __mktime_internal): Use them.
+ (__mktime_internal): Avoid integer overflow with unary subtraction
+ in two instances where -1 - X is an adequate replacement for -X,
+ since the calculations are approximate.
+
+2011-01-29 Eric Blake <eblake@redhat.com>
+
+ mktime: avoid infinite loop
+ * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
+ type; behavior is still undefined but portable to all known targets.
+ Reported by Rich Felker.
+
+2011-01-29 Simon Josefsson <simon@josefsson.org>
+
+ rename, unlink, same-inode: Relicense.
+ * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
+ * modules/unlink (License): Likewise.
+ * modules/same-inode (License): Likewise.
+
+2011-01-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ mktime: avoid problems on NetBSD 5 / i386
+ * lib/mktime.c (long_int): New type. This works around a problem
+ on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
+ but time_t is 64 bits, and where I expect the existing code is
+ wrong in some cases.
+ (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
+ (ydhms_diff): Bring back the compile-time check for wide-enough
+ year and yday.
+
+ mktime: fix misspelling in comment
+ * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
+ This merges all recent glibc changes of importance.
+
+2011-01-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ move-if-change: cope with concurrent mv of identical file.
+ * build-aux/move-if-change (CMPPROG): Accept environment
+ variable as an override for `cmp'.
+ (usage): Document CMPPROG.
+ Adjust comparison to drop stdout. Cope with failure of mv if
+ the target file exists and is identical to the source, for
+ parallel builds.
+ Report from H.J. Lu against binutils in PR binutils/12283.
+
+2011-01-28 Bruce Korb <bkorb@gnu.org>
+
+ * users.txt: Mention sharutils.
+
+2011-01-28 Simon Josefsson <simon@josefsson.org>
+
+ * users.txt: Mention OATH Toolkit.
+
+2011-01-27 Bruno Haible <bruno@clisp.org>
+
+ Prepare for supporting FreeBSD 10.
+ * build-aux/config.libpath: Remove handling of freebsd1*.
+
+2011-01-27 Gerald Pfeifer <gerald@pfeifer.com> (tiny change)
+
+ Prepare for supporting FreeBSD 10.
+ * build-aux/config.rpath: Remove handling of freebsd1* which soon would
+ match FreeBSD 10.0.
+
+2011-01-27 Bruno Haible <bruno@clisp.org>
+
+ vma-iter, get-rusage-as: Add OpenBSD support.
+ * modules/vma-iter (configure.ac): Test for mquery.
+ * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
+ * lib/vma-iter.c: Include <sys/mman.h>.
+ (vma_iterate): Add an implementation based on mquery().
+ * lib/resource-ext.h (get_rusage_as): Update comments.
+ * lib/get-rusage-as.c: Likewise.
+ * lib/get-rusage-data.c: Likewise.
+
+2011-01-26 Karl Berry <karl@gnu.org>
+
+ * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
+ variables to make it easier to override the makeinfo program used.
+
+2011-01-26 Eric Blake <eblake@redhat.com>
+
+ fcntl: work around Haiku F_DUPFD bugs
+ * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
+ * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
+ cloexec bit on duplication.
+ * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
+
+2011-01-26 Bruno Haible <bruno@clisp.org>
+
+ Enable memory leak tests on AIX.
+ * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
+ * tests/test-fprintf-posix3.c (main): Likewise.
+
+2011-01-26 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'get-rusage-data'.
+ * modules/get-rusage-data-tests: New file.
+ * tests/test-get-rusage-data.c: New file.
+
+ New module 'get-rusage-data'.
+ * lib/resource-ext.h (get_rusage_data): New declaration.
+ * lib/get-rusage-data.c: New file.
+ * modules/get-rusage-data: New file.
+
+2011-01-25 Bruno Haible <bruno@clisp.org>
+
+ get-rusage-as: Allow for easier testing.
+ * lib/resource-ext.h (get_rusage_as): Add comment.
+ * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
+ (main): New function for interactive testing.
+
+2011-01-25 Bruno Haible <bruno@clisp.org>
+
+ vma-iter: Treat Haiku like BeOS.
+ * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
+ * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
+
+2011-01-25 Eric Blake <eblake@redhat.com>
+
+ c-stack: fix regression on cygwin when libsigsegv is present
+ * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
+
+2011-01-24 Bruno Haible <bruno@clisp.org>
+
+ vma-iter: Avoid empty intervals.
+ * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
+ on an empty interval.
+
+2011-01-24 Jim Meyering <meyering@redhat.com>
+
+ u64: remove unnecessary #include
+ * lib/u64.h: Don't include <stddef.h>. It was not used.
+
+2011-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Allow the user to avoid the HAVE_RAW_DECL_* macros.
+ * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
+
+2011-01-23 Bruno Haible <bruno@clisp.org>
+
+ New module 'vma-iter'.
+ * lib/vma-iter.h: New file.
+ * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
+ * modules/vma-iter: New file.
+ * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
+ for get_rusage_as_via_iterator.
+ (vma_iterate_callback): New function.
+ (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
+ * modules/get-rusage-as (Depends-on): Add vma-iter.
+
+2011-01-23 Bruno Haible <bruno@clisp.org>
+
+ uninorm: Tweak includes.
+ * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
+ Reported by Jim Meyering.
+