modules/memchr (Depends-on): Drop getpagesize dependency.
[gnulib.git] / ChangeLog
index 9b05c4e..997a759 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,908 @@
+2009-11-06  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/memchr (Depends-on): Drop getpagesize dependency.
+
+2009-11-06  Simon Josefsson  <simon@josefsson.org>
+
+       * build-aux/pmccabe2html: Disable execute bit.  Suggested by
+       Reported by Ludovic Courtès.
+       * build-aux/pmccabe2html: Improve example usage.
+       * build-aux/pmccabe2html: Drop #! header.  Doc fix.
+
+2009-11-06  Jim Meyering  <meyering@redhat.com>
+
+       do-release-commit-and-tag: New module.
+       Automate the release-commit and tag process.
+       * build-aux/do-release-commit-and-tag: New script, from coreutils.
+       * modules/do-release-commit-and-tag: New file.
+       * MODULES.html.sh (Support for maintaining and releasing): Add it.
+
+2009-11-06  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
+       because test-select.c uses inet_pton.
+
+2009-11-06  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
+       GETADDRINFO_LIB.  Bump serial number.
+       * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
+       Suggested by Eric Blake <ebb9@byu.net>.
+
+2009-11-05  Eric Blake  <ebb9@byu.net>
+
+       strtod: detect darwin bug
+       * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
+       Reported by Leo Davis.
+
+       freopen-safer: new module
+       * modules/freopen-safer: New module.
+       * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
+       * lib/freopen-safer.c (freopen_safer): New file.
+       * lib/stdio-safer.h (freopen_safer): New declaration.
+       * lib/stdio--.h (freopen): New override.
+       * MODULES.html.sh (File stream based Input/Output): Mention it.
+       * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
+       freopen-safer module.
+       * doc/posix-functions/stderr.texi (stderr): Likewise.
+       * doc/posix-functions/stdin.texi (stdin): Likewise.
+       * doc/posix-functions/stdout.texi (stdout): Likewise.
+       * modules/freopen-safer-tests: New test.
+       * tests/test-reopen-safer.c: New file.
+
+2009-11-05  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: Prohibit inclusion of "close-stream.h" without use.
+       * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
+
+2009-11-05  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
+
+2009-11-05  Simon Josefsson  <simon@josefsson.org>
+
+       * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
+
+2009-11-05  Simon Josefsson  <simon@josefsson.org>
+
+       Fix link error.
+       * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
+       * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
+
+2009-11-05  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-func.c: Also test value of __func__.
+
+2009-11-05  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
+       may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
+
+2009-11-05  Bruno Haible  <bruno@clisp.org>
+
+       Fix link error.
+       * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
+       * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
+       Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
+
+2009-11-05  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'inet_pton'.
+       * modules/inet_pton-tests: New file.
+       * tests/test-inet_pton.c: New file.
+
+2009-11-05  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'inet_ntop'.
+       * modules/inet_ntop-tests: New file.
+       * tests/test-inet_ntop.c: New file.
+
+2009-11-04  Eric Blake  <ebb9@byu.net>
+
+       stdlib-safer: wrap all mkstemp variants
+       * modules/mkostemp (configure.ac): Set witness.
+       * modules/mkostemps (configure.ac): Likewise.
+       * modules/mkstemps (configure.ac): Likewise.
+       * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
+       (mkstemps_safer): Wrap more functions.
+       * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
+       wrapping.
+       * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
+       (mkstemps_safer): Implement the wrappers.
+
+       mkstemps, mkostemps: new modules
+       * modules/mkostemps: New module.
+       * modules/mkstemps: Likewise.
+       * lib/mkostemps.c (mkostemps): New file.
+       * lib/mkstemps.c (mkstemps): Likewise.
+       * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
+       * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
+       * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
+       * modules/stdlib (Makefile.am): Substitute them.
+       * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
+       * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
+       * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
+       * doc/gnulib.texi (Glibc stdlib.h): Include them.
+       * MODULES.html.sh (File system functions): Mention them.
+
+       tempname: resync from glibc
+       * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
+       same values for __GT_FILE as glibc.  Abort even when assertions
+       are disabled.
+       * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
+       match its value otherwise.  Allow idempotent inclusion.
+       * lib/mkdtemp.c (mkdtemp): Adjust caller.
+       * lib/mkostemp.c (mkostemp): Likewise.
+       * lib/mkstemp.c (mkstemp): Likewise.
+       * lib/tmpfile.c (tmpfile): Likewise.
+       * NEWS: Document this.
+
+       utimens: fix use of futimens on older Linux
+       * lib/utimens.c (fdutimens): Use updated, rather than original,
+       timespec to avoid bug in older Linux kernel.
+       Reported by Simon Josefsson.
+
+2009-11-04  Bruno Haible  <bruno@clisp.org>
+
+       Make num_processors more flexible and consistent.
+       * lib/nproc.h (enum nproc_query): New type.
+       (num_processors): Add a 'query' argument.
+       * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
+       (num_processors): Add a 'query' argument. Test the value of the
+       OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
+       mingw, count the number of CPUs available for the current process.
+       * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
+       Check for sched_getaffinity and sched_getaffinity_np.
+       * modules/nproc (Depends-on): Add c-ctype, extensions.
+       * NEWS: Mention the change.
+
+2009-11-03  Bruno Haible  <bruno@clisp.org>
+
+       * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
+
+2009-11-03  Jim Meyering  <meyering@redhat.com>
+
+       test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
+       * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
+       if it is defined.
+
+2009-11-02  Eric Blake  <ebb9@byu.net>
+
+       mktime, timegm: share common declaration
+       * lib/mktime-internal.h: New file.
+       * lib/mktime.c: Use it rather than open-coding a declaration.
+       * lib/timegm.c: Likewise.
+       * modules/mktime (Files): Ship it.
+       * modules/timegm (Files): Likewise.
+       Suggested by Bruno Haible.
+
+       test-update-copyright: update test to match script changes
+       * tests/test-update-copyright.sh: Avoid hard-coding perl
+       location.  Don't update *.bak created by earlier runs.
+
+2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
+           Simon Josefsson  <simon@josefsson.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       Fix link error on Solaris 8.
+       * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
+       also in libnsl. Define also INET_PTON_LIB.
+       * modules/inet_pton (Link): New section.
+
+2009-11-02  Simon Josefsson  <simon@josefsson.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
+       * modules/inet_ntop (Link): New section.
+       Reported by Boyan Kasarov <bkasarov@gmail.com>.
+
+2009-11-02  Eric Blake  <ebb9@byu.net>
+
+       maint: avoid compiler warnings in m4 macros
+       * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
+       * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
+
+2009-11-02  Simon Josefsson  <simon@josefsson.org>
+
+       * m4/pmccabe2html.m4: Remove file.
+       * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
+       function.  Change maintainer.
+       * build-aux/pmccabe2html: Use /bin/sh with magic instead of
+       hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
+       Courtès).
+
+2009-10-31  Eric Blake  <ebb9@byu.net>
+
+       fseeko: fix m4 regression
+       * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
+       regression from 2009-10-27.
+       Reported by Ralf Wildenhues.
+
+2009-10-31  Jim Meyering  <meyering@redhat.com>
+
+       inttostr: aesthetics and improved (compile-time) safety
+       Define inttype_is_signed rather than inttype_is_unsigned,
+       since the sole use is via "#if inttype_is_signed".
+       * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
+       inttype_is_unsigned.
+       * lib/offtostr.c (inttype_is_signed): Likewise.
+       * lib/uinttostr.c (inttype_is_signed): Likewise.
+       * lib/umaxtostr.c (inttype_is_signed): Likewise.
+       * lib/inttostr.c (inttostr): Use verify to cross-check the
+       inttype_is_signed value and the signedness of the actual type.
+       * modules/inttostr (Depends-on): Add verify.
+
+2009-10-30  Eric Blake  <ebb9@byu.net>
+
+       build: avoid compiler warnings
+       * lib/fchmodat.c (lchmod): Mark unused variables.
+       * lib/getopt.c (_getopt_initialize): Likewise.
+       * lib/mktime.c (__mktime_internal): Provide prototype.
+       * lib/inttostr.c (inttostr): Avoid compiler warning even with
+       older gcc that do not understand #pragma GCC diagnostic.
+       * lib/uinttostr.c (inttype_is_unsigned): Define.
+       * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
+
+2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
+
+       stat: fix compilation on AIX
+       * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
+       only see struct stat64.
+
+2009-10-30  Eric Blake  <ebb9@byu.net>
+
+       exclude: make more robust
+       * lib/exclude.c (excluded_file_name): Abort on unexpected value,
+       rather than masking a coding bug.
+       Suggested by Bruno Haible.
+
+2009-10-30  Jim Meyering  <meyering@redhat.com>
+
+       perl scripts: remove #!/usr/bin/perl in favor of more portable...
+       Rather than putting #!/usr/bin/perl on the first line,
+       start with a variant of what's recommended by "man perlrun" that
+       invokes the first "perl" program from your shell's search path.
+       * build-aux/gitlog-to-changelog: Replace #!... as above.
+       Add a "Local Variables" perl mode setting.
+       Prompted by a patch from Ludovic Courtès.
+       Improved by Eric Blake.
+       * build-aux/useless-if-before-free: Likewise.
+       * build-aux/announce-gen: Likewise.
+       * build-aux/update-copyright: Likewise.
+
+2009-10-29  Eric Blake  <ebb9@byu.net>
+
+       filenamecat-lgpl: adjust clients
+       * modules/linkat (Depends-on): Use filenamecat-lgpl, not
+       filenamecat.
+       * modules/renameat (Depends-on): Likewise.
+
+       filenamecat: split into filenamecat-lgpl
+       * modules/filenamecat-lgpl: New module.
+       * modules/filenamecat (Files): Move library-safe files into
+       filenamecat-lgpl.
+       (Depends-on): Add filenamecat-lgpl.
+       (configure.ac): Declare witness.
+       * lib/filenamecat.h (file_name_concat): Only declare when using
+       GPL module.
+       * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
+       Move...
+       * lib/filenamecat-lgpl.c: ...into new file.
+       * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
+       (gl_FILE_NAME_CONCAT): Use it.
+       * MODULES.html.sh (File system functions): Mention new module.
+
+       argp: avoid memory leak
+       * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
+       * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
+       base_name, since the latter malloc()s and can call exit().
+       Leak introduced 2006-07-03.
+
+       dirname-lgpl: adjust clients that don't need full dirname
+       * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
+       * modules/filenamecat (Depends-on): Likewise.
+       * modules/linkat (Depends-on): Likewise.
+       * modules/mkancesdirs (Depends-on): Likewise.
+       * modules/mkdir (Depends-on): Likewise.
+       * modules/openat (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+       * modules/rename (Depends-on): Likewise.
+       (License): Relax license.
+       * modules/mkdir-tests (Depends-on): Drop progname.
+       (Makefile.am): Delete unneeded LDADD.
+       * modules/rename-tests (Depends-on, Makefile.am): Likewise.
+
+       dirname: split into dirname-lgpl
+       * modules/dirname-lgpl: New module.
+       * modules/dirname (Files): Move library-safe files into
+       dirname-lgpl.
+       (Depends-on): Add dirname-lgpl.
+       (configure.ac): Declare witness.
+       * modules/double-slash-root (License): Relax license.
+       * lib/dirname.h (base_name, dir_name): Only declare when using GPL
+       module.
+       * lib/dirname.c (dir_len, mdir_name): Move...
+       * lib/dirname-lgpl.c: ...into new file.
+       * lib/basename.c (last_component, base_len): Move...
+       * lib/basename-lgpl.c: ...into new file.
+       * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
+       (gl_DIRNAME): Use it.
+       * MODULES.html.sh (Enhancements for POSIX:2008 functions):
+       Mention new module.
+       * modules/dirname-tests (Depends-on): Add progname.
+       * tests/test-dirname.c (program_name): Delete.
+
+       mkdir: make safe for libraries
+       * modules/mkdir (Depends-on): Drop xalloc.
+       * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
+       exit.
+
+       tests: avoid some compiler warnings
+       * tests/test-getaddrinfo.c (simple): Mark static, and allow string
+       literals.
+       * tests/test-memchr.c (main): Avoid type mismatch.
+       * tests/test-arpa_inet.c (main): Avoid unused parameters.
+       * tests/test-base64.c (main): Likewise.
+       * tests/test-getdelim.c (main): Likewise.
+       * tests/test-gethostname.c (main): Likewise.
+       * tests/test-getline.c (main): Likewise.
+       * tests/test-netinet_in.c (main): Likewise.
+       * tests/test-select.c (open_server_socket, main): Likewise.
+       * tests/test-select-stdin.c (main): Likewise.
+       * tests/test-sockets.c (main): Likewise.
+       * tests/test-strsignal.c (main): Likewise.
+       * tests/test-sys_select.c (main): Likewise.
+       * tests/test-sys_socket.c (main): Likewise.
+       * tests/test-u64.c (main): Likewise.
+       * tests/test-xfprintf-posix.c (main): Likewise.
+       * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
+
+       sockets: avoid compiler warning
+       * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
+
+       maint: detect usage(1) and other suspicious exits
+       * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
+
+2009-10-29  Jim Meyering  <meyering@redhat.com>
+
+       timespec: long-to-int truncation could make timespec_cmp malfunction
+       * lib/timespec.h (timespec_cmp): Do not interpret a difference of
+       a multiple of 2^32 nanoseconds as no difference.
+
+2009-10-28  Jim Meyering  <meyering@redhat.com>
+
+       fprintftime: wrap macro code argument in "do {...} while(0)"
+       * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
+       cpy macro must be a statement that can be followed by a semicolon.
+       Now that the else clause contains a comment and is hence longer
+       than one line, I require curly braces.  That in turn requires
+       that we wrap this code block in the standard do...while(0).
+
+       fprintftime: remove stray semicolon from previous change
+       * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
+
+       fprintftime: avoid a warning about ignored fwrite return value
+       * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
+       (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
+       that is unsafe.
+       * modules/fprintftime (Depends-on): Add ignore-value.
+
+       exclude: avoid an unwarranted warning
+       * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
+
+2009-10-27  Eric Blake  <ebb9@byu.net>
+
+       fseek: avoid compilation failure when fflush is replaced
+       * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
+       * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
+       module is in use.
+       * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
+       module is not in use; since REPLACE_FSEEK worked otherwise.
+       (GNULIB_FTELLO): Likewise for ftell.
+       Reported by Ian Beckwith and others.
+
+2009-10-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
+       Reported by Jim Meyering.
+
+2009-10-27  Jim Meyering  <jim@meyering.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       Avoid warning despite dropping the return value of fwrite.
+       * lib/unicodeio.c: Include ignore-value.h.
+       (fwrite_success_callback): Explicitly ignore fwrite's return value.
+       * modules/unicodeio (Depends-on): Add ignore-value.
+
+2009-10-26  Eric Blake  <ebb9@byu.net>
+
+       areadlinkat: fix fallback path
+       * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
+       pointer and zero.
+
+2009-10-22  Pádraig Brady  <P@draigBrady.com>
+
+       Use a better IO block size for modern systems
+       * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
+       * lib/md2.c: Likewise.
+       * lib/md4.c: Likewise.
+       * lib/md5.c: Likewise.
+       * lib/sha1.c: Likewise.
+       * lib/sha256.c: Likewise.
+       * lib/sha512.c: Likewise.
+
+2009-10-22  Eric Blake  <ebb9@byu.net>
+
+       tests: avoid several compiler warnings
+       * tests/test-getcwd.c (main): Avoid buffer underflow.
+       * tests/test-getdate.c (main): String literals are not safe with
+       putenv, so use setenv.  Declare unused argument.
+       * modules/getdate-tests (Depends-on): Add setenv.
+       * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
+       problems with string literals in char *.
+       * tests/test-hash.c (main): Avoid shadowing declaration.
+       (insert_new): Treat string literals as char const *.
+       * tests/test-getopt.h (test_getopt): Likewise.
+       (getopt_loop): Alter types to minimize casting elsewhere.
+       * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
+       (test_getopt_long_posix): Likewise.
+       (do_getopt_long): Add wrapper to minimize casting.
+       * tests/test-atexit.c (clear_temp_file): Use void.
+       * tests/test-areadlink-with-size.c (main): Declare unused
+       arguments.
+       * tests/test-areadlink.c (main): Likewise.
+       * tests/test-areadlinkat-with-size.c (main): Likewise.
+       * tests/test-areadlinkat.c (main): Likewise.
+       * tests/test-canonicalize-lgpl.c (main): Likewise.
+       * tests/test-canonicalize.c (main): Likewise.
+       * tests/test-dirent-safer.c (main): Likewise.
+       * tests/test-dirname.c (main): Likewise.
+       * tests/test-dup2.c (main): Likewise.
+       * tests/test-fchdir.c (main): Likewise.
+       * tests/test-fcntl-h.c (main): Likewise.
+       * tests/test-fcntl-safer.c (main): Likewise.
+       * tests/test-fdopendir.c (main): Likewise.
+       * tests/test-fdutimensat.c (main): Likewise.
+       * tests/test-fflush.c (main): Likewise.
+       * tests/test-filenamecat.c (main): Likewise.
+       * tests/test-filevercmp.c (main): Likewise.
+       * tests/test-fopen-safer.c (main): Likewise.
+       * tests/test-fopen.c (main): Likewise.
+       * tests/test-fpending.c (main): Likewise.
+       * tests/test-fpurge.c (main): Likewise.
+       * tests/test-freading.c (main): Likewise.
+       * tests/test-fstatat.c (main): Likewise.
+       * tests/test-fsync.c (main): Likewise.
+       * tests/test-futimens.c (main): Likewise.
+       * tests/test-getndelim2.c (main): Likewise.
+       * tests/test-gettimeofday.c (main): Likewise.
+       * tests/test-getopt.c (main): Likewise.
+       * tests/test-i-ring.c (main): Likewise.
+       * tests/test-inttypes.c (main): Likewise.
+       * tests/test-link.c (main): Likewise.
+       * tests/test-lstat.c (main): Likewise.
+       * tests/test-math.c (main): Likewise.
+       * tests/test-md5.c (main): Likewise.
+       * tests/test-memchr2.c (main): Likewise.
+       * tests/test-memrchr.c (main): Likewise.
+       * tests/test-mkdir.c (main): Likewise.
+       * tests/test-mkdirat.c (main): Likewise.
+       * tests/test-mkfifoat.c (main): Likewise.
+       * tests/test-open.c (main): Likewise.
+       * tests/test-openat-safer.c (main): Likewise.
+       * tests/test-openat.c (main): Likewise.
+       * tests/test-quotearg.c (main): Likewise.
+       * tests/test-rawmemchr.c (main): Likewise.
+       * tests/test-readlink.c (main): Likewise.
+       * tests/test-remove.c (main): Likewise.
+       * tests/test-rename.c (main): Likewise.
+       * tests/test-renameat.c (main): Likewise.
+       * tests/test-rmdir.c (main): Likewise.
+       * tests/test-sha1.c (main): Likewise.
+       * tests/test-signal.c (main): Likewise.
+       * tests/test-sigaction.c (main): Likewise.
+       * tests/test-stat.c (main): Likewise.
+       * tests/test-stat-time.c (main): Likewise.
+       * tests/test-stddef.c (main): Likewise.
+       * tests/test-stdint.c (main): Likewise.
+       * tests/test-stdio.c (main): Likewise.
+       * tests/test-stdlib.c (main): Likewise.
+       * tests/test-strchrnul.c (main): Likewise.
+       * tests/test-strerror.c (main): Likewise.
+       * tests/test-string.c (main): Likewise.
+       * tests/test-strtod.c (main): Likewise.
+       * tests/test-strverscmp.c (main): Likewise.
+       * tests/test-symlink.c (main): Likewise.
+       * tests/test-symlinkat.c (main): Likewise.
+       * tests/test-sys_stat.c (main): Likewise.
+       * tests/test-sys_time.c (main): Likewise.
+       * tests/test-time.c (main): Likewise.
+       * tests/test-unistd.c (main): Likewise.
+       * tests/test-unlink.c (main): Likewise.
+       * tests/test-unlinkat.c (main): Likewise.
+       * tests/test-utimens.c (main): Likewise.
+       * tests/test-utimensat.c (main): Likewise.
+       * tests/test-version-etc.c (main): Likewise.
+       * tests/test-wchar.c (main): Likewise.
+       * tests/test-wctype.c (main): Likewise.
+       * tests/test-xprintf-posix.c (main): Likewise.
+       * tests/test-posixtm.c (main): Likewise.
+       (STREQ): Delete unused macro.
+       * tests/test-linkat.c (main): Declare unused arguments.  Avoid
+       shadowed variables.
+       * tests/test-memchr.c (main): Likewise.
+
+2009-10-21  Eric Blake  <ebb9@byu.net>
+
+       areadlinkat: avoid failure on older glibc
+       * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
+       rather than mis-comparing 0 against FUNC_RESULT of char*.
+
+2009-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stpncpy (License): Relicense under LGPLv2+.
+       Reported by David Lutterkort <lutter@redhat.com>.
+
+2009-10-20  Eric Blake  <ebb9@byu.net>
+
+       utimensat: work around Solaris 9 bug
+       * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
+       has trailing slash bugs.
+       * tests/test-lutimens.h (test_lutimens): Enhance test.
+       * tests/test-utimens.h (test_utimens): Likewise.
+       * doc/posix-functions/utime.texi (utime): Enhance documentation.
+       * doc/posix-functions/utimes.texi (utimes): Likewise.
+       * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+       * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
+       * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
+       * doc/posix-functions/futimens.texi (futimens): Likewise.
+
+       fdutimensat: new module
+       * modules/fdutimensat: New file.
+       * lib/fdutimensat.c (fdutimensat): Likewise.
+       * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
+       * MODULES.html.sh (File system functions): Mention module.
+       * modules/fdutimensat-tests: New test.
+       * tests/test-fdutimensat.c: Likewise.
+
+       doc: regenerate INSTALL
+       * doc/INSTALL: Reflect recent autoconf update.
+       * doc/INSTALL.ISO: Likewise.
+       * doc/INSTALL.UTF-8: Likewise.
+
+2009-10-20  Pádraig Brady  <P@draigBrady.com>
+
+       acl: warn if ACL support is not detected
+       * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
+
+2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
+
+       * lib/nproc.h: Add extern "C" block for C++.
+
+2009-10-18  Reuben Thomas  <rrt@sc3d.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
+       * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
+       * doc/posix-functions/isalpha.texi: Likewise.
+       * doc/posix-functions/isblank.texi: Likewise.
+       * doc/posix-functions/iscntrl.texi: Likewise.
+       * doc/posix-functions/isdigit.texi: Likewise.
+       * doc/posix-functions/isgraph.texi: Likewise.
+       * doc/posix-functions/islower.texi: Likewise.
+       * doc/posix-functions/isprint.texi: Likewise.
+       * doc/posix-functions/ispunct.texi: Likewise.
+       * doc/posix-functions/isspace.texi: Likewise.
+       * doc/posix-functions/isupper.texi: Likewise.
+       * doc/posix-functions/isxdigit.texi: Likewise.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'isblank'.
+       * modules/isblank-tests: New file.
+       * tests/test-isblank.c: New file.
+
+       New module 'isblank'.
+       * lib/isblank.c: New file.
+       * m4/isblank.m4: New file.
+       * modules/isblank: New file.
+       * doc/posix-functions/isblank.texi: Mention the new module.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       New module 'ctype'.
+       * lib/ctype.in.h: New file.
+       * m4/ctype.m4: New file.
+       * modules/ctype: New file.
+       * doc/posix-headers/ctype.texi: Mention the new module.
+
+2009-10-18  Jim Meyering  <meyering@redhat.com>
+
+       m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
+       Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
+       right after its initialization, rather than farther down.
+       Keeping these in close proximity makes it easier to ensure
+       that each such variable is initialized.  E.g.,
+
+           LIB_CLOCK_GETTIME=
+           AC_SUBST([LIB_CLOCK_GETTIME])
+
+       This change also increments these serial numbers.
+       * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
+       * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Don't let environment variables perturb build.
+       * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
+       (gl_PREREQ_GETHRXTIME): ... not here.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Avoid symlink attack in localcharset module.
+       * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
+       (O_NOFOLLOW): Define fallback.
+       (get_charset_aliases): Don't open the file if it is a symbolic link.
+       * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
+       gl_FCNTL_H.
+       (gl_FCNTL_H): Require it.
+       * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
+       * modules/localcharset (Files): Add m4/fcntl_h.m4.
+       Reported by Fergal Glynn <fglynn@veracode.com>.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Implement nproc for mingw.
+       * lib/nproc.c: Include <windows.h>
+       (num_processors): On native Windows platforms, try GetSystemInfo.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Implement nproc for IRIX.
+       * lib/nproc.c: Include <sys/sysmp.h>.
+       (num_processors): On IRIX systems, try sysmp.
+       * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Implement nproc for HP-UX.
+       * lib/nproc.c: Include <sys/pstat.h>
+       (num_processors): On HP-UX systems, try pstat_getdynamic.
+       * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
+       pstat_getdynamic.
+
+2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
+           Bruno Haible  <bruno@clisp.org>
+
+       Implement nproc for NetBSD, OpenBSD.
+       * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
+       (ARRAY_SIZE): New macro.
+       (num_processors): On BSD systems, try sysctl of HW_NCPU.
+       * m4/nproc.m4: New file.
+       * modules/nproc (Files): Add m4/nproc.m4.
+       (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
+       (Makefile.am): Instead, augment lib_SOURCES.
+
+2009-10-18  Bruno Haible  <bruno@clisp.org>
+
+       Fix recognition of sys/sysctl.h on OpenBSD 4.0.
+       * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
+       sys/param.h.
+
+2009-10-16  Eric Blake  <ebb9@byu.net>
+
+       utimensat: new module
+       * modules/utimensat: New file.
+       * lib/utimensat.c (utimensat): Likewise.
+       * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
+       * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
+       so we can work around Linux bugs.
+       * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
+       * modules/sys_stat (Makefile.am): Substitute them.
+       * lib/sys_stat.in.h (utimensat): Declare it.
+       * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+       * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+       * modules/utimensat-tests: New test.
+       * tests/test-utimensat.c: Likewise.
+
+       utimens: let lutimens work on non-symlinks
+       * lib/utimens.c (lutimens): Fall back to utimens rather than
+       failing with ENOSYS, when file is not a symlink.
+       (utimens): Reduce redirection.
+       * tests/test-lutimens.h (test_lutimens): Update test to cover
+       non-symlinks.
+       * tests/test-utimens.h (test_utimens): Update test to cover
+       symlinks.
+       * tests/test-utimens.c (main): Update caller.
+
+       utimens: cache whether utimensat syscall works
+       * lib/utimens.c (utimensat_works_really): New cache variable.
+       (fdutimens, lutimens): Use it to avoid failing syscall.
+
+       test-stat-time, test-utimens: improve portability
+       * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
+       ext4 on alpha, and for cygwin.
+       * tests/test-utimens-common.h: New file.
+       (nap): Factor delays into single function.
+       * tests/test-lutimens.h (test_lutimens): Use new header.
+       * tests/test-futimens.h (test_futimens): Likewise.
+       * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
+       timestamps to occur from same machine, as was done previously for
+       test_utimens.
+       * modules/utimens-tests (Files): Ship new file.
+       * modules/futimens-tests (Files): Likewise.
+       Reported in part by Jim Meyering.
+
+       sys_stat: sort replacement declarations
+       * lib/sys_stat.in.h: Sort declarations.
+       * lib/futimens.c (futimens): Fix typo.
+
+2009-10-15  Jim Meyering  <meyering@redhat.com>
+
+       don't let environment settings perturb build
+       Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
+       could cause a configure-time and/or build-time malfunction.
+       Typically, a configure-time function-in-library test is performed
+       via code like this:
+
+         LIB_VAR=
+         AC_SUBST([LIB_VAR])
+         prefix_saved_LIBS=$LIBS
+           AC_SEARCH_LIBS([FUNC], [LIB_NAME],
+                      [test "$ac_cv_search_FUNC" = "none required" ||
+                       LIB_VAR=$ac_cv_search_FUNC])
+         LIBS=$prefix_saved_LIBS
+
+       However, in each of the files affected by this change, the LIB_VAR=
+       initialization was omitted.  Thus, when set in the environment, its
+       value would propagate into generated Makefiles when FUNC is not found
+       in LIB_NAME.
+       * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
+       * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
+       * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
+
+2009-10-14  Eric Blake  <ebb9@byu.net>
+
+       fchdir: avoid infinite recursion in mingw
+       * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
+       recursing.
+
+       test-stat-time: port to mingw
+       * tests/test-stat-time.c (force_unlink): Return a value.
+       (test_ctime) [W32]: Fix compilation error.
+       (nap): Don't call usleep with too large an argument.  Use
+       force_unlink.
+       * doc/pastposix-functions/usleep.texi (usleep): Document the
+       portability issue.
+
+2009-10-13  Jim Meyering  <meyering@redhat.com>
+
+       use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
+       * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
+       * modules/pipe-filter-ii: Likewise.
+       * modules/sys_socket-tests: Likewise.
+       * modules/tsearch-tests: Likewise.
+       * Makefile (sc_prefer_ac_check_funcs_once): New rule.
+       (check): Depend on it.
+
+2009-10-12  Eric Blake  <ebb9@byu.net>
+
+       utimens-tests: port to NFS file systems
+       * tests/test-utimens.h (test_utimens): Refactor utimecmp
+       comparisons to avoid spurious failures from timestamp drift
+       between NFS machines.
+
+2009-10-12  Eric Blake  <ebb9@byu.net>
+
+       stat-time-tests: minor cleanups
+       * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
+       * tests/test-stat-time.c (nap): Separate assignment from call.
+       Suggested by Paolo Bonzini and Bruno Haible.
+
+       sys_stat: guarantee struct timespec
+       * lib/sys_stat.in.h (includes): Always include <time.h>
+       * modules/sys_stat (Depends-on): Add time.
+       * tests/test-sys_stat.c: Guarantee struct timespec, as well as
+       mode_t permission values.
+       * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
+       get at subsecond timestamps.
+
+2009-10-10  Eric Blake  <ebb9@byu.net>
+
+       futimens: new module
+       * modules/futimens: New file.
+       * lib/futimens.c (futimens): Likewise.
+       * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
+       * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
+       we can work around Linux bugs.
+       * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
+       * modules/sys_stat (Makefile.am): Substitute them.
+       * lib/sys_stat.in.h (futimens): Declare it.
+       * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+       * doc/posix-functions/futimens.texi (futimens): Likewise.
+       * modules/futimens-tests: New test.
+       * tests/test-futimens.c: Likewise.
+
+       utimens: introduce fdutimens
+       * lib/utimens.h (fdutimens): New prototype.
+       * lib/utimens.c (gl_futimens): Move guts...
+       (fdutimens): ...to new interface.
+       * tests/test-utimens.c (do_fdutimens): Use it.
+
+       utimens: add UTIME_NOW and UTIME_OMIT support
+       * lib/utimens.c (validate_timespec, update_timespec): New helper
+       functions.
+       (gl_futimens, lutimens): Use them.
+       * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
+       stdbool, sys_stat.
+       (Link): Mention resulting library dependency.
+       * modules/utimecmp (Link): Likewise.
+       * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
+       (Makefile.am): Pick up library dependency.
+       * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
+       definition.
+       * tests/test-sys_stat.c: Test the definitions.
+       * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
+       * NEWS: Document library dependency.
+
+       utimecmp: support symlink timestamps
+       * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
+       hashing when possible.  Use pathconf when available.
+       (SYSCALL_RESOLUTION): Recognize tighter resolution.
+       * modules/utimecmp (Depends-on): Add lstat.
+
+       utimens: add lutimens interface
+       * lib/utimens.c (lutimens): New function.
+       * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
+       * lib/utimens.h (lutimens): Declare new interface.
+       * tests/test-utimens.c (main): Enhance test.
+       * tests/test-lutimens.h (test_lutimens): New file.
+       * modules/utimens-tests (Files): Distribute it.
+       (Depends-on): Add symlink.
+       (configure.ac): Check for usleep.
+
+       utimens: validate futimens usage
+       * lib/utimens.c (gl_futimens): Require valid fd up front, using
+       fewer syscalls on failure later on.  Avoid compiler warning on
+       mingw.
+       * modules/utimens (Depends-on): Add dup2.
+
+       utimens: add test
+       * modules/utimens-tests: New test.
+       * tests/test-utimens.h: New file.
+       * tests/test-futimens.h: Likewise.
+       * tests/test-utimens.c: Likewise.
+
+       doc: mention timestamp portability issues
+       * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
+       instead.
+       * doc/posix-functions/utime.texi (utime): Likewise.
+       * doc/posix-functions/utimes.texi (utimes): Likewise.
+       * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
+       instead.
+       * doc/posix-functions/futimens.texi (futimens): Mention utimens
+       module.
+       * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+       Mention weakness with symlink timestamps.
+       * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
+       to utimensat/futimens instead.
+       * doc/gnulib.texi (Glibc sys/time.h): Include new file.
+
+       test-dup2: enhance test
+       * tests/test-dup2.c (main): Also check AT_FDCWD.
+
+       test-stat-time: avoid more spurious failures
+       * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
+       xfs; and avoid race if the two timestamps cross quantization edge.
+
+       relocatable: prefer 'file system' over 'filesystem'
+       * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
+       (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
+       * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
+       * doc/relocatable.texi (Enabling Relocatability): Likewise.
+       * lib/relocatable.c (compute_curr_prefix): Likewise.
+
 2009-10-10  Jim Meyering  <meyering@redhat.com>
 
        stat-time-tests: check for the usleep function
 
 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
-       * lib/argp-version-etc.c (program_authors): Add const
-       qualifier.
-       * lib/version-etc.c: Fix typos in the comments.
-       * modules/argp-version-etc: Depends on version-etc.
+       * lib/argp-version-etc.c (program_authors): Add const
+       qualifier.
+       * lib/version-etc.c: Fix typos in the comments.
+       * modules/argp-version-etc: Depends on version-etc.
 
 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>