Fix broken build of replacement for Windows tmpfile().
[gnulib.git] / ChangeLog
index 97ca5da..50500fd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,244 @@
+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