+2009-11-22 Bruno Haible <bruno@clisp.org>
+
+ locale: Make locale_t available when possible.
+ * lib/locale.in.h: Include <xlocale.h> when it exists.
+ * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
+ replace <locale.h> if it does not define locale_t but <xlocale.h> does.
+ * modules/locale (Depends-on): Add extensions.
+ (Makefile.am): Also substitute HAVE_XLOCALE_H.
+ * doc/posix-headers/locale.texi: Document the problem with locale_t.
+
+2009-11-22 Bruno Haible <bruno@clisp.org>
+
+ Add comments.
+ * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
+ invocation.
+ * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
+ * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
+ * m4/wchar.m4 (gl_WCHAR_H): Likewise.
+
+2009-11-22 Bruno Haible <bruno@clisp.org>
+
+ error: account for the possibility of freopen (stdout).
+ * lib/error.c: Include <unistd.h>.
+ (flush_stdout): New function, extracted from error and error_at_line.
+ Determine stdout's fd dynamically.
+ (error, error_at_line): Invoke flush_stdout.
+ * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
+ * modules/error (Depends-on): Add unistd.
+
+2009-11-22 Bruno Haible <bruno@clisp.org>
+
+ diffseq: Add comment.
+ * lib/diffseq.h (IF_LINT): Add comment about pitfall.
+
+2009-11-22 Jim Meyering <meyering@redhat.com>
+
+ c-stack: avoid defining an unused static function
+ * lib/c-stack.c (find_stack_direction): Do not define this function
+ when it will not be used.
+
+ diffseq: avoid spurious gcc warnings
+ * lib/diffseq.h (IF_LINT2): Define.
+ (compareseq): Use it to initialize two members of "part".
+ This avoids two used-uninitialized warnings.
+
+2009-11-21 Jim Meyering <meyering@redhat.com>
+
+ c-stack: avoid "ignoring return value of `write'" warning
+ * lib/c-stack.c: Include "ignore-value.h".
+ (die): Explicitly ignore each write return value.
+ * modules/c-stack (Depends-on): Add ignore-value.
+
+2009-11-21 Bruno Haible <bruno@clisp.org>
+
+ diffseq: reduce scope of variable 'best'.
+ * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
+ variable, earlier used for two different purposes.
+
+2009-11-21 Jim Meyering <meyering@redhat.com>
+
+ diffseq: remove useless assignment to "best"
+ * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
+ assignment. At that point "best" is already guaranteed to be zero.
+
+2009-11-20 Eric Blake <ebb9@byu.net>
+
+ build: mention ftp redirector in release announcements
+ * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
+ values that used to come from cfg.mk; mention FTP redirect URL.
+ * build-aux/announce-gen: Mention the mirror list.
+ Suggested by Karl Berry.
+
+ nanosleep: improve port to mingw
+ * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
+ LIB_NANOSLEEP, but only when needed.
+ * modules/select (Link): Document LIBSOCKET.
+ * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
+ enough.
+
+ nanosleep: work around cygwin bug
+ * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
+ Fix logic bug when nanosleep fails. Work around cygwin 1.5.x
+ bug.
+ (getnow): Delete, not needed.
+ * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
+ LIB_CLOCK_GETTIME.
+ * modules/nanosleep (Depends-on): Add intprops and verify. Drop
+ clock-time, gettime.
+ * doc/posix-functions/nanosleep.texi (nanosleep): Document the
+ bug.
+ * modules/nanosleep-tests: New test.
+ * tests/test-nanosleep.c: New file.
+
+ sleep: work around cygwin bug
+ * lib/sleep.c (rpl_sleep): Work around the bug.
+ * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
+ (gl_PREREQ_SLEEP): Delete unused macro.
+ * modules/sleep (Depends-on): Add verify.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
+ * modules/unistd (Makefile.am): Substitute witness.
+ * lib/unistd.in.h (sleep): Update prototype.
+ * doc/posix-functions/sleep.texi (sleep): Document the bug.
+ * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
+ * modules/sleep-tests (Depends-on): Check for alarm.
+
+2009-11-20 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: improve sc_prohibit_magic_number_exit
+ * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
+ so it does not match uses like System.exit(1).
+ Add comments showing how to correct all offenders.
+
+2009-11-19 Eric Blake <ebb9@byu.net>
+
+ xalloc-die-tests: add missing library
+ * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
+
+ test-xvasprintf: silence compiler warnings
+ * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
+ empty string from gcc.
+
+2009-11-19 Jim Meyering <meyering@redhat.com>
+
+ xfreopen: new module, from coreutils
+ * modules/xfreopen: New module.
+ * lib/xfreopen.c: New file.
+ * lib/xfreopen.h: New file.
+ * MODULES.html.sh (File stream based Input/Output"): Add it.
+
+2009-11-19 Eric Blake <ebb9@byu.net>
+
+ manywarnings: depend on warnings
+ * modules/manywarnings (Depends-on): Add warnings.
+
+ build: avoid compiler warnings
+ * lib/select.c (rpl_select): Delete unused variable.
+ * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
+
+2009-11-18 Eric Blake <ebb9@byu.net>
+
+ tests: avoid false negative with --with-packager
+ * tests/test-version-etc.sh: Discard packager information.
+ * tests/test-argp-version-etc-1.sh: Likewise.
+ Reported by Mike Frysinger.
+
+ utimens: fix regression on Solaris
+ * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
+ * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
+ can only change fd timestamps via futimesat. Instead, use an
+ additional witness macro to avoid BSD bug.
+ Reported by Jim Meyering.
+
+2009-11-17 Eric Blake <ebb9@byu.net>
+
+ usleep: use it to simplify tests
+ * modules/stat-time-tests (Depends-on): Add usleep.
+ (configure.ac): Drop usleep check.
+ * modules/chown-tests (Depends-on, configure.ac): Likewise.
+ * modules/lchown-tests (Depends-on, configure.ac): Likewise.
+ * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
+ * modules/futimens-tests (Depends-on, configure.ac): Likewise.
+ * modules/openat-tests (Depends-on, configure.ac): Likewise.
+ * modules/utimens-tests (Depends-on, configure.ac): Likewise.
+ * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
+ * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
+ Likewise.
+ * tests/test-chown.h (nap): Rely on nicer usleep semantics.
+ * tests/test-lchown.h (nap): Likewise.
+ * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
+ * tests/test-stat-time.c (nap): Likewise.
+ * tests/test-utimens-common.h (nap): Update comments.
+
+ usleep: new module
+ * modules/usleep: New file.
+ * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
+ * lib/usleep.c (usleep): Likewise.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
+ * modules/unistd (Makefile.am): Substitute witnesses.
+ * lib/unistd.in.h (usleep): Add declaration.
+ * doc/pastposix-functions/usleep.texi (usleep): Document this.
+ * MODULES.html.sh (Date and time): Likewise.
+ * modules/usleep-tests (Depends-on): New test.
+ * tests/test-usleep.c: New file.
+
+ chown: work around OpenBSD bug
+ * lib/chown.c (rpl_chown): Work around the bug.
+ * lib/lchown.c (rpl_lchown): Attempt to do likewise.
+ * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
+ * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
+ * modules/chown (Depends-on): Add stdbool.
+ * modules/lchown (Depends-on): Likewise.
+ * doc/posix-functions/chown.texi (chown): Document the bug.
+ * doc/posix-functions/lchown.texi (lchown): Likewise.
+ * tests/test-lchown.h (test_chown): Relax test.
+
+ mkstemp: avoid conflict with C++ keyword template
+ * lib/mkdtemp.c (mkdtemp): Change spelling of template.
+ * lib/mkostemp.c (mkostemp): Likewise.
+ * lib/mkostemps.c (mkostemps): Likewise.
+ * lib/mkstemp.c (mkstemp): Likewise.
+ * lib/mkstemps.c (mkstemps): Likewise.
+
+ xalloc-die-tests: optimize
+ * tests/test-xalloc-die.sh: Reduce number of processes.
+
+2009-11-17 Simon Josefsson <simon@josefsson.org>
+
+ * gnulib-tool: Support LGPLv3+ licenses in module files. Tiny
+ patch from ludo@gnu.org (Ludovic Courtès).
+
+2009-11-17 Jim Meyering <meyering@redhat.com>
+
+ version-etc: use proper license string
+ * modules/version-etc (License): Use LGPL, not LGPLv3+.
+ * modules/version-etc-fsf: Likewise.
+
+2009-11-17 Simon Josefsson <simon@josefsson.org>
+
+ * tests/test-xalloc-die.sh: Add license. Check that nothing is
+ printed to stdout. Deal with EOL differences.
+
+2009-11-17 Eric Blake <ebb9@byu.net>
+
+ unsetenv: work around Solaris bug
+ * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
+ * lib/unsetenv.c (rpl_unsetenv): Work around it.
+ Reported by Jim Meyering.
+
+ vasnprintf: avoid compiler warnings
+ * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
+ variables.
+ * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
+
+2009-11-17 Simon Josefsson <simon@josefsson.org>
+
+ * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
+ settings since xalloc-die is no longer the self test,
+ xalloc-die.sh is.
+
+2009-11-17 Jim Meyering <meyering@redhat.com>
+
+ test-xalloc-die.sh: make the code agree with the commit log
+ * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
+ at the end, just in case you happen to have a test-xalloc-die
+ program in some other PATH directory.
+
+ test-xalloc-die.sh: fix a portability bug
+ * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
+ Instead, set PATH to start with "." and invoke via "test-xalloc-die".
+ Otherwise, argv[0] (as often seen in diagnostics) would be too
+ system-dependent, sometimes with, and sometimes without the leading "./".
+
+ version-etc-fsf: relax license to LGPLv3+
+ * modules/version-etc-fsf (License): Relax license.
+
+2009-11-16 Eric Blake <ebb9@byu.net>
+
+ xalloc-die-tests: avoid printing null pointer
+ * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
+ shell script.
+ * tests/test-xalloc-die.c (program_name): Declare.
+ * tests/test-xalloc-die.sh (tmpfiles): New file.
+
+ setenv, unsetenv: work around various bugs
+ * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
+ (setenv) [HAVE_SETENV]: Work around bugs.
+ * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
+ * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
+ for bugs.
+ (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
+ * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
+ * modules/stdlib (Makefile.am): Update substitutions.
+ * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
+ * doc/posix-functions/setenv.texi (setenv): Document the bugs.
+ * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
+ * modules/setenv-tests: New test.
+ * modules/unsetenv-tests: Likewise.
+ * tests/test-setenv.c: New file.
+ * tests/test-unsetenv.c: Likewise.
+
+2009-11-16 Jim Meyering <meyering@redhat.com>
+
+ version-etc: relax license to LGPLv3+
+ * modules/version-etc (License): Relax license.
+
+ better AC_REQUIRE expanded-before-required-warning avoidance
+ * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
+ with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
+ Suggested by Eric Blake. This change also reverts commit 1b712ba8,
+ which is no longer needed.
+
+2009-11-16 Eric Blake <ebb9@byu.net>
+
+ test-freading: clean up temporary file
+ * tests/test-freading.c (main): Remove file on success, and use
+ ASSERT more liberally.
+ Reported by Jim Meyering.
+
+2009-11-16 Jim Meyering <meyering@redhat.com>
+
+ avoid new AC_REQUIRE expanded-before-required warnings
+ * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
+ merely using it.
+ * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
+ * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
+
+2009-11-15 Simon Josefsson <simon@josefsson.org>
+
+ * tests/test-xalloc-die.c: New file.
+ * modules/xalloc-die-tests: New file.
+ * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
+ XFAIL_TESTS so it can be appended by modules.
+
+2009-11-15 Simon Josefsson <simon@josefsson.org>
+
+ * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898. Reported
+ by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
+
2009-11-14 Eric Blake <ebb9@byu.net>
+ fnmatch: avoid compiler warning
+ * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
+ to silence compiler warning about mismatch signedness in ?:.
+ Reported by Robert Millan.
+
+ intprops: add double-inclusion guard
+ * lib/intprops.h: Allow idempotent includes.
+ Suggested by Bruce Korb.
+
+ openat: detect Solaris fchownat bug
+ * lib/fchownat.c (rpl_fchownat): Work around Solaris bug. Avoid
+ penalizing glibc chownat when only lchownat is broken.
+ * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
+ trailing slash bugs.
+ * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
+ * modules/openat-tests (Files): Include more files.
+ (Depends-on): Add mgetgroups, sleep, stat-time.
+ (configure.ac): Add additional checks.
+ (Makefile.am): Build new test.
+ * tests/test-fchownat.c: New file.
+
lchown: detect Solaris and FreeBSD bug
* lib/lchown.c (rpl_lchown): Work around bug.
* m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.