Add support for Unicode strings (both as output format and as arguments to
[gnulib.git] / ChangeLog
index 167b468..a837ed6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,740 @@
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       Prepare vasnprintf code for use with Unicode strings.
+       * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
+       (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
+       TYPE_U32_STRING.
+       (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
+       a_u32_string variants.
+       (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
+       * lib/printf-args.c: Don't include config.h and the specification
+       header if PRINTF_FETCHARGS is already defined.
+       (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
+       (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
+       TYPE_U16_STRING, TYPE_U32_STRING.
+       * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
+       u16_directive, u16_directives, u32_directive, u32_directives): New
+       types.
+       (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
+       New declarations.
+       * lib/printf-parse.c: Don't include config.h and the specification
+       header if PRINTF_PARSE is already defined. Eliminate the set of
+       parameters for WIDE_CHAR_VERSION; the user of this file must provide
+       them now. Include c-ctype.h.
+       (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
+       directive and CHAR_T_ONLY_ASCII.
+       * lib/vasnprintf.c: Don't include config.h and the specification header
+       if VASNPRINTF is already defined.
+       (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
+       (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
+       DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
+       type. Handle the case that TCHAR_T and FCHAR_T are not of the same
+       size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
+       add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
+       code accordingly.
+       (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
+       pad_ourselves also in this case, with the 'c' and 's' directives, and
+       with a different notion of "width".
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * modules/unistr/u32-mbsnlen: New file.
+       * lib/unistr/u32-mbsnlen.c: New file.
+
+       * modules/unistr/u16-mbsnlen: New file.
+       * lib/unistr/u16-mbsnlen.c: New file.
+
+       * modules/unistr/u8-mbsnlen: New file.
+       * lib/unistr/u8-mbsnlen.c: New file.
+
+       * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
+       declarations.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/string_.h (mbsnlen): New declaration.
+       * lib/mbsnlen.c: New file.
+       * m4/mbsnlen.m4: New file.
+       * modules/mbsnlen: New file.
+       * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
+       * modules/string (string.h): Substitute GNULIB_MBSNLEN.
+       * MODULES.html.sh (Internationalization functions): Add mbsnlen.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
+       * lib/mbuiter.h: Likewise.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
+       declaration.
+
+2007-06-10  Karl Berry  <karl@gnu.org>
+
+       * config/srclist.txt: remove gettext entries, Bruno prefers
+       to update individually.
+
+2007-06-10  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
+       'maxlen'. Ensure only length + width bytes are allocated, not
+       length + 1 + width.
+
+2007-06-09  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
+       (CHAR_T): Remove macro.
+       (VASNPRINTF): Update.
+
+2007-06-09  Bruno Haible  <bruno@clisp.org>
+
+       * MODULES.html.sh (Unicode string functions): Add the new modules.
+
+       * modules/uniconv/u32-conv-to-enc: New file.
+       * lib/uniconv/u32-conv-to-enc.c: New file.
+       * modules/uniconv/u32-conv-to-enc-tests: New file.
+       * tests/uniconv/test-u32-conv-to-enc.c: New file.
+
+       * modules/uniconv/u16-conv-to-enc: New file.
+       * lib/uniconv/u16-conv-to-enc.c: New file.
+       * lib/uniconv/u-conv-to-enc.h: New file.
+       * modules/uniconv/u16-conv-to-enc-tests: New file.
+       * tests/uniconv/test-u16-conv-to-enc.c: New file.
+
+       * modules/uniconv/u8-conv-to-enc: New file.
+       * lib/uniconv/u8-conv-to-enc.c: New file.
+       * modules/uniconv/u8-conv-to-enc-tests: New file.
+       * tests/uniconv/test-u8-conv-to-enc.c: New file.
+
+       * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
+       u32_conv_to_encoding): New declarations.
+
+2007-06-09  Bruno Haible  <bruno@clisp.org>
+
+       * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
+
+2007-06-09  Bruno Haible  <bruno@clisp.org>
+
+       Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
+       * modules/malloca: Renamed from modules/allocsa, updated.
+       * lib/malloca.h: Renamed from lib/allocsa.h, updated.
+       * lib/malloca.c: Renamed from lib/allocsa.c, updated.
+       * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
+       * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
+       * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
+       * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
+       * modules/xmalloca: Renamed from modules/xallocsa, updated.
+       * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
+       * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
+       * modules/c-strcasestr (Depends-on): Update.
+       * lib/c-strcasestr.c: Update.
+       * modules/c-strstr (Depends-on): Update.
+       * lib/c-strstr.c: Update.
+       * modules/canonicalize-lgpl (Depends-on): Update.
+       * lib/canonicalize-lgpl.c: Update.
+       * modules/clean-temp (Depends-on): Update.
+       * lib/clean-temp.c: Update.
+       * modules/csharpcomp (Depends-on): Update.
+       * lib/csharpcomp.c: Update.
+       * modules/csharpexec (Depends-on): Update.
+       * lib/csharpexec.c: Update.
+       * modules/javacomp (Depends-on): Update.
+       * lib/javacomp.c: Update.
+       * modules/javaexec (Depends-on): Update.
+       * lib/javaexec.c: Update.
+       * modules/mbscasestr (Depends-on): Update.
+       * lib/mbscasestr.c: Update.
+       * modules/mbsstr (Depends-on): Update.
+       * lib/mbsstr.c: Update.
+       * modules/setenv (Depends-on): Update.
+       * lib/setenv.c: Update.
+       * modules/strcasestr (Depends-on): Update.
+       * lib/strcasestr.c: Update.
+       * modules/striconveha (Depends-on): Update.
+       * lib/striconveha.c: Update.
+       * modules/relocatable-prog-wrapper (Files): Update.
+       * lib/relocwrapper.c: Update.
+       * build-aux/install-reloc: Update.
+       * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
+
+2007-06-08  Bruno Haible  <bruno@clisp.org>
+
+       Port to uClibc.
+       * lib/fbufmode.c (fbufmode): Add special code for uClibc.
+       * lib/fpurge.c (fpurge): Likewise.
+       * lib/freading.c (freading): Likewise.
+       * lib/fseeko.c (rpl_fseeko): Likewise.
+       * lib/fseterr.c (fseterr): Likewise.
+       * lib/fwriting.c (fwriting): Likewise.
+       * tests/test-fflush.c (main): Avoid a failure on uClibc.
+
+2007-06-08  Bruno Haible  <bruno@clisp.org>
+
+       * m4/intlmacosx.m4: New file, extracted from gettext.m4.
+       * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
+       * modules/gettext (Files): Add m4/intlmacosx.m4.
+
+2007-06-07  Bruno Haible  <bruno@clisp.org>
+
+       * modules/localename-tests: New file.
+       * tests/test-localename.c: New file.
+
+       New module 'localename'.
+       * lib/localename.h: New file.
+       * lib/localename.c: New file, from GNU gettext.
+       * m4/localename.m4: New file.
+       * modules/localename: New file.
+
+2007-06-07  Bruno Haible  <bruno@clisp.org>
+
+       Work around the lack of <wchar.h> on some builds of uClibc.
+       * doc/headers/wchar.texi: Update.
+       * lib/wchar_.h: Include <wchar.h> only if it exists.
+       * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
+       * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
+       (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
+       doesn't exist.
+       * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
+       * modules/mbfile (Depends-on): Add wchar.
+       * modules/mbiter (Depends-on): Likewise.
+       * modules/mbuiter (Depends-on): Likewise.
+       Reported by Simon Josefsson.
+
+2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Work around problem reported by Steven M. Schweda in
+       <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
+       Tru64 5.1B with the Compaq compiler environment installed declares
+       an 'isblank' function but does not define it in the C library.
+       * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
+       * lib/regex_internal.h (isblank): Likewise.
+       * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
+       * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
+
+2007-06-05  Bruno Haible  <bruno@clisp.org>
+
+       Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
+       ia64.
+       * modules/printf-safe: New file.
+       * modules/fprintf-posix (Depends-on): Add printf-safe.
+       * modules/printf-posix (Depends-on): Likewise.
+       * modules/snprintf-posix (Depends-on): Likewise.
+       * modules/sprintf-posix (Depends-on): Likewise.
+       * modules/vasnprintf-posix (Depends-on): Likewise.
+       * modules/vasprintf-posix (Depends-on): Likewise.
+       * modules/vfprintf-posix (Depends-on): Likewise.
+       * modules/vprintf-posix (Depends-on): Likewise.
+       * modules/vsnprintf-posix (Depends-on): Likewise.
+       * modules/vsprintf-posix (Depends-on): Likewise.
+       * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
+       AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
+       non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
+       "no" on i386, x86_64, ia64.
+       * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
+       (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
+       on i386, x86_64, ia64.
+       * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
+       (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
+       on i386, x86_64, ia64.
+       * tests/test-vasnprintf-posix.c: Include float.h.
+       (LDBL80_WORDS): New macro.
+       (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
+       on i386, x86_64, ia64.
+       * tests/test-vasprintf-posix.c: Include float.h.
+       (LDBL80_WORDS): New macro.
+       (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
+       on i386, x86_64, ia64.
+       * tests/test-snprintf-posix.c: Include float.h.
+       * tests/test-sprintf-posix.c: Likewise.
+       * tests/test-vsnprintf-posix.c: Likewise.
+       * tests/test-vsprintf-posix.c: Likewise.
+
+2007-06-05  Bruno Haible  <bruno@clisp.org>
+
+       Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
+       * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
+       non-IEEE numbers on i386, x86_64, ia64.
+       (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
+       * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
+       * tests/test-isnanl.h: Include float.h.
+       (main): Check also non-IEEE numbers on i386, x86_64, ia64.
+
+2007-06-05  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
+       also the %a / %A. Handle the %a / %A code before this extra handling.
+
+2007-06-05  Bruno Haible  <bruno@clisp.org>
+
+       * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
+       NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
+
+2007-06-05  Bruno Haible  <bruno@clisp.org>
+
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
+       typo in variable name.
+
+2007-06-05  Eric Blake  <ebb9@byu.net>
+
+       * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
+       Reported by Simon Josefsson.
+
+2007-06-04  Bruno Haible  <bruno@clisp.org>
+
+       Avoid test failures on some PowerPC platforms.
+       * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
+       Define differently for PowerPC.
+       * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2007-06-02  Bruno Haible  <bruno@clisp.org>
+
+       Fix test-stdint failure on FreeBSD/ia64.
+       * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
+       PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
+       WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
+       * doc/headers/stdint.texi: Update.
+
+2007-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-binary-io.c (main): Pass a third argument to open().
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2007-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * doc/functions/frexpl.texi: Update for mingw.
+
+2007-06-01  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-lseek.c (main): Disable test of errno for invalid third
+       argument.
+       * doc/functions/lseek.texi: Update.
+       Reported by Gary V. Vaughan <gary@gnu.org>.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
+
+2007-05-31  Eric Blake  <ebb9@byu.net>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
+       cross compiling.
+
+2007-05-30  Eric Blake  <ebb9@byu.net>
+       and Bruno Haible  <bruno@clisp.org>
+
+       Work around mingw test failures exposed by m4-1.4.9b.
+       * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
+       * tests/test-unistd.c: Disable uid_t and git_t tests for the
+       moment.
+
+2007-05-30  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
+       assuming that they are closed. Needed on HP-UX 11.
+
+2007-05-29  Bruno Haible  <bruno@clisp.org>
+
+       Fix a problem with #include_next.
+       * lib/dirent_.h: Split the double-inclusion guard.
+       * lib/fcntl_.h: Likewise.
+       * lib/float_.h: Likewise.
+       * lib/iconv_.h: Likewise.
+       * lib/inttypes_.h: Likewise.
+       * lib/locale_.h: Likewise.
+       * lib/math_.h: Likewise.
+       * lib/netinet_in_.h: Likewise.
+       * lib/search_.h: Likewise.
+       * lib/signal_.h: Likewise.
+       * lib/stdint_.h: Likewise.
+       * lib/stdio_.h: Likewise.
+       * lib/stdlib_.h: Likewise.
+       * lib/string_.h: Likewise.
+       * lib/sys_select_.h: Likewise.
+       * lib/sys_socket_.h: Likewise.
+       * lib/sys_stat_.h: Likewise.
+       * lib/sys_time_.h: Likewise.
+       * lib/sysexits_.h: Likewise.
+       * lib/time_.h: Likewise.
+       * lib/unistd_.h: Likewise.
+       * lib/wchar_.h: Likewise.
+       * lib/wctype_.h: Likewise.
+
+2007-05-29  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
+       for the moment.
+
+2007-05-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
+       invocation.
+       Reported by Eric Blake.
+
+2007-05-29  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
+       compiling case.
+
+2007-05-29  Eric Blake  <ebb9@byu.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
+       cross compiles.
+
+2007-05-28  Eric Blake  <ebb9@byu.net>
+
+       * modules/closein-tests (test_closein_LDADD): Support test on
+       cygwin with libtool.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
+       * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
+       * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
+       * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
+       * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
+       * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
+       * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
+       * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
+       * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
+
+2007-05-28  Eric Blake  <ebb9@byu.net>
+
+       Unconditionally include <config.h> in unit tests.
+       * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
+       * tests/test-allocsa.c, tests/test-arcfour.c,
+       tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
+       tests/test-array_list.c, tests/test-array_oset.c,
+       tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
+       test-avltreehash_list.c, test-base64.c, test-binary-io.c,
+       test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
+       test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
+       test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
+       test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
+       test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
+       test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
+       test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
+       test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
+       test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
+       test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
+       test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
+       test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
+       test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
+       test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
+       test-md5.c, test-memmem.c, test-printf-posix.c,
+       test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
+       test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
+       test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
+       test-strcasestr.c, test-striconv.c, test-striconveh.c,
+       test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
+       test-vasnprintf-posix2.c, test-vasnprintf.c,
+       test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
+       test-vfprintf-posix.c, test-vprintf-posix.c,
+       test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
+       test-xvasprintf.c: Likewise.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * gnulib-tool (func_import): Remember the --with-tests command-line
+       option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
+       Reported by Eric Blake.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/ftell-tests: New file.
+       * tests/test-ftell.c: New file, based on tests/test-ftello.c.
+       * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
+
+       * lib/ftell.c: New file.
+       * modules/ftell: New file.
+       * m4/ftell.m4: New file.
+       * doc/functions/ftell.texi: Update.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
+       REPLACE_FTELL.
+       * lib/stdio_.h (rpl_ftell): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
+       REPLACE_FTELL.
+
+2007-05-28  Eric Blake  <ebb9@byu.net>
+
+       * lib/allocsa.h (safe_alloca): Avoid compiler warning.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * modules/fseek-tests: New file.
+       * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
+       * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
+
+       * lib/fseek.c: New file.
+       * modules/fseek: New file.
+       * m4/fseek.m4: New file.
+       * doc/functions/fseek.texi: Update.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
+       REPLACE_FSEEK.
+       * lib/stdio_.h (rpl_fseek): New declaration.
+       * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
+       REPLACE_FSEEK.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio_.h (fflush): More comments.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
+       runtime test.
+
+2007-05-28  Eric Blake  <ebb9@byu.net>
+
+       Improve lseek module.
+       * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
+       * lib/unistd_.h (lseek): Scale back link warning message.
+       * tests/test-lseek.c: Beef up test.
+       * tests/test-lseek.sh: Exercise more facets of lseek.
+       Reported by Bruno Haible.
+
+2007-05-28  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-unistd.c: Test all the types that <unistd.h> is expected
+       to define.
+
+2007-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
+
+2007-05-27  Bruno Haible  <bruno@clisp.org>
+
+       * modules/openmp: New file.
+       * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
+       Noah Misch.
+
+2007-05-26  Bruno Haible  <bruno@clisp.org>
+
+       * modules/chdir-long (Depends-on): Add fchdir.
+       * modules/chdir-safer (Depends-on): Likewise.
+       * modules/fts (Depends-on): Likewise.
+       * modules/fts-lgpl (Depends-on): Likewise.
+       * modules/openat (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+
+2007-05-24  Eric Blake  <ebb9@byu.net>
+
+       Fix lseek on mingw.
+       * modules/lseek: New module.
+       * m4/lseek.m4: New file.
+       * lib/lseek.c: New file.
+       * modules/lseek-tests: New file.
+       * tests/test-lseek.c: New file.
+       * tests/test-lseek.sh: New file.
+       * MODULES.html.sh: Document lseek module.
+       * modules/fflush (Depends-on): Add lseek, fseeko.
+       * modules/fseeko (Depends-on): Likewise.
+       * modules/ftello (Depends-on): Likewise.
+       * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
+       broken.
+       * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
+       broken.
+       * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
+       * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
+       * lib/ftello.c (rpl_ftello): Likewise.
+       * tests/test-fseeko.c (main): Test this.
+       * tests/test-fseeko.sh: Likewise.
+       * tests/test-ftello.c (main): Likewise.
+       * tests/test-ftello.sh: Likewise.
+       * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
+       implies replacing fseek.
+       * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
+       HAVE_FTELLO.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
+       * modules/unistd (Makefile.am): Likewise.
+       * lib/unistd_.h (lseek): Declare a replacement.
+       * doc/functions/lseek.texi (lseek): Document this fix.
+       * doc/functions/fseek.texi (fseek): Likewise.
+       * doc/functions/ftell.texi (ftell): Likewise.
+
+2007-05-24  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
+       in the printed representation of a NaN.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * tests/test-snprintf-posix.h (test_function): Likewise.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       Reported by Eric Blake.
+
+2007-05-23  Eric Blake  <ebb9@byu.net>
+
+       Fix fseeko/ftello on cygwin 1.5.24.
+       * doc/functions/fseeko.texi (fseeko): Document the fix.
+       * doc/functions/ftello.texi (ftello): Document the fix.
+       * doc/functions/stdin.texi (stdin): Document the cygwin bug.
+       * doc/functions/stdout.text (stdout): New file.
+       * doc/functions/stderr.text (stderr): New file.
+       * doc/gnulib.texi (Function Substitutes): Use new files.
+       * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
+       prior to 1.7.0.
+       * tests/test-ftello.c (main): Likewise for ftello.
+       * tests/test-fseeko.sh: New file.
+       * tests/test-ftello.sh: New file.
+       * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
+       with seekable stdin.
+       * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
+       * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
+       (gl_REPLACE_FSEEKO): New macro.
+       * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
+       * modules/fseeko (Files): Distribute fseeko.c.
+       * modules/ftello (Files): Distribute ftello.c.
+       * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
+       mode.
+       * lib/ftello.c (rpl_ftello): New file.
+       * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
+       fseeko, ftello.
+       (gl_STDIN_LARGE_OFFSET): New macro.
+       * modules/stdio (Makefile.am): Perform the replacement.
+       * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
+
+2007-05-23  Bruno Haible  <bruno@clisp.org>
+
+       * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
+       GNULIB_POSIXCHECK is defined.
+
+2007-05-21  Bruno Haible  <bruno@clisp.org>
+
+       * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
+       Check also the output for NaN arguments. When cross-compiling, guess
+       no on IRIX.
+       * lib/vasnprintf.c: Update comments.
+       * tests/test-vasnprintf-posix.c (strisnan): New function.
+       (test_function): Use it.
+       * tests/test-vasprintf-posix.c (strisnan): New function.
+       (test_function): Use it.
+       * tests/test-snprintf-posix.h (strisnan): New function.
+       (test_function): Use it.
+       * tests/test-sprintf-posix.h (strisnan): New function.
+       (test_function): Use it.
+       Reported by Eric Blake.
+
+2007-05-20  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
+       numbers that fails on BeOS.
+       * doc/functions/frexpl.texi: Update.
+
+2007-05-20  Jim Meyering  <jim@meyering.net>
+
+       * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
+       forced upon us by glibc-2.6.
+
+2007-05-20  Bruno Haible  <bruno@clisp.org>
+
+       Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
+       * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
+       (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
+       * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
+       NEED_PRINTF_INFINITE.
+       (is_infinitel): New function.
+       (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
+       * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
+       gl_PREREQ_VASNPRINTF_INFINITE.
+       (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
+       * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
+       gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
+       gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
+       gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
+       gl_PREREQ_VASNPRINTF_INFINITE.
+       * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
+       * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
+       * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
+       * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
+       * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
+       * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
+       * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
+       * doc/functions/fprintf.texi: Update.
+       * doc/functions/printf.texi: Update.
+       * doc/functions/snprintf.texi: Update.
+       * doc/functions/sprintf.texi: Update.
+       * doc/functions/vfprintf.texi: Update.
+       * doc/functions/vprintf.texi: Update.
+       * doc/functions/vsnprintf.texi: Update.
+       * doc/functions/vsprintf.texi: Update.
+
+2007-05-20  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
+       was not found in libc.
+       * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
+
+2007-05-20  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
+       printed as "-nan" instead of "nan".
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * tests/test-snprintf-posix.h (test_function): Likewise.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       Needed for HP-UX 11.
+
+2007-05-20  Jim Meyering  <jim@meyering.net>
+
+       Fix buggy test for the fchownat-deref bug.
+       * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
+       symlink required for the run-test.  Without it, this test would
+       always declare that fchownat doesn't work, and client code would
+       unnecessarily use the replacement function with fixed libc.
+       (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
+       Reported by Greg Schafer.
+
+2007-05-19  Bruno Haible  <bruno@clisp.org>
+
+       * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
+       (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
+       * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
+       Needed for IRIX 6.5 and Solaris 2.5.1.
+
+2007-05-19  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
+       (test_function): Skip tests involving -0.0 on platforms where
+       -0.0 = 0.0.
+       * tests/test-vasprintf-posix.c (have_minus_zero): New function.
+       (test_function): Skip tests involving -0.0 on platforms where
+       -0.0 = 0.0.
+       * tests/test-snprintf-posix.h (have_minus_zero): New function.
+       (test_function): Skip tests involving -0.0 on platforms where
+       -0.0 = 0.0.
+       * tests/test-sprintf-posix.h (have_minus_zero): New function.
+       (test_function): Skip tests involving -0.0 on platforms where
+       -0.0 = 0.0.
+       * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
+       tests.
+       * tests/test-printf-posix.h (test_function): Likewise.
+       * tests/test-printf-posix.output: Remove all -0.0 related results.
+       Needed for IRIX 6.5.
+
+2007-05-19  Bruno Haible  <bruno@clisp.org>
+
+       * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
+       printed as "nan0x7fffffff" instead of "nan".
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * tests/test-snprintf-posix.h (test_function): Likewise.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-fprintf-posix.h (NaN): Remove macro.
+       (test_function): Remove all NaN related tests.
+       * tests/test-printf-posix.h (NaN): Remove macro.
+       (test_function): Remove all NaN related tests.
+       * tests/test-printf-posix.output: Remove all NaN related results.
+       Needed for IRIX 6.5.
+
+2007-05-19  Bruno Haible  <bruno@clisp.org>
+
+       * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
+       * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
+
 2007-05-19  Bruno Haible  <bruno@clisp.org>
 
        * lib/float_.h: New file.
 
        * lib/utimens.c (gl_futimens): Rename from futimens,
        now that glibc-2.6 declares futimens.
+       * lib/utimens.h: Likewise.
 
 2007-05-19  Bruno Haible  <bruno@clisp.org>