Set cut_dir properly, and add mode line for Emacs.
[gnulib.git] / ChangeLog
index 9fb8803..90cd6b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,404 @@
+2010-09-21  Reuben Thomas  <rrt@sc3d.org>
+
+       * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
+       for Emacs.
+       * build-aux/pmccabe2html: Make Makefile.am example code more
+       cut-and-paste friendly.
+
+2010-09-21  Simon Josefsson  <simon@josefsson.org>
+
+       * tests/test-net_if.c: New file.
+       * modules/net_if-tests: New file.
+
+2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       pthread: add pthread_spin_destroy
+       * lib/pthread.in.h (pthread_spin_destroy): New function.
+
+2010-09-19  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Fix --help output.
+       * gnulib-tool (func_usage): Fix help message.
+       Reported by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid unexpanded \n in two diagnostics
+       * top/maint.mk (sc_prohibit_always_true_header_tests):
+       Don't use a literal \n in a halt=... assignment.  It would not be
+       expanded, and the two \n bytes would appear in the diagnostic output
+       rather than the desired newline.  Use halt=$$(printf ... instead.
+       (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
+
+2010-09-18  Bruno Haible  <bruno@clisp.org>
+
+       netinet_in: Doc tweak.
+       * doc/posix-headers/netinet_in.texi: Mention an affected platform.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-18  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: correct an outdated comment
+       * tests/init.sh (create_exe_shims_):  s/function/alias/
+
+       init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
+       * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
+       a file named "*.exe" is removed between the glob expansion and the
+       processing of that oddly named file.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       mirbsd: add some more support
+       * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
+       in BSD family.
+       * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
+       devices as OpenBSD.
+       * m4/host-os.m4 (mirbsd): Add MirBSD.
+
+       tests: fix unportable assumption on sys/wait.h
+       * tests/test-sys_wait.c (main): Relax test.
+       * tests/test-stdlib.c (main): Likewise.
+
+       init.sh: accomodate directory with no .exes
+       * tests/init.sh: Accomodate directory containing only scripts.
+
+       tests: avoid compiler warning
+       * tests/test-stdlib.c (main): Use the variable.
+
+       fdutimens, fdutimensat: update signature, again
+       * lib/utimens.h (gl_futimens): Delete, and move signature...
+       (fdutimens): ...here.
+       (fdutimensat): Rearrange signature.
+       (lutimensat): Rename variable for clarity.
+       * lib/fdutimensat.c (fdutimensat): Update signature.
+       * lib/utimens.c (fdutimens): Likewise.
+       (gl_futimens): Delete.
+       (utimens, lutimens): Update callers.
+       * lib/futimens.c (futimens): Likewise.
+       * tests/test-fdutimensat.c: Likewise.
+       * tests/test-utimens.c: Likewise.
+       * tests/test-futimens.h: Update comment.
+       * NEWS: Mention this.
+       Suggested by Paul Eggert.
+
+2010-09-17  Bruno Haible  <bruno@clisp.org>
+
+       Take over the maintenance of some older macros from Autoconf.
+       * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
+       * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
+       GNU Autoconf.
+       * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
+       * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
+
+2010-09-17  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: drop atflag validation
+       * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
+       with valid fd, to close a race scenario where futimens is
+       unsupported and FILE was replaced by a symlink.
+       * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
+       accordingly.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Fix declaration within GNULIB_POSIXCHECK.
+       * lib/stdlib.in.h (unlockpt): Fix warning declaration.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
+       * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
+       login_tty exists.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Make the replacement code work on BSD systems.
+       * lib/login_tty.c: Include <sys/ioctl.h>.
+       (login_tty): Use ioctl TIOCSCTTY when available.
+       * modules/login_tty (Depends-on): Add sys_ioctl.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       login_tty: Stricter unit test.
+       * modules/login_tty-tests (Depends-on): Add tcgetsid.
+       * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
+       and tcgetsid() after login_tty.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       New module 'tcgetsid'.
+       * lib/tcgetsid.c: New file.
+       * m4/tcgetsid.m4: New file.
+       * modules/tcgetsid: New file.
+       * modules/termios (Depends-on): Add c++defs, warn-on-use.
+       (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
+       GNULIB_TCGETSID, HAVE_TCGETSID.
+       * lib/termios.in.h: Include <sys/types.h>.
+       (tcgetsid): New declaration.
+       * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
+       (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
+       * doc/posix-functions/tcgetsid.texi: Mention the new module.
+       * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'termios'.
+       * modules/termios-c++-tests: New file.
+       * modules/termios-tests: New file.
+       * tests/test-termios-c++.cc: New file.
+       * tests/test-termios.c: New file.
+
+       New module 'termios'.
+       * modules/termios: New file.
+       * lib/termios.in.h: New file.
+       * m4/termios_h.m4: New file.
+       * doc/posix-headers/termios.texi: Mention the new module.
+
+2010-09-16  Eric Blake  <eblake@redhat.com>
+
+       fdutimensat: add an atflag parameter
+       * lib/fdutimensat.c (fdutimensat): Add new parameter.
+       * lib/utimens.h (fdutimensat): Update prototype.
+       * tests/test-fdutimensat.c: Adjust test to match.
+       * NEWS: Document the change.
+       Suggested by Paul Eggert.
+
+2010-09-16  Bruno Haible  <bruno@clisp.org>
+
+       Fix typos in comments.
+       * lib/striconveh.h: Fix typo in comment.
+       * lib/login_tty.c (login_tty): Likewise.
+
+2010-09-15  Bruno Haible  <bruno@clisp.org>
+
+       stdlib: clarify MirBSD WEXITSTATUS bug
+       * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+2010-09-15  Eric Blake  <eblake@redhat.com>
+
+       stdlib: work around MirBSD WEXITSTATUS bug
+       * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
+       * modules/stdlib (Depends-on): Add sys_wait.
+       * tests/test-sys_wait.c (main): Enhance test.
+       * tests/test-stdlib.c (main): Likewise.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
+
+       docs: mention MacOS issue with WEXITSTATUS(constant)
+       * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
+       issue.
+       * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+       strnlen: add tests
+       * modules/strnlen-tests: New file.
+       * tests/test-strnlen.c: Likewise.
+
+2010-09-14  Bruno Haible  <bruno@clisp.org>
+
+       unistr/base: Avoid link errors when module 'libunistring' is also used.
+       * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
+       u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
+       u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
+       Declare also when HAVE_LIBUNISTRING is set.
+       Reported by Pádraig Brady <P@draigbrady.com>.
+
+2010-09-14  Eric Blake  <eblake@redhat.com>
+
+       test-rawmemchr: make more robust
+       * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
+       (Depends-on, configure.ac): Add needed prerequisites to use it.
+       * modules/memchr-tests (Files, Depends-on, configure.ac):
+       Likewise, to avoid implicit reliance on memchr module prereqs.
+       * tests/test-memchr.c (main): Ensure proper masking.
+       * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
+       reads.
+
+       memchr: detect glibc Alpha bug
+       Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
+       * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
+       Alpha.
+       * doc/posix-functions/memchr.texi (memchr): Tweak wording.
+       * tests/test-memchr.c (main): Enhance test.
+       Reported by Nelson H. F. Beebe.
+
+2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fts, getcwd, glob: audit for dirfd returning -1
+       * lib/fts.c (opendir): Remove #define; no longer used.
+       (opendirat): New arg PDIR_FD.  All callers changed.
+       (fts_build, _opendir2): Use new opendirat to avoid the need for
+       dirfd, or for checking whether dirfd returns a negative value.
+       Don't use opendir; always use openat followed by fdopendir.
+       * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
+       it.
+       * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
+       returns -1 here.
+       * modules/fts (Depends-on): Remove dirfd.
+       * modules/getcwd (Depends-on): Likewise.
+
+2010-09-13  Eric Blake  <eblake@redhat.com>
+
+       float: fix broken MirBSD header
+       * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
+       * doc/posix-headers/float.texi (float.h): Document it.
+
+2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fts: use O_NOFOLLOW to avoid race condition when opening a directory
+       * lib/fts.c (opendirat): New arg extra_flags.
+       (__opendir2): Use it to avoid following symlinks when opening
+       a directory, if symlinks are not supposed to be followed.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
+
+       fdopendir: preserve argument fd before returning
+       * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
+       (fdopendir_with_dup, fd_clone_opendir): New static functions.
+       (fdopendir): Use them, arranging for FD to be open to the same
+       directory that it was when it started.  (It might be temporarily
+       closed while fdopendir is running, so this not thread- or
+       signal-safe.)  Be careful to do the right thing even when file
+       descriptors are scarce and dup fails with errno == EMFILE.  See
+       <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
+
+2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
+
+       regex: Pass the system regex if its only problem is 32-bit regoff_t.
+       * NEWS: Document change.
+       * m4/regex.m4: Disable test for regoff_t size.
+
+2010-09-13  Jim Meyering  <meyering@redhat.com>
+
+       fts: don't operate on an invalid file descriptor after failed dup
+       * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
+       negative file descriptor.
+
+2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       savedir: add streamsavedir, deprecate fdsavedir
+       * NEWS: Mention deprecation of fdsavedir.
+       * lib/savedir.c (streamsavedir): New extern function, whose name
+       ends in "savedir" to be consistent with the others.  This differs
+       from savedirstream in that it doesn't close its argument.  The
+       next version of GNU tar will use this instead of fdsavedir, to
+       avoid some race conditions and conserve file descriptors.
+       (savedirstream): Reimplement as a wrapper around streamsavedir.
+       (fdsavedir): Add a comment deprecating this function.  As far as
+       I know, only GNU tar used it, and GNU tar doesn't need it any more.
+       * lib/savedir.h (streamsavedir): New decl.
+       (fdsavedir): Add a comment deprecating this.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       langinfo: Fix last commit.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
+       HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
+       Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
+       * lib/progreloc.c (O_EXEC): Define fallback.
+
+2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
+       * NEWS: Document recent changes to fcntl-h.
+       * doc/posix-headers/fcntl.texi (fcntl.h): Document that
+       O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
+       Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
+       Similarly for O_SEARCH; this last was already true, but not documented.
+       * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
+       * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
+       * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
+       Likewise.
+       * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
+       is zero, not whether it is defined.
+       * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
+       * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
+       * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       langinfo, nl_langinfo: Fix for IRIX 5.3.
+       * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
+       T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
+       HAVE_LANGINFO_YESEXPR.
+       * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
+       HAVE_LANGINFO_YESEXPR.
+       * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
+       HAVE_LANGINFO_T_FMT_AMPM is 0.
+       (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
+       HAVE_LANGINFO_YESEXPR is 0.
+       * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
+       NOEXPR.
+       * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
+       * doc/posix-functions/nl_langinfo.texi: Likewise.
+       Reported by Eric Blake.
+
+2010-09-10  Bruno Haible  <bruno@clisp.org>
+
+       pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
+       * doc/glibc-functions/login_tty.texi: Mention the include file problem
+       on FreeBSD 8.0 and OpenBSD 4.6.
+       * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
+       * m4/pty_h.m4 (gl_PTY_H): Likewise.
+       * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
+       * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
+       Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
+       ac_includes_default.
+       Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-09  Eric Blake  <eblake@redhat.com>
+
+       strsignal: work around NetBSD bug
+       * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
+       * lib/string.in.h (includes): Likewise.
+       * doc/posix-functions/strsignal.texi (strsignal): Document the
+       bug.
+       Reported by Nelson H. F. Beebe.
+
+       gnulib-tool: work with NetBSD /bin/sh
+       * gnulib-tool (func_cache_var, func_cache_lookup_module)
+       (func_get_description, func_get_comment, func_get_status)
+       (func_get_notice, func_get_applicability, func_get_filelist)
+       (func_get_dependencies, func_get_autoconf_early_snippet)
+       (func_get_autoconf_snippet, func_get_automake_snippet)
+       (func_get_include_directive, func_get_link_directive)
+       (func_get_license, func_get_maintainer, func_import): Avoid
+       shell syntax errors from parsing syntax extensions.
+
+2010-09-09  Bruno Haible  <bruno@clisp.org>
+
+       gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
+       * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
+       a reliable way to determine whether the 'alias' command works.
+
+2010-09-08  Jim Meyering  <meyering@redhat.com>
+
+       init.sh: penalize a set-x-impaired shell; don't disqualify it
+       * tests/init.sh: Too many shells corrupt application stderr when
+       you set -x, so we can't afford to disqualify them, since at least
+       on Irix-6.5, that would disqualify all bourne shells.
+       Instead, use a two-pass approach.
+       On the first pass, try to find a shell that meets the stricter
+       condition that set -x does not corrupt stderr.
+       If no shell meets the stricter condition, retest each candidate
+       shell, but without that extra condition.  Finally, when
+       VERBOSE=yes is requested and set -x might cause trouble, simply
+       issue a warning and refrain from enabling debug output.
+
 2010-09-08  Eric Blake  <eblake@redhat.com>
 
+       unsetenv: fix OpenBSD bug
+       * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
+       * doc/posix-functions/unsetenv.texi (unsetenv): Update
+       documentation.
+       Reported by Jim Meyering.
+
        strtod: work around IRIX 6.5 bug
        * lib/strtod.c (strtod): Reparse number on shorter string if
        exponent parse was invalid.