+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unistr/u8-cmp2'.
+ * modules/unistr/u8-cmp2-tests: New file.
+ * tests/unistr/test-u8-cmp2.c: New file.
+ * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
+
+ Tests for module 'unistr/u32-cmp'.
+ * modules/unistr/u32-cmp-tests: New file.
+ * tests/unistr/test-u32-cmp.c: New file.
+
+ Tests for module 'unistr/u16-cmp'.
+ * modules/unistr/u16-cmp-tests: New file.
+ * tests/unistr/test-u16-cmp.c: New file.
+
+ Tests for module 'unistr/u8-cmp'.
+ * modules/unistr/u8-cmp-tests: New file.
+ * tests/unistr/test-u8-cmp.c: New file.
+ * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
+
+ Tests for module 'unistr/u32-set'.
+ * modules/unistr/u32-set-tests: New file.
+ * tests/unistr/test-u32-set.c: New file.
+
+ Tests for module 'unistr/u16-set'.
+ * modules/unistr/u16-set-tests: New file.
+ * tests/unistr/test-u16-set.c: New file.
+
+ Tests for module 'unistr/u8-set'.
+ * modules/unistr/u8-set-tests: New file.
+ * tests/unistr/test-u8-set.c: New file.
+ * tests/unistr/test-set.h: New file.
+
+ Tests for module 'unistr/u32-move'.
+ * modules/unistr/u32-move-tests: New file.
+ * tests/unistr/test-u32-move.c: New file.
+
+ Tests for module 'unistr/u16-move'.
+ * modules/unistr/u16-move-tests: New file.
+ * tests/unistr/test-u16-move.c: New file.
+
+ Tests for module 'unistr/u8-move'.
+ * modules/unistr/u8-move-tests: New file.
+ * tests/unistr/test-u8-move.c: New file.
+ * tests/unistr/test-move.h: New file.
+
+ Tests for module 'unistr/u32-cpy'.
+ * modules/unistr/u32-cpy-tests: New file.
+ * tests/unistr/test-u32-cpy.c: New file.
+
+ Tests for module 'unistr/u16-cpy'.
+ * modules/unistr/u16-cpy-tests: New file.
+ * tests/unistr/test-u16-cpy.c: New file.
+
+ Tests for module 'unistr/u8-cpy'.
+ * modules/unistr/u8-cpy-tests: New file.
+ * tests/unistr/test-u8-cpy.c: New file.
+ * tests/unistr/test-cpy.h: New file.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unistr/u32-uctomb'.
+ * modules/unistr/u32-uctomb-tests: New file.
+ * tests/unistr/test-u32-uctomb.c: New file.
+
+ Tests for module 'unistr/u16-uctomb'.
+ * modules/unistr/u16-uctomb-tests: New file.
+ * tests/unistr/test-u16-uctomb.c: New file.
+
+ Tests for module 'unistr/u8-uctomb'.
+ * modules/unistr/u8-uctomb-tests: New file.
+ * tests/unistr/test-u8-uctomb.c: New file.
+
+ Tests for module 'unistr/u32-mbtoucr'.
+ * modules/unistr/u32-mbtoucr-tests: New file.
+ * tests/unistr/test-u32-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u16-mbtoucr'.
+ * modules/unistr/u16-mbtoucr-tests: New file.
+ * tests/unistr/test-u16-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u8-mbtoucr'.
+ * modules/unistr/u8-mbtoucr-tests: New file.
+ * tests/unistr/test-u8-mbtoucr.c: New file.
+
+ Tests for module 'unistr/u32-mbtouc'.
+ * modules/unistr/u32-mbtouc-tests: New file.
+ * tests/unistr/test-u32-mbtouc.c: New file.
+
+ Tests for module 'unistr/u16-mbtouc'.
+ * modules/unistr/u16-mbtouc-tests: New file.
+ * tests/unistr/test-u16-mbtouc.c: New file.
+
+ Tests for module 'unistr/u8-mbtouc'.
+ * modules/unistr/u8-mbtouc-tests: New file.
+ * tests/unistr/test-u8-mbtouc.c: New file.
+
+ Tests for module 'unistr/u32-mbtouc-unsafe'.
+ * modules/unistr/u32-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u32-mbtouc.h: New file.
+
+ Tests for module 'unistr/u16-mbtouc-unsafe'.
+ * modules/unistr/u16-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u16-mbtouc.h: New file.
+
+ Tests for module 'unistr/u8-mbtouc-unsafe'.
+ * modules/unistr/u8-mbtouc-unsafe-tests: New file.
+ * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
+ * tests/unistr/test-u8-mbtouc.h: New file.
+
+ Tests for module 'unistr/u32-mblen'.
+ * modules/unistr/u32-mblen-tests: New file.
+ * tests/unistr/test-u32-mblen.c: New file.
+
+ Tests for module 'unistr/u16-mblen'.
+ * modules/unistr/u16-mblen-tests: New file.
+ * tests/unistr/test-u16-mblen.c: New file.
+
+ Tests for module 'unistr/u8-mblen'.
+ * modules/unistr/u8-mblen-tests: New file.
+ * tests/unistr/test-u8-mblen.c: New file.
+
+ Tests for module 'unistr/u32-to-u16'.
+ * modules/unistr/u32-to-u16-tests: New file.
+ * tests/unistr/test-u32-to-u16.c: New file.
+
+ Tests for module 'unistr/u32-to-u8'.
+ * modules/unistr/u32-to-u8-tests: New file.
+ * tests/unistr/test-u32-to-u8.c: New file.
+
+ Tests for module 'unistr/u16-to-u32'.
+ * modules/unistr/u16-to-u32-tests: New file.
+ * tests/unistr/test-u16-to-u32.c: New file.
+
+ Tests for module 'unistr/u16-to-u8'.
+ * modules/unistr/u16-to-u8-tests: New file.
+ * tests/unistr/test-u16-to-u8.c: New file.
+
+ Tests for module 'unistr/u8-to-u32'.
+ * modules/unistr/u8-to-u32-tests: New file.
+ * tests/unistr/test-u8-to-u32.c: New file.
+
+ Tests for module 'unistr/u8-to-u16'.
+ * modules/unistr/u8-to-u16-tests: New file.
+ * tests/unistr/test-u8-to-u16.c: New file.
+
+ Tests for module 'unistr/u32-check'.
+ * modules/unistr/u32-check-tests: New file.
+ * tests/unistr/test-u32-check.c: New file.
+
+ Tests for module 'unistr/u16-check'.
+ * modules/unistr/u16-check-tests: New file.
+ * tests/unistr/test-u16-check.c: New file.
+
+ Tests for module 'unistr/u8-check'.
+ * modules/unistr/u8-check-tests: New file.
+ * tests/unistr/test-u8-check.c: New file.
+
+ * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
+ (category_equals): New function.
+ (main): Add more tests.
+ * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
+
+ * tests/unictype/test-bidi_byname.c (main): Add more tests.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-strcoll: Try harder to distinguish different strings.
+ * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
+ compare s1 and s2 to see if they are different.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-stpncpy: Fix the return value.
+ * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
+ description of the return value consistent with stpncpy in glibc.
+ * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
+ written non-NUL unit.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u*-next: Add missing dependencies.
+ * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
+ * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
+ * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ unistr/u8-mbsnlen: Fix return value for incomplete character.
+ * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
+ u8_mblen.
+ * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mblen.
+ * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
+ u16_mblen.
+ * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mblen.
+
+2010-01-10 Bruno Haible <bruno@clisp.org>
+
+ wchar: Fix compilation error when <wchar.h> is used from coreutils.
+ * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
+ Reported by Brian Gough <bjg@gnu.org> and
+ Chris Clayton <chris2553@googlemail.com> via
+ Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ unistr/u16-to-u32: Reject invalid input.
+ * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
+ u16_mbtouc.
+ * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mbtouc.
+
+ unistr/u16-to-u8: Reject invalid input.
+ * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
+ u16_mbtouc.
+ * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
+ Remove unistr/u16-mbtouc.
+
+ unistr/u8-to-u32: Reject invalid input.
+ * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
+ u8_mbtouc.
+ * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mbtouc.
+
+ unistr/u8-to-u16: Reject invalid input.
+ * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
+ u8_mbtouc.
+ * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
+ Remove unistr/u8-mbtouc.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'getlogin'.
+ * modules/getlogin-tests: New file.
+ * tests/test-getlogin.c: New file.
+
+ New module 'getlogin'.
+ * lib/unistd.in.h (getlogin): New declaration.
+ * lib/getlogin.c: New file.
+ * m4/getlogin.m4: New file.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
+ HAVE_GETLOGIN.
+ * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
+ HAVE_GETLOGIN.
+ * modules/getlogin: New file.
+ * doc/posix-functions/getlogin.texi: Mention the new module.
+ Reported by John W. Eaton <jwe@gnu.org>.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ getlogin_r: Support for native Windows.
+ * lib/getlogin_r.c: Include <windows.h>
+ (getlogin_r): Implement for native Windows.
+ * tests/test-getlogin_r.c (main): Also test with a huge buffer.
+ Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
+ via John W. Eaton <jwe@gnu.org>.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ getlogin_r: Small fixes.
+ * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
+ succeeds.
+ * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
+ before testing whether getlogin_r is declared. No need to set
+ HAVE_DECL_GETLOGIN_R to 1.
+ (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ * lib/unistd.in.h (getlogin_r): Add comment.
+
+2010-01-09 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'getlogin_r'.
+ * modules/getlogin_r-tests: New file.
+ * tests/test-getlogin_r.c: New file.
+
+2010-01-09 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
+ * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
+ also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
+
+2010-01-08 Simon Josefsson <simon@josefsson.org>
+
+ * lib/dup2.c (rpl_dup2): Improve comment.
+
+2010-01-08 Eric Blake <ebb9@byu.net>
+
+ maint.mk: allow packages to add makefile @@ exceptions
+ * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
+ (sc_makefile_check): Rename...
+ (sc_makefile_at_at_check): ...to this, and use hook.
+
+ dup2: work around mingw bug
+ * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
+ Reported by Simon Josefsson.
+
+2010-01-07 John W. Eaton <jwe@octave.org> (tiny change)
+
+ glob: Fix C++ compilation.
+ * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
+ C++.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ Fix indentation of wctype.in.h, broken since 2007-01-06.
+ * lib/wctype.in.h: Fix indentation of preprocessor directives.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ mbslen: Avoid collision with system function.
+ * lib/string.in.h [MirBSD]: Include <wchar.h>.
+ (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
+ * m4/mbslen.m4: New file.
+ * modules/mbslen (Files): Add it.
+ (configure.ac): Invoke gl_MBSLEN.
+ * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
+ * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
+ Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
+ via Ian Beckwith <ianb@erislabs.net>.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ dirent: Document the last fix.
+ * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
+ * lib/stdio.in.h: Include <sys/types.h> unconditionally.
+ * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
+ va_list are defined.
+ * doc/posix-headers/stdio.texi: Document the bug of missing types.
+ Reported by Eric Blake.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
+ * modules/xlist (Depends-on): Add 'list',
+ * modules/xoset (Depends-on): Add 'oset'.
+ Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
+ * doc/posix-functions/strncasecmp.texi: Likewise.
+
+2010-01-07 Bruno Haible <bruno@clisp.org>
+
+ * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
+
+2010-01-07 John W. Eaton <jwe@octave.org>
+
+ wctype: allow C++ use
+ * lib/wctype.in.h: Add extern "C" block for C++.
+
+2010-01-06 Eric Blake <ebb9@byu.net>
+
+ maint.mk: detect incorrect GFDL usage
+ * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
+
+2010-01-06 Jim Meyering <meyering@redhat.com>
+ and Eric Blake <ebb9@byu.net>
+
+ maint.mk: ignore multi-line copyright in NEWS
+ * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
+
+2010-01-06 Eric Blake <ebb9@byu.net>
+
+ select: add missing dependency
+ * modules/select-tests (Depends-on): Move sockets dependency...
+ * modules/select (Depends-on): ...here.
+ Reported by Ian Beckwith.
+
+ doc: regenerate INSTALL
+ * doc/INSTALL: Reflect recent autoconf update.
+ * doc/INSTALL.ISO: Likewise.
+ * doc/INSTALL.UTF-8: Likewise.
+
+ pread: fix compilation on glibc
+ * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
+ Reported by Ralf Wildenhues.
+
+ dirent: fix test failure
+ * lib/dirent.in.h (includes): Guarantee ino_t.
+ Reported by Ralf Wildenhues.
+
+2010-01-06 Petr Salinger <Petr.Salinger@seznam.cz> (tiny change)
+
+ linkat, renameat: avoid bad free
+ * lib/at-func2.c (at_func2): Fix typo.
+ Reported via Ian Beckwith, from http://bugs.debian.org/561117.
+
+2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
+ * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
+ to avoid failure of symlink test later.
+
+2010-01-06 Eric Blake <ebb9@byu.net>
+
+ stdio, unistd: guarantee ssize_t
+ * lib/unistd.in.h (includes): Ensure that types required by POSIX
+ 2008 are exposed when needed.
+ * lib/stdio.in.h (includes): Likewise.
+ Reported by Ralf Wildenhues.
+
+2010-01-06 Paolo Bonzini <bonzini@gnu.org>
+
+ nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
+ * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
+ AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
+
+2010-01-06 Jim Meyering <meyering@redhat.com>
+
+ readtokens: this module *does* require xalloc.h
+ It uses only functions that were omitted by the old syntax-check rule.
+ * lib/readtokens.c: Include "xalloc.h" once again.
+ * modules/readtokens (Depends-on): Add xalloc.
+ This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
+
+2010-01-05 Eric Blake <ebb9@byu.net>
+
+ maint: support 'make announcement' from a VPATH build
+ * top/maint.mk (announcement): Look for correct NEWS file.
+
+2010-01-05 Aurelien Jarno <aurelien@aurel32.net> (tiny change)
+
+ utimens (fdutimens): ignore a negative FD, per contract
+ * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
+ when we have a valid file descriptor. Otherwise, using a brand
+ new glibc (with just-patched futimens that now fails with EBADF)
+ would cause this function to fail with ENOSYS.
+ Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
+ See also http://bugzilla.redhat.com/552320.
+
+2010-01-05 Eric Blake <ebb9@byu.net>
+
+ strcase: document what it provides
+ * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
+ gnulib module.
+ * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
+ Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
+
2010-01-05 Jim Meyering <meyering@redhat.com>
- maint: remove useless inclusions of "alloca.h"
- * lib/getloadavg.c: Remove useless inclusion of "alloca.h".
+ maint: remove useless inclusions of "xalloc.h"
+ * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
* lib/readtokens.c: Likewise.
* lib/same.c: Likewise.
- * modules/getloadavg (Depends-on): Remove alloca.
+ * modules/getloadavg (Depends-on): Remove xalloc.
* modules/readtokens: Likewise.
* modules/same: Likewise.