maint.mk: exempt ENODATA from a syntax-check rule
[gnulib.git] / ChangeLog
index fc42c53..337cd03 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,164 @@
+2011-10-25  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: exempt ENODATA from a syntax-check rule
+       * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
+       from the sc_prohibit_always-defined_macros syntax-check rule.
+       Add a comment.  See this for more details:
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
+
+2011-10-23  Jim Meyering  <meyering@redhat.com>
+
+       fts: close parent dir FD before returning from post-traversal fts_read
+       The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
+       unlink A, even though an FD open on A remained.  This is suboptimal
+       (holding a file descriptor open longer than needed), but otherwise not
+       a problem on Unix-like kernels.  However, on Cygwin with certain Novell
+       file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
+       that represents a real problem: it causes the removal of A to fail
+       with e.g., "rm: cannot remove `A': Device or resource busy"
+
+       fts visits each directory twice and keeps a cache (fts_fd_ring) of
+       directory file descriptors.  After completing the final, FTS_DP,
+       visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
+       cache, but then proceeded to add a new FD to it via the subsequent
+       FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
+       final file descriptor would be closed only via fts_close's call to
+       fd_ring_clear.  Now, it is usually closed earlier, via the final
+       FTS_DP-returning fts_read call.
+       * lib/fts.c (restore_initial_cwd): New function, converted from
+       the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
+       Update callers.
+       Reported by Franz Sirl via the above URL, with analysis by Eric Blake
+       in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
+
+2011-10-23  Gary V. Vaughan  <gary@gnu.org>
+           Bruno Haible  <bruno@clisp.org>
+           Jim Meyering  <jim@meyering.net>
+
+       readme-release: improve safety of release prep instructions.
+       * README-release: Don't git pull all branches when only master
+       is needed for the release process.
+       Run make maintainer-clean before changing trees and merging.
+       Don't try to run ./configure right after git pull in case files
+       that influence the bootstrap process have changed, move the
+       ./configure step to after running ./bootstrap.
+       Don't bootstrap "one last time"... it's the first time!
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       errno, strerror-override: Support for MSVC 10.
+       * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
+       (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
+       ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
+       EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
+       EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
+       ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
+       ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
+       Assign values compatible with MSVC 10.
+       (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
+       New macros.
+       (GNULIB_defined_EWINSOCK): New macro.
+       * lib/strerror-override.c (strerror_override): Update accordingly.
+       * lib/strerror-override.h: Likewise.
+       * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
+       longer equal to the corresponding errno value.
+       Reported by Michael Goffioul <michael.goffioul@gmail.com>.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       perror: Recognize when test program crashes.
+       * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
+       strerror, set gl_cv_func_perror_works to no.
+       Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+       perror: Fix indentation.
+       * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
+
+2011-10-22  Bruno Haible  <bruno@clisp.org>
+
+       isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
+       * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
+       _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
+       (isfinite, isinf, isnan, signbit): In C++, define as overloaded
+       functions, not as a macro.
+       * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
+       macros.
+       (isfinite, isinf, isnan, signbit): Check overloaded functions and
+       absence of macro.
+       Suggested by Eric Blake.
+       Reported by Michael Goffioul <michael.goffioul@gmail.com>.
+
+2011-10-21  Bruno Haible  <bruno@clisp.org>
+
+       relocatable-prog-wrapper: Don't leave object files behind.
+       * build-aux/install-reloc: Re-synchronize list of .o files to be
+       removed with list of compilation units.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty, posix_openpt: Remove code duplication.
+       * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
+       * lib/openpty.c: Include <stdlib.h>.
+       (openpty): Use posix_openpt on all platforms except IRIX.
+       * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       unlockpt: Detect invalid argument.
+       * lib/unlockpt.c: Include <fcntl.h>.
+       (unlockpt): Check whether fd is valid, using fcntl().
+       * modules/unlockpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty: Avoid compilation error on AIX 6.1.
+       * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Support for OpenBSD.
+       * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
+       (posix_openpt) [OpenBSD]: New code.
+       * lib/grantpt.c: Include <fcntl.h>.
+       (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
+       * modules/grantpt (Depends-on): Add fcntl-h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt test: Coding style.
+       * tests/test-posix_openpt.c: Use GNU coding style.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       grantpt: Support --avoid=pt_chown.
+       * modules/grantpt (Files): Add lib/pty-private.h.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       posix_openpt: Fix autoconf macro.
+       * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
+       unneeded check for _getpty.
+
+2011-10-20  Bruno Haible  <bruno@clisp.org>
+
+       openpty: Update comments.
+       * lib/openpty.c: Add comments about Minix.
+
+2011-10-19  Eric Blake  <eblake@redhat.com>
+
+       openpty: relax license
+       * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
+
+       pt_chown: use configmake to simplify build
+       * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
+
+       ptsname and others: relax license
+       * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
+       * modules/unlockpt (License): Likewise.
+       * modules/pt_chown (License): Likewise.
+       * modules/ptsname (License): Likewise.
+       * modules/ttyname_r (License): Likewise.
+
 2011-10-19  Jim Meyering  <meyering@redhat.com>
 
        posix_openpt: remove spurious #endif