+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
* tests/test-open.h (test_open): Likewise.
* doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
- careadlink: fix compilation error on mingw
+ careadlinkat: fix compilation error on mingw
* lib/careadlinkat.c (standard_allocator): Avoid renaming fields
within struct allocator.