maint: minor cleanups
[gnulib.git] / ChangeLog
index 7697802..d7ba020 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,420 @@
+2009-10-07  Eric Blake  <ebb9@byu.net>
+
+       maint: minor cleanups
+       * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
+       _UNUSED_PARAMETER_ instead.
+       * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
+       * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
+       * modules/linkat-tests (Files): Distribute test-link.h.
+
+       openat, utimens: whitespace cleanup
+       * lib/openat.c: Prefer space throughout, rather than mix of 8
+       spaces vs. tabs.
+       * lib/at-func.c: Likewise.
+       * lib/utimens.c: Likewise.
+
+       openat: avoid using wrong fd
+       * lib/openat.c (openat_permissive): Reject user's fd if saving the
+       working directory chooses same fd.
+       * lib/at-func.c (AT_FUNC_NAME): Likewise.
+
+       mkdir, mkdirat: fix cygwin 1.5.x bug
+       * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
+       * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
+       * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
+       bug.
+       (gl_PREREQ_MKDIR): Delete unused macro.
+       * modules/mkdir (Files): Track file rename.
+       (configure.ac): Update macro name.
+       * modules/openat (Depends-on): Add mkdir.
+       * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
+
+       mkdir, mkdirat: add tests
+       * modules/mkdir-tests: New test.
+       * tests/test-mkdir.h: New file.
+       * tests/test-mkdir.c: Likewise.
+       * tests/test-mkdirat.c: Likewise.
+       * modules/openat-tests (Files): Add new files.
+       (Makefile.am): Run new test.
+
+2009-10-06  Eric Blake  <ebb9@byu.net>
+
+       doc: tweak *at function documentation
+       * doc/posix-functions/faccessat.texi (faccessat): Mention
+       known issue with replacement.
+       * doc/posix-functions/fchdir.texi (fchdir): Likewise.
+       * doc/posix-functions/linkat.texi (linkat): Likewise.
+       * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
+       * doc/posix-functions/mknodat.texi (mknodat): Likewise.
+       * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
+       * doc/posix-functions/renameat.texi (renameat): Likewise.
+       * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
+
+       openat: fix GNU/Hurd bug in unlinkat
+       * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
+       broken.
+       * doc/posix-functions/unlink.texi (unlink): Document this.
+       * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
+
+       fdopendir: fix GNU/Hurd bug
+       * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
+       allowing non-directory fds.
+       * lib/fdopendir.c (rpl_fdopendir): Work around it.
+       * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
+       * modules/dirent (Makefile.am): Substitute it.
+       * lib/dirent.in.h (fdopendir): Declare replacement.
+       * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
+       * tests/test-fdopendir.c (main): Test something other than
+       /dev/null, since on Hurd that behaves like a directory.
+
+       test-symlink: port to GNU/Hurd
+       * tests/test-symlink.h (test_symlink): Relax expected errno.
+
+       doc: tweak more cygwin information
+       * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
+       now compatible with glibc.
+       * doc/posix-functions/getopt.texi (getopt): Likewise.
+
+       getopt-gnu: add another test
+       * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
+       guarantee behavior relied on by m4.
+       * tests/test-getopt.c (main): Use it.
+       * modules/getopt-posix-tests (Depends-on): Add setenv.
+       See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
+
+       getopt: fix compilation on darwin
+       * lib/getopt.in.h (includes): Leave breadcrumbs during system
+       include.
+       * lib/unistd.in.h (getopt): Use them to avoid recursive include.
+       Reported by Ludovic Courtès.
+
+2009-10-06  Bruno Haible  <bruno@clisp.org>
+
+       * modules/size_max (Description): Discourage its use.
+       Reported by Simon Josefsson.
+
+2009-10-06  Jim Meyering  <meyering@redhat.com>
+
+       linkat: avoid compilation failure
+       * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
+
+2009-10-05  Eric Blake  <ebb9@byu.net>
+
+       linkat: support Linux 2.6.17
+       * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
+       linkat on Linux, but allow cache variable override.
+       * lib/linkat.c (rpl_linkat): Define override.
+       * modules/linkat (Depends-on): Add symlinkat.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
+       * modules/unistd (Makefile.am): Substitute it.
+       * lib/unistd.in.h (linkat): Declare replacement.
+       Reported by Pádraig Brady.
+
+       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