New modules nproc, pthread.
[gnulib.git] / ChangeLog
index 2dc9bd7..1698422 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
+
+       New modules nproc, pthread, contributed by Glen Lenker.
+
+       * MODULES.html.sh: Add pthread, nproc.
+       * lib/nproc.c: New file.
+       * lib/nproc.h: New file.
+       * lib/pthread.in.h: New file.
+       * m4/pthread.m4: New file.
+       * modules/nproc: New file.
+       * modules/pthread: New file.
+
+2009-03-24  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/unicase/locale-language-tests (test_locale_language_LDADD):
+       New variable.
+
+2009-03-24  Kamil Dudka  <kdudka@redhat.com>
+
+       filevercmp: handle simple~ and numbered.~3~ backup suffixes
+       * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
+       * tests/test-filevercmp.c: Add tests for backup suffixes.
+
+2009-03-24  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/stdlib (Depends-on): Add stdint, needed when defining
+       struct random_data on, for example, HP-UX 10.20.  Reported by
+       Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
+
+2009-03-24  Simon Josefsson  <simon@josefsson.org>
+
+       * lib/readline.c (readline): Call fflush on stdout after printing
+       prompt.
+
+2009-03-20  Bruno Haible  <bruno@clisp.org>
+
+       Remove dependency from 'close' module to -lws2_32 on native Windows.
+       * lib/close-hook.h: New file.
+       * lib/close-hook.c: New file.
+       * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
+       w32sock.h.
+       (_gl_close_fd_maybe_socket): Remove function.
+       (rpl_close): Invoke execute_all_close_hooks instead of
+       _gl_close_fd_maybe_socket.
+       * lib/sockets.c: Include close-hook.h, w32sock.h.
+       (close_fd_maybe_socket): New function, essentially from lib/close.c.
+       (close_sockets_hook): New variable.
+       (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
+       (gl_sockets_cleanup): Unregister it.
+       * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
+       * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
+       * modules/close-hook: New file.
+       * modules/close (Files): Remove lib/w32sock.h.
+       (Depends-on): Add close-hook.
+       (Link): Remove section.
+       * modules/sockets (Files): Add lib/w32sock.h.
+       (Depends-on): Add close-hook.
+       * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
+       invocation.
+       * NEWS: Mention that LIB_CLOSE is gone.
+
+2009-03-23  Eric Blake  <ebb9@byu.net>
+
+       signal-tests: test previous patch
+       * tests/test-signal.c: New file.
+       * modules/signal-tests: Likewise.
+
+       signal.h: always support 'volatile sig_atomic_t'
+       * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
+       (gl_SIGNAL_H_DEFAULTS): Add a default.
+       * modules/signal (Makefile.am): Substitute if needed.
+       * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
+       users can blindly add volatile.
+       * doc/posix-headers/signal.texi (signal.h): Document it.
+       Reported by Matthew Woehlke.
+
+2009-03-23  Jim Meyering  <meyering@redhat.com>
+
+       pathmax: PATH_MAX: use pathconf only when available
+       * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
+       only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
+       * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
+       This avoids a link failure in a PSP cross-compilation environment
+       described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
+
+       * lib/vasnprintf.c (divide): Fix typo in comment.
+
+2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gnulib-tool (func_filter_filelist): Fix comment.
+
+2009-03-20  Bruno Haible  <bruno@clisp.org>
+
+       Make sockets.h self-contained.
+       * lib/sockets.c: Include sockets.h first.
+       * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
+
+2009-03-19  Eric Blake  <ebb9@byu.net>
+
+       doc: mention more functions added in cygwin 1.7.0
+       * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
+       addition.
+       * doc/posix-functions/log2f.texi: Likewise.
+
+2009-03-19  Jim Meyering  <meyering@redhat.com>
+
+       fsusage: avoid syntax error due to statement-before-declaration
+       * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
+       after all declarations.  Reported by Matthew Woehlke in
+       http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
+
+2009-03-18  Eric Blake  <ebb9@byu.net>
+
+       build-aux/compile: sync from automake
+       * build-aux/compile: New file, from automake.
+       * config/srclist.txt: Mention build-aux/compile.
+
+2009-03-17  Bruno Haible  <bruno@clisp.org>
+
+       * lib/git-merge-changelog.c: Fix typo in comment.
+       Reported by Reuben Thomas <rrt@sc3d.org>.
+
+2009-03-17  Reuben Thomas  <rrt@sc3d.org>
+
+       * m4/regex.m4: update and improve help for
+       --without-included-regex.
+
+2009-03-17  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
+       failure on missing include files.
+
+2009-03-17  Eric Blake  <ebb9@byu.net>
+
+       doc: mention more functions added in cygwin 1.7.0
+       * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
+       addition.
+       * doc/posix-functions/fwscanf.texi: Likewise.
+       * doc/posix-functions/swprintf.texi: Likewise.
+       * doc/posix-functions/swscanf.texi: Likewise.
+       * doc/posix-functions/vfwprintf.texi: Likewise.
+       * doc/posix-functions/vfwscanf.texi: Likewise.
+       * doc/posix-functions/vswprintf.texi: Likewise.
+       * doc/posix-functions/vswscanf.texi: Likewise.
+       * doc/posix-functions/vwprintf.texi: Likewise.
+       * doc/posix-functions/vwscanf.texi: Likewise.
+       * doc/posix-functions/wcscasecmp.texi: Likewise.
+       * doc/posix-functions/wcsdup.texi: Likewise.
+       * doc/posix-functions/wcsftime.texi: Likewise.
+       * doc/posix-functions/wcsncasecmp.texi: Likewise.
+       * doc/posix-functions/wprintf.texi: Likewise.
+       * doc/posix-functions/wscanf.texi: Likewise.
+       * doc/glibc-functions/gethostbyname2.texi: Likewise.
+
+2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       maint.mk: really add $(AM_MAKEFLAGS)
+       * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
+       was inadvertently omitted in the last commit.
+       Spotted by Bruno Haible.
+
+       maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
+       * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
+       $(AM_MAKEFLAGS)' rather than plain `make'.
+
+       gnulib-tool: execute $MAKE not make
+       * gnulib-tool: Default $MAKE to 'make'.
+       (func_create_testdir, func_create_megatestdir): Use $MAKE rather
+       than make.  Initialize $MAKE in the do-autobuild script.
+
+       gnulib-tool: use $MAKE not make in generated files
+       * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
+       make, in generated files.  Initialize $MAKE in the do-autobuild
+       script.
+
+       * top/GNUmakefile (_have-git-version-gen): Fix typo.
+
+       GNUmakefile: disable parallelism only for multiple, recursive targets
+       * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
+       additions in the Makefile.
+       (AM_RECURSIVE_TARGETS): New macro, override only if not provided
+       by Automake.
+       (.NOTPARALLEL): Only disable parallel builds if multiple targets
+       are listed on the command line and at least one of them is
+       listed in $(ALL_RECURSIVE_TARGETS).
+
+2009-03-14  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
+       utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
+       * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
+       * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
+       utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
+       * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
+       * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
+       unistr/u8-uctomb.
+       * modules/unistr/u8-strchr (Depends-on): Likewise.
+       * modules/unistr/u8-strrchr (Depends-on): Likewise.
+       * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
+       unistr/u16-uctomb.
+       * modules/unistr/u16-strchr (Depends-on): Likewise.
+       * modules/unistr/u16-strrchr (Depends-on): Likewise.
+
+2009-03-12  Bruno Haible  <bruno@clisp.org>
+
+       Work around select() bug on Interix 3.5.
+       * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
+       * lib/select.c (rpl_select): Add an implementation for Unix platforms.
+       * m4/select.m4: New file.
+       * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
+       * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
+       * modules/select (Files): Add m4/select.m4.
+       (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
+       * modules/nanosleep (Depends-on): Add select.
+       * modules/poll (Depends-on): Likewise.
+       * doc/posix-functions/select.texi: Mention the Interix bug.
+       Reported by Markus Duft <mduft@gentoo.org>.
+
+       * lib/select.c: Renamed from lib/winsock-select.c.
+       * modules/select (Files): Add lib/select.c, remove
+       lib/winsock-select.c.
+       (configure.ac): Update.
+
+2009-03-12  Jim Meyering  <meyering@redhat.com>
+
+       avoid gcc warnings about unused macro definitions
+       * lib/readtokens.c (STREQ): Remove unused definition.
+       * lib/xmalloc.c (SIZE_MAX): Likewise.
+       * lib/openat-die.c (N_): Likewise.
+       * lib/mountlist.c (SIZE_MAX): Remove definition.
+       Instead, include <stdint.h>.
+       * lib/readutmp.c: Likewise.
+       * modules/readutmp (Depends-on): Add stdint.
+       * modules/mountlist (Depends-on): Add stdint.
+       * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
+
+2009-03-10  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'mbmemcasecoll'.
+       * modules/mbmemcasecoll-tests: New file.
+       * tests/test-mbmemcasecoll1.sh: New file.
+       * tests/test-mbmemcasecoll2.sh: New file.
+       * tests/test-mbmemcasecoll3.sh: New file.
+       * tests/test-mbmemcasecoll.c: New file.
+
+       New module 'mbmemcasecoll'.
+       * lib/mbmemcasecoll.h: New file.
+       * lib/mbmemcasecoll.c: New file.
+       * modules/mbmemcasecoll: New file.
+
+       * tests/test-mbmemcasecmp.h: New file, extracted from
+       tests/test-mbmemcasecmp.c.
+       * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
+       (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
+       (main): Update.
+       * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
+
+2009-03-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'mbmemcasecmp'.
+       * modules/mbmemcasecmp-tests: New file.
+       * tests/test-mbmemcasecmp1.sh: New file.
+       * tests/test-mbmemcasecmp2.sh: New file.
+       * tests/test-mbmemcasecmp3.sh: New file.
+       * tests/test-mbmemcasecmp.c: New file.
+
+       New module 'mbmemcasecmp'.
+       * lib/mbmemcasecmp.h: New file.
+       * lib/mbmemcasecmp.c: New file.
+       * modules/mbmemcasecmp: New file.
+
+2009-03-09  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'unicase/ulc-casecoll'.
+       * modules/unicase/ulc-casecoll-tests: New file.
+       * tests/unicase/test-ulc-casecoll1.sh: New file.
+       * tests/unicase/test-ulc-casecoll2.sh: New file.
+       * tests/unicase/test-ulc-casecoll.c: New file.
+
+       New module 'unicase/ulc-casecoll'.
+       * lib/unicase.h (ulc_casecoll): New declaration.
+       * lib/unicase/ulc-casecoll.c: New file.
+       * modules/unicase/ulc-casecoll: New file.
+
+       New module 'unicase/ulc-casexfrm'.
+       * lib/unicase.h (ulc_casexfrm): New declaration.
+       * lib/unicase/ulc-casexfrm.c: New file.
+       * modules/unicase/ulc-casexfrm: New file.
+
+2009-03-09  Bruno Haible  <bruno@clisp.org>
+
+       Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
+       invocations.
+
+       * m4/mbscasecmp.m4: Remove file.
+       * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
+
+       * m4/mbscasestr.m4: Remove file.
+       * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
+
+       * m4/mbschr.m4: Remove file.
+       * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSCHR invocation.
+
+       * m4/mbscspn.m4: Remove file.
+       * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
+
+       * m4/mbslen.m4: Remove file.
+       * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSLEN invocation.
+
+       * m4/mbsncasecmp.m4: Remove file.
+       * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
+
+       * m4/mbsnlen.m4: Remove file.
+       * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
+
+       * m4/mbspbrk.m4: Remove file.
+       * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
+
+       * m4/mbspcasecmp.m4: Remove file.
+       * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
+
+       * m4/mbsrchr.m4: Remove file.
+       * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
+
+       * m4/mbssep.m4: Remove file.
+       * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSSEP invocation.
+
+       * m4/mbsspn.m4: Remove file.
+       * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSSPN invocation.
+
+       * m4/mbsstr.m4: Remove file.
+       * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSSTR invocation.
+
+       * m4/mbstok_r.m4: Remove file.
+       * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
+       (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
+
+       * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
+
+       * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
+       AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
+
+       * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
+
+2009-03-08  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'unicase/ulc-casecmp'.
+       * modules/unicase/ulc-casecmp-tests: New file.
+       * tests/unicase/test-ulc-casecmp1.sh: New file.
+       * tests/unicase/test-ulc-casecmp2.sh: New file.
+       * tests/unicase/test-ulc-casecmp.c: New file.
+
+       New module 'unicase/ulc-casecmp'.
+       * lib/unicase.h (ulc_casecmp): New declaration.
+       * lib/unicase/ulc-casecmp.c: New file.
+       * lib/unicase/u-casecmp.h (FUNC): Change argument types to
+       'const SRC_UNIT *'.
+       * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
+       * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
+       * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
+       * modules/unicase/ulc-casecmp: New file.
+
+       Tests for module 'unicase/u32-is-cased'.
+       * modules/unicase/u32-is-cased-tests: New file.
+       * tests/unicase/test-u32-is-cased.c: New file.
+
+       Tests for module 'unicase/u16-is-cased'.
+       * modules/unicase/u16-is-cased-tests: New file.
+       * tests/unicase/test-u16-is-cased.c: New file.
+
+       Tests for module 'unicase/u8-is-cased'.
+       * modules/unicase/u8-is-cased-tests: New file.
+       * tests/unicase/test-u8-is-cased.c: New file.
+       * tests/unicase/test-is-cased.h: New file.
+
+       New module 'unicase/u32-is-cased'.
+       * lib/unicase/u32-is-cased.c: New file.
+       * modules/unicase/u32-is-cased: New file.
+
+       New module 'unicase/u16-is-cased'.
+       * lib/unicase/u16-is-cased.c: New file.
+       * modules/unicase/u16-is-cased: New file.
+
+       New module 'unicase/u8-is-cased'.
+       * lib/unicase/u8-is-cased.c: New file.
+       * lib/unicase/u-is-cased.h: New file.
+       * modules/unicase/u8-is-cased: New file.
+
+       Tests for module 'unicase/u32-is-casefolded'.
+       * modules/unicase/u32-is-casefolded-tests: New file.
+       * tests/unicase/test-u32-is-casefolded.c: New file.
+
+       Tests for module 'unicase/u16-is-casefolded'.
+       * modules/unicase/u16-is-casefolded-tests: New file.
+       * tests/unicase/test-u16-is-casefolded.c: New file.
+
+       Tests for module 'unicase/u8-is-casefolded'.
+       * modules/unicase/u8-is-casefolded-tests: New file.
+       * tests/unicase/test-u8-is-casefolded.c: New file.
+       * tests/unicase/test-is-casefolded.h: New file.
+
+       New module 'unicase/u32-is-casefolded'.
+       * lib/unicase/u32-is-casefolded.c: New file.
+       * modules/unicase/u32-is-casefolded: New file.
+
+       New module 'unicase/u16-is-casefolded'.
+       * lib/unicase/u16-is-casefolded.c: New file.
+       * modules/unicase/u16-is-casefolded: New file.
+
+       New module 'unicase/u8-is-casefolded'.
+       * lib/unicase/u8-is-casefolded.c: New file.
+       * modules/unicase/u8-is-casefolded: New file.
+
+       Tests for module 'unicase/u32-is-titlecase'.
+       * modules/unicase/u32-is-titlecase-tests: New file.
+       * tests/unicase/test-u32-is-titlecase.c: New file.
+
+       Tests for module 'unicase/u16-is-titlecase'.
+       * modules/unicase/u16-is-titlecase-tests: New file.
+       * tests/unicase/test-u16-is-titlecase.c: New file.
+
+       Tests for module 'unicase/u8-is-titlecase'.
+       * modules/unicase/u8-is-titlecase-tests: New file.
+       * tests/unicase/test-u8-is-titlecase.c: New file.
+       * tests/unicase/test-is-titlecase.h: New file.
+
+       New module 'unicase/u32-is-titlecase'.
+       * lib/unicase/u32-is-titlecase.c: New file.
+       * modules/unicase/u32-is-titlecase: New file.
+
+       New module 'unicase/u16-is-titlecase'.
+       * lib/unicase/u16-is-titlecase.c: New file.
+       * modules/unicase/u16-is-titlecase: New file.
+
+       New module 'unicase/u8-is-titlecase'.
+       * lib/unicase/u8-is-titlecase.c: New file.
+       * modules/unicase/u8-is-titlecase: New file.
+
+       Tests for module 'unicase/u32-is-lowercase'.
+       * modules/unicase/u32-is-lowercase-tests: New file.
+       * tests/unicase/test-u32-is-lowercase.c: New file.
+
+       Tests for module 'unicase/u16-is-lowercase'.
+       * modules/unicase/u16-is-lowercase-tests: New file.
+       * tests/unicase/test-u16-is-lowercase.c: New file.
+
+       Tests for module 'unicase/u8-is-lowercase'.
+       * modules/unicase/u8-is-lowercase-tests: New file.
+       * tests/unicase/test-u8-is-lowercase.c: New file.
+       * tests/unicase/test-is-lowercase.h: New file.
+
+       New module 'unicase/u32-is-lowercase'.
+       * lib/unicase/u32-is-lowercase.c: New file.
+       * modules/unicase/u32-is-lowercase: New file.
+
+       New module 'unicase/u16-is-lowercase'.
+       * lib/unicase/u16-is-lowercase.c: New file.
+       * modules/unicase/u16-is-lowercase: New file.
+
+       New module 'unicase/u8-is-lowercase'.
+       * lib/unicase/u8-is-lowercase.c: New file.
+       * modules/unicase/u8-is-lowercase: New file.
+
+       Tests for module 'unicase/u32-is-uppercase'.
+       * modules/unicase/u32-is-uppercase-tests: New file.
+       * tests/unicase/test-u32-is-uppercase.c: New file.
+
+       Tests for module 'unicase/u16-is-uppercase'.
+       * modules/unicase/u16-is-uppercase-tests: New file.
+       * tests/unicase/test-u16-is-uppercase.c: New file.
+
+       Tests for module 'unicase/u8-is-uppercase'.
+       * modules/unicase/u8-is-uppercase-tests: New file.
+       * tests/unicase/test-u8-is-uppercase.c: New file.
+       * tests/unicase/test-is-uppercase.h: New file.
+
+       New module 'unicase/u32-is-uppercase'.
+       * lib/unicase/u32-is-uppercase.c: New file.
+       * modules/unicase/u32-is-uppercase: New file.
+
+       New module 'unicase/u16-is-uppercase'.
+       * lib/unicase/u16-is-uppercase.c: New file.
+       * modules/unicase/u16-is-uppercase: New file.
+
+       New module 'unicase/u8-is-uppercase'.
+       * lib/unicase/u8-is-uppercase.c: New file.
+       * modules/unicase/u8-is-uppercase: New file.
+
+       New module 'unicase/u32-is-invariant'.
+       * lib/unicase/u32-is-invariant.c: New file.
+       * modules/unicase/u32-is-invariant: New file.
+
+       New module 'unicase/u16-is-invariant'.
+       * lib/unicase/u16-is-invariant.c: New file.
+       * modules/unicase/u16-is-invariant: New file.
+
+       New module 'unicase/u8-is-invariant'.
+       * lib/unicase/u8-is-invariant.c: New file.
+       * lib/unicase/invariant.h: New file.
+       * lib/unicase/u-is-invariant.h: New file.
+       * modules/unicase/u8-is-invariant: New file.
+
+       Tests for module 'unicase/u32-casecoll'.
+       * modules/unicase/u32-casecoll-tests: New file.
+       * tests/unicase/test-u32-casecoll.c: New file.
+
+       Tests for module 'unicase/u16-casecoll'.
+       * modules/unicase/u16-casecoll-tests: New file.
+       * tests/unicase/test-u16-casecoll.c: New file.
+
+       Tests for module 'unicase/u8-casecoll'.
+       * modules/unicase/u8-casecoll-tests: New file.
+       * tests/unicase/test-u8-casecoll.c: New file.
+
+       New module 'unicase/u32-casecoll'.
+       * lib/unicase/u32-casecoll.c: New file.
+       * modules/unicase/u32-casecoll: New file.
+
+       New module 'unicase/u16-casecoll'.
+       * lib/unicase/u16-casecoll.c: New file.
+       * modules/unicase/u16-casecoll: New file.
+
+       New module 'unicase/u8-casecoll'.
+       * lib/unicase/u8-casecoll.c: New file.
+       * lib/unicase/u-casecoll.h: New file.
+       * modules/unicase/u8-casecoll: New file.
+
+       New module 'unicase/u32-casexfrm'.
+       * lib/unicase/u32-casexfrm.c: New file.
+       * modules/unicase/u32-casexfrm: New file.
+
+       New module 'unicase/u16-casexfrm'.
+       * lib/unicase/u16-casexfrm.c: New file.
+       * modules/unicase/u16-casexfrm: New file.
+
+       New module 'unicase/u8-casexfrm'.
+       * lib/unicase/u8-casexfrm.c: New file.
+       * lib/unicase/u-casexfrm.h: New file.
+       * modules/unicase/u8-casexfrm: New file.
+
+       Tests for module 'unicase/u32-casecmp'.
+       * modules/unicase/u32-casecmp-tests: New file.
+       * tests/unicase/test-u32-casecmp.c: New file.
+
+       Tests for module 'unicase/u16-casecmp'.
+       * modules/unicase/u16-casecmp-tests: New file.
+       * tests/unicase/test-u16-casecmp.c: New file.
+
+       Tests for module 'unicase/u8-casecmp'.
+       * modules/unicase/u8-casecmp-tests: New file.
+       * tests/unicase/test-u8-casecmp.c: New file.
+       * tests/unicase/test-casecmp.h: New file.
+
+       New module 'unicase/u32-casecmp'.
+       * lib/unicase/u32-casecmp.c: New file.
+       * modules/unicase/u32-casecmp: New file.
+
+       New module 'unicase/u16-casecmp'.
+       * lib/unicase/u16-casecmp.c: New file.
+       * modules/unicase/u16-casecmp: New file.
+
+       New module 'unicase/u8-casecmp'.
+       * lib/unicase/u8-casecmp.c: New file.
+       * lib/unicase/u-casecmp.h: New file.
+       * modules/unicase/u8-casecmp: New file.
+
+       Tests for module 'unicase/u32-casefold'.
+       * modules/unicase/u32-casefold-tests: New file.
+       * tests/unicase/test-u32-casefold.c: New file.
+
+       Tests for module 'unicase/u16-casefold'.
+       * modules/unicase/u16-casefold-tests: New file.
+       * tests/unicase/test-u16-casefold.c: New file.
+
+       Tests for module 'unicase/u8-casefold'.
+       * modules/unicase/u8-casefold-tests: New file.
+       * tests/unicase/test-u8-casefold.c: New file.
+
+       New module 'unicase/u32-casefold'.
+       * lib/unicase/u32-casefold.c: New file.
+       * modules/unicase/u32-casefold: New file.
+
+       New module 'unicase/u16-casefold'.
+       * lib/unicase/u16-casefold.c: New file.
+       * modules/unicase/u16-casefold: New file.
+
+       New module 'unicase/u8-casefold'.
+       * lib/unicase/u8-casefold.c: New file.
+       * lib/unicase/u-casefold.h: New file.
+       * modules/unicase/u8-casefold: New file.
+
+       New module 'unicase/tocasefold'.
+       * lib/unicase/casefold.h: New file.
+       * lib/unicase/tocasefold.c: New file.
+       * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
+       * modules/unicase/tocasefold: New file.
+
+       Tests for module 'unicase/u32-totitle'.
+       * modules/unicase/u32-totitle-tests: New file.
+       * tests/unicase/test-u32-totitle.c: New file.
+
+       Tests for module 'unicase/u16-totitle'.
+       * modules/unicase/u16-totitle-tests: New file.
+       * tests/unicase/test-u16-totitle.c: New file.
+
+       Tests for module 'unicase/u8-totitle'.
+       * modules/unicase/u8-totitle-tests: New file.
+       * tests/unicase/test-u8-totitle.c: New file.
+
+       New module 'unicase/u32-totitle'.
+       * lib/unicase/u32-totitle.c: New file.
+       * modules/unicase/u32-totitle: New file.
+
+       New module 'unicase/u16-totitle'.
+       * lib/unicase/u16-totitle.c: New file.
+       * modules/unicase/u16-totitle: New file.
+
+       New module 'unicase/u8-totitle'.
+       * lib/unicase/u8-totitle.c: New file.
+       * lib/unicase/u-totitle.h: New file.
+       * modules/unicase/u8-totitle: New file.
+
+       Tests for module 'unicase/u32-tolower'.
+       * modules/unicase/u32-tolower-tests: New file.
+       * tests/unicase/test-u32-tolower.c: New file.
+
+       Tests for module 'unicase/u16-tolower'.
+       * modules/unicase/u16-tolower-tests: New file.
+       * tests/unicase/test-u16-tolower.c: New file.
+
+       Tests for module 'unicase/u8-tolower'.
+       * modules/unicase/u8-tolower-tests: New file.
+       * tests/unicase/test-u8-tolower.c: New file.
+
+       New module 'unicase/u32-tolower'.
+       * lib/unicase/u32-tolower.c: New file.
+       * modules/unicase/u32-tolower: New file.
+
+       New module 'unicase/u16-tolower'.
+       * lib/unicase/u16-tolower.c: New file.
+       * modules/unicase/u16-tolower: New file.
+
+       New module 'unicase/u8-tolower'.
+       * lib/unicase/u8-tolower.c: New file.
+       * modules/unicase/u8-tolower: New file.
+
+       Tests for module 'unicase/u32-toupper'.
+       * modules/unicase/u32-toupper-tests: New file.
+       * tests/unicase/test-u32-toupper.c: New file.
+
+       Tests for module 'unicase/u16-toupper'.
+       * modules/unicase/u16-toupper-tests: New file.
+       * tests/unicase/test-u16-toupper.c: New file.
+
+       Tests for module 'unicase/u8-toupper'.
+       * modules/unicase/u8-toupper-tests: New file.
+       * tests/unicase/test-u8-toupper.c: New file.
+
+       New module 'unicase/u32-toupper'.
+       * lib/unicase/u32-toupper.c: New file.
+       * modules/unicase/u32-toupper: New file.
+
+       New module 'unicase/u16-toupper'.
+       * lib/unicase/u16-toupper.c: New file.
+       * modules/unicase/u16-toupper: New file.
+
+       New module 'unicase/u8-toupper'.
+       * lib/unicase/u8-toupper.c: New file.
+       * modules/unicase/u8-toupper: New file.
+
+       New module 'unicase/u32-casemap'.
+       * lib/unicase/u32-casemap.c: New file.
+       * modules/unicase/u32-casemap: New file.
+
+       New module 'unicase/u16-casemap'.
+       * lib/unicase/u16-casemap.c: New file.
+       * modules/unicase/u16-casemap: New file.
+
+       New module 'unicase/u8-casemap'.
+       * lib/unicase/unicasemap.h: New file.
+       * lib/unicase/u8-casemap.c: New file.
+       * lib/unicase/u-casemap.h: New file.
+       * modules/unicase/u8-casemap: New file.
+
+       New module 'unicase/special-casing'.
+       * lib/unicase/special-casing.h: New file.
+       * lib/unicase/special-casing.c: New file.
+       * lib/unicase/special-casing-table.gperf: New file, generated by
+       gen-uni-tables.c.
+       * modules/unicase/special-casing: New file.
+
+       Tests for module 'unicase/locale-language'.
+       * modules/unicase/locale-language-tests: New file.
+       * tests/unicase/test-locale-language.sh: New file.
+       * tests/unicase/test-locale-language.c: New file.
+
+       New module 'unicase/locale-language'.
+       * lib/unicase/locale-language.c: New file.
+       * lib/unicase/locale-languages.gperf: New file.
+       * modules/unicase/locale-language: New file.
+
+       Generate more tables for case conversion and case folding.
+       * lib/gen-uni-tables.c (SCC_*): New enum items.
+       (struct special_casing_rule): New type.
+       (casing_rules, num_casing_rules, allocated_casing_rules): New
+       variables.
+       (add_casing_rule, fill_casing_rules): New functions.
+       (struct casefold_rule): New type.
+       (casefolding_rules, num_casefolding_rules,
+       allocated_casefolding_rules): New variables.
+       (fill_casefolding_rules): New function.
+       (unicode_casefold): New variable.
+       (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
+       sort_casing_rules, output_casing_rules): New functions.
+       (main): Accept to more arguments: SpecialCasing.txt and
+       CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
+       redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
+       Output mapping for casefolding.
+
+       * lib/unicase.h: Include stdbool.h, uninorm.h.
+       (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
+       u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
+       (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
+       arguments.
+       (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
+       resultp arguments.
+       (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
+       (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
+       resultp arguments.
+       (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
+       u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
+       u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
+       u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
+       declarations.
+       * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
+
+2009-03-08  Bruno Haible  <bruno@clisp.org>
+
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+       u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
+       * lib/uninorm/u-normcmp.h (FUNC): Likewise.
+       * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Adjust u*_normcmp, u*_normcoll API.
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+       u16_normcoll, u32_normcoll): Change failure conventions.
+       * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
+       errno and return -1.
+       * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/u32-normcoll'.
+       * modules/uninorm/u32-normcoll-tests: New file.
+       * tests/uninorm/test-u32-normcoll.c: New file.
+
+       Tests for module 'uninorm/u16-normcoll'.
+       * modules/uninorm/u16-normcoll-tests: New file.
+       * tests/uninorm/test-u16-normcoll.c: New file.
+
+       Tests for module 'uninorm/u8-normcoll'.
+       * modules/uninorm/u8-normcoll-tests: New file.
+       * tests/uninorm/test-u8-normcoll.c: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * tests/uninorm/test-u32-normcmp.h: New file, extracted from
+       tests/uninorm/test-u32-normcmp.c.
+       * tests/uninorm/test-u32-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u32-normcmp-tests (Files): Add
+       tests/uninorm/test-u32-normcmp.h.
+       (Depends-on): Remove uninorm/u32-normcmp.
+
+       * tests/uninorm/test-u16-normcmp.h: New file, extracted from
+       tests/uninorm/test-u16-normcmp.c.
+       * tests/uninorm/test-u16-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u16-normcmp-tests (Files): Add
+       tests/uninorm/test-u16-normcmp.h.
+       (Depends-on): Remove uninorm/u16-normcmp.
+
+       * tests/uninorm/test-u8-normcmp.h: New file, extracted from
+       tests/uninorm/test-u8-normcmp.c.
+       * tests/uninorm/test-u8-normcmp.c: Include it.
+       (test_nonascii): New function, extracted from main. Add some more
+       tests.
+       (main): Invoke test_ascii and test_nonascii.
+       * modules/uninorm/u8-normcmp-tests (Files): Add
+       tests/uninorm/test-u8-normcmp.h.
+       (Depends-on): Remove uninorm/u8-normcmp.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'uninorm/u32-normcoll'.
+       * lib/uninorm/u32-normcoll.c: New file.
+       * modules/uninorm/u32-normcoll: New file.
+
+       New module 'uninorm/u16-normcoll'.
+       * lib/uninorm/u16-normcoll.c: New file.
+       * modules/uninorm/u16-normcoll: New file.
+
+       New module 'uninorm/u8-normcoll'.
+       * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
+       declarations.
+       * lib/uninorm/u8-normcoll.c: New file.
+       * lib/uninorm/u-normcoll.h: New file.
+       * modules/uninorm/u8-normcoll: New file.
+
+       New module 'uninorm/u32-normxfrm'.
+       * lib/uninorm/u32-normxfrm.c: New file.
+       * modules/uninorm/u32-normxfrm: New file.
+
+       New module 'uninorm/u16-normxfrm'.
+       * lib/uninorm/u16-normxfrm.c: New file.
+       * modules/uninorm/u16-normxfrm: New file.
+
+       New module 'uninorm/u8-normxfrm'.
+       * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
+       declarations.
+       * lib/uninorm/u8-normxfrm.c: New file.
+       * lib/uninorm/u-normxfrm.h: New file.
+       * modules/uninorm/u8-normxfrm: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
+       * modules/uninorm/u16-normcmp (Depends-on): Likewise.
+       * modules/uninorm/u32-normcmp (Depends-on): Likewise.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'memxfrm'.
+       * lib/memxfrm.h: New file.
+       * lib/memxfrm.c: New file.
+       * modules/memxfrm: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       New module 'memcmp2'.
+       * lib/memcmp2.h: New file.
+       * lib/memcmp2.c: New file.
+       * modules/memcmp2: New file.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/decomposing-form'.
+       * modules/uninorm/decomposing-form-tests: New file.
+       * tests/uninorm/test-decomposing-form.c: New file.
+
+       New module 'uninorm/decomposing-form'.
+       * lib/uninorm.h (uninorm_decomposing_form): New declaration.
+       * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
+       Add 'decomposing_variant' field.
+       * lib/uninorm/decomposing-form.c: New file.
+       * lib/uninorm/nfc.c (uninorm_nfc): Update.
+       * lib/uninorm/nfd.c (uninorm_nfd): Update.
+       * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
+       * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
+       * modules/uninorm/decomposing-form: New file.
+       * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
+       * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
+
+2009-03-07  Bruno Haible  <bruno@clisp.org>
+
+       * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
+       strings.
+
+2009-03-06  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'uninorm/u32-normcmp'.
+       * tests/uninorm/test-u32-normcmp.c: New file.
+       * modules/uninorm/u32-normcmp-tests: New file.
+
+       Tests for module 'uninorm/u16-normcmp'.
+       * tests/uninorm/test-u16-normcmp.c: New file.
+       * modules/uninorm/u16-normcmp-tests: New file.
+
+       Tests for module 'uninorm/u8-normcmp'.
+       * tests/uninorm/test-u8-normcmp.c: New file.
+       * modules/uninorm/u8-normcmp-tests: New file.
+
+       New module 'uninorm/u32-normcmp'.
+       * lib/uninorm/u32-normcmp.c: New file.
+       * modules/uninorm/u32-normcmp: New file.
+
+       New module 'uninorm/u16-normcmp'.
+       * lib/uninorm/u16-normcmp.c: New file.
+       * modules/uninorm/u16-normcmp: New file.
+
+       New module 'uninorm/u8-normcmp'.
+       * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
+       declarations.
+       * lib/uninorm/u8-normcmp.c: New file.
+       * lib/uninorm/u-normcmp.h: New file.
+       * modules/uninorm/u8-normcmp: New file.
+
+2009-03-06  Bruno Haible  <bruno@clisp.org>
+
+       * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
+       Reported by Eric Blake.
+
+2009-03-06  Eric Blake  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
+       * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
+       condition.
+       (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
+       * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
+       condition.
+       (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
+
+2009-03-06  Eric Blake  <ebb9@byu.net>
+
+       * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
+       to avoid compiler warnings.
+       * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
+
+2009-03-05  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-ftell.c (main): Disable test beyond end of file on
+       FreeMiNT.
+       Patch by Alan Hourihane <alanh@fairlite.co.uk>.
+
+2009-03-05  Kamil Dudka  <kdudka@redhat.com>
+
+       * lib/filevercmp.c: Move hidden files up in ordering.
+       * tests/test-filevercmp.c: Add tests for hidden files.
+
+2009-03-04  Bruno Haible  <bruno@clisp.org>
+
+       * modules/visibility (Makefile.am): Augment AM_CFLAGS.
+       * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
+       AM_CFLAGS.
+       Reported by Simon Josefsson.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
+       Reported by Simon Josefsson.
+
+       * doc/ld-version-script.texi: Update node reference.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * modules/visibility (License): Change to 'unlimited'.
+       Suggested by Simon Josefsson.
+
+2009-03-03  Jim Meyering  <meyering@redhat.com>
+
+       unlinkdir: cannot_unlink_dir may modify process state
+       * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
+       it's neither thread-safe nor appropriate for use in a library.
+
+2009-03-03  Eric Blake  <ebb9@byu.net>
+
+       test-closein: silence test under Darwin
+       * tests/test-closein.sh: Ignore stderr from cat, since we don't
+       care if it dies from EPIPE or EBADF.
+
+2009-03-03  Bruno Haible  <bruno@clisp.org>
+
+       * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
+       earlier.
+       * doc/visibility.texi: Fix @node and @section.
+
+2009-03-03  Simon Josefsson  <simon@josefsson.org>
+
+       * doc/gnulib.texi: Link to sections for ld version script and
+       visibility.
+       * doc/visibility.texi: Add @node and @section.
+       * modules/ld-version-script: New module.
+       * m4/ld-version-script.m4: New file.
+       * doc/ld-version-script.texi: New file.
+
+2009-03-02  David Lutterkort  <lutter@redhat.com>
+
+       * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2009-03-02  Bruno Haible  <bruno@clisp.org>
+
+       * doc/visibility.texi: Mention libtool's -export-symbols option.
+
+2009-03-02  Jim Meyering  <meyering@redhat.com>
+
+       announce-gen: new option: --no-print-checksums
+       * build-aux/announce-gen (usage): Describe it.
+       (print_checksums): Print a newline here, not in the [*] footnote.
+       (main): Honor it.
+
 2009-03-01  Bruno Haible  <bruno@clisp.org>
 
        Use socklen_t in the native Windows replacements prototypes.
        least 4.2.
 
 2009-03-01  Eric Blake  <ebb9@byu.net>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
        error messages.