+2009-10-05 Eric Blake <ebb9@byu.net>
+
+ quotearg: port test to systems with C.UTF-8 locale
+ * tests/test-quotearg.c (struct result_strings): Add another
+ member, differentiating between C.ASCII and C.UTF-8 handling.
+ (compare_strings): Add parameter.
+ (main): Adjust all callers.
+
+ getopt: avoid clash with FreeBSD _getopt_internal
+ * lib/getopt.in.h (_getopt_internal): Override the name.
+ * lib/getopt_int.h (includes): Pick up any overrides.
+ Reported by Reuben Thomas.
+
+ hash: allow C89 compilation
+ * lib/hash.c (check_tuning): Move declaration before statement.
+ Reported by Reuben Thomas.
+
+2009-10-05 Karl Berry <karl@gnu.org>
+
+ * doc/gnulib.texi: @include execvpe.texi, missing for several days.
+
+2009-10-04 Paolo Bonzini <bonzini@gnu.org>
+ Bruno Haible <bruno@clisp.org>
+
+ * lib/uname.c (uname): Use a table-driver algorithm to compute
+ Windows NT versions.
+
+2009-10-04 Bruno Haible <bruno@clisp.org>
+
+ * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
+ program_invocation_short_name.
+ * modules/progname (configure.ac): Test for presence of
+ program_invocation_short_name.
+ Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
+
+2009-10-04 Bruno Haible <bruno@clisp.org>
+
+ * lib/progname.c (set_program_name): Fix comment.
+ Reported by Jim Meyering.
+
+2009-10-03 Paolo Bonzini <bonzini@gnu.org>
+ Bruno Haible <bruno@clisp.org>
+
+ * lib/uname.c: Include <string.h>.
+ (uname): Do only one call to GetVersionEx in the common case.
+
+2009-10-03 Paolo Bonzini <bonzini@gnu.org>
+ Bruno Haible <bruno@clisp.org>
+
+ * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
+ PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
+ (uname): Add support for Windows CE and various non-x86 CPU types.
+
+2009-10-03 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
+ invocation to tests/configure.ac.
+ Reported by Ian Beckwith <ianb@erislabs.net>.
+
+2009-10-02 Eric Blake <ebb9@byu.net>
+
+ fchdir: avoid compiler warning
+ * lib/fchdir.c (canonicalize_file_name)
+ [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
+
+ test-open: support mingw errno values
+ * tests/test-open.h (test_open): Relax test.
+ * tests/test-fopen.h (test_fopen): Likewise.
+ * tests/test-openat-safer.c (main): Likewise.
+
+ open: fix opening directory on mingw
+ * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
+
+ test-open: on GNU/Hurd, /dev/null is a directory
+ * tests/test-fopen.h (main): Rename...
+ (test_fopen): ...to this. Use a guaranteed non-directory when
+ confirming open behavior on trailing slash.
+ * tests/test-openat-safer.c (main): Likewise.
+ * tests/test-open.h (main): Likewise....
+ (test_open): ...to this.
+ * tests/test-fopen.c (main): Adjust caller.
+ * tests/test-fopen-safer.c (main): Likewise.
+ * tests/test-open.c (main): Likewise.
+ * tests/test-fcntl-safer.c (main): Likewise.
+ Reported by Samuel Thibault.
+
+ rename, fchdir: don't ignore chdir failure
+ * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
+ * lib/rename.c (rpl_rename) [W32]: Likewise.
+ (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
+ an empty destination directory if source cannot be renamed,
+ although there is still possibility for failure.
+ * doc/posix-functions/rename.texi (rename): Document the race.
+ Reported by Jim Meyering.
+
+ maint: cleanup whitespace in recent commits
+ * lib/rename.c (rpl_rename): Remove tabs.
+ * tests/test-link.h (test_link): Likewise.
+ * lib/fchdir.c (get_name): Likewise.
+ Reported by Jim Meyering.
+
+2009-10-02 Ben Pfaff <blp@gnu.org>
+
+ relocatable-prog-wrapper: Add missing dependency on
+ double-slash-root.
+ * modules/relocatable-prog-wrapper: Add dependency.
+ Reported by Ian Beckwith <ianb@erislabs.net>.
+
+2009-10-02 Eric Blake <ebb9@byu.net>
+
+ renameat: fix Solaris bugs
+ * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
+ needed fixing.
+ * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
+ * modules/stdio (Makefile.am): Substitute it.
+ * lib/stdio.in.h (renameat): Declare replacement.
+ * lib/renameat.c (rpl_renameat): Implement fix.
+
+ renameat: new module
+ * modules/renameat: New file.
+ * lib/renameat.c (renameat): Likewise.
+ * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
+ * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
+ * modules/stdio (Makefile.am): Substitute them.
+ * lib/stdio.in.h (renameat): Declare it.
+ * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+ * doc/posix-functions/renameat.texi (renameat): Likewise.
+ * modules/renameat-tests: New test.
+ * tests/test-renameat.c: Likewise.
+
+ rename: fix mingw bugs
+ * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
+ directory overwrite bugs.
+
+ rename: fix another cygwin 1.5 bug
+ * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
+ checks.
+ * lib/rename.c (rpl_rename): Don't penalize NetBSD with
+ unnecessary cygwin workarounds. Also work around bug with moving
+ full directory onto an empty one.
+ * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
+
+ rename-dest-slash: merge into rename module
+ * modules/rename-dest-slash (Status): Mark obsolete.
+ (Depends-on): Add rename.
+ (Files): Let rename do it all.
+ * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
+ subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
+ * m4/rename-dest-slash.m4: ...so this file can be deleted.
+ * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
+ * lib/rename.c (rpl_rename): Update comments.
+
+ rename: fix cygwin 1.5.x bugs
+ * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
+ * lib/rename.c (rpl_rename): Work around them.
+ * modules/rename (Depends-on): Add same-inode.
+
+ rename: fix Solaris 10 bug
+ * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
+ * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
+ was the only bug.
+
+ rename: fix Solaris 9 bug
+ * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
+ on non-directory. Avoid calling exit.
+ * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
+ strdup.
+ * modules/rename-tests (Depends-on): Drop lstat.
+ * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
+ (gl_PREREQ_RENAME): Delete unused macro.
+
+ rename-dest-slash: fix NetBSD bug
+ * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
+ links.
+ * modules/rename-dest-slash (Depends-on): Add same-inode.
+
+ rename-tests: new test, exposes several platform bugs
+ * modules/rename-tests: New file.
+ * tests/test-rename.h: Likewise.
+ * tests/test-rename.c: Likewise.
+ * doc/posix-functions/rename.texi (rename): Improve documentation,
+ including bugs that will eventually be fixed in gnulib.
+
+2009-10-02 Paolo Bonzini <bonzini@gnu.org>
+
+ * lib/uname.c: Include <stdlib.h>
+ (uname): Assume version info is available.
+
+2009-10-02 Jim Meyering <meyering@redhat.com>
+
+ gnu-web-doc-update: correct --help output
+ * build-aux/gnu-web-doc-update: Make --help output relevant.
+
+ gnu-web-doc-update: add standard options
+ * build-aux/gnu-web-doc-update: Add --help, --version, etc.
+
+ gnu-web-doc-update: New module.
+ Use this script to automatically update the on-line web documentation
+ for your GNU project at http://www.gnu.org/software/$pkg/manual/
+ * modules/gnu-web-doc-update: New file, from coreutils.
+ * build-aux/gnu-web-doc-update: New script.
+
+2009-10-01 Paolo Bonzini <bonzini@gnu.org>
+
+ link: LoadLibrary is not needed.
+ * lib/link.c: Use GetModuleHandle.
+
+2009-10-01 Eric Blake <ebb9@byu.net>
+
+ getopt: bump serial number
+ * m4/getopt.m4: Increment serial number, to account for 2009-09-24
+ change.
+
+ tests: tighten link, rmdir, and remove tests
+ * tests/test-link.h (includes): No need to use <config.h> here.
+ Clean up if directory hard link was created, otherwise test for
+ trailing '.'.
+ * tests/test-linkat.c (main): Simplify.
+ * tests/test-remove.c (main): Enhance test for trailing '.'.
+ * tests/test-rmdir.h (test_rmdir_func): Likewise.
+
+2009-10-01 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: requiring "make major" was annoying, for a "minor" release.
+ What is intended is "stable", to contrast with alpha and beta,
+ so require "make stable", not "make major".
+ * build-aux/announce-gen (%valid_release_types): s/major/stable/.
+ (get_tool_versions): Likewise.
+ * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
+
+2009-09-30 Ben Pfaff <blp@gnu.org>
+
+ Fix broken build of replacement for Windows tmpfile().
+ * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
+ flags argument added along with the 'mkostemp' module.
+
+2009-09-28 Bruno Haible <bruno@clisp.org>
+
+ Avoid identifier clash with POSIX function 'remove' defined as a macro.
+ * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
+ to 'remove_elt'.
+ (gl_list_remove): Update.
+ * lib/gl_list.c (gl_list_remove): Update.
+ * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
+ to 'remove_elt'.
+ (gl_oset_remove): Update.
+ * lib/gl_list.c (gl_oset_remove): Update.
+ Reported by Eric Blake.
+
+2009-09-28 Eric Blake <ebb9@byu.net>
+
+ doc: mention yet more cygwin 1.7 status
+ * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
+ cygwin.
+ * doc/glibc-functions/execvpe.texi (execvpe): New file.
+ * doc/gnulib.texi (Glibc unistd.h): Mention it.
+
+ argp: fix test failure
+ * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
+ that are not upper-case. Pass correct range to tolower.
+
+2009-09-27 Jim Meyering <meyering@redhat.com>
+
+ test-yesno: work around sparc-dash here-document infelicity
+ Without this change, the literal \177 byte in a here document
+ would make dash 0.5.5.1-3 access uninitialized memory.
+ * tests/test-yesno.sh: Don't put the \177 byte in the here document.
+ Instead, use a marker, "@", and filter through tr to create the desired
+ contents. Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
+
+2009-09-27 Bruno Haible <bruno@clisp.org>
+
+ Disable untested support for new flavours of ACLs on AIX.
+ * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
+ progress.
+ * lib/set-mode-acl.c (qset_acl): Likewise.
+
+2008-12-07 Bruno Haible <bruno@clisp.org>
+
+ Add support for new flavours of ACLs on AIX. (Untested.)
+ * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
+ (file_has_acl): Add support for newer AIX.
+ * lib/set-mode-acl.c (qset_acl): Likewise.
+ * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
+ Rainer Tammer <tammer@tammer.net>.
+
+2009-09-26 Eric Blake <ebb9@byu.net>
+
+ argp: fix compilation of getopt
+ * lib/getopt.in.h (includes): Use different guard than glibc.
+ Reported by Sergey Poznyakoff.
+
+ doc: mention more cygwin 1.7 status
+ * doc/posix-functions/access.texi (access): Mention cygwin 1.5
+ bug.
+ * doc/posix-functions/execl.texi (execl): Likewise.
+ * doc/posix-functions/execle.texi (execle): Likewise.
+ * doc/posix-functions/execlp.texi (execlp): Likewise.
+ * doc/posix-functions/execv.texi (execv): Likewise.
+ * doc/posix-functions/execve.texi (execve): Likewise.
+ * doc/posix-functions/execvp.texi (execvp): Likewise.
+ * doc/glibc-functions/canonicalize_file_name.texi
+ (canonicalize_file_name): Cygwin 1.7 now provides this.
+ * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
+ * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
+ on AT_SYMLINK_NOFOLLOW.
+
+2009-09-24 Eric Blake <ebb9@byu.net>
+
+ test-linkat: make test more robust
+ * tests/test-linkat.c (main): Avoid collision with EEXIST.
+
+ getopt: fix inclusion guards for cygwin
+ * modules/getopt-posix (Depends-on): Add include-next.
+ (Makefile.am): Substitute more items in replacement header.
+ * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
+ <getopt.h>.
+ * lib/getopt.in.h (includes): Use split inclusion guard, and
+ prefer <getopt.h> over include <unistd.h> when one is present.
+ (option): Also override name of 'struct option'.
+
+ same-inode: revert prior change; it is not yet ready
+ * NEWS: Undo mention of this change.
+ * lib/same-inode.h (same-inode.h): Undo tri-state change.
+ * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
+ * lib/cycle-check.c (cycle_check): Likewise.
+ * lib/same.c (same_name): Likewise.
+ * lib/at-func2.c (at_func2): Likewise.
+
+2009-09-23 Eric Blake <ebb9@byu.net>
+
+ linkat: new module
+ * modules/linkat: New file.
+ * lib/at-func2.c (at_func2): Likewise.
+ * lib/linkat.c (linkat): Likewise.
+ * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
+ * lib/openat-priv.h (at_func2): Add declaration.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
+ * modules/unistd (Makefile.am): Substitute them.
+ * lib/unistd.in.h (linkat): Declare it.
+ * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+ * doc/posix-functions/linkat.texi (linkat): Likewise.
+ * doc/posix-functions/link.texi (link): Tweak wording.
+ * tests/test-link.c (main): Move guts...
+ * tests/test-link.h (test_link): ...into new file.
+ * modules/linkat-tests: New test.
+ * tests/test-linkat.c: Likewise.
+ * modules/link-tests (Files): Ship new file.
+ (Depends-on): Add stdbool.
+
+ dirname: add library-safe mdir_name
+ * lib/dirname.h (mdir_name): New prototype.
+ * lib/dirname.c (dir_name): Move guts...
+ (mdir_name): ...to new function that avoids xalloc_die.
+
+ fchdir: another mingw fix
+ * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
+ * lib/fchdir.c (get_name): New helper method; skips canonicalize
+ on mingw (where it has not yet been ported), and make it optional
+ elsewhere.
+ (_gl_register_fd): Use it.
+
+ same-inode: make SAME_INODE tri-state, to port to mingw
+ * NEWS: Mention this change.
+ * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
+ st_ino always being 0.
+ * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
+ * lib/cycle-check.c (cycle_check): Likewise.
+ * lib/same.c (same_name): Likewise.
+
+ lstat: avoid mingw compilation error
+ * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
+ AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
+ lstat ourselves.
+ * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
+ was adequate.
+ * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
+ the checks for lstat.
+ (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
+
+ link: fix test failure on Solaris 9
+ * lib/link.c (rpl_link): Don't assume link will catch bogus
+ trailing slash on source.
+
+ test-symlinkat: enhance test
+ * tests/test-readlink.c (main): Move guts...
+ * tests/test-readlink.h (test_readlink): ...into new file.
+ * tests/test-symlink.c (main): Move guts...
+ * tests/test-symlink.h (test_symlink): ...into new file.
+ * tests/test-symlinkat.c (main): Use new files for further
+ coverage.
+ (do_symlink, do_readlink): New helper functions.
+ * modules/symlink-tests (Files): Ship new file.
+ (Depends-on): Add stdbool.
+ * modules/readlink-tests (Files): Ship new file.
+ (Depends-on): Add stdbool.
+ * modules/symlinkat-tests (Files): Use new files.
+
+2009-09-23 Eric Blake <ebb9@byu.net>
+
+ readlink: document portability issue with symlink length
+ * doc/posix-functions/lstat.texi (lstat): Mention that some file
+ systems have bogus st_size on symlinks, and mention the
+ areadlink-with-size module.
+ * doc/posix-functions/fstatat.texi (fstatat): Likewise.
+ * doc/posix-functions/readlink.texi (readlink): Mention the
+ areadlink module, and ERANGE failure.
+ * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
+ * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
+
+ readlink: fix Solaris 9 bug with trailing slash
+ * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
+ * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
+ * doc/posix-functions/readlink.texi (readlink): Document this.
+ * modules/readlink-tests: New test.
+ * tests/test-readlink.c: Likewise.
+
+ readlink: fix cygwin 1.5.x bug with return type
+ * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
+ * lib/unistd.in.h (readlink): Use ssize_t.
+ * lib/readlink.c (readlink): Likewise.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
+ * modules/unistd (Makefile.am): Substitute it.
+ * lib/unistd.in.h (readlink): Declare replacement.
+ * doc/posix-functions/readlink.texi (readlink): Document this.
+
+ symlink: use throughout gnulib
+ * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
+ * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
+ symlink is not used.
+ * modules/symlinkat (Depends-on): Add symlink.
+ * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
+ * modules/canonicalize-tests (Depends-on): Likewise.
+ * modules/lstat-tests (Depends-on): Likewise.
+ * modules/openat-tests (Depends-on): Likewise.
+ * modules/remove-tests (Depends-on): Likewise.
+ * modules/rmdir-tests (Depends-on): Likewise.
+ * modules/unlink-tests (Depends-on): Likewise.
+ * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
+ * tests/test-canonicalize.c (symlink): Likewise.
+ * tests/test-fstatat.c (symlink): Likewise.
+ * tests/test-lstat.c (symlink): Likewise.
+ * tests/test-remove.c (symlink): Likewise.
+ * tests/test-rmdir.c (symlink): Likewise.
+ * tests/test-unlink.c (symlink): Likewise.
+ * tests/test-unlinkat.c (symlink): Likewise.
+
+ symlink: new module, for Solaris 9 bug
+ * modules/symlink: New file.
+ * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
+ * lib/symlink.c: Likewise.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
+ * modules/unistd (Makefile.am): Substitute them.
+ * lib/unistd.in.h (symlink): Declare replacement.
+ * MODULES.html.sh (File system functions): Mention it.
+ * doc/posix-functions/symlink.texi (symlink): Likewise.
+ * modules/symlink-tests: New test.
+ * tests/test-symlink.c: Likewise.
+
+2009-09-23 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
+ when needed.
+ Test case: gnulib-tool --import --with-tests atexit inttypes.
+ Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
+
+2009-09-23 Bruno Haible <bruno@clisp.org>
+
+ * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
+ subcommand, not in a subshell.
+
+2009-09-22 Eric Blake <ebb9@byu.net>
+
+ unistd: sort replacement declarations
+ * lib/unistd.in.h: Sort declarations.
+
+ open, openat: minor optimization
+ * lib/open.c (open): If open succeeded, len is non-zero.
+ * lib/openat.c (rpl_openat): Likewise.
+
+ link-follow: ensure correct result
+ * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
+ * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
+ distinguish between possible failures.
+
+2009-09-21 Eric Blake <ebb9@byu.net>
+
+ fts: avoid compiler warning
+ * lib/fts.c (dirent_inode_sort_may_be_useful)
+ (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
+
+2009-09-19 Bruno Haible <bruno@clisp.org>
+
+ * lib/progreloc.c (canonicalize_file_name): New declaration.
+
+2009-09-19 Eric Blake <ebb9@byu.net>
+
+ link: fix quoting
+ * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
+
+ openat: fix openat bugs on Solaris 9
+ * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
+ * modules/openat (Depends-on): Add open.
+ * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
+ * modules/fcntl-h (Makefile.am): Substitute it.
+ * lib/fcntl.in.h (openat): Declare replacement.
+ * doc/posix-functions/openat.texi (openat): Document this.
+
+ openat: move fstatat and unlinkat into correct files
+ * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
+ compiled.
+ * lib/openat.c (fstatat, unlinkat): Move...
+ * lib/fstatat.c (fstatat): ...into correct files.
+ * lib/unlinkat.c (unlinkat): Likewise.
+
+ openat: fix unlinkat bugs on Solaris 9
+ * lib/unlinkat.c (unlinkat): New file.
+ * modules/openat (Depends-on): Add unlink.
+ (Files): Distribute it.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
+ trailing slash behavior is broken.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
+ * modules/unistd (Makefile.am): Substitute it.
+ * lib/unistd.in.h (unlinkat): Declare replacement.
+ * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
+
+ openat: fix fstatat bugs on Solaris 9
+ * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
+ stat.
+ * doc/posix-functions/fstatat.texi (fstatat): Document this.
+
+ test-unlinkat: enhance test, to expose Solaris 9 bug
+ * tests/test-unlink.c (main): Factor guts...
+ * tests/test-unlink.h (test_rmdir_func): ...into new file.
+ * tests/test-rmdir.h (test_rmdir_func): Add parameter.
+ * tests/test-rmdir.c (main): Adjust caller.
+ * tests/test-unlinkat.c (main): Likewise. Add unlink tests.
+ (unlinker): New helper function.
+ (rmdirat): Enhance check.
+ * modules/rmdir-tests (Depends-on): Add stdbool.
+ * modules/unlink-tests (Depends-on): Likewise.
+ (Files): Add test-unlink.h.
+ * modules/openat-tests (Files): Likewise.
+ (Depends-on): Add unlinkdir.
+
+ test-fstatat: new test, to expose Solaris 9 bugs
+ * tests/test-stat.c (main): Factor guts...
+ * tests/test-stat.h (test_stat_func): ...into new file.
+ * tests/test-lstat.c (main): Factor guts...
+ * tests/test-lstat.h (test_lstat_func): ...into new file.
+ * tests/test-fstatat.c: New file.
+ * modules/stat-tests (Files): Add test-stat.h.
+ * modules/lstat-tests (Files): Add test-lstat.h.
+ (Depends-on): Add stdbool.
+ * modules/openat-tests (Depends-on): Add pathmax.
+ (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
+ (Makefile.am): Run new test.
+
+ remove: new module, for mingw and Solaris 9 bugs
+ * modules/remove: New file.
+ * lib/remove.c: Likewise.
+ * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
+ * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
+ * modules/stdio (Makefile.am): Use them.
+ * lib/stdio.in.h (remove): Declare replacement.
+ * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+ * doc/posix-functions/remove.texi (remove): Likewise.
+ * modules/remove-tests: New test.
+ * tests/test-remove.c: Likewise.
+
+ unlink: new module, for Solaris 9 bug
+ * modules/unlink: New file.
+ * lib/unlink.c: Likewise.
+ * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
+ * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
+ * modules/unistd (Makefile.am): Use them.
+ * lib/unistd.in.h (stat): Declare replacement.
+ * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+ * doc/posix-functions/unlink.texi (unlink): Likewise.
+ * modules/unlink-tests: New test.
+ * tests/test-unlink.c: Likewise.
+
+ lstat: fix Solaris 9 bug
+ * lib/lstat.c (lstat): Also check for trailing slash on
+ non-symlink, non-directories. Use stat module to simplify logic.
+ * doc/posix-functions/lstat.texi (lstat): Document it.
+ * modules/lstat-tests (Depends-on): Add errno, same-inode.
+ (configure.ac): Check for symlink.
+ * tests/test-lstat.c (main): Add more tests.
+
+ stat: add as dependency to other modules
+ * modules/chown (Depends-on): Add stat.
+ * modules/euidaccess (Depends-on): Likewise.
+ * modules/fchdir (Depends-on): Likewise.
+ * modules/isdir (Depends-on): Likewise.
+ * modules/link (Depends-on): Likewise.
+ * modules/lstat (Depends-on): Likewise.
+ * modules/mkdir-p (Depends-on): Likewise.
+ * modules/modechange (Depends-on): Likewise.
+ * modules/open (Depends-on): Likewise.
+ * modules/readlink (Depends-on): Likewise.
+ * modules/same (Depends-on): Likewise.
+
+ stat: fix Solaris 9 bug
+ * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
+ slash.
+ * lib/stat.c (rpl_stat): Work around it.
+ * doc/posix-functions/stat.texi (stat): Update documentation.
+
+ stat: new module, for mingw bug
+ * modules/stat: New file.
+ * lib/stat.c: Likewise.
+ * m4/stat.m4 (gl_FUNC_STAT): Likewise.
+ * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
+ * modules/sys_stat (Makefile.am): Use them.
+ * lib/sys_stat.in.h (stat): Declare replacement.
+ * lib/openat.c (fstatat): Deal with lstat and stat being function
+ macros.
+ * modules/openat (Depends-on): Add inline.
+ * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
+ * doc/posix-functions/stat.texi (stat): Likewise.
+ * modules/stat-tests: New test.
+ * tests/test-stat.c: Likewise.
+
+2009-09-19 Jim Meyering <meyering@redhat.com>
+
+ syntax-check: detect unnecessary inclusion of canonicalize.h
+ * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
+
2009-09-19 Eric Blake <ebb9@byu.net>
canonicalize-lgpl: adjust clients to use correct header